From f5717565373b5e221c62c54ecaac43a2721a5e99 Mon Sep 17 00:00:00 2001 From: KHELIFA Date: Fri, 16 Jun 2017 10:06:21 +0200 Subject: [PATCH 01/16] Module ECommerceNg: Fix the field 'price_level' NOT NULL at NULL in the structure of the table 'llx_ecommerce_site' --- htdocs/ecommerceng/core/modules/modECommerceNg.class.php | 2 +- htdocs/ecommerceng/sql/update_woocommerce2.sql | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 htdocs/ecommerceng/sql/update_woocommerce2.sql diff --git a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php index 93c47e6..51ba440 100644 --- a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php +++ b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php @@ -57,7 +57,7 @@ function __construct($db) $this->editor_url = 'http://www.teclib.com'; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version - $this->version = '3.9.0.2'; + $this->version = '3.9.0.3'; // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) diff --git a/htdocs/ecommerceng/sql/update_woocommerce2.sql b/htdocs/ecommerceng/sql/update_woocommerce2.sql new file mode 100644 index 0000000..436010c --- /dev/null +++ b/htdocs/ecommerceng/sql/update_woocommerce2.sql @@ -0,0 +1 @@ +ALTER TABLE llx_ecommerce_site MODIFY price_level integer NULL DEFAULT 1; From 89443a5525bfb35a16e1d28e1f61bf512e886559 Mon Sep 17 00:00:00 2001 From: Dev-OpenDSI Date: Mon, 26 Jun 2017 14:01:16 +0200 Subject: [PATCH 02/16] Update README.md --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cca69b7..80a42ca 100644 --- a/README.md +++ b/README.md @@ -1 +1,15 @@ -Repository with Teclib modules for Dolibarr ERP CRM +Not ready for production use or at you onwn risk +Forker Repository of Teclib modules for Dolibarr ERP CRM +Only use to maintain ecommerceng module for Woocommerce +Before any use, please refer to the wiki to check the available functionnality +https://wiki.dolibarr.org/index.php/Module_woocommerce_EN +and read the document in +htdocs/ecommerceng/doc/ + +Non utilisable en production ou à vos risques et périls +Dépôt forker depuis celui de Teclib +Utilisé pour maintenir et publier le module ecommerceng pour WooCommerce +Avant toute utilisation, merci de prendre connaissance du wiki pour vérifier si le module répond en l'état à vos besoins +https://wiki.dolibarr.org/index.php/Module_woocommerce_EN +et lire la documentaion disponible dans +htdocs/ecommerceng/doc/ From 651599b23b240a71d554587c67bf333d0ff8a7bc Mon Sep 17 00:00:00 2001 From: Dev-OpenDSI Date: Mon, 26 Jun 2017 14:02:43 +0200 Subject: [PATCH 03/16] Update README.md --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 80a42ca..00d2ab3 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -Not ready for production use or at you onwn risk -Forker Repository of Teclib modules for Dolibarr ERP CRM -Only use to maintain ecommerceng module for Woocommerce -Before any use, please refer to the wiki to check the available functionnality -https://wiki.dolibarr.org/index.php/Module_woocommerce_EN -and read the document in -htdocs/ecommerceng/doc/ - -Non utilisable en production ou à vos risques et périls -Dépôt forker depuis celui de Teclib -Utilisé pour maintenir et publier le module ecommerceng pour WooCommerce -Avant toute utilisation, merci de prendre connaissance du wiki pour vérifier si le module répond en l'état à vos besoins -https://wiki.dolibarr.org/index.php/Module_woocommerce_EN -et lire la documentaion disponible dans -htdocs/ecommerceng/doc/ +Not ready for production use or at you onwn risk +Forker Repository of Teclib modules for Dolibarr ERP CRM +Only use to maintain ecommerceng module for Woocommerce +Before any use, please refer to the wiki to check the available functionnality +https://wiki.dolibarr.org/index.php/Module_woocommerce_EN +and read the document in +htdocs/ecommerceng/doc/ + +Non utilisable en production ou à vos risques et périls +Dépôt forker depuis celui de Teclib +Utilisé pour maintenir et publier le module ecommerceng pour WooCommerce +Avant toute utilisation, merci de prendre connaissance du wiki pour vérifier si le module répond en l'état à vos besoins +https://wiki.dolibarr.org/index.php/Module_woocommerce_EN +et lire la documentaion disponible dans +htdocs/ecommerceng/doc/ From 9a61d12082607d884e8165560b9437f1306354f7 Mon Sep 17 00:00:00 2001 From: Dev-OpenDSI Date: Mon, 30 Oct 2017 10:00:45 +0100 Subject: [PATCH 04/16] Modification mentions support --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 00d2ab3..ed922b7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ -Not ready for production use or at you onwn risk +Use it at you onwn risk +Open-DSI does not provide support for the use, installation or bug fixing for this software. For this you have to acquire a time credit on our online shop. +https://www.open-dsi.fr/boutique/ +You can also consult our company for any installation, configuration or development services. Forker Repository of Teclib modules for Dolibarr ERP CRM Only use to maintain ecommerceng module for Woocommerce Before any use, please refer to the wiki to check the available functionnality @@ -6,8 +9,11 @@ https://wiki.dolibarr.org/index.php/Module_woocommerce_EN and read the document in htdocs/ecommerceng/doc/ -Non utilisable en production ou à vos risques et périls -Dépôt forker depuis celui de Teclib +Utilisation à vos risques et périls. +Open-DSI ne fournit pas de support à l’utilisation, à l'installation ni de correction de bugs pour ce logiciel. Pour cela vous devrez faire l’acquisition d’un crédit temps sur notre boutique en ligne. +https://www.open-dsi.fr/boutique/ +Vous pouvez également nous consulter pour toute prestation d’installation, configuration ou développement. +Dépôt forké depuis celui de Teclib Utilisé pour maintenir et publier le module ecommerceng pour WooCommerce Avant toute utilisation, merci de prendre connaissance du wiki pour vérifier si le module répond en l'état à vos besoins https://wiki.dolibarr.org/index.php/Module_woocommerce_EN From 2f0c67b326f3d815ffa04f035d58937af7456c6f Mon Sep 17 00:00:00 2001 From: KHELIFA Date: Fri, 10 Nov 2017 17:50:42 +0100 Subject: [PATCH 05/16] =?UTF-8?q?-=20Ajout=20OAuth2=20pour=20Wordpress=20-?= =?UTF-8?q?=20Mise=20en=20commun=20du=20type=20de=20prix=20renvoy=C3=A9=20?= =?UTF-8?q?par=20la=20boutique=20(HT=20/=20TTC)=20-=20Lien=20de=20test=20e?= =?UTF-8?q?n=20fonction=20du=20type=20du=20site=20-=20Creation=20de=20cham?= =?UTF-8?q?p=20compl=C3=A9mentaire=20=C3=A0=20l'ajout=20d'un=20site=20Wooc?= =?UTF-8?q?ommerce=20-=20Ajout=20de=20la=20gestion=20des=20classes=20de=20?= =?UTF-8?q?TVA=20Woocommerce=20pour=20les=20produits=20+=20Dictionnaire=20?= =?UTF-8?q?-=20Ajout=20des=20fonctions=20de=20recherche,=20insert=20et=20u?= =?UTF-8?q?pdate=20=C3=A0=20la=20classe=20eCommerceDict=20-=20Ajout=20et?= =?UTF-8?q?=20modification=20de=20traductions=20-=20Corrections=20du=20dec?= =?UTF-8?q?odage=20de=20la=20reponse=20de=20l'API=20Woocommerce=20-=20Ajou?= =?UTF-8?q?t=20de=20la=20synchronisation=20du=20produit=20lors=20de=20l'aj?= =?UTF-8?q?out=20de=20la=20cat=C3=A9gorie=20m=C3=A8re=20"E-Commerce"=20(Tr?= =?UTF-8?q?igger)=20-=20Ne=20synchronise=20pas=20le=20produit=20lorsque=20?= =?UTF-8?q?l'on=20env=C3=A8le=20la=20cat=C3=A9gorie=20m=C3=A8re=20"E-Comme?= =?UTF-8?q?rce"=20(Trigger)=20-=20Creation=20du=20produit=20sur=20le=20sit?= =?UTF-8?q?e=20depuis=20dolibarr=20(Trigger)=20-=20Correction=20du=20statu?= =?UTF-8?q?t=20r=C3=A9el=20de=20la=20commande=20lors=20de=20la=20synchro?= =?UTF-8?q?=20de=20Dolibarr=20vers=20E-Commerce=20(Trigger)=20-=20Ajout=20?= =?UTF-8?q?test=20connection=20a=20l'appel=20de=20la=20fonction=20connect?= =?UTF-8?q?=20de=20la=20classe=20remote=20access=20de=20Woocommerce=20-=20?= =?UTF-8?q?Correction=20de=20la=20gestion=20des=20dates=20lors=20des=20fon?= =?UTF-8?q?ctions=20ToUpdate=20de=20Woocommerce=20-=20Modification=20gesti?= =?UTF-8?q?on=20des=20tiers=20(avec=20recherche=20doublon=20par=20email,?= =?UTF-8?q?=20nom,=20...)=20et=20distinctions=20entreprise/particulier=20-?= =?UTF-8?q?=20Modification=20gestion=20des=20contacts/adresses=20avec=20re?= =?UTF-8?q?cherche=20doublon=20-=20Modification=20gestion=20des=20cat?= =?UTF-8?q?=C3=A9gories=20avec=20recherche=20doublon=20-=20Modification=20?= =?UTF-8?q?de=20mise=20a=20jour=20du=20prix=20du=20produit=20-=20Ajout=20d?= =?UTF-8?q?e=20gestion=20des=20extrafields=20sur=20les=20produits=20et=20c?= =?UTF-8?q?ommandes=20-=20Ajout=20de=20la=20synchro=20methode=20de=20paime?= =?UTF-8?q?nt=20sur=20la=20commande=20dans=20la=20synchro=20E-Commerce=20v?= =?UTF-8?q?ers=20Dolibarr=20-=20Ajout=20ECOMMERCENG=5FWOOCOMMERCE=5FFORCE?= =?UTF-8?q?=5FORDER=5FSTATUS=5FTO=5FDRAFT=20pour=20forcer=20le=20statut=20?= =?UTF-8?q?de=20la=20commande=20en=20brouillon=20lors=20de=20la=20synchro?= =?UTF-8?q?=20Woocommerce=20vers=20Dolibarr-=20Ajout=20de=20la=20possibili?= =?UTF-8?q?t=C3=A9=20d'ignorer=20les=20commandes=20anonyme=20avec=20la=20v?= =?UTF-8?q?ariable=20ECOMMERCENG=5FPASS=5FORDER=5FFOR=5FNONLOGGED=5FCUSTOM?= =?UTF-8?q?ER=20-=20Ajout=20synchronisation=20des=20images=20avec=20E-comm?= =?UTF-8?q?erce=20(possibilit=C3=A9=20de=20l'activer=20avec=20la=20variabl?= =?UTF-8?q?e=20ECOMMERCENG=5FENABLE=5FSYNCHRO=5FIMAGES)=20(Necessite=20par?= =?UTF-8?q?am=C3=A9trage=20OAuth2=20pour=20l'envoi=20des=20images=20vers?= =?UTF-8?q?=20Woocommerce)=20-=20Ajout=20envoie=20PDF=20facture=20/=20expe?= =?UTF-8?q?dition=20=C3=A0=20la=20g=C3=A9n=C3=A9ration=20du=20PDF=20sur=20?= =?UTF-8?q?la=20commande=20Woocommerce=20via=20Wordpress=20(Necessite=20pa?= =?UTF-8?q?ram=C3=A9trage=20OAuth2)=20(l'activer=20avec=20la=20variable=20?= =?UTF-8?q?ECOMMERCENG=5FENABLE=5FSEND=5FFILE=5FTO=5FORDER)=20-=20Ajout=20?= =?UTF-8?q?synchro=20des=20cat=C3=A9gories=20de=20Woocommerce=20vers=20Dol?= =?UTF-8?q?ibarr=20-=20Corrections=20diverses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/class/data/eCommerceDict.class.php | 135 + htdocs/ecommerceng/admin/eCommerceSetup.php | 147 +- .../admin/tpl/eCommerceSetup.tpl.php | 174 +- .../class/actions_ecommerceng.class.php | 241 ++ .../class/business/eCommerceSynchro.class.php | 508 ++- .../class/data/eCommerceCategory.class.php | 30 +- .../class/data/eCommerceProduct.class.php | 4 +- .../data/eCommerceRemoteAccess.class.php | 32 + .../class/data/eCommerceSite.class.php | 71 +- .../class/data/eCommerceSocpeople.class.php | 2 +- ...eCommerceRemoteAccessWoocommerce.class.php | 3419 +++++++++-------- .../core/modules/modECommerceNg.class.php | 62 +- .../modules/oauth/wordpress_oauthcallback.php | 194 + ...ce_90_modECommerceng_ECommerceng.class.php | 74 +- .../doc/Interface Dolibarr-Woocommerce.odt | Bin 780858 -> 0 bytes .../doc/Interface Dolibarr-Woocommerce.pdf | Bin 701798 -> 0 bytes .../ecommerceng/doc/hack_wordpress/readme.txt | 4 - .../legacy/v3/class-wc-api-authentication.php | 421 -- htdocs/ecommerceng/includes/CurlClientEx.php | 157 + .../includes/WooCommerce/Client.php | 0 .../WooCommerce/HttpClient/BasicAuth.php | 0 .../WooCommerce/HttpClient/HttpClient.php | 17 +- .../HttpClient/HttpClientException.php | 0 .../includes/WooCommerce/HttpClient/OAuth.php | 0 .../WooCommerce/HttpClient/Options.php | 0 .../WooCommerce/HttpClient/Request.php | 0 .../WooCommerce/HttpClient/Response.php | 0 .../ecommerceng/includes/WordPressClient.php | 251 ++ htdocs/ecommerceng/js/form.js | 9 + htdocs/ecommerceng/langs/en_US/ecommerce.lang | 55 +- .../ecommerceng/langs/en_US/woocommerce.lang | 45 + htdocs/ecommerceng/langs/fr_FR/ecommerce.lang | 151 +- .../ecommerceng/langs/fr_FR/woocommerce.lang | 45 + htdocs/ecommerceng/lib/eCommerce.lib.php | 396 ++ .../OAuth/OAuth2/Service/WordPress.php | 96 + .../sql/llx_c_ecommerceng_tax_class.key.sql | 19 + .../sql/llx_c_ecommerceng_tax_class.sql | 27 + htdocs/ecommerceng/sql/update_oauth.sql | 2 + htdocs/ecommerceng/sql/update_pricetype.sql | 1 + .../ecommerceng/sql/update_woocommerce2.sql | 1 - 40 files changed, 4438 insertions(+), 2352 deletions(-) mode change 100755 => 100644 htdocs/ecommerceng/admin/eCommerceSetup.php mode change 100755 => 100644 htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php create mode 100644 htdocs/ecommerceng/class/actions_ecommerceng.class.php mode change 100755 => 100644 htdocs/ecommerceng/class/business/eCommerceSynchro.class.php mode change 100755 => 100644 htdocs/ecommerceng/class/data/eCommerceSite.class.php mode change 100755 => 100644 htdocs/ecommerceng/class/data/eCommerceSocpeople.class.php mode change 100755 => 100644 htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php create mode 100644 htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php mode change 100755 => 100644 htdocs/ecommerceng/core/triggers/interface_90_modECommerceng_ECommerceng.class.php delete mode 100644 htdocs/ecommerceng/doc/Interface Dolibarr-Woocommerce.odt delete mode 100644 htdocs/ecommerceng/doc/Interface Dolibarr-Woocommerce.pdf delete mode 100644 htdocs/ecommerceng/doc/hack_wordpress/readme.txt delete mode 100755 htdocs/ecommerceng/doc/hack_wordpress/wordpress/wp-content/plugins/woocommerce/includes/api/legacy/v3/class-wc-api-authentication.php create mode 100644 htdocs/ecommerceng/includes/CurlClientEx.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/Client.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/BasicAuth.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClient.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClientException.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/OAuth.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/Options.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/Request.php mode change 100755 => 100644 htdocs/ecommerceng/includes/WooCommerce/HttpClient/Response.php create mode 100644 htdocs/ecommerceng/includes/WordPressClient.php mode change 100755 => 100644 htdocs/ecommerceng/js/form.js mode change 100755 => 100644 htdocs/ecommerceng/langs/en_US/ecommerce.lang create mode 100644 htdocs/ecommerceng/langs/en_US/woocommerce.lang mode change 100755 => 100644 htdocs/ecommerceng/langs/fr_FR/ecommerce.lang create mode 100644 htdocs/ecommerceng/langs/fr_FR/woocommerce.lang create mode 100755 htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php create mode 100644 htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.key.sql create mode 100644 htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.sql create mode 100644 htdocs/ecommerceng/sql/update_oauth.sql create mode 100644 htdocs/ecommerceng/sql/update_pricetype.sql delete mode 100644 htdocs/ecommerceng/sql/update_woocommerce2.sql diff --git a/htdocs/ecommerceng/admin/class/data/eCommerceDict.class.php b/htdocs/ecommerceng/admin/class/data/eCommerceDict.class.php index 611300a..7d98c8a 100644 --- a/htdocs/ecommerceng/admin/class/data/eCommerceDict.class.php +++ b/htdocs/ecommerceng/admin/class/data/eCommerceDict.class.php @@ -94,6 +94,141 @@ public function getAll() return $lines; } + /** + * Get all lines from database match with keys (array(field=>array(value, type))) + * @param array $keys Keys for the search array(field_name=>array('value'=>value, 'type'=>type) (type (optionnel: string, like, date) + * @return array + */ + public function search($keys) + { + $lines = array(); + + $sql = "SELECT * FROM `".$this->table."`"; + if (is_array($keys) && count($keys) > 0) { + $fields = array(); + foreach ($keys as $field => $value) { + switch ($value['type']) { + case 'string': + $key = "= '".$this->db->escape($value['value'])."'"; + break; + case 'like': + $key = "LIKE '".$this->db->escape($value['value'])."'"; + break; + case 'date': + $key = "= '".$this->db->idate($value['value'])."'"; + break; + default: + $key = '= '.$this->db->escape($value['value']); + break; + } + $fields[] = $field.' '.$key; + } + $sql .= " WHERE ".implode(' AND ', $fields); + } + + $result = $this->db->query($sql); + if ($result) { + while ($obj = $this->db->fetch_array($result)) { + $lines[] = $obj; + } + } + + return $lines; + } + + /** + * Update all lines from database match with keys + * @param array $values Values for the search array(field_name=>array('value'=>value, 'type'=>type) (type (optionnel: string, date) + * @param array $keys Keys for the search array(field_name=>array('value'=>value, 'type'=>type) (type (optionnel: string, like, date) + * @return boolean + */ + public function update($values, $keys) + { + $sql = "UPDATE `".$this->table."` SET "; + if (is_array($values) && count($values) > 0) { + $fields = array(); + foreach ($values as $field => $value) { + switch ($value['type']) { + case 'string': + $key = "= '" . $this->db->escape($value['value']) . "'"; + break; + case 'date': + $key = "= '" . $this->db->idate($value['value']) . "'"; + break; + default: + $key = '= ' . $this->db->escape($value['value']); + break; + } + $fields[] = $field . ' ' . $key; + } + $sql .= implode(' AND ', $fields); + } + if (is_array($keys) && count($keys) > 0) { + $fields = array(); + foreach ($keys as $field => $value) { + switch ($value['type']) { + case 'string': + $key = "= '" . $this->db->escape($value['value']) . "'"; + break; + case 'like': + $key = "LIKE '" . $this->db->escape($value['value']) . "'"; + break; + case 'date': + $key = "= '" . $this->db->idate($value['value']) . "'"; + break; + default: + $key = '= ' . $this->db->escape($value['value']); + break; + } + $fields[] = $field . ' ' . $key; + } + $sql .= " WHERE " . implode(' AND ', $fields); + } + + $result = $this->db->query($sql); + if ($result) { + return true; + } + + return false; + } + + /** + * Insert line to database + * @param array $fields Fields for insert + * @param array $values Values for the insert array(field_name=>array('value'=>value, 'type'=>type) (type (optionnel: string, date) + * @return boolean + */ + public function insert($fields, $values) + { + $values_list = array(); + if (is_array($values) && count($values) > 0) { + foreach ($fields as $field) { + if (isset($values[$field])) { + switch ($values[$field]['type']) { + case 'string': + $values_list[] = "'" . $this->db->escape($values[$field]['value']) . "'"; + break; + case 'date': + $values_list[] = "'" . $this->db->idate($values[$field]['value']) . "'"; + break; + default: + $values_list[] = $this->db->escape($values[$field]['value']); + break; + } + } + } + } + + $sql = "INSERT INTO `".$this->table."` (".implode(', ', $fields).") VALUES(".implode(', ', $values_list).")"; + $result = $this->db->query($sql); + if ($result) { + return true; + } + + return false; + } + /** * Get the value of ECOMMERCE_COMPANY_ANONYMOUS from db * @return int > 0 if OK, 0 if KO diff --git a/htdocs/ecommerceng/admin/eCommerceSetup.php b/htdocs/ecommerceng/admin/eCommerceSetup.php old mode 100755 new mode 100644 index 82383c4..2267b6d --- a/htdocs/ecommerceng/admin/eCommerceSetup.php +++ b/htdocs/ecommerceng/admin/eCommerceSetup.php @@ -37,14 +37,18 @@ require_once(DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'); require_once(DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php'); +require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php'; dol_include_once('/ecommerceng/class/data/eCommerceSite.class.php'); dol_include_once('/ecommerceng/admin/class/gui/eCommerceMenu.class.php'); dol_include_once('/ecommerceng/lib/eCommerce.lib.php'); +use OAuth\Common\Storage\DoliStorage; $langs->load('admin'); $langs->load('companies'); +$langs->load("oauth"); $langs->load('ecommerce@ecommerceng'); +$langs->load('woocommerce@ecommerceng'); $siteId = null; $errors = array(); @@ -53,6 +57,11 @@ if (!$user->admin || !$user->rights->ecommerceng->site) accessforbidden(); +$error = GETPOST('error', 'alpha'); +if (!empty($error)) { + setEventMessage($error, 'errors'); +} + //DATABASE ACCESS $siteDb = new eCommerceSite($db); @@ -123,7 +132,10 @@ $siteDb->last_update = $_POST['ecommerce_last_update']; //$siteDb->timeout = $_POST['ecommerce_timeout']; $siteDb->magento_use_special_price = ($_POST['ecommerce_magento_use_special_price'] ? 1 : 0); - $siteDb->magento_price_type = $_POST['ecommerce_magento_price_type']; + $siteDb->ecommerce_price_type = $_POST['ecommerce_price_type']; + + $siteDb->oauth_id = $_POST['ecommerce_oauth_id']; + $siteDb->oauth_secret = $_POST['ecommerce_oauth_secret']; // TODO Save this into table of ecommerce_site, field fk_thirdparty instead of global var. dolibarr_set_const($db, 'ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER', GETPOST('ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER','int')); @@ -138,12 +150,83 @@ $result = $siteDb->create($user); } + $error = ''; + if ($result > 0) { + if ($siteDb->type == 2) { // Woocommerce + $result = ecommerceng_add_extrafields($db, $langs, [ + [ + 'attrname' => "ecommerceng_description_{$conf->entity}", + 'label' => 'ECommercengWoocommerceDescription', + 'type' => 'text', + 'pos' => 1, + 'size' => '', + 'elementtype' => 'product', + 'unique' => 0, + 'required' => 0, + 'default_value' => '', + 'param' => '', + 'alwayseditable' => 1, + 'perms' => '', + 'list' => 0, + ], + [ + 'attrname' => "ecommerceng_short_description_{$conf->entity}", + 'label' => 'ECommercengWoocommerceShortDescription', + 'type' => 'text', + 'pos' => 2, + 'size' => '', + 'elementtype' => 'product', + 'unique' => 0, + 'required' => 0, + 'default_value' => '', + 'param' => '', + 'alwayseditable' => 1, + 'perms' => '', + 'list' => 0, + ], + [ + 'attrname' => "ecommerceng_tax_class_{$siteDb->id}_{$conf->entity}", + 'label' => $langs->trans('ECommercengWoocommerceTaxClass', $siteDb->name), + 'type' => 'sellist', + 'pos' => 3, + 'size' => '', + 'elementtype' => 'product', + 'unique' => 0, + 'required' => 0, + 'default_value' => '', + 'param' => array('options' => array("c_ecommerceng_tax_class:label:code::active=1 AND site_id={$siteDb->id} AND entity={$conf->entity}" => null)), + 'alwayseditable' => 1, + 'perms' => '', + 'list' => 0, + ], + [ + 'attrname' => "ecommerceng_online_payment_{$conf->entity}", + 'label' => 'ECommercengWoocommerceOnlinePayment', + 'type' => 'boolean', + 'pos' => 1, + 'size' => '1', + 'elementtype' => 'commande', + 'unique' => 0, + 'required' => 0, + 'default_value' => '', + 'param' => '', + 'alwayseditable' => 1, + 'perms' => '', + 'list' => 0, + ], + ], $error); + } + } + if ($result > 0) { $eCommerceMenu = new eCommerceMenu($db, $siteDb); $eCommerceMenu->updateMenu(); $db->commit(); + if ($siteDb->type == 2) { // Woocommerce + ecommerceng_update_woocommerce_dict_tax_class($db, $siteDb); + } if (!empty($conf->global->PRODUIT_MULTIPRICES) && $siteDb->price_level != $last_price_level) { updatePriceLevel($siteDb); } @@ -152,7 +235,11 @@ } else { $db->rollback(); - setEventMessages($siteDb->error, $siteDb->errors, 'errors'); + if (!empty($error)) { + setEventMessage($error, 'errors'); + } else { + setEventMessages($siteDb->error, $siteDb->errors, 'errors'); + } } } else @@ -178,6 +265,12 @@ unset($_POST); } } +// Update dictionary for tax class of woocommerce +elseif ($_POST['site_form_detail_action'] == 'update_woocommerce_tax_class') { + if (ecommerceng_update_woocommerce_dict_tax_class($db, $siteDb)) { + setEventMessage($langs->trans('ECommercengWoocommerceDictTaxClassUpdated')); + } +} @@ -212,6 +305,15 @@ $ecommerceName = ($_POST['ecommerce_name'] ? $_POST['ecommerce_name'] : $siteDb->name); $ecommerceType = ($_POST['ecommerce_type'] ? $_POST['ecommerce_type'] : intval($siteDb->type)); $ecommerceWebserviceAddress = ($_POST['ecommerce_webservice_address'] ? $_POST['ecommerce_webservice_address'] : $siteDb->webservice_address); +$ecommerceWebserviceAddressTest = ''; +switch ($ecommerceType) { + case 1: // Magento + $ecommerceWebserviceAddressTest = $ecommerceWebserviceAddress .(substr($ecommerceWebserviceAddress, -1, 1)!='/'?'/':''). 'api/?wsdl'; + break; + case 2: // Woocommerce + $ecommerceWebserviceAddressTest = $ecommerceWebserviceAddress .(substr($ecommerceWebserviceAddress, -1, 1)!='/'?'/':''). 'wp-json/'; + break; +} $ecommerceUserName = ($_POST['ecommerce_user_name'] ? $_POST['ecommerce_user_name'] : $siteDb->user_name); $ecommerceUserPassword = ($_POST['ecommerce_user_password'] ? $_POST['ecommerce_user_password'] : $siteDb->user_password); $ecommercePriceLevel = ($_POST['ecommerce_price_level'] ? $_POST['ecommerce_price_level'] : $siteDb->price_level); @@ -222,12 +324,51 @@ $ecommerceFkWarehouse = ($_POST['ecommerce_fk_warehouse'] ? $_POST['ecommerce_fk_warehouse'] : intval($siteDb->fk_warehouse)); $ecommerceStockSyncDirection = ($_POST['ecommerce_stock_sync_direction'] ? $_POST['ecommerce_stock_sync_direction'] : $siteDb->stock_sync_direction); $ecommerceMagentoUseSpecialPrice = ($_POST['ecommerce_magento_use_special_price'] ? $_POST['ecommerce_magento_use_special_price'] : intval($siteDb->magento_use_special_price)); -$ecommerceMagentoPriceType = ($_POST['ecommerce_magento_price_type'] ? $_POST['ecommerce_magento_price_type'] : $siteDb->ecommerce_magento_price_type); +$ecommercePriceType = ($_POST['ecommerce_price_type'] ? $_POST['ecommerce_price_type'] : $siteDb->ecommerce_price_type); /*$ecommerceTimeout = 300; if (isset($_POST['ecommerce_timeout'])) $ecommerceTimeout = $_POST['ecommerce_timeout']; elseif (isset($siteDb->timeout)) $ecommerceTimeout = $siteDb->timeout;*/ +$ecommerceOAuth = false; +$ecommerceOAuthGenerateToken = false; +if (!empty($ecommerceId)) { + if ($ecommerceType == 2) { + $ecommerceOAuth = true; + $ecommerceOAuthWordpressOAuthSetupUri = $ecommerceWebserviceAddress . (substr($ecommerceWebserviceAddress, -1, 1) != '/' ? '/' : '') . 'wp-admin/admin.php?page=wo_settings#clients'; + } + + if ($ecommerceOAuth) { + $ecommerceOAuthRedirectUri = dol_buildpath('/custom/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php', 2).'?ecommerce_id='.$ecommerceId; + $ecommerceOAuthId = ($_POST['ecommerce_oauth_id'] ? $_POST['ecommerce_oauth_id'] : $siteDb->oauth_id); + $ecommerceOAuthSecret = ($_POST['ecommerce_oauth_secret'] ? $_POST['ecommerce_oauth_secret'] : $siteDb->oauth_secret); + + // Token + $ecommerceOAuthTokenObj = null; + $storage = new DoliStorage($db, $conf); + try { + $ecommerceOAuthTokenObj = $storage->retrieveAccessToken('ECommerce_'.$ecommerceId); + } catch(Exception $e) {} + $ecommerceOAuthGenerateToken = (!empty($ecommerceOAuthId) && !empty($ecommerceOAuthSecret) || is_object($ecommerceOAuthTokenObj)); + + $ecommerceOAuthBackToUri = urlencode(dol_buildpath('/custom/ecommerceng/admin/eCommerceSetup.php', 2).'?ecommerce_id='.$ecommerceId); + + if (is_object($ecommerceOAuthTokenObj)) { + $ecommerceOAuthTokenExpired = ($ecommerceOAuthTokenObj->getEndOfLife() !== $ecommerceOAuthTokenObj::EOL_NEVER_EXPIRES && $ecommerceOAuthTokenObj->getEndOfLife() !== $ecommerceOAuthTokenObj::EOL_UNKNOWN && time() > ($ecommerceOAuthTokenObj->getEndOfLife() - 30)); + + $ecommerceOAuthHasRefreshToken = !empty($ecommerceOAuthTokenObj->getRefreshToken()); + + $endoflife = $ecommerceOAuthTokenObj->getEndOfLife(); + if ($endoflife == $ecommerceOAuthTokenObj::EOL_NEVER_EXPIRES) { + $ecommerceOAuthTokenExpireDate = $langs->trans("Never"); + } elseif ($endoflife == $ecommerceOAuthTokenObj::EOL_UNKNOWN) { + $ecommerceOAuthTokenExpireDate = $langs->trans("Unknown"); + } else { + $ecommerceOAuthTokenExpireDate = dol_print_date($endoflife, "dayhour"); + } + } + } +} $ecommerceLastUpdate = $siteDb->last_update; $var = true; diff --git a/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php b/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php old mode 100755 new mode 100644 index 41f3130..0c8455a --- a/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php +++ b/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php @@ -182,8 +182,8 @@ '.$langs->trans("ECommerceClickUrlToTestUrl").''; + if ($ecommerceWebserviceAddressTest) + print '
'.$langs->trans("ECommerceClickUrlToTestUrl").''; ?> trans('ECommerceSiteAddressDescription') ?> @@ -201,35 +201,33 @@ - > - trans('ECommerceUserPassword') ?> - - - - trans('ECommerceUserPasswordDescription') ?> - + > + trans('ECommerceUserPassword') ?> + + trans('ECommerceUserPasswordDescription') ?> + global->PRODUIT_MULTIPRICES)) { - $var = !$var; -?> - > - trans('ECommercePriceLevel') ?> - - - - trans('ECommercePriceLevelDescription') ?> - - + $var = !$var; +?> + > + trans('ECommercePriceLevel') ?> + + + + trans('ECommercePriceLevelDescription') ?> + + > - trans('ECommerceMagentoPriceType') ?> + trans('ECommercePriceType') ?> - + + - trans('ECommerceMagentoPriceTypeDescription') ?> + trans('ECommercePriceTypeDescription') ?> -
+trans("ECommerceOAuthWordpressSetup", $ecommerceOAuthWordpressOAuthSetupUri)); +?> + + + + + + + + > + + + + + + > + + + + + + > + + + + + + > + + + + + + > + + + + + + > + + + + + + > + + + + + + > + + + + + +
trans('Parameter') ?>trans('Value') ?>trans('Description') ?>
trans("ECommerceSiteOAuthRedirectUri"); ?>trans('ECommerceSiteOAuthRedirectUriDescription') ?>
trans("ECommerceSiteOAuthId"); ?>trans('ECommerceSiteOAuthIdDescription') ?>
trans("ECommerceSiteOAuthSecret"); ?>trans('ECommerceSiteOAuthSecretDescription') ?>
trans("IsTokenGenerated"); ?>trans("HasAccessToken") : $langs->trans("NoAccessToken")); ?> +' . $langs->trans('DeleteAccess') . '

'; + } + // Request remote token + print '' . $langs->trans('RequestAccess') . '

'; + // Check remote access + if ($ecommerceOAuthCheckTokenUri) { + print $langs->trans("ECommerceOAuthCheckToken", $ecommerceOAuthCheckTokenUri); + } +?> +
trans("Token"); ?>getAccessToken() : ''); ?>
trans("TOKEN_REFRESH"); ?>
trans("TOKEN_EXPIRED"); ?>
trans("TOKEN_EXPIRE_AT"); ?>
+ +
stock->enabled) @@ -293,7 +387,7 @@ trans('ECommerceStockSyncDirection') ?> $langs->trans('None'), 'ecommerce2dolibarr'=>'eCommerce to Dolibarr', 'dolibarr2ecommerce'=>'Dolibarr to eCommerce'); + $array=array('none'=>$langs->trans('None'), 'ecommerce2dolibarr'=>$langs->trans('ECommerceToDolibarr'), 'dolibarr2ecommerce'=>$langs->trans('DolibarrToeCommerce')); print $form->selectarray('ecommerce_stock_sync_direction', $array, $ecommerceStockSyncDirection); ?> @@ -327,6 +421,14 @@ { ?> +type == 2) +{ +?> + ")'>trans('ECommerceWoocommerceUpdateDictTaxClasses') ?> + ")'>trans('Delete') ?> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +dol_include_once('/ecommerceng/class/business/eCommerceSynchro.class.php'); + +/** + * \file htdocs/ecommerceng/class/actions_ecommerceng.class.php + * \ingroup ecommerceng + * \brief File for hooks + */ + +class ActionsECommerceNg +{ + /** + * Overloading the doActions function : replacing the parent's function with the one below + * + * @param array() $parameters Hook metadatas (context, etc...) + * @param CommonObject &$object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string &$action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + function doActions($parameters, &$object, &$action, $hookmanager) + { + global $conf, $user, $langs; + + if (in_array('productdocuments', explode(':', $parameters['context'])) && $action == 'synchronize_images') { + if (!empty($conf->global->ECOMMERCENG_ENABLE_SYNCHRO_IMAGES)) { + $result = $object->call_trigger('PRODUCT_MODIFY', $user); + if ($result < 0) { + if (count($object->errors)) setEventMessages($object->error, $object->errors, 'errors'); + else setEventMessages($langs->trans($object->error), null, 'errors'); + } else { + setEventMessage($langs->trans('ECommerceProductImagesSynchronized')); + } + } + } + + return 0; // or return 1 to replace standard code + } + + /** + * Overloading the formObjectOptions function : replacing the parent's function with the one below + * + * @param array() $parameters Hook metadatas (context, etc...) + * @param CommonObject &$object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string &$action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + function formObjectOptions($parameters, &$object, &$action, $hookmanager) + { + global $conf, $langs; + + if (in_array('productdocuments', explode(':', $parameters['context']))) { + if (!empty($conf->global->ECOMMERCENG_ENABLE_SYNCHRO_IMAGES)) { + $buttons = ''; + + print ''; + } + } + + return 0; // or return 1 to replace standard code + } + + /** + * Overloading the afterODTCreation function : replacing the parent's function with the one below + * + * @param array() $parameters Hook metadatas (context, etc...) + * @param CommonObject &$object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string &$action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + function afterODTCreation($parameters, &$object, &$action, $hookmanager) + { + global $conf, $user, $langs, $db; + + if ((in_array('expeditioncard', explode(':', $parameters['context'])) && $action == 'confirm_valid') || + (in_array('invoicecard', explode(':', $parameters['context'])) && $action == 'confirm_valid')) { + if (!empty($conf->global->ECOMMERCENG_ENABLE_SEND_FILE_TO_ORDER)) { + $commande_id = 0; + $societe_id = 0; + $object_src = $parameters['object']; + $object_src->fetchObjectLinked('', 'commande', $object_src->id, $object_src->element); + if (!empty($object_src->linkedObjects)) { + foreach ($object_src->linkedObjects['commande'] as $element) { + $commande_id = $element->id; + $societe_id = $element->socid; + } + } + + if ($commande_id > 0) { + $db->begin(); + + $error = 0; // Error counter + $eCommerceSite = new eCommerceSite($db); + $sites = $eCommerceSite->listSites('object'); + + foreach ($sites as $site) { + if (!$error) { + $eCommerceCommande = new eCommerceCommande($db); + $eCommerceCommande->fetchByCommandeId($commande_id, $site->id); + + $eCommerceSociete = new eCommerceSociete($db); + $eCommerceSociete->fetchByFkSociete($societe_id, $site->id); + + if ($eCommerceCommande->remote_id > 0 && $eCommerceSociete->remote_id > 0) { + $eCommerceSynchro = new eCommerceSynchro($db, $site); + dol_syslog("Hook ActionsECommerceNg::afterPDFCreation try to connect to eCommerce site " . $site->name); + $eCommerceSynchro->connect(); + if (count($eCommerceSynchro->errors)) { + $error++; + setEventMessages($eCommerceSynchro->error, $eCommerceSynchro->errors, 'errors'); + } + + if (!$error) { + $result = $eCommerceSynchro->eCommerceRemoteAccess->sendFileForCommande($eCommerceCommande->remote_id, $eCommerceSociete->remote_id, $object_src, $parameters['file'], $parameters['outputlangs']); + if (!$result) { + $error++; + $this->errors[] = $eCommerceSynchro->eCommerceRemoteAccess->error; + } + } + } else { + dol_syslog("Order with id " . $commande_id . " is not linked to an ecommerce record so we don't send file to it."); + } + } + } + + if ($error) { + $db->rollback(); + return -1; + } else { + $db->commit(); + return 0; + } + } + } + } + + return 0; // or return 1 to replace standard code + } + + /** + * Overloading the afterPDFCreation function : replacing the parent's function with the one below + * + * @param array() $parameters Hook metadatas (context, etc...) + * @param CommonObject &$object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...) + * @param string &$action Current action (if set). Generally create or edit or null + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int < 0 on error, 0 on success, 1 to replace standard code + */ + function afterPDFCreation($parameters, &$object, &$action, $hookmanager) + { + global $conf, $user, $langs, $db; + + if ((in_array('expeditioncard', explode(':', $parameters['context'])) && $action == 'confirm_valid') || + (in_array('invoicecard', explode(':', $parameters['context'])) && $action == 'confirm_valid')) { + if (!empty($conf->global->ECOMMERCENG_ENABLE_SEND_FILE_TO_ORDER)) { + $commande_id = 0; + $societe_id = 0; + $object_src = $parameters['object']; + $object_src->fetchObjectLinked('', 'commande', $object_src->id, $object_src->element); + if (!empty($object_src->linkedObjects)) { + foreach ($object_src->linkedObjects['commande'] as $element) { + $commande_id = $element->id; + $societe_id = $element->socid; + } + } + + if ($commande_id > 0) { + $db->begin(); + + $error = 0; // Error counter + $eCommerceSite = new eCommerceSite($db); + $sites = $eCommerceSite->listSites('object'); + + foreach ($sites as $site) { + if (!$error) { + $eCommerceCommande = new eCommerceCommande($db); + $eCommerceCommande->fetchByCommandeId($commande_id, $site->id); + + $eCommerceSociete = new eCommerceSociete($db); + $eCommerceSociete->fetchByFkSociete($societe_id, $site->id); + + if ($eCommerceCommande->remote_id > 0 && $eCommerceSociete->remote_id > 0) { + $eCommerceSynchro = new eCommerceSynchro($db, $site); + dol_syslog("Hook ActionsECommerceNg::afterPDFCreation try to connect to eCommerce site " . $site->name); + $eCommerceSynchro->connect(); + if (count($eCommerceSynchro->errors)) { + $error++; + setEventMessages($eCommerceSynchro->error, $eCommerceSynchro->errors, 'errors'); + } + + if (!$error) { + $result = $eCommerceSynchro->eCommerceRemoteAccess->sendFileForCommande($eCommerceCommande->remote_id, $eCommerceSociete->remote_id, $object_src, $parameters['file'], $parameters['outputlangs']); + if (!$result) { + $error++; + $this->errors[] = $eCommerceSynchro->eCommerceRemoteAccess->error; + } + } + } else { + dol_syslog("Order with id " . $commande_id . " is not linked to an ecommerce record so we don't send file to it."); + } + } + } + + if ($error) { + $db->rollback(); + return -1; + } else { + $db->commit(); + return 0; + } + } + } + } + + return 0; // or return 1 to replace standard code + } +} \ No newline at end of file diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php old mode 100755 new mode 100644 index 663f7a5..0cbd9ab --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -769,59 +769,29 @@ public function synchCategory($toNb=0) $dBCategorie = new Categorie($this->db); - // Get parent (if already synch) - $this->eCommerceMotherCategory->fetchByRemoteId($categoryArray['parent_id'], $this->eCommerceSite->id); - - // If there is a parent, we check we set it into $this->eCommerceMotherCategory - /*if ($parentremoteid > 0 && empty($this->eCommerceMotherCategory->id)) - { - $error++; - $this->errors[]="Failed to get/create parent category"; - }*/ - - /* - // Check if the ecommerce category has an ecommerce parent category, if not, that implies it is root. - // !!!!!! This is true only if categories are returned in order of parent first. - $motherExists = $this->eCommerceMotherCategory->fetchByRemoteId($parentremoteid, $this->eCommerceSite->id); + // Check if the ecommerce category has an ecommerce parent category, if not, that implies it is root + $motherExists = $this->eCommerceMotherCategory->fetchByRemoteId($categoryArray['parent_id'], $this->eCommerceSite->id); // Now $this->eCommerceMotherCategory contains the mother category or null - if ($motherExists < 1) // Not found. + // if fetch on eCommerceMotherCategory has failed, it is root + if ($motherExists < 1 && ($this->eCommerceMotherCategory->fetchByFKCategory($this->eCommerceSite->fk_cat_product, $this->eCommerceSite->id) < 0)) { - // if remote fetch on eCommerceMotherCategory has failed, it is root - // !!!!!! This is true only if categories are returned in order of parent first. + // get the importRootCategory of Dolibarr set for the eCommerceSite + $dBCategorie->fetch($this->eCommerceSite->fk_cat_product); - // We get the ROOT category. - if ($this->eCommerceMotherCategory->fetchByFKCategory($this->eCommerceSite->fk_cat_product, $this->eCommerceSite->id) < 0) - { - // get the importRootCategory of Dolibarr set for the eCommerceSite - $dBCategorie->fetch($this->eCommerceSite->fk_cat_product); - - // We rely on first parent of current record because root is not already synch, - // it means, it's first synch, in such a case, the first record is just under ROOT. - // TODO Make remote call until we found the true ROOT and the the first parent - $parentremoteid=$categoryArray['parent_id']; - - $this->eCommerceMotherCategory->label = $dBCategorie->label; - $this->eCommerceMotherCategory->type = $dBCategorie->type; - $this->eCommerceMotherCategory->description = $dBCategorie->description; - $this->eCommerceMotherCategory->fk_category = $dBCategorie->id; - $this->eCommerceMotherCategory->fk_site = $this->eCommerceSite->id; - $this->eCommerceMotherCategory->remote_id = $parentremoteid; - $this->eCommerceMotherCategory->last_update = strtotime($categoryArray['updated_at']); - - // reset $dBCategorie - $dBCategorie = new Categorie($this->db); - - // Create an entry to map importRootCategory in eCommerceCategory - $this->eCommerceMotherCategory->create($this->user); - } - else - { - // The root category is already synch. - } - }*/ + $this->eCommerceMotherCategory->label = $dBCategorie->label; + $this->eCommerceMotherCategory->type = $dBCategorie->type; + $this->eCommerceMotherCategory->description = $dBCategorie->description; + $this->eCommerceMotherCategory->fk_category = $dBCategorie->id; + $this->eCommerceMotherCategory->fk_site = $this->eCommerceSite->id; + $this->eCommerceMotherCategory->remote_id = $categoryArray['parent_id']; - // Process category to synch. + // reset $dBCategorie + $dBCategorie = new Categorie($this->db); + + // Create an entry to map importRootCategory in eCommerceCategory + $this->eCommerceMotherCategory->create($this->user); + } $eCommerceCatExists = $this->eCommerceCategory->fetchByRemoteId($categoryArray['category_id'], $this->eCommerceSite->id); if ($this->eCommerceCategory->fk_category > 0) @@ -829,7 +799,7 @@ public function synchCategory($toNb=0) $synchExists = $eCommerceCatExists >= 0 ? $dBCategorie->fetch($this->eCommerceCategory->fk_category) : -1; if ($synchExists == 0) { - // Category entry exists into table link ecommerce_category with fk_category exists but it links to a non existing category in dolibarr + // Category entry exists into ecommerce_category with fk_category that link to non existing category // Should not happend because we added a cleaned of all orphelins entries into getCategoriesToUpdate $synchExists = -1; } @@ -863,9 +833,20 @@ public function synchCategory($toNb=0) if ($synchExists >= 0) { $result = $dBCategorie->update($this->user); - } else + } + else { - $result = $dBCategorie->create($this->user); + if ($dBCategorie->already_exists()) { + $cats = $dBCategorie->rechercher('', $dBCategorie->label, $dBCategorie->type, true, true); + foreach ($cats as $cat) { + if ($cat->fk_parent == $dBCategorie->fk_parent) { + $dBCategorie->id = $cat->id; + $result = $dBCategorie->update($this->user); + } + } + } else { + $result = $dBCategorie->create($this->user); + } } // if synchro category ok if ($result >= 0) @@ -873,7 +854,7 @@ public function synchCategory($toNb=0) $this->eCommerceCategory->label = $dBCategorie->label; $this->eCommerceCategory->description = $dBCategorie->description; $this->eCommerceCategory->remote_parent_id = $categoryArray['parent_id']; - $this->eCommerceCategory->last_update = strtotime($categoryArray['updated_at']); + if (!empty($categoryArray['updated_at'])) $this->eCommerceCategory->last_update = strtotime($categoryArray['updated_at']); if ($synchExists > 0) // update it remotely { if ($this->eCommerceCategory->update($this->user) < 0) @@ -915,7 +896,7 @@ public function synchCategory($toNb=0) $this->eCommerceCategory->fk_site = $this->eCommerceSite->id; $this->eCommerceCategory->remote_id = $categoryArray['category_id']; $this->eCommerceCategory->remote_parent_id = $categoryArray['parent_id']; - $this->eCommerceCategory->last_update = strtotime($categoryArray['updated_at']); + if (!empty($categoryArray['updated_at'])) $this->eCommerceCategory->last_update = strtotime($categoryArray['updated_at']); if ($this->eCommerceCategory->create($this->user) < 0) // insert into table lxx_ecommerce_category { @@ -935,6 +916,8 @@ public function synchCategory($toNb=0) $this->errors[] = $this->langs->trans('ECommerceSynchCategoryError').' '.$dBCategorie->error; break; } + + } //var_dump($nbgoodsunchronize);exit; @@ -1044,12 +1027,14 @@ public function synchSociete($toNb=0) if ($refExists >= 0) { $dBSociete->name = $societeArray['name']; - $dBSociete->name_alias = $societeArray['name_alias']; //$dBSociete->ref_ext = $this->eCommerceSite->name.'-'.$societeArray['remote_id']; // No need of ref_ext, we will search if already exists on name - $dBSociete->email = $societeArray['email']; $dBSociete->client = $societeArray['client']; - $dBSociete->tva_intra = $societeArray['vatnumber']; - $dBSociete->tva_assuj = 1; // tba_intra is not saved if this field is not set + if (isset($societeArray['name_alias'])) $dBSociete->name_alias = $societeArray['name_alias']; + if (isset($societeArray['email'])) $dBSociete->email = $societeArray['email']; + if (isset($societeArray['vatnumber'])) { + $dBSociete->tva_intra = $societeArray['vatnumber']; + $dBSociete->tva_assuj = 1; // tba_intra is not saved if this field is not set + } $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $result = $dBSociete->update($dBSociete->id, $this->user); @@ -1069,45 +1054,23 @@ public function synchSociete($toNb=0) //if societe not exists in eCommerceSociete, societe is created else { + $result = 0; // First, we check object does not alreay exists. If not, we create it, if it exists, do nothing. - //$result = $dBSociete->fetch(0, '', $this->eCommerceSite->name.'-'.$societeArray['remote_id']); // No need of ref_ext, we will search if already exists on name + if (isset($societeArray['email_key']) && !empty($societeArray['email_key'])) { + // Search into email company and contact + $result = get_company_by_email($this->db, $societeArray['email_key']); - $unicity='name'; - if (! empty($conf->global->ECOMMERCENG_THIRDPARTY_UNIQUE_ON) && $conf->global->ECOMMERCENG_THIRDPARTY_UNIQUE_ON == 'email') - { - $unicity='email'; + if ($result > 0) { + $result = $dBSociete->fetch($result); + } } - $result = 0; - // If unicity is on NAME - if ($unicity == 'name') - { + if ($result < 1 && (!isset($societeArray['type']) || $societeArray['type'] == 'company')) { + // Search for the company name $result = $dBSociete->fetch(0, $societeArray['name']); } - // If unicity is on EMAIL - if ($unicity == 'email') - { - $sql = 'SELECT s.rowid FROM '.MAIN_DB_PREFIX."societe as s where email like '".$this->db->escape($societeArray['email'])."'"; - $resqlid = $this->db->query($sql); - if ($resqlid) - { - $obj = $this->db->fetch_object($resqlid); - if ($obj) - { - $thirdpartyid = $obj->rowid; - $result = $dBSociete->fetch(0, $thirdpartyid); - } - } - else - { - $error++; - $this->error='Error in getting id from email.'; - $this->errors[]=$this->error; - } - } - if ($result == -2) - { + if ($result == -2) { $error++; $this->error='Several thirdparties with name '.$societeArray['name'].' were found in Dolibarr. Sync is not possible. Please rename one of it to avoid duplicate.'; $this->errors[]=$this->error; @@ -1133,15 +1096,17 @@ public function synchSociete($toNb=0) if ($result == 0) { $dBSociete->name = $societeArray['name']; - $dBSociete->name_alias = $societeArray['name_alias']; //$dBSociete->ref_ext = $this->eCommerceSite->name.'-'.$societeArray['remote_id']; // No need of ref_ext, we will search if already exists on name - $dBSociete->email = $societeArray['email']; $dBSociete->client = $societeArray['client']; - $dBSociete->tva_intra = dol_trunc($societeArray['vatnumber'], 20, 'right', 'UTF-8', 1); - $dBSociete->tva_assuj = 1; // tva_intra is not saved if this field is not set + if (isset($societeArray['name_alias'])) $dBSociete->name_alias = $societeArray['name_alias']; + if (isset($societeArray['email'])) $dBSociete->email = $societeArray['email']; + if (isset($societeArray['vatnumber'])) { + $dBSociete->tva_intra = dol_trunc($societeArray['vatnumber'], 20, 'right', 'UTF-8', 1); + $dBSociete->tva_assuj = 1; // tva_intra is not saved if this field is not set + } + $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $dBSociete->code_client = -1; // Automatic code $dBSociete->code_fournisseur = -1; // Automatic code - $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $result = $dBSociete->create($this->user); if ($result < 0) @@ -1150,16 +1115,20 @@ public function synchSociete($toNb=0) $this->errors[]=$this->langs->trans('ECommerceSynchSocieteCreateError').' '.$dBSociete->error; $this->errors = array_merge($this->errors, $dBSociete->errors); } + + $dBSociete->update_note($societeArray['note_private'],'_private'); } else if ($result > 0) { $dBSociete->name = $societeArray['name']; - $dBSociete->name_alias = $societeArray['name_alias']; //$dBSociete->ref_ext = $this->eCommerceSite->name.'-'.$societeArray['remote_id']; // No need of ref_ext, we will search if already exists on name - $dBSociete->email = $societeArray['email']; $dBSociete->client = $societeArray['client']; - $dBSociete->tva_intra = $societeArray['vatnumber']; - $dBSociete->tva_assuj = 1; // tba_intra is not saved if this field is not set + if (isset($societeArray['name_alias'])) $dBSociete->name_alias = $societeArray['name_alias']; + if (isset($societeArray['email'])) $dBSociete->email = $societeArray['email']; + if (isset($societeArray['vatnumber'])) { + $dBSociete->tva_intra = $societeArray['vatnumber']; + $dBSociete->tva_assuj = 1; // tba_intra is not saved if this field is not set + } $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $result = $dBSociete->update($dBSociete->id, $this->user); @@ -1287,6 +1256,10 @@ public function synchSocpeople($socpeopleArray) global $conf; $error=0; + $synchExists = 0; + $contactExists = 0; + + $dBContact = new Contact($this->db); try { dol_syslog("***** eCommerceSynchro synchSocPeople remote_id=".$socpeopleArray['remote_id']." site=".$this->eCommerceSite->id); @@ -1297,92 +1270,69 @@ public function synchSocpeople($socpeopleArray) //print "Work on remote_id = " .$socpeopleArray['remote_id']." type = ".$socpeopleArray['type']."\n"; //check if contact exists in eCommerceSocpeople table - // $socpeopleArray['type'] = 1 = Contact de tiers - // $socpeopleArray['type'] = 2 = Contact de commande - // $socpeopleArray['type'] = 3 = Contact de facture - // $socpeopleArray['type'] = 4 = Contact de livraison - $synchExists = $this->eCommerceSocpeople->fetchByRemoteId($socpeopleArray['remote_id'], $socpeopleArray['type'], $this->eCommerceSite->id); + if (isset($socpeopleArray['remote_id'])) { + // $socpeopleArray['type'] = 1 = Contact de tiers + // $socpeopleArray['type'] = 2 = Contact de commande + // $socpeopleArray['type'] = 3 = Contact de facture + // $socpeopleArray['type'] = 4 = Contact de livraison + $synchExists = $this->eCommerceSocpeople->fetchByRemoteId($socpeopleArray['remote_id'], $socpeopleArray['type'], $this->eCommerceSite->id); + + if ($synchExists > 0) { + $contactExists = $dBContact->fetch($this->eCommerceSocpeople->fk_socpeople); + } + } //set data into contact - $dBContact = new Contact($this->db); - - $contactExists = 0; - - if ($synchExists > 0) + $dBContact->socid = $socpeopleArray['fk_soc']; + $dBContact->fk_soc = $socpeopleArray['fk_soc']; + $dBContact->firstname = $socpeopleArray['firstname']; + $dBContact->lastname = $socpeopleArray['lastname']; + $dBContact->address = $socpeopleArray['address']; + $dBContact->cp = $socpeopleArray['zip']; + if ((float) DOL_VERSION >= 6.0) { - $test = $dBContact->fetch($this->eCommerceSocpeople->fk_socpeople); - if ($test > 0) - { - $contactExists = $dBContact->id; - } + $dBContact->zip = dol_trunc($socpeopleArray['zip'], 25, 'right', 'UTF-8', 1); } - - if (! $contactExists) + else { - $dBContact->socid = $socpeopleArray['fk_soc']; - $dBContact->fk_soc = $socpeopleArray['fk_soc']; - //$dBContact->fk_pays = $socpeopleArray['fk_pays']; - $dBContact->lastname = $socpeopleArray['lastname']; - $dBContact->town = dol_trunc($socpeopleArray['town'], 30, 'right', 'UTF-8', 1); - $dBContact->ville = $dBContact->town; - $dBContact->firstname = $socpeopleArray['firstname']; - if ((float) DOL_VERSION >= 6.0) - { - $dBContact->zip = dol_trunc($socpeopleArray['zip'], 25, 'right', 'UTF-8', 1); - } - else - { - $dBContact->zip = dol_trunc($socpeopleArray['zip'], 10, 'right', 'UTF-8', 1); - } - $dBContact->cp = $socpeopleArray['zip']; - $dBContact->address = $socpeopleArray['address']; - $dBContact->phone_pro = dol_trunc($socpeopleArray['phone'], 30, 'right', 'UTF-8', 1); - $dBContact->fax = dol_trunc($socpeopleArray['fax'], 30, 'right', 'UTF-8', 1); - $dBContact->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; - + $dBContact->zip = dol_trunc($socpeopleArray['zip'], 10, 'right', 'UTF-8', 1); + } + $dBContact->town = dol_trunc($socpeopleArray['town'], 30, 'right', 'UTF-8', 1); + $dBContact->ville = $dBContact->town; + $dBContact->country_id = $socpeopleArray['country_id']; + $dBContact->email = $socpeopleArray['email']; + $dBContact->phone_pro = dol_trunc($socpeopleArray['phone'], 30, 'right', 'UTF-8', 1); + $dBContact->fax = dol_trunc($socpeopleArray['fax'], 30, 'right', 'UTF-8', 1); + $dBContact->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; + + if (!$contactExists) { $contactExists = $this->getContactIdFromInfos($dBContact); + if ($contactExists > 0) { + $contactExists = $dBContact->fetch($contactExists); + $synchExists = $this->eCommerceSocpeople->fetchByFkSocpeople($dBContact->id, $this->eCommerceSite->id); + } } - if ($contactExists) - $dBContact->id = $contactExists; - - //if contact exists in eCommerceSocpeople, contact should exists also in llx_socpeople - if (($synchExists > 0 && $this->eCommerceSocpeople->fk_socpeople > 0) || $contactExists > 0) - { - $refExists = $dBContact->fetch($contactExists > 0 ? $contactExists : $this->eCommerceSocpeople->fk_socpeople); - - if ($refExists > 0) - { - //dol_syslog("We don't know if contact on ecommerce was modified so we force update of all fields"); - //$result = $dBContact->update($dBContact->id, $this->user); - $result = 0; - } - else if ($refExists == 0) // If not, we create it - { - $result = $dBContact->create($this->user); - if ($result < 0) - { - $error++; - $this->errors[]=$this->langs->trans('ECommerceSynchContactCreateError').' (remote id = '.$socpeopleArray['remote_id'].') '.$dBContact->error; - $this->errors = array_merge($this->errors, $this->dBContact->errors); - } - } - else if ($refExists < 0) - { - $this->errors[] = $this->langs->trans('ECommerceSynchSocieteErrorBetweenECommerceSocpeopleAndContact'); - return false; + if ($contactExists > 0) { + $result = $dBContact->update($dBContact->id, $this->user); + if ($result < 0) { + $error++; + $this->error = $this->langs->trans('ECommerceSynchContactUpdateError') . ' ' . $dBContact->error; + $this->errors[] = $this->error; } - } - //if no previous synchro exists (not found in table of links) - else - { + } else if ($contactExists == 0) { $result = $dBContact->create($this->user); - if ($result < 0) - { + if ($result < 0) { $error++; - $this->errors[]=$this->langs->trans('ECommerceSynchContactCreateError').' (remote id = '.$socpeopleArray['remote_id'].') '.$dBContact->error; - $this->errors = array_merge($this->errors, $dBContact->errors); + $this->error = $this->langs->trans('ECommerceSynchContactCreateError') . ' ' . $dBContact->error; + $this->errors[] = $this->error; } + } else if ($synchExists > 0 && $contactExists < 0) { + $error++; + $this->errors[] = $this->langs->trans('ECommerceSynchSocieteErrorBetweenECommerceSocpeopleAndContact'); + } else if ($contactExists < 0) { + $error++; + $this->errors[] = $this->langs->trans('ECommerceSynchContactFetchError') . ' ' . $dBContact->error; } //if create/update of contact table is ok @@ -1406,11 +1356,11 @@ public function synchSocpeople($socpeopleArray) { //eCommerce create $this->eCommerceSocpeople->fk_site = $this->eCommerceSite->id; - $this->eCommerceSocpeople->remote_id = $socpeopleArray['remote_id']; + $this->eCommerceSocpeople->remote_id = isset($socpeopleArray['remote_id']) ? $socpeopleArray['remote_id'] : 'none-'.$dBContact->id; $this->eCommerceSocpeople->type = $socpeopleArray['type']; if ($this->eCommerceSocpeople->create($this->user) < 0) { - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceSocpeopleCreateError'); + $this->errors[] = $this->langs->trans('ECommerceSynchECommerceSocpeopleCreateError', $socpeopleArray['fk_soc'], $socpeopleArray['firstname'], $socpeopleArray['lastname']) . ' : ' . $this->eCommerceSocpeople->error; $this->errors = array_merge($this->errors, $this->eCommerceSocpeople->errors); return false; } @@ -1557,7 +1507,7 @@ public function synchProduct($toNb=0) dol_syslog("- Process synch of product remote_id=".$productArray['remote_id']); $counter++; - if ($toNb > 0 && $counter > $toNb) break; + // if ($toNb > 0 && $counter > $toNb) break; if (empty($productArray['remote_id'])) { @@ -1570,84 +1520,72 @@ public function synchProduct($toNb=0) $this->db->begin(); //check if product exists in eCommerceProduct (with remote id) + $idProduct = ''; $synchExists = $this->eCommerceProduct->fetchByRemoteId($productArray['remote_id'], $this->eCommerceSite->id); + if ($synchExists > 0) { + $idProduct = $this->eCommerceProduct->fk_product; + } $dBProduct = new Product($this->db); // First, we check object does not alreay exists. If not, we create it, if it exists, update it. - $refExists = $dBProduct->fetch('', dol_string_nospecial(trim($productArray['ref']))); - $result = -1; + $refExists = $dBProduct->fetch($idProduct, dol_string_nospecial(trim($productArray['ref']))); //libelle of product object = label into database + $dBProduct->ref = dol_string_nospecial(trim($productArray['ref'])); $dBProduct->label = $productArray['label']; - $dBProduct->description = $productArray['description']; + $dBProduct->description = isset($productArray['description']) ? $productArray['description'] : $dBProduct->description; $dBProduct->weight = $productArray['weight']; $dBProduct->type = $productArray['fk_product_type']; $dBProduct->finished = $productArray['finished']; $dBProduct->status = $productArray['envente']; + $dBProduct->status_buy = $productArray['enachat']; $dBProduct->country_id = $productArray['fk_country']; $dBProduct->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $dBProduct->ref_ext = $this->eCommerceSite->name.'-'.$productArray['remote_id']; $dBProduct->url = $productArray['url']; + if ($conf->barcode->enabled) + $dBProduct->barcode = -1; + + if (is_array($productArray['extrafields'])) { + foreach ($productArray['extrafields'] as $extrafield => $extrafield_value) { + $dBProduct->array_options['options_'.$extrafield] = $extrafield_value; + } + } if ($refExists > 0 && isset($dBProduct->id)) { //update $result = $dBProduct->update($dBProduct->id, $this->user); - if ($result >= 0)// rajouter constante TTC/HT + if ($result >= 0) { - if (empty($productArray['price_base_type'])) $productArray['price_base_type']='HT'; - - /* - var_dump($this->eCommerceSite->price_level); - // Result from ecommerce - var_dump($productArray['price_base_type'].' - '.$productArray['price'].' - '.price2num((float) $productArray['tax_rate']).' - '.$productArray['price_min']); - // Into dolibarr database - var_dump($dBProduct->price_base_type." - ".$dBProduct->price." - ".price2num((float) $dBProduct->tva_tx)." - ".$dBProduct->price_min); - var_dump($dBProduct->multiprices_base_type[$this->eCommerceSite->price_level]." - ".$dBProduct->multiprices[$this->eCommerceSite->price_level]." - ".$dBProduct->multiprices_tva_tx[$this->eCommerceSite->price_level]." - ".$dBProduct->multiprices_min[$this->eCommerceSite->price_level]); - */ - - // Update price - if (!empty($conf->global->PRODUIT_MULTIPRICES)) - { - $price_level = $this->eCommerceSite->price_level; - $price_min = $dBProduct->multiprices_min[$price_level]; - if (isset($productArray['price_min'])) $price_min = $productArray['price_min']; - - if ($productArray['price'] != $dBProduct->multiprices[$price_level] || $productArray['price_base_type'] != $dBProduct->multiprices_base_type[$price_level] || (price2num((float) $productArray['tax_rate']) != price2num((float) $dBProduct->multiprices_tva_tx[$price_level])) || (isset($productArray['price_min']) && ($productArray['price_min'] != $dBProduct->multiprices_min[$price_level]))) - { - $dBProduct->updatePrice($productArray['price'], $productArray['price_base_type'], $this->user, $productArray['tax_rate'], $price_min, $price_level); - } - else - { - //print 'No change in price for '.$dBProduct->ref."\n"; - } + // Update price if need + $price_level = empty($this->eCommerceSite->price_level) ? 1 : $this->eCommerceSite->price_level; + + // Get current product values + if (empty($conf->global->PRODUIT_MULTIPRICES)) { + $price_base_type_org = $dBProduct->price_base_type; + $price_org = $dBProduct->price; + $price_min_org = $dBProduct->price_min; + $tax_rate_org = $dBProduct->tva_tx; + } else { + $price_base_type_org = $dBProduct->multiprices_base_type[$price_level]; + $price_org = $dBProduct->multiprices[$price_level]; + $price_min_org = $dBProduct->multiprices_min[$price_level]; + $tax_rate_org = $dBProduct->multiprices_tva_tx[$price_level]; } - else - { - $price_min = $dBProduct->price_min; - if (isset($productArray['price_min'])) $price_min = $productArray['price_min']; - if ($productArray['price'] != $dBProduct->price || $productArray['price_base_type'] != $dBProduct->price_base_type || (price2num((float) $productArray['tax_rate']) != price2num((float) $dBProduct->tva_tx)) || (isset($productArray['price_min']) && ($productArray['price_min'] != $dBProduct->price_min))) - { - $dBProduct->updatePrice($productArray['price'], $productArray['price_base_type'], $this->user, $productArray['tax_rate'], $price_min); - } - else - { - print 'No change in price for '.$dBProduct->ref."\n"; - } - } - - // If eCommerce setup has changed and now prices are switch TI/TE (Tax Include / Tax Excluded) - if ($dBProduct->price_base_type != $this->eCommerceSite->magento_price_type && empty($conf->global->ECOMMERCENG_DISABLE_MAGENTO_PRICE_TYPE)) - { - dol_syslog("Setup price for eCommerce are switched from TE toTI or TI to TE, we update price of product"); + if ($price_base_type_org != $this->eCommerceSite->ecommerce_price_type || + $price_org != $productArray['price'] || + (isset($productArray['price_min']) && $price_min_org != $productArray['price_min']) || + price2num((float) $productArray['tax_rate']) != price2num((float) $tax_rate_org) + ) { + // The price type from eCommerce is defined for the site: TI/TE (Tax Include / Tax Excluded) if (empty($conf->global->PRODUIT_MULTIPRICES)) { - $dBProduct->updatePrice($dBProduct->price, $this->eCommerceSite->magento_price_type, $this->user); + $dBProduct->updatePrice($productArray['price'], $this->eCommerceSite->ecommerce_price_type, $this->user, $productArray['tax_rate'], $productArray['price_min']); } else { - $price_level = $this->eCommerceSite->price_level; - $dBProduct->updatePrice($dBProduct->multiprices[$price_level], $this->eCommerceSite->magento_price_type, $this->user, $dBProduct->multiprices_tva_tx[$price_level], $dBProduct->multiprices_min[$price_level], $price_level); + $dBProduct->updatePrice($productArray['price'], $this->eCommerceSite->ecommerce_price_type, $this->user, $productArray['tax_rate'], $productArray['price_min'], $price_level); } } } @@ -1655,7 +1593,7 @@ public function synchProduct($toNb=0) // We must set the initial stock if ($this->eCommerceSite->stock_sync_direction == 'ecommerce2dolibarr' && ($productArray['stock_qty'] != $dBProduct->stock_reel)) // Note: $dBProduct->stock_reel is 0 after a creation { - dol_syslog("Stock for product updated is ".$productArray['stock_qty']," in ecommerce, but ".$dBProduct->stock_reel." in Dolibarr, we must update it"); + dol_syslog("Stock for product updated is ".$productArray['stock_qty']." in ecommerce, but ".$dBProduct->stock_reel." in Dolibarr, we must update it"); if (empty($this->eCommerceSite->fk_warehouse)) { $error++; @@ -1684,28 +1622,20 @@ public function synchProduct($toNb=0) else { //create - $dBProduct->ref = dol_string_nospecial(trim($productArray['ref'])); $dBProduct->canvas = $productArray['canvas']; $dBProduct->note = 'Initialy created from '.$this->eCommerceSite->name; $result = $dBProduct->create($this->user); - if ($result >= 0)// rajouter constante TTC/HT + if ($result >= 0) { - if (!empty($conf->global->PRODUIT_MULTIPRICES)) { - $price_level = $this->eCommerceSite->price_level; - $dBProduct->updatePrice($productArray['price'], $dBProduct->multiprices_base_type[$price_level], $this->user, $productArray['tax_rate'], $productArray['price_min'], $price_level); - } - - // If eCommerce setup hase change and now prices are switch TI/TE (Tax Include / Tax Excluded) - if (empty($conf->global->ECOMMERCENG_DISABLE_MAGENTO_PRICE_TYPE)) - { - dol_syslog("Setup price for eCommerce are switched from TE toTI or TI to TE, we update price of product"); - if (empty($conf->global->PRODUIT_MULTIPRICES)) { - $dBProduct->updatePrice($dBProduct->price, $this->eCommerceSite->magento_price_type, $this->user); - } else { - $price_level = $this->eCommerceSite->price_level; - $dBProduct->updatePrice($dBProduct->multiprices[$price_level], $this->eCommerceSite->magento_price_type, $this->user, $dBProduct->multiprices_tva_tx[$price_level], $dBProduct->multiprices_min[$price_level], $price_level); - } + // Set price + $price_level = !empty($this->eCommerceSite->price_level) ? $this->eCommerceSite->price_level : 1; + + // The price type from eCommerce is defined for the site: TI/TE (Tax Include / Tax Excluded) + if (empty($conf->global->PRODUIT_MULTIPRICES)) { + $dBProduct->updatePrice($productArray['price'], $this->eCommerceSite->ecommerce_price_type, $this->user, $productArray['tax_rate'], $productArray['price_min']); + } else { + $dBProduct->updatePrice($productArray['price'], $this->eCommerceSite->ecommerce_price_type, $this->user, $productArray['tax_rate'], $productArray['price_min'], $price_level); } } else @@ -1784,6 +1714,34 @@ public function synchProduct($toNb=0) } //$cat = new Categorie($this->db, $this->eCommerceSite->fk_cat_product); //$cat->add_type($dBProduct, 'product'); + + // Synchronize images + if (!empty($conf->global->ECOMMERCENG_ENABLE_SYNCHRO_IMAGES)) { + if (is_array($productArray['images'])) { + foreach ($productArray['images'] as $image) { + $ret = ecommerceng_download_image($image, $dBProduct, $error_message); + + if (!$ret) { + $error++; + $error_label = $this->langs->trans('ECommerceSyncheCommerceProductDownloadImageError', + implode(',', $image), $dBProduct->id, $productArray['remote_id'], $this->eCommerceSite->name) . ': ' . $error_message; + $this->errors[] = $error_label; + dol_syslog($error_label, LOG_ERR); + } + } + } + + // Remove obsolete image + $ret = ecommerceng_remove_obsolete_image($dBProduct, $productArray['images'], $error_message); + if (!$ret) { + $error++; + $error_label = $this->langs->trans('ECommerceSyncheCommerceProductDownloadImageError', + $dBProduct->id, $productArray['remote_id'], $this->eCommerceSite->name) . ': ' . $error_message; + $this->errors[] = $error_label; + dol_syslog($error_label, LOG_ERR); + } + } + $this->eCommerceProduct->last_update = $productArray['last_update']; $this->eCommerceProduct->fk_product = $dBProduct->id; @@ -1941,7 +1899,7 @@ public function synchCommande($toNb=0) else { // This is an unknown customer. May be a non logged customer. - if (! empty($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER)) + if ($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER > 0) { $societeExists = 1; $this->eCommerceSociete->fk_societe = $conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER; @@ -1968,6 +1926,12 @@ public function synchCommande($toNb=0) $dBCommande->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; + if (is_array($commandeArray['extrafields'])) { + foreach ($commandeArray['extrafields'] as $extrafield => $extrafield_value) { + $dBCommande->array_options['options_'.$extrafield] = $extrafield_value; + } + } + if ($dBCommande->ref_client != $commandeArray['ref_client'] || $tmpdateorder1 != $tmpdateorder2 || $tmpdatedeliv1 != $tmpdatedeliv2 @@ -1984,7 +1948,7 @@ public function synchCommande($toNb=0) { $error++; $this->errors[]=$this->langs->trans('ECommerceSynchCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dbCommande->errors); + $this->errors = array_merge($this->errors, $dBCommande->errors); } } @@ -2082,7 +2046,13 @@ public function synchCommande($toNb=0) $dBCommande->note_private=isset($commandeArray['note'])?$commandeArray['note']:""; if (! empty($conf->global->ECOMMERCENG_ENABLE_LOG_IN_NOTE)) { - $dBCommande->note_private.="Last eCommerce order received:\n".dol_trunc(serialize(var_export($commandeArray['remote_order'], true)), 65000); + $dBCommande->note_private.="Last eCommerce order received:\n".serialize(var_export($commandeArray['remote_order'], true)); + } + + if (is_array($commandeArray['extrafields'])) { + foreach ($commandeArray['extrafields'] as $extrafield => $extrafield_value) { + $dBCommande->array_options['options_'.$extrafield] = $extrafield_value; + } } $result = $dBCommande->create($this->user); @@ -2091,7 +2061,7 @@ public function synchCommande($toNb=0) dol_syslog("synchCommande result=".$result." ".$dBCommande->error, LOG_ERR); $error++; $this->errors[]=$this->langs->trans('ECommerceSynchCommandeCreateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dbCommande->errors); + $this->errors = array_merge($this->errors, $dBCommande->errors); } // Add lines @@ -2110,7 +2080,7 @@ public function synchCommande($toNb=0) if (($result = $dBCommande->defineBuyPrice($item['price'], 0, $fk_product)) < 0) { $this->error = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dbCommande->errors); + $this->errors = array_merge($this->errors, $dBCommande->errors); $error++; break; // break on items } @@ -2155,7 +2125,7 @@ public function synchCommande($toNb=0) if ($result <= 0) { $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dbCommande->errors); + $this->errors = array_merge($this->errors, $dBCommande->errors); $error++; break; // break on items } @@ -2192,7 +2162,7 @@ public function synchCommande($toNb=0) if ($result <= 0) { $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dbCommande->errors); + $this->errors = array_merge($this->errors, $dBCommande->errors); $error++; } } @@ -2288,6 +2258,16 @@ public function synchCommande($toNb=0) } } + // Update Payment method + if (! $error) { + if (isset($commandeArray['payment_method'])) { + $payment_method = dol_getIdFromCode($this->db, $commandeArray['payment_method'], 'c_paiement', 'libelle', 'id'); + if ($payment_method != '' && $payment_method > 0) { + $dBCommande->setPaymentMethods($payment_method); + } + } + } + //if synchro commande ok if (! $error) { @@ -2333,23 +2313,30 @@ public function synchCommande($toNb=0) else { if ($commandeArray['remote_id_societe'] != 0) { $error++; - $this->errors[] = $this->langs->trans('ECommerceSynchCommandeErrorSocieteNotExists') . ' (remote_id='.$commandeArray['remote_id'].') ' . $commandeArray['remote_id_societe']; + $this->errors[] = $this->langs->trans('ECommerceSynchCommandeErrorSocieteNotExists') . ' (Commande ID='.$commandeArray['remote_id'].', Client ID:' . $commandeArray['remote_id_societe'].')'; } else { $error++; $this->errors[] = $this->langs->trans('ECommerceSynchCommandeErrorSocieteNotExists') . ' (remote_id='.$commandeArray['remote_id'].') - Unknown customer.'; - $this->errors[] = 'This order is not linked to a dedicated customer. Try to set option ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER'; + if (empty($conf->global->ECOMMERCENG_PASS_ORDER_FOR_NONLOGGED_CUSTOMER)) { + $this->errors[] = 'This order is not linked to a dedicated customer. Try to set option ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER'; + } } } unset($dBCommande); unset($this->eCommerceSociete); unset($this->eCommerceCommande); - if ($error || ! empty($this->errors)) + if ($error) { $this->db->rollback(); $nbrecorderror++; - break; // We decide to stop on first error + // We decide to stop on first error (Can continue if anonymous order with const ECOMMERCENG_PASS_ORDER_FOR_NONLOGGED_CUSTOMER) + if ($commandeArray['remote_id_societe'] != 0 || empty($conf->global->ECOMMERCENG_PASS_ORDER_FOR_NONLOGGED_CUSTOMER)) { + break; + } else { + $error = 0; + } } else { @@ -3085,7 +3072,8 @@ public function dropImportedAndSyncData($deletealsoindolibarr, $mode='') } //Drop socPeople - if (empty($mode) || preg_match('/^contacts/', $mode)) + if (empty($mode) || preg_match('/^thirdparties/', $mode)) +// if (empty($mode) || preg_match('/^contacts/', $mode)) { $dolObjectsDeleted = 0; $synchObjectsDeleted = 0; @@ -3223,7 +3211,11 @@ function getContactIdFromInfos($contact) $sql .= ' AND firstname="'.$db->escape(trim($contact->firstname)).'"'; $sql .= ' AND address="'.$db->escape(trim($contact->address)).'"'; $sql .= ' AND town="'.$db->escape(trim($contact->town)).'"'; - $sql .= ' AND zip="'.$db->escape(trim($contact->zip)).'"'; + $sql .= ' AND zip="'.$db->escape(trim($contact->zip)).'"'; + if (isset($contact->country_id)) $sql .= ' AND fk_pays='.($contact->country_id>0?$contact->country_id:'NULL'); + if (isset($contact->email)) $sql .= ' AND email="'.$db->escape(trim($contact->email)).'"'; + if (isset($contact->phone_pro)) $sql .= ' AND phone="'.$db->escape(trim($contact->phone_pro)).'"'; + if (isset($contact->fax)) $sql .= ' AND fax="'.$db->escape(trim($contact->fax)).'"'; $sql .= ' AND fk_soc="'.$contact->fk_soc.'"'; $resql = $this->db->query($sql); @@ -3246,7 +3238,7 @@ function getContactIdFromInfos($contact) { $this->error=$this->db->lasterror(); dol_syslog("eCommerceSynchro::getContactIdFromInfos ".$this->error, LOG_ERR); - return -1; + return $contactId; } } diff --git a/htdocs/ecommerceng/class/data/eCommerceCategory.class.php b/htdocs/ecommerceng/class/data/eCommerceCategory.class.php index 054de82..656d800 100644 --- a/htdocs/ecommerceng/class/data/eCommerceCategory.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceCategory.class.php @@ -95,8 +95,8 @@ function create($user, $notrigger = 0) $sql.= " '" . $this->db->escape($this->description) . "',"; $sql.= " " . $this->db->escape($this->fk_category) . ","; $sql.= " " . $this->db->escape($this->fk_site) . ","; - $sql.= " " . $this->db->escape($this->remote_id) . ","; - $sql.= " " . $this->db->escape($this->remote_parent_id) . ","; + $sql.= " '" . $this->db->escape($this->remote_id) . "',"; + $sql.= " '" . $this->db->escape($this->remote_parent_id) . "',"; $sql.= " '" . $this->db->idate($this->last_update) . "'"; $sql.= ")"; @@ -380,7 +380,7 @@ public function checkForUpdate($siteId, $toDate, $remoteCatToCheck) global $langs; $updateRequired = 0; // If any error occurs, category won't appears in update array - $sql = "SELECT t.last_update as lastdate, t.remote_parent_id as parentid FROM " . MAIN_DB_PREFIX . $this->table_element . " as t"; + $sql = "SELECT t.last_update as lastdate, t.remote_parent_id as parentid, t.fk_category FROM " . MAIN_DB_PREFIX . $this->table_element . " as t"; $sql.= " WHERE t.remote_id=" . $remoteCatToCheck['category_id'] . " AND t.fk_site = " . $siteId; $resql = $this->db->query($sql); @@ -390,12 +390,24 @@ public function checkForUpdate($siteId, $toDate, $remoteCatToCheck) { $obj = $this->db->fetch_object($resql); - $now = $toDate; // Dolibarr's category time - $lu = $this->db->jdate($obj->lastdate); // date of last update process - $lumage = strtotime($remoteCatToCheck['updated_at']); - //var_dump($lu); - //var_dump($lumage); - $updateRequired = ($obj->parentid != $remoteCatToCheck['parent_id'] || ($lu < $lumage)) ? 1 : 0; + $diffdates = false; + $diffvalues = false; + if (empty($remoteCatToCheck['updated_at'])) { + $catObj = new Categorie($this->db); + $ret = $catObj->fetch($obj->fk_category); + if ($ret > 0) { + $diffvalues = $catObj->label != $remoteCatToCheck['name'] || $catObj->description != $remoteCatToCheck['description']; + } + } else { + $now = $toDate; // Dolibarr's category time + $lu = $this->db->jdate($obj->lastdate); // date of last update process + $lumage = strtotime($remoteCatToCheck['updated_at']); + //var_dump($lu); + //var_dump($lumage); + $diffdates = $lu < $lumage; + } + + $updateRequired = ($obj->parentid != $remoteCatToCheck['parent_id'] || $diffdates || $diffvalues) ? 1 : 0; } else { $updateRequired = 1; diff --git a/htdocs/ecommerceng/class/data/eCommerceProduct.class.php b/htdocs/ecommerceng/class/data/eCommerceProduct.class.php index 4197d9b..46d74eb 100644 --- a/htdocs/ecommerceng/class/data/eCommerceProduct.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceProduct.class.php @@ -190,7 +190,7 @@ function update($user=0, $notrigger=0) $sql.= " fk_product=".(isset($this->fk_product)?intval($this->fk_product):0).","; $sql.= " fk_site=".(isset($this->fk_site)?intval($this->fk_site):0).","; - $sql.= " remote_id=".(isset($this->remote_id)?"'".$this->db->escape($this->remote_id)."'":"").","; + $sql.= " remote_id='".$this->db->escape($this->remote_id)."',"; $sql.= " last_update=".(isset($this->last_update)?"'".$this->last_update."'" : 'null').""; $sql.= " WHERE rowid=".$this->id; @@ -343,7 +343,7 @@ public function fetchByRemoteId($remoteId, $siteId) $sql.= " t.last_update"; $sql.= " FROM ".MAIN_DB_PREFIX."ecommerce_product as t"; $sql.= " WHERE t.fk_site = ".$siteId; - $sql.= " AND t.remote_id = ".$remoteId; + $sql.= " AND t.remote_id = '".$this->db->escape($remoteId)."'"; dol_syslog(get_class($this)."::fetchByRemoteId sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) diff --git a/htdocs/ecommerceng/class/data/eCommerceRemoteAccess.class.php b/htdocs/ecommerceng/class/data/eCommerceRemoteAccess.class.php index ff2d8e2..fd63109 100644 --- a/htdocs/ecommerceng/class/data/eCommerceRemoteAccess.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceRemoteAccess.class.php @@ -401,4 +401,36 @@ public function createRemoteLivraison($livraison, $remote_order_id) $this->errors=$this->class->errors; return $result; } + + /** + * Create a remote product + * + * @param Object $object Object product + * @return bool + */ + public function createRemoteProduct($object) + { + $result=$this->class->createRemoteProduct($object); + $this->error=$this->class->error; + $this->errors=$this->class->errors; + return $result; + } + + /** + * Send a file for remote commande + * + * @param int $order_remote_id Id of order on remote ecommerce + * @param int $societe_remote_id Id of societe on remote ecommerce + * @param Object $object Object product + * @param string $file File path + * @param Translate $outputlangs Lang output object + * @return bool + */ + public function sendFileForCommande($order_remote_id, $societe_remote_id, $object, $file, $outputlangs) + { + $result=$this->class->sendFileForCommande($order_remote_id, $societe_remote_id, $object, $file, $outputlangs); + $this->error=$this->class->error; + $this->errors=$this->class->errors; + return $result; + } } diff --git a/htdocs/ecommerceng/class/data/eCommerceSite.class.php b/htdocs/ecommerceng/class/data/eCommerceSite.class.php old mode 100755 new mode 100644 index 9287094..f3cd7c2 --- a/htdocs/ecommerceng/class/data/eCommerceSite.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceSite.class.php @@ -46,7 +46,10 @@ class eCommerceSite // extends CommonObject var $last_update; var $timeout; var $magento_use_special_price; - var $magento_price_type; + var $ecommerce_price_type; + + var $oauth_id; + var $oauth_secret; //The site type name is used to define class name in eCommerceRemoteAccess class private $siteTypes = array(1=>'magento', 2=>'woocommerce'); @@ -115,6 +118,9 @@ function create($user, $notrigger=0) if (isset($this->stock_sync_direction)) $this->stock_sync_direction=trim($this->stock_sync_direction); if (isset($this->timeout)) $this->timeout=trim($this->timeout); + if (isset($this->oauth_id)) $this->oauth_id=trim($this->oauth_id); + if (isset($this->oauth_secret)) $this->oauth_secret=trim($this->oauth_secret); + // Check parameters // Put here code to add control on parameters values @@ -135,14 +141,16 @@ function create($user, $notrigger=0) $sql.= "last_update,"; $sql.= "timeout,"; $sql.= "magento_use_special_price,"; - $sql.= "magento_price_type"; + $sql.= "ecommerce_price_type,"; + $sql.= "oauth_id,"; + $sql.= "oauth_secret"; $sql.= ") VALUES ("; $sql.= " ".(! isset($this->name)?'NULL':"'".$this->db->escape($this->name)."'").","; $sql.= " ".(! isset($this->type)?'NULL':"'".$this->type."'").","; $sql.= " ".(! isset($this->webservice_address)?'NULL':"'".$this->db->escape($this->webservice_address)."'").","; $sql.= " ".(! isset($this->user_name)?'NULL':"'".$this->db->escape($this->user_name)."'").","; $sql.= " ".(! isset($this->user_password)?'NULL':"'".$this->db->escape($this->user_password)."'").","; - $sql.= " ".(! isset($this->price_level)?'NULL':"'".$this->db->escape($this->price_level)."'").","; + $sql.= " ".(! isset($this->price_level)?'1':"'".$this->db->escape($this->price_level)."'").","; $sql.= " ".(! isset($this->filter_label)?'NULL':"'".$this->db->escape($this->filter_label)."'").","; $sql.= " ".(! isset($this->filter_value)?'NULL':"'".$this->db->escape($this->filter_value)."'").","; $sql.= " ".($this->fk_cat_societe > 0 ? $this->fk_cat_societe : "NULL").","; @@ -152,7 +160,9 @@ function create($user, $notrigger=0) $sql.= " ".(! isset($this->last_update) || strlen($this->last_update)==0?'NULL':"'".$this->db->idate($this->last_update)."'").","; $sql.= " ".(! isset($this->timeout)?'300':"'".intval($this->timeout)."'").","; $sql.= " ".(! isset($this->magento_use_special_price)?'0':"'".intval($this->magento_use_special_price)."'").","; - $sql.= " ".(! isset($this->magento_price_type)?'HT':"'".$this->magento_price_type."'").""; + $sql.= " ".(! isset($this->ecommerce_price_type)?'HT':"'".$this->ecommerce_price_type."'").","; + $sql.= " ".(! isset($this->oauth_id)?"NULL":"'".$this->db->escape($this->oauth_id)."'").","; + $sql.= " ".(! isset($this->oauth_secret)?"NULL":"'".$this->db->escape($this->oauth_secret)."'").""; $sql.= ")"; $this->db->begin(); @@ -222,7 +232,9 @@ function fetch($id) $sql.= " t.last_update,"; $sql.= " t.timeout,"; $sql.= " t.magento_use_special_price,"; - $sql.= " t.magento_price_type"; + $sql.= " t.ecommerce_price_type,"; + $sql.= " t.oauth_id,"; + $sql.= " t.oauth_secret"; $sql.= " FROM ".MAIN_DB_PREFIX."ecommerce_site as t"; $sql.= " WHERE t.rowid = ".$id; @@ -251,8 +263,10 @@ function fetch($id) $this->last_update = $this->db->jdate($obj->last_update); $this->timeout = $obj->timeout; $this->magento_use_special_price = $obj->magento_use_special_price; - $this->magento_price_type = $obj->magento_price_type; + $this->ecommerce_price_type = $obj->ecommerce_price_type; + $this->oauth_id = $obj->oauth_id; + $this->oauth_secret = $obj->oauth_secret; } $this->db->free($resql); @@ -294,6 +308,8 @@ function update($user=0, $notrigger=0) if (isset($this->fk_cat_product)) $this->fk_cat_product=trim($this->fk_cat_product); if (isset($this->fk_warehouse)) $this->fk_warehouse=trim($this->fk_warehouse); if (isset($this->timeout)) $this->timeout=trim($this->timeout); + if (isset($this->oauth_id)) $this->oauth_id=trim($this->oauth_id); + if (isset($this->oauth_secret)) $this->oauth_secret=trim($this->oauth_secret); // Check parameters // Put here code to add control on parameters values @@ -306,7 +322,7 @@ function update($user=0, $notrigger=0) $sql.= " webservice_address=".(isset($this->webservice_address)?"'".$this->db->escape($this->webservice_address)."'":"null").","; $sql.= " user_name=".(isset($this->user_name)?"'".$this->db->escape($this->user_name)."'":"null").","; $sql.= " user_password=".(isset($this->user_password)?"'".$this->db->escape($this->user_password)."'":"null").","; - $sql.= " price_level=".(isset($this->price_level)?"'".$this->db->escape($this->price_level)."'":"null").","; + $sql.= " price_level=".(isset($this->price_level)?"'".$this->db->escape($this->price_level)."'":"1").","; $sql.= " filter_label=".(isset($this->filter_label)?"'".$this->db->escape($this->filter_label)."'":"null").","; $sql.= " filter_value=".(isset($this->filter_value)?"'".$this->db->escape($this->filter_value)."'":"null").","; $sql.= " fk_cat_societe=".($this->fk_cat_societe > 0 ? $this->fk_cat_societe:"null").","; @@ -316,7 +332,9 @@ function update($user=0, $notrigger=0) $sql.= " last_update=".((isset($this->last_update) && $this->last_update != '') ? "'".$this->db->idate($this->last_update)."'" : 'null').","; $sql.= " timeout=".(isset($this->timeout)? "'".intval($this->timeout)."'" : '300').","; $sql.= " magento_use_special_price=".(isset($this->magento_use_special_price)? "'".intval($this->magento_use_special_price)."'" : '0').","; - $sql.= " magento_price_type=".(isset($this->magento_price_type)? "'".$this->magento_price_type."'" : 'HT').""; + $sql.= " ecommerce_price_type=".(isset($this->ecommerce_price_type)? "'".$this->ecommerce_price_type."'" : 'HT').","; + $sql.= " oauth_id=".(isset($this->oauth_id)?"'".$this->oauth_id."'":"NULL").","; + $sql.= " oauth_secret=".(isset($this->oauth_secret)?"'".$this->oauth_secret."'":"NULL").""; $sql.= " WHERE rowid=".$this->id; $this->db->begin(); @@ -497,7 +515,9 @@ function initAsSpecimen() $this->last_update=''; $this->timeout=''; $this->magento_use_special_price=''; - $this->magento_price_type=''; + $this->ecommerce_price_type=''; + $this->oauth_id=''; + $this->oauth_secret=''; } /** @@ -542,6 +562,30 @@ function listSites($mode='array') return $list; } + /** + * Check if type site is created + * + * @param integer $typeSite Type of site + * @return boolean true if type site has created + */ + function hasTypeSite($typeSite) + { + $sql = "SELECT"; + $sql.= " count(*) AS count"; + $sql.= " FROM ".MAIN_DB_PREFIX."ecommerce_site as t"; + $sql.= " WHERE t.type=".$typeSite; + + $result = $this->db->query($sql); + if ($result) { + $obj = $this->db->fetch_object($result); + if ($obj->count > 0) { + return true; + } + } + + return false; + } + /** * Return list of available site types * @@ -576,7 +620,14 @@ public function getBackUrl() { // Try to guess public home page of ecommerce web site from the api url $url=$this->getFrontUrl(); - $url.='index.php/admin'; + switch ($this->type) { + case 1: // Magento + $url.='index.php/admin'; + break; + case 2: // Woocommerce + $url.=(substr($url, -1, 1)!='/'?'/':'').'wp-admin'; + break; + } return $url; } diff --git a/htdocs/ecommerceng/class/data/eCommerceSocpeople.class.php b/htdocs/ecommerceng/class/data/eCommerceSocpeople.class.php old mode 100755 new mode 100644 index 1625dee..2e59e7f --- a/htdocs/ecommerceng/class/data/eCommerceSocpeople.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceSocpeople.class.php @@ -87,7 +87,7 @@ function create($user, $notrigger=0) $sql.= " ".(isset($this->fk_site)?intval($this->fk_site):0).","; $sql.= " ".(isset($this->remote_id)?"'".$this->remote_id."'":"").","; $sql.= " ".(isset($this->type)?intval($this->type):1).","; - $sql.= " ".(isset($this->last_update)?"'".$this->last_update."'" : 'null').""; + $sql.= " ".(isset($this->last_update)?"'".$this->db->idate($this->last_update)."'" : 'null').""; $sql.= ")"; diff --git a/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php b/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php old mode 100755 new mode 100644 index 0c77508..70e5764 --- a/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php +++ b/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php @@ -29,6 +29,11 @@ dol_include_once('/ecommerceng/includes/WooCommerce/HttpClient/Request.php'); dol_include_once('/ecommerceng/includes/WooCommerce/HttpClient/Response.php'); +dol_include_once('/ecommerceng/lib/eCommerce.lib.php'); + +dol_include_once('/ecommerceng/includes/WordPressClient.php'); + +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; use Automattic\WooCommerce\Client; @@ -39,23 +44,93 @@ */ class eCommerceRemoteAccessWoocommerce { - + /** + * eCommerceSite object. + * + * @var eCommerceSite + */ private $site; + + /** + * Woocommerce client new API v2. + * + * @var Client + */ private $client; + /** + * Woocommerce client old API v3. + * + * @var Client + */ private $clientOld; - private $filter; - private $taxRates; + /** + * WordPress client. + * + * @var WordPressClient + */ + private $worpressclient; + + /** + * Dolibarr tax rates. + * + * @var array + */ + private $dolibarrTaxes; + + /** + * Woocommerce taxes. + * + * @var array + */ + private $woocommerceTaxes; + + /** + * Database handler. + * + * @var DoliDB + */ private $db; /** - * Constructor - * @param DoliDB $db Database handler - * @param string $site eCommerceSite + * Errors list. + * + * @var array + */ + public $errors; + + /** + * GMT timezone. + * + * @var DateTimeZone + */ + public $gmtTimeZone; + + /** + * Current timezone. + * + * @var DateTimeZone + */ + public $currentTimeZone; + + /** + * Constructor + * @param DoliDB $db Database handler + * @param eCommerceSite $site eCommerceSite object */ function eCommerceRemoteAccessWoocommerce($db, $site) { + global $langs; + + $langs->load("ecommerce@ecommerceng"); + $langs->load("woocommerce@ecommerceng"); + $this->db = $db; $this->site = $site; + $this->errors = []; + + $this->gmtTimeZone = new DateTimeZone('GMT'); + $this->currentTimeZone = new DateTimeZone(date_default_timezone_get()); + return 1; } @@ -66,18 +141,12 @@ function eCommerceRemoteAccessWoocommerce($db, $site) */ public function connect() { - global $conf; - - try { - require_once(DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'); - $params=getSoapParams(); - - @ini_set('default_socket_timeout', $params['response_timeout']); - @ini_set("memory_limit", "1024M"); + dol_syslog(__METHOD__ . ": Connect to API webservice_address=" . $this->site->webservice_address . " user_name=" . $this->site->user_name . " user_password=" . $this->site->user_password . " for site ID {$this->site->id}"); + global $conf, $langs; - $response_timeout = (empty($conf->global->MAIN_USE_RESPONSE_TIMEOUT)?$params['response_timeout']:$conf->global->MAIN_USE_RESPONSE_TIMEOUT); // Response timeout + $response_timeout = (empty($conf->global->MAIN_USE_RESPONSE_TIMEOUT) ? 30 : $conf->global->MAIN_USE_RESPONSE_TIMEOUT); // Response timeout - dol_syslog("eCommerceRemoteAccessWoocommerce Connect to API webservice_address=".$this->site->webservice_address." user_name=".$this->site->user_name." user_password=".$this->site->user_password); + try { $this->client = new Client( $this->site->webservice_address, $this->site->user_name, @@ -88,6 +157,8 @@ public function connect() 'timeout' => $response_timeout, ] ); + $this->client->get('customers', [ 'page' => 1, 'per_page' => 1 ]); + $this->clientOld = new Client( $this->site->webservice_address, $this->site->user_name, @@ -97,42 +168,59 @@ public function connect() 'timeout' => $response_timeout, ] ); - - dol_syslog("eCommerceRemoteAccessWoocommerce connected with new Client ok."); - - return true; + $this->clientOld->get('customers', [ 'page' => 1, 'filter' => [ 'limit' => 1 ] ]); } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); + $this->errors[] = $langs->trans('ECommerceWoocommerceConnect', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConnect', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + + try { + $this->worpressclient = new WordPressClient( + $this->site->webservice_address, + $this->site->oauth_id, + $this->site->oauth_secret, + dol_buildpath('/custom/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php', 2) . '?ecommerce_id=' . $this->site->id + ); + } catch (Exception $e) { + $this->errors[] = $langs->trans('ECommerceWoocommerceConnect', $this->site->name, $e->getMessage()); + dol_syslog(__METHOD__ . ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConnect', $this->site->name, $e->getMessage()), LOG_ERR); return false; } + + dol_syslog(__METHOD__ . ": end, ok"); + return true; } /** - * Call Woocommerce API to get last updated companies + * Call Woocommerce API to get last updated companies. We are interested here by list of id only. We will retreive properties later. + * + * @param int $fromDate From date + * @param int $toDate To date * - * @param datetime $fromDate From date - * @param datetime $toDate To date - * @return boolean|mixed Response from REST Api call, normally an associative array mirroring the structure of the XML response, nothing if error + * @return array|boolean List of companies ID to update or false if error */ public function getSocieteToUpdate($fromDate, $toDate) { - global $conf; + dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}"); + global $conf, $langs; - try { - $result = array(); - $idxPage = 1; - $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : $conf->global->ECOMMERCENG_MAXSIZE_MULTICALL; - $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; - $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; - - $filter = [ 'limit' => $per_page ]; - // Not work with customers - //if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); - //if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); - - dol_syslog("getSocieteToUpdate start gt = " . dol_print_date($fromDate, 'standard') . ", lt = " . dol_print_date($toDate, 'standard')); - while (true) { + $last_update = []; + $result = []; + $idxPage = 1; + $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; + $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; + + $filter = ['limit' => $per_page]; + // Not work with customers + //if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); + //if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); + + while (true) { + try { $page = $this->clientOld->get('customers', [ 'page' => $idxPage++, @@ -140,169 +228,147 @@ public function getSocieteToUpdate($fromDate, $toDate) 'fields' => 'id,created_at,last_update' ] ); - if (!isset($page['customers']) || ($nbCustomers = count($page['customers'])) == 0) break; - $page = $page['customers']; + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceGetSocieteToUpdate', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetSocieteToUpdate', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } - for ($idxCustomer = 0; $idxCustomer < $nbCustomers; $idxCustomer++) { - $created_at = new DateTime($page[$idxCustomer]['created_at']); - $date = new DateTime($page[$idxCustomer]['last_update']); - $date = $date < $created_at ? $created_at : $date; + if (!isset($page['customers']) || ($nbCustomers = count($page['customers'])) == 0) break; + $page = $page['customers']; - if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { - $result[] = $page[$idxCustomer]['id']; - } + foreach ($page as $customer) { + $date = $this->getDateTimeFromGMTDateTime(!empty($customer['updated_at']) ? $customer['updated_at'] : $customer['created_at']); + + if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { + $id = $customer['id']; + $result[$id] = $id; + $last_update[$id] = $date->format('Y-m-d H:i:s'); } } + } - dol_syslog("getSocieteToUpdate end (found ".count($result)." record)"); - return $result; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; + //important - order by last update + if (count($result)) { + array_multisort($last_update, SORT_ASC, $result); + $result = array_values($result); } + + dol_syslog(__METHOD__ . ": end"); + return $result; } /** - * Call Magenta API to get last updated products. We are interested here by list of id only. We will retreive properties later. + * Call Woocommerce API to get last updated products. We are interested here by list of id only. We will retreive properties later. + * + * @param int $fromDate From date + * @param int $toDate To date * - * @param datetime $fromDate From date - * @param datetime $toDate To date - * @return boolean|mixed Response from SOAP call, normally an associative array mirroring the structure of the XML response, nothing if error + * @return array|boolean List of products ID to update or false if error */ public function getProductToUpdate($fromDate, $toDate) { - global $conf; + dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}"); + global $conf, $langs; - try { - dol_syslog("getProductToUpdate start gt=".dol_print_date($fromDate, 'standard')." lt=".dol_print_date($toDate, 'standard')); - $result = array(); - $idxPage = 1; - $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : $conf->global->ECOMMERCENG_MAXSIZE_MULTICALL; - $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; - $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; - - $filter = [ 'limit' => $per_page ]; - if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); - if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); - - dol_syslog("getProductToUpdate start gt=".dol_print_date($fromDate != null ? $fromDate : 0, 'standard')." lt=".dol_print_date($toDate, 'standard')); - while (true) { + $last_update = []; + $result = []; + $idxPage = 1; + $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; + $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; + + $filter = ['limit' => $per_page]; + if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); + if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); + + while (true) { + try { $page = $this->clientOld->get('products', [ 'page' => $idxPage++, 'filter' => $filter, - 'fields' => 'id,created_at,updated_at' + 'fields' => 'id,created_at,updated_at,variations' ] ); - if (!isset($page['products']) || ($nbProducts = count($page['products'])) == 0) break; - $page = $page['products']; - - for ($idxProduct = 0; $idxProduct < $nbProducts; $idxProduct++) { - $created_at = new DateTime($page[$idxProduct]['created_at']); - $date = new DateTime($page[$idxProduct]['updated_at']); - $date = $date < $created_at ? $created_at : $date; - - if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { - $product = $page[$idxProduct]; - //if ($product['virtual'] || $product['downloadable']) continue; - $result[] = $product['id']; - } - } + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceGetProductToUpdate', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetProductToUpdate', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - dol_syslog("getProductToUpdate end (found ".count($results)." record)"); - return $result; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - } - } + if (!isset($page['products']) || ($nbProducts = count($page['products'])) == 0) break; + $page = $page['products']; - /** - * Call Magenta API to get last updated orders - * - * @param datetime $fromDate From date - * @param datetime $toDate To date - * @return boolean|mixed Response from SOAP call, normally an associative array mirroring the structure of the XML response, nothing if error - */ - public function getCommandeToUpdate($fromDate, $toDate) - { - global $conf; + foreach ($page as $product) { + $update = false; + $date_product = $this->getDateTimeFromGMTDateTime(!empty($product['updated_at']) ? $product['updated_at'] : $product['created_at']); - try { - $result = array(); - $idxPage = 1; - $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : $conf->global->ECOMMERCENG_MAXSIZE_MULTICALL; - $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; - $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; - - $filter = [ 'limit' => $per_page ]; - if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); - if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); - - dol_syslog("getCommandeToUpdate start gt=".dol_print_date($fromDate, 'standard')." lt=".dol_print_date($toDate, 'standard')); - while (true) { - $page = $this->clientOld->get('orders', - [ - 'page' => $idxPage++, - 'filter' => $filter, - 'fields' => 'id,created_at,updated_at' - ] - ); - if (!isset($page['orders']) || ($nbOrders = count($page['orders'])) == 0) break; - $page = $page['orders']; + // Product + if ((!isset($from_date) || $from_date < $date_product) && (!isset($to_date) || $date_product <= $to_date)) { + $update = true; + } - for ($idxOrder = 0; $idxOrder < $nbOrders; $idxOrder++) { - $created_at = new DateTime($page[$idxOrder]['created_at']); - $date = new DateTime($page[$idxOrder]['updated_at']); - $date = $date < $created_at ? $created_at : $date; + // Variations + if (!$update) { + foreach ($product['variations'] as $variation) { + $date = $this->getDateTimeFromGMTDateTime(!empty($variation['updated_at']) ? $variation['updated_at'] : $variation['created_at']); - if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { - $result[] = $page[$idxOrder]['id']; + if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { + $update = true; + break; + } } } - } - dol_syslog("getCommandeToUpdate end (found ".count($result)." record)"); - return $result; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; + if ($update) { + $id = $product['id']; + $result[$id] = $id; + $last_update[$id] = $date_product->format('Y-m-d H:i:s'); + } + } } - catch (Exception $e) { - $this->errors[]=$e->getMessage().'-'.$e->getCode(); - dol_syslog(__METHOD__.': '.$e->getMessage().'-'.$e->getCode().'-'.$e->getTraceAsString(), LOG_WARNING); - return false; + + //important - order by last update + if (count($result)) { + array_multisort($last_update, SORT_ASC, $result); + $result = array_values($result); } + + dol_syslog(__METHOD__ . ": end"); + return $result; } /** - * Call Magenta API to get last updated invoices + * Call Woocommerce API to get last updated orders. We are interested here by list of id only. We will retreive properties later. * - * @param datetime $fromDate From date - * @param datetime $toDate To date - * @return boolean|mixed Response from SOAP call, normally an associative array mirroring the structure of the XML response, nothing if error + * @param int $fromDate From date + * @param int $toDate To date + * + * @return array|boolean List of orders ID to update or false if error */ - public function getFactureToUpdate($fromDate, $toDate) + public function getCommandeToUpdate($fromDate, $toDate) { - /* global $conf; + dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}"); + global $conf, $langs; - try { - $result = array(); - $idxPage = 1; - $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : $conf->global->ECOMMERCENG_MAXSIZE_MULTICALL; - $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; - $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; - - $filter = [ 'limit' => $per_page ]; - if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); - if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); - - dol_syslog("getFactureToUpdate start gt=".dol_print_date($fromDate, 'standard')." lt=".dol_print_date($toDate, 'standard')); - while (true) { + $last_update = []; + $result = []; + $idxPage = 1; + $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + $from_date = isset($fromDate) && !empty($fromDate) ? new DateTime(dol_print_date($fromDate, 'standard')) : null; + $to_date = isset($toDate) && !empty($toDate) ? new DateTime(dol_print_date($toDate, 'standard')) : null; + + $filter = ['limit' => $per_page]; + if (isset($fromDate) && !empty($fromDate)) $filter['updated_at_min'] = dol_print_date($fromDate - (24 * 60 * 60), 'dayrfc'); + if (isset($toDate) && !empty($toDate)) $filter['updated_at_max'] = dol_print_date($toDate + (24 * 60 * 60), 'dayrfc'); + + while (true) { + try { $page = $this->clientOld->get('orders', [ 'page' => $idxPage++, @@ -310,1681 +376,1980 @@ public function getFactureToUpdate($fromDate, $toDate) 'fields' => 'id,created_at,updated_at' ] ); - if (!isset($page['orders']) || ($nbOrders = count($page['orders'])) == 0) break; - $page = $page['orders']; - - for ($idxOrder = 0; $idxOrder < $nbOrders; $idxOrder++) { - $created_at = new DateTime($page[$idxOrder]['created_at']); - $date = new DateTime($page[$idxOrder]['updated_at']); - $date = $date < $created_at ? $created_at : $date; - - if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { -// $status = $page[$idxOrder]['status']; -// if ($status == 'completed' || $status == 'refunded') { - $result[] = $page[$idxOrder]['id']; -// } - } + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceGetCommandeToUpdate', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetCommandeToUpdate', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + + if (!isset($page['orders']) || ($nbOrders = count($page['orders'])) == 0) break; + $page = $page['orders']; + + foreach ($page as $order) { + $date = $this->getDateTimeFromGMTDateTime(!empty($order['updated_at']) ? $order['updated_at'] : $order['created_at']); + + if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { + $id = $order['id']; + $result[$id] = $id; + $last_update[$id] = $date->format('Y-m-d H:i:s'); } } + } - dol_syslog("getFactureToUpdate end (found ".count($result)." record)"); - return $result; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - }*/ - } + //important - order by last update + if (count($result)) { + array_multisort($last_update, SORT_ASC, $result); + $result = array_values($result); + } + dol_syslog(__METHOD__ . ": end"); + return $result; + } /** - * Put the remote data into category dolibarr data from instantiated class in the constructor - * Return array of category by update time. + * Desactivated because is not supported by woocommerce. * - * @param array $remoteObject Array of ids of objects to convert - * @param int $toNb Max nb - * @return array societe + * @param int $fromDate From date + * @param int $toDate To date + * + * @return array Empty list */ - public function convertRemoteObjectIntoDolibarrCategory($remoteObject, $toNb=0) + public function getFactureToUpdate($fromDate, $toDate) { - global $conf; - - $categories = array(); - - // No need to make $this->client->multiCall($this->session, $calls); to get details. - - // We just need to sort array on updated_at - $categories = $remoteObject; - - //important - order by last update - if (count($categories)) - { - $last_update=array(); - foreach ($categories as $key => $row) - { - $last_update[$key] = $row['updated_at']; - } - array_multisort($last_update, SORT_ASC, $categories); - } - - return $categories; + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + return []; } /** - * Put the remote data into societe dolibarr data from instantiated class in the constructor - * Return array of thirdparty by update time. + * Call Woocommerce API to get company datas and put into dolibarr company class. * - * @param array $remoteObject Array of ids of objects to convert - * @param int $toNb Max nb - * @return array societe + * @param array $remoteObject List of id of remote companies to convert + * @param int $toNb Max nb + * @return array|boolean List of companies sorted by update time or false if error. */ public function convertRemoteObjectIntoDolibarrSociete($remoteObject, $toNb=0) { - global $conf; - - $societes = array(); - - $maxsizeofmulticall = (empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL)?100:$conf->global->ECOMMERCENG_MAXSIZE_MULTICALL); - $nbsynchro = 0; - $nbremote = count($remoteObject); - if ($nbremote) - { - // Create n groups of $maxsizeofmulticall records max to call the multiCall - $callsgroup = array(); - $calls = array(); - foreach ($remoteObject as $rsociete) - { - if (($nbsynchro % $maxsizeofmulticall) == 0) - { - if (count($calls)) $callsgroup[] = $calls; // Add new group for lot of 1000 call arrays - $calls = array(); - } - - $calls[] = $rsociete; - - $nbsynchro++; // nbsynchro is now number of calls to do - } - if (count($calls)) $callsgroup[] = $calls; // Add new group for the remain lot of calls not yet added + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote companies ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); + global $conf, $langs; - dol_syslog("convertRemoteObjectIntoDolibarrSociete Call WS to get detail for the " . count($remoteObject) . " objects (" . count($callsgroup) . " calls with " . $maxsizeofmulticall . " max of records each) then create a Dolibarr array for each object"); - //var_dump($callsgroup);exit; + $companies = []; + $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); - $results=array(); - $nbcall=0; - foreach ($callsgroup as $calls) - { - try { - $nbcall++; - dol_syslog("convertRemoteObjectIntoDolibarrSociete Call WS nb ".$nbcall." (".count($calls)." record)"); - $resulttmp = $this->client->get('customers', - [ - 'per_page' => $maxsizeofmulticall, - 'include' => implode(',', $calls), - ] - ); - $results=array_merge($results, $resulttmp); - } catch (HttpClientException $fault) { - dol_syslog('convertRemoteObjectIntoDolibarrSociete :'.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - } + foreach ($requestGroups as $request) { + dol_syslog(__METHOD__ . ": Get partial remote companies ID: " . implode(', ', $request)); + try { + $results = $this->client->get('customers', + [ + 'per_page' => $nb_max_by_request, + 'include' => implode(',', $request), + ] + ); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSociete', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSociete', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - if (count($results)) - { - foreach ($results as $societe) - { - $newobj = array( - 'remote_id' => $societe['id'], - 'last_update' => isset($societe['date_modified']) ? $societe['date_modified'] : $societe['date_created'], - 'name' => dolGetFirstLastname($societe['first_name'], $societe['last_name']), - 'name_alias' => $this->site->name . ' id ' . $societe['id'], // See also the delete in eCommerceSociete - 'email' => $societe['email'], - 'client' => 3, //for client/prospect - 'vatnumber' => $societe['taxvat'] - ); - $societes[] = $newobj; + if (is_array($results)) { + foreach ($results as $company) { + $last_update = $this->getDateTimeFromGMTDateTime(!empty($company['date_modified_gmt']) ? $company['date_modified_gmt'] : $company['date_created_gmt']); + + // Company + if (!empty($company['billing']['company'])) { + $companies[] = [ + 'remote_id' => $company['id'], + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'type' => 'company', + 'name' => $company['billing']['company'], + 'name_alias' => null, + 'email' => null, + 'email_key' => $company['email'], + 'client' => 1, + 'vatnumber' => null, + 'note_private' => "Site: '{$this->site->name}' - ID: {$company['id']}", + 'country_id' => getCountry($company['billing']['country'], 3), + ]; + } + // User + elseif (!empty($company['first_name']) || !empty($company['last_name']) || !empty($company['billing']['first_name']) || !empty($company['billing']['first_name'])) { + $companies[] = [ + 'remote_id' => $company['id'], + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'type' => 'user', + 'name' => dolGetFirstLastname(!empty($company['first_name']) ? $company['first_name'] : $company['billing']['first_name'], + !empty($company['last_name']) ? $company['last_name'] : $company['billing']['last_name']), + 'name_alias' => null, + 'email' => $company['email'], + 'email_key' => $company['email'], + 'client' => 1, + 'vatnumber' => null, + 'note_private' => "Site: '{$this->site->name}' - ID: {$company['id']}", + 'country_id' => getCountry($company['billing']['country'], 3), + ]; + } else { + dol_syslog(__METHOD__ . ": customer without company name, first name and last name is omitted (Remote ID: {$company['id']})", LOG_WARNING); + } } } } //important - order by last update - if (count($societes)) - { - $last_update = array(); - foreach ($societes as $key => $row) - { + if (count($companies)) { + $last_update = []; + foreach ($companies as $key => $row) { $last_update[$key] = $row['last_update']; } - array_multisort($last_update, SORT_ASC, $societes); + array_multisort($last_update, SORT_ASC, $companies); } - dol_syslog("convertRemoteObjectIntoDolibarrSociete end (found ".count($societes)." record)"); - return $societes; + dol_syslog(__METHOD__ . ": end, converted " . count($companies) . " remote companies"); + return $companies; } - /** - * Put the remote data into societe dolibarr data from instantiated class in the constructor - * Return array of people by update time. + * Call Woocommerce API to get contact datas and put into dolibarr contact class. * - * @param array $listofids List of object with customer_address_id that is remote id of addresss - * @param int $toNb Max nb. Not used for socpeople. - * @return array societe + * @param array $remoteObject List of ids of remote company get contacts to convert + * @param int $toNb Max nb + * @return array|boolean List of contact sorted by update time or false if error. */ - public function convertRemoteObjectIntoDolibarrSocpeople($listofids, $toNb=0) + public function convertRemoteObjectIntoDolibarrSocpeople($remoteObject, $toNb=0) { - global $conf; + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote companies ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); + global $conf, $langs; - $socpeoples = array(); - $calls = array(); - if (count($listofids)) - { - dol_syslog("convertRemoteObjectIntoDolibarrSocpeople Call WS to get detail for the ".count($listofids)." objects then create a Dolibarr array for each object"); - foreach ($listofids as $listofid) - { - $calls[] = $listofid; - } + $contacts = []; + $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); + + foreach ($requestGroups as $request) { + dol_syslog(__METHOD__ . ": Get partial remote companies ID: " . implode(', ', $request)); try { - $results = $this->client->get('customers', + $results = $this->client->get('customers', [ - 'per_page' => 100, - 'include' => implode(',', $calls), + 'per_page' => $nb_max_by_request, + 'include' => implode(',', $request), ] ); } catch (HttpClientException $fault) { - dol_syslog('convertRemoteObjectIntoDolibarrSocpeople :'.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - if (count($results)) { - $billingName = (empty($conf->global->ECOMMERCENG_BILLING_CONTACT_NAME) ? 'Billing' : $conf->global->ECOMMERCENG_BILLING_CONTACT_NAME); // Contact name treated as billing address. - $shippingName = (empty($conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME) ? 'Shipping' : $conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME); // Contact name treated as shipping address. - - foreach ($results as $socpeople) { - $billing = $socpeople['billing']; - $newobj = array( - 'remote_id' => $socpeople['id'] . '|1', - //'type' => eCommerceSocpeople::CONTACT_TYPE_COMPANY, - 'last_update' => isset($socpeople['date_modified']) ? $socpeople['date_modified'] : $socpeople['date_created'], - 'name' => $billingName, - 'email' => $billing['email'], - 'address' => $billing['address_1'] . (!empty($billing['address_1']) && !empty($billing['address_2']) ? "\n" : "") . $billing['address_2'], - 'town' => $billing['city'], - 'zip' => $billing['postcode'], - 'country_code' => getCountry($billing['country'], 3), - 'phone' => $billing['phone'], - 'fax' => "", - 'firstname' => "", // $billing['first_name'], - 'lastname' => $billingName, // $billing['last_name'], - 'vatnumber' => "", - 'is_default_billing' => true, - 'is_default_shipping' => false - ); - $socpeoples[] = $newobj; - - $shipping = $socpeople['shipping']; - if ((!empty($shipping['address_1']) || !empty($shipping['address_1'])) && !empty($shipping['city']) && !empty($shipping['postcode']) && !empty($shipping['country'])) { - $newobj = array( - 'remote_id' => $socpeople['id'] . '|2', - //'type' => eCommerceSocpeople::CONTACT_TYPE_COMPANY, - 'last_update' => isset($socpeople['date_modified']) ? $socpeople['date_modified'] : $socpeople['date_created'], - 'name' => $shippingName, - 'email' => "", - 'address' => $shipping['address_1'] . (!empty($shipping['address_1']) && !empty($shipping['address_2']) ? "\n" : "") . $shipping['address_2'], - 'town' => $shipping['city'], - 'zip' => $shipping['postcode'], - 'country_code' => getCountry($shipping['country'], 3), - 'phone' => "", - 'fax' => "", - 'firstname' => "", // $shipping['first_name'], - 'lastname' => $shippingName, // $shipping['last_name'], - 'vatnumber' => "", - 'is_default_billing' => false, - 'is_default_shipping' => true - ); - } else { - $newobj = array( - 'remote_id' => $socpeople['id'] . '|2', - //'type' => eCommerceSocpeople::CONTACT_TYPE_COMPANY, - 'last_update' => isset($socpeople['date_modified']) ? $socpeople['date_modified'] : $socpeople['date_created'], - 'name' => $shippingName, - 'email' => $billing['email'], - 'address' => $billing['address_1'] . (!empty($billing['address_1']) && !empty($billing['address_2']) ? "\n" : "") . $billing['address_2'], - 'town' => $billing['city'], - 'zip' => $billing['postcode'], - 'country_code' => getCountry($billing['country'], 3), - 'phone' => "", - 'fax' => "", - 'firstname' => "", // $billing['first_name'], - 'lastname' => $shippingName, // $billing['last_name'], - 'vatnumber' => "", - 'is_default_billing' => false, - 'is_default_shipping' => true - ); + if (is_array($results)) { + foreach ($results as $company) { + $last_update = $this->getDateTimeFromGMTDateTime(!empty($company['date_modified_gmt']) ? $company['date_modified_gmt'] : $company['date_created_gmt']); + + $bContact = $company['billing']; + if (!empty($bContact['address_1']) || !empty($bContact['address_2']) || !empty($bContact['postcode']) || + !empty($bContact['city']) || !empty($bContact['country']) || + !empty($bContact['email']) || !empty($bContact['phone']) + ) { + $contacts[] = [ + 'remote_id' => null, + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'name' => dolGetFirstLastname(!empty($bContact['first_name']) ? $bContact['first_name'] : $company['first_name'], + !empty($bContact['last_name']) ? $bContact['last_name'] : $company['last_name']), + 'firstname' => !empty($bContact['first_name']) ? $bContact['first_name'] : $company['first_name'], + 'lastname' => !empty($bContact['last_name']) ? $bContact['last_name'] : $company['last_name'], + 'address' => $bContact['address_1'] . (!empty($bContact['address_1']) && !empty($bContact['address_2']) ? "\n" : "") . $bContact['address_2'], + 'zip' => $bContact['postcode'], + 'town' => $bContact['city'], + 'country_id' => getCountry($bContact['country'], 3), + 'email' => !empty($bContact['email']) ? $bContact['email'] : $company['email'], + 'phone' => $bContact['phone'], + 'fax' => null, + ]; + } + + $sContact = $company['shipping']; + if (!empty($sContact['address_1']) || !empty($sContact['address_2']) || + !empty($sContact['postcode']) || !empty($sContact['city']) || + !empty($sContact['country']) + ) { + if ($bContact['first_name'] != $sContact['first_name'] || $bContact['last_name'] != $sContact['last_name'] || + $bContact['address_1'] != $sContact['address_1'] || $bContact['address_2'] != $sContact['address_2'] || + $bContact['postcode'] != $sContact['postcode'] || $bContact['city'] != $sContact['city'] || + $bContact['country'] != $sContact['country'] + ) { + $contacts[] = [ + 'remote_id' => null, + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'name' => dolGetFirstLastname(!empty($sContact['first_name']) ? $sContact['first_name'] : $company['first_name'], + !empty($sContact['last_name']) ? $sContact['last_name'] : $company['last_name']), + 'firstname' => !empty($sContact['first_name']) ? $sContact['first_name'] : $company['first_name'], + 'lastname' => !empty($sContact['last_name']) ? $sContact['last_name'] : $company['last_name'], + 'address' => $sContact['address_1'] . (!empty($sContact['address_1']) && !empty($sContact['address_2']) ? "\n" : "") . $sContact['address_2'], + 'zip' => $sContact['postcode'], + 'town' => $sContact['city'], + 'country_id' => getCountry($sContact['country'], 3), + 'email' => "", + 'phone' => "", + 'fax' => null, + ]; + } } - $socpeoples[] = $newobj; } } } //important - order by last update - if (count($socpeoples)) - { - $last_update = array(); - foreach ($socpeoples as $key => $row) - { + if (count($contacts)) { + $last_update = []; + foreach ($contacts as $key => $row) { $last_update[$key] = $row['last_update']; } - array_multisort($last_update, SORT_ASC, $socpeoples); + array_multisort($last_update, SORT_ASC, $contacts); } - dol_syslog("convertRemoteObjectIntoDolibarrSocPeople end (found ".count($socpeoples)." record)"); - return $socpeoples; + dol_syslog(__METHOD__ . ": end, converted " . count($contacts) . " remote contacts"); + return $contacts; } - /** - * Put the remote data into product dolibarr data from instantiated class in the constructor - * Return array or products by update time. + * Call Woocommerce API to get product datas and put into dolibarr product class. * - * @param array $remoteObject Array of remote products (got by caller from getProductToUpdate. Only few properties defined) - * @param int $toNb Max nb - * @return array product + * @param array $remoteObject List of id of remote products to convert + * @param int $toNb Max nb + * @return array|boolean List of products sorted by update time or false if error. */ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) { - global $conf; - - include_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; - - $products = array(); + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote products ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); + global $conf, $langs; $canvas = ''; + $products = []; + $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); - $ecommerceurl = $this->site->getFrontUrl(); - - $maxsizeofmulticall = (empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL)?100:$conf->global->ECOMMERCENG_MAXSIZE_MULTICALL); // 1000 seems ok for multicall. - $nbsynchro = 0; - $nbremote = count($remoteObject); - if ($nbremote) - { - // Create n groups of $maxsizeofmulticall records max to call the multiCall - $callsgroup = array(); - $calls=array(); - foreach ($remoteObject as $rproduct) - { - if (($nbsynchro % $maxsizeofmulticall) == 0) - { - if (count($calls)) $callsgroup[]=$calls; // Add new group for lot of 1000 call arrays - $calls=array(); - } - - $calls[] = $rproduct; - - $nbsynchro++; // nbsynchro is now number of calls to do + // Products + $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); + foreach ($requestGroups as $request) { + dol_syslog(__METHOD__ . ": Get partial remote products ID: " . implode(', ', $request)); + try { + $results = $this->client->get('products', + [ + 'per_page' => $nb_max_by_request, + 'include' => implode(',', $request), + ] + ); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - if (count($calls)) $callsgroup[]=$calls; // Add new group for the remain lot of calls not yet added - dol_syslog("convertRemoteObjectIntoDolibarrProduct Call WS to get detail for the ".count($remoteObject)." objects (".count($callsgroup)." calls with ".$maxsizeofmulticall." max of records each) then create a Dolibarr array for each object"); - //var_dump($callsgroup);exit; + if (is_array($results)) { + foreach ($results as $product) { + // Categories + $categories = []; + foreach ($product['categories'] as $category) { + $categories[] = $category['id']; + } - $results=array(); - $nbcall=0; - foreach ($callsgroup as $calls) - { - try { - $nbcall++; - dol_syslog("convertRemoteObjectIntoDolibarrProduct Call WS nb ".$nbcall." (".count($calls)." record)"); - $resulttmp = $this->client->get('products', - [ - 'per_page' => $maxsizeofmulticall, - 'include' => implode(',', $calls), - ] - ); - $results=array_merge($results, $resulttmp); - } catch (HttpClientException $fault) { - dol_syslog('convertRemoteObjectIntoDolibarrProduct :'.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); + // Images + $images = []; + if (!empty($conf->global->ECOMMERCENG_ENABLE_SYNCHRO_IMAGES)) { + foreach ($product['images'] as $image) { + $last_update = $this->getDateTimeFromGMTDateTime(!empty($image['date_modified_gmt']) ? $image['date_modified_gmt'] : $image['date_created_gmt']); + $images[] = [ + 'url' => $image['src'], + 'date_modified' => $last_update->format('Y-m-d H:i:s'), + ]; + } + array_reverse($images); + } - return false; - } - } + $last_update_product = $this->getDateTimeFromGMTDateTime(!empty($product['date_modified_gmt']) ? $product['date_modified_gmt'] : $product['date_created_gmt']); + + // Produit de base + $products[] = [ + 'remote_id' => $product['id'], // id product + 'last_update' => $last_update_product->format('Y-m-d H:i:s'), + 'fk_product_type' => ($product['virtual'] ? 1 : 0), // 0 (product) or 1 (service) + 'ref' => $product['sku'], + 'label' => $product['name'], + 'weight' => $product['weight'], + 'price' => $product['price'], + 'envente' => empty($product['variations']) ? 1 : 0, + 'enachat' => empty($product['variations']) ? 1 : 0, + 'finished' => 1, // 1 = manufactured, 0 = raw material + 'canvas' => $canvas, + 'categories' => $categories, + 'tax_rate' => $this->getTaxRate($product['tax_class'], $product['tax_status']), + 'price_min' => $product['price'], + 'fk_country' => '', + 'url' => $product['permalink'], + // Stock + 'stock_qty' => $product['stock_quantity'], + 'is_in_stock' => $product['in_stock'], // not used + 'extrafields' => [ + "ecommerceng_wc_status_{$this->site->id}_{$conf->entity}" => $product['status'], + "ecommerceng_description_{$conf->entity}" => $product['description'], + "ecommerceng_short_description_{$conf->entity}" => $product['short_description'], + "ecommerceng_tax_class_{$this->site->id}_{$conf->entity}" => $this->getTaxClass($product['tax_class'], $product['tax_status']), + ], + 'images' => $images, + ]; - if (count($results)) - { - foreach ($results as $cursorproduct => $product) - { // Variations - if (count($product['variations'])) { - try { - $variations = $this->client->get('products/' . $product['id'] . '/variations'); - } catch (HttpClientException $fault) { - $this->errors[] = $fault->getMessage() . '-' . $fault->getCode(); - dol_syslog($fault->getRequest(), LOG_WARNING); - dol_syslog($fault->getResponse(), LOG_WARNING); - dol_syslog(__METHOD__ . ': ' . $fault->getMessage() . '-' . $fault->getCode() . '-' . $fault->getTraceAsString(), LOG_WARNING); - return false; - } + $requestGroupsVariations = $this->getRequestGroups($product['variations'], $nb_max_by_request); + foreach ($requestGroupsVariations as $requestVariations) { + dol_syslog(__METHOD__ . ": Get products variations of remote product (ID:{$product['id']}): " . implode(', ', $requestVariations)); + try { + $results = $this->client->get('products/' . $product['id'] . '/variations', + [ + 'per_page' => $nb_max_by_request, + 'include' => implode(',', $requestVariations), + ] + ); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProductVariations', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProductVariations', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } - foreach ($variations as $variation) { + if (is_array($results)) { + foreach ($results as $variation) { $attributesLabel = ''; foreach ($variation['attributes'] as $attribute) { - $attributesLabel .= ', '.$attribute['name'].':'.$attribute['option']; + $attributesLabel .= ', ' . $attribute['name'] . ':' . $attribute['option']; + } + + // Images + $images = []; + if (!empty($conf->global->ECOMMERCENG_ENABLE_SYNCHRO_IMAGES)) { + if (!empty($variation['image'])) { + $last_update = $this->getDateTimeFromGMTDateTime(!empty($variation['image']['date_modified_gmt']) ? $variation['image']['date_modified_gmt'] : $variation['image']['date_created_gmt']); + $images[] = [ + 'url' => $variation['image']['src'], + 'date_modified' => $last_update->format('Y-m-d H:i:s'), + ]; + } } - $products[] = array( - 'remote_id' => $product['id'].'|'.$variation['id'], // id product | id variation - 'last_update' => isset($variation['date_modified'])?$variation['date_modified']:$variation['date_created'], - 'fk_product_type' => ($variation['virtual'] ? 1 : 0), // 0 (product) or 1 (service) - 'ref' => dol_string_nospecial($variation['sku']), - 'label' => ($product['name']?$product['name']:dol_string_nospecial($variation['sku'])).$attributesLabel, - 'description' => $variation['description'], - 'weight' => $variation['weight'], - 'price' => $variation['price'], //sale_price - 'envente' => $variation['purchasable'] ? 1 : 0, - 'finished' => 1, // 1 = manufactured, 0 = raw material - 'canvas' => $canvas, - 'categories' => '', //$product['categories'], // a check // Same as property $product['category_ids'] - 'tax_rate' => '', // $variation['tax_rate'], // a check - 'price_min' => $variation['price'], - 'fk_country' => '', - 'url' => $variation['permalink'], + $products[] = [ + 'remote_id' => $product['id'] . '|' . $variation['id'], // id product | id variation + 'last_update' => $last_update_product->format('Y-m-d H:i:s'), + 'fk_product_type' => ($variation['virtual'] ? 1 : 0), // 0 (product) or 1 (service) + 'ref' => $variation['sku'], + 'label' => $product['label'] . $attributesLabel, + 'weight' => $variation['weight'], + 'price' => $variation['price'], + 'envente' => 1, + 'enachat' => 1, + 'finished' => 1, // 1 = manufactured, 0 = raw material + 'canvas' => $canvas, + 'categories' => $product['categories'], + 'tax_rate' => $this->getTaxRate($variation['tax_class'], $variation['tax_status']), + 'price_min' => $variation['price'], + 'fk_country' => '', + 'url' => $variation['permalink'], // Stock - 'stock_qty' => $variation['stock_quantity'], - 'is_in_stock' => $variation['in_stock'], // not used - ); + 'stock_qty' => $variation['stock_quantity'], + 'is_in_stock' => $variation['in_stock'], // not used + 'extrafields' => [ + "ecommerceng_description_{$conf->entity}" => $variation['description'], + "ecommerceng_tax_class_{$this->site->id}_{$conf->entity}" => $this->getTaxClass($variation['tax_class'], $variation['tax_status']), + ], + 'images' => $images, + ]; } - } else { - $products[] = array( - 'remote_id' => $product['id'], // id product - 'last_update' => isset($product['date_modified'])?$product['date_modified']:$product['date_created'], - 'fk_product_type' => ($product['virtual'] ? 1 : 0), // 0 (product) or 1 (service) - 'ref' => dol_string_nospecial($product['sku']), - 'label' => ($product['name']?$product['name']:dol_string_nospecial($product['sku'])), - 'description' => $product['description'], - 'weight' => $product['weight'], - 'price' => $product['price'], //sale_price - 'envente' => $product['purchasable'] ? 1 : 0, - 'finished' => 1, // 1 = manufactured, 0 = raw material - 'canvas' => $canvas, - 'categories' => '', // $product['categories'], // a check // Same as property $product['category_ids'] - 'tax_rate' => '', // $product['tax_rate'], // a check - 'price_min' => $product['price'], - 'fk_country' => '', - 'url' => $product['permalink'], - // Stock - 'stock_qty' => $product['stock_quantity'], - 'is_in_stock' => $product['in_stock'], // not used - ); + } } } } } //important - order by last update - if (count($products)) - { - $last_update = array(); - foreach ($products as $key => $row) - { + if (count($products)) { + $last_update = []; + foreach ($products as $key => $row) { $last_update[$key] = $row['last_update']; } array_multisort($last_update, SORT_ASC, $products); } - dol_syslog("convertRemoteObjectIntoDolibarrProduct end (found ".count($products)." record)"); + dol_syslog(__METHOD__ . ": end, converted " . count($products) . " remote products"); return $products; } /** - * Put the remote data into commande dolibarr data from instantiated class in the constructor - * Return array of orders by update time. + * Call Woocommerce API to get order datas and put into dolibarr order class. * - * @param array $remoteObject array of remote orders - * @param int $toNb Max nb - * @return array commande + * @param array $remoteObject List of id of remote orders to convert + * @param int $toNb Max nb + * @return array|boolean List of orders sorted by update time or false if error. */ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) { + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote orders ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); global $conf, $langs; - $commandes = array(); - - $maxsizeofmulticall = (empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL)?100:$conf->global->ECOMMERCENG_MAXSIZE_MULTICALL); // 1000 seems ok for multicall. - $nbsynchro = 0; - $nbremote = count($remoteObject); - if ($nbremote) - { - // Create n groups of $maxsizeofmulticall records max to call the multiCall - $callsgroup = array(); - $calls=array(); - foreach ($remoteObject as $rcommande) - { - if (($nbsynchro % $maxsizeofmulticall) == 0) - { - if (count($calls)) $callsgroup[]=$calls; // Add new group for lot of 1000 call arrays - $calls=array(); - } - - $calls[] = $rcommande; - - $nbsynchro++; // nbsynchro is now number of calls to do - } - if (count($calls)) $callsgroup[]=$calls; // Add new group for the remain lot of calls not yet added - - dol_syslog("convertRemoteObjectIntoDolibarrCommande Call WS to get detail for the ".count($remoteObject)." objects (".count($callsgroup)." calls with ".$maxsizeofmulticall." max of records each) then create a Dolibarr array for each object"); - //var_dump($callsgroup);exit; + $orders = []; + $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); - $results=array(); - $nbcall=0; - foreach ($callsgroup as $calls) - { - try { - $nbcall++; - dol_syslog("convertRemoteObjectIntoDolibarrCommande Call WS nb ".$nbcall." (".count($calls)." record)"); - $resulttmp = $this->client->get('orders', - [ - 'per_page' => $maxsizeofmulticall, - 'include' => implode(',', $calls), - ] - ); - $results=array_merge($results, $resulttmp); - } catch (HttpClientException $fault) { - dol_syslog('convertRemoteObjectIntoDolibarrCommande :'.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - } + foreach ($requestGroups as $request) { + dol_syslog(__METHOD__ . ": Get partial remote orders ID: " . implode(', ', $request)); + try { + $results = $this->client->get('orders', + [ + 'per_page' => $nb_max_by_request, + 'include' => implode(',', $request), + ] + ); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrCommande', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrCommande', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - if (count($results)) - { - foreach ($results as $commande) - { - // Process order - dol_syslog("- Process order remote_id=".$commande['order_id']." last_update=".$commande['updated_at']." societe remote_id=".$commande['customer_id']); - - //set each items - $items = array(); - $configurableItems = array(); - if (count($commande['line_items'])) - { - foreach ($commande['line_items'] as $item) - { - $items[] = array( - 'item_id' => $item['id'], - 'id_remote_product' => !empty($item['variation_id']) ? $item['product_id'].'|'.$item['variation_id'] : $item['product_id'], - 'description' => $item['name'], - 'product_type' => 'simple', - 'price' => $item['price'], - 'qty' => $item['quantity'], - 'tva_tx' => $this->getTaxRate($commande['total'], $commande['total_tax']) // tax_class > requete taxes rates - ); - } + if (is_array($results)) { + foreach ($results as $order) { + // Set items + $items = []; + foreach ($order['line_items'] as $item) { + $items[] = [ + 'item_id' => $item['id'], + 'id_remote_product' => !empty($item['variation_id']) ? $item['product_id'] . '|' . $item['variation_id'] : $item['product_id'], + 'description' => $item['name'], + 'product_type' => 'simple', + 'price' => $item['price'], + 'qty' => $item['quantity'], + 'tva_tx' => $this->getClosestDolibarrTaxRate($item['total'], $item['total_tax']), + ]; + } - //define remote id societe : 0 for anonymous - $eCommerceTempSoc = new eCommerceSociete($this->db); - if ($commande['customer_id'] == null || $eCommerceTempSoc->fetchByRemoteId($commande['customer_id'], $this->site->id) < 0) - { - dol_syslog("The customer of this order was not found into table link", LOG_WARNING); - $remoteIdSociete = 0; // If thirdparty was not found into thirdparty table link - } - else - { - $remoteIdSociete = $commande['customer_id']; - } + // Set remote id company : 0 for anonymous + $eCommerceTempSoc = new eCommerceSociete($this->db); + if (empty($order['customer_id']) || $eCommerceTempSoc->fetchByRemoteId($order['customer_id'], $this->site->id) < 0) { + dol_syslog(__METHOD__ . ": The customer of the remote order ID " . $order['id'] . " was not found into companies table link", LOG_WARNING); + $remoteCompanyID = 0; // If company was not found into companies table link + } else { + $remoteCompanyID = $order['customer_id']; + } - //set order's address - $billingName = (empty($conf->global->ECOMMERCENG_BILLING_CONTACT_NAME)?'Billing':$conf->global->ECOMMERCENG_BILLING_CONTACT_NAME); // Contact name treated as billing address. - $commandeSocpeople = $commande['billing']; - $socpeopleCommande = array( - 'remote_id' => $remoteIdSociete.'|1', - 'type' => eCommerceSocpeople::CONTACT_TYPE_ORDER, - 'last_update' => isset($commande['date_modified'])?$commande['date_modified']:$commande['date_created'], - 'name' => $billingName, // $commandeSocpeople['last_name'], - 'lastname' => $billingName, // $commandeSocpeople['last_name'], - 'firstname' => '', // $commandeSocpeople['first_name'], - 'town' => $commandeSocpeople['city'], - //'fk_pays' => getCountry($commandeSocpeople['country'], 3), - 'fax' => '', - 'zip' => $commandeSocpeople['postcode'], - //add wrap - 'address' => (!empty(trim($commandeSocpeople['company'])) ? trim($commandeSocpeople['company']) . ", " : "") . - $commandeSocpeople['address_1'] . (!empty($commandeSocpeople['address_1']) && !empty($commandeSocpeople['address_2']) ? "\n" : "") . $commandeSocpeople['address_2'], - 'phone' => $commandeSocpeople['phone'], - ); - - //set billing's address - $socpeopleFacture = $socpeopleCommande; - $socpeopleFacture['type'] = eCommerceSocpeople::CONTACT_TYPE_INVOICE; - - //set shipping's address - $livraisonSocpeople = $commande['shipping']; - if ((!empty($livraisonSocpeople['address_1']) || !empty($livraisonSocpeople['address_1'])) && !empty($livraisonSocpeople['city']) && !empty($livraisonSocpeople['postcode']) && !empty($livraisonSocpeople['country'])) { - $shippingName = (empty($conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME) ? 'Shipping' : $conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME); // Contact name treated as shipping address. - $socpeopleLivraison = array( - 'remote_id' => $remoteIdSociete . '|2', - 'type' => eCommerceSocpeople::CONTACT_TYPE_DELIVERY, - 'last_update' => isset($commande['date_modified'])?$commande['date_modified']:$commande['date_created'], - 'name' => $shippingName, // $livraisonSocpeople['last_name'], - 'lastname' => $shippingName, // $livraisonSocpeople['last_name'], - 'firstname' => '', // $livraisonSocpeople['first_name'], - 'town' => $livraisonSocpeople['city'], - //'fk_pays' => getCountry($commandeSocpeople['country'], 3), - 'fax' => '', - 'zip' => $livraisonSocpeople['postcode'], - //add wrap - 'address' => (!empty(trim($livraisonSocpeople['company'])) ? addslashes(trim($livraisonSocpeople['company'])) . ", " : "") . - $livraisonSocpeople['address_1'] . (!empty($livraisonSocpeople['address_1']) && !empty($livraisonSocpeople['address_2']) ? "\n" : "") . - $livraisonSocpeople['address_2'], - 'phone' => '', - ); + $last_update = $this->getDateTimeFromGMTDateTime(!empty($order['date_modified_gmt']) ? $order['date_modified_gmt'] : $order['date_created_gmt']); + + // Set billing's address + $bContact = $order['billing']; + $contactBilling = [ + 'remote_id' => "", + 'type' => eCommerceSocpeople::CONTACT_TYPE_ORDER, + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'name' => dolGetFirstLastname($bContact['first_name'], $bContact['last_name']), + 'firstname' => $bContact['first_name'], + 'lastname' => $bContact['last_name'], + 'address' => $bContact['address_1'] . (!empty($bContact['address_1']) && !empty($bContact['address_2']) ? "\n" : "") . $bContact['address_2'], + 'zip' => $bContact['postcode'], + 'town' => $bContact['city'], + 'country_id' => getCountry($bContact['country'], 3), + 'email' => $bContact['email'], + 'phone' => $bContact['phone'], + 'fax' => null, + ]; + + // Set invoice's address + $contactInvoice = $contactBilling; + $contactInvoice['type'] = eCommerceSocpeople::CONTACT_TYPE_INVOICE; + + // Set shipping's address + $sContact = $order['shipping']; + if (!empty($sContact['address_1']) || !empty($sContact['address_2']) || + !empty($sContact['postcode']) || !empty($sContact['city']) || + !empty($sContact['country']) + ) { + if ($bContact['first_name'] != $sContact['first_name'] || $bContact['last_name'] != $sContact['last_name'] || + $bContact['address_1'] != $sContact['address_1'] || $bContact['address_2'] != $sContact['address_2'] || + $bContact['postcode'] != $sContact['postcode'] || $bContact['city'] != $sContact['city'] || + $bContact['country'] != $sContact['country'] + ) { + $contactShipping = [ + 'remote_id' => "", + 'type' => eCommerceSocpeople::CONTACT_TYPE_ORDER, + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'name' => dolGetFirstLastname($sContact['first_name'], $sContact['last_name']), + 'firstname' => $sContact['first_name'], + 'lastname' => $sContact['last_name'], + 'address' => $sContact['address_1'] . (!empty($sContact['address_1']) && !empty($sContact['address_2']) ? "\n" : "") . $sContact['address_2'], + 'zip' => $sContact['postcode'], + 'town' => $sContact['city'], + 'country_id' => getCountry($sContact['country'], 3), + 'email' => "", + 'phone' => "", + 'fax' => null, + ]; } else { - $socpeopleLivraison = $socpeopleCommande; - $socpeopleLivraison['type'] = eCommerceSocpeople::CONTACT_TYPE_DELIVERY; - } - - //set delivery as service - $langs->load("ecommerce@ecommerceng"); - $shippingDisplayIfNull = (empty($conf->global->ECOMMERCENG_SHIPPING_NOT_DISPLAY_IF_NULL)?true:false); // Contact name treated as shipping address. - $delivery = array( - 'description' => $langs->trans('ECommerceShipping') . (isset($commande['shipping_lines'][0]) ? ' - '.$commande['shipping_lines'][0]['method_title'] : ''), // $commande['customer_note'] - 'price' => $commande['shipping_total'], - 'qty' => $shippingDisplayIfNull || isset($commande['shipping_lines'][0]) ? 1 : 0, //0 to not show - 'tva_tx' => $this->getTaxRate($commande['shipping_total'], $commande['shipping_tax']) - ); - - //define delivery date - if (isset($commande['date_completed']) && $commande['date_completed'] != null) - $deliveryDate = $commande['date_completed']; - else - $deliveryDate = $commande['date_created']; - - // define status of order - // $commande['status'] is: 'pending', 'processing', 'on-hold', 'completed', 'cancelled', 'refunded', 'failed' - $tmp = $commande['status']; - - // try to match dolibarr status - $status = ''; - if (preg_match('/^pending/', $tmp)) $status = Commande::STATUS_VALIDATED; // manage 'pending', 'pending_payment', 'pending_paypal', 'pending_ogone', 'pending_...' - elseif ($tmp == 'processing') $status = Commande::STATUS_ACCEPTED; // shipment in process or invoice done = processing // Should be constant Commande::STATUS_SHIPMENTONPROCESS but not defined in dolibarr 3.9 - elseif ($tmp == 'on-hold') $status = Commande::STATUS_ACCEPTED; - elseif (preg_match('/^cancelled/', $tmp)) $status = Commande::STATUS_CANCELED; // manage 'canceled', 'canceled_bnpmercanetcw', 'canceled_...' - elseif ($tmp == 'completed') $status = Commande::STATUS_CLOSED; - elseif ($tmp == 'refunded') $status = Commande::STATUS_CLOSED; - elseif ($tmp == 'failed') $status = Commande::STATUS_CANCELED; - if ($status == '') - { - dol_syslog("Status: We found an order id ".$commande['increment_id']." with ecommerce status '".$tmp."' that is unknown, not supported. We will use '0' for Dolibarr", LOG_WARNING); - $status = Commande::STATUS_DRAFT; // draft by default (draft does not exists with magento, so next line will set correct status) - } - else - { - dol_syslog("Status: We found an order id ".$commande['increment_id']." with ecommerce status '".$tmp."'. We convert it into Dolibarr status '".$status."'"); + $contactShipping = $contactBilling; + $contactShipping['type'] = eCommerceSocpeople::CONTACT_TYPE_DELIVERY; } + } else { + $contactShipping = $contactBilling; + $contactShipping['type'] = eCommerceSocpeople::CONTACT_TYPE_DELIVERY; + } - // try to match dolibarr billed status (payed or not) - $billed = -1; // unknown - if ($commande['status'] == 'pending') $billed = 0; - if ($commande['status'] == 'processing') $billed = 0; // - if ($commande['status'] == 'on-hold') $billed = 0; // - if ($commande['status'] == 'completed') $billed = 1; // We are sure for complete that order is payed - if ($commande['status'] == 'cancelled') $billed = 0; // We are sure for canceled that order was not payed - if ($commande['status'] == 'refunded') $billed = 1; // - if ($commande['status'] == 'failed') $billed = 0; // - // Note: with processing, billed can be 0 or 1, so we keep -1 - - - // Add order content to array or orders - $commandes[] = array( - 'last_update' => isset($commande['date_modified'])?$commande['date_modified']:$commande['date_created'], - 'remote_id' => $commande['id'], - 'remote_increment_id' => $commande['id'], - 'remote_id_societe' => $remoteIdSociete, - 'ref_client' => $commande['id'], - 'date_commande' => $commande['date_created'], - 'date_livraison' => $commande['date_completed'], // $deliveryDate, - 'items' => $items, - 'delivery' => $delivery, - 'note' => $commande['customer_note'], - 'socpeopleCommande' => $socpeopleCommande, - 'socpeopleFacture' => $socpeopleFacture, - 'socpeopleLivraison' => $socpeopleLivraison, - 'status' => $status, // dolibarr status - 'billed' => $billed, - 'remote_state' => $commande['status'], // remote state, for information only (less accurate than status) - 'remote_status' => $commande['status'], // remote status, for information only (more accurate than state) - 'remote_order' => $commande - ); + // Set delivery as service + $shippingDisplayIfNull = (empty($conf->global->ECOMMERCENG_SHIPPING_NOT_DISPLAY_IF_NULL) ? true : false); + $delivery = [ + 'description' => $langs->trans('ECommerceShipping') . (isset($order['shipping_lines'][0]) ? ' - ' . + $order['shipping_lines'][0]['method_title'] : ''), // $order['customer_note'] + 'price' => $order['shipping_total'], + 'qty' => $shippingDisplayIfNull || isset($order['shipping_lines'][0]) ? 1 : 0, //0 to not show + 'tva_tx' => $this->getClosestDolibarrTaxRate($order['shipping_total'], $order['shipping_tax']) + ]; + + // Set status of order + // $order['status'] is: 'pending', 'processing', 'on-hold', 'completed', 'cancelled', 'refunded', 'failed' + $orderStatus = $order['status']; + + $status = ''; + switch ($orderStatus) { + case 'on-hold': $status = Commande::STATUS_DRAFT; break; + case 'pending': $status = Commande::STATUS_DRAFT; break; + case 'processing': $status = Commande::STATUS_VALIDATED; break; + case 'completed': $status = Commande::STATUS_CLOSED; break; + case 'refunded': $status = Commande::STATUS_CLOSED; break; + case 'cancelled': $status = Commande::STATUS_CANCELED; break; + case 'failed': $status = Commande::STATUS_CANCELED; break; } - else - { - dol_syslog("No items in this order", LOG_WARNING); + if (!empty($conf->global->ECOMMERCENG_WOOCOMMERCE_FORCE_ORDER_STATUS_TO_DRAFT)) $status = Commande::STATUS_DRAFT; + if ($status == '') { + dol_syslog(__METHOD__ . ": Status \"$orderStatus\" was not found for remote order ID {$order['id']} and set in draft", LOG_WARNING); + $status = Commande::STATUS_DRAFT; // draft by default } + + // Set dolibarr billed status (payed or not) + $billed = -1; // unknown + if ($order['status'] == 'pending') $billed = 0; + if ($order['status'] == 'processing') $billed = 0; // + if ($order['status'] == 'on-hold') $billed = 0; // + if ($order['status'] == 'completed') $billed = 1; // We are sure for complete that order is payed + if ($order['status'] == 'cancelled') $billed = 0; // We are sure for canceled that order was not payed + if ($order['status'] == 'refunded') $billed = 1; // + if ($order['status'] == 'failed') $billed = 0; // + // Note: with processing, billed can be 0 or 1, so we keep -1 + + // Add order content to array or orders + $orders[] = [ + 'last_update' => $last_update->format('Y-m-d H:i:s'), + 'remote_id' => $order['id'], + 'remote_increment_id' => $order['id'], + 'remote_id_societe' => $remoteCompanyID, + 'ref_client' => $order['id'], + 'date_commande' => $order['date_created'], + 'date_livraison' => $order['date_completed'], + 'items' => $items, + 'delivery' => $delivery, + 'note' => $order['customer_note'], + 'socpeopleCommande' => $contactBilling, + 'socpeopleFacture' => $contactInvoice, + 'socpeopleLivraison' => $contactShipping, + 'status' => $status, // dolibarr status + 'billed' => $billed, + 'remote_state' => $order['status'], // remote state, for information only (less accurate than status) + 'remote_status' => $order['status'], // remote status, for information only (more accurate than state) + 'remote_order' => $order, + 'payment_method' => $order['payment_method_title'], + 'extrafields' => [ + "ecommerceng_online_payment_{$conf->entity}" => empty($order['date_paid']) ? 0 : 1, + ], + ]; } } } //important - order by last update - if (count($commandes)) - { - $last_update = array(); - foreach ($commandes as $key => $row) - { + if (count($orders)) { + $last_update = []; + foreach ($orders as $key => $row) { $last_update[$key] = $row['last_update']; } - array_multisort($last_update, SORT_ASC, $commandes); + array_multisort($last_update, SORT_ASC, $orders); } - dol_syslog("convertRemoteObjectIntoDolibarrCommande end (found ".count($commandes)." array of orders filled with complete data from eCommerce)"); - return $commandes; + dol_syslog(__METHOD__ . ": end, converted " . count($orders) . " remote orders"); + return $orders; } /** - * Put the remote data into facture dolibarr data from instantiated class - * Return array of invoices by update time. + * Desactivated because is not supported by woocommerce. * - * @param array $remoteObject array of remote invoices - * @param int $toNb Max nb - * @return array facture + * @param array $remoteObject List of id of remote orders to convert + * @param int $toNb Max nb + * @return array Empty list */ public function convertRemoteObjectIntoDolibarrFacture($remoteObject, $toNb=0) { - global $conf; - - $factures = array(); - -/* $maxsizeofmulticall = (empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL)?100:$conf->global->ECOMMERCENG_MAXSIZE_MULTICALL); // 1000 seems ok for multicall. - $nbsynchro = 0; - $nbremote = count($remoteObject); - if ($nbremote) - { - // Create n groups of $maxsizeofmulticall records max to call the multiCall - $callsgroup = array(); - $calls=array(); - foreach ($remoteObject as $rfacture) - { - if (($nbsynchro % $maxsizeofmulticall) == 0) - { - if (count($calls)) $callsgroup[]=$calls; // Add new group for lot of 1000 call arrays - $calls=array(); - } + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + return []; + } - $calls[] = $rfacture; + /** + * Get remote category tree + * + * @return array|boolean Array with categories or false if error + */ + public function getRemoteCategoryTree() + { + dol_syslog(__METHOD__ . ": Get remote category tree for site ID {$this->site->id}"); + global $conf, $langs; - $nbsynchro++; // nbsynchro is now number of calls to do - } - if (count($calls)) $callsgroup[]=$calls; // Add new group for the remain lot of calls not yet added - - dol_syslog("convertRemoteObjectIntoDolibarrFacture Call WS to get detail for the ".count($remoteObject)." objects (".count($callsgroup)." calls with ".$maxsizeofmulticall." max of records each) then create a Dolibarr array for each object"); - //var_dump($callsgroup);exit; - - $results=array(); - $nbcall=0; - foreach ($callsgroup as $calls) - { - try { - $nbcall++; - dol_syslog("convertRemoteObjectIntoDolibarrFacture Call WS nb ".$nbcall." (".count($calls)." record)"); - $resulttmp = $this->client->get('orders', - [ - 'include' => implode(',', $calls), - ] - ); - $results=array_merge($results, $resulttmp); - } catch (HttpClientException $fault) { - dol_syslog('convertRemoteObjectIntoDolibarrFacture :'.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - } - } - - if (count($results)) - { - $i=0; - foreach ($results as $facture) - { - // Process invoice - dol_syslog("- Process invoice remote_id=".$facture['order_id']." last_update=".$facture['updated_at']." societe order_id=".$facture['order_id']); - - $i++; - - $configurableItems = array(); - //retrive remote order from invoice - $commande = $this->getRemoteCommande($facture['order_id']); - //set each invoice items - $items = array(); - if (count($facture['items'])) - { - foreach ($facture['items'] as $item) - { - //var_dump($item); // show invoice item as it is from magento - - $product_type = $this->getProductTypeOfItem($item, $commande, $facture); - $parent_item_id = $this->getParentItemOfItem($item, $commande, $facture); - - // If item is configurable, localMemCache it, to use its price and tax rate instead of the one of its child - if ($product_type == 'configurable') { - $configurableItems[$item['item_id']] = array( - 'item_id' => $item['item_id'], - 'id_remote_product' => $item['product_id'], - 'description' => $item['name'], - 'product_type' => $product_type, - 'price' => $item['price'], - 'qty' => $item['qty'], - 'tva_tx' => $this->getTaxRate($item['row_total'], $item['tax_amount']) - ); - } else { - // If item has a parent item id defined in $configurableItems, it's a child simple item so we get it's price and tax values instead of 0 - if (!array_key_exists($parent_item_id, $configurableItems)) { - $items[] = array( - 'item_id' => $item['item_id'], - 'id_remote_product' => $item['product_id'], - 'description' => $item['name'], - 'product_type' => $product_type, - 'price' => $item['price'], - 'qty' => $item['qty'], - 'tva_tx' => $this->getTaxRate($item['row_total'], $item['tax_amount']) - ); - } else { - $items[] = array( - 'item_id' => $item['item_id'], - 'id_remote_product' => $item['product_id'], - 'description' => $item['name'], - 'product_type' => $product_type, - 'price' => $configurableItems[$parent_item_id]['price'], - 'qty' => $item['qty'], - 'tva_tx' => $configurableItems[$parent_item_id]['tva_tx'] - ); - } - } - } - - //set shipping address - $shippingAddress = $commande["shipping_address"]; - $billingAddress = $commande["billing_address"]; - $socpeopleLivraison = array( - 'remote_id' => $shippingAddress['address_id'], - 'type' => eCommerceSocpeople::CONTACT_TYPE_DELIVERY, - 'last_update' => $shippingAddress['updated_at'], - 'name' => $shippingAddress['lastname'], - 'firstname' => $shippingAddress['firstname'], - 'ville' => $shippingAddress['city'], - //'fk_pays' => $commandeSocpeople['country_id'], - 'fax' => $shippingAddress['fax'], - 'cp' => $shippingAddress['postcode'], - //add wrap - 'address' => (trim($shippingAddress['company']) != '' ? trim($shippingAddress['company']) . ' - ' : '') . $shippingAddress['street'], - 'phone' => $shippingAddress['telephone'] - ); - //set invoice address - $socpeopleFacture = array( - 'remote_id' => $billingAddress['address_id'], - 'type' => eCommerceSocpeople::CONTACT_TYPE_INVOICE, - 'last_update' => $billingAddress['updated_at'], - 'name' => $billingAddress['lastname'], - 'firstname' => $billingAddress['firstname'], - 'ville' => $billingAddress['city'], - //'fk_pays' => $commandeSocpeople['country_id'], - 'fax' => $billingAddress['fax'], - 'cp' => $billingAddress['postcode'], - //add wrap - 'address' => (trim($billingAddress['company']) != '' ? trim($billingAddress['company']) . ' - ' : '') . $billingAddress['street'], - 'phone' => $billingAddress['telephone'] - ); - //set delivery as service - $delivery = array( - 'description' => $commande['shipping_description'], - 'price' => $facture['shipping_amount'], - 'qty' => 1, //0 to not show - 'tva_tx' => $this->getTaxRate($facture['shipping_amount'], $facture['shipping_tax_amount']) - ); - - $eCommerceTempSoc = new eCommerceSociete($this->db); - if ($commande['customer_id'] == null || $eCommerceTempSoc->fetchByRemoteId($commande['customer_id'], $this->site->id) < 0) - { - $remoteIdSociete = 0; - } - else - { - $remoteIdSociete = $commande['customer_id']; - } - - // load local order to be used to retreive some data for invoice - $eCommerceTempCommande = new eCommerceCommande($this->db); - $eCommerceTempCommande->fetchByRemoteId($commande['order_id'], $this->site->id); - $dbCommande = new Commande($this->db); - $dbCommande->fetch($eCommerceTempCommande->fk_commande); - - - // define status of invoice - $tmp = $facture['state']; // state from is 1, 2, 3 - - // try to match dolibarr status - $status = ''; - if ($tmp == 1) $status = Facture::STATUS_VALIDATED; // validated = pending - if ($tmp == 2) $status = Facture::STATUS_CLOSED; // complete - if ($tmp == 3) $status = Facture::STATUS_ABANDONED; // canceled = holded - if ($status == '') - { - dol_syslog("Status: We found an invoice id ".$commande['increment_id']." with ecommerce status '".$tmp."' that is unknown, not supported. We will use '0' for Dolibarr", LOG_WARNING); - $status = Facture::STATUS_DRAFT; // draft by default (draft does not exists with magento, so next line will set correct status) - } - else - { - dol_syslog("Status: We found an invoice id ".$commande['increment_id']." with ecommerce status '".$tmp."'. We convert it into Dolibarr status '".$status."'"); - } + $categories = []; + $idxPage = 1; + $per_page = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); + while (true) { + try { + $results = $this->client->get('products/categories', + [ + 'page' => $idxPage++, + 'per_page' => $per_page, + ] + ); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceGetRemoteCategoryTree', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetRemoteCategoryTree', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + if (count($results) == 0) break; + + foreach ($results as $category) { + $categories[$category['id']] = [ + 'category_id' => $category['id'], // id category + 'parent_id' => $category['parent'], + 'label' => $category['name'], + 'name' => $category['name'], + 'description' => $category['description'], + 'updated_at' => '', + ]; + } + } - $close_code = ''; - $close_note = ''; - if ($tmp == 3) - { - $close_code = Facture::CLOSECODE_ABANDONED; - $close_note = 'Holded on ECommerce'; - } + // Set tree + foreach ($categories as $category) { + $parent_id = $category['parent_id']; - //add invoice to invoices - $factures[] = array( - 'last_update' => $facture['updated_at'], - 'remote_id' => $facture['invoice_id'], - 'remote_increment_id' => $facture['increment_id'], - 'ref_client' => $facture['increment_id'], - 'remote_order_id' => $facture['order_id'], - 'remote_order_increment_id' => $facture['order_increment_id'], - 'remote_id_societe' => $remoteIdSociete, - 'socpeopleLivraison' => $socpeopleLivraison, - 'socpeopleFacture' => $socpeopleFacture, - 'date' => $facture['created_at'], - 'code_cond_reglement' => $dbCommande->cond_reglement_code, // Take for local order - 'delivery' => $delivery, - 'items' => $items, - 'status' => $tmp, - 'close_code' => $close_code, - 'close_note' => $close_note, - 'remote_state' => $facture['state'], - 'remote_order' => $commande, - 'remote_invoice' => $facture - ); - } - else - { - dol_syslog("No items in this invoice", LOG_WARNING); - } + if (!empty($parent_id)) { + if (!isset($categories[$parent_id]['children'])) { + $categories[$parent_id]['level'] = 0; + $categories[$parent_id]['children'] = []; } + + $categories[$parent_id]['children'][] = &$categories[$category['category_id']]; } } - //important - order by last update - if (count($factures)) - { - $last_update=array(); - foreach ($factures as $key => $row) - { - $last_update[$key] = $row['last_update']; + // Make tree + $categories_tree = ['level' => 0, 'children' => []]; + foreach ($categories as $category) { + if (empty($category['parent_id'])) { + $categories_tree['children'][] = $category; } - array_multisort($last_update, SORT_ASC, $factures); } - //var_dump($factures);exit; - */ - - dol_syslog("convertRemoteObjectIntoDolibarrFacture end (found ".count($products)." record)"); - return $factures; + dol_syslog(__METHOD__ . ": end, " . count($categories) . " remote category recovered"); + return $categories_tree; } - /** - * Return if type of an item of invoice (information comue from item of order) + * Desactivated because is not supported by woocommerce. * - * @param array $item Item of invoice - * @param array $commande Commande with items - * @param array $facture Facture with items - * @return string + * @param int $remote_company_id Id of company + * + * @return array Array with address id */ - function getProductTypeOfItem($item, $commande, $facture) + public function getRemoteAddressIdForSociete($remote_company_id) { - $product_type = 'notfound'; // By default + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + return [$remote_company_id]; + } - //print "Try to find product type of invoice item_id=".$item['item_id']." (invoice ".$facture['increment_id'].") and order_item_id=".$item['order_item_id']." (order ".$commande['increment_id'].")\n"; + /** + * Return content of one category + * + * @param int $category_id Remote category id + * + * @return array|boolean Return category data + */ + public function getCategoryData($category_id) + { + dol_syslog(__METHOD__ . ": Get remote category for site ID {$this->site->id}"); + global $langs; - $order_item_id = $item['order_item_id']; + $category = []; - // We scan item of order to find this order item id - foreach($commande['items'] as $itemorder) - { - if ($itemorder['item_id'] == $order_item_id) - { - // We've got it - $product_type = $itemorder['product_type']; - break; - } + try { + $result = $this->client->get('products/categories/' . $category_id); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceGetCategoryData', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetCategoryData', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - //print "Found product type = ".$product_type."\n"; - - if ($product_type == 'notfound') $product_type = 'simple'; + if (isset($result)) { + $category = [ + 'category_id' => $result['id'], // id category + 'parent_id' => $result['parent'], + 'label' => $result['name'], + 'name' => $result['name'], + 'description' => $result['description'], + 'updated_at' => '', + ]; + } - return $product_type; + dol_syslog(__METHOD__ . ": end"); + return $category; } /** - * Return if type of an item of invoice (information comue from item of order) + * Return content of one order + * + * @param int $remoteOrderId Remote order id * - * @param array $item Item of invoice - * @param array $commande Commande with items - * @param array $facture Facture with items - * @return string + * @return array Empty */ - function getParentItemOfItem($item, $commande, $facture) + public function getRemoteCommande($remoteOrderId) { - //print "Try to find invoice parent item id of invoice item_id=".$item['item_id']." (invoice ".$facture['increment_id'].") and order_item_id=".$item['order_item_id']." (order ".$commande['increment_id'].")\n"; + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + return []; + } - $parent_item_id = 0; // By default - $parent_item_id_in_order = 0; + /** + * Update the remote product + * + * @param int $remote_id Id of product on remote ecommerce + * @param Product $object Product object + * + * @return boolean True or false + */ + public function updateRemoteProduct($remote_id, $object) + { + dol_syslog(__METHOD__ . ": Update the remote product ID $remote_id for Dolibarr product ID {$object->id} for site ID {$this->site->id}"); + global $conf, $langs; - $order_item_id = $item['order_item_id']; + $isProductVariation = false; + $remote_product_id = $remote_id; + $remote_product_variation_id = 0; + if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsProduct) == 1) { // Variations + $isProductVariation = true; + $remote_product_id = $idsProduct[1]; + $remote_product_variation_id = $idsProduct[2]; + } - // We scan item of order to find this order item id - foreach($commande['items'] as $itemorder) + // Set Weight + $totalWeight = $object->weight; + if ($object->weight_units < 50) // >50 means a standard unit (power of 10 of official unit), > 50 means an exotic unit (like inch) { - if ($itemorder['item_id'] == $order_item_id) - { - // We've got it - $product_type = $itemorder['product_type']; + $trueWeightUnit = pow(10, $object->weight_units); + $totalWeight = sprintf("%f", $object->weight * $trueWeightUnit); + } - $parent_item_id_in_order = $itemorder['parent_item_id']; - break; + try { + if ($isProductVariation) { // Variations + $results = $this->client->get("products/$remote_product_id/variations/$remote_product_variation_id"); + } else { + $results = $this->client->get("products/$remote_product_id"); } + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteProductGetRemoteProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteProductGetRemoteProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; } - // If the item is linked to an order item id that has a parent order item id - if ($parent_item_id_in_order) - { - // We scan now invoice items to find the item that is linked to order item id $parent_item_id_in_order - foreach($facture['items'] as $itemfacture) - { - if ($itemfacture['order_item_id'] == $parent_item_id_in_order) - { - // We've got it - $parent_item_id = $itemfacture['item_id']; + // images + $images = []; + if (!empty($conf->global->ECOMMERCENG_ENABLE_SYNCHRO_IMAGES)) { + // Get current images + $current_images = []; + if (!empty($results) && isset($results['images']) && is_array($results['images'])) { + foreach ($results['images'] as $image) { + $current_images[$image['name']] = $image['id']; + } + } + + // Product - Images properties + $entity = isset($object->entity) ? $object->entity : $conf->entity; + if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { // For backward compatiblity, we scan also old dirs + if ($object->type == Product::TYPE_PRODUCT) { + $dir = $conf->product->multidir_output[$entity] . '/' . substr(substr("000" . $object->id, -2), 1, 1) . '/' . substr(substr("000" . $object->id, -2), 0, 1) . '/' . $object->id . "/photos/"; + } else { + $dir = $conf->service->multidir_output[$entity] . '/' . substr(substr("000" . $object->id, -2), 1, 1) . '/' . substr(substr("000" . $object->id, -2), 0, 1) . '/' . $object->id . "/photos/"; + } + } else { + if ($object->type == Product::TYPE_PRODUCT) { + $dir = $conf->product->multidir_output[$entity] . '/' . get_exdir(0, 0, 0, 0, $object, 'product') . dol_sanitizeFileName($object->ref) . '/'; + } else { + $dir = $conf->service->multidir_output[$entity] . '/' . get_exdir(0, 0, 0, 0, $object, 'product') . dol_sanitizeFileName($object->ref) . '/'; + } + } + $photos = $object->liste_photos($dir); + foreach ($photos as $index => $photo) { + $img = []; + + $filename = ecommerceng_wordpress_sanitize_file_name($photo['photo']); + if (!isset($current_images[$filename])) { + $result = $this->worpressclient->postmedia("media", $dir . $photo['photo'], [ + 'slug' => $object->id . '_' . $filename, + 'ping_status' => 'closed', + 'comment_status' => 'closed', + ]); + + if ($result === null) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteProductSendImage', $remote_id, $this->site->name, implode('; ', $this->worpressclient->errors)); + dol_syslog(__METHOD__ . ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteProductSendImage', $remote_id, $this->site->name, implode('; ', $this->worpressclient->errors)), LOG_ERR); + return false; + } + + $img['id'] = $result['id']; + } else { + $img['id'] = $current_images[$filename]; + } + + $img['name'] = $filename; + $img['position'] = $index; + $images[] = $img; + + if ($isProductVariation) { // Get only one image for variation break; } } } - //print "Found invoice parent_item_id=".$parent_item_id." and order parent_item_id=".$parent_item_id_in_order."\n"; + // Product - Meta data properties + $object->fetch_optionals(); - return $parent_item_id; - } + // Price + if (!empty($conf->global->PRODUIT_MULTIPRICES)) { + $price_level = !empty($this->site->price_level) ? $this->site->price_level : 1; + $price = $object->multiprices[$price_level]; + } else { + $price = $object->price; + } + + if ($isProductVariation) { // Variations + /* + // Product variation - Downloads properties + $downloads = [ + [ + 'name' => '', // string File name. + 'file' => '', // string File URL. + ], + ]; + + // Product variation - Dimensions properties + $dimensions = [ + 'length' => '', // string Product length (cm). + 'width' => '', // string Product width (cm). + 'height' => '', // string Product height (cm). + ]; + + // Product variation - Image properties + $images = [ + [ + 'id' => 0, // integer Image ID. Not required + 'src' => '', // string Image URL. + 'name' => '', // string Image name. + 'alt' => '', // string Image alternative text. + 'position' => 0, // integer Image position. 0 means that the image is featured. + ], + ]; + + // Product variation - Attributes properties + $attributes = [ + [ + 'id' => 0, // integer Attribute ID. + 'name' => '', // string Attribute name. + 'option' => '', // string Selected attribute term name. + ], + ]; + + // Product variation - Meta data properties + $meta_data = [ + 'key' => '', // string Meta key. + 'value' => '', // string Meta value. + ]; + */ + + $variationData = [ + 'description' => nl2br($object->array_options["options_ecommerceng_description_{$conf->entity}"]), // string Variation description. + 'sku' => $object->ref, // string Unique identifier. + 'regular_price' => $price, // string Variation regular price. + //'sale_price' => '', // string Variation sale price. + //'date_on_sale_from' => '', // date-time Start date of sale price, in the site’s timezone. + //'date_on_sale_from_gmt' => '', // date-time Start date of sale price, as GMT. + //'date_on_sale_to' => '', // date-time End date of sale price, in the site’s timezone. + //'date_on_sale_to_gmt' => '', // date-time End date of sale price, in the site’s timezone. + //'visible' => '', // boolean Define if the attribute is visible on the “Additional information” tab in the product’s page. Default is true. + //'virtual' => $object->type == Product::TYPE_SERVICE, // boolean If the variation is virtual. Default is false. + //'downloadable' => '', // boolean If the variation is downloadable. Default is false. + //'downloads' => $downloads, // array List of downloadable files. See Product variation - Downloads properties + //'download_limit' => '', // integer Number of times downloadable files can be downloaded after purchase. Default is -1. + //'download_expiry' => '', // integer Number of days until access to downloadable files expires. Default is -1. + 'tax_status' => 'none', // string Tax status. Options: taxable, shipping and none. Default is taxable. + //'tax_class' => '', // string Tax class. + //'manage_stock' => '', // boolean Stock management at variation level. Default is false. + //'stock_quantity' => '', // integer Stock quantity. + //'in_stock' => '', // boolean Controls whether or not the variation is listed as “in stock” or “out of stock” on the frontend. Default is true. + //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. + 'weight' => (!empty($totalWeight) ? $totalWeight : ''), // string Variation weight (kg). + //'dimensions' => $dimensions, // object Variation dimensions. See Product variation - Dimensions properties + //'shipping_class' => '', // string Shipping class slug. + 'image' => (!empty($images) ? $images[0] : ''), // object Variation image data. See Product variation - Image properties + //'attributes' => $attributes, // array List of attributes. See Product variation - Attributes properties + //'menu_order' => '', // integer Menu order, used to custom sort products. + //'meta_data' => $meta_data, // array Meta data. See Product variation - Meta data properties + ]; + + // Set tax + if (!empty($object->array_options["options_ecommerceng_tax_class_{$this->site->id}_{$conf->entity}"])) { + $variationData['tax_status'] = 'taxable'; + $variationData['tax_class'] = $object->array_options["options_ecommerceng_tax_class_{$this->site->id}_{$conf->entity}"]; + } + // Product + // 'name' => $object->label, // string Product name. + // 'status' => $object->status ? 'publish' : 'pending', // string Product status (post status). Options: draft, pending, private and publish. Default is publish. + try { + $result = $this->client->put("products/$remote_product_id/variations/$remote_product_variation_id", $variationData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteProductVariation', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteProductVariation', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + } else { // Product + /* + // Product - Downloads properties + $downloads = [ + [ + 'name' => '', // string File name. + 'file' => '', // string File URL. + ], + ]; + + // Product - Dimensions properties + $dimensions = [ + 'length' => '', // string Product length (cm). + 'width' => '', // string Product width (cm). + 'height' => '', // string Product height (cm). + ]; + + // Product - Categories properties + $categories = [ + [ + 'id' => 0, // integer Category ID. + ], + ]; + // Product - Tags properties + $tags = [ + [ + 'id' => 0, // integer Tag ID. + ], + ]; - // Now functions to get data on remote shop, from the remote id. + // Product - Images properties + $images = [ + [ + 'id' => 0, // integer Image ID. Not required + 'src' => '', // string Image URL. + 'name' => '', // string Image name. + 'alt' => '', // string Image alternative text. + 'position' => 0, // integer Image position. 0 means that the image is featured. + ], + ]; + + // Product - Attributes properties + $attributes = [ + [ + 'id' => 0, // integer Attribute ID. Not required + 'name' => '', // string Attribute name. + 'position' => 0, // integer Attribute position. + 'visible' => false, // boolean Define if the attribute is visible on the “Additional information” tab in the product’s page. Default is false. + 'variation' => false, // boolean Define if the attribute can be used as variation. Default is false. + 'options' => [], // array List of available term names of the attribute. + ], + ]; + + // Product - Default attributes properties + $default_attributes = [ + 'id' => 0, // integer Attribute ID. Not required + 'name' => '', // string Attribute name. + 'option' => '', // string Selected attribute term name. + ]; + + // Product - Meta data properties + $meta_data = [ + 'key' => '', // string Meta key. + 'value' => '', // string Meta value. + ]; + */ + + // Get categories + $eCommerceCategory = new eCommerceCategory($this->db); + $cat = new Categorie($this->db); + $categories_list = $cat->containing($object->id, 'product'); + $categories = []; + foreach ($categories_list as $category) { + if ($this->site->fk_cat_product != $category->id) { + $ret = $eCommerceCategory->fetchByFKCategory($category->id, $this->site->id); + if ($ret > 0) { + $categories[] = ['id' => $eCommerceCategory->remote_id]; + } + } + } + + $status = $object->array_options["options_ecommerceng_wc_status_{$this->site->id}_{$conf->entity}"]; + + $productData = [ + 'name' => $object->label, // string Product name. + //'slug' => '', // string Product slug. + //'type' => '', // string Product type. Options: simple, grouped, external and variable. Default is simple. + 'status' => (!empty($status) ? $status : ''), //$object->status ? 'publish' : 'pending', // string Product status (post status). Options: draft, pending, private and publish. Default is publish. + //'featured' => false, // boolean Featured product. Default is false. + //'catalog_visibility' => '', // string Catalog visibility. Options: visible, catalog, search and hidden. Default is visible. + 'description' => nl2br($object->array_options["options_ecommerceng_description_{$conf->entity}"]), // string Product description. + 'short_description' => nl2br($object->array_options["options_ecommerceng_short_description_{$conf->entity}"]), // string Product short description. + 'sku' => $object->ref, // string Unique identifier. + 'regular_price' => $price, // string Product regular price. + //'sale_price' => '', // string Product sale price. + //'date_on_sale_from' => '', // date-time Start date of sale price, in the site’s timezone. + //'date_on_sale_from_gmt' => '', // date-time Start date of sale price, as GMT. + //'date_on_sale_to' => '', // date-time End date of sale price, in the site’s timezone. + //'date_on_sale_to_gmt' => '', // date-time End date of sale price, in the site’s timezone. + //'virtual' => $object->type == Product::TYPE_SERVICE, // boolean If the product is virtual. Default is false. + //'downloadable' => false, // boolean If the product is downloadable. Default is false. + //'downloads' => $downloads, // array List of downloadable files. See Product - Downloads properties + //'download_limit' => -1, // integer Number of times downloadable files can be downloaded after purchase. Default is -1. + //'download_expiry' => -1, // integer Number of days until access to downloadable files expires. Default is -1. + //'external_url' => '', // string Product external URL. Only for external products. + //'button_text' => '', // string Product external button text. Only for external products. + 'tax_status' => 'none', // string Tax status. Options: taxable, shipping and none. Default is taxable. + //'tax_class' => '', // string Tax class. + //'manage_stock' => false, // boolean Stock management at product level. Default is false. + //'stock_quantity' => $object->stock_reel, // integer Stock quantity. + //'in_stock' => $object->stock_reel > 0, // boolean Controls whether or not the product is listed as “in stock” or “out of stock” on the frontend. Default is true. + //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. + //'sold_individually' => false, // boolean Allow one item to be bought in a single order. Default is false. + 'weight' => (!empty($totalWeight) ? $totalWeight : ''), // string Product weight (kg). + //'dimensions' => $dimensions, // object Product dimensions. See Product - Dimensions properties + //'shipping_class' => '', // string Shipping class slug. + //'reviews_allowed' => true, // boolean Allow reviews. Default is true. + //'upsell_ids' => [], // array List of up-sell products IDs. + //'cross_sell_ids' => [], // array List of cross-sell products IDs. + //'parent_id' => 0, // integer Product parent ID. + //'purchase_note' => '', // string Optional note to send the customer after purchase. + 'categories' => $categories, // array List of categories. See Product - Categories properties + //'tags' => $tags, // array List of tags. See Product - Tags properties + 'images' => (!empty($images) ? $images : ''), // object List of images. See Product - Images properties + //'attributes' => $attributes, // array List of attributes. See Product - Attributes properties + //'default_attributes' => $default_attributes, // array Defaults variation attributes. See Product - Default attributes properties + //'menu_order' => 0, // integer Menu order, used to custom sort products. + //'meta_data' => $meta_data, // array Meta data. See Product - Meta data properties + ]; + + // Set tax + if (!empty($object->array_options["options_ecommerceng_tax_class_{$this->site->id}_{$conf->entity}"])) { + $productData['tax_status'] = 'taxable'; + $productData['tax_class'] = $object->array_options["options_ecommerceng_tax_class_{$this->site->id}_{$conf->entity}"]; + } + + try { + $result = $this->client->put("products/$remote_product_id", $productData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + } + dol_syslog(__METHOD__ . ": end"); + return true; + } /** - * Return the magento's category tree + * Update the remote stock of product * - * @return array|boolean Array with categories or false if error + * @param int $remote_id Id of product on remote ecommerce + * @param MouvementStock $object MouvementStock object, enhanced with property qty_after be the trigger STOCK_MOVEMENT. + * + * @return boolean True or false */ - public function getRemoteCategoryTree() + public function updateRemoteStockProduct($remote_id, $object) { - dol_syslog("eCommerceRemoteAccessWoocommerce getRemoteCategoryTree session=".$this->session); - /* try { - //$result = $this->client->call($this->session, 'auguria_dolibarrapi_catalog_category.tree'); - $result = $this->client->call($this->session, 'catalog_category.tree'); - return $result; - //dol_syslog($this->client->__getLastRequest()); - } catch (SoapFault $fault) { - $this->errors[]=$this->site->name.': '.$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - }*/ - return array(); - //var_dump($result); - dol_syslog("eCommerceRemoteAccessWoocommerce getRemoteCategoryTree end. Nb of record of result = ".count($result)); + dol_syslog(__METHOD__ . ": Update stock of the remote product ID $remote_id for MouvementStock ID {$object->id}, new qty: {$object->qty_after} for site ID {$this->site->id}"); + global $langs; + + if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsProduct) == 1) { + // Variations + $variationData = [ + //'manage_stock' => '', // boolean Stock management at variation level. Default is false. + 'stock_quantity' => $object->qty_after, // integer Stock quantity. + 'in_stock' => $object->qty_after > 0, // boolean Controls whether or not the variation is listed as “in stock” or “out of stock” on the frontend. Default is true. + //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. + ]; + + try { + $result = $this->client->put("products/$idsProduct[1]/variations/$idsProduct[2]", $variationData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteStockProductVariation', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteStockProductVariation', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + } else { + $productData = [ + //'manage_stock' => false, // boolean Stock management at product level. Default is false. + 'stock_quantity' => $object->qty_after, // integer Stock quantity. + 'in_stock' => $object->qty_after > 0, // boolean Controls whether or not the product is listed as “in stock” or “out of stock” on the frontend. Default is true. + //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. + ]; + + try { + $result = $this->client->put("products/$remote_id", $productData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteStockProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteStockProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + } + + dol_syslog(__METHOD__ . ": end"); + return true; } /** - * Return the magento's category att + * Update the remote company * - * @return array|boolean Array with categories or false if error + * @param int $remote_id Id of company on remote ecommerce + * @param Societe $object Societe object + * + * @return boolean True or false */ - /*public function getRemoteCategoryAtt() + public function updateRemoteSociete($remote_id, $object) { - dol_syslog("eCommerceRemoteAccessWoocommerce getRemoteCategoryAtt session=".$this->session); + dol_syslog(__METHOD__ . ": Update the remote company ID $remote_id for Dolibarr company ID {$object->id} for site ID {$this->site->id}"); + global $langs; + + /* + // Customer - Meta data properties + $meta_data = [ + 'key' => '', // string Meta key. + 'value' => '', // string Meta value. + ]; + */ + $companyData = [ + 'email' => $object->email, // string The email address for the customer. MANDATORY + //'first_name' => '', // string Customer first name. + //'last_name' => $object->name, // string Customer last name. + //'username' => '', // string Customer login name. + //'password' => '', // string Customer password. + //'meta_data' => $meta_data, // array Meta data. See Customer - Meta data properties + ]; + try { - //$result = $this->client->call($this->session, 'auguria_dolibarrapi_catalog_category.tree'); - $result = $this->client->call($this->session, 'catalog_category_attribute.list'); - } catch (SoapFault $fault) { - $this->errors[]=$this->site->name.': '.$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); + $result = $this->client->put("customers/$remote_id", $companyData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteSociete', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteSociete', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); return false; } - dol_syslog("eCommerceRemoteAccessWoocommerce getRemoteCategoryAtt end"); - return $result; - }*/ + + dol_syslog(__METHOD__ . ": end"); + return true; + } /** - * Return the magento's address id + * Update the remote contact + * + * @param int $remote_id Id of contact on remote ecommerce + * @param Contact $object Contact object * - * @param int $remote_thirdparty_id Id of thirdparty - * @return array|boolean Array with address id + * @return boolean True or false */ - public function getRemoteAddressIdForSociete($remote_thirdparty_id) + public function updateRemoteSocpeople($remote_id, $object) { - dol_syslog("eCommerceRemoteAccessWoocommerce getRemoteAddressIdForSociete session=".$this->session); - $result = array($remote_thirdparty_id); - dol_syslog("eCommerceRemoteAccessWoocommerce getRemoteAddressIdForSociete end"); - return $result; - } + dol_syslog(__METHOD__ . ": Update the remote contact ID $remote_id for Dolibarr contact ID {$object->id} for site ID {$this->site->id}"); + global $conf, $langs; + + // Get societe + //require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; + //$societe = new Societe($this->db); + //$societe->fetch($object->socid); + + $billingName = (empty($conf->global->ECOMMERCENG_BILLING_CONTACT_NAME) ? 'Billing' : $conf->global->ECOMMERCENG_BILLING_CONTACT_NAME); // Contact name treated as billing address. + $shippingName = (empty($conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME) ? 'Shipping' : $conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME); // Contact name treated as shipping address. + + if ($object->lastname == $billingName) { + $address = explode("\n", $object->address); + // Billing + $contactData = [ + 'billing' => [ + //'first_name' => '', // string First name. + //'last_name' => '', // string Last name. + //'company' => $societe->name, // string Company name. + 'address_1' => isset($address[0]) ? $address[0] : '', // string Address line 1 + 'address_2' => isset($address[1]) ? implode(" ", array_slice($address, 1)) : '', // string Address line 2 + 'city' => $object->town, // string City name. + //'state' => '', // string ISO code or name of the state, province or district. + 'postcode' => $object->zip, // string Postal code. + 'country' => getCountry($object->country_id, 2), // string ISO code of the country. + 'email' => $object->email, // string Email address. + 'phone' => $object->phone_pro, // string Phone number. + ], + ]; + } elseif ($object->lastname == $shippingName) { + $address = explode("\n", $object->address); + // Shipping + $contactData = [ + 'shipping' => [ + //'first_name' => '', // string First name. + //'last_name' => '', // string Last name. + //'company' => $societe->name, // string Company name. + 'address_1' => isset($address[0]) ? $address[0] : '', // string Address line 1 + 'address_2' => isset($address[1]) ? implode(" ", array_slice($address, 1)) : '', // string Address line 2 + 'city' => $object->town, // string City name. + //'state' => '', // string ISO code or name of the state, province or district. + 'postcode' => $object->zip, // string Postal code. + 'country' => getCountry($object->country_id, 2), // string ISO code of the country. + ], + ]; + } + + if (isset($contactData)) { + if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsCustomer) == 1) { + try { + $result = $this->client->put("customers/$idsCustomer[1]", $contactData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + } + } + dol_syslog(__METHOD__ . ": end"); + return true; + } /** - * Return content of one category + * Update the remote order + * + * @param int $remote_id Id of order on remote ecommerce + * @param Commande $object Commande object * - * @param int $category_id Remote category id - * @return boolean|unknown Return + * @return boolean True or false */ - public function getCategoryData($category_id) + public function updateRemoteCommande($remote_id, $object) { - $result = array(); - dol_syslog("eCommerceRemoteAccessWoocommerce getCategoryData session=".$this->session); -/* try { - //$result = $this->client->call($this->session, 'auguria_dolibarrapi_catalog_category.tree'); - $result = $this->client->call($this->session, 'catalog_category.info', array('categoryId'=>$category_id)); - //dol_syslog($this->client->__getLastRequest()); - } catch (SoapFault $fault) { - $this->errors[]=$this->site->name.': '.$fault->getMessage().'-'.$fault->getCode(); - dol_syslog($this->client->__getLastRequestHeaders(), LOG_WARNING); - dol_syslog($this->client->__getLastRequest(), LOG_WARNING); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - }*/ - dol_syslog("eCommerceRemoteAccessWoocommerce getCategoryData end"); - return $result; + dol_syslog(__METHOD__ . ": Update the remote order ID $remote_id for Dolibarr order ID {$object->id} for site ID {$this->site->id}"); + global $langs; + + $status = ''; + switch ($object->statut) { + //case Commande::STOCK_NOT_ENOUGH_FOR_ORDER: $status = ''; break; + case Commande::STATUS_CANCELED: $status = 'cancelled'; break; + case Commande::STATUS_DRAFT: $status = 'on-hold'; break; + case Commande::STATUS_VALIDATED: $status = 'processing'; break; + //case Commande::STATUS_ACCEPTED: $status = 'processing'; break; + case Commande::STATUS_SHIPMENTONPROCESS: $status = 'processing'; break; + case Commande::STATUS_CLOSED: $status = 'completed'; break; + } + + if (!empty($status)) { + $orderData = [ + 'status' => $status, // string Order status. Options: pending, processing, on-hold, completed, cancelled, refunded and failed. + ]; + + try { + $result = $this->client->put("orders/$remote_id", $orderData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceUpdateRemoteCommande', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceUpdateRemoteCommande', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + } + + dol_syslog(__METHOD__ . ": end"); + return true; } /** - * Return the magento's order + * Desactivated because is not supported by woocommerce. + * + * @param int $remote_id Id of invoice on remote ecommerce + * @param Facture $object Invoice object * - * @param int $remoteCommandeId Id of remote order - * @return object Order + * @return boolean True or false */ - public function getRemoteCommande($remoteCommandeId) + public function updateRemoteFacture($remote_id, $object) { - $commande = array(); - try { - dol_syslog("getCommande begin"); - $commande = $this->client->get("orders/$remoteCommandeId"); - dol_syslog("getCommande end"); - } catch (HttpClientException $fault) { - if ($fault->getCode() != 404) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - } - } - return $commande; + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + return true; } - + /** + * Desactivated because is not supported by woocommerce. + * + * @param int $livraison Object shipment ? + * @param int $remote_order_id Id of remote order + * + * @return boolean True or false + */ + public function createRemoteLivraison($livraison, $remote_order_id) + { + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + return $remote_order_id; + } /** - * Update the remote product + * Create product + * + * @param Product $object Object product * - * @param int $remote_id Id of product on remote ecommerce - * @param Product $object Product object * @return boolean True or false */ - public function updateRemoteProduct($remote_id, $object) + public function createRemoteProduct($object) { - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteProduct session=".$this->session." remote_id=".$remote_id." object->id=".$object->id); + dol_syslog(__METHOD__ . ": Create product from Dolibarr product ID {$object->id} for site ID {$this->site->id}"); + global $conf, $langs, $user; + // Set weight $totalWeight = $object->weight; if ($object->weight_units < 50) // >50 means a standard unit (power of 10 of official unit), > 50 means an exotic unit (like inch) { - $trueWeightUnit=pow(10, $object->weight_units); + $trueWeightUnit = pow(10, $object->weight_units); $totalWeight = sprintf("%f", $object->weight * $trueWeightUnit); } + // Product - Meta data properties + $object->fetch_optionals(); - try { - if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsProduct) == 1) { - // Variations -/* - // Product variation - Downloads properties - $downloads = [ - [ - 'name' => '', // string File name. - 'file' => '', // string File URL. - ], - ]; -*/ -/* - // Product variation - Dimensions properties - $dimensions = [ - 'length' => '', // string Product length (cm). - 'width' => '', // string Product width (cm). - 'height' => '', // string Product height (cm). - ]; -*/ -/* - // Product variation - Image properties - $images = [ - [ - 'id' => 0, // integer Image ID. Not required - 'src' => '', // string Image URL. - 'name' => '', // string Image name. - 'alt' => '', // string Image alternative text. - 'position' => 0, // integer Image position. 0 means that the image is featured. - ], - ]; -*/ -/* - // Product variation - Attributes properties - $attributes = [ - [ - 'id' => 0, // integer Attribute ID. - 'name' => '', // string Attribute name. - 'option' => '', // string Selected attribute term name. - ], - ]; -*/ -/* - // Product variation - Meta data properties - $meta_data = [ - 'key' => '', // string Meta key. - 'value' => '', // string Meta value. - ]; -*/ - $variationData = array( - 'description' => $object->description, // string Variation description. - 'sku' => $object->ref, // string Unique identifier. - 'regular_price' => $object->price, // string Variation regular price. - //'sale_price' => '', // string Variation sale price. - //'date_on_sale_from' => '', // date-time Start date of sale price, in the site’s timezone. - //'date_on_sale_from_gmt' => '', // date-time Start date of sale price, as GMT. - //'date_on_sale_to' => '', // date-time End date of sale price, in the site’s timezone. - //'date_on_sale_to_gmt' => '', // date-time End date of sale price, in the site’s timezone. - //'visible' => '', // boolean Define if the attribute is visible on the “Additional information” tab in the product’s page. Default is true. - //'virtual' => $object->type == Product::TYPE_SERVICE, // boolean If the variation is virtual. Default is false. - //'downloadable' => '', // boolean If the variation is downloadable. Default is false. - //'downloads' => $downloads, // array List of downloadable files. See Product variation - Downloads properties - //'download_limit' => '', // integer Number of times downloadable files can be downloaded after purchase. Default is -1. - //'download_expiry' => '', // integer Number of days until access to downloadable files expires. Default is -1. - //'tax_status' => '', // string Tax status. Options: taxable, shipping and none. Default is taxable. - //'tax_class' => '', // string Tax class. - //'manage_stock' => '', // boolean Stock management at variation level. Default is false. - //'stock_quantity' => '', // integer Stock quantity. - //'in_stock' => '', // boolean Controls whether or not the variation is listed as “in stock” or “out of stock” on the frontend. Default is true. - //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. - 'weight' => $totalWeight, // string Variation weight (kg). - //'dimensions' => $dimensions, // object Variation dimensions. See Product variation - Dimensions properties - //'shipping_class' => '', // string Shipping class slug. - //'image' => $images, // object Variation image data. See Product variation - Image properties - //'attributes' => $attributes, // array List of attributes. See Product variation - Attributes properties - //'menu_order' => '', // integer Menu order, used to custom sort products. - //'meta_data' => $meta_data, // array Meta data. See Product variation - Meta data properties - ); + // Price + if (!empty($conf->global->PRODUIT_MULTIPRICES)) { + $price_level = !empty($this->site->price_level) ? $this->site->price_level : 1; + $price = $object->multiprices[$price_level]; + } else { + $price = $object->price; + } - // Product - // 'name' => $object->label, // string Product name. - // 'status' => $object->status ? 'publish' : 'pending', // string Product status (post status). Options: draft, pending, private and publish. Default is publish. + /* + // Product - Downloads properties + $downloads = [ + [ + 'name' => '', // string File name. + 'file' => '', // string File URL. + ], + ]; - $result = $this->client->put("products/$idsProduct[1]/variations/$idsProduct[2]", $variationData); - } else { - // Product -/* - // Product - Downloads properties - $downloads = [ - [ - 'name' => '', // string File name. - 'file' => '', // string File URL. - ], - ]; -*/ -/* - // Product - Dimensions properties - $dimensions = [ - 'length' => '', // string Product length (cm). - 'width' => '', // string Product width (cm). - 'height' => '', // string Product height (cm). - ]; -*/ -/* - // Product - Categories properties - $categories = [ - [ - 'id' => 0, // integer Category ID. - ], - ]; -*/ -/* - // Product - Tags properties - $tags = [ - [ - 'id' => 0, // integer Tag ID. - ], - ]; -*/ -/* - // Product - Images properties - $images = [ - [ - 'id' => 0, // integer Image ID. Not required - 'src' => '', // string Image URL. - 'name' => '', // string Image name. - 'alt' => '', // string Image alternative text. - 'position' => 0, // integer Image position. 0 means that the image is featured. - ], - ]; -*/ -/* - // Product - Attributes properties - $attributes = [ - [ - 'id' => 0, // integer Attribute ID. Not required - 'name' => '', // string Attribute name. - 'position' => 0, // integer Attribute position. - 'visible' => false, // boolean Define if the attribute is visible on the “Additional information” tab in the product’s page. Default is false. - 'variation' => false, // boolean Define if the attribute can be used as variation. Default is false. - 'options' => [], // array List of available term names of the attribute. - ], - ]; -*/ -/* - // Product - Default attributes properties - $default_attributes = [ - 'id' => 0, // integer Attribute ID. Not required - 'name' => '', // string Attribute name. - 'option' => '', // string Selected attribute term name. - ]; -*/ -/* - // Product - Meta data properties - $meta_data = [ - 'key' => '', // string Meta key. - 'value' => '', // string Meta value. - ]; -*/ - $productData = array( - 'name' => $object->label, // string Product name. - //'slug' => '', // string Product slug. - //'type' => '', // string Product type. Options: simple, grouped, external and variable. Default is simple. - 'status' => $object->status ? 'publish' : 'pending', // string Product status (post status). Options: draft, pending, private and publish. Default is publish. - //'featured' => false, // boolean Featured product. Default is false. - //'catalog_visibility' => '', // string Catalog visibility. Options: visible, catalog, search and hidden. Default is visible. - 'description' => $object->description, // string Product description. - //'short_description' => '', // string Product short description. - 'sku' => $object->ref, // string Unique identifier. - 'regular_price' => $object->price, // string Product regular price. - //'sale_price' => '', // string Product sale price. - //'date_on_sale_from' => '', // date-time Start date of sale price, in the site’s timezone. - //'date_on_sale_from_gmt' => '', // date-time Start date of sale price, as GMT. - //'date_on_sale_to' => '', // date-time End date of sale price, in the site’s timezone. - //'date_on_sale_to_gmt' => '', // date-time End date of sale price, in the site’s timezone. - //'virtual' => $object->type == Product::TYPE_SERVICE, // boolean If the product is virtual. Default is false. - //'downloadable' => false, // boolean If the product is downloadable. Default is false. - //'downloads' => $downloads, // array List of downloadable files. See Product - Downloads properties - //'download_limit' => -1, // integer Number of times downloadable files can be downloaded after purchase. Default is -1. - //'download_expiry' => -1, // integer Number of days until access to downloadable files expires. Default is -1. - //'external_url' => '', // string Product external URL. Only for external products. - //'button_text' => '', // string Product external button text. Only for external products. - //'tax_status' => '', // string Tax status. Options: taxable, shipping and none. Default is taxable. - //'tax_class' => '', // string Tax class. - //'manage_stock' => false, // boolean Stock management at product level. Default is false. - //'stock_quantity' => $object->stock_reel, // integer Stock quantity. - //'in_stock' => $object->stock_reel > 0, // boolean Controls whether or not the product is listed as “in stock” or “out of stock” on the frontend. Default is true. - //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. - //'sold_individually' => false, // boolean Allow one item to be bought in a single order. Default is false. - 'weight' => $totalWeight, // string Product weight (kg). - //'dimensions' => $dimensions, // object Product dimensions. See Product - Dimensions properties - //'shipping_class' => '', // string Shipping class slug. - //'reviews_allowed' => true, // boolean Allow reviews. Default is true. - //'upsell_ids' => [], // array List of up-sell products IDs. - //'cross_sell_ids' => [], // array List of cross-sell products IDs. - //'parent_id' => 0, // integer Product parent ID. - //'purchase_note' => '', // string Optional note to send the customer after purchase. - //'categories' => $categories, // array List of categories. See Product - Categories properties - //'tags' => $tags, // array List of tags. See Product - Tags properties - //'images' => $images, // object List of images. See Product - Images properties - //'attributes' => $attributes, // array List of attributes. See Product - Attributes properties - //'default_attributes' => $default_attributes, // array Defaults variation attributes. See Product - Default attributes properties - //'menu_order' => 0, // integer Menu order, used to custom sort products. - //'meta_data' => $meta_data, // array Meta data. See Product - Meta data properties - ); + // Product - Dimensions properties + $dimensions = [ + 'length' => '', // string Product length (cm). + 'width' => '', // string Product width (cm). + 'height' => '', // string Product height (cm). + ]; - $result = $this->client->put("products/$remote_id", $productData); + // Product - Categories properties + $categories = [ + [ + 'id' => 0, // integer Category ID. + ], + ]; + + // Product - Tags properties + $tags = [ + [ + 'id' => 0, // integer Tag ID. + ], + ]; + + // Product - Images properties + $images = [ + [ + 'id' => 0, // integer Image ID. Not required + 'src' => '', // string Image URL. + 'name' => '', // string Image name. + 'alt' => '', // string Image alternative text. + 'position' => 0, // integer Image position. 0 means that the image is featured. + ], + ]; + + // Product - Attributes properties + $attributes = [ + [ + 'id' => 0, // integer Attribute ID. Not required + 'name' => '', // string Attribute name. + 'position' => 0, // integer Attribute position. + 'visible' => false, // boolean Define if the attribute is visible on the “Additional information” tab in the product’s page. Default is false. + 'variation' => false, // boolean Define if the attribute can be used as variation. Default is false. + 'options' => [], // array List of available term names of the attribute. + ], + ]; + + // Product - Default attributes properties + $default_attributes = [ + 'id' => 0, // integer Attribute ID. Not required + 'name' => '', // string Attribute name. + 'option' => '', // string Selected attribute term name. + ]; + + // Product - Meta data properties + $meta_data = [ + 'key' => '', // string Meta key. + 'value' => '', // string Meta value. + ]; + */ + + // Get categories + $eCommerceCategory = new eCommerceCategory($this->db); + $cat = new Categorie($this->db); + $categories_list = $cat->containing($object->id, 'product'); + $categories = []; + foreach ($categories_list as $category) { + if ($this->site->fk_cat_product != $category->id) { + $ret = $eCommerceCategory->fetchByFKCategory($category->id, $this->site->id); + if ($ret > 0) { + $categories[] = ['id' => $eCommerceCategory->remote_id]; + } } + } - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteProduct end"); - return true; + $status = $object->array_options["options_ecommerceng_wc_status_{$this->site->id}_{$conf->entity}"]; + + // Product + $productData = [ + 'name' => $object->label, // string Product name. + //'slug' => '', // string Product slug. + //'type' => '', // string Product type. Options: simple, grouped, external and variable. Default is simple. + 'status' => (!empty($status) ? $status : ''), //$object->status ? 'publish' : 'pending', // string Product status (post status). Options: draft, pending, private and publish. Default is publish. + //'featured' => false, // boolean Featured product. Default is false. + //'catalog_visibility' => '', // string Catalog visibility. Options: visible, catalog, search and hidden. Default is visible. + 'description' => $object->array_options["options_ecommerceng_description_{$conf->entity}"], // string Product description. + 'short_description' => $object->array_options["options_ecommerceng_short_description_{$conf->entity}"], // string Product short description. + 'sku' => $object->ref, // string Unique identifier. + 'regular_price' => $price, // string Product regular price. + //'sale_price' => '', // string Product sale price. + //'date_on_sale_from' => '', // date-time Start date of sale price, in the site’s timezone. + //'date_on_sale_from_gmt' => '', // date-time Start date of sale price, as GMT. + //'date_on_sale_to' => '', // date-time End date of sale price, in the site’s timezone. + //'date_on_sale_to_gmt' => '', // date-time End date of sale price, in the site’s timezone. + //'virtual' => $object->type == Product::TYPE_SERVICE, // boolean If the product is virtual. Default is false. + //'downloadable' => false, // boolean If the product is downloadable. Default is false. + //'downloads' => $downloads, // array List of downloadable files. See Product - Downloads properties + //'download_limit' => -1, // integer Number of times downloadable files can be downloaded after purchase. Default is -1. + //'download_expiry' => -1, // integer Number of days until access to downloadable files expires. Default is -1. + //'external_url' => '', // string Product external URL. Only for external products. + //'button_text' => '', // string Product external button text. Only for external products. + 'tax_status' => 'none', // string Tax status. Options: taxable, shipping and none. Default is taxable. + //'tax_class' => '', // string Tax class. + //'manage_stock' => false, // boolean Stock management at product level. Default is false. + //'stock_quantity' => $object->stock_reel, // integer Stock quantity. + //'in_stock' => $object->stock_reel > 0, // boolean Controls whether or not the product is listed as “in stock” or “out of stock” on the frontend. Default is true. + //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. + //'sold_individually' => false, // boolean Allow one item to be bought in a single order. Default is false. + 'weight' => (!empty($totalWeight)?$totalWeight:''), // string Product weight (kg). + //'dimensions' => $dimensions, // object Product dimensions. See Product - Dimensions properties + //'shipping_class' => '', // string Shipping class slug. + //'reviews_allowed' => true, // boolean Allow reviews. Default is true. + //'upsell_ids' => [], // array List of up-sell products IDs. + //'cross_sell_ids' => [], // array List of cross-sell products IDs. + //'parent_id' => 0, // integer Product parent ID. + //'purchase_note' => '', // string Optional note to send the customer after purchase. + 'categories' => $categories, // array List of categories. See Product - Categories properties + //'tags' => $tags, // array List of tags. See Product - Tags properties + //'images' => $images, // object List of images. See Product - Images properties + //'attributes' => $attributes, // array List of attributes. See Product - Attributes properties + //'default_attributes' => $default_attributes, // array Defaults variation attributes. See Product - Default attributes properties + //'menu_order' => 0, // integer Menu order, used to custom sort products. + //'meta_data' => $meta_data, // array Meta data. See Product - Meta data properties + ]; + + // Set tax + if (!empty($object->array_options["options_ecommerceng_tax_class_{$this->site->id}_{$conf->entity}"])) { + $productData['tax_status'] = 'taxable'; + $productData['tax_class'] = $object->array_options["options_ecommerceng_tax_class_{$this->site->id}_{$conf->entity}"]; + } + + try { + $res = $this->client->post("products", $productData); } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); + $this->errors[] = $langs->trans('ECommerceWoocommerceCreateRemoteProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceCreateRemoteProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + + // Create remote link + $eCommerceProduct = new eCommerceProduct($this->db); + $eCommerceProduct->fk_product = $object->id; + $eCommerceProduct->fk_site = $this->site->id; + $eCommerceProduct->remote_id = $res['id']; + $res = $eCommerceProduct->create($user); + if ($res < 0) { + $this->errors[] = $langs->trans('ECommerceWoocommerceCreateRemoteProductLink', $object->id, $this->site->name, $eCommerceProduct->error); + dol_syslog(__METHOD__ . ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceCreateRemoteProductLink', $object->id, $this->site->name, $eCommerceProduct->error), LOG_ERR); return false; } + + dol_syslog(__METHOD__ . ": end"); + return true; } /** - * Update the remote stock of product + * Send a file for remote order + * + * @param int $order_remote_id Id of order on remote ecommerce + * @param int $company_remote_id Id of company on remote ecommerce + * @param Object $object Object (invoice or shipping) + * @param string $file File path + * @param Translate $outputlangs Lang output object * - * @param int $remote_id Id of product on remote ecommerce - * @param Movement $object Movement object, enhanced with property qty_after be the trigger STOCK_MOVEMENT. - * @return boolean True or false + * @return bool */ - public function updateRemoteStockProduct($remote_id, $object) + public function sendFileForCommande($order_remote_id, $company_remote_id, $object, $file, $outputlangs) { - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteStockProduct session=".$this->session." product remote_id=".$remote_id." movement object->id=".$object->id.", new qty=".$object->qty_after); + dol_syslog(__METHOD__ . ": Send file '$file' for remote order ID $order_remote_id for site ID {$this->site->id}"); + global $langs; + + // Send file to WordPress + $result = $this->worpressclient->postmedia("media", $file, [ + 'slug' => $order_remote_id . '_' . $object->element, + 'author' => $company_remote_id, + 'post' => $order_remote_id, + 'ping_status' => 'closed', + 'comment_status' => 'closed', + ]); + if ($result === null) { + $this->errors[] = $langs->trans('ECommerceWoocommerceSendFileForCommandeInWordpress', $order_remote_id, $this->site->name, implode('; ', $this->worpressclient->errors)); + dol_syslog(__METHOD__ . ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceSendFileForCommandeInWordpress', $order_remote_id, $this->site->name, implode('; ', $this->worpressclient->errors)), LOG_ERR); + return false; + } - // $object->qty is the qty of movement + // Set meta data in remote commande + $commandeData = [ + 'meta_data' => [ + [ + 'key' => 'file_for_' . $object->element, + 'value' => [ + 'id' => $result['id'], + 'link' => $result['link'], + 'source_url' => $result['source_url'], + ], + ], + ] + ]; try { - if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsProduct) == 1) { - // Variations - $variationData = array( - //'manage_stock' => '', // boolean Stock management at variation level. Default is false. - 'stock_quantity' => $object->qty_after, // integer Stock quantity. - 'in_stock' => $object->qty_after > 0, // boolean Controls whether or not the variation is listed as “in stock” or “out of stock” on the frontend. Default is true. - //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. - ); + $result = $this->client->put("orders/$order_remote_id", $commandeData); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceSendFileForCommande', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceSendFileForCommande', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } - // Product - // 'name' => $object->label, // string Product name. - // 'status' => $object->status ? 'publish' : 'pending', // string Product status (post status). Options: draft, pending, private and publish. Default is publish. + dol_syslog(__METHOD__ . ": end"); + return true; + } - $result = $this->client->put("products/$idsProduct[1]/variations/$idsProduct[2]", $variationData); - } else { - $productData = array( - //'manage_stock' => false, // boolean Stock management at product level. Default is false. - 'stock_quantity' => $object->qty_after, // integer Stock quantity. - 'in_stock' => $object->qty_after > 0, // boolean Controls whether or not the product is listed as “in stock” or “out of stock” on the frontend. Default is true. - //'backorders' => '', // string If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no. - ); + /** + * Get tax rate from tax class name + * + * @param string $tax_class Tax class name + * @param string $tax_status Tax status + * + * @return float Tax rate + */ + private function getTaxRate($tax_class, $tax_status = 'taxable') + { + dol_syslog(__METHOD__ . ": Get tax rate, tax_classe: $tax_class, tax_status: $tax_status"); + global $conf, $mysoc; - $result = $this->client->put("products/$remote_id", $productData); + $tax_rate = 0; + + // $tax_status => Tax status. Options: taxable, shipping and none. Default is taxable + if ($tax_status != 'none') { + $tax_class = !empty($tax_class) ? $tax_class : 'standard'; + $tax_rate = ''; + + // Retrieve all woocommerce tax classes + if (!isset($this->woocommerceTaxes) || !isset($this->woocommerceTaxes['classes'][$tax_class])) { + $this->setWoocommerceTaxes(); } - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteStockProduct end"); - return true; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; + // Get woocommerce tax if one only + if (isset($this->woocommerceTaxes['classes'][$tax_class]) && count($this->woocommerceTaxes['classes'][$tax_class]) == 1) { + $tax_rate = $this->woocommerceTaxes['classes'][$tax_class]; + $tax_rate = array_values($tax_rate); + $tax_rate = doubleval($tax_rate[0]['rate']); + + // Get near dolibarr tax for woocommerce tax rate + $tax = $this->_getClosestDolibarrTaxRate($tax_rate); + if (isset($tax)) { + $tax_rate = $tax; + } + } + + if ($tax_rate == '') { + $tax_rate = $conf->global->ECOMMERCE_WOOCOMMERCE_DEFAULT_TVA; + } } + + dol_syslog(__METHOD__ . ": end, return $tax_rate"); + return $tax_rate; } /** - * Update the remote societe + * Get tax class for show in extrafields * - * @param int $remote_id Id of societe on remote ecommerce - * @param Societe $object Societe object - * @return boolean True or false + * @param string $tax_class Tax class name + * @param string $tax_status Tax status + * + * @return string Tax class name */ - public function updateRemoteSociete($remote_id, $object) + private function getTaxClass($tax_class, $tax_status = 'taxable') { - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteSociete session=".$this->session." remote_id=".$remote_id." object->id=".$object->id); -/* - // Customer - Meta data properties - $meta_data = [ - 'key' => '', // string Meta key. - 'value' => '', // string Meta value. - ]; -*/ - try { - $societeData = array( - 'email' => $object->email, // string The email address for the customer. MANDATORY - //'first_name' => '', // string Customer first name. - //'last_name' => $object->name, // string Customer last name. - //'username' => '', // string Customer login name. - //'password' => '', // string Customer password. - //'meta_data' => $meta_data, // array Meta data. See Customer - Meta data properties - ); - - $result = $this->client->put("customers/$remote_id", $societeData); + dol_syslog(__METHOD__ . ": Get tax class name, tax_class: $tax_class, tax_status: $tax_status"); - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteSociete end"); - return true; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; + // $tax_status => Tax status. Options: taxable, shipping and none. Default is taxable + if ($tax_status != 'none') { + $tax_class = !empty($tax_class) ? $tax_class : 'standard'; + } else { + $tax_class = ''; } + + dol_syslog(__METHOD__ . ": end, return $tax_class"); + return $tax_class; } /** - * Update the remote contact + * Calcul tax rate and return the closest dolibarr tax rate. * - * @param int $remote_id Id of contact on remote ecommerce - * @param Contact $object Contact object - * @return boolean True or false + * @param float $priceHT Price HT + * @param float $taxAmount Tax amount + * + * @return float Tax rate */ - public function updateRemoteSocpeople($remote_id, $object) + private function getClosestDolibarrTaxRate($priceHT, $taxAmount) { - global $conf; + dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, priceHT: $priceHT, priceHT: $taxAmount"); + $tax_rate = 0; + if ($taxAmount != 0) { + //calcul tax rate from remote site + $shipping_tax_rate = ($taxAmount / $priceHT) * 100; - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteSocpeople session=".$this->session." remote_id=".$remote_id." object->id=".$object->id); + // Get near dolibarr tax for woocommerce tax rate + $tax = $this->_getClosestDolibarrTaxRate($shipping_tax_rate); + if (isset($tax)) { + $tax_rate = $tax; + } + } - // Get societe - require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; - $societe = new Societe($this->db); - $societe->fetch($object->socid); + dol_syslog(__METHOD__ . ": end, return $tax_rate"); + return $tax_rate; + } - $billingName = (empty($conf->global->ECOMMERCENG_BILLING_CONTACT_NAME)?'Billing':$conf->global->ECOMMERCENG_BILLING_CONTACT_NAME); // Contact name treated as billing address. - $shippingName = (empty($conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME)?'Shipping':$conf->global->ECOMMERCENG_SHIPPING_CONTACT_NAME); // Contact name treated as shipping address. + /** + * Retrieve all Dolibarr tax rates + * + * @return void + */ + private function setDolibarrTaxes() + { + dol_syslog(__METHOD__ . ": Retrieve all Dolibarr tax rates"); - try { - if ($object->lastname == $billingName) { - $address = explode("\n", $object->address); - // Billing - $contactData = [ - 'billing' => [ - //'first_name' => '', // string First name. - //'last_name' => '', // string Last name. - //'company' => $societe->name, // string Company name. - 'address_1' => isset($address[0])?$address[0]:'', // string Address line 1 - 'address_2' => isset($address[1])?implode(" ", array_slice($address, 1)):'', // string Address line 2 - 'city' => $object->town, // string City name. - //'state' => '', // string ISO code or name of the state, province or district. - 'postcode' => $object->zip, // string Postal code. - 'country' => getCountry($object->country_id, 2), // string ISO code of the country. - 'email' => $object->email, // string Email address. - 'phone' => $object->phone_pro, // string Phone number. - ], - ]; - } elseif ($object->lastname == $shippingName) { - $address = explode("\n", $object->address); - // Shipping - $contactData = [ - 'shipping' => [ - //'first_name' => '', // string First name. - //'last_name' => '', // string Last name. - //'company' => $societe->name, // string Company name. - 'address_1' => isset($address[0])?$address[0]:'', // string Address line 1 - 'address_2' => isset($address[1])?implode(" ", array_slice($address, 1)):'', // string Address line 2 - 'city' => $object->town, // string City name. - //'state' => '', // string ISO code or name of the state, province or district. - 'postcode' => $object->zip, // string Postal code. - 'country' => getCountry($object->country_id, 2), // string ISO code of the country. - ], - ]; - } + $resql = $this->db->query("SELECT DISTINCT taux FROM ".MAIN_DB_PREFIX."c_tva ORDER BY taux DESC"); + if ($resql) { + $taxesTable = []; - if (isset($contactData)) { - if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsCustomer) == 1) { - $result = $this->client->put("customers/$idsCustomer[1]", $contactData); - } + while ($tax = $this->db->fetch_object($resql)) { + $taxesTable[] = $tax->taux; } - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteSocpeople end"); - return true; - } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; + $this->dolibarrTaxes = $taxesTable; } + + dol_syslog(__METHOD__ . ": end"); } /** - * Update the remote order + * Retrieve all Dolibarr tax rates * - * @param int $remote_id Id of order on remote ecommerce - * @param Commande $object Commande object - * @return boolean True or false + * @return void */ - public function updateRemoteCommande($remote_id, $object) + /* private function setDolibarrTaxes() { - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteCommande session=".$this->session." remote_id=".$remote_id." object->id=".$object->id); + dol_syslog(__METHOD__ . ": Retrieve all Dolibarr tax rates"); - try { - switch ($object->statut) { - //case Commande::STOCK_NOT_ENOUGH_FOR_ORDER: $status = ''; break; - case Commande::STATUS_CANCELED: $status = 'cancelled'; break; - //case Commande::STATUS_DRAFT: $status = ''; break; - case Commande::STATUS_VALIDATED: $status = 'pending'; break; - case Commande::STATUS_ACCEPTED: $status = 'processing'; break; - case Commande::STATUS_SHIPMENTONPROCESS: $status = 'processing'; break; - case Commande::STATUS_CLOSED: $status = 'completed'; break; + $resql = $this->db->query("SELECT t.*, c.code AS country FROM ".MAIN_DB_PREFIX."c_tva AS t LEFT JOIN ".MAIN_DB_PREFIX."c_country AS c ON t.fk_pays = c.rowid"); + if ($resql) { + $taxesTable = [ 'taxes' => [], 'countries' => [] ]; + + while ($tax = $this->db->fetch_array($resql)) { + $taxesTable['taxes'][] = $tax; + if (!empty($tax['country'])) { + $taxesTable['countries'][$tax['country']][] = $tax; + } } - if (isset($status)) { - $commandeData = array( - 'status' => $status, // string Order status. Options: pending, processing, on-hold, completed, cancelled, refunded and failed. - ); + $this->dolibarrTaxes = $taxesTable; + } - $result = $this->client->put("orders/$remote_id", $commandeData); - } + dol_syslog(__METHOD__ . ": end"); + }*/ - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteCommande end"); + /** + * Update all Woocommerce tax classes in dict + * + * @return array|false List of woocommerce tax class or false if error + */ + public function getAllWoocommerceTaxClass() + { + dol_syslog(__METHOD__ . ": Retrieve all Woocommerce tax classes"); + global $langs; - return true; + try { + $tax_classes = $this->client->get('taxes/classes'); } catch (HttpClientException $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); return false; } + + $taxClassesTable = []; + foreach ($tax_classes as $tax_class) { + unset($tax_class['_links']); + $taxClassesTable[$tax_class['slug']] = $tax_class; + } + + dol_syslog(__METHOD__ . ": end, return: ".json_encode($taxClassesTable)); + return $taxClassesTable; } /** - * Update the remote invoice + * Retrieve all Woocommerce tax rates * - * @param int $remote_id Id of invoice on remote ecommerce - * @param Facture $object Invoice object - * @return boolean True or false + * @return boolean */ - public function updateRemoteFacture($remote_id, $object) + private function setWoocommerceTaxes() { - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteFacture session=".$this->session." remote_id=".$remote_id." object->id=".$object->id); + dol_syslog(__METHOD__ . ": Retrieve all Woocommerce tax rates"); + global $conf, $langs; - $result = false; - /* - try { - $factureData = array( - 'status' => $object->status, - ); + $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); - $result = $this->client->call($this->session, 'invoice.update', array($remote_id, $factureData, null, 'order_id')); - //dol_syslog($this->client->__getLastRequest()); - } catch (SoapFault $fault) { - $this->errors[]=$fault->getMessage().'-'.$fault->getCode(); - dol_syslog(__METHOD__.': '.$fault->getMessage().'-'.$fault->getCode().'-'.$fault->getTraceAsString(), LOG_WARNING); - return false; - }*/ - dol_syslog("eCommerceRemoteAccessWoocommerce updateRemoteFacture end"); - return $result; + $taxesTable = [ 'taxes' => [], 'classes' => [], 'countries' => [], 'states' => [], 'postcodes' => [], 'cities' => []]; + $idxPage = 0; + do { + $idxPage++; + try { + $taxes = $this->client->get('taxes', + [ + 'page' => $idxPage, + 'per_page' => $nb_max_by_request, + ] + ); + } catch (HttpClientException $fault) { + $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + dol_syslog(__METHOD__ . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); + return false; + } + + foreach ($taxes as $tax) { + $id = $tax['id']; + unset($tax['_links']); + + $taxesTable['taxes'][$id] = $tax; + if (!empty($tax['class'])) { + $taxesTable['classes'][$tax['class']][$id] = $tax; + } + if (!empty($tax['country'])) { + $taxesTable['countries'][$tax['country']][$id] = $tax; + } + if (!empty($tax['state'])) { + $taxesTable['states'][$tax['state']][$id] = $tax; + } + if (!empty($tax['postcode'])) { + $taxesTable['postcodes'][$tax['postcode']][$id] = $tax; + } + if (!empty($tax['city'])) { + $taxesTable['cities'][$tax['city']][$id] = $tax; + } + } + } while (!empty($taxes)); + + $this->woocommerceTaxes = $taxesTable; + + dol_syslog(__METHOD__ . ": end"); + return true; } /** - * Create shipment + * Get closest dolibarr tax rate * - * @param int $livraison Object shipment ? - * @param int $remote_order_id Id of order - * @return boolean True or false + * @param string $tax_rate Tax rate + * + * @return float Closest dolibarr tax rate */ - public function createRemoteLivraison($livraison, $remote_order_id) + private function _getClosestDolibarrTaxRate($tax_rate) { - $result = false; + dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, tax_rate: $tax_rate"); - dol_syslog("eCommerceRemoteAccessWoocommerce createRemoteLivraison session=" . $this->session . " dolibarr shipment id = " . $livraison->id . ", ref = " . $livraison->ref . ", order remote id = " . $remote_order_id); -/* $remoteCommande = $this->getRemoteCommande($remote_order_id); // SOAP request to get data - $livraisonArray = get_object_vars($livraison); - try { - $orderItemQty = array(); - foreach ($remoteCommande['items'] as $productWoocommerce) { - foreach ($livraisonArray['lines'] as $lines) { - if ($lines->product_ref == $productWoocommerce['sku']) { - $orderItemQty[$productWoocommerce['item_id']] = $lines->qty_shipped; - } + $tax = null; + + // Retrieve all dolibarr tax + if (!isset($this->dolibarrTaxes)) { + $this->setDolibarrTaxes(); + } + + // Get closest dolibarr tax for woocommerce tax + if (is_array($this->dolibarrTaxes) && count($this->dolibarrTaxes) > 0) { + $closestTax = 0; + foreach ($this->dolibarrTaxes as $tax) { + if (abs($tax - $tax_rate) < abs($tax_rate - $closestTax)) { + $closestTax = $tax; } } - $result = $this->client->call($this->session, 'sales_order_shipment.create', array( - $remoteCommande['increment_id'], - $orderItemQty, - 'Shipment Created from ' . ($livraison->newref ? $livraison->newref : $livraison->ref), - true, - true - )); - //dol_syslog($this->client->__getLastResponse()); - } catch (SoapFault $fault) { - $this->errors[] = $this->site->name . ': ' . $fault->getMessage() . ' - ' . $fault->getCode(); - dol_syslog(__METHOD__ . ': ' . $fault->getMessage() . '-' . $fault->getCode() . '-' . $fault->getTraceAsString(), LOG_WARNING); - return false; - }*/ - dol_syslog("eCommerceRemoteAccessWoocommerce createRemoteLivraison end"); - return $result; + $tax = $closestTax; + } + + dol_syslog(__METHOD__ . ": end, return ".(isset($tax)?json_encode($tax):'null')); + return $tax; } + /** + * Get closest dolibarr tax + * + * @param string $country_code Country code + * @param string $tax_rate Tax rate + * + * @return float Near dolibarr tax + */ + /*private function getClosestDolibarCountryTax($country_code, $tax_rate) + { + dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, country_code: $country_code, tax_rate: $tax_rate"); + global $langs; + $tax = null; + // Get country code from default language if empty + if (empty($country_code)) $country_code = substr($langs->defaultlang, -2); + + // Retrieve all dolibarr tax + if (!isset($this->dolibarrTaxes) || !isset($this->dolibarrTaxes['countries'][$country_code])) { + $this->setDolibarrTaxes(); + } + + // Get closest dolibarr tax for woocommerce tax + $dolibarrTaxes = $this->dolibarrTaxes['countries'][$country_code]; + if (is_array($dolibarrTaxes)) { + $closestTaxes = []; + foreach ($dolibarrTaxes as $tax) { + $near = $tax['taux'] - $tax_rate; + if (!isset($closestTaxes[$near]) || $closestTaxes[$near]['taux'] < $tax['taux']) { + $nearTaxes[$near] = $tax; + } + } + ksort($closestTaxes); + reset($closestTaxes); + $tax = $closestTaxes[0]; + } + + dol_syslog(__METHOD__ . ": end, return ".(isset($tax)?json_encode($tax):'null')); + return $tax; + }*/ /** - * Calcul tax rate and return the closest dolibarr tax rate. + * Get request groups of ID for get datas of remotes objects. * - * @param float $priceHT Price HT - * @param float $taxAmount Tax amount + * @param array $remoteObject List of ids of remote objects + * @param int $nb_max_by_request Nb remote ID by request + * @param int $toNb Max nb + * @return array List of request groups of ID */ - private function getTaxRate($priceHT, $taxAmount) + private function getRequestGroups($remoteObject, $nb_max_by_request, $toNb=0) { - $taxRate = 0; - if ($taxAmount != 0) - { - //calcul tax rate from remote site - $tempTaxRate = ($taxAmount / $priceHT) * 100; - //get all dolibarr tax rates - if (!isset($this->taxRates)) - $this->setTaxRates(); - if (count($this->taxRates)) - { - $min = 1; - $rate = 0; - foreach ($this->taxRates as $dolibarrTaxRate) - { - $diff = $tempTaxRate - $dolibarrTaxRate['taux']; - if ($diff < 0) - $diff = (-1 * $diff); - if ($diff < $min) - { - $min = $diff; - $rate = $dolibarrTaxRate['taux']; - } - } - if ($rate > 0) - $taxRate = $rate; + dol_syslog(__METHOD__ . ": Get request groups of ID: " . implode(', ', $remoteObject)); + + $idx = 1; + $request = []; + $request_groups = []; + + foreach ($remoteObject as $remote_object_id) { + if ($toNb > 0 && $idx > $toNb) break; + + if (($idx++ % $nb_max_by_request) == 0) { + if (count($request)) $request_groups[] = $request; + $request = []; } + + $request[] = $remote_object_id; } - return $taxRate; + if (count($request)) $request_groups[] = $request; + + dol_syslog(__METHOD__ . ": end"); + return $request_groups; } /** - * Retrieve all Dolibarr tax rates + * Get DateTime object in current timezone from gmt date time. + * + * @param string $datetime GMT date time + * + * @return DateTime DateTime in current Time Zone */ - private function setTaxRates() + private function getDateTimeFromGMTDateTime($datetime) { - $taxTable = new eCommerceDict($this->db, MAIN_DB_PREFIX . "c_tva"); - $this->taxRates = $taxTable->getAll(); + dol_syslog(__METHOD__ . ": Get DateTime object in current timezone from gmt date time: $datetime"); + + $dt = new DateTime($datetime, $this->gmtTimeZone); + $dt->setTimezone($this->currentTimeZone); + + dol_syslog(__METHOD__ . ": end"); + return $dt; } public function __destruct() { - //ini_set("memory_limit", "528M"); + ini_set("memory_limit", "528M"); } - } - diff --git a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php index 9982f98..016193f 100644 --- a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php +++ b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php @@ -23,6 +23,7 @@ dol_include_once('/ecommerceng/admin/class/gui/eCommerceMenu.class.php'); dol_include_once('/ecommerceng/admin/class/data/eCommerceDict.class.php'); +dol_include_once('/ecommerceng/class/data/eCommerceSite.class.php'); /** @@ -59,7 +60,7 @@ function __construct($db) $this->editor_url = 'http://www.teclib.com'; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version - $this->version = '4.0.0'; + $this->version = '4.0.1'; // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) @@ -85,8 +86,9 @@ function __construct($db) // 'workflow' => array('order' => array('WORKFLOW_ORDER_AUTOCREATE_INVOICE')) // Set here all workflow context managed by module // ); $this->module_parts = array( - 'triggers' => 1 - ); + 'triggers' => 1, + 'hooks' => array('expeditioncard','invoicecard','productdocuments'), + ); // Data directories to create when module is enabled. // Example: this->dirs = array("/mymodule/temp"); @@ -102,9 +104,9 @@ function __construct($db) // Dependencies $this->depends = array("modSociete","modProduct","modCategorie","modWebServices"); // List of modules id that must be enabled if this module is enabled $this->requiredby = array(); // List of modules id to disable if this one is disabled - $this->phpmin = array(4,3); // Minimum version of PHP required by module + $this->phpmin = array(5,3); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3,9); // Minimum version of Dolibarr required by module - $this->langfiles = array("ecommerce@ecommerceng"); + $this->langfiles = array("ecommerce@ecommerceng", "woocommerce@ecommerceng"); // Constants // List of particular constants to add when module is enabled @@ -130,6 +132,42 @@ function __construct($db) // 'member' to add a tab in fundation member view // 'contract' to add a tab in contract view + if (! isset($conf->ecommerceng) || ! isset($conf->ecommerceng->enabled)) + { + $conf->ecommerceng=new stdClass(); + $conf->ecommerceng->enabled=0; + } + + $eCommerceSite = new eCommerceSite($this->db); + + // Dictionaries + $this->dictionaries=array( + 'langs'=>'woocommerce@ecommerceng', + 'tabname'=>array(MAIN_DB_PREFIX."c_ecommerceng_tax_class"), + 'tablib'=>array("ECommercengWoocommerceDictTaxClass"), + 'tabsql'=>array('SELECT f.rowid as rowid, f.site_id, f.code, f.label, f.entity, f.active FROM '.MAIN_DB_PREFIX.'c_ecommerceng_tax_class as f WHERE f.entity='.$conf->entity), + 'tabsqlsort'=>array("site_id ASC, label ASC"), + 'tabfield'=>array("code,label,site_id"), + 'tabfieldvalue'=>array("code,label,site_id"), + 'tabfieldinsert'=>array("code,label,site_id"), + 'tabrowid'=>array("rowid"), + 'tabcond'=>array($conf->ecommerceng->enabled && $eCommerceSite->hasTypeSite(2)) + ); + + /* Example: + $this->dictionaries=array( + 'langs'=>'mylangfile@mymodule', + 'tabname'=>array(MAIN_DB_PREFIX."table1",MAIN_DB_PREFIX."table2",MAIN_DB_PREFIX."table3"), // List of tables we want to see into dictonnary editor + 'tablib'=>array("Table1","Table2","Table3"), // Label of tables + 'tabsql'=>array('SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table1 as f','SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table2 as f','SELECT f.rowid as rowid, f.code, f.label, f.active FROM '.MAIN_DB_PREFIX.'table3 as f'), // Request to select fields + 'tabsqlsort'=>array("label ASC","label ASC","label ASC"), // Sort order + 'tabfield'=>array("code,label","code,label","code,label"), // List of fields (result of select to show dictionary) + 'tabfieldvalue'=>array("code,label","code,label","code,label"), // List of fields (list of fields to edit a record) + 'tabfieldinsert'=>array("code,label","code,label","code,label"), // List of fields (list of fields for insert) + 'tabrowid'=>array("rowid","rowid","rowid"), // Name of columns with primary key (try to always name it 'rowid') + 'tabcond'=>array($conf->mymodule->enabled,$conf->mymodule->enabled,$conf->mymodule->enabled) // Condition to show each dictionary + ); + */ // Boxes $this->boxes = array(); // List of boxes @@ -226,6 +264,7 @@ function init($options = '') $result=$this->load_tables($options); $this->addSettlementTerms(); $this->addAnonymousCompany(); + $this->addFiles(); return $this->_init($sql, $options); } @@ -338,5 +377,18 @@ private function AddSettlementTerms() } } } + + /** + * Add files need for dolibarr + */ + private function addFiles() + { + $srcFile = dol_buildpath('/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php'); + $destFile = DOL_DOCUMENT_ROOT . '/includes/OAuth/OAuth2/Service/WordPress.php'; + + if (dol_copy($srcFile, $destFile) < 0) { + setEventMessages("Error copy file '$srcFile' to '$destFile'", null, 'errors'); + } + } } diff --git a/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php b/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php new file mode 100644 index 0000000..179ac40 --- /dev/null +++ b/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php @@ -0,0 +1,194 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/modules/oauth/wordpress_oauthcallback.php + * \ingroup oauth + * \brief Page to get oauth callback + */ + +$res=0; +if (! $res && ! empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res=@include($_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"); +if (! $res && file_exists("../main.inc.php")) $res=@include("../main.inc.php"); +if (! $res && file_exists("../../main.inc.php")) $res=@include("../../main.inc.php"); +if (! $res && file_exists("../../../main.inc.php")) $res=@include("../../../main.inc.php"); +if (! $res && file_exists("../../../../main.inc.php")) $res=@include("../../../../main.inc.php"); +if (! $res && file_exists("../../../../../main.inc.php")) $res=@include("../../../../../main.inc.php"); +if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include("../../../dolibarr".$reg[1]."/htdocs/main.inc.php"); // Used on dev env only +if (! $res && preg_match('/\/teclib([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include("../../../dolibarr".$reg[1]."/htdocs/main.inc.php"); // Used on dev env only +if (! $res) die("Include of main fails"); +require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php'; +dol_include_once('/ecommerceng/includes/CurlClientEx.php'); +dol_include_once('/ecommerceng/class/data/eCommerceSite.class.php'); +use OAuth\Common\Storage\DoliStorage; +use OAuth\Common\Consumer\Credentials; +use OAuth\Common\Http\Uri\Uri; +use OAuth\Common\Http\Client\CurlClientEx; +use OAuth\OAuth2\Service\WordPress; + +// Define $urlwithroot +$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); +$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file +//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current + + + +$action = GETPOST('action', 'alpha'); +$backtourl = GETPOST('backtourl', 'alpha'); +$siteId = GETPOST('ecommerce_id', 'int'); + +//LOAD SELECTED SITE +$siteDb = new eCommerceSite($db); +$res = $siteDb->fetch($siteId); +if ($res < 0) { + setEventMessage("Error: site ecommerce not found", 'errors'); + header('Location: ' . $backtourl); + exit(); +} + +/** + * Create a new instance of the URI class with the current URI, stripping the query string + */ +$uriFactory = new \OAuth\Common\Http\Uri\UriFactory(); +//$currentUri = $uriFactory->createFromSuperGlobalArray($_SERVER); +//$currentUri->setQuery(''); +$currentUri = $uriFactory->createFromAbsolute($urlwithroot.'/custom/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php?ecommerce_id='.$siteId); + + +/** + * Load the credential for the service + */ + +/** @var $serviceFactory \OAuth\ServiceFactory An OAuth service factory. */ +$serviceFactory = new \OAuth\ServiceFactory(); +$httpClient = new CurlClientEx(); +// TODO Set options for proxy and timeout +// $params=array('CURLXXX'=>value, ...) +//$httpClient->setCurlParameters($params); +$serviceFactory->setHttpClient($httpClient); + +// Dolibarr storage +$storage = new DoliStorage($db, $conf); + +// Setup the credentials for the requests +$credentials = new Credentials( + $siteDb->oauth_id, + $siteDb->oauth_secret, + $currentUri->getAbsoluteUri() +); + +$requestedpermissionsarray=array(); +if (GETPOST('state')) $requestedpermissionsarray=explode(',', GETPOST('state')); // Example: 'userinfo_email,userinfo_profile,cloud_print'. 'state' parameter is standard to retrieve some parameters back +/*if ($action != 'delete' && empty($requestedpermissionsarray)) +{ + print 'Error, parameter state is not defined'; + exit; +}*/ +//var_dump($requestedpermissionsarray);exit; + +// Instantiate the Api service using the credentials, http client and storage mechanism for the token +/** @var $apiService Service */ +$apiService = $serviceFactory->createService('WordPress', $credentials, $storage, array(), new Uri($siteDb->webservice_address)); + +// access type needed to have oauth provider refreshing token +// alos note that a refresh token is sent only after a prompt +//$apiService->setAccessType('offline'); + +//$apiService->setApprouvalPrompt('force'); + +$langs->load("oauth"); + + +/* + * Actions + */ + + +if ($action == 'delete') +{ + $storage->clearToken('ECommerce_'.$siteId); + + setEventMessages($langs->trans('TokenDeleted'), null, 'mesgs'); + + header('Location: ' . $backtourl); + exit(); +} + +if (! empty($_GET['code'])) // We are coming from oauth provider page +{ + $backtourl = $_SESSION["backtourlsavedbeforeoauthjump"]; + unset($_SESSION["backtourlsavedbeforeoauthjump"]); + + //llxHeader('',$langs->trans("OAuthSetup")); + + //$linkback=''.$langs->trans("BackToModuleList").''; + //print load_fiche_titre($langs->trans("OAuthSetup"),$linkback,'title_setup'); + + //dol_fiche_head(); + // retrieve the CSRF state parameter + $state = isset($_GET['state']) ? $_GET['state'] : null; + //print ''; + + // This was a callback request from service, get the token + try { + //var_dump($_GET['code']); + //var_dump($state); + //var_dump($apiService); // OAuth\OAuth2\Service\WordPress + + $token = $apiService->requestAccessToken($_GET['code'], $state); + $storage->storeAccessToken('ECommerce_'.$siteId, $token); + +// $token = $apiService->refreshAccessToken($token); + + setEventMessages($langs->trans('NewTokenStored'), null, 'mesgs'); // Stored into object managed by class DoliStorage so into table oauth_token + } catch (Exception $e) { + setEventMessage($e->getMessage(), 'errors'); + } + + header('Location: ' . $backtourl); + exit(); +} +else // If entry on page with no parameter, we arrive here +{ + $_SESSION["backtourlsavedbeforeoauthjump"]=$backtourl; + + // This may create record into oauth_state before the header redirect. + // Creation of record with state in this tables depend on the Provider used (see its constructor). + if (GETPOST('state')) + { + $url = $apiService->getAuthorizationUri(array('state'=>GETPOST('state'))); + } + else + { + $url = $apiService->getAuthorizationUri(); // Parameter state will be randomly generated + } + + // we go on oauth provider authorization page + header('Location: ' . $url); + exit(); +} + + +/* + * View + */ + +// No view at all, just actions + +$db->close(); + diff --git a/htdocs/ecommerceng/core/triggers/interface_90_modECommerceng_ECommerceng.class.php b/htdocs/ecommerceng/core/triggers/interface_90_modECommerceng_ECommerceng.class.php old mode 100755 new mode 100644 index 3702cdc..f39a912 --- a/htdocs/ecommerceng/core/triggers/interface_90_modECommerceng_ECommerceng.class.php +++ b/htdocs/ecommerceng/core/triggers/interface_90_modECommerceng_ECommerceng.class.php @@ -98,6 +98,19 @@ function run_trigger($action,$object,$user,$langs,$conf) { $error=0; + if ($action == 'CATEGORY_LINK') { + if (isset($object->linkto->element)) { + switch ($object->linkto->element) { + case 'product': + //$cat_link_action_old = $action; + //$cat_link_object_old = $object; + $action = 'PRODUCT_MODIFY'; + $object = $object->linkto; + break; + } + } + } + if ($action == 'COMPANY_CREATE') { @@ -274,11 +287,18 @@ function run_trigger($action,$object,$user,$langs,$conf) { $this->db->begin(); + $categories = GETPOST('categories'); + $eCommerceSite = new eCommerceSite($this->db); $sites = $eCommerceSite->listSites('object'); foreach($sites as $site) { + if (!in_array($site->fk_cat_product, $categories)) { + dol_syslog("Product not in categorie now, so we won't run code to sync from dolibarr to ecommerce"); + continue; + } + if ($object->context['fromsyncofecommerceid'] && $object->context['fromsyncofecommerceid'] == $site->id) { dol_syslog("Triggers was ran from a create/update to sync from ecommerce to dolibarr, so we won't run code to sync from dolibarr to ecommerce"); @@ -317,21 +337,35 @@ function run_trigger($action,$object,$user,$langs,$conf) } else { - // Get current categories - require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; - $c = new Categorie($this->db); - $catids = $c->containing($object->id, Categorie::TYPE_PRODUCT, 'id'); + // Get current categories + require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; + $c = new Categorie($this->db); + $catids = $c->containing($object->id, Categorie::TYPE_PRODUCT, 'id'); - if (in_array($site->fk_cat_product, $catids)) - { - dol_syslog("Product with id ".$object->id." is not linked to an ecommerce record but has category flag to push on eCommerce. So we push it"); - // TODO - //$result = $eCommerceSynchro->eCommerceRemoteAccess->updateRemoteProduct($eCommerceProduct->remote_id); - } - else - { - dol_syslog("Product with id ".$object->id." is not linked to an ecommerce record and does not has category flag to push on eCommerce."); - } + if (in_array($site->fk_cat_product, $catids)) { + dol_syslog("Product with id ".$object->id." is not linked to an ecommerce record but has category flag to push on eCommerce. So we push it"); + + $eCommerceSynchro = new eCommerceSynchro($this->db, $site); + dol_syslog("Trigger " . $action . " try to connect to eCommerce site " . $site->name); + $eCommerceSynchro->connect(); + if (count($eCommerceSynchro->errors)) { + $error++; + setEventMessages($eCommerceSynchro->error, $eCommerceSynchro->errors, 'errors'); + } + + if (!empty($conf->global->PRODUIT_MULTIPRICES)) { + $object->price = $object->multiprices[$site->price_level]; + } + + $result = $eCommerceSynchro->eCommerceRemoteAccess->createRemoteProduct($object); + if (!$result) { + $error++; + $this->error = $eCommerceSynchro->eCommerceRemoteAccess->error; + $this->errors = $eCommerceSynchro->eCommerceRemoteAccess->errors; + } + } else { + dol_syslog("Product with id ".$object->id." is not linked to an ecommerce record and does not has category flag to push on eCommerce."); + } } } } @@ -350,10 +384,20 @@ function run_trigger($action,$object,$user,$langs,$conf) - if ($action == 'ORDER_MODIFY' || $action == 'ORDER_CLOSE' || $action == 'ORDER_CLASSIFY_BILLED') + if ($action == 'ORDER_MODIFY' || $action == 'ORDER_CLOSE' || $action == 'ORDER_CLASSIFY_BILLED' || + $action == 'ORDER_VALIDATE' || $action == 'ORDER_UNVALIDATE' || $action == 'ORDER_REOPEN' || + $action == 'ORDER_CANCEL' || $action == 'ORDER_CLASSIFY_UNBILLED') { $this->db->begin(); + switch ($action) { + case 'ORDER_VALIDATE': $object->statut = Commande::STATUS_VALIDATED; break; + case 'ORDER_UNVALIDATE': $object->statut = Commande::STATUS_DRAFT; break; + case 'ORDER_REOPEN': $object->statut = Commande::STATUS_DRAFT; break; + case 'ORDER_CLOSE': $object->statut = Commande::STATUS_CLOSED; break; + case 'ORDER_CANCEL': $object->statut = Commande::STATUS_CANCELED; break; + } + $eCommerceSite = new eCommerceSite($this->db); $sites = $eCommerceSite->listSites('object'); diff --git a/htdocs/ecommerceng/doc/Interface Dolibarr-Woocommerce.odt b/htdocs/ecommerceng/doc/Interface Dolibarr-Woocommerce.odt deleted file mode 100644 index e17f32a4d9a3705ee67e1148496c5003d9619db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780858 zcmb@tcT^K?*EfowfTA=-dM^Uf1Ob&2sx;}ni-6RCbZH49y-HVl?;S!5MY{A35~_3v zJ%kn#PVVPD&sy*I-Jbu>UNf0%CNozidv^WpJsK)_cc0+k5aQsdaMmiD^$9+FhJ%Ci z&x$>S1GEELyL*4Kw)phP(azGs-OkyG-_yy8&)LGw&W+FcleLqTv!w^n+R2^I-TJe; z#{V%{$F!#FFbNLMKPwe>G96nF;0GrQJ4ZKu_x}$0J~`QhYp5wadO-64d&(mvML8|( z7J`Fw2Zs<3JL*FB@8aO#s%yN{k;lcwB_blCprD|orDbJheg6EpkdTm=n3$}rtcr?? zwzjs3iHW-Y2XzBWEhB3kQ#<|l4u+Oa#?~%owjNeiRt^ph@9n)lIQm$B0=c=l`TF|W zxCYpHe0BUB;^Y(V;vZ${*x=#O;^1-Y77*hZ82>pq$tU!?UqmV>1kt7{4b^?uXQ(!= zEeq3^+cB2Am6N+wQMuLDzBM-9aWwej_F)eUytTBvb#SHeb#+iEG&s03DylarY2e3?;jdqB1H#T?Vs2y7;E7rAgoN9;@8@Z0nDmOStm@vB z+@sX|@|o<~{yfNFQS(@NV^3-8R5f&8s1ol4;g|sPuG<1Cj=e*h`0?3x{Zvy zjgP-gOWVv&*r~`rtS>%lsyJw_xy4ReUVhqEcUxb7+tRYt)ppR++SS!HJUl!;IyN~m zHZ?UhKlgiKVWGc&ZFF?2tLt`T1k*dY-aWlDG`}}KzCAs?3xn-XP2Dam+#Zhfudb{h zM*B|325x(LZij~vlSAk8Q;5a+TkIK&i>oWEtE(&Lf0owQ*WqyZ+S>8@`tANca&PbU zVsHC)W8-pf8?(QEe0+3ue273GP7&zyOB4oyz+f;~xw^f*4US~K#){l4B{^xG&#;4~ zSg*$lAe>J(vdQ&61#J5tjwERt<;9U+KY_qH(I08tEp_Xot)q)~f(xazUYW(eNu1sa zkHEYVP<7MT8A%>#{cghW0?61rdnV``ay%S8abukU$#@@TJ@lO_Vc5W|Vk<>b40CAj z#WQ4lhWOrK0MRx6-wX0>*^Ez?!U(vmXxcKt9uVf;wJs;%R`i+f7oiKC5{K|R6+&{8 zHO{9pJw~$hr?1{Mtul*1DCPv%Y94+fy-z0p?lCTIB@6Wry+Vb)g0PX6-RqLl?qAQm zaX%AEkIG7uR*Qd=Bn;HR+YyUe75^ehD7|xOBtVaEfpa7CMDSUdOcwKQT9g1`HmydW zb*O&!onxF_Z$ed&!LeUYj(S!p&7C`(OaTJKU)Y|ketUt-nUl);lbIq%0BLvSLmx)u;hX=YvB+}~x@uS1&J#9sum>y!F4 zokQV5wdmf(wN25pNpVCrM!0y6hMAIo_lxmkJpV>#B+2656iRYQtlH-N(b)m!3nB$| zJ+|U&cf8z=8PYdv5qR-xLA1K6-R9HLeqAhS-m;fRY`gdbpu$GmV`YE!tS5;G{g~gh z)nKIz^%1^J@X$b=#4K~%|KfZHp)V>OWYW^My_`88Nl74CF?Lu%^6p~fFs=RbRaei! zLJI#Z%6;Wvh*FaN`#~A@x@L_PU+1d!Psn+NUz=@cePj}*bAA_t+4aZspTa{Trcx>w zX?HqYH?{nw%=e&^9nRH~uLS(t+pBKl59b~?X8H#?O3~aFmUhrr35v+H&ycZn7-dL; zDENBUdQ`}F<@(Kk1i$cS8#+IO$SWp~tb7U8`nDYlaXzpOMLciHexvhNe7WPRyIzC{ z#Dy&0ny~3z{pR;$zX5*|$hOt0D?Q3A{;pYi>En6sCR*k{)l|*C ztIv_U>@R-MH0eCcp;cOW%yQf{uA;cZLSnm%l4-t^%Krim5C6vFWeQ8Ssu_O&U6wl2 zD(+*ogxxcpO&M5bX~Af&$RYl3iVE(p(s~n2&yB;5(-oDH>aVU$k~i-R+$DCVyb6fq z>7ia8HO`^EOYCGpoxH`yYv3-$Ax1h_$uA?GzhIpio@~NLAW?yMdB|CR9L4q0@Q0Pz z625EdmTC|cMA67jA&1v)3MNluEtBCKE(9FZaTp-W$g3z+Rmp8UE#MFC6NsTS>RH+qorCHeV$Xl#pqqF zw3qf%o|4OTZ#Z}SY#V-B9I#MUa}rn(j8O|4={y$d>nbmPXjOA%rXLhQ<#tf^i?t?P zI0h2pLLMX~*UoRfTHsrLPg_pdj)C<`FN0ONCdP-7T;!ckfUx+_FLb^z6Z- z4aB{@o-~yVtJCo$W*Y&QVMt1v=)$)R4L;WGnFnjQ4sn7V&C^ewF}R8MhKHz8brarQ zywje~_KxKpQKkr`(exKj=X(1xOmZosU+YW%vy&C@qN5LDq&JBp)$eRerneEG=1gQK zvDfUTGNs{M<5#c4AUP+uhnX01PBE`YgbsBl4PNL~8q?5tZ`y8d#-%_*z4R#&v%<3w zg=uJGvac6qQ=g?z9nv9a0xEu(kPIYk494K%)0 zX6^1CiSht8wV*bRKh693R|($O1Le;rCN;cwlK$ijek!OBsbN4tYrIn0+E9HhlW_HA zcP9@d?XJOD;tYh?n z?#%DS-5=EG-OC`MlX)QHK%lW=0qRtuduL&mP~Gj(^cdLs<_9C3O};e!wAwg~{;-6O z>B*B}>p($PM%N0Kx%4C(9a1|+3io&g&Xl{q@eGqTGQYe*v%cN(=H^Ikk&?M1^T-vn z(IUtb^s#)2ic)+dl~jFLSg!LcxuEE36h(ktl))FrR7=7?=f7-b^w2ufU}PVBD1Qai z=3-P*9$xQ*m{J{Cn;uPyAT(T<_Eawi;3t| z=&GV}>^(L%YJ?zr^VZK(x0c$Rqjg4vGD~zp?zKk3{`#XyTGH2NHV)v04IZ^-H~9Ie zDKtW&Ekmp^fT# zeCHY{#h}U(V&<1fdMH$^QE!E&G-;?UDbsWT+UPm640L_E{Z4;O!!EzBzRm!)By?K5 zuMU0FnBwc%21#w1tZQ>W?X8T{Dk+0%?HyJmDns!1)(jEu1+LaR!Aso|NgtZ^N@ls+ zdQV5!h$NP(M1*F+E}xsvj6-RQk_NY?oXZVhO;_f8BL0>h$oL-&1q?%*B$ElFB)JZ| z_e)-{zbn3}-KVtM>=hcj5}Vmr>5c_xM)w_U%bw&tdfmT_7eUtKsoL}Xr_{Qj>KV;nA9$HLUTnVTMf_NaGcWT|O4@Nj3eVjJu<|g^D3V4A8*wHix=4|6P-!Yo z-{AI}?Q^*as)ji~{Y-D!*5Jj=F_8C&LRV&X-9eM*rN|t6O$?=Rwc-m4KHU$U!Q(HY zf6T{!SEl(OK|g}yX{5Qn=gZya4T@k1v~IBD&EoO2=| zerx*nMC`T-2Rr&6E~(#N8Nw#VB!rVR?&@goU3!5}uNcwL7*L#?R)ie;?L`&< zoies^>y0N|knZ}Vi0C`!F@F?Q?u!tr_^<-TGro~GN&urI`Cp5i6yFm<7=bDjfs!0t zhVmb|-n-c&w>vISx8H0%RvtEj-orT2^V@quZ5E*v@;#6Dqq(0F$!dbzWBkSh5s-uf2Ck*gim;>`MIu% z9z~5tgMQc3NCk8(Y*{Y|Ro1bqHc=y|rVX$3`Pb(&27&Y zbCI&X6?w87HBTj(F=>;z88m9I-RRv`Q`xjzcEk3Z9&qM=FSO|x#vfclc+B`i`q*p= zM@e2yu2SZG;Qt^1goK3uffN4u=D+k1J8-n{cJ^@RwY0FbwYIc+Z^ilT{fGC2t5)yd z4_F2W!YrZ&q(ahOetU1Bffw)1^YCG*-@}JPI@DCdz1j93e@<5m7R%09A*80K5uF7u zv$g14NxAs$7oT4V95_CFBUSsf_-$I&7mG)%cV!D+=D;WkrR&|4Wg+~bb~ZNSA*IdT z_cSeeaZ)A&m6!Aa6iq({*_)FfcA3AwPJcM8(QACk91;2Zj~3H$eA1Ur`G_wTU&-;h z?{PFe8JELnm&On2l_G)Rp;vew3ST`Lw&KI*cuDDbzpEf1_o4ciK^r{NCOlgoUP>L5 z?sp=5|AA54&K4}XBEbBQNzyC-NV(|jsJxJmIMXH8V? z0-jjY_Gd*y*CP%|3)r4W-;sV;t?@#j8d(Q@Oj}b8h2lZ)u|1T#%XKI2Fa*AMxpg}_ zy1c)*zkev)f4kkd;->8^ju_n+y!FnULyg1=eFdm}=h&r=?t!a5O;KT^N;DlM-doY# zA-MhmDt;qYZLWW1xAsy=)q!nbU;wh5Y1&D=KPL~m-1P!3ifl9$MB7W4sb|;{@cxB> zGsezLq=^A5{GcrL)=aj}T9t*`=SJ9>vl&ZA@gcEQ(^ZBYTSHP6jW+t#pe&J(=z`Q0 z|20qFda*WJFQ1%(=xV->GPNjuqrVWWv~gKVfC&>|9@v?^>KxGFC9DD%CpnXyG3wZA zlp3#Evc)Cu0ej?|BIiF0U*AZMB-=Cc>&-^bMcKj=J$%JIKD18$n`Xg8(M$lFwwG9@ zC-m9DS^^wbG?`xCd&HJ!LCbD18|*pz3@$InKu0ox^OP!PIf(}?h5cDw2ePZk9Xs}X zhuH(qxp2=J8+iYBBq|YSe?pS3vEK9PMSaUS@xT8D?An>=R753Igln(aN^O+bT3ai= zK(|z-VgEOG$?nLWoESU-i65x3gl+NGFVWp&=p{GH>Iko|2H8QuKfz)FV%lukq*5yZ{}pU+ald%u1PG9ZxQa*{87#=^-p@ZA4=*))WqzOme_PQLxxB4lIZ zDQBlwRVKZ)^TF4SI*5lh7^SeqZ^RxP%&xl}Q```8LmC@wYhl*M77fj1w4a%k2E4TW z#)I02Kok%F z9N7wA=JwObAQBAwjtPCcwO+9?lLA7z5h{LKIyx*@_vB%ab-g*#po*KoH6!ODiy4y+ z*vfGhgTz7UV=RZBt^sbMMT?K$CiSn!T@$yfw|E{hDbUZF8`ayEC+AI6sE8ea)>0tw z#$R3lwUneX(Svx+pH$C1EdHu%&XLUP8f1l&{1^RE812oE0 zGp_TwK9C&1Fskq3Ti);wR|sqsi&%1BWxe>GRLkMh6ebtNQbt0u)cu zGcx$o8b6lR#AVJ(!5V>uEMNpeR7Ins%K_3>t$g#y^nyDcW{RG35ue@kEOQB=Ww*OMGY;ty(zWn6stYmsG3*V*yeI`kSE!lsAw~BKa4wtiLF~t zfF0;Bz&BrrHv7cP)SEIR7%0zunG#`7NqYY{if)BH#FtecE*oWe^I`xVw>GJDVC9=H zj|j1UoP1yl%g@m-a#a zRu!DoW)~7tHR*gme@{dGW>x7_ne|My?Bo1t^rR`&_RZ0R(fy3<>1}Pvfsu-3&|CxK z2g4f((70jPyh%A#)S(#C&ki&ajpK+Gy6cwy^eKhPTcZdXg+3D)WZo=WL5)BL!9mbt zDzfWbVJH{e;IN=`zCWqv2_M&LvkffABlQ;rj%xAKt|nw?YrrvOVY*#aB2Hw;w4h>- zU;ccK2|kWrYdsG>{&pWExpmT!U68#dcZDL*};ykk$Yj4!?}tjC{CnD#pevTwzcYaATN-BwoO342lQ}qx-Iw#CAN&Tk;H_H!c8l>$Dt(;d_q|F7y8=bYZY7?)u^EHhu!;!77@N+tfT@?DW#2_Wy z4e?+j=7n?ch41yBp$(X^d95jEFGpoFPrYa`yq})wAAc*lOkagdUc=}pegI_~f{t zkA}OGVi3We<;%-bO|2w-s&S8FsEcR8$GcW1C|o17EW1S8msTX^?vIX71wa%4b3^%h z|C=N?ZMk=cEeH{!T^GV~CeBc$GZWNhS28eJ=BtoY_;gj;kA-QHj74?*?e3Zjw9KPx zd+!XdoJbkkpQn&*C>6wZJ}}0g2!t`2by%bsk!U`daC~J5VkPhqFyKX3aRCf~0;^g` z3yiAClb>|-W=4A?s3MMMJ(YHV9!usROUH5ph$cuKZpGsiK0&S^i08I8z0ZP6*VD*gNIVWhn(Pv>7>)mlt>CV{#Z%{;n$R0um^ z7i9^^&@BT`=nLmSb?C~@?i5^T&sPR2BH%0}HE83P`vqZSLZ@LTAN4xkOL%Y6KQQ@U z)BrNRp?fcpRIxKntP=5tYCP_S&nFU7DB2B2@ z+<_f0J~uDh1bpO)FXMY{7Tyt(`DtGhFEQ-qly+r+iTB+8H1mQW2=T6Rp|X`M%Z$()5O-U%Eis zZ}ItC%=f-WK4E#%BS8qhGxW29xO9O;Z=5kqllZt<=?OkHhSp7BFDa4D15xY4={{`^Mpt%gjOom9kwNMvJNJxW*h z!06pvrRh7)SUAbt2Q{@Xr-1VchnfHD3?Jioz0bi%YQ(YcWR2|e-PwW+x|hW%?gxu%%U8C!Hxf2>p8;?;b;Rk#V@!Nk z*9WY3>TvBJu?cEK9zsI>PDYOQ3{P6Y$wSflS-H9Xk3NnW7Z%#yYx8l}Ftn(VLMKWQ2Y zpTh^dOXuokKS#~~d2|;|PU^3wYyOizlWFpxg`OlLW$^|VtG2-}hu>ixURv1|7F!o0 zwSU5592fFrNGH zuep>8PI)z;bK~edj!g_fF-FzLR5sP;+A4H!0$g(EeRQERc54$%BRT-?bgQ0 zBH1dXZ7X{AFp`r1mw;xwG?5VkU(ia6s ztdD^wp|<XEe_c7Ym)>cwv$e+|y0or%L>;AmPK z&Ka{2H(G&_MkC#Wnwpsdg8ZnZT6UF!^x)I+Ttmx$!Zu}_3jDSP^&F9%+FIo#s;G4) zTv1?pi9-K}!-a8>SRJEIPn~BwnQpjsE6%r~M= z*-|NlfRg<8Jo;O4ugUmGs+IEB4K{W?7G=6Q(p+(uul9=qrmk*8I_?g@hNLmf%XsBgXQhia8U7Mqz!E*K@=-9HBl zZdOCH@kSSQ^VfJ(Wi6LwMK8}w9C*Ui{+LY5(vG)tD61$JG!+|wr|`F56T_c#>4LQ8 zyy&qZj}g*~{_n~7nDY3ud(Ch*F0SmCjL)LDUXhKYX4RQZ3Z~kDpUEd)?D(hr0_K_P zw}jPzX7*HDMy*C)(M)IgehjLG(+n|5@XA{w-geIZ+aD#|EU)S`eVRSLBh`vFZtu%AQ2iU}JVY)NTQ0k*xQ#AM}#*^$Jsf}V$N z1Z4wyMU0;^H9k&pJSs4zOn;e@U&!&?nn82qyDzzaFO%I=X-UN4U8;8>N8d2>$D5;j z1R2@0{ZF}b$^Ao`k`wboPf%#-`Fd}tXAMP3cy7ruul}T6P^vYZfw4uP8#}9H(zWQ#kDFGD02|`Fq0c!rH=2NSaDpGv#>t z(j)wOf{x{zI^hcf?WF9HHDL(gu&5KkIlpF?1=2h=+^9oc-FpAQh&BAn@nPkXEqsq7 zJ43A1L`O#_ecWXa)vGT;iL8_}rEUB-l2VWCXZbm{&9Ct#;3PM5C}k_8FgD5$6t2^+ zKtG{gcneXa)D_aQ{s~&L?i&WrNM1^L$vxP{{+)P>P$W@`U4Vx<2nBt(zaqOeY)&KT zgbAeJuG=eA6|))-$Q1k}MdE$7tKQX5jbh&Onw);ETqfi!ORo*ecuugtqSB6bX&KJw zFd?R?Z@l*Xor6mHM{~u8P8e)#+BAxpWm@p0DcB1sw@S4N7}XR&4q@pbLe*v&?}~RN zC6vbvVhK)31Cmy$ITt!gVU{-7Y=hK_v@JC=lZ8;d--liDeays~))EPk8gKS+<+&jyKi*Xi;O0 z78KLy{wSo1&-EZ5q`2tJAneJM+^ukRuQxs^qsT9KdaNmYEhGiTB)^$ebs*|{247}u zUq-&{p;|vQ0#Ztb(ed-1aAjGDm!=5SBbxxy)4|}#NablNMRg!kNeLHs7tK1!1)H4y zdO>vVxcCO-U^~nOK9>hVqHIgb80 z^M5T|&e(oB>*YG&-93Zw4{O!?;yyIX<9)dtiA~qbHY+Yb4;U}5L^}q&Z5X(gpa+G8 zFu(N-MwXavkW-`a_5PAP189%cxXpFY*==(cuBIJ$M7eUqP3dsZbX1A3TBOw8TW_N+(Pa(9*)txa;__$2~Vi5>3 zZ*>fKceja)W{xIkwJVSXxfbCf?iYpn9$`-$9Su9Ln@_%fnBxt8F;}}wlp|>*m#}Wa z&Ts`Us~INu7@Mtd`M==2e|C+*bKZ@$tA6et87Hci$KY}SaBwmR#5@*tMP9f6$L=k18Veoz2CG1AH z&-x!#gSCh_+5MZ~DXL?R9MqLt6mOOy?9727;kUw z@rk`;=;!i7V~?L>Wb1mgc+$gJG2T(8M&@mwC%R0}@98sEc!Fjtm$G|SunM4L{}ta} z`3~Xbs}6g>WnWcMQa{n-1uv_i82ZvDF?St*rQkq^VX4qmQvnuub zcAu&C=eBbnUG_Yl)=pSIRIiaSA|k?Sp}}!xvnz0|dgoh;dA3|QE)Xh8@_N*xbE@>)_QvM(xCgk?qx%Gj zq3$j7uf4S-DM~U&sXn~gs*`_N?=9x&Qo=yylyARehz(wY&Gjng*{H>8*@ak5HUu62VOZ_&7%$ONO>34iwT6-`ePg{JBcsj%)e7pxq%h$|vS5gON zSMm|=a<}Ny>KixOC^f^_1AYdc3!4YU4 z`WN?EUq55h9oNCvD8}=$l-@+wh71Vt8R0nb5$B%azWc;Yu1H;e?q1grDM-H(mR;me zjNc6}Ycc(Z^-P?cJjuN(`k~kK8k>3M#>|8&$wqxWlW7h6oZE~A)1g5{8A~KopJ_#$ z6M%-VH&G>WdJ?=ZwGb^balU#0Ci~At7qa&pHC<{_5nc;e=&Ins1iAAkDwbwtbB9xX zVB=iTRwe~|tCHe--66<4-$bx`STN278@5+nc)R}U%|eTWF*f}vCDgJ!v_s3|fG@8r zh(IF79m+^L4Pc)jtT?Fs&1Cyt{blBtUf~aI&adWSPF}#@Mjgcewr$uWWg|Y!PnddM z*pkPv6^~89AB3~$T130I$DNdKR@4A;zZ}f!r(n_dyItsL6GpSA;2w}QYK{?LYpMRg z57h7SUgCD5Z(wvkRM}MhdwT2BoA}?}#HBi$iefx(Q8EXW2j^Gl7T$9)6dBpjxR1+i z#A4Ms+F^xXu3jeJGrT{q<7YN_nk&0NcRC6F?O)&!_CUj4g(#IW`@TzXP;@p|Z!MSg zNB_n%JZ$9@+qFejo4OLn=Wi(A+8yhW?~k15+N3ISIsmj*?Nv`zPDn&`!#Q3ROc=yrT+g4>f^a$iUp@jr(<}H>o&52hu8rf)oS%)_HCpONH?j@ znvewDxe5|{V0@d3pBJ6Pw4@BP}B@hA#Hp}>*nRw-awmU29#J9eh@S1~utvfI{E40CRPRj{;Vxpw3o|MI*ma>BR{v1B*thwOju%e7l0#hIc)OVaMmqkYT z-_RS@d1}jSX8Ek;)Y>#ISnWk zFm7tb*+1;2HyW@r3;apCa-Zw#h0wp<87yNWQ0VOk;^j8>*K9p~x%JaUTU+Q)i$P89 z5yQjoNt0KhCsS5P8VPnpvkh?yaG`bsqp++oB~%*F7CvIP!n)4SQeiD7GdMyM<1DIhu&AdkOD_id3Z8QC`+eT8>Ff z-$Nt4v>}l5rq^{3*+2`k*PnSc@f7zJdXjF>BN+GWRTL=yM2Ei5Q zzj;K6HNhF2OO|B0ak1{e)^WL37Gqp%ME{lZ&kyh|ZC$3B#5rkfKX1nkrqL*LEKBG% zuJ^VgvBJ1+`ZVeXk=5k{K}h56Da!Hn$KUUF=kpS7PPSW{t`S?%l|*9_=Bq!?mXnR0 zF0;tLAJL*xCo`)}7o=5dsK*ed&H_*V6o)>5+o#m_xjymj$-%=Gl)(dkWC?z))KT^> zcDyo5VPbR#sKjbe1u3UncZEoxdn6lyFH` zaHD1L-Fee|T>CD_b)8!J*x+y1Io&6; zMx2cdAb|!hOE*bc(ZO#}C#d4paS0*gbrOj~X-8~qn^|gBGy}PK2;dKIbYQG zi-^CC)oU3MR&PIVatOWnc!Kgf?bQdoO;j+3=%MM4^_?Yj#Sd-&;;kLJ8l2{J$nSI= zH3Dup2pFnk>+NQE_?Aj^iP~a>9YjJdZqE?me+0?s@Fg6HaV=#R=E|3|9m}4oYABkZ zUmvBfTgAozfeWS@8f?D%%X)`2Scum9n1aHc`i(&4DYAa-l0P4xU>e^qxBro_15Bf= zKEuQtZQzX=(41^?32|JBqeV2O*5poRaQK+W-)LkUlPsXb(VawiG0Onf& z#lyC5AG{>hUpWlt&4o)Y?%eHjwm27IOx_OT*^fYn9D9 z{thqkWSvZd?V{67{h15ef44#K0##u>0Xvbg(&BFdn6vQ{MV>U@I?)>q_u()UW zV7iYz*MB%M-SO9y=!%7%zW+^gATZmb-Ht5;LF@Um}j~3dMHXIJ%_=sl7WpUzm@$WR|3z&m05zy_}xSj!1?a zCA6=k9f5ddiT9p~E}sYOuXLm=em;0@gfgl9c<|O6S;22L(eb=A+aGJ)ya7;CGcF$P z`&IqkFD~vRSem=_QcspC*j(BC5%k{bCF#Bz6cU=+;HUs+h(S_BSFYaV`W3lYTt0s4 zcizcraeKG|uHuv|qXFzM6hXx=cWB8#2CY^Fi$2>z7L3;UqG6LZZH!d6w_+->U4EF& z*n;}$s_5`3wmORzam*R?bldzk2t~cp9v)rxxvIa?^v$n(+v!a7VhwRvn8o{|`=~3h z0#rGOQW(o%)WOUp*ZZ4%KqA`x&mUe@?|;rWYeJ3|bq}enbC7jp1I9XT!c9IM-mm>I z^TzvZz>7`nnR>-s|7e~IQqV>gNC5<~5ZMoWPk* zK7kbP#TKsQ`*DyfTJ_@XzNj;X<@H4%yldzY?Z;o=q0aIC7fZ$;M^c}8#d@2#x*?_; z45z@~CN3nH=S=-`jM^{06y@un+Nu2K9${5QmfE9VR?vH|KIlSKT}2yCaCXEB9!Y)f zwSxNo&ZN&APeVccqEC!nUUx%20kic3{H;3Iyd$c(Ecbn_!Zc5Ms;^%Lh4X{mY z;%tSn+*x-Ca5b!(INsQ)MMmt%Zqv{DFmLMhr`)~vmA{&oQT%Rj%E@M<_D}^LYm5Zj z2g5m^z!&iOChxLZEGiVg`F!@RBjDsRXAN<+@g>weA$KkQ_?q}&VYlB2MstCf6J5TV zY*_m4=`|g_J#?A`w>m@fC&{BjVj_$Ds+gY^%MVlR)@G$lRWmdi6VnPx9Zqlu2^=Ff zs9ldTQU;pFIErnR_Ps`_yOUns>?Al3{k+qb)a1T25?iwVg6ovO1I-&NfsA>$)0jdo zQ`x*rCSeY-cQ-_DZ3?|5P9OnXX)?^jh@E`{x$Y?`{4zfBH+2GN#9cjnjFfGig)tyb zcZ+QOX)f}_bFc2>zR~JzM`IfQpd%n(gs$%_jgbbM`67sZ93$M>$xS_W?Od-QBzoTM zXP?pU5A^Nr@m`-|LyrC|w{G|yGt#DQ4CRbuk;C?<(bn7PX25YkyX)4kyp1GLfd0bh zYc$o5i!t(M@P3)=#1*zYa`cif3auuNetWf+*PkSO{&ma@3|G0b>v~Du1a{u6dtT{V zJa{wSYG^rMZkY%kpoIzRSYp@R84|^n<)!I%@MwC~b=}zV(ncYCEJ=H`_4OYY ziX$Z93nV%g{LQeAazOekYS4R|jz6IgW96gWOD;X?5b*9`u2h%E5bD{6VgDc@X~hq{q&x7*V$VDLtPvx= zM%uhK>1Ms3Hx}Gs?sLAw-Jf|0psoi4n$L3UtOln68$sHmbM24MlR_C=W%20*#1|PL zM})u?=^TIX#JPmwg4gYM``6GiSAOV*qxWu-*T$^aVaj?4BNwIlrx0=Eu)`nMh{(vz z(=sRRgZ8aKqK(j#gpJvS!xUy&5{(Z>B{pU>P&yR=^Nr-`W#s7<<;u`_&ezRMF=q|* z&+}cOk9L-|9ey{vbAq4W1FnFuhY}+S#S$4}9y%T}8^RZ|kb`Fxz(xn47~6D%5Z@!l zIo~4&*Wnr)2TYha-(r86vo&s-@OsH+VHhqf5#NQ7R-YvEk$JMcH-5Eq~={n>E69k0d0TV2-qPpGU5AB&~6%#UpK6kSDnY zQ`JFPjJ`ga)5Z!Y5qmaT64-Eq>EHi!g}y#doT~@6Yh}GllT;`~zbGpAtC@B-ViMN*E85x+ zER220pESIX_k5wT$OJrOsikAW(_y!co4Y(z1uh+wT_L5upX0c=y}lVHdlAd|4AvBO zTxAWobX@Uo8M=OyX1!H@&%QMYS#}B<=V#eInN^3+AsNBXf??6CUL%w?QR2$TdD|m} ztQ$^wd3izfn78W?@-_i_5CSwBl{gBfu5zOo?bcr+~&)oSx+O&hhSx-(=pYA_y ze2c|skd0ZM;IE42hph{joqNtjsP9vsJ?Ip+T;N1)^*FbdUFIDs&Y^KXSYDQ+&c#?l zq{0xnKjNjX)@9GLJMlKID3=oh197PVpa^mnMjF(+rWI0sgd4*8G|_x>qQ+~mK!1_t z9*lA(f1o3L4o<<&6AHt=c@Jy9g0&~q`!i0Sx7|F|J2O44aX;pG_vm7*2CFqTqp8oo z5+D<1%I1DKcc{(naXztUMv@pp?x-IF6!O%3@RD_G$h#q z)2Qszc5hlQCl|B~bTF@G`m-RCPGed_dvvXrg{Sb#aM98Dw4JWmW_zLnGH|J$e&Zq5cX8OqAFjf*qHVI$%cz%Gl*6;@9lhQD;aRDLO`@$CQ z`dL*A;sP5?uE+-)fpv@68i*g}&-x#vWEOyhz2vIt*e4WZ0L%p`_82W#@{~#XTkR&4 zFk*|8UHua0XA6RReMFm;3w)ZWCC@RTTF0wYZaZ^%^rxF&4(w0GYTdfPqIQcKw9oDt z-F}5#a>n;X3wEP>n|{Y7RU|h$Es*_rhV)8w`BQKH+a`}kvWx|QZ6`6sc2n{=oUq8* z`n$TulbeIlXlMULk%{Yc^X$8>VXdWOh37Pw7vyJK23ifU=+J<%T4(k?-PSqFk8e}y zB=)6t>lOYV*4{d*&F$S9-BsGs7AexAEmAxbFU4Bi-MzR4iWf;}ad#Qp?& zg-sgyhtNeSyHp#eIju20zX54mL^^a?tgnp?=9%>^N=45w2ZaD2boxK* zEUirhotbh^9oX3Nd_vB#od=f$2A?@-#no}PILT!xucZ57?HqFnYo`Z-02%`%Qy3~PrG<~niHgFeC(bdM^dZ6f;uRA zm~8Rx_-^=RPI93+fqQ=sEvg(qpF!WNW&3v|uF*qHS+4L?@mN-)> zqG%3&GkoZ3Q1f5qK|HgLs3InI#;MaH!(>-RYUD>H$YHZl%C5gah9uR%B8aygd~gjj zv{jn>6n=HyV7%PPtU@5;HA*5>oSc$<5(eW)C2uJ2l62R(05wi*Wzh^m*jP50fPiag5foV>nb;i*CmJ=EzSO+;@j)j^A*@_t8hZ@K!IO66 z<)ws$GgU+p7I^D&)m>> z?Bb%3wN@1IV77PcjQ^;ZnQ73MhI$r9Bcy6T&6;lU9=6_)lQ^~-xWmLC6^I^T@mo#G zwq5JxaWZ9AKKXI1o|<8fV=+zGK7LjpNpc@Ozb@h&PzW%=p}ywyH+!@)jG%pYf9ae1 z;dJJ|x;wvDw<`s+&wY>Beohg&efE_^Wd8hxZs%09Qa7*VdXz%{!alfUgC`%4Tzn_$ zv@3Wojy?i^3U}k38Fj#MK$o?<{t3xm8ijClWroLfCzBVyGaNqQ?EBjG<5EcAK}NGx zMr=A?@PMVWT_)(_`>@5U-zh5|K{zytsLwgs-$|?^`~lIBTbD+HIB)u8ZhAE;s!7~? zTX3r}fXJxR3KIKr#X)rCyl8#bv-Ycm>rpDa@feb@aXhcw-+7YkiRexli>ag&umIuX z+YctQIhQjjr*G{}RMEtaFj)18BvrcA@5vRi^ zF9X)Rkpowa-`g!G`29|z>hY`CW&gEXN0%{0h%^yNJ!)<7wI7QQBkgLt-q+^5hj}|) zl-mpCn`vzbq(0i0T{t{{yY{8pmeVYi_5Cj708deGnJ3Q|aKw(c@xwSW zPfQ_C(I}>G@p;JY)08wWgQ03DoDq^!n&&5n!gO1oIay3PBlLAJbVGILJELuk$pL$v zMhxIh*Eg3(w63jUg?Sc1*#HAGzXI&hP-8RZaJr#(5O)?o2@{rgUZ80~H(^$fBYF}v zoIrE|SM;{XZ@QyD{JO%&N+A}9%S8VHops!)$i3X*&O90#cB*FM;!?;1<3WCFDBjeK z$yPm2bdJx@ULOAad{)lH%0fh~DMWn_^t;E&5lWq81u%nXY8$+Gd_U%~9q}{dk#ldT z-1QxwVFkbW8S5WGQU?b^O{>!8=A9_v)Z@MrQ4cJKLD(GV$~yCPQg$}mnZ!vl%DpeP zS-jl^OJB`6fuYW4B>$)KT8ZH!>2z2tIqJi;y>Bt~#@%Sb)hg50GOivrT(nz0Asaed zJj($F@!9P$=rp0`;Pzn&o;1`OKCz%(NaQ6Rr*S;*jR5JVfeo7-$`{}5Fl!BsjSkFQ zV%t$Zl|eb_xxGo=qDk%uFNv(3D_la?Oy6%pEf!A*sN2$Hk(^VnUue3vy`{#t4bMjO z`jq~?2Y*9asOd6tZPcwz!((cjOHDENosmS&IQ28W(!*`R_+hH8^O;Dwb>2zIh}mpl zLI=^p>{|{)e4c=Yy3|f`*+SB*i%Blm`X#y=X5HE;57_`KZfn3|WevUU0>h5GVp!k^ z8oJOlR!&!$E3nTfdYF1OpB{pu6?RQ#RY@OeeL%amr=YGL4_dIIvq!JR(~GT7asfv_ zs)^d|cuD-HPVuC?@g_yMt8EG3?;b9ga;5AlLy@I?0Tu7umD_V$TAeI|Aj2Fdfmp{8 z7ZuLk0%oE!nS#u|!x97qM}a_SkujlhqjBOjeog4CQUya|{i(^Hdt*UjXE+6c9Ox>` zpm%DMID}n->Bs-W$L|f!#t0S^GTh;^WpQ;bE>JybZgt|?j<~ejBJ|)YT>j#Sl*@nH zuD-}CyDcwPF>y%>q#wtkX2la~Dz1vE0hk3|_(1TjtBO0DpEu56t{Ux4ofbs@DOG5z zM_=9mf6vzpDVS;|JLD)RzYV$aY%8EpQRJ)XqEe1pSkosPVS>OJE(?6B7CzBTRgZa^ zQLO;TTfJCF?{AWM8EVkZTyPIP9uzQTdLJv$T#v ztEsJia7`p4cPX7JLs{P6zZzQ9gsRyiN-H#MAn42{rzU?oenl%!nn6E(Wn;%U3zai$-%R`@;QUkS!P zuM%6sp-r@}`$s>JA)H@d`}D`Zr-j(@Z0GFYz3 z{O>#E{<%{gW-s&CZHkX~|6BL*-|w$z7QD*)%-t%o^M7bU{`ueZf89p`{$F=Q5bpS2 zSKlCf${&v52@WZtm>ygayiH=iW2B2_o<*coZO@99AudPYByPX;m=v48`%_4$i)z}f% zSgx8cX=XS4>Dk$$X95K!<-o5x>k{An<)bmFD|W3G5au*FHKTPO9m=nvqh9HDd(cvycb}uSPuxvOWes6D;pbIplO5M zNUCBiN%u-|F^l8)=Z`MS?M6{uguf;a#8jK< zIK3+U^;3tojs;g>u~JcNq&Gz55L&OA=Z%t@T3QmbLIuzhIjXk`(B=y| z?4jnj>b_&t1@4H(_Yk%`VfJe;MMaI$KAwy!qFnCu{#D3#`lc)B3g>Io{=Tltuul5! zK;(6K91*=&V)SVbe_@oE@17|NS2J`@HJtJzVVUfzo^^E=yD>R>?apPO_T>V_fYC`p zaUSR+%Y&Dn(@p-TI_U4O)hULCEGQrQE;&%tT5cF;N>Ecaw!0=2iySByHBxN-YE3$U zH+0ZVmNx7zSf6dXx!f0aod=Z0;}xR=Kh~!`tD8lU`{B}4)(`MYX3DkZzT)y(_ zB;Orgr?`bEID0;@Q)H|xFW(yNW7g!;5ZjD1yW1+UVMQrf-AP>|Dz7fu-o-hG@KEv& zK7G1P_4FR~K}(+ z)UtKG_EmU0C~6)Z-wirj@=eaq=LKD!Bq4?}44i{@xJy`*uZD}XUpa?^mm$PAJ9}ua ze>K#%e%t3W5VZaF&}&hKf3MlX^vRRDq33@D3_6-HHa7qn6g>iFT(Ue4S#R>!9f(}| zIn(8K>JfcLm5A~&`~L48ut6Ssdd>iEM+?+y=_A%_Izg)Us{2ssg@sm><=}k!G4D&5HIpzCu%677|`qZS93lL{E z`y6-q7IXx?&!_ve!m5O23o)f3l}1>7v>^13xdErU<(D52s0FCXT5p`5Nzy|atq#)Q z@5M?fsSdHz(eAVCv>0Z^!h^2#OoDbed*DGlJ#aAK zV-@|1qJ_+fn&{DEcOgekImWJ1h17^p%c}~?WY3YXzfMn&6xUeel)U4bcDx-GiQGNK4D4m|TU+IXOb? zvN8E7j{uYJ1Jb)LRYavZ9??00M*~iH^EJ9m=0HM4`#krRw>A^ny^o&F0(?OG@Z zfrAGg$1M{2!ej_~(8+|yylqB#q(x*lVH;OI!5#c0K};wxRyToX<*w7tRkE93ZKwI$ z@Q!*ao_LG6J=-!^e!46XPytFIqUZM05NH1=R5`7wi%CyaJQT@S*{V%p#a%9RPnBdV z@^o^)`5)4|ef1I<;9%FQr%7Le93Ha|}!scQa1k$W{Znr6)1fSiVLPMyzZwo(byix~dy$-;{zX#A zFV8vTvyUq={JoMg{#?%Vu~e_+$AikuX;0qt^`G$+2HHl`&^B8x$MfGQ+OIIY9PbY~ z?ov^N-deNtNnele)N2noOKMc9rSeU&gG}-LkxytdPbZ%5P$lFV8yD1jVP>klwM~!W z+WEJ=Af`G$EXPX}kpAKbN*8F}h>@HFP5wim@!$v7>h*-HCfW2GWL|KeRrDt6VYr8M zWql8Gk^r7Y<@*76=5Apk9E?GE?2x?L{2XZ;37L4YPyF`0rfrWCI!1^F>bgL}uFgeV z_xP#V$u%On&-l*E?aDP5oO+}%l`?WTIhZ<+l!JS^Xr4@so<=5buY+Z6JG*> z1kZb#LS02|@tS3ZHr4at9%tV!T<>m?{5^Y#=6Ty`a-*hg0iCm11?4ZQx>{{Dsq2vr z7QgYG4QiPJ+hN$YQami(SUc6WLB$@+!Wc6=E3P?8jEbI7R&5N=>>f*Tr-op>((`h~6qS{g9}His8nd9|K{e2~L0q5nF8Q}&+iWsj z7VFJm5QnOp7P8({kB_^%oWh#3g{TdR zdRLXzGK#+wDZy@KRF*AAf{u@-1FqGa+y}KZ$_CHRI{_?jj4|Z09)D*m*&K4$#^N%z zKUu0bor?f9y~+OXh)TRv8j-`pBGU|suIWO1Psh8z6#yr`ahJWUF~kIlJJu}D)`VqA z2@@orbv!++CH$Tf%0>_l6_0z$EUW{}Z4d``T&r)Q`~!itZIYYDVyGEZR4i7H!xsle ze>a5!O(2QS9|%mhcWlz$grA&vvErr22_`nJX5^aNd8v-S6@}=dZ<{w-g;eFY887rP zKbX=kR$2H`?=~i}>I8i>r03BSaD9`6??&?wa#2L+5}Mvr|K680;Ex9d-hO!MNF}`b@KwV ziw6(zxwh+x9VN~Y>G4Sr&SX*L^;&e68A$h4QqbBp^OUHE8tOofeC!~(j zuWdREqGjk|(%Qpik=35R=m^G&&g)D0_;jV?*}+pRIWSxD%DtYAopE{b_2vGOny;Ef zY@knA??)~k?cWbwmf7X|nO;}6np_%^hX2stO5mVX=Ti^5Ro-LWB-#E^ z&=NZ?-h2yI5!GOzh?yN>6%}pCITt&u?eRbjrKBd(-Ek0WOX&u>Mi24qG=Pp^V=)97 zL`J_g_5E~aqCI-oB1#EV{YXw1gKx{?m|s{)y`6&61-qTBf2%krc}rvCG{r5H)~d%k z9$;oTiysR)8IKfy2;`XX$?gJZP=Q~{m}A^)0zJ;kCmY|kR{!PNi##4GNeBW=Ww>T& z2Wch%PG#lQs4rzVss@t$7_V5zzyc=AosP}BOC=%JEw@wb@mvO-f=2h0uWz@vbttV& zkz5fD7f^ZowjdhZD=Gu;%n{d-?+}xTZan?X`j=;bxH)tkfmC_(=413;FCY4@bdws4*eJOm~MDl|+koO?U^y+fo<7c|5D5f859FRP8*S@CA6TfZM*b)bTGK@IG zT{6};Hk6ZRpPQZda7+k4Zlq$kA2kSIy&s^8Xp#2*peLq`=njxf?gL1wUZOY4LiNOE zT^0cb5@#L5CMiXsZYOe(`PE0BUA`2z5v!#^sYGL5u)uDW66evrDGopl)LJ_Wq})yVDk| z{sf;SPQLL-;~w#r%*@QA{TLyG_pjK+Du*tBc}z5xXP*dtRsW2a9omJC3G~9;oov+l>2dwt8?C6t z(_YyNdzn0jayln#(JtA%=XzJ^?H?9#crU*$GXcki`poLTOm$6}ND?qQ_W}VOx#Zji zlJe37y2J=5_9EVWc=HUL_PLL%MpM~khp&tgNyQi&^M2H}<1bzc2k^ZrGoJ7AaXm}* zwk>AC2MRvvH=A5$izX%Xf{dss)(2F09y`Q3R@?z`T9_8;=22s7jkpTD~VN zD&(P4!ESArYx%6dQ{iaV-q7fH!Xu4ElP1?C_O)IdPqm4!=G+-ypH~tVYl;$kW(Gcg zo7tN0w%9B$AHQfopat+)1oCxFqJv?NP4tw2m+}9u-~`lZ$lIjb<7YSr|ND0eewSNo z#m;jZX#lauf$TLP5!d0g+3L0YLIGom!&#%u%g%GFk2&DW2oLO`gw0}e1E=n7j)aRv zy$!5xD&Z@y!i}wwHDC>zILgKdEzt;_zi3x$$u8~&{J6GcJCSjG5>oXfbqVm@3!-S@ z5*flJ;-bS;ra{WF6U{yrU8gTM5q`6W9Egf@!#=My%Vi4KTNb8Mt7>#AF4h0xXyX_8 z4nVC*x1F7{zbDSCRQCmKrCWn)EabqE@2&^{Q0Q`ZBCCZt)RuZK{W;S2D*os zYKA3J>XhJL_V$N8zuoW-ECcZ(Qxa6T=-%g7A9z6^z%IcFR{NLVcIUf>Xx+q_#w0O% zK#>yTa#g8-(?t#N1wzcI`CU5siwy3}+HMtsn3Y#01J4|=*OCCM+3#{oYXaGacm9w4 zfQ4M z+s650Y~Y~R=9l0m7oJIE#)DGDc&6C->aeG|D9-^gDc;1kQKyP{y`&m|frG0RGq*5* zkLSgY6CCQ6nnviS@??3gB=M|T(+V@6q^=c^G$^ODLKA;(A4WF`t&}wQs=t>`-*Pl> zQP~3|pIbtBNGwp%YMrK*`0-nR_joehR#{w95;g{O1%GT8T!CwL*UH9?3gsWuw}kPd zyHI=yb&qC!Sz|>Dl1@c8MZ$84u*&B`r{w@J4ozemaJFoboT9V-J0xPiaU%IpQxDX( zkwrG6?FzI;ML_bSG@o1Ic_J8INpFneWU3X`Id2a89e?4v<~dO~zk-W;2vYcWZHtr` zr^pgkOPMGl$;hz4H^}cSw?ZsS%WE42pR(oss=Q|+Q#F0^{x6}_QzL5bXO~8-DxQti zkKzQh^|m)XZiU`y4JI&c^`_l?%s*lwE^U&&RYR|QT`t%yOT7is_Y>*oTa?9Tm|a6I z#XE(qniiPMcMze2^^}4O(tG65Xwz}-aD05@1m-AmL zc*F#+Tx94yS+Oe2uwM@Lz`@*uxR+T#txX1G6Y{zz6(gd_2D|d_>d8xsqETNif<){o z71fiZxI;6fSXg4)(4q;xdiS-&9pa`Rk}d12U4Iut1+*E-`ny`}8$i!Vv0(Ot47*PS zMt@n%)|dep17DcE^4jFCG~i8Z7^PuBE%+uApiO}s^RpY4}P-d=2#YOwI~DxAV9yB0l$9&u((SYppL5SjLSiLtTr9!uUNgWobH z=!#Kutry0)azU4jyL4dIrQqy@h8?!hKDK;1)*vk3o3<;Kfv<0w5vwt7b9)7dE)Re7 zXjjyziBv_1GTWD>PeDo$9|qx&82cd}^*4%b2);+FtY8_`#*rl_~R_#Z~oi zHuMdRu**~HJ_c4~UZs?XO!2`j>cHnxxRZRZ?P=ZRz+;N7xmr+5J!9az`gKH_gO6bg zP=4Fd69z{u5U&$tLToyv00NQr)xd&VKBrn%aqn(O%l%?|`BZ>Su6c*?V8dA6QzH7t zHXum9aE5W`S5A(V=oQxe=y*)Uc5{66XjH6J+0IT`)j||a?fn*>?S?n!>B3)fBqy&< zY+vX$xsDiU^@l&s?eA0v%86=-^O>5QL5K4|an=jDgLUMnoKGMpq;=`5oI%ylEV7_y z>ERn0JQ-A?kH4x#x!ls(V5$bTD9*g2wfKhv&aQ(u=k8-%6yf&RP8u%2sR7@$x%l6yqbhWN-yy2~E9;?g0#>gO zV#a9Z|HG!XuR7GrLNlM}mp;+#?3h^w+m0}B1`tlcfxfj~`GgDos^=3@L_0;Euc8F@ z%HpYMxg5nDs%xh{Z9LvD;DNi}%opyvR+2VRE-CJ@Sy#U(vx`@yeTSE#$Z?)d+&P(8Y z;MfUhUrGHpQk(l!JeMZ&asI}x?T5O4+vN*CnKlCUC8{Mw77rq$bqN#Zt#Wa|VbA{0 zKBnkHJO-XxSu6P_FJN!a!PD)Kap;Oize4zkbu;uqyXC+`jjQ#bt#E8O}hjUCS?%-tim4rRH&d=QW{WhJoZl!x{BpAAQ=_e zW4ywNXb@;dsg`%&KDZ8#V3e%QJ(EiN9Ep0ow$yf})bG3DPF5R~*h{l|KuCR~qsP zer#ZK^}a6;4JNCWii)-U7Y)$H7$R{!)}E0Gw@H`w+V&OGHqJvxHu~d4z|>ShZXJ|k z(6gijDM^`5tVaR)6XaMIps?LOKljVVJJ3ev8gNJCrc}cx|Ffk>gho;8U<6~{v;07Q zjlFiyc0wcN?p-u-@Y4-I=X&xr<)`hxgEedilCxcQ8px~hhJDMRv-gyu50cQ;1hVTV zKB=Li1cpab26dO1ISXgoizAcN^H=^SvZ5=Yc}MV|PyQZJ+xAKWH}3B5OzRW+90t7! zT`%IB#4;X@iSk)XF%-^`X=EO1%6Q^o3WLhyq_?eO^ye>nT0haUz7{gtiDDCs*c)ce zZd?*?eZkrKZu1^j6u>cKBZZ3u#X@f^nEF8M-g-;akd1d9gC5=2JGrDLL04{VbV6Tc zOH%bGpnIBLl_dzDYn_qPQ$=}0*0d5;8$bwk&;)dtBE!`Go!Hhirw;f$APw7EuSl)Y z!_pj%z4ta?pcOUQ=}kNU;7+U#1AxqbS=xx9yFw<5GF8IQTnjEHnb+)GlS>w4JOL3+ z*+!5K#S4m6w~*TpblVz^RP=&|24ky=-fC;c@62fWP^2m|{Cb2YCdGOb?y z%QMCb`UOQ?T$xOfxT%Q4*_=g}j{1k_Sq6c~n>T&opdiX5U@PXdE`T;UOB~@bgD;d8{e;q92XSO@ECt9b=n$LS1I{1*@zdafs zYAO8oM`=^=6DEwJ~OSutEYv%jm+`PC6D_4Ma_8# zEwqeVqYv2d+?>vr?dAWsiB}G~pEMGQ1?_i;^84&kh$3@3op3+GL_*JcT8VkF-0fHt zG-iE(Eg_9ykR40c0=*=N7Dh6U4*QPR=PY>D%GBT>sNvnwCr<_{h6DC86ThCv+<`HI z4Y|$Qgfpz;w*aL%^}f3yoJLZi6MYP{0P|XtsG1u@oupJ8xq+0GodJ8Is&cLIk0(?X z@E=uk-V+WC&}vtd0X|;_<-+c%OZxFTPB2N>Em)^neBs5OAkEdX z`_&w`Ja(FcO8TiuePuaqaGxH`vnFR}@RpaC`=3;_5s=RMd;}(#m30$#qC~KAA;WMM z{6g@dD7hCZP(h~!9mOrPc8!$^ed)=f;DW%m7YfpY-t#q|kOo}NxYO&b<2B34YBOG;}sJm=*)!ZBs})k5RO|qjikDDrcg(y08x?Z@4@WeOh>*83cHd zP|0I5%axs;{se;G7%_>sI?YB(JbZh{#NV&=FXCr?md6`tM0^w>>gUWcAHu1`%lOO&dJM?OF5Vm3XMaQD( z;wyhAM4P@drbFTqZJfjhG;5;GKHOv6{}t12A-k_pXr1|Qg**M=^D{x$98P3@SAO)K z(66TI*XDr)2eZ5mbI`EM{B?TvR+rN$4V7uhN&|b9zWBH`*P-wSqLW_>@@7SNc$9>J zgDO=5H2YmatvMcp0sMjICdsMm>E$}SX}D8ogK9MM4^fV-_yZ3Qk4zuLdZi)y2@`j> z#)p>7BC>r#RwI=0s1j8-$fq;mxvHyRJKB&*6NB}h4;!rL`IVG&ORk4=aAwUtL&e=i z_QZ~5r#!JB$aO^KrjxR4%Vm2T?5;YoVxPX+%xi+9fO%2jtSzjP9ETTak&}>@#w<8NhYk!LYK_yo#6xB_$|+VuTSH?bq$GqcXW{m7evo?lKuT9~)FY`3 z1;!4oyWWa-@9%Y-&D={fBV-^1A%KCjiMe@GR^Rl!8lmYB-EX&UjanS2chb;rz#m)4uf26~?ZW_?O`AQgRHh23JO!^rV+si^q>nOi`=Ew+zjrQHo@ zmTzaiLA3WAnGe@sc>g)`Wb;t=y~)mOrnc#>0Y@+iPF7msMKa7c1)%chKNt)o1*R&Mf}Kl)sf+g9S;RUf%ofn$;`_7v*fcwjjP0x1?6tkAxyS< zyRT{RU1j4KJ0Gc61QG+;<#yyKyr~}<8GcUuz1hev+J!Tn9q1kdXVfLB*ITdEZ(@5) zTA2)_y@JC+BrB{f0Nen0*e zrIIYYV*n8f)M1js!a7{II6SP%%6+!G_$Il%vd8UFf28&iag6S~-67P}BIFrkb0Fbd z0<*hN0!ef5?40&kM_wf+H?uc$m8JqPeg*$ z^9pnX9lv<{7@=!d-VN`Zq~tI2hA)9myR+54Dd-)8!QJ_(#$&?b{~MjUjkBvK;*6CA1j;bMgX}c1BU7fE5^sf&L+5BCv%@`0P@EA6^;S1ury{d-G{uB-T zbI*;c3`r0SHX9SEChIG0b5jwH*=uV+{2;~*l;)3S6vc0+zq9a1`)ilHmfR}tNc|Ld zXTt$)RPKQ5V^}bw0xWVbwLvvKr#f+`aDE^R;gp?HTT$2*wK}cOr4H06rYrTd>h%Zb zY)3+e4GBG76EJw;9sio;Q#w9pbtLhG??lDO5js}yXerpG`mb7sMCX+H$GbDaYI3(r zS=f|*>LySSd?x6S4ykQLFUvy5RS6!~-$=!M*Qxry1V+{(bm(LN&WYFE`BMR+Wu?MR zxwUhyqZW|wX6jy3I^qg7BZ_LXl1j;D+ffb?%RU)Z1Dp@$h_6xPkIaW9r%t|3!1DOU znm?Z{eJ@iE4MC)t(m|dt@Zw|&`9m!z&0+I+teJdCYvo(K580lP?Byek*(utjoxUWx)?thkke?PYH~%_hz(7PGH8qK! zElN1yM=|?d+HyaiEgh#BEYmLAkAMEj9RJaQoYy`dR2?k~Lguoi(Z8@PJMFz_5#f3>@HX@9Y(|P#Q+{|LF?~?aNWsxQ5zGchaE6{SJb4`l{L%^Qe-bE*+_$>u`-=%4!@JByK$6O`uIBFkjf6bYX6oBnFw~9Mw*vaMnpgU(vMCo@ zle|QiG9mtL*e1e$B3gND(05cKAtd52xZ81YBI*;fpkk(AxAw!&k=6tZMp209pu80P zdBaq$xR&xJbv%7QDgk36;Rm*TJ^Wf~JLE$^!=2+Xfe) zk*L3c!pm-*Je{uUJ|j%jNpq3BM2Y0#haF65zWy)QfGeDo%N*Ob80nDIZMMAk9|_kI z^2pr4$3RdaA?#M?8BqS!gU+=~Lv_98jTpH`Jj<)}e;a~|D6;##55ImOjY#;8o@0EB zr}exUbUHuJHzaw~U$gxvEjL)51k`A*Q=LLS$dfp816M< z0rsmw3A0(SYUfXRFkxOnX8dz>{>Hdgz0`-jjmHvn=+$kXOFxjqzmgRUzxh+t`FK5K zzNPmXY&(4Q(CQ)F(xKC`P1MIb^YFu|(qz5S+CgCbjWZW!f!SKUg656a1`;1;dG^OR z5_=Y|l4^i716lNPN0>>MkL=sgcZ?p$jX9xx-AWX4Iael22>xEX+Rxg|g#EnH7x5?- ziOTbsQ(s^j$54}fl)0vnEDt+*LM+}t?EYRB>l4QZ>-mrteqXarP760Dn+2Ve>ytG~ zH_*Oqc3b2JX_0IkJ*z4iuY4dImqcCW+@KdqEq#?6nhevPBGp}_K;SFqM{l;hL7Be1pm$-2(lJJ;A2}6>OWn*YW152X!p{13G?-3Y! zl}wya7o*yAh1i$1ux+M4y5XnOpU!E8j;NKw%=`y!hqrd>!)syG?BO3WtLTFq#x|5+ zPa_l2{h#wth!H7aW%H;(Dlqxf(UWsv$jda)!l*YE{!@F8pVeL1Cg9B3mGj&%hk<5hUdJ zq{*4y%V@)MMsDXrqq?sOW+Ss=Df7t|r_kvt%HPi}|1k*XYx0_kW5sCwpymm`rrNuz z+zd@sPow7AQz_qzca|qh!h=R!eL&>baXx~FX3oxMavYGP9NN6lm^Q4Cr*{6*69(j} z36DGBuQb$b^7wJLqj6=^AgL?zFNy84ZH=|p|ANB*ykaW<-VbLdD=4^PNyX0re$3T~ z%h*YLHhXTTJI@mLUe1uBVL`zL+6!=;t9N|gX>1TB zHO-jq(*m4r>y|tcabVsU7ERZ+Rgbc~`=s?4nh16?a{vMH9QZH+XBnNF@V)TPD>$*sm89O-qnioJD)}^yf$HK{Nmnapsm(=kQ-V(=gp?9msp7K z@kZ-X&C$f*W=2!cx5?X)1+Ljqu_i+58Q16qY>w)$ci8N>*YLMMO#^?} z%mh=;sMB){-wS0yEh)5j_{RjTU=Mx`cC2^|JjNw9XF*eQXluvA;Ny!!c|P>T-=h$0 z1#Evz4|G0(mWuW>lW1b9QU>kvGX*7W|B{r}B@q{rRZqHa@G(cKEUuV^O{M==_Hqn1GV8h`J6?820emd2q<9 zeh|Dy6ZtceBJSzqXr`IL15BWQ^p534i!Z9ZoCx3g1Ih8&d|#WayD7Br$B=?H5pc?C z->KQ8F;(6T%+2};oQUn)%lH7P~1km*5jWRokjWlj9*DCwuva79p`! zAuh6u6hEkd-hOIS9gU~RK(&7*Fj;R@$ND(3dJO#bnXE_xoPQ}TRUtSLDCRtv+431E zQP^i5TF&R-Y8aXnH(9Wxenae|!j&#Sw9ha(qn+AZMbI;a?s};8wD-Je6AdalqfhGc zVFG9i!2?ZsTXtf4R;SdHB(JKuDn8IJe?fYrhrpufnhnHQLzyXsVQ!JD5vN<+T*Am9 zg&=#S*QP5i-XmLeKOL*hE(6^9yR$vM^7!0t>Wr?Xin)(RBiA`YZ4*KZxk7BO*GpCd{gQO{+u{tjPZiMfpY!O~M}LU>1y0Hj zoP~93rC1CDA7-#!oA2^V+Q?t}@uQZE40ukVHGCyjmEp3?Cj&M@Q3pBfnM(-bA;CmH) zvJa{{dD`s?=KADc`0}4uCR^sl)-j z3m;_bJ9T8+;_z=>kBz;rM^Xqz%NNu=e>SB@MR1qh;)F{z@_as->IcfFRC}J%+}~T0 z%OY6O%@KNPVJ2p)b9zQIcbF#)qQ1dA2tMF+OFVM7y_U_AQ`!gF4jyz{INJb~J(3p# zm4mj9&+hpl6VUY?vKsa%kIc1nkS(%Lk4lt2{$Z0lRK@g*q#^d{#H1wcRxMB8&5@m` zC;NF4B`XcJb3Oup>~WAR#19-0 zHfk-At&fJZ1}CyW{Iz9Y345r(eV+WyS_JJa6&FXAS;pJ0ssl?rv!83P9;>)VX#_eDF*$^QQ9+V=5zhcJhT-30TZdOY*2157OuSvv zqxJOgNc{}Vi!r!c3FDK`#SxCs0kxeI`s^BLIPy5`OyqK7nnaeaw6tXKTE{D8xVoHn z1*D~Tx)v5MICagUT-!>E@f6Y|K_j0JYjS$dCajubt*l&P$OY9sR(txJI%DHet^Rk> zknHk$Vq#*#0gZx%wc%Z{ou@l6<;&d()%u2ppUC-kDOg0pd_K|HvdnEXyIyB#!gbh% z2&Qk7y5~>HnsiQirf8516GNfH+mYbUeqyqkkwFYl6)c``Yz!&!v%hGhKO4P^rQRiZ zLqWx47qYI++D&u4(F1X%;jsURF0g z_~p7wMAjil5k{-2RX;!m6uIe9dNk}U!>x~+83cY#b54yDrjZl~w4(H!V5|~}nPZ;{ z%o~xe(R(Zc{i&!y|3VI*1)|po`eW+cnNKU{lN*UV4^6aZ!)Hxh%Rb|qr7aKQdUVYx zGS}|eRHU@fcAYbAC!`^qsHJNSi(m_!O z(pzXM(mO~I5JC|Vr1uU=FCq|nhtNeuK$=FR_uh+CsnQ{I5TqB8Uc5VV&OLKx&iQ}1 zzu&#zZa&N~Aw!b)-Fxk|p7lJ>3cvYrG>34S^hvxuLCt-sz0gHUmJL+SgzobRo$@3* zf?4@GoBVGMC!Ht}*UT3ZU4H`E|NMzLcgVR14pXs^%9qxs-{xIC5+Zf-)gBT^7t6q@i&E1f z(!j6&x@apSEWSG#k+u`?we(&KXYhk3ycKd;YG-H5t_xToTs%fAmFjou@~cwb@N(!B zy=BwL>h}DRrZfHIub+Y-cY=3YfJqz^5^(9~53dEfpr(^0LcL1cgsrCY9ketw-u|kWbRtM5J098P* zcEy?s$wS3&skoA6ipy}FmVf;Pjj!)Ax+DgawLeRJoGV~{fD%5eU2jlEE~ zhyC6?gkmw^uYlo^KUWe>dLqd=G}8dcfc*I>?RP3_N0aEU-$IcS$XLrr`8|JHuFuq# z-(sZX)Mb2g_sQ$Uw(u^Aoj72g8pYG3d+pPz1*1F>y_ja5+veSaAA>qFB}`XX#SH#9>y=#ZoPcK}>x8j)A!r^e zR{|l=F`$1m>2n!;%3q$PbVC+*zvF#AK$k4$mPhCLJ-+HHa?CyZ#ot0+>W7oZ-74Kc zR>+!Y?3H_)mG$vp`hx^(s<;zEGmvgRSllb}~UQG`_`?UDd_@H??&8H4vS)LcXu8gpOdc-njz`DL=z5rda{$+j*x{ znSAM@u37ezB@Y2P8witDYwYn{&zY6RA%Xqz&Ck?C-nDGvprRxvNqR-(rR(Pp z>_mxmMN^X+hn3jrs7N??{P(xS;nc6VCqodDgg7;0k_VnpV%L+NF-kmp_AGMnhsOBA zr#Q*iN88hn=bL;#1GVta8P`EMx*soU=@R>;w?Z-O6R&FdgNl z*j~@G0rOh3HZQDA)%_pddDMmR0uTUx*v9Gx7a7&}G2YS{vrU{V5{(n(YujzIi7tQ}V!l53Rtr-5lBluO1vt%6?XoZ;tkK<=9B+ z38;NtZ9l~fUasSMIFKf;!wncSA=BxKqJP`O+U&Qlntt|hkn}1RqUzl2M8Ch1r5kDO zG&s7GXsDjczac{(qKW4k!ikh-x_IA#Y9kU?M(@tk(;pdD)wAwz&>^De1ygj>-WNi& zrk9$}90tF<#+v#8XZ7{#ThxNqPqo}+%@8dS5H6WXUH`R@;d!1BT`{z*{qKdM*8Jss zHK?DmqOjFwQBaOj6x8WIKOx|b}pttj?K=h5BsjmL8a05xySyZ3K&>VF14#URb~RN##!ejzg4Wu88GxH<6{NSpy9 z?xWIeVJCxn_d?5O&w5@l$!5w$Q7l>{avQNX|Guh^yeA0=Qd+1OFCRdmWCXEuIeN_y~^}N@tAUN{(bh29ju-g(4HW3A?RD}oG;I45j=xdN@lkL8da{JPg6EW+cz?Z`*JJ!dAgp81TN$$ zNoWLFPsD=eGl$WKwv?$RcGsUz`W{UwphK@@hAKLC1EqGw6A}mAKgnkQ_-O+>A^m{z z*T&dmISdvne)T)peZT81x?=ZcYNIH5-jT4#=QvD0zdSn}u5vJN>jOeudOijx!PK4# zbyBxis5|<%o%HqJzu)yd{kbw+{#;f5;_sM;Q4l+ce`_l~1E_Sg!eh%A`LP7o005K=V@^WQKTJN zeE+-aLoSb|;zfr~v-T_f<53OOn>-dOvu15!Q_zgmRJwR(RIdF&nMU&XvMmzaRp|yf zO&%P>{Emwe(Bvl|Y#utY(B%Ewat41<54?@g%@Cu%UoHeuhe_GUmz@9jMGrWk-1VtW zAOCGdDpHgAe^nu5@&6OZ|HmuXf|q!vY#x3u?p=9p%B#!vAOE8-aIKiK34}+jnGn<@ zl>RLehK%CVb_S&%LsUdmvo2ECNy?AoR{F ztFoVOYV3^7FM5&M6JnweLvsfo3O7v{*Lb5Do`D?0W>?oKHg2?R3%kh=3a_Z8abPjRTQJ{%Gns1330#ICV=tj87X;0{T~cUFhjK=KM_%d*X*a zDfGrGK$D%RI}agtwNSE<*0+$(XZ?-Qb2a(-muB)MwjZx#iQ@B%>XhWcm3GWfl{|%|`(Js2jK)@G zJ1?4HD@nq$%(g2#!;j{05}uR0J6abuds2NMXI1tqGT(Us?0* z{6K(q*_QIZ@~J%-5Vsmg6@C5o?d>i)*Jz28h2V{JZ1jm%3z94=^tJ?h4x~*Amd%$( zgbd9u*VRRrqXkBNzk^)#4Nvoh`gKCWmCQFP>b>jh>x;ez2M1`QjWV#qU-%05v^J+9 zD}fIm<1>07FMrX)mfc<4d_{ARZui3@TMX#kzsHL2ymD$fmFEI^>-vjcuIe23yXqiw@y6)xYk>?&V$0_jKF%Exf%iw0s+uxG?MPM$=}6P_5~$;?8VNC02WUO@QO zTjakVb}eU17YU4FxXk?!0pWJ&e69hQWw~5y3C1VZHob-)0Zd%qoIy_<&!G9oOnvmxxP3`B=d%JO=`|9^k@o8yKn7H(Z@ z+RdVR+e}FTAj?CW9(*wUKlV53teK^*3nAOI~=Wsl}He>_aCb{ksC9 zxa$=4E3BD7J;voB0h^w7tbcOtqv>Rc*~Uk_kbY45g@o$CzSFEsnY|5Oo3!5MD>tmJ@x zU&6#t52IeM?Nj4NKwv20hL5rM=7^bAK6m@+swWYB@MU_Zz?4UsbOJ*t{e;6$&65no zJSFtK@DI@hj1mNV+5NE-BIEp|>r&8#4-9a{kw$NigrJ)?!kEyzOmYTYvGjn?y}~Xu z3+@MXk$`^vKAz-8hM>)BbODPl79N4Zq0NoC{|=H4GG?`1T+0BT{ta?_9V}*~^|v@s z)=nQ;Y>pRhFiD|oB%%ed7fIY=K|T8V&6^c)1Z$l$(HABF;~_RXST+sTU1o}OzcZUV zrZTSrTCUx|BwfA&DQg1YJ)2zCJbcT7^qO(>sPV^Gzi>9*-{aG+kFkI(283I~Tdrj! z7cOU}WYW&O`Q|G?T4p=97O03x0MTTr5bMQ|z zad++~IaXP=j87?EG@xGpsu3}~q7|48>PI^)i< z*&_~(yjaHI$&fA)ifZ0%IEZZkMU8FWT_vqE%y>t{7wrA4w9ZS?WdfO#X{YAGc2bV< zoMm{|Tk>qaP0jETkLD2t$(Asa^H#?ljED z-s<^f8U;9EBIkAs9028f84X7eMm6utFS0O`Qyo(`q>h)E$xhqdSSUQ~h@$KT&NanN z78p&g-~38!$MW`?tceHWJ=2UtRkkCvx_~W9LLBh#v7a{fnc&eYgPq>jXMd3`25h9t z;7@}$aX^jF=~Hm(J(ZiP>sRU5EPhI~AVO(;7yG0Moz`y9c6!)2L<{Lk=wTL@#b*+;zu^$s@V`+M-LI(3+YIkEQ*jNuce`&S^kvQvGK-W=ApYu;WG3Ck{O_x5XiF=87%zSx z4iW-QS53Xo$N8+oR%CdW=_c*QZy>PHOzv#s4Cua*xzaAHVCUa|+2Zru8aqU_k0C7F z2LeZ?0kqmw9GSOual9DLkhhJfsRO1PT6OnRoj5=&R$C$sQ74dxa59A%xpa_kF!8Bx zKCJlS?h|O{kKsZ@60^tJH1kw=&an>MUY4G4r|8p5^U7(AtG3`JwA0BcCb1@(%&7x2 zT=+;2B?1YK{7w+duU~ zo~Th=#0vjIOmd1=WX=6#JTsTPNzkZRiM>cl98emq$uSx0ZOH7&ryu3D4%72?5{|*j*-_6+lh>DzucftFy-ZyaY2?+KWdfFx4klW~h zr93gH_dHFjh=_HMJ|K~M4~a97%h$QwVWX^<+nt14+H{_V_~8LTctm%hh?mWewx%{b z2rh!WY5h_dm4*!c3tnuY9FEV&m6#>xlKrzgT#Y%rn#-$zY=Y>iO!h;G2@05VgD(D! zDB-1xG?0$hCdR=S*%LOAh zKCOjN4Z{^np)HrFFE@%W($zwug6~K*6Rcbz(q0b?q-Yb%-cPLIC+LLcFd0SRVC`Yl z%cpEW`Hy3fcU3e;MSNS3oQ?9PM1ahOfCNEn@O_E)$fE_XFCo{I+FKeh5nEp1jAGYR zk(<^}K8q9Isd2WXX~Bl}Wmv_$S7{enMF;8jo4?SGX|_^*tyUNxaa?_lnq@|riNir#sn3F)+moS-`^+^i9)q6ORZ^wk2D(VH^BWJnZL4|FN4K@5| zkHFDpBJ>kl{TMywSU$*@Co@wSW0II)SIqctj)19@2ncc_!x-k` z(A)1B&Vb4Z(rB5^KxWR2)C>S}HTZFy$5!&-M-Bg5)VH^Ge%+U9=Y-CK4OZd7- zu>1X%TH$Sj2xhGP^c39%T)JQQ6X7mTFbz2nCBck0_AyNdWH_G9ix&!z?miHS-zCTX zBaBA)9d~d@Kz;UFm1Y7F!HMbYN)m_3p}NsrGn9qIN6QW(o#aSgrYjl7hl0*>)3|v( z!~khhyzg}a285{{Qxb#>F}tTZ(`ab3^FMo7u-UJCIZ7IHu2 z@x^$_I75CaeA?j-3Bzt*^T^V^s@$%}c-2;E7j&_E1m5C7bP;C3Xlg-+A(0gDG~yf= zb(4?AS9-K`QM}<7IpJ3LGV=4ss&}M?pap^@Y3yzbFqc|_Wq2S)Mn*<)lL^Ue%)Bc? zUl?(GMcrGx`ojE_h;dB7Phk0+e)-1nGqBh)CCw3cJDam@Z0v@$ap~GB5<-E2p&QkO z1@!m*t~PwTiUe{AGHc+V1g9qcj0}8PE5A_!FlEh})X1tz{=<||69^ZszFe2jVq2K^ z{Kl0VI}rQ85gq_E&2M^02KzM#a8+uz#y8TCm<_b_C+x%XA6@XlD50~#2K!@+JAV=U z4BuaF6>YbKHGKI(EFYqWbja_!&j;NC4g+Eh+;gs^goX@ZgE4m37q0L~u;U+Fvob4g z&)pY1pR-9zhVRx!_!K8i({H0=m0a`r66P|&`t<(OCb7U~=h&vJGrPktSj>bR@9SuS zC~yp5T1!@B4JBH7d0&Vj>d}dJmmZzpKvg>xbK)#S_W5oLW^HXedD$1FJAbLtejrW& zj@sqReoL5<{JGJs|F%9pTv?Okx-V1{;J9YWbk4&A2^Qw!DAO1@WlO>oZ5m#NTfxF< zv8qdX_|vH7A9i}+Beh)|w@TiTs(Np2AVT+tNsW?*u2ZIN4qp|VeE*(B9OI%%F zi?vgIo(H&uQw}j+F>_o8V1;@{>oI#%FIXR_7dJ-6L;smaLQzQ?NoGU}h=+g;H z3w|1S3x>1CoYB^I@~xuivs*THRvTS0JZiVlr{!`hH8TgV2gUHpL$WiF zm5m8YSa#Bt!|#Vy@Aliwq_za-FD;oT#PX>1T}n^C;wJh6fxZ)e5Z#U~kC0bP4nI{d zT)-3`pk!u`UQ=e}rQ~9U#Fs&maFtrOn24l(5M&VS_iu@@Wp#hUC=2+t&rZ;p*=InOCLwqS@qmJP!8p&)&g#YIZQaf2r1 ze(Zw-(U%*l%ofxWjL=vaSTNVUdr#x#o-MM)SIN;z?IW7QTFfX|^EPG}9cuYhOHR)M zp5mL!;Y{_j(b}a?{bQ|A-JeZN+sIqszWkL0Vh(kxMClE|l-`6uMsr%d z$I%6lny!WVn-kgl(rt(h1uqYuzJplWiH1tL?4$c*B!nypA|Qexs)>}R0}dWocE1Yg zb@`c3&N`pWx8dv+5r(emrp!ifJ2;^70zmmz2EZSkLVd0EFW07$6$N8VwXhc{4>;ay zOvqr!d?&gZio-X2#&}B>&I`3h#JGzm$;CAt6#B3LjcLa&pqdL%1nm!@GXyy zzt5SEfb}R_nh?BDWQ`En--Z@29@2%dWd4kzgiTP}@PRtl+w)?-YdQUR@W$}DFZgkT zi4EDpt6(F@>jYJ2V6G!{eT_=M#l&n{1MQa$9_Gh=Z07w*p^qdC1)+WV4By@#xB1v2 zxM8%>3?h)3R0LQk5|eT$OVhO9!;u;$E}W|r^1cul;~dkA2PiLb^9b^>#d=*Zha_^e zB#D;DSDszz5i1Ro&rN>60dt?y;FUU|OZt z9IJgu9aa)<*MlL0v(b5x4uRwmW_vp_&vW3Z99w1Awt`{JTX z`u(@a0J2X>*~h?{Ew9X7Yn-@#yDH_D_bn1m-p(Q7RGrM`O6&4{MaNuaUacNf2ZSERyM9ffb^zK$zYyR?kj?2Thh>FBFRE0G2dANfD zjHT)$F@$Z1M>a%gM+(6!WO7b52oW!xgCK93jm{7+>x+!*{UezvZHe;5;32rbsENPx zF$tSyegvV6mn8P3$Vp}8{^^*0?3>-aGHO)t=|YU)Je5C4#1(zU~#Jbol;W zHa}RDb_N72mO3pLd$&Z436QJ)eajE=ptlw<8{D7@5^E1PbXfXXp#w5hEl(PO@#xRt z$2@X{lu}}Qrc_-3VYws;a%Emga99Sz!zlZ7{arct$*un46L_} zxB_jhS`njoISE>6*Q>cuCoWj?Bqxs2Z%LtZyP%W0=%D51$eYNt%F-?c>z}}HC-3_j z`zxNDoOro)Jw2uSI5Kd=cPh6C*6fXph#Lxdn7Iu*9ru)5zB6=&VO%70o3SWRH}~~+ z&qEx(rsA~Kj6xeJ=`ES>8K<~Ox{OGoV`UgUt*fPe>;2Ya?$w@($l21S&Hno_dcf%b zZ;wQV-Kk(75wqLZti?8W2(#7Mu6&F_X3T&U;Uw?(F#U z>nCa9{>`TBcb1*(qpIoQi@f7kCpXtdP2Q5kF_gVMoQ<_!&f(WwHC(7> zNatJfq)5kK5M37EZD2tc^w%Zx2PA2itLl7c2P@U|qMmzD>9~DN?P;kP3>m$(pUKgV z&FgcckNELEM(Yh^Mc;vvDCR>jsKRB@sv+4p{zad!v#p)hnA2hMNZIKwh?5}kB1Q0| zT1(&C0C01yW`WAKJdL;yb=Sza^(8KR^Ck(_en7YnF#WWGPto889E38|oU~&@mF0S& zftoMf8Dr?7ElU>Rvxm3xXYt@e7#Z-Mmm3_zVe+)J`?1Mrnaa{stUrRv#*b7~INq)d zEgDFlMW2dD3uL9P zzWVXf#62$`)OHbD*i7R|0%GG$D#yq0&EU0bYT3vY=>o;?-mG)(cb4!usE8r`OTN?? zrY7~5{fA}+DcK)+6^6RbimI!4P)TliZR_>(>ovL)waIXQLanjglE`-!m%es);^$Mu zH+L)Gy}4lF=u0wd>^t8>xeFlf#^T|~!6+vKZ_qqrbQWt=Bq`(?f02sP7!t$C(n8>8 zi|xG_1O2Y$yop>o)@J=)7yUTOug*niT+Jx7=Q=B7?#4cskdRg*m7_%SOLkhBJkb5- z$uO5%c6zIo@Z|$_IYgVXCzox(4pteImOHzzJ|x-7Gm`a0gXhX@3rQ!@CI+zbx4Mo4 z@*4D8_RHN$S~2-`ypn9dLtIfP06`{^llxT=O{W9#lH|4Gz8J8ueZgjY?GetE%1CQv zh&@@7!XGV^Oi4BB#T!W-CZ8mf@vR69l48Ht{z%uLUf(ODz!AEr3i(FZM=iA{Vtid3 zbgW0Ca=VR#5}}_GFiVQ}nW>S&`(@B9=a#6IZk#a6`sgb2_Z-T4q4PBeF=3P`cbk5- zQAUg(^Dybo|)N%h#Ft`9cvchRnW2Z0sylONI?V zPnVZLRgLjbFiE`|PJ&5owTF~CG6Id_TTwBTMvJbN5p8dolHPUsNU{q+`z?6KPY~M8 zo`x(VB*^_Ch6W7(?aGNfvh9}jR52rB_hoi%gMJ=gnqK#nQ9*QDDU+rp5!z(`DlY-O zskN}LhQj@~ER3CG*suF%uP^B5^>{Y^(I?xuPEJ11$ELI28ucRSmifiWzEZo;xNK(o z=wn^{QbOjtF!??Y+dl8>(amZ^Efr5xCH6zkri-FM-!FmGf=`Yhi~V7k0Ky1T@k*%O zngeGLxLhd%!|{(M0E*n>L)g@5FvC|Uq&weC2!8B(mYt%i*9J;Be3?NhS!&|I43gyKlX7t+) zE!h~%3^<|)IE1zTQZ;i>NY1L=L^%PU;fo1`g|AWtG`ruzV_z)lG+;#9n<1>bL|b~t zpJ^B9GC4IKzPsfabAb83uWd>GyqCkmB!I&#nG1*X}m3C1>?)K%hI;AMv zw`QCQ9NAgGc%Oi2OuAuxN%4?G^|~6ky5f{c0)!dxg=35eJaBRM?py~?hK%a4b6nA= zd1EjSefub@rTMXxUM&Gn0qU7~i|l4871j93v>|uat=2LlYInxa-7y`L!mR7G{FaEb zq!C2`7oW1*Qjml}l96Vk4zbq4$5SPs@01c584`fIzX8Yy8p!0aYN5HBE^!2Vug&~5;zJOVFm7DBRMzeNa5Y*FKf>a z`)F;Y+o7A8`b0_TI-w~fspRGoZFhI~)9Glddj0~p>BFfKc*Hn_AaG)nOXuAXQFawz zaXmS`G0lj#Gg-=lq|59VsumXz5U`a3E_p>&4{PMov`uK$dWU>$Po}Mj)fsibGJ0gS zA$&3UNr8BMsyrLrA>wzMlOV5+q@;c-%+JK+Md^n&T>rH*Yj8TeC)F8s=o8QrtzdDZ zQ$TWSqgpPWjG!XFVw1I=q*hM44zSC2%r&>IFyb5;U&Fmo5>;owrti%Kz zEnCb?t&{I>R5L*rbkVK*0Z`FB&u{nzs?eA4%RH@oOF%7TSM}2hOnK>+B~xJi8@MWr z(kdkRK)3BclRDLzZ(mpeQ{ry@SR9&8FV?)35 z?DI)itCpY0MqBi$sl7S;lN+%WiC$*eK0>Rc04y=lI@2v^^T|~7je1$0q%*GnoD)+x zp8x5Ot*LS?%e(3`OH-gYZrY%7ThsKYkffzpcTMCn$V%^(d3p|#qJ)-btXE={H(k5U z)3q~AI%i6f1jZg+xNYF~bX*i#6Axq1PVX5~sU<^xn4gk$EhY;Lu;L6x{sMc;o8J>2zqczYB{$dxyQ=Hces1?ki6cmw4m7>2 zQw<2pzERxxD1s6d%6=B>{vfGKtDwr?hGGR{Yvblnksl2 zf2j*iHRxd!5sy|OD4i}(hO4vGbHAPebR1=i>oiEc&=tzp$v2NPN6}GJxa0LF&%#~q z#^N|cpR}}v^Hm_)gkFwZX5rz+qJd+r+)ndvKXP0|t@_QrE?VX{ZjJjQJ<-I0vVJ)-TQtfeX{aH+ z?EiYA>yRAf*I;7FoRC&DEo-OYK&5hyV6W89qr$JkVOsl?;7Y+edbAaC39%2+9K0uj z@@&1D+(p-02lK|De_%Ucvh1UK9_>fCiy#Dg2<9Dy(BaiI{46CB>=9g|3$>m`bDjdO*duXI$<2DslrBR$b_xuPr9xZIbhx zk8HrbNLun?jikW)UTrr;MqiS0$jP0DS3B?F5rvop+>>u8bXy3-mq#>@*D+o!g*AZ& zvF!$l3$jXX1D2CpwbYf3*=};diwmzW$=dicxJ+r4%HQa;*l!h3CJ^uRx|juAK2Oj= z|3cCV*S=SP{!o{BzlT8q9V)?W&R|Ui14!=h3wb{@a^j05ae3YfK=(6Et`L^~W!=H#j%Df%1 z=d${O-Bpr9NoL7O@blCR0t}74w{i~lvN|P+rkkN<(#xru4~qR}ei}ie^k+xg9KDG= zI!;WBVYOiDiCdfWOU9y%O1p_Xk>@48LrA%eZCYN}Rpmp9z93w}(Zdj)8o*mNatMAJ zNs9vUD|49Gl-j9D;-F6;Pr}vK($03)`rM2mQ{@CS!ADaBMdp264cR<7P|d)v$tc}x zgYC{+YNtRZxm{4|(p^Rzy>~rg#oE!(F>*_YRF=O4Y~55_e@=gKdVI;tUm9-nZH8pe zGMF!MV%tQ&5Z}sVjBs}nJg16BLTX&NSc1*~twwE~W2;4i3jW3pRbjJ1NZ>}bekXOH zTH|skR$$mU<=8E6{<^x!2NT!TKDFhET)%@8_n#IOu5YXj3f-2rWg7UxU#?QkE3RCC zYlu1`%+F|!3HON*ro8DGQ9Ds_x$jPbOeDzwaabRu(qKSs&)#dU0m@q4PN$@srUYs6ine%`(h&~TTCX>I_(+9LszDzIEQ)+L;3g9Ro zz!6%_)R`SEQ~@p5OJ}bAb1`VdSH0hC_mdZMZLoSqP^Mzq%p@C@BMR*^FFrhbnCIH? zP|SXk_wY65@SrqAo?c}3<(s}VaS?O>U-&$CO=(d#%+mi%W7aeUdj_~K3unDt1q-M* z{f5RZer&Z!gi=wLN?0k`jdJck8npLyUZUpw{`eYwT)1etbS^)%DYI_CLgG~Ka zlL;o&2IQJqH^WS+3uge_qyadUS?SsGv?&Sn=R-xIx{`5Pv2KmP$@LvWq2YmxiiPMq zse2AZxpl4m35-PMMjF3WBszz(eX!aV3c+Im zXGj3UQ}i%vta^HPScq!D;cn&~1UWUWgH)zj7$o%C2+8R=Xhmz={XYA({t4%a4W#ye}ph?C#EAP9i z-!NFDrNB_OMF$`YPXGZ$fb&Y`Lkuno>!An*;>ck%M-5J$`^{w*6Q*y_dh&%>2hqHS z{U^h6C|4Ok)U&1c6x7-*EpTezU@YfJIU)l!{!~8NQF+^suFnd|neQmtEk_uwF5+D56 zKPP?(QbV4zuv5DtWbP}fsA!XNv)Eq83aXVr-~tCcEi5u_3<6U?A}dl_^lZVz@8&3O zK&tz9vJc)sW&i?}Si&6HrJUje7#ED3xsWTwwZQ>1ssiA2?po{aF~WV5;zta7iHGM9w0?3?aK*Rblz}NX$7>Bgq#q*=x*I|UWD~S zn7}}ah^lWvQmDx{AYQ3K-2%7QMPzl}0e};RR@9oA{us*z{=cs_urY67akf`&-16t! zVUj>Ces{`VmIibx`w13(ii3Mp(jTJn4Mz}Xp#(7&d$>1CXJVhE2#0Dg$_7-)A9adz z7qojD7M%6B#L3r|b|!iHh@bL}*FMTDTov2L-Y@Ir*7&3CZW}Eg=*?#AgShLH!j~OV z#l7s^AL;4y@!zypnKxV`tx#zrOUX&1v#wS>vXR#1O=c?OMq^b)ab|Y!w|masRh`*e z<-9tHitMK%&O+y>1*d@xD;a`U)(uRGGT-@vt)(*cLZu_E1?+!=bv)V-0f`00 zFJR^HedSlTlR+pwdZcE~4l~Hd2(6_H4}sZNP_xO$zjg<8riK+WC)7q{nQQPKsX55t zt~h{DN0TI8R|FI!cQjeFgpoC-flNCz($ccGZzH=Qf!6jOwi#1W8NNr!bT7J@*y{%9 z9Bd}$;R7VObc${>pdDWOYxuEN-ZcW%PA^%;S-?sCvc%ESiwl^Q8fq1a52G*pbc_3Y zhCzNJ#LAAti?ED%8h_=sGo$yJqO;O6fd7^H+%mMDo;#9SU$6MqqD_O9W->a@LGJ>jp;Kv(%l=PfmlXjyly722Sn#EEs7JNNfmq2}6h+tU@nTPS#ma8t3Ca zhVS9V*h)`~hrh*6CqSdaI`m;3`rseSG%JmOd%7qrOT~N4Gxt;4-My*|G1Er(7DB^_ zVDi1!K944aMl_dTAWNuWsnjI4&-SNteer6~^~lsN%^-Ia+`ra=VT z1#0n?hL6CE%=N8|U?`Q|>;f)!bTMG!<;b{3-bG0jbVcD)c|)*Ch7g{rs-i1zbKIm) zLR;*kr(vy+sSt1lP1e;r3YVQxr0BRdaIK*saLo^P#3CoTS|?|_pu5mPkvS(%W4_r? zsr?G;6eI=OOG3tXTQ7RYu7!9I)O0?$8-M09;IhLzh_@5Gzw})p+f^gE3ajrt>NIr! zwKC_ccq|7#Y)nyBRs~-MO?k4;%3w;CfJ&l&yUye|*i?hFn?Z2ddOJPKdO>_)7tnqk z|0BkO!?8Znz9ab1eH%5kQx1C8R{cX-cH;$X)eOiwFjn?}eAXYZmwVo8c%mY{hIL<$ zKBb5`rR;AvfWpt#vsYd}=8ms*{gEeF1rY}Zw^nGnmXs6-I*5ic=?tXiK_O;%DOxz(#>qdR@- z6iJ;H&_O4)C5j4uip^F`vQD?_f@tp|q_QS6HqQ)fiU*lAMWbr%TCLL4q2vakS~^pvW)z<}$m6lyvu=4|RCG>lj-K&G_#tD2mRm~n|x zQsyNMlA5G23?T;-l2Mc<=kQ&gG44qrZNh^%j9CNlZ2YF4P7mIMczSlXgDz=DUm!eYn~i` ztk?~n$w=SMjZ6PXk3YIU#e*Nj95cofNF)<(gP_--+lyM=%0e-En8C+9f|r@O?Q>4 zN7r(>8Al)5@eT5%6414^e<-uaRq8N-F__I6!74z8n7*<22eD9{`gnar;n`q%;VM#& zMhhlO{e_wN()N00X-AuX1tFV2IGE|U`s-q|xEToze)$1W5+og9K_q!%Dpbt9>Z+XC z&>D;n<{w=ny?f8(;e`6{fB6 z*tyY6IJD-@1!8$#)aHV#JRN{|9wW?>CM2nCp70!R@eDokZMzD9MY*0F@lDi235qLp zg-^zblEUdOx`#_GhM zmHI#b+N+-b8w!xWf3*K2T?s_%0*r9i`a}Gi4UoIaS)9Lres*Qe{X`k6zrRh$mIPX| z`xj^vjfMZGw)@rZat{Vmb<*DqT?+B+h@8o%Pq!u^DIZHphi8V0=Sbd?3rl>hr9=1F-s-NofeU?3#_bH*)D znU)96147a~XXCHoXRWxDobdEeuZ`U7K9Em4=rfER9~N_;wZ1!hL;}DC{ z?1Em>rv^+u@#qJTzP%VAFwcvF({@BmA!Ws zI>GR->nnZwmFxmtF+HgUPJWX%S6AmwBh^kOU^XGuNaiEb5iosX+V&;5UDX*JGF-qS z4k7yMo9y;E8c3M}-3fL{*O6L8RZYNmV9x!VNNkPq;B2#a`a^kL3XvZ)U2?|_fb#u7 zjAEDWxk`NiL>kFJ8q(7MWDl!gD6U|BL0Kfws)kHC)^Dq?}5_Z(9rgOPBgX! zkbns-0b1nJ|CKev(54OuC?>f-2^AFw)m#r@KUi$BP3ole159oQ>3z^r>VJKybOe|j zk&H*+FtDyKY64;=ho_#6hvNchK;sn1UN!#lC8d9Yl>FJmJ{sHnc?u>V_kmHt+dlw{ zxeC(?*9`wAjpf89KwAaCo#4&z`57?(maob)-m0p|`jp7sh*QEiT97e@I zi)TAI2Uqwu_Zqk%)$3pcMy%aUN!IMP5Xfy_pXW8`W@PrTAPNa;K)%Q%%9u@nkeGwm-D{ILf+eziM43`Tt zj~?}k_cLqk=@=d7X=Qh=pi9T^g51_9(7=d1em0P*XH_RhX;iV~U-|AyZ_KrV7KhRkjd=5J~8r4xFyYP~XqTx6%GKtpF=H)$TF)o=`^Ku!Gu znJFIt*h0V@p*m6Ur5vg!0pQIK5CM!XQ+-kf#*y+Q@le9qb<&IhIy04$ouH=k)! zZ?zG;>vgc&-~TMd;TeN;WQspZqWppK_X_pC?f5GDa=MgqI&8b?D$e6&>Zd!ybj$g6 z$)6jJB6?(JToUZQ58n&F%&fDa$^vc}9g?Glv#m5bgF z5)ZoE2sZ<;9JgP=!ToTk`yREPCHIDyC;as+ulQizNJU`}(ti zWPz^Oujil+(L6OQj3!5nWo)vGF9)^`xAehN?I2IIpFsF8dl zvwN7Q=H4)lv7_!6_C=4oT4V-rF_y-{EqtDi?n`b8@l15z8wJA#EQG;GUiIf~!%YRy zZ|Kq3<=zTTkXZJBYKFe2aW+8)tMd{R<<(z7oXy{s#IX0)by z%mu7LUjf%!4V?c^@ABjNQ|eig&`yrvrmCz;{k|x7IIZoVFql-* z7#gvm`Ju&narepl$&@UB++~5QT~h|??ksd*cPJHi-51-^~_N9+q=39&(B3dN=@?~ zXr<80h(R?VKbE`VM<#&zj`fdDpo< zR6l+7`gPXh;4V0>$(IM~nq4pQy|0=MUls>&3N=C4|LA={08@T|6DJ zVLN&QlA@;0aaA{Hp6fSW`Oo(T_f9pq{62#r^YIxvU4F&J4MC@_yIr%#pBs4!*Dtdq zKZin{@;IJ&({Y4v0szItxz_e$K0eRrc}s$hu}x9UQY4a2!FH*pai?w*h3{Yj1dZiG z^0WyZR|;Uttdf%c#4snguU5IA-<5GmF6VSaW3_Tq(Pb%9{M4V7%%8SV<1oOb2{s}I z@Z-)A&-R5S=pdK)$8r}15lQSxpHqs&$xMhUbH%%T{6Pn_@ClL=XFv;CdBmfvim95! z+baG$bN$OHVX;5oySU%m&1bD)UH(K(49B%l;ioN{Tm@rXudpP&sAPU`x{5SaIHH8o zEB~-oaZAxp;Hg;%I(itfT{X=;a-q2o2Xo=3@VQ5E8?b)2a!39OK-A%FP84T&F2{&$ zz1*Qz_8Ts%Y@Q8;+m+PV~T4~#X&L({*>VlTdUI*6rqFbe{My`BFdPRXzmM>5E6 zChTh#!=8nbYnK!b8C?Z=dKi(|H02p;w*07?b}T2Zux>iz;wkUrC*S=1LesOtermX? z$z^4=N3PHX&80ba4uK-R$+FuX76rWa6R%qwEBlrB7JRwYV|2!}lK1mb2AdPRhZ{g_ z^V}M}?tkM`BsR?P8U5_*ENPot+*1a0;~$hxf4mVBqsX5Dl0AK^-!ESlQGx795BS4u zx7|Ne8TF|w$}>DaS&rKl3;mH;k#TY~SaW&T*8c{Nj?qSFT==7vCF9LSN*7{Qx&GfE zEi3ra9oNRk~>gV5=#OI!}mgLzl zG%@LrH8=uoo;kxaso&=IGU-a&`-PtF?eLY?0VP=9ywO@#b4vcn=g}iO?~OHhp|(b= zMMDbr_OA8>KNtoRbU6nSL5Dcco%c_P-5tyOg>z#`)g~w(O~mUB3bZc!4)01DLT!rU zhTkcmPUVayLgS)rTgg3)bh=NOcD&Sx3D;=!8V%O#zz`uxURwK-z)O?e(}9Wi#RF+| zJ7aB)?BT#{WxC7;C{#MU*3a}-KH6Dse=3?m9+BSc&vg6NgsO3|IA5sr`uY{%bc zn$2fEd*%7%Ww`(D;-K%jQE8mVn41K_&T-S>*ScAs5ru8m#a-6fa0)L5gKihjhWY1T zRfpX&cl~M%cfDsy6^N0U59ZHfS!@P&A5C-QNwjro2tndO?lF<>q~uF4_m3?{Il{@0 z@BjEo0z=*DQ^sDm^MazVK-BI3McaFaHI=q|qlkl!D3(z~L9mN-kt&_BgY+g~07XE0 z4M;~A8wjXKuhLsUIs^zJ0!j!VA+#g}r4xGZeD`u@-g)=l?>^^zf1Lc`b*YiWwVw4n z_x)@4)JqoXwcSsJI;acSCslBdCazc7HK9}9b11mYP9xQIDY~j5@Y~aJJ9G3vR)3n{ z1p4Y*Gas;Hl?YVmM5o4{CER4&5~MZd3(o0Oq|!z}U}A2sbU=FIl4lsZkv-Fn1;frl z7~E|u{Vd$BN~~1ZK`Jdq+zOXBRM8OK$r7lk(dYjp*`%+;Xk1(+(R!bH$yOKE`W3sk znuOm0*#&iY2Kw({c9RyPD{IjmrhW~VoaTu;&t)?Zcl0m?FD5C)Y)Hn`%)Li<&WY_W z@6?~RO@ z{RnuEHU5GX4x6Q|x7oX^HgB0Y#f{q(v8#F6d$JB6Y%pz7ANXkdfV~7Y3aVA=Qi(^y ziP7V9bWlUeN(N-Dn>C7yzou@=Z&cn|uOvC@ zvEr~7I!f-$#Hf!j$-a9tEcyMHe4)2_XY1(UE(v?mE%V(9RTE2P+FOLiv4URrwA;9+ zuz9cNuTmD1JFnLoGZDk>B~)!zq{PR)Fs;-&f``MMt1=by<*}iBH>uW{_4lExova#I zI!xfRGS+G3u$((gQTw-LtoQNyQA3-8s-@UeTAK7ps~XLu^HnEz8)sbk_ca{ZI!$|7 zIlVXutG9}8Y4%hVtr4TvIXN6FXC=SKSAJaLC{9RlP_Fd#z}*fX)EBfRW$BBD952Z` zluPC{qA?yFI^^b~)@!6OG*&*4^(^pk$%epl`o*8UNjo;mT!ZdkGtdxR#C8RH>l;(3 zzwkISQ>JZlLU)^r;mq#I^u4~VvcY+}Q`qms;KYQxodi7x4{GKwh7I&HHIU!4v<+R1 z%=`w3Jv1E8CTEzW%w=%DO@q*krQsVAQn2TR@n%o7t3)K2=ve<6EoQA7KBvJhVXPB( zaV4jTnYvP*WcxTS`s)5GsSl{(ZW6|_vw~JCDH-}eypVax*VWd?YY%IjH+WpVIGE38 zA(4=29iK8lg8t!d+5aEKCN3sYzkL#Y0xK^ z4lGNv_;TfbX=f>-W921%b(%-V?5VkMrf&^H8EN`+VYaBPpxdV}%gA%)YwM?4$C&7+ zqmVTzmxR_$3oR{MmzkX9vvvQ&I7jF8=)Dx%Va6$v4lXsdL>Aq#_cgDD&K1rrRO%)* z`!|EGoh>i96CQmB?Qrbl3K%wY zU#D21r$T#4D*8v>G*zsScTq=tO78rvt}hUwR=#PBY4BQqN!BZ&F7~o~PxTg4@$vs> z`8jPuw>Yt0yMFO@CGFg%AQc@ocWi@Y(9?(D;j=*9PNk~at?K)3t5Ur4?Q3%K24Dl- zUAx&=CZ}I!*g0@t68$4Y?`dD-QKu6@O}+(r%HGR$Lmsq&r9&m3gd;3(B+0{LiMmsiiLNy+`SR_gdThOH!JCC^&pl;5mu%JzP>YgSVHUOg z*wykbsk=um*Yqz3tRf;%mdkWY4XPx4SW%6;vT3W|BbZCJSMGR@0wzJO%id5zQe)_# z1WgcyjRFfXncGTCw-j4IR0;R^fvQK9NaJto}>BWytI*{856PV)ljI za=Ic`F+AKbf%i3KO^=& zLZBZ0Y5&rJ2;~pIouAs{lD5`N5V7)A>s9mma|uy07gc%L(AGIh{t2?4y&OImt;bv6 z{mzq9mTW?2oa*w!d?LSV*KuclQZ>t>m4;aG;*0UE%j?X6m3tfdj|EzW8h_v0QaqGW z&`8+`!<}4o@0>e-9y6Imgcg~%aV58g+>gGwg6=@yqBwrqV`O{|b@Lf9b^gvJ70>E0 z^jh)Io7RoFiafr-je`=#B@bM>zT~Z2po*+cG?-L0qG*-Y56j~H@o3R=?>sTq4{1I> zmUNgtQs#lEE5Y@yPn=E=;)z!E*ROTRS~x1Lx` z=AqGiSJuCGl+kp$X7jom1NwcY4HI+80`%ESQ*N=-KCug%zlWG=tO|9av;I6-7he1E z7kvKBJ^cAJnzAZu>3KaoV<04B>Phq!=iztt|80>Z<-PEHaCYqF{_0Mq8oMn~ag~`H z?cM-ejiH4{GGdSGh>!7T1}`Sh+IR4N)UjdevYzR$U6Qui9ExDm+mBlXv?*fg_9JT4 z*e)}OL6O+Y|3P7J<5RwlW!hqAa46PwKHQUHEukBY%TOptaA9%9r_UDsh?w@oaKA2T zv7*X2{RobTO9<2?Go$;b<*L!@r7$q-TpPQFKQE@K6cVyI&<|vSnGMwYo z6`aG{3$stk)9C!`rjO+u>63hH8fktBnYt2>vorN#hTU40E^bdAN|4(?>N!=^ zshh0I`kgs#(>cH2ZWP!PvKi;H(eCE*isbWNcG`Kb%eZcgw5A`2M*V zEMFUJ?+Tr@^exl(&A8pTr*SiXIqdJ_OEq!HgPS%MX2j;~gQH_-JS?u@8VPy_uG?Li zX4hw3n_}0e)<0X$&+LLQnqrhaXAvv^7mMluWWx}XAG%(g-ylF+?sb!WvxK|wc#})D z1hW|1Uh$>G;Z9{daYK-5uh3=A9AgphyMpeVPnq80rn@$+tsn4}->CQx+l7Xtib2iq z_%b-8)uvxPGemiaOjA+F);Rh~Z zDIDRMi|s5Q>^ekMUpHvZh1UU~d_vkdI4dPkpiA}*eeMcj&3b|}SpLfWPrpEl&2dBE zllg*IV@pqjXTyAQx(f)>w5#&%k_wv}5m@z1mp-w=HeJ}Lj?6#l6K+2~y2ltTl6I6^ zBQfX1Jw67s@G%K_TX{5hhNHet^r05FcAp=flVp45P0lqry^74Y3IoqA*LNqjS$K9# zO@2455v{?Sj5leba+&a#C+FrjaSi+SPVJqVPaV*MBH4B*ui4L&5 z6}%sdIbEtcqvpT2h7Bi{{8h@A`13*~?^zSo#c2s8JCPgqg)Y7^nZtLAjHU;jy$3x} zqZ|H>_2t%snTst>Udt$<8>q7x0=t9hnNWfoI(B`r#A{G+*^^upz4;zN9Q|ePvY5sg z?49;I`4RklbJC1p+&5uiAo%Z|E zejXU@3mRSbZx5aHLcN+JEK5eH`Mk~JAoAy*nD#7|VKN~FV_ViO@n;EZ%CIRAmXtgu zJy!MaKV?1B^%uHVJR`c-zeeG>BWCslTA#gMHav^tD@5(!Lkg0&=XFLmK*ts}G zCA+e90ChlS)=(?7$Bw0!;#10ptWId6%`$~uy}ag0!59n*cZB?oMZOlfd)2o zb3-$6laGG9i55L-p9&{JEmJpxt#V}rv`m|=;piaXYB5|@X)Ob`G${~^0K5~0rC~|;HomZoA<$;mgFKMzC zw>oL&?e6KX-JOG*#hiqfc1&(FFFl%2EqP1ewL}$d>}vmlZNb^bzFVHDkfY6oR6gT7 zXHODHL@#303PSB~!=(>I;hq|e9Q8oO+^C=~kGj22n&!>PeUKm4b=NdFur;v6`$x<4 zQ#+w=QS)}k85oilfF?SB&_{Cs7}zD%5jnT~#b2;?rxqj4*HXKlw%9|yV4-gdiv;C$ zc}sEx^P00u9lHc3;cakizTI1BNw2IAPD9&lY`Ia8T16kWf)K_fAsJfk(CBc+$7l32 zyj5HJ!()acx#ZltpP&{aLIW@1)bm@F<12g+_7d^%w-yjL8C$NUZl0rEzGG09+4^Jn z@FEILPm^EvLE9WIy}958=*$rheippbzE=iDI9g<;_vx{fG{NFUw#dZ(ic{II#HJQF z-6$Hfn`c91E)zG3B81e*X;&K9=CNm243gmiX>7@@A;7t*-bv@od&AcnX+1bNbgc(6 zewuakP-edN(7Y-RFRB=HrP34%mWh{Wr7BIHEB6x72;%v4P=GdoLUSH?+sSR+b6(|S zpZNW!Q)QMuBZ~SVrc<&^VnJwB%y5~J-LfpsGN@!*xnot9j=fPW0qU$+tYh#F1_jGQ z8%#aEx^!j2=c_ zIXndaej)WUYqf8WCX6@y0Dnz^sk7yY6T$a&_OG5n*qFr()vS3%1XNS=e?xddrGN`L%s^g*#}>YsN9zVPVTg#YzzRYZQ|X-PiG|MP$RpMJ5_ zj5%6sob*fKmimsrzk=U6ggd?KG?u3PKN(eesQiCnR2hMJQk50>f1+|6=(+D!-O3O4n$U61e{_tF|stY$u9n0IEo|Nf>7Nj|qYH>f57EX^R_wlzWsr;l;swlOS5O%V0>AYCodP6|E# zP(BjL&{YeuKHaqcU;kDCjpth-1ED()SRQ$qE( zfs|dE&lJ{Ws<$L(6)e1yUcfwaID@`23M?ic5!Hdt+z*^HDE(sq&~9*<=>A4=CEJ>V zb0Ro?1nA&qpzkcWK&U~?)HsXemWe!`F)8}UxHl?GD6d)>wDDBTGBD}GB7(k7*;$ms+Y z#`}#!)SnzD^VW^(X}p$71S+N#7LJ$mP`F+Ua1dR)-m_}^!e*dp&o(p(6;|<+X`-q$ z!Dp*K;6Sf?76sDz2CCARZ9~g#M-3B;=l{9w;84V=a zFcxCAaOTK4Rg1d_so^0k5xkk1M-%VYx@VKkfM4|H^$+;Th3?1Bx|LKR2o{LByFfnK z%wIA1_RX|~4$3TYVHH6dX5DjiF%zPyy^}xuKea&qt))S!jpg?CL{V#YE--xF>6x$~tLiVu-K?1t7343oKQIo?j&W3!Ty8iS||79#=pLuAC}j7 zMh|n9_IQA0UFz7!s?p>i-iBPXDWwT=4{R&%Y=KIa*WZ^tMeGjsjI`CE9EH>dG)Xew z5mZ~YhVD(jDf54i&+vcEd@wuQUh;8fL^YB}Ve9AxxLp*Oe0snVNcI9w^Ud^4CSU5Y zlHY9JjBDTQIq!{wU8>tLY|;JF#hBqr5}{1i-=Ex8CTBUK*V1vm6kFO^$6z&?TM$OV zpxHfE-lOTAI(>k?wd{wc6SN!e6+>$6tX%?YFxmK`p;sMZ- zFF#u@Dg-TEJwiivr;|$U>c6nl?v1c6mLBx^mHQ%LNnLM^{lFFw>0*r%mYQQlyI444 zxCR>UU1gK%myY$0vG&KSm6xHR* zbAh(>V!$xbYgkY9$SF8(GbY6iF&}Fn=HD6eSG)VmxKwW?Z^~QoTQT{N%-qozGm>m7 z_C%<_wZ&*3$4q^P@?Uw{CELLm+G?9=MvqLz19lgqUi>&NVHbzQ-m-L#OXkfFugne* zAZ=9Lte2l`3XVo|=*e0018T#^4s*viR+xsvIC%67fAIZ^fyLME)zU|jPwdorXFSGg z&G8QFrBuDqI|^BjVw>yB`Qf!R{>H~Y*Q{UComv_ReBGtl8?Y7H`VoSMvUP3q(hNa= zKmfC#{%kyC43a~_bCOUXRG*NnMv`mYu4KFDw&~H1i`(3taA^uictJxpF)wfJXlSz# z60+doKP2RQ>g)s9Fzt)rgQAh0RQK)8>cr6Ti3c>jwZ9-s&yfY5}uA-PNVnqtUB%d$p<`(_ujdf2M3Ve`SJ`Itzl zr<=3Jl;k~r=V6v*^)3ycG(8lVVd!?_<;CA%!lWn>c5qD#?y!HqYQ`mZb;__BeK1tw z%d*Z(kkPP_Yc6UCn3LjrVAIo`HK3MUzp^%(GHD#+&O4K>tEwRozo5PO$DYGyA`dP5 z=#n&CE#Fz%G{Tl?1H8G`TF_ zRv4o@x|ZOnt~lRifrt>6Db8x+Ls>%`x4GjVmW?U#VIHn6(k(inQ~TniZlXlQEp{5Z z>MP>R{@}4^R?n`|p3T{$pjo+$4$!35=MGOXO0D#6o-DB~e0TGT6dXYW5C+6a#$zYC z3RD`^OCIQbJXD{Sw@%{3r8s98EZn$VDGRm5LpYazpz{1Jwtso{aAk5NkwCb4;(nj! z-0hho8yj?Nz-TRo<++K zw}@2^hdfP=c+b3VTmq~8e7|}Ao3n(#_eN68imRJ7YUy``m*ae}t3QGz?hq;NUXjkN zVjP3G*kUiH%ErO;*emGl9@CYX&x_1^?E@+*OgC5R_KTd9nSZ5kIZseorj%SO(#2E_ zolP8R!AmTS-ap!cy18^rBJYRvZF-uFTE*A};z(L#cGVJ3!_w>|hklb-oITCUmk@7Z z4|{a;m-y|YC?9v{{?TvglUVwN2=B+oaT}{k(z5(3A9o(;!1mimn9BTo3Ki7T`-S|* z-_Hgv9{l~T1HWa7mu{Ob$^ePSF<+VaF1|wde^sk6Xcmbwuk`GE+|KM^1l;E^ERnKA zo`YDbE4fFv!Ak!`YQ!WcTM8yU)*!sOkeDr2lF})nvBQ-%cVtxCuLv}|;xk#>Cm~__ zi&L8uYd5Eu)w{_~*~!bv7o*l;dx(a^om{%_K%TXOtQUO(ug0!HzM$;>F2zA_(J{in ziieD;DnC-6mT>M~(4}uanCHinQ>k1)uZck|Xp!!9hh6lG%NUKeD>3~QhXq&DW+yhm z*Jpg}NHg$)h2YR-ZE_rlVo;h}Sj0^5BQEYHVoX*a=g5w|-6 z@0zShwxz-ejr?D>h6QaVhF%r9u{Cvejx= z^7XxBQW;}b%iz~ATR(RYKo$#_9dTgU<;yCnix1<+YgrqV*w}UD#rHsMVk0r>C`yGs z`+nt_u45g5oatqoUDL=h#|%ITX6H&pcPS+@b=8%%;5G*Nl-(KRG-S{Ha`M>M#^z`d zz7kR8f#CHi5!CbjVk}NI1Toj1dYQu2;Wtkjiiu|NofeHEEti6wYbG6()!c8_rh^ic zdoV;mk#9I+ajEV=Y$spdBi+_bxvsCr_O)iqMH+)^fp^Pz8}Pr6f`mERSAwx(*A11} z7%;ht359URx>No8JZ2O*a&0M96=PBO=~U-d71j-%4_d24DVpmb{ z^@cjpJXowV^D*_q{kp*I8c-&1jJ|`8sH$oCo?a7sz#6$t@~y@bTIx{nG2u^fQ0=5c zu)4T|v>l~fiMT5()~xJRW>vkw*+2uSK*o>X9o+)x-wiE{edfZ`WEf7O)$*odOK5=& z>3VD{PuuR!*!fs)ZjkhbQx(`ISlGpQA7OKeYsE7gb~N_|jd|s%A6i>1?V)6q+64-w8Ez=?WpIwvGO@<20oX$-Q+x67aq;mFN~R+pE8Ll z_7dpw?t~^+Bv(T;TrbSMCjJH?CfeA%RduoY>BwUDw-1h{vE1C2)iKW*tG{5T$Vi_h&(5_Uhiod#&cP`x9;m<9Jlj!n4t})X%J31{#&@TX3rCZfw>9M^2HRE%S zArht(RhUihk9Y0marJ?)|H1+Dn@qP@KWmpgVYc!)oS7SO{iyzDScQ$clAxu_H-`o) zZ^8Xu&|%tK@d+kLohMm#Y$X3BsP|vSg*FUr!h38l$((q+1Xq_4p4f`iN$~=7<^$Ps zE*yGkh`TDcxbWTXej?7>bN$kD>#Q7a)HLhwPnd%9sk{%Wv~HrZ#edz{A3Ng1ZP6N~ zF;;!iG6OGVi`$Rg@|Yi=EQ`Gjny+oQjwbadDK$RZ)GElmH+Pwel3oc@%l49|`3Vgz zZ|BiF3B`0ukB!4jt$8HHs|6oF(0=#P%k#}@Mds1hdrM2G>=rs^9D{QkmDp~=7SEi(lwRkysbRDd1 zh4HHN6OG93lG)7qL9bu#UdZ<`f8;b^kmIl`e}7!wr^?$;0Tl)V+yl(RRK$56C3v)b zhhi~^WsCQbc%FrtbY2GWy)xUp&Qw&%XWpEs$cA7MEvLlz1;_%x(PLG2r2N?nuqh}@ zxBmVpnm%1q!&$aCKSm^6o@aEq+Ns|-(Vd?-X{Y-nvx4TWS8S%~6Yjk_9BUqW=xp-? zsl4T}Fpr*b-IWTc5~+gn5$irj-;hn7b2j5a7cM^Wt?o{1yol6bNUNnxoHX0C+`|{{ z%P+a_G*Z^2R`c|P>uq80*SJ;TF%m01T`lik$eFK4y_!RzMAhgw^&z`YhF~JO**Xms ztKBHf^>h2_IPi1NSNe+7v95b^3%p2D%OE_;KT<3MK^o1#Vwf9dK=yG_`!egT4#`sD zFj^=pqBf=#tk@<9gewA*Z~`sGj^;I#SHu5hGOD81(T2q72pNF{MC{jza-%BI=4S=e zR=Fe{k_eRsGmrWlkK~dPJJZw><-+|dac~ZtLOr1di}z+KeUSNr+@wbyLs|Mo=B_c4 z-)+N?9ZB|5@}}kio=43NlXQqda$CogrM*&(-&nHsKG`H>be!=V;sOUum$E|=HG-x-eNRd{dpwAEd?f19j; zac(^68dYKck%8zl5KO2wZAfi;&KNo3HvTYTtoxfw%~G#_S59|wX{bHzi$R_uZgnb7 zdW7mU_{O~X$?jfZ_kct*9#7*fF9@`=jF)y(tri?gmip^JPVzw*tvyUAF9ChlYZSS* zGwC-&xmdSDPh2T%FSgR~fbQU0%T0kbyQor)u{jN_l1z*<*+>3W$%c$+b4WR+T zx)XKj^jy)U;8su2d}&whceR}~ym5r-OP!+Ap8V(b@!qQ%3d`U;$bDQ5N}=n5XRCe| z!F&&2X&rga_1p2V%eTTKLWG$G%V{lXHQNa*@l4J&@9U<^&(0O~FMAUgk4XqF%6Q{n ztkafzvdMPV+i^n@-5(dCFP|qB77YrhdJD=kVY>DgM^VRD2DAifET^i_9o5UaRa3>w zeFgYiMJyd=vu}hOhf?SC&p!C|nO7HI;t;p@(LOj(Q(ikQ5@2WApz;l`U9j!p9%?P4 zslk{gK6}I3pP0|+K8EChT0pHW`vAQ_knIR5X$JL! zoOlE!Q>q3619^3z;R*1#f!conioKAlIl7rR!8bcPB^_} z{rug}U&a~#2gLl(Um^~ge}TUYN&8_1{PUOp!KHJ422TBVQvbXulL>Ny6Fm%o2ix;- z_02yv9?OFp|5$Q<0^9%m;Q!lC{nx+z=?(hpcYePXS+t6u^qP5s%&bw0XFU}LO6M5R z3peM2XgjTi*^m9k4BOxDehocz>ne=}$GJHN)cW zf6(mT5i1AzM;WMvmwcJpZr!$4#)8X(ys5V>@u)4SL!O&K?8QHJq|;W4JVOV+oIOwA zW|?Ya7(d`&^Y{0D{O; zqOf`GpRa$cc;h^Vz~i^}969MCz%8egA1h&Rhd3^X`Nr}^U(N&_G21%nyWyBVh5*e( z2xah(M7@A_*1v+HOa?4C!!Tt<6t>>t9%$m55jiEG?&|N%QUy3R>^@d{@b$U#xV8npT}6W0fq>GaUZ;`^ohj+~vy$;S z0hm0m9hr%6+0D)z^Xs_&9fW=sFfYSI5b&h8gZIIBa|!w~Oo7?WG3fvGoe5$D1gJiG z&p~m1zEwUJj0B$$j}OvB3N>B+bt7HEb>c1vdGS$tM(*`;v)SHS)A2AvNGDxq2+NzX zIPBetdy>)e5r_(=k+nb^ykIlqZ%*)%2Kdm@V9y3XQBaTuiG_oeq44iBfa!F7voP` z7NqVCjxa~?JaQ%A)?@fU@c*mzlDso+v-HtCuLZzwI$h!l?(GG+FxqPvGGIl(>8F}i z6n0Bigul4$_ku)gS!99^!hVoU^5AJ3PxK0S#QduqM9d5~i?oUY-&ivLZIKGJt^NKh zg9n{q9^;WK8R1Mj(@XSi4MO?dNn7tb`=>k^)cKLhWD&?5yv6tlgzd^C08wUO4iXTtY(M7=Xdbyg8JoJV=J^JxW2udpftU^?gqRaH!wjFz z8%~wETy0G-Zx{%T)hX?5T7cu72vZPwX+g371xRu|Db^$-<5j-8Rn+>Ra?RV}%fb2e zxGUzN_js+2XMarc8Bos0VSA&4l=yje{+Rr&SVcbbFkXi6U-Wk2A z7h4WvcODSMMCdo1@S$T^X}1l8hE|_a#IMjHX7hi*NGNWK!|40rNy@5o!P2BksIcjs z%EeA){`Hy5UaRwyZqk#*VHMC6SYMyflTC<&(Xr+~KEKqFTZgCHR!G=N7)~<3ah+Qx zs&!F7bGDSuxGWluKc&M;DigRSHobGdF^o6mji5bsn(tp#8i{v&gI-JT&hY(uyy&( zg|I8Id?)Lkb4t64TEsctsK5FGH$)eajT6jPlLpdgVvQe+mrGK*S5>~oQDk4tW$kW8 zbLOp9dbBzi`TJum#f)iQUibsV%cKw2sxvX*(J*gIQY`&;yR%S(Gc#fp5Rl&KU*_5Q zV;%G>wozBIEs{lteq}&-<)+ty5AATP=F(d?UmIkX@0BkZB(5Ap#*(q@qBCk>7_PG^ zGOHuJ{*pgG9~;B|U1qG5j;e)+$$~yEPg46Wj~MqAs{84%slvwaTp$Q|s_tEtx`;B~ z5~f+6asKg=yEmu=@m2|Hv3&{QE5Zv_HoIme_vbfsw5?>`zY35G!r8=kfjr_tKsAUQ z{#@g=j$KXK+ND!tpFgBU7&Pso)~D5O2TY%q7b}tNz%0nEPlWNs!6wky%- zm~PIjuina-L%H~xX@Iy_@&C!A05sf=!`skzc0$oE^#^4+O>jt%d4hBqk$j~PHf zNgr+>c79+N|HCLFy!GF@-Sq|Gc;}JkvrdUBv6pHiT6-$0DyLVQ(iVjR>h1^lBQH_`CS$ARL zM7h-hqL$zeP&7|2Ws32avWkQ+c{qYK%|{V?=-ZJ6#~k@qIJ;i0a#QAFV( zZ#A-(ESnK<0XlQjMmK}2bCyLT3OI;&S)ROYI>gWprPI4TUA?;8ThQor*uW~$F__G* zH1)m!(*9IiR89uD!~c5iZ8j51dp;voo38cS9MBb36zJt^<9$Wkh`z&kp;!b+j9*(6X?>b-v~@g~ zLa6aC367PJpidQrRxD2xX)*b-PH1lxw+whL=dA#Yi0-u(A||8h-Tw{P>YA>hx!_S8 zqF>_e0b<}W+dqw)_b6~&ULCJhJ>Z@5G}Hf&ka0Yi zQzgljk?c~VttA&C5OwnVxKFghB~m(S-Z8q1worSNW0bZ13&{J_fXcY0!scue`QoSjjpX}cQS zw98uUde2APO}@BFBw7PQRP2pa-O&cFQNk{Zl$E)Na6u#Vw-k94Wo*w?wA&B=8pPV9 zZZ+le~UhnkGp(xx6fG?Cke%;cOuaSiARHkxYm0N56Ij2eBJCMnN1~6_Ucs8=;^V| znbphUk&{(LEV}Vh?uC|RQ&=6`G}n(eqKylZizOQmTc8H}3hFU)+)~Uce=>fce8{?D zs^}@X_-mok8=n|4ylC{Yr&UL8^s3p?gf>mft+oCC8U*FDka|`HebyV<@E2SUiNeoy zkrqfS<@LwdsV<$Gw1f#5SZosT2k0fRw%@aE{1Q`!UDT=DvpAY2_=niOXhxs4gv|XP z3Ea0}tV~D~(?eF7jtz=Sb|Tn4FhRpvNhxycf^MzJQo<@Z3d2xm0iRpGTCQ7RrT$(X zEsI$bMoVC@qTV;rc7kmJYcjk-_rLe&+sirPLt`_ZwYE#~FyuNl8;B=Q4yEhp_0_un zg1=D3Roi;*7)7O$i=qE2wDs5h)n1PI|4zM1XS|AHL}qWZCXW5MzM~s7Nso8tV@;Hl z6}6efSZ&(FUQ~N57NQ!i%?=6R=U8V*#E@V{)&}d`f@kq%DYKH=JJ|QHN#!*!xFlm$ zw978Bub<=nk~8}U>xs_d`+weh8^js79%jvyZTEbUODP5JJ!2F5)l8kwk26BB+O`K* zY(-l+1D<(pIHoNpgZq?Tyej2Fk({3c(a_7yb@Dc6$z|>S(R`Y(gi!EFdqJ8Ro5+LC zTwYqMM87iBUpZJ;F}!{G`<`+OHR2*5Y&}oxw!DuTJlMk_dN0-1aNfB|!B#!o_BDQf zdfY&^jJ7T8mS-tGeL?Q!-_UHh)NMMe4|A22!E7S}`Ta%rxP3iOpj9}V*S&Cd)a=!ke=U4G-sUmlz2uaM~!Ih;!4fs1&u6!woeOv=r}! zCyvX!8`cuf=FUaW>)?VML3_l? z&%v+TB?)ApXT2yiw85*OHL___Hk}<8vfI!cQZ}6*AFC)I$}(g{XCdSKdiM%Q4CmWl z(Qir@*K(6$SH4c&!}B;V&!(7DgB{A72z~S8^PrV$K)9|-oTnQ=!$re_l~MZkHMSA= z&^q%Q-37x>@5!ypY7xSWqsit|RUFs{NgKTD2-#Z}BqRq| zE!^3%T2<+2w#HzQ*oASk^x=?Y>%ov|OPNcLKlE6yIDiK!G+MP{5j}^>e-KFi3s7ru z1LbNZfTWG|csa*p0SSp=`-sA21X|0&kC+XYv*tVw1;fLMcV=h0lGwWY#5;YUoj7TePHwq@r{)*X;9?)naTU68`rRL6Rj zi`dRc{9H2V^O!xNPdn^u431y$wt)CYo%Zphojwi}%{@ZOtO`=mbbmz@E{pM& z>8(F_4vIm1fXJE9f=zXts_de+bY5O*j^KW=ygX;<`N)2+85P+j?y`x5_-C>2zKe=^ zgq37|IKGaI$n=(lls^Rb;ZW~ndJgK_zIH+5g@WZ}- z5?qTp#v;hq%;XzTJL-TF6G97NW<3Mu=LEQwdpgVkmZ+g}VGG)rGBks0UbSatO}?jn z@ZZNd!W5Y5mNXR4sKgv&`AWkglyYU{8HJ_eRpUts<-r!^THR-gxUnN2#%ew>4;Q+l ziqhjP-Vew6`V@_{y&uk_OmBX^$yG4T=|x2kr=JZK?c#i#v>CiR;E&a$jUV{w*AOy7 z+!VG5=@Gp8TAS{sG9{I1Y!|=$b#wobgA2ENcUi?tUvMk(R+}=gsizRU^4%rIZ+DKi z*T)q#u$%W##LQYL6*+B-yrr3w17wN92x}P6TzP=YrcsuQiizb6lUULJYo(1vr8CF% z+6*^GyG}fS)zz_2f-8rkMoih`;S^RIT{JGBS{HipOUB3ihHRFQRV*~mJ+lv4@3}mY zGd`&2%U-6tXg@xty5k#2JumnOb;pJnhIkZk#8m33ql%tg){>1h91)%WW=)FCGWt

HBPVtw*5i_v+<-sk``lh1E{T)0xw?5YN-yXAOZL2rk~yo_F!`l; z0G-SsFo%PrJnpTM9K>^i`8&oSjPZ+&o`e+6yo+u;k>e2#A5?6GzB)nb3c`TEZ(6(v`bq)AH^^Aq~S z^fUw4h^qRm)}f4~MX4u8i^vHsn%P4Vwmt195-SCrI_aGPuE#A)pJ4grrk?Ent>)z7 zw!stUys&AHp`wk{)=%WdGW#Q%dAL<^e7sg@Gb-`MZNsJ8NcW$u{cXjnk; zS3?!qZt@-YI*PNfd$|CR3r|X9d{NsO$KHT}XoMvn8v13fduE>=5!;{WiJ8uJe9BnE z{0M83#*rfqK`7fOqj#VuM18z8>D6(j6BE!Nsyow*$%uWPPTbHbd;PA}VYR}nyz`sm z{I|>A_|RTK<_%Xo^(xdZ!Vz_=8j%#cb*9LyZPsp`l!GIH^c0d+6Kw%n8U`I!{#|pB zsN3qb)H)HjckbHvfjC-}>eOtpy;EJDMDNc}`54Sti+~jg45E1f*wnUV5O zNwS{MbxX9GO|#?v)KT(>f$;dA(+muS?O~1Vd)J}oETi7qppnLS8!m4-NK}ucyqf4teLGYyG z>Z@4a@{I*|@C^6Qre^_w$GFwZHp{jPpQ$sy&%x(eS z9V-Vn;&1LSacc)S$I!M-4`u&|;)ftECqS9~hUN)zw>EAc*g5)Baz#&B$oQ)3PfdqJ|;);6`wg zZW(iFHYpFA$x_zD(hEc=Bu@DBz@3{x1TR5-khRwgs(_3K9wnC@c91i>S`hL{i!&8* zW*D+PpMPHvxPu|nj-6ZDF4u-3Q|0jsgnwDRm^x&pnSC??kj)xzOr9@_uXEghYs{-u z+Ptf&?8KZ_Jdg@6`=@2tIl7p%>UP(cXSkd@=7-)k2B0b(Mvj@oocm&`LLy`{vl9Q< zSq(CeQ=F-!A9_3bKST%^_6jPBPWfpD&ojfPA+L*qY!~@m*(dyaHgy`EZt=M(a!y>v z3T7~jbNkl}`#zz;;oWxv;Na^pjOVqo2|7rI$qEs~B-dvVIjx7W& zoAewX*AJ-Yo5?Bgoqz9F&~O@2`K*Hdix9|{ch@Wi6sUcrf}M|R0Qd%TCEoh)*f_sO zVuxPuEA8e-fBcY_kyoW09~yIOM~B*?)Cw8mZez3S^B8N`m-V1Rm6x`gh6m3oAfNeD zgT`w;0dLmPNzkKu+e047C1iLDf>W)`d<1J4cLnkQTtTe``YLDha;8Q~b9$_u zRX`{6CD5{eVy&h3i~e~%82mOeM;ZVFj)7U0;WDppD#e`N1e8$){O!t{hZ)rw7eS%6 z_Z7fn$;0ooR9|kYN^$}%lQvdLaZ+9%L4b}o_=TbOuoIbo^xM%_^)r(Qqz!$R?fic; zaq7|jj{r)`jg~@ZM~hehO1|@9dzHI0xnE^n*l#VZZ`Z$gz84~ZFT!Mw-YD=Kx4VAb z*KvV)ExSu=5=bkye@Lr8%KM`={cAF9i)p+w%6Q|Xt<(Q-SHG|^>;l^H|BWvE>k2S1 z{5x?6e>l#7@P)`Qo3xgHC_}3!5N7%_;!mB?wzrrE{U@i1{1ElV|NrSkq+?%&Nhr;r zfHfM=Wl+!%vuyudY(;9y1qc=R#K2eo#`eJqO+>QU2!PsJ$B5fn8Mi{d7UGCPpV>r$ zxWFZ$Gs`u;|KG0Y1{7MuNPr4vV4=qU?9Vr!x9urRnFJ8*?$g%S<}~ zMj%U+l7<9ey?@=DQ@aFwk#}4De7E`o81iE^VF3|x9}@Wl!u#if-b8{2r=i%6ian-( z_2mZOBIYojNEpz+Yd?xXL?Et}e&;J)b_FrBgX>0a81m^Z{p1k6<_QGEm+&Wtc*NOL z286R<+Ym1ms7J5i??U zv9L!WJ`=71HZU>F!|4?Z5v{TCG=JLw0%vK31{L)5qR#0?- znbhb|}nz7*+1p1$|jRjxI$(sn3$_k{N0!JrxFhl*-> zJ5;gvufPH%K*ZZvyejJ$Y`k%nr0j4cUl8dbC+e@oEFZaZtq|xi#3I$r!6^I03n-*m zm?;x`SXJ_UQ!%MP7UA81VYyU(+55*e5l|Ar;FjB*GRmgi9`xwbiM~cNUQNR4*H^=h z3Q85T@EINW{9vU0AlCS97cy@lUWIfEyOULr>t*A&3^%o`k@CInIeB0MNx1~rQ$`xY z`>RU)V>(3ZTe93-aIjM;Ob|s!iX>v6lVG z%t6))soP^kld1p2q(zhRdjUcnT@N*+d)N|mRTG!-W^&&rb#ASOJJsw>&x{4;Hd8}> zW9DjBkso8`Z~Eb_SjpLM!30*ld-owg(Q_V{?rtU1+v{9!$G(098&NmM%^t*+Gjm3% z;2#Y;LQH&Vwf#34dwS{JVXt-DZ^Jq*7i-#c@@)O)Qcd+?t0q8_?H$N|Q;z4PgE+y-G%)~C6|Ks)`$2pCpQ8=c{s>?wL-_dfjx?%#t zI>ZmAT33u8*~d>ZufKP|_HfBZ*LeZ9dV|JsgBs0uh6NG&obIjI>Lzr}RqA!fLUpd~ z{OEC6oh@j5*gk+o{6n|{Ayy(kD$kyVLrAM(2saZBm0QcaGL{-P@%3R^xNaeJM;;iF z-{4o^(HnYrQW_EhfCQ`;$w}l+=Hu6#rLk`hNC@#yMu0i~&-v0;Kl= zJ=TM_iXPmVIe+pUZF~J;(-G&^v5Z)uzQ=VxSw(!sNDPY;O~n9MMN=mtAx?@kA?)?| zhsV>WWwn&)8i|1e(#>8o%_8P$khnl~9w|4+7`Wqa$|cHCDcvd0^~+T_h^CbC!0B_C z$T^vz^w>Lzkw)2by&1=lCgLGamjljwepAftu$S|6pZSd`tjV{bNQvDcT(-S=m39w$ zp8tt|X({(2fm=5IHTR`La^7CLMSpKs_s*W}Sjd_Y?(a<||FsDLu`_v2YvQl6jGacT zkQIQM+Ts-n>wchQWxMC_Bz_4>gfg_96(_&pU|u}QFqn%mPS&&ZXL@1V$>g;wvNOoD zNuIWPe34XH(fKmlP0RkWvvb#a?X+bAVl#0EX(It$L7#(kxvz0>?_9eNp$;d)z%JIV zL|_z)zJ_s=w@H|i@tq}djb{L){=CGF);83gP`6NY2@{{hjWR6BXyQ1DOh%G9QLrSfvD?*^NJKHF1!K7Dv# ze*pCYtbz&AbJCV=r-*63z8qdLZ!5>VAALDU6m$EQ=qklj^hvR#c>d1Z^{JH(Za33Q zXWce}tj4Zfar0Wg;x=Ef{N)Ynv?aD$u&T|5k`u{tk>`FNbJgOPv0>u_-^ZRAn|`>-v+&nm?#sMq zD?3kF)@|&)ER!Q*q|GPl-gB%Ew0nq_&9<(Dkk+~?7#Cq)$0Cs{8Va)g?)~%clOl%G z=vR+}FT&Qr5iVt~-)sMyfJ%5@_hG$Q$>+u*Yu5BGaJs_8G>n2?_~O32V@-9WCEiwH z41$I}ECyv4ITLRP$e$?ga1---nP->?hR|3xG9xlFo^2=$gewae~c zz0SQyR;2?Bvg8<{tn0=xRilHcAK%R#k$cZ%_LbXjn+^SjvuZY5Rm7qtw_{u~SORbz z7Xm6t;tQupXSW&K{FmX_o4eSFstEnV>D*Y;uvhSIT3SX`stGaPE#|OOV^tEXGu{Kn z;Hc0kgthUCfljI80pImWBXe{KTZ8&-`bh^rmhLqDE$NC?zR})HORb`-G~96gi&^!e z$8<;`{!sdVXnPN+D6_R&*U%V1v{eu#nME>4&L%`8hXN@mP!W(Up+GW%nWU0)h9VR> z7D+@wi3$`M3c(^%AW`ypKf3MRea`;>egAvzb&Ty8ty_iq!dmN{b3W5%ek8?^rz+4^ zB+%5WirRt013lX7FVzv|1SX5@!ZHUTZgjD~TeOz+_REmF^A5ZWQ7aU&drwSXmmSkF z$*!1+4b=P<^yn$FG!L*OkM&wt6$YP0z?sR*i-Y~Z^E8Z&(I(#%+nWtyfLR%gcUNPa zRoiOpsXtT#HKoXeo>nY@AWBSo=}goZrj~kuAIzTU_8Rs{_jw?-fYmldY{)j&5)6Q(y_!$BYJ9H-9X{j1z8 zuCvueME6!{or7yE6C!Zt;hqEQYnV{S?Zlx%ufi)lvz%vd_~xkWKo}u=9$@bsa2L60 zSSl3WdHzA}TpnPDlOt3@TzCESAPj0SL@^57w7<(tIZ{Btm0c|ED{$Y0oMdZx*0yZ-4ru6A7;kzf-cJ>#zn{ws@;Y8c^fNk#zP z1vNHf<1;r7SE*r{aHmgbiow>~b3)^$s_gP4^+G0i_fxY2GqE+RHk`C7r#s?iSFdCgO|VogO46KT!R z7{^TjPoq-&A_L5KI(6unbjx51GsLAqC_Fu|z(SNFTrM7)$CW>Mx;wFQ$w;-LfgLn3X#K*oOROXkeMT8D?D z#V6DYuMGbD;tF=JZUJLWXWm;qaP1?ry|bzY%AMDyjnyeB>v2vP`j_Yv91j;j*N@bO z37PMJor=JJ8{1G2^KZJUz;zeVgSlFZ@Y5Zl863T*LPtr&erKzy&YvYsBmJ}IzaB5( z4n@~zOikr9PFt>Fv*gbyJRfObWu$&&rmygF&5P$>-~Q!a@sB5j^RSt{ z%DiX279>5i&vK=#h3hh*GA>5Ngcyv;jx=>lshr zVHOOl*d;kZeZ#}XFlYQXT-KTPji<`26w~yJ&h@I8dYsP*>}Y20k+-$$O>aX_N%?(O z4$+z4Ke%POezKFwHzo>R9DB_($=WccX#^_3F{X9Y7Yn_X7zaI-)N61Q&47)$0$}i+ zO#4Iy&M$Y%t4N{9Wgx}yt&V48D>gXoEGU@gdJ<9!aQz* z?WP#hzle~S8LB#dv8uk(bzUjI?!{qa{%Gsf1^EgKEay5HM!T#+Pd2#8_#f531OX?mX@go=2O8 z?#8ZQ5jF(kq~&5UtL_sD^;itcLlQWVZhk(&SY`*fDeeba&vs(JIona30gX{ycxW+= z{u{7nObyEJ`0p}6bU>C-4XLv0RPPgZ-H2F5!pXYS8BDkR*3u}Zft3uKir52Y-{V)s zXj@Y5_6)&$Kqa7WkwBoJiYut6#&;?(d{FN!NSABhJw>f01%m|PM`YITicIV9!mwUZ z!^mg2t6z~M%BEm$XzJ&42{aW^XFK+kKN&r&SCzT4fGh%BlVLN`$MjO>;&LAo3-bw* zS}YC^(WE&V_CUmZEQ}T(i}Rkc7MqsVnbvRY{0NKAG~yO6hhnr zyZ0UxM2w(PKMm}^%I3BK5~4{vt#$yqmt)I+8~-ia#xu2Pa_EwR^v?Av7{_!|Fzx4k zc_{X8L@l~<74K3zzat(`0T%T3@q-!JCK{jlMUTm(N>N-s=-kkh#Se6RZ>S_ zX9oKBEO_-FFqe1|8m|=`5rDqGr$GsNBsDsJ@PwVziy2`W(2B5DpZvl_KDO@uXd~~t zfYpXj?4WC6kw)JpZiO|ZEVXUs-LxT)28w6og3V_OYYD_lm}}?pK7^ZF5OkR8>N0gd zWHT?HUsXbS9+Ebg?Q9$YHSR;3N7kc*%&HV3x5t4&Z*Y_=-ZSGvs@#`bU5lY2#`yh{ z{b?Z?Y)=->skOqnNMW{6S#f3LC^_+Uu7Vn~Gy0KY{h&tf`00aG5m+_u?Kzy|F}?eT z?H(yI2v*OmrA+c$=}kDTh8$k5n#o7miHxk;g^=#-ZZoM5(rjpcTP(U*x=vT1FY)D` zL&k7`O5u76w{AqDt%#;_YQ?fY=0=2N9FI?cub9F4;1))SX-%>OqZEIG{q>>q`Ek`FcR{C}9 z&iI0PH3jA3gN$vrtIdmJtXLzI=R0@%%C8&wPV67kzJ82evE1peqz7%sLCfj9a}XH5EE!63j_vp)DmV&l^-?pBuDQWtMe$~~v6OFOieXeVUA+~d)Um=hH9ug1=qOCHIP<)kcsoBDG)MpxmOg3tH*b|lC8^wS9WQ8 zH(b2S;SI&I7`~jNA|%8@oe8t1BI3Q0hS8)>#7yva?aZvPo$Hr&HoJ6l&FK*#X|dk1 zawQAc%eY0(8`6RG+@|1~A?~+UANbE|I}f8!NJ^If^--Ee9oYcQvhEre zd;vGrZ#IyUG`W8wt=DTk*uA=p?`o(#eWIV0m0)*jGo zH~~hfo9x~3DjjO0jbUC|P$%Bb{jYS^zHpe}G(r1_DZ1Fovh4mIPr~&pB$#k_8L~_q z` zgcfL4g4p;!IbhSh#VQB~3|M08H~)&0c?$mPJN>r`(Es3H{p&CNM@9|6o9=5(>oBMv zf#4lGRtwCANmso0q(Ec~$xZWMwdSt=^}TxTqh5!pd3z)1G@$0}hBNkyM1S8K5P^s5S9!V$b`ww=!&40C0MIX z8o~HvZdLMaPn%2S3Wr-q9I&{4S{8?6m%7dp=N32Awl+dV`&A6wjLw` zG?kN%tS#WW!agGWDK(QCRX?p^)houOw24Hh?O<*g3Hz{2AP413!;D=3kX!Sh*n}f` z3K%AO{?t=oHHxrn7OP`z8*KZGNX6@ya|%_Hs?Iu`}7sNHO0c zlD~?OCeX;0HU<8SCU?V^b!4;CQ)sT8Jrf8OB1VIt$ifcdQJmOxL0coD_k-kWwllhGS4#QX=E9uM)^PHsLx(_RY-daBb}`8 zZrKhMSkMm^E6%hoH4PxKM|8q|>A}hS9g-P|Q`$O4^z$HBN6-p) z#SO4Zz;kId2)wFGPzEFd?2%Nr3Z$jBzXU=4kU3pdA- z{08eX_EJPjtuy}G^G_}GTpC}dBB0GldvnF)>zvqVueFbGw(Sj2m9Un(gVK~bE`FQkT=7mCa ze3tEOQ?YnRno}A%TX$ySqRVu4k9FZz`d<7h$f~M)05F%vffv$z?qoPokqqk%6tZTqm+_e2W3rHh_6 zK@|y#KNc=qiUWv=vax zZ2Q8=dhULHJ-nr2AQKuf8woI-?LBsjea|A7Bgz3#nWQn7>%?v(!6 zga&WyLtZv9BqN>t7n3)c*tffH#-{qmuZEb=tPJ z1qvY>wzUowu=#OZTLq_DPB799cu@sO{c)e|9nA`t-FZkV3Lh^;cd^Z!s<}Nmi|}Ow z-dYyXeQVqV>=74rnxuU9+ed$1`O@t|V zw9l;*(MLwUQ+^a=f~xt|AvsEOGa{fvht#=xtSqx&y*u9|5`o6wE6b5#D3Vz#3NI`6 z>pjU#%mxjycu)SF<@_By>s}0gJ zThE;zAlaC9j)MMM5NpaB;STe&;>UNecX97T>%DpQ=y7U%y|&x=;!fn1gL4^!!yjAQ zB?=4QyD9O9akSDEd=8nV9$!x7FTXgPma4(W$*c(kjB~N0JX6i}EDZzAn2R?G7hH$( z8m1nVu95xu{Zo3E-zqd3gFd_a7B!moATyH>UOJT21ipuKA?`jyyJ3 z)JbzQl-|xg#{(+1-0dc9>WuWW`GU2d_chggEAG3eU%KHS5bxn(_l{osocl~}U+IJ| zyGG+$>HPieU>Bd`Fm|XsG7R^RaE$~>+D&n^Pi*Z)pGn&V#T>Go1J4Y_rScc3Cw1=! zuS4}jBLdGvPhrM}L8l=Sf~!zIf_l{#%PE1pA5&qa?}Zl&SfRrpiSmArkv(l{T*%}c ztSk(LJ9&wRIIvf^N0E`)qL&#q?Q##KsSQcmj^#+=o3?=cQ@rQPiSNvX&b=Itc$W2; z$ZW5x$NY!3TF`a9n8+M5B+j_#LDfCoR?Z4lM zH4jg>Lv6Z}XNszpqLJhH9@&h?&nsqkusRp?X=(o{BK)K{UppEkwpDTBjAKlnh(Uvad^# zQQYba3vYH25WdSt6XyiEYJHZZMZtg(C?s)4%T*5`1Dlvng)tXTsvA}E`WDM2bOg?2uqHgvNO!qPYc;HrVMR0h8hU_*^2l}0B|k_yu6K*#};ZK zq^EWL%F~%Nnrb-h*vQyAzm#G8dzICTIW#>FP^`Uo_n5_G#|m5XGZM+4m*8 za>OOy@kft6ogbq4a?yHw>cSB>zJ23`r_(2dWS_#(T$K%0iZC_GcdB4wm!U4;h@+2E z>08p)r~ge;Uub{=4oV-iR>I}96hjXlR}Y8&cXF2bgMv0|*Gib_`r1p1(8Yq2EIelo zq@f?Ns&&gMlF%Y(P)q@64F0)wxU&j(%OoeleE*`MDy}y1VR-Ca(yK}&Jy_Xsr3D+1 zxx2GC-saR|l7Go=1HIx4Iw{1LF6%#kESa9&cslOMD2usNVl?K-l;oYOtf~w#Le5QX z&hKz6=-H;*S|cQ(X~Hh@70i8v!AQ^GO8v95lmBS_m5ynCM@ru-)3((W=$rlenDoH= zh97kVB!Z;5Z5cdl2AqH11v1v{L>@baZNW!hr2qbn>5Ae~i_vJyoQd|&fl6iAPW+r3 z)_ex%GVQvp_>@MLZKuLUtgK{w#^yw=R?t~%7T@}4mE-@+gq1z`D-&ielr7@_%#W#8 zQVbHTl5}IVRmz;Pf6e?WSDHUJ72j>NIiEJ=-7t&fJHT~ssEbL-DrpuQWoDYS6wIC? zK8;}A)qc$(VKQZ~Z5COtPx5?;*IfRwsu3p(eg~T|LL2ILIjP0*0ew8vVozZL9Wi#i zTBfe>z6L{H^^NnCjXN}AZoJ3!Yy?#p8r3(vyn?KHWUf^lk_GXma9=bSAUE_LD;M_J z4ZBDm8KeJ9W{V0<>TudtcV1=py{$i^m*UKFKy^>Ug{A^$Jmon`Bs1jw#5gyX)f%TY zCI3eJ>f?LC!3|Zt!c#3zr&}s5FRUuJZpO`&VrjEszGa|&ih?Tv()i1g{;`txw@)QPPIzt}YVBdCdy1L{22M!PYr3t!>MwaDnNjNrJiSq6{ z5%iZ{Y!6pzutU~aU7y=oNUwJ2@!nkvd~q(PR5e4C&J-aB>{}|GW)oy(?v=ihFlUwO z{Z!}m;uNlM_ZMe8jimI}RQy&;C9n7UMNy1u-?CS%xlTmDT;iRVURScJZ-%UlN&Hdv zhQV{3N)%TKRau;4C_l7suTiT#oKa$v$S?{^?`sW`)zlBHzhH`{x`pb@*mIT85gS#u zmpaQ(Z^e8c9~E`52{H9qXYO&MWN|&W7QfQ^O}(zosa|8`&KSg*>oAuyD3;Bb>6^|S zPQJZ{l5W_S{rqQ0+RXKjrzW;rBF55geFq;uX@Sx3vRm6BR>`iSg@^X<${@-C^b3l4 zT{mi(k*GAhAL-9@$iS^9B~zk^!37-9?Kf8sg62j$`H7b% zw{f)8vLFo)0T;g3?{f`04=;=UP8Ay*y95GKrw|l#7XUpatQ1&F9DdX17>^lRSm}=SsMT%Rl-drQ zFOG&=N7bFK{EN3M;iPuPO)9;1g4%HSp6q$L5>-QLzpvwj3Z-jOl(fClRIl25V_1!w zQ?-v{+a%08xboZ86}rm{n-dulL4WHIwor?qduW3fl{JccE<$t(s67J(uDis15c%*V zDx}hu^M=m-c*%*oZkCSt&9iM zYKh>;xRV{J(;>lrvT}yruu9z%ePtB40~<28$gQzv*`fdYmEKv6H2 z!c!fi6M3qbj6I##8jw;;Ov=GlUyQasbWeMf8E}l@QfGtGWslrCJGu15W*Evn`Tt0N z4JOC~51~o07MCwa3A3*O8_tOU8LN=nPUK&}vo?>X^o>UI1Y;!t(KUsZz38(8@VhqU zk=;;v*1dz36mh#Y&~_#dN`7HA{7XpswAk4@z8NM^XAye(X8K~8an*)mRiF4wU~ep2 z3)8Tma;vcFWFP-?=6e*edByypl*kDE;kwlNIz}M<*mc~l;VNquPZ^~Zp)1$_c&zYG zK;vAK<8rn4bV*%e88+W=ZjVfZ`qDNxmZeR&?_o{*ql2| z6PN%ljO|)R3hZS7H*-6fF<)b+K;d(#q-M$)q(uM zAP5L-Eq$rq*eZy>f*wAL-I!)l#pl`qB<<287`80Xm_zzwQ!# zbx;$Gzc1Ih*6sagupy?zU5<5^6dk#Ai2ecbJr<;?zP*j+5@phbtbCoJ>m_MpfF3_z53k*5rZVwJ9IT#+KPQkw%lT| zUG6SxqXndg*X%k9Ow&T5&s*ET_LcoXg>u}-sUkKIrdE`6iv;Ure%|>wxk$kJ{8EEl z1|NTzk=v-!x~@?F??`M>?%y$vvhE>8Q-KIX7UAdLsz_=-@9Zq*AEPG?e)8#)@R-*} zPEw;5-FaS+2~kAvzG@yTVusH|dwWEypIrL5rpRatO=ZW{gtPXdsg+{Kpd{pP7IpXn zoblu`&uDAu-cgEt-|B;#AuydPxF;p#r+cWW3II^3xf3x4nk!VH-w-wUo6~ANH!1HX zhat&9lSL(mDs`88R%CC<%(%*mwmu7Sqh$S9V&?S~sDgMloeNKU4)U}|C2d@3YXFO| zj%jzjNe^-j@3_C(V4`D4!a6CI`OYrQbI)f$)}KY({)L{q8?fbecsgHZuxC7aUFALT zgGR;<)o6RJHrnW!{aE-`rI0*yHAfKZhBtsbFxO9-!It>HUnH z8}CH^L)NxtHlEmTPDxEBdMi|0DiX0JHkiPXKx>_I!MWBFW=`LZWtom19VpJDFv%Mw zKa-5m#~jX>9DTSVI@R)dEk9D&EE3Y!y(fn%BaJHBzMti>w$gt(r7b@!o{D*9Eztys z(n_t#v64Hk7`g4Q`6}jVx(gQla62f~#&-n1*vq9pG@hc=bBZyN-9>ja%tZ`l&y8b4 zW|BV}_K?YII_ll<U?Vb`C-&y&c;E&#gf?a&Y`TUqe%1O_E+LfFaP42XH1&%m3?7c#3a-z`y?c{}Xl}{AK@B z+38Xaj3#bW%D_9#Yh(>^(Ltv+gW#ceFm*LhjFon4L=d6dQVBqpA_ZC`+x{+x=xhcwia}`5}B?ie7S5L1l#&1Eyi6R z`KrGq`hrt0>$&w-L|EtsnNDkzvKayZ` z5E#JKK)UX^y2(!LCuB&6h%ymE=EepyFw`g-+MeW>LnJZ<2Jps(L@l57zC8`KzWjzD z1~6>QDg2kye84Lji-UYJF-6BRs<(YZyyitrjeOAOWCu5VkBWL~jW~5elK$*^XRoT z3vl(xQrsaz!dfxER&m2$kkg7_ zI+WLz07G*&jg&AKWto0gNV}wrU!@7hG)r|_yk4_voui*(4UDuJX-_i__*QeYlas5Q zcEo+F;sh+MBi<%4{G67RrHCmeMJGdRVD3$e-Dp3P%K{%wv8kc6FO&9<=%hvUnAAS| z!14K31(g08oguPI<{~pT7h6|WZT?IwEp@aOIO~YX8JlZ}+$|R%Y}tts$(^eC;}AZL z*tcLjjti_dXfEBpY^M;f{iVaK%Ob~C+gg?h^*YBO(yYX^uVX7fa_(ll ztmmcFy|j8X=e};v4F|}C@LXHegJA}CLNgzTK*s1=P;3=LH#aP2P3s|48GrhkV&{B| zid3|h&bK&pkJE*fp(YWfSeSYV*w$6xLSh2#>M~;i{pk|Gtn(u#rFZf@O;c@!b2m_V zwRR6UbI!w%uZ8T`c33Vf8U)kK|I%zP@gL3h2mcSVeYAv1UB%z09^iCr-kKcAqH-RQ zcG(zkv0RDzF_A$}n*W6dM{>$7eUZ9Wm=9uq2=U*+BcXc1^$NPM%TCZg+Y8^Up(17E zT|>(xT!3GFi(XnmR<0tWmy!Uu5bi2N8lMo^bqY2=^wlI#iy{FD+fx8=Kp_4dGlp`T zMwf7$RQm*n1)x7UuPC1a(P$fFf9CHX`?|;fC&<3fCi{mMjh5*+J1={e{b=;alRg`+ z2Os+yqm0{1@bL*R1}!06~5oP|y- z4kaH#8i=hUkX_(IB%^G&`>pf8T%`#X)n3&8=e$jRp5PL?$B&U-5Yu7mhUTh#G-Wa) zxr$pk?|5JhaEOiDBqop9u3Y0rDEP`Kb11A%AGT{NoNiC6U-p*bzdtT@Iqbzdg@$!zleYBk*_x^&`6cO+XRK$R`{rqY}01w2E4UpT2CIwaK#9!?Qvar+0!EeJ*)-nqQtAe_H*Aa2J) z_&sFtwnVSu#qtgzXFR_%5&;!3Yri;iNvLub2|95y3XNoMLdHgGExh))Gg~^ydOHSzLDsBpXU%l%GR! zhxSalVaRPz@mou50LPaf2&S=mM>n92FSKbJgon)UdSE)LvyapK^Eq~$oC*ub({B{cceS=i^4%QYEWyp}u!)7=FkZ)S6iv7Ii2ks;@ zdOJdC3wFTlhx`P919Y9k7OFz zf5eB74J9o|2HD}j7_`51S`>V}fwc7{H)~Y{V_h;qE-{{HPb*^BIr{UmxfE3ponYJX z#O5sTJ>C3DB&0{@=Pgc@nbGm@z}Jtold$JwXq>b>1r#MA5@hE4_Z$*F3L8sipu#Ry zY-CsV^tt!hjMPFvHJ9`FxyHR@1_SrKzKlkxYj&_>Ans>N($DI!p1QI({7Na7644t= z{FtY*J=gdFv=<5!-@5|RBSX8{Fn+MPz9X+hi-#MDI|%k?R}>BYlWHRYx387h+)aUz zce|&<%Bx%Q{8ru)H$Zo=)=a$ngtO&+8)hwOcr-m z6~o_}b?eL>OO+0d_3AL+i*B^SuK!32Ar%-Y*!>$I`)CFNWasXEf50V$s)cMD+BR~J&9f~eK zhVIFf_FvQrI5l(UOc(X0#Du^;VV913(qI43Wyb&Cj)Z^x8-J9LUPZ#^2o0gUtuach zZ2_i;lJK9#kExFF0re1%WQZHp6}W@VPHb0s0vFfkb+5hIJtu_9uE3Rhy^!Z@W=g{k z_ze-@SE34z6 zlxcwFFzWv1VYYhQpv~;wM!MmNN~e$s$rDMFdGNv+0Gka@TGdPk8)a)k^Hb?|sVkxg zBNdG4t_}z)2MH#?*rN0c*GO_-HjrT82hJ2ZAa^13bm+~w10x51rmkoh_msjWBtvl- zkYZur*z1e}pOG=pzqa=l2**SWX}5TN`dZ^v8g5OmzR&@{72HGGav3qkN_(jeN-e1B z#v`Va&M{jW6s9+Yu2<3rWbB+)^J!i<`jjE{oXFN(De;Ei)Djm1EE1U~fD1qyL)U=V z{zsR=ZPvA81PZL~dWT*zX=X+YUp?=Vr9%M#OK;g-$YP}J{Eftym%%&wdC+;n5h0+s z_=O1XU>1svQ2$h_S(gmxhx!o5h7fMffh`1KfjH;}Al7!zNFd*~>c;j*5SIea!L7@| zCe-`f;A0ZLY!4yb8_KEmf+(vj7{xDPq3Es=-t6}sy6*0^>&JG6pY<0_xR8$#p0J(d z8iniEtoKImU^?6aYr@)-1AH6$5MF<rk`XTtH)T-_V72Arcn5|H+PoSsa^75GKw_aS(OV{c! zBfG#+Si3y6)43|Bn)J_aVh}i#mk<`E6X1TD5dN0#!VRPt6)9fTCc9y`oPbJz0%jp* z@Y9>KmN`FR(-bi6rHcOu;{?_=P{-#H+ytN`NJtj;O@r2{tHI%5XNg6)HI_Tf6a9qK zZ|mnIaId5B*Mf@S^X%D^#sCxDPezDqwTR{lRc$-f5==0xAezRq7LG1ioa}6IuRtU-(Omy9;3Xjj{L%Zg54E==#_m+aHl%Mr885(}Tla{5q~Z(gkV-Fa4XHzHuEkZX zabIotOL(7-rkyfJMm`85TGz}G+J~BT`w8h1Be+Ygo0`o~Ia%5)i?|hN2gZuKOYKa0 z(HML{n^mX;rKE=0WBrH2$xds9LxSUu$?pp5?}68*!Q2_DD0`n(F3Lw3^jV8iO1{ti zE@}MJU*T@0-P4(_VF}Wje|7@v4b44BRBozkUOR0B~4d!2sX!*GDtqdx(<(6TJF_ZIt8PvHt9IbPELev{LxEcvseWzUF?JFgl7yN7oN<60GZ@_8DwW+^wds%iQ4 zX$i&|6giHx$zR88DAQTgdizy<22I>|&f_~ewy19-LoVTx1$bq5|6pEJeKpfXmkcY6 zFdy#nIARjs9YUR%wwS-vg79AU+*~NFz1Fc{`p5nBe2JUtR6Dk^sBqU_oB4KWEG&0j zPDsnJ^rJS2Ye$|8meV}J{!SI{r4hRg(`aJe?X{96N2y0a4rLdu8Ld%kCA%c+^LLd; zgw|u6noa(?dnBrIN`~Ja{dMcew&t=?TxTRI>l=8hEV5bXm=7ATB}pOo4xOZaM)|_5 z=P+k#!DupW{%QzTm2(x&YE2wi>JM? zuvygcYEij@C1^S}amV9)7zXu(+_TaAjL&^T&!t9{H8;sYQ+R;txS(_%It({QQX>;~ zT{E*uS=69<$d{cS)n3x56B3%-_cmlE5&KmR`EUrkP-!j8OGq2 zNeh|owR-AW+*jljLQ)9hNLXA$M(CeN7Ov92$_AR@@F^9*(ot6dC z+M!J!nPs~CxHDea<1^5jLLlPKyDmf;SQZj36nLpvH4kSW!LtLqC(}W7p z;)D)8`AN!e4V;!vB_Zk595<-$d(UfHQzy8o<9EwwQFZl= zn$a^HfZYj?8HU02rhJ{N2x~?CS*~fMEt{?nd4IqikTk458}?0t=jlo_y?k9v$-G-@ zu1?k7=~%VS{iZEUm1H@!9V(+?cNEYDVq_Qndcr|!u1UuN*hKV(WK#cb)+0C>bdF@_ z(pRVv;>I_D&7Dstg`(G>@dHN5y^Nxbp(Z3T@o|wL2NLJ^)ot>cCjse>uWh$X^g8&B za&$39n#Q(&a}_7#M>vRjT7oXO0G=RZ3Tb2tZ>lFpbG)U0^bp_l7T0i9ZIT1q!cmQV zNI$o#2sv9pzg^-Jthyf3W-Ga{>(DOOa*sv`P+FUxVZ(NP%mt5mYmzq)XBk7eGy3@qyr~UhDTp!^3~OlI?_ZHcmm1$?6vD;)b)5tJ;q$ z!kOR_p8MVjtjB+-DP#mHi+|q3ilC)>ooC_PSHJM?d7@|XNFopFV{kaDs_G66Zh6@& zyV*?pqwhE+a|dYQ(Wvzqe_42lD^Htsj{vJg??kW*G&*m>s@fx%&J1t;*%kJm;${Yl z5*5}izfl#(Tf4P3^Ky-s(Eal%jkUKpxXJ1|`Nlp<(XQfj4=Z&Edl$oZ&Q#YH1)a`n zrAflZQm~TNN=$EJR`j_B>EnxpE+^tOD#Yz$*_81dMVEPKp4{!|ue?f|+`mj+TKUIQ z$OF`_ApSyU&>wCDzak++a{KYt^YiO;7u&l+(|u9e*=8Gba>38d9>@PUF65qo4g+#E z&%UGX*053+kTCaNo}Y42tLAe{`QcBLy&Fb&p~<)1vO@0*?xMRE`V1I*H74el=?}D} z+l4YZ>QI||JJk$Na+JjLIM)PMnU#iPolK$7XU`DR<5K(`VAo2h|EU zUB#E!ORAao!2G_4N1XnPFZG=pQXdW{%)k1%9?wGSbw=5}tYCZ2>R+s}?t42Lr6@DxWUbYHvm(hfn} zN**BGXyz10Ygo`{%(DMaQR26elPUu zuHydpy%#czEawZVLa$E4pLK{#rw^tnNaMUKH+&(T>9$)Izi|!1?`vDMUEZcIM!>bUk%#JPqLm*lVoP`X}8RKK$`zr z8E=@el#B%MH=hxYXgtQaiKP1u4Fssa%2QY^hpEewo-G`7y0BUdB@tDGfhLnOxo?wg%yr4vfKg|J5qdKb>fEF+H>%oo!Af30xa&lc4KLF4e+8ydyV z6G!ZjoOrOe4w{FGJuEfr7K(qw4xpet{Gs0=GYEI3F z0FF*jo$lB{t!IzTu-EWjvlT`Kwc!T#cb8xy`0E0iZOrRb;>b$R53*Qv`k2wfHPp1} zg}kwD2!z3uE09O8+%jQKBeKY;holfsH}(@EQ{doxo!+t^KizHR*@iiC0C%=%buJM_657aGovX;2edEski2deq}Bd zyyxW7r~iBr$BrXp@*e)XEDVE7!GSa7nr)N6vvs{PxFSd97frFLZ1690sLwleVSlW` zd{YL&y`zXafHV5SpAR55^AAY`O9ex##x$k|*ay~1D3yFvoyGplN2a0Bdd{7@ri>Lz zJ9b@7^Ye)*fBr7UMs5|n$Xld|sc7>>!mIK-4GgFuu}+L5CfSr2O#&AOo!CiKYr2s? zPT}L=&)^AtRqksEKkM6zB@IfS8tJ%)acCrRJgy@3B-EA_9jF+$EIBX(4B3!#f;@@u!_v)y{n znmLD#mLNwCW_U!R_QFqG<9df3r+x%S&isrZi=QUh8P0n6p_uEml`H4p^74K}KZj(2 zOaoyGw*{+E-juie3Qeqnn-eV!9D!`tLZ%z?XPBpZMO+&=?^kRe9dJINNH4xX-|+>j zPwrY9;Xa($g|+o;o?5<14Y@dBb`-0dTjb=nUa{k%l)n_Np@e6Jq@bS40w z3;eMBzWx0Dt<8-l1O>6J`NOMoJBx_q3)4c%pbakwRgC-isRg=3n~o@OsUa+qL;qPME0b2Hb0|xtZ;P1rdVT@1wIG2q zQ1aI_SEfKo5J4_oxTKS9yiTJ+DX9i*2XPdn9OoUR(Tuci-=)e2a8UOt3T*EiVG6EI zu7JL!{CY>|y4`CBlZyzD8;QP*LiLEne7o^)G}$+CaEG#_uf3ZsrD2%uOXRznD3-sg;||A=@Do*iT{<0QW_f^kpbJc4br z`1lhUMR9&KYK{^c0lP*4{m`l&aKtnVj5-~HSj=v*`^O8hWFqX&=^x0zEqkup3*c7c zLUm^TBBp9q$qbttXUc5FS+!ID8dp_?VWXziB`s7xIidgiaaE7)AtaeVKq_5!5yVhN zlb{fqa~gn`_STwvyUSg|W7O045s>CI5P?|gR6(1vG1B@6?~rJ*p%-V(ETrn?m9*4@ z60Rl*7ykSr?F3QP-i;ODlwCB{e@_OwbQ!(diL852Q*9vRGL`$>2@DX^Yi5U&U;Tgy zPqmh>%C8aC^9c1w|M(Rco>v)i{v;Aad<})_A_XrNxB9GZB$TiC*9plsXb);H`$3xp zR(}5NjrdX1!aOZb5*)kAhomYx){+lwc08Xv1P@9OP?Rt4Uxx)^1pX(2m|(@Ga%wCl z`(Z>@Rqvw4>O6MZ4j5S|Cj$%xj&g4F)dtwFLJ;U;;@X5o!mw;ZoyHHbTOa~5!rEW1%%C!JYZ*sCs^Y`z7H9pmm>sMhLF#=baycVN$xXdJJW_Q_e|S@)*lA%o&n16s?vBo%SH^{?`k@TUBF3crkB;G z_e-&~{5(yAt?#~h7Du-_2ek~A=qjX>WbIU-uJLV4@nlK^P3!^Y1_K!MQ zXSVg@*|1>UxUHyi-G=+HzZ1`)>ftvt$6>R5VI_;!ZJD*wu=oQ;&ZM+zmRqLJ&*lq& zw;!Y^hTq#-hBbfl{6$yEX2L;^NCdRnIq}wD?a5pc*<`#{M-cDM>u=rt4SUnhzd7&F zYS!t5=DViz6Jy_k5Y3Nz6UuV^j2FhfE-g>~oSTx^T3hlfamzkFiO`9+eG&)>I+tE@ zsC96wdilK|>%$z0j8pw#d&k*FK{ct>imH`btbk2IH+lTV3hd4@a9ytwc~VesaMZ=f zwCdJ=Ir@k26cle5U{uWq()*(L?s`>pS0NE>lk^;o*C>&#^f7t!!FP{~8Z7!%WdQHA zv`25nhMu$f7BxPb;M-1H&XFsK&j>rv1J+tg*`O2+F<^JJhlF#GHCcfGtCT#R7;+vd z_~Z6yYFK{a1~=)Z4Df9&LygjZ(^w{@`@TS@aQu$?nzn*dfB50WVF#BN_0I6BDI}pj zTEDg~yZMmGxL+g+K}H}Opv~-K<9E>>sE8LF(n1GAi-Kzpx38LSAyV?xXpgqwjnKI< zj*&U~0~})>s3+SM=B;z^Fys$E8Ly@x&G6m=P_5W#I?-~!<)N+ z-g;Hf(86q05ZR}gHe6c^;wWmDDlf|ANE#YRa~lVvYVN#6UrDZ8Nz&b#XTmZZ0k})* zA5mhVn246eRIHYd&~$H4%i^G1&vZh$DYMM9+X!l6T=mA1EBwvJ#WoAVAjk1Zh0 zFGlgxanJW@N~-|IxElW`FocDT!W?aM(${(VdazDMIme4^!`JmHQ0N`I0b^lB*oku} zjlxc8J$8ZVRnMPO)@|!vp)XL}x$T)zpQvJ|j!EG&ZQj3EaofxOQw+e>uWm7;>{rIv zANX-*Mh-n}IM>f*-gr;#<7*BfBKjW8&x?Z@D76TKS_oVvCA0-Gzb0B88vrFNGGxlQ znrYsdwZ!Ys(OVF;J#J$spSIc{QeUIjOV1>B-M$sfOIA~Pof=>73A&e4gSaV+=J*(5 z{V7_MXGTStPMM(IrK{hZ9OF1uZ~%oilQ4BjyZZHqCBuHJn#{FlIInAKIF7qS#_ROV zcO$Z0JgY6&q?Y^ID4prPYCg8wk0%Ldh@%sG3c?K43H&suD~Z_lz}22-I^!bXcF5>H z_FMWFb*cdLtu)j+62{kkft%Cho@)21Ej)4)jhy368)^zY)s3*4vK|j(CipKG@TOy5 zazvxL@#`Ogzj9<`s&^m*cn+)nQ8UZKnL!F=n0B+XKTkD7IgK9w2;qO5mdUU+@SowD zwh?)?q%(ae;(7grtTP30o3!!pDwLk*mf`j%j{A!+r-~_u4%_s|i;qzK^A>qyPdiiQ zuk7OSP1l`{YSy0jh=u$l%xq>1U<|*jVU=YXunJ4k*LPk8`(pIl?=A;lO30aX?@iQa zkjP$jODoLwssg@qKK^lytJ6~SR-pSe)8&eL(RHw|@;nDqck~TRa#{j!pHcWgo5__d z1>=)a)mfBP&Hc%#jZnO6IJ3~emG7&B)nK-|OIIEqE9K%KOBKgq=cSUCp>RF480soH z_yekE(%zq^#r{b4%(9w5eNB2L-^qCX<|HC|_1sdBV$af2jZp4yODk0Dp`L=N7Jd0a z4i#>devio(IWnUDX_t41i-TC|hgW_5aAmc~=eOd!9d0%FYezyw!iCI3l)U?+-9WXc z-^%cjcsUutcX1+qAAG4Et@3Q$)Rxn`&4O(qDQrZ2TP%HFr)xVZwj{50_mTAD+BE0Y zjDi9SD9SmYw8%a5XqO(1OkLWq=Ci*JWm^}lRvLZ>=-ImVb{)<|u%Z{MnYSG-|T&_0Z$B1j1hU-E@utItsysfD8u z5QzX4{Ygr8pR>qd9M9G6k|YDR)rqHQMw&w*m%!>hTt<_ZQ$cKnrBs>Gm11yN&-opz z)xavx%c;sA?u_YRGh6Vo$3pKIA6nhou1d6IN?X|?+%U?qM%TdRoMC6G%WZ79Et@3t zPCovvVZ`u&yJXs--aYhEUvv!Y!DgahK_3dX9iG@}jSe7gK9xRNr^*h=HI*9wS$4Q+ zhSkQ#mttxHWt4Xq@@$xSH+ZLTIxf@}(nqR!aq(4#m z))Dh@mn2#|wc3x{?X>SWDf>j3=d}^x){x`wArU+L1}J(n54>|nryVd6zEncp!BeRn z^Q=6}-iW+<4d9;c%ajs-0$vswP_9?vH8a7E*X9^M;_5US1M_q zkqD{yPyxB&)Zt}_1`TbdjI`w`FYMgyaC060TG!qM9CGLN1g9XKb$f`cip{w*dg>q` zoEmqm62Pd7k#nzKXM9D;RUQaD7yLNAiu-GpgK79UU#;n3YeqOpEiS#?##!fpR z-{lXbD!~eA4{MiqIncRZm@weCu1s$g3Z7rh58G732V8#b&a(o zSVENt=qRqi#>~BV2SY>s%*)-(hPM_gHF&+WTe9Q=8_m0`v~Q&Z%#}s3-O3s9XB^D@ z>cV*Ihf@AOAUf?9%8z}WGULgZ>rM32H=vTFVyi9vN$BqV>yBEd8mc)`Prz~Ph1h1# z&4X2Z!DMzWqllk7IjX~h`#g}I!-k333$5NkwDUU=W2ekyqf*bxa5vsOeb~?>VnO?C zf7;QdCA~K1b-ycWx;m8M;$g|LCup^B>*oyv=FO`5%2pM=Jd? z$nJ_a#*GeJ9iM988nS4LPc8ze;=?%EcOf%3!9C9#_-;Au%+3`&DyDUMC*Zq>h}SK& z&SpCM3$uq+6y6bYL$oH5d?2(6DEkK|zebazMo#mEm$9 zy;wCwe{9w|E?lA!c>*C$`RvfvtCfo*90UOc+j{N~HqvPnsNV2GftYP#uHsPiMYp&=`f0Mb?* z%~*&zq=63YVN2V7Htc4RDx)S@V{Q@!nLvb_O3QfP7tg8oB<7~8r_nN7i<*+>vxj$o z1Ne5JwtG>c{viIR?iUTOKSFHcW($YgJ9qHg1vkKNi5-19Kb%tuBP35`FaHhR76N9` zeVrnqW=>fDE3u2d=7?V}R7n&;6p~80tS>{uavH0&%4{D~5h0hjm$j8i~l5rZIk20@zqfg|t{&ny;kI5wW z+8OD09QKbAiut-*P+z-HxqlShiNs|p1|=0FC;yq_qqTFew%poEjZVXcW=;ejYMjtJ zt}8!kk{Oi>HDJVSYz%P;S=E-T35F%qT|el7GIk|`+9NrO5Chg+tBZ| zP}t&dM^dfxqx`-J%cCL}uQ<84P8;HZ@>r;K8ftbKin2g(!H3tu*^DACy_7xY__~7a z=5zt#Mudo-@bjI7X-W-0#}q3KCE4usja_eZfAk%7KQ#_TNi^N(ASCj31fz5jL~?by zlGgokWBQ#^3p8da+@WD=@_NrR%$}3lPift;6 z-ymoB^n716S!*eDdMovdb>AUfc*W5t!@{;gxra3(ovBDQrtv@R+u*(bi<%)NYcLZN zf?MO3$?TI1Ry;3sHbQ ze6?v%<-i(;=)id*1XQySl)w~$sw@VPoq}{@Fc-Zr)`s}G{nn=$v&i0V%0zk(aJA+h z9v#+fDg3zohO&8E^FJ^^;GDK_aCjlDW-O<^7RVXr^2=VUpjJ@VCpA4;S&S0PwzD+P zj(_5Vh8oB*WSNLr&X^|wn&FsR_VbXC*Zj!!qNqq0+3g+p_Vxh4zUT7cXo_ak(W|=% z?de5LCCwZESOArLs`o6Y=Cd!?a$r~M;s6ZV@g@Up*<}#NJo5sO&|bg>sn&V-Syrud1>2sM>pl!fNkD4p8@Gg&~)ypFbTAy%A9ni0aP~+H@^5XFMo%$Kj*a?AK-_4R7<&4Jx`ftol=sszR=c>ou87cYJ zYE{%GT9kpU%}imJ_AWlW{=)yjdZ6Z%J1oF~00~*=|1lxk%*ur<203_9y zOx`?W_iko`(^Gp;xAZOKsA#!gx&yQ!P;$0ERt5lquek?%0;Z5AGSht}LL8XIFcK`q zHgFBnvXCGS+%5CDUZOTbNDFo7WHyp7Q~rqbPy)caCl{fzt$3BwAh8;v=O2e~RuEi` zg^&)&J3N4mTXe)kkSU4 zMgZU|>>oqgM;O0_9A(rp-o1Bj>};m5Z@=Du1p}r6CtT=O6%@6PzlKGPmKBP3tp@4A;ueF^u z`JhCi*Mr~&qQjbU_+zU5cn8gKbwEm`V=H*jE=Yhs^34HiWT#|f2;P?zFh5- zunLV$2ryWWf5U^WwH^7zP12|7eVgJ0hP)a*jppKsm?pKkcz%BnKl~A7h+VBZUi>qF zH-=ji_jMaHIwC2%?@8#IKJl7`km-Axjddg{`agqwv2Fr31??7&2iyYZjG8+E+FVYPlZX zhlSq1&8T%dUyJcgX3!B$vED=JT)zas%FB>ghYMK5ft!~#McO+A}ML5kh;3c~wN_HRNX>!1maMq)` z{jD<7GUvg+yVy9@u3riuM33^8*ZlMvqr?4;nQTMuMB`~s#wxlyL~={s?q|?aDWAY| zpG7-Dzqhq>HRq>4W$jDF0MJ{a=wMbc{I0>Lhgtgy4|aV#kjX`SOv^(TZuslk-mScc zqey|tV`Vt`qfd8e&?l~jT+@J(OzS<5550lyo+xUX@xBk>Cx?}Hf2-cspbW|?jcMPw zuuclrm1Rc}y(H(Y zacx(s@eOUQtF&N3duL>RRBUKqT-M5JmLw#(@n&kHro%NMuG-47jYr6C{_|{hNsqLWeUoWezm{&VvuCvzGMxRq<>t2{^GcIe?Q@FY~szb}p3mNOw>4P2NPRDowq?h0OSjNmYaO zJ8uTz=1`e~f=Qgcm$NydUol<#90;Z<<8rQ5L3x}e-EA-dPsVBI3i)?G{sB~yG7{XL z6p#iYr%*(F!Aw{&+nA02z(TSk>i+E_$bl?S%`x%GidD>^?yphrkMU!MN4=-_neRQu z=?BV1qvb7-s<7Y~mQJER{~X2aO)~2nTor3MZV}iiXz?be)<)dp?PN`hhzI=gy-8gK zQ%kt_Na`f15yledIMi-+jdm`ly-#d8Cywp<$ozuYf#cDmP32)<@&0nppK@N-ZuF6i zsLdPQszG{zS9SJ&q3qFjJ}fW(A#ri%T$Q<6VtU^zpY6$NwKNVI=64Bl%OVQ;eO2GIm7tUwZ`NHrg zOHZ~dV7hrL|MTMD*)q{c)XbX@CuE{+mW}u+k~caRIME?G7}Mx&-R_$-{0Sm!Va0Mw z-IO)06s1#~`D`nlaCN?1dd+Yq2-EL%glOkJW0{0WG8yiBzLDgi(qrXB+CEScODwB3 zD|XuJ2b@`#z3~0&Bq=6oKf{3=7J1bk{YZF$)Ag_Yvd>JSiB`T_J&Sp$0bg}Fna=!; zstPv?e~bB_pD)O+eNtMBhDb+gI@0gdDFVKC9s;yL)sk5ttHZWfVeCX zYQ&3XCD)mF=HR!N^8DJU4qBlW{i#&(Zc5Dm@HCS2>5`;5zn`qDsY>#;UGn9*lln&q z#*TnhZ*?s*f&HxM!(QLK=wcTKs=O3#yD_s7KINJXrMQ&{U9rc@Gc?QeYEE?DNUu0Z2lke>JtUb?t#O zOR~BdUkfvd6=j-SGuaRb3UVVspBEfUOxIqmiuFzeb$Sa*SmZPBOk0DvdG%yeMWIO+ zvRmgs6d9vRVs$X4JJeI}2@g~Z*1NUR+PBZ3+dXFD%M?)WnKU;VPvlHLf2cnqiF=qA z9AmE=^fN%J!MacHqXcdu=%HmYjit<;zA%GeSGuDrK5!L2D+XH*Nl9~%b;SvM?hi6C5LQy+w@rZdUXOb<^t;J+8^jg z`U#RkXrt=WUq*Qg_F88%C69-Qk44$HG}C$zZ<_wu>tYBsNJUHmuvU6wgG{};(Qzmo zT~4rCfT^;I9JA(ylR2zxX2wIb%Z(?Jeh4M5sYI+?sj*Ekh#s7*nG(SR*l20D-Y`)b z>sY}Z4>rZplR76y-%;b_9N0z!Yx+4Xm;AkTxw=~FISJ}p`cE%&{$f>@ z8L?WoUisFE?&%c@olL^Dh&0G`K=QI#=4WW)dfCV3>kQX>J#zt^KroY~+|MWXR3!VX*E@KArv3nBZDFyR z1UV%Grx+4;4#GnN(Gt@j?<_<$*aa$_#Nd&1v`?Xu$?%iWx&s_>`}!gvSy=qYLCv@7 zhZeQbIi*bFFV3iRF1Beng>BQWKW%oZ`enbIDR-VgtwpQ$an#G779QX71TmIDY5^J} zf?Yyg+^9ajdaB^O$Zk1?32t70C5FF3MC6jU%uhGKF~n;adZjlu``G=KK#}{&7d3Ej z<*g?(KVjrw7!K7k(=szci!h9=jmvIF#|z;bDk2$9a2?x1@5Ky9MS;?{`G$Syh9K1x zr?_*(GHZ)QA@^q4elYcp3m2jW+m-8#dGw{e?kjH$Y$41@Yo-qIQd}t|-tAh`y4N*^ z^yPYF^1~*~&En_uj^lABzhBBs)9FZ~Uc4c+rm@N379=%B6n2C;?VV$LE~|%B0(#fv zxg5sd*^aXp%bS}Dz-OX$D^wB!6Kb_*-qmm+5lY&m8tuc@!)`83mX0+{ zd<1b>$!Ku`q*T`o$J2-Sce5e@ZO1sX+$$!2I@aouAST~62EjR(Jd$|8Jj*Vq+iz42 z$3C|aHDA;^CFpW7ab`cO{cXJq+LXM(MWdB>QzD{JYG;}3&%)huV@o`+?~2J_)AO98 znhs+`kzkt(=JmHx!F_4=<@07Yjb!o%DN@0G0{#kfg!VZ>7JgaIJbh_x5pcw?+?6PA zc6v(QOsSvNMTE{*EOWuS7HVS`eM35pgKr+?#>{noCKk^_3$KbUW#Parr%p7j;|Nv^|H#Me_va!GhZA} zv0yG$=1|I6x7bnWN$v9ehNF2@as4+$@3mrcgP9~(rqS|=HA6QCt+iV1a2Fs$u8IMI zhdYK6G8^dAAtYU|+}|&P2OsxTPy$G@W}HI3F+0@j@dw^z7eRLG&_K3k2O1{g`!=Zh zaD^>ASt%vG2E2yo!|NYRD;v$?>!Q5pK{DSiZ#SOyHQOvdoGyw=)}647_ogB;_U+K` z`~u-Xo@3t@eNm3KVI;F+v{xQavji@kTCfww+vSG`ZYRq8MUKWkaqP_)N2+6gZ36@a z|AjBNUH{>f^bnE5@3D@yh`8mqPDqqkHbwy~X4eNM=LCSGqw!D-X486qU*g(lt1e`( zLO)~i9z4`0^2CD`G#P*ja_Q!XYK$;9Utu%n9+w$Q%7QQ?!?BqjFPlr{s4Jj}KO1~X z=sbWg9%O)>5;Lo@YprOUlix-^3Hw;ClGt`_3RLrPBlyGky@pGrn zAYwA_T!{0zra^~71`p&J;`dn~)e^u;|Jzg?yw<5>1?mmGB_R1EfLrzkAODifQii(4 zuF$#^8Fhl;_mS-Y-%3EpWXK>b|C~ElR!fn4JIXq=Dla>hTjG(&OEe#v)T-4IiAO?j z8_4YA#}?FPSqAdjC@%Tm`UyV&>1mH%>jb5r$kw!zpE7I;H3`_Mg|lg+mGUOOa}A47 zB$hfvT`skOyIviM%n9(wgDd+s(Sp0V<=18aGm{=_7+=Mnd0hKg@TCaz!p#D|?TsOu zi7)R|OIhzKFve5%Wa5t34M7=RA!x=%re|Zyp=Oc*zCf=mq1f7feRS0qJW=oU19(zxU;hgrhFF;Ea{F4^ zV@S0+$*nDn3byTW`!c~dW@ai1xOY^)2S^t!32NKl56CLQS+7P|2xS)JM0D`g{}U6wi*y2!CT$3d>ym}!;wmXqLEYgSMy zvDjLKawiwjmK({!ET;|eaTnsr;7O;T>0s{)_7s4Pd6FIo^&N=r8q zJpK{ZL%7V`3-w|tD~*lf3aj}oxk`uIshF1KTXMvk$rV$}R9cw1he)IOJ>Qc#wyg0d zozk~rx2xl4DHv!a!%W-R;G!*+z(2?W!iLJit45owi62XA zmU8TEn;!^bz@IA(Qa!%-`yURH@Zec`DYj4oKLENf65S}0x2P^alMCLIQydsv%irhlm}gpZw8l0fQQn<2y|q($J^(FyD!So7 zi-<6C`E-$n_2fw8fMTWO_xQ~UT^tTjb`0Yp%+(IW*h@s zsL0zJK~n*uCXVH!gTE5N%*wFG>yL&zMSEL)-K0aRLdf_&|Bzxay>HOjA0c`p6UVprP-VA|PyW$FH^IZnHAhzWlVJ5?MAiO0=TXg^b0Ybb znZ)GkCm+y=7cu?33m#09B{^JqcY!S732y@Pu_cwq;?ROy_;mEwkl#a7@>c0NcZvBu zqrFmQwajNr!GBFmrPO+eXZ)gVZIvbQTk)G}6FziFSP;lr&>yz~`lNCf3@Urjt`=JV zwz3LWu4+{4W)PCFnOyNaqx=#IS=1DJ%n4&w?e(9QqXFN|HyPw*1O_N^ZU45UGF=?p z|GpqR;X1o?!tRy~SWE#yVxk0nTI@PjkZS@zV{4CwlCv(5e}$_CpCSklcORs?n12nBul+<4U#os3U(I>O z%-=b@&&x!^B( z0n0fq?Mch6fs?pSkw{(iGwuE>iFurI4(yL!mG%B)w;8A3l{r#wKhQ%|*64?@sRgIs zTl{U0+&_=PH?~@m) z?qWd^q-#s;KQk`Fs+-$gku`5p8741{l`_7_NJOpn+Z(sQ8swb@w+qtqw8uvz(uw$H zk5Xn&8N)Ws}H*xub!lOcwTU{Bs#aM_a~lBWirr(x#YNs3q}R_EGt0#L*o@ zKHn6~O8oUTid|U#M?{#q7%nSYR-NivWg40o^WdP#@kc~j%V$w{L~#ulUlWrSjKO=j z8sAVHB}mDP*0U;%1~PRyCP2tv&|>~}o{ah$ChN_@Fvs=-QO^9JBurLZQTi4|q+%?9 zlF!AFGq1f^p58XhUcOGr@{wt3UXr&F-l$ee2&Ckuo4{dfZP+RDb;dcq;y?hUS}FeI zlBOJ4tK2i7UBk^mn~dCEe}8Uz=;)+1#28}ZWaDG&T zFjcK~{48z&3A|}&n5Tdhy2gil6U?#m|1<&cn&033TUPP=AHVGThe-}n6aD)iuQL6k zk=w-Xe^{*=BWAlhUvKIDuTqu&n?L$w*L}DK=-p2K{=KLp;N@AkSmR$SK$H3HZ|9!d z|0r$x|Lidky*zyV_kOnj-T&wxmmv}~%Igqn6V~j53a&1o{tebw4OrT+9G?T`uSk#l zUNNR`Arm?ChTcVHuKqX~I@zg$OhJ=Ob3fS)cY$D6gD4AWX!gJQ&i{uC!>{1?vp`t9 zZUi^1FQkkqNQ%?|%d;^6pV9piygR>2W32j%3AcxV2Jvt6mf4;}Zz~Nqg{u2e7ZQu! zQoyH&fFyA}&P$ro$g(C|$!_S!K)pg?Mv7e%)XdN!I(rBdRCn&(K4AU`aNG90ZiFD_ zH9NG$bNl}2fZ9@dIPK;j+z!&Uo}9Fspx8)(;P?_kq}zbeV{1z-=z^{K11RU`*%O_> z`)Fzbc%VX?5>yWIB-J=#Zs9B_$77*(@gLS#JTRr-2 z@JsA79J6FP^y+m&haBhga!{P4A~#p+s1+i=__EPf6y&-38RrVPd=Q?GH_$6-w(dHm}%oFx=2X-DAR>~Q9LN4TN zh^9md#?K1xv^7ED*^oaf=3gw-e#QLc8EOMRwv*R7HZL!!s`Ou;3-GpYLZ^R$>r)pX z^v0C3s2TBk#qLc(!Qir< zSEi$_S1660wXm^A4`w*-Lfrl99pki9qDpBhgMnSY7cCcv=m?K4Bs@scJtN@%qCm!e zFADTMTOVjFP4==Q*XQD_-?rpN=@>9*Du^$a0VJ1QPzRQX{q>k*QNr=*DNC+RBZ76k zV>mgX6{$Zd3@Z)xPtT#?^aokFE1lwmaL*i1X1ApgcxL6uI|EO1f?@N?wM)BeVXhtU z^7d^|4-^G1u>}|PB%OcO7ehYxMrm@;XI2%-PuAf!ic&Q;T7XBmr^%r3U95LwI)!%A zgJ;6koxv{k|QIU{a`=kEvT z2F(8&m#n|2{3H4AVjS56W`TTNt8>GI)1KeLA`EOZprB7OTuE$qGIE<3fKO@{>`I>+ z4oF!}nqna!>5^x4=*}>^*BAY>oD@@AG7D`%7wnCHf`C?n56GJ8mLbOhmB1@jBNzNB zOKTZKo>>dR??F!oruVT*(R(Ws6?!S#?(~Qzv2|(r$lk#BE;40t^fbirG!-gNE_%@l z($Hd9RU+SX@QwzU+(IW6zG|SGBPFaf{xOBtpnCm1s{eKgG1EYdym8g)_nST>zeh~u zz0q}OW*TkBJHKDT^^fkZ|MueFKi&b`et-MF_FDX(xH_2601av>0Y@_dQihkv@skD( z&NwkMu8GRe*jyB20AN_3s)G7a=BogU#)0DR(41$${>zVeY*WIyV-Ul$z1 zkpp5#X6p^-P2mQB?1}0~mxrD81N&$rB+kb>JFn_dwj|4>)^-oamgj};m7zV(?P}fH zGQl1M)(KHw2|qunojIHEgDBuCa=_ht6p7wmC+c4v1Cu931XMzLco0AZAoPV4dp`bw z*Jg$~h6g#=kW!*g#0w^Lm)d)R2p{aTg8X(!`=ugTSFpsBz7aqto9$=nmZ=3yY{TS z+>!lAqACI9yE|JB8a&0h0gzf6-frskXq(i5#ZQ~t?fSd}Fha%K4pLSVx^ZrI6cYTN ze7`v`izODxZp*qiU1fbPW1YX~Lpbh^l#hRjhYRW9#iGxb$s0r4Sc&;&ln>4;gv^u( z^O=A#yE%yLbC|t&DvXIG;rjNNSnVggT>cgLL&&d?0j*Pn65P8i;NgnrlV{-Y{Z&VX z%ky*l!efrjGdYlENRv%qnn~$IM3G5!4ja1#Jt{x}*y08!gC$C1dsvo=qGNBMeFt`a zVwe#Whm99?J>&9%nZYnLm_4&0Ezb@>;?QSYTs+(h1OR+vJ-{q3!8}H_oa9(DKfjil zYP{hHwWb|1Lr5YB>6fPjObY=hj4r4+j|gtrY80ypvy5|YG$9*dmU_soXsQc>B^Omy zLwc%T!};92LyuVc3a-*oQr}isy`4c>AHwF-;7LEfJhz>;K3R5q zLAHnnu?dgbcjX4(Lw$Vp{2H}?h#CP(*xD)fz{vuAOac&HWOzVzj*YKPg_Asf@x5uM zuJx8Rf!S@ZFjPUMfH9bevLtRfgd8W7b`)ord7#-5~%Hv*|_Ir zViB(0m64VZBid)3{Im%mJUdbi;xgVVHeS+C-^lgrfy_+~(A=JAlH2ZAERw0HQCaH< zUZ2(R3bxXk4o&zOnv|r53e}+c4)$X#Pe>mRZ279vSyXOY?7PqRXb(S zqaW^(;i8Hhy3oGJ);TNK%~mVrgBo~(O9tAa>UHTNBbQsyY^ zTp;?M=3a$|Z$)2;^ac%pjJPPW2&oiXzO$@byRO~gjF^UqGTK+sc5pCp3Ly3&mbHmc zDyYxSIU#cQ!(UT!ZhPqs<7N3d*q%prGAw4i@ICF`twCDHGrW{ppGYpk*zWqvGWnH6 zc%J38uJpzW!5BQe+;={TFaM8ML4v#&fT3DNO!U!v>NrUld?;ST4!K z@X@V?Yp@=qLi6JlUtLl9oSUX+7}%apq1Kfr;!&nn?6g+)wqmcxc#*);`3`E6=e{76xyXPKRXy) zFMVQHM0#!680T}s#Wq?N6Xym-{TKvs63z4jm9ai{hZ=Y$yLp!GC=<)D7l}PS6^IiYW`WaoIJa}*5Nm3wW2}V3hYbPXFVC7X73$*Gx5ZdfcN6W z#iMLnrhG@y{JCuiK3ge<`Wi=clx6k`eeWa1@pBEaO0@8s>O>ZYVluT-+r<3DI@H<6 zNxx2V9}=W%aBN*<$_ z1$|e4O1s#Bc&C{-j~cTwu<)0nzB2Cm1ckR2{C*4kQ?c>2VGqtq!M(7;GJ4`s zYz!z-_*m<7FPU&0C>-__B>X!W zHlNeT1z8(|FGLrFhS9-)1-&QLQkU}V7wf%EEs16UOA7;455)nm4sz#_yzAS zToc}&tflg9h|N?p^D))c(JIMfZ6{~tfBiW#T_*Dri}>xZV$s?=2LZ#|Y==;d__eop z&;tq0jz+3BE-FB%LjHb zd=8Wnrt2>0S0LJj6DMMSN_;~gX4!xM8s{m)#1)SP%|#Xa3vD_bW1QLv>TBc98kO#u z@sx0fNFL$|m`NIp`Y)#aw;gPWt1sTlRlN_6{8aMYDQGo-tdE*Fn(QP4MAEW^jK6qr zy)d5PqV@US2nXD9k~jn+85aajTuWbPP-<&O^Y4B!mn3WQeq64c^UFz;%A`W{NwQW= zOh$0cVZ>iy*~uZG>lczxx~pt0_O5l5Jajx&LPG$I)Ic1zU?p+>7{Q}=b3#G3WjAyT zD7RQ2T&an~!=&50Syua2pTH1RdR%V8ri&6>vQ9VN7L;?`D`02G*>oaXyCbZ_Gv|_l zs%A{B(@%C@C86BTqng&lZvQYrrJ0vEj(loaMvz+8aOS1Ksg0!Xra~A*>_McOzSWRk z?!jnzY$q)@x0c@3@M^&k6~8$NQpEh-7=nVX`Z_GSSC_ThZjm6$7S(3&BOfrYgZ=*1lQvHN;T8F)a0a^rwGb+k-h^p4G=GVCFvq&~;$a(- zNihpwI<_lEueF$(>Z!8p^tDWciXvz^LaLYAHHnOOP8}O3?FJ+{Y0!tO`ob9&JM40J zU*LwXz&lN^=QdC5?6Swu-8;H~!jqqf%AKBVT6_xGa;(WWhGh<}(O3q(%tII9cMh`2 z%e%u0E?H+U^r`HZxDBjbos{ zGV2U0Q9sV=#kmM;W&wvZj-bMN4w^Ryzl2XGFZii+DP~oTB}&FOt5+vknMvBMryBgKzJ`X~5_FgV&b7;~R?kqNw!c2`#w0=F#lk^HptvVn%a;L=q3NLv$7Ex6IpU- zO^rns>#H*s#Ut7kni06MAY+@7E*-@W$IiB}+tiSeyYRVZJ_~=T}yv zGQIe?KxQ7{OPBU_$|{_qSXrdo^e8l?k4EhlPY_({pWpIKTc7esJO!&gNjR{0!9L+6 zGXAFmDA}4`NHqO+`yfQqFP5~;t6QRW3j=}NoKE{P0lL{#F9$MB3ZAyFlH%tzp*FI- zVK92(e$H?8BL_abN%2DO<)E;448j5L?`hAuYFbG()BsPI|cSGQ+-eVDyggh{GIolLSBXj$sLlLUipu&QG=j1C+qU2~oV<{x?`Yz6xrRTx=U6!w0#MO_>= zd2!|=5Q48$k=nc^HiDXQgFy=!YT>q#>P4x#u2a4*tnUlrpxF_pKG9-XvojRRp>imvNe zw3Q`cQ(=hd(VC^5$}{s2@$-n1W0Gz-ZVl5veE@tdVz-<>A#_69RgFboE=n?re=g|7 zk{zn8YMolCiCHd|5{iMiuIpk~dy$vHi4wy~3$Dx}wb7g&jw{Gf|HTW*%FJTwX`h$O zcZOnxb07fKR1GuOzAUmWF0W4=xgcv3Wzy-q)Xy0zXkcg1^Ev;qjfL-RusJeMbRZt6rHN;rJZk3uZ~iC06hEQj?Sr# zOc=5j`_S(u4lHv#O*++~nb=FVq4FEV`ES`$IbFO;vbcjG8tE4GUS{&oW5A<#adQyD z9n@B`WTj$}V3_$c1j9!IxgQb%ue4_|r7`{PC5kL| zfhbt)XO`j21uXpgwiF>^w^u?N{D9^U%l}Ti{eJ>jK;9gpG(>Oo`&$G8xl4oOT6^OE z{yVrm5Nckm&I9Q8A&(gM@85d^wz>a&#c%k9=6?Z~@c;I+{r^vj%-Vm)L_J0<;Kh18 z;Q;esk@0;{JAUpamSyzd&Z>A=2Z-JNXy3O>V27rTc(3+3R!;A~bmRA$QDH*1$OhoT zVZD$K3xh1_h?~yupD~ZX&t9%K$x_1-K+IMQ&RNU8DT@DZRZ^L2>Z!U2H^E{0n-1vHZ){mY1s3Qms{$g(a;Is(F?x~By>{|Vqn7EfI# z*5Z)bBqAPwkh4f-kxf_1Ez%qkQ^LkAF-VZ@ssazLE(D)hjPCF~j|g(4QE`FuI3U268kk0?O)U%^nT5|W5BR`THFyT099chsvxO+ z1$?3|fU*XDRRR3zV*qk&0%%>=+yHM{>GJ@Gxm0KsaWSX3ONk8rbsf9wAXM*MLnSiM zhF}odV@0V*X^_(PH!1N!IQ972H)ya;0NFug0yL(}4nkAsBh$p4en0ybP&xbGG25&o zIC&08k*aI_0CpklI>7c4D4&R8xbrOPKKX)Prl%24Ta1N7N_t4)wvc}WgCc@D7Lik8 z_X#4%Q!&7`sb_CIO+hkGM9VZu^7wM?z|v+7jGg79t}4rMFg)S<0qHnj|ApNd(<3=1 z-F0!mMyQhOpARzMt%g=#DM&GZa?$af5CRxIC%CSfH#@dB)kP_upxueF?H~E{+6Q+! zyIg?JUMA# zo$0_Z736Mh9zO&?UaeL2kj~GtJl|2?RR2f>IX$_EM14hm3kaHa(FxJy#QdG$})Beej=I*jt|?pU&ny8F~d?ZSL9$lR?^ISA0;hCC>uD+}-Xn*ja;*-)^2 zJPW_iPIM-Ng2Ltn>guUFA{Y;=iSW4z70Ay5Y#(#d=zg7j%P0csLezl!Q6pGA_n2NL zD#v{Tu(d)W9u#8d3^~Mh*A@&q>1SmZDv4qiK|lObHQq?niNOs6W;}&12x#UIS-=&K z=xBNERJ2dmEz;hJy!D&0HqA$=z#F8;ov+)g7T#&34x9U9T5!LwP~ zKo0;VgjI_Xwz=aCd$7p#7ZjZfd?6tL2E-o4_-`()T^olWs!n%#{rh8IJ@vm+bn*Y_ z2L3>^MvQgB9aK0S&R(SK3A1U8wxpE$vI%_rgIq-~J5{=H zxLbU~fONTf4ipoEa!k|D*h;Jn<|FeSlT(8wN$eV9RnbrXxV5phm}V2tfKuWZN~i9> zVT{jA^H})GWRcZj=SM_uxxW@)|>W4Xpa$4=WEyp+x6W=nl=wj?%Aw55eeXzOe_JiFg z1+?thZZu^Y5|8UlYaJIT3lc}&#lQB^Bk#6a3!K&dW^>?rgdYw2@yXEk<=(ctKcphQBuxf{w5B2Qli(eS@!FVK41*DCc2%084BQAlQ z;m!U)-#Eg3Mz9K%t+9$3kIGzJ1b-7!8n&WqJ;Sv2KA_i`H;&v=&aL*4_yxDwH#&YJ z+x}*ucEy$Lkqb6cfNY14O$1(2l9k;2HMIa`2`?=Z+i8g zzcuANm+tWruK1{gjVfc0Tl~^_tPQLOs1-I-g7+W=X7PUS+oO?aDF zhe-;5!B|Wx;raLXo(X<3%ENuAP?coItQDCWvJ^(B^lR+uGS+DfNDH2Y7?vJ|?)e@@K%}7j50tg9;q+ zGJeY>zR=1opCM%hnO|4E#|C|TPP@(x`lQ_jMXn6~;}Ps1B?o+yu6r-bUA9W+9k>F4-?Eo z60a0kB_6K*^Qy)&*47}r(w^hC#SqVym&TwZrWQG+XnGLvCgyJADS`{DW7L+tXSW8K zgr;7O-(Ks8JVI@+?Y={*WeD=!C?P62#b%x1GVDLeKl?Fmp=0QNtr!|Bj&W{&nE=|P z%gSWeH>y^j%bZEVtya_dH%?lw_DQeYySCr~mha0IVZJ7TU0##ny52Z}t!4$;KH+Mf zwOkkKW(}cFMs7)v&w_lPeV2=b86umll)W{`HZ}e;DVITT34})4DSz6cJv-N_Xu)aTgOTmPtiJOnR2l zT}|%m5>ZmAaW|-9983Q?62|JtKwNc40Fxu2J9MK2@>|*o^j<8PsUXLT4cV9ZWp`fb z@r2N8-&xdK!H%TBh(XaCueom-I<&^xDN)tIN#-IKQI}k=SVX&8z1=QJ76ZNlE8u1= zF%6#lE$TZTKH9UOp>XL63hgBPNukGASKM!_Mh=%MGoKle`r3<}x16V&DsAwBoVm~> zf0S=#PVeK=KxsQH^FOJfll&A;YK}OxjVzve%8FB;srF>S&VM3*)z)<|h>%ZQ zkkEdXGq07WPipDaPOd44o;W@fEhTOkxZ37#>Vk=hud2De_-PyZU)f8HdgrtlFS>w5F2G%LA%_N_*t_d5u>J}D-BgRMeZKs zMy8K4)9J=NeEAfEt@jN9~Hwpf& zPAZ1P?mTN!*2GR)Pm?CYZd+eUjl`)3pL&gjcAhrD4yAnIy}`h2d&n$xFV;_&rn#qe zE3^f|A?UG1T_Id=rx4 z0+QQ{+FRtk8m#lw;Zl-MzDfvJI=@DZn@_D1*1N4tnjXsMjShLa?NI*U^G z56`*R%I_s&x?Y2t=cK+(YH>$uq=!_zG=JHdV98(a-Rjdkp_cIgm%zRQV>4s^Kagqz8F@|NTP`+*U8MR@_i zdA7-{-g?Eaf%2hh!=Vy9Ir(#qHsA#x-ZIY8?+_V+HV-Zyk(f-W<}Xhf-{{oLtxHez zyr8aTsA~SJG(9_q!kuTE5EGu0o*S^$&eJ3P)^rrIMf%tj;CSI%ozYkLRtDMsigMU~LC(O5^GZx{UK$E#LMI>tNL z9+>7$8=m&IUM46OIh1_Ak=!BIPmyiv3q!{Vy!%l;8Oqyd@r7QR-#Ud;w&7X+N5Tsa=zt5Rf%E9ddDyvb!h}Hj7)(8v2uy874B*Nm3$`xf-MZ zO6LE;+*=35`EA>xM1YVWAwX~lPO!$^9fAgT2<~nTjZ1eWNlS&Ep@&aD}1*j(#d z$>%qxFZ_R`@%|rFdV95@W8IoSj_0TdzMeOSZp>(ZIRn)w&YPU?R4+w{0o`+n1uLhv z?TAd-XT102D>99xS#i@ zmFr=~wl}9t`lb#F*TpmWbC+xdI_RkCNr=4VesyIl0++dbx|c@c3hjFMJ7*UF`1aCl zJZd#9xS0OZE1eu~lmxH}M`v_o+0yJJ8~^NNLBCr=idIe;TG|#zwx8Ajc8LBwUl zLFL4YRngt^I5ghN3WwXGGUP;uMzz--&dH}x%-k!t?<3WE50ITkN@M!Tq}pdZm!9-Y zKyn4b_{7dTkW|$Oi^`?z^K#Yzn({dHhFR`dt{0?g3@$R4Ff8 zR8?O^pMQI8pJhK8TtPoXWRDKg6ET4BQTxk=R8*clvrXu zg!Ge{{sh=-d-b=C9*+@X6R=sLIX3_a?$CKNhNqYNDrv>w;%N4EuTovIqkR+xXoUd0{<9qnWpSOB!`kZA%E4TfR0wNI%lgmVYl>8pIT?nt z4zjz0DDq{yFVk#)SaJx}0l^5jk(+klw4iP~&p987cAu_;JQ5_un&(U5vNk>8E(I$6 zIW)T2D`Fj@-h<+pPO~``J`FrQZe>fTx#~O@&(5N6e0Bvvpr1&cW+PdoVbs=DgRpWNAq>feU zOcp2x$vmzTLXWH)$dag>{}WKuJOc{WP^;$f)+Zo3AyFiUI|0$@>vsJm?n<9FGogDI zk{UlnnNp*Y2)GC!w$2{~QBMe|XvL7@K^$)H0rngBpUWc%2>+)2)oy~@(V^o|x7$%l zK#I$^+gW6;YyYg0#JQf`_o(qAMxkA~ZnPTe$#itnO;kCfL(B2RUbI4`Y?kNCT z)nXG19mg$}R@7UAN=KD9>F%UTfXr#zx~SRt)b;rerG53elhk1MVtVl9+fg0>7wwI3 zL6^3Zqf!9?VzDvY>%7vUh$9rnK|aiT)NI-XV6fhjR`9MRszs_>hCfbj!+J%p5sBwC z0WbH1$wr?;-(j7xg2GH#erQ}@llxT@Kn^vQF$W51R?9YB+Mv+jk&_j+rRbmF;|}J* zgQ~p4wwvMeB2C@K=V|*y^%7S;;37AA`}XrDHQIeB=I^Qz4r6sws5I0N9&gNk=md=d zkSJWkYz_BdG?FS?-y76YL`fMiZ^`5gITe<(TEkG0B3$set6rvSIyX-gv0N#<7wY{v zJfHojPBZ`SS+QSIX?UI$AS=vv^SJIxT|H6`B$$7m4|M42(QV674p5@$pXc>B{q2!# z_>%*t_P@5vjr!8lumiD92IzLA(9rCkjS@Uwm<43@TsquPf`0*-%&EjSks0G6yEsU$ z@?71(Ssmq3ipTPE7^P=_4x|5%;AI2yU*H8x4FE5`{{whwzSt|`fy#MqWD%A`TPayL zpMOoXd?pr=xSUUCOXU0v{w&=Uu4X)Zs=?$cskIDv%_vIHS|6MevsSy^v?s5c zgK1-zJ-1U1Rub(2bUg?-_}y**Wr8&TTl@q_p4z=raZMHw<$m)l^9&VESRkZ#5XWO| z-VPhaz65@YXI>n)~0N!_4|3Q(v zG{Rk_m}2OfG(pGr1B>VU zhkVvVA5`{ej>0FNZ`rcWVz_P15!BlCT=#4RZf#6sXlwhX-vTlsXrfa6qt7RFYV-Qf z>OMdd1VYzRJyF32G!vZ)) zgG>Ey9fJ03M&HqiuOoBQQwxP455f-wJN!*R>PqH^opmM^#%)Cwg68Y^_F4xZGkeKJ zmQ~V?kAU=nTYj+~09Z>{?y|I;ho|R(n%0KnZyYKro$&`9PeLb7os1}maRMXD#6M?J zUDs^IoTKgY5oeiuzft2h%529Ug<1!IuHb(UY-Tec2!;pja<7i(j8I&v?)qOqEB=2E zwBqJMc`+@Ep76|3J#0Ju0=7%}O0|oH?l+UH0R^_Krh#mY3vQyln=fq3v!~ahZDkw| zJBq!+>EBWoP3mY-II>MW)Hki$sLNFX%HLgzJs%qCDfW-RbxH8^kn8T|xIuI#W&RDS^uS8iz?g@reN|%+z$@(dF^ue*rQ2hv#lcPU30q&^g3! zg=)_c5au=wXqFs94Fols{JjPcn9<=IQ~QenuK6T@em4aX1*O=8o)78J5%>KP?~#{U zLsftCY;`o?xBY$npU{8!Y8B`lBG{q%=M&N6V{zCS>_T7x=7(Z~#NWq(Nk{w-HJX2Z z^8ZbP%<9vtJN1y*aTG_z=Qm4;$OxAT>iWoidG#9LlLD72Unnaj+aW$*_2^(=p1)Xt zpOQ1xcW|^bvcIrSee-9Y^;ob$jOKy zy~TOv8zV`G3j=LGFXe#0)4zFcm012E%nAcTM=2pJpy-l(s0HtZE;8-G1Wk%VBJIzo z{2r7qe4-M@#Q}BoaRyTcrS7;=O4573Q2fRJ0nrPbpZ_T+2n_bog&}?O(kCdN^vAow zE#`uzCvaJ#o12lFk+G9ouAB4r?y2-PAWW^)0=_7eyf(Noa-9ph2v1!`^vgCdDP&H! zW>amo!;cbDj*9Jag~<5(@sgf*Aaa(;&iEm&OUZI`Pnv!FFzL0sM)6T&SkRYP0G;gp zgU5Rj)MS})GY=XPwOIbh*)*D}mCC6DRZ#@UYV=s(t%6_xf}~tmrZ7k7&(}X#qCLjn zd9+^LiomqKWM{-JrR%moG1guD1)@$Amq!3#|E11ywB;W z1n%w`oA;z+kJppgxXdXLq~mrTI3L~;qs8xFx{^_ltF73n`BA=SCODQe!r;?33yL2L z^y7{9U%Vqd(JxO;BlqU4gylo1=7Ecvx@RUu&(9mi`O>xnk10gTrRsDdDzOp6gY*9T ztj&a@gw@x7y}1xo(k`1wFOT-xY$!j^Z<(C_1L7FA@{`7}tdO99XqfN!WjI2i7s<#J z;*vUxQVtyWV>C?oiQCM+RAHEJf5v&u9OdoPb->c98wdn%smW<;BZ&R{=sil&;}<3; z9>Ws_JMgLnB$M|=Avf3WWCFe^OY4G&j0|BuCH&n|qmx&(!3$)<&wed!g#MY4ZyCQ9 zZ^?$4xHEqC*|`$<`t<|S?wog7Pl$JD2IQPod&iDr&ia!+{$OSMIWjKS0oKVD_7C)H49WK;(As>L)D9|RLU&Xg4?Y^pQdauLg z*zAbExTE&V{B6f+4gXjo%rjT;X!3?qToOeCy`{JkExxmXAEO|F@(bNPyyg(+`_~j3 z26-J4DH=j)+Dq}Bb>Fr%e<>L`CzRw_YdUy*88D z1>?P^okvt&RZxf`s#oz^4zE0=I(Bhq*e21wO&3E{7F%!EqyH2J7c#R=viv&(o=Uw0 zMRb;%;uSb~IUy#3`MBI}&B-mp$B{8ob@rlub&m*BZxD zv+`t3JC?<$Ez)_(i*R(U`4rU_2_lwKl$;kEwX6D$1A0cnv`^ot5BTECko473kc%$- z)1rZ0K}4j}<7K2>k;>ZBEVmx&93M4m>$LIhdn) zq!i=fNH`yLO6TAfJQv0M`C{FFeIZo*MHDcSqAqk~FO#(%9c^%{VA-eRjPEC{;UuW0 zri5qT1%|v4y@z+3Q&oPeHrkM#{qiS1Xf41Q{C3~3+V2&7n2@U>Z;VCJ^(4u_`^}#9 zK2_}nKM+Nf8Y8ue=>h1o#HUx2!+T`KNsCs5*oRK5RWjgAk~ugqE{cJcJ=H5!W5r73 z*WeVBH>2KHHU;ThdcM6a8N`mW70`gVaj!}t&SF6x7FY-a8f=JjM!Q}bX7&cUQ#T57 z-Um`c;>Ot-Ia3~OLM3&I>VXWzE`1WSId0tBi$5bcL3Vvy%6(vkty8oR)pC>B01Uc_ z9`*#XpJeZ;AJ{+Xd$%^}Z+oyutB7yQ@|B<^cRVsCbR@(i$k-8;i6h>8kK;7~uL)a| z68^k(yb_3AM$1_Ej8932jDTB1=&^{@{a6`)s>cS&_YNsr_s==*`Uzn^2+fZ9(hh zasBRc^HIIo7El)&&a6A=$}}iQSCIs z!a{Djuj>7r+nb81*QD^}BF|&h-3T$YpcFUT6g?sEn8wu~Ah+8eKtwP1Hi&VrQ{d|O zfxqC#93PS|bT@5dHCkE@USeg;9@?PB5|Q}&GQf4UJS2u^J|SDDLX2jWT{sYf1H63f z?&^wB&!cT*)97OHp+RMH_7qhgl3zfGd|VM!l9~D8t(w2GvbKcj$NNREPIGpWa1_|? zpD0bczNneT?_1;!=UFL^NcUg|;1S%Gt-{1`S*s#P%{*d=xba%65Ojv^?N=*<-30Dx zY1?ek>0=|D%!{F^! zdx8qOyDFcQgiHV$SDiP3v4h_1$BC~B?SnYICdmd`vb!*_{$%B*XUIW!^u8dH=omE| zZa8seDmVWy_D>$NHXLhy(;VT+G-Ef(2Z)R&HmV)lSN1CQAvZxeyjVmYC~eCP3b-aq zoN?TiCg}McDLdYgCaU9v3cLroD5Bq6jL&C8wCIadrSLA0Con%MfvvuRhsxLcFDvQv?GkXctT!-O3fsWrCw zt9I-MA_>TmyqSQ{HD%01(kKN95lOr|W1$-Tl=IIWPuPY&d`mU@s{#J?8BC@KQ1<6r z)1g_=t;zMvYvDg&eRVKnvZE2^bd|YGFF_e*CXt13%K>(>yf^;m4Jcx3NO-R1VB|Oc z_%=I64|uHsGmyAv$~O^JAq9Cg*xrN+7t*ru5&dGgk=o9?djtLxY-yuYjF5^+c#>aO zl=tLtqihNRpQm(PNrya{x5mPMkP)6t2R43s#OHL!yR02D3KbADJ2=4sA2=QIN_Bmx zm<}^3pNHAhc!l6&z@f8=5mW9qsuxr>)F+j5O>r)h-a9^gE`x;K9-tCibORe%Q#{mK z5$GPepI}xQyxh~QS>D_wgNf5U`KP>*6lpz4&|!!Hr9yv8C1CsFW)Yo1&iFvVlle8e za9d*^zK-|&+Iw^KUyUCw3WIFB3s|px+g-9ta^++~QNw zyC#dbd>Qnyx4OdYA)UU?JfGgOoMDE3mTaQL=Emm=s^Oi)5J|LI^PQM@+sCIZ*oC?y z-?1wD8Tl3!sqj`Zinx!yY?-{1@rL1nS6lAo4Q%(2%ZHbz=x2BovWiL#FJ#wWBPXB4 zM?{F4TdkSfe8(R&moW9ujZz-uz*4G=TJHHELPpO$kIX6kQEngPL$DNvpWSsR}r5tq55cNDU z@gQ=|U?*f4dSc%bTDs^%;84Rx7ygOFfg`sgA+Tg-FGz>iPn}+4c`(MLK>ba7&ZaA@ zTD^4FJCx$L+&4yQo%(wrLqmUZ73Ki?T*NZHWVPT$qp=JKb>hK9NWZEaIg5*`F`QxZ z)fM+_-4hnR2CXsAUOyce*If8_7KVo$It?)?sH!wsBL$gyGcOYV+EkqKJF#;GmoU6# z^4@t>591Igjw2D?+fK(6NmZdAa1nbFg6nJ9XbVvt)#jrwP6a>Jn54d1lI4oPc!NT_ z_uaiak<@aDFk)IZBAfIuu~6SpgeFVXcAb-_?T}Zv>)Y&`)G^Mufl3^UU{M1-)DbwU z%Gs(9PqGU95pZ$k5oWnDA^kY8Z1kc{}vgF(J zb?=4~F{P}8Au;Ia))*c2O9Am{5@TH7N2qZJNgzc+0@XyCWr*oKTKAKKglU6vYw>Rd zsGB@Pk0Sx){7AQ8tDN;%m!E5}5YK#guaV)RspnGD z9n>^b{`yvRn|8>eF+eC{m|cUi>EO?=qivEnZ+68m`jf~ zgxKf=URuh&o5TBc^_yPtbJ3zFpN(HYz%e(Dj9Rf+XvY>j@}_{Hf6~bMdy!t`k^%+{ zLxL-Paz4@g(mNrAvKm|4vw+fL$gq7?`a%JE!%I`s{&QNq%+nk9$xpw-wVPOJDP8ao z@~-r|M*=Hc^ulU@oekk%uYfElkCkds7q-)1BGldRcj~SSiTxBXRpY20HIu&e1_%%- z^IyAy{X{RXfW^;fq{?Cd$$ytoT&d%9nYL&CrX9SLNmrBQWb^63L5Dql% zv;^e~p)*kf$PwpY$3K&dMz}jmkKcu_N4#LSih53DtAcz8o)BAZ+_753(atyYjD9&f zT*QI&`y_oZvtyDE@&hkoYlfq7AJ4a!nf^!JYN+*@)qTbj2++5RnL-G?(+q|2XW(!7rCr^zE^a zvE)3y^DvbE(nbuQNQNo|L>YE6c;-RLJiUhdbrBo0IGM3lh&iKrUz4Je$W0j2hj&3i zL~+;=^~ta!A%Yo7ii#bwd`B-ELO@Qlau-DEg0C2(c9Fp;<$0k(ayyoSY8f4&J#0NA z87i=b2Jn?hh!Nq0A;Z695JJPlA@%j7ehnho@dog-<@&?L+nOm7^Zc z=awmTLH^AG?fMori+H|`YE>_|UFsjdV-(D6dxumzyiM*2%femif3!zH#+i>2POHpr z&BwxRj-%WgN$L(ml^h`Uj4Z~XB9^XTE0QNKOI#3(adh=h^2ueur7y?R_bF%dTc|#k zOgAzbci}-|`!!;+8Y6FUArJ{s6dx~|Y*eBv>Hl4N8qTXb!A-zsX^_ZcmxbXiAyDzEJh|)DN1yqWGmkSqLqkOqhYSbmSSAd@vE4UhXprLxP?VX=oVm ziSX2pvt&JRhN~IvtFpF?XmoJw?kbbOIKAVz**X7JhI<85peWiN5jlLQTQepPgxhsG zH;-I73jdsy4orSBlF9|Fo3?ypTOZnqe~-}d(u7(T5f{G$RcNkn*u!9u&3-UD;*>S7digWr3aI>W=kpdpz3Rvn)9?tCI^$WdgRo18 z=K~1J0>KZn-%kqGy;Iq7{wUTanm#}M@A40H(Fsd5_&~vk<+#A~^JF@SH7TYcgRg4k+Dm3IfRvjN|k6f&Xo%S&xo5or1;mBZ`*ZXxJO~t^RzByO3JCGwx9r_8OUC z%)o0hx9l#)$%w=Axh=};oV}htZ`}TG>putxoBOl9H0yeiZu~_i=`$Dbd~mu41|*L^ zQ|qoj)Vm9qy24(dLx^>{XQezs!jG^(w%d5vsF|!S7>f8s@ZXxdPkg?$2cYDw6;*kc zcXSDcRPf{&Vr*m}6vF=)prVRS7qh=c@COF#hmzTjH+AO2IOUVu(!D=-SJl* zo=7<&zGxRhisZ!1ijeOgsf&bx{NxR6kg-uNR9&zB7c8>*H$**o)D^M!ulgV!`@onK^FUIIC+#q?M%HGzy$_ZYRjoa)eCiX^96cZiE7K4Bahku^q( zZ<$(P4-IYL`}I>*3dKHTFfQoaMI;Zwh*G*xr_t zPr~BR@zI?H2L1Ygu6RS${!e6#7BnRn83U~LV!6hgaK8b8nHhb<s?4jtQ|a3>;oU5S#tb zMF*&(qs!IiKve*VCmg>xu#ZYmvoSNfK19i9#B2XM`%qv{zEi9Bo{-j?7OCsNqG@Qg zo2CLnI=GC(e6C2qDVoS5_2YQ)?=A;QAz}H1^o;GY^s!!?4aQTWRl*VsLj|=!Vy-@J z?QG=ULRPl<3{+Q8Ct{C+o*UIn zb=Om^rm43pnuc!yk#J@)a}0KZ+tst%`VKrv6t7YB*RnhNp#p?^lFb>qwUo15wcX2% z*`DT0#QBZ#Ki_F=MGhOJe!5c-RLLX}2xZ80wXIAq#{I^kaYE5*i6C>MRFaU}!271h zjr4EbR8BB}HQjFr4IP%ufsFHa)v>U|+&Awd3t9oFIm49R`@kV%+jJtC{b?J8%>GXS zTx5UW^=a53x~N4C>)Tee!QhSA5SA1|i?psKRyyd%DK^IGu-{b8r~FED_VqiX$n0O{ zUb%{laqyH~s?x7-GVKr`;yXeQ@=KDh<9zrtsl;NX+&o{JXQqAtC$*bgkjwLC33)3! z=BinZ?3tDgFqBZv2#4o-WL-!zUEV~4O?(tI(Qd=X;H%`c^aCHgdWFYtu~^s2^ zuM$9oR)L>~?3~p*B0cq>9Vpj!9BnTIzkU>mB5@o>$E^2iVlcFPKvyD=et~w|{y78X zLaddchBJi1mz7%=?Gc9>@SFwyZy)f)%oRd0zUdp;!_S4do~$Cji`dpd@I-MxHVHcG z^#uvp$<8w#^XX7O4K6Zuvenk40u@=XzotcGW0289?Fw&`(y5^0Nye^OZMBJX4 z-IkMf@rxIm#UDO$YQA=uO0?Fyd{;KXig1x5ekSh;I8<`Tsj6xoS(AtqqF63e`>l07 zzRYvx`l0;t=^Cn3?!E~(cs7nG%pdPrkqol}GI9(j}}pA%;wkZ5?bInj#HMVF7m<)vYsS zIZivrd(rCatNo*ypDP;7EUSPch``2edYqdm7zeTOTCm>wplvndheB3tn{Dc3Y8aT{ zBdrTEUBkC{iIq|?Lk(yW+^} zaMo~YPYULp8Ud+YBWf}ocz;h7Ti;E&;w@9*(f517i6>|sVYUvXyO}^|P;?F2y(*09 zIX!11MK^i(>hcu@j)E~m{(BtxeP!BojXFB|jYN$#UuPZfkF<$Gk0(BjHHr+MKKn4g zM!Sf$tq(vS$Y>ENrI@frTSfzgh!URL(G}(U$@1R46kTD-lsPRse29>fk%={3`6)~Y z_vHAAMx%m28B*mxqC{ZV)%?_qQn%=UVQ$b`V(Y0dN^)a@J2#Q|t!Hz!kh%e}O}ndQ z_6~($%Ao!}7|C{>uSiW)akF}+A+PJ35e#e|*93SyqW_Fv)+mQ0TyRFe=EOA4-L%j| z`3|jQ`PW?&56PUX75@xZ%uYi`5(`OOM(YmBQU2F z*Z}YR(4N&|z8Q&}hc$)uH&QFg59Lwht~S(Dr6@Aao>jfYDinVM(XjBct>LgZy3`j! z0n0+Y_2$=0BxOL&g&V`;+7xpLY>Rs6n7e$nhfCPe{_d{5{)8#rbA`ZWbO+beGVT@p z*=o#8T<6cUt9UDUA-`K)QsY39AD37Pqx!8w$rp^8wl`_Iv&ZsdG}LGWX)d5-H!GCc zW>+pLcXznxxESbJ!<^djB%s*Q;-&%?eR{M3S0p_A>GmKYwp71Dz+Z=W)|C`~xR(}c^-aX965|FBsHv3U}zs@7i&x%|Ub>dVyV>`mx=;Iq9& z7jSwi+4$J80A0Ir4PMLDTMWJg_yg@nm}{k;Prm(BuX0DhuUI{nm!ER1iNqW`2Y+)2-tp9JP#P?3-zi7q{&u;&@G%?G01%+=g^^{h34s)R!5v5lq7Wtp)9_24s{b!)n=( z7mn+;i(S9x`H5Zp-EZh|nhK_E91q|gz-8@inC1zKBIWWD4w;*fz%XExuk?wHCv1jS z#fx|ZA0p*nNYa<2_pxS85*E5d$ zVe`H6-8Z80lSr8T0!P89+Rno{$Cr_Y^cQom$9dk6H9}9^*Y7@hWNKZ3A;&w>t_~qR zP)}`*x74afWjbk01;?Ry581o!5)pes;mJ^@iM73sxGqec;_(p@S8f6<4zrg_XGaTG zen=};dal=`_pW0iHob>kYYC>Hi5hw5M>JMQ9g=8R(wnOld$IPru3dkyPMJqs=azLG zYT;GJ3A1I7riOKx5r(7AM_jM7oK+tXvQ z#+BBwRl?T=yPfumjcNV&pi+|AVxFug61Jf9&5j{fWwK^4<9!TH0rA^6*g&j{=@Pw^QQF0|%T{%~asd*ijgdSPvu())hyJLfQ zjplUT-A8oBrmkp@F7np(mwN)ow;F^{Nc_r~&eQwYGFAA8yA%;u@7;XqFrPM+q-Ej) zQGI&7?U5k&AJuq%QE61>%qGXnxMff8iq)Dhax3h{+CWhhOu0RaY%SAQuk)BRTXj>< zIrF&OFK^U;<6nq?0H@sf_MN-jh>UDmG0V-;g@P2_U-)5AF5mqZExaOGm>Kl^hQG)D zu#ltM6f!i-+wS!A;{c|EMwaM3$hd2;4|knwU9RQUD;}Jpzt&$oxOEg-vyMS9?{)a% zdG(Q99(b?s&&m>hLxyKY?T^hBP7-I{rIl&IQY#lvEQbm2zsJTyG3c2NQL|Tj1?o`I zDf4I3aU(Dq0rFbNIW7-8(KU+yUM-rL2nhNf*|<^r&0--Nr>M{lV7T_447GKs9zRzG z`(0TTK{R-!5otxp)D#x~sShln8vhfoKTul3EONH?H$NA%Fe5b{vN!d)l;g(&}GN9$ahH|&+dw>*s$b4Q$7-OsU>O+x(V5+O5GiJ zShorgBX1Kw(rUBCZL32DPu(R$*D$7cZXh12O&-+68c!`fe7l9G5AynHggdZzI{MDl)5rbQii#uiG6e(&=Zu+`~`Kcv;Q}EQonqzk* zjs|IT)cq5G>#aLt-172vstl65O)KsIk@zyi?aJ%s9WQBv#cVZxt~54$S<4O4lB{7e zws9abq5l!i> zT%1ZdoCE&S3^!X6qoS*M`&olSNf5Q}*xgjn^bXc~F{`y|DP(l}?6Y?(5x3m)()uRX z&e$R=KMT&Xa8FK(f+eI$&48dSP2V1UjEgpfb%fh5;I z!FONrgU@RZF%9c{SCtz+^ys>PHG6YL2R&Z{?iH%d65auYX4CDcsHk)hlWwaXj}G_9 z@Ngz}(6t#`(R=&KB-rzN`Y?$IKQgZBUhIY(-!5l4)U=xQL zgS-%~LcD&US>>Ifsba5GZR?hR4Wg~rt`QuU2mTe09(lwIt#JR&`4LJSXu;zewr7zA zk&$U)HJT3J6pI#}@Ai4Fi3{K}r-J43DHIl3$h~~hJ~pjGwZ`#FSVcrf5(3rd?39zkGOo?9#%r97alI3sU2l zd(kV>O=dHPA=I&r64Hd=@$*B#auoe8y&$h8J`{9@B-^j_;zD#J%)&)eT^*U^j|*`9 zW`Jdo?TP$u*iXzzfsFOohu1(HiSVS{)V&a^fLEB<7}C0GD=*KGos&~OkbxHo{c76q z>H_?Nsal z(S5oTt3KNqY5P6#PWOT>X}8{Q(-yc!>E6#F%lYc=6I<5aVm$BGg%=3Ty4_KdxBYx! z1M%>bhKxa;I_|{UM|7?_fW2m857jT8N2G{3s&+Z>)rH^H2`yIqRT#|N?W z;!NV=X2BDM0SC`tZG=jkR8u#CyEJrxCuqhB5A4U8yu}?xhWFEf<}+F8M+F8BJenSA z3808rUz^i+9>`}iWbA5O8)Xr#utZcT(T1l;nMAle zSVHkFYeXz&;EHdBSCA=Y?4&m>rL*85@6{p1=2!qTSn9 zZ0$GSr7s`S0m_whyx#Ryu{$oLrfCqH!X#qO%8AR;Y@0Rc1Je~)(mai>X&by6O zg{P!+oM+QmfbY&ZqplHSQgOC@Tia~W29uECT)Rp~6H2Jpb0o3Ds^M|4MN2~@?<6(~RwL(3Q z5e_*XAmXC;Q@s0*Qg^uR!y7 z;RbnKaZ?j6xe;5OY=prX+xp!DO6Trn9=k=&INLa4R+`5$5;P5>qtwtZ>4y9#m6n-Pfkv5JHWO>Jx3H$WN$ zchAddSgHpO-FQEQl52=Km{jHHnx&0Gw=OH4R@MSaCV=%sL2Shx+NL0Eh7on>4(Fon zj}sphV84OotMl5u#7eP}g>E|6U%eir)@)t9IEo*)>vHt;mQL~vV#kk&ZJOWnwgI2) zPGHvD7nh_4q#wmEl`<=%yVqY~A3sDUBh&F`B}mK)HQDtc!4Q?k#m08V_y&$U-b1di zcp;iCI^B_xAL`u>d|5`;-IU!=Sdtwt{pW9hgnFtJ69cm=zo{3Occ!KHX5RLS2_EZI z1@||B4Jmr@d5SwNDNbi0g|^dFn-IY|`eSeI5JNIC_Wj~0mvdJ>gM!(j@y9eOAcKtP zQ%eK6Xeuhct_y4Kl>^BcKeE^*JKfJ!#-Q%{r-s>HNh4k_1IXNu$P?GI1~cx6I*tk!Z7VMo4sgb?ZTKg>uJk?n*BPH-Yzw$x7mo~ypQg}&y#ij7)ZV98>T$%GO7U8Mqo#d zS=JDfK~#GT`DcnwqwJBO4QFvYHrqQCh)`^quyd?g9Gv}<)KNLCQTHFYK%xe0RE$lG zp*P9KeLBF*{N1ZJH?ZYLS6wy-vnT)FtGONs{@}MNGH9x3uz!s5cr!;J6f;55YOHgp zbBKyleQStX1ew7@D>XeMe)sxsf$N;rrRNuZSN)Eh{szgFku4B|MlhDei zRz!rLSG2CFy7}D}@dBYO?(w1SWOio!V=i`Z9|es_P2tRtqA`36Z9kQ|{&wK#*tC;B zO-B9`VQTih2vZ@K3*CH<{05DUNA7%~f3iJiN2tcV+;04Wzx+KJJ*gQJv4ltE<~`!= zU`cKG7a9fughE0!9U0sYZ*#~Dt7{RCz-JPR8(QByWj^G;iY8eS)y1*ZzObq zT7LpI^n1@}1<rBE-e<|w>Y#i)DtgMV|qO8Iq zLIMl|LL&cr&iX4T49pAHznt}C4A%|7X&~)iob@I6Xf!3v_LD)nmMd-a0!fVbxGhxa z>G`u2SIe;7FMWvfXK{%ssWN?n-io8iDF&sd`A~`uahj2TBP5+ts!u5Ls@ zW}1_oEpBF3cmZaZl8U2Np^KfWN?|dduBQ`96%D%|=DaTb5ZL@PHLiJ(>V=u|yZaX~ zCt2Q^t?xaV&;H}H!NmUasbI>5>Hqd&c#-*-K7VK!8dRyjl3BVxbaDRv!abc?#Gbg?)j+D?5A*sQYjY-vKTigmsppNpLYFV#xhb6k&>G+FF1vI}z+#^u963 zJf8CoC)i%7EebHJU}^m^2*c(4C%UZlR?_3)LS?SXI4qh@OMSl18ia(y+;@;oCd?RZ zUlw`OG$3iXEPZ?=lP??_HCCCRG_dz)sVT>7sxUWXYcNhWmPU>E=4=~f2=p~ueDx?g z8vV0sc{;Q8vL;}&L-tv@Shdlx)^Z_s_SY*IFNY5wrH&TrWC8U)47FMdHQjmdSMWn3 zTYzy6Eg;brnhZ$v?oR)h@!zhnd9l9*7{^pPA8DhBXXoZhj;8W3aY?+$z^t2>{6sx= zkH={6y;!G>m)`PXZ;H`kmOiSj|9$q_cY~+WO38##$w(fPp9X;TB6+y-EwAgT!R}&% z{j4E$V#46=^6=SkS+Z2KLCO`F*nSedj&nd0&HUwVrbw{l)t{wJKQtM7=P9ueETSUi z5=Iuuj*jYSZFA|7SXzy2#e%OB1qu|vUhL;BTmqVM#_EpszUqj1rPRQzVuSWn#7@vc*s-MFR4bLz9l&@A=puWI<IlFR7L6A-nb?QL}2-$-#@X7H|k`sUQ(1ADrgmj)L*{tg;) z3i#6}1#9!QFwnbS+cW?UUyK%MR)C)b+nL9*>$XG!qv1(qFJSoXBvk2J9QT#a2*4dB z9a<(#7A@^^fYGP_WQoR%CJf+OyTE8T5S=wW(>gsLqF|nM-pO(OyWfZla8Pb6_&m0i zIpEom^P+G%83l(~oYi9Xy*`~m$QW705o6nSzzaLX)Y$=DTTWppg zj605UY~$HO^{0!~7;;$ZojB`7`_t+GZ>X>WEh#v#ZCN$kjO^W7K&%SLbvKX29PAE0 zz!Ba#1=e#jH}GS-iIfX;M>WlyDIo1u>m+-sh{&}j&WlNf%|-iBmW6v@yoXxPHA57) zS~d(BQ!zc(Ze`pGN`5*g{3OLbv${Rs-SW)1+yrUV7FU}>MSDVVDVU6g!hx-ptHD}- zRJ{jycfM2r`mmbCRp}4gib{ts?gc?T_n6=2XXH(31?fu?-sIHCa=Lt3?+KN*S#1lp zZo+Q~A5XM{+?eWE9r_+vv*I@&8e|P)u^g)Jmtp2*2!@TO!GllAq`zHg`3A*MtH4d4 z%wX-p>MS?A<~Z(8mv&UQIW122Q>4)Vp{b=IefpgalAyyF{*txPNt{}p{wc5?@{;X> zOqcg&s!bJ`-lx4)X|;&G`l_8Wf(crw8|H`+??2YsI zv{wM4m7H|AyFRL7`$#zth%ry!Xyy-1ZheN6IiSp97E^^WyS^MYtNgvp#^j(H0bm1k zIG1ZRIpMP`J=JNC`D;+bwuX71d1 z=iaaPeDV+t&-1H$?Y;I|K3`tr4Quum3>p9U?9&>>Hf3r>M?35IY_9a`Y-P432RHj8 zJ2!%-ej0k$3LJO*&GQ)c_4TzzOkDVmIewMOb(&<;XDL^>c^(r)-gZN|6^ZE<12U}*gnlo3))?~m-lek46NxF z=7*hy?`uSH*=WOb)JBZ&O*otLR@rpGxF0PZahQn!ZR}K=iW5O@I6gTG~c!agZ z?uG@aieyUMd3z=V2%dHUds#Xn@11wi)t7%!-<=KLLAA(VQ5|Yey+6e8(6cA!U;Ye6 z#M{{zu6K_$4XYXi4>`6}F=%^{G=roK6eHJ zRR-onYNNV;uJhelpm2;Yn($1I=)^rcn!xxu&3aC35b^`-6DD5((ZO4^`n!+++Z6ib z!76Ua5<1hv)C23n=iaps@ZG~G4?+;;A_DS^RTGneqr)#b=*P5nI^jQ>BQL1^Sp5;hK-in}kv!%{y<6TAv%{4#Ko= z$7c>Ce5Q^L8+^QJ_NV;+uTi%7HC6cF(Kq z;Mb%3n!@M@l;Q_3zpFMXUrD;2HG|6OB^BA=N}Z=R!GVsEY8q1c8GnlJ&IWeMUH_>8 zVwr(#pB;Tx=k~jN$+2(V%Y<*t1D~b5i}@i90cQKzjNYqH_Lvk|`UW^2Bw}d+F!?ej zYl)U3WCUWlYsR;Q&6+O}d3lfx{g+`&M~v!^C;Ag!jXWRdch?m|3Shl8;V!SH&+?h$ zZc{?)HfMp$*h9n`jZ3>t$)y1pX#jwZguf-B#7C!W& zwc6PE%}Z$*9e@-%PpPSEZcDNzKKS#WqR(52`<=8wIGK3ozYRhE^(gjv+tT;XPep8< zt31pc1yV#3i-ey3d%$cpegxvI86)*L9y3@5+PxFUtSg+yyb$d!q)=C|8P-7H{{agG z?Kb+lh5v`J_+Njf|Ms;`a}!`N7-RJ{lwbxAMpo^&_;dT0KCT6qtC5k>A~y1q%X;5S z-2kJ%Kj<`fov7bUuvgp;<}Zc12=5|z{-^kTpRlQzcH}U43-DjZfsFwF=O@%OWi9aA zXyso=1eHn6td-6#Yq&czy)1Cz{SHp3o+@MKcs?B>t!8DVsDZHK{u=_h37BM*B|dnX z!ND(mUqvc?KkBbBD+(=J&1I#m-nd~3A<{;M@<3JJ76<$?&bs5$`Ak`04-{JDX)}OJ zC=Oh`qM0qB^Y#c}#>|O=9>elLh?oct5~rgwH%>m_6-)<5+f|N|!W}uG0k9uGVhIlK{p7eZVL$9Ox%!En zFaidDjoHFpaS+l9uf_tis(`T~`~_|Z`WiyOC;ZisVr=6)WVEF@b@9%$gZ@nI~h)aX*=%$P@5xrfaGSvsV%cC31Og4{Pt~pbIvZCTgK3BAuM%Id z%bOOGGoVo@7xldlnmWc?kWDl0iYY_2XC1Oq#}fzae@q1V0_a5jVy(ZM(0~5=>#H7; zr{qqj5pSPyMLf}~%oXS2a#JBYeI%ipd)lzk} z{Y2gO-zIqK`M@`F4`s!{$k6LAYMp zjaKcQV*>1uxUt6Msm)gvthTv=o>&-dAjp&`|DNtjO94lC?^HfH^e;A0y=MT4gDfuN zj0Ui}Mc}(?Y^=~z8RxByK^7uS&SFDZ#kV~G=%oWH8`7tGo6W*K_~*aSyLdAARb?G&m1Zva%d>&2 z07~vK$F$GI9@|x5rD%f>!V`fpJHZ<=Y^FLkl~n}9)eD#C6lhll#4pNV=@`%&aq30T z(!*Zj^v|~@bs5w%yduUMkb>skE7MC(!>N0UA}iO*{usv)CljuVf*%H#ld~(Fqi4Ce z47r6>{j?b^u&3RqEws`b=nUmJjoV{=lg;BcG>4E#RKfX-&Piq3s4am!!vwP}HqLF+ zFFF&Me$LtS_*bn9S8*bv-5LXdo0uu*^kqocExZ?%`%)Dl>r?u*qlXTe!oR4%20l4X z-R3G2oLsld3IAD4WdfISAF8VNaGz4UjXiqo^)+#UuV!c!{8BzRO~_6&u&RZL&5<_R zuONGTn>^BGrxz6 zLq9npoy90$y9(|}yL$hZC)9%tpX+S?4#s^hF;z#*mem!2163j#3M_~p;q;5|tiF}DH|~xSD{x)TyX&5nwqBE2MY~wB=I|VDwqe2M z3wCp82Up_$m3gw*?})MW_{!Uhhl;Hy@4v5Z;NA4hy0=xgp-uGp84sKHEEA8-kYYo{ zX7!?Fla3EQ&q(3ToX{|zw}bOGP3*;d7tQg8D(X? zt~4oG$-(l2nYF%bZY!(O06Ww`;Z%i~XB;1>eDz$C`L)E6lS}hdT4~wwo1qZwoNM zZPxa+w4tox$ziEm<5pWf>Jwk<2(y)q{96z5240*Q4gES)=78Vhr$pY1L8<{KQ{J`N ziq>wNS!c4r!Z})JKJ1almUHY;^yFJRn~})qD3asSW650knyZaSKI091rtS!}B+sEC z=#Zl}w$H`3x2UAN(HLWjx^?gM_UHy{MWfDLdv)d0^y%qhZtZZzD=hpEzjojTaT`Pa zSBDmjb^sSl?RUMW9i(O91f_Z3fj&n%d;;r63oN#4_Ht>|c`JL{*DrbN>~wGG`?Cry3qUTK^8#D5#l;8v5%tU%gIds6A8-ne-AXSCa5!027xa zcPO?lKVhW*>F3d#4`ai~=JLpm%oRa;-^)-aa^@*0t_eYDsA2owt5-rdMm#ae}@*l;AA! zxOYfIuuWo`+hWx0Y|K4!B|ZzBHyvWq!ONqK>9JUv$C#^FD(xG+$v&n?1PTkk?VQ9I}MpRe#A zm+O~5jKc1FaK`O?Sa^51fT16E{0TJ$jO!u+Ge#=15)%+K2iK&4Phg31QC6M$K-3v? z#G5q?GBTD&#$-ut?z;A0IJnZZI7z{mGis;BdoG}TNHW6Zn!}~^Wyb_tp~(OTuDfnm zE3X6;UoC%DYG2i}UkS5;EU4jMwg{SGZAvaEU9MFr>Y06~_llbaAM*LN=cjOiH_g(+ zo@RL#UmNn(U*xd&=QqlM`UHK0vf1ivZhTvB)=DG(it%mvvdi~|3|TzS774tEeLVhL zkA(4YReuTp(f1OwLZW2%`s5za#$0aVK1hnRfZqt&Jv=dEr%{%7ZE2@DPhBW@yi#pFZvij0+(;u zvh=?M<(Vs0ROi({_b8XF7_w25g{M?RnNORq7OAFHhv*kf*s8^6ix{KBXAyrEM+b36 zaV$=h2r}iq_r&<99|F3pL>x_GCE0w7|HD9T%7v>DC#}DD_W*$_1R@!5$K*J!gWuqlFwczU=a&*J!y#)Y|Xb6lFNm9a$hYHapk z?St7$)Y+G9)hfNbVW-M=>CrA3y{vxh1i;4!UmPrVfLE-@{z%cXE+jl#n=Dgewp%QE zBfx?s1IiE$r~Z6S2>pwu7v;~#1nDlZ0K4ep)eqaHkSgupf_KoWbNZe-pk1G@un3sS zm%UmEpCq8MYH1o{&cE(nRezuCko9qIZUr78a7`j-pa5yEJj{H0cvxe)c>E;qSR65E zSfVwX(N!FIKi#&-^>KCUZCt&XUGTcxEwze#HB6t+@QLVph6`t%Dcl*kv1xH9hllIZ zX&BQ7S#bR`!`*%4iFGAnRs|&OUI1$$2jim%ky`neCkm#1kf$z^SF}>=; zc9RdkiCqxxhN&S}YKZP13#ASoI&QjagfwG#yBkd{&vBJr(jvOhrjsxkNRUb5^*QeGc8z9+wAZH*{V2~h6P&SW2Dazc)D5)~%O;=ki&n^PE(~dg)Wr?{m%ehgxf4NU)Ku3`KFOQ|Mm0#ZAmYA#-*`CV3L58OO-6j zwkdv%4K^2%vXZxGL=d({WOiZLvXkZB-w|Z8==_AT)ZPH#3e@>NX4l6aa(zI)CNQLD zfGEEcgmQ%-f*AmHmIhGKD+F0VP*OWsH437jfihL(dN3$qRcZd7h-LKY@*|Afq0#KK zzyvL+8>QGDIo=Rdl3S`t5$4)5W@1UOWU#MN-E}S)psW4XvzUek*$$W5BFx6 z`0B9lG}HzZ))$>3F{*rLTJpQf1QOD@?X*~`ShAv@1K z+7=)Wv3tOn0?Hl^G*S)xYkSHyrK?)2%_EH4vp*Rth-J6ImF7Tv5$_pgg98n3u6^z{ z&kZ2K72P|V%gTtebG+%2GUMlnd6sJOK8)me%ckp>QI&31jV|^X8YTM0^#vTej!TS3 zji|aIQ_9!sC)vL@s`IIcvZS6Tz-eud9j7`A;Ku-fBZ~81g#DBts-VJ9HBM2bM5f67 zUh&g~*SCVmk*OvWOPleKOM@S`O%`45Lig50#!#6#=BYd_c9}|TOPDd9SN0Vq^9log zT~JyqtyQ(tO2o^UzW3>XtVYx#cf(Bgn+t^;0sl*k$Hl$D2Ph`+6oK~Q@IsU{N&P*l{Y?&zTXcRt;-q(R~NDw zH_*oe1K5mmvOj56FuF9QL>mQ(Lq@~rzbT5qaWv~EdLiALE-T%NIp}$A0%nAh4S6P} z;~WUUGO(_DsmbUNPge9a2cBS1)3+NSNHjJ!exd{$xWdgZDr5cTdJ=%B9UmU>PJ>#7 zG8r6UcTK?^&zS0T&9Z^Z)&Gq zDo)GXT(!*T^D6~fmesDj8W_`R9^MtlJJhi>Ymp)waiAmKH7X5-tLs3u&}RmNW)0s( zHsC8AkWAlYWNXUi___8YILV4^E8FAgkQ2j0KPW>TNa)s0dsA#s6jI>V8^h@j6rWS| zh#F$xz+1_x$$U2#*BHIyF;i+mfyOavatySD&Kr-R?E2RW zvQfN4z8SOHEbA`8E^*!73c-t^oF(5W`Nn1aD(R-(0`D>H8*lA<-mF0dhKi~YVN3y2 zdFCdhWC}&!OqV1NDlv02H;RIbt@X!S-^M_0I3I=)0-3|mLR*~Iz)O9pwckYL0r>Y1 zm*nTG`HGP6yGzv&`JaeDy|r84)ElOm6t{67{42F!yT;&R1jM>4f-qK;8*V%vy@dq+ z9y6x$NSth4=BjgZc&9Sa(RE!9U|ENB2viPaAaYR{eBJV3rMrnhu=IRT8T&06)b^)w z8LCXBOL-SuA69z}o*&Z=85wVmz>S4bWP#P-ea)>6W;ruw;1+yv1!?(NaOvT`#?@O> zc+~kkr|^P@t(4Ty18=L<0teICy41CqzS8H#CTIrP#xMbm6X-CSv z`k`Bcfk<(rkstQ>ML7l-nRR~4JlbmOA)C@kR7#^~_?d;xapoX7!CGEK^AEe2(c(bg zc?HZ$kKgF4WngA;Vrpp*e~wprx{6=#zTLc&f__Rh-FggaG7D{+wmMU>uPGtVceCP) zE&30*PeC3*C3^*lfxJNdCUO`5P zDu)w%4AQJbb3KI|(+F!F#pt0R!) z*ci>SPnK5JYh1hMh1?VIT2I-^q*Qr;XJC`%o86^%4jnj9XaieYiiVs0(sb|CZ>YY! zN70F8(7MJ96fjNL3es)d9Powp2XOD3>VbJp(>EB=F|Isd^b#XWc}|)z_awPSLnV7n zx5!HUe7=}Q-*#=O{?*p^vUQMOi{!U(sLKfB0aJf8PGveOqGumrDx{4hLZhnre1uW_ zLP|Wd;-J63X+q`Gb-y_EUjZBNR?v?fpqQ#sQ#T7JqBS3#OP!jAupk^;jDbnpmMhUM zblBA(?InVNEzj3cnFI60!LB8+&bmM zURmBHg!6(aXq_#yl@k}wP}o%?yL+7pmft7}Ig*}FyhodLZmDzP3ODUpk8!D%yJqk` zs%&!HGMiVJo0|4(k3O%jpNAK}ZklW=aq01(y&+%L>HcISXU!ftzbH5%vZwarmX?Tc7ty zIoA6(B1ozB@H|PgtTV1(o+Sa&$nfrtv&N~3;DR*if2D^HT)!<-CS^1D#@eJVez3$A z2Ust=cD<6~TdDD@Iq%e1egE&_+lz6ql|2QOv(J;u%>6~=MoiAQ)9%qGJSgj0K9sQc zOGn0Qwp<#y?8I)?(ECmiWJVuaHT>ajWnN7SZLWMU-Pn7y!^nMKmVLn1l9lukWn^mt zB%SiLGQ#ZXfk!sAS4Br6PU2HRf&`qG(m!`}EFs#|T~b;$VzokEJ6j(09hOoyKAM`u zv}HM$xP2cq!(+{rO*)&HHeDet%iQ=IhXR^fD=1QIGEphUkp7s)($nB9J2PkwEUV8e z8jc)aq#pBPSKBQCc7Rz~8F$SQX`9p}af7VQcJ<7R6}U5&9S7~aid=o(WqM% zOsJuS^;%GI6N%cr=CEtwrWVy@r>ru(Rq!306?dj0Q=d6xAmX(2%@G##mywksvB->1 z@pj5{8^^LMQHW;v*!xO;r3#6R=#8f|i#KLa3hQiS9xbCW+f82yOlIO}xc&OIf}GlK z)qZ1Cr^%=cxQ>&H{z>AF7q1HO`85fPt_fNazyr1%u@DSWY281@*{oImrsv#E#yqD9 zNp%i&zCQY$HXk4Ir2wN&+whe+DGo`EibtcVL%=E%MYEls5!1u!#x04zfS)WS6W6jN zTGc~-X7+;2yD~dp_W@c=O1A&CrA#X}?DDQ4-Kil+R7z#b-Q{oTg9BQzYN^^O_VD1m z%*x@f3oRpM&MwY$o5AT?$d;s*L2rh@lcKGtoQr9^d|ATSi%vtDUxy-VWhKij&fWZS z;5Jl??GhX=aMHr7>soI{sPR)T+p^T`71Ao^i-Uo}_Nj-} zFS3!7pm1yLlfHf%HQ>=F1|2vzSE+}j(Eot?FSu*8<>hpJ))*u3;A*F@ptCEY-p*em z)Ihh^o#&rtEuIwG0V{lUyjLuyqhw}CS^Nn9+GgJCT;_=cAI^5; z`m+RN5_@xyuSQve^vci~ZJ2%WjqCUulkfN{xDTAjyh+whPuw;btIP*~Q{B)m;{}zB zs)=`Xs+XXsFt>5j0?3(dLoNT(lmC&J`5%y!{qgk51~UEI-t9W~$^Kg3vGY<=Qn?uk$4tf4gU`wR+Xo}C z{UZ+rD|jl}32=t&ZfE1E7wZ9nEe=%@eu zmj4qT+{=q0*T6l;CC#%lVXQ2j=$28iK>|VKj02X!-|FMFKphNZA0RvjP9%bKF`yMi zg8JCBhL@Oeo-T%YTs#)w+`OpuP7W>t1VT^PICkwC4mQyky%n_vZVY!|N6q-a3o!&`uF2dLw?k55%CEm7 zV!8Pk)sdPjsQt-m+iOHYzjhx+H&#=U!)`+8u$KsUilS%FeqqxRa9^P9z4;u(v>o(hKlcpxJIQ;@v>^7ZE?sET1E>H(QC5MVcxeEs+ja?!sg zE+YVMZyNX{r{!pbbs0(KoCzBX$w-y5qP}*o>0B{^G@k)=k^HG{lohGgN7~jYBn_}U z^+#*vO7Km7P4g;N(q(xejpbrJz+9o51=z%jbD3-oIgC@;vD*Z6#dN^d%%Z)-W5=G8 zTQ~0R*fj;}NNIq9+5k{nA*e>*T%E0Mp75Zr*J0XJC~R_{@G%esXKkvi}173i)!ejPUPy3Gv4?;m|xpfZ~TO4prIMcJp%nxrdT zMsZ&uJyUah0jMv|LK>l^Yb=1d@NZpL2<{L-*AxQr!rr6egMUP5Er5!Cm)7d2>&|}g zEo!#_u+ZX@*NrtJN3O!h8f(5*Kq(=@oER;J*_9?;cV86{KNLO-Z1WsK(Ftbu3z>u$3aQQid=dbUtpASnp=5OVjK`;^e3ERVcV29I9Ktm zL|Ecb3o@dChCyRR-VTdZ<*oD%B7d%%8IDdLlJ)X3bfYd_P2C#AR>-LltH;#ps4X*MKNRV+IsKeoBLW*B5IMucb&M$IK zG{Y#cbm1rSYhIaUDP6$V(Ca4;SfP(~0(M<@M9j`Tj&;olrU$dUErS9Gw;$z7E~jx5 zjz5D1xfap^9Se&pzl`o-J}u0voWH<2BIkIqFWV8VYw&%!J|rT_9RJmaaUpA(&6w$> z!-PrReheQ6KGG5$|i%f z3c@&Fm<*Q1$vz6b?#8=Y2Q#YFd?DU-g7cf~c4{r3k9t|nPg1lax(gn}3hLFeWl-^O zY6hU?gQ}2c*CU-{2NtZL*gFA=Q1lXfi|SA7Lkq_p5J?_u3Ud&HVwrzWydh`e`S~6y z-CzUOxl;zw-UxZ7|7)=ohZY_P_C5OKD&YTWdfCmhO3k8bsFoRnn{CQoU*&5)yaXlw zftXj-(8@e+Z}kaOPlBzyPegYVCr+aYmY!brvr%cEe?VSQa{2oHI?sKA2WfG*m8_z4 zhZCTg1|j&OmcjaH9>NYNe6Ls}PLS!<1arlhg(VsRANHs5EkOksTwC5Bv!J$fuf_ zL2jx3avi>Bd728iJ$p6SfVOT}=LD&Fyr@l`n1@aLsMV>PJm54g+w4n*6EN`z1o*R- zbKT2)RGe_XBd!CK&Apw!-GVzrT$Q`X7cbtz2ZQ|6exF~-Cp7QK z%lm-B(z`;=%yQj5lLGQoogn8qrk>;hE|IMG!otGO+47tZxsuatB;fnKKfd#@hi?Di zq!#zd?a1c;>8hvgmUb*K1UY0OH&(3=DrYz6pYHwZzXmv-ub_f5iGkByMqte;YDhh@ z9FJW4w}?n#M_aH2sWnKOQ(^~RwZW^Ug@f!r~4)!@Qa2t+Ycs=`*?Zi4{*N2ZAWe_ji%U= z!EX?sP7#z#1viSx;;qjGG^zOMtXx||KyBHH%NboVWooas3(Brm8~v{s z?~!39tlF|Nfu^NA_rOiP4C97CclXiEe!z1In@w&mYg`XJQdquIn|XSjUo-Do>2QBC$=%NRTtf8PVk_HMX#Za416it5nmyYgqjjr zHLC$Xi&%Di(+aL&w&&u{i`gqe8*8}SqAtF?&07QNQ`wCJ?>vMQ$7K1wG3GnLz)nG= z-O1yzfnL+M7=grf%ZA%6`RO%dz?+2Y?i^k@QOS*}!0!oH={;?Ay_7L~G`%zNG3OrsPH+^u}+dHv!8!1zisoUMIbCjXQk)`nk8+ zt!ryfdv&BC*xzqtKnn+`aGwhs4X?^Ze1Q$&5N1J|rVf>zg8M}i0h%^>aC)sEq{fo5 z{3-+^6)H@jeA8r&K^Y&q&nk2XMizmp)+%yYM=A?aHyWjHO=R!k`MP;&^|2AJ`zP!X ziF$mB;^6M4m-M$cD-z)w1j=bT-A#*+QhG{P)4kJ@$# zA14=5cysOaz{avr;Iu)ITNj_FXie#SE$6gz^DA##!a}L&Ro@xWv1j#BW9sF~J<)QT zCJT-9%fNRi5v(+d$<#Pcc&Bj1{-hLP6?sDL9k08lsC6fo9FUI4x@7GXGVM-vVww1n zsz;VG%CBy=Qt>Gg7HNP7VBEgqQ|SNg!$56_i4b!wLt&(@IjAXE{X7WYw%*QBTDJ`C z(`C{$=*Ua@2gJ@Rzp<^d?=i`moNkpE2gsEu$Kl~Dh)88dh4ln7qb`pz0*6<@Ba?L? z%)_Q}iYu$)u#5BpMvIH$=iO+r9%#t*wRhevkbOA2reoYOmbNUclC`QXnR{&Tz{3N=zB_3<*tv=6_+F)& zudCX_CgZ|u*G^_`(uzi?$WI!6#v#zR>+=Ot15LdGjFI8qT`{nN%>jyO=I!yC$93u@ zx*7te(OOZrhFuzO#)c0R5p|Q3vrZ#(e@N=Audu0oHx=GSLrbQy1!|%PSf{^11j~>3 z_>2}0B^@XA)ZjYGT!T75X=-XsF6691W_m|S9bK9JnK5&~)Sjgo=uY=`@TSD!bF`HD+%#{S0Oq(|311sdg-=`?S^A63f zlpVz2)L(n1;h}SBA^xsgzItIUus#;RQRHf?3+nxRi!7(My!~0?nHcV+(vsN zXt=!7D-hIm4Ewci$>Do7!>>xI3PeYR>lf&!?u9H z`sWO{hWy!ulBU^nyes_ZC_+(oKjSshG+W6o+;LcIth&;@YxkxcwA}lXQlsq5S^VO! zH9EYTH97Cq$(DV?gIUdE6lq?7B}Hzwlis#1=`BllC=xc46QZ3&{=igdOxM5PIRBZ^ znT&68Umq}I%zs}tD1&|#yy`m^ajAAe%_Ykx?DaMKhj=?VI^IDl1a~xj1>AG-=MSd| zsVZxDjTw%v(7vef397z6hm?dQ_qS-icBp++jf7*ezvD_^H`h(uCx3$p=5iA&Zwqd2 z42f)8a$_DV?E@6qQRq~SDn(&eqB1NvaCrIYVX4!?D!!>kldVdUFvMa~H!Jm-A*VZGA;Fpy5%PwqG3kujgvd8Y)KfnXif&r_>G_ zcP0k?v=ezs)*c(id}}#6Xv$YVetq~I{Y7<&C}Qo-2~N0vckZKd=0a4ID(cs~n_?gF z#SAp{DdeXdSg&a#K{Ljb&EAeL@#v|tmvsI8nAxvt{rkTz|D5&f^iidpBzSJRtRE%5 zvHQ6HM_PKiM7#yuHy!!2Q+uG0Ibu0~|BZzFSPeV_C0gFP^dzlhYE|cGmdEI1>xmTK z-9A3a<1d433Hu|a-&k9|`|H7bO}y0_-%w*~vRJ3Qw zTf%Ib^r2%{ag?o#7C)mAFT}6$YqHKT_Z8tDyW???VE=N_W$Da}JQZYA4X6R`YsUqZ zkFC&FMr8S3D)Dn?ha@8!3W=d)&YV}O5&=pXmWH%m9~W6{!EUt~P>%rKFujSj@@N(s zWyFtK8Qaf%B)jEW`&C)1LY{tnx2gs+7^OWKf%u)&jb&|lUK?C11nsEgp)$9xKP>R^cS|a;n(}_%Ug=C{Gv)S0_M}M{Ifi`h-}O+9vnL)0 zo|}KW@h&QEt;sTTMshn8`QA(D!+~oseftH^Maln!-U}8E9_d=_Pw_h0JTW0nH@3$Er$g; zkYg?18pV4n4iKT?8~4TAg2^xDchB~f$M40|6o&yaaaUs7z!vIqZ~v)Sinuo^hcxW@3uI~86B<=kJ`Zq}%j_UpaCfKh5|5Dh5S|9+n*_^NXQ#Da%{QOVhTHYX;vXw4ydfxr zY=fCZ5yXMN^KWDLS-f!ggX<)yhwGx?ln9C93| zcL5}&Jwq-3EYwHkaHg3HbGrTh_fjy!NtU7c$LFOcd#$NSz?7xBbbPcc6xaK6df! z+0RV%|F#SNuu7(O4ai(Hp+5Rv*kC2X zapk57LCJF{*aEkLUC~D=BLlC`o@RmSR@~kvk``;`wZ7!@?bgMoZCA05q}omT!|U~x z`LjRxLuKyO3HLID>{k>mPp=jpLWoMP4=emtu(2<9VaWk?(0%DfhwYh!K6n~HYbLm( z_^AaA-!zaqm5||kmn-a;e=@lnE86QdZCQa^S}zUApDOurx2c|oz}bl)TaAe7tIvOeWy&h>*TgB>aEs5UkVz+T5%8>ZN{rh`hVc|4`-dw|#yMJgGHrF_EHvq2n|shq zxs$@p?`MSM{on3YIn=z>J<9#u2^FH1JJ?k?WGGJtz>PN$>;jqbL{yW9vBe!HXDi#~-;+}@5%lDTd_U0$)+#+i zlBFY_Qe>L4ZyML>nxH8oIaKaWrH#F`$yKOJmNIsq*}HWX@&BFfen8;Kd8S7RlC>Sr9_9+*FjzXM&F8_!u7T?3VHc@^}9ck4Mt;Oe6O0h2l{2iWVPB3tjnEXe?e+F8>gO= zo7CRAva&EDPQdi0UT|$qT$l+_X4d@r`FI37BBbC>3S-=$Y$}8<#d(bP-4vfn{SrUb zA19VrOu@@5-^T*$-CIn7 zk3G3mVOxLo)Y=9ip?l_9UZjK{mi>Iqb9xnj-*0+aklSS1_=x+@YMKGt<vwd+iNZmqgZqT4Hm!Ov${wm=F!zugu`fmZ+*3ygjI`cP}*Ywu; z7>&_&l=^4X<%_y%X{U-NpVxNRcg{s#3G7EZtTCr~Bh9Di$;^g>2$ z4QVVarc!%bPk1h5!tkv>BW(;CHh#_y$mWNYy}4fQwt0Zv_Tk;l<)6yb1&@nKzNQUn zt5<#9HA%=%mfATzM&!w-67yh)(7yFH`_|+{HLBsRo0orzxR>1w)KDpkJf;?TyU`ue zR1k;VAfa=Ks~>2p9k|W0sLA9sDpz|eE@$Y_|yiTX5YoXa}dJOFGhEt%r zYBqJx)8*rzXQTYRAJ=9_uyu~juf#U6qx~B_0<#27WbREJTy?QW`^@4nsIb#n;c@Gp zBZ08~mC|5Bb!%Oo%Ex-X7aN|!yhrvp=0Wj+?#UF zrJ1Epbv;&Dwxy0|_aL`UviAu}$)HvJjOw0^zx?=4*1-75vbrzWqz*y}p1>-X?fjuG%9v!{3SVe_O(_fBu-MQ$za?oTgSY6U50g{@r{4t04l7OY6 zthAr4ZI~cDe@6sPyJvKuJhSD_0`Z-mF}YvZ7D4mY%g&rP7nCj=AvO8sHCWN>!sz3f zaQ~dH#Ei)U9uCwGgIR9D+NT>DLaYqIE+8~~Q-a(mC7yF$jdeAto*tduYP(%0);+%! z3yvEC_QtJ)XA-8Fr4wi<0%(5)(wv5Zx@dKZ^2HQDr* zEV;%s2)nsD^S!m;GP{xL*9>IG4HH&Rcjj8G z<1iZ=OlU>PUz3Q`Q1h0bFU0aZ#XKV~h#ybt>AbO;^Qbzaa93=6WZ3J}^VS2An-QG@ z_4JQ4)pG|~VfkjO>2hoXFX9`a%-T<@YxU>TT*pHT6x@2 z#yYy*(eX6AVeb3WsV60Vi6C{g-gV1?)3zL`io{@-x@H-pRl7cvPuh&@>REm9Sv}ZQ zynSqjQeLv2D9VI`lsC=~ z*4(uF2xD5o{}(UK_as8C=c>7T$9%mH?wPN{*6NR{Sa7+)L=n4(|MLndmCl-7yz$wU z<+~-8{ePX1CsNvif5d+OsCC9UufHTLOFeA)$OO*CM7k*c z`%~*ivM8ft5;>jJzTUOiZk;3I5cu5fEHQwLj;mSM8rrFFS+iMGxub#d|Xcqn}6wOsEK zU3z(Tkgw^v1A_mEnNZ!B!MUQ!ifnLtBI6dMhpO8NuFYb}MY&NnxeSq#p(V$Fk+UuI zZ$`bdP1E^->wHf_wiaK+R-Cx#e{})7dfBedx48ix{kc#Ortm6O-UbrG_YDlC8LyqE4esRT7xMCA6O@XZrvi}+?~>oNdpEI^BG zL>z=`uh$8Jy_3cEyblr-zRpP(**5y?VI4VLI1|@7mELPMXtU21Z^(VW6DX89r^tzLS753 z{X2e#IEdqJ!6BkcBWNgJ9Np%(a~VDM7~h5>|5>2yU#N3+DrY*kL?TWPYy*=^m<|-7 zC3hqw9-LMBX~(v|wenuPu&RB9uA<-e|NbxZ!~S(RDRjtmi-ChMfQD2Tr!Sf#@b$>) z(;T3DXMi4PQ_#D7Br_B=Rdxc}%1oonBHLk1uaLOSJnNRdq_}-lG|%NEm^F zr8^*b8ws1juMU?v)YZ!h`f+F!z~-mqT5s29n0Lw)J0qJ zL<8@k3@j+{SGu(AlmawHPHQiama`@P3h6DmkRmPl6} zzw=Sa4v+(CNAFC=CqtmxCDXytS+)Gyzu!l;EHuuZ0kEvVDRy)Mlxrm&8$-hDT@Prl z_#^yjg&AFdI8Xp>jj9ZqF-OeT5Z%6gc;L~hI_e*LSms9G1qi)iMzn$6!Yc3{sjLJV z3qlwDU+f1%8m+ z(?Ju+pbQzbC|C)Lf$(zvzDXT-ZPHHI5m*$^H{H-yk79S1UrD zdJ`}VOx2Y#hr-z2DW06Qm+16KIddqc-8fxF3e*M_^Ol`-W|vYdv`0eNpu-nM8q8J; z;>aD~aV7tt4tRy~i>MzCP~#g={_|^=8{b{Ah`D!fV_uR2NntnOo+0Cjr*uulsQ#=l z@^fNvM1O&i0AR7cU2|Y=01}iEc_?yYiC_V!AoG-R_9##f1T~HM)rINpy>YVXF0 z3Y7Kpr?As1+ zZ2nbb1WLqufQI3>*#oXBZ*na@1nKjk%xsYV#Kn_f^<<1jGVvabL`_ag?(W=a-)l)L zYfdeZ4Oq~wfN6L~*<`cum)z8$@Zwn5uM?(X%LOsn4wpn4bNTo#)*xyfK(nJG&;a?~ z*m~y=^OOZ!mO4DK6+|_U+M@iOy;^LGEk7%XRRHOUi3r1~3!EXoWbK z@sd6462OHTC>5V9T3Cs4LzQQ*3L60$tkJ%9Wz9pE%gr?xub?!-%E3C6=<_7Ow1i2i z2*B*M1ZN6i%a&*EC!xsVEABHq`sLD{oZPeXD$rGpAgU?Bj|~*T_AN!PR0vB!02P}f zs%hS7bq zgj$ydOe`^`LL7F^PGX{F!Cih>f&$-{jKbEe7A8L1e zFqxXMZdlppGjd`(yXwXhd~drc?BCN(|N2?^kBsF1OllyygagH*$A%ngDab;e_B3aO zdk~e++m@fOzP0_cj(s*2&OXft{*68H|3xhFKfgd>JvU)e!t^nWZ9ebtS?a7E@q=Ep zaaoqKf`-sVeSEH>g>y9gHFoXiQ&diB{+Y@-G2G0^yGZZ0L&$89XxYK_IAqMMu9J`G zEE_MZ+&x!ta$i6N$~QdF$;iyC#(oCOBx7#-tFC+5FYMLtYtKTGXE7GKG2f2>{m>`$rIdqo;-8;>hOT1Od2I>ndl3omVM3{>hV zHn5&M6yENCwbw+qbcUOF?$H^=iuNk|hOe^<&D!wMb8F|-C*&5|f`M4aS=(~QWT1O# zfdd^IHx8V*_$N{6e(ohJOq66ZOY;;`ELzEGrx#j4T?tY-kg(&B>*|6QRnDU>sHx*u z*mxpHKXz@bwRX8$XrBd~=H%z|WPL}~api$UnY_hK5ySL@9=h`r35w00Dx#Td?5n z?i$=(0wlP*JHg%Ef@^SVB)Ge~ySu$R|7Yes&rD6#sW~5js;1e!ceD2Db>G*ue%BlZ zP?bU){`E&dPUFbRYw+0-o!l0`a5|V9JRRF0CMxC&u(1KX&`ffUb=S;hi(fZ^^Sf+L zs?h>+giZJKW(zqTsf~cU)2;TMh1qS0wM3yKgZFNr$Nt-?*7vM61drqTSZ@0&K4w*>L{=3tiv1RL6UN?K_v#rNSvKD1x%u4Rs(dtC zLh9u%Kn6_r2<7v~UC+h`t)#}MOHOfVad9PVR|D8R>v&YBOLa-%^qc~W6@RTGml8xt z>OjX1uoeP~JFdh_gIpJ%%)3n${+`5F1-bo#(Mz$VWbGxOFic|@M{?8j6mYeF=W`iI zV>>op_<3(Keztlz);_WRq3GK2F%07>!zSH_R)rp@ILTYbprec4!Y}K`MF=A z+*W-|^~lneZA=bo-wuIt;IJv5jwSaHh7LM4Gg^`m5)M5^?uS!C7eiZuwR@g-a>f`! zk=tdPxZQK4#2nV>t!sh(nM#snmF$Xl`05)2w=PSwuDlo?&_MaamooQx$>KA?=+)#D z+DXoN_oU6r{C1&e=oa(YwY>3p79X?KlMD{a9o(U}o;r&@Tvb-eXnH2G@-Hun=-X2U zBMBeVJp=-FVL7uENkXp&u+*njcx6&f^PP*%1_6TWX3w`liCU}YsA@B}_W;GKJ{kt; z=30{xfhH_{H`TNDW5j+q;dl2SIE=V)f!6^~!rQ?gSAEOpDL!i6>oN~&dftZBDwQgV zzvR-rXOJ*!JEW9<4RwOOMx}X6$M;SBQK#>*`&Ut3_xw|Ze|4zC9w^JB0K!sRIni0$ z+htL<$;biH+i3pVREL$tqy0$#)%Cao{y1OJ^-Y(aSHUrt?oJ8C(*W^$?_qJYK{7i=IH)jkJrf9d`Vh=0*;nahRoIk$g?|g!Y79S6oevQtogV7HA z5`cPZSFJC9Rf2YR`Y@x8ufueT@T{%lFxa9n=6tJ01TdEp6|5=F;eKf}au^DU?Fsp% zeOLR{ePFn%{m{*eA;UYM?PUFwgI*Kp+%fbM(9SUz)td8@yg8q)(PewGt1Z=8;{bMq zb@C#I9<%@K-}NV%4mZ!g2TWQEr2Ln99%y0LFE(^ornyn%mADlDRgp2R#-%xApFN(< zSR($KJ^))qZk_q0PG#$_9|i{Xs%7dtdM^p#$OjLz6%OAv&bNBQ2A7iO9Icx&IlOE1@?BSvqUa`*9ID=-^H;qoi{6ps=4IrrzlDm$@YY(5I%+Ku zKYA|}2nuv5jE?c@@_X8(02p7PH9~eB0O3S_zv9%IS_HXx_+6;LyV$#=+Ny#cI3!1cv0detqaK>HH4A98Fyuv(5h1!wuOs z`ENZs0`5_ZEUw+2lyOjkOE8E+UC%ib@FE>5)wdiwVV=|>|%i;P*kVLy&i3(%=Pk{z2>+D1Z0zC zDsu;1t5=+Wk0X}zU#}7FOqIpkTx&y+|Je?AiAqV{$x03B#XB2sOGX=T3=O7v;#zc*rI=}4H~6<)fc(>X!Q%~!JzFjL$9XSF`> z{45Wh^1t_oEExD~_FT^Gnst0mRi^-R8jF&_Md*627v7`y9Icsi9}e?r>*3WL&v^^t z7`o*J9K+MpRTDa$l8U$wyEyJ#6;?{oc-l;O-?t7Q@ud@*lsl`LE?Cynqv0x0=x{H2 zZPGA(hh$~b6BL*0MNSoMLn5!+)qu=OJfBbg_Hb2LO;((Vax?xlZQc{K zRB22T%0GIUJ)7O(Pji?9B)2Qq^*6PDZ@qw=m8yzl@t1!YW;i5{=3P@KbStmI z_tC*{V>abu06aOm?s^XSkF8#zhsRkSmZTN@iepNNIIB}tKr>t+1xx9K25*We~&!6l6mg{Wc=0Y<0hcdKbc^+ z>=kHF{X7KBo~teg9p7X#EN|-EW=-jw)M6Q6aA&ZT0E$@qk(Ny63(cq3q?w_rZSrWEeW0zuMb8K!rhS z{41u4aAn2=dj|dvinBYesrAiYhb+L36$8JPe)0T8t}CKRjS8F|0R7V0PB&z zrN{pZkN!U`*Y!XP{^QH;tcd~}_~#e@i^}Io0Oh`~dj!J4|L2EdyGvhx$7#T(X^^=KJ zl#Q87gq?+rgOh_zScHR9=zoq%_%I1XCCL60m5_B9X7u5M=;VJyC1gVTqKnP>u8&xb z`L%uK`sAPE``#DlWz*6gaQ*XxfGNic@HZ4KFsU9 z$Lj3z^fU`kD<4a1=d*2j=Hb~<>HO_cJFG4Sw0~8Hex9d*1${w*v7nA8IDRQS!3=~3 zA}zF3ll{-0cd9TXPyS0q^vg!n-=gds8i>@i(22IYg3>z}6z=VMmv$mLI{3O9ww#E~ zF}t1irV;q8UkiNYGvI|6(X$`2wrgxqJ2+@CopAngCt zT!oo0v=?FX66&i=q0mMo;-`5G*qf%{->{=(om{#S)9d9zC34bxE0f^1=+JXs{T#F1 zy6C7jS=M`aNe@!cQUhyV#F=PxkvLc`%75S?kd~$~yvx9-w!c*?E-wvr<@OJ%i4)<> zoj!ce4K$OJ^rh%SC&7GU4UU` zs7S;-&5Mjn1@zQ(oZ&+?X^xm2HyQbt7@ttk*NcbF{1%w6sxXh*a03F7j_%-7SfpGZ z;o^h95%^o6Zw`_q+JzrHz6tY^ed$x)d^&6tFnk;u-N0nq?jnN@vE427Vh4$h-NVp<5>DU$WLCI^(u%2sHn zNMO~CjOM6pxRlN0TDa6zE13w#!roz&@qJO0Oolfi4>8D9b|9X3I$O|{1l^xGVc(!+ zvnrMt7ZfTG=PzA;juY|kfl0-o+QGFNSx0Dh-w~Q0vkGe5%6rM9sC8deqr|ZGrp=aU zvY%KMHQ$!95~Y$$)`}Z6UPQ_imRwvcnW$IR=A^BHgdx|tTG|r^k#cvn3CzVIlcv%; zU|Vs`U~P$rxFGQ8hJ776xVPWzR-K;_ZYy@2;ON&QaoRZFhz*dpiyKx`)I{hl+$9;G zRiL3(s~VOt>D<0NKzP;o=lUB%J+(-s*$fvli&8(P8+z)rG0xI$Tx5mB4vNo@9yA0& z%t?#&?p9m&iYpHAqDUpHV#{&`I{DZMSkg3DCqlx&*xh)jeWz}&oz3$)zzmWK6>9lL z2W?&*a5PnK9xJ6be|i_U9A@D0bLCM(AewPEN0WphbK};%m}Y$6L9vG&l@wG$1+x33IAyB}HBDH<-2JWV$Goib zz9FG=jhN6sC|cRWMfZp$U+ON2TS$DYR=|M$7+4+F(2^*T`@z*eY?yXz77;w|5(QPA z5DJ-44{Krbsi5I&eiwMm^YYnXb3|nlFZk7hsuQMsBh7iSy4cC)hA1VX_tK4YCI@`V zcMK3QCb30n!YgUD@L7r#W+qX0Jvr16TX>4}iwE9p)kRrb^73%iD%WUnqe^1tD`I z`HFSx$)SYkex5;sr)b==b*m+)%(+bbl*pFHPDfJ}$Y#+Pvk~K}IPGk@F5SdsXKYto zBo~vJh`8EXr@SgK$`EPnUfyjw1ok^T6WrqtGuEWfdKI&~*J_m-uiF0FoZrVpl?@$p zR=6vRqy-U!nuaEk5PNQpzv}24ezAQFvD|@-jEX*kpcfTQnJ-4!RY|Sj{U{A}#7D*0 zoWi~#NFRAw*%{-*fKqDBP4;&Dm%dQXr5T%BVy@3|25k%5{t&?$+pcWCBiZELwP0Z^ zlZzwEO3e>k%H5Xg2ia~V#ga{j!M2A7$9%I^ndG3!C@3b{Cx%+YO#GO;gaaP?*gwZ5 zriy36xFXhvCLDmWkgd233MU(!5LG`vc-GJbwnzV*FZ&5w5cA8s9)+H+fq2rtaoj>G zEYN^rxU@cfa5(hK=1^Cakx<1YpUUyqbq0Hwt5{V#j}@(N1tm9r5~j`5+dvk8G@3JI zlSO@>7Pb|zzIl9aEM~h;%)C>A}jY5z!nmeY*mH6<# zn}U4yl_@WeGCq4MK=sdjKPW80)3aY*+OJnCN`XM^;1*l{9LkN*rbQ~36^$UR!n=JQ zD;=#0%p>X+n=B2)etzNf5sAya+D|2}#or$oxLM zQI9>ITV9hiRCE;z%fnkXs)p!C#$90&T4BGE0!l@fSZ&I8jX_QEP)R$GcOo($T4)EQ zLMMo;g7k%LEkCaE&Tc7$4U`-C3H#ytM63KAMZ;ip^erSBt+}nWPTF8nA9(O4GJ7jk z@bS93)XJd0Mp_V=CLMGp2H1hErI8NYW8_N3n`Z@33I5iJ$`$0KkY7F|lE@uTslo;0=5_K4+wy12Kr3*s9Bid{ zM}L`23YZU&R*{9wYik3)JE1GMlk>OLuD+l8npCVtL+e*us{pN&FEuj^(Ng>X8}Sg5 z1*3&gr9R4{N#c1%ST6#j%UuA(JX-`t4BXy}%~v3(BRaJ^kdUp*Pp(n*LukC_BVqf+ zm}9GupoaxP_Tp+xPWkP7U;MZT)(m_wn@HRi4@R|$DQW2o{kN(qKWm71csT**h9q%rcb0M#{X~*RSjMc)`P#^h5?BFT zeS@M=uN_Kj#W;K!X4K(2KvO8eoXEoGFOYP}|5njza%^pwwcRNlK9LyfP#6;yMm@0J zrp$J$$iD23n@0<6DOj~$E&Hs-(O2W5U!zxJxYF zz7l($aeg?SS@qez4SUm5Wra~k^xhV|xeN9d+9ATGj_XIuvZ-j{tx+VDqTNBJ<$v$$ zSfKpM_>DNkc1XB98xnov#WZlK-(LY(X_7YJ$_z>X8Z^EQ21UGv=zs$0ZHnc8T(K zRG?g+HvOW;_MLdxZ+8Nlt5|wx7Ag^4wf;!23$daCBI*RvMZOK5(90Z_R5o}jXK=5tS5|iPcsgJ zO@4`Ow}&@XJ1IArT?1D>9mQuNmBavByKV28w<8X#MFad^_akIBsM57lkaPNga z$!_MRypf3_UWbpaOK9Hf=^ogX_{c^bN=k7X3&axLs>zuU?_Oto%ZH!txuTj6V? zzL%r`glDH~w1Yf)!>S6r#>iv0ne1;LZTMu}m;0YPjZF5#lJb!Y4sa5P`x#FDc76Wr zlX9#D_|mUw?o&U7E|xP2Z!otQKn%amiN;b&i2B9Et=qh5;Sc8H_x$xYhg{H{L^vgG8+q0%nciz5pjp;?$z(qXw%`1f5VfcR!XJVb zjO4$3?v5J_e+GwU-5l6Q+hDbhP$m0_u2!{(Zub?v62E+h_AO8I;L61l@DM#iMsS{) zrr6%I+<@=VZ8HS&hqweKmT`pr;EepT9S8nX%d2}7OQf-qV1q8!#^@z?C@6sgyvS;R5uRHTM$w-|FjWU>5UMQ7QOQN9)QBq3{kV=&C)!W>g*Bo^iIDgb(AxHw3yZ zKI24^CsKu1AY5qFL&T_?O-w~yK&mIS z{3otlnRmOj!I@t%{dP<51tF?j`QYtub485T{g1XIIi$rTEpJH@Bw3YxLqP3-B1gdW zagXj{`ux$5&{z}4rOT|^^3nYge%%j5!1IB=Wy6tr!Sy7rCcl`(?cs8Mvvhd;HeCOW z;DjewDV8w-1RR`cm*v5GPY2sxMu6IaW97;8&&~u1$MA&`;hW?;)shF_L$4tY;Vh`J z`t!44e-!vr6tTBJsSkrjlPh^9$3gKL$z}GG$Bn}tebD+o{bZ38;AF+qL-X&!`n@-z z4ePK^H@#i-5%um0m1D zzZW7?SR^GS^>mBT1l_*Kj1%n&@vg^BF}uG#oYMN;>d1%2 zM{HbwW!2n5`r*m2w9^03i&n0Ky=%rFZR~8!uu${+116oG*sg3+&(8rN#iKO}W?@_k zv>zy0-1d~I+vEJ6edpY)!*G}tIiN|_c`fR)Ch#v!$1&u1OMW3Bss`vyI~ ztYW3~Nq24MQndZY_~H!+cU&xawvP$1DcB)vnWt|bYIM-ClBe!ppTl2wjO8Q*Tl_Qb zXMWrCtfEy0KA(3a89O(|EdG*RCjAoP-yYOQZw+0U2`;zfCN#|-UTtE{?s%2~o&Rpf zQ-LFB$K|_*=6>4yOw7T9c87r}5{n#6GbVLxoxa^=)U+i~nU85pRIGhX%tzXL?qR0M zrQ^0rcFKoz+o1;h>y8IQR2PuBSjkw6`X2}^&S`8?M8i`CUJh~(xoIO@*6(TmQ2gnF z=|>|^!bsF(9^0qb-jE+@zKoJy&1Kg0QZrygnk^M)%19kC z+vhRfEE4iXTM?XE6sIKvk<(eyC&hL@K55_U^|b2Z#t2O;4}=-H&9DI^y!Yt3=)eG( zihdLnpo&xxUza~M+VK5ZsQt#C(fqeiD}0yI?(g119@!S)N>x4QjcblDH|O)pbv+j? zR8LNQ*Ev9bFKM@ zq6x9xvGk-zJjIb~+ReTg4<8FuwP5d#AD6lG=x~9ZKaNcP(p6^T1)eX*Ltk!hC<9GB zjK}bbCm!7%*^zD%e2F~`T;oG9Jrzo2xiGYXNam83Hll>!!6l{b>!=fi=H7Ob|ELp3 zNk7e>^>?=uli{--X2o#+mj@a!kP+|o9zzhzI9}EJ+o%iZsQ;_j_D!yYUTvH84A=be zI?yHO9=@5y3Z@AO4&J-L1|`F3zC3SY(d`;{SdT76+HO}MY3~Wd88+E}k{IjT_g}xn zS$p4jr@ao}g^nIP2ff`%XzX^UMD=I6ubz7YpA-IjHCPZQhv~>FlPcfEe4h^|jWw9wht-kEo zf?P8M>iS6Ybg_AnXo<y zQcmY3kR>2IvR7E<{!lNBSVHCGa5)16?9^40X_CMbq>+<6=ND^*sC`Pd?oFhyTSlAV zpAuEzU}V=KF{?=v>EqgAR3bL}`1*nMEl_$VKa*>QJnGWL@m6xvINfxP!v?&EvFi~a zu;c=^s2dJklo!dZG-^e7haBQ%A=F0>8kC;EQ2aS2YSeD&Ka7ULMy5+4t6afmAEz?o z!vYUjFtLMSkV<&PHA1n!$dsdhG9>?oonDQ~6d?;d()XoY6y69;jU*TbZJRT;Cf+ac zr=jKF1F`>?=Y6$xngV=*hwFAx3jit>(PFOL4@eUgF*m3F)7#s%(G{?{6E7bOc>224 z^}WPE0Ggu<0RCO_VZt_U$tQmR0};5 z6N()7AsIHa@u#-;x92*{JMv^5;rq2l8zSE85f)nj!YSnL?mi9E2da$@7XTQHia(ihNZwkN0h0dOyJ3kp73w;X-}&Kt|% zc&?(_^UktFJUU8l(t|{;>FLP}Fd4c4XP;y!CW9V4033^GhVLf+E`2kf zl&PShrFiZ}Ipdm)rWB8wqiT&w77C3+(b3<_mYvorjvlq^V^x@mTz+7up*=7rbNzfe z*$4{xA@C~V6{}zUO&i7&WD4QQYle?M+gfIwN=;p6fI;76{Zp%>+5i4{DVMEoWH7=t zYh=S=q1FWMZ|)Q8m$-}!cz{ruYxGdcN)6MZ0Z_}R0OSopt>Ch=h*IaixpDdzz5yAufP{45}ljgDG@y7u0*9YuN^us+%1bh^ZL^k@ywq@4F- z?Hz_+I|T^OYnnnnb0*w(gb@o17y-IU3t!NnZY`1e@6TZ+2-c{cLMuX6J>WL|rKWS2 zlp8VYbS{zACEU05_qzv#+KYV+3@NM1{YnHXKNJlH(Nw5yOx}C@bDWuzn=h-BdU05< zL+r0y(^JYNGih~`p51Sa=5M^j27s?!M?<9$)`5T0f)s6#ubu!#<@t_#u6>RLhtrYD zz{p5}=U-o9fv2hJ1&8IehTnc3I3_xJOuZX`guC_l=5Y+rl!L>q_*tg2FO&cdUpT3D`ESWN>(RaJR~@@s@ZfsB>^ z8KxF0jMkS&p1&s99=H8WiBr7ChzQId?{BX&hrUBmnTXk5cQ}77zzJ^*pcm9LAWaGM zASdwZ*aUch2f%Y{TUM==2v16S;waL|fE|8t3Q{N%V?mfcxN9o;FpyPXC~@ceC$L%JSoP+1l&sk-bVI?@v2rEo z!>)0O=+;GgjSi(MFRyKTjxO}n!sF^sL>SkayWo}!4LXD{kX4z^z?ycJi z0_Na6_UYSil!o>JBjo^f?(vu906_B(1oDD{+;=ZrXjuSml`jAp5tNpO_4@Xh(L)|A zy@OsUXUq+4O#I?`i8wj%j;hygLF*Nr=xe7gQis_jU5-<9RQM>Xax&3?0e?1$yH~M( zOoW8_EB~r^JFvr|gRmEY{=x=DXjOPzXstSe%oJlCNW=AAuc@*527-2cqKGPapCJXAUO@clIN6_kw0=YDJzPjM z9i4!B%YSu0bBlJlxPniIpW&yheAUssOT`-xlvvAx5vW>%Ss;qVFX|-kY3(UCYEcG@ zuS_+!B)Fn~vs2DWuOt}IKvVuYQw^>M5>`wX4rK6b#SI4T^!8Tg9C6E=Wl8gA`V^iY zy@poyo4Y*y-Af>LrE@*KVOk~pMXv}ppNzQx`3X`Y-r47(PI}Ad zXt8K9>pCFJ{5<$~UM71^4b)0A7b3f1h}dX2$ls{+QsA~lMZG1+nWPxV%>YET;#tn{jaiEa7_x7ZNH zn^&_jRs=x}T#L(@AkvDtmh9V@7r^r<+Zcw#`|Kl+6386l)=IP$Y& zqFtmchK)~i?sL+B=j@Elezyh7{8NSIuRRgJjJl7m`<2(X!bfCWp*J*IJHG}Ly7=F` z2wtjxX}r@hje+qkfA4HUd+MYL@DLh4x!6xqRhjLq8fNdT%U0{GeeqJzIh<2-me73u zOh+a6Clh8L{ur`|Xc}#)ZUC0YdSrhnlE-l9K76ytWZ59wHA@9!g5|FJdY%C32cp1G zm4B~AQu#X6xi{#ew^j!MERA_DQ@vNphSJ6>Pn?0mI$^14S}1wcY8{a|8W%*JV1v~d z?hK0D!MxDvTJJS}Q)o(Y*ByFy0+D*pxpt}GCH2zKYnV^lmVV)b+1!+;>H06oTf)>t z(>bE!jU;t%lAwZAs4-Vt+<20NZ$Cnz_1^6WWZq91T#v#GZHHo7AV)@v&l1GaKk>lG z>?f-?8)_?B<)~upKZ=404gYL+b5dJ`v_Gfl87%eR!iI10GKHxpt>3D{;2AQ!eTLh- zJ%0;CItP8QXI47S%nsqf10r?cQ$V@MD|$|zV~1CbTdIVkI+7y?;Sd@HuAg> zPtM24%zA_4;d9*&$v(kDT10#z&rx+fN(-3SNpzimj*Lh6IAv6<#=fnYE-aeRyHGk%lAoL zy+!cohf<#u$RsA%V@qfHShqgYP$xUp60qiApR3dji7XF^GfB`t_sx3c>jXdGFY(3D ziCJU6b~?Hq9mN}LY!U>Fp)WMFB3paD;c3vLe`GDAZbW0+mrznE?3^9l>xOZf+CYD^LFhLC}iBD+WO<7U1qOWg!g{iKYoZ z+eGWW&)BTtr!iXJBMoLTH&fs`#IZ_Lkv{$xjZ0!#657ri?{@_7ZKJ&BbGrMkSLOYlnKm8MdFpwk*isAg&C6)a zpF@(zv5@4Sy=h@Mvx2QeERnX@;@6%L(37ic)53|Lc$(Tlz-O$bW4h`WO)tnPZQJM4U|9kt zW$tFkyj!XP_RX}l+asilo7*B0cdgP&N!RH8A0t7K>C$y}JRu$TroN1nOmB~Zu+*Lx z56__PeD&;7kh<~CYihW`ww_Z`a9fc8ET2PuulGYHk)cG1I?>lUcR9Hqt1J<{8k$Xi z#xmh1drui<3>ojY20=_GNy#F@cbZKEpIQ+0(p>g(E5P*MzEho)L0Kg`ygz_X8zg>* zPWZWWlS!oB<%P9d%ra85H`|h%DW@s>+-mI?Te7c>1)uy5e)tegoo-NTU%V|w+_z#( zxF7Dk)0X&X`{H}{G_KV+~-W8u0dW}E!#3oy5D|hq87mZjc~n$76Qpi-Mt#^*UdHL4jKI1UUUMJXH%;bs{6dIwr+$RaWIjuYf+W-%~3&N@PF ziH!)ziI(<46F618;h}?Nu}8+@A6fh{osP1b8I;0NpN ze43_ag^edvL07mGr65YRd45H-pq6?U>d=|FQY zCm=z*T1p7v>9fBhcFQtm`N8Y?Gs;|8xMemaDZ3Nd zt~-*4A}KwQQ;`tvU8ynNMO~fTJqS8k1L$8%MOz8AR^ET=!k4Eqrzwo*7;@vn(psd- zG0FavAb5CgguhWE7d7w1KywzdO<1QSZ~0wPIQt>eu^6Z;lJg2!kXq8IS7eN<7*tP; zp`7)ZiI~qy6(Uw#SS&LAS{d3fsEVuky7aSeaWWm^(7E zr71p`T_QH!)}2k1IAJ#b@UpKp{3cDk@;IsGJ~?){zg0YcLR}J6dj)&Mr{b}EL>ueF z4{@F6EXqmeq)%sy2y&3xeEIc?-NN_h5i5HETI(mPQ48Yv0_>EJ27-PCJ!Az`F%QPF z5J_cbP@>92;~5?F4^NUbzYprjyYp1TkSTvvpKuLPL>cBa-xz5P3#Ft3QpKRiDf<_6JHS55XILsW&LWot_`gpjt>6$;7;FuDyVGy&hAXtpAen&>|G_(a?eZ79@31+a0?m^4kt0F2+9&W?VVn09Z}?JC z`giam>Y|=0RKvCd{=zS1K{`=onOt=|p6%|j+=9m{FJlsg%j#;fmW*QFK6-R*&OaI@n0)s~g1X_2=oq#Da-n5U!^msAFh~YIao>stDUj6B%KPvlv7c07 zoatnU(Us~gbB~rpO)E53OxvfStWl6Fo*s6E5GQ`ZVBp|Gfi?dusg;q}pjvkcbDK$& zyanM9XOw7Ff$07;w=lisCh;@M|?wdS-Oo;Qdv&rbFH)8(dXtML=^sBpB3@bpxG;Pd`}3+ z(W5@_-Q!bxIg{!|+9v);Pb17KGy31?5r3*(=zp3B&TzfOfQ%SM^c(T;?O>`4b3S_O zwd38*z|M=!s0dccK!@Xh2IFPSF@nONR>`BUU@;h%i}qO-hl2~MfArdA=iF~1y@9^k zp7Nx;?(>_yfXj+YCqbu|qbn#K-ctEtnO=S5<7oPushshcSdP#tGZEh8dA9KzhH_#@ zZ6|^UY`EDH+%HHv;GMiSnJtL(urRLZknsGiU_G)0BMAjrii5@zj|uFNwa84rTZB~%G&vGm}Q z(boFHfGhx4_*1#A9tQje^ucA=#lqcX-JhhJ#*iCJI5-z;ifMy#*IC$A80BQu?w0Pv ziFT_mmNccoTzG+n5Q}DprK7#C9`$M#Lew7+XHmJzbuvB&R2Y-f)>^BP$oSmP9abw+ z!eXxl#nhHzp2kS&@AOok3CAkM8SLIMKR8GPEkPW7!rzyUx);)OMt#jpPKV`}r)#Qq z=2sw(jSHMRa%uD_DiVmVjm?H5VLlEE+d!8$iZcbY zig4|MzV(q$iPixW(&pq(DcIApe-w`T%}=T5_2ZYXv$>t@vE1UADOhEx8$Irg0h&IE ze(Fq7>6ABJO?R`L8{w+m_l^l=W-fh`8-+egW{glv1>Ct_;f~TAa_>UPF1oq6*|VHu zORxMIBCzm`wH~8SdzwI3|%V<#YS4eUu%6A3CSSS05z)lxbz>n3s*r_@X#U-qt?5Y z;jd=9%(&OTXcP>aUA97$)5U(XYIb+Aq$=-(qAXLbQmqIVk&n+Ceab<^X|E{sUG(S9 zytH);A)Cxn-Y5A&LEi1wj}H~?1CrHn;gUS|iTqaWS#OO*rxMzO#vek$Lw(EZH%q2j zA;Eazi#qXE7N5!@+1S)$kDc3$GQGxiG*&->RK(6)eE;n+6~O{a4(}|O{?HnmrvQQs zTQ5H*e?LFk98UhV8nP{_^FF0~`ry+89uL~v998O+pPHQ2!d&TFyI5BU!C+wJE;hr|4yQzgU7mR z9=#9QzMU(p7RH}NhH)6S&D|-Yzgy-oTfQ~dQeekBa(roeyrFr20J*0ByKkfFz*yDa zmBb#NX`+@U>CD=J^cM>zctu2*NV@9Y$B@GHa&5xUpQH?hn3Xt5&=oB4x0i(Y5{!u5 zxvEWfH>8H!Gh)@v1!G>nalP(allu&**lahe z8W+MJ_^;Z1Cu%yMcG~dc^!n~l9VRI7%P9~)8Tz7;^r~1mR(Gz}o~y=3ePCS~Y&scz z8qT)%)X>qx$wl?ms=Hz`z10Q5R!?T-5*JrS&3ywv? z9du2$B# zv^*XBgT34c%#J&+Rnmm)XD-ja3SP2zh4N|4O;6?$Fw9@P-PgtZ$cms_Ox!jjI_Pq( zzVp%%(ZV&_)#KCDvP^FZ7)1v+ey{M=zgkr&{4>8A0OhXwHN@;I`aRdLdg!+`0VE|f zRgO>n#uxlg!#@%rL5;IVOUq-Ou!2#M#nVeK(T6=uzt|&8LUANoy}4Q~+)^P=u0xsSW=r8gCXz;z37th9vf9R@<{_2s zbgD$p1*oBG1$5UF++MGsliwljyM3t{+WlnAZ78URONSu-Kl*}mu3masotUuP2a-yBY{K@>&?*&CZTC6 z4BVV$kXZUxVo)_E^@_O@Is>gk87qb3xLuboqHtg8(N!xYnoMhkmJ!r=*I3FllyeaO z>6GE!(Q5T~7xEKorvN*?z*N`^k+vpSOy}N?Gij4l{>`gTM!$Bft$qatw4MsIe^ z#dc{C`0KDqNLuOi(dp8xYw~i@OuzWBndMKl_PY-v z(6Py>gK$x*()BFS+2sewegtBrCH&?~-0S4ba4*L(LtjMOwPy!=YKd?fjviYvHro!Hz^PzU&GL zx5I~l6H)Tl_DEbQn|EgRE-CIJ%u+GUC@$$B+^iDCj-GTMybH|;wW9y&3NoO%{%qgy zF<1j2W`c8deT0M-i{{2oJ1$GV3^h1EQL|Q=Ouixzx2rnB96tan z(h|D|D>BrV!I8fUzn``zJfg~z(M>YWf>mc)AkyF!5$GY{unDuD6)UJkR(7)>G?tWP z5x5+x-ZzWfO@}ucxo1Yi_H7e_LtUViKQHqPLX}=t=rZ1&w6eR3?K|I1pd!* z?*EZ}|5r~VD?s(SnUtuJhVEhI0(3vK8K+yVygu;}#z`oeMoUBsw_jk4@E$97z zla~McYnaucwgVg)?{&NB5_YSlP9R!HUK?QvY`bGG&BC&G6923VA9tZvv`_fwvuCA7 z4LA_u15J_X7Fp=uv*w#Y(4F#j(-Y-7O5L*oEshsi~<2 zqH6ogz0UpM=62rR{Ihc!29er5>S}7;fI3;}!_neCJ3C9d8rqLk(NX0M(C13wDP zGpMZeo#$?`>SKii5gl;UU|KjTA02+4I^a*mz@ne%jVhxY} znl}FXo$_Bi82^`>7C26`KUohxHTHZQQgV#+Ov)#mJ%xb(#ZjdK5-As2di$(K?$1`? z{@z`lfYhp>qy%iY+TPQ5S#zT(C@SLMub0V>86P=QyN+OsY!K}t{B*Vy!NZoEoZR!* z-Qm&PaoLAw3uM+#WR!yZOxQWW(( z08bUs4H!2*@fsQL%H!2#}@=njH+ODKiSk2-(cH12VY|%`3gVoL(maPLyOQ}1c;m* zwympw{T`jI=N)jpy}h<4HT~THSV}tH@i=_^lh!ssX~F<*GVwF=iTr~=Hqzl*Q|dJUPQv;u zVB~%5AudA@sYc?kEZO1$aH|TcRm;?bs=R<#-2jj{zo0{xwFaO)o=+Q}Gw+|zK|TFM zJ~EJ}Q9Nfk+khrZhwm`LWD7W41iihz^T$Ad1Ho`8flB3*UAz%(g2n?7rX&P<0A%JO zb*Pj*05gRST(%hJ(?LGf7#u?zGJu;xbM|DGQwgiLnC}Lrr%fP3DS!R1lCR|I=m!MZ zNfMJJiq_h03fo898GWxiyK*hQ!P&hAs7-$-WhAsOG82iE8s0r_;xgzyi(fhTCGdmmBqrx?O)Mo8%NEyIH1!^KFbjeHvW? zP6O!Qc;?Sc2NFJzAG(vH3QUe}3PntQ=)MB6b=!PsXy~$EukM6=dc^l`jr8FQuwi=1 zz`#I8P5lfoctoYn0lO#~%i!Bj2ZDOgwLc#sFrvm{@QS`YY>cSM692oK$iB%lZ`vu+ zmby2dk3CWK?Af!(_;^#dAzKeTFD54<|OX>>XGRVEsO3$<01 zGT)b+2kf5!5QQFZ1rU+K#nRe=sq#}`vq!7#bulq+bkoOJ`dh;^RrE@@|LbY;J69Iq zH55I8L@SpuN^3qb*H003{51Dn`qRR4+{!1UGz}c0qN45}zHOj> zQO7J_&Qw8C+16%>zjpUJFz7|5%Wt6SyaG&Qk=)T;aP>Q&ei)FS zmVp?gvIpV7n4O2N1sK#t#U}DP()>Y*mC*dw`T#r15}9@*8zW%J7@fl3^$_E~R2J`i zhwI?rkQb>x{9+P3dfCeFGPQgmg1*fX)40Eb!UY5$?yp+mjEAsc(Wf^@J`aVtnKd&5U7oyR{%)gqR%@nW>pgVu9C_=WV{kiXwdbSP2|=67FXHEH zeqr~3aTKi;C=j~+>zQ=SjYr-&mokK-C6GT;m>})l)W`QBVSSYEkjn7FdD---EogpT zbPvJVVQt{RMu^vSH&>z!M#fhC_325CV8T;4FYZ4N$)7E80@;6S6|#NA)-M+Mpn7hQ z@JaYhQe%(xfBaur-qaRipJI4B&2t9PYW_{M`|sb-{0Ek($KES#2h{lK*=7%(Vol2U zackKSqfYlfd44c&L=JS-U+Pw=z9D$Oo~$U=*3l4^Ak2;rqzNR)MYJEwugeen&=D4i zluz?LizgGa8+nn%J04gENr~Ew%rP?@O6Ps}NCMtM!Y0+QTIQR*f<%2}#!U4zaIDgH z_(Kh6wJGX4QHJ#lZXw><%u5-A)3vIdwgmq>D%@h)C}u6CJkM@%TybRb>jp3?roF96&&s#@9dS(?s*FG+2e_%?~Y7@vS~ z0s5eCxIN=b?Hm-H(b5*^_aE5tk6U&N3b&mj?M97hhgE+Ht;)Vk=m9Ep&xkRqQ>Due zv<6Q6J<|T0_eHLek?_(#2wGNb0%m5P)EOf*4d$f~NRNTIQ{Hi3b=k%c(hBAd|C;X= z63Z8#MYpYy7GW_V>n$v+TiiD*X{Mr7hdyP0^{Ky4PSUGtWg`gJB+5VDZDjdTLF9o2 zj9?z3On!%zmL0FjI##qJ1xaiXEPSMzX2H&=aYU~1LOtX+pqfAX<@~QN>Nw4p4Xk37 z&DigEcXz+6)rlf8JgQMD<6+0|E*7y9WJ zz)e+T^&Sxw+?mZXXOsrJIz+~tr#ftJ%$Um$F2S+3U83QopYgk!qecTr3cj);%id-i{sX&`tFwq7#OJ3%0_b!QQL$Mj)0Y+5ExmL)ll$ z`A9sXYxOe&axtDKjT?JwiKb~8XXR5z^Nz#lZ}0EUhLuwCm{g4nz?E*I$0DwI0HL_2 z;X$)Q)Z>@TV(kLM3=dIt4{bu3pO`o=Ch50_GTsI27e`%FLe z&S$O3`=I_V(B4}eNd3wP~ zJFA#zW7_)C|3Ot%XB_!(UxL;lg7wdnwx}6kfOb5|fHsCu_O9o@qqF`mQmOxu9sA!u zwEtfcv;XnkMt&FjQ?yj0bP!8%x-gRezebt=hNSy{_A>tScY9$@4YxJEXw_lCgCC1* z`oF)pmjbq<+LLy(G9Xk|2i#Tfyx%M_3JQ|ydK_@kv9JWfOF5vfoFN|Z`msF@4o(|L z{hxsFVXQprPUk4W_>uy3V>DZOWsqmdpRuIwm#!#>E}jfLq&9w zqjy>avV~}Hvs!tIfjMwCJ^=^Li0mo(AM#QWEM;P4vZ4t+kn9xHFS+kA7wj}T?L2|g z?7;BW-WCxvpw-T8&jW)~K2}=Vpc43DV*t+JNI+Kw+L(bE!a<|Xpnm-dd{m=j*?o8_ zykYKdff>7S4w0*?FtxOllrK0F+e%yS3GIf!S^IpgCn5;&pJ(u1VLxJwdaO)UIwkER zmkvq&u?1uhgMdEh3*i3hRkspI#8e6|3Fkr0bPNvp4n$JV_fsDeIi3wcZmr&)_EJhl zrFk6kDpDZC9)MhStdz$m{wMV;;5mOx=0*nw?}!g~TY?$Zb2Z*uKVoB}p8WYNB_;J_ z6`n5>(PGjtsR#RhQGJBUtQiHW6t3S=_`pQ+Rceq;EI&rJW&Ujt#RjhQ>Z2uzyQz3|OE8Aj=anF`))Ikzztx+G`FLn$t2Y^WN}h z`#|i{_2`A*-SN{Dms#`mAvl$HyPCD>_(>=c&kK-?J_TZ=zn1<6Gy*qMiLYhW7@}N&t5e@A7a#S}OD~n|)!r{G_%O7WRV_ zhl`O>x)dRFi)~~hQuUYoGbSD$JerRQnCFC!*UNqwP_Tx?-c*$0;Z;qhd7Sz^-Qf0- zavT7bwLi$q`PX?@=0nW+gQ~FDKT`c)1YQ1jA)Ft*UvCLG(8lQQNgG8XlyULtC;xMC zm0*GJFjBuqkKn)mb8!_8;eU&(d|+b}7Gf6?;uZnFIN3Rcxc}$kDo@&gxXRCe#8sqE z8gL&y^41lkM zjs>q?J6Bi6?EBUwOYCUQuTzHmommRpx$78Wrl=vhDWy(bOuIC+z{K2QS)#t`0(-bn{PDiXfAt z9Fv=^mJ0d9jk9reHN)^P%q>v#z+7q>FKaeZ zgzW3*TkZlA`2`tU^IHMRE||SU->0@26+OfNrTP>d(UW1LtWi+ zB}?kbND%tU!9hUG?A=Qv@6KkAs|yf&nrXYk3BxUUY?jYnH(M1@f@>eS9oodyE;3WV zDeyP%FO7_Bw1+*%@kQT~oz1p3*g_IkmMAJ)?+xGiC%$+D; zIlVi)`%9ZJyXU$3c(D%l!CXyuS(FjQ50zFMYku!Lgs`M4f74$gdD{6;2ze~NY%o5Q zyXjn-EuK^IyWio>G$vVMd~e29?!OJ_99_v)z0ei zIzkTTC${hJo`w8vp34;*>z27jpR%2o_px1QQF`{y(b#=>5w?7ERBH23q!AS0GdL0? zt2JqYfn2|IPKqWdC^+BbhT8fu#h1P{thWB2>%$-#7q5NYe7reGx4qjGtt(iD2THKbS8 z2+3ixwxl^YiZ9jOIcoiU@`OH`mdE`rwef1dz{t}M)DzPs?H=?X$Bi0VgM{%NE?ps} z7rF-B&f1@tFKNui<(0wO>m=Hj03vLEH_gr%;ar_7i|aLA2I2FXe*xy&elNlh$MbI| z`tgXEv5B#MJxZNO9qA&M{ll!2V2yn7UX_DzAquES1Te1L)a} zTWL6CXaOa5y9e)1RV%G26FT6wj=QDT;(#L=eZ9RG^Crk158Lve=V5WY@9gBVyYd+F zesK|^DqLL6hXuBM7b17iGEgI@1Zt4D@h6heRHHp&@l&OGnaY1wrz@<3P`)f-?2;NJ z>HZ;me5O&q8P-!BmH|OqbVQ@0Kacp-bj~5)vq<|*ieo<|%^Y!b8Jk4wX z?aqf`Kzc)MZ#}Kc52fRZ-*-SS#-UXE-V0~ajk`wS+15Jc7F@d%#l`nH=vA$yOLYX< z|Mjx;2{wy>5bMhvo;*ELM%9w>2kXmn@rbvo@7@@HEBy+C>VI*Gi5n8!V(siTSR!Dq zblc-*x^{el<^FlO6+1UnOqi|eG@YxU+I6Brv>^F+RAvv`xc)0-%RNF)WBl$={G0~z z`6g#nY+5<-#8GO>;@bxF+(Q_|N)Dxe0i9hC3I=QEHo$VrGOTh?v?@& zQgCee0im}pcU}-oj6=y2dY_*@W8Xb`AA+yhI25!IYbXG|6r7KsG53@FJhNZC93`x(Wi%!gf)A!02*dL2(U z;_V;eU+Dq9C>Rl1S^pDre0C1O_ZOQdx zbN^cB`Lw5AxXKOA!v0KUq0#u*7&dsOKY%%zi?bLSnSzJ8i3yy=#l<}BdJY&xA1iezuGW4QW@PPy$KMz98qSq42qSNs6{o^&giI5VE(Cgzi zqp-WYeqiyV{K(GHQ8-sN)v!^@J%?0kl;Hsq3A>rIZCz>eLxh^U9?rMT*E>$!hoP=~ zZ|}U=+V$eyT%xrX*cbZ*x&;i6P;XoTBxN>TmN8=@EF^Ti+Jy=Xy2M~lN{EN;UkbBD z;eZ2L;qhD0yD(d9s)xpk+~D4BrTeU29?TUy>tREXwk)qo;rD{R0!9d8e$Ub6%k)3M zJQr&30f1=;@Vd{Z>%kT(HWLLn9G?cvTzNs66HpMsbT*-;w=$9`u3ljrT;OPD$2OWP z7Xctsa_KlG_Qp(NGScUYJwROE5M(Vp} zbuYj4M71oZ#j>D_c%L=hQR7> zOU!#lLM{t`;0aiGyD3!W3F(^|8%*XYtn|Q&TVnvZ8zUIS6TB#GLf%gaKE-dAItd(p3YEak?{+-=)h!`i*nN$b>=D$xjY<&*3 zAo7MlN&IXgC^j4c3IMANUZuS+ZJQY$E~_TqE(xqJD>P0be91xr`JmIZKzg0`A0WlKa+w9haL*X+X==3Buw zB!?0k?<&=Q7M+MYuf$RiScIa~Iq2okN?@`}^?B3}jKN6M*ukT4vOn|YqI3r_+n;0X z5aqO+jL&KNi% zYbgRwHDprGTvq7ZR&65(b1h!C1(Qv6?;$?|suFf31eM0tCV;p)C9_6_SH;2U3TwY< ze;hjKF0k>%+8&+Oye^H?Wv$^~x@^i>%&t4ujse`A<6K29o`u9>Jnt)LbQlh&3FK*37mQQ{dijYiG&nCA$Q*!5 zz&PMgt0-l1l-&z^qWP8}f zbb7Y|4?m7%s&@yH-&j@AAM~Am>|pHR>CN9brJmDL|F59ou|t|^nGwaaD-w*A0rr=w za9Ii0tS)e!?*Z#Dj+o)8FZnq#9HGR@NVEA`Q+o*Ne`m7ipAe4TIKaQtfl%0!Ki4k#KTc6vLzylB6w zZ8r$^#>*tq=umtVE{jB6qe7F8Ph~giZt5?X4FK^TWe1gMX<$RB&amsdhBkKv21h+~ z?#Fp1b_0)scz+a>V7Ae}O}p&3Df2%TCWosfbnD=fDao zGtt}aHJ29-)N2?hcXrc?P?Ijj(@L}T&{aB8)c#zuzN#k-?tFWk7Xh9g9$&a_0`5YO zlkw_oOAM<;118ggt<%&er2J&7^c8k&H8Jn9XYlyy&>$yU+m|n7{wxwB8$`syG3|!? z0zQYNZGfKaQoMFcsc%u_O!-ly;3e6`J@OQ-P5e}tazW_dKg|0;Or@=upM2j_5s zO5r))Ia0@1V8w$|fA2HphOyef_4*$Qknq<6-$DJfx3q43a=IaXaVOcI#m@si*JhM~ z7Pf(Q`?UMHxk|j!SOx5qoQZUCbm|NMTMWm&=Bft$EurRMLr?0mPX0e%)YzxmYDN+L zDgC+-i&9`u6Z0(xOACwDOA<;Rkqd#hB?s@^BF3xllcR^*jC#WJC-<%t=0D?+eecM^ z_;KzQ!}FM+?RR8K8b{M-QCZYK&#(jWPQHQovsO6_sdP(KpzrDF5l7dfv`uN?lk(9d zDCw?Jx$vSYX2g2_f)r9@Bcw@=cANTVXJKb7x9~pG;f*-d2^`fpJ`b?kh8ZE*BT2>{ zU=vi@-VZiF0fdtp6aV``)Z6u{8tuRIq$#HXGUAspD+yy@3nt)_fQUBi>eS4gsReE! zRc9}FF*m&4Xz@Sp;w5s8igLtGUCog(6%xDEG+SoKS=O`9<9P}e5Mee2erj8N2b_kg zre4G%ZDO+Awyb9&5GJ&xapSj?1YAOz;Tz&yPW_S(0v;mS#BM1m-(!@D9Nbj`SqKHa zn+jS(?M_-^U}VhlqwdtjOdu*L!p4p9$x}UVPV-knvz*m5C#l}!hrcGv+OP!f!n^%p zDbaCTqnh|}xNmtW$^5$aWXb!xG#z#|p^s2zw#u8+vxoDDD^FLPHU|hMHiR{=)=^Ut za7eT+O+JQ%gSfTzu0c0>gqek3?Nl?;VPoLik3?Fz*D!v^|G15dv3ak@?5&q}G;1~z zIH~5S$<;T3VGbvE0j>!E7`P)bRNdP82MO!dg>0hOr&jfCk|;Nj>NRJakf=IL*4p16 z)Qq={a*XoKX+G?u;4tJRhij`FO8AO_+9EXPPXKG&E*a^4j-W1?o^O^jQ%MvqKX0>5 zShbgV1IDl07RsK&dULSX3=X((v<&y^N23(D)<1z8qN_d^Z-3&vvhAVwk#sEQY7IPA zsGt+iY90vlvED%?o`Ryj`JVwE>;9`kQ*^(kJO2;BCnuvI5Hb(7g0}g)0?E5JFT%dWEi|3 z$Ea2^UGfCr4=JY*Z*JhhsJJi?yn894g(REC{|vyV5mb_%k#D1Dxou~#bVT7W&P&lk zGt@Q$jx4pu>OWYNp4&a&2B z$t3=7V1#}I*BA7|hzybt4Db$olDTbN@&}q_vPv_LqdC#I3ViAj=NB1k`JWXkz zhvSx1I+d316FoBx#PCb#!WhBwjiHkCCFCkdPE{*#GXE`#+Mdikqhm7`0qN}Xnfxia zCdM70kAZ=)=KN+FUav(Fya-q}mW*j1>qm_s6%g9Q;KReQ*Vl5i1E+04HWHWa-Wo8YSkm`?lN z%3=72r_c<|*uJ{L36tx*^0yv`O*77}2cyW$Nn9W7agDDOZC zMN|J;twgs&Zq29b;>mGJ`c-1cc{?3*9oi_eYhRgv^x8oids=qFAK1^FGIa4Qm5sNoLoU zD8<>`_aEfz4MovlHjgxGkBANGq0W|TCu_83<5|@F*wjM6)Aeti!c!)_n}{UV$DjX3 z8cbJvl%k9aKfe$kQ$5(9<%U;F-*sGqmZdbmRN;Q1KDSwHA^^M%At)Mw-O-_re_-Hj z6C7OQw3&Xi(7IcESgPCjTFEE*i-zMSITe*i>-@lsPGhKu+5`j|B~ zOBptsoVL)H?w5y%K0ZFqx2A)9Om~*y5QNrKuV=QbtST7N8}PlOFmK|Dq}%E((A3-< zCE(#wc_x>}9}EZv;yw?Dsqb9W3WVw_>b$mCz?Eem_P2se?r5=5u5}(@8&)iDl)BNl z12&2@Aiu*0_d;_d@h1t`-I-|aIB|hPOZz2BBb(z8saRVI0ARkYLK=nb!k7Ptg)WsQ>jqoR+*am*YKPC>Xx{HjYYUSR3e63#($?&_lB@KiI1XK z)uu$7S3W~ZW`a~*T+Ca&<#P*4`sl-yE}#ts<(g77d0W?WT~8LzNdRd6aLEUAhaFxAk8!r`Z(Xof?o{-?(DU{1IH6rIr95+dIG^e8Dx`(?bN2j9%Ud!F!>$ zohgQ1Zg#?v`G_gY#N|%~j#<%QI=f}~Opg@lIvg{asoeSu-A^288q})I)K26mpstt7 zM%f;%_nSdo%Q~`c=BqCIyyIX^Brx9PN-h0LI6~KJ;tqgdDqc~wNAqDoC#C?>4gbF9 z-sOx4{dQ)|T0zhB&DnLz^uO+6%r&_=;`nd))~T`T@o5u)MRlL(yI!wk9T?JU@WcVe zNJY?g9a( z0l&jJeqcCpX1d^R(1XEptrxq)^i|{{4u>K_7qi1hU0o}FV!hyDhAu^GIMT*a0YFz& z+p|y1%8y#y_Hc169;;8;x_~Saq&9C~knmYe(P8FLHC0(G(U0D=w6vI!K$hm^&EA+k zWZ3Wp_5)|4=TDzwaA}pSI4C~+8T*u%%$qBl{-H5khspYR7l#M*JBXN3j^JZ>EXI+7 zu{~Bn{-a*)kgeeQtX}sP&=SDHXmS zzZw3JA-~?}$4lULF1RdRgL%PW^>3>v$wFm^;*8%``F6%gV!e03TCWom6Vm>JU~hYM z|Nl5=G>!pDNq-=LT_T<()q56X+H6kS@@S+GV&E%3B?lbZUO#_9{0%70h?u8>nzj?L zV?fYErjm?C05s4}P`BV`bF4K2yxZVxbI@ftqyW&XFu-3sfL6-+SQ@{Z?<;!6=_)H_ z5$8teen{ zl5@P;QVo>v134y{6a{nC&gHo3ix)vlU@^)8!Q%(L(sKZ!KzB|pvqSJ$yFqE4>6IF8 zlj-l5pfBh3Ywad@|Fg4*6Y1Jf($0O=1{YR*=T;e^66lLC<*AobY!0PbzVeMA=KZBv zlvO?X7eFN=pw6c&wgm!8X5)EL_fJ*ZfirwFyW6R8;PTtv`JgrMIaa#d+>(2$+J!NZ ztkI*pme)yh4bFwob^>hjX$1%bQmzwV_HyQA_gmd(eo;|vuQ2&@(0QpK10YPDwIK*J}|4(tb@*QhOzb!egUN zKn2QRy*EnCxi_Abltwlsuhn+v1S_reW|Ii)7vY8YF}K&RUta?P-tpayBiz!CVS28y zsI-*T`~Jq1_?^qg;!2-~dx?~{lb72EW5aYXVSkzMpz?X$MuW4VB^aombVboEXReJHQFc z-)sn_TD7vyTuFjHE#8_=Br$QaSACFpnEOimGnKRqPz!4<dQLQoHg88_IYuc4ro0V8PWQyoNp=Lz24V| z&z@=!C{@#1+FN}G;1*PEZEbnbytvq;YEy%VY_tGpo1zBbnd!yVs$OnbFy|XNxrRk8 zmB&^Cbe|^Vt^uR6f={kN5dTt;yC^6;yC>vqYj_QG^p%}sl-x$Mg@t= zL?q-i`w5{kS^DFiY1F!_{_c>8ogY&4=LdZZ-=c{i02dKK3tAYUYrwbXQpNh<<@mHOEQWDZwA5)oJrjmsm^=B**#s!dNAV}Mba8YLb@5QCLWIA5n(SrX|hva zwxwQHl}^k&HhB=S|GCUmr>14Hn8c{2Wva^+Jo~D>JnP_IvA9v#c~fw%r!G~%(qnJ5{t)ASO*n@g|n(m5$#Q2&xGp7u2FDY z9;%U8_M}n=_5?9!aj9$iP$QJ;0RtHx9G#vl>I%6HFv94MJOWq#@)I(?RZa`xf_oy% zI-q|&Z0<<&G9PXU*}o3kS?gFdnveST2J~kxb@b@_uiLM9IJ??tVDhTrIvhY4@KU@` z$puSxIE6P;RwWoPy;gl5Zb|Q8F#Ee}`wN;JO1wHZH@E!Ojj&Bn;c^d3gHU|9)EWT{ zVBZVMG-&QGwdz$HYj`wCByr|L)fVLgvRguGSQz*IHXEQKV{i7o1S_UQsvQ2qNCL`G zqT5Ue$^u0mOMp^l-#fdysyW*k!)gN2J!(4AO#azSDXJvwhW-{8QK!@&w`H%AD}XxU zzju=rIk}3iT(||8qu*a1TQmsV zj;49xfroRfC#bonj&iT!TzlG)2}w(L>+*;B-lez;|8ymbR=TuhPlAA+)Y=<31ez5h zJe0z#qE`aP&3RreIO$-;DfeaCYh1B?w@Gt33`?e)ctj>)~dIA zLS@-Ks2wHPlhX}FXcIKK+Y}y-JWS$&TG2diyaA@Ryn)8}d^;FAxw0fUfelVOhW2hd zZ|F$FA3uH^^&Hn@(l%INW4ck+BTbOx<~K~o$@DC zxF)Y({NQ!`1a!teJk;iI^U*L%rt#OKV2>UxDawagrT0O>-VOlJecmB)1DVZU3+KWM z@vifemF>O0{|HQ0CUS{2Ha^BZegbP}ke6V^SgMPPCra4Den3Emt_tN$8 zswM-UlP)~5v20ZT^IQ&rSo+-jb@T$=X7}l4kJ=W}@@hAkBu<6g_H{qKzPQPkJG8WT zg43th2^6q&uzgE3^RkC$b7Yc_!C{-Iqq@t?yf*41*R32ElIR3uJ)jqd7X6{O+7UGE zf2LCLnm2$hmw>XdwW^$)J!dhgS0WzfzpiaXwby5P=hOsu*S(V z;dN;^F=_bgwacRZQOB3qrR?AdG1YJcYY|a&3*PKhqC zS+1tZ7HiBd@zWI+=HCsd1WxN=qOz^Y;TTM$^P@ui9+y@VnnmvpOsvziU(p(9LGCs< z*gSRg7o~IjebK1xpq++CUz7q?)`gBH`#R#Q zqNpvg5|(&Xk9sV=f;ofWY=`v@Nk~@Kk)Bh@7}kv1D2Aq3PoyfPIY~uTk-)7=&!|1^ zUJR?B12A#}&wOsA$MtW4K*$gb^8HDmp+L^?>+nEEE<(Z&;+`Y$~{ zQocu%*0c4D@{`-D$7!-N2`ruu_KkXZ#KkHBwQRSVA|>zj_r6WMaeeI6q(gzs4Ioa2 zIBDpRWQleu!uDrgNZa0l*I@GCSRwJcUq?&bshfx@H*F=XaGIBN3&dmi6CgObYZboY z$$J1}373?1j)ufyjXF`FuE$;GdzN$Q1QnM87I%EMm&wjGn}9B}wY2e`<2ioqmU`8> zw#bI_K`(b=oWbyA^1qJatx>y~JWttaK2}H>Jwozx{d#$EKIf1pH)oUvpGhSh`&$^P zzvGEc0V0H3gl>6-H^r}OA?R@5#70BN8A!e<8*dS$AEj|Q(xe6G-P!3sJa*bS4OYMm zFA&_i3%^0dHR{Ouw)B2?vLwL8T61-6NGB{u`q91DByn<|V3RGaRBS2MiY)~N3X!8m zpmN1{vG2ESFH=_}h$A!<@+c&CIBoSj@eQ4BQ{9LIhi4GIbnX}Q4M6@V*5d9sY`z_z z2;&3w#4oQo)!vwQYW_WMXP*o_`Y2*t1WvtOF_Bm4T{GmPE=My#vs{HnT?Mr;wnDYy zUpdKv%OyH|8KRXmNH0*jXD^7@ox4B6mWLhqO7+rp^Az(bgoK3I%)i^~5q88agAP^3 zRQ!SpQv8ZKI0nP$$Gm%n7Cgr93RDqsfS+=C_vvK(4L-m=ITJY65klCJ=tQ7 z)O%Qa9EjEkN!TMa7z8!03ZqR;k%ryHtaFxZEDE65C^44>QmtR^FUY|x;^*%*Dqo;J zBxPc>VMVv@2&$vEIh<`W-*MQZhm-MUJ7X4S&ixudk+!kN-s+To$Rne^$YAD+|G%7v6kR*o%*()sc__YjnHt3{W8pcvW5fkH^<)T!)3EkJm*TmM2S}_$rF5gMVi38b{bnK5#5O>m*x+f{5(WF zL!q;Tx6n|)@)CnoK=G>5wBI79iE;OGeMgDw2hl$yvXNWbS+StM7q`{U_?%kSvlZw| z=l3YBvPp(6E$6UewOm|WR-G3Zt{9x=^GN>{b)fE7{b>Mmw`lR-DE06r*l7SbQJ5li zh*5tH3Bw~F!MxTHI5N=%AgFS$Et@RqcvaNRs9FX%oT)I6lZ~0eX^zEdHZ1|eZ4@}$ zFE^QUIlnJJ1em9d%RK-S^Kj=?`f=M97D&XyUw8bCGCDt-vYz(8wAM7(h<;`#y&Sk? zIw-m#^lTuG%Wxn9f4UUoxfxGA+tKh1DnKCS+E&G3$AV~gHKp7K9{zzsVXr>G_vKMK zUBGf6IuQks{dF0x>^??h$|4f3@8hCKB`wGvf#V5U#`l_K5(`dQD%08;9GkXb*^6Y z&rRo2KxrFJ6YSCR8Lahqt?)5gkMM^c`#MGAN8Y-uo57{{=2! z&SzHh(JW}Ij<)vl+L|9oD-8g_0iIKjRDi-ptRoPeUH|tZG~%~^51sja?)lvrNCrWf z83gon|Liw~M0m1)K6Be|Jb6XWzi^^*V|86+{0VlKMajK-6UiqQG2?ZB+ra*jC5$!$O9fC2Um|RmQV?X{Uc6O-vJ49hdaHMPAyQT}Kb}zA)`uDIW zHmL$px(b%Y9Kk!6qJ_uTUNnyjPV^oOB`&lRCaTzMT0i@-^vnI0 zxvltHFOnlcO8fZp`&eR^VoO*+P@XAfQD+Jz&q#(k&47RdqpGl-G4X=nkz&2Mhy6zK zu8Uwv#-+AZ!!=TR?EQN|>$zC*-uPLfxl(>^l(q`(=6U<08*+;8D1rJ845L`{c?y&l zS6~8|azGCZel?aT7A2KkF*N)b2%QXglXvS@{peiU?{2$wC8aCUR1URl=s7b21}D-G z7TrVREmn^^?uQde4?FS3baF|GTONw%ybV5!**&FCN!+zFJiTXJ#W~%$N%^p zai{WVs%q}vst&x)cE@_z#q}Zx2w@}6Rm}tGYZ9Gj3ZY2I$O;b)_4PZsfcuOBC%1Fk z%p(D;AILysE%`hMU{N7?1OuKI0$jRQHXRZM4ljf4zZn+p#tWpN5cv*fWS7BzDEj{W zBY3(D@X=oYvf_?4&4&Q`jvDg>EeKkLg@wDb?A~{u!4uSV=vA(P%7dzf$CISWpu}Ny zpg6gI%DRZ~t7ms?+U)|F!9*t9JPfss)?gZ<>2(R=W4*=5m|Yr8x^8W_k%ve-a2@6A zJsJ}545%Qbnu_N-+Gehz`|&y$t1d&d%_+fkzeZuNB1JQOy6n+&Yef-!?V;h7=|+_`dgm6SoZ(SeZeCuotHqkH#36xdt?6tNYc;I) z;*`=@<}jF^6j!JmP4e7?S-=?&HksZf{XjNgt}60OMfz4}vbfN%gvhsePLIh;QQPg5 zu=J^K)N}{>RC-Hb6UXj`tY4cZQp?Q%Mq-Rx!HsG4R>{XrW8A%8j;o8PPCE8j1fE!i zE|u+2Yg&r$meW`tWvSWNERZvvC z_ae}?`HLheZq+{vZ}A`zsW(#M5A`^|49SZV$lisNuMP-=&Uz!S?QW@^1zKEKsgkAE zJfIj2)+1i8rpHV_xIOdY4YCm!tI7Y4@~46%qNUK<9#|W49RykKUG{U24} zbDfK&%}b=rPQr6}VCSAmaIP})w%lkWMF;IPbB<4o`8#gj&0{qCiLHlSL_b{s#c zhjWML>+GSog=(d$58gmG0Q#5yu_~S~kM(R;x?Zh~4j3{b#hs%5sw}h%MBvM;=eW5J zz@rPjne3}nPRC=_&2s}~w5q`^K(+uH$4*TCLE;Jhd=V?-WSY+x1 z_oQDKEIyc@We4?^1a!~xDy?PS?VLx<*`0hvQH35%#odx6(mLdvD_(8r)w7PF$M2N} z6lVp`kK{-^|B=`*mB$h_SgDNRG1K4!8HmTtZ`b<8qvP)1HsR3z&frP)A!*g$wAucoE}$KxwmPUBnR#jBdq z9PM7fya)ldc*|44O2yC* zwuJGTU;aTVGH!&rC=ue-usbAQsLFf?22^&JmY4OD`@yOLHq=WHixd~gTcEp)6S1pc zVnpHVj4l?xE&rKt+V~>W+ySb^VrZ$#X85_`VU(0!+Ti3>&;U)qh{2A1mGQ*F#!lPgSb z8I2{sen=iF{ONPN`DUW}!;f1s-j?gFS9eeR%J*imaonworMr*47m%^*R-^tnf?^`R zb0%(Cabqd1;8H3DzuI!*ckR-7_s^rCF5T?yW*V63-c)JCJ?z#9psx4;!9n>!0Vr_{ zp8?d24OlI~$J5IBiurN#ro(9~AO@&TQJaJS261w#Z85*}Mbse%km>IL{Ks;@H=AgN zL%S|?2x`M=Se8SAY$$G{gzwgloh!-TX5(JUda6iP8;ecTuwoSLsT11z`j&5Z>Qs#i zO$R_!%JoniZ$>{;YJC13(~?7b)ZFR!p;}pfG^z(Dxel>5?biG;PZ6rGzZht~+$8@* z>i8nc&0699wtW(2G%X-B`Oq#Xe-Utjj>LgdqbTQd&>!iPUKW%Mv*}Aah-Y~bFh>1h z3Wrvnthm-9U{Z!PnKyBFE`{06aH7E4QfFPL*$IMtLc=C<%VVRnEg@n|Hx#HZ+)}D% zbN~(8o;X8=RsFl5isF&8p^{4@uC-a{{$bu~v~?%|HED3!@sAr!Zhr_9+#I+?eG0u` zN15Vig_mlR5T>j<&_LeR+AC1a_h+XJ%*Uu@R4ZM{J!xIN_Mu&z;Z_>B0i05HpaK9# zR?|ICkpaEg4*>c`;3lYp(J7QybYGsM6aECyG8iWdau0RVh}5;#Abg>P5SMoE8m@B8&8F|qG%%4WCcYrncsYWDmT zUmC+0+why&mBIE7wnTE^LX<2>pSdX+kHCwwNN20bl~z*XtST0eXUTRq(_~b8?3RcT z`lKvUpN=*O$r8F{cZM6J4VOON@QQMkPb2Q7u7f8Cd&XvT% ze3}{u3p%0ka%Y|p?d1;3OVp~q=izW00tI~Z6$L^F!YpFelBFOF2A0%tVz>I*dz!A! zLQTsInS+ya-vue`isr;C8V$*}c{?o9q-5cl_}OQY@p&`!zB2 zGS3acl?{xJpX427mRGvUg^C3KZl5pCTq+KnoS!RGzUl2U1=Q4bfP$avcp4{Z^Q$$x zJ9Dl2hC4mu^SCU6eh7eb{6Z$POn5mI!x5ATZa(l(C6iljXcPDi8BcSRxVXYO6@KAHyDt)J zMbB1j{~^WzKi$d%0F^O-l!$;W$C zA5+gmyuHtINHajU{rKuit=4CH?I{GSqh8)j^S|7Hh^oQGt` zfvlB`md7#c*7uwi*Wsgt9oK%2e!~momcW&%V+wvP_#p|pJR;Xo5qXgY{WT&SR7q^a zZtrCe9u^7`W;Tqs%LEqs#1p*7m+@BDId8unM%8-u1=t{>Z~ADk6gDJc&ouS!uF!d0 zMnoPyk)DlXYbE=bb(_|8{-05jOh7$MpRm(wNC~C8D3DXo5{XO9S5& zurJ0O@gM_nW1-6)3o{Mk6{zEJxf&lF6Bb9WUG}IimKh8rLEZx#U>t*dd%ZV}1e{Le zOM)IlpO3GKW{q5|bWJ&B+RKK%jTo`71sDO$Q`8-v5nYl^&vPbm9NgWj5+1 zH071?k>IR25qKzq@@|F}d}c>W4_qJnQ5z1~PKZvDxpg z2^^e)Nku_p{h_qx+mQw@(=3@7!gMDnzOHUC`%3MfPx0B;w%wrwP}H6E{>bwkF6)J` z!PBBB8@yM%holq~TiB+;Wn6krdj$<5{GR6$3&Uy5g(G*2QzbzfG9Fk|J$OeT6SHh-HhWY#A(JH$rG0TQ5vBJl zncq6FA<=R7oSDugk|AhBB#`SX`doo>Sjtbab1alMrKm~7qmtYd(X@0i8I2tk9 zp3c^?QuBjf-|ElLb6EcXOaE62`u}viu*<{aisbjH%EK}^?BLwd>+9>E`d>ZG7AkoA zV(Aa$6N4g%yFwEyPj1I0#l}M7^YiWn-0kFk?2#lJ-!^!i;6&3(2j0V=KV1fQ?SC;T zotXGwzZ_{aRYMv|6L?2BZu^BwGDcnJvg-^_z0robM7w^~ZsXf8i_QJ|1P-s9k*Zv| zbi=DOuieSBkl~SfBag=ZSb4m3$=?7#A$;yVhX??}h&LwSwus_23Y8TU680hA*71dW{S*p}k*#3@%Jn%LfQH3FW6}Rw;GT3|Tc_GNPW-{voznc; za_8m@FX638((dXB2*p`4$QcHQB~pyQBN3PWz+ith!C(axrYsrQn!^hn^xN zgTt8NhP4ZL{s2akC_g;m3B`w|HV7IHs9P4sZ+Gy;cnO4kMVr$D8J}0;P_18N=3I!A6lc*J0auo>6(bV4!IwQ;M=r;az83M(L?!QOR37Pfs z^dF<`PpRFm#=ok3NXQjh20em{GYsq7t$+ugcIA0il zu!fNPA(Ba;rgVtGz5td2Av2H1AwLdTPx$Mv1+k0;suQ-)(Yp0~SifUx7f(#2Rjl9l zW-N685LPY?qB6#9gW{3;z~+EopjP-jB%US1D_71QdY&jzI~M26*MJcWf@^RLd7W4C z4I})$WeRW_3Y24(ve@*i2DmZWbLPZEikbqnbnwZ z66LZVFPWVxOowyA&%B?u3I{ltC^RS|@6Xn}T-4RY-Lqd^r@uJjX>J`2da%7cSG-_z zf)3P|9gy;OnnC}J?K!_8bUPd8*Hr{tIt!9aUx9u6rZW-6bI)f~0_SDXl1-lLqPT20=m^ zlmV$O0~pIJb>y)r zy}4feVxZab2D>q_RKJdwTFf^<`W>X5TZvA!O!YzJBcAU^@%I~jMY_c(Ku4MnnRcdC zrRFdkukq?g!k4JDJcW3RSrh5h=1f<4sDRu^ZJL00JQlOEHcmh*o4Q56oq*T!Uut$0 zHXvyP6LeMmPdT_HCmp<}i%Sxxd^}VmLZ|0dawT=4(spdjJBfa&oqc%P#;xEz1Yj+ikQGa)L zw{A|nvQ&OAq{_= z>rV=!aBqujXm!n>AobmCOyp|>URsUYpy`(x1bPgk>XN4I2WMy z5`O-w-s9rejuj3gBx9vd)q3L!^vj`JwvOw+b;pkG)^Csv`*`dqmMRH81>=$jN}>}Q z&T_OCT6BgJ4-L3EIjPLO`_ov(ZTW3?v#=O)9~oVt(-v?!#>wS!_4ec@ z>yhjJT=`Ys8x5+4=Y!N|aVG4NeJ#ZA#I6**-cqybRw|1rNZ-oFJYJqjtaXt#p&`Im zx&bvs0?qddvq^5PdHi8UUeL6yw<0+E6VL!e_=d*`Hd`%wTRv188l*0Uk+iz4n%Y3t z5`N~-mMxT2wh*)T#!cJ1zz5Ims-9}iBJ=H4sOUfY1ZYG0_!d1WYOU=8xy49M7vopa z;6x3hw-+{5{ij~~KZ6u?1zo#ZGROC+>u`st7~Fy|$fRzS zb?@zjq2D5?L{6*f=S7Q*+9qD_0LU93)(OXg5fWW3c=S)Y-&oUK%HD97ns&X z%oSzhJh6Th&$9JYW4=%A@Hbw7RP($0;{e+xSbYpqdMZ7_#ZB)7f-;5X5n5QrO0?FWQmv?wmb*qz^yjs2xpY1&2 zJ>MNfv+x_@y9Hl6u?zJQNTjEWRk5Gc!`=PurxK!_NSjvL_tO9t5NPojjuJ9 zu|12q`%$$(M_(Ge2EpmaPJTLYT2IrhsiXg1qBL1PG4_q5-8UdjPo#?pp&yL`-w%=T#(6(Z*GV_0fG>Q=_@1|4FnPb zg4Ua>M<+Y;*k6TeB-#T*N69j|c7{S#>_P-TI|SxR+0GT^aut!|Pz#ozbVXZK=~*=E z)>_AI`Tny%v=I11_Blq(%yhEwvWRE9&~OgrY&$!6_4Bw5xuxZwiv6ro(QMxf8nDyQ zU^(`x&3K=K=E$zbtnmYGyuVI;fWO95putCC2_L;SW-%bim?4bE7GI&_QW-jslP{ds zy;d3PryQY4u5eyRH!*4clHae$r#)^ZXtTB>Hu_GcYsUueus=H51}xu^gsU_`ACz4| zS5Bemv<`$_IYj~*nw{xJ1(%Q*9LlFEY?TJ3Bk;G6R|$&oO2olteH4&kYK1qGA6Ixr$<@WhwmW zhOX&e59d_sB4_chbRMsRKU95uM?2ZsiA=q>$M1c^4^Uu%vki`!dbd~11=4Fkg|6A? zN(FrRfz!2?nW~$^yc*07Mhd@@jvlGsRijXe?FMU|?W}9FEuCr2*|VpV_aMz~37y=68qI_f^mZ0~F^!fX6?E zLtm8WnfkA?H??*n6xvYR?&aLR(-9o1J5qY-=+5;Fm!S{?bnx5Xvbq4-@!!j8u>bmz zMB^u&kFy)YZUaF=4KaWljVhh$Qu4K>P)GJu|#_WkW%)c2L)vC>umkeKXOW**nw`5+MOxd@D$1uFSvmd&T9 zr=37$VZS#kQ0ooUx{8%XQjIKX*$`rHA#>Tl&5(PMEL%ZPkbVzO&v5=Nov#SCB$ShMYHFF^ccCBH;$F zuG4KMrK%@5G=hN>zP`+?ev|c_pcl5Hm_yES;nLwH?`{ik5M?3~PcCAGNAgwL07HeExgDvpO zus=T|6B<0W6Lh!P|Gg)vx-n7CVT^KNL7M?@AI;k-Q84lYQ0P^K zp^r1X-00W;(0q-%IJDBO+3a2E>#J!0T-*k01Kz76a+A93=4xtc0-QRbG(i`*>OVL& zRXdKQ)@wjib+mo&vk6N?-b9(!!&*z#k&wkyi00W}vWu@dAiJPpREeCVTxDr%j4>=P zWy@^&o>^-}uE7(u(nAlfc(gylZ8!5~Lr38baN+k*)>$Ni;m@0(a89>1RkgjYe(lBk zE}D2|^_TG5x?QXP)#|_B+LnMp^l)p8<$YfYGLS}hkC+YA*k4op=Y5QJ3d?35Mzz`- z*9J6xin+?j&YQEZbji%hz=Z?a9gWr)ZNtcqA3s;rJyw15Ov<10WeQ*RbMP-#1+EXxt}F$8BN_3opMUUcBD0Cxv_PBEl9 zokGvXpjDLY+gwikB%^cQD`VrP!k5 z5#q<|u`u84Dk2S|#-bK%U*;nC?U(vOZSEH*-}~gHn&j$xMZT{<82Az{TS{1{u&BPX zBM&nAzL;q`VFLMQ{nP~%9Urgr!bkA6Xy}?9a`o3ci{Gs9U+G~=C6hjjvT@Y`L9X_c4vB^bj}3VU(|gZtm_063M*C^94@?=c7);H_PX7h#BjtSns(uKVcblv#`oKlhy)A!MCE-q5Q`7q`w=(2^RprBCQM?M_C z3&zu}_jiv_ajAdwC33_vt1$zc1~y=gsI5*zaFm>l(em8;2L^D*wqK}-RN1Uh z+@{ts>E&hJ*u^_Y@F9`+n*csx0ca3^K)E^fE5lo=PIP_;l8G$6Q9fkvq3>83>)LMKEj!yKQ z1eVLTqt!kjFz{PE9uVVeOcMa(C@C;uo} zi8C7h95C_o!=)6CuvBA7)m6WuXc?YQgZl)L&SS5k-zvbpg4iLh~z)pR1An_Z^t9KCQ zk(}4r2|r`$Lt0#v&&!dxFSW%DfPd-`Oq7dA)Tu6qMSvhIf<{bFcc;#Lhz^7k=-sl> z0?!rnDjXp<4NO3n0aQjBw8ozs1+MDLo}QgSty150oLRPqH8b ztDH{A7So(wV01Jt1)psM&=hR|BR-IE<+@7j6yKO{76Qh(Kyb?|RF~7;;IWC1dkHDg;R}c9Ez}8j>HVuSE_wiwKKc_?s2PBMJ=t#0>BW2m-(XHv~xx zTfPADKDq!d!HIL3xmLf{Eo~P6D!^9RGJOZ+6r;vl6XoU9jQcEr5u{SuXap2}7XVVD z#>d+5(=+#U5@3JK;}tFJp4XbBzHRosg#_&ZIoDJzJJn|U`I zk3+^!SRZ}%{4vUluFD@^_SBIxZLghQJ2_Z;3d*cjBss}$b?fG|_A3+&8&&`rgWuyQ z$I>PPwEmg%m9nLICqkHDoJcB74E`Fb#RTKGnVz-GmMJHfJlJjGqDNcF8gK^cct#@DaZT>ggKPoS(Er)u0Sy zi0SL5L4jHz`>u2t(rD0z$b;kfo>I4*ZRSaqr$h4I;Ss|tn2l^=1i&^4swUJZ0>_v3 zT+Td@e5mP4kp(>Cg}=2Yw+ty8+7p#ObzK_Fv;;V9APJB*2 zyl&+iyVZHtJlOhq#rQr=DBkbXC z2+m>9xVm`r_;w>ZI^t?&3nnXTRT&{lTUrOeS?z)flUeIT-*R7_TGuMDjUr2)+ z8)L_^S|U>n>m>73ej?hMYI)Xjc|{6^$H+K+g$z2!OEMpzkoSAUo(O6(KPYPOAEoY6j}=^UeYL&+hH00DhGR;&2lSPgviVv z*-Pjz7D!D2Y)UyeYP1oQs9UC(cZw*@ELd$s9Hp8^byJ%HPJfWTd9hr7jH_3Kxh5)`&JSUB z-kX6H@Hz37i5`wASm``|sP0CyAWGY*@lk=mWSDeHo=u+&&n;*ul-5p4ih)zC*54wjH9J6 z1=YWemj8MY*;B1Ii1Jx;<=QV@YkoJw0d2ZbCsWz(TyBey_2 zu(UoiO5bmJs14elu0JT@cLC$2pprV7AWAe0^iGc>|W}UlB_657`*`c%TAq%Fy*$A zL)-_d=lQ{gux@i-n*~U?zT!0aYDRY$Q% z_5^rw+#a;`)E>Oq2*y1&`<`!7WjKAua#bZd65tUbH!B;h~W#zE?V96o0N139dnM9A6)KX zim{4$U~YO7OsUa&?3~HrDv4-Nl!$m~Aa9;R5J-;fc7-iCj~CTc2a=_OY_#;8+2gU* z@@>1fzZ=gUNTlY;-9WO2vXm z?_L$DP0aO=Wtw=Y_Jj&@yB2bwIHvksP{{kL%rMp9EI6aIJZPKlSC~s&+U>P^Ao`de zNlt!Nna`^?9ETDm68@R!z&B?I>nEq-gw$Brg;vAPg~z%_&e@xSuKUt&L2T&ZV!TWd zZ>E$p`?5NiH6vXXLwN55e6(F$V(?fq-Oe(LEw2Q3TbvtW@Ma(TdDf=M|5lxMUn4DO z<$U`WZ^L<5aIgC}>3aHian+U0O21expm7%@{K14DufYqSu@&0w=P zjtx0!$!*Q&tyJbYtFB6m1FZZcOxwJ%_hOrk1b z&CbHaPm~!OXD;V4WO(OScc>9j<_`{HkFP5zzmexAYq>CTaj$(YEc)MUNEm++@5*n^ zee`jb@{sv4ng;c?kw^X!zsGrlXu)gJ!0ft=qVGPNLoBsvQL_qbn^7_?54KuvsK_WS zk8j5E_Y20&IxvqUQ;m{`iZ)QM@T^PIlIXVIt$dX|4S}j@E^H!6Uq54Bg>Pv)fwo&y z`rSu^)N#gGSSJ!WgVCGn<&B2rBye{ny^&kVx-gnj%HHJ0(NUUvkr#4qvHR_ojb39? z(C_9qCjVq{@Ky*5z3zpDf1{E=)7}VQu(OH(;BkbRd34FMQ?)~qT>E84*EZ)^dm-s7O|H|J2z!p4ba=T z76$iG%M0#$>Ox*9>mu-eZHSB)=6W{+vaXA_tK-qeW)xW;m(Xt(F z!_Ju3<0&)25@_}D(PKkI4eQn$1e$xF!DZt=?VTPrZ&n7NxejM{ayFL|O3WOB-j!QK z-55aMlcj0KgCw(FU+GT^Jr`@fZO3I_U=4kKyPU0InlHz5T`B;8K$@u>?@JbVkJ)fH zO-m_9U|KM{fvT!`|84oARJLv6VV|7Krd!j*I(5Cbv7+q(ui&>Cqc3B4-iuepjlPHd z1anC(e`d)7LBECx3hs%+%1pPuCIwt0N_f@`5_Y9xUJAD{D6s}`YE{4yyH& z)z1=>4)@rIgx3gqWtF;AS?1?l{76>p^WDXy1C=LVdck9KS?2%%-zhiqdqKkf3hTq8 zhtE4zrYos7k~M|K_kXy)13fc2c!7o-5^OG0=LMu?Or{py^@8J}pL%TnRb2fyRJ;Q} zQvREG44?~_7`L8UJip=rgQQ3xN|rX8GwKIMAWrv##mO>I`_axo8jn@Gc zehX3}SQC$u73chPM(>StafTXNVhn6_ZTC%mD%qZ92m#PexCHIw%na&RvCRmu^)xVV!@|9gZ`Hi^kpBE=A|j;M)2 z?6o=8XUuz@j&@_`pl4ccFF!z|1}kjN4?bPmocU#!j_7M^v?nce|Ho^lO3>E7iSOli zKER8j5h~jgbHBhVRxgtTdSLQ^&0D&*kqOew)|zN%{6xD%guOjZO08)pObZp-mB~_Z=>zmW^J6m(tV`-8=ebL)FrN+;vaWhvS9jmE9 zAG8CKboH&nf3AbeaA!>s4eT=cKq!quwgqUzw%1sUoSch@5N3KDlN2@n03a4X+u>@8 zCE*Kn;nRd!lWzfs&|W!+iENujH5xH}7t8Np#Hv$|W;T#k=`{r!!kNAwQ2-{04FDr5 zEjpwrg?x4Ne`Bx}Xq2gxYy?4nN;rhtkF6$vVkAgysC>#|}(qkC}E-$`h!XT7nBYhemr0MD%3WcvP6Q-n)+3`j#N- zJ$b`x^0K8>6wB`PeU>!JLBzrk*0J8Pyauny7VuIXiSgarP>nMw`-}4JLYKZ4^vL%@ z;vI>6g&8}zq+izh2M>JmdePB2y4iLrUoBm$LcZlnP1?6o>=on9U3F+HVxKo`9zP&G zzSbPyT((ps#k_v{;>N*JKR9?d9BsRzHtnDrIoV?`2YGh<7DyF_dNcnTP64cVbeW6C za{Nc99BHNbkT?;mDq3v~+}JZdFpz`%`*6iq`nOJlQnR#6nvfF-VOO+FR9b^-1*PEo zg1NponsZeqEWf{sMbk-PWZT|eUE#3;*-?1tm#4I5ztg0ni&gS*%Jdon;2>SFH}|dR59KbYX2EJwc{I6|F%By zfG{L7bPM0|4#X%l7j!Es`8Xz4$v#rypF#vFA~mZF50R}h*_oPJi{pxYGL>I3K5oK% z`HB6a$Ft)jG)7H!@ob_ujzfo_U1zqvTV$L%+ow%#^{e77rdw&r_iq)p$m8Stnf;i9 zy*|f+)>?(Fqpt&!*wMDRvPW57G!@G(KKinIfQA`l=N$=nEA>Y~ueKJA6w{G}3o}Of zo^04?V0yfjy}Fcg{ZHaM8|2oy8R8>nvhd%AuD znJxQv#nDl#Y#d|i*xp07AF9P<((t>-JN zsTJct;?RB!4;0bq!*a+f_n4m66(J;+->b60GR0~GDhkOu=T>vDzDq)~rpigne8M=g#ecn0Rq%y_zD(FN^f%_&(t;NUe!_)6 zZ)df!(e{z-=N=L3)^xvu0ITGa`J@9SbfVueh`@4b@V&^7bN>e$ak~U#P4tDg&LH*r zT2x$_=@~GsLYfI_L#^z8*l3hA^SM}GhxEYmlou~Fz~tv?*- zI*P6VV{6*1?a^r+lDeIpT{f3@?ii}#lJdo6bEvZqls%QdlCd|A{o@JwFn#mQd)p_g zNk>OV?Zp#@$9hffhA#%XXHY>N&gep78JVCQ3EQhwsLf!d1S*on1Ix92ZijUozxI<` zLRXz2`P3~nHOFEiiAje#-5jFxtpu28G;*{ROl0{a zRjyN}5Df%R*|5+hLTxvp_=2^VIxR`1R43_%rD4z#zkc*v*8-D#>mfwrC#0>fF>PcK zq(?bOD$`sTRo%lCTX~6NtY)t&y0^mOI7lAcT~s=7vR<4QssDEMR%K;bt10~;E@n6A zCd8CTk1a}8gWz&xHhgB~;(l@|SG)7uLYsP_Tr{AT(e9hgPfD_hnip$S4HWYtZNH9b zqn$9@H}V+hr@Gn64l|SC=QOt}NBWF5T#3={DVCKYR&mWiiq{3fXz!OLo4J}@ilH7y z0sO7;ZQOeAG7-0t_6(t29~oHPWDN}%zhmNYQx)ghn1Rv zrbV>q(iO*~uf4Ul9+c z7X~D1UPAZC1mpW6D@5~PSAj(@n^xL&fmoyY;sAO4D=ajZ(ay@{bph@NLtUPnaLI2r z+xjk}^<|mUeG4p^m*Lf_eiJW`S4%|mwydDOdh>SY8H(9@NaizX=*@{#(gy86G#&S7 z6VfIS>l>Z9(Y4PjYP%1n8T_I8cES4-6}x@+E7KLeb<=(O0}t0Zw^!aArA}Tg(+krS zc}dwnxh7*q)1Kk$n4s$J!_z1ccA=6JEsjbdlJn<|5&qVLIo; z*quOQ`x55^V%^}|rFuUDn1b0LIc%%_`PXn#_HSTL!yH4xr1^3# z+G2A!uVcD)TeW#>tlaK+B_~xPnJc%#W}6rI3p>r{J#4OrbL1msaA~qM4+*AA$xPp7 zl&$%ks&QB^v=9Rgzkm6HmHV4w%4R=jEeY|^K->;|jGTB?$h~em``3u8+^mX=Rp9yfq|0jHd)#h-p-s!1j#+%0+thHrP6OTtK47Ls0niQ zC2+{}C9tXW9j7;YS^Lfciqq%@p3l{pTDAn>9(EbbOTVz0#u9M+^F6yex?-B{g8o+A?NDP+&vuvR*+{<6{HU1Bm^syt9j$jsKeLF87N`Dd4p||TpeVdxPxM>@ zgTqbu1XJ?r3A#%(FZ-{4V%%ChjnxSk*_@!|Gm|Rge$v{QJFkxuv9JSX$$Q1(Z3QM$ z8{|i<+XR=Ju89?wrhTs|U564z#l&xe*>M{cf6+H_6eD?-%Af09&}Ks4+2w2p%YA6u zz(u)MyUU&_Cvg6VSaEbb&2N7yy0#+}-FBX_vU8B2o*rEh%lm83II)7nb^E%jv;OS} zjMlnUi=}(GGAmu^lI|PwQb>zk$-nLo_eQhWY?JaCyduMwfOVyw&6Z?*Wo4bPH&eX> zlq{p~%ogT-ctzxcRjyZ}#ZJx@(!GTgU=F`B#1?j3dn)Wf3c@xJ><0%~`F_T7hl8U1rF3xNjm|vh7 zZQrJYI;bC6Dw`^z$)DQ=E^S8{UB(u>?`%iM>DhIp)sW>KzX|ku@XAgiq4rc^wup`J z#8u1bq)kCwKcJ_Mp6U7Ls~}wTJdOdi-3~wbdC6KGi^|(}kr(V>F&bkF6BjG@oB3=D z)9>(f`KB2B=fd-+ua55pyCRFyW0o|C^ z6w?u3ppi3Qw?_lXTROU@rJrF+q;DHebn#rbAU&DFG z(&;Dl--2?Y?`I$JzEzh+jF@ys>=P{vqmDmbO3g(*cpcO<82z=Fh4BTFF3C=3O@aw$ ztBRUS-YaP`MG1QgTFcAB?Rw!RfhH7o&cf8(Q#pO@=(@fXJ-mEKEH+fG_{)?dLEvdP zkG>dyeJO3nmQjTs%mv>+mt!$IWE`_UY{T@vnMkkL#deAIZiO{0f~;H4Rwo{JM(6H& zHpY4O;_YthEB^C}QyEw^;gcGh1+oMSTdL{)J;xl}8feDJz}%uqkv#A2-x9(*kzxI5 z$43v35NsY2N`lIGCB(N`6)p2yi7Pn+rGbw%66?;FjD!_1xfE{vqt|vZA5p#Pb;iBd zTKt9}>`N6`L^x6WIJuYmL3+y>E@r~so}pL*?aF~A?f&=M2_`{X33qaKLle0S2;1X2 zJ$F1!dnRk)DaA?Xog|mM?c$6H;ge7G9Kz!5TaS%Vtsd-!>L8F93K0~OygNQU=E9jE zP_NzfSfdFu^`mwdlCOxPpJNUPpkF92vjrJDvkF?Om+Lsg4->rY%Xjc;dP~+n|d#0sLorM?>8rOixxb>&6 zBm#0G5bz0%d|TLA-|&y!rX&_yT_`+jluBb{>rl?CncniHeb==VA45nMcuk*@J(AH_ zvC>X;Qml*A$T5eBIinn0Ha5txGb$pC?Z?K}y$m}wUhiGP zoo`{ABoMN9>r(1bomWyNWgr`At~_DfaL<9gP5sQ_Vn9+znRMhj%J$2qliBv)Zw{Eb zpOh73?7fR1)}S`(+!!VUMk^W# zZ%#6Xnea80%WOADCjvs5EVtJa>tFI)jd9L7fz$H?ZPM~HQl5m;J8|x;3)v_KUOPg3 zfk5zRE|M)fn&%agY&z(vEi&)&x*<9X zcUE)CkK7Hz!*5Q6k0VnCYo2%$+=bYX?k%+y^Zo4@C3XqX7Ol&N;A4mVa8>({W>D_w z;g6GX6XQk-_{2g6T|}|W8+p`Dkp_VB!xF-z)CS5umqR#>jsCu*BoV5VoEw_o zJ;KgH9qDb$E)7+u6s8?V`ClA9=;A32jWhBC6i+5C?bUTMmx=f-3U&;;E`;sLwed)B zB){uTeG22;vxIWZsH@XQi(s0sd2qgPaC%xRI55JEpTcM7Uous-1k_$2AcuVZ;&PLw z&UFq#!~&rN?EDFZky_35z6_dD?YaP93#6WHjUFqW0C7v(L$#OSkVu|ThdQDqC?>ON zaS?IoVS#dWM8R&nmJ$P_ElZ5`s%5eTRr#bH&qfak!EV``61m@*_Rcqg9N6Ew5)<*-W6of89a_AsPSO zLj9&{geJq=pvxfzE+J^xogfx!X>~OclrhWum&d2opy?5kT4%e|6PxXR9{#slzr=Xv9sHE-*P1sx z2T<>iOfjt=U>7@}46ua2YBnoecLm`vqSLL3=!2wQH5TLJymw4`C4py2)x7|UIahE@9NL9t8xfmM&d z!sp4(*=-(fFzzF2^;Y7(!FmVdn!&9n^jfSsWPDxRa35}#+dw9sHUCz?ZvaS%WDgc{ zT8jXRjhV&)^GlEgS(GXe+wTQD*K7T$W-4Fb`qiuevt!Z=i>j&aziA6jq0ofC%I~am z5HIuhgn!jUZ(D<@OmYFwHt35BR{T$mYV;_|2>xIWrMJ(N@{FuC;A5OmZ2y|V|Ht4S zTwCcyc}d^d`M{AUn)n}|>wj!8Ga=CkRA}G3nVU0t>$i6O{F49N=p@?x;2?9T3YbDV zBA&GxcKs4a5_N*k0YxtKGrbx-vyLuIH4YNs@}O4lD};>48|~_RJF;Z~hYON7lbJ~{bO=hG^k zi?NDNM)b*Lo6oTKWC5R&68d)d$?N9;U*8kYf=a>)3DeVe)fl1QzKh|MK*8EsAPvGG z`QU}?gaY}UFFyHto)5ql0qBBrtvdsLJ!LLnt1dZBM`&5zk!H9_0ZG)@jkm|K zrtZK7zQnpbj$FAKJS1`$x>Hhl7jRYk$dE#?m+vz{Zws(Fg5`5fy>^c*V>| z1bwbNRNZjlpS|-HK*$A?_Uz91;fdY6koRi^n)s~+Htjn4$HLCz#VWv<$D+6&6?z!UM1Rj>=u-rt2~CIRb$)+S zMuxm--_X{-Z|E&htrYgXGK|CcT&{n;xehWuly4htMj*E}fHAdoFP}`;aCHt;&Gx4* zm9R2(wv@s>EV$3SfaWfwfjb{SpZnL2SjX1a4_l26zT3gQz;GRX%T<+-^!))L2(K`# z)q{WWPwqmM(Gr%1fb=|^yn1ah+*bF{}Uy4@z{JqbS7tM}guu2Jl3l z93J`uf$Esc>nWo}H;Mk=e?O8nz#Rg8_p1gj6UAz2p0Q@*gYUloT)&5^H9BPH6APF_ zc_x@O=JQB$8YMqKDp#f1g0J_9p~MSoMO;!2-L8EV#$`Y`ya4j=Q!?~{{#4&Uim~D% zTbyygzoUc$Lq9;R@4WG^Zy+oK%08w8Nda_0n3-M!^GV0u8O%sx-WN<;LcxD8lN@vO zw!6CrMI5_8)BkEgPh_b2oR93jPm*WR8WfMQf8vCm9Ii-tu1uHb3D*83n*B9Vzf&8pZLFoQ$uC1Wh zo$!1aI7>1RpLc$L{-G9>n_Hl}{uswDKJ3o$E8ZhS#w1c4iOS$7H|qta6yV!o85cir z>yTdR+sjz0RuJj{SPPJV+JSrj$n4gCzu+%FF|5^y4QXG@UU6>O(gS{$iTpYt|F~7c z*#4(gg%dug+Y2p)kL~dBo4Kvg;cMxCMkX`93gsd;Zp48OEM)ac zh_w1Ori=Le`ZfGU)2YkJD;QXps1d>XXd7y4f zVa^utu*i3hc$X&+S44%g0Ek{Y-5fy$lEyZ0lZoY$dQ-DMNZopORNUE}TioTA+L8w_ij6 zYicCsI)|oDS_5pNM2ir>3{?D~?v=|0>dk_@B@5p&GG1dIt#sc;q%}AevlFiWPU}P} zEuj=}Dm=xa;u_6!grB`02hMTE$x)E`n0J4Dad!FWwZRu+!3 z2)9*hBoCSZ^4dZYU5i67o4{WCl@j#f!%G)2e{ICnK3e$U>29vpkC027Bs6)G`05I4 zGZqvXjnvz#t3ev&K4S|&WoTcI^S`gEc=myT(R@BDsK_ihf*hCxc~Ys(djD5Ldk-hr z+ouC6(O!CR?6smO0Kd%t)Vq-c%>4IqYpuJ*^YTql`}#me+sus6@M?~JDMJe+CLK^J zW`Vz=l1^&q6=p3+Zc{tX$v6VQK*d^1p4objhiz?bydv!Ff;BPM$Mp_qobFBZS;haH zc&09Kdqw-0Au`y%T7?IHeiDur>n|)<<>d&y1l_{XL1SQd4L#6ou-^qKT96N=mX-4Q zK4X|Ob#|SbBW8=+=M?FoB9UwQP0r*XA)*ry_pE)>Eard)Hu?p~M;Ph|VN!1jbY%%9 zAIaA)Nfa1T!-0RPq=@KAyU@`id|Ed@E_DPKU;nFxwgjLHqYLA+Re8X_l_MRpF;Z7f zL6rq2s8=42OG!G4BzSn=5~|;KhMAbdV`9xu(Xg@AqIsU&23U=ign}06WMJqr9M1U}``hns8Keodh5(`N4E%NEXcjJy*Hd-Jom+wK zqVS)?n&Jj_LuF3q2QR0pR_)hj8z##z;GenkdGMnBLsYEqyFzt`6B&M;@Esng?SeUx zLLPA%N&c&No5%nE0SEifO1q+n2ITq9Imhsv2Eb%B3%cCXWs!z~IYr?6E^V z13&YF>U9l~!;U0Q9I<(lzlumnqGZiYoTc4W;zz{{@b8JT5i640&LBQuA-4guU96Cs zEl510@VmWCY+(s9bPIw{w6&`9dSXRT+4Y;lOym;3FNnQtoehg;QEE_Tc=9fR2#C$w zr$9RpKHYM^_dQ|C(sfm#PyjO1qm7edngx%aL2$Q=yCK>UCYbrIP9bEvzqo-db5 zLdf_|9G+#sLDeQj#b+7k$4r`@5I$ANG0&)rJh96l{m`W9jw4=iyx2sujx|b1r z`mA%gh*Nan8=wU%budW&T^wGOb3eLxozu7Wzgct^cW3J8pFe(CJNVSzOB<9`JWnT{l|L`UOZauT>)0itp#wqkbv~wL#mK*P-<=N$QnxCMI=Noh&XTb~ppxe11+a?W zX<)s`2IKz%-9{+IoZ;&ii3)$~4$=_u3N|sx!|o=r6F+^J^XoZh5)Lk$FT)~+cQ=>3 zrF{o?{i$`&Er#D0M}s|Ht>_0CjeoiVcVY1~eUIVajj(tBQw;>NhTuPt|Nq&Md+g^o z-GPy^rUgX+zg|npOO}Zn1SrZqL?S{!Ktn)~W2$-+_q~@$j2Qs|{vQwcDMbroXBS5k zCl1c%;1}2PzrQ`_l;DT|_4#vgZYeH)et}owd@p!-1YU^q3b5PTnuUT%4>kq`2Ke{b zuVp2b5fC2qfInBGp}-&Ej?h6sU`BZ@`AXG2ZFdem?bqo&>cPbPd6|jEp9_XKO5IPg zd#OFKZ_rN(S7nuzV_C$bGW4Y+9aWXLGG;#$i51S$iSJoW*zC{UpWl*mo0_&d?fv?_ z<0(QDeVBZio-uIVD7t@1$xWD+?QaTH0`O=kz-Aw%fBqZ~4kQAwaOZ0DGZz%_Rk^`` z_yjCrI4H8<5L02rfb%KHikS0jg40iPC6J1a4yILs{8~~n=i`IVpFYW={`a3IdknsE z&d*JLek|)7CMV~&;DMLOt}kuGK8&c)jG4`p(F(u+uP%bi;Lq?5MZ%M(#ctA<>lvRkKe{u zUY>s~P-{*p4+pZjpic@9->a*WoYCB%HlEXTU$Sg6>2f_F?u#FXg!tD#Ws_y&54J4* zd2oP+gc9;f+y9sKVw&;+jQJ^=W4Uh`i1}%kzaV(*{CK@H?M5ae zuP^=9nP_>%2>+4UhG=uj=O|FJN=i!83eyqLW@h%FqrHTYkUy*{bE`(_d1y(=rGgoA z&m8~BCH4H9M7UrJ6R0hS#V<)7gQ_f$%8&Z{UH0pq-{>!OoSzUZuc*ezDGa>)Fm8#3 zi8~Qs#7bB5oyj;_YwCgQy8-n!MdZ$x5(Zc`XrF0iDL%igzR8GciNJKq(Nf+P_PrDBqE*#>@And74*A+DU7 z!oGQ@VQzue*d*FKb=~F?>k>`gd$5o8q zPxU1`->Aj93!?u_ET?6Eib$R;U}G zq8Y_H{rY-+#QbaaNnn$6ZD z?_W*Ruv1cyAWuD#=d-Jzuj12B6lN@QBlUnBg;eP zLH|rJgEg1i^|H`t?sVcoSI|Uap^e(N7t%5-R;Q|L%vyBRhfAFNeoGN@9w1nfB8vL< zQAfzY%hlfVVw10er^>hrv5QP^5?ge0?-bF`_7~=tYsLNm;pxPY$!B?x;iR;mDL7eW z@vvx47Q&JI=>Lbew+zd=d$&bJq)|#zx|D8_?w0OG zQo6fC5$O);?v!rn?(TS`yL(UG_kZ?T=Q?X$XMZ{${GdMdt2ys`jB$@Kt`UcXhKKk4 zqh+e#NNQP9gI(y7K{TajP=&!=(TH=)Y5yzkYdyu_QWjTw-`)nU!}Tu15WI_*kB{!P zh=bq*eydqGH{fSvL+ZO;_0RcayIwwhOAxX&&(=3M2pSp80dJpM&E4@Fl<{$e@~>maV9WS&ycz_G zf*?i6iNj;InEvS|2^a@v^Ya%1rKrjM-HOnZFq?BP&;9j=Gw@_4)vC8cP%fJ8EGm-` z3_>?bZc!c9p;4`MR#Ithm34=loL7_CiL~6u_IVEj*k5m@r8Och>E}3t{3n-3>Pr7C zfuyTR>g8Hx5qiwKvk~?l_oL?L zOu>$VQx{I}D&x?OQ%G9T#>TBiJ@p9!pY&s)U=0(^h z@~Ru$afj?z+c~;}?32eU(=zTu9WGMY-rCwP%vfNK5os`mooGnYxpQaJv(8Uk?UfKl zRc@A}UK1fJBzTZw6e|d!XU<+?_O!!Ji8}trp|(bb%gOq@H|b1pTuO?OW98yzO8wXI zP5BEe4eIo#yH;6yWqx4f!!Etc;d)AxcSd{^Bhv9bJl$&PFQBDbkSM_9#nAU3K|zWm zCWC6eJnmkqm``P`rHTVUExdDH!L1GOeQ!C_jqZc7bb)t(jOw}Zn>(2`7%^`r9zMU_ z$=m7aMVDTvT@W#^owh}xSZuGy$M<93O3Q-oy^ErE~?mV*qz9W zy)`n?MpA=5(KqP;I`i zw=XN!-HYv;J4m4`x>?CP|pFz^iz^;S4bii*cT6&pXN~ zm~1iQ)KpH#xA6?Rj4+9S@Y}js6a`M}6B^EWlP41s6Lux4e555Qs@+M3(5zA zehrZn3rW~fNd?#P`udf!scyZUd?=r~eND)rof4t!maJcp(m9O^zOa(gviBkv(}@Z` zpO-j9_fcoi_3mf_?f<$}Q(K&bOM9;(trDl^D@BmlimHuMzSrH$qB9ExYab~LF?md* zF~an3|Ihjw~64Kx+aXr>3t1JLWydm=Xgl;sTBA4c? zRk4nAQQw7#S*Smp>BQ5bXS|lf2F(hub*yI z6jl919iDgg9z$(&Ly$R6B|{MNd~Zf3w0bD1y1V3lKp68zZ5V~m!~YaQlV!akHd(xf z%cA1;08WB)zgZdgKWE^$Pl?g=gbf5#X+F+o@Gt~TB&ut0BmW7N6@g6`cldFs!h_Q@ zVzR#Y*oqq6KvY7Q?{{~&m)kr*yB>R_5zEi)d25GBtm{^gHO*O9+~9fGT>A#_btN@B zV+Q3|7NrGGqs)|~EU&m6T&4|NBPwG3;jZ)#7q3Q37WkE!65^|^S0WP_zo0I=TQkC< zc%dL+KhCT%Q5-P`D;xJrm#uKl-1#*r4}1O%8E~lAFb{4iZA;& z4y(yPp2{onf@2UGAL0ojMYnqylVv3Z-M-pZ)ALdyCvvoZii!!_#ArlIv&BgvDh(=B zZZxM$`C8_U;98+yy9(UPYwLB4$6wDhOm<8&ooX1Hk6V5;>YvG-DbaMURy)cMDNS9OI^AURo-Ttt zzQ$!1;YnW0Z;E=t*2T{tblYpXxk{X=+>IU5aRp(~!l|28C>Rp8rqSJ@Oji>(AG~LH z>Jmy|0wO-#J955`m)Y;66UaMuS;EsGwoG8~9nr^(ql6fkSa{fe}h-b~`D;0dZJY?#RpF0bxUA}$6VjR*A z-1wD{DrHiPaag}LZ4iLkBg+GiI7eBnK!HN5*$va1;8RFVNns{%JpldPu~ChOB=1iW z6jIVtx-@Uy=+9TB>Q$75s%5D_y$6bR*QgQbY&kxc!BsFy;MK|S^0^&s{o(_-$?^6V z|Hqx5-v6&}=qQ4+o2kIx=O$boQbfHeG0U-&t7d(A3__$XgAqpvJ7YJ_P#dK(G&FSC zV-@zIA}4>f@I>XCxBH4o934|m2PuLp3`zuAHdE{Yo}4`9a@zFA{dm3o7Nf}nl?9(0 z4K%qt6l98i8g!dXV$D%uVn#S)d3q!G%-91P+;6y_-;kl~BPOl9>!(Q#~)$JwOag{Yyg~ z|EzqK58M_`|BTdNp@d0?K3q_^X^tfB(^Ieox6ioWzDC%X>rqr=w#Gq)}hET_3OIUi{T| z=Btn5X4S+B-BBC^NuCtjajj~pU9dy75`2vD4^GnC~YmlOhhJj%)Zv_lz z%;rGOhCO6v+BIY(hYk3rxB!XsD_xHh7(&l;`6auBh3OQ#{$IhsLMt7(C0v65sxg2L zf~?mSD|Ik96yggFr{5Ds@FO&|3q*R4mT0mELVnj6_Mrn(Riva$AqNp?EWQIp2V{r$ z`WGmuG$CVdxM-NXUTDNsm6ePjDibJHM4J!is@^BDn)VL6mSFH@drANqM5LM>UL8QO;V`o4uZA8a~MIz-ynF(3!LoE zcc-Lar0T=blZWc>z*T|t(o)RiWxL@e{q0K>~{rR{egEf^hJal5*@c3^v-XA(;J(Qt8t0E^b>sFNs7#V2L> z77x#?VtHxx!%u96)GcsQ@?KGyqUGk~e3{6VP5@cg8dhb+5)u;Ez!^hXwNl5qvI>h< zE!{8kw=hI&yuT3mKXg3cFTr^mScu@IVaTs-p1q*jumb7OLS|;vfByXWJOFY0hKOl% zzAgVO2-YV;&|j^m!-{^Xv*taCZhXG7}}r&h;(GFxt{ zFWevM<2)N#m4KmN3VycIG0Ou3@!u_FZ3@60B~&Xdq(rL3 z4T-%g&G!!&^6il7r*`LfSSNg{pbN!T{%BkwROictS{ac|3~UUkjV&35FDCwry8ZO+ zOjJd$G~#Rz_Yi}6pIqqpRp!8TC zIdfMo*!rIP#}i&ud4W|`s7iCT)w89x=qWq6-X>VFie0MJmhe+Ae7lsJhYe5SOushk zmxe)K)6HyG*JOPzmV7lceI`_S+`}@_01{Fkc;)*8@ntJQgsc)w%N$&`k?D?3#~#%$ z>tgn!%wQyFN_IH2*q4va$S$s!HcWI^PJhcNs&$A65I*|Aw&u8fy8g;I}oO%O6O-pd3q`D`;FL3jx z^23#3Q}5@GZ-bZG{=8}P_JXN&q-=TPhB|BWYP%8tt0J09&YR{euAk^P(^Bg_8IBo(>98!Aq#G_@ zH>1~O1hL9~6Yjr!h~7XQ98M0)ABp-neA|3DAgXq+MfxhgY@>xR4Cu(`dv_HZs&dV; ztwO3T1L^xrRKK};%cb1m!Mj*!4fB!)a}An}y9bSdU4b57Az79ZbfS`K^s3*)O}oU$ zme>P7U2mX>Il3-3em;FIS&8{9WX?!F+WgO|DU3S+7HQWilKt4~zNU9~-X+z`?^zw| z>wf;WgQOC)=-~+IIJMP3ua)2o9S6Ul!n}pfv2tj|)s~q-iRj8g-V1mY7a)E$OjAXL za@l&q$unT*8TG4uY|7Kp5*#swxU>aq04&s$lvzmy=6A?tzXmzJ%dJ(qWaj0ELywk{ zi4ZdTH26*gi((~ABUvdp7_0E*@QBo>1B2}N+r_C|x{kEkqDIeWpb7B5@> z$*{4erSOYK{~~9J^4uEz>X|lw5n|h|w^i{#@5j$rkwy=M<%_b@iQcfX8hMz(FTK;? zIF+Xf=b5-@?dVr7hc~DW;}kF7O`+nPOoSSN70Mu;Y}%aeI=JoE#UjI2Qr_z;vo0vQ z?VR~H`Kh4#5?)@PctI6yuL0&G?-9 zNB#OVrNwt{FJhP3o8m6U3Dj$mZH}A1TxM78r}QW;(&gFe58rmM$Ia2~tt!v6SwRV# zmQ02}mUG9^K=7OJT=JNXi4N2_X0HDCQv5oCS*Uu)V`0zee#qlxP~>l!O^_VhD~x@H zn}y`G>_T59FeEVpX>Fb03(I1lEO#c{^E@CJSgtvYJKN4#?5S3r#`JziC`x4Qc*s3n zlRCb9OgpM;l1ij{2#pq5cHI;_g_bxqSC^cj31+xIv|fAqcpQ4ILgs54|My}X*oynl zT1*A72A0+gF{M#8Z?Bo{(C{;MBH>N-Wt51uHU7d-lw-8WzUh+IbnmCj?J)yJw@VMU zl`D3zS7%DHTYUPJw}Faj2wvO~2wm2Ccrk%`BYd<>$Thh?w{iA%@w9;tP5so%2cNm~ zxO}a&@$fmqO0HCkW1`Z!^#Kbozp6WA;oSNfUfZK2&mo*3NMT4Z?&Zsu5z$#^blYCT z*fT#*M}C`rdP*cKC zxr6Oef|whO9nEAmi3Cc~rR~WA>|9x*g1C2$42lY+{|#`7_SW$F$aMcOnRQ1hgkV9} z-5>jhs!pO09FfKD_~ZW*P-Uc)!4Fw#^cFHUhV73j@WIygc*kb`ag@$K%N`X|l=o>b zPSP9L)YVfz0H;0E*ftuh1<4#f5EXbooVl`EO`Tvo>;dFUC*Vnt|fU=hPTuoS$5do!yYi|DOeEH|@p$*jZsG!p82t*;Hp^>Wg z0xo0$V3;%=c>9?>0R56&o(w^?uALoos_S1|;BQFy8jrQ@-}azvS^~T9Rj4fA!&{(S z>H_`KXpR*2{pEtSSv|*`({!;q&LK-l^m`sN8W8q9n zTP?U;j`c2X!5oyRnp#4GlO03L^*R#fzV_1e@gB1`(WhnN68f?7HL`roT8=pS z>igULi@o@y>A>&b3s$S#F4nc$^Ryce=RLz!Mr2d(dmsK6)YrWIp59~?MDhOfb2_9 zPA)>@Jzc@GF1%`lw*&O{$A5oWuY>!Noq(O2TkC-4J2Gx2^&fB|GJ!=|{V8$mJz)Kn zDQ-akWRaxC(I>m%=O#ya{yB3`Gz>rJIrP*K{RQxJ1G;#(0-q1DXCNApp!Dpby0Z4L zdPb)MLzX+E{|>+*`RSFQdC4n%ilfuCIbIcr6{|M}eM5(?_d`yDAH*#?FR!twqf*5*kM&G zTuwe8SlfLtn=%Vg)lCWD_0%BYTDY812JUv5e>%6I6rM9Ll~ok_q;fvQCPpx^6*%OK z$I}b#G1UOS0Ml3*R!--`khP9LO{GyFj}X?+{IV}XStCw?kA~*UzUwk7R3S-Yc5@1OX0(B?+&3UxNeug9ol;g7+w6Gy z9X!5$&sn~En``?Q@iXJp(FnqoUPDQ2W}2q2jSUUeV*2JR5464a+>IEH!ooI8|A9J9 z@@#HSVd!S_AQ}w5vM)z}V#1+eLfoXL=N>|>6FS9+LgjaUpvl}5Cc>SHE1}+q_;_5e z1uA3bIbd5Y*2z1%1_ctjfuwe4F-b{8uj@59ITHourHIx07D27`o^-v(rQ=GCFUC4u7Q&?be$ zlmu@s$!KrK+{ijbi``W*qi1f9K|mbnJ>J%QYJ9$!Uif0J&JOsp(N%)Dbckjw5mwW5}E;lbU*}cj18wPz~ zQ&sa(%iZy$qU_pXId!Hji` zq{)bvYITAUWx=3=V;tAr)e)b@kbdl3^~GN8Wj}a0Ia}c)1REx@8>PB;2PIV348nQ7 zqwrq0>DN0b4+B{yKmv-B)W{6%YkF<@?vI7o4q2V{XSMc>61fezB^z!mBHLb|Wmx(ognk7Q`&=9S$d zrVat9%t!O-&v&voIn+A#3Mc)=qGwEOOvZyaQyNj>%;EzQ8pbtEXTw}BAd6RdK+>2~ zvYhpO6~1-zg$hvU%uX7a?tNlz7o}`pwCy3F=Ev!)GX^fT&+yI^XN0Yw$#i{3^z%7K zphkZ|vE6@N;OeSf|Cp+ObgNkv@2ncOfxuh=>3e@?YTeTCA9!-g9$kLf2G zn;P`d>$XcV&HpCfGJuc}(CE_E6!pKsXawC1J-t}yndi)pw7CIjTZgNf-H5stg89q9ra z1V`e+ybyM%sC-7ZhubUE6+0=q3&tewo7R?obTp2je{?8;sz6_1{Cy+TqnOyslmip_ z^ono4q}C(lHK|>+D)eSWaE8l6mL)vmaN5qf@S~vL#uyTb2ehb?k1HF$*JN#SA#n&F zLl?jqazCfYek(h(Vadbyf5tqY`%N@8!tO1ws~YuB-b@mmg8#D+_($I2h7|Suj>Lwv zTOmTLX;$55v{YW8gI?uXJ)>hSaO;*t|NH{1Nu_H}6n6WhGJ}Xym~l~GkQl>`v^P~0 zXgZNwzz|Whyd1v+;I2s_uf!H$OwT)l0^VjlJbB$@Jd`xs>dp78?er=fs?+l7mfn@W znMwj{_|#!Vh~qI(Q$A!`Jf_}e2P<2J-6tGu_C=q7=e1DRA&tc(jGJj`r@Gfe8Nq*Kx?lf99j<4Ea-30=UgP@>c^NrAxA@=}xQsv{N<;z~omcXc%@iLd!hyVqhLdgQ45jR5F zm-%gM%6IMs!+s?vTX43xrh?1@i!&UznQzaRr$q5=i_L73Utgc}+430Uy-YrlE1%c> zryA>((zpRPF~axh@^8V@qIHU4l5}Oo{^;qUNQ&*r~ z9Bp*A_PCrgnQeAw2V``%-#ozJXfKauE3!;2M&~>~S}zwj*a7)#7=T9CzG3UMfjxip zx2fWVn9;rbMukC-J^%?_j+(C~iKJV-9+aqC4@?MAA@wEPb6l`!kwu2f-zT+!!EDb@ zOq$Uu6WIxr_5nNfBMa@Xn+0zDO@}m}Jx)2q5g6@Qz}9%&i6N^un81{431FQdV5hC! zyr*7km7?JU_CBp1v(a?ldEGd!#t~qrU3STY2MREK1B0nEpn6WMi4Wpfj}#+hdKeSm zQ(QKkqe*j3P38f=p~^5>{$+NE5Gdt4CYz~4kyUs9G)+5R?za5td`~BC`g4KV{_kf; z`|L(V%9GyEk^cVv>XbnrM@J%q0ofx*C#Ra7o1KX~W$LOwA>=-s`l;`o!v%y5rGNv? zRKzGCw=)}5DMCX+l%OO(X=3BmE6C0vdHr?N{Sw7s5b+m7`#kPfUY2O6!X89)z4IfuQ%p%8)-XQ2Mpej~ znf7*mDUD`Lv0F3)ow7lEN%O`{2iuw9uCp%Nd%9j#T~B4{bg)E(D&F-r=7P|hB2UAQ zvF}fbvBh}(NRLJhVQ0ZirSzWBO}c>pWJ2!!mpRVwO-PXsAw7V@6HGl56=tsmD@dY- z(|9yxS*TVC62X)ssOOa&Q}FHAJA-zmw5=#_=KZ)qJg{kENj{zbsGR|%`W4PidW&n- z6VR~MH$WK@-5^KU)-PI|ovEeGjG6D4MLgbtqe(dZ(xPK*;kZ58{#&a|tJ|QrN38hQ zfg8lQ9~|tSl6B&5^c+nk9nBf((&=wuyPT#e{mAN?jwvjTZUQnl_NvbpX}70Q zyc^MGGJ5{XEd}r1j-g~bEShHxV;O9(rexgt-!<^grtTsr=FwkpK)icODl-no6#h@x zEJUBlNu~YS3TP@Ss+Qq?>1WYn{)>oJm%D>nG7^&Z8TES8XK)hp#kifJ&7khTdddH) zfc$^+U}8YT=Ht_|UpmsK9wW=qHS$VlX13V$r11@)dr~!Rfs6!t!V^m{4e&2=MwsU4gHa zl;nh|{9s&&6)@$XVhbJMvsacHR|0t0e>FEZZ$>Rrv@)bI);8K#RoPcHw%&|*8*Awh zp_76UlXyz$B=OImLvHOkQ`T)hO{RT+tRi4$VR=YXR8)i{nxsYoEI`GQ-E2}EC|-uS zPgY#F2yVb;Hnrt+FyB}Hr6b#Hsxa3y&Fgjtzz1<2Y5tZQXTZli2Rs0Fz@8qgNa3{V zm7VAA+6@koz}{KH!lD?$2DT7Y0M65{cwT9b8r<4D9Ly_&3WN-kT1gIKf6|3LaJAxX zy_e*dvast8_YBJMz+vOqF3l;TH`SG==qz4gb^`8TB|(U?fNfx|b~Kv%0!Z zPhR&ao@8p70J$#I5S-U;8~ z!RgJo6vN!D&IiX2F(&*UX1>*d9U~RcgkqQbb7Y{q7*X}|z)Fn&2Ajs7gI&8o2Pi3w ztW9wlnK5!>bl=z8D|ZLtAF_Xo{I)x+-|B}(;U)&NwJI~A4cDMo?guu9XI(rS zAuNV~tdJCg3hyDK)2vatD~7-HsOdoAdnC48sE+*o`#1NU>QnjWW$!yhTwb$m)?!UX zuem1q?vTU}{)DdlSR-jPL6~MzE1G4|gT*pA(KkBrC({r zrcuYOZ+J7~w0Vp+cQxZxpi+{wxw-k4dgaAY?_^fNc%A8nU>>H-`3Sx$!e27tYXHjR zX9Qe;(1b~Ud=vp5uqVcYJy8;L|2Zlp8tZnLLpe>LDq#lA|IKE!Y_?c9A=JiNPL<^X zm>2ErS^=xqRD~3Mz3?;UKoJ#T(nQQw9Ja#&_>xJfgWaOCIM85;gVA?O$coji@v6~P zFIjkRXAp*ES1mPk)A8{O5reNM>s_b7NqoR0%`-P_t#+Z6@2VRqPR7(2Tn9VQ@@%5b zykMslejkQ{|A{fXa?;=ZE1&{TXAQz{uD%r&3rW0JOW6nR`wh9E(_MJfk)O(t8~065 z1p<^s=M~T0dNixd2lcneyw;L@qP8gs3HhCDAx=qk^skFSS3C0YumqG0Nr)EP?^w;` zv0kjRP*CKko$fevuZs0Oa0Lxul6fC3(!>@`MeHg^LDVz~CyNy|sdLHumYW+XNSI_) z%5*3i9~XDsRVl=updKiw3X+R8t5igf9)+}+D(u{!xHecI93%?IqMg)?a z?Yrc~s$d`Jd%sxRqN)U*5C>wflRyvd+wH6`*rsETw9Nh^zbaq%zY}G>k2NMvf@UKg zEe9A;`eccwswEMZ)8_-4H^jN2p{dFEwMs=g+Hbt7B;OE8#W%1O_D>)D^1R`spDI*| zmfmCDEUwb%51rAaOPo_zsPJ%=kQ#|#(O`}LW!=<0qt+X>xtZNGKVR#6_6dLZ7-3&c zwKo;LOIjGwf~R~rV-H`2ga=@i%2w1)qt014jY@u&R|gBK59&DxdMAmTj)glnn$>0$ zV97G=?K$7_$>EJq9^Az%9!H6jDgTra1EsNvDsB8ZfwA3*GY8Wl(ChJL3o1PRil-B3 znDTf772&RRcLzOQNxe{|gm$OJldx8^va<3lXV2mLh#$e;&zv@T+I$b=rKJ~f2!i4} zP%S<#b8Sn0s0s}}#N(Qu*~p&71X9#eB7d?aqGPyvK_3&7E?kDc7{hx0I5DH+Ub1`g zhXq9+pGOI-U@W2Utcc5pVAo=$s2Q$!SjFS$)kzyK_ha8^H%P^oYLjcO4TuyL*04T%nW_&8g3g=W4^Pw7A&bc3R3feLs4~G+trPZu=th~JyJ`?pg>BLg3Zy!E@#G>?X5;}0K-!!X zH7qFn#{@0NiP06Ra}$UJCY?YHzQ0f_>-k+-@mCj&LHTc7HgU9#AQr> zw6-Uu-0q`lKc#xBMcsMotNi%28ns$hhGVa;I*t-i(>}meg^TOg3kTWve6wgDUOK*Q z4P;#+^p6N<{7{ZS5`e0Z&5r|$U)qrtzcKKo|Y@rwhU(kiDJ#=RX4i(Egi`BiDa*2~1a{ zIFbJSgr8q0>ue=V1Zu1oa{q{i;@w<{gtSeY{QUPjzqWnu5Dodyw`H^P|K}HE5|!0n z4?}F!2y_3>eo16L+U#`r+T%9gh|jpUn7hF))LIX4wC1SKIz3J z+|uUMNMYY6*q8A56R#rZBx9~fMf}f2t@wSH>UAmcH3h51EaPegXbX8l5<}_b=tuaT znt=V?`<2H^EqaPRig+zj=VjMCEmuhFO_=9t-}_U5IuA6to(am#99nCPu6R8?J}8uE zIIy|}XL(_FafFO8#UIUGtp_vogVq+uF7>4+z3I6t({zD&|9b=iP(e5^ImYiV*0ZcI zmCY0hBLlR(^fN&5lVwb7O(J8UZZ8jtcISaZ;@N&HfbgdtLGd&`4UXk^+a>-iLxB)n zP z`Wk(hi7FIG$r27n1_zN%TM0;2^oWR*G$04UNVXlOuH!1oa?F=SvMYheB!mxwP}YzqbWxr z;?){g|6tGWBdE0k3Wd`J>(*EYr$2ANj}*q30Z}P&)-5-pL1rGJvb*4szmMDh3Y77l zrvR?)1M(h<_wU6ToDQhTL_-)4hB~Sr1gnrj`X#2vMbNzk7z&P8!Z)`c9?0EKRKM}AfYL?D=m{`DIe@BQ24XOdz2d6L z3h?Q@LMS}s;Nr!Av?7|?pNN>$`3BoH!iymEEdRiEqq`vP3RIxQI;gkwi*oDhutHuo z&qC+=-DH;!raQ>sSC$PnAC50c!tjKnzs6o*D0eJse$m zE7?BmR$G3Cq~^Cr;uKZUN~kb47$H_|DVc9P20u}89gUPVsctLPT}j&u)Mk^HQVh-6 zZn4XrS4$qYUwRwv4jW^8zhh$Z#9l4CmzgfsF1tz9_ZRClYt&Dtml_ZqT9S!FTYdY) zo(kh4yGoe&DN`XEz(j@FWsueNt`|kq-34eBRp?vq?UW<2fgVi9&4tMiP+H=E z&oTs<)o#~G+S9$*5;-1d2~`>F?lbJNj2eLa?*@n`&(!1hySs*b-(lX|fRLlfdcbYi zdUK-wWicLvPrB0EN$(1drzCU$Yl>aVX?yiL1!xb-3b5&@+@7Jj;!pWB&kYVK9Ln&7 z3>Td&cad9A_q$i`2-jU^u>$lQ#e^_~-ALZx_4bi6KHeuK*_97nHR80L7m zsNMo3Srl#MC~^2a<=Y+c0A+0%uzylp!gx^%hgw~S5_*;YxQysT;5%%6b-N!|p)E+| z%wyej@*T7yVxVV<-QxOszmfB%2q!E{AOpd|Kt0jYeAQW4Jq!7`SPGO{5ES3gN}m@q z1}b?zQ%9ntL_;%p>l$a4mWy>2oZm$ifBTAN65?cm7&QaDs|i^?e-qoI{yQc+Iwkp9}bV;o3FW1Q| zHacw{o<7(g%~RQ(|G?@~QD`qN4aR0rdDP3l#`*f4?=`$$lVMa;l#)3ngUEvvQXG+* zGjUus7S%dliBv}Cw-0T>SW7}SueU)o~=psLZIOL>|Wiy{_eo&M(ox`G=OG5ym3a z0^POZ37g*BAD&F`hVlz!{7-Vt0U=l6Q#??_W*8V4(nsk2B2Le1im)e6B`6*L_ zce)sKs1&Qu*dA6%`r0#9dNJ7LX(8(7){vc(b0fmy;SPNREmXGc9s_V^YM{(3Drsu- z=8>}|q0%AM)HBy(Wun%XsVO6M7ao`S!9Iuy&(7ZY1NXRUyutFshRG?;PQMC~us~Ry>2y$G$PzsBId z8X3OW;kYVSugdMi=j+4xw`L3+J-<;Iusq+C^KX@GZEalx-t-gDbMigiSKYGcznw5% z#{;X)enn4AI{(NZ5<^pZ@w^ShR~c_<%c=Z!N&MV)ucWpgF#O~|A$pAB6(Y*Wh3KXd z;ms0{^33DA0$^;4P3SA%-G0@&Q=|08ddsLRw@)fbo%bA6v!QX7T;%$D&Q~>?mN)D6 zb%6qUa)K%ElhdYKPSs~nwfU) z2rTHS4?uOR%KlL&85KI)#b<@FLFS8er%7EXP6b$Xy-+pFQPqQJX^JA38Vp3s-9=G$ zv4r2#a+cd&?#;;7Q@=P*X0=|{Qm(nmuE?Df=hmGjW)D7K>iG_W(#fS?Qp$lD zVhCV8bljBZ<45|lwqG?8XI@$_s*cO_LN)xv6>Iwjb}alBIZgCFwRZ*AB$=eF>GbFP zUs_Qkj3GF#q%Jm}BDhXwH?PqM)?eeVH{y@s$e<3T&X;lWeoipbAaTt@jkuk2Cf2)0 zt-r5?abjAwak2eMj}G7^C1_99G--!D{ncT|8SOkP_^ehvd7o)|SS;Y5Sc`m5f|Bu< zC&pp5G7|()+8Fs3z0_E8D)~&#-A4C{A)TM43EU+PihrW~=pB*0#-Ihh-$Gp>6|Jzw zH2AY#oM8ppjS!dFr1-f*y~?w_gjeH~&tvNCq*u8T{t&RST-(qh*FXE?qjZ|rs=2^f z@To7O&jRde0Thw_4?mzB9{`Y%rA`G$zBTG3>cNZGZj;h6p}5_gBAG-F9y6;ePmi^T z@(h^-AtruL_8?SII@~}7<=og*PtP`;kcgFkY*vKftq+${xjMM?K52}!8^D&y2;o{5 z&aCrW!wNm9ds6Z~3Y8$@jqKS5XX&hdGi3F9Z6~bC4NJ^#_(xTN@1^RyZU01gMxTsN zqFaJWBz!JwBu6S+zx&-k?6hIN%8HCkg}pCjQo!S#w;`kY!N5R;V}s$__VE_Q9GsZ@ zzcx3%`R#*mZmp!?nbl(5CJBjerUwn9xI>P z#t^|h^7fDIk*2op2P5S35vHnd#)wI}F?8d;Y`84p+h<`O22OC??+~HA#E{bgUYs>A z`a>Ym7Z2*6Gc$EpT&42Pd*N%Xp%DCnC91v~&-t4~Us(3yu_U68TB5(((~ZHKgqEc0 zRL3wxPP2wcGsXBce=I%Z=tmfQ!zC*CW_+67c=Y=h+O}yme;lWyF*9cSN4ci^Ec>~%Ht!9yThjhND7_{EUTr)ks1L4Ye-JF=aH{ym+Mbvno zQ8`h^ZFo9gsQO$X9>O%ujQt3~LZa>NOGgXWp+=_flx%$N;!U;AVY9AatKK~TIJbZM z3qEVHZ}*n>)19sndAnK^=vuU5Q*aaH;i^R2rC~-S^}}qj(DXiPikCm+2D%y&CR-Odt61}xG?f1-^(Bul8H{06%^y z*+~NAMt@DvCy1ZY8PL5LkLWxYne^UZz4yFgA`y9w=TPneo5T=@ir$RlPL=sujV09T zmD@Qfw!a$_c1=p1%~{(%kJGxojw^aH%LupP&}Kk2$qP3OU>uao8wj2nd6II0&n28u z%sW$2!=j1Mhp)8gLSx<O2Q>ORcyA!B;we-MsodP%V}V^m1@as{=nE5vcym^ z{OP35f6&dZLq|LR0Hbf?P4bhuPT!@WL{6RPc-fwdsoI^x!cC{2#=OV6ns06T-2pn= ze;Vz#gdqif3vY~Rn1&D05p_<)LnbIf&1+*6->^pNF7A20Z1j_b{{`<%ksC^_v2ZEg z@(uc8U9*;Dx%NqK_^R?e-r4gd*R`OA8{>l1r^^N3e?K-G8A?7>UG`X2&i3{360K~U zVSObz6TQT`y@xlGTC&Vh$9;Id)9rcTLKg4eVQP#Gw6X;%HK9>l=sSlnS${6_?ssH_ z;i@~ff$Ud}^*2uWn9T<3DNzwPbN*kb$`OKyUrN76IQMb}ZcM6Y=mzcRgXb@w7%kgS z`$YIqdl5IZ1`>4fvaXoQ$3F$S$os*VFd{)2qx@hEF*2;RKp=@kDy~YX$YI3VUo5~} zl6=Lb%{%svh~eZ7?Qu?(9+%xlz5OCO294dlOQB(2_sZ-oMU!X9lw~DjZ)IPck zlbSxfmGl}+rc_oa9LS078TdO{2AN5iQ(%W!n5ti>+)T4bHgPbyPAI;7_wu6y!a|{P zQTcu?Gyq}bVdL7HZ~p$ukxk<@YXp>~nE>A4oP;j{XLl^wn32XJv^$B;7l}WD43R%7 zLf}cpUKdZJ&N2?Z)zNeBT5DfdWr~t3P409>?=nE0eG{&#uwE$csp?*zzoVz_s^4Jf z7S<=SwMcWaAnX->qcChWFOWoNNyhM0qtLG^9T`{6*;}jG+`_uixncVl9mmjEZq~CY zToVwwzlbJyS^>gRA(H8EX9ZrM8GN*)UH8F!P$|_a_{-RH{&SvGV0*bo(i;`>LS^Fm z+NBziI3UK$u}yA0H#e8M=oU27Q|ORSCU$m}d<26}KaHBU0QjmxDWpXkC0C}y;}}*o z%t`Z=Q#9fbSgRQU^j|XhPfmwL%LEWM^Z}P4Kt|C~)6pLLz{Ik~;}1dF>j;YRFJ|6K zs^i{(%Hot3)=-&O^a}Z*Mm_a>q1}t@^FYwpsr%*r$<~Y-rD!=iS?=48LVLBr4DYAM zN|0ADvG<#^b&4%M_V%;5ZH9U|63dUHv`*pV7H>7}k0c~I`pqZ2z6X66B;D_~wPoUe zmv|-KM^(th5qW9jTa}S>M&)QP@!DOFx=9Rilb2?@?5N#X&81%CFo2Xy>@?Ch*a|ie z(Q!u}R%vZv(&2O-%fYAsA|nmq_nJ+r^Sv$r^3IkGH=0*i6hJT=ZAaq!qD@}_HRGR_ zP5*`WF;fS%!Lx|dzVMHTVC#6+Qk|MOl+=Y__VXay?xNZ&0cb(v?hxEv7GWk8R-r{e z!+d~xxnjb#gX6ocQKA3sSy9(N^wL}OH$`Wo^ASC;@RJurf2oNvr7?$B>mQr-m?TK2 z$^#^E&t+M6tEDn;JL6x8R)S&+?;8kqA{ak9g_}7wr^O%xJX;*_!qcz<=*rY}mB#q; z?!C&4R@^QNNtZ~7ENYQ*1(HEq_e=_}Z^{P7Y(+&>M8XI9w6;q;Qlq5YNyt+PsDLquLE; z9G(8%0!}!1a3aqrC7LKBkp=vYo_)L^BflIa1w{eG<0NVZDGE&HQPJRa!l)2-R5t%W z+9S{+Kc5Xn`U17~f(AD34FDmX2}yh@YKxQ#GI@bZi(0D7IzrF|PXt5#Ci;a5I|11- zUk|mJO`-td(5R+Tq)s};Pa!(72exktDxyHomOn_ye%W^wp%vk;@9KSYro9Fe1}a#FRRtU>S=NsWEhxivmcF@ zXlV$^P+xaUjlhyHkrIvdk2>Hy#8~aKV>Jo42!0UcOkbJ^Ni0dqZFLpo9Td8XK1VK<4g*TPL`O0hH$5t-ClJ}dTU8?SY;KOVcnKo zkisp%;Zb|OE&_ttbZ%cgBlEvH7|3-z+`#CfFofM|@dJRWU*pXDm&0bE6ir@Uyvaj? zd^`Abv*jom(s?t^I&I6aSz9SsCY45)QuI15c;b;vougp9_;Rk2*7E13cunW0b#h)x zb*~{c>O9ptacWMyAQrmi_lr-stOXuDQyk4^j|bwEmG)xreQ>njx4ov3EYz+Un}1P0 zi|A;3!iiM93W4kqm|uPH*8tFlgRc!8JUQ|Cj$VIlaWU=G5TO~TD6y5hjChF^>n9LNTlkq zdyFbu8j;MpCCEvZ{lvh*B>%>xR-B{Y1D~NxyhD$CTDnXGq`+Dn(?l^SHe2iDXzbOc z1kceWWaY~`slqJOuV*wq;={A@-VPG0TG+0{<8~ea#M}iO6->cDU~>~XUKH<@Hp<*g z>Jw|o`!_vfbs*!u*hBgxkUIg&7pc`$jSrh%>jPln0KUp6}wTCA_M6 z57=HwASO~)-|?lG_%u=_Y8y-DM)90J*V1Zatg-~t5R@@KYhVsr8 z9~cJuj#xVm85QtiDB$zIZPYJM2ut8@efWK|+S4cMR>!)^O{7ta`}g2{Qv$ zK^UhUmP0V4`Lv(LjPe!y0KlGlfo*rJci#7p`6yMm&*ImcVl1|DWHLUmH7L&LIm&FJ z*seh@02L3nt&jv(2YlMP=t?ocIKQzs;hVCoshpV!a z;49#0483>06~Nz_CJKn&`?N2X$mh*Au~~C9slf~_YUZ+_F8adj_!)Qwf`=YfORlZjhQF0cX$VwrR;>UmZ6$HaHW?c%E6D+CC%#N>)yrW!mt>?d_Y1H5QF(Y5KTYmivJ3{fz5qi zwKwc*l*<%L`1kfBs7lg$_sUx7!G)!f<3$W!Vy*)Ny;E#@US9!kWrPB@-yd|0Jd2>_ z|9Q`?_Gt^K`(wb?P_#3`8b-)N4d{$Q4c6T3a!pvFz&FbOi?+9pt8(4;M=1qGKtxgn zgHT$!QxOSKly0QEk#0~?0qF+m4(Sd7X{06{(v74riQky6wa?l6-hF=ep8GrZkG1%$ z#hlFdedqIxXN>WU;X?ws?wwRK6ckp}0>p#B4fUuUyx~=l8h6(dj4R7zP+usUWNYZ3 zRpxR5BAdxO2h``_qK==gHrw!&^HJL(nklt5`&dGoOP?&IfD=1 z&i-M8W}_NFrLU^uYwmgc>AFWi*ZoO6L4>KfpRC(iUPl2)j@TSG)lrb%1D`*ORpgb> z{@_cSW<2iuMIUJ*BAGQz)~c^M0R$3EAbj$?JL5yWb{nls)NOF={oEc($56j`ezGJi z_13iEGXLw=D_PKq64LoVlUQ`ZgSGsG$}P1YMZ6v=0+`~#>}4ea^&m?Ax)D%&Tmx(l z#bkmjr@s>)8hS4y-a$3t&DgauD>|6j^XXb^Ohap_2-$05!M9d|icZ*tpTYH2s}8xz zzaOi;@MwNq`J&=NfIngGCZLWTl&Dy8wa{DaIk!=tNR|CsdTx?~S9lrd=KDdAu`>EK zBkxb1g~9pY!P9u$rk5;*MKwI%O386a7@vO`T(Eh7_y`JLIc z?(>HCg23RUDb%TLEkjYEj)dn<3bjo^n4@eyS7m*AwclX}|04d)OhsNFk$^%1UxlNg z0xc~_CkS`!0ZM)64$J%9?HLU8a)18K3h{TsIMTVF4Fga^0IquXFEiX+9;tIfp5zn0 zd-u*}rol^K8kagB-Cz*>SF$|#xwwYU$(iqtIhw+dLxyt+)>xcJ47r1eZU@oV)+MZ% zl#i|k#*>i>@B(M!TAhJYVF!Pox{8o)5eYc{Qy>$B>yszWa_P>47)@TN2cd5JaVM*FM)D(YIT@&o!yaIj zPSyl?D;y=~a(bY^=)bp41;Z5z4#`Rb5vEv_1H{Ig?`{6wy146HnVI2D(Lt$ z?!T<1s!*89V~y}qILZSk>1Ys^$^(}_yRcz$76Lx2pg+1}RJYh%daOl?r+2d`XaqgHk-@;(Gi$d4h0$8fEK94GiOh$bzsM&FXOsgKRF;Ez-XUAvyH-IAM&L7|rte|4IJiYN`RcQz z9p8umEQWZT7f1|`@KF(5{?g(%e-EyUY6-SIyhjrT@2^$lM^*j;)cwH?xO(}^g*MfN zYg_7Lp3-<{QW!F~BysMfuKynp4J5zetb?pE(vIX0j{)bwRR|wD9-qj(G=R|Yxd#Kq zZos+YN2`lfhFD`-Vf;e?xGHaSS3(=}tyw^GBXD6rImV{IT3Udo`mX~nFe%nLFW=ww^7P+2zZV8H9JyHGhW!#yu6itE4=`i zt$-`l!PCRdNqw-5T^)fl;qK34QSdiWfSH-Ih3Pqj4>8970LfJDzmq{dqGp4lYXb9n zK0?hR1ZFRH0$=cQ+$OLuSzu4UY|?lQxLCIK?c#kTiohZ!MFc05lu|s8wb+!$xf}0B z$-sQP&G|YhC}Ml&(uJ_cn@R*&oSy!9}ajtehN?KH7;5neP5Zm z+PlEOP!!Ryl+8*V$&S=4+%E29W}iFW(}v zI`QoO|#vaAp>oa9P6W5?$plULi}WdSNAWk_3qg?gK&CroO>H zFN$4%m7~a{9S2I@cF0=8*K*tDUPyETvElwk3O4iY!nay(`$HWSII?=_r5^-#yVy~k zoV0L`(^psXt5)gHM|g4U-#S#(o}BFVb{yXDe^F68(*9B>fAqs!!V!smg3f)A*@lOn zz!3|#vCv_NBix!-K9$WZNi+f&z9psCDUcF!dZ8|Q+2jnYR{4DON`a+5q1W2?Do%Df zPrb>8O|HjK+9f6>aZ&=>3g#>?5*;_jh;5wz1e=zR;~R>19;F(DaP6SVxA9ZdnDiv1A*Luk|s`NWaP_)so2BE_V+o20h#aB!@ z)gRB~qe~wG?KBL{KM+Ua+n2)GRxhf4oVaaK6kv+H9rba!THwQYW@>W!6IAS!pBT(h zl3PhXMIJIZslK@hOlGhpyD^ z?jy7q7=A+vNDZUn5BMwAdIP+HF;)L6@{;>~_5eq>6YcTFeufoZm`?H6rq}286>^5C zH1xr&a5$y~m6q5P4PB)3hLwCAbi-aPb3DqK+?!;@P+xz6pOT0u#qO4C*2D3qNqZc) z0td}kaar-@I&JSC%T^o6&}3e+RsTA3!J&x^BW8i+Gc%LS$)UG~z z7czSjhsxsj$o>(erSJMOd;cP=MMjZfyj<=E%>JV-KP+2)nEHfDKNmu;M5=96Lx|q@ z7{0&EH6g}|$G(G}XfS83JnC_N>Znp?7TqCNxOY|e_C4Ad&sZGwzLo0O=#Xrh{>59@82WCf7J* zl?w@}e6Hzy;M5)Tkl5Bx?o1wSvhF6lSGdoF<_krr;u(im6%U$30~aLcr8cb9IIi!k zt_-h&19y}=LHH#mcJmt+H;syt($a%6P8;R!hiz!D7$e&Lad0bN)7f7g3XjDp`^b06 z1JuD%g<@8*D=b~M8d2sIZ?zjqH(ZsYF5cDR$LA)IF-wl;R(8gjt@Ye8Lf*+N-TMU( zQsOjSgWZ7VVMKt6>s(m~#J^hi3^pk(=3An5e zt={Jg`}0ZEWAN!3DT;ajk{LNT7#KV? z^!k$;1!I6g+1B~Z|4d!b{@c{hFB0145PWyQ7%8(Cd<}xxdw5dx*dP5#(cWGnWGXyA zUSr{f0)*!#{t-y{(@YWhCg&)L2{_pP{PpIQa;I)c3}m2!Getl&^5yTOzLKk2Dy8ZA z>v8nM*Ah<+)07`<*b^g^M%MZ=imYbE$YGkG-PV)_Xkv3*jU$Jg;lonr-zj^6PQyaK z=oy^8ad9{Gi~MIU{&odgigl&>4rDV7$r|9pFkrXGGHF#a^YjPi3pWx+H83*th>|5k7a^UpiP8GDX(XouBd2?P=x3l%~2$IjJ2nUP6%`d2Jr) zf?opx1_Rd_=(>lB04b4%93=erRE^Wu_ctW9LzjI>p6Ft8)UZ^{czd>~1mWDFLBHY& zbn>q9=`JG-ja|r)Iv`04GZFw*#ylKgk&s1V$p|ws$uigO$sa*<#SQO80R)lb6r9=E z*E^0+@v+NFd+{e97Mu{tB4_%{`KiHU65=VXLXJ}8;On+Q#}EnTgwUma52^~;U7xL% z*4Bo-@AQySI7$Ht zGYy(BJJ6!}4!o}gV4&hhwL$F7+2sIPH^`i*fiKP3E!=@Q4zhC}P}C~6e!8{Bk_fIF zozMb&6^&2EDgs^)E4@LJHhn*Tj@b4JW|W0+GZGwwt|ZI0Av^O@BCsMweXu*v&klu+ z5&7{Q{5^Ox_-KJN7Wu&S??B0+py7JqY%(Rps36DLdtqTEBT*57I@DeFFCFzy81Id% zy63GDu94lL!Q9LNP7Q;#(Ib}OnS)Vq9Ekt@UZ@P_`%Kk4P#l5qs*LR_vs#(Verr8+ zHFtXWw=x||$=~?TI#t487qO+UKv=3)!&HG^pT6k5KaW?#JQ2=3?B?SA$wd(ndAJ8PeQUC z?N=r#qEG~s!s>3V)EAdSFjzD1Fgq8fgipI8Wy#6bJr94v`pcpqnStdW3GF-V57Px& z!usESLtb_{z8Bb13?X=4=GUuPZK`xNgsg9-U|EBj;LQX+R3iJQTs`X2#aoH|ZA?>S z0lys{jIM`~wfFpbw-V>kZ^Kg~q!XXt|6%uZa}=LuX*YhrBIUC63y%rjgqaZOVE7`y zNixNGbaSHe<%C5!N=48kc&J`KblER(^SW}v?Hb@?xb7D-W;XaQ4_3WKS*@I(b+Xi} z*Xp642pD$9(4eF{&MT;VH{zGi519VQ3w+gi)QOJpx1eCqw)QveB34qr6RF{#(s0t; zgfokQdk$eL6U&db@QyR3^YWeW9+1}NbTAIu^fes5IJ=L;rhFrkE|-|!^NyngTR+p9 zltnZ58-7(gtJOx;TK;Yzl`>}C>4937R(;(u6LZz_7wyOD^zRO;vI!YkAioT9o{bvH z&{iJ0H~dgcigLo^jn>>G{>(EkL*h;Q>WD5$@chlQ8CEeIeIHn40KM&f%ekXZTi8E= zb{hFoPO!Ak2@5Cy9)Mxz3Hjbj$Xd;xp1iSp2kxQ*~%j7IO6d$QYnQuiDvP` z>ke*^E|&ZMKAhL{OS}30J$x5N3%bGgEQIoqBw}jf$PbFlKa&*nhBx#`YYT`NXQ3Nf zSNs`9H?`MOv1r*bK@!;xflv=JoQPi=Rwze~NS<8p#y$fnFRMmg%mpeR;u1C=+-`8$ zJZYQJ#niz?S-)=Gbm(X#BPEb}UZmUN=~RA$)aglq-$m6-iu;ytcY)-pmgZx@={8X; zR)QGPc0#b)G86?W2EU@u=)5FmF7t%mif|M>kyoRA6i8b0pHMn| zvrHSd1%8tN@&&%t{*^~S^lgghy)5LVF+i7)oM=-ka8s(nAeAa|WguNz)nDxye{E6j zxpnFK`C9PahNF+GkYWD%5i&E*LG_;g(K9J#mK>$rP~o!^wV3!}<$kv&0cN46Cc{~_ z{Xr6h}mAf8RsEC;3oB@QA*KOHk4XwEJ!Mdnaa*FWj`u7SetzMJDd+Y8_l>U zTIa`+I|E{omBhbMjxs~t${>63JbDsIFkvzyrax%bEnEw>ZiZnnJKAHEzK?_f}e*Vw%+f|kp4mo z*(3d339U1_j;VSANnPEVxY6S9z1n@g_O6bw-`}uQ_D{?EYaUClAPz4A6Xlv=T<0O> z`|#WkGU1dTk~9kj=qA3NU{n`YfOWQ=o-a+_m%Dc_aJky)7`KQ}E9>Z7@<|##Vfsa$ zf5%9$kv=eA(@rA*^S8U0NP`D4X3}2LI4UW3!tz&eeMSA-=1a>FNG%t6{Yf?fy?CW0 zHz|V1YJK`SqNv?r=7Msza80GK@tyIZXTo zx`%q0G*|)*+W#bQub=rW&HN&tmaHK_Li~28k;>heHIo;^EPsbro$H}*>QiPviS|}v zZb)HU=?wW8;wIP{VBBbBv{8t1HwW?i}{i%2%r5Wogo= zd`e4`>gFp=)0O%Rgd4SM*XH!V1)_MZH}4v0(s2^+#I75OijdniZgL%o(mj4MiXzCf1d>fDRP2z~VLBMQ&fR8q<{M)b|s{f8HJJ6$Epbz*Wc0lPHrMINimGOS08C*07K7wOfHYi*|%0+|8=(Kou^zS=2 z5*kUvyRuEmW0l0lp`A;n-h+|HgLkMX(}^9)K}HNywk-Jq99|?Dm^`$8VLVh->RLU| z?=*WvnyS!gu+!Xe{`AzKdtq;}dp>ZKO0p$&RX$CXrd?8wlsY6KgxUIOxLZ}8%_bwO zMY*27{*p9l-N@{pWlRZ?FbMF;A} zMp@jodl&!Es5+WZdbjJ?PNZ~%sNUY?JcI7H609`L6QU*Lf!bkx1-FtCb+21EDjQwQ z&%Zjid~}1`BF=ciD#c)rbySNvs|Fn1Z>v=4y;~pqs>Elv0`t`zLdd4K5JhTA?^v{+ zvJJ>(X8mUUR3we)xfUDsC3i1|r4|wDaar)>Z28iVkm>SnQe+qUVNUo>$eUY64HGxc zKa8^ek)1XtKAql|UH96wWMuY1|5P|k9BIi3tr%UqC!YL|jImz7ntC($(X(yen_O@^ zs%rR|IzLkUj*|9LWRVroQ%RYKKxYlwqF+Tn_fCD*o;WC$l^7!$%ULwzgscNAi*8-J zcZ=VVsIC1dU$AaopcOp_KXK%sYKX%vpDgl?t{k(Qh5FtL>ddj>NA|fkgb(ZpuRnm& zY+t(!{UrQx(~z^@4bP$ee&6d6Uy4hviha59A;UZBo0K~m5wX#(c5`-C_qxv|{Hu}I zF{jj%WBB7KS^u3HlD$Usf2W3w2<^-?ofeO=kkjiGAo`mU`Qwsrh_$`AdA3jm)90Vq zxZllA_vNg4Zl%K_z=#={JAl*U$^4RREcFy3YG*z=s_D+Tq-m|`JK8}x)f&0hmP2iQ zmM-T@E$DxhuJ3PE(0~4%;%ZZT%)p$R?#T2Jun1^3rjGo$SVJgJ@qZw1oIj7-6S$7y zaGm16cACJ$gdqTmXlST^{x?n&yni`OJQU@T;N{?A z{&AZ4nG$}4hNdX?kJ)F~QA7&k0ly4yNL%)cK1$_oyhwi==ZpNhAL#|$`t3v@81&5mfVt58!Kb!Rk`*#n614>adX;U|7&z~S6s9V+j*R= z!8NzNxWz)S{wN5Bkw&g!4EY;R=5yt1`JyG53|Sr^;KZW{L`EC+dZ>{&G)BV zw%VcPOAm&CF8;mP@PZ}%_ny(g!M9P~2w)-D0qF@fjQx|(e)XVoAwn$`plebYVemv( z6HC_EwLXLAh(XfO+sWV9;I+W)6r#U}f$$Rzt(sc)G6kRe|Q@9It~LnPC9IzV_$P&;@AE zFV0X96Vn92JQ4}g_7)_jmTBl$jL8I0KL$f*xY~bXs#cBmS)5Usr2!7JWXPyiPHu6p zAx*TPEbv7dPR%?rm}GoY@)w3<=ww=4y{i*K-5uvHAw*V)aT--6{(!&38TUB;ii!5 z$e_Ov@X+L|>{f!8cHxwYEnemT{50;Sz?&!KoD$suPdO#Pk5ROXn(sj+KG%4;%gKf>)QzDnS~#02vooX%o1;M?m8v*8C@> zs<*lHQWXGWrv`k2%FB`2a9h!_!;*kqwGNv3vbz(fdhJ;2hz&ij{5jY8{R%e4H(Cbak50!|r)f(Z`y_X=JRQi464xTYy zy8F2O*;cp9>0ZOynfV*Y{@HYzu!w}>skTv^Qs9e@aej1H&Im`j9ASEe`Y!;i^AwtC z{btdPC(!*_JOeRm$j_F*>NC``5j;?081H{d5cTZ%X1wA`+M!d}Egb8Fa`RDfI#LViyy%otF70dJuT(wdoCXpq=(bnU}+9&WW$T+6M4j=b@ z;+ET-lENY&vu0TN$@YvuPlBA1HRvXM^yOajGgJQX-5Xzp4nbeYs)a=YCvnFDH*T9~z3xiwSC zH5vUcVXXj@f(|73&DQi|_EcPnW#)mg9T#tPFaOscw6~e6hw<02 z%ec4pZ7nbbZ=2YDnOgI505mOsiN};=Pn^}TCk};fV&g^is182Yupd$=hCZ%s@DCp^ z%Ba%U)y&)}Jcpy&YkK->d>SBzPdDz%0!P0^J?;h5^UM0q3`o!5!qv>|6O;Xpwf{`IMP{r44CbJ|1vC@Hy} zA4yr0Jg6LNkC9$m#UEQ{!zF9_{(dUVZd%2P8=e*w>%F$0ei{+Bi%CCmWOOuf3SEr! z2N|$J(&Z4)WXFi$y{D4JxveRTm%91$=TBy`%@Zx*c~`-<_^NOci`+D>WX>ZJ)z*W6Uj_l|tv+GX>Z%!>E*CM|E+k%&p z)3YO8KK+tw*4g#D&g$|Z^^NL7V-L3RvH=#+9?vWdwm7%h@CaE%uUq2m6>B|WSmLFZ zBx7evjwI`ASFz6kU9*T0iaW)OFIkxZCj(A8>g8S6eOc>%_Vm+B`a)CK>V{9&bHL3w zWmJOTau24J;?G)lXWalz%GWTVBR`ZV%;n{03*jXWXSTOrpZ3PrML2VM0wqlv3U+m> zB-Avji5hp+l=Om+T<9yZrlBPspIy##J|vYkj;Uv@6=3rSvYJd+0h=I}HCfgY?pMZC z@erZC6{%g|cz-KvFN|E1VN#PoVB53udTf8Fd`;!n?qB;_S*MMBD(m!0kJurJTg|VaYQ(r8FJXKDVaGi;T zopZN6k|nXy*Vp|%Z)fHy>HcTJsZuYMkm1YAUI);M>5&8|BEp0EgiDD-D-L}zM0xf<#=P!6ejnv7>imEp1EeM~((jG( zQipL?8b?nVU#D?$fhF?0qn}CLVaKW$abr|%Q#nVS8+8o7eo1)qr8|0TNos|wcX=b% zZO<-oh~NyGdeIhWstjpb5gb@NDx(p`-Jec}I@Zh)E&~?Pv!(rq-aSgDd-e%%tU7$$ zE$vnNvll}&<*Vfk%gmQ@Lx$Y?8k;Jy_ zHH2(J9A6MOwP(AL=hRP&(1x>j%Ut_#&gwu(tJ%ADihjg}K1FZPbRpGndaavO3t4ly zjEQ{?d3U0>u4F2smI^L0gD&*wi|SM9&PlWoc1>I_Ft(jB$bkw(aF_U z(DbhV_cGAG($<_pj711l7@wxWm{QrVGO9>+faE`u-V0+6ez>I1+CHa#ir^e^NAtax z>#0(t`?$Ija^C(?up7~}@SHTd3z_S`Prd&o>HUA3Dc`~FN=>C6-8rHN(oqr~Z79Ql zPrGf3%d1UGOPl_f7t-WlSziSoRQml}oa&$RYQO8Op`oGOc<`I;0E&P9&Hv+vcl3E4 zfs0xvc(~mGpJOXLHQ+VuZB1*TTt`qRu6i>tml)iR_d`M_aT1Z<=Ye@}*-705!jcpUBZ9qZkH_!&yYM=*`bd9CR>;`?>Tq6c zi7Db4WO*GNY7&_c?x_I{tmiQ9pZB%~kxU56icTVk(tM3gT;<83@qo#=uUdlD(YTfm zQ!k=8Z+*_eyu4)OY-+b;hq7I!|8*?d=u`iTU2qdG;CN?5nYWmZ0HC=5{H0I`k}g;> z@tcrM$_?%8HP->uLpuUFY9KH=(Vb5B5j1RU@-Q_%I@?Jrw|}Sk1wpzqn$012lA^3D z^^L~{B{!UnRlNPY_Jj(-{Pi))KLON3`Sabe2u?`g=5`=i>jaZ0b1j34wM^`(lB-fq z>u=mnHVS47U8v+Nr^W|5T&UUa;9w-T_j#(otnz3eZ#-#GhY!s%{-G-22s)z>lsT@6 z6S!z)m6!~5*l+jW9tY=nCveTciHZ&`!0d%&o>49~q(qVSYxvWZNRGTbJCEM(cz%Ry zv~-{+c|I^|_3a4FW-UGNo)}Cd%HR81_XKU^o;aofIHKsm_h@sxXWSmmo?(1ZPD+Xm zTNEz}?4~236pH=@S$P4fBoUA^Ri6SP`9N15mAop$ioop)6o*hAds@DsOR?BwT|drWvlf&KIV-q(r(0X+9*YI z^`=HJC_Mvnc1B1nW%eEHwIm8pduk89RX-SVJI6_fv};jthLROnaV`U=dXQ%4>o{zL zdc~mG$F4a{f}2WoVl}Y$>6f|O=0l#$qqyo&h(`AkY6L)q_I;=9O4&wD#(w$v@wl+- zMnQ7jmUk_Qmv3>dNWtU#NU@}i>m7!ENP)ck`ufv5Vfq)G3j%iBOOI8s^$f`=SYf2o zJlJ}0TDszeJA3xG!6+%`MQdQrcmIYB5tVM1R+<3Iuk;ch3b4vkP?R+&V8I4E(XRW6 zcpu=hUFWY`KZF3mF4h>uZz1|*7ZrX~F+eZ@grGr=NRXfO=KJ^vk9B2m)*gGU*2>0t zGiednQEb||ys>0p*!@A^xYcm2gD>Z~rZC;DGbmmpVGvmtx@37gGvd?6>UFbv+;6A{ z48Eua9*B+Sz}AB$UrS9(+X1=s=EHamq~2}dRE9&+AG^U1b#wi|(RezFN9;7o@qD>f zNHN*0^Lbf({V8JlY}V8R&+r__o{GRw#Y;2r`GKFv_=5>2RSgdhr1<^L;$uyMvLKby zT+HIHSA+xA>qom2g{QG(PM=q7l#O>;nHR?jxm8_?8WY%@I+v$fgFy@Gm8np#FJd+v zE#h-LBgj=1r;toqVmM9ex2&g-DWR1lNaxGT51`DPREbw4=m3~MEHm@|*C~|IdKc6KEbb_24D2KGXm@I;r6>p?Rr8k=pWQ4*n2p9k(o6HDm)BRjzC z)L|#k8mA9C^5xI770j)3e^%9_iUbQ!W81#|)277dczfM4cGdJDFy99@9wW{8h55xsBa+SdJ&=~FTU5!L zbF+*LeWrvRbxFB3z2easL;Hv2!oJ0fIR*NKZe6Q}w}RvK-!$YZ+9Z~Be#U5=U_w{Gw=~Z!Irej-*^`ZUL7)c zGKEVy7#A)_xttctdmX=rCl)z-!urZN>41~Ue*Qb5?NuB@q0JJ@kq_kTda$||Nn}Fq zKJIb@OQr|nJe}pvw+ZwG#iAAcc8+a=2M`XD(g#KTJN4D8qTssNTU_6rS;LT?#&|iI|-;^ zWkA~swv?dql^a}Lxz!1`Q)JDZhf7)hdJ6HOb@)?a8gy>L8qOTRtSpPU0OI)$R7$b5?uOq>tC(sL_tcGRJ$#XMm-YYJK^Jnw{$*9%N0M0; zb!>ZPl~l?LUqRV82F;E!=ASCn#Fm$=h)tsgK3AhApya#9HnvWJ`BJ*mBZ6!`%TvXI z)6XUM%EOm3h&L>&pvm>}Yqpy&ia1FQ7Mi`rr4ycWf`2)7p748M)7eDJYz`91!C` zi`Y)5)4@_rAAV#sT6&&zKxC816?U{dI;d)zJ6*T`bG&icG{rF4#QbZ*!|1Vn9O^#T zJs&Lsv@t|Sk3MX0DP;Vr%AV?Yaw&yZI-dStx9oKMSlaa0=>;+3j>oa3(dyIKXUEcG zsDRMfw{HT&e=cEBSh>P2?_-hRT|XxO88)>wD}oF-JfrA2Bit0C>_9Dg<6o4x`U%N0 zYo;DJ`?fzi{@gQe-n~Ef9Lwc;OMOr8iXeGoESKE!g?_h79M4t)M3XG1y%M%gMXxSf z-ybm9eSc;X60W~`p_r2z3E$MzUc-_m5h^t~jvrRJn0E>1Ro(O9dwl^WNk?xyW&(

5{LHa$~wnELrkel#={a&#g|Ll{}g#f^qm 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Ẕ?jDx1D}2!$M=97ND{WWkHq9_s z0xIj9(-DvXAl-i!_m@7OI=g-)@a!Fcz9uqN0QRb<(6+-Ny9n>naf~#c&yFmhH^P39ZE?B?q@wMQs%sb9(iBs3NwIQ2iCv!FBTs>UvJBbW_$Z$gJWE)Bv zUfRZ~26O7T`3*H-QT{rrcg+6eRPZh|GSc&6)}kg*N@RIqmLvU}tb1S6L4%JD^z{vekn49B6I`A0Sh%H7q>b&5Se4po z)q|kKvP>K|sBq7AXo{H*s^dI2`$xPi#h%oKyl>(?Va^z&8PIIazsJZIi@x;1i>y^2fE`xZ2YZT%Nk}8bxb@ud-U?t9kiq`D@X4^RkUP?} z%#%Tur2OXa#~?PxX2~u$()8y!vIl?$WsY&WhNRj@B`2NJnI@?-HD<>URhss6mcwU0 z7Wdj=K3a@_YaEAc*c1eL&M5|4l6~jZ9AtOL*;g57lQ4@<*!BDrbgPG|uNK0$dmxeQ z2@*jp6smUK+Vfp@pHv|p-tF;CJ%$D7)ww&Wd zc*C|-1obn+hcL2=Ol4n^nftgjEvT+7VCF-fn-+YUiij=}OrA3G^j&PLIGAYq^dMrY znmQ!s_j*)*Dwn%oi(z3HqtPK0$|c=W5t?cUHB=ajl7KBK)ih2i2OEHZbf%<&oe}EV zs};HCN|ERhKWSQ2|efvfLt#!ul^5;F8_`*RAi=v|1$Be-lM z>1DQ2VZ9frQ7p;JRZG2?bhopPE5MLBQXyhIW^;Jq-v*?>dSmK-^~P$e$27#tGp5Zl z3=i<`wu{h1=QJiG|A%kg^T+x&yWB`!Sv-AxK@55;u=juI<_pbQFE@oRGhOAf@g_kS z+6`z{++@p-5TKKDtN%Sthv`0}O2Tkz5aXTimfr;KMG(QaLzQ8{-hFsB_^U>UiK%nb z)_*sVV*&HVxc1*aD5m!icU-j>DH{owavi$@i4y~q^|ni2%Q|HK2?wsi4L32J&&Fly z2>U=Slq1{=m&ktL!acLZi~n5aEi8YylOZ$b*<5_Kk)DUtKOekQ`5$ig&u2{OTfiOu z`3uu|?(>X`{QQ|@x?l72-|&PxV5ENidRO)?xKzxkTFIvU2EYD#UgT@ORbvx%|N6Gf z3r`Pp@-?^Zn-t{k+Nl;gMhB*T7vN z!?Gwe^ILseUa+}SjWI63b7`ghFcx6-RsS9@@H_5-4KrjomoUFq1);vL!^Aq?soWN3 z;qRLs{_*BTQ7ZKPE88+dai;yLTh7`zKcp)7t)Ika zbm)#IQ7K*V7)hMZ1g zjcngWW@)Esx`PHx&#k8-V@tcDJs`D+hoY5EH%R>*l3V+p;s{Gu%$5$_3d;-f-^p*RQ>B~-tH8Y-*YVJW_r0s0A#(3a`D-cMGTd(Zz8;h;7B~X? zKA;9$I`kx*`{F$!U|t!P6FQNzUfQRz)~!iWKpbt_G+63(@C`V|(KJ@MT*D9(wn}i$ zruS?IH|?pULwD}%dZ-fJ25NB^ZWwQ-!} z@8dZTlXTYhx?Q<-A}We9(Gkel;OVZgawWg`%%E*O`o!yHJ#s2GJe5_~i|swGNsj*5 zy$7FpEsU|>kN;MqakBL>G43zQ%XirO!*Gx~p{xaQ(0*#1?}R-eMy_#QeghIScNVNKikies_i%X zKFNK3uB!)NF$hBm1fYL7@u@00HJ<8t2V~Me?TLO7-4?Ae;)HUy!;Zk)GpiW9@2}g< zlbF*Zjb7kF`rcCT8L$IqJhqXDhf=a7Gg_FXI8>5rh>(P#SFM{s$l(00PO?b*cIUef^pXy zhczU$dL;WZ8`gnmY6z?g6WKJWHq%2 z_xO6EAkD0>MV6!wr>G+)ySU*-olr_D7S~zC2t0(lpiJ-k(ltd%vSY#<^n-$zmu)B$zXqCs^l;$AHiI-t-^QjVlieeE`l<(dWD`uC-4e zR&x|m@2Z8GL<=BkyO_sW|39R?cT|(v*FTB{oq-W`6d6HaW*kMjqZAEIEGQzq1PH}O z386>{NJkv(fJ#%4qClvjh7O6Mh=SCF00~8;6PlES&fO2{xBTw=uHRkj&L1;N2a%lf zJm>8FX$m~ z>buMgt+Q6@YJb&|at1guly@^{0`vFpJCNsxKh(;Q>jKO7&iO-p019#Mlp7og+O*|Y z>)hWzfIMwVqk4X-S8di65-=|+;&V6u!J`@~qQc-lbLhb17W0_x2X357r9O%m3V=N`p--?RCqO|bknICQR(YB7 zDE))K8&mq0KDh_@Pbddx@1>Q7ky! zRu!DUqaitxRgi9BW+mpGbBNmnOqpgCuwoX?7;C|MbySUlOKC*e1gU}#f662RZ11+o zlY1J@y>7SV)cE=o1^(2_6WFx)p}LM7OC=`sgpN_hCK=Nq&wgKT!F@unff}U8CZJX9=R)OYw;#vK31(VZjjnk4YI!kB= z2`+Auv$k9!vo+9#;{WHy6)UAD_Tt9rPP>j&iANXxpd+*l%76yjIT21nCH6cIRkZ=bmqi_HgXb{>p;hk>(1R8D@;S}gc ztFFz)b3`78Fwz)LgDHaZLQc6)J!K*oMl=l}rvb8F(&a*psUAg%@>MSeDR>{J#yEctE(7k&F2u>&f1VR7A1bsio41^}ZuHBLf>XKUmusQF z>43AskyCNyZK}a+#^=JO=9h4t7W(*is@W#StRDBW>{M&_>iF=)((;sIL%Vg88wEo; zkw5)H)_&uC3@ObpJVzbccIzdOf~sHVW2@1d6tFF?&JFc9KKuJEH)=D_);s=iYdO;x z0MJ+!$R$6m%kc=#FyQ}(=FxCPz3Ry8KauV_l5&+*cRu+(zZ~@^?BFm&7s$}m&Hew` z5*TZX#uLRudO<-x_4n+!(0M1x^t&fC=bsO+EHPZn*CH4pxj7G?&>Np-=T-Aeme2=` zPj0~uKG^0Hv6*trYtkYn?S_>6z4?r-E z3X1z8aHCgmgE(j9qNIF5lWLq9yQ#}!8MHB7?peg>Rnb&Az^q>I7Bt4nx34YqH}Nn9 zFpm0QuI{a8rL>(dJs_xE{_${JX-0s& zG?9+dernfy!W=9Iy@6g-zTqbuOP;^TX~XY}?K$z2+eLFFtyiz%F`d~>R)t&4sf6s= zm3QS#NkI0PMeCT=d_m1VOoz5&_kad|`wZ!gT)7OXF`s<)rNZ7cBTmp!;#+2cjh5n5 zbRbS*B>ifWO(emaKH|pB-hz~AT1vdui^eXlxQozm(QJ|H$@aO8V25~`$C2gjnJXo> zJ5OF$f)`-BWA#5Vya#WFt9X_?6^0jBdps7G;5n)r$L{4}qOGf*YbUNbb*g<8g{x~W zOp&PIw8Tu&G@R(W+msI`O}97J+`0X7|H4ObWxjQaB!ep)wrL@3F;)bzFHP*fEB(A9g4o5XQ3klSTAA!eu12!aZ$w8eBK}=CLR=>$b$_y&}7x zr>T+-X9Ro33YxIOmIgW%bwFZ29)-4Y#mzXxGXB2y{(9_YC0%d7iIR?$V} zL7ILlf8x@7D(SFx?7)mcr(2DFGeXJBZVmLu=MEQX(ddGs*+C^ap>Rh@dIokY$}tpwy0cuD zE1sw&-w%s%N*jS@Zs{oJ$6LDAB-^YvuS{XGt9+;IU_68EmhC;b9fDHM!-*7%aG)Ra zsc@k+Ws4(&L1Q*s06+>E%Y|SA48+PbGp<yQwG z$T+KckUd^#D3onbmaD?$T2)!B$;ak*c)WT*luU$sDQY#G+Qhv@{=u;W7M~17FP_KR z)2_DXtgUO!z(F;iX0n<7AD`DkGQr44qU$T4$`?3og-I9&x5sFo2YnK*Y`+-Jx=D0cfgm`KE@J*DO z*`(wvablE7mk-4t)AvqeB7+4t`4Tm&;^EInmP{Gk=Rp=Q>KYk75F z``NDbhTaht%B!bmb*o(4tT7tzt_I8eI`~&U&$C-Z`)Xrj7h-Wa;>vuwe+c#HzNv%$ zOhDxBma9A$D}f#lsl9u^?LwbR=nJFAieUul28kB}*0JRFbD}t&_LP=Ja(j&mpJZ{4 zAJ)OL8NOcDGcH&46;|TjUXgP?H2w33MBsEYSms%W8v$y(x=V`^Y~&iCubdZ!=U+lg z?{A#a!)46Dv&j#n(Fao9f!Wv>{DEA)v%OFwhb8tnZ3jWc#Og~hBei_{LNW3!j6Iuv zGDP()UDA^EQ`>F5D9;Ka`@y5Laf`x7gMSR{=Q8Owh~mW&v{X5h<4I3FM8I{_RDA(d z4ngHWJ$?Ja$8Vn7C5&oB_dt^k=#A0S#%l?q1JJ5D012@1B}Vz#IQ!u8(+$Ninz%eM zHVBvM_S5Gr@J$~4_$J8L{f}^x0}<4H9iUn!nibl@w@=b(olj+b_pKFe`GzqOA*RBa zShxXSm;|A)9}mTNw14;CJKPOXSn!1go`22CF~24o{0zmNwsEOsTWEs$1JEJRayCL* zccoj?x$t?g5p*Dp11K;H_r`l7^R~c4KM@ccmM2hNOsKTu1-bYrITHS03oLF>V48w*X%7eTh0bS#8pN3b z>i+i$pw8iWV;waC?wn$fcB1h}r~CaMqvR0Of{@;8^eyYqSHb`u3yJ%_-Jw|eqzEWS zQgRroPEgU=qC-vj3kShemt}z2bf&;5SlZqVDJAU0^_5!fC@AxnJE8buS$P3}!x;D& z(VgBi(w_&c%m=!4puY9CefFJ8r z=(%amx;WPg)LG>e&=E}qlc9tSRsk@?6Rv6IeX)e!mdinUR^!7S$08&qa@J4EBPa_% zGwlkU*Y^l;iGab7ckMy&JAjsb`sQ0|H-)ampL8d5LzPzyBnu`+#?ldL7KxH3Xp9Fo zQ`Ax51-usGp#zEHUnKsmDL6$uJ*{|0qg$dQQ@;X8^4y~mirLp{!+-&$92if#JPn=6 zu*MvcdZYlFhUzu*n4>>+yjS6~fMH~l90VDF!o@TBVe(?LdCiZ72Nr8<;Cdqc{f^)a zp3*z8o!0krdADD_O{smf{~Da7#Yl9M_7;EmwgT+?+kE;rQ?5LeD!3=~HH+&84XnX- zAUG>TIQ>ZuQs-*_8#FxCeQvsajc*09U(iAF$GI7gr{{wYqze)QJ`?<{aKxftt(6>T zM?|fMU5RYt>HV>tephLEe12&CU6(=}$gIo)OAh5;U<~5gm-IcDNe0myH zxzmAwq}i1JTg4J&o&*Mu=NwD>+Z6I^dq^mm00rPBKkYfM^|jUdiL}v#`91a^&KUpO z-@93J9ClD~YJH(rZ5+Dx`N@buQ`6}gi68QX9#BT;rZ2DyOw?9s^{|0TRzIFj!+xN4J z%h-PC)ALCm7qAcl2#fE4#~L|K@T)CL8sa0!!uW@_1oam;sH2G4Olkoz&r zg|Gd*O+-NJ*>FY~N$fms`za4%Dq`dsxUZ-WA2-*%RXS@RQ4_77%Zq`E5jkDx6<#j5 z)|8K%>(MtUDNB-cNE^8dvd37b!UlyyTF1>@0Dme351u(B`T<^g#HF=YUSGS(I*B%q ziKw%To0P?3@3awob&b0WC2;DbmRJwrNCu!5*zO9i5}kOIafc_U+Zaeh6?u5wHR$4xE9!O~%GTId#i=#@^%kwc{YNE-rRrGC-5Phm*xSC2H`g>hIi9Y8n$9 zTuwj_(o0>hDS>KW0(>hU<{0HmA|-i#I-fv)0+)D^+?SZwvU;3RRN^t4i+H;&cnc^_ zkjtqUV4l`!D<5neq#7cP)twzewswjBo@M@RCtvAQ85rKJffwBBrbP@&^rAQ{RVGT- z;JN$m03!K1Vh%8elpss7w%}hI&ls%oYvHZ9w5)0dH! zwO$2n>{Kc-b;fuwB|^uI^8%Xfo1Cor2}!Pr>9FYQ7M6N(@1ER1w~=^y&0(6j4>h?yBp;SGBR0K!ro)ehGH|oNoCEMnwGW=EkD$CD(6Vu^X1v6 z9J)d~(hJS{-UMnt=nkvQZ&RYYb&YlrfkiHUvrQ<{mz>GC;Z!MuJbp^Q-MtPNT|V57 zUF_b#z;7oR41N3{1J?)iaXNq{M+DtGF_;heykA`3qqFS2;iCrMt*e*kKZ#-Gcec;PqZ6UJp zr9LxJXW}hl%Y6ZycE0|PMwJbbid4#w+tE*W^~tAFind$O@8j>2rer_=^;J&JH5N#7 zTyuYZsADY99{puZ_9D|mhW7l3U<>KpuUZ|*F*7(2H7iTTC$WG+Slz1lT z$+4OQmtK}!!TEVq;F=#&h7ck7@4nV)TFtUn!c1+(C?`RAN|apQ0T=xQ82$1QP*xSB z%m4$&#kCzg5zy-UD!1XomYvF%5et9A^W$mN%Z_xPOTHAovG-`QGN(HmUs*3xQHp&C zw+J4P=O&9F04Nis$7U}*h0dowO8me|71V7OuMaB=cDM8SwOg21y=(KesQ9$h^QWM8 zuA9wAUn542=i&U)*j|YQgcG3CVIu1mUR-EP{ytKI}m*a z`ND2f(_WZ3I{c11BsAg=fU0>Z#2;aG6jPs}{+TRi z$tZR+-~*%oknRmYd|49^JmAa(lyVYviq^T?BTNkcV5g{R7ZP0;6OGz^hfml6GVhK! zwx>S_ciuaqiohz}w^hMf_3h#bC|M@p1ZXr0ACogY|B&E`@F|wHR}5D^;tjF|l)KHPh2tsrqg6$!Nz0zo#F=-vfqLv#NEXx#9i)N~GHE|U!?8h|Kv+*Cd z3wt~kYVkyh3d{FLt=Ih8pSr~9+BBi_b2(KyPP!9h_u+fL|WcUFhY~Y^xZKzZlCdKC@DBsG(%@*R1SakIi)A$7u~-EpZ<1p=QUG(C}WrP&Ob(ZLAz!Ph*FGY?Hf2wC)oPKFHlDS;v5b} zK{aXZIQ+;(Ei}RSs67}NOW^IKu3mrHcm#jKo@N3Ch~=6U)vZb^+c&#W%#@n;r9 zo)7wKu`@==`-~D!na4ZSO@Z_r#!kJsoDzZ> zicBDoABFM#ELtBU>qH$XgwCT>rvO@m<6ldoUhdv0*p?Kg=P&*RYBBucN9LXC!8(i! zwzbjvS3GLWr}@Y(VFdk*dsuuoh5g6a1(6dsl9a+2@u;6A>tobNmyenA{?N=Cw{;Q%=?|h_y0#V;#D*BRp2S{@RUCDL5IT zRROJHz}p38mo{|^a2F1!ND$Ww$blvVm6Qy4Q%{(&6sD?jI{a)_vklug@0Aznt1Ix% z%@9iRDr-|SJ|^xF*!#V_iZt_RIoD0YF6oOk!&y6qx)c0)>e2q=T@3S0_>P*dP{{Ss z)FZzMtM+NfH^rJL0R3!xKUbR(ZIS@n{9fA&kyY6>rV;K@J>tMx;i{&JY)n}00np!A zUWuh{2&q`DV{#d9595@6N(n6p6@mR|Gs|-!DW~o|a3Fw<=J1j?x89myK}Qa7rxZ;QfO}SznX8!A( z49cbd)2g;~D^!8;K|5-{J)odMyCdk&2bj97pR(MI4Q~y$q`-_I0ix18+@HQmFAFb9 z>gJhX>3oKWZP3!vLGUd8FIZ9S;ZKC5wqbAbRAtvnnk>N0 zH)@f7JPSl!Jv!Mp?2K(@`y)&Q`aC2sF0q@BjwD50&HWkQlVQ06nHf1dwzV=WNIHJ_ z6deO@ZaH&;(eOv)!H=9z*wdi(WBJ?jQMd7vByt~EHu?!RkG`#cqOo>4XW*nPxx5)) z0!2nC_8chZXWgb)sx@RaExOOAx{d29Jq2a*99WDqibX82YoLF+7`-(6h+b?79aEP* zYL%FgR5+v$msCbi-0TYqRAlAym+<4H|2VMnl-r&2@$p5@53AY-8_@Lfj4|J934S=+ zE&d`r+XLmRjd7ma-}HvetK=y7>saU^^w7IU`wNM>iC;azs=xq--7zbNLE}T&D}fl% zzh1Re=6S-YU`R-~>cp_HhpRSdp5>+Yv%5vhpAT2!LBE^&d@YSODt*Cw)+(+Zp(_MN zL~r8v!qBWWq}8p^i3Q-Ni4EmewJOk`aiC~!z*{(s9bfH&=5<4<+)>BX_Fpc?Z;_uM zhUd!ojh5>eZd zZ9*qwXpJ*oO{JDQHGma92fdT{H`47GSQ@MC0KJb?ykmbI;I-Os^8-S^VzC~84PGpOgrqZ z_=RUVeLLPx?U<(OQX>72PT<^!RvdOJ-w1Om?UV5A#_Ps(PrvVE|W%g&l!!ln6&LCPjPJ?&om*$ct{)HX6;pt&@P@6FE+w7&! z5rz3{OA-kvnu4|@QJz@Mq`gVvdj%u|<#eo1Je??b?D{MU# z!T;RNWu&@51WFD)$uqRX|9wB_LvBO7RGsA+pHOmo#=7<16FZPovgmtxk-ll$PI51> zuafX48D`^Ilr*OkgOOpAVv?bgp@qNSzWc~r+KM#!v=PQz;P0>H`+#`6P9=>m4W6cA zpJV@o#1gg%DLTLK64e&)1f_qiGw*f{|7GlhQ+UR^7R82$R--lN(!M*iYXHE)k|1|$ zt!kpDA6_Daawu1v`E+5dI!1?-;5XR(VNIoY*#SJ1fDnT_dHnBJ^D)thS6P29l^e8U=(7Tx5{-njiwq0%__G;9+g=sF&3(>J3b^1AM2>X8n}Nm5QmJ%%e7WBaj&+|6t+& zaEe^(-2U`TwpCS4R{+!p5yGzTqS$O^B2zqV{L1i)S&m{v@b3eN04Ue0B)a>r#G-9G z_Q_VfoN!oO61Imf)V}XTD=5xDfT+u^=3SM%Wcecc?h$Q&|B;vI4idJvBWTlhbjPHY z?!gpYC8rlvi$iHL;h+J|3EfX^pqpM>U>s(fvLngJ9`i7fzq>ha#5ejE4tpk3c*@~zj98F=k4|! z%MhNhULPCWT#Rw!20$q6giSfeZlb+xmVIBHMN&R1 zUb^(d2XX}M6R%`_1!C!npo1P{kEZpS-{li18$PTp7-^aoYwrCz=*;-LJ-J0aRW2nk z1yv#65j+1Rnxp(`cvf`%guGWLKsP(&W&l{c-9lMXYMS%odTa~fNzVQ`kQ6{yKrVS| z$)-~_Hv%)B?@j6eIne}=DH)U5N$(uK$ft>~$qSDI#beNIw&`N#VJnvpAW_rXvI4^S z4d`|cM?YyQ3Qa(sfX@DK3Wy75>ZkT_D8mWpuBk0MyNY)m0q1}K&n) zs2c+&qjt6a08zIOY#D1FPb>fV2>xKo1jFe|a8k{{A7lBoYclO`w!7G^uM8_F_{{Y` zr!If3OLSM)H)meZt{j>hY@0@XJY}iBCs%Rc43LVO z0J|*{>RjwyU$d7sm%HCRTqh}-Z>Up-cxntQmd5%WD<+oq2ETXxVVzhXg4%KRc?bnB zrGEp`ASDQUwnhsnu329OTENz%!v(xIQmCE!AT;x&2q{=dc>TY86^fzr9r?8kP_jha ztURn8Extm;#wAzVXk~?yD(@}^ueg5yOh=a#7rx6}Ye3OT<60h1J~<~!0!vPBs8pzX zk9SE$uX&mRqO5j((<&NxKtSlRV^8HvUi-D_w+BG{sV3oQ?LGJ&9;f4V#ZA&%?*d=# z9kL3LXUnVEU8&ey%EA{VNK(sLg(WX*rQXA|^@E)TyXSDFV@Wsr6`0oAdblz+f7X)v z%5l08!Y}AuA8jIv^+ucX&~X!=A(gepdiU;{$Q@uA{Ac%fxi6w6PT$n1;-yx>%8BW| z*BH2R%?5*SBOq#@PBXi1N4S0NRDFGaSzzJC@nLkFvUeAuc;n-iss5E18-{6)8Xj=O?+Gp;8>$M zA^(X9J9H-8eQ>d&U?x&BqXFTijYE+)7qFoiD?$4zpKb>yCSP7>VW8(h40w9CRIJP- zcc}u+9T|V4THf>B?t@P2s~Gf!Ylt_&zWKX1L0L$3WD#SNy)plWh#HRk=gV<)R#^S6e|53yv1psz-}ui<#R$iXRdrRmpw3NAg?bV9=&g{x=LE^B*FseEq*fjOEdbsczBD}x+rrF#S+Gn3WSNiYa!4Hv;fj(Ejsq0kZ z5+WoQ;)ZV)#cz%+m}_0f+&Oov^evy#C*a7;*o!y+L8hp9)`_QefYR86eR8Rp_OInP z9+rGDiLeFWKuekjiferR!4qS*N|N$lZBF~(OiQo?CJ9kVN3U9UeG>tjvMDsvWw6Uh z#qJ)!B|t^sCSP!q{_Jq?^Cb&&kyo(_mh=R_0++t8E$63V zPpS~3{CfTE>`*$N-|b;mB&L@Zq_&+m?}5#c^5B z%HvQ;Hd-1#TCjW^4T*!x!)ohTkQ8SYEARES+={5)G!`LxCw2OT2r#{qZGtNehB>7Q z2p1>y6Ub{qjAn;wJ0K?N2MUR{nKp2la>r zck^}jc&D?+D0J2?pqq`|0p=Fqe~h0wD=HIl(0Oxg<}cCxqaf!PXOtnqJ$w9 zn7|Eu8>T3|*Zx?Je^5Xe* z+tWr|SJ~{Ku8k_BWPtk{>+F%Q(Y7rYPShg8qMNAd3AW+V zj0c4xQ*aU#f)M@VP*b7{Qb}Tjs_?7_$4?!4j#vnHr?vPk%pidp71xjnJd^TQT4wjQ zv-`&sT)aWqDO(Z1O7%PYT0W6kbg#x%#;eW4f;KQn+M1u?V^QWe|698)yg5PK zw?50}JuY7yikPUJbuQ$Uees!|*9{6Wr@0a5QCWoU9s8YIp8s8oQ6bVc@vd!E|BG9J z(`hFvu+<0BU@V(2ypihlN#I!nZ5OCp5e>;cdNIUb*LOu$UxXij(v8ZW2uF=`T=12? z*Eah!S!>(84W=g%O{=;Z_YHY-h0pa5D`EL%J`+W`yGdc$n?Fc|Z*~U{fb@9Q=XP+N zgY4>O1t4_5u%l%4H}wz6qa}3`Sw=Slo}61Nd7<6v9jfF-UfCgxqH%LUysLwN<1a!m z$%i)w7szc=l)Jfa6L*6PcorDup}Tj&m%y&pRWLv>G0`lH3*WeQC)W0%{OOJ1NMA zENyF}3M`tQFqD(L;zakX#1Q>1QX~A9X{pNMKtu?I1Iep=mQI9%st-s}O!ief}f%iS%v z!|8Tj8_Sr3ud6poY_id;k-QIwkw)Y+{^}|JN#cc6sMS(9!{e!8WlcMv!evNNe zUNjVH#u;lw8E<+UwD}9qsZ3`%AIzLX&dttp<*Bf0N{WiZ^fo;bV(4b`!^o}(bKtVk|d3_ zq#>VGp8{^JK#L%yX&{YDgFYiDx5#oME@1`K5MCkJNVMsd5VzcA0MU32x3La@jJ~jo zUHaOE@s(yJX9EYT=){=ynn%Gy)G?tienA3yxn1R*oJ|;Bpeym9 zHspYsCgk&mN%X?!(${J9eSCCY=~VcQvK9&=AQpOaV0!ReHB~H4|Md+BQ1!6U^RLlV zva(W|AVtKTK5<~B?ZPEu5%l~1!}7Xo(bfUpCFHE&S3C#qAks|jqHK30`4;`tQ?a(> zshg;<%_$%@h>PP{d3G%<|6_!h*pSM@8>)WZCZ7$}8}>DwqMPH& zc9$(-4AsvsHs(&fh{}{E#QVZWOG14&a!JjR-rE7A+fA#7Nn=ta+M5m$?XvKCi8sIe zTmfL4WwXBA1N~d6r9o+gk~UOYUl0pe99xhjxT{NRpUDy>)=I|CoOIs7tZU8(FjijR z1`Bku+KH-FyUxxI9?FIMi3+?$ltwG5DOEWELLJ+pG;gV=uEMsKxqCs}-aa-w*drUK zZtLE6z&WJ=E1hY9LNzgT4SjL(9RSpwG+gtqr5e49^~4y;OX@wBi!C=LE3-OczhH1* z#wzb*G}74oH^b>?JSaE1_hCe|=lvi=xa_s_f!@XW_`<8qt0W63x{wbpvB3%#nH;UM zqGv2}(R9ii@l{)lvD2U5$aJJ)V=BC+teoQr@y3@8Sv?L721M3=y`x&U^1gvj>eGq` zb{Xu_!Xh#gB2`dFOWj;sK)9Jr8ufdNTe!oWYj`RfqK-`{0sb5e>xskG8|GFs23($y z|LDo$L9#$SMSH&%M9N>hHG|+X+}opa2y7KZUYYdwXQkX0_u=|P`XiOTfA)+M;+zX0 z0yqY<9X)Y|MgHLn{WL$KlrTf=KQbklujDrH!2%!gKE`fP6W5dJOmfcK{ASbO85S2# z#bP4nFY}U`=<|kZtd+yW!U-h`+1JxAN``aO3_y1czv++&fUx)|ul>9SQe;>Tvza>gVr;re+DJ^Kzwn>|l z(kG>Ud_7lE7)a0m^((Ib4^o{UU;KZyd;a*s|K-y;5W%+925{n;Wh4YlNs>$ACCDj? z!LeA@`|Zyj5&5P=L_`L~a6kd))v)n}S2pxMJrG)$r6g&3Zxv!dK#vjA3HqKZh{O;P zodKjjF@< zTQetTg;WEKNxh}t{EwFIAlC9F%tg##y65jX?wj*AZ=PV<{qL4XgGEUbo4P|VcaQ`E z^fx&``d7OnXBG_c(WIB-Sq9hhlO(3T8lOuPhjBN*Fu`dx0f|o+x^g=d%&C)sX0wLR z{SalfCsLFmATFGC1=qq(zUKq=%B5VQbfRcM%KqZK%EW!kCr|nWwAmtI9n65`iQ}S5 z6UQyJ^)hD#Qub)ePB5}Grz#e}MG2224m%)w%Q}fo#Vc<>CEND7A(?1^%im!`GuR2* zFsDMhrsDi-wdIZG_^vw{TQr54sf5?Bp-STk$6d5D(B4B#J7pX%AUp@?`hjtUn){L~#}}-GFkhNa_L=>3Dazuek!xw$X=s5up_l z;sdTuAteZ|>W-P?gV_qS_V#EmA-!F zR%N>to-*~trny{`|_|*h=(gX+E7RkM6!8!mhBxz zpp9rk#tATi-Rq{=y(#H`>$i+On_pZ7S^AUD#^gE?!y)zKA?@dcjC5a^K!glYV40$0 z5!>SxHT-LPMgw%<odbKSXX$cMxa8QB>@Rm4JiDf!P+J*%VD0+5n{Xtx8OQrok;i#L#NH>&S7&brI z%|v1iy6_f`R$mx~UEUv0=NjMm>$8%W<|2P+Htj+JA|ehw`-@dSF5Gqa#L9`uXM%m{ zb2L{!&^rj&CTZfdG?QN!9x$vGf}}Oy?Eb8`OThTyos|4khQ+g@G0kkm6xzl_;@3|Y zU(27M)yC*JVSBx2#D$eSJ(lm@rhqOehPMOCQ^NF%DdnX}yHp7@9j6C54p*4h!c~q9 zsx*~7EIx$b_lK!D4Oe@Vl1J}S8+;N!FpD>P_r%R~Vf+@?z)5InC4W1d{m~p$`^!+> z%X(Ga3-*E_r}KTTPOB?=re7}i4 zqyChOf^d|se$*4tX$wJQgK-_VdfU&hu>G{ZUp8hV#aEJMqzeTys}L#TXfe{ukb4QjpAUcI3$Uv-BOk(3;E}j9`w|}x@%cfQ=F`I@ z@X-!F)WB7ibidXxbgCXn*>wWk!-j-1p%4R6A~LelLf zRbT3SP15F%o06(U3{BnMCg)2DIkXGIA97!$E7g zF+#URz)R7S z8~DD@Jz$~i!e@TYW#o!H%q5p}xoIgbpBDMnIKRf+a_9Cpoq1+j%h;$j#QM8lu{2mw8VD9Imw#<(G= zoZGD>i6|UxvPcb8w6%yWJYyGr_WAY~!5k!e{K-q+(h9via)=_mXU>5&eD`XT@6*_ofLPDOdS7d_KX$9baAUkB*WU}( zuX4%!N9Zb2;iRNda~#nI(5x~f5lcJ1^1UE#Z*gkTY<7F{U+_*!&fB#~wOc(M^Xs+j z_%1U|`t<6d%oyP)^_v|~We&0fzNIPg{<@v^_XeST!AJ~ib@BMKKegYOYBL4*DGoxq zK4}J-STM<41mA)0ke`DOY9bfAWy8)${!h7&@Gz8AdA^d&@;h;y^$aRlahcW&UEL+o#JF zjYV=Gp7*3E+q98l)hq4^eT?`^S4mnSp3zF49XOu!`yGwlV|bo`BU}dtmBO){LW4+2 zT}*@I9VWd zZ{_aXjL3CVpu7udf?0L5XYz+tG_?cN=2MM7`CF>1hwfT~%Ay-Z&eZzaRx);$lV_j= zF|ihU1_uM*7W8Db=A74Dl6pFP)7z$u{nTi9d9pg}$3>ZjO_+Cb!+UZofavAl@lAU@ zu);^ktE8|zRGOTym56q%oU3;W1BX}+N(_%=k!Fx&VdAY9VjXF_4I4zhl%^P1Eaic;zax|er4nCp$4zggDR}Q3om6Hfy1oaAgu%y=D+Ed zeZVZq5Zb4rRR7_RcBfeAV#m(b&=hKKEDx&AOT-^`AWE`Hz5_8*Mkj~GM|09i?gGwQ z6l}$?=EU@s^%$)W2x&nDB>3<+8g{w>5HtS36EM$5IQzA<)e+ys7`$lE=rh>o^ z(U)|8e*@lDmkEaDb^oPtG`lcxi5KY;4t7mJVq=*G0sZOktb+*ZWIBz6VL;m%6?a;@ zHyvI3fN&aM&MK&WoC-i%)Pe88Evc>ATjn0=4L~)5C*TYH169r*RMz5`$})A7@JHX{ z2kcjm5$~pEjLWIagCEm$^w{!D2BmE=ZFFI#x!iJWyw$_U{CsCET7c~FYJNcSF8vZU zG7?k<&oB{3vpY}?48EBU5d>7HoJta%U}ERon!fXEn`=h>FplC%yPy7K-h2z_d`{|@ zMFP_kVNtbphEyw+19&Eo#m6n;)17QSmW-XVF|Nguc0?N_6l5k_9@K4%HXAbNfN_g2aIWDbu@j9 z-Db+txw{2^MtWqEw=Ma@>DpHFk@CYd9W^Krs$={vdix*VIOtY?uP=&8Dev_X*znhW z2LF+Gh1pJ0nR{Si#U!d*p(80IREYBe;Bjg8d!fY0Dl^U{?KA29x~n)Pv3 z-x}})&|YYtPt6;gZwIgCHMkug3Vlp*iIJRU!T^bC)v@gM^6O)}s3@zk*WpO+Tog7g z0N0Q?t$??+uaeX@6G&Z+62OmR&#JfP&rT1z!{i#ou$9(DO2OjdKPIW)wy<=F)CA91 z)$-E6G$rNs=CeAu6FC3;X`g>;=vcbvIkDWDAw8j_tNK<>I6dq+DJ=Czv6+C=WAcwQ|3n6r-QYhd}bn>X}PcNNLjR3(}!4HAJ{@vos$4)<+0z!_6HkGSoSl zYQdFV91!rqw+A=7oFPlRswM^^yc>_1=-zTKZ23sg*zpN>=hDWv!R;Ajh%J#)eE2v3 z0p;|S%z5eivVdRu-GU3-jVSOUc>)?tEKRq;O^E;7-r zYa-Y!WT(DuKkLg#he3?^sPZPz1+=RVi} zkCHz0BC(&~ojm5rgz?6Es77nAk{!OVAF8sQW(N(ag*N;;hQjiFPyPf-$LI@OY|vYn z>yq8<&&CpZ_Jj`c>3&5!#xI4%{FM_S4Gl%RgZ3EW`J}q~<6qEpW(E$eoba(~wGt9z zoxBg8PW@MY6Ccpge~qPtvF6x=7~vRTv7Gz9f|cj#;xnxGC!dLP)@he7E%=2f>G>}< zP!;@`KVH5*4--iCe$|vb6=0I-w#aacoXL1%{YG9tb2(6svawA=WeN}dcODt?uk0u` zb|kloEYA=#`rjtTS5rB*#NNuO44&&t8awFprkynjoWJB3S7|XO`H2x|Gn*(24qrpS zZjqu`&gu!B1@q>6UaQwXY9+ArpQ=9GyKEI>%qT)f^mu($L>Nby3%2e_@nT?C-}$R9 z4q%iP2ZSIIFdPZ3>x4mq*CAk{6O4b!)wFl7DExT{|E{z;7dPH=zPA86Q?ublrWqw* zyJ?lr!?INTK z4Vi^#rS(tV+qjYxS{2=sbUX#v+%VFe8en75u?`H5M*;1Z5AUH7h^ z8_N=fFj{bQ5g-m%6Yp3?j^T5=a=`F0gr6yHhy56#O3-yq72T@Ty-7wb)VYHC}4gxqW`d z@L12y{@F$$-{#y*OzC-4nH25GTQd~rekwZys? zJ>#8}Qm4D3s;xRFu6Ql4E#sUrQlsywG!jd6R@MugoI-_UBXADG**0T6{%DM6=b>&G zAdEVwKvYJakz$_kH5;025Vtl}=T7_UEf0*xqsecY6N=u*Xa3YZ!sxrna>*0)~lZb6rEQnuO|c7W-UWjgSqVf_P!T;(!F@O zJFm~6j4Fhhy8#L~ABZn%>b_^MeNDyfI$9tllqYydv-aypa{?%Rq*sVfsID^u`;nCH z-&TcIkmL?T8M`590@TPIGRp2ceR;QYBI$N<*?8l zZXmsA=2j0}xDvJsb5Hq;b4dmV;W&P7!yMih{5Fe7&#n%5C|zvd;(f1`)XtOgBVoj1 z6#GxX*w_CvPNd^h=4QwbFtu@^XJ2t3OBfzb+*oXdYwx}p*k1>4$bx*>UChZcyMnk@ z?`}N0z}N(PwWMq2)%+N~!l~fn7`sk#i)FJb5@uc0PGC~jEnP!DTKrLUhOe_xrfO~z z1h)=We`vcF-YtzTYn|EE_VVpv8C}#63A^49WfiBe>eQN&!Jd9Q9N9K(CG$9w%kxEJ zd`Te`B1ILGJ~gS-;)&mJ-9FNg{u^*e*3f7{84j1cZzm3XK!@8<4a>S>j@HDo#pgY6 z=2|%r+cr3p|9hGT&;hI2FvGDJL<&Y7AZ+Kv__Kx4Y_+#lyi#gcTFSrvJm#eSZTcxq z4hbSj(u}Yf@3dQHEDrZ#g_W!vkR(cts7Vra3Bu{FI48cjy|d6zXTKc?5b2<0f5?Ni z@a%lzOtX)XNuF3+_KlthO!p0V9ppQXM3pj&g}@Q#DLtMm?*Of#76^{FkB=8}HcqU4 zF#MsK-BZOWgsRM4y%o`Q)-%^2%FW3=N>X~KJ_tN7Qwje4VJGdI-;}jh3`R$clc>%l zkO{R8H7wUdwzNM;h3<9qzwl?P$~?~bj38+a0FLJ?T1SZ^OEvfrAwe>&@LPBAd&I+0 zT{PGSeOd{qz&`qGCSQ5G-tb@+s(l6^-gcr;MQm=+H6=OwMVr~~=OBQkPUjxv5g$|d zm!^h+3)ku*PmwX@iLd$52aKJ4;oho93<|CVXI{hVyB1Ot%=f5WC1T@YT&xT0wV;2-6m1Kfr8N{Y*Q)#);o?FY zcOraCkokt%!rUfm&%~qSY|>=6R}mZozKmg~63dcUcSI^gbA+HD2zBiQu;2de-JK=C zkTRuIsCZ}GXbKlya^4|I#H`2yu(li1mmhv1gNvtTIHc@d0S zS%4zD;6JflORL}~`K~C?z##Vjvd>cx-DQKAp&{U9Z-Ot7i{qf*D28~r=G3%GEW=(u zi48i1BE&8X`2zNEDKtfj4lY;o%95aaqLU%14Gx%kM_|;$i9*)GATW#?3;;zlzP zlC`CNqD!xmQ*)AUcP!a_%K}8v8F>{W%i$0~nshnw0U2J0V0XySxefEXOzG#%oD~SH z?MkP@6jF%!Q#E(SJSE9H@cVTmTBM&WxD5*pxaJT;?=2%@yAoW;0w;6|U}hoX&xcZ1 z;Uz0Ba%ijL_8xACvt#98*6Lq^axaH>+Tp90VL?viYfql6B+=>IMSoYZg#u+&xo@HdlozO}YqW0!4 z;$LY?w^j-B0XBg*5U0`uRIPvrQVe?{VfbJZz#(B`>OI+uAZ6TRu^&_+%_lXDzx{AD z`R`1{2m26ylN%I>jc|d9dj5Tj`;Xi1B^z2j}^-4GJg!0pY?71l~?1O%xfZfOaI2uYSqz+$+on?d^Hp!;ANuxz6t z1(_Mwkd;WseFu;qKiQnb+Pm~IaFg;nR~ar zxpmUk-;rMzq)jGaUEb*-UwF5XOuJ zlcE}QUu5HdLH=gmspMH{V?>; zp;K-N&03Ji6FQHZb?ELz+|)9V{pQ9b$>bA4Rl!7lF*?z{dtq!NxqcdIZ-fqSHF_ra za}>V(0+)P5PXA>GOcDyoOv!J$+rHU^%MApC#Yj@81(y-^5NE6n48ahh3Nl2CUGho8 zAT22`hB{57jKqJ6ZeD`eHADIxq`UqrR%o%6HftV^-ZX~fPFPs^Awd@GP|Oti|KaVu zqnb{;cW=uuIx?a&iZ~#kgGv=FG()oi0#ZY-Dk6jsdO%75LBs}8qzMKP2)zgrIzenG zC`b!Pi+~siCG^mJ_ZM}Z`JMB;f1I_>`?}W5T8<8cZ@KS%?|ogL3no@yHqm+U-4tvG ze9Xgzw83hy_V)NvAt=V1JhKaVS&`Rt!c=-gng@E%us$t z>4u>AUOs_wf8gmr>C@II*X#Lk*`ies>-be-af)9Gbo{7wgzgH6RM%+(2ChHhE>Axq zv&wN~IfB!0H(V)}+Sm2D`5wg|_deMG7IFLaLUopT*Q{CQ`ubFx^VfC4A5^v1CD3RS z9__Pv>+kKUIjH54ANl*Q|C`fnz3m7x0+i)Hzc_qv$Z5LT7YoPX?f(;_@#B46|C`DG z4d49pYy4Lh#?L?ezcXO(3s}be9IyxRI>W9~40#-8AmzMVTJQsVaV@EXehCH##fVV~ z5#eF`s>%9G!IiF61yrpd;3yL zIL*y&)PHGq1Reyrj<2c2oN3;N!>cK6b$41<)qS0UZi_Ne*LJK0O|Ik{c#Yttp&20iROv*kJOr^ z0YaNiZH95YCVAJy4QK>MAd+8NO<*9RX%bI(Er##Lm3}(Ch5riDbPxSpaHC-kLXbbf z0`CA*ISOz-_TUxCZZN1vh%wO>EW`}Q)L(RjrfdHq5ZjuOd?zH$QQt=-6k(Pl(2Szl z;a7Pg=5^6|GYESUN{G@|brdtp-l!D+X0N|=&^FGWV9MwOYbzpcC|`a7%1*1S!6WC3 zr54&^W@1ZwZ#GblRL!22|kka8h=YE3!F~AvQ)&h7`mxFb2 zCj))DaX3+vtbaZ%Jmh+5s({`{a4ad-IhbE`Q6mSD=!;ws$_|xazBqx7U>xFg-AVW2 zFYDD_MNlU_qdx_+02ymiNLhrH|0xXOJCO0X9HmGgXQsuzugWL?;fe6zcOZIB%>$%7 z!d)o;jNlAL)74k%RMs9m*|Syxk7W7r(2$yXWL9GBJUaz5oDntiK+u}xD>t5G?BmJY zgGaWM+kg|1Rv3yx_q=_4@gT84Stc)KQ!lSw?t^;R{mnR9rNc6;9{-U2!g&Vd8{JNW zEl6_W@z@g|AO&zJ{ZS8WOJe}^DgzckMHd0AyYoTk+2vpV3PV8qFNl`8mf*B z9;KH*22zVS&>+7nsB7kAz=UOj z1-iLUA4EQ;sB-$jc_j}RPl%no8y*j5uzX}y#>@@vps&_@?|7e6(QOj5bl+fX*Q!A{ z%Y3dE-O{Cn??d}{B(s*@J!F9heWojZ#d^0%zN;Tm;pXn;N3S~Gq_lKtwkWl-Q4=8> zcK*;RY&f|J!|-{y_!Tc%Vh7dbC2(C476TFu|3Fx&?5vYDeI zG{bw$h3zx#84jLP5Vtl^pHiWp;j&W#+{`z32u`5N=6v(c=GtcOI+>G(4-B!*95lJU z2#a4Gg^1u3B}14x*Z*71}*%_s^dXCI5CHYM`zQ_=g)}^u{ z2AMsv^x=RCt`b;jpwn%=eoqZuF9M|3%?|QOK#P60BYvUlV$AUjeua^x2v{5!Tc%@% zs)XAgS!a}Fc^y!gC`%QOoz9X?pKCKR=1_{d8T>bO`W8zd&IDgtATc)uNmtQVl0@hf zW@SbiC6-y0u>gMIWmlSi9c3=JAnzSZmAY)*axAU0=^#~hPhE#` zMfO!$AXTTxj_}VSH&IbC^{S*$=3c}5vdN9k_}uJ4eY7A8mdnrxk$#^|Uj*Cd?S7P_q^^`$zz1*N8R3vx;KBq9xNH2M>EKEr* zsVR|0TK^(8Q#eYuJJn0&=gWUP&x1ogftFzE%sVPP* z=7z>yE83iqi0%p!PAn?8F5?x$x-HEAYCDjpud~e<^!+cxsRqh}^=V7`O5@-dcm5`i zscX=>zS-&o2ER{OD?k;uzb8MH_|l(YP@n)dFx)?&j9>h5N5!(#5g@08kz?xqd5u11*1(H2RB23L zM-|T-kl4HFGI3sljq$9qlEgWR%wqLhZ~6>>>OXhFzr(F%6xq#w)JKTIT5AOgCo6`< zDQtrrfa-e!w)J7I#Hf96_;MGO@i0B_LTc99ZindaK{{|^=tPa?qOaw0O$Mn6VKg=J zfSIW%Fd9PG3eIl2sUd*k7IMs@aOwkI0ievoH=Y`c|<1bByc>i69tHxlr-9NQXU z^BYE;O_e64s~y9xejVm*T*pjgGZp7V-Oy2Q77@uc!-BsJd~xq*D-@+e)72!h2%+TY z0}fiX=gDdiF)Cm?1Z|3%cCJWTOT#0QQV(phQvX+aztdF&A%;B=kC5 z8hjlm^L5VP_aUbx=U49l$bfcMst8Ia2f&G-XEzZxFDb=>4ovYK+A=5V^j-4Y&hO}j zArNQ9cA6!H((sn+;Dx_e`R^HXA?z-ME#}c`B0jv2>mqi$a$ZR0lD;}Vu0VOlp(X8h z!X68oJqxg&igUYa9(V4Mm%GEf$>;29Be^v#`gCf^GlOnmsd8Iw!OwjCV9ORYB1NBx zS)oGr(D}&g&zyV!jEAdjJIuM=k**IrMl`F_tbkQEO&&UuCotI3cHS_L^cTt5^t!NB zfn$NW0@|**`g3+pzB^H-=xClI)$en#;hp(tin1m}*R+cg@2RVSm1_6Vow5qSu=^zz zbt+V@9P!X5NNHBG7GX~~7ujX{SORxwbp2^Qj`Vqs**6y038Eqjp>_U}SK72{Z1Vu# zPVnzY1)V)+U-q;8)>gVs@SistDwm}pZ4}2n+N{hCUxA2%!eoGfBX(5Rxf~JG5KhHv>H==bcCazwJi#kdRP7;jnv$> zW@vH0yl$g!?+b*)o_Q$pl)R~_(xFdiSz4o$AI_kaYyi}f|57$$(@Yvtg)rTCG z)U^2s-~u$>%g@Ns6%7BV&mep}om<4j$M>11)(q0SJR{i+%5Dp=+O}J=$1YQX0H(Tgh7}AsG=*R_sNIECEw7&LVpI+VGJ(_xkoca0Mf7W>ZJlxgio1Dvq~6rTUU1K(z*X zbJ_}@gK*g=O(?CZ zFQwVz>+MFm$@FjQ^7GB3br>;hPSxt-I@&@sbw?LDe%&G91b786{!r%qeJ9s zz0vUjwrL{D5g!07cmmrLZGa`cK5+JCnd~kd^^tV#BvSF7%abU)A#x1o7@M=e$~zu3 zva8>zE|epKC)4Z^NW+*isL;t{8Y%dFgs}#fg);NhDVU*&JKa@|m?mlA(4XeWJM)_N zR&_ zi%{zB<#VGiyz`bOM9B^f*X#SxDR$FVA=FXfod4~P$YrcvRrQ<2n%>c&3egMR5Bz%6!+7;ozAHIb*3lm zp+H8jV2eOU8#|@geKA6R%>GXszPpv)@L0PM2d)2ku!B_A;_LyaSaGEAoD$#3>AiB> zOo?+V19!g>9sy#$8+6s%5@g5u_>O-5ybbdUT2TC&;t#?>uVD+&5UaIv0#<#Y4Xn`h z{CXHNGhIiRKpvkxbZ@dOo;h{nIw;3%E20TUNxPO;c(D>JZ7Cg^;+9$q`s@ddMI-8q z0?swAmR1j+8Dx%=Jm2ga!b^a)y}L}uG5qExJvqbIOI@doK38uw3SHhGq_{qG1FB~s z93(#>ab@Pk4wpe3=YG8&uo_KX^y=vD43h#2XtmMZHa2NIRMxzZ-XUwfPu;~TcymYMtlsSRZ4a!m-PVH&SLaq|KIG#!8LA8y7AI)6RaQS`ZWG6 zT2pUgD!*ahFArwEBEIxf<0l}ev$T;8mEEXX-YK%i+97#@DF-0Se55MUcnxBf9o$ zO>5C!O zNwpRuq9lmylq;`Gq75j=y2OG)e}izF_zy`c^og2pMi#J$I{}fzvkCg1F@Scv+l3^2 zrmFGVBA8hSbn3=oJ6%OxK+;@!rJq$$lQB|JzN5?yD>$)sl2v>V6 zi4>2<^7c0oO0rWvc`9S;A92gv=fMV(_^S1QGq`fl_zH&`*$$I=%zV3vN?DDG=@Y+l z9K=mkL+ni*tzxdL1lmiVAltzn3=92NpEC`_nbjgiOAU*)b3!(ks$cL zBomeZMOJy-+e+4K_V`9A@?qYHXB1KQ%EHDAsmxB1J0F=jmu;RG* zGz>JD7^bReeabacsZ4&B{=5-F6~Qv&4~*RpuSPc5zmL20Awf>p|8WQCk=7N^;O?kX zR`a2Hpm+Ujd>Dz)a-Dpo1LsaiHJO#FlyWe# znpebS>?J!1$t=bh4Xt~2b(KGX_ZbTZb4j12=89}l);Gk{fpoi&G%F?FKo~5#*i&4 z_v4HW0tWBx^SP(R{&=?FDGbb|ydlhY1B4^=vcZBNtlT&XO8g=qK_8hq<{10EP3Bte zc!uF;gj`7)8ebYdIkg3LX1}q*FogMvw5&&g9Bc(CZ0#|nLDNXU>mC6ckncde@fHim ztd(b8M)Q4-jgI*=K)e=+0D2%`$c9{Jw)aS;tU+&Gu9z^%GZM)ZgW3yyXheN9JH3iM z3;QtAWr0SoBLG59$t-^kX|PSAUwJ44X^aY-LIHeA}?=X$; zB(O>Req(8j^@n~2#5+R){&sI8fhf&<(g!%dW&BCUS+Dh!$Od% zO+vN9hJAM%5j@uRFnsLJg$d6*$k{D`)3{DI2SG2gj-y9g$anp;Mdy7G^iuRHi~!wh zW5DPBjw4ihj(NO6Vz2~ay!4%!o%~*%wf~snrSqnt*JBRU=y5pNxh`X`yjKBh?U_$u zzyEa^3@H!%a+?WEMI|t2SZ;CAtHa>qWRmp3CFHfN3`HB_)hMqjhH)J3r~Mu2gO#1S zyWRzJXDIk8&s5P&yt~-1cIkrkIQ^4o#^V7s%&(xq+JagGJsvW$ftAtbP|091>Xx`k zS#=%%S!v2swVTy2-K1scCPfw(W)_$H>CK-}Eot6Y>_r;#C8lSM7#PXTFq%q{$VX&U z01JkW63^?ehkRF%78i3E>32epsc)4uL`_`|mHI}VnV11G>3Zzl#7T}onek`o%GUUH zBk`)kS@{E9*SaVMW0_~db@tH9r+Oh_!ry0}6e42NeIAQOg@Fu*h%~bMd?zUuHh&T7 zh?*6NggTwazGTXzw=$R@8w_oG4k{k!KmOk}|^-*oIk;*o9K26j7 z1)WRb)|?e`*-DUnsAuux(RjWl5Sq?)3V%LZ$ng5Z+vnOTA>n~r~aQ(=nkJ9;FRXVrnX z)oZ+~{Bz>$C&WX`!GKv*^01EzRDxVw?(uv_vc$)a;w`(*?~`n)83rq#fLKV@4cph z{K4W5)rJIG{C#S$1+s)n7WBOe9= zNvFinHT~Gr8>gVpFIPCRF**H*g)(Thx^V#7wy?63#Si?-U|^H*=OPwZG?>WnZ8nP=xxbVhRVt}wi)l+kGIDlFg{sOOIH{GFWj zK!4l*>}tq5_!cuPS`z+xio#9DKc1~{@M-PB$CU7DqlMac>zUbx%k=m@%ARqpK18|; zejRTv?!7HO&9|Pfcfn$Zs1FZ)(_r)>k*!4j-W*Icx2yh6agfJ$QTSpQ0s8lfvGOBp zgOKX_jJ5BT23%sCCRS1oTJDq;4EuiC@pOI_i4ose`scrsDhd*Ll z_V4@TkIokc??ZY=poc1Oo*iEA9t~mcoC^3QQa}dTijah>NK)L(%kJ%-ef9@1olBMs!*O<5?LDlI$AEz zDudEqCM~ng677R%Wb$!PUhtOy0i_a0oj1K;9SM{ikM_*U{gdKm6AG9`Hpx2)&c+qf zZ$^46OF26owlSX;W91~8R#Wy;Jq9bkEdWw)Oks;#WEY0E?8QqjpNu{>zHmvS;~A^d zXH--yt1r7q=@2Yj0?*<+tepsCtGiV8?X-Vg++_#I~;&l42U9M@UXJXB@x| z6ukts-LmIq!Qi=f*_0Fy?W>q@i1p3u$e@fN9t+?%<@DHwn?Hb_1OlX&c4e$JIACw%Q)%0H&Lv_-lmm!nmqe{5B^xIaD_d7qiS*3e=Tlh$WuRkdbSb zO_BcFR452BN4Pg-SXEvkR~SbwG={VO_2_1hD_oWvLksR<>I%jRXJ}|cgK9gRt}h|$ z3-0CX$1|5l#hWO5zhe1}+!T|Fm$ut*X187pzXTk&@8di1g*Ps=KO{EK<4Z+y{gg9_w zbsQbFswZHF^cvmpCNJdi;fa-@{v3tqKNyh zMthq7^3SH;Ks_wrtr3E;=}fhbr1U?Go*z&YYw8fV`%bH8iu=`hbFC8%t1n^$={{@_ zJR5O6LF;5O{|!89F?_ZV1{`<4cDr#<}(=MfgC`R0P2fJ&Vt%uqK+(o-`N?f??=HHd z5a_eO)ESjc1XrGOFIqd0&-!e;$rj~iuLQ#_V3?jJXZhkEgI1(0=wb|V>1V4nV@m!M zp1`{eX=6Jub-J2phQWx~P6Yh$Le|Dl;;@tk<7mF*p$4Vb>z7{NjC+<29(vnSEYl;} zY;M2-s(xwNXwT!DyO=U%i()A{6rZvN=kFIM`^D zczl_ulUe}0MCow*YuWD<@t?7E8u2a*B+r|p$yiK_Ej1JU~ zD#)234{^FB5;G*OD7C)u4nznx+8D<8-C3_CIiF6z!BBEi@QaGGP58=o;@aHzt7ts! z%=7OGQeI2qTWB?XBCeKo0(%n#nqU8OEA2oOmTQ5zi>Y&FrL z9~<25(Ku6_lgoH+a@eN(7R^XB!o+D+&4!Isu;3QoTPd}n?c7hjiQ~>ZLe7IYUc0mi zOt||dCNIS!Z#C4OcTpg;d1>G|G+_}|mP*Z=$azy51r)z3fvFPfhA ziy#~UndZ;GvY~AgWH`OAl7g-eZ?QvjO2xl2b5J+GI{?4`<^R)f_0PBXKg~Y>=YRZx z`Z$$02P%**2m^M23A`4>)^Og2JJAUPAV$FEOh52)>{=%UBZ^5FW_^Mol5LoP@9?G% zFTs+Y3v%OV&B3=q#9{;^W)38i6w6g4>qXZ6%Xy?Ht{LxqiroQ|)MU+;h-VN}Wd?31 z91N1Po`PhURSMXlPoT`Hd_KL)_>R|3W2aupVGjc%P?_4kyt(}u68!@3gDqGXXd$W~ z2+zy-NRl$(8!lSFF<=}aiPf#abr}oV%!Ocd=o4jw zTv*7lFZWCWfE$to|eJI`~;5T*&5`sKNXvQ-AN-2h#KE!vvNn2SaOg~FIa`b5y2T}|!Td=oQ z2fhs!Qx|2ueq9yY5zXF|#9^jJKlypZkSi%k^KO&w2yo+te<%RM3L%BHAzlV++-p{Q z<}zHr{N9n5ia`~sB-L%dWS=-o+6OJ|a0Cg5oZ-uLLOE2gztwnn*hp+UM?lWs=X0c^ zy{w+-9B6NbR?B4|TSzE=`3$c!^oA40tLg`l@^8muFhf)}QV3!r+XN=zv1-AQ*4wW7wT zrca_uAT>t{-;-_Y4pOB@4djRcB(nxW!R*-;2v89J)*2oXS-bk(?D(!sNVtg7%wiog zyTLl!?&dE@S8_)ta-=Ode+23aW3v{ zZnjQc^$gsqwz}@A4=4pm6gjWXjTD>G_z}{4%5;0=fS9F7VA?_MPj8x`!(FvY9FFLdoA6WBRV7oT&5gQ4ZEvtehX-fS5F*t7C zmwrwV4)o;=>3SRb-#dmA#zBfz1e&yVyrjdDE?)9h`b>+beSE-$S)9wNM*-IkyjbSh zGyI2Zsa^T2GTM(&qO(Jh7d4+w8oI?#kAmjrS*%UKCm`}*z2B!{YT9l;k)|9Bp4ZP% zKPqF_2BvkZ3Z|ziv`(xxoE3T$Jec!1e#sPVwKV;?dylp-6WR%-FhuPoWT`FN9l6_L z^l=F8EgoGGIyw(hb5{&Afz1qJ!f7QTQBnh1S-orhp9`pVDp%g#cOS2f6(rFCW6-Yc z;|*+nq&anhRFmfZin7_Jn-d-Ou%%Vn58O!Q35Rv~FZUNu7e9Qeh&$Far+0y0byOIF zlDCQHUPR^EX)=_-L#E#R9A(*N3t5Gv|6@%u?IYD65C;aoR zR4Iu&U3RC0-pi!u@n@%SohRMplq`GBu}fxC8pH%mEM_9{5G3_x7puy8bx};$x#qXD zgKk6HPja@(HF!|SkT z-bgqKr3L*&0fe_WD)Bq&^-KPv5EDgSzFLXGwYkZIG@p%|mSw%>fvf&d(e8G=uhMR`x=$8buXQf_Y$-%k=7$)d=WoWkeN;LX zFN-t31~f|~-Aa*-v@5wx+Vg0ayJ3!Q#URr#JX;m|u+SizaNDr<6fiSWkW;<&$~Bh}5BhA-|gzc);MD>J7mz z`GvFkNJG}#@Hkv%p{eYkD%OtcX%!k`>W~p6@5T_i6sqfqL-N6W0Mrbc22VIU+la~M=2+W$6y8y^Xx^_W3EInc$-qj)R z2q9G|>*X-0?<809{%~cMX{9vU;V+BorHD$rY&E?zz0Xs5VfubdjVnr@>7=i&4SmY7 z8@qI#LPJEs!>st5fz}bDC(hiT^()|JQ~;*5@izKhXx3PL80v;JQ_h?Rv#4*CEp&l_ z#_dlE-Gm2l7`Jp2dA zD4n7uR10XdyzkLA2rI++To{neQje12H~k9oD~VXOkL5g`{s_2Z>Y8|7apZCymlWL` zjY>}!;XJ5)_pl}dihpl(JhOXDIsUjF>88eujTScWqB54}E2eik!IW~yBl?iD*o9`# z4@?nI7!LOMlr4TuXc&@;Ksm}V&lRBS5;r~9r>;1VPT=cbM+^OPihWX?nEi-%d9WHhXbk;*Y@2nniOa5jSj=#I~?w0D4a_RzU%e7SRk~wBNRGNaxf^# zu&|dE8_qRc=2DU5;5V_;w=Y*4&K#7lm%EH+8-(W@@fnf6a*xj%`b|JbL?J!>ahr$& z9wmPCkH>=H8@Bx-bpJ*0Xltx-d@kz`vw}b9N@eLa9Sak^W-KGjooe01zRh=h0=L#1 zzOOEb>$rN-hFYP4H6hE_aZazE)JSB94lllKQHEEsj=!d}3EgaK%wBxwD>yK-D=Fzl zlWt&6eUq*m(v5&$dwhBSN_R;NQ<$H_d1^OsdydHg&og{qtNEq)BJr-j9uDyV>8NK! z&@Yd>qsnLI)oQVIG*vW-rhhPg35O`*!CprXcWO1v(D1x~cg3Jy$oCf^ubhevDHE+p zI?Eip<@IJrR4WekzU@h>%MA9HWHlv(LDJXZ5KaXjLq)_vB;zO5e^Eb-Op9tQZ2yBN zhOx4kMyU>hxaT`Y^2V6J#*xEbXaa`!Z}hoC|9djm+9XmdlXuS<9Mf1 zbgc3Q`O@dJq-9pg>D6tXcPfmzpSI(Zu{sQm+My>z@W{`m@B96mqU0Em200ejB+OVW4cJt%%M$IBeM$j#%DSQLH)bBr zDZgR}E35pLl+?mKvnaY9&X>PBeEhtX?YFXk&P8YB)hn?_3*=0&iNS*=hgC2bBX2}0 z6$IMh7D9+stqMWNiq1sh7$NgWIh0VW27z`hhOXvYjtqYkc?09Gaawaru`N?%>#)Td za|0)eK*{d}Sl(Fh!!8pQjZw5CPD)!aeXd?wDS=p@NhvM9`ZztD4=MU&m@oW&-af1m z!Mi)$QNpKZDc?B)w_8ivDlt6^y(P&d%_2_io8!1F{_E?hA$5kX5SMg#E{)D9UJ{Tp zzF)VywJp?q^HIfUOIp!_;a5u&)rxE(j={Fud-K>L?Fs4PZSjHeSC0;VG*zVGM?V(x8|{ViRh4PGyz3U$&vJgC_)vLdF))7o)X%d`Fr-f|6WT9SLSBDDEa z1HY|JEDpyNe3$n|5ZI)1LxmRMdv;}PBcwgUE? zo;h;F++=a$M*MTfw)?2N?LPa`M-Is-Jwu&~F44qP@tH)n&=-shPYC7HM2y#`m)JGkU@YKdYd?s;`tH!E zeWC|s3(`y1Ste+uf;%2YCnCU$6x5|#yM>@-(ONZP(Y0->L+@KxMhsST1s1Oo?tZlu}7n5$ED~DiA%m#H36$VSQ*XJ3^C5|6?ESqZCSg4 zNbN5W?Q46NN};{LvbZf&n!WC4jB}7;HTWODrs3=w@kVJm6(6xOd5K*QbX{=>10+8W zbMTg0My9|f=9SiyZBsJY>eAcO=69eTguu>Oc5_7eNuw4{x8bgX`Ex{sIcX|nz58ho zQ0KR$UTwRSspF;;2*Uh|#`>e$MwyMYVo}bQLWT$PT8}5|>+&j{fL?_+u>w4u$E$Tt zZ`Qt>rDH;o3NLGszL(vQ#)YTg@LkLupLcUru19HBWu$u4Rf#0@BJyziIR9)TlmlXa@7~-5R z!LshbTK^8TdJvU6DHK)pg8oW{nVI@0yS>eU>2!P7ha9OLR2+tMFg{(T=fIzd%1tJF zYNBTcyo5``Or>fP51##J%Zl*=Hku}v(A zWB7`cM6{LXG>cp>qx5b<)tI4*WLnOomPBSgJE|k?8b_O#DH6KC|BzRMH(e@JUESwK zYx~i~xb^D~b_kK7brb(*l-|x5}&otC=6s!o#JYlWkma;fUjwU-{ z;Kj=S*RD7tpcD|rQXZ2w3a>)5-hcg!RXCj`XYj*D+g$Xfb<=b&r`<-iQlk1 zmXl4}y5VfN@`6sqB!tw2FkUtt;_!LdO}{p{YxL8MF&L$rERmxxE|%490yY@`X`I<3 z=cn%;s+1rxOF%D;wDNaj6b1e%cSmXB@yVJl$nd!Wx$iO1_isXZ_cbofDLiMkTS!p$ z_1E!+ul9O-jAdo4$&uE*?YGqU9M9dLJ}MZw!o44X9UWIz*=Pib%z7b@z0B2NPCw-} z^Fa!J@+)scAgG$yIoYq?X%qON^jTxYYp9z<73SKeTO%R+KpnPS;ZKbU>{5>=einSX zZ)PQf5vyZS=r^Cj1m6T&s9zt-NJ<>olm~d7yy4?lew$y~=kvuO0X4@5;E7sT#ZEY} zs>8~l{WY;kfth&>!s!(%*?lL*N#0b5iyg&6r;Y?ONV~$icImEct!T{cLwiagIOYw< zb%0^)?U_G0oQ!kIAkmtv_8`V-L`u7T7Jo*0tdBB4%+Jrqk9 zPRB#YU^#u6MX%Vo0ubxlnN+8lp(kwQ{!4emX*AXY3JnP zZ<*!@qv6U3nXl~P1g!98m%!%t1MIQ?OW+#%SX_7UNYQPg%w_p^?;kzuW!>B!TOV!D zk)nke{`fLaoj5u^UaI1q>g&g*zEq1CV{R%-RabFF2rU#Bdc9gWs>|yWxdz-&Hn%Yl zRwBU$1NSaYcpjepKm$`o6jZbuDR(3K`-q4n|VJd9`i4Ec#H#{ zmFrr5iTSfges4H!dR%Wdd-k;pnj9m&-i5FC;7^<6on1i!`6PCvJoo_ev~s1XSKW|G zQP8z8B?a+Iy`O_?2+KOI%RT-c#0wZ1T*W=k4S~z!ot?>EG>?-D&GB{>e?jv-1^TZZWZIz}}dffQ+RN zPD`^cDPIRG6s5cCWSJpsLpPob(8Q z9U#H^+ZtOqtL`Te1ke;bxYTfCir2Vg(UB6<*26kuNm=`lkJq%`MmKqF82)eka_1oJ z&By_sD^$SNI0>mo6vI-QHQ9qeqv2-Ugz%w!uh-lr2PaHg9gb8%3b)ipTgh76^-%au3n>T}@Sgm9 zws&UpuRXR9?$gv&()%{QstEhl9l4q9b}+}ZOZu?I*jv`|2!|*4M@|JeMmDV3m*tKH z-Xm2nw@U-6fCx_Ctcqv)wl_k8$(eklZ}Dp!K?nZ>SvJ|43+q@L4tZNX193x=ZHj## zFxMXE-h`}(d0{z85|}ilh?cJBL`8S!ez#aj1>p%;W-Q8*(ux(l`}$UQKP*L*eK&r~ zs1tymb*ZPyb@6=pdOu5m^tT)J_UIlPI-i5EMUus;pi^v@^zA!Yxz{XTEcGC79rb1(XU@zv@jgpdEY$2@8hj8PFCfL1ITH7oZ>NooXDdhQt<)D**3<-Gjva2Ad*j z+mQ6(9(vsBT7RfBa~NLau5jP&!AVpcs1_fB%h6{ZiJbxj<9LhZ)kk*q?dXfp8$&cz z2TPRw7w7qfCVDchjRLoMA+rG*!~?&OB_rwTi2XVt&iOv;BI;A|@v9mq@&xRg634CC zAQ*;2q;3Akh9-KrW^Lue@%x{TGe76V>FKKbb#yRd`72zG8L<3%#GdBy5v19Epq$j?T^aAIu0&jLK(1EsR^d|# zsDj|3!!lB0NlZ^jQ zOkf}wEve$v2owkyWD?XQn)&A(h=00aAZBwdcSG@}4Pbqxfcw@^K7EsP7XywZ`0HWN z{!M=NMJpaNCl7X!b(z*E#HeU=2nhI3)>;k` zzgo03`usVhjay6(;c~w&yt)eKrwnRiYzG{;yFzY^Dr)@&ZeHDh-S^vKPpn(HJ8IU3 zHpOVv(hVLrTyA*ebq|S-0Vw(PSA(xL%-M38S{ytw)&#Gwjttwj)o}%oam!HRqo7F!Mmik|>Jdyy9?R@%Vc^MkSUNzi1 zxq@pDY3k)klhX&9&sRajcJjU88jr8<-MZWQ1EEn?o<)L({9UIf(%V7U)7yy9y7x&q zdMQ}O;p1~K^4vH>J(oJYJIWNMg}rXv(p$F>*BgUFYTcNF9;PiNh)bS>SNbyI2}bBD zWoMqMZv1UX1r_cdCk52tKfGW{Q1Kjrw_`z>=UtAgKZ|6KkP}L55~Uw9^=tQYgwJwp z2>-%G{Mu--24OXc=WHB5o-_kxb8kf*h&tYSD%x1jAW!(8`7<2)YT-|JI7Cr{T{JX( zB=3r5u=XOcRF(E$9_%@YfH_avS3C?>S!#Oe&>g;}Xa+;Yf})cCX>ScsqZFmn-;+wj8cT5p%db zwZ7n#{joZ>h5|$5=I?(E1iSGT<|VfvpkT=z)WJhTGP?29`TfnP0_O2-{;cg-v3X=9 znBXkhWOr<6mj7%)t5Rwk;=S_@Y&qYV>+>MlKRXZuBf)`V{vCMQ;7~tSkm~V(W?U2{ zn4U^EV`;T7rl(?^bJNk_g_d2lL^*B zKXKI5*XGaGw{wF)c12n|5j19AL~cvNi)N#n)kDt0CgqlThdUY0;z`xlV{$z$!!PS> zD-yXy0EwgD<_657j)GcLunVGFv+$!J)UJ{vMQ{HuZ`JNDh?7o@YC^oO+RgFo1!c3Q za;C(EjY1r8FbR;8``aqj#Rk^rw!y{ecwucDzx%Evp6>jaFY2vK=c0Fqo$uho-*(8v zr$sS};@p=ao?!oWCVj3qP;!Ra%M0wI<@!x#(|`9*lc)Z-C!)hvbQH)k5|6*@leC16 zw)w=-7JrYr(`C`}RuHu35STMW6K;=6Iz3qmdf(g2EO4_si*>^**t9l94D3W`u4*oz zQG$r+c;+H3Yfzyp(KrGJ)l}{T+aj;q0eCN`Amg!r(@yg+dEX0payb-liuIRu(ycqz zssX{|nwL0@qQ{uf3$58Z z77XLovIyYhKh<$cl$H_Gvk}`GtV#6%G;ly>x|B)x_SSexd}OIrrI+N>X#9;7sREyt zSxQ)D?l{U^&SyH663^Y%R{Rdx2IW-9sMyyrt=_+DFXsBGiH?|>`&lxyuq^>_|4N`! zkpA^hfkX#hl*st;JVn;)kIk9ZAKwhRx%E+~9u_9lzRpYUVNV8%;nVvcrGp&3H|*hJ z#(e`NxYL)n51d~m1sj_e$Z5b<+~bnRy$GkrPFN9LVA}@FA}pxDque0(A%j-k=1U|j z&ED2lPaWTVt@->3eZA8v=8P$%+rsmUo-ZoDrDGJFjFuzr*eeON;>XgMNQ==EkH3QI zbPP1~L{5h-k+dCi>)Qd+BH?Uw(8Sp!OJXa0B9i0^Hj?`hdg{84&~ZEx{=8>BUxjZ&5Nf~V#pLH04To9Ambb&WIQI%Fv|1iBk z>D=fsY-I#ZJ8@+g)vEhBGc`i9r__*9)QP-mkA8b$b5MhGB^?(#>C=*F1jN+4EZt&`baYB)0Sdz$h5t~GGCAN4e&l0=cxv8yJXrq`kX>ej*^kwB{Wn3V zpC5YtxBoxtpfV}YI5UC9Ln+dzfjr`i2MQq)-8{!QFBee!?Ii9EMu?zG*7fr#NQy0z zaqj7iP?|SI$nJX_1Q10w_`?bedBgU(-y(r72}y#E5-|z%gCp-aT#VAG!Ma%K-sg~Z zjDfa|Ms%80cT@`h4Q`84{Lo|AChNd?WdLI1x-mEUJb7=#rQx~dFdFutP~ zgTUODQ!<=#w+q@U_5d2OE+<@>=qWFOmTf1~-1f`v=Y<+A7yTsZ5|2TU);O^Re=gnl!s_H@mJYnOw{& zURa6BKO7kFV;SHGuqbiDe2ACHLGIKsz$JA|AaXPCfa_gmN}xciXvvrWMvG^G_H6TjVidiBqlaGhmk!W&6xPwTtx|D$vR|!flCj`@hV3|r(=GxFuoK==bXz*Kfj3F5raLdb(f&RK6$&L$0MA(Fu z85c#nHSRMOXBd@BD7dKOz}a~UhclE%d7HjJB1qus!{(R2p;>ubRSrfdcihMb`vzWD~1W4ugn1sPb@!nLUZuBtqhvR6zjM?mc51L-N}vZu3A_=2h` z*~w-zHvaKR zNJICl+q*oXv2f*`&qX96BH~^T*xvCf6fsmFQNXA z&(&2+i;Wu@8SajQGG-5_7Dbcd=NE5(UmHQ5;*w$mO{t+o2&(FP4*fH6po zF>3j-*pg|vQ=387*}}2;T7QNtpupswcp#A;lA>GG9;{ux8|dZUr+El}`03;K~eGT{_fA zyU%#MIGsv>SM(gvZQ}WU>nwGlUtmaO?Q%d=A3_2z7gL1 zP5}1G-D!Qzcv*evA{hEBi6lS%_-H_?zWjd?ti*WpOHC~3V^|wCkkQNY(hso^3vgRpJ(1m%34^wb zpM$n)6=9Ms{n$XuZ%M>l7MWZTqc!J~eK=82Sp}Yr=ZuW$Jzp3Zz{rILEdU{v@b_ME zY?$3X@f_$1I0#*EMF(W>(xpq72;)Als}cj3nu`hBJSzNsqV_gnDvVJO0Y9 z!xx^`hHR-!N=7U8Y)qx(O0OoNaK&GfBl2X52QqEX^IJmfPfmjS1(LD`$$)v0=4+~H zLfXz$G^n#V#jg!iL$u=$zYaTKBf+R16FEOj>T$TF$(BZ^{I{f zZ8CId9$y>2>y#)7D2|scOyPXE_xtn4Iof=(is7H*!)}I&UXd9RFnl|PkBaR&O%zbF z44cqbUlsK8-clGp^@;kB zLCxHz=oHCq?MyB1CD6VU9;v%zXqL6j>Vt(+WG3eue`D+Hzm4tAt_=1ss^-N`o31RH z{sBWz8$IzPWM4CWJF3KiF1E>hpBZTq{jRGq`_x2lrS~Hr&xxK-#_8G9C`W6z$j3r0 zV?z11u7ych%esk!b=gmcw%94@ls9g~H0?;tth#MZOk*@1z0@tP-B(s`L@jYMA|+Y1 zJmy*H78)s+wpn&}UF0rLoEE=1{&H?thps?=(wgouD;1ysAkWdM@QiK#ERAuI>|{N1 z69VC_4@;#6t!4{D2te!y+MEU2zHb-@(hje%v;D>$YwvMZMuCq@0zh$c~kr~ z%6x!FdXrLs|H07o*l%g4UIt4!QNyl@2|vx|(vQ!&eGkqY;yXj`QZv@1QfAJ0YmUw; z%Hc0U^H)^+-Ry;wrWK3HG~pzyJqFMlen#skEvYG>p>5B~?gJ^AD>p0~vT`xJGU;eT zGx90jJ%X%;b=3z5W@bto)Z9Pxbx+G(MKoH(Zbx7+&U=|Xyu$d4XVV7;yiKg%IZrW$ zy_Ms~&RGvc3Zi(EO1yg$iTTsAj5R}VafDv?Ey>k4ysM$u|bhVZ!QD;3Lzk8 zZgW0(s&Z^pK$UD$y*4?vBI2SrX|#9nDMbjMQ06O~(}z#^>&Fq1*r4}PjPMh}6?a|2 z*n1ePW_Cw5$1BSBB3vivibW+k^Ih6c&Qq$p`n(T`W+K5W6pr z6j15lk@^O6oz!AF`{|rbcIY0Hpt4Q46%)&frgbOtQ2dar`9UK_re*3{G}c*F@8EIF z$dpLXxIIvSiPBHjFxafjgJ*b+T5>8)fl=R#fRNPtd4!&#rBkC;0n$AMdIld9k%9$2 zwg>u;bA(N#%?$!KLH+50N!1>4*+rli%EF~kQY%6V4t(rFBGE5w(Es$nxkzs3kzx1W)?R93_PLuudU#ir0jj?crBIyg6k;!K^xsw;X1%$$`iQCT6?}#t z`Sj}A=Z)vcr`IIBO4B>^L-+BJS6j4h^-FopZFB9E922qp+c>cQB2HY#-I_G!x7f#P5oQx?COdw`Gw~y?l0JyoVu)vd}!Z=W|1x^qVV`; zhrMzHd~BcA^xfU(lnTLaJBhpFCRJvEbgX62`^%fPj8x1GtCSw|u&4p1f^C{J*k%uu zAOoN^MQrVy&xyGgpK{u}mbMUy1j7UV%!8&?jK_#1_`kP^Ic=s52q#7E}iRoc}zArMDydni)HnoAz=}TaobBPAw zfo>YUVVO1vr1E)%?yWS^yuO{R!9fx862ZF(dXMw{taK|6UdMaXtGWbU*9%Ag`)Ugo z$naxSQ;xh|+Z@aKP$<6eUp_NM)u1I^*ed_+L)(0Di*ax3JuT!ZB?HGjzHw?FP@8@} zUEG{h&aBz6?dtH?J^(=n%F%?Lxi?<8kHHmnzR{&tMm?K3{_9kxv1egVH@Fj;t7|Wk zMXSaR+06AaYeFh94$@G z1)OKCV&f%m!VOC=#1S;m=wMHGWPK%Fiwc{MIUgagyTlghpyYn8Fw z6e@VL_xL$&Y($3Roc`wt+u86ZB8mgPw$6!;cdorUq&rodyMEyGZcI~rbxzX>oRN!a zZ++SygCvQm9EBTE20CJqOBZ;9bceZZ6%??NGXYEKF5|lD0f@f+6*y)r@?7o67AcU}jhjJ_Um+m9($cjafdpgM_&d5X%( zJZ>92`PiAD^ahE_B)-ypj7PP7^N$y65((2KWII4iy~A&AKt~xkNaS-UdBZ_s%i3v} z_eB3@Zj+@lRy@nlSncUl-ow1!iyBtw;W*oEP}e5$Q?*6ASL4q7zuYjL0;ayNDd#2! z=;-N(xzoFiM&9RL8<;TZT2qUb#k+*%JD74$PfIn@rGmrTycfurDU&#&Hm|9&^VTs_ z<$AKq7S~gl1>XUD($e*7t!B8{Iq%R}dYhtb-RhDuX0`<9d%*A=Xm3RMzHw{9EP5er z(1PMJsyDV4q z6TX!?Qv=k3;=e9^N_h&qx5<3bmgSOFOM=Du>w0UIP2^1W)?5#hHxB5-)NW$8@zXg& z?Hc#xH3!1XC*Qmm4g@XT-WmY{QLjF$I^$q+vg1*LW|i68%ye6nJ6l&D$PxLRIdrJ-c@8U3`f5hESRKItU0oIlRs$ro{ZxS!{gz(E%x{H2?g zCR|=6wtphiAWRqt>*MSd`)r-l91meD^{ngoo6EiQ2~O%MEBRDQz@lsxiSAOzWu>0Yp?iid_%pW5d!y<^$@;$cpOuTSEj z?+;&N?iPsT<=qSe@8w9zwxLEg9EgzPvNcY?<{;b;zQCWoZ<}cs1PLlDtrlB6RvDro zfJ)6#!l7loD{nbuhsHEYuW_4g3oUnBnR8(S(%IwA)RvGs#x_plgD(%4Y=~U0WdGAS z@1=-SH~;XLk0EhnO^JjtJ0nm1-_q4i=+ZsrQ0*ZnaGUx5lWz^y{G>)uJy_?ovzj+G zLP~E^uZ!wPEyfDj+sg(ueA2k_CNKOTm}FXhna+0Gn_`%;T~Z(BgXNjeVE=%q%$mLC zl+N@u)hU}BC@@44CRP-*`sm&48aT{!7G5D`r_n9_bqZ(lMnsC*Wadhemf3zr#%dzn=${VorTG4A`EB>a9r=WR~+g+yQ>VPvE`KkBMmUT%DSe2f8 z-NSOc9VW8RDOV7kqb<>2i&G~hq3ErK!fYYV;Rp5s0_&FVn6;?$OO;zt z<91JeZBGh{q~PUiVI;So@0df^-7B3HbS0TSK3QV!&PKiTN<06oTWEDU#XX{YeQJ7s z8n*e^*$%5vj_YPFs_QC+38a|n)s8yNws_g-J>r#huLOL8eVCakc*%@}>IkSXl&m*a z#UtYT7?F;{S7XGh4`E=chN41VS5%Z_{@Dba(jY*WR%?o^xVjM>t@}b$C(mTRjZGxX z1BXGzoNgT;Z735bM<87214h>m2cNvc{KN7kSJi$+q;{EZJog0o%q3^}SnKhxzQ$LHO^OIDmYS0R518Tf5MmEH|Dh8%&7h;KQRv|VtFke z-e`xfZ-T#YX(vSWoZxv@xj^Kx^v~JFcEr}U8`Z#u<5r-Zv;e1a!5AeUM_C|!Efv+Q zPYKBzw9`gQOdYfov7E&gwRzT$xx-~!ViFE*_+IJYsi&;0KioAiovsFq2W?TFO#=%w zCDVej+_-cHf(y&K$nrCZIn8W*xz-J@&Yz;k+r?FmE!A-{+t_em5H&iMKe8JdLs}?N z{w$X)HX%cq<>ZN2yKEjJk1a1g;bGI2uRJIJFe{*wC;}qXfwn!dGLDtE7pwBCqhlT% zcAeg~&EVj}|GKg6KH5?YLuaPbke_(Xs|03~NN?L#K0Zwm7;n}lBnU#1cdg?XhTNDn z>6biAOXZ5SfdkE|LIGz%x$yY>^82$>l~l*#3!gIS()*lxRv+tr-K^a`TCignEMeYN z!;IJ@a&g$M{~+YNnXP}wEgN64ZseEEzK25A0P;}5eBU3eTX>_fJs9f>1vB?y1C7pf4ziC8t(z~V zO*z5RciZC;fP^^zOuPKy)5{WuH?59S!No4xgL*KsW*cR?2)-0^gBD-F`s>Kyqx-0J zoHc#Uu2$U!e3K(JV}A1U`j$I)XVD7%@BoMrqoih~T^S4FQH#S)XOy=e=*=+Lx51$k zcjSx3*ZXr_H>U=jaNA6bQem?Vdr{4DgHY0rZ!ZohZd`V4IyKS!Q7A~dGaY@ak%r9+ zA>j=7d;xPc+eTKyu}ZxRnKhpu?+gA_PTsBZMz=t>b~rO};>|Tj8_?JKx=zQ551z%P zT?-m^NszTI@r#mOa_1W|pufK`C-z`NURZgKboPAjkL^Q9nN&jn2vU?K1URxZ~P$ zGtROXli(v$T01I~5bJ0zIU)`pm9sHeP%M;4kZh6cnHI1YD_iAtzBuEOV@ZE)5VZ)7 z_AOwdC#}BZwb)#RSZzfjFa!91L;)Ip)i=Kn8GcCFg>OC@_0D|Z5QaUxJv#ZP(>~?R zd#<2cjRXvhbdmb8^w_#9Y%$SD1!@n5Cs|W`X~uyf-LykIjWuRzq(C5Gor7W0i&uUD z?xS0_ciNZ7Uvi$^b8r*0K~K0d*Mn{iBzQHQV#+E(J>^cwy94?+l%&TB>!h#py|K?z z6G1h_H8tZeQkr~}?E4CtxbyBYS6*(*R4nxLyyC^)E?;6jb=PCW<3NjmS4lBu#ngwk zoPI5+a4OOgFS}cyue#Z3vATlZQ8IdW-}yU{>x?B_bE~|QJ?O`O>MV2KYNv|?SDzVq zP{WSjIQ1ZJY-ty#hP3}~!6?j#7%$nqBh_d@29zfbw|g=9RWj0ZKAs`LF}% zwy)EADMnm!hr7dflGta~;~>aDeJKKO?ujcbrh3(1o%jq$KwkUDlf2sxZz`=^9jxgS zWO>#B7G-Jl&(mq_+w2z_-yI#@!J=Y-tgRh5iaz0|Zu35y)vGrzE*Y3kALR*pFH zF2>DH9_y)QyNjdDC0y^RkR{cIjQ~abbd82ddjs|E{ku0)??>r-Lf$PSUQ_^ zi*(HUblBopx+DB^9aGOr|Oj z?jQL9qA>c^4us^^FiC65>x9uc6vLLyuy5L#RC(5F_u9by90UFqu1MJEZDPMQpL`o! zxQLHJ+T?K27I@kG(Smrlityiv4q`Q%F0L?^8?cBV**gN;VNtRLp%+O4%lqyZ?=A)>PZ{Z{w57v6KN#(;nqV)_*t!%-rJIRHR;G<5z$KI|&H`nLqT7{e=&}4uuJb zIi<{pJe6lX*QnKFez>Qh%e%!$ZnL*{jq94u-WUDzm7isP^+q0zQB*8UQ4FLL|5j-bs zhs?#rxf8*qv2$Trbx^bM-7(A?V9hnMeWYb9me5oJc78xec;%L_?P|10l?AI6$21d2 z9X?ighfD$AIKzHU#Q-#^M#bb#;47;H3&7lYlNznVXII?{ON z7_4+qGeUSb$JeG|ccxcf&cgzp%__LkfB4s!ow+W$4D}D%NS-+3ohJJUv~$AddbSr_!jG6w5Dj(R;sJ`^W-#fy>o4sK2=Y@5SQ=)pH~5IR zD5R|DKH5fdP?T5-VC4_iy0O-(bL8*qKV1R|9I^LqImZmlMnc zKbCmJNmOfVxFFkZ^dwkc67{gNM>eZbf5wBW&J++53-k!b^m|io)t?2u>AtdfWIl|kKe3~+gdg7a5d9^x=VneVu$mvYQ{N}V3%IpB1(g&+D z*d55~BAAUXwXJ5!wvyQ!Mw8o%brVfm!LkK2Gyf2dkQ*%*=Fk|_K=ll#WB z?ZwA2%y$T5KW!q2R(Q>Lej?|MUoV8Mb!KRnhHd-u)|G;*5wXa8xFVZ173K06`luCS z(Z_tUj`rpvWtm6cg!Av+mj@DG>+Q{T8I>)71m$;$s$$CL-klTvkUU24mQM5z7XXBy&J?L11BXgiwb`YHJeF=n)c><(~mn2j&H=cz-86Y_wg z9|8lXYsK+aC>WtSn>!5z-X~1oBx9pjW8FGb@5h>A3-OMz1l-k+)5PYYc)Zo!grE6@ z%96YI3sKBKLFEymr&jR6<$Uuay}og79+=~r34xz^i;d9Ylt%)zsj=rG@~S=RT??fR z4~*PLZD|Y6dBq}VxJm-wJz@q{P}koZDD7HLUOCvUDe|x*<*d@Rz#|xu>8i0MU>NhS z`(Pz=@b=w*+y}Y66hcsNz-FrCH~7cG=(rq`MjgnPt9W`gbm0utq{9CC#jj>=O>fxS zcJK8xp)!pCa#o?c^x`~1AJ*f_UlJN3k@xL30)U> z=xlPccZp)xWFCp%u-}DnU4yj!eILA_O2(dX>PWq2DNP3u_I^yRGYP#yfDJIi?(p2o z&Bj;W9Ys=WWjkjEdV$Wa*I8sm?khOTI>9Z`TXuNQRF7!n_j!x1nuf9 zXu0FES%G%4WhF9G_4eUTXZC}4U#SL&WEHBW2rmN5UY+j&25wrPyrX^%VFoJNWF3|k zR}euBp1lN212u*`j#8N06|712MhHd53ELjod-~w?Xd>cQF9!(Dsg>Ftz6GWpw-5+Y zejBQdOOk1dWO`9*cZx&GC?>{kFN(R;(X97KV={@fmp;WuXzAwFnV7ZRd%I=S>BH;a zr;u>XN#i_0+VHWz7wyk#D7?Q%$O**_e07Fc2tpjN5%^+fVvW}Bm2k^#Uw)s`Hqo$3 z3;Il%-qLE!Loxyl)1qyU+$ON#XExZ5_vd$>7XL`fNGeL3M9vDUks!D&gN$zE7>deU z1IgZhq3*)|(pKGBV1#}BP6g`@Z!oir6=6|P`ipfh*EgNFhB#H4G!{R3AVP_0*K0H9DI=UWN0d8dL_(8)PO1F5 zQYT&}fL}j>Zp@|btu~|&gIV^zEp#-^XpgdTuM7mm47UK^GSv;Uiug#6AlX8*Bsrt5XTVd`GIkjq{RS(Tg^pfI%y@$>mbvf*e`FUbgi(P6? zToq-?xYS2E#=u@#DNUa3?5pClFSt;?xczeRn75#I4v=|h!;9CEkIj3`{izAbC5DZ&yCxz@xygqyA zxA_si^(4nKX=_Gbq2->qP>C1Pu-FsJ{-)O@et@v@z%|Z~q%2n3auCQzY11q_a}<=x{w zd*Zl|>31gyYbXD=P20nZppb%;;5_h1jfOq0O$q{{+EvfO6qhgy>k|!^`^S?eKKV{X z%N8YUiavRpf07>w5OkCH`!9A`{BOO9lRL2#0m}?1(W3itOi^+ry-~3ANwt{u*3r3sNGnhOI2 z5ve7xJ&Zw&VNa!TgFVNQPS~sc(vu=r>h!oV!VR?6uI^S1e7XL$mc* zi=8Dj6gI=|BOuzCf)o0*+YJ_$D|5*&#Uu~{hX*9(v>+UaHhvHioJDdP!9LbKDI`J` znC1B%v~Ht4(NCgzA7o`w(EO>xGVGi2&=7|OhkGxjY-2m?L=hfUIk@W{*!{3>N^fuQ z7rnx?!>}H*5rp6awC0xJ*<;}P{x|+6pQ|qoWmk4Td?{So5Wr`HG%;N@!c24f0UqXGuJSNN23u6EDbo6#K;)|zbd%8tpRyxdkNaFWv@MsvUk*qdzst6-a`cGHhn`6#DoGk6h!SQ1Ne z!I91ysCnx7AzqUt55tIL_Q5@ekUZ&Jk;)*gyWy~F z9aLHNEcOkr4yS`H#`99$K2KZuQ<})&5;)~{fJSP%CSXR8-l`m$DRSyGKwDCvNq*Pi zRqC*C$r_eu#$j-enUUy1>0!`Ccb;Rqv%|{4-UM-&IULh7wu1JEu#Q>*zr;QoIM(?_ zIpoZKTb^h^IKoc{VAl9FO2Na$KI&eWeD8`MB~xsWwgLFs8HB>RUI@`f^i%Su`90hQPzsxYl*NUJ+;E2GkP`2Z&}M$f)U9C4 zoBQ!DJVxQckWcAhN}o2U4(x^%A_ZP{FFqW$nFq_*EiG3{p7>Q?n_l!_G>5FI`tyE!xdVB_sD9sAxPsKjv(% z=Ml7r=!>bePSvRmN=4}UX8Wa58E7DHm5-h(^BTZ-ovwNwUAbz#(Vr&ku&4ReVRP}S z*`b)X;yRbIT+WLSHVxFx^J)3pyDY=zvE?Ls=o)?J_=f78osj-Zvgslfs9gcC~NgX1~ZVq13lbgXFI0f*%lN&eP>t zRmc5~8={acxPxt-QM*x2oLY2(>T@rM*&~5P}ciuM9JuNChNZa0=($b>D#P7 zaqB#1w;=81m+NA?(nTm0*iTijh-crIb?w(Me%4y9zm`vaNMSL5?RSnn_S8&Hi79kb zZ>UBir&wSZ@^qjmiOGFTJJ^u9()lIME(#IN4fd=EXKXtR!st1M=NdS3cQDF%Tn4)i z7@RPjY$a5V$q5T`>lnq`*65zu290GP+P8XTP#m^z96#0h$jVD{@kyW~o&oBe1md9> zHTpiRcueUxLQq+c^v6PtuE;9Goy&iA{9~Hz(MHiYrCZ^r&&niLG(%rh^~k%^cj@h}!D+ud_n~DMvA&H> zDi3U1Hc{0+OJ<%SU-3RmF;2csv5TklwySi{e;dnd1|SgA@XCYKJncOD+~w1i-O(sQ zcwwzMfp;Ge%K|W6ckA0nZAXw1?(8U2pctlb#fzktaJqUxdt!hK$j?U zD98%#9KgL2NLVe$Lxd+@ zNM1(0dC{<`Zy~ma^#pfWwn-^oa~e^$~o&uDyKmrPN%BuFI60nmG4`C&EUzL^ITP zGNO8E>jXZQmHs@_=dv&f?_7J!sQe{4BDHZ&YE-jWd75erV6+-1kZ_*mmfapsljZS> z28?8IT@f2Ils|e5C~WFexy5V5&M+gq6L@gRGk%PoqgZG*T*7 z^$25k_0`Pn`vbG1_&0T#IXUP4V`AlD>Y02uPGJrumwCb8^G!{jQGVe0smO(v;}JtP z=I)D?>m7WZla>*`u-vNbsTpCy>eh#jq7!K340n)Z4IXrW0zgabo4ieHtVG?8QCQfU|VYy9n?#^hnm}WbH}ICbe4RZG!n6uP?jW(cZ(;hmh)u1}J3`PGFSP%7pgZ1M)iYO% zIxNL-RSH5j?p36;(FhW#fa4>|zOg9aMyVseYlmt@!3ejaNJ&bu{N~;a!d4GZ36zR6AC~G_!|f?pyZJ;B$7Iui1d!gxeyN4IwLU1?Fdw zlMzh%8Nyt4z{SqPVBaw{82$-1zN{89pObe3G1APnWrk0kz%LOp5tXdwF$X_mxZ ze?|qO__paaOlh!3Ot>YlT@s4cQ~w7WCeO_#-V&<%nr)_!MaZhskv z&25uX1|{R5kD+BTj31U-ADV{#SSmbBIYYPVIp4lL7u9+c^j;frYMo5jd^BI?a&Sn< zlyTjPe_8>~(g<r<5I2=nUqzIcoI&2?O)?C56K<`OO; zEQUT{Co7%cE9W)KvDj={+Aiibzicjfe_qnMBefS07UfWef|#N%?8HZ9ujc!eVKQkY ze$_S!RYB<9*0}tVr2xUvKfAqI-d=iX&T`UWZp3_t2zEFpJeGY1v-uw4`h@8GaeEM> zX8=UhNu>F;K4*kcKhXgL+3U+f&oTA z05D!;a-$p$+te5+9f9|$4q z&2Q5hPxmp;!p{H5$0;YT$K11+`oiJ&;p(l8=hM)rK8(I_;T0$Y+caX&eL^hKiL`{B zHJ}Im=yNTvPs%sVkDoUM3y4m68<)nXY2ICWkKUfdd!)X>DzSIm9lDM!K5}(<*tR;_ zwpowqO%1!REdGtcnOhc)1nE`eb?p~F7jNI;aCE~I*R;pM9cOWD!4nVFyNph1p;ri7 z#cCCz$RWP!MqCmm{o1#&hMdPxPJ~VB?!}JO?l5;u_~C1{?g2s3Cyb|r-7z!t0h=&0 zLUyY}g7>7m)j|qpdJyPULrnHaTOTQ$HmsH^(!#mW99db61(#~1>s<(t;|4@*v624n~yb}eYpn)wcFz7MXo zxk4sa#JcIk#9SM}zUG7`Z)BqYqeh4pB=6X$Kl{9+%1emB!xb*T^nxvUq=T=;q{(|5 zijfSI%)^e*J4akuR9aHSl)(R&vKffl0XX9ytCFn0gUM*s5Cy!X73eiQcb~;PWqLUS zFUY2^;8s%2vXp&aJKN&Bvhb)A9NWxZWH>kqwx>G;aUyjfA5)^&*zx_8<#n66w&t!G zW36~)2fpBFgb3#**|0z#r`zST0@IIQH*Q9|j5SqAkza{q*q$HFHV_$1yWcTd-h}Qb zIyMlL;y0r@9U@)R=`Gu$6m89XW}+3D>Tz(b29>~8-gMKn{}-1$yP?9wmvGK zo>Q!0d9bj&xDbrDvI~Z8iu*fUqY`lK{|E(wF|Q%`TeLu}qY2Fupf54|(vayd@?ih2 zMa?9Fh|j^gH5LPcO5K^%NEqq#um1QySX7d}V^H1Ur~$C5#Nc*BUs8gyG{K*^W{;jYC9 z13&|?z7~*CYQP4dm!T-g?o$(%Kgr{%*l|6&N2-xM0!sM7*azd!t%2JmPVWarq?2Ri z@>S|gN|1H5`xS#bRqRzQBE|SIn2eMRTD|-0mp7EzD)VO>$9pBvm8;$xvl(y}JhFxs zCLIbRXqdGm5ar|6JXlN;Cb0l2wV8PCV1e{!07<86Sj1O3)D1q80w1^X8Ehh4k0Ayr zN`B&%WVX@;mKX8LZ%z6iS+l6rujk8hH+M_N<7s|7#tJAkh|-enC4dn&U~KrIi~N$* zv$q&pm}47eS0*Pm%Z4JrX^ zbS-Fno1x!&GgI+6(_D?zT+qfPg?J4%1MR^QdL}t4m?T9Z6ZkGXdJqvcAg~MY&RPL4 zV^LuPJoRW2&;rh{`k*#)#Y4T97^DD2qp0lefW;NG6c%1S8f@ z!;JxW$UcYTvHEZ;L;{W`Lv_hUMbm_(A%&2{F>nNMH!IIwpXw|?K=04t(v@vMW>bJ& zUeQbIQ~4xJ{eaIWD{j%G+bm4d&T`*LSWyI#i_6k14PG>=eas1~WTN5K^2m6S`9fBabO6Rl08W64skj-`U zz+AK4Y7ZTn60I>Ni89M9QS{p#Enzo>@1}aAZs%U>Z~5b9G9q` zl4*nfm)g2wy?zrY=Sj~#EYgh6YcA} zJI9&?30%6>*|%*VlkyC3x@BRn2^#5RVb^NBWZ>t)oj-@tLeEsE5^mVPq`wsqNUMy-)@j~2Pw99Cw$FSK(#mK68={{bm z55#N+lu2ZC#zw`Q#=s3kA$)%Wz7vCFTQmxiNgLn2 z1huObJh`%$a?0WZ8tT!+NxWBp#bNfTDrR-_adWzyfpbD6mSNQ6S=K}l$#WhQn=^j1 zHliomLG!_VHL}vOGGIhC5;$k#D`1>%4Ljr7?@xR|!AsH(9LTThA%_Ls8qDCLunYKp zyH!yotUe@XcwhZC{~mt^!LO2(u{=|KoqhosKwL*e5byPG7~EC&HCr2+oNsp zriw;bQ22+dLXg8iSU_Eul|~{Y7nG&}iv1b=#PKgT$z*(j82BPdB&0jd8X`O}t@c>) z(4Kfs9z5o@kn}dvkG4IQU(>xbUjK3d`&3{f42kR|{?)mWP3b(tUEceQB)+Fp#!XfNcI%0ku9wFn_8=ojCcjeQ(?ZxmX0E3y;-ARX=n$u#M2%ajj+FJmwQ z%M~JNs!E^dS#h*4#RTp2-3`QyrX|OF~f$CtEY9oeySTLG{*SHPedG0xZ(CW zch6*fS4Vu3B*JRJz z_T)yvXRKs^%CeJK7=`P9Z*KKL-cMg5Ed$TOY^9}Y1bRh>E3bqHK}$6G0Ib7yn4C?q z3_|@f`(OeHO>e|fC!Ds_bIcQ0)2fu#ko?}jPQLqbsNc-;Rgz0Gt>P0X8$-04hX`g> zV4Lxs*e7VZg33FgdM&ifZaH;5yv-~61zzvhq-LqhRlk!=(7hhr>mZp%onWcUkuCmH4W6F(QrNoIx zW+KX=;_UZ4$JffG7zE0{$Peo&>;hQ-G(&f_1jo$5 z5=_Xw78WkQhCw|#Ihj2RA+R-1n~fRiKT3U@EnH1l%9)&og%oe=0o>yhhx%m4R2om} zi<4N^48vMq-reoE%1`Gk)-`xKmQhSk=B|?tnEW8cTWH~Ff4p7yZ8w;ltcicX`Ydjo zeznNQRnQb1c+$CdT$L)CK$nWorEsN=J@G@^{+?y{FnW%F+IrDSb%F}2d@O*duK%?Z zF1YH>n&39CxTb3DX4003oucXFKv++1QRr^8h;SdcAkCrr_{`q7!A>b>xTCIs_H1xE zc(K>Had*UxED?myiN0@@bzNZEU%(A1CYI5`UPTVd)?E+d!#7ZQ_J~0`o!Ql5oKW;`pR?mJqJ<^&CgQY=#iCd#jlANzcw) z*}yHEmQQl-(fcOAUrKwA>njuzoW1B-@{Lt3g7jt8Z+Gz8Mp;o-3@*SwQ$VDP!}W~u z3`xn|=it@RnF3}ayAa#t0e6hrfiLgJtnez`n6 zwy{KW<4oH9vg>#@PvnZaXMU2ykP z#&s3_YgSrhL&~Sk%?{)f;b}3S=$lEu_UJVf2U4pI#mUJX>5kzgTD(Gf=rqr~(s!BT z+OotEjwBIWX#Sk78v4TQRZ&$tc9zF!J)H0!a`GO2+RojQZ34xseZ^x#`n~M8x|F9S zT`B(Yo4sc*59h7>e68JmUju|FUM=>JKSsRK$M;lo2ikxOIiei8l^x^Md{ujZG9l&H8?8FCnOHd1Ejsn~(Jr#jB1uWxYXSc@sG(ke>9V#WEwt*| za>FJzt&U)Z!PlezK4GM|j?KXwa2Bj8&qI0Pn&->S(s9Y6_Nh0wMQ^+EhNTGB{jnNC8S~eU{`jX^Ik$X}&kV z;5e5n`Vp!D@kR+dxQWfPtPVUbCbx}Y_U!t(Npg51GnWH+E_8nE`VkqiGb}9kkU{o& z^xd3#BjfravDe&O?T4= zz1et*K9h-D>sh_GwWE5EJ@dc5B(dH1IT)sdRnAu1ID>clsh6zWCe=HRUkJ(f;$=#V zugEOYFW4@~Lw5;8Y&Y-}`1oPTF0SjH+$)ONB~Fn{J4}$k&+5U|W7F%Ey;<{&_ql^L zMLl%}cr-?nwBX0kkEVTXyN2b!JB$tN?%Ho4io1f|$*7pr^o-qGy$>HDB8aAnrjd4H z59jaxy>j)+Lfx$;q4OE#J)aB&Qp&;))1pZC-3fbpFG+5PzXd=2!w3@D87V?KoBQG0 z-`L7}^21>`n5_gA^k3`cU44UVvI!snDb5Yhn!$@g8BLg~ZuN^+1aCH$#870;9_g5f z_!Tw;@|(=0eurmR`aa)~68QR$u&qqqDHRIs>3)1N`cg-zaGtvr_B;oRN*1#C3V}&` z**83OPeQi7{p_;HR0#q|h5fEhk5Q=(Q@be=M*F~n{bgQ|vx=0xZx9PEuq8NYUCq4@ zcCow$xcgu570dq*ewU8J-=#$F4^GsMKeAqBBj(D;BP`$t_%uLtu!Fwc@dtdz@`mf1 z!Og$%DPcZ@B?ixuXVP2ZG+O-+T5$?A#3;1!3t9AF(QU@8g15k zc}kO8_ZclK*DCxS@zi7NKX2^lDOh@sHn$nxoyF5i)}P<8POXrIqOrYOK|mZEYzE-q zuF~c`Qu!PN#a6zu!=E2z^Ia;Nz;>2kT#G4qyXoI2xv4!S;xRFfytkil;tJYTFQ^pS z$J|!^2aaaxMq+eS94j2k*5`7xfr%1?h?Amxmd5j%ZV{_zkI>^v!njwkHN$Y%C zO}`5{ZhuRa0 z2K$bdqf{G3FHykwkbCO6(4q`=nrS-?9)EQj)G52k@U1T)^wa3I$1v>-12&ndHF1Qb zcPHM!EpE%>5TO;uSji}R01<~PP36YJWA1o;*u^!?YB0-&8-UDwS z2^wLsf?8t17`nZ$Fd_=x$^hFi*DG?iUdArh3-dd6X~}>?WAI^#FZbaZF2y(w%SDmJ zmFqz0F!;Pf{|$B@@0r932ei+iLw+=P8g|6`tldh-F+=9vg*16BAvx9=;L(h}tOq*= z%B)TXY*2>1o~^gxw(Usnqr+l$U6~)tN3{~RqYt0EhYSFfUAJgkO)Y~7HU@>QmJJGK zqC`z&fQu ziCb&(Bd~sa7)&5By*bAL{O{1X#Y$>*`lYACEq?}SXcV$BZOEeTG90|QcbG=6m$&Fl z8xvctxQ$#Nr^TVA{cR!%lw8Baj(l@j*Y*qO7CmjBTOf_Btz4g?%6wxWixA@CiWZ1g z{-L_$2b;?kt{D6FMBTdutKTNtWCHk@eDC!|CXV9b4eI68v3)W(kShsBxhvs_UiFyz{13(`>X*8QkzztE?$kTF=k8)J<&UL53JVJWP zRrGCt92n_6%`$SjLIrB*pu^V@FFl8`LUe`00a44=SSKdaQ}&r@5Evy*Z<|*>a4v7# z@-XD41-jD3b0$QBudBe?tijw4rh zyazbB31+U9rmyiHRB3AXldA#Ik>##6rBw5hnKn@9Y8Z$bS>k~|u=!yfplo?MlS6iI zQRj|b4c2OUO1&Nt=zRr`M&QQm0V=7#byFy#Im{^DYS$~?>9xl^0@6n2!;NA#FGcU4 zA&VLbee#ZxHW>z^O&ghjrn=Lc9)<=KQ#4WY`^yHDHtev>ys2xqfeq|sp4OOc*NuN( zeyD(L&7+;bnvrYoPXvuxU42#7ms_)a0;bJ2E%*w7JC0Q}UP-H_ zt@7}4V8>n@=}2T*_2<+onALHAd!Z$!^bA1G3EW>R>rIUdC{2S1&iXu3`JiN_6j! zZvE=osd)*=e+m}BnEBInE{hQjF{Z%dqh3yTGwhZ#if}lfac#&Y#6Ada{nqcB5is{# zQdMO`DcRqrlJHSIya7Y2lfSZ#Uk&nYX2Z3en>dPe-~Enu-L$Wm433h~^Pm56ZGQK- zX7H_HoE$ku4BZN(l0IoC%uG*S(E4g;l=Zv6lBW7B+oXaN?`PbEC0IFYL`D#Zz=+)_B^z|qkvs=^WEmY`fqZP$N)9c^~Eq2((#LLW0 zmuHZ+k{)y4IJ(z=!Di6DGppGhbj*5vr!VsRtj-dTuY&o7L&n13l6|WjrAY%5nvI&C zD{}CgeP-g=v5>TaH*AR3hBLE&HxU1SJWd`*7L;wr9fQu&rDq@7x;Y9Pu6CP8@|ef! zCG`gIN=yHFP3bn%$emR8B+karbeY+pIqb_&Trlrg{|Hn>2c|-m7w0MJx?=^uJu`Vq z_Y-!l)40ih_bBg1Ka9g}L#`Kk5d9U}-&>%jr@bfZ@M@p8dbp(?Q(dq+PAz15`>*e?d>_EF-urZg=f_n0$4?Lu!lRwWMR!#Hy?We_fJMKuK8%25?{tkQ z39D$ArnBI+xAx;J7}n^0|2F(bXS9^&zozQQb0TA3l^rvuIF?j7e*CT@YA?p3sYFim zE z0vyUG={NIG1P!nzZ-H5d(-TfXM?*7@NtaRaFRO^%F%C(Wodp$AZD$>FInL9zM?qDM zXl(4wd}s!sx}Xd(;Dp611`=(%n>6C&y3dO*9Rg~%GEY6}tQG389+SCE2?Q!vE9_Jo za0qW(mk!_0St;?rM9DgtUGQ!DZ*LpLpN{$7^6unBcwgmUgZiE22~$?fh9E)nnLA;h zGPDJ~3UpaOvn?n_?T4w_olbslK^9>$m_=FPtJYA+40p<}M#5v|%g{8-yIInu3!MkR zb>IkuO-%uvS~|wQ2=0r?RJ#B$$Qtzd`~I4QhK~LJ;qA@Cq3+xNe=SlZEu<9MMAjBd zVMwTKA;!KWQA5Zw*(utP6xp+6HyFZLMocP{Jvg`)^Z9%{k4yxxmIK~mSOd73cX!Vt+R|x`rGU_ZIT&Tu zVWkFqNnj>XekBJ_F=DN486mnBLZXl-^vPg@*2Q$OKOna)2Q9B5rt@X_y6JykK3PNJtVo%xG+E+N4!VJ!^}bOA>UseN z@PLbWZvn7Sv2Nv|2b;D4rC|E5yhBgPyEqvC_KmsM9qG)jN z^j4&QD2R{;mTdv>jAJZ5JwYfAolQt2i}4yr#=?rwvj`6lBu$qJe&*MWM2N*qLo@Dm zEJ^y0CP$D}lQ z+6RCTnR_kgh%Lo{Ip_m)F759=hCvtst*qD;YVXz-iGWw=->u@^lxs z4dR9a-}^03rcww-t4GZ6UBwO#p5lfOlW}R0b$Ur*Im9iu223A~7e)_*CgspF$%ney zw;b=YZ>4;}ak3vQ`em6Q*|qzY{gf=8{ls?-@p6o}XGMCOWBS2Z9CXw8%)h-Vmo>r= z2u(C2%l;_%s=uv~V4U)!PkuZl3_u|XcM(eBIm_yut?w+a9LkH6^Y)1D=XGgTD1GM^ zwl)GYm*QSEcr&KbAlW+&Mt~#GUMk{v%N&Im@fSQNthK{4aVOBqd4d`eDCi2-ZS^c? z?#L4_9ofWyIdw1Dk^&%Pq!VS2xXpobc4j%ck20zf@;Kg$JAI`_E-?zikNU5Xz_-xj ziC?|gtJDPGIx~61TPS(DC&yUokU#~L(s%Qa(D}3LtJA)dghv&*tF2+T`n47tnNL%t zZ-IJY!9tuucygsqpK8UJxK1DCl?e&gGx}=Q{Tl=d4Tx-g1S|+e3ie`%s|xizSQ zoMJ`a5!8CCT8miNcXEjfEcWupyL|+S<9b1kq4>!JF94Dbj}TzU552tA6cW+^T@Aj{ zD=!HWt2KmHK3cJk7$?Tzdy384u9szjjv8V157)6X6NJmNC>|d75f`uoR=mp!ezJ8hk4^usv=wO zGdGSD3ux@v3YoMs78tb&WV}`FI+A`*0Ak*0`qcTuH3@0i z@UtUH#>tauYv6+^GL^H%U3|S+9YptID$Z}57@u!EJolVCP>8f6k8S{j1qEz@ncbs^ zw?WR}ZA2+Ed)6`*0~Vzpv!Oo^t$jaXLb;;gk*CP+wlG$*n;o0;r$YSmD3msB2@c~V zJ5_o1%Y$)8ZE}?P<{0+ZGLM70OnI*TUgh4a{B~!CJaPiBV|QfEoI^WOHA&P(kPA1a z>V%i#w8#glZA=dnDv%S5OM;b0NCH0!o{d|^YdAt8=-v~Hf%dXME3ElgVj1@W!^{JU zk^cK8Z6|7A2Mod_?1<=uy9{M57avtVUD`;oL1)>ww}-A(GVvA;jV?^}c5m~Qm|6g} zhK&zgj^GO4+C03p$m%P-k_)efU4*%h`!cC|`o(g^A`u!7MM5?r{l>6%@zK8*|NU64 zI*%O7S`1y<<#Fw#)+goD8XV7?-9AhZ=fDJXiWWQYzC2UVeiXJeUuY3HJQn3|uw~R~ zBjBnVko=l@2wk}i&DYzoeczPV=X?Qnq#)!p!gr4itcbH=zh=1KMRKd$WdWM{mfCV8A+f!XJnhInFMYsDD=#uxNB z)pg=ul{cA=+F}WE*a_W3bM3!7V+6-={Wd#$k19Tif(o~P4G(9DHSC#U=SCdvneRwb z6Suwxfnk&DeQUyNwyeHXvuPSg3Y%XndxFCirZuj=9P5PUByaw=Vk7!&aO_FINoAaD zn*}96lLVL(ka#uCr2Y&-HzLvTEr6YGl#f;ViwO`HimZB(Lqo_7<*}Y!(3o$zJuCmb z4UfllWfE<~5fG|+=j|A5ia=%}LOG_7Ix>I1(sCC-MQ$3;c_L60nO%8!iT5*)R}0NWO-h4@`gb%ttz}4M!tEK z=^qv8-~WMmr{4N+@ud?<&Weuv1JlMKOh++z^=2Q zwdrU^!*(0pu4mi;SG~0~s9)1y*tH-7O!qTLGRLp{zr?(T-|4zfa954xBKGv`N5@Uo z8kij=?+|zdKD9PbgUXEn-Q*1Ds=?p8h5gZs86U)oRlche%By{=W)vY9-$^1E8w5Yl z*TlKz{L8$)N>x-P$tFyYT zO>YHcq4eHUf(TBKS+f6LB-o1%MN0#4pYHOdi!vxl?SST;%|jid)#0I!VkIKDrJMO@ zBlO3xn{k0Ja)=D1?@tbGUrV}7;~hnRzX$axf^RyjZPkcmPYC(k2PvlNjxS5CBj$RU z0cAy5jTE2u3zJpZ$0)ZsI!9^YPp)5%7PIH|`t=Yo!_*^3GMD7tD9?2;E}ntS^&FT4 zwJTfnzU3nzOQvxc~XwSsoSbrblN})6C@AX%cE}tJkbh zKaDy^1FxgM{nMv)16Tz(8~pDM=yL%?#eW}Six&O8jNIqW2K+izWv3lT-MST`WGU7# z^Fm~8X^1is)J$g(FVEYs$H!7@OaDkZiAQ}m1f7YhDYb{tgBgS0;bIcBx&{~eIO0eC zES!lRI!I*<^13f-EBZ47of$tm z?oxh>OzS>CAKeNm=|GkqP8~7q{Q!Izp#|UEEDm4SeG@!HM6vppL01aC=TbuuO8&fU zbHNL_n?NMh*T!W;2ntMrQ^h@y&ln4z2gP|~SBs7}F~b-f!mO{MmHOBk2~9~D|EOg8 zBpbZOBSB&nz$=|Q4Md8@ROb&5HWkUdLT=9L#it!HI{MijTy_AdvGPfGxAAW03neN# z<&bRYm3VX#c^aykGtl*rMC3i0=A?>-7C!092 zNAWA(5NuwrXKZH`nLAfDTY-aDRXn`)c!+FE8;tG_W81VB=0Vi_X4wmd6z^*M^C(?x zZKfea3med~q1NmGbM%hXx^8193$uF!+Y|#S7Ii#oS}RM7(+)!8e$(NC+-2yQfdJ`* ztxX3jov*ZAsKoj(&o*_hOA9w>Q;s=~imtDi(DbFAdt6mYu)PWhnUYU;A$9z|J2Jke z?A501#LEU47Z*}|6!5l(DMeQc;*uh?GpKqLf=&eWxC3{n+3nI=1@h#c*Dk(l$4Z*` zMa(PDW|8mOv^T$Zckaf01}n7B_a@2!^@eoV&!>B_yx(hw#OYU~bC=F0G%deGsAg$j zdELsO8n}DJ63G3fizd|6#0I#~+XF32rxlWmoS~ZeQRE)sr1#CTywM$oA-AWn_m)#T z*-Xb_yXmzPvr-Yl4;2}=txYXWBGz+Su5!@+g&3pdwJ=S&gR#?n`7S0`orHJD$SIqK zrJSm}9%z*p^&;qvSW*+G#LUvs5_O9Esh_T@{!`zTt&}&thnJ~;%70DPImb8D14Sth z&yppMaI?$mL*hiwj0~pYhY(xqYfAQfgUa+FQ(DvL1@x z2;{0B18K8eQ~XI|mo9NCJ>~JpDA#IPCsyvo8oniK5*@*~%~=o4My-)z4<|I|4KDqU z>$*2gy5_`R8(pH_;_`~o;$-go&5oaU6_Fob8uwF@Lfg<&S+<(yjrpCsYy5loxM@;9 z)lWeo8Co;qPKOw2ND}Y}oHqn|R#5+69&JkWBARgR;!zQ^_Z>(gT+z><&849I&#$>S z{q|5K;*L7(_<4_{+cLykb(|?f#HC7gYZWt~`gVHGqX{AW@dll3>3@)(v zRy-+RIMK_-Hz9XSG$d@~xK+hOotNCSA`PfS4jd7D`sD)3aDa98HF34?(+ z+R$vTaYRMroWb6RiafjUh2N(CwAvITzAqj9f;D4KUe)c_IamtqAv+fDoP^p4`6d%; zLW)@vR&ziw1T(SIf0S9jG_X5fg~n&@E}&9pOI{jDvFeam_lj41=!G;s9>O^Bvzg1- z=Zv6M*kOB--X3ymcx8DVch-ngX+qFQbI-WaP~02cJvf#$q{AoIJM8;Wjs2DnAoS`% zraz({8SmDjJd609g~}ndJEZ3}%z5HU;mJC4;F%x&&YW*x7RuI|%KT7LIDX3zG83Ih z`^qUPDq$UemX^E7Qzgs%v5%(%yi(L&i<)kyK2au>!Y$@FiP{ti7s@WP8;A-v4XzWC z%|A@iA!e7O-OTVJ+!4{s>|18)XB!jZbe1oL5 zYSts6SkVYHzpvQfp|1UyqA=Ton3nk5jSWm0AM)Rp&Oy^MAy%U+-u-{=T6vWCl;yXP z5qZncN@TCaguJHX#Ax&iwr@niCU!TSpt`)}qZE%*(=b{P2HfNpK-8wc#$Y0Hog%Ew zS3v*$Q*p>=Z8FkY-X+z1lfH;hW(oFLSHCF_{W;1~dM1Ts2v*4m_n$3kK|Mx{ zUaP2LWL7|y;uraZr;pMOGyi}@%*3mR)#Co9w;X4FfU_{C7; zquPtSM22Tc>2K!ZpzI`H=u0K?w(KB6p}DX%jh~q#V?W9wZC^BzswH*YY%x6^Mtn~i z&xzW>BqVU9-dADN$d@v^YC=t)zs{*J5jX;khmbgZxmLbfeg|(bICG4;`qKw<{Kt|$ z%WLZQUHM9p-t;(y|0cFIH+^!oElx9ZAa`L)_`2}mf(5%6a3mIeH3p>s~6ml@_iL6nfy*g_?Zzb2icodg`4pK?g*tCtY-_L|P4>yXgS__r1QA|sWwYf>& z4TVyw&iaB{0WYy7*XoX;N>z@(kk-C=V@CV7T2<88oqqj;L2AXmhL{(8Dw|bQBDmAq zYHyt3=Dc98lpyA3^Ko8LE5>dxA-6&Ze|D(LM}<0{G%_h2$sgzX%jCPDzDh_xFd#C|UDYO&+oYPkxsVz`VcF z%bvL$cG^ZeduAIn+Pivwvskz!kr}@s+Sr7|x%en{6bAQ@DpB-oGkLAB>~m^E6>p(q zj_-B+eCs|7qz!3D5t!JeG(D@2)IP;A0ir;cv^|6+B$EG#~3U4~eUL4ahsBh}zE;RyA_SUOu zdH}q;g*{g%DRR1~@e z*P=}w$$b;lE#}8&$!P8wI`vePUTazFWr)@up?UKrQBmRikkGI`@kFY@BQx9f?!}x0 zL66m0bYn}lGkB^d&-)t{)sR+Oem=#|3Ayc;7_p7`>s@tkugJx}X!j3s)!>PQQljOs zn#nk=F26x7XXpM_$5%AvIr^~#T;0Ya4YjVo&ui-Ba#o{xTI*%p@b|*A0uPh?XJ0+V z=-!V@w_T&lKHW?Q$EU#NiR;%nBH@fnFoZ~;yUHomtQ|0FcIy9D6)rl3&EFI3n0$t< zt@jo2`9g?!61^PGiiNLNu&6T-F?n|A@Yt=CDIM|ZC-G^mjE)Bg(t1+dTu%-7h|T)7vxAtA5?b`p5TT_a)iqxP12n>fnjBIHNQq zB6%V0is{91P1Bo!Lep6{;~rf4#!4d2>@Z8oYPq@`CC3X4Ae5v{g0{XqAUy?XrrhTw z>0kz$$$^~29k*eRLDLUwPM@GMGRvyJeK+LP)WPd4nmoTbme z8O)n*`KWpaCn_(UmXGI^#oKPD27bY1&m)F|kbt)EKbahhZD4a2LwgacgbtVY(yz`IfuhxS83)kSU6d@8P5 z${~D}0LPAvynax)Xz18z&@ZpAkrVe<2RQXf(c!kM1!Stb$?%zm_Z#Q4pwg;&MMN~A z;==gsztn+@O>jrLee&9yI|y z#$>04M7(mxz6TT5MwV3>)G**Yof0=?zL`-K){@R&w8H6@q^cAA_~ppwHz({=M)&=B zstM!XsCkaVP3KEQX5&PG-BrBW>ZB_f+6PvX>+~#^JHfYO3QcsYkk|Cx%RQ$D?ht(r8x+JuCKuT~TLs1$hqmyg~)C6bb(zYR{ns_ZZqcDpw6bq~$I@ z3G!?${Q=6dQL4OoX;3_tQ z25BK1dmpre?{{okKM-VCXQ=#Qe#r~2wngD4UDzE?spfTB#dSW?X<#rr=VHduX^-#s zs5D=%NI2OqGCdAPapB7vZLOvgEs7j(EmoxN5KogKedO(LsD71v z@Orh(ep?f6F!ya;GUwMY{)PPoXElFZi0!J2!j$jQFE9l*t@8HlUvszC(0@tHpNrh# zt1pH3`nK=+@ypM*$EE-E+POo-&oOzOMHwz3T?CKa9UO9HDA%*lfi9%KVnTu&tV;Cs zHuEiyU;Z$dlul5JdulSem9i4rD6jtKRa4!&?)V+>dm(Q~)%LUL7NFG@i9899NJ!If zv@cQopYC%ebpoHUS=6pm)Oqa~s_@2pW-_kg%o=ekLDQq06a4O%wp#UyeLT_0R>0%i zlJfYhxgPp8-K+QMZ+T;&-NlixIgv&hy)boN@SP_QPgkF@y^!_go!Pi$#DI|8@0JZY%?EfmPcDYtY#dy(lZKPzvKNfqVX>2eYO~czgSHu=k*cjJ7gp zg}0^t1n#9B3lAYrhvn_1mf3lRq$kG^NLi||BFzkuD3Pl;xP1?HvKt@Vs!E?!UiAI9506_S!JBOrLP#u)L2~ zYP~sa*P&xa?K`&WzPKsu&k$&Cl_0cRbmB0xE(fR}&VGwRnx&6F61FoW3Sv4K)(s-7 zE?P#PBQF-td2q?D#hs$v=M2 z|5*UQ-+%0XA_qLMu?1@N<7=C>3K2%R(==f8zdi>#FoN4FT?8uPDL?@6M+3I5@+WMF zrHiDc2_a|TlgA=AploQ(j6l;bE7V2*$wcTHBoanhH^dB^>0c%yGcY_rS7}IO15{|8 z;*fcbxL!t}X)6h?%=>1Md`3*Cs#nC6x&&>b(dD9*!yF#;@H6W;Va`f#`N>fZq&|&7 zLVIbINaq;3N)pH%DHf^u+j7lGEfK~#Zo}vZ)BA?YNcRl6i)D`PAvAH+y_0Nk7pD5? zaW{@vy{WF1i`RXP*F+HCxrV?gHau1LMITVKGMvWlAmGx}00RypBnvxlw>CX|+&4%> zQ&3Hgd`^@UbU{q$x}G0(Sgbg_iln~2zBWX*3_(RKIvcmx8GHlF^n5LphYt6lWAmBB zRu_vC^sO>!WZ4J+&LDr>Y;qBs^7Np~rzkcUq3rPX1r17p)MwDrn@p7hGN7^$)GO~{ zbZX^CTIz#&RA}TJyAif@Pg}!03@e>-g^u@v^+f^!1s*(e^O1-HLdIwP2F0nm24B^$*m41u}LD3qqTElET zvJ?`^>!ERe8#>w}s)qL1(A?Q{Ckcl>*^S@~2r-R?2F;hd0L*n)wQ{_wqgOC>yM6eL zS+*d}EtCzo$~e~ZNWf=!(es;4{+C+)6Z%jWTUHy^QM1K1Rl}}lc+b%c^;U+91b@@o zeS2`vpX!C$e+nE)_r1V;hw7nBkyqLB!Gfk>0o6aOQk(6)B?$B$z6k_A%DUYQ5{0cQ zvJ!7J#iO#M10-UM2K6MxK9oUPIl^A(IJ@V)f;=Rs3!=Cs&=rD;e%%?(;lknND>se% zy@I+Ig=ih8VH(HtH)=(&f)p3qC{S|mBaWt6(Ozxf1oM*W6_I$6JR@#<; z-27ny;r|xXlWhL_G|#}a5d$)q9$^?Kwt_9AWqy-v^)r3>BnuQ3D9Lc+j}vyz5QQ2 z`Th997S+<>-$HHvz3$^9u3tm>imXi5*H$$kPfn4-XMfOwI*ui9v}@?~$cBwLBfxUm z_7(?dCWDsIRk)bjkDANOisi^5j{}eO{RK!+{~0y_K=}OrWoj;t8 ztXrOlnh(4PvAr*BX3|78SKB^niLgR9+gqj|g752h0;%(`bN!j3dfcUStGWoutEuTr z&{YBbg@7ocqxu@Q$VE)vGtby1VUxkBv|O0SO`(;&}aR*R5Pq>;;~{{ za5;wt1AR=z%B)(fzC-zZgeg!-G-FloRhZv`_U@mAP`dzOerH82LdxdjEU|1YArje8}{x$T0;c*R(4m{+f7$*iP6 zgLhz-?6?8Wi4J045)$ym={mA>4zikQ@l*vIrZ$r&8ELw z$C+d8+fPe%Nrm!+h26~^@c3crZPI-j_gsJOH_v5S`+NZZ_=?}K_M$W~q&e>x@$!sM z*vOkhuJx`WS8C#bhSBvl*X51&;(#_P)e1GTUufgVy~z3wV3HlN2{2;m+~$QnH;u*% zC8p_pKp^$2Uhr%s5Piz3p6S)`YBXs^ep7ZW7Oh1cfnNU98H%ZE9Aq7_IFWRA8(Q*W z`W!WPQ7_LTcrcE7#V0%8`SSGU3EdkqN+T=RY5&siHSna4NWqNkka~-Q%a9w=7Y}@M zUbRdxv2C+D2S2Vy=f(x~p0gjx=L`&A-iNlR;kexJYn{8hH7%vHK3;j)0eqA;AD;aN zha_xXBU8r7rL6ofEUzc3JC{v-Rhv%6-o3fy6z-0$Rs1LnkMcOwneS}fLQ0ypb!VQP zc)Jz7HjWAo$h`5=zF9(&P<|FDhzuu0X3SPK94H=kJPz{cly*#bnveNE@pN5zAp=2}e0iGC4 zE_x5M&Yv@<>K2E{mHT@1lNVM~XtYt%qHoN~v!sC{Bn}zNQ}b=+QjObiLM_pi2aCK7 z>ka8*jq^v?AekU@Rqgd23Rb0RKS1T>qfbzsU3G`i+Ym-O`J9o^3_XF8M2{;FSl- zWoPk2nZR?bMt^@Xc3@rCY*4-ytQQ%%|G1YRc7>Ek7-?`g4^I|7f)?6WQsqM+c{(u&p-7h!o}QWSfyeL1y)0W@r~79l6@o* zZ-F*u}e9md0!JbOWS5>GFg70vFMh|#pV;%ifhV~U;|$N)r_rBmqS zaMw0N3jZ~OgSquXp30-?wrqCGVEc}sYs5I)cR;GeH^-VoOR83U*)KkX%|{t$Bh!2! zuzvxqo&}Hlk3EN0+BJft?2D?G+Z$eQzCk>*>xF#wA$`LBU2?FP8G1iYSR2!{7|TeT z)AV!AAa+hqV6p5pF3O=f@geKhv2Ca*d$IF-23z*#iUH@V{r>hr-MViM$)80&5#kL;qs0@#L%52sliI^Zh!@DLIrevxiIU~8a3*y( zF^CBO{>Sx)-(F@tj|A!tYF;g9Ts=CN18yu1@}Lfi5d#oM@nl%HpaU*ZJN4P-6y`M> z!OFy5@aBfIWOxC!yL2%uMZxpO=bB$<8C$ibICFb=ij;OnPSBdz;gy``oMqAzc( z&~=!Q-N$)B1i5dS%XnyaU(%737uckDKEI7^TXt=BL{L*@RR7z`v%z74N8cBUEXrmk ziK(1@Wq!d}#Y25&^eweqJPFUc((?1Rp-=jQP@{)b+4Kj+o4?0Q{La#QA}#rh#P@PR zoA7%^%}Hc$abLJ2_w`ppYUDXx<)y)vk$xUbOPKWq;#Bim3X{?T#27A*re93NXAK!u z*EI0s-hU4Nnn9Hp(d=(OgQmnW%etF%E0S3Hwwy3DyRNdRtRMe_+IL*k!9TPwy`(lw zPAABkv7FG@_fGzr30+07!Dml#eM-$Iar)1g5TWUhwK!7o@ z)(Fq`k131jNO^b&dLwBkga`4nyRNGV<(7${1sdXHq_n%l#UQ=##$)?|X(Ck=F1oSJ z)78j|(;gg&KAC`|Uo4*}u(xmLi-|YTTTIlh?Efp)#v?OJD1`IkcIwA($@c#9>7rLw zdjmY@K9>=XpgAAJ;0O;lSK+>BGx{5i;_7aP8|JLT6$3r82x#`k)oHeyd@9`_V2xSs z=Y2loR(UC)4%XUl<(vXRowmR))CgmdV;qT#el99M&czLe>*&ipnHi0v)N1E=egp=f zvGUi&rKQx)MbrLZ8NIYuBj@)=PES~yJk)Mb?EU!kYbdFbVnL6aTXv)l%tT7*yQ@l* z1XO6p1Bn{10fNBiK${ygnH-K=UkROy8f;Recw$=F`5Sy9hFxt;Q-`wgj%{4(qq2mp z*NfALW?GTuNwPq$ha7=C-~Za?1f9IT#>C^UnwxZ)C_L~oEzY#nW4xU-c9g~Y%Chaf z5*AVkT`4@WPF=>Y$eh4fIK%TgA%=Bd@lJ}zWtEtzl-CI!n@xLBLI<)7m9!r}BJz>ljLftu z%_}pp+LU)oCgZSnt87sB5RAb7vz1d@+mqU;fhN7r##P)<4-zkC5IJ?!P}ua08;{MX zX>tK4FhN7pYqFwZE%$N?{AQD8aQRO_(X%w)Y^NUXf$63%x9f*WL5?9 zb7spcd@u{%6jz#iwz{+IvpU!C%6FDEU7}I#6XNPtBMy82d5v&1u;rfpw!T}fV%FfH zmBX7GzKm8amVxqYrqjd5F{{FL)4GN^jxRa3QrzOYTwTgfgXDhMD923+r9SpP!%Tbb zv|%2fVW{n^^MCI>)S!(O0{Q6z<`g^PwN}N)#Oj^NPX*vTvgoeLFsf7zh}C=zt3;VC za?CB!t9hnT%*Jy}K_+;M@vDe6$Iz)DQMz$5KXjC*d9mxmq}z4U@{GDz_3NdyX&Fpo zsRhJYU7>hLS7a>Pp?;4NL+bx*HxD>8QnS=zywsOW*BAZ9>(7RG-KA!aGcZ?TEymEe zahZvc1waO!S~T{qkzhkNj=M^qr24rb-U`cvJG|dmE!u9!gB-tuMav-@l_;3GEM#gs zN2TP}FH4W&x--Rl6)@QY2wf!bF!ofsd~R7op-YASVr5 zmQCz68k+xIv%hr>M`gpZ4m-FXA)eG(w3x70m72xxFT-1vkag-ph>`)Zx36=RscFhm zqf(}D?;R@&&3Mr9W9QT4S9ALX8gM;xFA^qB9jX&uyyywBx~W{b}VawkZB^9ZsvM$iAXzhSwH zO_qH+Mlmm#9O?M{boY#5cO-cb0vW7HS$bo{Yv25Lgh!K9KIbSNfQ?RuR9K_LIZ2V; zW)r&<;tvz821P6N!hVmz7pLfZ^&^r~I-By>u8rPjjB;5$4$i-v2C>z? zOmcYnsPmduCQnmT)RbTFqhD2|xN`u4Lfk#k)-srei?GCHwQgZwbJXN$gOroiNrN!1 z3Wb`6(~h)&&@}a>@ulmZyzUqT3={=+@l5QwoPgHtaXj+10tPOgA%*U-b8=PacwJE} zDs>9uKmP{5T8H*&Iqcec_+0C2LyDy1u=8oC-;{<;mFw)tli^Ac^O?^A5BK{Q=9JF_ zq6|mV^ON_l+q|75jn;d3sg)hpX4|sVBO&Q&m6F*E`y68$%QgpCyzy)L#k;wN>Ume% z7iS%h>X~ND8uCXEMA_3*R5j5=bZScF^^N7a_g=%5my*2W47lr|qTCSZTRpkMc6e;P zoOAcW*d;B?;fz>0f>J98&Dq6U#V5{b55E3D?hW(pVNAo)vovkge)BqTHMkurxEr_p}N@bL)ddTd`>&jFekBXuzlUw)OBo0 zF=v;!F9~$x9pKa4L7w^Gd;E>{LHvB12CgWWxapcqQ;Ke9TH*_%E4E&0=oNv}S%<7b zh}+OCy1{m75eIQ6j7sjkWlb3y_Z@yHxDUnEq_6oa2_vwMWrCYYBjDUmFg4csjNfjnll%>;}a8EtN!a~YGO7;9=6xelOh~&$yQzp z9YG(~_h|X?P)?@{izly|8gR9BnGIdSsbNvg90XBVnnochRxO$}LflOAi3PKj^6_`t z7MlI*m~ZO;hvoU&UcyP6XDljvAfblfTUx6bGi2Yj9GzlCCTN(@5385i%4xgne{+h( zdh)%p@)k@wR^zJ8g(8}1(|?(tyM;PQtu$@8!dCNpF)q8NxUg=|a8S#k#odk-t-1(A z3HDeOCSJe^=5Vy&sbSSjdX$;Cguuj;X$@VIb<3j@8a+|$+bJvuT4 zBMYS2g&i7VcYv{$6^ z27{|mN*_QMUqK)jR?l$GoQcVJhzSX1(LWKV;BobX`6(=b-qYd}h$cD@w0$j1x^XxP zW!)XQ$ifN|!VC2cj5^jFAeDG=VqcBozBJx0ZJL#~=T2H^&zOCELUW~sXJ1%~m~c64 zX!GayvAe48P_xt}CRab@q__+JmZthd%)8q3POj$=eRig4a*VE#FHP)~xLX=JzmyJl zQWMM$+?SaY!IsGRF8(hY`x$x7Z(-8RJXu29u&whT?&?er2HPjc^42{2pXHmnlzWXcA3tBbRp_dd zF{3c2)C4cHz45Uz*FHweUl{XsTP*9_^!Bz(*O>GOH-2r?2~i931z%5fY89zML3@0M z=yChF_UoD${kprTnRNcR!d1VvKt;{%j0tTlbwaDTld{kc2Eavs#8=;GPmA%n^=UyC z{P0p{kW{YBOa{Fw^|<{Z??ac^<$pct zeifw}Y!tZVw>0+;Pk(p8Qr8SH@`WNOu)rz|5C}BV@N#NlE=wh zsJ}SlS%7?dQN&Iy%E^h%mza(+?k^YJK35oMw8?hoF>k!%X$YURlcy1ln$OE2O@G#G z`W7FXZ^=`pN+Ln!K1&i64~RVIVl)qSDCYgKC15F@Jm!%Y*T6>6+Fs?zGS$d#cR7~zwttH=o9;lO|!r*!lk zug4{4wyvTcEP2~?2pIGXvdWfh_f z6OIKm604WMl|3su#l^&+Rhq=(v`tG^HzYZJE27FVCKEke!J41;)Vyuz!=Fq#K>&t> zy5!mb5@!mY*J>D9?FNbzBl@CFr8(B}yYD6CEnS`)lV$01=bKJy#B{84WavIXug=@X zFIC77;BI6aacA+R5sen^L^E#|eDDs80G%J~K&cfkta}e_dFhV2g;BLlb_yage4&#rPeRD2lNlH;t|0|WkF7NM%#!?pq>GWolS0y@5w9AH&>-5G&_-mfK=O$^&?FT^~>)TuWx2#1BCB<{FudpurVA0$}joPO%`SJA7 z`#o2|VI3pd(JmwSgzB2O6m!NBH0@faVJ|+GxSy3dG;{N!@A`6rox-V!H07Mr>j3rc zK1<;}(cY1@kN;XBQ(m5bl>Ba7M8= zy34VV^eVgLKs>)zXPc2JTlbh-?4xS!mKj4fi7$}H7A_M{l-pwRk?2kCP&cC#BQcEy z;5qF+)vNT!HTWR}=Ac{KhQ|i?y(a6M4t(ZQGhy2o_vj#bj z+R>Q2eh*(3;O4g_oyR1$CqL|w*p+9*nd!Td@!>H^NJsmK-X^mA`bujLRC)LB%|Vk) z&&J3^WCAAr1#jSb7!7*qPEpBE0(aIyHqgxwYE-Tl4r_WC#y-VXq6c0#NRv{A83ptv z$R@p$w(2P-5Yq`jouBq}R7^}5PFHzvD;ZPByTREQvk@k;!8yF3FhoIGx`jb^9R64~ zAH=}CPwRyETC$%#SJ)@bhf={ITtDp%htem?n3<8_u?r52=fuqhHu6j9?TEaaGxj9b z8#j%SH3)9Uy$e9uC}hppyLMPGb)#_!L}w&Z*-pQnc>%|Vu}b56A%rqwBV5+IA!UD| zYd@GjaGj7MUJrO~E8~Wxnicd#W6N(y-{L*Ea;M0hU;brJz*tEu4 z``}%4ZynlHbqOVW$7}wCi+b~c0fei^HrWF|P$`~ZlCVisTg1IR5Sdj;0V^dFMbfnn zG8a*-@kI%w($esnNRp1KG0$4+Q)R(2wNfwP<8Itq=y9?E7J^o8K!;9PW}=HPz$?c= zuJt9l0*bJ^v`aLezS%J@gVFhvQ72y><<*dThO`VEP11bXii^0|rX@{mJbc0FR=B9l zGiSZCk2|cxUpYM1I@m2Z>4A!Ran}+m4xhdCj62H}MxG-ue|Bj!&XI!KoC#o}#Ja=owdiF|I2q-< zKqBO1&J)*NaVuI{M&aLLTu<8}7$ zJb2EPp|7w3M%PFvAN`Sh>~du;s3V54@hXUx$Ly(F?|Awib!YTy zQAf)ImlZ4H@G_zt`QBL!??}?-LK|JI9Oq3^+iLNYl|Ob{Do#3~K(-wl8$RKljw1&R z`JDYZgq}vI1K54n4c(RLOo2>@*fvARg0P?U`jJZ_XZ&^Psq!JjvkO}_3nzS}aEDq4 zTvv13gQtOHs_2`}k{u$yc7D-_qlyQ6P!<>n&Hbeybx+Pg6mCgnrbkqB*reHj)PyGohC>$M63!3+Icj8pfFVp^hHMRE z%B{W@bWg2JRYBhgyUT1RQ_!!(M{T`7iRC3 zYiQhPIu5nx4nrez3QKQCS;?d z3qQAJuhZ&93Ab*zVw!C`_7HKnA;|KDGLPm=*val61de!coaRfTrBlsA1maXbiG=B| zC|^}a6(C_Qh-hO3I@ra%=^D{z`6A;L{I^A)v8;{)@kCL*M@h>`Hq_k9(%*wY4J&k7 z-Eg=s_fU~S+pK?Y(-PrsXN%tUuZW{bwDiZ`bIv2`vGNn`KN9_S)vlhz9qP^=SG`ne zj(U9$Hpgx+wm>6*(}YF%=k*hdbYi?%0tFo`NZ4U#lY=yYmv}QXKh$rx{D}4p*L6&eZQc|;d(tq%{9YOLp*gEcGE>#ujnu{1lJ_*; zEq=MJKm2XGiE=FXE5FVUXogUK9|WO>d?!LSD7(*tfA1`E?zdq?{{Gk2q~|i4rr^iA zFTl^*n}}D4m9*m`){EEVpTKZ58iso|))E^`hL36RSoc0nDsnI&f|t~=X$yXSdtF%u z9mIPaU+XUMggo+oe|~YMWO$j@j9zHzVJfZtii|aRZ*)T`t4I?OmcQSH;Xh~bacg&S zC;0U(Jg>H{-s~Y(ao-*Urso-^i{gIjD-5Y zlF)Ac4Y7~!*0YXb;qV~zBf3_*R6oJpq4hPIb^4Dfd#)U|@Xb9EEhuvfmSnM|l{?1~ z+<_ULToK5#h=Tkm&bsWULUu{^RNYNUE89o@e)y{^;kw|HJ_8XJ22%v7*NQbSxEm0k zqmaMu*R=i;K@Hj~yugHqNw~L%!9|g_Fi{!d29-L6wx!E<>Dly?+QTA0i}7ABge;xF zN!~5mhkmu6&(<)wc8jL&!Di`}4WF`?wb~X~)m&q|rK#>mCOwoI(vNi~OaG^58;}M~ zk37Zgk9X9uh4Yo`{nB5&ZPuyk!TNf>Lik@EW?%%Ug~`DL`xQ{l=sN@R{D*yEn9HG@ zfo#DWdM1v_1xOWn$aTG;!l-aO(~i+e6T<(T;W2hjZ!>O4rQ?MflD;!TE-KKKgdRfX z-Ix1eP)&JulTv6itvWw(w+tYn@8@|lBmIyku3ARrs*;4fUsS+^aK}nQ>~vv(;Khmd zEY2AHHSF{5ZQ6Bg$+i0(qIq%&&jdo)T{Mm*j59+jW_MSu2>NxFpKwF|YRhZ?)7ssq zY%2n?-ZPexCGgKrefWg{FEZ80`CO4qcyGmiJDB#_t)@6ZtyC^pwlmF8k9|0>a`veY08@qX$@?&xn--x}kkxvbAOh#p8ee#>ODST%EOHWz8Y!__PCdnB zkyNBZ_S&cK&H|ZACI@w>+z_#~LNTxm{xWSPlI7^W8@o`WUKgJd0+n;j`4@z;5!t$yXkkUIj^W&LX@K@Tr1oKfi>dZ55S(CSm zGbxMegBuSasW!l`bi>hn{@#sS9-n3v6$}VuQviV5?ZDId4W-sStV+eyoa;C3-XOLz zXq{-A)z5K|sL)nU6NT!tNYnl)qgI>KMN?b4KglEC*b?Pl*}pN5Sxt3}^8wqm6NjQ> zUDK?oevCg2;rHYuYH{Adj1Hv-vZKXUK$Ua9eh7i8*c&N_7jh+N_Pz!^wzcH5ut!36 z5V3clm^D-ypfz?@7J2!j5POqviQ;woaw(c|*Et-ekOHj(E~7kt{>njc~NyyP=v>yt)U+BCS2q)(6|(ed|ZxBwJ>IcSOASuwe}^`WV$>t3G6Xo(*#fCnSnf_vl{>_hDR< zSbOVR#$+X;|E7T1wGsEl3yvNPa`d#^?H6CZM4o)*f*RDl<*7><+OzCda%p-9GZk%O zCD!1rrF+30_Rz_WQo!S>7qzS>)K()Gr7}JTFs_Qej1||+?~6>mFv9R`!|Bf;u$Q?H zxbBoyCvqlum4DtubU9#EMs*Wn)<9?@x7@jd|IH1UgZZ{5DYGn>g9xi%?x@_24-a~# z+vg)Ha_vdtqHSQ1HOO?|8#!_Wz1_Wcvpk?jiWnbC73s#%GnUU_)pGD{x)=7`eU&`Z zF77}n$;7loT$U?(NH!H=DJ=IFAJK>On4iDRD)(<@_Q~`+E9|C?wo){Gv|PjX-1z?K z22AZkTW|mTk=T-2<6p&iY_O0e?nbL5rKF&Xgf={U($)|={4j_pQw}nvhIchQ5bSwC zd!#_TJ1f67k=%PI5}#Ce-3;evEOM`~9A!uoRVSYvTv8v_TBja;J0Qs%DC4t@lr^Oq zPJ(fdFwHQ=>g2GXEo@Aaj>^=uGc5BJS>2=A!-39v-y01%qBZ4emC4=$_P&dw#>hGG zuAabyNh#&I8usL-9M6trx0%Ty45Zb1(o1}`#jeF@?l)o!hCe^H6>t2{8_@$B5&ND? ziPGO#?^(6(qk#fvz@isR5oul0?3Dv)Ll;tdF38{>A^wH(O^bj6?Y#dy9ZXFvcfnNO zNcKm+8aa}x*^hppHKar*#ahcD`XSSuS$i)lV11jf=+e{sr$N9MK=~A2BtH9&btC5p zlt!KD6DS166=%~+=wsP0d>Y_KH>3MA_g#B`8rQ3B+HqDjb%#KWR|$qk^fcJe;0V$K+UPE;B2O*ktjL;ZG^D@z^GLoBy#47B)(MRs!p=EYxG;F8 zmXx`NeeY^pc@Kce zkIPfedr!!ToVUk8Rs=>ZOy98h;ks||Dwi?`W^I4KgiS*-|3dOeLWm0=Jtt#0mo%Si z`;YIo;#!!40)BS?N{+2*Si~8$=mZ>w`4hEUDAR2?#he7CUJUM#f@aJl`qhw5OH+%e z(9iWevJ`xQc3mdjtB% zY-Ms`lAIH}8WfhclV2n2UZbFVlNYxbZ1n+xoS0cSaDQ}FRC=iuXx>Iel#-8skw_4y zY*A>RcRTTOXn52Rj@^dozxSJOr{(bd#92i}{H@**!|6Jc;kXZCFAx7AfLv9uG|u!p z*${r2ZO-#v< z(O7pQUbH%;WGLjq8UCgqQ0HwOBeU4Q{(9tZ10vY}9Dw)d7ydyg{{7$o@i(#~T$q22 z>w{*3>i^xizQ2FM|D@Lc`~Usl^9TIz{EZLZAS#@CAj5$G8W`D`d%>G=4jTFuhS>K1 zMcrG+MYX>D!U%|Bq2iV;NGJl*N{BQTUDAz8Hv$6^!w7bwbfZ$zN(`L_-RY1@4loQd z^uX|5i@o;~=RNQ5JkNX1KgZ8!e^BHJ90(BLw>DD;A5nu%uH1TB(tRb)8b=5`wLX`~;jrG{|9Mj_5!!K1cw16II z-ETZ+QSMDRQHs#XslGvc74nnn{Fj3-cP(;|{LkIr)GX~ozj&`Ul^ILd&x-se^Dk~F ze8C}9Pn7`hydq~j3VPjVngG4Rt{?Z0!7V2bin_XZrHTa)X z;Bo0ks?mH&Vg(6F!n=*QV~Hd|WxqNFr12IpOE)RIw$os6rdt+BhkVk$e-7%Uz@AQo z$d7D`Wx$95a6@ckWnN?vMA3#O*xjJc;fZ$-Hs5^{2lLGIASgWr}WyPKQ{r1DA523=KPxX!0jhPYg>6M{=eJp z0K~(-z{9>g2BE^X*#TX#VS6E5SMwrp8y-T0$7!ow{^Q4sf7J(6_dP;iN0i_DeMi)H z$=VaZxWQYqNXj|_I0LJ^e&A&J6^UW5Fa$d}1>#R6v9SfXv-Z{OH)@Sv@eIAcwoiH+ zS~{L2d{^oVL?A5c?sP_+j8cx-<{nTI`<-{Xw=Q{h?9WSH`Sll;girP5lLcd;!KS z{kc)Z1~HHw`FO_z|9pIWiq%x+i)nm!`rxgsQ3%hne^6a}5{slOWfMN6(Z->^YQHl;9T>UtC@?7K`uD?eWZ78gESrGOGxq~#fUlR z#JtO+ZmQilXS_Qo=l|G6$lwW*RQbNuYg7)d=}$Av%ds2q{CiaEE35*pl%JFYY7Cpe zVpvt;z#l9cf(M5y7V8drZ&?yOw-*q*1GrUVklji1mS$2$uRAc2U1|(+p35WbmeyrB zWY@%dzvx8+)))2gYg&lx>fMQddy>x4Kh5mT4lV`};wM4Z?dndu1Zf|v)e_KTKbQK> z=9w0|+Cl~~B8mZ0;iWW)l_)(~0x5*WnAwvipa+~%fq;e+ufS&ZwDUq-0 zAhV#mFI+Mf+#&Q~_ba&}FAcd^R87xV_=^p4Os2q>=+X-&VIk3zc}(v5R6d}=D9w$n z^z8%VOvKBgbgiQ1GX;w{(>*F&8wPIy`Th?jVA$zR@gua_f&F5sYh1(;H)9ZxR3x~C zu5c(IPIT|W|NZ1x`TGyH_yzThO*4~yz@fJEuJ3j=i8_x`^LfNj`v-gU%8qaIl5jh@ zYG)h3L&@%Me_eXSDSr20wKZ{{J-*0Q0}|mfHwrF6m;3o7GNo;avPENu$K9^XZw7{X zmG`{(lnP(fzUkSw@WON}I!o(K>a$&7AGk{`_#9hOJV>iph+-V06_ z*;YV2Jj`+;hkmv{&kYNTkE=Ypr@r*h9Q+B{Fvmi)7gG8&cdrzfY&ll0>}Ednvi?1$ zw|I}5zzSr>)R4+Xwc4i}WLbtrCRXhO{~Y^iVX9qE!QFIsQcH0wj%sz>TLwd{i%KG%pVPJXMb896!gJsR|kU!Gz-X&~# z0mj){2`L{*F|unz-G~I*4Q~(|1yR1m8+&cc5y+?4%)NH+6rjPP$Q0<%`QecyIODb; zx*lkuC#aPphS7El(C9=UJG~#9-x~XuvVhP4AVeC#E54StHrW`t?%7{jWI)=jA=S-U z4wgqgbJx?U(_l*}B3!W;4AGO%z`)W|9W-d7tyzB}@oZvFeJvn?WKTo%scrF+5L&VM zc69AESFZyrKYwfQMd9bh`mA<*rWx5!kPN&_$ojgC0nXwSlApR0h4Xvd=qIyg>51Q= zJIp-bR0RWejsr#{T-)VmhjM<3Y@ZIz*-7$2mMEx4&)7}6=ek}C; z#MeeZ2kCHW;S13hG^x#SY!y>2L>%w#4}ObFNU{jf2N*JpVY-(ZEBu zA;DnP!~DejOixDGa5dsXOoDPW2AK)utUJMIPgTX#1}4{faB&ku!w|JXIchehr>_-Z zuBm4J&zQ`VUA5T+cmkWZ@<|N@X03`WE_yn1#;3NX@5rY3OegrnA_yiUJ7Zs9(x4x#P0xcrI{AEzl>kZ~=EsnZ^4Fnc^{&e)if? z>tF^GJ#R@tR4+byMu%_ijMR5D#POE)!wRUpu%lzr-qiQ$_BBtW_h-TR{I=Zg3F;{! zeg2hZCAZj8H% zXwEiAf+@Tmap79^0h{Wwf6K!C7DIhGQ-%?hoIW;-gn=Qk!DN%#c!bEeu~Dvg#QPi5 ziY%%!d#n+%GjBa8b$tIeMQtQ|u0P*Ktz7d!xbLt`7XSAj1$NRTT|C09J3fhiW5VQv z@A?L`QbzBM*#kQGkY=}j;`JO}e^A$&7O#`^@_Gpq(5i8v5x`kEPM-drRPXpRo2u9% zYwrr!wjze_?3?A#TyFG^+D7!33EsFy_2>(=pb)++(f*M@FbV7-R^*=E9z_YtD@QDt zrbjH}rbKo0a>M9&T z2P>Hl$Ud{sS~jjf>mDJtzMmPcz65N>`_;m>X2nTeL=-xBl|gkqibW~MnjK`aB1D(U zmA)xR0pcfF=t;hoK4~MFR)TeKH>Gvh>3?tzkvAgtR)kG_(THLH;)h7I5}R+zur~-X z9ZG%g`DTrMZkmME)V@5lZ_~*F6xE+A4qaao{d@ zt}~CMVf|!;Tsa~P3(Od=gXz)=(ibAGH#3+j4){G36y+m0w4-i1_^>*4#WN*$F=7)P z+9U#jC6Zsi1UsvCgsf)^J)#Q;{xE{Iigi+m5*y@h0hl|XB;E{atNGi#YCx~cE@MouW`q!us@bvhM=>N7QLnh9=HD179bJ3%!7>f%<|H@ebf zSbR&ek5}97gOn9w?5;!mwBsq3mCA#{6&;8HnfIv!%@IjahkBj{IMW7AP|MHEQNsvp&q2#ZWb& zi-s1yHqKJwAs~wEi$~}rb*8lk^!c82ia;8#AxnuaQ`GDw|F2Jvm9~dPzIgX()b|QC z#`mddm1U9~+Ih0T1kGPE@k@9#H{d1il5y9pWm?rV+-GCIz~ldqIJ?cnGDCwmE$rI# z3-U+}l`~Lard71C2UgJxc-kGJDk=Z9GcgLWytjttF-k!ulefl z)_)MF4=(}F-T;z6Vta{n8H*d4ow9F}%m!6AQV869P9PTlyhkg?@I(ab-pvZgOx}D& z-Haoi*wVu-%f6b<{@t{4|HW%xKP^ZuT`N-W->N&O;d%Tf{&1Vb?)?&Lb^pa&2_$I7 z&lx4!oVr z`$v?|MC**)JNEEi>XiJ6y~!tpbsEJgJG>qYwZ2%qDjb@tC-MMiF8KA1VTU-HBrWb% zP+*rBBk7Mtj}{~`oL)t@C&o<2NQ$=m`UXy~`6rSadD>mFD9Zz_y-~UAKR<4tqY8ai zOnXgKC0eDj!LKC7Ow(Pg_65Y9HgY(pm^q2;9Xx(P7NX=0FxBu7Wr6>v*9B255k=p? zRWJc7glWPSyHnzLvtM;g2^vDGGX+htdH|$jSSwTvnxGWFSVrLWc!~7H5?G@}-Vk)& zq>{{WLL#4Iv!@p%HQaxK*LC)TAds8-Cb&r2c8S-1q@@Wn4yQ77s1utOXZ+guQKi}y z{3(a2Pg>=@$o)KcxM*}0Y_#>^#_&KjoO#j{RBIdRAGx|>E){Z(*cx7i9jt(&be6-3 zaZBUAxALZlZR-NY_U~E$->{?T-I>DK2PYy05UYU7 zr_vvmxzAvs$&)k8Ft{+c@qW8i1lw-4yyEjRV>?lVEEk>KJb}9d{tGYX=C*mX=vqx4?TVYvaOX*KN1p>d$CW zduFmkV1d+fN#2o#xw?bG+0AQQRHR=og!}fi4S=y1;7x|THkOQ3t+eKxT)JVt5ut$v zO`9m5?O2_lYnv8P9?crOHP+o47u$c|;NB~GEJlg?R^wCkAKmCbwls`;Y1!;}6Np{j zUo#f;_3$OF4`S>yOu@{fI>o)q z->(jOu*Gd3F}EVjm3y&08HwXXyA;Q$FRPbKmnp~0nvHYuI>cnRUfffj=1j^Sh3)LP zti@}6 z=kJgmvs8MyNZv}`4R`!y8`H4d`q%@hWD3xdc(I*!iJqMV&&D3li(=T9MIX1}+ST~+ ztRHl0Xo990W_Y=K_DceBwQA}ME78DILRK3+DP643a%5BQE`}Es09Z_)6Hi+9-LRmD zX-1A#sRzaqxs_}teIL}d#ll{|PJrYZ6c=sc?bdLy{iTj_ z=UVc=gSUZxo|a+geAVjpsS}M|&DUL;xV$6Ud>qO{Pg|+3YZBZ>9;iE4!`^u1;gU_1 zc^^4(qDa!tI8NjT8oj3iZKH~m1YYRVG4pH(juzz+yL{u9Mh>kM4ci7Q7(ck^l#nJv z>Uii|Rq`e~$6Jy3VZuy&O{MLpUZZO(y1ObZ>`}ssM}0u&9eaUUU1r_K3$Lnv3r0|b zBZR@ukSx`G> z`pY~DqH`Ox8LH$sn~&{yr>a|F!ptcz9aStb^|YAuRsZ=vJ7|m5$at2ulj3a=-(TD) zx=1V;z2ud9HfTN|<7~fLSdd)m_C=SM;w#bQO$%nHv;ZMZLi<2_9M5~!P!+nXbUhaAOnX{LgSyG8NDRxI|QQ}7s@8CB0i>~Az z#6`?;rZ#j(1w7-5K|{%?$*L^}h~^w6wZf@yQvJdTyo`Vjw8s=2T9G_8grt?TQn8rK z74+ogE}*1}MpMarYqv(i!f&?w8|X0qeKCCpXI_hvECzMk^sNuIa=J`dIECYci#lar z^QN(RT8^q&wT8EUd+(_&)y7*N>cl;6s`^ag^i{g{aTZ zzCDN0avu0(vLGpMxFcv+ywv#wVg@OJsMVZyh6T}}lKZn91;ktW!~Ou z-1>~`E`6KvE3x0RDYhTv8OijDcEdI5%Mz;7<%Q-d)E36Vh?7XK3QvNVUpcKsF1S^f z$xC8&K1qi)H)d;c2pIQ~A`?&ZGZJH7YT6FZtRRxPP(t-{-^@RdK}sua12 zo|a}nm3n|yUzC`8hUF@Wb#4w9(Mls!9KWyjV`NCpc&FHDhN9kaVXkBZ^!qENsz)!( z6~8`wuKl0uYFjxo>jK5f@Wr?xFTcqof&CBvcytxia z>a#zt($o8&T-J%^)1^_uWiuaoQ%^qre_vW1%;VRdO`pXu#KP+HpFZwBp>6)M3;b4; zM0iZ^+W_9>^mSD*L{EBWsBzZJIOCGsa{XrgD4N_{zTN*?Vn^F$hmhQR(URD1^eTLR z%Q*|fzIgRhUvky8r#c&A%Xa4478vbPN6CQ;ltlGdgaAvCOg+HZGc)KKnNc65^YGf9 z&ld@rG1t`%1_5%AB<<{8Kzw|fvpr)rbJvJaDqC2Bq+;7Ru-2qY-BSA_v1$gt23E`S z(|!W1VSv%1vQ;Oil8pS^(w0$urIN71WdVdyB=z$lqpfTADv%tBzs(0Tr^=Nw@)?EW)#ZtgZ3};B36WJ$lCvLXH%}kedtF)b=`rcvH zjJgGrGWT~l5Fb+(>dJ&e9Mpr*Rl8YOZb!R z8C-p#4m@~l|3WmVZsq&~RZ|)L(;}gwQiH5TMeSdwcHeWqNE7~boC+B_n5G2blaC#d znt3O+J{Y+BE9eTs&CR)gbGLg(^{EfWWWUB=ohJB7efY|&!PRHTf3?%@7db-cNmEl( zOVUpT6bwKfMPTtST)xJnNNLf~{h;@B;$I(pOZI#u`sDIopG#%Lp8Z!Bj*99N?cbO% z6;AJ_5c6ZAG$+#jYgg0{nt)O10`A-~PrR`wlh4QfR6ux)?{)k-I{c%C$ znh5gG3l|lyUb=YY!etRj$?Kw*u8K=s6&G@MwR@(msdV@NGjdlPR#CnVhIG_*R8)J& z`;m+AJ!Iny6_u;A%JnOH_u>h|^h4^sEH%ID+1{etL&a4>!&UPi74mXzG;8L+5IFPb ztpD+RoE2WJ@`2oY}BQ~s+J$l{-gVZVBDqUy6&A2v2`BE?3 z%ufh1;SS5^M@jq0vqSH*lc!VW+oHyn0uJJW?j<`RdmWi)3V*_n#Owdn<2W94;Xl01 z%Yv?MQ@H`oP7{clJcuPlemb1PeUjGm{SUR`FQ0+DjJMh5*Jjnowx3xpC*6(`WA1HJP1K&EurYPa0 zTQT=o#dN;Z*0({^a&o3KnR~x-lu$yU^AC~If)hvmZgur-kb)woK{;U4pKBh}4)v2z zfo-eEWZZFTf%vywYrPvf)9pOGvSY8Tf8^V6?>E?713)?)7G}Zuige9{P{6XAg7+Rg z2h6E7Ihv=M`TOb+J1qKO&xwXJaMOi^3mA9Bw^jk?J>O;UQgHSVwpRw=e2aC0q zrds)nNBpwPfIA+9rxfgf7`g!uUu129p= z>^l_r46>s+2wHL*Ut5w3^=0)+4F1fDj2-Js8Ec3AqLwdcZzcg?kjNSQ_JT=birk;Nn=`LX3~Bwm_Ew-odEOK&jp-zik-F``iEL^rfR3 znNqC0?7T(uVjuO9{K5*L+fSiO6pTVb{Qf|}BR9pDMAt&~A!3goa&(*;m)COdv+{&x$Ppcpd z(s%ro1T|^q3ReaYeEUy-+7kPiBx1#lE;kgK;7#Yyg8d9 zu)SQfkls8~p~|pn;se*2wRcN%E~|I#TO-ArlpqxaBjg7hOq!kk{N@OL!w*?zwejIL zs#_Lc`9@Guq2Wf}%mYR-+0&1)NCX2X2TE;W7r>zv5rElyoaQMMLsDZ+aP51^9lLEOPs7vDst5COfltXR%ae8txJayBWV{ z`WqMl@sggCa}e;-3?7VD0*_LT;p~KmY9+kLg_ElK89Fy0ipT!QFPv1Wd=t(udrR#ahowvRk;c%g9KWu=qlFcJ>sd2206wp>FA z^RV!diDe+p$Cx~{SCLQeG%GL+`JFP}aa33Y??u|k-^D#M zAuD^C%s3F^!NU)?bGlq1=um$N8a1&G-m?{o-S1$z?p4|N&C-s5ZB#MdGzUe-ROqKs zK>M9sne~6pM#XI;^cZFlUxaNFrle6qsSnYq65F$DSrApqeRMU-?wn?m2v?wR{L|&Z z++XJDoGQ<3(y!z#`8?`i)ZA7tS9(ZSr|K5jecz~@h(!2Ji)1NehRp|kT0Pt+>QyP3 ztCOl4Nm7)G#+(0qUuc=IwDU$W?)8-LK&F0H3s*&~xKpg$6QHpcws?AYbRA$ULo;9A zC+#tz{Gok&r=NY?y_uF|i6flscg4ER~9&pY5RK$!HpBY}(oc1xX%&8LATrG|x_LPPnUyT?!db(wn{NbW8S&T z(GSa2UQvBQ@CB&~jl{;sF}0^AffV26G`^kGp<89bsO1oNVpS2-#2SW5Mu=k-A#0hQ zM~%V_fOeRRUrjo=z#e_N5M?f`JGVL)WW+FrTO%RaR98YQJoMojWk}}ad5;)uH^mKtv^0lc|AqqChh1zGVrZM5C+jW>U*dr*7-+E$ED42e0%b0 zUhjM7tEPtSO1P#EdukD(kcFx#XE6CaJ{3ZAF(b=7y@r=@_5Ls^h=AED$>XZQ7i_tyEd3{T+lKL_Fd(-v1sp^0s zbHhxtR&%$oS%Qzw?hMZ4!hSpbPEI#mKCg%SSD@d_Q*v9&G#E*=O=H|oqr&rp=Jxin z?(*)Uy^0L^eqZie9Pf@iDtn7|2g2Hwq+%apIp!WnY>^x=auRn`l%l$uJ^V`bg^OlC zDO!Dhd2yrvt#F%<$r0S~)EpxmE|f=$t=moG$)8L7hPm;lW|d8Siymn_csh1-Z#eco z5(zp*t0b&7S5?M2USr?qx!3jj!nzDA>M??wrA|M- zV-0zn(pub?uM3vQe+sLrU1p~nQaiT0iFD8X_x&yheab^u*pxf{r%msF-faG>J?hQ9 zb+7>}m|TX%_j<%B;bir&lav0GTb2pZ;i%>8CLzOIv*`;wpF1mXy)+!+FZhmvw%@A) z>Eg6~h8B1n)0n>3E7;lo%T4%y{doR9jsBoT&}LhAXN_{LXM2!Y#v`H5pc*rCXWgG9 z<150u1m8~;uY0oy+4xgUOK<+C0w9te;6X;&l-NTMpPGfpFT{H}j8v5BWgA^= z?E7f|Pu~QPh9Uq);)z`aQbYp?Fm0A58tC|0%*H$NO(i3{CK`k$H5` zuM{ih)=N*CBx+W1^3w0&edaIzAEFJR&OAL_ny-`4;edZ|PSNe6yI)#k9SFcp{W!<07YxV6N4ao^xL zodeH4m(R&xXOS;f&DQ#?oH2TgY9ur}$Q@EXt$|G9u{?7VF=$m^djcEJmyo~2G&bOvd zN#>!$F~5(>VPKbYp6ZPxL5%ITo%)s_m-is>X?%9=p92q%P_*B6{hn^eOI<4+#!yh%W~DlhVM1pUM*RNqL!||J zAGOa+c^tNQVqSUB_0@sOhiqo@^AJ1tC177L%}=2J#keW~o%e9S$vi0s6yC7eta%08 zjz#c${Q=^2ZZ3qEh=8R5uinQu8?2o!pkre?9hGYS<53$+21PNG{pW1fATeRM>eDY< za|3dnhWRHx9*OEdY8|A8DatFgt!3F&bFNi+nwUANbJcLCcBiOt>SyX*l-Fk7nhnw$ z&4LY1?Al>wu?yY&`kB^c7tXuf$Tcg?r*Dv>tXp-vl{oe1V!I3Zue)O=#sb!j1@jPL z93orQ7+KCw^d@%L6mpqj6rf;5_mgHriY&N$*ju1JYL1umOaWR`ke8Sdi(Ej-#!gR$ zZYl_&Y)2p;GKND_-ZND5g6svTI=jrc5gQ1aeV>(=mvXW3a|{^!nDrkymJAKd4;_6U zMn;5rEpwb;HY)vLJ88SKfu9Ecf2gTjW$)?pMe|;jzt0=Wm;2dql>`nTB5DnEzXz1Q z*-(ky)J&A&jWY943Eudn&yxcTQH@;i7SOGNkng9LEmK4)fqT*t*j=NvGwVN@CNLas zp0df35%@4Gud|1t7$p;nGA109K-Ff(f6(a0uPS9Sxb{shm%AF)$5Zj12VcLWRtw3Wi}3P+7c&hMG$C^=V1!jqbjD zuqSK=!nL)9W;gvM^yYHS&RkE1mH#uH;v1%fq7|#5lDoHQ4wkP-02?mlSZ?-E3L~L{ zLU1qJ+4728al8sOKx?i3+>LXt&AsipBgXW(?3(sjpRm+U99u9K#;mwoxC# zhbO??#PaK{GdeM|RYsp~1>qM`)=sQrq=&*&!95Wgwn}fxvwR+b7p6eRr1W8Ju;{oYWSRjJkQpe-&Va5t3}!pr z)|(Byh8u!%Z&XtT00(IAEJWn+P++FocYX+JFC6>^Adbe1$l)cV+@H#$eB{fjdZ{_x zi(1DNM$n!3*>w|gmnHUP*>};Wp_zcIXb#EumMzV27x=b}0!KJn=6XS3`kp6o1b5Lq zkAj`8<>PaZ+MzKQl9spU(M}iUeDUP0ogp!swx5AVOuLt;3o-820NZd=9ry#D&>K;t z{%5cpE5!@z#5i_*;1Q`0VV9_8Md*7;<-BSVHcS~5Zq&BBX??PBRBx5LE>n0Iu{2IB z!4;FTIc96Fxt40q>gjps0EaJ^KS%a3t7-(F&8Bz6`I~iHAJ^sA_I<$-wc9JUm!GJS z(GEwUzS}vs-!?l9(U4Ag7%pn~_^sv%wo?=a9DV;7dR6zj+ZXkxM5P%MexKZBR@Ub# zn3)xi#6hoM{81E6z6?Uzxj7s`IXk(9d!o(o1`1@iukXIKZswGz)DxtJ=jG*PKfXF8 z`rWyF#6B&`2o?UweJC<3$-I)(y?wNaa0$Pbq5Sr&i1++J&Ca!NS(+w|F{0`8=a=QE zvTljPJ+Y}8B_s&+crkP7t=f|A{6oX9?YU6fPgngX|DKQBoBq=cp}|V?CLcNVWsxF^ zz0dr>#oB2c>s7MhBa6NsHG@q~6r`j!JpY5Adiyyc4Us8Kz^bTl5zwma7kMAW_>L2TiX|hQ{JXWr@HN%h2Jm6#8jZj8Ff8MIlD=(S%X|iH)`gSTm8jgg|o0q zQCI#$&bVuzO_6ZuFX<_64GGfYEC$y|pH1@+Lsl#0OB@@iPZf+97IDYtt4nLOFlNg- z0W<5hev5sPzaXzQ+Q4du>q5DMUvfO%5Hr;bm$1u^9_d#P>iMxIav3urc_ZQPucVE% zSQlx!{OGK3+A$#1pOndq^YU7zb$Qg^cL?1O%sMRL*I$YqnPctx?D_;wb(t!4A0Of1 zpY14<⁢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

WZ%e5#-&N-spOYWahmKUQ5(kYn4 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�j)AJ1H+jC!lpu3-(p!(^hJXdoJe9 zKE14v$;$@o!loVmCq3$2!K1oy01etv*@v*tZ2jBAX0kO9`DwbqgKyKZ$&18vz@2Z? z+@k&?A95?#_%TQZ`>NvMUKva-sNn*qoPqgw1f@pMm42R3&$62 zj`ci6kxiBx{rYYRV7>|eQ(B;@V|AlS{z|gq$9p&(T9JMLdJvsax5- zuXXM}ioV0>MCG_@p-ye~e%3jRbE%1{V`J2Tiu|C|-b+$`b%Ul%FAC0FDWe#i4818-SmT=_e1SdbNIB%|6+~ni3}o+ zbw>GnxahHaaSL!} zc+GD#S}pJpy=mK!?OTFM$vUu>{Tt#1ZDH2hAf{L3XhOBRGr;jc%b zA`5lM39`&EfSy=aCHg`TTq?1aU$%U?oQYFq??LFo{ACbmbJTn26Ho?gJ?6KpAY2Lu z!i?);qAQj1m9_-1gNC`c7~9shiAwxG{;pKgQbf@^nHxlI9`qK#swy4r34N$6wD9?B z>D4Q=4?X>_5&q|);DB=IoYJfQu+KCW0Pt6w@Py|EJabI+-grPw34N*$gK(S>{ax%z z+5VY2lWdS|p>pi;R1z!_J(}>NvG?0>9_mzn-9$k^llAR)W**k^IZ^GPOy|Ki+?UgZ z!_%qx?BbV0^h}k;LHv^yMJkmSTN(}|)6hZC+h==|>k*F&U^d4NJ7k4w#A9q-eFE)GZa5j(6-J>%l7F+rsZ;Gf(&GsIY|c3_idCLIPOPdTjE<# zV&mIEB-S+>Vn7xzMUh69m77T_=SV2y+!I={a}f4kTxwOUDSAhsWR1R2S!v%_cny2j zmtE<_=BM}mAY5kBx7^($QoD+LlEdyFSZ7!&`x$Ozr#eHVM>Py?hz7;vs4HzX{Ql;S z0`N0(9a+l6$qI;Gm{qENF4AGi7f0d@yq4N;dUKLIdPjSXD3i({aai-t5rkgxqE71vUE zElcjF04gDOhsf0&ysT3d?BB8+pMXEJscu$|UBdQU)5r+i54M_3SRx*6E3aiJ8|n_0 zdjzRd2JLfK_>_u~e&ZWgsx@}IN2}b*p7c7fj4&YQydmBVitR!=8s|x+ymf>{4d+Wb z9I;Cs(V~azg||{aLz&244*MFGofi@)XUNKjo|A*l70U$V9kwktu^dV}J+u(_j_8=+~`h?Xkg-{%IM3TpZn_iuESy(1Z&(9ut4>YbeaN zUsk$fD)S8zjTi-X{GEN>@`G~GQ(FHbT#5UxG&-f?+sGH^|N6iEH%O@ukCuu% z7w*!Fb(KPZ7|_nVypXTu7x^;(>0cS9n9mjJ!#s{BcmDb@9GuKEE||aH1qX-BAIp3C z>!F78f2$oC_Wt28|NetYXCQzu|3?K1UX4lE3RH~rF~96z9|Omq`#-DD|MgCPeE=Ms z|HqH;=MN?;V3W?@Ik&(rWO3E-e-z7YWdi8#gJPi1kqffmOh9S<=c|<#;j$K`-qVMc zh%JMB0fm+ku1a^2>|A@C1(XEB*vo66A4e(spHFQ)3N^2d?jbLbijNC$uHLq)NQF@q zpD+c-_D};B5;Nfh|N9r9161S~U&+YDDqbClz)eG`Y<;?*q(^uH z_IFWeO$?)3iqi46Lk*hm>^dM&tjmyQV-qi%(iv<0Tp9iMG7bWo8QQx0r~I9MKg4x7 zsdgq<%?Ov#7aVN9PjQ17GQ>XIyNy-jeo^*(`O-s+`TUS@($L? z2AeVv7M(v;i(G|7;VvBbcoUu3qoDc0`b>Te;ZW`?#7(hZfONvP}rmqAsoA6 zj8&}y*EOknZt)@QXIH<{!g#oA`W6lst%V6+8{Kba+I^DJ#MtP{4A{KZ*W$ z40M{ZC&#zm8~RpMz|L=T8~3pQ$r>^B-uuj5B@EHvZMsi)&olPi|M`1ib`^&35 z*%zH*EBYVY9A}6<6#(0$ntw63_z~ptOWrPiaN%QOAsHLM&H}^huu`w{x8i5X*#7oL zbD7@y!b%MR&Ndlb6Ouu@7s0km2C1n^QL6o6z{)SYkiu<0Hll!m z7sg@v)o@&geVJ~Jv^%bqV#bjtl!r^$(tHyg*2A2WYl44~#uEBPG%;?5W8SUAx>#gm z221gLw>YakimC?R?+U9em$|HrL~Hv)J}ifx6&Xj%UX0~!qwatLEN>s8N{$hsgt`(e7`Rs@l~uQ0_#~-+Ib9vh=vz~bsk|)a%tAhC;S(Pur<{1*PdRAtmj!E zZ}@>C>8*woOVk-8&_h<(0-TyvW6@|3_D?%jx3L0jCN3DaCK%s^?E;9Z9!2Po!^>KC zs$ln4&JPrt=94Xec+!sET0>ZM%`0{e&aBO1a6TCHZNl@h*n&XBdoW9t$r*h9X6e3e zu^A@K*V!l^pexbvDsQ zt!fe%wnxfti2`liF1t%|-Yx;JqelVD^JXm**MWw(~4846k&;e})`kIkZTNvmi5zl|lsI0zThQsp_c|RDNrXcXSVU-N zZQ%Jvh0mt)gX$W02#3A)tuNWspP^D5EE;g>kw;8e0p+z--Wj?Mzo(O9dSfsN&NZg; zgPUH=1#BgN`*EV638zad%@{_M@Iu?JIH4bEO!L6cI{m3Lk8e{Sa(r9S2@gTN_G0F; z#is9dUXE64Clg+oKDL6%)$&OqqlZ9KHxJ|K3qI6~RHR0fyv9~?%Cm5~aB2S9D~+~La%2+yyYz)B*p#ke_Co~=9zXH^p3KjTz+rMcPt$~1*h1vTob zs~eG){9$20t#)<;1D8q+B(+*Ez(CtrA1IcQ#PVG9GIgg-|1c z*$9M*5uc80ew~MiT(5L}{UH8E>aj%&Ow0hxSVf_y~rP(u;iTLHcvo_3JPG zkhN2v`}H=QYP#eq4^Gkf?7o((b$FHQqM4U@mFUuRpsd(4i0h_aG=Fp~R2VW|h;7z- zy_~c&Zor1w(QvW>MNp-64srOo3^jWJwsc3vQ)nZnvii3hGyR1x?zNYhf{XcvgvetNW@I$o#idt4x0K_ z!-H@o4W~zqK_2Nl{(?{EEI>c|%IB%Qq<;O@&+^j=_%2O%c+K26P>%<=;P3KC6m6^c zm^TlW1)yU4>Gru&7tmdIoy~Ojivr#jS!iq-n_-E%)KdM}-vx5pyYzdxa;#!yHH2@b zaSi@Bn~!_Qd+A%+`WRBv%Ic*L-dQ)aF_Zl9>3kzd2Ms4Y5_D6kOKL3{>r~{XAUH8- z5Z@9RZ!L#%CxsTXzfinuCpvS>ZMUechVS;QzVA%dn zL2#N6(JNS)97fR|jAE{mB;twa~n~x#BC- zNxhW^-;|!(uU-z`2{(A9bKG~pt}f1d9(EU2W={A_MWqtqNSM{ROj@PP3wjruq_v?S#a$N@sR{{Qauf;M{NC$7=@gU2}AIl+VGP z`Fl-jm-8=4lP?M9lLQZf>*@K5inswob)i*D9mj17lQE7Vfj2F^IxseRytk}q;>&S# z>V)Rp$%*~g8W6vUE4xXv%U@t^8;s8xs#j6h&WO4~xSp7cOSo6gu70)VnkvW0<|8}> zP4lajWDaRvqwO@=U^(;%MN&dby;SNVaXCZsOOMO=!dPtu_1J)VL{ylwBDb8A6W@ zJYGvyJvWkJ6H@zI>CO|J8TPyj$>q4mn{kCUJ=2`MjZS9|6zUPpK~LC~&iA&-z^hgm z#iG=^$7Y-%!1ARam+y~1qVUeGz4Z@w|86##GuG1>8kLIc$>1>WeTa#xC%-5vAhQv? zvQD{B6x9(X{OYRF(m3Q-lvqJQ$1w{Rc_&?P-4}{U&((zbu(}aSi?;(=TU?k*zv&|p ze}Hc==|@-alZlI$uD?&?IEERd+z*`J_U9vQO?J`{o`yX=;}7M87gfpt9m}aROzWkS zk3ysS6weGs%K0)uzU<`2ogL(0B0PwgE*ak3ETK6FhrrpU*sUwt}bdE1c zQ}^YynVl!MTmgs6DSUpRsVoG4+Ae&cvg5XB$=;cuFUTlc20*qEZe~kbHkaGi-3Ecf z>#$#oR*SQfu)0)M_1Vv^Gbf`2jY>OSj-xWREWmeGFD8NA;--ozW-hV5Q8l$X z*XGHK&9}U@d%!+U&dYIw_ThNInRwj?m-`REgk4gB*f)CCgGD;8$y)bg@N&++iGs^I z*HTXjy=Hj`z|i9cG(D5gP0=A5Mu52(8rkXfHdq@PjTW@1<<}g*n2X?F;VTbfv_*Hm zDmDG=?7;HA6>{P?yjI+y;YRqKSbQeOQ7|o*CmU6MyIhX201kqzXxhF)hSja_>rX zjBJ8C)sipIm(1W)({Cy)6>Z;mrT2=>YTrP)C;5Yxn6L#P^rUXAe42A&md=nw;*Z>k zJN0wWUxY*8!9HmYv?3>ZZfD|G+xW*IJ>6*{K`^z?vU>+jQq`z!zl@6OZz-G%7W->inytEj~9h*Zd#X%0*t_wB#jVG+V zNJcwBfM2#|*qIiqK4pUoi7KV(PV3G20fN#HLJZB3XHraddlOPcJ;N+9KsQ_c3v{Zr_{O(=blC}~IMeZp_9Kq7DMOA#*7LW?-{4I_|TM1%z;+nSDRmrQO~ z4Q7L5M)GxgEtK>{mn5ONKI_GbzaJ@vb*+KcBYocwZMst(k=nHhB>Vop^-zM*5gV=y zB}#$d;;1pL%sMl^I)^?|@akAyM!<^kv`-k@Fz_yH!Yb0-q=y7r{HXxeau?dz$jdR2 z4FKtnjhr#`#vjNgIQMuKsPxYy7Cxr0s&JpHZ+sV!d+=jm=~tI-p<V@5EadxF+DI?HEH3&E%;N3`a8(DROdB1SAT4K|S`crXh%;*X4T$f_#;h83;2DB<> zdf+9aEpphg$ z#boGK47Mwrv1oY3c03MR&xWmjl(`g~NqW>1VZ!~Fx=-8_w!_v$zx=a~3-}mSf5Pzh zuD(%C&AlON7)HHebVzHe?7OX3j<158cz@DVNp+5a_iZ`B_(+ksX?Op&mf_z8;~Zw0 z!{X$atDZ)x-}3yLHmpQirMUL4dM!EJ9UY+E@_s!$u>N|uxap`{k1lY#Us zkHo_adk_j=GUaC?ZM_5W!MWGYClgmdX0GBEufumOok+fnE?3xj zEz2`|Sudy>tUEx+n9yoP0ZoByLKkvp!2VZKDfSgM3(j`CVl4g>Fn0E-+6!d76vj8s zZR9|A!UA*%;xK)>NwptZTEl8FD#;0`%5ELDkj{L|?zXpso;Neie*SzsCq%8>B7!sS zk0Matgh(@K_a_yGDwW=uc-l#t5xBqFYQaD^d}m;4BQ@8-NLbW!PoPJ}rF&bhE^L5V zTLlm@WUsUn|Ab~-<0Egyi}Ox%Bt7=Wt@6?xY%6zj>c0P|?y?3DkUwFk_|}rM*Iu@m zvNcTRh=rcVkr=6_VV^?)HIY2DXtU0?STXp3qXA}*T{D3jrhWuEsxz|gKVJ39xqka} zc)ko_1|Vg~af4(I6@alPJg8KC-)_EXVy@5Z%R9Mshw-Sp1V0}#b?VqfBJEqDVB75~ zs&^^0TW$h>!DUosqhF8u3Wz=C6wdt78seHetI2kfF4)(db9JI6HBgmergzsQV1*Bu z`asU21+aMLg2D3I5YKyJXeGlBGX`bY1s1rf-Wfg%$wv+BsYk-b$md}+E@H*X-Ao7+ zY$JGc%UhE4|B5_l6~lZ+2?etd`4_P?JIW?4efBuaXwGMPU%>s#*^|Vgf5j`D?L|Nl zNUQA{PLuhsm)+P}|L9&NRZ(Z<6kYJ?f8mfYJm8+C^7i$Fo|{$Jfw0gjI%Uqkzedch zEv9sI8q$9Qb#N+T{?Fh=#c4ROSpJdE!1K#QcagfR0Fqn*gsuIb!keEv8d{P6Dm&s| z04UvNKE(gVUpyNV4v7!QG2aMWr15wr-B|@uz#I!~JDW2Lnw8&vWS~m^oMox&MF~OHnSsD!k8ygy?m>TYrE8t3az6 z#*1|uGyN!qqyMekZ~_+~i$8zfG=eqLiMKmHp)iLwU3QuFEpMUT{`rR*ss5bthe5EL z6~MxS`3FQ#5iV z1FJilQq<${@_IP_nqjshLa4=ov9!Dw+B8PI*XH!{fu)KB+KShq3+9tYLB7GsoCOUD z`Hj_l$+aIXjj+>IAl#`Dfhqu6^5=u~{*5@wdWT#mMt>L}YBdi`*lc)2$TizhrUE$!5b zP*YiV={piUNdnjuk`Ea12xcsAg9Uhv3Wk{e3{LHh|jcW-3;(3xRBSxZ$m5(?8@ken;A`RJdCq zjmS*bh=6qh95y0FHL6SM0g#n%4Iy<5R!`2YsXa`}ePZ4Ex+Ey7vM5XKZSDtwydFW3 zL-}*l$qdz!T}{DZk%c16IVN@?21ZGK2OS?8S)@0dD6g>A@_yShb??tTk*1BHP?vog z^ei$OpA^K+<(3u1&EEVri_k>iq-wV^9-Z*u;g^+_1ax?12nR?qw-fxPq((0MMVSo$ zo5}DT+?@8PKUvuTJ&5LTK1xxLJH?rt@=olXG<>F`{f8dWDBw;{C%8--B(%KJTGN!Cl4z^S)fMEJaK^F zM8qEu@4ETBfmIjC?s}Xpqa7Xqc9?KL-n$&l=4nKVFClN}bMhuC9T4YkSf?((c4L%S z{So9w_GR}CZL&z#!C{d7)>JqWA?s0C^2ML80Sw7ev@cQ;ar{dchBZE23&HAMj-G^$ z=QJE0l}OIMsRnsvT7zLznd4%Zf>2sffV>SSNu_O?@^44eAb;?_jMu=4KM^wt@T^O5f%z5)-U-W0kWHD>!z_5k1$)~RU3j2&kvZW|d! zx>>174zsN6`U>`-2H5yEesa4hu48xK0Uq7yt#_U~or_FT(~%8zZvn*BB*RmERt5xE zjj&^_{|(FBS=Rg)mN{AFMQ*o*7=tHkCcQYKw<;}>%enP>lN2rUx_lHw)ijO*lxxvu ziRk3MaOwv5ulXG-OAqvc zW^UXQWv6(YA1|GFFD`^i*t<6g%*1jCHjsXPeZS?06TC`>kMmxchZ(i?0C+p^6Sj3j z-JSV<@-{_7qRD5;ce3UO>R>xZWiPP%AHF2-J*N@oJ>3V6?&tl)v7c*~etBAtphOK( zW)|Rmh~&MUE3F~AxRdPx<6AjwO{eT!yY0khVMQZh>UVLyjK#-jD?dq1jVrUwYq?KA z7a?W}dPzpxvzKZTp%XeBW`e0lz0NEWWLA#e3xJW8Vu)o}GwC1eDamKzkp*E@VWk?u z6yKFL?B^T0oc+N5v)9Vk4?%XutrSw!2GR?Dl;7|?W7T{VX~Lua1~b)(e}b7$LsLuT z#j~>?gm0e__?l#!g+3kh30^R3v$4aaA&yC__xqU@~ z)}Ndf2mQJiu;SA2_@((ZdS>Pfa#PF`UOsT{vEH8mZ`bJ}uNU)|Q^Qv{H3Z>;F~7iO zg}KThW_z;`ki2|Ye7)_(RI|*`+X;`W1nYrPC5gYDe3Zpgnl?6;dVe48J%}({)+r)F zrQy7nl4R}+RV(PvY>zKa@P7EKPc%IbGgwcuvJUPSv%MO!Fn6dOuA%F3TzbQ2i-|Yk zSc%sF;DYKwy{y8#mv`3+)Qw%S=CEo^21UtIyqZD;>&#bBZ*~vlP_yn0J+vTGm>saaR)1NCoRG3A-*4 zj*h+?L8^{!yXX2+{lrOf40n1#go35NAt;1jzEx7zDjru1>-Axo>9F!#NxdMCov~<+ z2$`jQt;pU$apL-Ax9#>}X>%>E`RH{STzat7rkOW+-GP>%`$KJEvUg%i0lt~2z}{h_ z>&~>RNOf*YTubuGW0{wZkA}LV{(Vo0QzInSM|fnJ+C5`jtp{MkEbb~5YG0;L)N@>` z_-A!}Edl2a&*nkEO-iJCs3$#-U@r?XN;iObbou+PNwIxrtyZ8KotWO~zN{}_P}^!3 zTRPGncpW|0!q%f{3H=ESKQarutSx{NEUHNaaF$%yw~14iQ_P7tzKkMXfPG)18*dvj!F0t@jzSCC@O{GwNUOho1w}f&fQKw z1Ib>wK2&Qxf&~?iJD&njCE4j;Q02uC%y@ZXw$aYJ%Qv{R=@25!ClzQE*G^Euz65mMH3OrO=w>r7wFTHCZ*J-aTf!OAAAbx4_@lU>QT>ejQ+voV>Y_;{a7 zgXT|wl2zn!RG^#*)Kn9%Y`{Ym#u=p}5cMvABP^vBe;mKx%+Dw4~ zQ!2TUxSq#<#>zku;}bOV!ezzcgQaR=h&`uGX&}b8(EZ`L^Yns1gjoQssqQ87)!=xB zo^I`twMiXW?MOQo!9=rh*Rzs`fr8piko=AgZqvu5*`G~%!re+ui8hRc_Lq-iJeK+V zWBqm5B&d6odL?aa{gO`k^?yTZ=8^$tq029*mzyJ-STTYZe!vVp@a8-tlBUTKOj|CmWnSEyG1Yv_ zl6{^Z-&MSX0&xpz#)NKSbu3r4ivmAEmFO-h8=YlJfjY&^S1Qmv73+WeszW{oUZGV6LR|FP`8|by5)3&0|(4#w-+iz+W+%@I|E|ofg%z4 zW!p{>D7G^yuA;HZxh)yp=8bykb$u|AC9eF}u?H81=xq2yGtvG7oG1^{XSxse($Oxu zzkhc4?ZHg0jX`*8UVQbwz1>ya~8@yo`yBbGUb?k&{} zTU8F)B`+N(?QGP-*G&1f3tf>LYBQPL{!!do`t3wuIMlMhhjTL3mCb6>`eAiTI_p~NS zmEF+!a(vS|dnsZ;k#^!RBm@kSiE_-LQF4zBELy#H6=mHchl$Xl3XJa2 z!bIaL=a`$s4YM6+Jk+ip&TWt~ zd2sIND_%P8CA6Q%KQfRp{8;0O^4Nqq=cR{a%bwNR;nb$uoWzm62e~D!mj;)Rt)j&7 zAue!W;hxW+<74Y|_SGJ76LGKNWUI(I)h@xoIpSqG-=*1*D0`mz<=)&@_LcgDHo5a-YbMJR>A|sDlD5Ot%=jQ)HhoNNZpFvWd zPA5(cmA`*-5+3>)5i)=N6Dvwa$i#~Sbi4o@K@0zCR4P9FpI?*l3D2=b#`xxMJt@^f z0zR7m{P?dicec=-o%lb4ivCC zCtco~4_+=7P{!SnO4#P@4L7WrWn$moKTXO<65pHq|-HmYzNOSa?=!5^d75%V3rvHWwR(q1!5zl z2pRgOcQFm9OGWu`pbY+QX1PgVjX=X(xKIQXe83WX3G~<+fyT6fR8h+*OB>&j6=c$| zE9z}q1;C9zkt?k+Zy7X%jlfD;0G1+K#+)zD<{j~(V7040(Y}&IYJhcU;RlHbDQ`z3 zN+3D|{X}wX{1Zg^SEG6urHHA?&gq;1)c=gfysZ-;0p0bT0N&?xbpFCX{ii;y0f`T@ zA)#|+Q=|6R$A(KYQxX|{-ar4{&b%{3&)CYhO3%>YKIF7(qj*#M&1A<3@L$@fNl%DC zuNi)1lpQurnzF(}_$2*Ei?tbySaX9-M!VJ@61`iy9F1^MHF+pNbHm2zfZ(x3nx27q z@{$(>3|c_8;0>Sb`{rAD3v9~$wN1t*aU90fV4;_t3Wr>( zhfYcnu%&|UXeM5aK!%oa@S4rfK?b3%VClCb-3)#MLcEP&f4Pp5jR2a~UcoWTp;=yv zA6c7CySEI}U~8n$;IbCWoX5;Ie1KqR1jmRf7|_OTdIQtM_rS-AZ{M;R1_$!S@6%kZMuX*eP-y*qlX~KyW7&F zu%Gbd-|I$TzvQdme}w-H=_@&eLqYM~!C*-G8X;~UYZn7Lp>FfodFZuY8C_5V;StOs zXo!YjGF^ z8UO>c2O^1WWf}0Eybx5!o;_*Zob<@3Pq>zno7mja_FE(kTrm;4`LDGuTrfBaX9OB__0Cq zB&bU{twy+!QPi?Fk92jkE|KzXcALy=zV1-<4sR>V#H!!TFwmBbpneqDKq~zYsnh|M zf#y{szIV5bJ@3XBFC7(-$IEFBr!;w*zibEb>dP42e(ha4EyNwQ=Ft|oC9okipfKSP zaB7B;K*H9U9UN3|GW%JIwu0+F7ZwsK4;s6Cpc}pxGOjo^&Rh12X|I*q``pqoS%W;! zt{LpQsA{B_c(@S8WN2nkyJbz;%?;GC;~UDgM#h!`CIopdl1fFJH*rmmu)Sbizzd;# z@j=8=Eha{}EzWS$b?=j+?!$%TQ6nK*@t{$Bib{mpMr%l7sSBDW&v+fo z48QRWWJU#m`=-k@hjHCsFcP|tSDe2KFUn$qSvwFpWgGTFfoeSSX0Lid%@^L-p8mPdG0)V zS+NWsvFLAfF(6lGT!VWdRZo~irNI$#0HgArrD*%xob zx%+2)4aMsmhC_AsF_fp5;X>}q8Gy^gF{jo%$O5NXt;TfaM@eY9l*(|E-a3B8roR)6 zueKTmV)e>*--y|DeVxb7kFG9Q7ELMIooP42wY-^NeoEiYkYdwaOt_LiwUzw7Xlk+5 zxvJTjy$&KtFNJs&iXa3N8{;AG3_xf%&fD`zLp(*?SLu>eXs+kOsWcBfCQ2j= zM?NW>v;@`q&d~Jxu``Kh=WI*-Y+Sbc62Reo1qSs!7SQ zko)yIS-VJ{7zLwUycxF5Dtzqn?Gr)_1-$XB(ds?(dd953>KKdmO+uEc=BK-^bMY#8U9`Q@I2qzRAKsx$}E94X>hUCeK9nB zp>^iqFjOuY^gmid1;3U1rOsZ$tVzNaH& z_w<)1G7lw3=`IW^zzgCea1PRTMORAbW2{R?>lU1iD*Van5<-`=W<3#2&w?JgVzJ7c z)c*J#p{kKqbGTk+Vm4ObKIO6gRe0QeJ(iOTS})16Yw7k+d(AZ0R#HP;x)4?3Vv`F&Xq^u3WdvF%)q{b7?`qbG^w$d3z0qk= z-%LNXYgS*~Vq$bvw9f%T=o*0*3$~8n;Vykd@gA&uN>L5#J3n?EE_PLQf1+Z}1CviJ zl~1_@otVQPP3|>3v>%==&#_WHY>tEVhtayXtsV?&JUoN+Mhw zJz}KCq%!)0ki|*h%B-e03%{oDd(rCmr@6f>69dHZHi$$l=7x^nx0!U~*?R=f!FZKO zy#CNgP{C^2(uEL%$h?R3Hd>uWRf%WQscMvgi&cbJw~+{5+J3!t_CDpi=Z5v?f(8lv z7xdHBbo!kj5lX(@)@R=C%n2(Wja#iG{+;Xl)XJu;jjd*OCu^)=<;cI~_`!~yx>{YCa!Js+IVf-K>3FASRX_&qVTN5f4-?GG+njiSNQ zm(9g5mU@cgC*hi(5jC%80cY(lCn!>|2f8nbG`vQ^>{E))wt=7&K+*k*^(WyG?^3T} zlzpFeN{Yg(wS|p@Z@ryTvto!5Y?V;B?p%tuZ_!|Op?+4odt}a797^$W_qUqj72q`& zBMX*gHbxm+&Vj1F>%o!wAbP=U*3`5eKh74qk2GIRT6QuzWVst1<%#vpdieW1kNJa@ zNYkw@?e6K`X9Pn0N@;d5t<}hH+VVaRUppcD-m~#0(f&BEZk6V7W?sEHo%B40d9w)f zilCXn6=OIQFlnsLPZ=~UPnz_fCiR#0(P=Jkp3&-@NFg~*P6lI3$k8mIs%_HmXY=!Sf~7P?J_C6?~lYEK+_j3 z9Ln|!jFt818iUjMj#g4Guc$>Ty@mCo6kWh>N*qqV#gHLb`#i_1%N+dLpUz+R&PX0O z@|fQYs?~{xEm+M%m))WvDc^1&e(APNRF z@4a8>%knf*3YEL1c`co_k~MAT-J8cjbIJ!Vg2WVLwHQU zk5eRj_8%|wrytEQKZ2L6E7y|k8tM7#toFC-8ivo>hEGkLe%;+v)Bwd&S7zlh^*LE- z4A5ryK)#mRn#7y+(@AA7{@z}9UpC@X>JmK4ALSb?Vm3dkGH{8N| zkDe9Dl2j>s0(Gr zd~vUYfU11^@nXe4V6_t{SrVnZAeR&CCd!eAVo_kO534lC+}6LpON_>}o)7epF8_T1 z$IlM{|JckA`VHh%L1vbJtAWhpA=@`S6~HML1rR{}6GPJ3|F6dbfBpXfRs>)5zchUw zi-$zo=TjiwsJJ+bM$kZyhYc9n!qSBdglh6@&JYPC(gFsLd~lM5gL;w74~zZwBm16L za0|Wt{^uK_A&=0G3#z|VY-VK{d|(WI0Zl<9RO;biC;Yey?h;6I$vy>a9Z_=dkG=je zqDN8B|9I$6cr@M{umhb}FuoY(=bRMazDG=h&fK^K|$b z%FxP;IE-m%=r&zZf5jxEfT0oDb@Jmt83bb0i&!dRmNxGXXk&G=`K*$&u@2K4X-&vO zc*fz&g)`o(x4UJNMpmFZM_|VL9iUJaG~n`Cb#Q9Fd?EtmyiJ+^$V$j0A5l24g0x#8 z9}n}$5>%3hKK*A4{-00fc2B?Qvw0ZvP|$lCroK>6f41qA9+*P13Y00b>3u>z#;vx< z@wl>f>y`Lrl)Mvu>iYNw3=9!R5z(_);oA_eGlFE{aVMvVckFYFD{K#4-H-=mg{T01 z>t1)$8j{T330DZ&Isg6iAFb#f`|?j8^0C)!NihJaPx=H55lx9_+-7cY95jY;6)H`! zvJ)ni$j{Wh=h9}3!T4V>28~d|#4xVAO!joDM4Wz$3K&}m!bt&FqMOj(xj@_#KY>@( z^osAd=b8QIng(wP==Fe3DI9@N2spsXtpFgV3cwp<-a)p-5R}X$+HQDe0as%_3h_3l z;4vh?(2zi;olwXW))(AS2Pse^0Dsqz(bojf%YKX8xBK`Uv!886kl?@B*LS3?48ug% zcL;ncBoCt$#|3?uYtn$?M#}6P&M6GNGG&a1AuV0_Bwqy+B?U8#C-#vid{rb;=u(N1 z5^b5$^g+UEPw=sn@ZG;G`kSFh5Nvxhq^Wf+ zuZ~VPK~nWo!0e#{sQz+rt>-h57e1gm9PvwBQ87|4~G4LMDcB z|MXz(?^UjVm*}}=ot*~jUXTZRpWloq2)J+B@%zOZ&1)g10ZKt$88Ux z#_ZqT^uG_)|6PeC9Dr!9*MHYv^f!f|vbP`q41|HNO;>*wq_SG-R{%1+$G;5~+kgIg z_V=9w|KY#$NBHYI{3%G~Nr2-d0t95O(v8r6UxVBl+gUi2qF~}wB)+#a0yVY#5Ezmk znu}83kXVea1n&J%aRiTnMX{ZF`ZcxmAk2wSKul^&zNNYoxEUxPPBZ2{C6Vm>a~tz- znWwfQI9&xI02<(|#Xn%?#)C{j|I_g0u89!BvS%jD53_){@lAy#io#fet)hzL!${ml zzBbYjfkNiyqYFWr+2Payu%N*+^Y*vPloYd2&h^ynrtgF-!8Xut4@Oz$W(O&h3Y8(n zHc08imsjv!U)FO}MN2|a{$GlHf2BoE#eBwmC**3?T4zWuTUxpAO9 z*8QW0tsez9$-%iUWn^Kr4THvs8NBQPyO)#^UX{{Tc(P8c$qY~Zg6-CvTm~0q$%4<~;5I}m z%)@N2_bYAR?jl~k{|{)fU;Km1IanaO)#@OvR=kt2F2=*46 z=K;YxNERQ7Bf)v z*5+Bdm1ubUq-;go%G(|5q5u9Fkh;VT9!>)U3N#>&-QdSXaHcCYIK1Q3oA4rREP&Yj0QK5u;m zFndtX3<`#Bx8_VJCqYQU)^yO*?=E?QG7?=5r&WiSRzp8PY(zF{d2PlbNL}d8R)t_N zO(*aRL;`MqqJ7xxR)qE8)TJ~T#9jE(mY?3-bkW28T^sGvWi13fno-I_k{XR7bd^;M%1Iof^qQ$Mc3D(5Q< zAx;L-Ef%o(3tFfOyRn6Q+`NgeZWX<&Y_GvznX4)dmWK|)j;1AG586}_6r-RIHvA*) zCqE)3p?13z1tUxmAkOPygaf6hJRAcoY}G2bg|r!E11>ZYr`v@2)3@^dJz=k5?$I2a zMB>1CgxjU}LLQT}J%N@n8J<{wX+`^Fm{Id+={_S^5wY8e*YknXC?u8QxKn!tVP~F! zNQv^^cLdw9yT>{87z~O0P?dC-r$De?F-opWT6)V_>o9sO%x^%l*43C{)`-t@l&gQP z&()iCPB`K8BEX|WPa!g)wrKU1c%1@YR>2EIKaOuyI?fn{-Fw}BKa&=phw4kOEc_Bl zoktz#9g2@uY@yzE@FefdIUnhf%D-Z|NXlu*`%3v-dvfzS9hed*>M_f%n8$gnN>$3N zWPh&o`W@fT_r`tmg3+*o4oUG7rDwj}`a*wJFFA_$uu#R1=J#Xh9xkia#q>e& z+l{c7_$MnJ7;kY-2$qWWUDAkN#g_*hByK*K>h}iIwK{(j4GkM9-2WLs*Z0}LaINbSld`65X_!$b&F-; zo^n|=!&XlrI;ctWPIV{P@9nPSN@RR(>v+!)nntg;LbS>jy+jpXA1a2bzh?L5#E3<2H9=J(+Cr;%kJCVM*+!brLE0EI* zYrKC@z9T?@=irrMPYInJ#)rGy~nyFWi*e@?us0yq?H{fz-eTY zokVcGhqi>_6)c7|kv^}+EkhjhSuS1o4#Q4fp7hl>A)hmd*|=tiUM-=wopd7kGj3IH z#iJ#%tnJ()ua zE0(QZ=elSQfd62rZV^4+@uE#nZOJ$+FWZ-%EcF!iYTYleTh6IQS;V~f>R}i7bJYc% zjR~IVq?|t|yky<2^>mvzN(_4XvS7tnbu#DAwf=Q;t??YJ&cC_Fr7ir>e@2^cSIV+# zC8Y7bp?ooi$}1p7*Jv?a@dfXM&hyM_UmLs73r73=aeC<GZm6fBVX_FWb9%t`tgV;Gl$;xV*>q_P(S6T z^QzYh*!jW{aDI4dKI&HI;$oqJYNdg7w+#9F9+Kc?LoRbD<;0j=u1JD_uV;hmuk)q! z8I!-e=^G`1EH$aIqa3$o;P|qm)$nB(A8Gl8`zd{BWMHWdtDc4XS%obsq@%1Drs%)c z3<|}FmHwE=Uq;fs&bQ_@I@G)`KFvD^sgA3}oXR{a9m$kl!9kk#G@-RJ{J&nJgECy6 zwCB#TDo$00ySNyNPj;|<XE$t6YI~Dsz2R+!Y;2Vpb`=$%=X9jsv@A6JElN;(L7&~W*RQna{C=ML0HA; z0`LAjC^EVk>Y$sE5X*sJ;Xjz3UceUcaZ@9)v?1ONUs_r&Gi#3qTg70#38|-{w7g(A z)M804W52FqZryEX^MfJw{ik(mGEQqA>eM^M-d9&S5t}As7qe7L7uffRA zT=>}NvqbV!-g4I4E%R-~Dc7ufGp5py1=oo+p35qBmeaK9Le#UM6ziua45k-l-|SAx zy-AVMF>+ECzLS26t@e6bioWZKtHzgy2X9vC9#Xuw<$ju*b#FmcTA5e-9?B!W-vi#^ z>e0*f@i1i96vWZO8I;S6tRLHZ{E8|1d7_S$v&dL3e!Oz6(nhgzG&V9is>N75?^A9( z-m7+tw25SLg&@V5^Go*BlEy$E=6MUhv|4LL(2dS*iN-5mgY;xQiy_pvdz-O{AZh*2 zMf&KtgVp`#DS7nIH)lr2A;aHPuVfx7!7ltRup_-_ml53>S*M}Rc3X}?B28M3z`dXA zifTx7#<)&&4`r{0Z0{3vIcYF0EVj7Ep+PUz5GFdBwjI{(5i!k5T; z_g@kZQaYY9JS0A8eVbIe?ko_%a#nBQ4|cyZGJUC~d&?1pcx)KSDv+tjK0=~$c&T21 zzkm2Kj%_C}JAx*(@TSu&1zO~T1fO(=)4rbF9YwvbyN_o=k=8YooHF0zq+X^<@vp~p zwT8S(bl6K_%9Ly0pMMR71TtBt^Na2?+Y_VR>U-y2s55Lm z!s&E>zY zAJ)wcn)q?j4MXiw7{UI)i??$domStZIw9VQ*QjZvR@?zhHH$mRuc({`i zms=9kgBH|rk7#w$Zy#!wfRG@&LmENdUf z;Hl%-lNs6SMr=v-=ld(YQ1X}x;2jwaN+GmuoX*bxrFp_BE-2w0ADWZPB3cP=FQh4w7#b`OWE4+8YKQ9MQg0?<{LP_g~ZbC&dVe>{=CWM|nr4(t^nnk3SU4EQEh!nnd4hB-3!K5FRs@ z3qftN8RakPYc+RW_OTjCA5z#-l2%>vvDU#{2OjQ-6GrJr*j(A=m8+^ID}_p}KLnc` zXh9-X67X;(nBljp&7>ofJwtrr{Y#=`uXB~{bpsphM2V+4(Vp$cOpF;wJ2i7!yh90{ znj1>J(&nApf@at%LzidR_eB?#4$lj8hgtTELT=(>s9w1EiCQTk zvCrh#rIv{sUb<;^#@vBn$~C9%Io6eI3(4FwMc({oJfi;vhW0NUO5}TmFkw4N^@{?Q ztV_hUf$8ql`lok&cXaV2REfAYV4<(@$-Bhooc{O|f<$Tu{x2z9b5HoMC=!-zoz84Z1PrAQ{Q!_i;C&v=Y|UC5Mi?X~YBjxt7#lB8LaTygK@~vnMxf1EBG^7s2tJjA zG69jiq?P$|#K&{Q0Q1F>F=_7h(19hR9~|EwaNsZXHoD*XiAJfRDER*s8nw=WT(cpM z5fX#OkB@zN>8lU1b9TF2AwGWube_cdKG}sH?TIqLx6dH{bW_X;lE+Q38-m;=(fqqe z2nc+S!r&FJCVqj)*2V@UZZ931S!P}L*7>{ymg^Bq8j@=OsgHovQUn-qQ9y!UW!>gw z-6T$!NR=LeMocC2RSxF;kctx=gVxCp@X>gnn*~p zZiuxnbDc7t$Oo@wQoYSbO0<1*LXW?Y=jxF%Eh+BylmT~YG0HVqs|Y7VPngNrY6Q^= zK3)OhB5$}CELA-#Kt%W+5VH+;gM49zkj94kVey0TSa_L{<^IQzPDs|KmCh4+D!t^X z6~b$Gu=ig>sJOX_IGEvWLG5e-609?Dd{jun-~^hjtny_eT`iWxb4k%S&zo^FkY_o* zz6$sXtEkYRV>j3+87p__om&47Sn8qH+eI*m+rC`{3u$N+*T#AHsKG6gA||kZTx~H` zxP=D}*(07oTZeT$HQxy-M@@Me>J@lmyywckN7+}Nv^H)|8zbPdGAZ>75F7TsBDLMU zD!itD`PK&X|96@%AQTwhKXN(rZJSncsLhJ9Tw!5rtfv(J30jpb`~8UZ3Xszr~g9~ z((8Sq{K-Jz*8$olrZtwVY)uFR<)&T~xWUBR8})DDusYTUtTjQ%r({r4@!@#Xh3pOR zrr6o+BWR~Fh=n*nD2JUJnmAv0?o5xlg+!cnvKPo4qkvZF?0$>uk$Q-0OtTFMgo%Ky z(I8;7i1V6%WSD~My(z~_L+ME~6xRza$P8`)0eFbPIs*nH>q(Ewi9LM}^ydR!!9HkA z;oTT0WRcB`UxiTD54um&$umGSH*P($6T*9(>JC_T3@Q8&{)5+{z%xYkYO%CxKh4zj z_OeND3gnbT6jEM<76EP?3CfiQG!Hku?enH=kcyKn@pm9Bqz);v4k>XGg0m#p^iIVV z{0TImK)#|fu05aE_xJb#a5Y>p-wS%{hQf6kg%}o7RLZC$9;a!Zw3Zf3794Ym@rA?F z%;03&b**=0xU*E5XD($=IK)35g!bHpyZuzMpNq51$wLWw9WLE=vyp$H4lhR7LWd9T z9+93}{y34KD_!c1utvG}UqcV*s*QdsAYbvQm=Tbl?E2aR`HIhHhYTm=`)|dL$QUt< zLXe&KWc29FE*b8nj|$f+onB1!eOlo68`zOTjAFfc zX1${dIEe|%j91#vu=4BJ z&p~Y{B|5BgSz!%@i*gUt2NJJt*VVe|MKMqEt|soe(o*XGAs&SR>Rzyt3ekoXQ`?Ai zEw$lXn6<1EA!n_>3F^$WmwT#ryvy?awt*OI7yT4vVZugM{lhf#40=u0n8-k0j1Y*q z%VaN@SAch{b1LJD`1>NGqs2`5lN=vW##J_?yRKB>lKiaJuvSMh7F#6@yL8!=G-x?% zD;?JZNpUtNpZ6QpClbTSdctY(8`$0J$fT%D-bBClrfd`Pd}k62TvsQ9CANA43c|u8 zhOC9wnyEuWkh<`S)qdIVx~=uH2#pJCYz5&f!Mug7vgL)jyh*5a9s@4q)vPU;Y`ltZ zyu80JZ%NbbLdbL8Y~_;iX3uQ-tbAOiRezgz_BMF{K896?7OlAT-oBj4tiJm{!Cy@u z9H0Jn#iK7Ep-<2`R@40E?FfZo=bcP5KT$#0gS916OP;lEk+aSxV^d>_onrU?we_@` zE3Wm}GxwJmcrJXl@-cx>E*2T}jPf7TcZT><3#v>KKEBg$Q(%s%gsksE{sPV)yYALo z!gv``{M)F4aS4a^Zvd^f+MLK}$Q!{bc*gkZc)MRxSQ$qiYF&`U^R_HO6S01R^SmaA z!rG9&;5{4M77gE&>|Wh}n#fQx5Y(HH8X~H8buoSF5Jn!!mkf_Rr@3H2~{1F+nK2HuN(a-aEdBFezNLX=X9n0pu7>)40L z`Z+K3l()Me8r(hI{wIeI>J&jrUN&4lK@E+R7vS+~@ChY}@g*nJW*{?wwyrCx$A-c*nW7ED7K9B z*qiD1lmwDndA-5NSSWBo$1P)@i?zZKZu`-!vc3E{1;c~5v*~$K842T~-Kb+J)O zFNA!|7}xdwAMCvcR8x8TE^0#%1!NQzq}V}v?@bYrB0V5oML@a=0qF_~Hb9Zy5$PpL z?+7YrLX%#Eh!9#RLI}N_cY`zY&Hw*>>#lRxJ@=fu)^)9MoG}SId;i+|yifUwy$wwT zo^d2igP|B8vLY%yEC8i8h4h{W(||BhD$s>uz44Fq8VQ3Y`Wx2GR_lRgTdG0YnPpRjpHO!!)TDPkZpsScD_lVRa-HmcUnFuT z5`a^pPpd$v3!bYTjT|7ZAU=>n6P#BWyasu3^YOC#@0kd$j_q?nccrOt$XHa3r^dLa znL*3YE|cx^;E~HUY$RYeensub6l7ltEi1d^>}CYwh(n}fYw?`Mt(r&8sK+LhDmkNd z1;!1N_gJrMNY7p}vd&=t+(E6fm%1@qoX%@fNmgmv$K{ zSxtX0ExLH2mO$*|{o}j8!6HpDt+Md|62c5nnyctGl=f5oXW6*}&)hj`l{9`K-d{x* zjaDBRrWk|DHfon%5NE9j8@hu%H+%lUBhI>xi^{r;gg+lG{dcy)=4Dt4F1FvSy&Lu& zik1ne?U#}8+_v<4YUL)iqd$HS)4c?y=BuXY4}bTsA}dQ(LppKu_ET&Rdz;=7(`V&p zG2F!SZ=T}@TT@#KI^HFu$*qR;YKHmnh!p$T{^ND)3s=el7Wks^PD~hT@z8qC`xBR6iG0|aEx26n1=~SL0D4mNeg3{&O3Cyf80&8G9*I>@w z`blF;MbGyX-{|x@%@e4>(m+J|?B39K?L#NuUXxN{IG@?lv5`7ESKDr*f^R#tz$C=C zzmT>?AX(3lY0I^&IW=1pl%Du%ZLv>g*yOsbUM-843Ldt84}Eq_}59a4^dyPHBS zxld15u~CPZx_-$7TYf}c-I&ojwpyDPQk>AVF%nLx>&Erkn!QunMxK4AIZ9}}h_79| z)x(`GwY#>(x_%sWS&YY;g1A3CeLW?%Dakq_qUd`oclAqgeW!RAaSeUcB&p!FbJPC# zV9(J+e!RqayvIlG#a}mI1;3SKexZNGf4583J(bnflvLu6@+Qla50(2*r5U)yrrQ?$ z4boBN;L+|s6o<5loBU?+UR|5q^_odtTT3)0vP7rba-#Io=RU6|B7O(PlugFPbl0nD)(F>UB(6&ui$< zwdST(v7N2R=7#61f+Vz`HyR zvA}<+hkDBzXQ(k+PHl|V8ow{pL~gC&A8q-3+29-MNL?PYh~Xpt?bW3ufw zzs%!#n7_p}8Ot%f&hZ%u>GB{?STsj~%&eH0oy#ENgC39k8`;Sw;oO6$=HgtvMqR$i z66;ht7KcLnB-&?r_;BRRbA4&&CWxicr1{M|@wu7Zqt^AVP5Vi4ezhS@%FEx6uQc@= z9RA6iPS$^^F?2m(8T)l{H6^#}B#nuaNbJ>jN0U7xSX={}^61X(GfN{iW|g^jI(7h# z$3Exu=hL;%M)-Lz5zF_6^ozPfd#t5Tp)FDz#=tDW(&wd>HP6Af*!yU@bhc#W`AcLd zx*W>ewQYmNR|InIeh?N7;iLqXSlp_b+!v3DzxPv$G;nUO2^#JD%=kMW%}ISD~=1w_`f8Pd#z3kkMtogYuhaw>dt z(c=<9O_cpGHfGEyytvi!?xk#B(IjRFAA8yGcZ5~vvW1M&p5>=H$*t)c%3Y z60I@S_ap-(s|XgQrX9Cd+b?;^z*I)oXcWV$^wd(58`J@s*IFgcCwM5}OQoJ)jNOg) z-g3Z?d>6F;&g!2JTm2nFwQmsC{Ephte|_BEoki5aTyf`+%{AOSU3B}f^$ZXT|8{h2 zT`GB>Tnd{f%SJYM_gMnDO|`=!-usNwdI?>#j*0nr#t28IFteBgxJ<>jxaeM>pH$)L z4oL=T%7XPI#}?q%HStWH=Rm6_@!9naDc9*qp6XwDo^9YOb0KVZP1-n0;9#*DnjQ+J zV#OvU208a$v-Yb-chsa|Qes_uy-qhSz0zt+FPBH1nBaTXX;J%VUul=SitH7QF-oIE zcKiK>b5uq1Pq;p2x2I%q{*iopa*RV6IY2`zBmJKC7RaZ?P^ndOEY9{P7OCGFM>Cz< z%sOYzO__^$P4%&AwUtZP=V-L9)#k;Y_VpY!!I$gU*mAke^4Z*c{8S5~xLLbRHW zS#w8h+GYUB**Y$b1uwxDONp1@;2w`X?CLlMh+wG{&N1Axxu#}QMDH#$VCLS{OLN-k z=qK)R3;Ef&pcT0Zq}Ecynk`9A;cTzn8JGy~E4D-CnGe3|6~Wa!dDt8>U_?@A|9O&lu_M51x4f5bx)a9^U8ZRot*<2;00?dwlTVaFMSF@| zU|n`dVK&2~Ge(O*ad7Z=ITOf@QY7y$z;At=)AGAodLLpQXd_-{U18aM)3 z49Bn~aJ%JPts!)t(I6Nvpp%Z_8ctnnLXe_TUsH3Vy^x zi$3<5U(rAVE*1ukt_bw5^$VM)t5zKlPZ^-oG`9;scRNoe%5B}C!YyXjKk&d0F2C_W zRq_@dXz%?W@xbG1TW-+^Kh2hy*JBwI1$-ioj)Kp*SLj9yuPyK66;oY)9Ol%cKOvZZ z?ba(ryA>cG!~hF+V2i;4EFm!%9Ku^HY`C^YsDLcEzS;I6YE>jI+mHQm9@K4p%azcL z0}2xV&oa?F8O;_T#^CDC!?9TCdrmK1+L%}=b3#%JKG=dm6w$e~hTML) zFHM8ZgD)KY{mV_`G~0V|?QV$mXi-HB2&6qW5eG%EY7_!Q&@?G8${@oG8C1ZNw1-~N zDNT!>mLvsx+iG}Z{V!l0tV&p@wy6vyHyaeQRAxh)@SGU+}xBh0Yodxz9WoVH2 z&nMqK+;bM6Gp_Oc^Eo5zHT!R3Al2HkEDJB&&s%ambMcKdAekee(8^kfMTOK6k z?DTy^ReZe-tkxL&M3M|&1+vKvAY5xts8tbHLJ*CB~mhZgfN`QfNs zt;NB_(g}%4Aj4puv9lNl-pCC+9p5PMA_T$GQVc@fQcK~ETm>%lq?OHb>S6~WqpTkA zXQxI;JJhjfv^jq?j1n}H9T}?^2`Q=(yrS}$<)^;<*cii`S*X-qb1`;#%C}0d#)^L{ zYS-~TEZtIsxWVxtpV7A0_WQm3aI>>vUcFvw-fOc;<@WLJ6X*LVRyy>}>=DC0N7gsk z`r<&5MmXr(fjhws#HPS$A|q|2DlMFhV3#x>GDKcgb-hu1{w1#=&(wy%1undyX$7_Y zOk5|@r#1j(*-GP`2dBO8=Vd2o)O}zG^*TLn;sMYr!~Q+PWRdP>7V&nYhJY3pT!vb#sFW(|Fw<&mnOts#~gc1~>MpoyIe7i1UX z{u8Z@&9ZftxP$;ND+_@oUYLVKaA$(Wy%gcnKCC0@KF&w5zE+PLOmyPi1k;zCbbjrB zm?O!}9}aa1T7XkP9!|$%0O9~47n#n9A$#!15x~vzOmaD6y>iSB%a?%0ZgP{FljB+@ zwF>HTK*n)f3f;r^#St`+ke#mmD?7g_?*cdK7BJiNla3ktmo+T}CZ+9oxQj7US~q1A zagvKTZAgiJnuS$Hwb(}Sj%`t-`p})uoOo#IcjxJSxIicY;O}tu8n$w>ZQ5M$&JX!M zR9R8u7J)8HdU@_3O18>A8#^24()-n0zoz^IIxcsO^N#q9+C5S^yVA5QK#s^9i09-@ zkEhG&1J}?Sq>gm0)5m|9fJVZuXV3WHZd54o!XD5?^DLe4{qH0<4XCgF8_8`7GPmBZ zwjjhve9r3z!e+MO82CJIdcBoBjT5;RbKwVa3(J zT?Z#lne}Ns^eb^&!Rr2Z#@j}gmjT`Tx7&<2RP!O~UmVTUzido7T?rBie+{q#(tg1E zoZNz>MjtKb3Mr3_4D*6H|(PMmupoT=ORVv@mh$g1BgXidi(R_VV~iim80$yu4)%p*D)kpIM1g5B){XryT{nz;XxS7hll-kL1Fgnnjl-P7^SJa__0+R^ z&1*?{7w!^*^p&i2)tG=2c+pP5!}nX=ZM+x`-#hHA^+A(|zHo}+7?mCqWtUKbxe^26 z5A=bwlp`B&^0c0dP~;t!-%puWKxZQ}44dln*ofmsdJN-+bcN}yvSDFOLWre?{dmd; zKhB>WZ%`Me!7!$;XjtbZ5#jD4Y&YKG%_&5@qE%)kwepbo#UuULVw1{OtK3)MY9bBLkW{yf# z3RY$5-tEC-uk~$=A-NPs?*xo8o?!o9^j4JrVxd(vbYZq<3(H!dVL3W2Wq_%)p7EP&{5OD|;}&3tb484I;MAB4 zr$z?(ehJQF^wWA;GvoP*!a4gpu$N7qWxg@yxgpx`+@`i{-IHgLIqnRmDutVTXn7E9@cU$j+u!aQ=Y_mujNawcX`t5#wXpW9j=eS1#| zp{L1T&bf|&_EK?W1G=goN*?H5>z&K`>iXPd!C*mvpuw=I6*6~lxUUY#$Bh(8jTYk92r;R9eY~Drs?Xvval_kyiRd5!2B+@%FWP-b1CS zW*eFNpeOz$JO3m3LCQ!nFY0qx0P88u9XdS9iWhcUZNqP(jwks!Nig1};AqwQY#;s&$c?WIzqVlcUXa^26Kx#uF(jO&-h{4QQ09IW)_v-#2V1D) zzk}s`wqd!dzOBdf;2wkK-J8(?{jOKkA(PPGF8X;F!kU6i{F@P{`Q4maVWdoP z6!B1?Vn%qS&CaYjTAj~7x3IZcls9zprzFtRc3-6coP1sOI;{=DIs&(NkHxhTzv9HJ8Kt!zAmg zX9h#W+}q9qrjLdu&YX#i3?B~cop@8G+jXtLh9xss;_R^x?UBz11#A`jz#X@WAL&(3 znO;L;&g+C-5AV=Cp}m@3=N6a@%J9Sc_8xvSGS1ajBG`IAJH;4g98p|fY}phRQd z&{)zD7S~>On|o7@c@E3NC_2W80VTSM+r~EQY$IDsDB&3A{BNRp)AmFf&A5nS_>|i^ z1!1lQ{ikUe1J#}j`uw~aj-;xC@kgS8~%5(vykL~Uba8xM5U7;vv zp|~s@-uH|v_cqsIKz{0Cbl({h(k#-;HM=C0YmT55({m4b4efniM@GHVH+h0Zth7kE zGggf{A@}%J3s$cMv&u|HdfTjvA{M_ePYHE7^MsQXYOr3qXY{EAHZ!qO>h-G)K!>?# z4sp=Jh`Kmk>m}bid{8S<)7*&Dk?D|eziDPem$B1TAq#BiCpV5@$$>(3+wAxL{rVj? zE$D#QOQW>p!-+pK3|VcygNjbuqH0&}UsKDMP;cIOcS=02?sTVY8ln6| za+%h`H}Q~(Bl>tPt_gAK`0)z|zIhXdxOBY4GGF{02-bc9{f`QLjOjwO04P4onWXzZ6}FQ5VYP zUZGq-+@a9?aoIe|xEw;ALK?w zBp|eC7V?I4h60O2Kn+=O~;@du+_d*Z`Lwvg>v7#KS$7?wn%Vc(@}iyJ5DWZE#2^=Xm9r6N z{b&UdImghxz4c-3b0T%Abu79+?B~b64XmY_@G0@U)Q!p+LiJl^qC*T{Wu>Hzy!J1O zx$R!)iAuckFuvfhuJ%Dg^Jg}zw#=UuXeB-cDP_-|%ik00E4(+iQ<3;~M~oC(217U} ziTv`J;aQu_dxwXY0hXH*BuCX%>S}&a8kM8)BD0_inU&mHMkQIvA6^7w)P}HEaqXdWGF9xlej$e z!dC5CJw*w$pPaoiap)(9>^@@>ljn{xw~6B|Y>kMLiIjT4GmP?(+oHq8HHcx#T&#^A z*N3UUw!)Lea00r=|2z^y|67*|?U*58=~c_~w05X?Zw7e~a`M8vb4KB7Byog+OnHhfnb_~G7eN)jwh=gd)@Jps3FbuMll^-; zUxyzmq+yV5HIv2b+g4nEUQu!nYlDbJm)Vq5-$isj-+8fzYmUlP2Y46-GzdTgotD=`q+$J(E$pMi~ zmjoO%2mwL89oM5TOfJG!wJ!(+HXmb77BEXGGF@V8I>})btFQT$8oj<%1MS!Z=en)Q zyY<_@i7i%a&oz-EfhpOM$x04H@q}cUHGs6wx(w)3`3J1t5yFk45vMnZG|K9=LSmf| zjvsJVtR}eSEf70d3&l6)3%%}_<(TIhE*BLS<($}q@rHFT)xxuoe3HZQW?G#C-u(Y2 zKI||st%W#oq2s?e&JIe48U1)$Mdc8IFv!3Of(BSIvka;7I7k843Mf?#pYi^@acz|v zZHkpl0MhR#SXYwka6GPB^|rk)1#-iFSVT(R!e#g4g}OE0g4s<7bs-*dhty| zw8$3OY6LI_5hQsGks_)=I-RW##im@Lyfzp9bddO|#duTV`pvyQssb-j&)j_R@EP_l z;IiJ`Y<(kun;K2~MUsue2T}(be7VbG6zD%Y$1@_aQT`X$e+HU72d>LpzRy_IFE?GY1(ScvVh z?=5(5KKo47Z*!Dn+Kn(vAlyV0F?m>Z2c>^;O*bO`6~5i_0imZN(6s2mG+hhrK(1!)QOP97V(4bhHfq>=J>hPp#83um+cb6=(?gjt+m#3hN zRf=3FgvGCa@8<#s(EL`i;GBVUgTmsA8=IwOq_@z}>tP<(PBj!a<_$~O_dH%MG70xO zF(qw#s!`xX)xBoz)GAV_qpU$EzWBvkl5#I8#1a1lNe=TQlEIiT63hXjL0Eo{w++%2 zf}(ybpTgU}v{=0*k^6J*5Gp*(TXtJ~EN_8Wd88v;8w7h7-NB_oHk`5btOwAmGiZN0 z^=;H8TjT3mCkBxq>zW-XU0X?gt+lb_;Aq6dU@IpUiInqEMuJ`Ydi86}3Z?aSNKOJx z3e5MwLLvrqg|dr=INhuqFePayTC0R~pnD0+bDTD3E54k1-rb3s_(Lejcg*H&C*mv& zt%h!um5UTUZ6h`8)-nvtUB_D9gq!r%AuWM6Ypl z?tR@Tj_c){DJEVR$NEtSaR>>C837nV6cBXVo3f-vr{28%B>QsiRry}G&P%=KAM~dU zuHVNSSiwI6*weqHe61VX9r^*74DVQ z+N`uag3}Mcfa} z>=-5D9Aj+dT>E$`np0k#ZMMeoHWW|gP42cHH8^A)ywmLO*-V@a#@=mdA&`6Y zX9-#RmloZPJ-geKaWDQck@J}K4Hj}#D+vHap7@3^+G~;S7Q@IVJEwN$Dbe3H2t+SNcmt7q{>X!e$M6zXTQrpY&STzjePT zJZUY{QCI{X?vP|pgjKiC1uY4M@t2w9-$SO=`%qys#bX>lQIvKBS6|%7!11jr)%;8X z<<9MChWq^c=0xdT4f?M)C#i`YsFk=<22`{u&>=r2f4IMH;Zeh)yZe&0|P^nxGPH_fo#S$NwuHN(ppU}QDO{c~A3g!DCX2jlYm@76dk(*cw z^xgbqULlw~zf)+~~0|X>CN4iR(myT1XZ9Q9wMI{XKsInOLklmNC+jA8pnS;xpa=O5&;O6L|VWU(>Sb8kywr)|l zQwX2jU|#k-iGF($ae}v0Vl8ZNa-s(h>6d2B>Y*63Rh&`cs_)(y>@-9-NSqNv@44_Bp%=sAFvgyJyg1pHF7dLD zCHHy~;#1VTM$h8`maBGTR33dTKIrto5&w%vPC5aZTKW$^oWR4r%#IUyy|q2&#lH4j z-WOq!lJMuzj}d_m5HF4qAfN`X8=G&a$A~s=U>qVpUbu=Db3+>O-unH1nG6n0HOrah z*kAX2F{qkcIi;{4LAx;2me0#VQN@wga}!1bQ0kZwgwW43^z`ovH{FT_u>8G>ek^s} z+ph}O#5HQH^Rq`mG;!N#PwL?Bt!nG*!hu0~d9HH7-ihTjsQq!3dN^{r+o$z}v&~g` zq_F3Xeao_>DL*(GXx2Z#e9sTfn2{#LXoQ>B7azb^g%K)-`@|3nICh6hQ%Fg)nOP2p zQ-O6b<5$79^vx-v7qh@EkNlRe136Epw=1AUqvI@T?uF&ynxj9dIN)I z;twb)&R!i_%Os9szyr=1>M>|P<~5NL9mM{6)m9?m*{del3A*ip2ETj%U#MgLdf}Eu z*xzs?ut@1KE~lKuT(|K=w?yAJ)Se|Xw_fCEjKyCHJ$z9n(xuW$Z97>3SYA0_`k znY{S_zwysI@Nde;KmY1~I?wX|_8ZS4PU0w2F*pDtnvN}Q&$^dbaLJ}>6kjmmC79%G z|9Wr}N!&@i{u0UE69fN|gdULf>rg&O9??<9is1iz-Hy+Q{N*n766Y@u@b5>ql(g=i zuak(iJ>(UN03U?QMenayb27p5e1K!e8j$0MO*i4RZ3*Jk5onm?U+4fiL<}3`Xhx8~Rt015iyh7r5z$+VlkJODM7=l#CI!JON z-3IfT-q5>iw?5$U$Fm|D?mEMT)H_^nU=d(*z zj@$YQ5rZo0Y7(4+>g>ijwaDv;q%5KoF@3)Gf>X|Hz>D43&6EE3Msk}L&#L%-Mu1&g}UNB|GNL4FqbWE!$yXrHg3htf)>Aw zhADO52Isr<8IE5ozg@-3>F zns$vU_|s%{*LpomE87(5;mvK1qLCLg{)JubFW7DPQhg1qzC@H{U$j|MaqX zJYUSu+^0S?oD5o?3#KWs~_d@dJc-2eakMeWA@$n|h$zamPbEjGNTBa{9 z#|l}cmS=(~R)+~%-D`AUzf;nAoz#K@l;45tfP`!L7d;=0SD3%VgFojlfD8#ZD80^0 zO5%dnInN?m+3mIww_&Impl@+Kt^YCZE;!i`y zV?hnzUUle2+?RyH)5u;7P>JCx-i%K3;;6y+;~ns~*`xM_2MbO6+A}>w0&|bAz8Flh zeOyQ&v}bvkN^Jj3w@1}2Ulo5rI$pY6Ptu>e*W_d-fv zE6k=?8WZC=u%We3pjY~JoU~q)M&;edHP7?(>(O$VuZ7AR_pukCPF|>6B$0q` z>&FawR{&nJQXpLBcL#N2Dr6sulA#VGtjjEPpWYt{#X6|~h$_WhH*WO`esao@@KK#{ z1iZAT;uGXFUxD1_+vv5e3t4@!aw*-^AVGyZF>w3$cMn6pdpor(?(?q?aFEI@_bRMT zcC}8S3demU%sJ=lf^8#aPhoTGkM?8DqbSI5_36H>yv)5B~a^Jq@@iWhS_6XD~8J0j^&P zRLNZS@a)Fve3lf-!|_kVb3@?ZDF+Lo&G@53>R0f~O|H?r$?dXa(`FiAE`l{>>sw*( zwWR{!tEC}cUP$gm&myvjS;P9>vp5V5b5+E<*bvkkZ3wfFcQyWaUzV{_5lcs57uiyg&7Czw` zt7z}-WS5-P?`nN$+0Cw9g;=7i(qw*qftyu^l1N-(Bl3tNMPNRi0HLmxB*e_;{Sdnp z9K*IgrZjGZU+FYv+b9Z13C#FL-;Jo%-N8mK2b;g9M5-M}ve-jlOT+B!4os8{~R8 z9kNH_12xrMAXTa`0jLh&Hu+kWZu56S4V~|J$ zGkDipQZ&Th}=p8ie+)A6j-5WcM%cb z$flfw1mWn)$g+sk2<~q-eo)GNsZAa`IbV)n=k=PhHOngB#3l*iKEJCAmY%z^;5sjj zXo2%iS{*gG^~xE%lF}aTrYy44vHj9m)R|@MR;gkUG0+F=O{~{?M|KugKU_P0tlhLHM7~gxu&raytx!S>FEhywnsv8 z{O#*jz{}e*E9P7>7EGZQ8WBgF=q6n=Tx~LBz+f}Pd$kX5xpM@#kogaULU%P>Zq|3J z#Dluo8OnMq{QD*8PMc$EFeK#y09p#gk!vTAL?DA6 zfdbb9_00Iyv4_XWE5$ym#gjsRBoJ+8Fd&jeH9PU-XH8A;B#7D@u5@6$!;p}hNu~l& zP+4}BjCp+@z$aUFHA}G-Hr*JQZRf)DTBXl>y|}&sBIbsP3b6G}6>1VcZ4WB~s@MZI z{d_cpK7F0+HO|fHsu`nTT?{CxtCu_e+2!tfPHLw}*<2*nOuyW_E6etKvdZTC;myMg z_Dtv(LwpzyqZvlG#ZMLH*=J`4j5G4o1HUJz5X14oq$VSypd`~65hv5=Wi@0a=3m|C zljL`)xv9pF(u&kD4IX#n_|0{Een2ZhVg2&bk->|5bimsh|=+8Upd-??eH^3mQh8%qy++{6U$#H}QWpGo^U*3hFXoskPoXe|C#?%iq(9Ko zFI=MgeymD-L_Kf?NvIl!BnsQYs|WBbgA<6irOf@!K{}sE3Z1)60LYJV|FXT5!M+41 z*q%AlWOO>a@53 zXh%}`eRH6{qI8|H#<0M)U8+}V*XL`paDuo+6w42ub5}C@4y$+%JiOq29iLn|c7@-r zUTRQ$qLbA?MFS=8N_GRqQDc5$2OdsD*|OlBqPbEpxAE$+BGQ^*;=eAxV7lj4$3U>H zypW}SpGcmx_s_^=tGk{HL%nD?fHoA(XeARz%#LJ6%}1>4w|B$ITvM#lU_pPx_J^E|W* zu0Hy8H(>>5w$Yk7ZC`0M+<&O=-V5?{qZ?DHTv+JV(C~;$QwfZZu$0w77R&~3WUZnv z`Lug;=_zFm@V*R0m2BoCp9Zv_yjX&?WC%N*_8cd?IrnnC#(BWlm1(zE8)TxVmzNN4x&EAo!&80fC2n5v0LC59YtA?wXbF5T+1uYkI+$9w6 z=;VRZ!Y!F4rf>0}$?28x&A0>lOv`HM6EtV1nMz-;p2*Cyq|SMxZ)6>F@FWp(45HUr zWGa{#R;fV!=IDm`CfR;yQ0tKw{j<*>*FtVLk4YT4ptI+XL6D_ITCdKzeD%PDTLztO zGMo1e;+L!qrs8;`L8RI>pp7a5}kSAf@Pu{mt|VD*nv# zWZl4ptRr8-BitZ}*{XV|{AeZN6!QyB!3mvcAFla2c5%65F-D}kH+Nu; zibEBbtZ(I(E?i!v6quXfDvJ$E_*gMyT~J|j%6J2S*crQ$Wh$B>COy^cqaQ!i7YezL zM)V34KyJz4C=m2w*A?U+xoHI$UNAAjd<&cC5XrqdEAbu3Ao)Jeo;?un%*pmJBEELj zuv3jfo@F#V%m4H!sAKX9M#Dz+SvQRDK68nMQ>cW6&| z9S7QI=sGWr7Sjf@7ZqG3{OTlNR3AE=R@vDmh~sW^W|??OGR;&y&}V?e^jOu5K&_g9 zP&>fEK+2+0h%2mEb-<%g*n^q=+T{m~3c>!ZqjLUV0(ayKv)?;V(>p1PC4y6y`^V65 zAIG0k;rf=ImlX~qnP^j=PLBAlrNk1((iiNrHk7S@v%n)~kyKk_XsOiKVPv`z@X%&T z{J-D+pQ}eIy-&Y=&M)Y@q&-7anU&x&X%2_tHEN!^qspPxy6I@(Ym0 zqiHseDfow9!c;^C6rXW__j&CNee7j2_vb^y$vMMzw9EUcqJL2T+a(7&WkwdBQ-JhTA+4>0uu5*ud}wWy>vxxXmTpJj9_K*QWZY)d+i1Aw)iVW3 zUYrD2s+`qm!!Kv4RZeys%dtU9?4TaUk8N5wpq!Ir} z^Ya^m#~EbA%sIx#;+z4PwOBo$Kq}S}a2}!&`~Fhq+D2Q#Mks81<*B$QgYl=Ao-V6$ zDe^NoT>u+mY|n1uy>D$C7lZHLmXn(3NEc`Owkqh~%=1`JfO}^0VA2m^!9lA;Eca`kfw-#tNnsF*6%CTNtK6}E#7HWnHu$S z_MY;;6KH?4so(I_*i)Yts#zA?p@eV8-iZ0r2Dw$3FLjRfGuAlR9e3Jazwsu(@lnOM zto+W^j^V~O#;xI91zo%}=#INNwGPd z>WT(<@aPdg`;m{)in7Lwak6gIF^AIUeyRwm-dvvnJqZWnAmR1_b3<8nQuZ?^HW__$ z4$|0Q_vGDA%q0T4cAj#lu5*#!y_ivXbN~^C=rzHara$j0Je`qKfh}T1Pm{uJpGtn3 zqsqnhVWL|X#jDD{#fba9(Uw1Q!?a=5?ZZyWTTW8-%EYtrtbI*y}sG#S#G* zxmC|tjZ>(RAj@Q)o$+iBah0||j~RyjtkHit*w$FXr^ z0LEFK4=*Et3!=Le2i8x{FtMPYdZ;y+9k&S2s_-uE67kTRW-Oe3>Si%wjjMFi8;&b3 zVpTAWDb(+uSocF7%Z@1xsISlXE5DG>j(7ANI&KZJpJ?kR?bv_}0wy_v0Avr7!itJ1 z&Im=8XqGvpKB3wFX_xOKTQtuvE-PUHJK6T{Cu!uHh6c3GOw&HV?un!>^(*DThAGvX`-(t69p+E(XxV33t<+f6B*oUz z$=6ZZ35R7q%-XSY;_gYJrxp&Kz8E@B?7|RcicBe!(|nQ>@+)kejfJoQZ+K_Enz*gU zhuOL;6N?6f=C*E7KbviT3>P8nTf_SKnFYJ0CwPSOXvFI?z=)eJZ zhrHFf|Gj7fa@l|!0VZ;h@|eKQOG^6NV9SG2V3q77I+hJe$;-9%Z|KGt= z{{Du)n<)QBqCWp8Uu9gwKK5AtHV@Es-I(Yro?*tQK3UPtI<$SwanE7UN6jUoK@&O- zwB{?2G~rZ_+GYhkDD_3A1VAEu_66TATLU+8ax8QEjV)iHj(m-o$9_PzEbA!Ekm58hk4heBCxZz$1&F1}&v9oKfw7+<=$0e^;{?y~t*P za1zGhz@m)bSSW5oER9+}N?;tq6x1WCgYa6_vqSZ1NeTf)rLhoWzzYg-LBzq!IwK_< z>u!JnfnxBrMJ0!oAJUN_yWG7VK?FW1d!y>Hc%PHmN}1y0MM8!f z#PfVGh7B~o2)H>92^viW_VDwg=&AL&@}tU76P-DI+!2SSm=(0mT>H^IqLj>cAT_&Tqc=hClihktD<9PjlBWh5~ui6gNW#TgFt()!U>@otu-vFU9;YW(u!JCTfs zm5*#2FA+>46}!zj89M;L`cqG^d^1==08V`q){lQE$ukZTAMHD2$#kSFJTiF^hO;_& zs9X{qo?Dt7YI}K7Av5>*$K!~>Qjc*lq)PZ?SpZO_Co1Q#r&<8-nA~aX)M&Rf1_V># z|;EZ8WF9F2x|ne@cj{jG#vt&L^!S1lW<36w;W7w|zm7C`0SLjAX#|wZ{IX9kzr8m#3Kqb`il;)+aCUt**r&n$ zkNUE}(0yCi)zU-dlXU3m9Ra@UFK#@cq+!xU8$9}0XsQ(42}q=X z{oCU~62?R1R1>uK+KV0Wi0@kpCF}hY#6n~@hy8r@kBwdVCJC}$c_(v_F5(uN4nFZ{ z=dkS$pjP^;iSbw>6U4sOkkqT(U+$^_>S)JkX}5bwb0&}fK9GW0Ok}p+^g!Jf7A(j6 zCWCy=4=k(RZhuk>)&Gw6#P-krf1ruNGC6MKcy)Af{55Sgm|6|wmKPZ=d>Z>U9`bN^ z+urh-cu^p-hF7z(NeG(Ecj%*Wvd-~tOokYP{H*UqOTQY$+HL|&FjrRLFokNiu@E(M zS#}RY)4Vpje=-hog2#ueH@(7%J*;yRZQrf#a4#ZnFQ04#esslPNTFMeUq>K_z>C1(mjKr$BZgT^vP$^&|WKKI(Kj&3(jlX-@eWpX-sL;vOM9ytDS&fq=_|{0Blr zT5?@bqp73YkB8&2Q^gwP%pP{pu2svH)NZzqqm#WC@(adYt7B+O2mR-VBL&8>aKC1O zS)R8>2w+vI_9l1CPsX`g4vs!f@QJV7OdASPEswi%@rbUhGa+m|{I$Budb4!CMLE@5 zAI~lmbnt0RY&TxEdfmQv;-x~~FOiEAI;NiQEhTJc-YG~ftq|MH0cxykxE?J6P2pG1}`5G`XR@019g}6lz-bByG;5h}X`v znR)OaYDnvLKJQlx)suPt3ufL`b<9p`6P2U!;{o_h@3O&qIfp{if#u9>4O6N1)wLHg zqp|bPl~|Sef{u5!lxFKYZcULyS(qX(tsKgE$iTBMn4ie9!VI}q1TA(s-fZefgT;5s zt4RXlwM|;v&elxS3(&2Dpm#pI6*cQ^5C=k~9N0$}UBY8g{VJtGRWalw}m z)y{q&Q;96cO7sy9-i|DNLq`arsas#|;vPko0gqVEd!lI$%pVhi^RDHhb%c44GM(_j4-1T<+&m?}YK01&;>BIVMkU=Vcni93TIbLB$i=;DlB5Yc zgl+C>6T@_hY0M%)t;mcA=`Tq-y77)zpw!&SI%6}>yiNH^m}`PiHJ zRGq#(dfC*tvu%u>(6&qpyU8%mBxW! zdvI#tuNs{yvpu5D<~37k{W(x9*RUzz^|_SXEwK3px&Ae~Si$CH5uJ!&s{(8562hEB zBq_Ahv3;Je>PmAUOUy#$uUfqszN%X4o|z?PHK>&Raa?j{Y}I5v+`)!0G6r3h*};xs zneg(ySu)yUQA3e`kLlIFKClOoM@2_2RsLwxXj|LQ+da2Yz=#Ppu`iq-u*IZ&jxeiA z$~$6W88!deD#7C8hG_EYAF6NL&Z#%}w%CkhP^I)~tIuBwd?^w{9JIx3Ey+!>!Wr%o zLY;wbPt6^=n^V=V_S-z_gj0`^uugW*kjORHB3RFU%; zOUlGmulupRZ7c3R6+tDc|a%Oh>dvUI17M<}Vr5uWPOC6buB$6LlB{XhSjb&jB z2QXyU18q|C!9LlBda%J`%z1yX1u?d@xVYg+SObgv#@2W22@O11XZ-0mzU36_nRJ$$ zRXY!kCKOj}EVLx?_^?TP-ft`m+w4~}`N_rl^C`Y+ZeHn zTV+mSKJZeU{~-JKIp`k9VU}}>DJ>k>nj0+!|HlwoT6TgV*0*n{t?SxxotOXmhX?*$ z46wW29#N&<{=b3$@AGSZZSLsNLFpYmq&9(EgR-LfrQD0xeKl2g?}6qDKoP1Oc`A&| zv%Z{vfCD=GBLc6|v^IA}-?MPy6X1tmg8WF&zABCKl}p+?cI-X~e?CWr95i$Vy;^qcpr2K~bV2ui>{Q&olB=lW z^=2s#ZK)%;2Ft{-0SC@&ygJyLC>`C*-D*?gRN*^PJU!7OEqD&TH4-7sm##nXW zY<|qelEt6VeE4O|WSeYS{-WXPq=#fZd9#01dT|mgl2%P@F@s)R?p?Bvo$lRJr#kuQ z;6?cDn5Ou^uB|^Eyr|A{TmJVSUnK3ku>BGN|Gj&*U;F78)4}aG9W?(>FWh%gPfxEx z@dUi?%1#16C%EE*zh5gLdSY%aNOi=q@2uG3gGoA1`S)+%Jk+4i(0%WVgxv`o3fcbo zA;*p}9+cYb<{^sOhZS%hz4G+uSMB-lP94j;18BbjutF$5%k|dXJu{TcNHVqd59FI1 zy!i8Z=Ywu~e%8FaMJxl&L^{eJTGcw#44iLkLqeXZn3~4F4dvpp?Q+x`y?yCmNVW8@ z54#0{OnCn}z0ga!=l6$oTsM79H-_8&&>@Ep|Lor!J^HQatB%BG?%q#Luj>@Z^PKmf zmxcr8)Bj-XEuf}6$B-vrMsm|y1To(J7hovM7q1AyM&=(K%`3=hVJg3VVLvy zzI(5;zyG_xb}#-&N|=Ndn$&sDNjc zQKFPs8oR|NpejiK%=I;a_9&6Z2p~pdy4V>@0gB4<)0s*=Il!Cyt4+(uIv<^-LM%kAO0za zZ~P#Ymf>hNnhLVn7gp@rQPLQ{2NoL)%GCK*>R91!ZWb!NH?GKTgRQ8vNh+$sHkG!~ z821~$>VH2VV|SMvUvOsla0a*1n}_jlSYF!xXCYfBF{kGMHR2}m=VAxwGo8-Q0&^>? zAwX35L9IwW4p7yq|8;!517M^rfJdA%n8YvyJWvw3R)scOsS%_@w%Y-hJAQ)O^H94~ zqdYmz&+wR3;lV6Rh`0TgCI^!LIPUZ6k3^wr_5MMz6D9xnF|Nbch8HvYN3P_j0rCd~ z`vm%W_5IC1X&4p~-YQoCvB%Va&MIkqEIQ6&NUOiR&T?o2>{&G?>g} z#~7q{cd!{GdI~h!hXASSH2C{p4)_p2!z=scG1jN(efNflM;WjmrN*IGf7y(V_zkQX z3&3Aa_wGKqnpx;Pm=ElGWot8@7h=EIq{3xC_W__GmVb1BsuMh!14yT* zH1b~-CfPg4J^?W1f)20!DH-CiR5mdHjlw*Pa6eOkHV)jb2d7-`1y>=x>_`oJwTf$1 zxP`W~9`f;x5UbXoRy8VRWF$oO;|_bpP8VU2(KX#Rs0Z@l>GE?reeGtZtD|YL<9+uW z-LRVXAKim1^uc`IZQI2;fKg7d`SBrs^d8fwcHX)U04%A%1ca1}@k=?e7LeUh=VC||sz!IL!breqaMOGuyqVn~v(XcS8xqjMy_4}Qdlc#euI-4{)q zN%G{>##gcE>FmCQRUU!C+P&E3TyT2*NDQ>@BmTGb?&f6?e60JuL+m!w=J54k6ET4SD9JWpFB-Fn@Fh3E!Y zQy+jC09L)kBm*s7905uIKxiZiWQ-R@t0*bY%5OY1fM0WTc-!PCrd}cykGh9$30@_f z4ZIOXs8zTuiARN2Vm%{He_o~GWKECV{z;>}s0;}RuF;mGVZ-hRi z>2XXqpU#6KY$lB~kWw*3)FbI!aZY#^(kK2;&1VjIqh%YJqbJ)BH~Tmn>)T~~-4F8o z-6)`Kv0tBCI?JX!Tx>nl&i>7A;s13$MYT}&IRpY2Y6cvvdJG-`988PpG7Z@o>t9)) zc49a3 z8T2dXTSIcbzAfqCYuSSHa<$^zsMKlg+F#!MG>>OM_W{P*}V1AzPL0=x`( z-i~gK9?E-w`W6Sk*CsA05+3(*1oJrdm+%_OlNp`L04B!VEOolzPyh;G(WeW@M zKyfRi-RL*k86eKs1llaB7Op_p?QcO~mr5 zcLCDNmeijOKWFiDQn-fzIC&XfIh)bza%iN1~vS;JW&6?N7g}iWX92+?~qJO1J5xiQ6PU>sB>< zZ0S|=o2dNqOpt+L$cUtQn)kX}gA$9jvxu>x4pM7=+z%t?WZorSun zR_XH=ZqDP}dlx#XLe^%?rWxLUG2A$SHs+l5Y(6+TiWeauYVgyDD&+WDaX>g{^owVU zDdRc;>HR9~l>};CgR{dUY0{mymgG4r z=hHnmsMr}mcr=QYO_p=n4d0!@M2rP+*7XfLc;7qAL#x$bE%yie)iQ_~FfxnZi#`R< zo`^)i+u8XXt@G$9Gtpl)?kQ1prJ!_CXA+uCaBIfiX2kZxpR~he{4@EL0)H06Htovb zM~8UUb2Yiew|w&Z#cD`9*MP=pm&u0}hsF9oQPpvOu7q*@&z;yidY?!=&2#N}y^mL< z#-N2p@YZ`_VyXd5j1}~_)^P*ZX7LZams%k8Xu+$$=~cp%%LYUB%WqLRJQ4^qKYGv6WXXw2p@1k4;V~-(h{d`kl*`tL+P|LXgW-j3$ca{bNA z=MP!V4qr|@C}+hQo$V*;xyIL8L62&k7sL?&%wC$t2JbwfA~No*Ulch!H=)Qi5E`bQ zN0hH!@B#uT9CRx5Iz4T!hAOF@aCn~CGT1I9ee2RSfSB(NkTOvKvMw~{BeQ&)g09Y^ zyQZWSz}X}(kz!afk2ECU5TH_8Gyc~w+_$>~GztBPT;+&X2syRk5}|>}z-k!-h^-?u z{R(1k*HY_^Xx#5+r;QR|N1FbCKSn&@fL8vorun13NVlcc=Bsbmi4Mb*W|Iwgc(}CA ztoGT!S@?a;@qF(Xkgtp}%(F#c7`!T1YI*>ubh6(sJ;w0hZmU``W>YLp?0@|vOA>A! z0y+!)`K}=TCr(i00WdO(yD(Bz;X7`8BeTH#$AM_-N=ivv472@(9<~yT&gLi_7()+@ zlFU__({&-Z51-%C2DkDzV34GsV?zOJnW=5tFDnt93`Sl@%S>DG2~@nsxrlcq@0qIX z@|Wd5ZqJWT)Pnf;xQ%NrNk4w1JnD_Aighu|j-m~f$&|i%O#`VqBgZ2n700b?ZYnz;k@u7-})y=p&ckuj<9i2R`?6lheNJuvb{rC0iD>Pg38Y z_U+y64q`kd;G)*eppW|o4xIh>*?xj&Kl;quN*Mc5(^K!#9KJh`y}p)vk59O?27o3& zYl9Ij35P*5Sbw7!vH$NYnZaG|$m2FD6jJ`!S9e`6)`8Z&#E7ApB;NV_iZb?|0`K)T z>J5D&ujP;Kao`LP#`fvYN=qwER6nf!f@w{6d!}e~}IFN2+#t6B8@%xnQsl}AqSjluK?CR~ZjzfXJ4@~}wZ&s+iWhk|FgNlJ) zk4Y&IcO+xrkH}N=-irBiyG~OnsPfe3Yv<)QYfPGn_Fn_lc5VFz8d|w_(ZOaLMr-x!RPkn3efc5-w4)QX63-@u$ee!{?Q7l z0!|5$w0ed_MV>7YE&p8%YQ@a=0u2G&abr$*`|Ars^b=kNJiWwdzixSQIj$EsXA4OW z&SwWO3f~Pr7s9>PntEaY_mKOqyVAkn*l*>&1-}Yzn0Uequ3RaGoZ|=O?`JYoz?`4$ z=z1UQbUfQL3pO%l@8G$DP#>+lNqAT(K=>OnKRk+jSwS-lHx1N{ zqt#@Tkxil{qj?g*`}yWMx`XTpBMCP45cF(7-Cur)=C<|JjiR_J9@Y6iNv(oq%)3Trz z5nG^#0Kc1=<{cnYZpmU94x+hCX+Ah~+o}HKE^iYY60#v$XfY|*>2EB&TSGcZd~LEe zc@OnX<#%eH*(p@di6OW)R?!N>=6Hb)f4v^5gNa2^Ccu7>nn%Ylo(0ym=Q{1x3fO#h|rWN$@J`tt}X!tJ+iDoB5_p10+m z!oPw|*$hk7>62s&RsY97=|}>4|pL<{@- zkzgGYur~3xR?gv(%L5K?`l&C;S*3W1(E%GSyK@y>(yLA`@2mg$;o!~k+h?URQp#MT zUw>NUnan0{j1`d4F=5uaXc)6+gi8p@#eW;b>zX(-CHOw*)ia3SFwa730X)(i#$9V7t!`eQabF`|L!x4Vu|}KeW!y`pr(CUI?KT&2Cci5plyg(b|Me%^=?=b{D#6U{ zNRgN2%l}ADPLz}{&*QU=oo70T7vY;s=^_3At$==|&>gl%cLA|w<`7_-O4`dm8%z$9 zkd(w#%#jiCY>;r^&QPE=s=^+$Sx{Bwa6S}&!icLEIMtnkt0|1_Wg(1x;{W~oOR?!e z3l-$V{`Z#{J#qPGbFE08QOY9vATZ$2q0Tl6HVmGQkE*F*oy)|?&a2Xr(ZsLTEEh*u z+7awq!UlY6A3Kbu{)sOkgPvd}3>>Os{Sp-eUwKM>tVbN`S;|I;fKcTG`vQki42XIe z{xN>CO!MhkSs`=Q{1cOyQy(*a8n#774$G&G?0tX9gmPwTzOt^o5}#)~YP6>v(G&iM zwe@x5%uKh*)Mn1N;NaD=A(q~#S))J%iqd-V%FG8kUYxC=%?AF31!Sy*Cv8jpQ zdWIU;PmWMxle5!Ku1*U>rZKuo<_|j<^}i#O6LpE;WbEu{TAXE32YQ^M%|B~x_06sH zYHvDS7-4n{=tM%Lf*&I~vRlHtwxvbv)mYs6Q9tzL8dB+4v_Tnhwd-BpVVZhyAShoi zRFTiAtbb%=#KvJrl#H^)QOWnEx@x85<9m_|Jt1ywQDT&q8|n;G3*#wSq6tOM5xq~N z^gv>V!tm;Sql4BjGk^Tgnf-U3Q)$)JvA@N24Ag)dXsk!JHCaSRK90acvF#!fqHuhk*JuM z@uX*DM1*L$<(t^FxTqt3bnBolRo1JsKcWXHr1Xk@^6JmXDY~b}Bq?8W@=_6}rOi|Q zBsG^0mJ0s$?8Xxn_lWF6Z&do{#<$f{DlsTdx>fR#zAAZ%o-yW@I_l3rw&~ZaQ^#3l z8iVV<2RNXvmT|LcT0Y++Y?u)=2y5;T+z8(!b1*N(bma`AHq&t&#Fco;e{?H8&+_PI zpwOdyefwHLrPdVxDn5{fxxJvpH~ae?{9rL@&TF*^CZSCPRrynv-y0|{j2CqFf9?dp z|KysWhc)I_-PrM!d0&$54$ufVG8|rV&VPB^dTtgj0h0R;EY}rNW?g&D;Dw{XFF2@* z4LilM&6o~}Sr#Jt_SjWUAYS^!2r+ZvHuMZ15tT6#_zW}1j%>L>ad6H844JKxvl1K*SBa?Q>z zvEtZxPt~O*2@R!uS<*7N;YfykXmje+P{ox_6IX9ueT;ZyxKDOmQWWD+LR?&Bo>hdH z;6>hfWYSJ(+sAkNY&+HZq3bF`_Zn{BJu!ZZmuZ}{2QSiCT0yN6>W+REFWvD=OI+B^ z3Xrp-v6IW$LYm6qJhb~e`2Sp^?W`X^GCrXL!l#4H%RaCn;C4x+6Xudl17A;f-(Ddq zt6ewY_j>$XT{uy;6x4i}R+y?ap4|c3HRc@Qzc6f+AuqChn<$F>cro}rNiJKF!Q9!O zs=IQwVFEsaqthpVsXuljZni3u6?Rmf*c%?8g}G38o6It^5vYfXNc z1s{iv7HLJr?lZMlgCCf``|jy#BUa@`sHMtG!aRli7!50(=6+BU*yPO3(I$pRefyE8 zBBv}IY{%`jr#eoL4Z2x2vv#)OoN8|hXLo)UcE8+l@hCoi;`Nm;_LX;kF7#FyCnvaa z;U-t~ZlVlAX$qjc+75@QaoKUDXsq~BxMAjuWxfPcMS1?j0J!e39ZO!FGW=YxQrBmy zTJH_mR#TNFz28kHuOuc%y0c19s^;?wn?)6#2XafoLP!hPHGP8U1)fN%Q#KTUSTkgk z(+_#PcX@D`2P6x_EmY{42~^_V?PEMi_^5wu<$xwD8&_X1Pf1x+k~l`AL|wu?dbr=L ziw0HslI})?eRdJ~&jn!kmVRXndXyXMoM_K!VZy~;#~xQ{qpkgM*u=7*dmgi9y*v}S zkDvLgtf(W<#Ra#n_w49uVkmPq>Y!ed|TfHAA z3{=vtFpP+}BpVeY-=ZSjvz>T_U8Jkl@ST}LZi7@?@cuNt@$V)l)&eE3#PA4l(>!4$ zro=g@0(kR9LYh`(dTiG6qr{^M-J;#fb-vH_H6cZ^M+|h?0G&BVB<~Yd@aM^yC1_{O zrd)fQjmWi_^3LoijT@O(mHLadwOm_J+63ERTdaEhxnywr+kK5W#D^_8S517F^6 zmC^Zm&7@`Bw{DY`V4R05+V!(lg~>?{mqT#@+nJK@HSA>lgRTOs6`K6O>`}wpq!##uFQ;FW-5jK=zs z9pG&<$c40kwW5Y7l?M5W1^*5hllnF?0gGS$>0NLM%TQ04kXBR}x>jifLo!Px0l5u# zmddh7sW@$z3$CQa2W1%+AZlFTf}tB{p_s>!|L~SzJ_T7sT^UDyFCW zYGT{f!fe_f*W!VXx{LYyHJ+xhcbRzMz@53{##}1xw33dFVuH~DW7uFFufp%I6;diU zVyyHz-OwN#r;rKVfN5t*!E|-^+o~lgb-smP$20-HGXh?lXBcmon&8~p3Ni}a$AVJo zwyUXg(iQ}RLnxSgS#fDm;*}UZ#wjjVe#@V(z#E24`~Gh}I$8{;k6^0gyrKBH>|!)8 zn>bjf;@?yARoM57H=fD-0srN`op{+%gG_Wcv@Yt zaYjEZCWo94Mn+gSLVIi>dVE}6P5~8NRz@RYb#@2&lM1t|eY_0%eKN+|pGlEut=%4) z9^N8KR%;_{2fKb3pCC&Gym19@E7AAi0f?FKH9wu)+qs4s4nDcnr`{%@0-C0I)J zMy9#w_$hz0{Yi+QtPe~t*nf-vuIL)aoLM#OYm$FG&rWvI&)0bf;0By+%guk@CYP8k zJH8+IzRNd#;;X$EFxoZrW}ou#6XI1}R9ji{vf?VZT9=YYT4{ko0Mu4?P%JM~z7W(X z4I4A1a~h?wT2%onh%=ZWO$X*>4ppu&S)BDd#8LYVU&A&xUz6l>hXqf>epP@3K<6j zp&MR>#E@mmR!QhBTKthV+L0GEvgApIxsHHXyJ7Yf(&0gOE8pjMryQvPwE~5V97{Vf zxX})tH}kLM3bGIna|ou*!{@HZ-I2Lto0T9^-DBKg>if4ItxWT z=saJ@AN&X|vW=TmG82v?Ti*5IfC^!Mq>ESDK*CQFQ(uqfQA;UUI=n-#^T$Fs%sOF% zNs(g5?-<32-i(}=SD`(Z477%J>rwjNW1jwXUF?c9-KPIbN1`+p$<`G5M3zbtbk_js zXXTNV5%eiN<7UMg;g{>D)G_`n{3IXICv~H2Kacj`{8E<*BCJ|6V(+UTX8Lhc{=PZ> zwRXcm+u+tvZ>}#myhOhiZM|M78ISFm&r3PdAvroYdZzM_#L}4Kkz4RYYhKk->;c&r z&QSoBOrZh&`7G~j^}^HNG2yRl>-6O8A@4c+cxb6N{y7l}lLeAa3=^=>DHuS)zkUtZ zK#9AeBpEgPuxoS4aD#)*$(Z&cJ=<_x3RzTF)_jv04v1EUNVRN|4`xck`$%?6hK>3> zy$=ICb$AkDE0TL662I_)TD=)hB0;0dEH{xqOz-!HX2I6MzEGbPLS&nsUV;3Xs0E~H zP8#RaHjkBTwD0cL-cnq0_FjX*%F3)uHvFyyJ(pfr8B{_4yl4d1@;;i!NL~IVn@qgg z#OYWxqAG%sPRmZcI{36k*<<|oD?Fe;@21j4Df>A70*eB&zoCHoleD1OlrM|NM^ZvG zW0=}vRijEB*EOqRl-FT$g5zxfHEN$yrb=JfJN+X0$QETxV!Jv%)pt47h#z*=*0caL zV54J^N=;L2deG25xS8zUidjobo!Qp@p{S`MCM?YPy70~39xUR?j+gMJCY7qj#1}d2 zvdFaW-<2y_M)pPM-<7eCdz-3;GsM@H?C%lWXcoV-`F@X+52igRBsqqHsAsw8+3)QM zJTtm~G??>KM^>w}=lOn@yR04;Kt+vGb?fcz6}P>y#Z)vm$Mz8>)WA>YLY3FNdw!61 zJr4plhDm)ZJBSfGJG-lgzNcmp$I(Ry?p=n#DnzQ}ADGL2NV(@{u8DXI3dZ50p9?Ut zu}*q_W!rTV@xJ8Hd7^#I<)(K^W~((yCbd}zLpNlg+4o2^FVwFSkekFix2PdecXuA3 zjCzOvF1lb-eb$ApbniX;x?AISJ+sf3h{437* z`S(=6t7~>Iog=zBz2pZm?OgLHY1rf>4cRyHPWBG=QK;?`)$*!MQx_MMzf=-5C=>VX z?U7{2KiNI=#&KnmF0h)87%aEe%5YmA`C9Y?E;7iV)quTklxJzH;ifv+Oj)M0ot-EY z*Tr;{%o`oTUTBs?M+Gn84LG`fauV_N7=^91T%EZ%(y6(_v`Xf8;RibHn4IrgSPn+m zgoWGE$t9X$o!C#c`}_NQ8;IfR>OLZ>?{6d=<51GX$A^L>dV`lyd|MVKpiQrY--XxL z59d`BMXb+-(r+;ljV}(A+Ss~!m*z)S$HukwNfhvK#B)WUYUJtkNPMRuuFqY^oyD zyFRSw=`zxd`Zz8@AdB}mB#Vo=VY2f?0n|DQS4h4}Rjum#tpl}hc@a+fS425^9qWrK=;$iy2udTbPn?Jg`$`ny-Mg=ig^an?{Lkpd$D8-K9tqkSM$+LEUyuI|7@ZtU1WM8Tho#CR&eJT( zEn9E+RNezYMK3_c20+#l`L;=}`wnO#qN~US(A!cTc(0g<^4~Fw{XP#AmD2Uq;^T5q z)3Ea-xRfDoEFQ{cAkBCMP-IAGDpB-QVmvR6X)`Bh$(MfSEB(D7hLs^mHygO0>Fg)$ zWt!)Dapt8l|hc;g**-O#7@SEAHX)Vta`1M z_|U8VD6%qtQWkpc1CP=X@sepUc@ zO7k{iI_>TPQ{dXzs@`Ez+vfwOb&KVa@a;oiPt^%uvEKtjwr_pJxzg`VjY5JB6hROA z$7bJzLx_o}Fet59=URp3e*FVg!;#ZUP2D*%aoz-Q8jw{N^Z};WZZec^q~1x>jDz_CW+%Ntj)y5 zx%-SxFQ;28?~O$}V+2`YamTedZ0y~Gqi{9+F>5(D*(SwyVQQ)?!lJca2}-wv6U0nM zr?I5IN52CELSt^xf4iG68M*+Ix)#Tu>!{+)WyY=2(V<^x?Wd+EM}I$c4ld!X?!!S5DcJ&~kL>~MquUg*Rz))h`_EA+Gt!rO0O{fSpfnHoVH~6WdxS~Q1|lv z;?5lv;ep-g5qr{J0ftp`L-kTkx1CR5a*qF5<&T()qFnm@f#dHle)8_jdNl3d-SpJy z)5R2#Gz2f=lFJYr$OqZ`v>vislF=iP-k*|FA6$| zmY{O2s7=x}l-@~Hy8;>=bW-K|>gZcTNvcjZ(vW@`i%eRvUUHQQ z6?>-ipnos zPKe#w?Br307v+uC{`dQ&%Rvdd;Q6ev{LMsci$|d)?(5Wj5qN3yw(~A~#BOqO?j`R# z;CwAi^K@Ard7v>KWirhy{a8*0OZnrO5*qVn^${+`}9T}B>Imq~4BFXcE<{3^1Qs{6MJ7l)hrI;r5<6%D z*z6J&arw1dDhH`wG8qA%+5trp`J&nR(R~r?am3;WlEQjk4hlJZtv#E){=s4KbWgd$ zq9R@e`4T-jC9wX~`|1Rk4s6^W-C4bh+>C{nx98oK9XszfW%9sg7Q#w}#n`;WVJ$b; zHgb^Vc{zuwuzXsl@3WRd?aR7%rNy$<4%}U~*V1r%55@%(1{K>{D+*pZ4MDA*5{wr< zY1A5kZ`*jjaYP64^Gd!3Qy#}x|D)qn@PQ63ro(Wr0#gJ!G2NM)LXi@3qI7YIO3Zh}%X_e>XUhT`+o<*Dh6$PGB^ zh}|B-$p9R1>q^vu|E4i#2k~M5yYuL9t>GvI=tHR;)h}-GD7>2u3nHDY@$Q|^!kdy* zI4+{5uVwpWpik@AX(;l^6Y=Rh)JnU-EwbXyCYMUeH|_fzt&_%JdepL#1F8+V{iOKx z=*VIF*`@?373wE zS~m&_DWa{f*Hy;uiLJPZ`24U-_iSj58b0Rbkte;XIL4ZG?aMIreGy)NiT1mXW?f$N zCk3Y`n~hXp8F0&X{Lj5Z6;(FJ+flx@M9RdrWP1A}>Z4*8V?jHDxj2^ew4|`xU`mU! z)VB8-m^Q`xYXa4NA}rLJva&61{-SyvGkqDj?!x`|dBut}pXB)m?kZg~y4j4%>y@_K z6=W4d<_}+n-B9v!PQSCU7KXq@pvgsG9q4}8drZ^ees5_-1+|SHEFZd05+eMQ>^oj? z52i>sId^)pV^7CZsdspUA#-!q;=!Q+TK67DgbC!iEsqIYwPVxMtKL(z@R?m7I((HeDY~qL>jH+>fY@$N}A%*q&+B4e~PidHcOwS+))~!9<1)9zjKro@524s+Me!idE?VzGOB(i~0e7-v z=H1f;lO{WdS1#2B?DygRWr0uBG6v3CsnwFfRyN9N(%3=1c;N)j5)c1H@l@6b+qHw#;3aACQLFi z%f_FTnheR6i(j1rw7(Q=PU)u@wfj=Jx5BB#CBMNPf)s%!az|G4BcM1VUjo$xPV@0y#7kRd zW5O#@wHO!Ux(lI#e;#x@jmZppuTy5q*JfD}Ub9^S0i?S5z7}YQ2v$?mJXWtRdPXDg z^H6kRtpz*v%HRWCgOF=(uAZcn+3u1vqt!og3C;A7gC*{~heFO;WM}PTU3SYhD23ncSMyl9Gey>U6&AeL9$OP zrI4yDjGRAWV%AyzlW4$MUFMhZp7zcXeh10*{{jfjJ)dqPnhAiym`^E*>YK68GsZ z`em#957x%tr7?A(1V*kuI1>M9>A`vFMNk{qKiW{z>|^C8EKHjtx_#GPWnp$N2Qv1i2HB}H40prf13Lv)L((D=r|N$|>zt79 zG=w*9z|-X#y-SUa0G3N=@;g;YgR-^*qR6^(@{K;Iw>ke_iu>i|SHHb!EzZtPp%{9r z&)r4Dk8fC{5fA0#yRg+q;QOVIePhi`G}VaJa-oNQImBzZpd*w$D`I@>J^VE7R!9Dh zTVHhG_!(^`=`xhs@W=d?6Pv19f>7Sdd+n{=x<@zz(FVhJj8ax(o|lK;^KIXNl2Q6hU(tP6TAiDrk-T9Fb-491^Mq%@X5YfkrE_R1(r$Br?x%eOp6 z3jl*JigG5 z7w*4eGYq|#?Com4_s{?5`kTs|u$<)*Z#}3MsmbK=c>%!WpNQ)&APDW&hnz1vHtzF1 zFJG~3RBsXfkeaX3ZPj3~5?0LS%fHsCb0lnW?-&Jx27bP2Dpa%cI2`2E3$h&pDm$0* z@`{y!)t9~Uw@(nhf_Z4$vr-BovbHS?fn9zOLfb}O)t~88uUmBqX{+n4LkTn1#w6_i zbQo|{tkejuK0GhISzZ|fR}d8KfJY^GeU3suUEP_$v>Uh9tGcd(jP14D-6?@R?6s1R zFAa6u#We3M#oWQ%Rp3L_R-+{3D^0df`yZGHT6gZ#oL{pm_t9Y|ic)v3g{QJ(D8^vj zTI02JQy0Mtz^tGcHu>AF-DTO_XtvHijb}P^5|S0sxN=7T&^Nk}Tv z!sx-Q^{$0Kn_)ugXe&kmM$v!wKl-F0lr4UZDs4sL&!?+wvk$_qtENUM#`7i{U0purDgzub6rr%$mCU>+JFAN%@^`?3 zj)%^et4i#biXQpb`!!EMWy;s?w0c(&jqrT?dDZX23D~Dizm(h0ngy9z5X!Mvbo6h4 zpR$mYo*dXCH@h*8;xv+Sy+tahT;DK61dfe7dygh1Ey1e^#0^Q2^oQC7S&Pt)uBX2s%|CV?b>PiTo4dX!crKHn88t1{mmP7jM-u7+8X>?l`TfUA zqiiSaWX##2k$-4x>89H1U{k?E|B96nge1~8p=^)bz%Y*q^5q&a(PQy)iGFmv^20{ zJbN6p-=xFQyKxMMH4U;c%bD+?j@@Hu8TivRI4*?9kPd(H^_7f9sCR?8wyvWB+b+de z_jPjSSK2~aTW&Om;^Nl4&*tIITU#k5Tnc^xEi=VBRfr=0J1nTd3U>R8wh-Krs!t~= zBoq5qzq-WwShp_b=N`tg{Q}&`=loA+#-K{lWBsm`DF^5C^*Q4WBj8=ZQ-|Nyv!{hS zCsO%C`v7gK6>P^tY-5AJf2&$(Iu7qaQK@!(<5vV;(C&b^jLbwd9r z_6*toG@5q!hB^QhV0dLid14rFg3hoY>ZMOFJv+*Y;r&6;pcUk# z_}E0KQzT;Q=$06HEP*6T&>wo}Rd9q!KrbGoR@Tl!Pdb+op=_SN@T6rGH4d(7vE)B* z>8Q8sQXM@k9C?=z`mcFk2U!KcKS$pYRzLK{Er3d|nx{l0kiOzEWiDmN^VqXD-k^Nx zdW|8wGufOqN4Ud$3vrCVL%bcYVyl%ADHH`rVSYYSz4A4;8WNJYi46uJ%2wFye?Mzm zym;l&F}splVvu5w_8E)^L|}$I4w5n%kH;y?^dNzw&t8vQ&w150R3{P=5=YI}Ujd4w zUg%ZE8T9l_T0zb$iNj>QZ`XB5!FzQL?=2Q#kcpUYu0@2M%kHU)M>H}21FCkkRX}}v zE{-IGO<5ta#%jzzk{J1z%VD{w0eRW2F0kPCA(})m+IG6!c;a@gsTe+41#4r25j)s> z_DJAqxZ6o(YBtWIc@S1jJG5$YBVg`rdwiEi7euCJc}vj={vbKKjY?g@lUXS3Jjyr1 zsxCVyr}RWspcTJBUtlBrKW;0kV<=afeY|pQ{^Ot>2kxe$;>_?5_uXbRilqpkV-mUa z8NI~;a?sFFqs{o9*Y`Dh-A{vq9*(!sB>Z8sm#Tr)^pkeU|g zF`wb6_12zLzCsJcEH}i}*8#T=%=Ajvw=za~ItfGL7iq`dwPSO28myTsO@2nRinrUX z!mR%59~ZsFu-sc)p8~n^R@Hr55^f6^ceytn?f4uWIT5wG!ZJAzC)wz>qxzs$cDZHe z%ewcF96v6?3#5L?wgQXRx1~Ckc7T&OXeTT#DOoa5p;fhf=!qzJ1JiDCe)P>vvj1{@laQ7p|bP{cX~D=?s{)Wcs=Hh;ZNRO zl5K_H&3TF6LFntPq1D^7N&lg}WesSXT3T$Su3-oqEOfg&nO2o|FkKp0Z1ld=ar^kj z^H;h@K=}dmwhUJGU_iRN13drH_{AH2&{iQ-doOtUprPzq-=n8+_hPWS>E@xs7P1&w zZhRueRseap_NrL9#emj#5X1<%^W!q>99;OmE>x^p+wtH&RSI6C3oc4~tWO7&jM zGe#$Nz*0F)y_!z;t=OpBT^uelrd^U4w0`G`NsTs0ITefK`0SHa=(YnO2T)Ka9MQ1_)kDYBN+x!Y)sKdAEW5H^A3Pz3I75vjMM*jl{j zq7!v2XzK8e+xrcG5&aH^K@{eBq|3l@7jPqtRYNr98GgopT#3QvcJ0)p!XPEDXA^2~ z1hx#~qRv=vCG{6Mz*VTR?;&XPuhJ^!YFS!&T3PSV>nXkDk2E8Df#&;^d-0Dd{`k`I z!5ZIjI0JJxQ=?D`tlK+txp&7GU3DkUuEzDs7mbMhHL+t0$(Ze|@#Wl&YeTmg5q9qh z_dkn6*%7aicgIhLAAD+|$2MPm(;>YlBZ$52N@SNQc>UW!Raey#%3{M9%!kbX-s0T^ z2m8`}AR$!0JbE5>6JTq=y5qAR$NwP$^HWiEwMJbyyFUgAU-Yb`f60Vk>*&U9fbv%8 z;9|NJhU>6L8J`k4ar-W36yf?UfK~Y2HtFIfS+G^lR3P<^W-rsf-CkbI4Oiy5c)+S>6F-Sq_5{sgSdMCnEeY8n^Q@?6>g`^M|RI27T0Vhoc%=+|HgN)YjUV z8yL&Y+UroGphX@W?#NZ0>70vgCQZrBlJS#WgFp;maY#I2(Qm`vki_Vk9J>;;m8E~s zuSd%TC?Z#B_i+tQw)D8n`r)-(%JWH%9Ie9|sr_GOa2et<8AjXW zv`4&35OPi82QH=F;*{crNK1!n}=%WR}L_K_=j##y^R<*H$QDgc3PELPE z4a9wiT41p$pa?!2gT%hg`H@^bS=9xs$s*WQ%yTHGH;k-}cRP#d=#&WM?iwETAD9lR zic&UTP=M#Ln!i}j>n-J6KO2b9OzGq+DBCOB0A8;5NLD&F{0O9OXa;}%ulo=Nm(@a0s`u%E9p07L>qMyn|~CK^vb64h5c_D7F^=LX^R`fYN}jirA;C0KQAyi?M+-3nK2XH+79Dc);pe~n&*{)gSo>}gP zkN4`8jO|^$CkFw1ppJxhf6EMVmeA4JxvXTo+euP3_QDp_U^SKtoJboq8{kkm9U=k0 zVX%;Z0NO~pVYI~%H(zgM`N*elxg*(#e5nDT9R;&579#nbI&0iDJlw$=6%z2f4YmVmd(-NEY!{WFEWf_R=WgD^TPyGs(os}U zP%HHU33B^^XYIK*${1LBHtAMAgC_g+gx>?{FK)vt-dEhwi+z>%>#h}S_|VFR@`K#s z;s*X0ZXXS{ALZ&*!5}z#%Z!wGaQ@L%rTWK8My(QM5<0rlGJUqfp%j*b>t2=nJ@08p zpW08-^3v{?L55CZp!JQh5|~~l3o0cwHSfZf;a|0WOK-A=G{z;vG5wR7#_qXleG9P&GBS0dfUZQnz@Dgmvw zA@OPA`QwgEp}vEg>yGKWx=I- zbb~N73?m9icc*~V&^a)aO6kx!G}1XBodak4`=4`NzpvltdGTD=Id9HOFZOKL-uqtn zTI;?)5n@pOB*oC*yjIz;Tr&NaHh@%&h~TOSX}(51CQTb0t(Xq28d6g_fBOQN!V#sp zj|D(*f@0P9YHHaG90p*8#S27}`+J~1(?$j99O&5q{sQ_PEIeBW@7dmrw2&=iGH)~K?0V=WaKEEg z>Fo|iMbty;Kk-U0$Vs_hL_|PBlsmm!N^Od6Ei-eX7Jf(kv!vv9Pcz&NBi?frrQ5#z z;~nT{!&AI~Foa;*tQ1I_zv|GY6nt$uS9ml=!iIto_W**e)AiQ~o&F&V)NARq2?|@~ zvmwL>mg@d%9H}1P5##EI$@LV*yQL|{NenDz_ zasY`O{*!EB3b|{l2v;Da(<{R?? z#D}&GPgzc`yOaU+bz3UC%P`+>@l+z&Y7UGHY$d92PTLOdnUIrH`Zk1;P}6@0 z2Ge4}oW`m+=gCh#>|IbbHhKyqz2;9n37XdG%r$m9{q78M2=X3%B2@oXwVhqY(=$1D z`Ll-Z^}!6GyW;|(DfEy{r*bZwjdG$Rx&1~Pe2w%^8f@Q5&CzjkSh32OBe>5@0HqRi zmW4NqA=-*bC(1B}$`$NB6*CKy)I#+Rfo*pefE?)@%3C*sfp=uA71FsCWFPaeD{f6v zj~*D6qK@2LxZahc&&XVgH0bN`UHel^S(P$INgF0>HJ~e8!hIg=eD*jjtukpI zxbTz*&o*f~I9*+ZRCsy4V_R5g{5@Og4xslmkp~YGa3IMmJA6`*fqJ@t3oCl2NOXin zj|$9{gCI}!r7szi>iK{N?f4p1rjzrcV{OLbh6!CxZ#D*PBOnYqbl;5bs$)!A!oNyE=g3g=&uMn2>_(rU&jNV(vGGS zE6B3wQT59(@oRz=Ri3Qq?YRa(2YH~&0z<+h*_XlFg{dXI3E`r|{C$t;BoklHK zbn7O#{{CggZc=jxmvT&MVSdnTr8um@?b-mL(Vrsba8kK3bnVM-*fw2m1ZjWOn|-_w zZ&|4%X*^p>pR7H-wcC=y>DnW)dL zhm_tYwbj&^v$r`P|3ap*CK(uM^F}x?R6lHsb*fP{X~&yuzv1>hp^cKIYcalGHW%Pv z2tVl3)vK~4X}j98dCpjrJ%?|3PH24f`!1YbRCL6KD)I_*%ISYSuKK#3S*yQy(})=? z?fU?Gi_%;$S39D6V-A{$!USM2TrC0!yh7+DTie-%P0Q8QNAjUlENT(AJIhP~i#Spb z+Qu4MEhhy{W(re;?5~Q*C)cqoEiGXWibX|Z5>`|EKtbKQ6S^$sJ*ro;9+|EZ_iR6L z0W~|fQXm#Np@sD&DHDaII8F!SKy?%nOqSh>2Ql^0Lh~7HmtK|G0K0?K06`P7ghR@c zfK7szdAMs%H#^;pa0##GHjJM{psECQNQ^{AiSw7Y-NDtg=IM}&#dovg7?S#(DI1OG zYS8*LUXMy<_m5$^<)5;96WvF5g=um^E3Ny~!Gl|u5PH<)(AvI>A00d}855NcrqI3K zm0dn(Zo4G8u*HxA5Ro(q%%)DXO{>TFD5w|O54ylKrhqaFj~7|X@jm`%X@4Dg!Bx~2 z)^F$uYuH-duvm9?+BtJ@sbxyBn53ffb*h91{4R_6f3~(wQHJsi90cD4t!}=DhClGU zzB(;r{4JBuHdE~OgiiDWnJH~#03^F-yW?Vc<)^0iI!3k1c31;-J|D1d5gA~?ZQ{Gn z0%-c&$2^FBHz4pUpzT#JY$3DfzCkts$p%#NLX-P5-Y&G=CFi#NGU&$CcF802gzi1o za)?9w7rZ>6lX8vRZ>f+np$bNspd)x(+OV4_TQ6GHJhKaWb(VwIv(>DUHD)E4@fwt)Q3VQ zm?(yPYlmf>E{r|KN$?vki8u`HHAPZB&c%$rmBV`JG}%Zow+BV8pYYiX0Oy(3R_FGe z1Dy)Y9S*8(BHME%$vYgE8fdn{MONmpip|K)EgC=6dF1 zhivqNx#-T$H!Ww#&!4Bwj81lX&d$7#yem|{x&g(r_RF|`ojgi*Sr^bZ^^REvoVGcf z68u`%`R4DH-t`kvM5gzzQRBYM8Q;A!pS9$qJvNgdj=~nq=-BD+g}fFoB`xjK-0~g@ z`n++eUR1mdaGB)l%gxK@G%Tc`ao-lN)eq(K^PcU0#hm^cl!lVrTzll9YK0?p|5ZsS zSZfbaP_Y-rrL27u8AkBno|gP3WnaL0#9BR_LVC>~8gzkRX}0&I341n~q-(KkV6

> diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 3dc3d74..372d601 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -305,7 +305,7 @@ public function getNbCategoriesInDolibarr() public function getNbCategoriesInDolibarrLinkedToE($excludeid = 0) { - $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_category WHERE type = 0"; + $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_category WHERE type = 0 AND fk_site=".$this->eCommerceSite->id; $sql.=" AND fk_category <> ".$excludeid; $resql=$this->db->query($sql); if ($resql) @@ -336,7 +336,7 @@ public function getNbProductInDolibarr() public function getNbProductInDolibarrLinkedToE() { - $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_product"; + $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_product WHERE fk_site=".$this->eCommerceSite->id; $resql=$this->db->query($sql); if ($resql) { @@ -370,7 +370,7 @@ public function getNbSocieteInDolibarr() public function getNbSocieteInDolibarrLinkedToE() { - $sql="SELECT COUNT(s.rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_societe as s"; + $sql="SELECT COUNT(s.rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_societe as s WHERE fk_site=".$this->eCommerceSite->id; $resql=$this->db->query($sql); if ($resql) @@ -401,7 +401,7 @@ public function getNbCommandeInDolibarr() public function getNbCommandeInDolibarrLinkedToE() { - $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_commande"; + $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_commande WHERE fk_site=".$this->eCommerceSite->id; $resql=$this->db->query($sql); if ($resql) { @@ -431,7 +431,7 @@ public function getNbFactureInDolibarr() public function getNbFactureInDolibarrLinkedToE() { - $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_facture"; + $sql="SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."ecommerce_facture WHERE fk_site=".$this->eCommerceSite->id; $resql=$this->db->query($sql); if ($resql) { @@ -1066,7 +1066,7 @@ public function synchSociete($toNb=0) // Search into email company and contact $result = get_company_by_email($this->db, $societeArray['email_key']); - if ($result > 0) { + if ($result > 0 && $result != $this->eCommerceSite->fk_anonymous_thirdparty) { $result = $dBSociete->fetch($result); } } @@ -1222,6 +1222,9 @@ public function synchSociete($toNb=0) { dol_syslog("Make a remote call to get contacts"); // Slow because done on each thirdparty to sync. $listofaddressids=$this->eCommerceRemoteAccess->getRemoteAddressIdForSociete($societeArray['remote_id']); // Ask contacts to magento + if ($this->eCommerceSite->type == 2) { // Woocommerce + $listofaddressids = $societeArray['remote_datas']; + } if (is_array($listofaddressids)) { $socpeoples = $this->eCommerceRemoteAccess->convertRemoteObjectIntoDolibarrSocpeople($listofaddressids); @@ -1307,7 +1310,7 @@ public function synchSocpeople($socpeopleArray) //print "Work on remote_id = " .$socpeopleArray['remote_id']." type = ".$socpeopleArray['type']."\n"; //check if contact exists in eCommerceSocpeople table - if (isset($socpeopleArray['remote_id'])) { + if (!empty($socpeopleArray['remote_id'])) { // $socpeopleArray['type'] = 1 = Contact de tiers // $socpeopleArray['type'] = 2 = Contact de commande // $socpeopleArray['type'] = 3 = Contact de facture @@ -1346,6 +1349,11 @@ public function synchSocpeople($socpeopleArray) $contactExists = $this->getContactIdFromInfos($dBContact); if ($contactExists > 0) { $contactExists = $dBContact->fetch($contactExists); + if (isset($socpeopleArray['country_id'])) $dBContact->country_id = $socpeopleArray['country_id']; + if (isset($socpeopleArray['email'])) $dBContact->email = $socpeopleArray['email']; + if (isset($socpeopleArray['phone'])) $dBContact->phone_pro = dol_trunc($socpeopleArray['phone'], 30, 'right', 'UTF-8', 1); + if (isset($socpeopleArray['fax'])) $dBContact->fax = dol_trunc($socpeopleArray['fax'], 30, 'right', 'UTF-8', 1); + $dBContact->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $synchExists = $this->eCommerceSocpeople->fetchByFkSocpeople($dBContact->id, $this->eCommerceSite->id); } } @@ -1556,17 +1564,20 @@ public function synchProduct($toNb=0) $this->db->begin(); + $dBProduct = new Product($this->db); + //check if product exists in eCommerceProduct (with remote id) $idProduct = ''; $synchExists = $this->eCommerceProduct->fetchByRemoteId($productArray['remote_id'], $this->eCommerceSite->id); if ($synchExists > 0) { $idProduct = $this->eCommerceProduct->fk_product; - } - - $dBProduct = new Product($this->db); - + } else { // First, we check object does not alreay exists. If not, we create it, if it exists, update it. - $refExists = $dBProduct->fetch($idProduct, dol_string_nospecial(trim($productArray['ref']))); + $refExists = $dBProduct->fetch('', dol_string_nospecial(trim($productArray['ref']))); + if ($refExists > 0 && $this->eCommerceProduct->fetchByProductId($dBProduct->id, $this->eCommerceSite->id) > 0) { + $refExists = ''; + } + } //libelle of product object = label into database $dBProduct->ref = dol_string_nospecial(trim($productArray['ref'])); @@ -1629,6 +1640,12 @@ public function synchProduct($toNb=0) } } } + else + { + $error++; + $this->error=$this->langs->trans('ECommerceSynchProductUpdateError').' '.$dBProduct->error; + $this->errors[]=$this->error; + } // We must set the initial stock if ($this->eCommerceSite->stock_sync_direction == 'ecommerce2dolibarr' && ($productArray['stock_qty'] != $dBProduct->stock_reel)) // Note: $dBProduct->stock_reel is 0 after a creation @@ -1654,7 +1671,7 @@ public function synchProduct($toNb=0) { $error++; $this->error=$this->langs->trans('ECommerceSynchMouvementStockChangeError').' '.$movement->error; - $this->errors = array_merge($this->errors, $movement->errors); + $this->errors[] = $this->error; } } } @@ -1683,7 +1700,7 @@ public function synchProduct($toNb=0) $error++; if ($dBProduct->error == 'ErrorProductAlreadyExists') $this->error=$this->langs->trans('ECommerceSynchProductCreateError').' '.$this->langs->trans($dBProduct->error, $dBProduct->ref); else $this->error=$this->langs->trans('ECommerceSynchProductCreateError').' '.$dBProduct->error; - $this->errors = array_merge($this->errors, $dBProduct->errors); + $this->errors[] = $this->error; } // We must set the initial stock @@ -1708,8 +1725,8 @@ public function synchProduct($toNb=0) if ($result <= 0) { $error++; - $this->errors[]=$this->langs->trans('ECommerceSynchMouvementStockChangeError').' '.$movement->error; - $this->errors = array_merge($this->errors, $movement->errors); + $this->error=$this->langs->trans('ECommerceSynchMouvementStockChangeError').' '.$movement->error; + $this->errors[] = $this->error; } } } @@ -1792,9 +1809,9 @@ public function synchProduct($toNb=0) if ($this->eCommerceProduct->update($this->user) < 0) { $error++; - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceProductUpdateError') . ' ' . $productArray['label']; - $this->errors = array_merge($this->errors, $this->eCommerceProduct->errors); - dol_syslog($this->langs->trans('ECommerceSyncheCommerceProductUpdateError') . ' ' . $productArray['label'], LOG_WARNING); + $this->error = $this->langs->trans('ECommerceSyncheCommerceProductUpdateError') . ' ' . $productArray['label']; + $this->errors[] = $this->error; + dol_syslog($this->error, LOG_WARNING); } } // if not previous synchro exists into link table (we faild to find it from the remote_id) @@ -1810,17 +1827,18 @@ public function synchProduct($toNb=0) if ($this->eCommerceProduct->create($this->user) < 0) { $error++; - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceProductCreateError') . ' ' . $productArray['label'].', '.$this->eCommerceProduct->error; - $this->errors = array_merge($this->errors, $this->eCommerceProduct->errors); - dol_syslog($this->langs->trans('ECommerceSyncheCommerceProductCreateError') . ' ' . $productArray['label'].', '.$this->eCommerceProduct->error, LOG_WARNING); + $this->error = $this->langs->trans('ECommerceSyncheCommerceProductCreateError') . ' ' . $productArray['label'].', '.$this->eCommerceProduct->error; + $this->errors[] = $this->error; + dol_syslog($this->error, LOG_WARNING); } } } else { $error++; - $this->errors[] = $this->langs->trans('ECommerceSynchProductError') . ' ' . $productArray['label']; - dol_syslog($this->langs->trans('ECommerceSynchProductError') . ' ' . $productArray['label'], LOG_WARNING); + $this->error = $this->langs->trans('ECommerceSynchProductError') . ' Ref:' . $productArray['ref'] . ' Nom:' . $productArray['label'] . ', remote ID:' . $productArray['remote_id']; + $this->errors[] = $this->error; + dol_syslog($this->error, LOG_WARNING); } unset($dBProduct); @@ -1861,8 +1879,9 @@ public function synchProduct($toNb=0) $this->errors[] = $this->error; } } catch (Exception $e) { - $this->errors[] = $this->langs->trans('ECommerceErrorsynchProduct'); - dol_syslog($this->langs->trans('ECommerceSynchProductError'), LOG_WARNING); + $this->error = $this->langs->trans('ECommerceErrorsynchProduct'); + $this->errors[] = $this->error; + dol_syslog($this->error, LOG_WARNING); } return -1; @@ -1939,10 +1958,10 @@ public function synchCommande($toNb=0) else { // This is an unknown customer. May be a non logged customer. - if ($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER > 0) + if ($this->eCommerceSite->fk_anonymous_thirdparty > 0) { $societeExists = 1; - $this->eCommerceSociete->fk_societe = $conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER; + $this->eCommerceSociete->fk_societe = $this->eCommerceSite->fk_anonymous_thirdparty; } else { @@ -2029,14 +2048,14 @@ public function synchCommande($toNb=0) { if ($dBCommande->statut != Commande::STATUS_VALIDATED) { - $dBCommande->setStatut(Commande::STATUS_VALIDATED, $dbCommande->id, $dbCommande->table_element); + $dBCommande->setStatut(Commande::STATUS_VALIDATED, $dBCommande->id, $dBCommande->table_element); } } if ($commandeArray['status'] == 2) // Should be Commande::STATUS_SHIPMENTONPROCESS but not defined in dolibarr 3.9 { if ($dBCommande->statut != 2) { - $dBCommande->setStatut(2, $dbCommande->id, $dbCommande->table_element); + $dBCommande->setStatut(2, $dBCommande->id, $dBCommande->table_element); } } if ($commandeArray['status'] == Commande::STATUS_CANCELED) @@ -2046,7 +2065,7 @@ public function synchCommande($toNb=0) $idWareHouse = 0; // We don't change stock here, even if dolibarr option is on because, this should be already done by product sync //if ($this->eCommerceSite->stock_sync_direction == 'ecommerce2dolibarr') $idWareHouse=$this->eCommerceSite->fk_warehouse; - $dBCommande->cancel(0, $idWarehouse); + $dBCommande->cancel(0, $idWareHouse); } } if ($commandeArray['status'] == Commande::STATUS_CLOSED) @@ -2100,8 +2119,8 @@ public function synchCommande($toNb=0) { dol_syslog("synchCommande result=".$result." ".$dBCommande->error, LOG_ERR); $error++; - $this->errors[]=$this->langs->trans('ECommerceSynchCommandeCreateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dBCommande->errors); + $this->error = $this->langs->trans('ECommerceSynchCommandeCreateError').' '.$dBCommande->error; + $this->errors[] = $this->error; } // Add lines @@ -2120,7 +2139,7 @@ public function synchCommande($toNb=0) if (($result = $dBCommande->defineBuyPrice($item['price'], 0, $fk_product)) < 0) { $this->error = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dBCommande->errors); + $this->errors[] = $this->error; $error++; break; // break on items } @@ -2145,8 +2164,18 @@ public function synchCommande($toNb=0) $buyprice = $productFournisseur->fourn_unitprice; }*/ - $result = $dBCommande->addline($item['description'], $item['price'], $item['qty'], $item['tva_tx'], 0, 0, - $this->eCommerceProduct->fk_product, //fk_product + $description = $item['description']; + if (empty($description) && $fk_product > 0) { + $dBProduct = new Product($this->db); + $dBProduct->fetch($fk_product); + $description = $dBProduct->label; + } + if (empty($description)) { + $description = $this->langs->trans('ECommerceNoDescForProductLine'); + } + + $result = $dBCommande->addline($description, $item['price'], $item['qty'], $item['tva_tx'], 0, 0, + $fk_product, //fk_product 0, //remise_percent 0, //info_bits 0, //fk_remise_except @@ -2164,8 +2193,8 @@ public function synchCommande($toNb=0) dol_syslog("result=".$result); if ($result <= 0) { - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dBCommande->errors); + $this->error = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; + $this->errors[] = $this->error; $error++; break; // break on items } @@ -2201,8 +2230,8 @@ public function synchCommande($toNb=0) ); if ($result <= 0) { - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; - $this->errors = array_merge($this->errors, $dBCommande->errors); + $this->error = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$dBCommande->error; + $this->errors[] = $this->error; $error++; } } @@ -2275,9 +2304,23 @@ public function synchCommande($toNb=0) } //add or update contacts of order ($this->eCommerceSociete->fk_societe is id in Dolibarr of thirdparty but may be id of the generic "non logged user") - $commandeArray['socpeopleCommande']['fk_soc'] = $this->eCommerceSociete->fk_societe; - $commandeArray['socpeopleFacture']['fk_soc'] = $this->eCommerceSociete->fk_societe; - $commandeArray['socpeopleLivraison']['fk_soc'] = $this->eCommerceSociete->fk_societe; + $fk_soc_socpeopleCommande = $this->eCommerceSociete->fk_societe; + $fk_soc_socpeopleFacture = $this->eCommerceSociete->fk_societe; + $fk_soc_socpeopleLivraison = $this->eCommerceSociete->fk_societe; + if ($this->eCommerceSociete->fk_societe == $this->eCommerceSite->fk_anonymous_thirdparty) { + if (!empty(trim($commandeArray['socpeopleCommande']['email']))) { + $fk_soc_socpeopleCommande = get_company_by_email($this->db, $commandeArray['socpeopleCommande']['email'], $this->eCommerceSite->id); + } + if (!empty(trim($commandeArray['socpeopleFacture']['email']))) { + $fk_soc_socpeopleFacture = get_company_by_email($this->db, $commandeArray['socpeopleFacture']['email'], $this->eCommerceSite->id); + } + if (!empty(trim($commandeArray['socpeopleLivraison']['email']))) { + $fk_soc_socpeopleLivraison = get_company_by_email($this->db, $commandeArray['socpeopleLivraison']['email'], $this->eCommerceSite->id); + } + } + $commandeArray['socpeopleCommande']['fk_soc'] = $fk_soc_socpeopleCommande; + $commandeArray['socpeopleFacture']['fk_soc'] = $fk_soc_socpeopleFacture; + $commandeArray['socpeopleLivraison']['fk_soc'] = $fk_soc_socpeopleLivraison; if (! $error) { @@ -2320,8 +2363,8 @@ public function synchCommande($toNb=0) if ($this->eCommerceCommande->update($this->user) < 0) { $error++; - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$this->eCommerceCommande->error; - $this->errors = array_merge($this->errors, $this->eCommerceCommande->errors); + $this->error = $this->langs->trans('ECommerceSyncheCommerceCommandeUpdateError').' '.$this->eCommerceCommande->error; + $this->errors[] = $this->error; } } //if not previous synchro exists @@ -2338,9 +2381,9 @@ public function synchCommande($toNb=0) if ($this->eCommerceCommande->create($this->user) < 0) { $error++; - $this->errors[] = $this->langs->trans('ECommerceSyncheCommerceCommandeCreateError').' '.$dBCommande->id.', '.$this->eCommerceCommande->error; - $this->errors = array_merge($this->errors, $this->eCommerceCommande->errors); - dol_syslog($this->langs->trans('ECommerceSyncheCommerceCommandeCreateError') . ' ' . $dBCommande->id.', '.$this->eCommerceCommande->error, LOG_WARNING); + $this->error = $this->langs->trans('ECommerceSyncheCommerceCommandeCreateError').' '.$dBCommande->id.', '.$this->eCommerceCommande->error; + $this->errors[] = $this->error; + dol_syslog($this->error, LOG_WARNING); } } } @@ -2358,8 +2401,8 @@ public function synchCommande($toNb=0) { $error++; $this->errors[] = $this->langs->trans('ECommerceSynchCommandeErrorSocieteNotExists') . ' (remote_id='.$commandeArray['remote_id'].') - Unknown customer.'; - if (empty($conf->global->ECOMMERCENG_PASS_ORDER_FOR_NONLOGGED_CUSTOMER)) { - $this->errors[] = 'This order is not linked to a dedicated customer. Try to set option ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER'; + if (empty($this->eCommerceSite->fk_anonymous_thirdparty)) { + $this->errors[] = 'This order is not linked to a dedicated customer. Try to set option Anonymous thirdparty into the site parameters'; } } } @@ -2484,10 +2527,10 @@ public function synchFacture($toNb=0) else { // This is an unknown customer. May be a non logged customer. - if (! empty($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER)) + if ($this->eCommerceSite->fk_anonymous_thirdparty > 0) { $societeExists = 1; - $this->eCommerceSociete->fk_societe = $conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER; + $this->eCommerceSociete->fk_societe = $this->eCommerceSite->fk_anonymous_thirdparty; } else { @@ -3164,6 +3207,9 @@ public function dropImportedAndSyncData($deletealsoindolibarr, $mode='') $this->initECommerceSociete(); if ($this->eCommerceSociete->fetch($idSociete) > 0) { + // Skip anonymous thirdparty + if ($this->eCommerceSociete->remote_id == 0) continue; + if ($deletealsoindolibarr) { $dbSociete = new Societe($this->db); @@ -3247,16 +3293,16 @@ function getContactIdFromInfos($contact) $contactId = -1; $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'socpeople'; - $sql .= ' WHERE lastname="'.$db->escape(trim($contact->lastname)).'"'; - $sql .= ' AND firstname="'.$db->escape(trim($contact->firstname)).'"'; - $sql .= ' AND address="'.$db->escape(trim($contact->address)).'"'; - $sql .= ' AND town="'.$db->escape(trim($contact->town)).'"'; - $sql .= ' AND zip="'.$db->escape(trim($contact->zip)).'"'; + $sql .= ' WHERE lastname LIKE "'.$db->escape(trim($contact->lastname)).'"'; + $sql .= ' AND firstname LIKE "'.$db->escape(trim($contact->firstname)).'"'; + $sql .= ' AND address LIKE "'.$db->escape(trim($contact->address)).'"'; + $sql .= ' AND town LIKE "'.$db->escape(trim($contact->town)).'"'; + $sql .= ' AND zip LIKE "'.$db->escape(trim($contact->zip)).'"'; if (isset($contact->country_id)) $sql .= ' AND fk_pays='.($contact->country_id>0?$contact->country_id:'NULL'); - if (isset($contact->email)) $sql .= ' AND email="'.$db->escape(trim($contact->email)).'"'; - if (isset($contact->phone_pro)) $sql .= ' AND phone="'.$db->escape(trim($contact->phone_pro)).'"'; - if (isset($contact->fax)) $sql .= ' AND fax="'.$db->escape(trim($contact->fax)).'"'; - $sql .= ' AND fk_soc="'.$contact->fk_soc.'"'; + if (isset($contact->email)) $sql .= ' AND email LIKE "'.$db->escape(trim($contact->email)).'"'; + if (isset($contact->phone_pro)) $sql .= ' AND phone LIKE "'.$db->escape(trim($contact->phone_pro)).'"'; + if (isset($contact->fax)) $sql .= ' AND fax LIKE "'.$db->escape(trim($contact->fax)).'"'; + $sql .= ' AND fk_soc='.$contact->fk_soc; $resql = $this->db->query($sql); if($resql) diff --git a/htdocs/ecommerceng/class/data/eCommerceCategory.class.php b/htdocs/ecommerceng/class/data/eCommerceCategory.class.php index 656d800..4f8eef4 100644 --- a/htdocs/ecommerceng/class/data/eCommerceCategory.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceCategory.class.php @@ -396,7 +396,7 @@ public function checkForUpdate($siteId, $toDate, $remoteCatToCheck) $catObj = new Categorie($this->db); $ret = $catObj->fetch($obj->fk_category); if ($ret > 0) { - $diffvalues = $catObj->label != $remoteCatToCheck['name'] || $catObj->description != $remoteCatToCheck['description']; + $diffvalues = $catObj->label != trim($remoteCatToCheck['name']) || $catObj->description != trim($remoteCatToCheck['description']); } } else { $now = $toDate; // Dolibarr's category time diff --git a/htdocs/ecommerceng/class/data/eCommerceSite.class.php b/htdocs/ecommerceng/class/data/eCommerceSite.class.php index f3cd7c2..8677165 100644 --- a/htdocs/ecommerceng/class/data/eCommerceSite.class.php +++ b/htdocs/ecommerceng/class/data/eCommerceSite.class.php @@ -41,6 +41,7 @@ class eCommerceSite // extends CommonObject var $filter_value; var $fk_cat_societe; var $fk_cat_product; + var $fk_anonymous_thirdparty; var $fk_warehouse; var $stock_sync_direction; var $last_update; @@ -114,6 +115,7 @@ function create($user, $notrigger=0) if (isset($this->filter_value)) $this->filter_value=trim($this->filter_value); if (isset($this->fk_cat_societe)) $this->fk_cat_societe=trim($this->fk_cat_societe); if (isset($this->fk_cat_product)) $this->fk_cat_product=trim($this->fk_cat_product); + if (isset($this->fk_anonymous_thirdparty)) $this->fk_anonymous_thirdparty=trim($this->fk_anonymous_thirdparty); if (isset($this->fk_warehouse)) $this->fk_warehouse=trim($this->fk_warehouse); if (isset($this->stock_sync_direction)) $this->stock_sync_direction=trim($this->stock_sync_direction); if (isset($this->timeout)) $this->timeout=trim($this->timeout); @@ -136,6 +138,7 @@ function create($user, $notrigger=0) $sql.= "filter_value,"; $sql.= "fk_cat_societe,"; $sql.= "fk_cat_product,"; + $sql.= "fk_anonymous_thirdparty,"; $sql.= "fk_warehouse,"; $sql.= "stock_sync_direction,"; $sql.= "last_update,"; @@ -155,6 +158,7 @@ function create($user, $notrigger=0) $sql.= " ".(! isset($this->filter_value)?'NULL':"'".$this->db->escape($this->filter_value)."'").","; $sql.= " ".($this->fk_cat_societe > 0 ? $this->fk_cat_societe : "NULL").","; $sql.= " ".($this->fk_cat_product > 0 ? $this->fk_cat_product : "NULL").","; + $sql.= " ".($this->fk_anonymous_thirdparty > 0 ? $this->fk_anonymous_thirdparty : "NULL").","; $sql.= " ".($this->fk_warehouse > 0 ? $this->fk_warehouse : "NULL").","; $sql.= " ".($this->stock_sync_direction ? "'".$this->stock_sync_direction."'" : "'none'").","; $sql.= " ".(! isset($this->last_update) || strlen($this->last_update)==0?'NULL':"'".$this->db->idate($this->last_update)."'").","; @@ -177,7 +181,7 @@ function create($user, $notrigger=0) //create an entry for anonymous company $eCommerceSociete = new eCommerceSociete($this->db); - $eCommerceSociete->fk_societe = dolibarr_get_const($this->db, 'ECOMMERCE_COMPANY_ANONYMOUS'); + $eCommerceSociete->fk_societe = $this->fk_anonymous_thirdparty; $eCommerceSociete->fk_site = $this->id; $eCommerceSociete->remote_id = 0; if ($eCommerceSociete->create($user)<0) @@ -227,6 +231,7 @@ function fetch($id) $sql.= " t.filter_value,"; $sql.= " t.fk_cat_societe,"; $sql.= " t.fk_cat_product,"; + $sql.= " t.fk_anonymous_thirdparty,"; $sql.= " t.fk_warehouse,"; $sql.= " t.stock_sync_direction,"; $sql.= " t.last_update,"; @@ -258,6 +263,7 @@ function fetch($id) $this->filter_value = $obj->filter_value; $this->fk_cat_societe = $obj->fk_cat_societe; $this->fk_cat_product = $obj->fk_cat_product; + $this->fk_anonymous_thirdparty = $obj->fk_anonymous_thirdparty; $this->fk_warehouse = $obj->fk_warehouse; $this->stock_sync_direction = $obj->stock_sync_direction; $this->last_update = $this->db->jdate($obj->last_update); @@ -306,6 +312,7 @@ function update($user=0, $notrigger=0) if (isset($this->filter_value)) $this->filter_value=trim($this->filter_value); if (isset($this->fk_cat_societe)) $this->fk_cat_societe=trim($this->fk_cat_societe); if (isset($this->fk_cat_product)) $this->fk_cat_product=trim($this->fk_cat_product); + if (isset($this->fk_anonymous_thirdparty)) $this->fk_anonymous_thirdparty=trim($this->fk_anonymous_thirdparty); if (isset($this->fk_warehouse)) $this->fk_warehouse=trim($this->fk_warehouse); if (isset($this->timeout)) $this->timeout=trim($this->timeout); if (isset($this->oauth_id)) $this->oauth_id=trim($this->oauth_id); @@ -327,6 +334,7 @@ function update($user=0, $notrigger=0) $sql.= " filter_value=".(isset($this->filter_value)?"'".$this->db->escape($this->filter_value)."'":"null").","; $sql.= " fk_cat_societe=".($this->fk_cat_societe > 0 ? $this->fk_cat_societe:"null").","; $sql.= " fk_cat_product=".($this->fk_cat_product > 0 ? $this->fk_cat_product:"null").","; + $sql.= " fk_anonymous_thirdparty=".($this->fk_anonymous_thirdparty > 0 ? $this->fk_anonymous_thirdparty:"null").","; $sql.= " fk_warehouse=".($this->fk_warehouse > 0 ? $this->fk_warehouse:"null").","; $sql.= " stock_sync_direction=".($this->stock_sync_direction ? "'".$this->stock_sync_direction."'":"'none'").","; $sql.= " last_update=".((isset($this->last_update) && $this->last_update != '') ? "'".$this->db->idate($this->last_update)."'" : 'null').","; @@ -345,7 +353,36 @@ function update($user=0, $notrigger=0) if (! $error) { - if (! $notrigger) + $eCommerceSociete = new eCommerceSociete($this->db); + if ($eCommerceSociete->fetchByRemoteId(0, $this->id) > 0) { + if (isset($this->fk_anonymous_thirdparty)) { + // update an entry for anonymous company + $eCommerceSociete->fk_societe = $this->fk_anonymous_thirdparty; + if ($eCommerceSociete->update($user) < 0) { + $error++; + $this->errors[] = "Error " . $this->db->lasterror(); + } + } else { + // delete an entry for anonymous company + if ($eCommerceSociete->delete($user) < 0) { + $error++; + $this->errors[] = "Error " . $this->db->lasterror(); + } + } + } else { + // create an entry for anonymous company + $eCommerceSociete = new eCommerceSociete($this->db); + $eCommerceSociete->fk_societe = $this->fk_anonymous_thirdparty; + $eCommerceSociete->fk_site = $this->id; + $eCommerceSociete->remote_id = 0; + if ($eCommerceSociete->create($user)<0) + { + $error++; + $this->errors[]="Error ".$this->db->lasterror(); + } + } + + if (! $notrigger && !$error) { // Uncomment this and change MYOBJECT to your own tag if you // want this action call a trigger. @@ -510,6 +547,7 @@ function initAsSpecimen() $this->filter_value=''; $this->fk_cat_societe=''; $this->fk_cat_product=''; + $this->fk_anonymous_thirdparty=''; $this->fk_warehouse=''; $this->stock_sync_direction='none'; $this->last_update=''; diff --git a/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php b/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php index 70e5764..19c6eba 100644 --- a/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php +++ b/htdocs/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php @@ -141,7 +141,8 @@ function eCommerceRemoteAccessWoocommerce($db, $site) */ public function connect() { - dol_syslog(__METHOD__ . ": Connect to API webservice_address=" . $this->site->webservice_address . " user_name=" . $this->site->user_name . " user_password=" . $this->site->user_password . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Connect to API webservice_address=" . $this->site->webservice_address . " user_name=" . + $this->site->user_name . " user_password=" . $this->site->user_password . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $response_timeout = (empty($conf->global->MAIN_USE_RESPONSE_TIMEOUT) ? 30 : $conf->global->MAIN_USE_RESPONSE_TIMEOUT); // Response timeout @@ -190,7 +191,7 @@ public function connect() return false; } - dol_syslog(__METHOD__ . ": end, ok"); + dol_syslog(__METHOD__ . ": end, ok", LOG_DEBUG); return true; } @@ -204,7 +205,8 @@ public function connect() */ public function getSocieteToUpdate($fromDate, $toDate) { - dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . + ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $last_update = []; @@ -253,10 +255,9 @@ public function getSocieteToUpdate($fromDate, $toDate) //important - order by last update if (count($result)) { array_multisort($last_update, SORT_ASC, $result); - $result = array_values($result); } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return $result; } @@ -270,7 +271,8 @@ public function getSocieteToUpdate($fromDate, $toDate) */ public function getProductToUpdate($fromDate, $toDate) { - dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . + ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $last_update = []; @@ -310,36 +312,32 @@ public function getProductToUpdate($fromDate, $toDate) // Product if ((!isset($from_date) || $from_date < $date_product) && (!isset($to_date) || $date_product <= $to_date)) { - $update = true; + $id = $product['id']; + $result[$id] = $id; + $last_update[$id] = $date_product->format('Y-m-d H:i:s'); } // Variations if (!$update) { foreach ($product['variations'] as $variation) { - $date = $this->getDateTimeFromGMTDateTime(!empty($variation['updated_at']) ? $variation['updated_at'] : $variation['created_at']); + $date_variation = $this->getDateTimeFromGMTDateTime(!empty($variation['updated_at']) ? $variation['updated_at'] : $variation['created_at']); - if ((!isset($from_date) || $from_date < $date) && (!isset($to_date) || $date <= $to_date)) { - $update = true; - break; + if ((!isset($from_date) || $from_date < $date_variation) && (!isset($to_date) || $date_variation <= $to_date)) { + $id = $product['id'].'|'.$variation['id']; + $result[$id] = $id; + $last_update[$id] = $date_variation->format('Y-m-d H:i:s'); } } } - - if ($update) { - $id = $product['id']; - $result[$id] = $id; - $last_update[$id] = $date_product->format('Y-m-d H:i:s'); - } } } //important - order by last update if (count($result)) { array_multisort($last_update, SORT_ASC, $result); - $result = array_values($result); } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return $result; } @@ -353,7 +351,8 @@ public function getProductToUpdate($fromDate, $toDate) */ public function getCommandeToUpdate($fromDate, $toDate) { - dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": start gt = " . (!empty($fromDate) ? dol_print_date($fromDate, 'standard') : 'none') . + ", lt = " . (!empty($toDate) ? dol_print_date($toDate, 'standard') : 'none') . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $last_update = []; @@ -401,10 +400,9 @@ public function getCommandeToUpdate($fromDate, $toDate) //important - order by last update if (count($result)) { array_multisort($last_update, SORT_ASC, $result); - $result = array_values($result); } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return $result; } @@ -418,7 +416,7 @@ public function getCommandeToUpdate($fromDate, $toDate) */ public function getFactureToUpdate($fromDate, $toDate) { - dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}", LOG_DEBUG); return []; } @@ -431,7 +429,7 @@ public function getFactureToUpdate($fromDate, $toDate) */ public function convertRemoteObjectIntoDolibarrSociete($remoteObject, $toNb=0) { - dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote companies ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote companies ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $companies = []; @@ -439,7 +437,7 @@ public function convertRemoteObjectIntoDolibarrSociete($remoteObject, $toNb=0) $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); foreach ($requestGroups as $request) { - dol_syslog(__METHOD__ . ": Get partial remote companies ID: " . implode(', ', $request)); + dol_syslog(__METHOD__ . ": Get partial remote companies ID: " . implode(', ', $request), LOG_DEBUG); try { $results = $this->client->get('customers', [ @@ -473,16 +471,25 @@ public function convertRemoteObjectIntoDolibarrSociete($remoteObject, $toNb=0) 'vatnumber' => null, 'note_private' => "Site: '{$this->site->name}' - ID: {$company['id']}", 'country_id' => getCountry($company['billing']['country'], 3), + 'remote_datas' => $company, ]; } // User - elseif (!empty($company['first_name']) || !empty($company['last_name']) || !empty($company['billing']['first_name']) || !empty($company['billing']['first_name'])) { + else { + $firstname = !empty($company['first_name']) ? $company['first_name'] : $company['billing']['first_name']; + $lastname = !empty($company['last_name']) ? $company['last_name'] : $company['billing']['last_name']; + if (!empty($firstname) && !empty($lastname)) { + $name = dolGetFirstLastname($firstname, $lastname); + } elseif (!empty($firstname)) { + $name = dolGetFirstLastname($firstname, $langs->trans("ECommercengWoocommerceLastnameNotInformed")); + } else { + $name = $langs->trans('ECommercengWoocommerceWithoutFirstnameLastname'); + } $companies[] = [ 'remote_id' => $company['id'], 'last_update' => $last_update->format('Y-m-d H:i:s'), 'type' => 'user', - 'name' => dolGetFirstLastname(!empty($company['first_name']) ? $company['first_name'] : $company['billing']['first_name'], - !empty($company['last_name']) ? $company['last_name'] : $company['billing']['last_name']), + 'name' => $name, 'name_alias' => null, 'email' => $company['email'], 'email_key' => $company['email'], @@ -490,9 +497,8 @@ public function convertRemoteObjectIntoDolibarrSociete($remoteObject, $toNb=0) 'vatnumber' => null, 'note_private' => "Site: '{$this->site->name}' - ID: {$company['id']}", 'country_id' => getCountry($company['billing']['country'], 3), + 'remote_datas' => $company, ]; - } else { - dol_syslog(__METHOD__ . ": customer without company name, first name and last name is omitted (Remote ID: {$company['id']})", LOG_WARNING); } } } @@ -507,70 +513,52 @@ public function convertRemoteObjectIntoDolibarrSociete($remoteObject, $toNb=0) array_multisort($last_update, SORT_ASC, $companies); } - dol_syslog(__METHOD__ . ": end, converted " . count($companies) . " remote companies"); + dol_syslog(__METHOD__ . ": end, converted " . count($companies) . " remote companies", LOG_DEBUG); return $companies; } /** * Call Woocommerce API to get contact datas and put into dolibarr contact class. * - * @param array $remoteObject List of ids of remote company get contacts to convert - * @param int $toNb Max nb + * @param array $remoteCompany Remote company infos * @return array|boolean List of contact sorted by update time or false if error. */ - public function convertRemoteObjectIntoDolibarrSocpeople($remoteObject, $toNb=0) + public function convertRemoteObjectIntoDolibarrSocpeople($remoteCompany) { - dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote companies ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); - global $conf, $langs; + dol_syslog(__METHOD__ . ": Get remote contacts ID: {$remoteCompany["id"]} for site ID {$this->site->id}", LOG_DEBUG); + global $langs; $contacts = []; - $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); - $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); - - foreach ($requestGroups as $request) { - dol_syslog(__METHOD__ . ": Get partial remote companies ID: " . implode(', ', $request)); - try { - $results = $this->client->get('customers', - [ - 'per_page' => $nb_max_by_request, - 'include' => implode(',', $request), - ] - ); - } catch (HttpClientException $fault) { - $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); - dol_syslog(__METHOD__ . - ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . - ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); - return false; - } - - if (is_array($results)) { - foreach ($results as $company) { - $last_update = $this->getDateTimeFromGMTDateTime(!empty($company['date_modified_gmt']) ? $company['date_modified_gmt'] : $company['date_created_gmt']); + $last_update = $this->getDateTimeFromGMTDateTime(!empty($remoteCompany['date_modified_gmt']) ? $remoteCompany['date_modified_gmt'] : $remoteCompany['date_created_gmt']); - $bContact = $company['billing']; + $bContact = $remoteCompany['billing']; if (!empty($bContact['address_1']) || !empty($bContact['address_2']) || !empty($bContact['postcode']) || !empty($bContact['city']) || !empty($bContact['country']) || !empty($bContact['email']) || !empty($bContact['phone']) ) { + $firstname = !empty($bContact['first_name']) ? $bContact['first_name'] : $remoteCompany['first_name']; + $lastname = !empty($bContact['last_name']) ? $bContact['last_name'] : $remoteCompany['last_name']; + if (!empty($firstname) && empty($lastname)) { + $lastname = $langs->trans("ECommercengWoocommerceLastnameNotInformed"); + } elseif (empty($firstname) && empty($lastname)) { + $lastname = $langs->trans('ECommercengWoocommerceWithoutFirstnameLastname'); + } $contacts[] = [ 'remote_id' => null, 'last_update' => $last_update->format('Y-m-d H:i:s'), - 'name' => dolGetFirstLastname(!empty($bContact['first_name']) ? $bContact['first_name'] : $company['first_name'], - !empty($bContact['last_name']) ? $bContact['last_name'] : $company['last_name']), - 'firstname' => !empty($bContact['first_name']) ? $bContact['first_name'] : $company['first_name'], - 'lastname' => !empty($bContact['last_name']) ? $bContact['last_name'] : $company['last_name'], + 'firstname' => $firstname, + 'lastname' => $lastname, 'address' => $bContact['address_1'] . (!empty($bContact['address_1']) && !empty($bContact['address_2']) ? "\n" : "") . $bContact['address_2'], 'zip' => $bContact['postcode'], 'town' => $bContact['city'], 'country_id' => getCountry($bContact['country'], 3), - 'email' => !empty($bContact['email']) ? $bContact['email'] : $company['email'], + 'email' => !empty($bContact['email']) ? $bContact['email'] : $remoteCompany['email'], 'phone' => $bContact['phone'], 'fax' => null, ]; } - $sContact = $company['shipping']; + $sContact = $remoteCompany['shipping']; if (!empty($sContact['address_1']) || !empty($sContact['address_2']) || !empty($sContact['postcode']) || !empty($sContact['city']) || !empty($sContact['country']) @@ -580,37 +568,30 @@ public function convertRemoteObjectIntoDolibarrSocpeople($remoteObject, $toNb=0) $bContact['postcode'] != $sContact['postcode'] || $bContact['city'] != $sContact['city'] || $bContact['country'] != $sContact['country'] ) { + $firstname = !empty($sContact['first_name']) ? $sContact['first_name'] : $remoteCompany['first_name']; + $lastname = !empty($sContact['last_name']) ? $sContact['last_name'] : $remoteCompany['last_name']; + if (!empty($firstname) && empty($lastname)) { + $lastname = $langs->trans("ECommercengWoocommerceLastnameNotInformed"); + } elseif (empty($firstname) && empty($lastname)) { + $lastname = $langs->trans('ECommercengWoocommerceWithoutFirstnameLastname'); + } $contacts[] = [ 'remote_id' => null, 'last_update' => $last_update->format('Y-m-d H:i:s'), - 'name' => dolGetFirstLastname(!empty($sContact['first_name']) ? $sContact['first_name'] : $company['first_name'], - !empty($sContact['last_name']) ? $sContact['last_name'] : $company['last_name']), - 'firstname' => !empty($sContact['first_name']) ? $sContact['first_name'] : $company['first_name'], - 'lastname' => !empty($sContact['last_name']) ? $sContact['last_name'] : $company['last_name'], + 'firstname' => $firstname, + 'lastname' => $lastname, 'address' => $sContact['address_1'] . (!empty($sContact['address_1']) && !empty($sContact['address_2']) ? "\n" : "") . $sContact['address_2'], 'zip' => $sContact['postcode'], 'town' => $sContact['city'], 'country_id' => getCountry($sContact['country'], 3), - 'email' => "", - 'phone' => "", + 'email' => null, + 'phone' => null, 'fax' => null, ]; } } - } - } - } - //important - order by last update - if (count($contacts)) { - $last_update = []; - foreach ($contacts as $key => $row) { - $last_update[$key] = $row['last_update']; - } - array_multisort($last_update, SORT_ASC, $contacts); - } - - dol_syslog(__METHOD__ . ": end, converted " . count($contacts) . " remote contacts"); + dol_syslog(__METHOD__ . ": end, converted " . count($contacts) . " remote contacts", LOG_DEBUG); return $contacts; } @@ -623,17 +604,30 @@ public function convertRemoteObjectIntoDolibarrSocpeople($remoteObject, $toNb=0) */ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) { - dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote products ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote products ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $canvas = ''; $products = []; + $remoteVariationObject = []; + $products_last_update = []; $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); // Products - $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); + $newRemoteObject = []; + $remoteObject = array_slice($remoteObject, 0, $toNb); + foreach ($remoteObject as $id) { + if (($pos = strpos($id, '|')) !== false) { + $variation_id = substr($id,$pos+1); + $id = substr($id,0,$pos); + if (!isset($remoteVariationObject[$id])) $remoteVariationObject[$id] = []; + $remoteVariationObject[$id][] = $variation_id; + } + $newRemoteObject[$id] = $id; + } + $requestGroups = $this->getRequestGroups($newRemoteObject, $nb_max_by_request); foreach ($requestGroups as $request) { - dol_syslog(__METHOD__ . ": Get partial remote products ID: " . implode(', ', $request)); + dol_syslog(__METHOD__ . ": Get ".count($request)." partial remote products ID: " . implode(', ', $request), LOG_DEBUG); try { $results = $this->client->get('products', [ @@ -672,10 +666,15 @@ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) $last_update_product = $this->getDateTimeFromGMTDateTime(!empty($product['date_modified_gmt']) ? $product['date_modified_gmt'] : $product['date_created_gmt']); + $remote_id = $product['id']; // id product + $last_update = $last_update_product->format('Y-m-d H:i:s'); + // Produit de base - $products[] = [ - 'remote_id' => $product['id'], // id product - 'last_update' => $last_update_product->format('Y-m-d H:i:s'), + if (in_array($remote_id, $remoteObject, true)) { + $products_last_update[$remote_id] = $last_update; + $products[$remote_id] = [ + 'remote_id' => $remote_id, + 'last_update' => $last_update, 'fk_product_type' => ($product['virtual'] ? 1 : 0), // 0 (product) or 1 (service) 'ref' => $product['sku'], 'label' => $product['name'], @@ -701,11 +700,12 @@ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) ], 'images' => $images, ]; + } // Variations - $requestGroupsVariations = $this->getRequestGroups($product['variations'], $nb_max_by_request); + $requestGroupsVariations = $this->getRequestGroups($remoteVariationObject[$product['id']], $nb_max_by_request); foreach ($requestGroupsVariations as $requestVariations) { - dol_syslog(__METHOD__ . ": Get products variations of remote product (ID:{$product['id']}): " . implode(', ', $requestVariations)); + dol_syslog(__METHOD__ . ": Get ".count($requestVariations)." products variations of remote product (ID:{$product['id']}): " . implode(', ', $requestVariations), LOG_DEBUG); try { $results = $this->client->get('products/' . $product['id'] . '/variations', [ @@ -740,12 +740,19 @@ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) } } - $products[] = [ - 'remote_id' => $product['id'] . '|' . $variation['id'], // id product | id variation - 'last_update' => $last_update_product->format('Y-m-d H:i:s'), + $last_update_product_variation = $this->getDateTimeFromGMTDateTime(!empty($variation['date_modified_gmt']) ? $variation['date_modified_gmt'] : $variation['date_created_gmt']); + + $remote_id = $product['id'] . '|' . $variation['id']; // id product | id variation + $last_update = $last_update_product_variation->format('Y-m-d H:i:s'); + + // Variation + $products_last_update[$remote_id] = $last_update; + $products[$remote_id] = [ + 'remote_id' => $remote_id, + 'last_update' => $last_update, 'fk_product_type' => ($variation['virtual'] ? 1 : 0), // 0 (product) or 1 (service) 'ref' => $variation['sku'], - 'label' => $product['label'] . $attributesLabel, + 'label' => $product['name'] . $attributesLabel, 'weight' => $variation['weight'], 'price' => $variation['price'], 'envente' => 1, @@ -775,14 +782,10 @@ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) //important - order by last update if (count($products)) { - $last_update = []; - foreach ($products as $key => $row) { - $last_update[$key] = $row['last_update']; - } - array_multisort($last_update, SORT_ASC, $products); + array_multisort($products_last_update, SORT_ASC, $products); } - dol_syslog(__METHOD__ . ": end, converted " . count($products) . " remote products"); + dol_syslog(__METHOD__ . ": end, converted " . count($products) . " remote products", LOG_DEBUG); return $products; } @@ -795,7 +798,7 @@ public function convertRemoteObjectIntoDolibarrProduct($remoteObject, $toNb=0) */ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) { - dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote orders ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Get " . count($remoteObject) . " remote orders ID: " . implode(', ', $remoteObject) . " for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $orders = []; @@ -803,7 +806,7 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) $requestGroups = $this->getRequestGroups($remoteObject, $nb_max_by_request, $toNb); foreach ($requestGroups as $request) { - dol_syslog(__METHOD__ . ": Get partial remote orders ID: " . implode(', ', $request)); + dol_syslog(__METHOD__ . ": Get partial remote orders ID: " . implode(', ', $request), LOG_DEBUG); try { $results = $this->client->get('orders', [ @@ -848,13 +851,19 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) // Set billing's address $bContact = $order['billing']; + $firstname = $bContact['first_name']; + $lastname = $bContact['last_name']; + if (!empty($firstname) && empty($lastname)) { + $lastname = $langs->trans("ECommercengWoocommerceLastnameNotInformed"); + } elseif (empty($firstname) && empty($lastname)) { + $lastname = $langs->trans('ECommercengWoocommerceWithoutFirstnameLastname'); + } $contactBilling = [ 'remote_id' => "", - 'type' => eCommerceSocpeople::CONTACT_TYPE_ORDER, + 'type' => 1, //eCommerceSocpeople::CONTACT_TYPE_ORDER, 'last_update' => $last_update->format('Y-m-d H:i:s'), - 'name' => dolGetFirstLastname($bContact['first_name'], $bContact['last_name']), - 'firstname' => $bContact['first_name'], - 'lastname' => $bContact['last_name'], + 'firstname' => $firstname, + 'lastname' => $lastname, 'address' => $bContact['address_1'] . (!empty($bContact['address_1']) && !empty($bContact['address_2']) ? "\n" : "") . $bContact['address_2'], 'zip' => $bContact['postcode'], 'town' => $bContact['city'], @@ -866,7 +875,7 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) // Set invoice's address $contactInvoice = $contactBilling; - $contactInvoice['type'] = eCommerceSocpeople::CONTACT_TYPE_INVOICE; + $contactInvoice['type'] = 1; //eCommerceSocpeople::CONTACT_TYPE_INVOICE; // Set shipping's address $sContact = $order['shipping']; @@ -879,28 +888,34 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) $bContact['postcode'] != $sContact['postcode'] || $bContact['city'] != $sContact['city'] || $bContact['country'] != $sContact['country'] ) { + $firstname = $sContact['first_name']; + $lastname = $sContact['last_name']; + if (!empty($firstname) && empty($lastname)) { + $lastname = $langs->trans("ECommercengWoocommerceLastnameNotInformed"); + } elseif (empty($firstname) && empty($lastname)) { + $lastname = $langs->trans('ECommercengWoocommerceWithoutFirstnameLastname'); + } $contactShipping = [ 'remote_id' => "", - 'type' => eCommerceSocpeople::CONTACT_TYPE_ORDER, + 'type' => 1, //eCommerceSocpeople::CONTACT_TYPE_DELIVERY, 'last_update' => $last_update->format('Y-m-d H:i:s'), - 'name' => dolGetFirstLastname($sContact['first_name'], $sContact['last_name']), - 'firstname' => $sContact['first_name'], - 'lastname' => $sContact['last_name'], + 'firstname' => $firstname, + 'lastname' => $lastname, 'address' => $sContact['address_1'] . (!empty($sContact['address_1']) && !empty($sContact['address_2']) ? "\n" : "") . $sContact['address_2'], 'zip' => $sContact['postcode'], 'town' => $sContact['city'], 'country_id' => getCountry($sContact['country'], 3), - 'email' => "", - 'phone' => "", + 'email' => null, + 'phone' => null, 'fax' => null, ]; } else { $contactShipping = $contactBilling; - $contactShipping['type'] = eCommerceSocpeople::CONTACT_TYPE_DELIVERY; + $contactShipping['type'] = 1; //eCommerceSocpeople::CONTACT_TYPE_DELIVERY; } } else { $contactShipping = $contactBilling; - $contactShipping['type'] = eCommerceSocpeople::CONTACT_TYPE_DELIVERY; + $contactShipping['type'] = 1; //eCommerceSocpeople::CONTACT_TYPE_DELIVERY; } // Set delivery as service @@ -921,9 +936,9 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) switch ($orderStatus) { case 'on-hold': $status = Commande::STATUS_DRAFT; break; case 'pending': $status = Commande::STATUS_DRAFT; break; - case 'processing': $status = Commande::STATUS_VALIDATED; break; + case 'processing': $status = !empty($conf->global->ECOMMERCENG_WOOCOMMERCE_ORDER_PROCESSING_STATUS_TO_DRAFT)?Commande::STATUS_DRAFT:Commande::STATUS_VALIDATED; break; case 'completed': $status = Commande::STATUS_CLOSED; break; - case 'refunded': $status = Commande::STATUS_CLOSED; break; + case 'refunded': $status = Commande::STATUS_CANCELED; break; case 'cancelled': $status = Commande::STATUS_CANCELED; break; case 'failed': $status = Commande::STATUS_CANCELED; break; } @@ -982,7 +997,7 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) array_multisort($last_update, SORT_ASC, $orders); } - dol_syslog(__METHOD__ . ": end, converted " . count($orders) . " remote orders"); + dol_syslog(__METHOD__ . ": end, converted " . count($orders) . " remote orders", LOG_DEBUG); return $orders; } @@ -995,7 +1010,7 @@ public function convertRemoteObjectIntoDolibarrCommande($remoteObject, $toNb=0) */ public function convertRemoteObjectIntoDolibarrFacture($remoteObject, $toNb=0) { - dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}", LOG_DEBUG); return []; } @@ -1006,7 +1021,7 @@ public function convertRemoteObjectIntoDolibarrFacture($remoteObject, $toNb=0) */ public function getRemoteCategoryTree() { - dol_syslog(__METHOD__ . ": Get remote category tree for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Get remote category tree for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $categories = []; @@ -1064,7 +1079,7 @@ public function getRemoteCategoryTree() } } - dol_syslog(__METHOD__ . ": end, " . count($categories) . " remote category recovered"); + dol_syslog(__METHOD__ . ": end, " . count($categories) . " remote category recovered", LOG_DEBUG); return $categories_tree; } @@ -1077,7 +1092,7 @@ public function getRemoteCategoryTree() */ public function getRemoteAddressIdForSociete($remote_company_id) { - dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}", LOG_DEBUG); return [$remote_company_id]; } @@ -1090,7 +1105,7 @@ public function getRemoteAddressIdForSociete($remote_company_id) */ public function getCategoryData($category_id) { - dol_syslog(__METHOD__ . ": Get remote category for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Get remote category for site ID {$this->site->id}", LOG_DEBUG); global $langs; $category = []; @@ -1116,7 +1131,7 @@ public function getCategoryData($category_id) ]; } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return $category; } @@ -1129,7 +1144,7 @@ public function getCategoryData($category_id) */ public function getRemoteCommande($remoteOrderId) { - dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}", LOG_DEBUG); return []; } @@ -1143,7 +1158,7 @@ public function getRemoteCommande($remoteOrderId) */ public function updateRemoteProduct($remote_id, $object) { - dol_syslog(__METHOD__ . ": Update the remote product ID $remote_id for Dolibarr product ID {$object->id} for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Update the remote product ID $remote_id for Dolibarr product ID {$object->id} for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; $isProductVariation = false; @@ -1488,7 +1503,7 @@ public function updateRemoteProduct($remote_id, $object) } } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1502,7 +1517,7 @@ public function updateRemoteProduct($remote_id, $object) */ public function updateRemoteStockProduct($remote_id, $object) { - dol_syslog(__METHOD__ . ": Update stock of the remote product ID $remote_id for MouvementStock ID {$object->id}, new qty: {$object->qty_after} for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Update stock of the remote product ID $remote_id for MouvementStock ID {$object->id}, new qty: {$object->qty_after} for site ID {$this->site->id}", LOG_DEBUG); global $langs; if (preg_match('/^(\d+)\|(\d+)$/', $remote_id, $idsProduct) == 1) { @@ -1542,7 +1557,7 @@ public function updateRemoteStockProduct($remote_id, $object) } } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1556,7 +1571,7 @@ public function updateRemoteStockProduct($remote_id, $object) */ public function updateRemoteSociete($remote_id, $object) { - dol_syslog(__METHOD__ . ": Update the remote company ID $remote_id for Dolibarr company ID {$object->id} for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Update the remote company ID $remote_id for Dolibarr company ID {$object->id} for site ID {$this->site->id}", LOG_DEBUG); global $langs; /* @@ -1585,7 +1600,7 @@ public function updateRemoteSociete($remote_id, $object) return false; } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1599,7 +1614,7 @@ public function updateRemoteSociete($remote_id, $object) */ public function updateRemoteSocpeople($remote_id, $object) { - dol_syslog(__METHOD__ . ": Update the remote contact ID $remote_id for Dolibarr contact ID {$object->id} for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Update the remote contact ID $remote_id for Dolibarr contact ID {$object->id} for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs; // Get societe @@ -1660,7 +1675,7 @@ public function updateRemoteSocpeople($remote_id, $object) } } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1674,7 +1689,7 @@ public function updateRemoteSocpeople($remote_id, $object) */ public function updateRemoteCommande($remote_id, $object) { - dol_syslog(__METHOD__ . ": Update the remote order ID $remote_id for Dolibarr order ID {$object->id} for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Update the remote order ID $remote_id for Dolibarr order ID {$object->id} for site ID {$this->site->id}", LOG_DEBUG); global $langs; $status = ''; @@ -1704,7 +1719,7 @@ public function updateRemoteCommande($remote_id, $object) } } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1718,7 +1733,7 @@ public function updateRemoteCommande($remote_id, $object) */ public function updateRemoteFacture($remote_id, $object) { - dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}", LOG_DEBUG); return true; } @@ -1732,7 +1747,7 @@ public function updateRemoteFacture($remote_id, $object) */ public function createRemoteLivraison($livraison, $remote_order_id) { - dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Desactivated for site ID {$this->site->id}", LOG_DEBUG); return $remote_order_id; } @@ -1745,7 +1760,7 @@ public function createRemoteLivraison($livraison, $remote_order_id) */ public function createRemoteProduct($object) { - dol_syslog(__METHOD__ . ": Create product from Dolibarr product ID {$object->id} for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Create product from Dolibarr product ID {$object->id} for site ID {$this->site->id}", LOG_DEBUG); global $conf, $langs, $user; // Set weight @@ -1926,7 +1941,7 @@ public function createRemoteProduct($object) return false; } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1943,7 +1958,7 @@ public function createRemoteProduct($object) */ public function sendFileForCommande($order_remote_id, $company_remote_id, $object, $file, $outputlangs) { - dol_syslog(__METHOD__ . ": Send file '$file' for remote order ID $order_remote_id for site ID {$this->site->id}"); + dol_syslog(__METHOD__ . ": Send file '$file' for remote order ID $order_remote_id for site ID {$this->site->id}", LOG_DEBUG); global $langs; // Send file to WordPress @@ -1983,7 +1998,7 @@ public function sendFileForCommande($order_remote_id, $company_remote_id, $objec return false; } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -1997,7 +2012,7 @@ public function sendFileForCommande($order_remote_id, $company_remote_id, $objec */ private function getTaxRate($tax_class, $tax_status = 'taxable') { - dol_syslog(__METHOD__ . ": Get tax rate, tax_classe: $tax_class, tax_status: $tax_status"); + //dol_syslog(__METHOD__ . ": Get tax rate, tax_classe: $tax_class, tax_status: $tax_status", LOG_DEBUG); global $conf, $mysoc; $tax_rate = 0; @@ -2030,7 +2045,7 @@ private function getTaxRate($tax_class, $tax_status = 'taxable') } } - dol_syslog(__METHOD__ . ": end, return $tax_rate"); + //dol_syslog(__METHOD__ . ": end, return $tax_rate", LOG_DEBUG); return $tax_rate; } @@ -2044,7 +2059,7 @@ private function getTaxRate($tax_class, $tax_status = 'taxable') */ private function getTaxClass($tax_class, $tax_status = 'taxable') { - dol_syslog(__METHOD__ . ": Get tax class name, tax_class: $tax_class, tax_status: $tax_status"); + //dol_syslog(__METHOD__ . ": Get tax class name, tax_class: $tax_class, tax_status: $tax_status", LOG_DEBUG); // $tax_status => Tax status. Options: taxable, shipping and none. Default is taxable if ($tax_status != 'none') { @@ -2053,7 +2068,7 @@ private function getTaxClass($tax_class, $tax_status = 'taxable') $tax_class = ''; } - dol_syslog(__METHOD__ . ": end, return $tax_class"); + //dol_syslog(__METHOD__ . ": end, return $tax_class", LOG_DEBUG); return $tax_class; } @@ -2067,7 +2082,7 @@ private function getTaxClass($tax_class, $tax_status = 'taxable') */ private function getClosestDolibarrTaxRate($priceHT, $taxAmount) { - dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, priceHT: $priceHT, priceHT: $taxAmount"); + //dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, priceHT: $priceHT, priceHT: $taxAmount", LOG_DEBUG); $tax_rate = 0; if ($taxAmount != 0) { //calcul tax rate from remote site @@ -2080,7 +2095,7 @@ private function getClosestDolibarrTaxRate($priceHT, $taxAmount) } } - dol_syslog(__METHOD__ . ": end, return $tax_rate"); + //dol_syslog(__METHOD__ . ": end, return $tax_rate", LOG_DEBUG); return $tax_rate; } @@ -2091,7 +2106,7 @@ private function getClosestDolibarrTaxRate($priceHT, $taxAmount) */ private function setDolibarrTaxes() { - dol_syslog(__METHOD__ . ": Retrieve all Dolibarr tax rates"); + //dol_syslog(__METHOD__ . ": Retrieve all Dolibarr tax rates", LOG_DEBUG); $resql = $this->db->query("SELECT DISTINCT taux FROM ".MAIN_DB_PREFIX."c_tva ORDER BY taux DESC"); if ($resql) { @@ -2104,7 +2119,7 @@ private function setDolibarrTaxes() $this->dolibarrTaxes = $taxesTable; } - dol_syslog(__METHOD__ . ": end"); + //dol_syslog(__METHOD__ . ": end", LOG_DEBUG); } /** @@ -2114,7 +2129,7 @@ private function setDolibarrTaxes() */ /* private function setDolibarrTaxes() { - dol_syslog(__METHOD__ . ": Retrieve all Dolibarr tax rates"); + dol_syslog(__METHOD__ . ": Retrieve all Dolibarr tax rates", LOG_DEBUG); $resql = $this->db->query("SELECT t.*, c.code AS country FROM ".MAIN_DB_PREFIX."c_tva AS t LEFT JOIN ".MAIN_DB_PREFIX."c_country AS c ON t.fk_pays = c.rowid"); if ($resql) { @@ -2130,7 +2145,7 @@ private function setDolibarrTaxes() $this->dolibarrTaxes = $taxesTable; } - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); }*/ /** @@ -2140,15 +2155,15 @@ private function setDolibarrTaxes() */ public function getAllWoocommerceTaxClass() { - dol_syslog(__METHOD__ . ": Retrieve all Woocommerce tax classes"); + dol_syslog(__METHOD__ . ": Retrieve all Woocommerce tax classes", LOG_DEBUG); global $langs; try { $tax_classes = $this->client->get('taxes/classes'); } catch (HttpClientException $fault) { - $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + $this->errors[] = $langs->trans('ECommerceWoocommerceGetAllWoocommerceTaxClass', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); dol_syslog(__METHOD__ . - ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetAllWoocommerceTaxClass', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); return false; } @@ -2159,7 +2174,7 @@ public function getAllWoocommerceTaxClass() $taxClassesTable[$tax_class['slug']] = $tax_class; } - dol_syslog(__METHOD__ . ": end, return: ".json_encode($taxClassesTable)); + dol_syslog(__METHOD__ . ": end, return: ".json_encode($taxClassesTable), LOG_DEBUG); return $taxClassesTable; } @@ -2170,7 +2185,7 @@ public function getAllWoocommerceTaxClass() */ private function setWoocommerceTaxes() { - dol_syslog(__METHOD__ . ": Retrieve all Woocommerce tax rates"); + dol_syslog(__METHOD__ . ": Retrieve all Woocommerce tax rates", LOG_DEBUG); global $conf, $langs; $nb_max_by_request = empty($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL) ? 100 : min($conf->global->ECOMMERCENG_MAXSIZE_MULTICALL, 100); @@ -2187,9 +2202,9 @@ private function setWoocommerceTaxes() ] ); } catch (HttpClientException $fault) { - $this->errors[] = $langs->trans('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); + $this->errors[] = $langs->trans('ECommerceWoocommerceGetWoocommerceTaxes', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()); dol_syslog(__METHOD__ . - ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . + ': Error:' . $langs->transnoentitiesnoconv('ECommerceWoocommerceGetWoocommerceTaxes', $this->site->name, $fault->getCode() . ': ' . $fault->getMessage()) . ' - Request:' . json_encode($fault->getRequest()) . ' - Response:' . json_encode($fault->getResponse()), LOG_ERR); return false; } @@ -2219,7 +2234,7 @@ private function setWoocommerceTaxes() $this->woocommerceTaxes = $taxesTable; - dol_syslog(__METHOD__ . ": end"); + dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return true; } @@ -2232,7 +2247,7 @@ private function setWoocommerceTaxes() */ private function _getClosestDolibarrTaxRate($tax_rate) { - dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, tax_rate: $tax_rate"); + //dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, tax_rate: $tax_rate", LOG_DEBUG); $tax = null; @@ -2252,7 +2267,7 @@ private function _getClosestDolibarrTaxRate($tax_rate) $tax = $closestTax; } - dol_syslog(__METHOD__ . ": end, return ".(isset($tax)?json_encode($tax):'null')); + //dol_syslog(__METHOD__ . ": end, return ".(isset($tax)?json_encode($tax):'null'), LOG_DEBUG); return $tax; } @@ -2266,7 +2281,7 @@ private function _getClosestDolibarrTaxRate($tax_rate) */ /*private function getClosestDolibarCountryTax($country_code, $tax_rate) { - dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, country_code: $country_code, tax_rate: $tax_rate"); + dol_syslog(__METHOD__ . ": Get closest dolibarr tax rate, country_code: $country_code, tax_rate: $tax_rate", LOG_DEBUG); global $langs; $tax = null; @@ -2294,7 +2309,7 @@ private function _getClosestDolibarrTaxRate($tax_rate) $tax = $closestTaxes[0]; } - dol_syslog(__METHOD__ . ": end, return ".(isset($tax)?json_encode($tax):'null')); + dol_syslog(__METHOD__ . ": end, return ".(isset($tax)?json_encode($tax):'null'), LOG_DEBUG); return $tax; }*/ @@ -2308,9 +2323,9 @@ private function _getClosestDolibarrTaxRate($tax_rate) */ private function getRequestGroups($remoteObject, $nb_max_by_request, $toNb=0) { - dol_syslog(__METHOD__ . ": Get request groups of ID: " . implode(', ', $remoteObject)); + //dol_syslog(__METHOD__ . ": Get request groups of ID: " . implode(', ', $remoteObject), LOG_DEBUG); - $idx = 1; + $idx = 0; $request = []; $request_groups = []; @@ -2326,7 +2341,7 @@ private function getRequestGroups($remoteObject, $nb_max_by_request, $toNb=0) } if (count($request)) $request_groups[] = $request; - dol_syslog(__METHOD__ . ": end"); + //dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return $request_groups; } @@ -2339,12 +2354,12 @@ private function getRequestGroups($remoteObject, $nb_max_by_request, $toNb=0) */ private function getDateTimeFromGMTDateTime($datetime) { - dol_syslog(__METHOD__ . ": Get DateTime object in current timezone from gmt date time: $datetime"); + //dol_syslog(__METHOD__ . ": Get DateTime object in current timezone from gmt date time: $datetime", LOG_DEBUG); $dt = new DateTime($datetime, $this->gmtTimeZone); $dt->setTimezone($this->currentTimeZone); - dol_syslog(__METHOD__ . ": end"); + //dol_syslog(__METHOD__ . ": end", LOG_DEBUG); return $dt; } diff --git a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php index d2c8411..1da64e0 100644 --- a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php +++ b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php @@ -19,6 +19,7 @@ require_once(DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'); +require_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'); dol_include_once('/ecommerceng/admin/class/gui/eCommerceMenu.class.php'); @@ -56,11 +57,11 @@ function __construct($db) // Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) $this->description = "Module to synchronise Dolibarr with ECommerce platform (currently ecommerce supported: Magento, WooCommerce)"; $this->descriptionlong = "See page https://wiki.dolibarr.org/index.php/Module_Magento_EN for more information"; - $this->editor_name = 'TecLib'; + $this->editor_name = 'TecLib, Open-Dsi'; $this->editor_url = 'http://www.teclib.com'; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version - $this->version = '4.0.2'; + $this->version = '4.0.3'; // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) diff --git a/htdocs/ecommerceng/langs/en_US/ecommerce.lang b/htdocs/ecommerceng/langs/en_US/ecommerce.lang index 16ad302..75b8595 100644 --- a/htdocs/ecommerceng/langs/en_US/ecommerce.lang +++ b/htdocs/ecommerceng/langs/en_US/ecommerce.lang @@ -196,3 +196,7 @@ ECommerceRemoteAccessUpdateRemoteSociete=Erreur de mise à jour de la société ECommerceRemoteAccessUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s ECommerceRemoteAccessUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s ECommerceRemoteAccessUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s + +ECommerceSyncheCommerceProductDownloadImageError=Erreur de récupération de l'image (%s) pour le produit 'id:%s' du produit distant 'id:%s' sur le site '%s' + +ECommerceNoDescForProductLine=L'api n'a pas pu récupérer la description du produit diff --git a/htdocs/ecommerceng/langs/en_US/woocommerce.lang b/htdocs/ecommerceng/langs/en_US/woocommerce.lang index e8642af..a4ea380 100644 --- a/htdocs/ecommerceng/langs/en_US/woocommerce.lang +++ b/htdocs/ecommerceng/langs/en_US/woocommerce.lang @@ -25,6 +25,8 @@ ECommerceWoocommerceUpdateRemoteSociete=Erreur de mise à jour de la société d ECommerceWoocommerceUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s ECommerceWoocommerceUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s ECommerceWoocommerceUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceGetAllWoocommerceTaxClass=Erreur de récupération des données des classes de taxes sur le site '%s': %s +ECommerceWoocommerceGetWoocommerceTaxes=Erreur de récupération des données des taxes sur le site '%s': %s ECommercengWoocommerceStatus=Statut pour le site "%s" ECommercengWoocommerceDescription=Description boutique @@ -43,3 +45,6 @@ ECommercengWoocommerceStatusDraft=Draft ECommercengWoocommerceStatusPending=Pending ECommercengWoocommerceStatusPrivate=Private ECommercengWoocommerceStatusPublish=Publish + +ECommercengWoocommerceWithoutFirstnameLastname=No firstname/lastname informed +ECommercengWoocommerceLastnameNotInformed=[Lastname not informed] diff --git a/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang b/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang index caa7378..e78e49d 100644 --- a/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang +++ b/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang @@ -198,4 +198,6 @@ ECommerceRemoteAccessUpdateRemoteSocpeople=Erreur de mise à jour des contacts/a ECommerceRemoteAccessUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s ECommerceRemoteAccessUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s -ECommerceSyncheCommerceProductDownloadImageError=Erreur de récupération de l'image (%s) pour le produit 'id:%s' du produit distant 'id:%s' sur le site '%s' \ No newline at end of file +ECommerceSyncheCommerceProductDownloadImageError=Erreur de récupération de l'image (%s) pour le produit 'id:%s' du produit distant 'id:%s' sur le site '%s' + +ECommerceNoDescForProductLine=L'api n'a pas pu récupérer la description du produit diff --git a/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang b/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang index 5e14314..6eb493c 100644 --- a/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang +++ b/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang @@ -25,6 +25,8 @@ ECommerceWoocommerceUpdateRemoteSociete=Erreur de mise à jour de la société d ECommerceWoocommerceUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s ECommerceWoocommerceUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s ECommerceWoocommerceUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceGetAllWoocommerceTaxClass=Erreur de récupération des données des classes de taxes sur le site '%s': %s +ECommerceWoocommerceGetWoocommerceTaxes=Erreur de récupération des données des taxes sur le site '%s': %s ECommercengWoocommerceStatus=Statut pour le site "%s" ECommercengWoocommerceDescription=Description boutique @@ -43,3 +45,6 @@ ECommercengWoocommerceStatusDraft=Brouillon ECommercengWoocommerceStatusPending=En attente de relecture ECommercengWoocommerceStatusPrivate=Privé ECommercengWoocommerceStatusPublish=Publié + +ECommercengWoocommerceWithoutFirstnameLastname=Pas de nom/prénom renseigné +ECommercengWoocommerceLastnameNotInformed=[Nom non renseigné] diff --git a/htdocs/ecommerceng/lib/eCommerce.lib.php b/htdocs/ecommerceng/lib/eCommerce.lib.php index 12fa013..7f194fb 100644 --- a/htdocs/ecommerceng/lib/eCommerce.lib.php +++ b/htdocs/ecommerceng/lib/eCommerce.lib.php @@ -453,13 +453,15 @@ function ecommerceng_update_woocommerce_dict_tax_class($db, $site) return true; } -function get_company_by_email($db, $email) +function get_company_by_email($db, $email, $site=0) { $email = $db->escape($email); $sql = "SELECT s.rowid FROM " . MAIN_DB_PREFIX . "societe AS s"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "socpeople AS sp ON sp.fk_soc = s.rowid"; - $sql .= " WHERE s.email = '$email' OR sp.email = '$email'"; + if ($site > 0) $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "ecommerce_societe AS es ON es.fk_societe = s.rowid"; + $sql .= " WHERE (s.email = '$email' OR sp.email = '$email')"; + if ($site > 0) $sql .= " AND es.fk_site = $site"; $sql .= " GROUP BY s.rowid"; $resql = $db->query($sql); diff --git a/htdocs/ecommerceng/site.php b/htdocs/ecommerceng/site.php index 4d439d3..19f555a 100644 --- a/htdocs/ecommerceng/site.php +++ b/htdocs/ecommerceng/site.php @@ -214,19 +214,19 @@ // Count into Magento if (! GETPOST('test_with_no_categ_count')) { - if (! $error) $nbCategoriesToUpdate = $synchro->getNbCategoriesToUpdate(true); + if (! $error && empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) $nbCategoriesToUpdate = $synchro->getNbCategoriesToUpdate(true); else $nbCategoriesToUpdate='?'; if ($nbCategoriesToUpdate < 0) $error++; } if (! GETPOST('test_with_no_product_count')) { - if (! $error) $nbProductToUpdate = $synchro->getNbProductToUpdate(true); + if (! $error && empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) $nbProductToUpdate = $synchro->getNbProductToUpdate(true); else $nbProductToUpdate='?'; if ($nbProductToUpdate < 0) $error++; } if (! GETPOST('test_with_no_thirdparty_count')) { - if (! $error) $nbSocieteToUpdate = $synchro->getNbSocieteToUpdate(true); + if (! $error && empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) $nbSocieteToUpdate = $synchro->getNbSocieteToUpdate(true); else $nbSocieteToUpdate='?'; if ($nbSocieteToUpdate < 0) $error++; } @@ -234,7 +234,7 @@ { if (! empty($conf->commande->enabled)) { - if (! $error) $nbCommandeToUpdate = $synchro->getNbCommandeToUpdate(true); + if (! $error && empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) $nbCommandeToUpdate = $synchro->getNbCommandeToUpdate(true); else $nbCommandeToUpdate='?'; if ($nbCommandeToUpdate < 0) $error++; } @@ -243,7 +243,7 @@ { if (! empty($conf->facture->enabled)) { - if (! $error) $nbFactureToUpdate = $synchro->getNbFactureToUpdate(true); + if (! $error && empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) $nbFactureToUpdate = $synchro->getNbFactureToUpdate(true); else $nbFactureToUpdate='?'; if ($nbFactureToUpdate < 0) $error++; } diff --git a/htdocs/ecommerceng/sql/llx_ecommerce_site.sql b/htdocs/ecommerceng/sql/llx_ecommerce_site.sql index 6aaddfd..2b5ac7e 100644 --- a/htdocs/ecommerceng/sql/llx_ecommerce_site.sql +++ b/htdocs/ecommerceng/sql/llx_ecommerce_site.sql @@ -29,7 +29,6 @@ CREATE TABLE llx_ecommerce_site ( fk_cat_societe integer NOT NULL, fk_cat_product integer NOT NULL, fk_warehouse integer NULL, - fk_thirdparty integer NULL, -- thirdparty for non logged users stock_sync_direction varchar(24) DEFAULT 'none', last_update datetime DEFAULT NULL, timeout integer NOT NULL DEFAULT 300, diff --git a/htdocs/ecommerceng/sql/update_anonymous_thirdparty.sql b/htdocs/ecommerceng/sql/update_anonymous_thirdparty.sql new file mode 100644 index 0000000..bb34979 --- /dev/null +++ b/htdocs/ecommerceng/sql/update_anonymous_thirdparty.sql @@ -0,0 +1 @@ +ALTER TABLE llx_ecommerce_site ADD COLUMN fk_anonymous_thirdparty integer NULL; diff --git a/htdocs/ecommerceng/tpl/site.tpl.php b/htdocs/ecommerceng/tpl/site.tpl.php index 2ef182c..683a62b 100644 --- a/htdocs/ecommerceng/tpl/site.tpl.php +++ b/htdocs/ecommerceng/tpl/site.tpl.php @@ -63,13 +63,13 @@ print ''; - if (! empty($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER)) + if (! empty($site->fk_anonymous_thirdparty)) { print ''; } @@ -117,7 +117,7 @@ @@ -144,12 +144,12 @@ @@ -178,7 +178,7 @@ @@ -215,9 +215,9 @@ @@ -250,11 +250,11 @@
9-Kqm2|^K&n1Ca&;pBr@kXL&6qu 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͜BKWTmN;8)oTfmGNzv1p?dI`1pnl9^%GLu-Um0yry4gegq1 zyk$jXm$ar;Rqd*E@*(lJ6KaGS0c@C_fQzjGd*r4}cmpXr($795--Kdr? z96A>iGV@Doh9YckA59_bb*B#%)X3}10)5LwDlOD=GeEFt>Ad$?tr0*hHzHzh_m17$CL)t zS6$V@@}QVJf}(6CM30CzAkD)l8w$<5y7S6tE$7VpuW|AgxTDfxQg*KYy=?*Scf9>dR24DG||PcRlmOK zDBFACM!vTy9z8e4##Ku$vdJhln|p5yDJVVzuT|<O z$-@g3UYPdmUDXQPlQShHMS7c!AcuHxCQOX3TO~4-qpEG#t*woR93>;r1vs-p1Q+ce zVVcNs==Yn^`c+urhM}h)OiL`8W&{^FCEEEl2P_CR&URI|_n8mS4%+K~@+MYT_zAFW12)+`linN{6T#0k4< zo1h|4n=XOIpZb8@g(CgoQsToh+$in0mZy*U6F1O&7P?~eog!AT!)<;F9urMkEc^YBO8^0PrEY@dmN@g>B@5R{js$#P+nus-a7 zwvrA%b+83C%GRAC#F&Id;fh?e)`@Xb;jPLk9__?~<#eLUC0oW+{#w(7Nnsr8crKQ;ETJ^sF*zVOt%^aGP>%s#8{4c zNSk2@x|N-FX>WmQt>+AQFRD9C+M!+xT-O@-c5R8z!$YT1sqDtY{yEW{G#^+#%hqSP z{k-TQnbZ+YKk;w&K6m}X2Cp&Iv5wI6B=pdv~U3K=*N2xof!{rZoehguJp)>vyVd!bTF+!}oyIfqQ9T@cDi zGzn$PRtB~LVY-gY^ZQ!ioO8o8BYcQCQjCg_jWLR1ONxsRdm;m?S2-yf?&$1(gn4Tq z%Z7s}s36OB>b$^FpRC7dY}o>D-JKtzk{-x{1istZS=QZ~v`8EI(nmt*d<=xMfM0c} zMStyEg(nu;W%8r9PIgMixCD?RCrI_VGU8%V)%=hp{~u3_(=>hVRGc%>Rx!RXyJ}Uy zUQppwXB$5MOd|;CvNp=sKkZiuvYk0KY^I%)5gcrLe(lp-MOQ=dLavTM`4F>j$ZNo~ zan{k~W}q6joRzrtXu1KZTo5>7CL1s`moL(o-_!A>JmV|xvr^Gmvb6WW`JfS8&W+{D zx?Bo_|uhk`krHT4_NM5G_ZMYsrbv={S{s zE4PaB;1N&3#*oKMjKk^&n}=K&JG5AbsA$~>d~A$pv7tDkF3oH856s`Jl=t#{^|Z&# zn%rKT2kWauZKzRn0p{*GGHevleu4BggT!#F@N*;UcLgrbl$^sv)e2Q;ONOkP6wMB` z*1z|vvQ)I`rMqr!%7Wg|tvIB)dx^bh7Y@01Ks29T18e>-n^JFCYdI@S#XW#%5$#;KZF-5BW%*eL=OkKxpFs$K3^Udw~$CktQ=B56qQo=a67a8HSX3l_n zc%yDT^|Pg6pw7qh@HKD?KP7;9SeWG$=qWZ5ajO>Z5;ZPxJ<79er5!UOhs)FdNEHGN zS%X1&T-)AgwU_Jly4BT#mGZJes-k2lbE@W{<{fN?cu-ve)8aN69fDYQZ){<-w&u(S z8s0aoP?K0thb);>20*OPihfll!6Sdj^5W_tl`82d_qFs5=Fn*98aLscQI9NtdY0>2`OtJYzpqCUgc|PFp|pg*h@JyPCk(pXuR4K@ zG?nre6Tq7EMXNKG4kCYtxb6NNcBT2U$9A5Qw?7j(;$ z?bfWFRK3G@v+n2J{6n}Tts5TyXKueSdx`nN0hsw8TekFyO(<{q@n_+|vwu(}@iJSs zZ0S4zUI~6aC?)NExBV>{>03|(p)P9Mb+QD4uWbly{%^~cTRUIie*d<`_k-((rtd;8 zzF6Wc!IwOS^n`#5Z~j;pxNgYr+WPyC_o(;uqrZRsuy^wo{`0f&WL0GL8IiO0v|@DI z?}ui$f{7rx6<;_1k)W0J`@vfR;B)@-b4g+!@6X@A_WtpIc<_w4;g(^1z7Z`%`}Z5)>nJ_LNmFsW=3d%&M+FR27H=uUj0Jgt;foD#uS*^U3Jec6 z=XZijgMyycPMmV}>J^{Ge#Hb^?`DlcxUu%e_;VE?uu*NdPjQaB^Pj6eVP1~-MFjJg zb%CZv#b#r>W1P|XX0n7=-F{}@ow0zasA@a6g3>iV`y%GHl`?32wl0J${+ z)JtX8C!X3H9D@|*%uZcm61p_EPcM5~!dhAW>@#%?*NlZkS;ea?xU5QK2 zB>0+Pn@g(lpy>^m^JEYVW^V#ER80B!GXaNT4@^O>5xkpZ(A_)4UMe;Lb9W-VK(7Hr zBmJ6v&i-ytx%Bq|q(o5v#U0TJ4p69^`xLm1ZhBqf5a^Tl!FD`M@kl_I0+|Z@o$IC* z4cz=*ep$KB?{C>zW_^&yqr{-vh7aAb`skVjs_4o};0j07U2g}kHOpx1S{kWeS*JPde8Qv@e=b}$_E(Vz%+>SD~Y)!!WpI0LEdjRD6PbqyeKl+y@wR?=dW%LW`YZW$k6 zy6c=4&!&M{rHz1sAco>mGcp0=kXf@9?y%lGg?{{HwMJb>|VNxJ+bj9!mqjFhep zZ0BC__pP6gtzXw=nZ_Mke{*$j7(ke3GN1rqNgjT4E#)*~sp$GrNsqA#kR3?y`S{as z*duZ4(8=v_;1&n$wd(M^* z5)Foa+wFxCk&Mw-a3Rg5Z=18S9m7r~Jo1jRZnfw>O!#e#TZZlcV^s5niS{M+&)7M| zTgWBIzRb3(^Z|YlaN=CdJO`Z;JvKC=5(+F_jK&X+ocFgkyw`a zt_}lSs`~g`p`Hyx!{~aNLd|;jp%^g7crmbQ#Jg3!ngQgKNXvjFD!NlD_^}qX?VMNV z<()GwMUBxCAZx_3-FeI*Zn8M^!CO7=$0_|2n>)5I$gCnZ&O}E82CJqt+$qg1 zV5esH8Bb8aWraZj!!&M6_HW}q+(n&iB=_a)$IQbGGDE>g*@S;KBq)v;{UZE77b?#9 zqO2zvYoV1~41npPA=i9>IoJv}O8DEZFAbgpWUbr*=M3azD!illva9Sa300swqJF`M z7R;PUB>83KCbxd>YIgCM1kzJq?(ZheW}OA6N>ZTF7?jT<7)9rpHpspx^h=JpzKgd@xKTM zjT7@rZ9nrc^|aq-?~}5=PpcR=LZQZhq1zOFzDEWSbZfNM;EM&A=(p0>XH}h3y{_4l zdNo?Xs-^FP z(PUs|OpAhOjb(U++JQhYY+I21e1~B2a=-$)+-qtr-_|-J5a>p|q(LkTtC2HY&?Wz` zOY_LDpCFGU{34Q(WQ14K@lds!z?ejL{5DprH|_otWUwn!auCMm@;PsDz{5C3N@@pr zLjLul_X?BAzlb4R){MyS*KFaRC%*h2j#cdxXZ!Dmzij>OlecVna`D*z;X#X9B4~&S zNnd_aQ3wzxc-3FOuhHphQ476%Exc438fRSjUp#nLYNh6CnV|#sirO!I4Ll7z*4OcWv6(CgH*Q6HSL^p zN91OxumW5%*kf0h0L@q>cw==FcH3kaM`lJ}l#6LHS{`yQZg&8C1B~f_SqAGGwT~QF z_9Z84@&L!V{-|^6ez4*mo4m3jfIK$Fgsf+3vC8}LGhlDGH+H`pzAlCI;c&^Q7_h?| z%nTI|0ir{oJ6OyDIp})eZT6lBR*&t!p6V9a)wtn22t2BlJa!xCf(h;74af-rfPh77 zoK~t{{k2iA9P)N+y^q%R*SW#oV}Yc4JrTQunb)FP+(xs{mcmIL%<2X@cla9-ajxpMIN{zsfihFxQ&0hz#$mUExF0xJowd5dMB(1NaqyDgs!VW>vcUONE zcU+WDM1ay=T&jlw5IG*o_SEB@FlOqU%qr@CFW3`=9Ul| z2_hf6y;5=dai?dN!AQYFRm){Id)aatz%b!f$ye&tCW~#SF7}kPHcKLwy7ukeY|Pa7 zzu0^4s3x~=eH0ruik&T0q)C@99Z~5`5Rk6Ydj~@ch{Cqedq?R~A~keWq&EpAbfkm; zA(VvPa#s}H-}&zO&i##Z$GCr8#@J)43Ca7ewcc5t`OIh1auqft6%nm^6QFM~D03Cx zFDOGOU7d8y+pPBNq9cG<2lO8UE?bp~Vquyx`xPEhKu$1CFpq7MZrI0lsP5|9?tJLU zC~i)B`VeYUc;qe@wcpNtQ)S}T@=uVGHv& zC}ZPe)087M-EPg~0ndsE#ckfI*~lOvTV>lZR-o6@p~VV%Rq7b`m2JynmHTeSWnL_1 z|62u9o$YR%519!O!QJXHYr3k-RUq&xoc)GMhEGRhqhN_AI>ob_DfC~R_S&Fkz@gZ2_)D^}-_`DN|?TyloJf zZ7|`|!Hw_9vR9nx&9_z^1VixH)IAN)T@NO^uK7HL&SQuXHks57nR-R_F;*FK0OT-( zcF)a)T{PxpBN2uCj4*%Ul&tyiawKF=Nlh3a+QOx=bFW#&K`#uT! z1fBu!>)fX*f|APlELu*KQ7hav9MSAWKU94P)z><5g8fk-Fv1koIM8eFfX5BxUsx84 z0kIVWrl3?!0z}{dxPIG$tlumTa_zn|^R8CM;T#t5!{d<)bYgB+Q|>{O45{}f-Mat2 z$OLY{UO|g*3p{B^gW2h~ybe}9!3=)!$VfT?3l+Z=VAZ=pLXZxvO|uzyMgrq~DY+IvRpefNadtAx^&4LEisKC&;W+b;g{o&H`30CtBwR_$BV z!39h2zn|U%7xFhT?9gS2k?YK6_W{xN*e7Ywiu49e?=}B^M_W0C{W%>G1CKEP@#r() zldr-aVh>_%!n}1m*2bPyz=7q zufO>31Y4*5OAdVWmj9X<|NsB^Z%D!K1>yQMwF1atG=9b)w4Y87qs)cMOP zsxoDRqp-NjF@PKzr5V55uch9!y*6X|J^gMM>F1ChTXkZ;j$QRaw)5v>ryp?(fGl#z zp$6+xMdTMR1F>M%DaS?N0miSb0L@Hqkt4Vx{_VB-RXFphdiHJA3@eZyq{z1$yANnX z%&^q91s5lGx;;Mt+fI(63ETDs5Q58aR;)fp90t%9rHD^kD6ueb&BSMI2v9#wOS^KK$;L4lHMaC|GM8v8IPZX%U117MVA~F?! zS|L}^k+=BQ?I$um2N;u{W2<0rtIKv$X887eMwr8$2A>Azko^>4dwoM7V%ZA@G;VLg z8|Z*{!P%Ju@z03BNli(R)j33Yh2EL|dvN^1ud8`de{;X^Mo6{lQ(NltQMltIYlaIA z2AEEsxNH-i80Dv{_b4T!<=5+huOq@OK{z07YInwt6C0NduoB1~Kx&#Xu!dB5syH}P zp*GpCj}1QqC9o8R7@X76`Y|#DL{v35YMYPQEuevB@HY@3UaIrjXz!Cr^BA!vH*XJ| zQ2OF%N(?;d*OHF^aOvPGRq+90yT!AS%5(NPYANS1N4V2s+$zxH_iG7bU^q?ZrZHgx z+~^DuOCd(`)@evkhx>>&_82xV2FOAS@vJ?zOmW9~TYp3Yv0Q=E4c6GnL4^Qk{oqOv zp|8a??6VB&+ZM8#*RN;sqI#RG>m~&c))(_(6CZ7lYy`gHl-NF<#B-;K?29$v9AOSw ziGc@ZliqX8S=2|B(N2hcR+Y(D>$^8No3mRUNMo(MQaPEi44I zB?$!gSW_=HW9h{`?Cd~lD_W*@48&?FG+!~z=11q_RO4})!)vE90N!Iq3(yDc9`?yp z_d&hV809|699=~qipXJHnoDk5P%M`W0`*t+D**m^2lBX2D%{AUg_?t&xBFv4)&D^Z z|Ch;yM&PS!`nl6b$Ik9KFLGyyLF*?9q#z`7awZ0guy zlH=db5Wn~gouetqF~bGL`*$BbPhJ{79e?=&&F8f^Vl+Hn(B>)#wNSCL#IC3aLEWWpE)*`8PF=GHw!*3#=!>B_92J zeJMl!`_D4*7jlmt7I5vCj}sT=*UwYg^rMuVgye?Gnf~AZPV(|>0QK*`_}^yyPhY}3 zFQXdEr8j%H#}E$mw-tiO7P?CMa(Y_3Q=o02agrH;Rp<2>|9tr+rqO^zv$n{#dqVV) z(@k%bf${7rVb{t@B&694D3w@raR8m;NYx~fjz|{e+1+y6_uPEHuS4eMQ%;SHyNPV6 z&t-9QT^LVs@*mM0dWiLEkl+SkpL8|5bNUu>YS$}$_C2t_Y<19eEeWoMo$i3Pd-KkqaDux=i9BFmMjsz9FOG3h4 zyXwC_wh`gVQ%znogX6OEj*jD9m!sAa%hm3hnGBIhuD4t+`+clK#h0DDJ;!c|T=J zMtao_X@7k5@fOn2Fz#W7bcr^-<362jB(vh|aE1MBv6nkDKfkQsYdvYRZCjW5?@ulD zM&0MRn1U!`jl4Ho!Axm=ju~hKoSsA<)}o#q?mk%<=Q&BZkv-wjKFi*h*@wsaW(yE7 zj%N@*Vjrj<9j6=XT&Hc`NUr)@Z|kN?T1AsSt3R-Kf40A}2sxDn0)=CG)ozMs-f;5! zw8|ui6Kofxt#X+|*wv$2Xp~^|<73B#9N+!LTDM0Y{iRV(p)iqBv16{w>^oy&*@AnazYW6`5A5FF%CP-SQqH33(*G`$bENwem50$+F2XOeL!cue#4YXyX zR?k$_b+bUw3bCKIPtzagp$?DL4QiMhYq)z*ZQ;A?77^PXA8)0>VK7+08Xm*qYO#QO zMyXe3mNzNW_0BrV(fHW!a_aoG@GNC4Rd*8G zXql_Gg2+m6y@pH;ay&*i~;JVw=K^!R%H8v@y?E~Ih= zv*y91&#Jc;*{FC7!+``lXy*!x?PZ#*F#Ne+b@H~#d!a_C>87`H8_4riZP8~Ls zvoPwE(n9s5h_e`(iCJ$ymV{JqM0L~a9(u9O*JYx8*CNeJ@URAEvE3J$%5iGT4O{fq z!?k%=csFGfaAn?x-kVD?d419`faf9ZK~>YM^bhdWC@M#-5cpDC=I^IAtf ztbs*2wlF-JT}z>=#C&!@m$WM8DM0T#XdLS}M+sw$RW5VkmT3@u8>#hlJy>0xU{4?) z1l=B^mFiXU>g;;;xy@>v4#WF97OE|VrCL(4($7K_dm>WPEK~iImaF!7;J&gD?9pDH zeGRrUX#M)LF4dV&R%_2hUDg!}d_e2wb34PX=ww(= zvM5u+hYw?$(oU=4h5W2KlfDfT`)Mq;v5zsrgzc!>RZU(|&%;{RgiRm)N~>ZngJR7I zT0RvHom=RNo&sKU`=^VJcT8*pD=ADpSHr!1y3PEa|!OWz;0y5F-hNf4PO`~^ub5%LfX~8q|-LC&MMupx?Wc7 zw^HwWwy0pS(fP93(zaqG<2^4enAp1?%948uJ#oh27OM1NT6%P4x?>-j2=~i`Dyd@_ z14nm-Y#XAM>-O5fFpDls!{G#r?;a(8BZI?^d4BETU`@BZCw77=Kc$Yf@!bu6kIq|{Wi;PQrTwy#GP0nM#3Xh63P9tM_Sa{^j%}*i zw^5CZ3CWu+cMn9RZS>*Si%;_YH3HA{m=g+ciw zg5GyGiPQ?4g1aBpqDrFTP1c#PRlZP%@cjHFVPjaZEfJM=qbDLm9u)$g6zDO4+c2t^ z+dcJCunG%!&l7OPBwKCon_xD&?!aSVw5H|?w_$5C{NOZ2dkY`(14WC7!?YPZ$gu`O z>T2j%FMtq?Mut@JrrHdTtfuTG-3tT-V` z31&;~=L7c(^w}Locgv{WM#fxq7PTPfvF5Fx>q?Bju?A~6;JFu6&#|}3aJ%kc0*dZ> zF8Z&#=epT>9p>7{Wn6M!{{XtvPuNO#cCv%vkuTfv*wF;Ww$MZAuH!rSrV+Wgg$s8% zOoQIJOn*~^S!032`|yFkeX6n8`-EOs$ACQ?g{$#Hn?RL;0ZT?zWu)&p$po~|gfy6r z(?l6pws%uJY3@`j4&J)&!&MTx z-N}5&7J*0!J^sGYXLIP%EYo01!Z5m{idA8=wNXg*#@DICz2z7+zEL;K#HgcaymB>C1mPeRmz7X`)gI+zm~ER>k#Mq<*1|%h=L^^U#?Vl|#L~t$2A-kS&vAQbqOg zlJZ4{RUEuq3)a+|bg9<(==X_E>zftcB&nH7!-mxqkvL zq<=E~t5nb$@r@&pqBPrm?t6J39#K2cmo1`_7s>LhD5R(xSJz+oR$`(cYt;Qxr@Q$B z!%)4RhK#X~W^2z7Fi*;b?^Q{5J1AW=P9shI*VA-^v6wb@xZDdT#9*^f;BOlqbg-Fe-n*J z_cQ8yJXwrUj>RFG=fI56wl^{PsLfHlLJyV6s(}aHa-JGiUd4|(9P-|k%>cF5JXyT> zNj9wiqxGR~ShK`rouy-Pd;CzQTFOYL{riSRHs+@PA6;s)!v6G;z z#P_1i>}(Hbm!rgTPeqaD$iN!Y2P0y!#x?`D2}x? zvQ3vmtGreQcFi(WS`7V;la8bJy=s1}1IC3QZMCEy_QgyAG%~197HHWS!_+5~ld~9LyoQzYvzzS!dt;KRdPv-@hBw@m>6DHRk zL}B$ONZVE!13SY_#o*0*3_i@}N^$FYo2SlGDR!_WwkP*U$C$N6wN;*tLe+Z{4$QsN zanEN~9t+iV)1^h7a%~8w5xGC;ICN{=djp?joX&r!E6OU}a8c_bNaQ1@h;BBnFg#hb zq~jCg31;sKJL9dsW;^YM2m&N_eb;HIbSn*_vs|0;qyQ_pZT@Ob+@=37fm!49sf8D9 z0`W68qt!8FZ>s3aa{@Eq_d=J3GauzeYF5cY@*d^A$Xx$Rzb6TpK85=uXB4lyc6lLW z^mfS>#*dRtapfa$&uIp~KSYW}8yL1PhO?%uCwzOhqoIkH9uy0-}vz4%L_!7t0jZ?YrC<^hoSV6 z)NaR=V>}5gd+O4T5!u`ZHQaqB<=zgkM$S`8>NHsCZKndr^UJq*v5H#tO70D)4MA*Q zPiNy@@1n=tVL37_9~Z1M3Z(Y2jydlL?qaY9AR;GQLK^rH4k&lLkq(z@69pYq3MK>> zYddD=50k|`yLSxHR1YVDV7O$aR+<#uY}Fcy?g{cL7gV&Y=NO~sq|u}H7w6F`DUdD8yThdd>I zlW^=57UVi5Vpfm?=aaW<<5)H!TUUPB0#Oj+7ss-!@iXY(`blB}CLsL#V~YOV2a|rb z^q-+dW@edW^xt(yKy2UOu%{{q73{Wmpb9RtM#L*38VpW#kLi2iwxl-HbxV_4aP0>AqzltHAY_76DaNuKn%a_1lvqs7!mD~81_?A>j z@2-=pj&%Z>6TThZl)}M(|6LZzm9PS*PmykNzfQyg=vq`6ojc ziI?v~Uz)Fx^4n^?FTR?4>{8Tp6a8(xjnC!|R|0O0O|#qu^|-Ni!RgWN`9pxJDVBeX z;m*PgS?;BYXGXU;1=M?4R*vk?sLv7J2a+met2}hT7zT$``yEs>t0oHON(74X=!&|| z-Nv`g-z(HF)iHja7k9mg_kw-rB=kqR!H$u6$Ku2gLwCu?w^Te{Mu#Ayor5B)G^h0k zw~1@q)Fm}nnfm7%88re8^jpv)2@pTQ__dKF$Bve$<|-jgOt{9#8A*$!lX;Kd*JdhA z`E_vVm#BDc(L9-BrN$rDSm?cSG4GNpwdi?$RnVDibhZaY*z&J(5%N%v50g%q^6^`n zWdM08WRBO0dy)7lwtF7B}$-928doI}y0^j_ApeOSQKd;xbAx4f6p z<-wh1H8++6q~Nlr3}|vo&Dw6-8%SHv3GDdpF~rU>aOhWt@9%f$K+K115&7OCZL!?> z3CfnZmOk^|>8x(7TACErP6M7~dAmisRL=dnxL>5T+sfMXd5hzFkMcAV+h!;C2oegY zj#%>NKB~`fgZ>ErFO8jR+JmouXk|yQARWWu6TT)u!7buR`{H*Hp)DZRL?P=D!Kjf9 z48L`IOUd&E7Xio4nGou4c?BZM#7IVDCjOr99|I1M69)+SA~L2&D$SlcQ64I2OiU^6 zKR6H&jP9P{1DWYUFWOwdQHe9IN{e;`?yb)eO@K$-k>9jK)EQ7+-rq56R>3>v8st=1 z({72B^$XY=D5I&WJE~WZ$_FjuG;pEZb?h`tcEB!j(odjK=2R58-GOXvWxYC!l(Sau zzIm1f*m5!>@s?C{ixvnv;{1HQT7SG}nne-yCKfc@i1Y=6YuzPcW6;SuT=VEkLh!xz zE9_>g{(h{5mC+j(XXmO*rY&e)bN@W_;TLkhaI2sAi`N6o+~c`m!Kw}Q?EmZfSOd(} zx9J?pthr2)AF}AC*YGrhR@_fkGe?d4!P_gbtRd728>jP|l}aB5?na8bX2<(xw=qDM zqrpRrNH;dJ9{-rtNwB%wd6?%DD<90~y;6uYUwWyCLx-lY-f%)1JwWBLB_%!0cIb&R z*j;B}Ht9^|q?CNjJuiW!*Zue?Z?^H_N+SJVoVta4_|9D5ca#S>VrKJVxtZ?;t;a6b zE@zap=yn_OgD82p0xP1Jz>y`P0}pkxBE0L|f96quZPe4*=%#@srZQ4@Dnv5Bz5@N> zXN{}~xx#LEtJ}Oz??qiv!QU&U6dQle_@(1Q3jM+`6I1INV8V9Bb-V+}e5%3cGc z-4mmn;<8N?w9ZuTiR)}UCvHye7P4#L=$SH(X%`657-#xI>-vxV1zT}Uw!kjyGzyIJ z;oo|D9q{KI;O>)L`gVuBZkAsNKB-6ekbfnU#)+4YBffgJ$C~)X90r<1ERR>W)15ls zTIGuF`lQDYn)0L~&ji*Dl{&IPBr;_&TkZoGhc-Lvx>e$>=2>x5x3W82W+w5TId&sU!-rt3j5> zYjnYYuZ;LT^S5VT2wNlW0~#?^j^O1QY9X7}XAF{C`-N}w!MHpw=7e<8xN{K;& z>f$Z))%HFEsz8Dz7KRbh@SDI@xP%0MoS4oylne+S zg%$gPz&1ta9V;g$y%Mt$`%z&)p)9Px<(aHJ)Z4~hs`5d-;oA0yfJi!gHG|ui<){X- zcCq+YD~S5c=1wwp>cef=rR_$z8s%zvVmNi819-P$Ex1R&jTCtlCc5lzpUoRhf1RnA zqEAH6H!xBhrRYupjF3W~=jR)G(gDyyh@1Sx*vO&30@Yn~yh5+M`<;_7MHd4@96VUY3k`eXVO_od< z!b-OHit@oQr?vvUQZ9QMDrZR^Zsl~jjihmz8dtPhf~0o^00rf4GBKre0O}YgAdE$W zinI7Egw*@ph(8^}QZ(BYbPIBW`kjW!j7XBDuYQ&MrAx;-ey-oX=P*S-07v+qgv*@} z7WS0WBxI*Gb2S)6FSwGM)INU*!U_8zkv@E3NE>yosLSl%W*xCz1(QI-VhpgO zETpl=RzV3iVXC97Slzqr4zxdPpj76(eXT7ZQkA7u$Mu4A?zDeHC$P8BbXpv;Q-j2g!E`1uKacw7uBYM}V0@|e4xr*^J$M@%DZXXzfN{$$ zbp)d)yI8Fv=5BiT%8p3aNl8+ zxP_KLx&`<71ZDg#osdm*57uYEdI6Eu1?dZd9GIAJio09qEc+NW)E7}YB5iLYgU4+p z;%oO)&Wj^oGNx2Kf{t5Y zR_|I>S9il9f7oSE?F32b#azYN^|)qEor2o|)b@t?U;?jR(LKJd6mjH98@C|=v zjXV!4jTv;TVAR+L83EMTraYJ=aU22npu%xfbh0m=caa!7Z2d(a0(>9@3uxg zU-_gJ=dsw0+@P8KFPl)}k~XT?x45=fO}{j2zF|mO-CR(Q{25mHCpCJcv#wwvS&Dtx zk^B$N4L3m33~Qe&p1a0nHJGJL#STE!xKii8@Q20K?z5!{rDHDymAor`KwQ0fQr zA>*xqDSI5cgA>?>*r*(}szQTWx2kAPt>*RCJk7ipW%hmT>+jYwU3(>PPUHzYO-u2n zD(u8GG?L|wVoMR|@B{@xVb>WhlPY}>u{g}t-ktUU)Y610h@k%mJnzCM!9~y>6@fH? zj-OH1A0TELi=of2_)HJ|Cu>mde}48Mym4G;`4NbNY?YD+CrVqX|Hfws1I>lB7seN83U7g*s(R z7FxBGPHro<;xAl+8B-_ShZyU2+eoxOHfMhf3p7MI9gFSiFKzqZ~u89y$B}fF21v8 z%0^cM83DF!WPTSoyChQ+5O7|XwFaFu#_;lAn{!%{GIfbQYC;`!dPI0mKmcg{b8kL; z_@EL9@4koPji1g}6KWt1*af{)_CXG=C*KwfW}%%=a@NDbo~&>Jhx2o1@|QBLH@1C^ zC_Qi`UOZSs)1Q{?#y%JPqm_C>3yqNQ-Nd@R&9-;y((c_exF#wSh1Zvw%o~G3V&?+Z z9t29M8dPjn8Pm`u9zcEbaK*tz#A+1ePNhRe-6epT%?lYJv1R)VK6eHsYKM0*!q#ii zu2a>_u2uAC&i&)T;7XjEE;^^|TWksN`&tiziK6$Wg zLw8QhF;ML}nWA9nRl=G%|A!yjNYK`+_<kP?zL{;rR1#99$g#?OOmy_OgEAfOv z7I|mNm&6+0bZ7jiE=+N&_FQrB;#+`y0r@iRr*~cssgSwreS3M9J*m!86wv*w4D#HO z@QG}4pml8nBd!9 z5-mIa`-~T8V^nRdCOucXrkexweEG=nyY$merT_C1ZTa@L*U^8p?d+EPm8ib3WY=&7 zEq@8k+y_}`@Z?;WG(Uccmae4PfT>VzwJNcYHkHF%}V;>Y1I0R_@bx)pY7n9SjDyh~(qJECZz!VTpC?oA> zaH3D$>3*JsGjz%UiKUi3t-*lTxzDh_FF@i?AWi8p2lJLK9&`PC4++Uyhi1A3Xb@a8 zq9Bnu&Ic$P3H;`7CK-S8!CnTTL;+F)53=Y=OgKV8{I})*-*LzOCoJdax=2X=ouGE( zA&4(uLw>)$Y9ffHMM>;47-g)*umg4VNB z!M08MMI9b1BP_jCJTD8L{C*4Ie`Lw10zokl`bbD2ztwpZAXcH(PRs+Bdf)Ud9jNm=*TPG=g83gZl0ik`MH{QmUMJfp7t zR^b+3x7S=2*RAopdn@&E74~T!=Lf$HfC#T`UEQ+%>w~wZh56d0K_EMOEis&(GU`H( zc$aj$O>>t9Ss1N}%Kzr|E7AlX>m&e@VY@x|BmspCwNx?o28U7Brngj{qX1g-E8e6N zwu{e_cyon^xhqjHa=;eZwu48fbP&x97)})P_0{sba`jJ=)@KmEFVWwrm@ctf!aFcI(e_8L2vqFZt)frj7iWi7t>jP=@mExr0@G4Ij@n@-yQ*_szm*)>W%SBwE$ zDJ<)x`>2Lqty_W$Js~1NcP>I-C`)(pu((1oQZVmPuKqn9lX^S$F5t^{4Rv8^_SOex z=M%&ZwDk7Iw?Im|Q)(%Ogz4?22-*(Il~{IgsKfm(bFEoscSZQc%rz1c)G4%!mds+8TSqCASWZGe8ohar!yhG@?Z9) z@ZR;l;sX1_y{0Xl7(iNqD6a70?>OT!eI%@D0}@Xvc#8@djW*j4!^8ZpXa9K`ei&%n zOM}eB2RFMrBx*b^GfQw=8GJB7BQ%2XN_jgM5p3Jq$!nnu3OQK-TGa%Mm4%@VmeNDK zo{3V*NLc&^^>-qVA`SB37gxi)t>h}JLSKU;FPxYh#I9Xt>%hh2v&e@o0RrO6gy@+x z(8TtZXI@hEKs1)987XR^nSGeD_c@3j(t-cX`E;l)fA83w`*k zc=H2PGkF9cEi^3*U676!`F$~~CKtiQfM!=_lX{;Dx zDPl2xoByZ)k9@9-$w`AN^u-pAZyEtE9DZle1g`itXGCB6s96Hsr1bQa+_spGI(R1t z_qYrHz}YgiCxlK@(udbV@S-LwY9D z=3w5A3xN6B!Wjd{Km$4swDT$h-1MtaZBjO9_?{yG+ZA;jg)tsbcz<{ zQcn@nCiVzDXTRr@L-|ca9QnyXKKzIy4nKEXNQQ(M3KNJejl>g@_qh03!NiGO3}O4q z0EGo-D&cXI$RZkaY90O_!twaVm5UXIl4G>Tf>*12Do^{_W6gL6Dt*xNBMkOpA zWV9Wi{e_6{MF1BMkz59!-L^W_hywW#qS_tv7;})d1(u|JzBj`h01`xOnH_+MZrBlR zkV9YOq?6a%+rY4aSU(!Hpx-n0+c78hZ+!Ogq02WNCW3DOD9wgUwO7EpUAT?UO-+30=%o`IT;VT1$(*9!D4I9ZgUSM^0wH|)#bG0DBV4W2as1A&Pm zTFp8}O)Ly1?pJTAj;r{@S%44gNCZ z7d{L0NHBp$p*LqAuVY7%o$7sHoJrrA!rD`6wDdl!cdGz2%8e2*Z6?Ei585E6XJVeq zcE?!`5tQGA2*9Xze0cCyWf!ceAo?@!mau2efo| z+2tIgBbOzk6YD?847w+8fkmlMNs}7alr-R;0rMJoK(kq7UKr?X{(MqnsbAX=x2CNd zfJg>I)BrQ5w*V>gPP#s{Y4N|geSZq~?0bA6*9GJNXP6S8ye2BV$HPMKE z`1uilC9$e|-q#F6LX z#fx)0pb;~pFq zaAbR(>VaAmfWBH`1=Abat!L0 zN`XX=eD}qU2)zys4K23^V0hQ64aoUo$gcCBR6&~PPvDTv-uCl@=`UlRXn^!qbyWe~ z(Yxa+v7@Z+J!Q3W9vf2%hL!16*d^2gwHZH}C7~PXbLpN!T7vtCnY`=n$|x(A9&$N-?*s`IuW>Y>v?jUQ>l(IOkH zI{)5DU~ssGxcpBt8dTWfK>cZNJlktyac=4dmg+#vE>X(IKBLjE+;MV3;&>LrEpEph z+b~jWKsrDVZ)||>GI0~+N9_(5FOVrjd%sWgizfM?FJJIHRF+8eYgB&o7n#5ln zB=V79VU$3Cl6)_196X{=d9MDtiSXw{SH9g}K(9s?f|*`X{N5c;ej; zYVl1w5;yJj^Yk*R*Ow+#cQ+ZX)XV-!6<=z+An&gfW1!#mG@xb4?DLQJF1UVn{Bv~OLw<|?n(mD-5g!#XPYffdhw_I(Ot{0Z_pyqe z5JGpSMYaBYMgX!&EY|*s6K_OcvP-v^sfNDbr@kc$!9^DUPT+(u;RM`%xd!dPu3PbL zw#yrE_%$C#&fhU7=zfwp2FjVa_zlMfN6%3alTNAMc~LN9qg<=FVh#SPMx-G zMJ*M*-?u{|%kqWP#tM9pVdQASw$dL5g$#fq8UeaM*UIDd5v5w7iaDL(M48{L={NAHLf|YV#o@BkNJy zbcxyUxyzXglkm9F-JXVRP2!mXof5Y|9vxkjB34<5tg@nqR0aWBRz;>t1fny5NV@-- z!uU0pwef?VB)xi<^4Zo1BM`-U^@aZFP#mK^EDcCxY&40Ik~EH<;0pujaK~?Mbdd=N z_Q6bedC+LUPTaOOtsG^*I~4nst;GD_vz7O-dLCb|`YTZu&?@J9nJfNxMewV?7ydK% zjd_`_Pfr_V^(aIF=5iiNAJjfbtgypYs00cWNzsb*N<0EIQH!GM!2rZ;JiP^8ELIwKbG zg3NxPAQ$tR@?B)UE`hGd0aUP`a$WrW850MV!BXeVe*AcfsG4yFqPfQhGq8w z%+9dJhLFaVCcK7e89mp}aey&rJ^f0CVNHyxl%f=1_zR8V^IT_7FFko$uWF}uC4 zkpHvF{|0aUv&;Xd?VkS;vWuGS?d_f7`STQg=6+584{hn+LA>AB|G)g&yC3>N#ccrz zOEc?99j~$jbN+CEJD>VFsg)T%K=*wVT1#D$ zg~;pCl6u_*#X>1X zFusUI^hOt$9qdO0RqaMAR6#Jo2A=IW{c@Wo(eWf-6_GuB_voHaC2UOty`q<+gIL$$ z{gQb(?L{8w6}zzLrLF)StvTlw)`W(TBPS1DPl-oqPx%pWTyOJ%Q*Q&}V7EY0N3Qky zc*pHo15wEzQ%+PT)|OVQlp`hiV^CNl*jp!KCY_Fp%b56z^R_;9@}uYanK|`k5yC4R ziWwy*$2ND{OfMa@dAnfYsvadIva*3UL4__7l+wlH4nW!o2#WN>CFXAdLI&^qER$O` z;Y6fafVzG=Py(9;GIi%5#sqU>)V~v0cpo$set2*mjW-AwkWTisM_1Pxz#aHOUFq@Y zJXI)|c63s^K8f*tTn~>4n(=+McYg7nxsVjB2ZZp=%GIB{qQj|kFMZuJt6aR-aDfsq zvWU?)P>Os3;JC5i|)zUrZg1*e9okV1x=`1qk6LFevOvcJzC{2+kk7(Xr~P1r9j1LT7Jk?%32HWEy`#DyvkY$Bdg2#NlLUK%bnj$>O-sug-iv(b^62Qf~RxLyv#%@bm3O;rLGmY93h4S?p03OG#nfdqd z3dq6dbm_(HzJXFPHwcIL8|812&sn8gqS|9{K!gKOX)HS#u8Vsv3*JjS_2KRr?ze%K zULzO_z^?(3T|;~=c*(Bbit}LO^;}kq(;gPC344Lxh`lG4hT@HAmBFliUsv}!*f(TTmYXEOp{NPPp{tCpkKgBoW>hFpzB?( zcB1oBdcJFn$L;EOh`BF5LPHc2__N+o3$+_sI@jeKk7+_4*yix~pr)|Ch^PirTmdIE z&C&)C3;F%_p95baTd>96HHj3u2-L2Vx{^ec0mLyDdzIsng50~mE`C~ml-}bAZ4^1> zZSPfsly#;rG@j9!?2wesDfCnSyJM2S$WWT|MU|h=KpxC?s9SPwcfUVRixujt4h6M1 z6u^{9*F}^+K_~a}*~F2$=?%pP1BK_-jjtCqU}tc~3mlIoGnU3Ezxc(T)Q{7s7iij= zBuholTKLHsykD@X`Fq?;ODwssCTxObrEt$+Go}7k6!kc-``bf-{)4vjy0cZH4Xq=R zY+27HZe7L zx8vaU>G)-=S1)R!9ixQN!Ju1Cp<&Ipl@7%GBcLjfEDQVyehNVP!AKVOV|iP@?&TM z>LccvzKiJsJX2&N-BDq;p}xYUv;J`x(u6)#I^Ne;uS8$^&?H|p>}?0`86S+cLrS&RbD zn-p}B&a3Im;tpAKj;)x-0+p&H+b;c&U0WXUmIX|*mpG+IJ0}0oCkvx)xJ+lV<)4C| zUa6*BPo2Tg?ig5ZNl`v(t~5+5D)3X==7gpTPVc!g4+$DAfC0A4^B%iUKyvCt!$@t2 z3`9J{KFa}HD^H3yrvDq}EgIjWE1pJv7}~PDhYF<=PbSBC5#}{MiOHwMiWhA?N-x>2 zhGP3)!6XW5)k(!zk=5tcA=x2uUQ)Gn>g*=S`?r?a9NlsS$X|LP8iG#@q{Pf@unpPv zC21tf=L2pGsuVBDD0LWnc5Zh~JEy*A>d6Wpc_>j-dCohIVuSXL>ACVJhpC!}%Uv=^ z)5^n&unzC6d=1~Q5?ASydwQ3wjBYIoU71X9Xr3gS7<<<<|77Se)nzuhz~00-7AxUE z9UoS=uMX>d+Chl6ImO@cGH9zUZj_?!J4$@EaD*Tn>mcQ%@3(BI7rQLM%A~U#J@Trw zEj#q8`Hso*LT>NmO02nkM{BiY&a}A>MB2Bu0fOHh4cLb!XbP$l-t>`KAWmrSb~-)_H2lZkA2D5P8=-bFCK4AJG&*Z z<18oEhexajQc|{Ft>kzHh#6eY@g}ugpDtf_vq-Hko+HL=GpL@cQl@)3P_`w6+Rs@m z{h?tl4i&vss&^{`GCKHn*6O+)Mzl8yotO)@HZX#n9&4^OmZ^-LG~Av>?AR8j6afwv z@$)2LgGx1|`NtYpX$QZ{*~{lXP0#m!MErUThT0GP{t3#-94F=;IE#B-u$H)PmvYpi zDjU^t61{!eGL#$bPs9gR~`S@e6>I^?u$Ww|o zPoKCR|Bc)hZao4guBn&<83m|~Nops?=?@lE6%L)oOf&RvH(xOvdq0&BGTZh}-Kc@* ziL*YjPM4HSJ1uqar$$c3p37nOh!B%4$%j_YWR8pR-ZVd?E+vouoG%X$n#7lPy(}LDWL7 z$F)GWsiW9%5*F3U6BRGRX^Bl{R_?jp7?jO`oyg{^dguZqP|*8S6nRSQ#ZJcu8+!Vd z28;W(nc=R@Cu)jfkKOij{fr%1ayju;n1?iTxpT|Ez-huhX?ROajdI-42kvd*dl}pQ z-7gk9!tVAsXZXj1J~pnykhtA-PhLO`4~sTID#*k#Q_95#C(akUwk+j6+*0d}9Q2_- z^u_00yr8YM?|h~oBk(NsGqWP1dCvS?^wW=|A7j9kfg44A&9mL=!vG4m?LY$1ZVtt@$Z zyLevG!%{WiJaV&-E6I}=W3k~^@S>ocJ}gb(u;OyM{6yEMf%MI%i(LD;4qF687J2X~ z48N0<>)R8TewSsZ=3rj5PaXbjQb)pYjG{=}P9GO7y2z#zH$Ql*&0#h0T~8c}=IEV; z3YuaI(pkJ&_!rS&1^?`;8u;Mc$;6HC_82MLFq&}c#j3L&Nl8~e;!<4oZC;cT(II8N zh%FCu^qpqxBi%S&8)+lE|F|ODsA zYrD_hY{EL_NjG)gTX=p;A3|vHDN(XFh0ycOma-~5f62Rbb%ALxhJ*OJd_r$B(J{Y2 z!jVyn>Lt}yQ98*XW8SuJz_UZnxlcwUIVyd_*FSx0nNi-6IEb?H5xZnQs?BTl*8o;Ix@k2_|78tVKzexaocN5cp@C|3cr8qAC?>yv zpcu6*P#}HfU)E%{RKvuEP%>(5Tnc}0y^`gIgQUmXx{a9+NN}{da`%k+_^po}AP*Kl z{$8G(IXK?Ve_ftWi;N>auD;yHWVcJB?VJl_nFvv=^c|d^LqwQV3gx{1|@-rhA9q zpyoKQE9Yhr+PQZuR*e6I;e>Y*pRNYV%#C0WSFPdQYfU-&ZR8O~k8A7Y6bIkE9wUC5 z{%Gk!+(8Gft?5@f$|r9OgCq>=*no{S#M6&{ldvLuQSCOZ4++1ddupRni;XS1WlLb{ z&uU9{Yd|8pvsMv?spE}FV<|p8SqhMuOsa{#q4l5F*`J+f#P|j;cXT$3x`}6lUh+&i zJ(F2$-PpFYs$BRKe|X;F_)c|xzg&Bt6$fS3Q71d6>3ofF0=C|9iNx;sUfEB+*x{w= z?64H~c`mER=Y>UY7uDE056Ci2zZ(zFLz}R?a9Sb-o-!;9{0s*VuGJepS9;>dPS4xT)i1pi(|JeYDp-Fn>GNG)Q=o`mbrO zC|P{Jl=}M=?S!<65(|y8*m0#f=WE5=8~6kVe>{-A66s+fBwiIc`Z%~Q?=QszL`HR# z<ph?0Pb}E{Utweeat9T|Krs%Wc1M z4er}$A@-TkC1E11^yT&tMth&Sep{lzjNZMhf0UD5o82d>BPBeK>HS(*^c^<+^r8(` zxWrA40*j43eJMO6!Tj87!3AC)+dYn8uLaM;AvoGE;~kJL;TW8&Io+<|_arO@&PjDN*k z2QsE#(_=%<=Xff&jF$PgdwnRnmCjciDMs0|o|huk;4rssrirGy&_Wm2Y>QHh#Eh2C zeEW5hnynG}mtz!VHX@oii%E2$W;SWotM}Pq7p0JJCLQj0v=vhSV#Ah-Ge%-~s4)EM zW@7q4#T^yN;n9_=@}5iEk~JpbSqH5#Q`SLDJynJ#%QdESR%l;l*#pXMM|#tDCb;B% z-3vSxxOjAQ11e7hoGo0}6vliLPQl2wr(BfhF+SN9@NAi>=AlY{R&XSfP=122@2NU5 zNo}k1V#K|8kg~h#=hr1o-+7#DIN+S-6N$jK?~?-ZGV$0H%}U1As%&icrC3zL zeq`sfS$W`wmTa249wXK zb$8vn;oN9-?C6ZZSo7#caENDM3jrI1syyZ_{v0}S71cVGhx^vD)uP1DociRJxlT%` zO-O*f<^^4hN_3u+-se(-Wb2`@FITV5R&zM{iE^G84r88jL>78x9ref#&0U{;+RJsy zizE~fu-JMDMK8|!tmtMlt0eskkGYsHsyj|8S#t58m3ob8?w<2-A{g6k*@g_@wra9W zl*}CmhxFmaCb+vods4YE5ys|mb^9~(~HK4k*zQ!BY z%^WX?n?E{#&9A&wq?mb?ZOAj>>ww@_e7>2u_d>Y-kI!23pLCTM(CCOcU&vt z1>$2{CyRXN7tg^MwI%Bu4_UcjK??MW6xish zIT!rRIOfO*Ys>;ShmO+_x6bm}C2GO7qxbi-t3Gd%#+u^FC%oHOnFy0nr#AZboi0I~ zoeD}v^|~mX#HI@QyIyxoN|BkSj~?uq1R)e}jomiUTCTkBZUE2xHxfdq{Xl9kbA9#;;hHyXab`wCwo5h!@pDxWz8DkN z-{NE&bov>j$R6N_UbYjK==`K1Nbc!=r^yNjre^%xh=6IHRzrN*4ao~vdAL%FG>u95 zW}?$mJo76$XGK`N+Y^O}cC$RgcRNa#-P$%ySXKRSy?C*&Y$>Qsyb`+IVK7hCcugvM z=JJ`v1IcqEIREAg?`L~va8FUon2p?*A>;$oN_qt2j4*mu!75dTRoR&+cKCMruS#r{ zSf?&%M)+T>iN`f5dz72sqk+CG-uiSwB;ctpZ$FQJ{;>?wa&XHMg_G?jGzC5Ah=(RU zOYs|L>DSCZpjA^vO5?%6dUXma!JCK>@zq$2h#yW=O?)73eMG_6b>>s;pK{D#gv0RJ zjMwe#X1c?N#zZx}ciO(eqL$G|NYdh0*=^@~i7qOE711p{j}9zG;wHB*Nk{KkP5M!y zzadk*)ddzB*|8D^tZP^~9+R2TaVJsRN9ZQB4m9u<8WXi8Jm*I5wK{)yP0AL(WX4yV zl;iuVJfYr&Hs2araT$wmMzQ!wW>^_@*_CdJ2oEVc7PSlXBsv^xBKPnyY9w}E%sQ3rrR(m9C8Eexw%CMcQAUG zH4Klo>0B=3-I#Dk7BL~diw<7MdEk3fC)Z}O_~o{1eEOzY9+S9}L2z)a2_n(IIl{9= zuZb`FnZc`O795=|mr%Ei+-Ao}sR43_Z@ym;ItF)ITrNa|HSe=t{%{)z<8cC99YUAq z2Z1f^hqFP;zs>bd`!OU_)en8-mf5mFtN}_4V~CUAabImkkMhpatAoD98QFiR{BaZ7 zx@OZef4eUPb(L_zVCOj@{`6(oE|iz#qZ*(*K-&}7mG+(YRY?n6I;3WMTrrD;gzRJGo`~SSS-laE>tNVXs5LqJ#~wW8PR1TZ zTN~C{3%4&XD2f(5f!c}dRZ``Tm;l^XI%`hDL}SAYF0NqnhpX~FFG<~vDh=G-l{JnD zsYM&@5VYnMbSBD+D-y^1wZq34*9+T&0V#T^RO0I_Yv(A7_Usq1{{q3{u zlPR$hx+ZhAW7}{5fy~_wnlG@+GYA=5$4GE5MlCJYH3Z+hKDyP#hhN^A$1ZV^ywM%k7o_7E)u-v#~jS$|JD@ z^^gtsWIumG0FP_45f6*1&oyVxgbw)IyNT%yJGPPZ)pI8l$@jH5o+nE5ZLZa#SGP+J zhQe#aFl0CZ4)Tq;=XNqNccqROOz#s3R>3aE$!0gxwwBH;ChmtXu;ZJWPrEx3NjV=e zW__NpM)^G+1#{;W)exQDZsi*tV^vkRxn|GIw?<5#FsrPIno zq~FexJ(E&929#hY7-Kq?`ElT8kG?%uk%y|dTWO$ovTE(I;a`dpVJ1E-flSIQ?}WIc znPPaFGPXFHWj@P?x=M)8({!lavs{-C7%iU%T`0|o0(Av{TxO`cn(CF4y7Q(I<+qkx64aNnTU z8J@4pG_>0f{!_aW~28H8h*x~%Ya z{dTO55K~{-u~Pzrn?JZ~`8EXIRf1oy^JP+K$~Dg?Fpqz}9=#TFN6avIjnY0DH)UYR zr$Wb`rN0`^&*c?wbR%q3B}TL3=y6>S=*7@Q_^Jx`akI2h3o%*GwM6$&*fF~{e55!< zy|9~!;^n-E%7ca{pP$&AMn1G1^1O!o=!fIrLA z%Hi-L#Pe?fjgUCstmkWMp&zk0$2)nC*|@`O8X0d%cbv^_n^X6IfEz}lZPUJHVU}xN z3M;>X)@~9>k3zfr77kqW{!WwqGUVbPWy8n3iz@z9kFWmz3%hDxX{J8^`{zvZqCh%=mbIuUjtV<96p5Fl4<1KDYJ zoC{ep1}*(&7>>2gg6h~vBU6bDB7ef+LD~3gNMBkr51tui58n;!`3MV;Br}7|v)y^{ zpC*m-xW#LGG6pJLY;?gQUkzbJLT{UY>#qdKo+Sd<;}xGBKC9Ge0?Jhu_hkrhh;>Qv z-F!C$ip6e_OY4@~C3z6Z`oOi}LX!agYkW?VN^FLeC1i}kGE_k=K+d&|9vEH)#WKuO z<71aO^~;oy>)(%9^}UbcPlEYs?7RRinz&6Xn|f8ivKIwGWjUt5zBQ>tGCrpiSRPhA znL%J~8rmnaGFF+dTWlWAqD)1e`W$kvps*(QXFW5a;Uxp2axU`Jb3oe*VNm7T#zmil zvHSYrI@wkz59*dflPe3u7_Mxxrc@q=%(=hbI1fg-Pc#2$-x$E4^|Bx28_dA9GeRec zd4Rd&QmfOk;6xFZW?R_SrrUO?cBzMjg-PHGEAuAPYK&>F{`lUkBlTs}VV^>ey5R4R z@F{YLH)Vh5*PFL)HG%D;^@nlt)kkUgs;TO$Kw5rr)`09Z!+Pi1<#>Shm__>v^GUyk zzb-3_HvGO86&q9PPi~SW7)36#+T`Jv>3DsRIq6)(5cikBvk}nCmWRy~3lnIef^q$q zr6W~YnvMtD?164357yc&m}9gm))(5_{D%PX+QyC#!@>#XDV{brM2y!ZbVT%HV9 zeztrz-C)BpoL!3@6K4R>@BVyUj!~bTqqrYsS@eM%?XaVi-7WdUUZ%^v(?!l3hg+=n z@j1*{f|5?=vEnbO=dN8tRGj;*LG68s%oPffBr?4^#}$6VZGis5;Q@7H<+?N*vTBmw?)5Z^fEe{pjCiznxyC{w+3lh^V2)-#J)5xRm7e$uP z0fr=jK=$^H71Xfh>6eDm3>1@DNEx7mE4q)hE^aRjV%I_j!t_QTh_e@O9X=oaZ+^N5 zZ)@NG#w>kHd&1{Fb#P;TZQiKoAEpjiLI*!31~QwmCY@6 zC(wK~ciU4WdBCX=2?2-04~#Pu&O%4`&HN3m0_|I#tF$L=HtOjG0a}MQ55l$%6nCe} zJK;B%C#?8viQ{*c<8Hh1026~sT=Hl%2#gf<;cGt1v1sBpBo7#H|0LEiO93e>rgtM}jC zMueL-#owCjNZc-Jw7zmn`3MY!VH?*X<)-)IB=ZqV1?l? z-nw!JErIaq7N6Ot06R?eQhya7yGmG<1J58&Y%~eZ4;iWMtng2Fk|=Sr2XeH+%H~DM z-m*3W;j~1aKYpSiPq3KMILj3)#ql-aQaU2Z(Fx5_J4d&GUnOHTR8a^b5w58lhA4-+ zZdZiUD2qi$k`q$GY4WvcV4x$$90=WI%gDv#stkhxzHp(%d5sded#7U^C*Ab9$r{4E zmEYUkF7HDkYHy1yI=F2I#kh*ieHgsf79y(4aZ%5Ms1ycEtj2F&PNHT3sDtB=Zw%#F zk!rnX%UIx(nN1Qv-#*;WsvLh)1HhGKN?xctTK{Ie`&+XLrqGG!UoM{d{k~Ec9S-+q zzj$#FfJVJfG~N*Fj54ggNftmyv1^A0(z0Cuo43ljR^kokn?(d_L4`FVA}8+c?lk#v$*UbX5-Tr`Qj+3VrkCEV z1bbN8Cxv8ngz8Y#Y%i{+__93NTnnq+yV*Qi<=O&FOz+G;n&6W!uyg_-@D5wXHY>v0 zKCp0{?q=34cg@T5agHtY-5anzEVEaRQ8tM8guOyk!FRWT^_QA3KKSjoDzrn_4AG=R?-w$cvd$OENA z0SqRw3WuL2Q(XMD(J*oDvksj?tbVQlYYdIJs}ebDW73Zp1mN@Yg?j{6e%BAXhTv~L zRFsE1(6l33+0%8=e2)O+U_8_(!;yf6O5X@jGiG4lrH?z!r(0tc>@c}^O7%u|zDW-N zSyt@fjt^g|G0!{v9h2gA^bZ5*Lq#n`u(Sw4hQk=6EZNki@&4u^k3t*PrZC2;`I5a+ z_?2n?Wzy6Mv-!$J?8G}wC`bi8a_wk6W|}55kI%g*sHTyQui05h0F!|Uh-1agQbY%v?0}p;Vb%h#Dydi$ zYmy6e+m%2>KfkHmqTrdkmuG*O?WKmu^ieYI(s8{}ol?>&(8F-5{c*dC-!?+Jk}$;u z&Jq3sw}ov*vUAx)HYAda`EBvtp0+4f@|w&hCraR|sxMp_RX34{gxmfhvj6!Kb4zqf zT(Jcf2%>`u7zN>gqx1|dI=PMuU?!I6Iax3$*2j0(!`|G8hcIW;{z`tQ0EKmhE z8hbuY!tAmBkG9~L1IKy&DP4&5k{kL6SDIwsvL`oXjUOV7V3|NQtn~b-_kcYT8bQBq z$gkwGHQ7dWk51TMe|6_6vf^f6Mr6f5`uyUaG~612nXK|_BSh0d))e6nyXTjY#5w8vZ6EjjP`T0)pk;emw+f8wTGx2e3@x6pe<5-c?i;25SZ zI9_U?V*i*6{ZwAF%_Dnjim^M-hIM19AqAUZD! zH(aNUs$^gDKI`^macUb;)qlJEBbkdjnIgB`Z?~^08bxg=u2V}jWpzMpqd8&x-*Uu;WL3Uj1r~n@> zVMgkR*c#oibi^U&Q(U-ROiFW)d)RlJwjp0UhN_lOo9XUb6hk8n|8l7=cJ)v=+B(|- z4|h$IT+y9+s?q0sh^mxdwx8!T0;bk#n-b3EMjD zl92scebQilxLkGN@_L7u?54rAM~S{Rkj;DQ^~|w@4svmqp5Z;f&+9We&h{^#@>}$q zpmy3pNk;nDlpL?3IU}h0=p$!NXba4OI-8q6Z8J8cUJ-}Gw9J%_#(9VU5yOUMlRWRsEGHQI2M)1wJ-oitp;P zs~**9iNapmMt*qOa@+43`Bi~uc>UvFMo3136{pc{)IM~C=fu_P$o)MYr&F^He&K{95ok)?oMw#N#Sfug2!zzxzQAxesH2b zrZnKdzq|?Cwno7{P2B7mws6G+Z6xal9-YkB;EK6Z|C-jGjve%-c9_o@2DZu8R_%3U zCP!UbJ7Z~L2S$8&aNh?(yFt##D%D9x!lr-t^vC;2=@SaY^+Bx@ zcwq2F0baE*5pMk83nF(i{WjygiEWpJo!38@HlJY@pv#>+ck{z{^9cdZ3C!}$tbG%d zb@H`)_NVK|1Uu?A^ZE%9%!-#$tQUB!uKJ3Bvy3rZ~?`07&Agc zbE%0IF1VwqQJp@1Y!2LCNiEVYHNW<<4gTT;!(nke#bdUbwE(plILfD|43FiWba}=OvEf0nxgXjV zOHna(#I<1#AXtdsCOv9CH!KDl8F=>UT^ag+Z-jANXlsa}-dNG+t ze$#o{v~SSG+`R~DL^*IPPmEEWXo}#9XZ~99yWwyM%!VJIgF|q7peDg%JEmLZ#rCna z-z7B}h4AZj|0ksA&kz2WDSH3aR`oAYefQbaG^^bm5aYq3OdiYMzKf7K2}z=Ejo?y! zGWf^xb&>b*1rIjk{KVT{KWeX8ID^$sq4~_aiK<1^E2n>=;avYHr5twYmUOf($UzVN zU9N8%!w}=i-%^uH5Da=vE3QF4 zfhBup)9ycisZmLCA`=}wKvDN0HPas@-qjX6#$^1#XmLSCA}Gg{0bgePg* z{_FY^GJiMOt1ORS?eyiOpjqwaZ)pVzF)Fk-Ve=Onp=1+wnh4F(6O4fzAvv1*^nkGG4jNG&TaO04NlkHi{ z79RbKyZ+lOm!X5s+>}gA8M!u#)aMa5_N=Xz@LqpGc0C@R=&&!-X-g1@=C|lj0A_XD zY{TD4edbm^1Z%Byi_zVM&BaRr%9CR!FVkvO-j=uen*Qu|o`E{W>MYl*814wqV+nG= zelT4Ry{-Y-E*MOIzLqB3I1Db-SHrIIHW(o^_P_g;7|5STL70tq%uqdVWmIn0r{Vjx zL>JO94B2&F%kN-Ex^vB_Tc&?MDjuzy0c}#iMtk6c17s(7-d2cVXP!kD#6XYT5bhH& zttLg#!dbW8O(5wpO7%)uvpN8Y;f!jk1^st32h{YyfZ9lJc2R%@_oNu%hiwHXFk?SFPPPE z#qe96R`UG4DlhsD9PXV!&I{uG1{}@E;B_*lf!{(gc?glA{#J(Nk@_2V2l9FSs_o!y zxbEBlYWZN8O^yt~VI)nu5zt37>*T0wTUJi+ z@Wg$n_8mnMf4Zrs{+c5{J8oY#RyoI`YtBY%W|4e82gCC6-7AQl``kQgtS1uFd5nJd z<$wP|*)+{PzQ3Fd7uR>iZ<6tppbn11-3mP8fYHWfb;(|N^OmQPwD$lO5JX|LqC1Wh zr=2SbN6U5?7@r@DuGv~kn5S7?!0=38VkF}PCS6QTMG&5Z_gF#>db{Tp4wzAuQ5loc zeHk(YYcS-eI)8sf5e`9W@f#kwfGGI@>34&9$=}2OEaZb+`u6zL z?Sd#^1wh&8+hMywE-7P-AOLj49b>x@3hrD;kGzn<3U`ZD(r`lm%JwSDA5w(ti(6oevhF~vbEorh`q_uKAbqJZ~piQ$TQ@j|XCMG_T< zV!lA84nYObyo}{|{BIS&OXS1r=Ix2oZVA9vQW$4ZHe1Ud=EeA)EBf^Nv9*iIyw)Xb z=>t@=8{U%^8rAME)tLVDrXMOEluwnh`Y<^aW|F4xhY)zN>xgcuOj3vhee=Yh-|bXs zC^;SZ*Ppwz|Euia|55dP9)KdE4x)~wXkaGyi(2-u<==)-4;3q1=PT#LAIi0-ghV^> zo;XVxCO8=;vpf{7NuE7Up87qbu)9TW<$ zn<|4O<ZqrIc#aXA)xBQl1xYk15E?v<(@-6naGcq+-badU|EMF6_cmbMYzC}nb5WwYLZ(vOQ2)>2`>Eh-2duj@RC&%e z>x9l@{9?$N4QI^ue1EV=dZKZ0XP*2ZDY#Ch6YMfrm3g;S!fTB_yxPNYf9rUj+i1*y z(V1kTI+D8I*ezm1kOk3pq*|9eVkeXI zYr_wnW@)r3s5#dyMkK^1h`Qz9&Nt8{JIn!r9ZDvMffAh@Fwl*FvooYiKw`-)Dj_>g zXtnUq5-vat2qXNjqFl?*vF(e5)V%_OCaDhw95u=egyo^B07v8@Z+XKa(|3tt9+x7` z_B{}#_qon@%k1cdbcaq`XH1EeMhi3mIk8LgZv?OF@FkFS z1<)y^Z=1dUB@iGN%0s?w$a{4Zx+Ruj@}iKoJ=34Zah5~dIUj92-;p4ss*-q(VgKPX zp@O!9K()~2jHxvy9$+7Z_NFNu#NcSnU7WXIT;)0++p&Gh+$R-3-ds$AqKOqm0pW0K zRoZ4P>XStkK;_!cX>2en)JgJG@>C`Q6==Cr`b3klACVah=aDi&RPufAwf5$t>34D7 z`EYR(e=jHzcwgxSK{L>2bIlR5l|v{0McyVF=)9Dy`*W?{ZEJUjbZnlu?K}S^Oe3UZLT;Fe9;(+L93~BUP8^M(s1bAJ(^C9)Y*9!IidT*eWe6K9fPy^7&DSx4}6X`swEzXcXQMF0k@L`M#|dd-wuRXixH!hiQ`O+*FuG z_1C@8%?F-_3tn}b?Qh$Dvjv4}6kK&->I;T@xksqh_U7q;_dN#abnwiRpBN93j0O&# z3`|fgsuBk;0H_=}BD5!OO~!A@7os=Fxj7KOAPq=cYu}~(pi%|u6rDUhW=J}^dR^;S zy(KLI2&kQJP{ARAfqWPnVhsdoM7Mk^AnlD>d~!k}^!YLBcnYgymNrkyGRG_%%N)UL zJ_^2ao9E`sN6$=!NH`}&Eq^KX-8)}U((noXg{7xL_4@Z$nb(cHI4v)-bZ$aroG@Dq zTQGSKIK2`Jn6s-k{jKw{E|%=JVrbhEI$Hl1QrPl%cxAuT<=HYlb2L#LF09W#UsxS@ z0hdfO-1>GK*V#F>5Y+baD>%Pg>vueMX&TYF4e|i0+dmr$kJe3~=4YI2@ou9MU}k53 zlB-v$=eslS_D-WT5C%fSh#=oCE}gR6q4RiVKTv~^MK=jNxQ}g_;J|{yC4{N4%m*8I zwzbnjQzF@pZt$R9mMa(FJ!Nq;0!T9TX@OhsX0kPAWS^ChXIk;k29#-nD{q0@mq8>j zkYJ1;>w!-S<6F$xpXnAPhnR__J^*1$>KOG}thsZn#-B=@97GL_4gs@c<~2N2rd{=3w9$>F-oel9Y%TlK zB9?I-_C_{u5v%SF1PBiiO@ZdaaO=x^0Vr545fd6sYK>5)pm{J>yJ^O>DZl?aakP8*#!G03d_lG=iNt1}<3}$9TxWC#?Y6jD( z4fe=*y?3Y3NcLWq#|i4u1^j*GL?1uR-y&1nY>heA3JO;C()y*&qGt%SQzZ1-`FX3` zpvAf~yG?7HjT;`UaCqyzI$+UVY@u3?&EL(Cq}WiL^;0zlF#7%0mp~NTXRXy1<0)(M z^!PD{?XM2Hg^thCmEtZ1ySTDD9LvO)Wwo`UARlUU#~$t7n(SpPl)*Vx=$n)bfRULC5}4jH={hGk|I1Mc-C zi|6mYORm7A)^!i}PVwxnAt*H_G8bdQQb{R`e6AI*^KMz|fxYN2<&Rv;b*Ry9l)n(!K)S_?8M@crYMX5TIH7FUGqbq5^^WKOTQ&N@{fN}vfyEPvOZ8+Y_nMtYHQeJ((V~g$!>jb10RYhm=et^0-s?A0T zcFua!Bs;05tEPwNhnTW7_jr5+gEM`m@81@k!dLbgB1@1cBJ-1 zb(9_mpr9{da0fk`(Ov;$JAAdUNh3C@u6ymCXivg$_N=(XMJ^B}MYfY%etES88 zJ+{;6y2x!B@|C!FukcK^)kx8^2X|0LUqy)dqgpinJQuQCssF|Wu*($(yFe3_X@lgRx;OoXpuB3mlj@<2Fo_WT+I@3zS+JP-C<+)Hp8)+XsCowTGZKtDx=I zDt38rug+d^5tJO%ESxbs`2=dqor?Dw8G%j40oC0i-6LPfPCuvPx_|w?R5urIHIU+w z3yV$7#977E@e|HOJp?juXooaux$NfcK)X2yFAZLnjn6dF!<8;3`%B1*N`Alac7}I; z<<_Z60TR8auAfJ{L$5NVf&^D)+_9U_eA?m#CeblbIk%$?5Oz)&6;__U=lhbf-65TG z`7Xh_u-nb} z`|(X7s0R_J)MbgLcpERs=4j!ILQT05?hr+mYhw!wpI_)ny`K&Fg}vkvlW#Mw z3^4N%$v&Hki!lc(xzNJ4GDxCKV++O8$L$_zC{y%vOWRJugO4laM!18NSMEMSEP|kE zy1$d=1%+h{r|$RSF|kh11GL;$09cyDs|q*kko{zPDUy^7#G$6O!`oX*R}1d4G08bz zlOFVW@Y_r$^lSOASFYxEjT{ouMYM0-`?)|>sUMZza|6IpW||JQd#PIpt1*sMjc9dO zHsBtB#9}@2tgf*XmH%0v)J=Urn^I0y4&W_z@}Xe&OI;bSBJJ%evV3^|$G6%^C+)pA zB#A2#7(oYw-_I>gsM9lN4JGLyEP)-It>^!iyH*WHlw^;JZjmmVTLG>KK+c_Z$PzDE zp|QUEbCw?Z;m+aSYf~RM1Z?`Rngq|f4?{>;3?Q{WdoQ(c#+V>?*$sWT?m9PQ#UhHV zdy7_1JQ6P!XYk_!NuKqNeP=o%U3IPFgZi&NYrNUaKgsck_{uR8vdYWqYsoVZybkR1 zcszEnzkvX0J>b3y~YcSnpr-V zwpJH~g1ogjbi(Zn=T&zd{~T5R$iLid6HIle^tE!NcAg$kKxq`HgIv}b8#-^gqD7}V zZv$2e8Z;ufF93ftqeHHX3KE%75(XX#N9uG){xgzl8zo&MrDG%KjT=s8lU9gUt+BlA z==_en$e)YX4_&#u3U>~1sO#=43GYK^ZsT=GQqv7?u$7`#_w`(SBSEvWD5vAUVC?sg zUC%z1puOnlXI8RII`d%AKc9A9{_W3khSVoWCK^vg&G^g}Hcb3TlPR?5fh=}%Lx|1QDVx?w29T;WT0;-~av}v^#y9T?FCOQcBr8geLU-HBDc^mY5 zHVAX)$IK>PT0~0f$%J@|GMS0FkrLzX7*P{rxQ*}89h5xQKh;<9aGJfRPR2{mOew|4 z?(?>&&txun)={>&j#)`BJe{sSDAil$!h!!`hTjx$@SN|=zV3tn5FYRz`r`Oq-%{Wi z1&6%r1p$7&#_sAn4${P*j~u(`)I9>n2Vl+s2_en?PYy8Y_djTFvXHLj&5fmyP)QbJ z&gsvMavRJMpG>9f5;4oq#cV9P-JOJWP3X| z?57q?C&_?ozx7JS{t{z%d_cSW>6ver9_>5_;Z?nr`1V`Ur&pUH)H6T7_=m+$nTo_O}|aU~JTp#V^Uv#*uWsQMMu=!#uco6#=oe}!&dZ1+C)>=$c&mmJM0t<=dD z1Re_tt+t(+u2@{v+MG-N4h*q0vQ`<%O;iYhP&b;IlR#{Owlu>!N`WlzMGztO3jgK2 z_axc7z#lmXhuyY^)-YWabeiN084!YW02Z!Y6^EKCTKKfxZl=j-yYb5qi;FhU{>xJyH3He7S!9c^QRG>ww#n0fvT%iH;Ow>)vbz za4`@N^PqY)osTaqx;HL^@QgzIJvyx}6qjuSSu@voLrBc`FRv7_%~~*r@3osP-`+0f z)JNU`UCQ~Q8^8OIyO?Ak!fyt87|Q@4Z!AEOV9V5rKK12Q3yF9DB(}F4e|)S}i}}L? zg&1IVweg40$J1SzFE4^%T4A@<2ieWPBHAIQMe&7ZYQ6v8{+35R4F5F3{l6+Me}D4- zhw#lm&EtdrGMom;|L+&RsPz9LSoHswH;I5oBt(U9gXo_b#ygRQRitQoLA!8B>3ja> z!SBzt>!n`e9s#O!tC2T|bmfHp>h@@^1TnST3h$~P)R1Nz6ME)P48_I5!y;;@!vt^S z8=_dy_CpW#lOZ(loql=p8BX^AXi%zg8&sUc{qrpXZK5KxHkLO1l2GLY-_YrvO!-&Q zT+DozKG`NzEmSJP5R@lD&_0@0)U^>&Y@w`%1E66v{+${!w|Z;RX8FdNQIYHLTJ4#$ zzklJ2wJ2(8^`MYCtWO(dh7)ADEemJJwAXn_t(lSOWCyH;S z4~>O^3KOV_iXJYVBF{m{)Z*?Rs;aCv_b8|1IJaT1^(?)p$wOtbD$4gjm7?LXD|wQ zHjAkWAm{2FrxUsSBp^6+)OQr{V}4e9rEa(`rxVuP;5!jr*`k8~gvLU|(cEyc4!QYw zLi~0eqSg2VOYFs<_y0L1IoWdXPV#K8)^S>iOL=-?3`rtl9QG)o=I+h^>OhdOQcb2% zj#u1t4x4oO@62o5P!=4Hx)J&(22N|Lg2f@Q$s#neKw~)9X83)^_6Mutqtr{4xAX5n zvfxh(gNd;1?`s=cu}?r2T)Wg0`BjV22EtClF&;Ya9KyXkfP9cU}rVN`w@7Rt?jXBr21R*#vm z9CU)oJU(^}$Wpwv;rdswLFFR?*QqkZtu)ft%LD0iwQmiUEnX(em&rLo0Z*bz{t}xX zE?N7?AnYfh*ZxK9w&~5mSXrtjCw&#Cw%-qshsFEPW;Z!`(KW?0+vH;NYvVTwGc9w% z#kL2m{#ydE?}kePexpf~m05rFf!*{zJ-<aob-lRK13HgQuv7J%2U@0JFZl0Z>-U=g$lvW9HZ5psbU)~Yg~O9 z@ciK})PCV`K#?!wjQeDu@#`!9m{(7ByikIxCk$%pcn{<1uDfj+Eiq=FJ|DV%{yk)( zr@I$!wI%Z8x67sg=feO+THNM>{B`EF%MmC7VWu~_U$u;Uf{iL2_2D6BM{N{aRL(C7 zODct@%V*r^qiXlCtL_@%LmC9hFG4i95gLBgRayy81C?YEMy$e!y=U8$%k06%X#+*i zU?un#Ub?TgB1)Q5dE|ORp)( z?OfzxEjm7YPsOC9*Q9e(GFJ|bgkvvf6=No+zVCo_vaDGkm>fGQGqCnV{5&RZtRt9C z)ZFNNV+zmRfz^2okGeV~7P6GC(_#S3%nY05DO%bp9c6Q%BTNJG+``1Mf4|DoK_0#-_pUP4EK&_X~6#XtyW#c`Z>&wuZ8_H{m;lMi!UGXo@fp8L7) zwbrkF&2unS&;*JMWp=Ek8A@Mw+Li)Z5sW{@1WM(0Qsa!zd;*nMjaR8 zC6rr?b?g;46{A2jA@Tm(t8e-3y9>g=wEe+R`{EXP8`t9eEve7s{iPF$@Bcge?n;^V zc|2J`yoI>XBPx!e9bLb5?>m$Bpg7su4xn52ywHnU*c=sER%SnVx*cG=YnL{@JJKlb z<=Bq<;XcvvtCE3_f9%a1UO00kU~#MXIKn}R3P~^ad9GvnboY1jjdk(z`E1W?w(GD4 zbnuuE)rEuj5uD|tr`jDu ziyGV_4)Ezl@yO>Hcj1=lrng79PKtPXc319vnH$dW16=@yx-HcQC%k@MTzI_dEF;&u%{7gc{RY! zO?B&6wfU4tZ`ucBn+y0vX>nhA+{r%AuO)T+Dh};RkQk+*&ezG70<|`S^10?p(M&Uc zB>-BM3zNz-g5bHx!1yjTB*sJ_BzA3Zg*Pj0Ujk}I+QJDn8?z&8e zx!ORkO^Xm4aAka%W7}bYi(V9jD!p*a2@3D?Gjg!>h2Sj;P>f_h_$|v2=2x{Xbw-+_ zu|bd6j_)7`s{z;A9j#uDVy2}>L314e+d)&A7>r|p`SzJ%=UoWEB>kDI&Of*$%R4C> zU12s{7k3QUzM;TN13HgAJKOj-Jf+KRW>ps}2zaDq_c#kwlu^3`HDAo#s}B)rSOkt& zlIwV@2B-taiW16o!ID`Mpsc;`e4MiTRhOs|V={B_aY<)6mG{sW8qj$zBbRJIn;U}@ zhhYNY0(Txc%gCJdsA;xP4*_X(4s-1we{PW)1k3H24)YKVnBIv-_G>Oq8?D?U;m$rA z7auBAL)X3~2a5psQSle}0h1!^T)GmLfm=vD)SxB4+`{bzaQmC0fw=>jM z?Sz2Nx;;D3*}R?=QV$>`AM#nausfV^lyJgbK6r(btd&Q|&kyg_k#w}G9ABKGGJlNF z+q$ii+eWUunMZ^+7{Z$8FUbWd?{cEO^{E?!m1v6^yw;Gdw)UCft(!D0uDVWelD0XR zz9`vX6OW@Yr({fJ1+G+f@Rc_CIqDiuTDx0`yHihw6grrr+E34NpFSt+*g5V~Zof1o z>CwS0X;pa@H?~~tKs0K&0g)KZgOTNuH@>Q8TzlnH-LA1o+;#LOD~f?15Xu6uIB??eV-=90oR9{|(#2K#yGwfxZH4?eIoEpT;R4TgwP! zyC-$A(YE}UR}~RcArFyR^aF3Xp1{8$=TBst7#G?`7TAJVM50jgQf+mifc9EZFLys+ zYS+!6{Me3<2^-NA$HQ- zposeX@QUlTWLw`Q+E*TsPgBe36r#Cb!wk2a?#D z^DMRSzU^WK1lxfJJR#}cP=c3BnSjM~+NV;!il3bje zBW8n`^bUa8Z19XOoga{1JTA3ex4=%O7txC^HZAe0O-i8ImDsMYFymwU%*)uep5hwU zIP9Cbu<+zqV(8(sk3O?xJFOF`POqzCd*>qC7`$Ico*_okeHssLq zloG?E*@JF4b&}~@#n(JOR^)trWi=hu(=N;rp2ln;_EXPp)X0u)v#jH!rg%5>N!nMQ z#C_PF=~iZ6Yj8ZuX0g$~x#ZI`=u~)rl=FKwDTcWWRo^&dhZpK1Y8)Ty{R}|}E-HR2 z%L{`BDMssevhh7gF_Q4yZc#3Ws!5B)c8P}Bv3R(8QP0~Tsm*HPHOeMO)Xb#NaRu%E z5}xztFazkqDg6}2W-`ZQrXjE{%?ErB*~xLIvQIH78BA!_jZN-U9XO zw(xM>Lo&7&`DC{n3Tj0$NAeFNA?E(8IcYKTYSMZ}9>c=#!u=zb%M)@fa+BIBKl+upe zWDD4n(7Trn4M~V8DPG-zNX^Nf5@n3{uqYPU?M@W4eFj;n^VP6b>BLCewjQ4tGbUCj zAb(kGq3&j|*%0g2P2}LR>KzrU;NCXqq9;sNhzWcj^8R&mU6?{S=NPpVW5b+N(KtwW}t=f-Sjta=(l>Wn-a(S2DAxhjZ4P888>>p=*(tHEyP8Z z*x?!7gcW`~Sk$+;w^Ca`~9hl=)3y;5A&mJ>EZRy<)s{;@9I?pP(40 z_y%klY)Vs`#Ow;F2We}n`4UOGBIgVByVvD{*!^ng_#m7`F`k&2eYY8?Y@7)}-dQQw z$;M#9t{iivEnSxnKg$#OF~@ZWMmKB5QEvGGdmT{ooX8=y|K+wIM=CJbx4m0!_c@{@ z62#Fe^wPBSk?aj`r60eNzW)87_Pev>rYIgj8uO|ceE`wV%e;TB_L6;Ml3dBEn#Ij{ z7awYnMKIul_N*L7H@}T^#!aiG@>0Hh@8t!I-@4lIMRUOy)ZOry-8quS^=5UBTo=vA zb$0!gv7u1`i=WGuUr);*4xJVp5&NQ^Z%nUwk4lZFj^^p*A|6O>-1)|-AOhy0A@o9d zx=J*;|Dc$z%JhqEydAoSurmj0U2o=iOrm~(X!Wq^vBQwyL#BD^*X#>ZvHw1tv8&3q z94SOuUMOy<3MMSjn%_SxIynly%&PQAE`$Mh@x7} zOTlA9%KVl!S=(!&7>UMK zM^neBb_xxbSocNInREWBT-8LcIp-pUAC=us@K`909kXBnm{s!T)8#$B&#uEo^7m*S(7q*(blPmA!fMS1{p#VWEw zwFuWAV`9u5AmyuAwE*phHERAiZ$s+S+TvJD0|Gt4lhl_}fhn5GEKKjER^S?RHfA;$ z>SpC2I6h2NB>Xx7zgt&-EPx`{c-_hJ$5Q{mp3 zKN0V7tW_$IJ{8C#Rj*XBkVr_NUkFOL&g$!bSw68O7dqIHXh*(%OgAwMJZWN{=0eR$ za*V^1K=K&{As<>O?noRfYp^u?viP7vbwLH=W02NTKUwU#>+Nm2rh6A-asH8t8^YVG za=6?$f(cQ|22Zn13GF>&G}MRj2A@=}@L-1&6MFhuTf(sJR4|5j<;>Dh62#oZ;36qr z_#%wl;59RmTvq~Wb(*O0T#hfc$nlFX7Gg0&!Ld@Fu&#MES=peJ;f3{y?B{jwxgq>& zZqkbwJpOY%r_ztRH0FBaawK)5R@Go5%`RF4bwMF5fFmc{{8Gn_zi(QTOH*!n8t$*7 zs?v5PI~c84g~!b-eGlNX0FsN)c3ul*hw~l~hWb^-=Dnu>!7j<0ePy10Zoa8pl!K~X zb8Uvo^$U@ROj-q4`3OyQ37@YJv9S|2Er)y_4FNc|46AgTopfhQ4xzi&qaeg5zF*_M z@=8R)U`zL$TnDY2$TH4d^qGT#W^l(>RyV_ktrBwB1MJh2W1L@_1)q|{W6d*+h_QhlOKvuE9$I6ago@d5xkgc%cV?gHk&9(C2|i5wbU}9U znZiH>V~y+At;BFsk^2Q7MIBVXkbQW~ufM;$dbkW{Qj%wUKA&s*3n-Rb?Y_jc`D~<# zL9UL*EeLk0Mgx;idqH1ef1xnCysZ1@2Gq_p^0w@Www&mKuxlbdyx@FtC4=8qUSR)M}``vZ6dLmv%5=~+16$S&fb5cqEL=I8wUEpQ6p2t1-ixbgY?5acE99K6YTb@3_3%V!>GZnYL_GEw*3{D-&9 zS+7%=iEAS+Y4Mmyt0t%jP(0d*+pHZ6_I3eGIKyJlZ=8IXIjiDn7}~kI!Z}FX@X{JgD!VOH>Jy?ZdL)8c6I%y-Qpu zq4Dy0HTTY9YjSrV6O@!hNqg;nej+)>Rr?^8ptv?v>DQ=*@grzvt2ha9T7$^krGO=S zFRFKWtguI&?qCvewsCUb(>=mFCU39WBtbCGU8U}I8v8uL$%l;)scZi`Fq+>Qh6J4M zd*Oe=>n?TIKSTMurw;!woy-0nv#$DI;xro7Yh>W*kLq$8uYUdsTZ5}u-uu?##+BRx z34K92SBdD^z&*PAj_l0PSGV{o)9EV_d0Re7vpqpe)LSfdi@WUK?|1iE=sH{d^h=^4 zvW|zpJl)Hcag-e?CBIAYu#?gYT3A7yOARG*&+y8@tdb*x22x{^Nr~#m&?RS$JzEZ{%cL}68A1v?` zYY;3^J{wpzZ}{k3^&g$$yIq%GruFc;t4C!Sv0b>L1Ni)|J>?R)Wk%+&1JNGEXO{6& zve1v_ZZ^{Esk=Ri>L-08@M^Y^_#0YxDx-j;d!`vFiMcPGpMS;`UhQI~6FLlKalPdcNvo)@xh?1b&ZUH0)wTRE-Y{Dw z5U+NSH@uQakXk|wmmQBwz9Mn!kCEMtVfUA5&Z(O9{5s$qW(oXdAXuk6FSgp?`E`mW zI#cI%XCDRn_e`51or3R|4LI52SRtXUvU0OLYuPEm(=30HIP>EyCrNoF^JbzVYUuQu z6Aj8s1xj5LH=dO2I>tU)5gEZs%R{@v#2x!O$T-a;&<0WfqYuXf z+0Jx@s)Y$Wte#Z%rqFgy)uy4bE;-bW3r{=NCt|^KYWCaOT|1v^Kyxj8*3A1#FpvDf zS&R|`JuGqv-QZ(rTC>1Z)p#x(#FWXYh&NuaFS9J*mNvyUZ2m_#`yjmkUhK#7Pm7hw z*MqWlG5l5*>d7Yl(!v*m)SUQ)+_4HVXv~Tsgi(+PF)@cm1ctlK#5MjNo^pE5Z zyHiC?no}6KYXZpvf&y2B*xUqA);DV>Ds{YhRp6bGZ&G~cgA)3k#}gkVoA_?YR~^A; zr(F$|%gYJf{$T=c2Wxy5e4S}$3dnQMQvWeKR4r!kz5!8sP!(C`TDZV`f8X-bQQyjK z!!p~O*}@NJNN}!@x+TM^&61~E3>51@oa_zHq1<+}Xc1J(yDTQ=Rkz*2cTR5KzNz7; zoCoF~l`YM4&wMr)1x=}eq|;25(2HG$AMURoGOj}rvw!MCY=U@O^ftNZ==;5WkrnA7KT3bGHrRXYCLHLOA~x6+Y%PFhO0rdhU^8tk z#h6@b3zM|e^!#38H8h8Rw@_^kPXV&DOTd#|@U>=N(Mt4wR4Y!(FvQ(JeGrpRx5u zKPe{pJ*7$QS|Nsuk9-t45Q$o%oVN%(xTSm-gpaupx}ZDX(n>i*<_{xcR|rj2hoTud z1WuT<3TOgD!E-!iqL+BF9by{eReTk`Y1^EtjE?p$*{JGwZ6Q3S^>c`dY`A~$b1AQ$ zbyA(ZQB*tQB8Tu}iC*o_roF)%0$sPvVU#*uPDJ{631k=44f;;-I=T`o#9QY6953H* zDS`yRP;6vS)VQeH5RC;FBNlnCU50P)75|N|hyqMXDhCi*2kid}mA8r|n288pGe8BH7dzX7ByP(7JDIUg7c8Y&_wkP6bjEhz!_=QrN z_K8(L+`8{quU&dhuO?jN;tQAG##O6|o7VBZ$$$vF2yyhKqvth^R$6rPAh+@I(AG^) zlB+INXS7&RCP@_S%oxy#X#mprwG3PcG_|z@hib#MpggrRJ92I910>*YmII%ke6PQ7 zziHWJQ%i&-}hiK4ekQrq_YP_X7 z2FJ?A1PT6Y*cI-S6Q-{p!J;} zdJGEcFy@Fo->R^;L(ab2q^rYB=Gj|MvEDkaHzkxP$!RkJc+Bn=yzJsKrk@8|pWQx+ z-@6XoPd0CcX}ZDG+i%;Nt?dpPE}9&>_#;g_V<69~_d-p~k+^ILJ7FY4T)h)du5F(9 zE>sVmw~WYbzBHW?I@l0&*AtGIV%w+5i`%&YBo7(-l$*>%2|4slq^#|@;Z}9$X79ra zKtw?M9Sr8LiZ2;*!h|VK%09CQ?45zA{v!Ks3mCP|fCBBs-cos&;Rwa4vMT_Usc1xt zB^cd;_)$=0?vi&Jco5V7Qf+O98L?DK2c3PW%;25X*B5#hf_ZFWp!@UI>hCW3Ivsv0 zCmMOHYz4l$>PH}0L5It1D?FogjY{@A=H7SZ(+HJMXa5lcyLS5NhVH@ZpL-956|D_m zg$;b!q6HzT${TD<64UgQJO>mVXqzOsC~h?pd1bl2sjS%<)aX z8}%ekPH}7%Ih-v^(ri~9`6NdYFFU^S?XzeFoG{Jnln=3yY8b)5-h^T&7P5onT_-y9 z{8$VtqvAWSl$Iv)^^5P^=&Zn2WQ2x1ejEyQYpk?Sq1TVAo-2LcQ#F8)-4emFZX-fL z;`nfZeM{A^0gEV@7jgLfv%N0fG?)l;2%p8+h-^0OyD#x-Q?o}Ge5E&|bhg7*Eq{=| zSaR*Huc2nZE})T%w)D7$Gt0j3llKL8$(E3ip(3S8v}c;+|Ymd zUZ=Ud*F`@aqcg%R&PHOUIz=3}V|C$Xi9x;C_*v1&ooXGIR$&+}g3ixh$*FUUj*>!2^7Ix_Q#erVwZ`a6%sY3vjP=I8u zU+%-WJM7JNQDtL^Oo*Tz_5`Ua+o7YLKx@-QEL%)^kPDn_-HQ?N}r}ST1+-$@KWpd8XarkWCZ*4Z$;lze! zBL4%LdD@+)+Mv~&1bUyi5fNn8sioxXx=2==xjBG=^{P)0AOn?iIb>(}3Ho~y&0Dko zEfc}~ah6`}Mr|Kvz<`hfJj{B#hi!|PdW0ew>&TSHmgSbJEGhUcGnn-GPRlvQ&bP~) zLv(g&a2E@~=eK*y&QE5UbTXJ-g?4G&j~}FETbQiao~pbg5+5t`w#M%41{+g+2Gh^` z^HSazx&Lb!+)K?74snvGTyzw0OKLy(2UvV9=A;m&48402y(T-;DNVOHwZ2B~H+nb9 zeL(TX>#;?FNsKb(JRf4==0(rJwhwvkD}J8eQ|nde8&}R<0Nup(y6c%+r8fQs0-Kxs z?5X8mZbQi-i02fM^6)fHWoy>BQ{ziN(->*Xx7~S&tR)Sv`N=7ta;qs7&k}b;%gs!m z5=Eu7er)6APSz5~2)z)I6AsF&+N$tMZxdFP8#T56{o(o%fPte9;btQ@n_tlUvW2qT zg}+|b`05$Mc({Md>y$9@qbk|z<6VWB7WMH)<&fnVBWoX^D2%5 z((1T`6GI^7cn&MM2DFT$?ka_OS|V$SrgB-s-ml$zlH^@3Y~bLrRyk7mT7RmTOgfhu z>7I$q4uf+b=36Rq-sV6FvcTr$`KfwxgOI6NElw+1tcd(^ZhcR!0iG z%;xHfeUvQFUB5J#&1BOL*jntt^;-(KPb66V9>ZxGYq#c@8u$6ob;jDW<2LJCKiiyr z9K7~u`2N_zd@!a9JA8J-?pgSQ;_SF(ho!9kgufBPq5mafc;Rov5Z~kc%x7^dU8Uv6 zxeCKk)>ye`>FO_6SQEF=wFYZ9dHJ%%v8`|PK3(nT)_@h7en0z*ZwuMa_K7&t{0m^s zzBeq8F(7hk@Yx2n#clhK{;M7Q>E5Txn8{qm<9k15 zoSb@?zH!O)@=|^4#|W9+@GqU0%`&k%# z0X(xzO*&%$KJC|n5-;Ap!%l0Jea0@lz*S?O(@{;#)7So>(C+Ito07@M!#NZ26@AV4 zE^Ou?d2-r*fr+m0BZ9-Zme>4*O(Gha;R5H&V4xy*Z>z5#i|Ls(=J7iFy7NdqEw@|B zk&)k3PIc2Wz6u-8#o_t{J5mbx!9yB4U90&7uk@zZp4(2DC5r}5d0mr@a-zuNTqjc;Y=&_y>> zV|Y+_&wBgLv84L2echhr{yNIdvxmnz<}6zb9$lhWm>ri&*O?c&ECtQka8=&m#(W&} z1ENdv0s&DQEBFjeJ%2tyj=FfnF;R&v;%@2fEMH!#>(}HWu_b_mq6GUTgs6F`>utwU z4QhKy^5)iwpM#vZF*|Bx;z$G$BmCJoG1z+L~1Nvvy>;&5`9QDsH5e1_9nX1TgS1Ba{@xP6Z+Flnm>N zd^Qm|Fvl?(=i_Q#?AWhz#px|JIeFQRHu7uNA%jzbOTaud>NvPk<{`;z=_#4B{={+ugNDLw^2tAl zwW;jnqEn|lmYC{TxPq+0^$vEAGb@}aPshwI6Fgd;PJzEk3|U55*-_?ls@ks9)jP@8 zAM%z47wz$6P@)0Zi9%qDaI1N?uc16yzLXp}mvir+<5;&mt3dHo)l$yAQ&=)yVdZ`a ztGlxtH(51dmPF*O_>fnsat$Js*$o^2EKK@FL(08xR%G>?ye)`-rex)JdVHU6q#WAJ zhWXwi1@t&;VBT35E@Uo@;qP>jx68nXi5&6j}( z5PE*Wy;1nRr@Oe4j)AX7Zpp=0&&3_h@FN<6X!X(pyQ65bsUy8GPk5@LDozE{Lv)PZ zAXZ?hR^hk2CKgw)Mz3n{v7+o5U`zMRq$fq^Fj}6T=iQwGS*M3uc;y`84@jLQ+-fGY z6owgyMAIDlpBk`CrW)Jr;*jU435>)wGJSn~j+AHxH`^<}px9c$e?zgYzo1y#e?zef z{~Z*oAe)T&!nJefVGyjk_r<>~P!y)2#&Zah&gE$hyyoXRQ%xIf4muGs@=0j^Zt|42 zmlzx)_0tQ`*2G3BYgW0yWqgXJ8t1w&JqRjYaL?OcU~moPDrBB4_9;@Ta(Z3<3Py$9 zCaik!2z~D$(Z6CYTvuVrtoFH7Kmi1v8xb)iJ5e2(Lh4}!D3!d&n2>*D*Pt~)YrE|L_-4@gH zh6DI0KcDQLX|u{FrbP-^YG$DF6KRT{l-F-Hnc7r9;$vPZR`oL?_=WEgHF*z0|0Kdf z4bgzfeciAHcO^5eOopkS@zqX1$=pPTV7;J3Z4OkN?b~Rc;vF4apVKIPYE-AI zgRh;|rDC4Oi)EewknuvN8@t>RiD=fUkhK02O7QXeEqc7VW_5TbD zw@hN8H@wl@sMa%xEFix%sGSJkkR@&XT2vfJfFp)v6ly1KbqZMBv<>>8;pAX}K*??< zC);e65LlGfOvyCJyaj0240$@pwP&|)&Qt~F9x_e)z=-?9>kXV>9RZ->Hp~*NDI_c? zcK!UX1r@ttp?|9V%Uuor`6>-Ck5CrFxfi!p;L3euRzxZ!3s>H+K4F&irhC;mz$Z_Z zS3AAOxhi!QdgEg*RkB_%EM@}gRn?a;4Kb4q00=kgm-?bP4k_(fN*0RaQC`Gn)Ak;} zjrT-x=|1T%b5OebCsnp26{4J{thFN*3WrFMEw0$KY+GT& zx7L0?ytWJ!`VC0ze#5Z+ARu+3w{L3$f-18tYmYv)n%@xLkI5ucjFtQJp?Vf4E^c@A zUhaGAUR%A>F|G=rGRZ2h-X(6Wy74xP&)v8xtz%bfe};?q6#vGcV++oR|H7b&C;o*& zH~xh|$Nz&t^V|G`L3jMdpf{tM(zvdpIx|hhZ3J_XKNSGMsl4hsp3sfze7iP@TFi&R zv)KixCzdJO1&05OkfMjoN0NgL45T|!lNYZ`~K>_KTHt+mzltBj(uuE zORG*AY!O~TjvaGl7&nz!QyAYq_}7hOZFm4)HA6+(r$%tUiE!B@-3ECX=oqC+nw7>_ zFq9<$-&n_vbD1NX(X#4=za1HsxQ5gv8W&Yk)bY4hm<@s64IExlomg<#E<3vaG%99l zQ|q-QgXk?_xNaK`qa=8+6cjeg0U53KhY?D@;=XuFXa%wWJuR{Vs1ap>%5m&UDz zrJj;N){oY2L6|sK(pl_S;@5cDFM(V0e-DQpdh=}ho86H)$F-ty(rU3RUo$6TxygCg zuc1p*naA=+{Di>cGLl{9k|KqxwGs$%6d4-3#Upjta|PF78yrmU!$uW-jEqqGvOTUy zowB8GO23uwb*Xkvypf=LJby2LxQV~m3RBOWE!YUX1y zzb3hUWqWAPZxr3-q@5ve;)B0X@~Xd3@_hyWElQrV_zNYs`U@qu-@e#-MK`8~8@-g~ zE?LE^)KkcPB$Eauq5-R*xvy}b4|vqq4g9=#_bXzu=p|J1-&KsesEBSz_AqrM7@0N> znD^y6LsoXP?&u7jRDopK3Fcnn0B)VTapm}bwCmZVhD)jiFa@|ZQz;yjV@lW%&!#C{ zKbx-Ff)`!^#RNf_eD?u@YMg*30W{t{*Hq6KdzL`WPcZ-7Eq~~5kQ~cCrOtf9ycF^- zn(&jUa&L^<*6CsqUBS`K3Bc1iY!4@vUf996(G#G`(H*US59pohN*B5{ z7uv}EVSUPk+D5hI^Mw9Msq3LGeWB#Oh(2+5DXwoIrwP+dYX~%*tYEzubeMX^K*u3Z zv&Z=}r8fq}CGU*d)x%;SKiVca7(H4nz!!K(++cEsW!@o--4qC@itpC}%S`R9agQHs zhly(KE!n#?^|jLlj7&m8lsD9-+&nCMU6u#AUo5Y z`d`AK(~7By^K!F|tJ$Yp`?)SI!ID|CFSKLUVG*|NjY@pwdVb%}Gd3Q}h(@0o5zm-H z?AkkpfQu7a43lr^Z##ZmSaZ$2J>K)y%&mcod~r43>%DESsr2Q!#VJikjEJQbD8AjB zorv+apAK^*I_Mh91|E|8pq*%~73*zVY*^`C8=b&BeCPiqA3(!*<@vi`e1N;3Ddhb! z@8>j)@q12OgMXu**h$O{XFbXyee#W_q|vk&eybN@M(SjcwQU(Md6z@ zm}3oYZ_e@mk|^(cfu%B!XS)4-H-YfD%<(1XZ!3ME8-UWZtBuU=A%}#oRBDI8*44o< zqPs<3RJHoP^&jqOc|k#o%X{Q2_(fw7mpCZ!S3e>L2(`V%R~p9nw5p0#x#pr7EDij{I3g($v$Q{hP&CrZtP9NLF#cQva5F!-# z{H+XCJ_(0jO6c*_4e|*2^9gntH{Lr4-NBW#!1|H7@%G3}z&=Kj$Z;d=vZx1Dl!d+* z3#TG!;}l19opF)oh=Vfa+pDv=-5N*aqQyiVw{Z*LW@+M0O(XW{l&9~vv6mbBr7jGN z3(#twuTQGrKOmXnUXJPaofEVq?Fl=kdx#z97O&t-!b$VlO+U^u%SQ_7CJYxPpkLKEqRshI-Mxus#FbL+?jpB1v<(n=j7y0<-GgN?btOHoOhZG6^BeOK6&BXi|Dr;E9~68z->vqRQSQxDlXB5z z>I(%QfU}7nSr4uEovcYT$%zLRwI&E+QA+%tfn;KmJsgfC3U z9#!HqrvE;s3u0o1suN9vS-cenIz_jQC_m6xPg6OFzFTeYG8fC2Vwou$Ca3G*IXu=L z1|fUUTa4aq{_`Ne`vk!4qrd|xMlH8MTelNWE~LP`%IC&?X<-n&qGs!MdA@Tx!no5M z;XxOU5%2;#$cIO~0 zv)eHfeT5_)^2h}>+ci5ACIIgtO{+cPzo zm&5lq9@H!?7_)#{Q$NQ?{>kI&+h+X*WBV9@7o3UB08cITkx5*2OLkJIQ*yst@AGBf ziQ<#!+~##QuU~_m{rrJb>c5sIxHH4~7QuNTBwEoYc)DIG$7sP1*9{7% zKOi;OekQs8^DKtJg#f5wh^$jVB7unk7=ddP+O}D&uzW#DH?XdzBULNf;$uq9t(o)2 z%{^C=gS+k6FcZV$*8$X`M6UXcILmh2{iG!xubU*|K+gy=WRaz9~Q0aXaEy@uV1t3+lDA0|KG9tbvf2tc=_i&+2_T# zM>}@A7;x~Y2*6l!*8#MJ`0mYzUz(QD7?KboqwCsL`z`GI`;@87%2tut;Kv>2essd``DYvKW{ z8RR6yco)R7#f)rg)vvV?Cz4@@Rxej7v8bvi4$It^QME1v5uVVc`2CZ&kM8e91l*ZO zZ<`PIW(+QVlCVkY&3moQ{yN_lFFreX)cAjmvf`4j*8#$rYPxi3#s@sxKe{wLQdE4u zy-H7h{NSmQ=S7_S%)dbV_j3(aFNeE+3_pqFJQ}*E*D649>y20cE0nc_%;c4Pm!#DA zPOXeAmt)NPQF-PzV5&@x=A*Y*s|Z<>n{=}jE8Qo1PPhzzecng(-YC6t!E#~w)h~J@ z2W2EKeP+6C+>xyUz1=CvfO&}a))BCkBqc!H;X*8##EN3p{klBWA-x6y7Ccrw;tz z`}Oz=6&^*>l-s7pRehpnWgS=7Y*6^SN(-2w*Ii-!w4Ga^M58s?5t-m18V&O^5+r+4 zGI8Z>i&k~8nx(MQNe{}{Rwsw32m?+mOLyaDyKaEOQjny=zFVp{4`24TI3c`P20LY) zr262?+R?lNQYq1}buATUn^%R@Uc8c~88A;%s$XcmFF0uzJVNxwgy>MiJIYd`*n9M_ zuLN3UWk#eXK_q?Kp+-aD2=NhZ^X~(KAe*;ffPOCptT<+xw>D_NZZlwS-t%T5rQz-e z{iB!|jlqlFUmMc%hpPj^(_U23%v(Gm-bQJ-fvnO|v)e%%(85z(4!@O!)h)URQ2-(( z=_VpmO1+-;R(>EEvjDnOnqYjN{c`n@kQa0iG@7EbRoKTBn6p7(TkS^a{&4UrCc*F; zu9lxfgUHo4{D4Th6S$cmz5*Nas26{OnNe)MfIRm97SF7J(OGSoC!L)|ddtYP0(?~U z!4_Yte|*`A3(s7fr-|??xQ2oUEe)oSyF;Jh$hbf| zL-jfr?I!SCuL%yz4aTM~Ks&Y*s2Ua)1?X>D$@NoKp6NN zAUqDX7~yQurebBGB+7W{V^&~6-rKNt$`|E08i0FojbN&};klLh*PS1>KQ zZ`kdySf(fDzshT3r!tv56Y)v+$}32db1mV({EOp{IdVBUL}vf+j@yjR6MR^N*qL0$(qf~Ue&#JVBl;(W@BkaB zTVJ+5mG&J~8|(Rg{>jrBp1ZL#HLi60^xEwdN>0L1@AG6GkwaKU__3aAvm7?O#;P{> z(_L;lpbZ@V4{hKq>fhSHCz+88UD+XjX#@4TKpV&|Qi0kq>{V5k30=P;A35X7#d6l7 zUB%2VU?rXW`BMOA+zdSLIB=EzSn%;jbovaGH}SArR<2Vh5II8JfLQ2p5xV^C&6^?; z`W?ltu)JB*f!?_z6ZlBOxtI?YRxGgdbS$-YE_l}%CEKMh=)j)}n18*cG=c-kz{mNW zVNW@D)i#jlu)q<(yV3p=ZKF|{co)A7i>$ZTbCM2TW_w=eZbIx;&3rwU}7Gux8qm1krooo6IUn0$0 z&VD-i-jVH<#m%Y&v1CS@!%P7s((dlBhAwO^n9WB4MRIg>Yg%(n{eBtE=%A;;QD6Nw z*j^3E;Z23EL6X_~+$_4pm5~P�wBAHmKZxpckKgZ@2EvoX;LUy;r&zGsAPG%8|lt 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 PkAFgscWy2Ixc&bD&qR)n diff --git a/htdocs/ecommerceng/doc/Interface Dolibarr-Woocommerce.pdf b/htdocs/ecommerceng/doc/Interface Dolibarr-Woocommerce.pdf deleted file mode 100644 index 336be5975ed5aad9297aea169e8901bbd0a9926b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701798 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ℑ_?}lRYlcp(U~`e04Oi?5E_A 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

9FiF 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�W{c9b4RJ|MU^@XpUAAxAP;8MoE18i7`(7NPA;WY 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�J44vrT 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

!F1mtPqKLiKDp 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%0D{R`nB5|aS&9cjCWodqB~=dQd~Po88a(>(J4^D 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 ) { - return new WP_User( 0 ); - } - - try { - if ( is_ssl() ) { - $keys = $this->perform_ssl_authentication(); - } else { - $keys = $this->perform_oauth_authentication(); - } - - // Check API key-specific permission - $this->check_api_key_permissions( $keys['permissions'] ); - - $user = $this->get_user_by_id( $keys['user_id'] ); - - $this->update_api_key_last_access( $keys['key_id'] ); - - } catch ( Exception $e ) { - $user = new WP_Error( 'woocommerce_api_authentication_error', $e->getMessage(), array( 'status' => $e->getCode() ) ); - } - - return $user; - } - - /** - * SSL-encrypted requests are not subject to sniffing or man-in-the-middle - * attacks, so the request can be authenticated by simply looking up the user - * associated with the given consumer key and confirming the consumer secret - * provided is valid - * - * @since 2.1 - * @return array - * @throws Exception - */ - private function perform_ssl_authentication() { - $params = WC()->api->server->params['GET']; - - // if the $_GET parameters are present, use those first - if ( ! empty( $params['consumer_key'] ) && ! empty( $params['consumer_secret'] ) ) { - $keys = $this->get_keys_by_consumer_key( $params['consumer_key'] ); - - if ( ! $this->is_consumer_secret_valid( $keys['consumer_secret'], $params['consumer_secret'] ) ) { - throw new Exception( __( 'Consumer secret is invalid.', 'woocommerce' ), 401 ); - } - - return $keys; - } - - // if the above is not present, we will do full basic auth - if ( empty( $_SERVER['PHP_AUTH_USER'] ) || empty( $_SERVER['PHP_AUTH_PW'] ) ) { - $this->exit_with_unauthorized_headers(); - } - - $keys = $this->get_keys_by_consumer_key( $_SERVER['PHP_AUTH_USER'] ); - - if ( ! $this->is_consumer_secret_valid( $keys['consumer_secret'], $_SERVER['PHP_AUTH_PW'] ) ) { - $this->exit_with_unauthorized_headers(); - } - - return $keys; - } - - /** - * If the consumer_key and consumer_secret $_GET parameters are NOT provided - * and the Basic auth headers are either not present or the consumer secret does not match the consumer - * key provided, then return the correct Basic headers and an error message. - * - * @since 2.4 - */ - private function exit_with_unauthorized_headers() { - $auth_message = __( 'WooCommerce API. Use a consumer key in the username field and a consumer secret in the password field.', 'woocommerce' ); - header( 'WWW-Authenticate: Basic realm="' . $auth_message . '"' ); - header( 'HTTP/1.0 401 Unauthorized' ); - throw new Exception( __( 'Consumer Secret is invalid.', 'woocommerce' ), 401 ); - } - - /** - * Perform OAuth 1.0a "one-legged" (http://oauthbible.com/#oauth-10a-one-legged) authentication for non-SSL requests - * - * This is required so API credentials cannot be sniffed or intercepted when making API requests over plain HTTP - * - * This follows the spec for simple OAuth 1.0a authentication (RFC 5849) as closely as possible, with two exceptions: - * - * 1) There is no token associated with request/responses, only consumer keys/secrets are used - * - * 2) The OAuth parameters are included as part of the request query string instead of part of the Authorization header, - * This is because there is no cross-OS function within PHP to get the raw Authorization header - * - * @link http://tools.ietf.org/html/rfc5849 for the full spec - * @since 2.1 - * @return array - * @throws Exception - */ - private function perform_oauth_authentication() { - - $params = WC()->api->server->params['GET']; - - $param_names = array( 'oauth_consumer_key', 'oauth_timestamp', 'oauth_nonce', 'oauth_signature', 'oauth_signature_method' ); - - // Check for required OAuth parameters - foreach ( $param_names as $param_name ) { - - if ( empty( $params[ $param_name ] ) ) { - throw new Exception( sprintf( __( '%s parameter is missing', 'woocommerce' ), $param_name ), 404 ); - } - } - - // Fetch WP user by consumer key - $keys = $this->get_keys_by_consumer_key( $params['oauth_consumer_key'] ); - - // Perform OAuth validation - $this->check_oauth_signature( $keys, $params ); - $this->check_oauth_timestamp_and_nonce( $keys, $params['oauth_timestamp'], $params['oauth_nonce'] ); - - // Authentication successful, return user - return $keys; - } - - /** - * Return the keys for the given consumer key - * - * @since 2.4.0 - * @param string $consumer_key - * @return array - * @throws Exception - */ - private function get_keys_by_consumer_key( $consumer_key ) { - global $wpdb; - - $consumer_key = wc_api_hash( sanitize_text_field( $consumer_key ) ); - - $keys = $wpdb->get_row( $wpdb->prepare( " - SELECT key_id, user_id, permissions, consumer_key, consumer_secret, nonces - FROM {$wpdb->prefix}woocommerce_api_keys - WHERE consumer_key = '%s' - ", $consumer_key ), ARRAY_A ); - - if ( empty( $keys ) ) { - throw new Exception( __( 'Consumer key is invalid.', 'woocommerce' ), 401 ); - } - - return $keys; - } - - /** - * Get user by ID - * - * @since 2.4.0 - * @param int $user_id - * @return WC_User - * @throws Exception - */ - private function get_user_by_id( $user_id ) { - $user = get_user_by( 'id', $user_id ); - - if ( ! $user ) { - throw new Exception( __( 'API user is invalid', 'woocommerce' ), 401 ); - } - - return $user; - } - - /** - * Check if the consumer secret provided for the given user is valid - * - * @since 2.1 - * @param string $keys_consumer_secret - * @param string $consumer_secret - * @return bool - */ - private function is_consumer_secret_valid( $keys_consumer_secret, $consumer_secret ) { - return hash_equals( $keys_consumer_secret, $consumer_secret ); - } - - /** - * Verify that the consumer-provided request signature matches our generated signature, this ensures the consumer - * has a valid key/secret - * - * @param array $keys - * @param array $params the request parameters - * @throws Exception - */ - private function check_oauth_signature( $keys, $params ) { - /*$http_method = strtoupper( WC()->api->server->method ); - - $server_path = WC()->api->server->path; - - // if the requested URL has a trailingslash, make sure our base URL does as well - if ( isset( $_SERVER['REDIRECT_URL'] ) && '/' === substr( $_SERVER['REDIRECT_URL'], -1 ) ) { - $server_path .= '/'; - } - - $base_request_uri = rawurlencode( untrailingslashit( get_woocommerce_api_url( '' ) ) . $server_path );*/ - // Hack for url // url pretty permalinks error for localhost/index.php/wc-api/v3/... for check signature - $http_method = strtoupper( $_SERVER['REQUEST_METHOD'] ); - $request_path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ); - $wp_base = get_home_url( null, '/', 'relative' ); - if ( substr( $request_path, 0, strlen( $wp_base ) ) === $wp_base ) { - $request_path = substr( $request_path, strlen( $wp_base ) ); - } - $base_request_uri = rawurlencode( get_home_url( null, $request_path ) ); - - // Get the signature provided by the consumer and remove it from the parameters prior to checking the signature - $consumer_signature = rawurldecode( str_replace( ' ', '+', $params['oauth_signature'] ) ); - unset( $params['oauth_signature'] ); - - // Sort parameters - if ( ! uksort( $params, 'strcmp' ) ) { - throw new Exception( __( 'Invalid signature - failed to sort parameters.', 'woocommerce' ), 401 ); - } - - // Normalize parameter key/values - $params = $this->normalize_parameters( $params ); - $query_parameters = array(); - foreach ( $params as $param_key => $param_value ) { - if ( is_array( $param_value ) ) { - foreach ( $param_value as $param_key_inner => $param_value_inner ) { - $query_parameters[] = $param_key . '%255B' . $param_key_inner . '%255D%3D' . $param_value_inner; - } - } else { - $query_parameters[] = $param_key . '%3D' . $param_value; // join with equals sign - } - } - $query_string = implode( '%26', $query_parameters ); // join with ampersand - - $string_to_sign = $http_method . '&' . $base_request_uri . '&' . $query_string; - - if ( 'HMAC-SHA1' !== $params['oauth_signature_method'] && 'HMAC-SHA256' !== $params['oauth_signature_method'] ) { - throw new Exception( __( 'Invalid signature - signature method is invalid.', 'woocommerce' ), 401 ); - } - - $hash_algorithm = strtolower( str_replace( 'HMAC-', '', $params['oauth_signature_method'] ) ); - - $secret = $keys['consumer_secret'] . '&'; - $signature = base64_encode( hash_hmac( $hash_algorithm, $string_to_sign, $secret, true ) ); - - if ( ! hash_equals( $signature, $consumer_signature ) ) { - throw new Exception( __( 'Invalid signature - provided signature does not match.', 'woocommerce' ), 401 ); - } - } - - /** - * Normalize each parameter by assuming each parameter may have already been - * encoded, so attempt to decode, and then re-encode according to RFC 3986 - * - * Note both the key and value is normalized so a filter param like: - * - * 'filter[period]' => 'week' - * - * is encoded to: - * - * 'filter%5Bperiod%5D' => 'week' - * - * This conforms to the OAuth 1.0a spec which indicates the entire query string - * should be URL encoded - * - * @since 2.1 - * @see rawurlencode() - * @param array $parameters un-normalized pararmeters - * @return array normalized parameters - */ - private function normalize_parameters( $parameters ) { - $keys = WC_API_Authentication::urlencode_rfc3986( array_keys( $parameters ) ); - $values = WC_API_Authentication::urlencode_rfc3986( array_values( $parameters ) ); - $parameters = array_combine( $keys, $values ); - return $parameters; - } - - /** - * Encodes a value according to RFC 3986. Supports multidimensional arrays. - * - * @since 2.4 - * @param string|array $value The value to encode - * @return string|array Encoded values - */ - public static function urlencode_rfc3986( $value ) { - if ( is_array( $value ) ) { - return array_map( array( 'WC_API_Authentication', 'urlencode_rfc3986' ), $value ); - } else { - // Percent symbols (%) must be double-encoded - return str_replace( '%', '%25', rawurlencode( rawurldecode( $value ) ) ); - } - } - - /** - * Verify that the timestamp and nonce provided with the request are valid. This prevents replay attacks where - * an attacker could attempt to re-send an intercepted request at a later time. - * - * - A timestamp is valid if it is within 15 minutes of now - * - A nonce is valid if it has not been used within the last 15 minutes - * - * @param array $keys - * @param int $timestamp the unix timestamp for when the request was made - * @param string $nonce a unique (for the given user) 32 alphanumeric string, consumer-generated - * @throws Exception - */ - private function check_oauth_timestamp_and_nonce( $keys, $timestamp, $nonce ) { - global $wpdb; - - $valid_window = 15 * 60; // 15 minute window - - if ( ( $timestamp < time() - $valid_window ) || ( $timestamp > time() + $valid_window ) ) { - throw new Exception( __( 'Invalid timestamp.', 'woocommerce' ), 401 ); - } - - $used_nonces = maybe_unserialize( $keys['nonces'] ); - - if ( empty( $used_nonces ) ) { - $used_nonces = array(); - } - - if ( in_array( $nonce, $used_nonces ) ) { - throw new Exception( __( 'Invalid nonce - nonce has already been used.', 'woocommerce' ), 401 ); - } - - $used_nonces[ $timestamp ] = $nonce; - - // Remove expired nonces - foreach ( $used_nonces as $nonce_timestamp => $nonce ) { - if ( $nonce_timestamp < ( time() - $valid_window ) ) { - unset( $used_nonces[ $nonce_timestamp ] ); - } - } - - $used_nonces = maybe_serialize( $used_nonces ); - - $wpdb->update( - $wpdb->prefix . 'woocommerce_api_keys', - array( 'nonces' => $used_nonces ), - array( 'key_id' => $keys['key_id'] ), - array( '%s' ), - array( '%d' ) - ); - } - - /** - * Check that the API keys provided have the proper key-specific permissions to either read or write API resources - * - * @param string $key_permissions - * @throws Exception if the permission check fails - */ - public function check_api_key_permissions( $key_permissions ) { - switch ( WC()->api->server->method ) { - - case 'HEAD': - case 'GET': - if ( 'read' !== $key_permissions && 'read_write' !== $key_permissions ) { - throw new Exception( __( 'The API key provided does not have read permissions.', 'woocommerce' ), 401 ); - } - break; - - case 'POST': - case 'PUT': - case 'PATCH': - case 'DELETE': - if ( 'write' !== $key_permissions && 'read_write' !== $key_permissions ) { - throw new Exception( __( 'The API key provided does not have write permissions.', 'woocommerce' ), 401 ); - } - break; - } - } - - /** - * Updated API Key last access datetime - * - * @since 2.4.0 - * - * @param int $key_id - */ - private function update_api_key_last_access( $key_id ) { - global $wpdb; - - $wpdb->update( - $wpdb->prefix . 'woocommerce_api_keys', - array( 'last_access' => current_time( 'mysql' ) ), - array( 'key_id' => $key_id ), - array( '%s' ), - array( '%d' ) - ); - } -} diff --git a/htdocs/ecommerceng/includes/CurlClientEx.php b/htdocs/ecommerceng/includes/CurlClientEx.php new file mode 100644 index 0000000..a216fc7 --- /dev/null +++ b/htdocs/ecommerceng/includes/CurlClientEx.php @@ -0,0 +1,157 @@ + value` pairs) to be passed to `curl_setopt` + * + * @var array + */ + private $parameters = array(); + + /** + * Additional `curl_setopt` parameters + * + * @param array $parameters + */ + public function setCurlParameters(array $parameters) + { + $this->parameters = $parameters; + } + + /** + * @param bool $buildHttpQuery + */ + public function setHttpPostBuildQuery($buildHttpQuery) + { + $this->httpPostBuildQuery = $buildHttpQuery; + } + + /** + * @param bool $force + * + * @return CurlClientEx + */ + public function setForceSSL3($force) + { + $this->forceSSL3 = $force; + + return $this; + } + + /** + * Any implementing HTTP providers should send a request to the provided endpoint with the parameters. + * They should return, in string form, the response body and throw an exception on error. + * + * @param UriInterface $endpoint + * @param mixed $requestBody + * @param array $extraHeaders + * @param string $method + * + * @return string + * + * @throws TokenResponseException + * @throws \InvalidArgumentException + */ + public function retrieveResponse( + UriInterface $endpoint, + $requestBody, + array $extraHeaders = array(), + $method = 'POST' + ) { + // Normalize method name + $method = strtoupper($method); + + $this->normalizeHeaders($extraHeaders); + + if ($method === 'GET' && !empty($requestBody)) { + throw new \InvalidArgumentException('No body expected for "GET" request.'); + } + + if (!isset($extraHeaders['Content-Type']) && $method === 'POST' && is_array($requestBody)) { + $extraHeaders['Content-Type'] = 'Content-Type: application/x-www-form-urlencoded'; + } + + $extraHeaders['Host'] = 'Host: '.$endpoint->getHost(); + $extraHeaders['Connection'] = 'Connection: close'; + + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, $endpoint->getAbsoluteUri()); + + if ($method === 'POST' || $method === 'PUT') { + if ($requestBody && is_array($requestBody) && $this->httpPostBuildQuery) { + $requestBody = http_build_query($requestBody, '', '&'); + } + + if ($method === 'PUT') { + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); + } else { + curl_setopt($ch, CURLOPT_POST, true); + } + + curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody); + } else { + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); + } + + if ($this->maxRedirects > 0) { + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($ch, CURLOPT_MAXREDIRS, $this->maxRedirects); + } + + curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HEADER, false); + curl_setopt($ch, CURLOPT_HTTPHEADER, $extraHeaders); + curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent); + + foreach ($this->parameters as $key => $value) { + curl_setopt($ch, $key, $value); + } + + if ($this->forceSSL3) { + curl_setopt($ch, CURLOPT_SSLVERSION, 3); + } + + $response = curl_exec($ch); + $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + + if (false === $response) { + $errNo = curl_errno($ch); + $errStr = curl_error($ch); + curl_close($ch); + if (empty($errStr)) { + throw new TokenResponseException('Failed to request resource.', $responseCode); + } + throw new TokenResponseException('cURL Error # '.$errNo.': '.$errStr, $responseCode); + } + + curl_close($ch); + + return $response; + } +} diff --git a/htdocs/ecommerceng/includes/WooCommerce/Client.php b/htdocs/ecommerceng/includes/WooCommerce/Client.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/BasicAuth.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/BasicAuth.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClient.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClient.php old mode 100755 new mode 100644 index b6754e4..48d8f5a --- a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClient.php +++ b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClient.php @@ -313,12 +313,17 @@ protected function lookForErrors($parsedResponse) if (!\in_array($this->response->getCode(), ['200', '201', '202'])) { $errors = !empty($parsedResponse['errors']) ? $parsedResponse['errors'] : $parsedResponse; - if (!empty($errors[0])) { - $errorMessage = $errors[0]['message']; - $errorCode = $errors[0]['code']; + if (is_array($errors)) { + if (!empty($errors[0])) { + $errorMessage = $errors[0]['message']; + $errorCode = $errors[0]['code']; + } else { + $errorMessage = $errors['message']; + $errorCode = $errors['code']; + } } else { - $errorMessage = $errors['message']; - $errorCode = $errors['code']; + $errorMessage = 'N/A'; + $errorCode = 'N/A'; } throw new HttpClientException(\sprintf('Error: %s [%s]', $errorMessage, $errorCode), $this->response->getCode(), $this->request, $this->response); @@ -335,7 +340,7 @@ protected function processResponse() $parsedResponse = \json_decode($this->response->getBody(), true); // Test if return a valid JSON. - if (JSON_ERROR_NONE !== json_last_error()) { + if ($parsedResponse === null || (function_exists('json_last_error') && JSON_ERROR_NONE !== json_last_error())) { $message = function_exists('json_last_error_msg') ? json_last_error_msg() : 'Invalid JSON returned'; throw new HttpClientException($message, $this->response->getCode(), $this->request, $this->response); } diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClientException.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/HttpClientException.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/OAuth.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/OAuth.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/Options.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/Options.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/Request.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/Request.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WooCommerce/HttpClient/Response.php b/htdocs/ecommerceng/includes/WooCommerce/HttpClient/Response.php old mode 100755 new mode 100644 diff --git a/htdocs/ecommerceng/includes/WordPressClient.php b/htdocs/ecommerceng/includes/WordPressClient.php new file mode 100644 index 0000000..212a703 --- /dev/null +++ b/htdocs/ecommerceng/includes/WordPressClient.php @@ -0,0 +1,251 @@ +errors = array(); + + // Token storage + $this->storage = new DoliStorage($db, $conf); + + // Setup the credentials for the requests + $this->credentials = new Credentials( + $oauth_id, + $oauth_secret, + $callbackUrl + ); + + // Setup the api service + $this->baseApiUri = $baseApiUri.(substr($baseApiUri, -1, 1)!='/'?'/':'').'wp-json/wp/v2'; + $serviceFactory = new \OAuth\ServiceFactory(); + $this->httpClient = new CurlClientEx(); + $serviceFactory->setHttpClient($this->httpClient); + $this->apiService = $serviceFactory->createService(self::OAUTH_SERVICENAME_WORDPRESS, $this->credentials, $this->storage, array(), new Uri($baseApiUri)); + } + + /** + * POST method. + * + * @param string $endpoint API endpoint. + * @param array $data Request data. + * + * @return array + */ + public function post($endpoint, $data) + { + $this->errors = array(); + return $this->request($endpoint, 'POST', $data); + } + + /** + * POST media method. + * + * @param string $endpoint API endpoint. + * @param string $filepath File path. + * @param array $data Request data. + * + * @return array + */ + public function postmedia($endpoint, $filepath, $data) + { + $responseData = null; + $this->errors = array(); + + // Set File + if (file_exists($filepath)) { + if (function_exists('curl_file_create')) { // php 5.5+ + $cFile = curl_file_create($filepath); + } else { + $cFile = '@' . realpath($filepath); + } + $data['file'] = $cFile; + } else { + $this->errors[] = array('File not found ("'.$filepath.'").'); + return $responseData; + } + + $extraHeaders = array("Content-Type" => "multipart/form-data"); + + return $this->request($endpoint, 'POST', $data, $extraHeaders); + } + + /** + * PUT method. + * + * @param string $endpoint API endpoint. + * @param array $data Request data. + * + * @return array + */ + public function put($endpoint, $data) + { + $this->errors = array(); + return $this->request($endpoint, 'PUT', $data); + } + + /** + * GET method. + * + * @param string $endpoint API endpoint. + * @param array $parameters Request parameters. + * + * @return array + */ + public function get($endpoint, $parameters = []) + { + $this->errors = array(); + return $this->request($endpoint, 'GET', $parameters); + } + + /** + * DELETE method. + * + * @param string $endpoint API endpoint. + * @param array $parameters Request parameters. + * + * @return array + */ + public function delete($endpoint, $parameters = []) + { + $this->errors = array(); + return $this->request($endpoint, 'DELETE', $parameters); + } + + /** + * OPTIONS method. + * + * @param string $endpoint API endpoint. + * + * @return array + */ + public function options($endpoint) + { + $this->errors = array(); + return $this->request($endpoint, 'OPTIONS'); + } + + /** + * Request. + * + * @param string $endpoint API endpoint. + * @param string $method HTTP method + * @param array $body Request body if applicable (an associative array will + * automatically be converted into a urlencoded body) + * @param array $extraHeaders Extra headers if applicable. These will override service-specific + * any defaults. + * @return array + */ + public function request($endpoint, $method, $body = [], $extraHeaders = []) + { + $responseData = null; + + // Check if we have auth token + try { + $token = $this->storage->retrieveAccessToken(self::OAUTH_SERVICENAME_WORDPRESS); + } catch (Exception $e) { + $this->errors[] = $e->getMessage(); + return $responseData; + } + + // Is token expired or will token expire in the next 30 seconds + $expire = ($token->getEndOfLife() !== -9002 && $token->getEndOfLife() !== -9001 && time() > ($token->getEndOfLife() - 30)); + + // Token expired so we refresh it + if ($expire) { + try { + $this->httpClient->setHttpPostBuildQuery(true); + $token = $this->apiService->refreshAccessToken($token); + } catch (Exception $e) { + $this->errors[] = $e->getMessage(); + return $responseData; + } + } + + // Send a request with api + try { + $this->httpClient->setHttpPostBuildQuery(false); + $response = $this->apiService->request($this->baseApiUri.(substr($this->baseApiUri, -1, 1)!='/'?'/':'').$endpoint, $method, $body, $extraHeaders); + $responseData = json_decode($response, true); + } catch (Exception $e) { + $this->errors[] = $e->getMessage(); + } + + return $responseData; + } +} diff --git a/htdocs/ecommerceng/js/form.js b/htdocs/ecommerceng/js/form.js old mode 100755 new mode 100644 index e63cc24..ab864bf --- a/htdocs/ecommerceng/js/form.js +++ b/htdocs/ecommerceng/js/form.js @@ -12,6 +12,15 @@ function eCommerceConfirmDelete(id_form, confirmation) } } +function eCommerceConfirmWoocommerceUpdateDictTaxClass(id_form, confirmation) +{ + if (confirm(confirmation)) + { + document.getElementById(id_form+'_action').value = 'update_woocommerce_tax_class'; + eCommerceSubmitForm(id_form); + } +} + function eCommerceConfirmUpdatePriceLevel(id_form, confirmation, price_level) { jQuery('#'+id_form).on('submit', function(e) { diff --git a/htdocs/ecommerceng/langs/en_US/ecommerce.lang b/htdocs/ecommerceng/langs/en_US/ecommerce.lang old mode 100755 new mode 100644 index ee47849..16ad302 --- a/htdocs/ecommerceng/langs/en_US/ecommerce.lang +++ b/htdocs/ecommerceng/langs/en_US/ecommerce.lang @@ -1,9 +1,9 @@ # Dolibarr language file - en_Us - magento CHARSET=UTF-8 -ECommerceMagentoPriceType=Imported prices' types -ECommerceMagentoPriceTypeHT=Tax excluded -ECommerceMagentoPriceTypeTTC=Tax included -ECommerceMagentoPriceTypeDescription=Define the VAT application on Magento's imported products' prices (TE or TI) +ECommercePriceType=Imported prices' types +ECommercePriceTypeHT=Tax excluded +ECommercePriceTypeTTC=Tax included +ECommercePriceTypeDescription=Define the VAT application on E-Commerce's imported products' prices (TE or TI) ECommerceMagentoUseSpecialPriceDescription=Check to import Magento's special prices instead of public prices (public price will be imported only if special price is not defined) ECommerceMagentoUseSpecialPrice=Use Magento's special price ECommerceDashboard=ECommerce synchronization management dashboard @@ -33,15 +33,15 @@ ECommerceCatProductDescription=Select a product category to use to tags products ECommerceCatSocieteDescription=Select a customer category to use to tags thirparties in Doliarr to mark them as customers presents in Ecommerce too
Note: Module Tags/Categories must be activated. ECommerceFilterLabelDescription=Indicate a filter (exemple : store_id) ECommerceFilterValueDescription=Indicate a value du filtre (exemple : *) -ECommerceSiteTypeDescription =Select a site type +ECommerceSiteTypeDescription=Select a site type ECommerceSiteAddressDescription=Check before into your eCommerce admin that services are enabled.
Exemple : http://www.localhost.com/api/?wsdl, http://mymagentoserver/index.php/api/?wsdl ECommerceUserNameDescription=Exemple : soapuser ECommerceUserPasswordDescription=Exemple : myapikey ECommerceSite=Site ECommerceLastUpdate=Last Ecommerce->Dolibarr sync ECommerceNoUpdateSite=This site has never been synchronized -ECommerceUpdateSite=Synchronization detail of this site -ECommerceUpdateAll=Synchronize all objects +ECommerceUpdateSite=Detailed update of this site +ECommerceUpdateAll=Update all for this site ECommerceReset=Delete all links and Dolibarr linked record ECommerceResetLink=Delete all link records between Dolibarr and Ecommerce ECommerceMenu=ECommerce Sync @@ -86,11 +86,11 @@ ECommerceSynchSocieteSuccess=companies have been synchronized. ECommerceSynchProductSuccess=products have been synchronized. ECommerceSynchCommandeSuccess=orders have been synchronized. ECommerceSynchFactureSuccess=bills have been synchronized. -ECommerceSynchCommandeError=Error during synchronization of orders +ECommerceSynchCommandeError=Error during synchronization of orders ECommerceCheckIfCategoryDoesNotExistsTwice=Try to make name of your categories unique on your eCommerce platform ECommerceSynchSocieteErrorCreateUpdateSociete=Failed to synchronize thirdparty -ECommerceSyncheCommerceSocpeopleCreateError=An error occured while saving contact. +ECommerceSyncheCommerceSocpeopleCreateError=An error occured while saving contact (company ID: %s; first name: %s; last name: %s). ECommerceSyncheCommerceProductCreateError=Error creating the link between Dolibarr product and eCommerce product ECommerceSyncheCommerceCommandeCreateError=Error creating the link between Dolibarr order and eCommerce order ECommerceSyncheCommerceCategoryUpdateError=Error while updating a category. @@ -159,3 +159,40 @@ RestrictNbInSync=Restrict number of record of same object to synchronize in same SynchUnkownCustomersOnThirdParty=Use the following thirdparty for orders done on unknown customers (non logged customers) ThirdPartyForNonLoggedUsers=Third party for anonymous/non logged users +## OAuth Setup ## +ECommerceOAuthWordpressSetup=Connexion OAuth2 sur WordPress ( Allez sur
cette page , puis "Ajouter un nouveau client" pour créer les informations d'identification OAuth2 ) +ECommerceSiteOAuthRedirectUri=Url de redirection +ECommerceSiteOAuthRedirectUriDescription=Utilisez l'URL suivante comme URI de redirection (Callback) quand vous créez une nouvelle application (ou un nouveau client) +ECommerceSiteOAuthId=OAuth ID +ECommerceSiteOAuthIdDescription=Id de connexion au service OAuth +ECommerceSiteOAuthSecret=OAuth secret +ECommerceSiteOAuthSecretDescription=Secret de connexion au service OAuth +ECommerceOAuthCheckToken=Allez sur cette page pour vérifier/effacer les autorisations sauvées par le fournisseur OAuth2. + +ECommerceSynchronizeProductImages=Synchronize images +ECommerceProductImagesSynchronized=Images synchronized. + +ECommerceRemoteAccessConnect=Erreur de connection au site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrCommande=Erreur de recuperation des commandes sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrProduct=Erreur de recuperation des produits sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrProductVariations=Erreur de recuperation des variations du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrSociete=Erreur de recuperation des sociétés sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrSocpeople=Erreur de recuperation des sociétés (pour les contacts/adresses) sur le site '%s': %s +ECommerceRemoteAccessCreateRemoteProduct=Erreur de creation du produit 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessCreateRemoteProductLink=Erreur de creation du lien pour le produit 'id:%s' pour le site '%s': %s +ECommerceRemoteAccessGetCategoryData=Erreur de récupération des données de la catégorie distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessGetCommandeToUpdate=Erreur de récupération de la liste des commandes à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessGetProductToUpdate=Erreur de récupération de la liste des produits à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessGetRemoteCategoryTree=Erreur de récupération de la liste des catégories à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessGetSocieteToUpdate=Erreur de récupération de la liste des sociétés à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessSendFileForCommande=Erreur pour lier le fichier avec la commande distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessSendFileForCommandeInWordpress=Erreur de l'envoi du fichier pour la commande distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteCommande=Erreur de mise à jour de la commande distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProduct=Erreur de mise à jour du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProductGetRemoteProduct=Erreur de récupération du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProductSendImage=Erreur de l'envoi d'une image pour le produit distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProductVariation=Erreur de mise à jour de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteSociete=Erreur de mise à jour de la société distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s diff --git a/htdocs/ecommerceng/langs/en_US/woocommerce.lang b/htdocs/ecommerceng/langs/en_US/woocommerce.lang new file mode 100644 index 0000000..e8642af --- /dev/null +++ b/htdocs/ecommerceng/langs/en_US/woocommerce.lang @@ -0,0 +1,45 @@ +# Dolibarr language file - en_Us - woocommerce +CHARSET=UTF-8 + +ECommerceWoocommerceConnect=Erreur de connection au site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrCommande=Erreur de recuperation des commandes sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct=Erreur de recuperation des produits sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProductVariations=Erreur de recuperation des variations du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSociete=Erreur de recuperation des sociétés sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople=Erreur de recuperation des sociétés (pour les contacts/adresses) sur le site '%s': %s +ECommerceWoocommerceCreateRemoteProduct=Erreur de creation du produit 'id:%s' sur le site '%s': %s +ECommerceWoocommerceCreateRemoteProductLink=Erreur de creation du lien pour le produit 'id:%s' pour le site '%s': %s +ECommerceWoocommerceGetCategoryData=Erreur de récupération des données de la catégorie distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceGetCommandeToUpdate=Erreur de récupération de la liste des commandes à mettre à jour sur le site '%s': %s +ECommerceWoocommerceGetProductToUpdate=Erreur de récupération de la liste des produits à mettre à jour sur le site '%s': %s +ECommerceWoocommerceGetRemoteCategoryTree=Erreur de récupération de la liste des catégories à mettre à jour sur le site '%s': %s +ECommerceWoocommerceGetSocieteToUpdate=Erreur de récupération de la liste des sociétés à mettre à jour sur le site '%s': %s +ECommerceWoocommerceSendFileForCommande=Erreur pour lier le fichier avec la commande distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceSendFileForCommandeInWordpress=Erreur de l'envoi du fichier pour la commande distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteCommande=Erreur de mise à jour de la commande distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProduct=Erreur de mise à jour du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProductGetRemoteProduct=Erreur de récupération du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProductSendImage=Erreur de l'envoi d'une image pour le produit distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProductVariation=Erreur de mise à jour de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteSociete=Erreur de mise à jour de la société distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s + +ECommercengWoocommerceStatus=Statut pour le site "%s" +ECommercengWoocommerceDescription=Description boutique +ECommercengWoocommerceShortDescription=Description courte boutique +ECommercengWoocommerceOnlinePayment=Paiement en ligne +ECommercengWoocommerceTaxClass=Classe de TVA pour le site "%s" + +ECommercengWoocommerceDictTaxClass=Liste des classes de TVA sur Woocommerce +ECommercengWoocommerceDictTaxClassUpdated=Dictionnaire des classes de TVA sur Woocommerce mise à jour. +ECommerceWoocommerceConfirmUpdateDictTaxClasses=Confirmer la mise à jour du dictionnaire des classes de TVA pour ce site ? +ECommerceWoocommerceUpdateDictTaxClasses=Mise à jour du dictionnaire des classes de TVA +ECommerceWoocommerceErrorDisableDictTaxClass=Erreur de déactivation d'une classe de TVA, code:"%s", erreur:"%s" +ECommerceWoocommerceErrorAddDictTaxClass=Erreur d'ajout d'une classe de TVA, code:"%s", name:"%s", erreur:"%s" + +ECommercengWoocommerceStatusDraft=Draft +ECommercengWoocommerceStatusPending=Pending +ECommercengWoocommerceStatusPrivate=Private +ECommercengWoocommerceStatusPublish=Publish diff --git a/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang b/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang old mode 100755 new mode 100644 index a7a8fd1..caa7378 --- a/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang +++ b/htdocs/ecommerceng/langs/fr_FR/ecommerce.lang @@ -1,20 +1,38 @@ # Dolibarr language file - fr_FR - ECommerce CHARSET=UTF-8 -ECommerceMagentoPriceType=Type de prix importés -ECommerceMagentoPriceTypeHT=Hors Taxes -ECommerceMagentoPriceTypeTTC=Toutes Taxes Comprises -ECommerceMagentoPriceTypeDescription=Définit l'application de la TVA sur les prix des produits Magento importés (HT ou TTC) + +##PERMISSIONS## +Permission107101=Lire les statuts de synchronisation des sites e-commerce +Permission107102=Synchroniser les sites e-commerce +Permission107103=Configurer les sites e-commerce + +##ADMIN## +Module107100Name=EcommerceNG +Module107100Desc=Module de synchronisation entre Dolibarr et les plateformes e-commerce Magento et WooCommerce +BackToListOfSites=Retour à la liste des sites +NothingToSetup=Activez le module pour accéder à sa configuration + +##SETUP## +magento=Magento +woocommerce=WooCommerce +ECommercetoDolibarr=De E-Commerce vers Dolibarr +DolibarrToeCommerce=De Dolibarr vers E-Commerce +ECommercePriceType=Type de prix importés +ECommercePriceTypeHT=Hors Taxes +ECommercePriceTypeTTC=Toutes Taxes Comprises +ECommercePriceTypeDescription=Définit l'application de la TVA sur les prix des produits E-Commerce importés (HT ou TTC) ECommerceMagentoUseSpecialPriceDescription=Cocher pour importer en priorité les prix spéciaux Magento des produits au lieu des prix publics (le prix public ne sera importé que si le prix spécial n'est pas renseigné) +WarningStockProductNotFilled=L'entrepôt n'est pas renseigné ECommerceMagentoUseSpecialPrice=Utiliser le prix spécial Magento -ECommerceDashboard=Gestion des synchronisations ECommerce -ECommerceSetup=Configuration du module Ecommerce +ECommerceDashboard=Gestion des synchronisations E-Commerce +ECommerceSetup=Configuration du module E-Commerce ECommerceAddNewSite=Ajouter un nouveau site ECommerceCreateSite=Création d'un nouveau site ECommerceSetupSite=Configuration du site ECommerceSiteName=Nom du site ECommerceCatProduct=Catégorie des produits ECommerceCatSociete=Catégorie des clients -ECommerceFilterLabel=Label du filtre +ECommerceFilterLabel=Libellé du filtre ECommerceFilterValue=Valeur du filtre ECommerceSiteType=Type de site ECommerceSiteAddress=Adresse du site @@ -22,29 +40,31 @@ ECommerceUserName=Nom d'utilisateur ECommerceUserPassword=Mot de passe - API key ECommerceUserPasswordRetype=Retapez le mot de passe - API key ECommerceConfirmDelete=Êtes vous sûre de vouloir supprimer ce site ? -ECommerceConfirmReset=Êtes vous sûre de vouloir purger les données synchronisées liées à ce site? (Attention, cette action est irréversible, toute les données synchronisées seront perdues) +ECommerceConfirmReset=Êtes vous sûre de vouloir purger les données synchronisées liées à ce site? (Attention : cette action est irréversible, toute les données synchronisées seront perdues) ECommerceSetupSaved=La configuration a bien été enregistrée. ECommerceSetupErrorDb=Une erreur est survenue lors de l'enregistrement dans la base de données. ECommerceDeleteOk=Le site a bien été supprimé. ECommerceSetupPasswordNotSame=Le mot de passe doit être identique dans les 2 champs. ECommerceSetupNameEmpty=Le nom du site est obligatoire. -ECommerceSiteNameDescription=Indiquez le nom qui sera affiché dans Dolibarr (exemple : Mon Site) -ECommerceCatProductDescription=Sélectionnez la catégorie Produit mère Dolibarr qui accueille les catégories Produit à synchroniser avec Magento (à créer une fois le module Catégories Dolibarr activé). Exemple: "Catégories Produits Magento" -ECommerceCatSocieteDescription=Sélectionnez la catégorie Tiers client Dolibarr pour marquer les clients Magento (à créer une fois le module Catégories Dolibarr activé). Exemple: "Clients Eboutique Magento" +ECommerceSiteNameDescription=Indiquez le nom qui sera affiché dans la liste des site e-commerce dans Dolibarr (exemple : Mon Site) +ECommerceCatProductDescription=Sélectionnez la catégorie Produit mère Dolibarr qui accueille les catégories Produit à synchroniser avec la plateforme e-commerce (à créer une fois le module Catégories de Dolibarr activé). Exemple: "Catégories Produits Magento" +ECommerceCatSocieteDescription=Sélectionnez la catégorie Tiers client Dolibarr pour marquer les clients e-commerce (à créer une fois le module Catégories Dolibarr activé). Exemple: "Clients Eboutique Magento" ECommerceFilterLabelDescription=Indiquez un filtre (exemple : store_id) ECommerceFilterValueDescription=Indiquez la valeur du filtre (exemple : *) ECommerceSiteTypeDescription =Sélectionnez un type de site -ECommerceSiteAddressDescription=URL des API v1 Magento. Exemple : http://localhost/api/?wsdl, http://www.example.com/magento/index.php/api/?wsdl, http://www.example.com/magento/index.php/api/soap/?wsdl (Note: L'accès par localhost peut ne pas fonctionner) -ECommerceUserNameDescription=Compte à créer dans Magento via le menu SOAP/XML-RPC users. Ce compte doit aussi être placé dans un role créé dans magento via le menu SOAP/XML-RPC roles (donnez de préférence tous les droits à ce role). Exemple : soapuser -ECommerceUserPasswordDescription=Compte à créer dans magento via le menu SOAP/XML-RPC users. Ce compte doit aussi être placé dans un role créé dans magento via le menu SOAP/XML-RPC roles (donnez de préférence tous les droits à ce role). Exemple : myapikey +ECommerceSiteAddressDescription=URL des API v1 Magento. Exemples : http://localhost/api/?wsdl, http://www.example.com/magento/index.php/api/?wsdl ou encore http://www.example.com/magento/index.php/api/soap/?wsdl (Note: L'accès par localhost peut ne pas fonctionner) +ECommerceUserNameDescription=Compte à créer dans Magento via le menu SOAP/XML-RPC users. Ce compte doit aussi être placé dans un rôle créé dans magento via le menu SOAP/XML-RPC roles (donnez de préférence tous les droits à ce role). Exemple : soapuser.
Dans WooCommerce, Clé API Client +ECommerceUserPasswordDescription=Compte à créer dans magento via le menu SOAP/XML-RPC users. Ce compte doit aussi être placé dans un role créé dans magento via le menu SOAP/XML-RPC roles (donnez de préférence tous les droits à ce rôle). Exemple : myapikey.
Dans WooCommerce, Clé API Secret Client ECommerceSite=Site ECommerceLastUpdate=Dernière mise à jour -ECommerceNoUpdateSite=Ce site n'a jamais été synchronisé ENTIEREMENT (Entierement = plus aucun élément à synchroniser) +ECommerceNoUpdateSite=Ce site n'a jamais été synchronisé ENTIÈREMENT (Entièrement = plus aucun élément à synchroniser) ECommerceUpdateSite=Synchronisation détaillée du site ECommerceUpdateAll=Tout synchroniser pour ce site +ECommerceStockProduct=Entrepôt +ECommerceStockProductDescription=Si vous définissez l'option précédente de %s à E-Commerce vers Dolibarr, les produits créés ou modifiés depuis la plateforme e-commerce seront synchronisés dans Dolibarr dans cet entrepôt.
Attention : Les stocks de Dolibarr sont modifiés lors de la synchronisation des produits et non pas pendant la synchronisation de commandes ou des factures. ECommerceReset=Supprimer de Dolibarr toutes les données issues de synchronisation de la boutique Ecommerce ECommerceResetLink=Supprimer les enregistrements liens entre Dolibarr et la boutique Ecommerce -ECommerceMenu=ECommerce synchro. +ECommerceMenu=Synchro. E-Commerce ECommerceSetupCatProductEmpty=Une catégorie produit est obligatoire. ECommerceSetupCatSocieteEmpty=Une catégorie client est obligatoire. ECommerceSetupTypeEmpty=Le type de site est obligatoire. @@ -55,7 +75,7 @@ ECommerceSiteSynchro=Synchronisation du site ECommerceProducts=Produits ECommerceCommande=Commandes ECommerceFacture=Factures -ECommerceObjectToUpdate=Eléments à synchroniser +ECommerceObjectToUpdate=Éléments à synchroniser ECommerceCountToUpdate=Nombre d'éléments à synchroniser (modifié côté Ecommerce et non à jour dans Dolibarr) ECommerceSiteErrorConnect=Un problème de connection est survenue. Merci de réessayer. ECommerceSynchronizeSociete = Synchroniser les tiers clients et contacts de tiers @@ -63,13 +83,13 @@ ECommerceSynchronizeProduct = Synchroniser les produits ECommerceSynchronizeCommande = Synchroniser les commandes ECommerceSynchronizeFacture = Synchroniser les factures ECommerceSynchSocieteErrorCreateUpdateSociete=Erreur dans le synchronisation du client -ECommerceErrorGetSocieteToUpdate=Un problème de connection est survenue lors de la récupération des sociétés. Merci de réessayer. +ECommerceErrorGetSocieteToUpdate=Un problème de connection est survenue lors de la récupération des clients. Merci de réessayer. ECommerceErrorGetProduitsToUpdate=Un problème de connection est survenue lors de la récupération des produits. Merci de réessayer. ECommerceErrorGetCategoryToUpdate=Un problème de connection est survenue lors de la récupération des catégories. Merci de réessayer. ECommerceErrorGetCommandeToUpdate=Un problème de connection est survenue lors de la récupération des commandes. Merci de réessayer. ECommerceErrorGetFactureToUpdate=Un problème de connection est survenue lors de la récupération des factures. Merci de réessayer. ECommerceReboot=Veuillez désactiver le module et le réactiver avant de réessayer. -ECommerceAnonymousCreateFailed=Echec de création de l'objet de synchronisation correspondant au tiers anonyme. +ECommerceAnonymousCreateFailed=Échec de création de l'objet de synchronisation correspondant au tiers anonyme. ECommerceNoDbAnonymous=Le tiers anonyme n'existe pas dans la base de donnée. ECommerceResetDolFactureSuccess=factures importées ont bien été supprimées. ECommerceResetSynchFactureSuccess=références de synchronisation de factures ont bien été supprimées. @@ -79,8 +99,8 @@ ECommerceResetDolProductSuccess=produits importées ont bien été supprimées. ECommerceResetSynchProductSuccess=références de synchronisation de produits ont bien été supprimées. ECommerceResetDolSocpeopleSuccess=contacts importées ont bien été supprimées. ECommerceResetSynchSocpeopleSuccess=références de synchronisation de contacts ont bien été supprimées. -ECommerceResetDolSocieteSuccess=sociétés importées ont bien été supprimées. -ECommerceResetSynchSocieteSuccess=références de synchronisation de sociétés ont bien été supprimées. +ECommerceResetDolSocieteSuccess=tiers clients importés ont bien été supprimées. +ECommerceResetSynchSocieteSuccess=références de synchronisation de tiers clients ont bien été supprimées. ECommerceResetDolCategorySuccess=catégories importées ont bien été supprimées (ce nombre peut-être supérieur à celui indiqué en incluant les enfants des catégories supprimées). ECommerceResetSynchCategorySuccess=références de synchronisation de catégories ont bien été supprimées (ce nombre peut-être supérieur à celui indiqué en incluant les enfants des références supprimées). ECommerceSyncheCommerceCategoryUpdateError=Erreur dans la mise à jour d'une catégorie. @@ -88,53 +108,94 @@ ECommerceSyncheCommerceCategoryCreateError=Erreur lors de la création d'une cat ECommerceSynchronizeCategoryProduct=Synchroniser les catégories de produits ECommerceSynchCategoryError=Erreur lors de la synchronisation des catégories. ECommerceSynchCategorySuccess=catégories ont bien été synchronisées. -ECommerceSynchCategoryNoImportRoot=La synchronization des catégories a été annulée car la catégorie d'import de Dolibarr n'est pas définies. Veuillez la définir dans la configuration de synchronisation avant de réessayer. +ECommerceSynchCategoryNoImportRoot=La synchronisation des catégories a été annulée car la catégorie d'import de Dolibarr n'est pas définie. Veuillez la définir dans la configuration de synchronisation avant de réessayer. ECommerceSynchCategoryConnectError=Une erreur de connexion est survenue durant la synchronisation des catégories. Veuillez réessayer. -ECommerceSynchSocieteSuccess=sociétés ont bien été synchronisées. +ECommerceSynchSocieteSuccess=clients ont bien été synchronisées. ECommerceSynchProductSuccess=produits ont bien été synchronisés. ECommerceSynchCommandeSuccess=commandes ont bien été synchronisées. ECommerceSynchFactureSuccess=factures ont bien été synchronisées. -ECommerceSynchECommerceSocpeopleCreateError=Une erreur est survenue lors de l'enregistrement du contact. +ECommerceSynchECommerceSocpeopleCreateError=Une erreur est survenue lors de l'enregistrement du contact (societe ID: %s; prénom: %s; nom: %s). ECommerceSetupSites=Configuration des sites ECommerceTimeout=Timeout des accès APIS +ECommerceClickUrlToTestUrl=Cliquez ici pour tester l'URL (un fichier XML ou JSON doit s'afficher) ECommerceTimeoutDescription=Timeout pour les accès aux APIs, en secondes ECommerceSetupTimeoutEmpty=Durée de connexion vide ECommerceSetupTimeoutMustBeInt=La durée de connexion doit-être un entier ECommerceCategoriesProducts=Catégories de produits -SyncCategFirst=Synchroniser les catégories d'abord +SyncCategFirst=Synchroniser d'abord les catégories ECommerceSynchCommandeError=Erreur durant la synchronisation des commandes -OnlyThirdPartyWithTags=Nb de tiers ayant le tag '%s' (donc sensé être commun avec la boutique en ligne) +OnlyThirdPartyWithTags=Nb de tiers rattachés à la catégorie %s (donc sensé être commun avec la boutique en ligne) NbInDolibarr=Nb dans l'ERP -NbInDolibarrLinkedToE=Nb dans l'ERP lié à la boutique +NbInDolibarrLinkedToE=Nb dans l'ERP liés à la boutique ModuleCustomerOrderDisabled=Non géré (module Commande Client désactivé) -ECommerceLastCompleteSync=Date de la dernière synchro de %s vers Dolibarr réalisée ENTIEREMENT (=plus aucun élément à synchroniser) -WithMagentoThirdIsModifiedIfAddressModified=Avec Magento, un tiers sera vue modifié aussi si un de ces contacts/address a été modifié +ECommerceLastCompleteSync=Date de la dernière synchronisation de %s vers Dolibarr réalisée ENTIÈREMENT (Entièrement = plus aucun élément à synchroniser) +WithMagentoThirdIsModifiedIfAddressModified=Avec Magento et WooCommerce, un tiers sera aussi considéré comme modifié si un de ces contacts/adresses a été modifié. SyncSocieteFirst=Synchroniser d'abord les tiers SyncCommandeFirst=Synchroniser d'abord les commandes -OnlyProductsIn=Only products with category %s or sub-categories of '%s' are synchronized from Dolibarr to Magento -NbInDolibarr=Nb into ERP -NbInDolibarrLinkedToE=Nb into ERP linked to ecommerce -RefreshCount=Raffraichir le comptage +OnlyProductsIn=Seuls les produits de la catégorie %s et de ses sous-catégories sont synchronisées de Dolibarr vers Magento ou WooCommerce. +NbInDolibarr=Nb dans l'ERP +NbInDolibarrLinkedToE=NB dans l'ERP liés à la boutique +RefreshCount=Rafraîchir le comptage ModuleCustomerOrderDisabled=Not supported (module Customer Order disabled) ECommerceLastCompleteSync=Last synchronize from %s to Dolibarr done completely (no more elements to synchronize) -SyncIsAutomaticInRealTime=Synchronization from Dolibarr to %s is done automatically in real time. +SyncIsAutomaticInRealTime=La synchronisation De Dolibarr vers %s est effectuée en temps réel. WithMagentoThirdIsModifiedIfAddressModified=With Magento, a third party is also flagged as modified if one of its contact/address is modified -OnlyProductCategIn=Only sub-categories of product category '%s' are synchronized from Dolibarr to Magento -OnlyThirdPartyIn=Only thirdparties with thirdparty category '%s' are synchronized from Dolibarr to Magento +OnlyProductCategIn=Seule la catégorie %s et ses sous-catégories sont synchronisée de Dolibarr vers Magento ou WooCommerce. +OnlyThirdPartyIn=Seuls les tiers de la catégorie %s et de ses sous-catégories sont synchronisées de Dolibarr vers Magento ou WooCommerce.² OnlyThirdPartyWithTags=Nb of thirdparties with tag '%s' (so that should be common with the online ecommerce shop) -WarningSoapCacheIsOn=Warning: WSDL cache is on into directory '%s'. +WarningSoapCacheIsOn=Attention : WSDL cache is on into directory %s. WarningSoapCacheIsOn2=Changer %s ou son contenu peut ne pas être vu par le PHP. SoapCacheIsOff=Votre cache PHP WSDL est inactif. SetupOfWarehouseNotDefinedForThisSite=A new or modified product were found on eCommerce shop with a different stock level than into Dolibarr. To be able to create/update them in Dolibarr, you must setup the warehouse to initialize. -ECommerceStockSyncDirection=Stock synchronisation direction -ECommerceStockSyncDirectionDescription=Define if you want to see stock decrease in Dolibarr when stock decrease on Magento (rare), or overwrite Magento stock when stock in Dolibarr is modified (common choice) -MainSyncSetup=Configuration synchronisation générale -StockSyncSetup=Configuration synchronisation stock -ErrorModuleSoapRequired=Error: PHP module SOAP is required to have this module working. +ECommerceStockSyncDirection=Synchronisation des stocks +ECommerceStockSyncDirectionDescription=Ce paramètre détermine :
- Si le stock doit être décrémenté dans Dolibarr suite à une décrémentation du stock e-commerce (rare) ou
- Si le stock e-commerce doit être remplacé par le stock Dolibarr suite à sa modification (choix commun) +MainSyncSetup=Synchronisation générale +StockSyncSetup=Synchronisation des stocks +ErrorModuleSoapRequired=Erreur: Le module PHP SOAP est requis pour le bon fonctionnement du module. SyncAll=Synchroniser tout -DangerZone=Zone dangeureuse +DangerZone=Zone dangereuse ShowDebugTools=Afficher les outils d'init/purge/debug ECommerceShipping=Frais de port ECommercePriceLevel=Niveau de prix -ECommercePriceLevelDescription=Seulement ce niveau de prix sera shynchronisé entre Dolibarr et Ecommerce -ECommerceConfirmUpdatePriceLevel=Vous avez modifié le niveau de prix et les produits sur le eCommerce vont être mises à jour.\nCette opération peut être longue, merci de confirmer. +ECommercePriceLevelDescription=Seul ce niveau de prix sera synchronisé entre Dolibarr et Ecommerce +ECommerceConfirmUpdatePriceLevel=Vous avez modifié le niveau de prix. Les produits sur le site e-commerce vont être mis à jour.\nCette opération peut être longue, merci de confirmer. + +## OAuth Setup ## +ECommerceOAuthWordpressSetup=Connexion OAuth2 sur WordPress ( Allez sur cette page , puis "Ajouter un nouveau client" pour créer les informations d'identification OAuth2 ) +ECommerceSiteOAuthRedirectUri=Url de redirection +ECommerceSiteOAuthRedirectUriDescription=Utilisez l'URL suivante comme URI de redirection (Callback) quand vous créez une nouvelle application (ou un nouveau client) +ECommerceSiteOAuthId=OAuth ID +ECommerceSiteOAuthIdDescription=Id de connexion au service OAuth +ECommerceSiteOAuthSecret=OAuth secret +ECommerceSiteOAuthSecretDescription=Secret de connexion au service OAuth +ECommerceOAuthCheckToken=Allez sur cette page pour vérifier/effacer les autorisations sauvées par le fournisseur OAuth2. + +ECommerceSynchronizeProductImages=Synchroniser les images +ECommerceProductImagesSynchronized=Les images ont été synchronisées. + +ECommerceRemoteAccessConnect=Erreur de connection au site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrCommande=Erreur de recuperation des commandes sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrProduct=Erreur de recuperation des produits sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrProductVariations=Erreur de recuperation des variations du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrSociete=Erreur de recuperation des sociétés sur le site '%s': %s +ECommerceRemoteAccessConvertRemoteObjectIntoDolibarrSocpeople=Erreur de recuperation des sociétés (pour les contacts/adresses) sur le site '%s': %s +ECommerceRemoteAccessCreateRemoteProduct=Erreur de creation du produit 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessCreateRemoteProductLink=Erreur de creation du lien pour le produit 'id:%s' pour le site '%s': %s +ECommerceRemoteAccessGetCategoryData=Erreur de récupération des données de la catégorie distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessGetCommandeToUpdate=Erreur de récupération de la liste des commandes à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessGetProductToUpdate=Erreur de récupération de la liste des produits à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessGetRemoteCategoryTree=Erreur de récupération de la liste des catégories à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessGetSocieteToUpdate=Erreur de récupération de la liste des sociétés à mettre à jour sur le site '%s': %s +ECommerceRemoteAccessSendFileForCommande=Erreur pour lier le fichier avec la commande distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessSendFileForCommandeInWordpress=Erreur de l'envoi du fichier pour la commande distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteCommande=Erreur de mise à jour de la commande distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProduct=Erreur de mise à jour du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProductGetRemoteProduct=Erreur de récupération du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProductSendImage=Erreur de l'envoi d'une image pour le produit distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteProductVariation=Erreur de mise à jour de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteSociete=Erreur de mise à jour de la société distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceRemoteAccessUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s + +ECommerceSyncheCommerceProductDownloadImageError=Erreur de récupération de l'image (%s) pour le produit 'id:%s' du produit distant 'id:%s' sur le site '%s' \ No newline at end of file diff --git a/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang b/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang new file mode 100644 index 0000000..5e14314 --- /dev/null +++ b/htdocs/ecommerceng/langs/fr_FR/woocommerce.lang @@ -0,0 +1,45 @@ +# Dolibarr language file - fr_FR - ECommerce +CHARSET=UTF-8 + +ECommerceWoocommerceConnect=Erreur de connection au site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrCommande=Erreur de recuperation des commandes sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProduct=Erreur de recuperation des produits sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrProductVariations=Erreur de recuperation des variations du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSociete=Erreur de recuperation des sociétés sur le site '%s': %s +ECommerceWoocommerceConvertRemoteObjectIntoDolibarrSocpeople=Erreur de recuperation des sociétés (pour les contacts/adresses) sur le site '%s': %s +ECommerceWoocommerceCreateRemoteProduct=Erreur de creation du produit 'id:%s' sur le site '%s': %s +ECommerceWoocommerceCreateRemoteProductLink=Erreur de creation du lien pour le produit 'id:%s' pour le site '%s': %s +ECommerceWoocommerceGetCategoryData=Erreur de récupération des données de la catégorie distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceGetCommandeToUpdate=Erreur de récupération de la liste des commandes à mettre à jour sur le site '%s': %s +ECommerceWoocommerceGetProductToUpdate=Erreur de récupération de la liste des produits à mettre à jour sur le site '%s': %s +ECommerceWoocommerceGetRemoteCategoryTree=Erreur de récupération de la liste des catégories à mettre à jour sur le site '%s': %s +ECommerceWoocommerceGetSocieteToUpdate=Erreur de récupération de la liste des sociétés à mettre à jour sur le site '%s': %s +ECommerceWoocommerceSendFileForCommande=Erreur pour lier le fichier avec la commande distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceSendFileForCommandeInWordpress=Erreur de l'envoi du fichier pour la commande distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteCommande=Erreur de mise à jour de la commande distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProduct=Erreur de mise à jour du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProductGetRemoteProduct=Erreur de récupération du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProductSendImage=Erreur de l'envoi d'une image pour le produit distante 'id:%s' dans les média de Wordpress sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteProductVariation=Erreur de mise à jour de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteSociete=Erreur de mise à jour de la société distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteSocpeople=Erreur de mise à jour des contacts/adresses de la société distante 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteStockProduct=Erreur de mise à jour des stocks de la variation 'id:%s' du produit distant 'id:%s' sur le site '%s': %s +ECommerceWoocommerceUpdateRemoteStockProductVariation=Erreur de mise à jour des stocks du produit distant 'id:%s' sur le site '%s': %s + +ECommercengWoocommerceStatus=Statut pour le site "%s" +ECommercengWoocommerceDescription=Description boutique +ECommercengWoocommerceShortDescription=Description courte boutique +ECommercengWoocommerceOnlinePayment=Paiement en ligne +ECommercengWoocommerceTaxClass=Classe de TVA pour le site "%s" + +ECommercengWoocommerceDictTaxClass=Liste des classes de TVA sur Woocommerce +ECommercengWoocommerceDictTaxClassUpdated=Dictionnaire des classes de TVA sur Woocommerce mise à jour. +ECommerceWoocommerceConfirmUpdateDictTaxClasses=Confirmer la mise à jour du dictionnaire des classes de TVA pour ce site ? +ECommerceWoocommerceUpdateDictTaxClasses=Mise à jour du dictionnaire des classes de TVA +ECommerceWoocommerceErrorDisableDictTaxClass=Erreur de déactivation d'une classe de TVA, code:"%s", erreur:"%s" +ECommerceWoocommerceErrorAddDictTaxClass=Erreur d'ajout d'une classe de TVA, code:"%s", name:"%s", erreur:"%s" + +ECommercengWoocommerceStatusDraft=Brouillon +ECommercengWoocommerceStatusPending=En attente de relecture +ECommercengWoocommerceStatusPrivate=Privé +ECommercengWoocommerceStatusPublish=Publié diff --git a/htdocs/ecommerceng/lib/eCommerce.lib.php b/htdocs/ecommerceng/lib/eCommerce.lib.php index 7131da7..12fa013 100644 --- a/htdocs/ecommerceng/lib/eCommerce.lib.php +++ b/htdocs/ecommerceng/lib/eCommerce.lib.php @@ -17,8 +17,10 @@ */ +include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; dol_include_once('/ecommerceng/class/data/eCommerceProduct.class.php'); dol_include_once('/ecommerceng/class/business/eCommerceSynchro.class.php'); +dol_include_once('/ecommerceng/class/data/woocommerce/eCommerceRemoteAccessWoocommerce.class.php'); /** * Update the price for all product in the ecommerce product category for this site price level @@ -85,3 +87,397 @@ function updatePriceLevel($siteDb) return 1; } +function ecommerceng_wordpress_sanitize_file_name( $filename ) { + //$filename_raw = $filename; + $special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}", "%", "+", chr(0)); + /** + * Filters the list of characters to remove from a filename. + * + * @since 2.8.0 + * + * @param array $special_chars Characters to remove. + * @param string $filename_raw Filename as it was passed into sanitize_file_name(). + */ + $filename = preg_replace( "#\x{00a0}#siu", ' ', $filename ); + $filename = str_replace( $special_chars, '', $filename ); + $filename = str_replace( array( '%20', '+' ), '-', $filename ); + $filename = preg_replace( '/[\r\n\t -]+/', '-', $filename ); + $filename = trim( $filename, '.-_' ); + + /*if ( false === strpos( $filename, '.' ) ) { + $mime_types = wp_get_mime_types(); + $filetype = wp_check_filetype( 'test.' . $filename, $mime_types ); + if ( $filetype['ext'] === $filename ) { + $filename = 'unnamed-file.' . $filetype['ext']; + } + }*/ + + // Split the filename into a base and extension[s] + //$parts = explode('.', $filename); + + // Return if only one extension + /*if ( count( $parts ) <= 2 ) { + /** + * Filters a sanitized filename string. + * + * @since 2.8.0 + * + * @param string $filename Sanitized filename. + * @param string $filename_raw The filename prior to sanitization. + */ + /* return apply_filters( 'sanitize_file_name', $filename, $filename_raw ); + }*/ + + // Process multiple extensions + /*$filename = array_shift($parts); + $extension = array_pop($parts); + $mimes = get_allowed_mime_types(); + + /* + * Loop over any intermediate extensions. Postfix them with a trailing underscore + * if they are a 2 - 5 character long alpha string not in the extension whitelist. + */ + /*foreach ( (array) $parts as $part) { + $filename .= '.' . $part; + + if ( preg_match("/^[a-zA-Z]{2,5}\d?$/", $part) ) { + $allowed = false; + foreach ( $mimes as $ext_preg => $mime_match ) { + $ext_preg = '!^(' . $ext_preg . ')$!i'; + if ( preg_match( $ext_preg, $part ) ) { + $allowed = true; + break; + } + } + if ( !$allowed ) + $filename .= '_'; + } + } + $filename .= '.' . $extension; + /** This filter is documented in wp-includes/formatting.php */ + //return apply_filters('sanitize_file_name', $filename, $filename_raw); + return $filename; +} + +function ecommerceng_download_image($image, $product, &$error_message) +{ + dol_syslog(__METHOD__.': image=' . implode(',',$image) . ' product_id=' . $product->id, LOG_DEBUG); + global $db, $conf, $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini; + + if ($product->type != Product::TYPE_PRODUCT && $product->type != Product::TYPE_SERVICE) { + $error_message = "Error the product is not a product or service type"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + $entity = isset($product->entity) ? $product->entity : $conf->entity; + + // Set upload directory + if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { // For backward compatiblity, we scan also old dirs + if ($product->type == Product::TYPE_PRODUCT) { + $upload_dir = $conf->product->multidir_output[$entity] . '/' . substr(substr("000" . $product->id, -2), 1, 1) . '/' . substr(substr("000" . $product->id, -2), 0, 1) . '/' . $product->id . "/photos"; + } else { + $upload_dir = $conf->service->multidir_output[$entity] . '/' . substr(substr("000" . $product->id, -2), 1, 1) . '/' . substr(substr("000" . $product->id, -2), 0, 1) . '/' . $product->id . "/photos"; + } + } else { + if ($product->type == Product::TYPE_PRODUCT) { + $upload_dir = $conf->product->multidir_output[$entity] . '/' . get_exdir(0, 0, 0, 0, $product, 'product') . dol_sanitizeFileName($product->ref); + } else { + $upload_dir = $conf->service->multidir_output[$entity] . '/' . get_exdir(0, 0, 0, 0, $product, 'product') . dol_sanitizeFileName($product->ref); + } + } + + // Define $destpath (path to file including filename) and $destfile (only filename) + $file_name = basename(parse_url($image['url'], PHP_URL_PATH)); + $destpath = $upload_dir . "/" . $file_name; + $destfile = $file_name; + + // lowercase extension + $info = pathinfo($destpath); + $destpath = $info['dirname'] . '/' . $info['filename'] . '.' . strtolower($info['extension']); + $info = pathinfo($destfile); + $destfile = $info['filename'] . '.' . strtolower($info['extension']); + + // Security: + // Disallow file with some extensions. We rename them. + // Because if we put the documents directory into a directory inside web root (very bad), this allows to execute on demand arbitrary code. + if (preg_match('/\.htm|\.html|\.php|\.pl|\.cgi|\.exe$/i', $destfile) && empty($conf->global->MAIN_DOCUMENT_IS_OUTSIDE_WEBROOT_SO_NOEXE_NOT_REQUIRED)) { + $destfile .= '.noexe'; + $destpath .= '.noexe'; + } + + // Check if image is modified + if (file_exists($destpath)) { + $local_image_date = new DateTime(); + $local_image_date->setTimestamp(filectime($destpath)); + $remote_image_date = new DateTime($image['date_modified']); + + if ($local_image_date >= $remote_image_date) { + return true; + } + } + + dol_syslog(__METHOD__.': upload_dir=' . $upload_dir . ' image=' . implode(',',$image) . ' product_id=' . $product->id . ' dest_path=' . $destpath, LOG_DEBUG); + + if (dol_mkdir($upload_dir) < 0) { + $error_message = "Error create product images directory ($upload_dir)"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + // Get file + $timeout = 5; + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $image['url']); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); + $data = curl_exec($ch); + curl_close($ch); + if ($data === false) { + $error_message = curl_error($ch); + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + // Get in temporary file name + if (version_compare(phpversion(), '5.2.1', '<')) { + if ($conf->global->ECOMMERCE_DOWNLOAD_TMP_DIRECTORY_PATH) { + $tmp_path = $conf->global->ECOMMERCE_DOWNLOAD_TMP_DIRECTORY_PATH; + } else { + $error_message = "Error ECOMMERCE_DOWNLOAD_TMP_DIRECTORY_PATH not defined"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + } else { + $tmp_path = sys_get_temp_dir(); + } + + if (dol_mkdir($tmp_path) < 0) { + $error_message = "Error create download temporary directory ($tmp_path)"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + // Save temporary file + $temp_file = tempnam($tmp_path, $destfile); + $fh = @fopen($temp_file, "w"); + if ($fh === false) { + $error_message = "Error open temporary file ($temp_file)"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + $ret = fwrite($fh, $data); + if ($ret === false) { + $error_message = "Error write data in temporary file ($temp_file)"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + $ret = fclose($fh); + if ($ret === false) { + $error_message = "Error close temporary file ($temp_file)"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + // If we need to make a virus scan + if (empty($disablevirusscan) && file_exists($temp_file) && !empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) { + if (!class_exists('AntiVir')) { + require_once DOL_DOCUMENT_ROOT . '/core/class/antivir.class.php'; + } + $antivir = new AntiVir($db); + $result = $antivir->dol_avscan_file($temp_file); + if ($result < 0) // If virus or error, we stop here + { + $error_message = 'Error file is infected with a virus: ' . join(',', $antivir->errors); + dol_syslog('Files.lib::dol_move_uploaded_file File "' . $temp_file . '" (target name "' . $temp_file . '") KO with antivirus: result=' . $result . ' errors=' . join(',', $antivir->errors), LOG_ERR); + return false; + } + } + + if (!dol_move($temp_file, $destpath)) { + unlink($temp_file); + $error_message = "Error move temporary file ($temp_file) in product image directory ($destpath)"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + include_once DOL_DOCUMENT_ROOT . '/core/lib/images.lib.php'; + if (image_format_supported($destpath) == 1) { + // Create thumbs + // We can't use $object->addThumbs here because there is no $object known + + // Used on logon for example + $imgThumbSmall = vignette($destpath, $maxwidthsmall, $maxheightsmall, '_small', 50, "thumbs"); + // Create mini thumbs for image (Ratio is near 16/9) + // Used on menu or for setup page for example + $imgThumbMini = vignette($destpath, $maxwidthmini, $maxheightmini, '_mini', 50, "thumbs"); + } + + return true; +} + +function ecommerceng_remove_obsolete_image($product, $images, &$error_message) +{ + dol_syslog(__METHOD__.': product_id=' . $product->id . ' images=' . implode(',', $images), LOG_DEBUG); + global $db, $conf; + + if ($product->type != Product::TYPE_PRODUCT && $product->type != Product::TYPE_SERVICE) { + $error_message = "Error the product is not a product or service type"; + dol_syslog(__METHOD__.': '.$error_message, LOG_ERR); + return false; + } + + $entity = isset($product->entity) ? $product->entity : $conf->entity; + + // Set upload directory + if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { // For backward compatiblity, we scan also old dirs + if ($product->type == Product::TYPE_PRODUCT) { + $upload_dir = $conf->product->multidir_output[$entity] . '/' . substr(substr("000" . $product->id, -2), 1, 1) . '/' . substr(substr("000" . $product->id, -2), 0, 1) . '/' . $product->id . "/photos/"; + } else { + $upload_dir = $conf->service->multidir_output[$entity] . '/' . substr(substr("000" . $product->id, -2), 1, 1) . '/' . substr(substr("000" . $product->id, -2), 0, 1) . '/' . $product->id . "/photos/"; + } + } else { + if ($product->type == Product::TYPE_PRODUCT) { + $upload_dir = $conf->product->multidir_output[$entity] . '/' . get_exdir(0, 0, 0, 0, $product, 'product') . dol_sanitizeFileName($product->ref) . '/'; + } else { + $upload_dir = $conf->service->multidir_output[$entity] . '/' . get_exdir(0, 0, 0, 0, $product, 'product') . dol_sanitizeFileName($product->ref) . '/'; + } + } + + $images_name = []; + foreach ($images as $image) { + // Define $destpath (path to file including filename) and $destfile (only filename) + $file_name = basename(parse_url($image['url'], PHP_URL_PATH)); + $destfile = $file_name; + + // lowercase extension + $info = pathinfo($destfile); + $destfile = $info['filename'] . '.' . strtolower($info['extension']); + + // Security: + // Disallow file with some extensions. We rename them. + // Because if we put the documents directory into a directory inside web root (very bad), this allows to execute on demand arbitrary code. + if (preg_match('/\.htm|\.html|\.php|\.pl|\.cgi|\.exe$/i', $destfile) && empty($conf->global->MAIN_DOCUMENT_IS_OUTSIDE_WEBROOT_SO_NOEXE_NOT_REQUIRED)) { + $destfile .= '.noexe'; + } + + $images_name[] = $destfile; + } + + dol_syslog(__METHOD__.': upload_dir=' . $upload_dir . ' images=' . implode(',',$images_name) . ' product_id=' . $product->id, LOG_DEBUG); + + $photos = $product->liste_photos($upload_dir); + foreach ($photos as $index => $photo) { + if (! in_array($photo['photo'], $images_name, true)) { + unlink($upload_dir . $photo['photo']); + } + } + + return true; +} + +function ecommerceng_add_extrafields($db, $langs, $extrafields, &$error) { + $efields = new ExtraFields($db); + foreach ($extrafields as $extrafield) { + $result = $efields->addExtraField( + $extrafield['attrname'], + $langs->trans($extrafield['label']), + $extrafield['type'], + $extrafield['pos'], + $extrafield['size'], + $extrafield['elementtype'], + $extrafield['unique'], + $extrafield['required'], + $extrafield['default_value'], + $extrafield['param'], + $extrafield['alwayseditable'], + $extrafield['perms'], + $extrafield['list'] + ); + if ($result <= 0) { + $error = $efields->error; + return -1; + } + } +} + +function ecommerceng_update_woocommerce_dict_tax_class($db, $site) +{ + global $conf, $langs; + $langs->load('woocommerce@ecommerceng'); + + $eCommerceRemoteAccessWoocommerce = new eCommerceRemoteAccessWoocommerce($db, $site); + + if (!$eCommerceRemoteAccessWoocommerce->connect()) { + setEventMessages('', $this->errors, 'errors'); + return false; + } + + $taxClasses = $eCommerceRemoteAccessWoocommerce->getAllWoocommerceTaxClass(); + if ($taxClasses === false) { + setEventMessages('', $this->errors, 'errors'); + return false; + } + + $eCommerceDict = new eCommerceDict($db, MAIN_DB_PREFIX.'c_ecommerceng_tax_class'); + + // Get all tax class in dictionary for this entity and site + $dict_tax_classes = $eCommerceDict->search(['entity'=>['value'=>$conf->entity],'site_id'=>['value'=>$site->id]]); + + // Desactive code not found in woocommerce + foreach ($dict_tax_classes as $line) { + if (!isset($taxClasses[$line['code']])) { + // Desactive code + $result = $eCommerceDict->update(['active' => ['value' => 0]], ['rowid' => ['value' => $line['rowid']]]); + if ($result == false) { + setEventMessage($langs->trans('ECommerceWoocommerceErrorDisableDictTaxClass', $line['code'], $db->error()), 'errors'); + return false; + } + } else { + $taxClasses[$line['code']]['founded'] = true; + } + } + + // Add new code from woocommerce + foreach ($taxClasses as $taxClass) { + if (!isset($taxClass['founded'])) { + // Add new tax class code + $result = $eCommerceDict->insert(['site_id','code','label','entity','active'], ['site_id'=>['value'=>$site->id],'code'=>['value'=>$taxClass['slug'],'type'=>'string'],'label'=>['value'=>$taxClass['name'],'type'=>'string'],'entity'=>['value'=>$conf->entity],'active'=>['value'=>1]]); + if ($result == false) { + setEventMessage($langs->trans('ECommerceWoocommerceErrorAddDictTaxClass', $taxClass['slug'], $taxClass['name'], $db->error()), 'errors'); + return false; + } + } + } + + return true; +} + +function get_company_by_email($db, $email) +{ + $email = $db->escape($email); + + $sql = "SELECT s.rowid FROM " . MAIN_DB_PREFIX . "societe AS s"; + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "socpeople AS sp ON sp.fk_soc = s.rowid"; + $sql .= " WHERE s.email = '$email' OR sp.email = '$email'"; + $sql .= " GROUP BY s.rowid"; + + $resql = $db->query($sql); + if ($resql) { + $num = $db->num_rows($resql); + if ($num > 1) { + $result = -2; + } elseif ($num) { + $obj = $db->fetch_object($resql); + $result = $obj->rowid; + } else { + $result = 0; + } + + $db->free($resql); + } else { + $result = -1; + } + + return $result; +} \ No newline at end of file diff --git a/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php b/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php new file mode 100755 index 0000000..1ed3b56 --- /dev/null +++ b/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php @@ -0,0 +1,96 @@ +baseApiUri = new Uri('https://addresse_de_votre_site_wordpress'); + } + } +/* + // LDR CHANGE Add approval_prompt to force the prompt if value is set to 'force' so it force return of a "refresh token" in addition to "standard token" + public $approvalPrompt='auto'; + public function setApprouvalPrompt($prompt) + { + if (!in_array($prompt, array('auto', 'force'), true)) { + // @todo Maybe could we rename this exception + throw new InvalidAccessTypeException('Invalid approuvalPrompt, expected either auto or force.'); + } + $this->approvalPrompt = $prompt; + }*/ + + /** + * {@inheritdoc} + */ + public function getAuthorizationEndpoint() + { + return new Uri(sprintf('%s/oauth/authorize', $this->baseApiUri)); + } + + /** + * {@inheritdoc} + */ + public function getAccessTokenEndpoint() + { + return new Uri(sprintf('%s/oauth/token', $this->baseApiUri)); + } + + /** + * {@inheritdoc} + */ + protected function getAuthorizationMethod() + { + return static::AUTHORIZATION_METHOD_HEADER_BEARER; + } + + /** + * {@inheritdoc} + */ + protected function parseAccessTokenResponse($responseBody) + { + $data = json_decode($responseBody, true); + + if (null === $data || !is_array($data)) { + throw new TokenResponseException('Unable to parse response: "'.(isset($responseBody)?$responseBody:'NULL').'"'); + } elseif (isset($data['error'])) { + throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '"'); + } + + $token = new StdOAuth2Token(); + $token->setAccessToken($data['access_token']); + $token->setLifetime($data['expires_in']); + + if (isset($data['refresh_token'])) { + $token->setRefreshToken($data['refresh_token']); + unset($data['refresh_token']); + } + + unset($data['access_token']); + unset($data['expires_in']); + + $token->setExtraParams($data); + + return $token; + } +} diff --git a/htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.key.sql b/htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.key.sql new file mode 100644 index 0000000..ecfdfa6 --- /dev/null +++ b/htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.key.sql @@ -0,0 +1,19 @@ +-- =================================================================== +-- Copyright (C) 2011 Auguria +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- =================================================================== + +ALTER TABLE llx_c_ecommerceng_tax_class ADD UNIQUE INDEX uk_c_ecommerceng_tax_class_site_id_code_entity(site_id,code,entity); diff --git a/htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.sql b/htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.sql new file mode 100644 index 0000000..845d266 --- /dev/null +++ b/htdocs/ecommerceng/sql/llx_c_ecommerceng_tax_class.sql @@ -0,0 +1,27 @@ +-- =================================================================== +-- Copyright (C) 2011 Auguria +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- =================================================================== + +create table llx_c_ecommerceng_tax_class +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + site_id integer NOT NULL, + code varchar(255) NOT NULL, + label varchar(255) NOT NULL, + entity integer DEFAULT 1, + active tinyint DEFAULT 1 NOT NULL +) ENGINE=InnoDB; diff --git a/htdocs/ecommerceng/sql/update_oauth.sql b/htdocs/ecommerceng/sql/update_oauth.sql new file mode 100644 index 0000000..c88ab46 --- /dev/null +++ b/htdocs/ecommerceng/sql/update_oauth.sql @@ -0,0 +1,2 @@ +ALTER TABLE llx_ecommerce_site ADD COLUMN oauth_id varchar(255) NULL after user_password; +ALTER TABLE llx_ecommerce_site ADD COLUMN oauth_secret varchar(255) NULL after oauth_id; diff --git a/htdocs/ecommerceng/sql/update_pricetype.sql b/htdocs/ecommerceng/sql/update_pricetype.sql new file mode 100644 index 0000000..e297379 --- /dev/null +++ b/htdocs/ecommerceng/sql/update_pricetype.sql @@ -0,0 +1 @@ +ALTER TABLE llx_ecommerce_site CHANGE COLUMN magento_price_type ecommerce_price_type VARCHAR(3) NOT NULL DEFAULT 'HT'; diff --git a/htdocs/ecommerceng/sql/update_woocommerce2.sql b/htdocs/ecommerceng/sql/update_woocommerce2.sql deleted file mode 100644 index 436010c..0000000 --- a/htdocs/ecommerceng/sql/update_woocommerce2.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE llx_ecommerce_site MODIFY price_level integer NULL DEFAULT 1; From 6dfc9fe6e51e52496d4a29b367f4835ef82bbbe7 Mon Sep 17 00:00:00 2001 From: KHELIFA Date: Fri, 10 Nov 2017 17:53:53 +0100 Subject: [PATCH 06/16] Mise a jour du changelog --- htdocs/ecommerceng/ChangeLog.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/htdocs/ecommerceng/ChangeLog.md b/htdocs/ecommerceng/ChangeLog.md index cadd7d9..80c5597 100644 --- a/htdocs/ecommerceng/ChangeLog.md +++ b/htdocs/ecommerceng/ChangeLog.md @@ -1,5 +1,33 @@ # ChangeLog +## 4.0.1.0 + +- Ajout OAuth2 pour Wordpress +- Mise en commun du type de prix renvoyé par la boutique (HT / TTC) +- Lien de test en fonction du type du site +- Creation de champ complémentaire à l'ajout d'un site Woocommerce +- Ajout de la gestion des classes de TVA Woocommerce pour les produits + Dictionnaire +- Ajout des fonctions de recherche, insert et update à la classe eCommerceDict +- Ajout et modification de traductions +- Corrections du decodage de la reponse de l'API Woocommerce +- Ajout de la synchronisation du produit lors de l'ajout de la catégorie mère "E-Commerce" (Trigger) +- Ne synchronise pas le produit lorsque l'on envèle la catégorie mère "E-Commerce" (Trigger) +- Creation du produit sur le site depuis dolibarr (Trigger) +- Correction du statut réel de la commande lors de la synchro de Dolibarr vers E-Commerce (Trigger) +- Ajout test connection a l'appel de la fonction connect de la classe remote access de Woocommerce +- Correction de la gestion des dates lors des fonctions ToUpdate de Woocommerce +- Modification gestion des tiers (avec recherche doublon par email, nom, ...) et distinctions entreprise/particulier +- Modification gestion des contacts/adresses avec recherche doublon +- Modification gestion des catégories avec recherche doublon +- Modification de mise a jour du prix du produit +- Ajout de gestion des extrafields sur les produits et commandes +- Ajout de la synchro methode de paiment sur la commande dans la synchro E-Commerce vers Dolibarr +- Ajout ECOMMERCENG_WOOCOMMERCE_FORCE_ORDER_STATUS_TO_DRAFT pour forcer le statut de la commande en brouillon lors de la synchro Woocommerce vers Dolibarr- Ajout de la possibilité d'ignorer les commandes anonyme avec la variable ECOMMERCENG_PASS_ORDER_FOR_NONLOGGED_CUSTOMER +- Ajout synchronisation des images avec E-commerce (possibilité de l'activer avec la variable ECOMMERCENG_ENABLE_SYNCHRO_IMAGES) (Necessite paramétrage OAuth2 pour l'envoi des images vers Woocommerce) +- Ajout envoie PDF facture / expedition à la génération du PDF sur la commande Woocommerce via Wordpress (Necessite paramétrage OAuth2) (l'activer avec la variable ECOMMERCENG_ENABLE_SEND_FILE_TO_ORDER) +- Ajout synchro des catégories de Woocommerce vers Dolibarr +- Corrections diverses + ## 3.9.1.0 - Add option ECOMMERCENG_THIRDPARTY_UNIQUE_ON to search existing thirdparties from email instead of name. From d422b9a68121b63d40020a2850583ea357c5b505 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 02:38:41 +0100 Subject: [PATCH 07/16] Update eCommerceSynchro.class.php --- htdocs/ecommerceng/class/business/eCommerceSynchro.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 0cbd9ab..78b72fa 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -761,7 +761,7 @@ public function synchCategory($toNb=0) $counter++; if ($toNb > 0 && $counter > $toNb) break; - dol_syslog("synchCategory Process sync of magento category remote_id=".$categoryArray['category_id']." name=".$categoryArray['name']." remote parent_id=".$categoryArray['parent_id']); + dol_syslog("synchCategory Process sync of ecommerce category remote_id=".$categoryArray['category_id']." name=".$categoryArray['name']." remote parent_id=".$categoryArray['parent_id']); $this->db->begin(); From cc60da2748ee156f61c3404e20f4510fd108fe80 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 03:14:08 +0100 Subject: [PATCH 08/16] Comment code i am no sure --- .../class/business/eCommerceSynchro.class.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 78b72fa..d513b6b 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -774,7 +774,10 @@ public function synchCategory($toNb=0) // Now $this->eCommerceMotherCategory contains the mother category or null // if fetch on eCommerceMotherCategory has failed, it is root - if ($motherExists < 1 && ($this->eCommerceMotherCategory->fetchByFKCategory($this->eCommerceSite->fk_cat_product, $this->eCommerceSite->id) < 0)) + /* Disable automatic creation in dolibarr of link to parent into table of links + because, we can't know what is the parent. Here code suppose it is the root category defined into setup + but we may have several levels + if ($motherExists < 1 && ($this->eCommerceMotherCategory->fetchByFKCategory($this->eCommerceSite->fk_cat_product, $this->eCommerceSite->id) < 0)) { // get the importRootCategory of Dolibarr set for the eCommerceSite $dBCategorie->fetch($this->eCommerceSite->fk_cat_product); @@ -791,7 +794,8 @@ public function synchCategory($toNb=0) // Create an entry to map importRootCategory in eCommerceCategory $this->eCommerceMotherCategory->create($this->user); - } + } */ + $eCommerceCatExists = $this->eCommerceCategory->fetchByRemoteId($categoryArray['category_id'], $this->eCommerceSite->id); if ($this->eCommerceCategory->fk_category > 0) @@ -836,7 +840,8 @@ public function synchCategory($toNb=0) } else { - if ($dBCategorie->already_exists()) { + /* Disabled, not sure this is good/required + if ($dBCategorie->already_exists()) { $cats = $dBCategorie->rechercher('', $dBCategorie->label, $dBCategorie->type, true, true); foreach ($cats as $cat) { if ($cat->fk_parent == $dBCategorie->fk_parent) { @@ -844,9 +849,9 @@ public function synchCategory($toNb=0) $result = $dBCategorie->update($this->user); } } - } else { + } else { */ $result = $dBCategorie->create($this->user); - } + /* } */ } // if synchro category ok if ($result >= 0) From 0489e6340814b26c1da53a7f21e85ef5d9a4c087 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 03:25:32 +0100 Subject: [PATCH 09/16] Update eCommerceSynchro.class.php --- htdocs/ecommerceng/class/business/eCommerceSynchro.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index d513b6b..4c5f0c7 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -1038,8 +1038,8 @@ public function synchSociete($toNb=0) if (isset($societeArray['email'])) $dBSociete->email = $societeArray['email']; if (isset($societeArray['vatnumber'])) { $dBSociete->tva_intra = $societeArray['vatnumber']; - $dBSociete->tva_assuj = 1; // tba_intra is not saved if this field is not set } + $dBSociete->tva_assuj = 1; // tva_intra is not saved if this field is not set $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $result = $dBSociete->update($dBSociete->id, $this->user); From b57cabdbf97441ef47e647080f258e3021d203f9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 03:32:02 +0100 Subject: [PATCH 10/16] tva_assuj to 1 by default --- htdocs/ecommerceng/class/business/eCommerceSynchro.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 4c5f0c7..4f6f954 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -1107,8 +1107,8 @@ public function synchSociete($toNb=0) if (isset($societeArray['email'])) $dBSociete->email = $societeArray['email']; if (isset($societeArray['vatnumber'])) { $dBSociete->tva_intra = dol_trunc($societeArray['vatnumber'], 20, 'right', 'UTF-8', 1); - $dBSociete->tva_assuj = 1; // tva_intra is not saved if this field is not set } + $dBSociete->tva_assuj = 1; // tva_intra is not saved if this field is not set $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $dBSociete->code_client = -1; // Automatic code $dBSociete->code_fournisseur = -1; // Automatic code From 7fb21302f75ef6dd7ee5f4dee22f92006b3eba25 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 03:41:45 +0100 Subject: [PATCH 11/16] Restore ECOMMERCENG_THIRDPARTY_UNIQUE_ON to decide what is unique key (name or email) of thirdparty --- .../class/business/eCommerceSynchro.class.php | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 4f6f954..3f12d42 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -1060,6 +1060,7 @@ public function synchSociete($toNb=0) else { $result = 0; + // First, we check object does not alreay exists. If not, we create it, if it exists, do nothing. if (isset($societeArray['email_key']) && !empty($societeArray['email_key'])) { // Search into email company and contact @@ -1071,8 +1072,39 @@ public function synchSociete($toNb=0) } if ($result < 1 && (!isset($societeArray['type']) || $societeArray['type'] == 'company')) { - // Search for the company name - $result = $dBSociete->fetch(0, $societeArray['name']); + + $unicity='name'; + if (! empty($conf->global->ECOMMERCENG_THIRDPARTY_UNIQUE_ON) && $conf->global->ECOMMERCENG_THIRDPARTY_UNIQUE_ON == 'email') + { + $unicity='email'; + } + + // If unicity is on NAME + if ($unicity == 'name') + { + $result = $dBSociete->fetch(0, $societeArray['name']); + } + // If unicity is on EMAIL + if ($unicity == 'email') + { + $sql = 'SELECT s.rowid FROM '.MAIN_DB_PREFIX."societe as s where email = '".$this->db->escape($societeArray['email'])."'"; + $resqlid = $this->db->query($sql); + if ($resqlid) + { + $obj = $this->db->fetch_object($resqlid); + if ($obj) + { + $thirdpartyid = $obj->rowid; + $result = $dBSociete->fetch(0, $thirdpartyid); + } + } + else + { + $error++; + $this->error='Error in getting id from email.'; + $this->errors[]=$this->error; + } + } } if ($result == -2) { From 693355e8e36cb508e53bfd2fcee7618fe94ef132 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 03:43:47 +0100 Subject: [PATCH 12/16] Update eCommerceSynchro.class.php --- htdocs/ecommerceng/class/business/eCommerceSynchro.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 3f12d42..27d7ee0 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -1164,8 +1164,8 @@ public function synchSociete($toNb=0) if (isset($societeArray['email'])) $dBSociete->email = $societeArray['email']; if (isset($societeArray['vatnumber'])) { $dBSociete->tva_intra = $societeArray['vatnumber']; - $dBSociete->tva_assuj = 1; // tba_intra is not saved if this field is not set } + $dBSociete->tva_assuj = 1; // tva_intra is not saved if this field is not set $dBSociete->context['fromsyncofecommerceid'] = $this->eCommerceSite->id; $result = $dBSociete->update($dBSociete->id, $this->user); From 86be89ac9878283dd39692073e44dbd1a578c23a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 11 Nov 2017 04:04:08 +0100 Subject: [PATCH 13/16] Restore ability to get price base type from remote ecommerce instead of setup --- .../class/business/eCommerceSynchro.class.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php index 27d7ee0..3dc3d74 100644 --- a/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php +++ b/htdocs/ecommerceng/class/business/eCommerceSynchro.class.php @@ -1613,16 +1613,19 @@ public function synchProduct($toNb=0) $tax_rate_org = $dBProduct->multiprices_tva_tx[$price_level]; } - if ($price_base_type_org != $this->eCommerceSite->ecommerce_price_type || + $price_base_type = $this->eCommerceSite->ecommerce_price_type; + if (isset($productArray['price_base_type'])) $price_base_type = $productArray['price_base_type']; + + if ($price_base_type_org != $price_base_type || $price_org != $productArray['price'] || (isset($productArray['price_min']) && $price_min_org != $productArray['price_min']) || price2num((float) $productArray['tax_rate']) != price2num((float) $tax_rate_org) ) { // The price type from eCommerce is defined for the site: TI/TE (Tax Include / Tax Excluded) if (empty($conf->global->PRODUIT_MULTIPRICES)) { - $dBProduct->updatePrice($productArray['price'], $this->eCommerceSite->ecommerce_price_type, $this->user, $productArray['tax_rate'], $productArray['price_min']); + $dBProduct->updatePrice($productArray['price'], $price_base_type, $this->user, $productArray['tax_rate'], $productArray['price_min']); } else { - $dBProduct->updatePrice($productArray['price'], $this->eCommerceSite->ecommerce_price_type, $this->user, $productArray['tax_rate'], $productArray['price_min'], $price_level); + $dBProduct->updatePrice($productArray['price'], $price_base_type, $this->user, $productArray['tax_rate'], $productArray['price_min'], $price_level); } } } From 673f19b101b576d23436ea248792c210fcaa69d1 Mon Sep 17 00:00:00 2001 From: KHELIFA Date: Mon, 11 Dec 2017 10:10:12 +0100 Subject: [PATCH 14/16] Module ECommerceNG: Corrections mineures --- htdocs/ecommerceng/admin/eCommerceSetup.php | 41 ++++++++++++++----- .../core/modules/modECommerceNg.class.php | 2 +- .../modules/oauth/wordpress_oauthcallback.php | 4 +- .../OAuth/OAuth2/Service/WordPress.php | 2 +- 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/htdocs/ecommerceng/admin/eCommerceSetup.php b/htdocs/ecommerceng/admin/eCommerceSetup.php index 2267b6d..32d8747 100644 --- a/htdocs/ecommerceng/admin/eCommerceSetup.php +++ b/htdocs/ecommerceng/admin/eCommerceSetup.php @@ -155,10 +155,29 @@ if ($siteDb->type == 2) { // Woocommerce $result = ecommerceng_add_extrafields($db, $langs, [ [ + 'attrname' => "ecommerceng_wc_status_{$siteDb->id}_{$conf->entity}", + 'label' => $langs->trans('ECommercengWoocommerceStatus', $siteDb->name), + 'type' => 'select', + 'pos' => 1, + 'size' => '', + 'elementtype' => 'product', + 'unique' => 0, + 'required' => 0, + 'default_value' => '', + 'param' => array('options' => array( + "draft" => $langs->trans('ECommercengWoocommerceStatusDraft', $siteDb->name), + "pending" => $langs->trans('ECommercengWoocommerceStatusPending', $siteDb->name), + "private" => $langs->trans('ECommercengWoocommerceStatusPrivate', $siteDb->name), + "publish" => $langs->trans('ECommercengWoocommerceStatusPublish', $siteDb->name), + )), + 'alwayseditable' => 1, + 'perms' => '', + 'list' => 0, + ],[ 'attrname' => "ecommerceng_description_{$conf->entity}", 'label' => 'ECommercengWoocommerceDescription', 'type' => 'text', - 'pos' => 1, + 'pos' => 2, 'size' => '', 'elementtype' => 'product', 'unique' => 0, @@ -173,7 +192,7 @@ 'attrname' => "ecommerceng_short_description_{$conf->entity}", 'label' => 'ECommercengWoocommerceShortDescription', 'type' => 'text', - 'pos' => 2, + 'pos' => 3, 'size' => '', 'elementtype' => 'product', 'unique' => 0, @@ -188,7 +207,7 @@ 'attrname' => "ecommerceng_tax_class_{$siteDb->id}_{$conf->entity}", 'label' => $langs->trans('ECommercengWoocommerceTaxClass', $siteDb->name), 'type' => 'sellist', - 'pos' => 3, + 'pos' => 4, 'size' => '', 'elementtype' => 'product', 'unique' => 0, @@ -306,13 +325,15 @@ $ecommerceType = ($_POST['ecommerce_type'] ? $_POST['ecommerce_type'] : intval($siteDb->type)); $ecommerceWebserviceAddress = ($_POST['ecommerce_webservice_address'] ? $_POST['ecommerce_webservice_address'] : $siteDb->webservice_address); $ecommerceWebserviceAddressTest = ''; -switch ($ecommerceType) { - case 1: // Magento - $ecommerceWebserviceAddressTest = $ecommerceWebserviceAddress .(substr($ecommerceWebserviceAddress, -1, 1)!='/'?'/':''). 'api/?wsdl'; - break; - case 2: // Woocommerce - $ecommerceWebserviceAddressTest = $ecommerceWebserviceAddress .(substr($ecommerceWebserviceAddress, -1, 1)!='/'?'/':''). 'wp-json/'; - break; +if (!empty($ecommerceWebserviceAddress)) { + switch ($ecommerceType) { + case 1: // Magento + $ecommerceWebserviceAddressTest = $ecommerceWebserviceAddress .(substr($ecommerceWebserviceAddress, -1, 1)!='/'?'/':''). 'api/?wsdl'; + break; + case 2: // Woocommerce + $ecommerceWebserviceAddressTest = $ecommerceWebserviceAddress .(substr($ecommerceWebserviceAddress, -1, 1)!='/'?'/':''). 'wp-json/'; + break; + } } $ecommerceUserName = ($_POST['ecommerce_user_name'] ? $_POST['ecommerce_user_name'] : $siteDb->user_name); $ecommerceUserPassword = ($_POST['ecommerce_user_password'] ? $_POST['ecommerce_user_password'] : $siteDb->user_password); diff --git a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php index 016193f..d2c8411 100644 --- a/htdocs/ecommerceng/core/modules/modECommerceNg.class.php +++ b/htdocs/ecommerceng/core/modules/modECommerceNg.class.php @@ -60,7 +60,7 @@ function __construct($db) $this->editor_url = 'http://www.teclib.com'; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version - $this->version = '4.0.1'; + $this->version = '4.0.2'; // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) diff --git a/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php b/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php index 179ac40..3e1fcbb 100644 --- a/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php +++ b/htdocs/ecommerceng/core/modules/oauth/wordpress_oauthcallback.php @@ -38,7 +38,7 @@ use OAuth\Common\Storage\DoliStorage; use OAuth\Common\Consumer\Credentials; use OAuth\Common\Http\Uri\Uri; -use OAuth\Common\Http\Client\CurlClientEx; +use OAuth\Common\Http\Client\CurlClient; use OAuth\OAuth2\Service\WordPress; // Define $urlwithroot @@ -76,7 +76,7 @@ /** @var $serviceFactory \OAuth\ServiceFactory An OAuth service factory. */ $serviceFactory = new \OAuth\ServiceFactory(); -$httpClient = new CurlClientEx(); +$httpClient = new CurlClient(); // TODO Set options for proxy and timeout // $params=array('CURLXXX'=>value, ...) //$httpClient->setCurlParameters($params); diff --git a/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php b/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php index 1ed3b56..f4fc920 100755 --- a/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php +++ b/htdocs/ecommerceng/patchs/dolibarr/includes/OAuth/OAuth2/Service/WordPress.php @@ -74,7 +74,7 @@ protected function parseAccessTokenResponse($responseBody) if (null === $data || !is_array($data)) { throw new TokenResponseException('Unable to parse response: "'.(isset($responseBody)?$responseBody:'NULL').'"'); } elseif (isset($data['error'])) { - throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '"'); + throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '" : "'.$data['error_description'].'"'); } $token = new StdOAuth2Token(); From 1ea8f78469078d53bb82353b4de3f785a00949c6 Mon Sep 17 00:00:00 2001 From: kkhelifa-opendsi Date: Fri, 15 Dec 2017 16:40:23 +0100 Subject: [PATCH 15/16] Update ChangeLog.md --- htdocs/ecommerceng/ChangeLog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/htdocs/ecommerceng/ChangeLog.md b/htdocs/ecommerceng/ChangeLog.md index 80c5597..295a7ea 100644 --- a/htdocs/ecommerceng/ChangeLog.md +++ b/htdocs/ecommerceng/ChangeLog.md @@ -1,5 +1,12 @@ # ChangeLog +## 4.0.2.0 + +- D'un champ complémetaire oublié pour la fiche d'un produit d'un site woocommerce +- Affiche du lien de test sur les parametres du site que si l'adresse du site est renseigné +- Ajout de la description de l'erreur lors du fonctionnement de l'OAuth 2 +- Corrections mineures + ## 4.0.1.0 - Ajout OAuth2 pour Wordpress From 717c95cc6e39596fe40f942e4907ad5cb3da5d50 Mon Sep 17 00:00:00 2001 From: KHELIFA Date: Fri, 15 Dec 2017 17:58:32 +0100 Subject: [PATCH 16/16] =?UTF-8?q?Module=20ECommerceNG:=20-=20Enregistre=20?= =?UTF-8?q?la=20soci=C3=A9t=C3=A9=20pour=20les=20clients=20anonymes=20pour?= =?UTF-8?q?=20chaque=20site=20et=20non=20dans=20l'option=20ECOMMERCENG=5FU?= =?UTF-8?q?SE=5FTHIS=5FTHIRDPARTY=5FFOR=5FNONLOGGED=5FCUSTOMER=20-=20Corre?= =?UTF-8?q?ction=20de=20la=20quantit=C3=A9s=20des=20=C3=A9l=C3=A9ments=20l?= =?UTF-8?q?i=C3=A9=20au=20site=20pour=20la=20fiche=20du=20site=20(en=20non?= =?UTF-8?q?=20pour=20tous=20les=20sites)=20-=20Ajout=20d'une=20option=20EC?= =?UTF-8?q?OMMERCENG=5FNO=5FCOUNT=5FUPDATE=20pour=20ne=20pas=20r=C3=A9cup?= =?UTF-8?q?=C3=A9rer=20les=20quantit=C3=A9s=20=C3=A0=20mettre=20=C3=A0=20j?= =?UTF-8?q?our=20et=20afficher=20tous=20les=20boutons=20de=20synchronisati?= =?UTF-8?q?on=20sur=20la=20fiche=20du=20site.=20-=20Correction=20de=20la?= =?UTF-8?q?=20recherche=20de=20correspondance=20lors=20de=20la=20synchro?= =?UTF-8?q?=20des=20cat=C3=A9gories=20-=20Correction=20de=20la=20r=C3=A9cu?= =?UTF-8?q?p=C3=A9ration=20des=20produits=20et=20de=20ses=20variantes=20-?= =?UTF-8?q?=20Correction=20de=20la=20recherche=20de=20la=20ref=20du=20prod?= =?UTF-8?q?uits=20dans=20Dolibarr=20lors=20de=20la=20synchro=20-=20Ne=20re?= =?UTF-8?q?-t=C3=A9l=C3=A9charge=20pas=20les=20informations=20du=20client?= =?UTF-8?q?=20pour=20recup=C3=A9rer=20les=20adresses=20du=20clients=20lors?= =?UTF-8?q?=20de=20la=20synchro=20des=20soci=C3=A9t=C3=A9s=20-=20Lors=20de?= =?UTF-8?q?=20la=20synchro=20des=20contacts,=20rempli=20le=20nom=20si=20vi?= =?UTF-8?q?de=20par=20"\[nom=20non=20renseign=C3=A9\]"=20ou=20"Pas=20de=20?= =?UTF-8?q?nom/pr=C3=A9nom=20renseign=C3=A9"=20en=20fonction=20des=20cas?= =?UTF-8?q?=20-=20Similaire=20pour=20les=20nom=20des=20tiers=20-=20Ajout?= =?UTF-8?q?=20de=20l'option=20ECOMMERCENG=5FWOOCOMMERCE=5FORDER=5FPROCESSI?= =?UTF-8?q?NG=5FSTATUS=5FTO=5FDRAFT=20pour=20ne=20forcer=20les=20commandes?= =?UTF-8?q?=20woocommerce=20au=20statut=20"En=20cours"=20redescende=20au?= =?UTF-8?q?=20statut=20"Brouillon"=20dans=20Dolibarr=20-=20Les=20commandes?= =?UTF-8?q?=20woocommerce=20au=20statut=20"Rembours=C3=A9es"=20redescende?= =?UTF-8?q?=20au=20statut=20"Annul=C3=A9e"=20dans=20Dolibarr=20-=20Definie?= =?UTF-8?q?=20la=20description=20d'une=20ligne=20de=20produit=20vide=20par?= =?UTF-8?q?=20"L'api=20n'a=20pas=20pu=20r=C3=A9cup=C3=A9rer=20la=20descrip?= =?UTF-8?q?tion=20du=20produit"=20-=20Cherche=20la=20societe=20du=20contac?= =?UTF-8?q?t=20d'une=20commande=20par=20son=20adresse=20mail=20si=20fourni?= =?UTF-8?q?=20pour=20les=20commandes=20anonymes=20-=20Correction=20de=20la?= =?UTF-8?q?=20recherche=20d'un=20contact=20par=20ses=20informations=20-=20?= =?UTF-8?q?Correction=20d'une=20partie=20de=20la=20gestion=20des=20erreurs?= =?UTF-8?q?=20-=20Les=20logs=20bas=20niveaux=20woocommerce=20sont=20au=20n?= =?UTF-8?q?iveau=20DEBUG=20et=20plus=20au=20niveau=20INFO=20-=20Correction?= =?UTF-8?q?s=20mineures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/ecommerceng/ChangeLog.md | 27 ++ htdocs/ecommerceng/admin/eCommerceSetup.php | 5 +- .../admin/tpl/eCommerceSetup.tpl.php | 4 +- .../class/business/eCommerceSynchro.class.php | 168 ++++++--- .../class/data/eCommerceCategory.class.php | 2 +- .../class/data/eCommerceSite.class.php | 42 ++- ...eCommerceRemoteAccessWoocommerce.class.php | 357 +++++++++--------- .../core/modules/modECommerceNg.class.php | 5 +- htdocs/ecommerceng/langs/en_US/ecommerce.lang | 4 + .../ecommerceng/langs/en_US/woocommerce.lang | 5 + htdocs/ecommerceng/langs/fr_FR/ecommerce.lang | 4 +- .../ecommerceng/langs/fr_FR/woocommerce.lang | 5 + htdocs/ecommerceng/lib/eCommerce.lib.php | 6 +- htdocs/ecommerceng/site.php | 10 +- htdocs/ecommerceng/sql/llx_ecommerce_site.sql | 1 - .../sql/update_anonymous_thirdparty.sql | 1 + htdocs/ecommerceng/tpl/site.tpl.php | 22 +- 17 files changed, 405 insertions(+), 263 deletions(-) create mode 100644 htdocs/ecommerceng/sql/update_anonymous_thirdparty.sql diff --git a/htdocs/ecommerceng/ChangeLog.md b/htdocs/ecommerceng/ChangeLog.md index 80c5597..888c674 100644 --- a/htdocs/ecommerceng/ChangeLog.md +++ b/htdocs/ecommerceng/ChangeLog.md @@ -1,5 +1,32 @@ # ChangeLog +## 4.0.3.0 + +- Enregistre la société pour les clients anonymes pour chaque site et non dans l'option ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER +- Correction de la quantités des éléments lié au site pour la fiche du site (en non pour tous les sites) +- Ajout d'une option ECOMMERCENG_NO_COUNT_UPDATE pour ne pas récupérer les quantités à mettre à jour et afficher tous les boutons de synchronisation sur la fiche du site. +- Correction de la recherche de correspondance lors de la synchro des catégories +- Correction de la récupération des produits et de ses variantes +- Correction de la recherche de la ref du produits dans Dolibarr lors de la synchro +- Ne re-télécharge pas les informations du client pour recupérer les adresses du clients lors de la synchro des sociétés +- Lors de la synchro des contacts, rempli le nom si vide par "\[nom non renseigné\]" ou "Pas de nom/prénom renseigné" en fonction des cas +- Similaire pour les nom des tiers +- Ajout de l'option ECOMMERCENG_WOOCOMMERCE_ORDER_PROCESSING_STATUS_TO_DRAFT pour ne forcer les commandes woocommerce au statut "En cours" redescende au statut "Brouillon" dans Dolibarr +- Les commandes woocommerce au statut "Remboursées" redescende au statut "Annulée" dans Dolibarr +- Definie la description d'une ligne de produit vide par "L'api n'a pas pu récupérer la description du produit" +- Cherche la societe du contact d'une commande par son adresse mail si fourni pour les commandes anonymes +- Correction de la recherche d'un contact par ses informations +- Correction d'une partie de la gestion des erreurs +- Les logs bas niveaux woocommerce sont au niveau DEBUG et plus au niveau INFO +- Corrections mineures + +## 4.0.2.0 + +- D'un champ complémetaire oublié pour la fiche d'un produit d'un site woocommerce +- Affiche du lien de test sur les parametres du site que si l'adresse du site est renseigné +- Ajout de la description de l'erreur lors du fonctionnement de l'OAuth 2 +- Corrections mineures + ## 4.0.1.0 - Ajout OAuth2 pour Wordpress diff --git a/htdocs/ecommerceng/admin/eCommerceSetup.php b/htdocs/ecommerceng/admin/eCommerceSetup.php index 32d8747..21595a5 100644 --- a/htdocs/ecommerceng/admin/eCommerceSetup.php +++ b/htdocs/ecommerceng/admin/eCommerceSetup.php @@ -127,6 +127,7 @@ $siteDb->filter_value = $_POST['ecommerce_filter_value']; $siteDb->fk_cat_societe = $_POST['ecommerce_fk_cat_societe']; $siteDb->fk_cat_product = $_POST['ecommerce_fk_cat_product']; + $siteDb->fk_anonymous_thirdparty = $_POST['ecommerce_fk_anonymous_thirdparty']>0?$_POST['ecommerce_fk_anonymous_thirdparty']:null; $siteDb->fk_warehouse = $_POST['ecommerce_fk_warehouse']; $siteDb->stock_sync_direction = $_POST['ecommerce_stock_sync_direction']; $siteDb->last_update = $_POST['ecommerce_last_update']; @@ -137,9 +138,6 @@ $siteDb->oauth_id = $_POST['ecommerce_oauth_id']; $siteDb->oauth_secret = $_POST['ecommerce_oauth_secret']; - // TODO Save this into table of ecommerce_site, field fk_thirdparty instead of global var. - dolibarr_set_const($db, 'ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER', GETPOST('ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER','int')); - $result = 0; if (intval($_POST['ecommerce_id'])) { @@ -342,6 +340,7 @@ $ecommerceFilterValue = ($_POST['ecommerce_filter_value'] ? $_POST['ecommerce_filter_value'] : $siteDb->filter_value); $ecommerceFkCatSociete = ($_POST['ecommerce_fk_cat_societe'] ? $_POST['ecommerce_fk_cat_societe'] : intval($siteDb->fk_cat_societe)); $ecommerceFkCatProduct = ($_POST['ecommerce_fk_cat_product'] ? $_POST['ecommerce_fk_cat_product'] : intval($siteDb->fk_cat_product)); +$ecommerceFkAnonymousThirdparty = ($_POST['ecommerce_fk_anonymous_thirdparty'] ? $_POST['ecommerce_fk_anonymous_thirdparty'] : intval($siteDb->fk_anonymous_thirdparty)); $ecommerceFkWarehouse = ($_POST['ecommerce_fk_warehouse'] ? $_POST['ecommerce_fk_warehouse'] : intval($siteDb->fk_warehouse)); $ecommerceStockSyncDirection = ($_POST['ecommerce_stock_sync_direction'] ? $_POST['ecommerce_stock_sync_direction'] : $siteDb->stock_sync_direction); $ecommerceMagentoUseSpecialPrice = ($_POST['ecommerce_magento_use_special_price'] ? $_POST['ecommerce_magento_use_special_price'] : intval($siteDb->magento_use_special_price)); diff --git a/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php b/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php index 0c8455a..fa18c35 100644 --- a/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php +++ b/htdocs/ecommerceng/admin/tpl/eCommerceSetup.tpl.php @@ -146,9 +146,7 @@

trans('ThirdPartyForNonLoggedUsers') ?> - select_company($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER, 'ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER', '', 1); - ?> + select_company($ecommerceFkAnonymousThirdparty, 'ecommerce_fk_anonymous_thirdparty', '', 1); ?> trans('SynchUnkownCustomersOnThirdParty') ?>
'; print '
'; print $langs->trans("SynchUnkownCustomersOnThirdParty").' : '; $nonloggedthirdparty=new Societe($db); - $result = $nonloggedthirdparty->fetch($conf->global->ECOMMERCENG_USE_THIS_THIRDPARTY_FOR_NONLOGGED_CUSTOMER); + $result = $nonloggedthirdparty->fetch($site->fk_anonymous_thirdparty); print $nonloggedthirdparty->getNomUrl(1); print '
- 0) { ?> + 0||!empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> 0 && $nbCategoriesToUpdate>0) { + if ($nbProductToUpdate>0 && $nbCategoriesToUpdate>0&&empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> "> 0) { ?> + elseif ($nbProductToUpdate>0||!empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> - 0): ?> + 0||!empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)): ?> 0 && $nbSocieteToUpdate>0) { ?> + if ($nbCommandeToUpdate>0 && $nbSocieteToUpdate>0&&empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> "> - 0) { ?> + 0||!empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> - 0 && $nbSocieteToUpdate>0) { ?> + 0 && $nbSocieteToUpdate>0&&empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> "> - 0 && $nbCommandeToUpdate>0) { ?> + 0 && $nbCommandeToUpdate>0&&empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?> "> - 0) { ?> + 0||!empty($conf->global->ECOMMERCENG_NO_COUNT_UPDATE)) { ?>