From c2258f30dc19d4e45a071941dc4ff60137bf5378 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Tue, 25 Jul 2017 18:35:33 +0200 Subject: [PATCH] [ADD] module module_uninstall_check (#816) * [ADD] module module_uninstall_check * [ADD] database size information + [IMP] various. cortesy @jcdrubay * [IMP] make module working if model are present but code is not present * [FIX] pylint and readme rile * [FIX] flake8 * [FIX] pylint --- module_uninstall_check/README.rst | 103 ++++++++++ module_uninstall_check/__init__.py | 2 + module_uninstall_check/__openerp__.py | 23 +++ module_uninstall_check/demo/res_groups.xml | 15 ++ module_uninstall_check/i18n/fr.po | 188 ++++++++++++++++++ .../static/description/module_form.png | Bin 0 -> 29279 bytes .../sale_margin_uninstallation.png | Bin 0 -> 33592 bytes .../description/sale_uninstallation.png | Bin 0 -> 65718 bytes .../views/ir_module_module.xml | 22 ++ module_uninstall_check/wizards/__init__.py | 3 + module_uninstall_check/wizards/action.xml | 18 ++ .../wizards/wizard_module_uninstall.py | 117 +++++++++++ .../wizards/wizard_module_uninstall.xml | 49 +++++ .../wizards/wizard_module_uninstall_line.py | 122 ++++++++++++ 14 files changed, 662 insertions(+) create mode 100644 module_uninstall_check/README.rst create mode 100644 module_uninstall_check/__init__.py create mode 100644 module_uninstall_check/__openerp__.py create mode 100644 module_uninstall_check/demo/res_groups.xml create mode 100644 module_uninstall_check/i18n/fr.po create mode 100644 module_uninstall_check/static/description/module_form.png create mode 100644 module_uninstall_check/static/description/sale_margin_uninstallation.png create mode 100644 module_uninstall_check/static/description/sale_uninstallation.png create mode 100644 module_uninstall_check/views/ir_module_module.xml create mode 100644 module_uninstall_check/wizards/__init__.py create mode 100644 module_uninstall_check/wizards/action.xml create mode 100644 module_uninstall_check/wizards/wizard_module_uninstall.py create mode 100644 module_uninstall_check/wizards/wizard_module_uninstall.xml create mode 100644 module_uninstall_check/wizards/wizard_module_uninstall_line.py diff --git a/module_uninstall_check/README.rst b/module_uninstall_check/README.rst new file mode 100644 index 000000000..8cb99425e --- /dev/null +++ b/module_uninstall_check/README.rst @@ -0,0 +1,103 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============================ +Module Uninstallation Checks +============================ + +This module extends the functionality of base module, to improve modules +uninstallation process. + +It provides an extra view, on module form to display which models (SQL tables) +and which fields (SQL columns) will be dropped, if the selected module is +uninstalled. + +Technical Note +============== + +This module uses postgreSQL native column like reltuples in pg_class that +provides approximative rows quantity. To have a precise value, please +run first the following code: + +.. code-block:: sql + + REINDEX DATABASE my_database_name; + +Usage +===== + +To use this module, you need to: + +#. Go to Settings / Modules / Local Modules +#. Select an installed module +#. Click on the button 'Uninstallation Impact' + +.. figure:: /module_uninstall_check/static/description/module_form.png + :width: 800 px + +* Sample, selecting sale_margin module + +.. figure:: /module_uninstall_check/static/description/sale_margin_uninstallation.png + :width: 800 px + +* Sample, selecting sale_stock module, when sale_margin is installed + +.. figure:: /module_uninstall_check/static/description/sale_uninstallation.png + :width: 800 px + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/149/8.0 + +Known issues / Roadmap +====================== + +* In some cases, we want to uninstall a module, but prevent some data deletion. + This can happen if we want to keep some datas after uninstallation or if the + data moved into another module after a refactoring. + +This module could implement such feature, adding extra feature on wizard lines, +deleting or renaming xml ids. + +* For the time being, wizard displays size used for models in database. It + could be interesting to know the space released by the deletion of a column. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smash it by providing detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Sylvain LE GAL (https://twitter.com/legalsylvain) + +Funders +------- + +The development of this module has been financially supported by: + +* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop) + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. + diff --git a/module_uninstall_check/__init__.py b/module_uninstall_check/__init__.py new file mode 100644 index 000000000..943cefd96 --- /dev/null +++ b/module_uninstall_check/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import wizards diff --git a/module_uninstall_check/__openerp__.py b/module_uninstall_check/__openerp__.py new file mode 100644 index 000000000..9712c0575 --- /dev/null +++ b/module_uninstall_check/__openerp__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Module Uninstall Check", + "summary": "Add Extra Checks before uninstallation of modules", + "version": "8.0.1.0.0", + "category": "Base", + "website": "https://odoo-community.org/", + "author": "GRAP, Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "depends": [ + 'base', + ], + "data": [ + 'wizards/wizard_module_uninstall.xml', + 'wizards/action.xml', + 'views/ir_module_module.xml', + ], + "demo": [ + 'demo/res_groups.xml', + ], +} diff --git a/module_uninstall_check/demo/res_groups.xml b/module_uninstall_check/demo/res_groups.xml new file mode 100644 index 000000000..6b7ad574d --- /dev/null +++ b/module_uninstall_check/demo/res_groups.xml @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/module_uninstall_check/i18n/fr.po b/module_uninstall_check/i18n/fr.po new file mode 100644 index 000000000..242d155de --- /dev/null +++ b/module_uninstall_check/i18n/fr.po @@ -0,0 +1,188 @@ + +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * module_uninstall_check +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-20 20:14+0000\n" +"PO-Revision-Date: 2017-04-20 20:14+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: module_uninstall_check +#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form +msgid "Cancel" +msgstr "Cancel" + +#. module: module_uninstall_check +#: help:wizard.module.uninstall,module_id:0 +msgid "Choose a module. The wizard will display all the models and fields linked to that module, that will be dropped, if selected module is uninstalled.\n" +" Note : Only Non Transient items will be displayed" +msgstr "Choisissez un module. L'assistant va afficher tous les modèles et tous les champs associés à ce module, et qui seront supprimés, si le module sélectionné est désinstallé.\n" +" Note: Seulement les éléments persistants en base de données seront affichés" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,create_uid:0 +#: field:wizard.module.uninstall.line,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,create_date:0 +#: field:wizard.module.uninstall.line,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,display_name:0 +#: field:wizard.module.uninstall.line,display_name:0 +msgid "Display Name" +msgstr "Nom affiché" + +#. module: module_uninstall_check +#: selection:wizard.module.uninstall.line,type:0 +msgid "Field" +msgstr "Champ" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,field_model_name:0 +msgid "Field Model Name" +msgstr "Nom du modèle du champ" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,field_name:0 +msgid "Field Name" +msgstr "Nom du champ" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,field_ttype:0 +msgid "Field Type" +msgstr "Type du champ" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,field_id:0 +msgid "Field id" +msgstr "Field id" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,field_line_ids:0 +msgid "Field line ids" +msgstr "Field line ids" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,id:0 +#: field:wizard.module.uninstall.line,id:0 +msgid "ID" +msgstr "ID" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,module_ids:0 +msgid "Impacted modules" +msgstr "Modules impactés" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,module_qty:0 +msgid "Impacted modules Quantity" +msgstr "Nombre de modules impactés" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,__last_update:0 +#: field:wizard.module.uninstall.line,__last_update:0 +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,write_uid:0 +#: field:wizard.module.uninstall.line,write_uid:0 +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,write_date:0 +#: field:wizard.module.uninstall.line,write_date:0 +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: module_uninstall_check +#: selection:wizard.module.uninstall.line,type:0 +msgid "Model" +msgstr "Modèle" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,model_name:0 +msgid "Model Name" +msgstr "Nom du modèle" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,model_id:0 +msgid "Model id" +msgstr "Model id" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,model_line_ids:0 +msgid "Model line ids" +msgstr "Model line ids" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,module_id:0 +msgid "Module" +msgstr "Module" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall,module_name:0 +msgid "Module Name" +msgstr "Nom du module" + +#. module: module_uninstall_check +#: help:wizard.module.uninstall,module_ids:0 +msgid "Modules list that will be uninstalled by dependency" +msgstr "Liste des modules qui seront désinstallés par dépendance" + +#. module: module_uninstall_check +#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form +msgid "Related Fields" +msgstr "Champs associés" + +#. module: module_uninstall_check +#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form +msgid "Related Models" +msgstr "Modèle associés" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,model_row_qty:0 +msgid "Row Quantity" +msgstr "Nombre de lignes" + +#. module: module_uninstall_check +#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form +msgid "System Update" +msgstr "System Update" + +#. module: module_uninstall_check +#: view:wizard.module.uninstall:module_uninstall_check.view_wizard_module_uninstall_form +msgid "The following models and fields will be dropped if uninstallation of the selected module is done" +msgstr "Les modèles et les champs suivants seront supprimés si la désinstallation du module sélectionné est réalisé" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,type:0 +msgid "Type" +msgstr "Type" + +#. module: module_uninstall_check +#: model:ir.actions.act_window,name:module_uninstall_check.action_wizard_module_uninstall +#: view:ir.module.module:module_uninstall_check.view_ir_module_module_form +msgid "Uninstallation Impact" +msgstr "Impact de la désinstallation" + +#. module: module_uninstall_check +#: field:wizard.module.uninstall.line,wizard_id:0 +msgid "Wizard id" +msgstr "Wizard id" + diff --git a/module_uninstall_check/static/description/module_form.png b/module_uninstall_check/static/description/module_form.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3cf7d14b5a550362d7212683603e2de375f1a7 GIT binary patch literal 29279 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 literal 0 HcmV?d00001 diff --git a/module_uninstall_check/static/description/sale_margin_uninstallation.png b/module_uninstall_check/static/description/sale_margin_uninstallation.png new file mode 100644 index 0000000000000000000000000000000000000000..99cf3e9c66b42e3180cc6a520768b412299c83a6 GIT binary patch literal 33592 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 v8Pin@(ywCE?8H2P}$GsuSa$XqPoLwU8?_ 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 qZ2<{dF3^KsrB)Ait!6pO??(QC(;BEs9ZUYR? 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:qn^IxS2Mq=`)En0N}i&|H3tM-Y=^xQBm^Z)qfATIxH!S+8K^urRH}hHXu4 zB&LPhi<|4O^ZiLN$+Eif6#T4j1BzH6udP-9^O1)`45i&nsZYpthhF|7H1@NI9;V~F zZ_{;F=Zye9Wc;eU3uInav11_{(Pmj&(Wxs4pD`ZltU6D`F^-~$X8u#w7LmwxU^S82 zS3x2!n?<-A{y?o@fShKuqB?R$m~iR&a@m`@zv4!}^cnD(^$zE+xC3hfqz6~X&sHS~F^5z{5h*dy)^UzCQ%gBp8^f2fp6_wcmI2f5NmZTe-Pzg)d)*4ZnGW zl73wV^B=A1Zrs9#0h?eYrKr^mD@R7sO@sz&(}nWh^~4*y3R8HkFO#wz`iNk`cZjv&3+%eMwuSSFC-NzF)Khf-kE(zihSVY{W|;KA|Q! zr?_-8PqHPfDvj$a+nJr=tfKCj7;D7aBUaMLIr)#DdE91v3#pDiRBrmd6rAn%e2eC_ z4=w&P8D4~AO|fa_rn z`tDWA-SO`;n~iVpM$>}1->WD*Ln9Mo^FLshS1YAp~K3$zw{ z)6af_7aaV4b~OU9vDbR>4N22D0(esId%4`m7O%>>$catF?yd~%)C~Rtyk1R?WS71 zBszTszToL*7FYBh$5qmErN6RNW0KvheDy#(J8?v3^OEIXMP*J=q5L)zW=FavCZ2JjW%O?sa3)({@#4G{d>BEPij$F=C>t@nsb=D z8bo5a{ri%4?ABGJq_-FzEvdGC#?}Wp>?3|TAj~6FpHsl9H+Ln>e(sqSfZx2fH@5Xy zz7*TOx6uw6K_X`!ktWqV)p1>-_PMuu-%@Fap@=Tc5;4@ROmrclT!FZ@MUPcZBQV7X z?K#DL@BENapJEsHD`d5lEjx$8j#cJ2*FunoCvsK(yrZ_nJJpb!ag|SX^|h-P z%~snEM{e!?UhpUho<`hLYTpj06dGl19AjAVbgS>bU^tsKZ&^YFE+fyYR~w$UAeMU! zldcFndrX8~614Oi{nB23+bJCM^z#aQp1fVa?&nlZ#qI-(}>_4GO3 z;IvU+YD1&?rL?WGC$n1mq@}JlN`v6$+i=a>$4pzSuMN@|*7IW`L5&|v|Iz|f8+v@u7cmOBZBk4Qs!NR%I|q z-Vo?QTf6-nrVW)e)@ayScNpZ*DrNpF@M`rN_8Hxz+#I}Ic4l7DN6=N-`_Qx}0}zKT zSd@b4Wq#r(kBE-6KwVP2^Ki-Q3g%Y}(#^k`@^cYVdu&7Fy@#zVl;))n>4yz|P8WuE zgPYDgcC(?6sLG%_7@Kkp5ni^X{qT25I4sm)_gSkz=OZE!g_O{n#w8YJ2&6E1$LKm~ z*)2AQ^!`>FGQMI7i+)6j^F29ApD*@{JBUD-z~qr0Kw%EIXj+sP#Yt)>_(yGMZWR=x zN6zE^jdR4sm?9D3c%{zULFtb5XS?68H{mP>b^gCQ?M}mOxqq#f=Z~7Iy=Tv=XVGtp zTs#oK;|r^o-}WvL{E?C`-{eFjF*x7(632@@GTnt)S9gM(bhqiY7X)*HeNA~7r^wUG zu&YPBtDXOR`cbbbJnHTHQ}6Em(wyTt>p2~bm>D9u&f*|;6|UBG||BKIwtm+@XrD z%;BqqhIYdw<%?+wGwa9DBsH;cc&@mtHumZa5&DdYec065LvS=nN71-3oxSOu%`)%H zH`oUMI~Z$;nA6G}tn`05)DPEv>&LrqFnW59v-^y*t*DW1g=Z#lOXCA_KW1_jcaOAO zN0l8Ya{>J+o2IxT+$ZbKutUD10?F)FdqVk%)-@mRf zlCWQ-SYLu#bE=6*oBtVVRPejuCY(oXwFpj<9pBF_Hb|ALBp$M#QBJeC7lIbY4 zbFQ04iV`lw(KM_^b8vqN@M&$c%U|(51VtaN2l%u^)RryyRbOKGo+JaCYTo?xX$^$_JmKQ1 z`r0qUZg7c*nS2+yjX_QrX`r`Y!`hV6nC38ogYA>E$gkbH7UhbUed>$g*E zl(M$bVNM=>3<1dj<-Gw`kGhog@n@M!Mv6TH$$!Eh2xw*Z8O@K%=6Z2;&-b4XO=`y7 z0hg7%gC~7~Y574FgsOIuW9a4_R4fR*>FRitOdDBG+ga=DU6ETJ;Oi80jDoDQpB*#3 zX&t|_Hok#>_)-HExAMcd-XgkKr6M9yjM=X&NLSyM|~Z!Ggm!DG*;}_jK-K~ z&_7-q_v^`l9DacgXL*mA?HqmB+PTfSonaHQeq2aN4~zzplbz@!VQ!>kw&ugm8u8lvFZ*~2&DUw|RbH${W#|od6~@tbNe$mu!Ibg} zvDL>ISbUCWKECIRdsH1*Ycue!20mdp0h2oM!nA~fQZ|O>29YnnP-1968N9QoN!Uti z7F%-tUf+(R1fiuiXMSsTq)3-0u@(wrTddedZgtxi&%EiOq~Zx81eEr9P0ZnS_4Ya1 zEtrbM%dkkgQS%W*lBPo<4bQi%31;_fCXZ7|Q78yLTNsSD$(Ko-Aub zd$x5_>*5{@9B~>M-SFOEy>h0IZ1khZ8}D-$Sm*J*72s2-74N+`iE%=6aI@R9z;yt< z@jIJqdlr@={5=o%D|c_-y93%UWIohgF&WA$E=z#3ij3Q9(lY0EDm8aS`o%LWNpk%O zOM}h<8gs3NpyS>yDgnR5lh+|4j*~L(r}Veoho=obeb?4w)%K(}IPNU9lG4r_4Qk~; zd%q^9G|HY@HT&Cl6Y;kSv*x!ycltT+_-m&TRCeqhLq`(Ew#w3@drl_h4mUXLe3@&u zC4NXL3X9!{_~i}lP0rra!7BUKmCmA!7!=y`>Z5$L!{f@inF?k)g6@$nefnSJ`fNIo zx{T|3{-lvR(pC|+C^9(BOJ~f2y18%iZ!!SIN)b8RjUJF|@*ORcP~kGN~DN!gpXi7uOW`B)#GCsELY8HIH?%Z5zW^?4IyFZsXj|Zd%Hr zZ*U?Tjj5huUm4C&R~hr^Hs@E{hvfNkO0avEV)Si8@Vrk5hI%A2#FYyA8$_X;oVR{J z;IJ2eX1Zc|_>1}SBqfOq$IdG;*han5tcUNG+YGJj@cg`{`fqMY$Zg`v0ROsY@8sd? zPty-K-{Und%1lt3kk%N_U3#dX%;x>2)r9x=%~Jqnl98%8~1LOa}?OC zz8!T?cDNHsYT$A(=Unw9ZI_nbq9Eb;s{KPCULcKk^nMwTA9)ue@#Vh+AL8yu3T zdSsv3cbirDm2_k6b280QL)DEtB6czm7skHV6KTRt9{MIH);BLHSzFC&=fP>_ zlA1?7-N04)=qN}>Oe+rx7BizQ#Nq&LwA`^6j8b+VXABj&aVR>$o4pS78swGu})IrE=(sB-gCR5bpiUgh{ASb9>I?xvuy& z2P=t;K-J+GhO3f7kdG&^>&c#W-wvn(he?)y>jzQO6O?uMcXV)`cy?IOIh);(HS4b!mHr* z)oB5~2$4N+TC^ne-{QNuOWH5^rvwRj-%@Ed34+9NZewf*CB9ed%Q9S^jUv#M+kkc} z4wvU%0vvUp(z40$tvW3H1IpT>5lJDJe`9?AsKy?&eGwoObYn2rq_z6{tM96#nzAAW zcTH*zf(||rRwiAJvbh=D7eK;l+jLQpkq(VKF2DJScI;?^SX0xk=_D7O?(#bFND-cX znPjWDAzn*O-G7Px;9C7@oz2Kt=yxhQEshtiJ5s>>(s>|moyoIkkCtx{C|;B&W-ed% zm?&DuHLtAXm$>5s7L2Sx-4CYj=9xKwo#u2ZRY`vRPS{!DWc zc(Dw?k2RUdN1*HHmzpk2wz6wnNBrrRWV({fG`}LiT{cI}I{_WXhkce-A^hTguJjqq z9vDPMHESeyx}D@BzvzO7Z%b?5FUXhl=b;O6gv)4F-BFhG5PE>GA*~tBr?Xpp%>y)x`4F9dr3^hHud>m}YmIqKy2) zHOkcG>w=rq2I%U<9rHD|keTNpPvr`wQeeM71~9pHq@H|NGPVQ@)^^W&lKlEakDwkm#+B<3)|Og7!l$Ye>1H7_RzofilABK2#kDr?IeGRt-jb7gV0}4ISUF{wokAkr?(%1Au33u!H&DIs|$49&f z0u{V~tf)sBx9=m+Y6t`?s6d(7@(s7SM~Y0oWIt-nXgzh*o>XX0`nD5RvBiOW2u;J7 z=^wfM3H2B}8o+sj8ocOX8<7487hOGdI73|#<>`Y{-NyHo$-VN)qvv$u7`Sz(HDytK zU$OTp|I=8@9(RxxAIEHovGWQ2B^TDp>inBP{NE7ae@W_%>(f6y6vOZB68xvy1e5=s zqWk}-e*0Gz@L#vc?N}<4Q0oCYob=}Vy5V5c-*3r&B<$pQp_h$dDYHyo7sfDduzrg$ z;$!)iq2^R=#zi|VeK}=*H7y{6QZj6rK&D}?V_J;hE?(^|YYdHH`HG~L`L+o>)3pq`4*^jr*f>J0zPLX>Q6jv$IA1f^%C{)nLl<41 z?<$R1s#ot^&B~fx?~A|4C<^8GxHLap;5bL>1Kmkx{%#2Nz+}QB|6tg6b$Q^td|e(L z94}MeqrMsp{Bk~qPS{7O=D7WXG#K}p13j$}l8g+w=i=}Qjy`04`%t`DYkebLUER@n z8!y<<()<*}#LZKAXOD^8I~mcsQKim0cirZF?4+q|930GZ(Rktw%fr{!nkm0)ec=%Q;<%4=#R`h%%3qI$PXkzYH%Flb_{5Md1I~Pu0}w|FtA zYKuHvnXYQPgy6(5QGJ~@r6=StU0mQF5ZAJ8ZM;G|~7(23!O5$b@qEq!(NoI$WY9&=#Iv=*! zJo3h^;d{s5+m(<9TtY6i8A$lm)ihJIpLZat1B14qWab{*Mb#*VjQRTIMP2E}h63%G z!OTg_?5;2}R<|3x%~5@PGyV1pDOa=052>S5YATxH<196*8drYL5PZD_DSB=@Z!#I% zdHe0R?bEo6NV1FE;2VdijmpuO)9JGJS3f(3(e!Z~yJE~MXt3GyjLt2)kg1}Ovb??S zhZ*ELVYGK)khYDDdMLew5@oM@TXNi!>ehcyWRYQY@D(a9^}OC6Rtm&@Mm$nL%f62T zDJ@F+S#2q3?YFp`v`Qa=3eQZ{mmOAN5C7m`nOhre6t9Qb$;OLnh$l)BTi%JHvNQSH z)T6~QPtgtm!mHYYR}VW_mVMacE~><4YU@TJ(kaBahv*4bhBg20rXM0@FvMA#`HxDV|fw(|?B=`v&zL4st6y zhFcA3D;#DNzF{n2uWV%Mhg`MQJxQJ!{+#Waio~;~pR7=*cB3`ftUgymu$In)1027lj)ADsLloSfoHMkl?HG;^ z)O8@2J*~f*^^~KVFYHh-q8j3|gs&!@&_R#R@*F?I6YypGLp$~%6NO~RpXo^WhP6HJ zB)Hyt`&F4@N+_5n-R^G`U`{P^Id!n-0BA0^7Afv2^bN?=d7(+3z}~y$r(X5!rgu_JDM-`MTJa8 zl(91zyN(BI)q>g~@wR2Nqk1%^5?a!j#J1EW&$nMGWxlIw?7tV&BX+U9CzfVAORvm<8R#LB*#b99hNP6`s4q_h7r=Ntvj=3jm~xO|wDPqEM|rgfuXx5JI-FOQBpdcm;U6oZv`g7(8%GyRL`;;=D>kjs8(prF zVdp-?B<7-sc*Ou&gj8skPPr!JP)Q~l5R5u~eI{OeevX3su%P`rENlU%<^z)OvA^E7 zDW#}Sq+s>V9r0RLGU43y^fMS*jW?>vOW0P!%2us|JRZ+v#KM8)<6N<#aznbM5_9I^ zw`)1W#B1yPd@bO62UBOCU!rc6e9dhab>H6Q@kA1X*X%H1Sj-nC&Lv33%kt8!$hJKu zt0g?u?hiE$Tb= zgE7N1icm9H*?y*Y{!P{~Z?Fc?2^mno-!{>UTkVh`6TB~4glC6!Z=*gf5s2mc&(Q2~ z7e5y6@EBZ4K^E!%v82uUMB|@p+y3X!<=>-+|F+ic|J1OOC2{`bO>@WOOY9N8D^kE1Y?R7i}ys80Ov6|)G6Hp9D>5P}W zLCzlb8K3m+5k97*@!h9Ro#(i z2;de1yS1@EIGoOwXUCy(1a?;QRv*yjdV9j5PnQE(%T zk>)}Q27`xM@8spF7e+-XmtosirIW&)Y3gFV!5P?C5Er((6{;AU2hn0*3jxb0A02f~ zMu+=Df#o8Bw=}SWB!ul2Iv`a%WN2t^@on#OS#C==CNPi}EO>kCOT?eF84Dlrm1bHR z*`KS6!>fdVKEukPUyL*ODCZhX(eiBS@IksE;r(9M0ysEri9MKrUp~=}R;9~t3oKik zD@jrK%-ckxejwm;PRq=PxeCxlG*4jqMTZE>dheWt)yURGAl}8%ALz~u&R8q|%H3>i zZ`)A@oOn&p)RgJ#pe+x9%xv3=vSMJEx%EB!aXDgGOt5+9=Y7a@S24@hCo5tZ(FF*3@Z%zr7*hO>4_wSnV%@r>X?W|V#DdHiGQ2`Ed$=ZV@qYS+B#$e}V z!#^U9pE-`~X8WrdF{nwsE>5;~r(gM|578$dYW>mR6rt+q=6*fzRG@&( zTAmvZC@7I%j^Rgxa74dptN9Ms3U{DtdiO^En$$D=rWIz`szhp}jclsVxrf+hjCkh} z-BuN#pT+HVp{v==?xp(uzFX?&QTlwhm+BILzF0^fWi)DY9{RdNT37l}^ud^s`lfBO z2Bx`{WPeeZRK2ymEIduKFkx5e{uq3TGN~Wvl0DaNCCSe)MJ0DsPM;g-OlB1~9YV zql?qBS@tx0H&^-fY6_i)DEE-aGtZMpb+r1FoiyFyGb{^(!>shSHr~_vAWIQ$QqpYJ zga@SPmHm#iH7rn>?t?1!DdHl^Uc4>HOVyT_V%16hro ziRQ698NKXCVOoLi%=M*tEYU_#z*@(Kop$%CY%hf0LnOQap6~*dOVt_khWyc@^04?6 zySny`=baQ=u@CnPRLyt3y|tx?g_wgcw>L&ls{zPpXgezIZfw35TY@ynpz;~R65>tp zevjerJH0Af)@uIY+J8JOxfBLZ|14+>9;aCYZ|a%e#MIb5)KM4pFOYYFU|g^GItE9u zMVf25%G(+#?h;sG`hF=WOzTIf(mI=L&9w-!100X&R>-Jr;%k-u^wIt2zi*e=KBYG} z&&ihbkJxL<|NV3&D)>p3``|)JmjBc7`~sTr>5DCB^7<@~7!7U|8dbv7vuuJe?wdV$ z8;_F#I@O}8J@lR1%rn&+k=e=i!vG`c-Z>sEyHx?SMPX}XU|!&=J4Xz)!o2pEvGSW& zM)Eu&_jZ*wG?vT~&ne#Et{;`#ZktlQNs~WWT42WiyRn)m)V$bw`I+vU6P%Vg_nw-zTN{!V()b^DcManncQ{mrjse$!frq2-Ow5ze8rTZD+o^yxmnpiv+kX4NmUOf&mSNyH@FeIt?>JYYEvs+ zE6)xWe1;6U7j>)CC+|b5)tUx~{XRjbznpE^hB3vqU?EC!j5lvM`h|LPra#F{kGK47 zirbGfh?q62mwqQB1}@?!6`x3Td8#rr%$T8DS)=J^wBnX(kyvXCjR;B*I`$_z*jR^Tyh%;O@ zQqbhRp?oGBi;-BX8*y_g=5dd3f4zxS<61N6=^0}Gw$y5Xm0iCj^2Ix0kHVn(DO=sG zFPrgoBaV4pqgTP)u3#RXxRRth^$I7y6-gDGQ%nN}6GzSs5x)>6zxc2n7Zhyl)d*$g ziOKhdnuOHUOyh>E-Drei*_oO*xD#tG8pi=w^{B&Km_`T(6cobOsO+eUkz^sVNhLlh zj37Vh@(V1qw~ea&S@$ZPRn&*P~E%t zQ1Z+o5U>I^V12+J*d%dXqXeI{+;{)mFA@`iSn;DB1*0Tn6n3^;DG;5BW^DEIrI~N+%ZW%2$-W5VQx9+UGj4a{h#jO6>|3SORhDY2@V zQl`5m;^w&jpgJt>dt$^{$~@u7Z5Qe(t?eAy>bSkN>~s=L{nec-Z=mI zK1uu*0oL~9;0vpo;At^bFM$z~u!rWK&_aIYu+qGJS=`a{x&QITgVWJPpPh^NeqtAb%IzuW7~pl`yBr`OiI zXFsl2aPpC$OxC2bE>3Z4V3+kJgfLw(YvH*Uzqmzpn0w{VMWpX}&B_?f;+T4eB>KNWP@ALflzGTtapWWKTOHcbzh zOpCZ9s#hI>a;?3_F5ohHZ6?nUL-$ybrssa6*a&4%(sOd+olQ>J8)dznN#h-`!@Pf0 zbYLJ+S67!=_R|Ey{Diee@vue2y*8BGD}BtYDy(%yW)~tl3W6YT3`+nC#et`hqN1HW zH30IN@9RK-?5;dq)lq&B(}3Ioa(Pc-_eo8ot|9f5Ng=Z(c+zi&aonp_L#o^VaOpKY zwR|%JA$Po}n9DCAb0uv_*;1O%S+A@;ZYZ293T>duN7Y5#_BH)AFgjIyItvvB{cn zkwu~vvKd`oIm$2@OaSkOt;G9wC$YC&QfFAYyeX^P5BIPeIZjt!ELc$QW#)ZfCjp;# z+m8%Vau4`janEmVKF(mhO-9q~TsW-!v8tj*(7Vq;GIZeorP;=IR|2HsbX0WRwBuP( z@N^r$4H>LV7C}QxiGeGan%3;e_enE|{~K((+|S8nPq-%M^wjkgUS>}UZ_1Z1UcL;9 zQ2wc#a1T+1RzDA7T}1dTmyNi=$X=|>vz?uIh-iq3uLyk9Ei|IoQunV#41vm5UcN~J ziu!-PB3s#eIxxs4{C-9D7V)UQjP@F>`grGr619XXk2ui`z(B9DFh7WY>j49?g1kKD z$%(i8l4nc#NXu_kF|3!-2Uo$Wl9C>g)$3?oq=##^Gv)okPNl*z5$<*k{wY7p=#Co( z9ak9(ALL|irWLF5!a``+DRyp_ev>uCH}kCnL)IlUJhTxH?FIGwwi20C9-XIb$!yA{ z_KIO)NQ$WFojepBhjiQRIPg#d!xT(Zmw{iLXto!RX)A(F$8@!1XBNe`S1_bpqa`B& zpQFInpJa49#)bCurFZTwbA^|(Ng8&)dq&CqMI#{d_Wj=h1@(Wj4Kjt{fZ&XbjNX>N z0=)F*^c)-MFe{iYIE zW;XRxYqMhIt(V~@=I9wo7Ga179WI9SB^m=E z-#Bh`02yRX^?piLG3xXcN7&q83q7^4hGnV28X! ziw8b}bKCT)p127a4CiPJ{Og3KfO+Xnv3<|m-?;Xy<+<}v#utOK>7+PL0s@;SW?L`t z+D-|wv%_2jMB^!kyIK#C!7aR-^EsGafw zSsE*TsjOPpO_j6GN_l{hvgoGFwb;3V1f|UAbw-7~n!8JlIfLNKv1j-#IMUH$(e|xs z_@e2B_*@t339R=(#w;m0f#4q9KDh>{GY*ooF2QEIsxX1Q;LT$cNbRk~tM{Id?2_Bsn z*6{wa_xMv^)#CWO0dn328sP-oeRuH={{`LHy*wcGw!%#1qR7z8(dyss9V!_Q*X50(?LO5@EnyaR&aR~7(Mva6PrIKdjit6nwO0$= zeXvjajjJbB4ig7$N}@p)*SPEy6ji0)G$u5vYp}hT95!v+Sj`_}^QmMm%|w`Il?vI8 z7>tbXxuJ6(hqA)w>+1<6X@$)Db^F+7X16Na?)BOu<#H2nRQ={qKyS|GbIJ!NBID~<6}#UT zMJSP7P?6#}gX<}jl4;mXKzbESqIa4k69kq3ztwsMQ{FU8C$fr6vG6G#VWaL5b9)Ne zLk1pGlXJZ5SS4V-KsG99;JUfT@nPYN)sIns#laEVirt;cxR#xM;_0eIo-ddD0%CTF z%tjK)A4iLxUz3>YBeC%Gs!BqC?l*KW_eMeFA{OX6K4b#;nq?5X;8Zo~t~lfLp=x!A z>jm890T(Hi_^iV;_g%o75f;jh@M1Y#_N>Wou>7KOm`8>KtzCM%qmWAp_~BV3@bsBw zJjtDR7i;w7(Kfeb-1%-8uhG`xyS(*_ z7j!YNE+0IcpGT0Vf?5s@L^YJCUT0(k4ZBxk^6yi{z>=y%*(gyW265Czt@5g%;JwiA z1x43nVnAEVRr5nEofaJ1yXB7D|;AN z|FPbo>;jhh&&w*}qTU^f4Q*`5Yty;xIPXcpb5jpf)j_*daP?Cd=>$@1B@ z1oD-d=x3d*vBOU+291e^2l(TvL?do$my%2=Vj8F8Z`r#GFk=$N1I1)|nDUU*7%Xl@O7)mlfJw8U9!= ztYBBZYZus37elEw=#>X?p@6hIzbiKRFewT26lYf-;kHFmK5D6Td}*}*M$zK(-=xM)l4yeDGooslm+uE(AvrQDpFJTT6gMebMBiaj$&|I+{t01A}v zjzetXS;D#04!%_)55?_mF1I)Qjl6SsC{8NID&Zces!3Gi`jpimK6J{scR8yt)8?ov zbMw0iJkf&Lcwqp>xf2ZKx!klgJ>WBq3e+}g-%RQy9Urgod5Rsw-D2SMZ< zmOAw&Y`K}=Wu3JFl$M(lorkO|73D7bn7?@CQ|Ud!9jaMi5`@Nj{6H( z%Er`&5>&|vos0u;3EWd3)m0Di&_Rr^!_!NuV_SYySTs5h=KsUwa84d{u(6nN(|3?~ zWBr0co7kFthQR0ZC z+A?;7*n1CjG~{C`^jHvJ!W(5cNAP;UIZE@Q<$g3is&y$iN1wo+{%T4w;@Tt;v)L@T zYk$<0V6{h;qwu_czMm1f8yYMxP9H6jcG!{PeAAYB)mS1@o#;!7_cRLIrEsgp*AOi` z-A??-E?o>>y#2<{ShM$WT$n?K5zKI$;$^3kNq=8}Vd1y*12m`9>Pm-C69J>#A+a;NW^s1|dP2v|ZL>N<2ZrCo<4A2W zOKka^^R5T3Pi7EbPe*`8h?K(FJAuRbCj5qjelQ_cS`|)^(lUBBi&w}{Zib<3i*R~V zSf+Y3L4VhpgvL7u?T4eqdcsoCTdrYPUWO^F{23S(*1SQi=bWLu>oT*b-TGW)v*l2@ z8sKcf#q2ZVJ+S03^zIf*cI%;mh*G~%4Te*V&uWhqHpM|CtKOuKJP*Qw{28D2*+%Pm zWJ)uo5c7bbMm#7<;wH^EA}YNFqyIta zFLsd_H_Z*b6ic)bTRUPctoNkL#y3ZEW!YC(K1x{Fi9`LY9t-VMn#%wi$G z30<*6tBN#b3P%LrbVXa{=)h{I9>+D?88;K(UX`J86Hd*_k-z&ptCq?tf%jR0adoUc z75UwEIun;~f%b{OzF(TwF(a^^2FJ=q_r-EU|P;* zHj!&3uE1H=MYsuPR8dK{GB8sAvwCa(!fdzyCPRm$5GIO`Xp8h@h)?Y#E0e-=#WScT zP(4XXT!KvG{`6C(imr^&Z$5h;J2d=}#y%=8t>s16O0qrFGc>N8j1$|!{SLa6eZGc~ zsbFPM<9SF>q@ixyb)|&YT+Yr0jQpO-%HQfjT}e6IRoo~`)-Bc?V~UW^G`{!@f711m zmoZQ1tbX25{Mv+Gg6DNyoX7HyO;2+%2?^~Y4pjNSK;g>t640|XL1?*2!9)4c#I|H# zPz7rj24%@lV9*t(J8|OI{^~G5>XcJ~(3o@dRoPXI>2DnG-mLOjLlN=aJD%RwXA*5yHMo= ziJgn+PF-j26Ty)wZr?z#201mPF1vR$ywwTkBV^%@7jpsHC79h!72fV=>?Fd2Zqw-M zXGWA(#~x;xhIMy&!*;)PE^>cnW*mK#^MGNJ_eGumtiotCCaCvq^qtXBL`gv&&7t|} z2Svwc-5kv<%fB7iH>B1H*HT%pT#&VLuip77cT@Fx6}N}E$uVh~<@H|SS?hIqWP68N zKZWHl+~JYIEq5j8Xg74>ZJVSL-I`QKy|*K8RN=XIZ5u!v|J34augG2liA)E3n2s4f zG)A(lrs8G0P8TmUoAtBM?QT)nWvE<{cw?Yt&V978E8U9MHml&GQ#YJWf^e`1S)V09 zxKFq@OWf!&XOIB#q-(lbc(Lh4-Z+x<(*77k?ArEgPDptA$gERSP5s*B5$r>ov=VB< z&i+#VQe$dY*FoSFR0OXZ0Q(73+&@P<9|pC)Y9@*!>%~2 z35Z#t1scg>?B~JFgg}~R@cHnh;919cG)lYl*}tNS@(rLEWZzj}D!P@#H4QJCWGkJZ z^R!|A$;N~yH|z~>@#1J_R4dT)l19?rGc0Q9PV&Bk7E$@v zktXl)@5*>g8S9eXw3w6DSE~m|6CCU=3o4}kWMloYgUjniS11htvz+$5T5FkgHnar+ zUDRpgmL|mN7l>_&nFT{f>g{=O>IIcFzJ$aKRMSF%N0-=q z@5JqDw=mQD~cs3o$Dq2OQxQ&s$j zv^Q_B!VC_Na&o)Aa+^PeI(onu&Ms@HflZP4KHkULNv8=dVYXL8mUG{2QJUrR)xvnX zm(&${th!fg{IXfg3HS^Hlj?BMLk$_7vtz6IVsXED4^j1=!ks?=zmkrxJfO{bEL^FP--323ag& zhH%hO35amO>UFg(-FMoxIEiP?#A!sreV?@4X#pXU_;E`MPFX|Cyb$uAL%J}xgFv_G zAokm;gcKvspzKuEq2Xc6WP$8Zg&k0o8|t5dSYm^Alg zq%Fmklh7Dx$_N56EG{m#rahxA*LS@ufZ{2RhZKKJ+g4p%5Ym|Dch2f^YWsz~qS~dS zuR3?nSBp;UQpTBU(vQR5P&DtFk6}3Tc#|tNa!y!&ug7dZNJm@w1x((5@Jl}iU7R{X z;7@j`A?A|L@>@=zh}YxIQ302t@6i)EudNM5T2|~|xVb$nozVAcDZuf7msgZWE9{6Y zbNW-QOcnIX-0nX*Jv-|k9c6ZMc|{<wUdE`=JA(B;4 zoXKzx#c1ZXaS z#joqspFf|iXJ+*0IDEgTo48)jBq_`8#W@q-mH?L8aSDy(Zsc>WYo>tQ=fsch8-o(9 z@x~_SBM4U%kz!B2a0iz4q1<8bAH4Vmp@5s&uN&^ac&gIs*}~z<+icg3oyZk z=X_L49F^HeJc_)x5=_Sdi1G4WtURSqPEB1Gw?mC2!pPG-9&L3$73s%Y{VsanyF|ErZ49u)u68arc>Bt*_PW{8R$xo6 zc4HY%((UBF%6|PYV`nLbf}7C_WU=*b+sYDTvPGn^o7+!DJ#qcX4n=Ri$h5AY5*Mb4 z`QzG_jJ4e9w+uBvgIH0qzw7fhKOBEW#e0HPRC#YmX{t6{?2WY&jiiR2uRykyhCy1Y zs*d_edc@}yeg62q1`TOE=0S(tB}2KnG`#h!(li?TRb>a_2s~yN=0O%o(%!{7>~Mcb zq_&1`Rswg?$zSJqk!fg1*RboOH8rl&(T++S*3LZrsZ}~?Xry>of3FtYmLsIEsn^;R zz}}{GfM>EQwiDDSLj=b?*0rpa;^65l8}z{E~P_wnBw8L4`C zQH1H6?C%ekxuc8J_)9qncJm4O^F_gE7p~R*YYzLom+_A%bj6;tum3v8j0&^b{LMH2 z{oB7w?*2>IYIOZwP8Ystdp?cYJt#^2KMUsnQF8z98_+Ft-$JCz=>-W# zVP;~bhU%Lg6XPA0bx)v8&>FViaxDo&$4G7@-U1Nyq(t{-7%SHrht5jaO_kF^aq5=` zQXSvevk@a7B&BS!)Vx|Y$tLT=R-$|_c<+0MV&mxst783y-Tw4?iKlXrX6TRz#9Nj) zuS6Vv;nBXp+Ta61ZUT&vw`i(f%}bdVf>)~g|Ejk#k{HhQmO z*YTwy6@BcXWXL z9c!;EkB5&W2#7y*AEox6Lhb=f8KO5@d-`o#50+r}2|Jv?2o>3yRPnOv=9?vbHw2== z;oAEiy~X^QF7gV7>U0y9pF_~qmE+HlMWGXFL9B6oE0h4jD`gK_ zxjRR%oUUIx!0^5gzgiN#ziIHNzKp*#8KXf&uLdAH$|WK<=p1Q+ko}{`dmY5O0cK$K zC?VB?m_T9Pw8~sw6vA{?{^g&k`KN10{M#FL|+1siukXUzXF(7wmcq4w1Y?QJU>cxiukV5 zDo;Rq67{8mvZdC~?!+KoGrdj5Zs)$Y#-;-_MtTzqQb#IG<(fAKl~*b%*W>nJTc@?0 zHX--T{PKy5UKoVCRW#jf1N7+OBg8svWxHdj#YGt0Rpem2ahCp9=^3wC{w>Hr?W!24 ztJ!-1Ir^m!$IGtd*#0EA>j?9?UV&~bt=wWj=?R_)h~#Fh+#!rb5RSP*5t{(ra%mmw z-RkDO`vNDL12ToiboS*Chia_WPM<58vJJ^>#3fnih4im@I;3@HWxm6!PqetFXE{0f z?PR$pOZYaxE3{w1cL&B>znxSfxH0wq9KQ;opLBz1%2-2)o)1L+caoC#;X=n0#x-xE zFE~;AlMCE_HLZemhE}77i8!0MI=J5PKqE-(6Pf{rRQm0m9s8@EAP(;PNa^JC?v2v| zq~5MdVWAga#$@`*<=$<#1~_c?`jdg`*QQT6?TrUapeel9K}e~arKUK~DzwoU3On;)@ap~;hU{4;^XnNQyHC1R z!*rs$z5<6#a~+dSNR8%TNOfxxzrZ@Wv7fb^yI*%Cdhm$O<-7rk2pqjW4?+%)axGq~ z;|r#5(D~8aK}6eYMyc25#{E0V;E%2RH`vPbk)($Y&`&&8qRol^Y!^U`U##=c&aL1* zS2J=fBlCXG7?|c2;V^mo@n#2dM=>@1Y2qOf_?FSij}`+gy2eRV#7uB@Am}|Wm22{Bhfc>&Nz(?E%|F5L&j5qyv#G~=5@bvk#M zeBpc3ncvAh`Ek}K7mzBmm^>k@*c;-aAp~#SecYV#4EkRMTZC!<_%R$6fAxat8y2!1 ze`%t;{a0(T@I}A>|D23Pb-$A+PDDbFOa?|cP<%TF8a@s)hoE@J?c-OD27T<0><-@ zDXCliWR=j%dF$B^%Z~~Y8muv~i9$6G^5CV;ZU=@(FC0gn`JG=YvwzlT@MUQ6J-ca- zyALhdUi-#nZi;~UM#7rg!n9WwTE8 zMw&)4ODxH}c|*o(ex0uf*stbUDGpz}@5x6t6(wEii|Pr^$sEATh4KSlxMh{(+HK)? zEc06;qOBJ+7hyO;ZNsU=dS7*ZMOSc2N;c&PWvr*=G$c^CxD*tzV9^fzAYQwsz@v_3 z3siYtu@@$;H9gQ^)Mxf{k9d)^r9^n?EjJI%PPO>yGv#i66MX38ojKN4@yF*=ir$z6 zLRC2Vg^|^4@LHTUaJWp^$*zAzGO5$|x(ZSTw%DSg=PnUU%|IPV=%#@d1*sP8$Ch;k zmx`BC{#bk+7dk!8`_JC7Iq77Y_D_riMu}0C%(rE9;?kh2oLF#jnw&LQfAJBc8UzYw zp72jKm<%AEv7rcA5LRe35vr#RB)nXbpAFB0IjT?WeInsmYugPJ*qSv4%H6r3lLtA-|w7Tv&C)>T#{+B9LK^7wbJy$RJ9hzz2Hb4-$`t^aq5eV z0$=j%i*%@LtyoSJsk9-XemN$PQAv@yjA}j?_5}kOFdxcQBf{gSL_@U@NKtqHne?sO zt8C;j*L1Ze=#5-6IDE0GrxM8%zphYFS`ra^sl5yfXXd+@r}=Sq=lTxMlY4mB8gNhj zV@0k19sne=LLzyhn?rsEnL~l=RF{BNgPC9E5{4szp~BlcPE4a%C^Neld^b=`Q=4v3 zmYMTTzBA*)By+XJ1vQcH1-0h^gCwn%p@sND_PU=nISja$j-IJBo|jMCFq&IalFX!` zx0l-gei80G&>&djZUysrrU?`+Dg|iH+x~C}d``{s zse|MY*GpOxv%o;FI59a97kz^)vBCSHrs7UM->B;=ds_xWW0@n1jTvNWc*ffEdu19G zj)>ayalN$Jw-OI9IO=G>xB&X}CE_TyMN;=wHP=hFRwS|NkgAg8)sA^-8Y%HR;?jz; zq$hWwkxZjVTCRf3y!wjdk7_V(_1>u#`=^82T;^{GRI}|~I9_~A7WsIySyfHOtc@)&1`3r!;Bl=4t(^hvc%IV`jxs)bgL>J5OI+6Sk8}Mc>F?k zQ&lkgE{@fOsibIPa{6}not|Q3$<};W`@!_%Cw{0t4+Mi@S`E(YX>INTdn@Iu!^{4U zj!)KhJoi;nYup(JlW%5ybNxdwXp8$TD1ile`}Bk{ur@Up2ywJiMw9B7AjY&RxCN<} z;Tw$^QN;(|bkEWE4k3=*eb#HJ4vj5Xm1;`Qmy#ZpGnY8n6z+W%8I{y}tMv()=f+o3 z@t>&q;OjaDp(@nLE6x~0rfT%RJL~}T$OEnHASGT_8apD~ZdrNjuQ}Z6;3YrsiFObu z8;@b~oTWNW{%MV-B*1_(vrnu%tP%DhKAOEJTU`fI7WpIWIOxgvKzf>T| z7Z5VUh^GwZGy@&zGbUVeViwP%} zAN};VS|Y@H^LGz2ng57~(T@;1Iy%zAZvXfk;n5MbwY6UdD~AYUQ~y!Nw&&)5M-~6A zuR6{`WQqnm(GZlVj?^mEj&Je9-g1jaKFU&W2*PclX`_H-`Ws$CpIHhK$e@o0C( zs?3~PzbXCKdO-^SticXu7OzEBhq*VLnPFL56JCN;omB8?9eDOS3qg| zg)Lr8gHM-(>}MY%Jz^>3M>NKVURNg`7P!V5^XkSgQZz%b7r-5LJ7No{v`Xp(E&Ymm z??jxViIVN(DMv0WJ zdgw+PAHlp>2d!i+M2x#$e$YO3H6@y|?7e>8RgHb5ap_H_fv{stV#Gc<;>c%OAL0yB zy1=y{JzC2#^8HeK8#IZTp!e}>=Xtb%{V@L3mdK>LU?#SMr>ZB<1IP|~=$T)_0mBUI zB*?4t+}HIixLGZv1rs+`k7k6xp$L`M#+mX9t=K5sH*6iDG!p;Nf7ENAiS#{Y$|j_k z9}|)90$RSOs!9M&j)d%=p+A6~Y^0KnYz)qYh&TQ4IOkry!K(D()3p#HCO3sYoymrM zX2_v5Rb^^9W;F2Q+L3Uyi#@b34hia5e`{cSV{beYP+UYA*OI=i>I1U6|N*a6W)p9?r( zR2(y!{U=hnr%E((Y=Kd1$5ce4ld)5-Gva~Xjr)A8H^U@rA55A$qXB5%2d?yBcICqX ztEJg4Q|;4|Jo!zFJ9NK)a5+o1@D)U-(gH^#TSS4JE|M~uG7BdTFow-jPWV5M5H_nF zEC|X_Ravoj8@YeM4z$=`)J{hE)v1Kt@w%!b>#1k zT=5d5!Gp03Vwm!muGJpp#fwWlWd%9!KhXY4s`+*(@ab5v1=A4~8U$6OCdjrWM&SBW zg?2|zA%wZw)(b0oh9jzDK3LdWs?EkH=UtKgV8hkNp9p}WfH?H7Y$0v+xZH+q*|?&2 zS?JR22ThLtOwj~bp>M1qmQ0CW9}H#tpb3WT{ID+HWmQA#XE*L=xpZ|nKQ(`tV^3W5 z51YFg_~&>hAeoh^IjJeAYu0w@;J@oz?iW%!Di}8`e`GS4fr)RN*)jow^DF!1Zc ziiIh-TdBRgv8OJ9k;eT;gZh|K>$KIrvbGT3^%BBoO3VUV@E^7Z68(XK_yWTw4H=Ce zRsy_aCB34m6`p!Fj?GCCFePN#*3w9fiyf}~J75w;^8$C+lJTZ@cpsE?vCg6A=-qlp zyf@-?t|^^<{nRP*i{vyzcTSp;LfqWp;dU#rId?vjq6wb})#uLl=x+CGIB-hehV%yx z4)><_@5Iu|?0;}dDHH=(ZLRn&tK1%OpL7%S@~~R02z}9HWgyv?oC;;MpnhA|OKh;e zFj~i*c5T)*8#kH5yJVSnluIRL!mk53|B?+*wa@R@DI5Bju6#GhT(z7Nf_vO@<;q|3 zHKF6sFQ`HKf@20dMKfkNUe)3c3{mVUi;<4p-b9>+cL_1Oao5e5_EQ?;U-tTe4*G-# zrHLTxp$^lt<5P96Q8n1obV8Dv>78o5M7q+~mj;jZUG#>(o)KI+$Zmoid+Z0F??iy* z#iXl3=W;;&$`ZVC-nI0+E~%ifrh27hvg)HlRl%)fB7PNS>jQ0Yrl8YUHJ2slf5jm| zeHT>Z@aD3_^pJfA1tJEGhsk|fpjpK;%QpmKf6KzWGu$yd->SFOD=XhswrWo)Gf2Y$2uuHOGa>dWkqM z^D|S@YX8sR=oj;#MYA<{t-?*DfH|#uRQoAAmC1jBHw&;2`P^$|Q=`OAmSzl;P)#N= zVDLc-mod0o>rbpLUf~f63k>{B*wS#IRV`#TUZD8P#*dvD6;IqK9aiaXZ*HH!7`83b zZ8%p&N+h12(5-Y7`Bs^=Xeu6)|NbYbm&C@8VgRQzGDh)j5t$xBrNZr8Y`8o#8va5}ix z2gYE6r5`(U-X*Io-shjZNYqlj3}r=vUX4_j0Ze~mbiCE{nHz0%lDY-ak0izGTe3o} z?r-Qn3do+9vM9oM^DCla4=2XX){dh&$3~*xGC#QZvJq> zdX!geKJ(?L&1?<=U%diH058c?V%jN?4qq9&%pB*WdZypesMPZ@EzFPKtV!h^BldzL ztv36fQQ<7%tj#J`Y5v%tzDe(czEOPn7C6MdUH>-eeBcqA7$fD+jIkk{ymmQw&K!S* z@(A~yhp7cEZxXGwmn%Ux3qeNYS_Jz#2PaR~q|1zE0f2OJje6@;`Oax*RVOU18ddc3IkB5WaLTUAl^ zgKj3-@brvV4P-4wvjsr0j#t)=fFdOY4+>?1ri!p*%h-vVbr3wz6~SHABXEefFR zU^=|~J+x~z`r8pQ&Wo|QNrz0fIM%1VIeh=l*#qldNuizi>36n(L8V_58(Q5alUhz< zar(U}Q=a#&7YMuH?<*D^iEE`Ri(97W6#btga&8d2?%eMbH5RQn!0kO(LM2X&to%zk zLau5NT3^JyXqmy{fecMD-_f_AZmvgO>r^iE`4}bkO{KbJ12wUoxf);MZ(yF12QMJt z7+NC+uwZQU*{MR=+wi!!sl|$-?_IAL*n2m`am5rXz?(?k8$BKx%R>I4^)um7;$pb7kZBU0@)TM znQA_<>1~3O$;T-$ItGV+N`0g@X2|(T9Eo@hba*5H>e9xtONM@azm4obBBqeDdAO2X zRtMjvC@1HwDO#D#i)Gk%lMn4og z%9Z0uE5`U{)b^GF+~JQG?B(nRJ2K_CV&Hn`SYh`L?q$ylF6%klskqW%AR!Ap_P8!( zJZ<7H8GbySj}BW+`OSPGSF z82qRoWGhb73!MJ87#w|Cs#yD*&F1N9bH|VD=URft`ZMACv{ro&SKsPTksC5TJv%d4 zX8V!B`YJSN2}%jZiaFITQBlTSPBqYHbsy!wf|9!SZPQwMzAvmc%VvAC=4yi8K=Vtf zkB&k6+9R}jng^P+_j>QhuiHA`ElYzXwf@tvg*YY4)Fz1N3O-$%rN(=7|BlD7mk(?V zTYb_V7~R_GnP&2?xsS-?^g8p|a#XSRqg;iRKtt_aHyK zqZ@;k|jW5>9wpgY!#5zJJN;Q|~7h9mlsv!Qh zflr+#9$R>tsE*8~FOK4TY&MlXt5QW;dO#cMBn05Bhb#Gz*1S zu-GK?Je+N`ccn>D2IOe5Yd5*VD3=QoHb1=0x#7fnuuGaJXkf zFzL<}Z(*=!t74&v%D*?jm@!d7^Ktasg!1p=JBY?C3y7ID%Pu|qGZmanlKQnkTSqdV z@=I!)X0HX-2I?73HQ=&0n4!$`s74t4?!0t`pnUR8TlCd7yXmO^TbJnd)QoM_@sMrW zj*Y&P&!t_7fo%Y-74)^kM*v9E8#Ly7c+EBRX|Ut>VHLne$d`3z;`BNH+KIrW@8S$L zgkdc+rKE3x;w1c0O*9l(eD~ggB~py^j4NYrPT$__l1Va8};x=(^^u@=)vK|QKe%DBi)sDxCxB##}b`j z%$~`e3;M@O=uQxB;v(iZ4`p+n(WLis?Ikl_Cky%{2R?MkR1>d%vzyuZ8CNyoGD%%s z1(RZ^OtU(SSuf)=`4*Mjpw8x;Kbd^pKAaewvWFvS!hV(NBV_g?9Uu8V%!QpZ)lKzN zgE6S3GPeYSK@!vCy((GBA#ivYRh;>uLfmU4h_*LHEBkuU@X_+aR-db*FVci>pPal% z5-Qd;Nw&PnW_%$@Q8#4n*W#Asw6j%ep|&wzsPs!wlASr2;B7d5Y38;b{lx8j?sq;> zTEwE%=*vqjV+jj88o8aeYAi_xS9#qhFHj@TlY+!Ln6K5?vHyH~aUi z!@*2crhonP?-UCL_CNP{ahqTt{MThN#{0eu_M4u-PwAhb_K&!E0gEw5W|_4C`)oxO zh8y!22L@8tD=|$dc!-Q$ORKlmD!nx7crc}(_LrO$3WI9w;S(uZTT|yGqwk=vSdZ;* z@jUXIqG-5$TWQ@7cO)G%;uIGu)!+pG7(^-*QY{@qD^e!M{2`fz-r40TPr;>7NVW8n z7ov6p%$Iz9DeD#^X62%B)$CJet%6^~pZajRx1OJP&w_H`jSiAb#q&?7niz``MUT8A zKUaJa6_>Wqu(tM2N2GiT#w2B7PP=_IdROPN-1AI#j`eqytwCC*={T&TubjJq*i7V* zzNH%JGo@l<6*~6(zgtlrq=rf7k$S#9JO?2v0}Tw(P&t(WC(*0t&+a(-cg?43NO3v? zt%1pN>NJJvrj{=T-1B1B&jJ2^nYVUd%xIsPp^2xFf0I=T=bI1}lBX<%?VRWM-(lb1 z7Uz7Y5UK9QkQR~_b|*R{*%y`vGr7XAf#Smk{;z*&9c1Qvi^4p`8`S;9hnS6hh|6!r zUqWbx`@x)mBAXqP^8bUlw~mT(U;IWv1Ox<>kOt}QZfWW6lJ4$C>E3jgNOyNhcXu-| zba&rDxBG1OIlpt?``%iMe`Z{Y^Q@Wq^!EvVZFMpwROBWcv@s6)e^|*n&>kjzo?w_~ zC{;q*2yuv0S`;Lyt^o*5cbtuR4jS)cn_z`CnY6}>7Sp^DSC(D!`?( zzSRw>x%-42S;?)4$;-193=icxOHiXR|yAG|V=UdU}la z%KA@aDeB8uebeEVD@Ilb_SAq&@rnL%(nhpviMT$SLgP@?$EuD3!@~YMKkXczsmyG<$9HQvSTZQw9-$4k;Cg80Q$BRXYlafy|gDKQv#eEgD;Cu0z zF2bHOMtY`z{}rSE&LUB3BX2Ga89SuId+!qOb?mlG_|+*CI;NBw>@b@CJ=5I?T^aV5r?&{oPjHeR(AKx+P6n%YXOaI()0N%Z)@garn?<)FqGbX++t>Mz(YP2W)?!Yn!f$ELPrQLitHB!kg2T2GDo=8fxl!rplj&!-a0ThNe|^vlVf>O|J#` zUg+t?z?y*Vr-`=QwFr{L8oFKJjx1JEMWm1k;tP_JxO^9$NP#jR>Twc7BiVG|oxwY9 zq_I_?-Add{vt-(0ok*b?o(#~wGH(KITk|jsyM<{_cOaGknwTuSoHcnlf>G2P0jRxr zLjhka?QUIApyzB} zFw6|(#j)>Zgli2mwzj}pGo{bgEz-9JAs%tfaC1U<#!3)KqSC>N)&wst@5Wyo0}MZ@ z)U>94_6~8kZGAWsm9u(XbhoElx*_jixq_K_(_Gf#bJe~~h}_8gH_)X5hdv?=AbewZ zfAK<|^(&J(gs-8|&CMqtYsb&^D~lPQk)Iw^8$33b>^wEeBCufA;RhA!*2dbOZ{k8^NI zoc^tLr&E7@3HqxokoSJgur!~6FLC_xsui3lVXgg*UOg|92tu6nCz91NbHm!ddbcwvEKFsros$@>0M4es=SPa zlsht_KC*lFM);pdO9}1dJF?SZ`vW@p-537@PDcGNp)&E@s~<2P*h2L0peuKTr9;>Q zP@ni_W`yh=nFz47M*|2N#fwU@s48knN}m)haX2mS#TEtNIP4plbVPjjs@n$p6KcoiXud?U z@wN4G1BY)FrwKgwjj+};|AgFIm#O!@Z$y|kaqjX@v)RHXiWRq%EMB1OXh1qR`}cku9zJKfp`Ce!NFgJ|aG{uXX9j2rqb{qE|Ee=l z$H3n4ZN)EAUB{BN({@(K(ctOor>(%(%dP(Yw&LRwP@fEigsZ@*c8pn!C@VsBM2YS- zblQokp@_q5getAM++)B~(CX6(wC)Z?!9ql?nqYd^8~Z7VUBx+7NtwY8esgb9WS_U!mz0;yW5f0M@X-S3F)y=>^WVZ%w&9QP8dg6hZI6>VM8TyVZVIhYzZVm^AO-5@qVRe$ZCatiAxwwmCA2VLVDm{z5NY;ZZhWsf%nmZv8lf#JxGpbvI zODEfYCtrAw6mefO@O0+!Nt67enEe=mv)3Y?&fC-ytK$x`#5^W;oGxSp&`H=4qogFN zh$vq0yZHYW<0e*ww9y9={+lq^ec2`2F8}l$(C_GT8DIOx!#sICQSMd0892cU^nI_n z==MP;VS4YEE0B23ukosqOV%W5qV;KWB`@Za{v&7Fh-+`DRaU@EU};#^e$(Oz_`v|k zBnUsfv$kf@ddSmhzi`{_V>%K;wp-sO=7sU&H026U!A@hY!V#Amr7yXX@d5Pa|A9vTO$6 zh1$~%wJ)0!RCXMf&IeB?FDXtLTiD$XV4C1v?A`)cZH45YjM*&MF*Rdy$%0J|e{&g7 zVJY9$eO96VBwpxP zBKz@bmex7}k#`Z&b6n~nylg0^ilt^?q^#ltM`>jKUBYNgTzr=Wx(M_aaF)$uyl0jD zbsblm$abpyYQhvl;Go3JERk%Y9P?4;kG5I#Z2sGaBZYwAFML^^OcY&?$6i#s#RR@} zA3>nm-JY_nXU5Ya-#|xRs-?D>DSBAu_M61#U3Jpj$kQ68w5;i#2m`vCCPjB8-X8Cz zh0S2&42yKTKv&>uHHDvzSEa5wls-i9CLszLZJl43(71zt>_(bw=Cc>#JNvs5{vQGK zRqihU9dtaR_hsN{KPco$smAWQJwZNr{ZeBi`py9u{cRcD`%9%ov%kBpdLUe8M)gLJ z#pAdgJ9Gagg};f5m;MYB$m%Fr)G-}svt#ajut5xS$CzSJ#-0SdA%Qc>;Nd_VtoQ|> zybb-Z-BKmvs&XIExB__AANqx}L&csD0@EE4DW7%bhDi_5#zO4wre6&m`CZ^NAztFP z&pzmoFu+Nys6nS(lN!RXIr9c#f2ISJq9ruE&DOzs&%`+}0*&Qc2{-rvgo01GJ{lQc zqNIgYvqtGzWO9n4VY+&QD-xcoPMlVU7-0(^0Aqk_cck<>cOm4i0zwh8(dzqGE%@eJ zcsokVIMU5#GJGDUN-mrF@&$GLO&s81c0wTSIwSdr(Gv`(%9_3O5u|N%OdUNcvErfq zGEJ!#YF;YUuz>JqqY0-vtRbD0sz4C!pgE8m7_?z+a4SloD9y=rRx*`uQ`Hnto|SU7 zXx>|QrCr46nw_-rH(7x@c^hSOcVl|Eu!!UouQpSS*h+$};9fVKR2pjpI+@33I9!o8 zB*dYys`NURxw-kV^wV_;hEw>|l*CN?9N7@Xb?A7wDn5``AY)&H(p13I#)-% z*Dk88S|?#}DZ?m8Bo?3*sQmZV{Sl zt}}y@@~&)%Gxd-4BU|v}2%Z>uxPg9&ZD_#iHKQ4pqFQfgP|s1F3`bboX)h=81KCAh zKJMYEmCk&X%D!0~)vStNQJvOaP5~wdV=+e)JSnw%*c~;*SoXIxcYpP2-3&z%jpm_e zKui>isN`Y~)I|xD>^c^Fck(VmbEWk@)1uYmKyv@WV^*j}(ye}ve7qiZ_xN?B=t?;~ z1y57XNpS-EoipR>8*W(54^^>^iAQSFPyStHh^XGJr&bY1$0O}l zE*q5sy0u47JDv3{73i+(XPEHkOeqyr8?0!Jc_K zCLFTbm#GnUC9?ZC`I>FW6Ju+!BD9eai`pbtUqfN7tbA*U{r0Ku)iNUeDz2WR?wfxE z4C}Lck!l?MVkQY)TQ=*FI%1TC-wJ3-r2MTB7xf)0Zo>!%9bq8yfHm|@+8K(2 zx+cwE#D2r<{Ra~YsxUF>DWH3=i+`M!nabCQZ~;iTr=nIv+P`55Um!a(A~okEW%Cpzba z<3a3F7n&9@V2g2k?&aK>Gn(-Ex1?aC!q778h%=^rqWaq?G5MAMQR-J1JSN8~S0p6o zoLzrATUl?Kc4lxkSo9|)ky#ChjtOUGu5lFf&D1mmhgybr%84NdjK26#0pLlx5V>|{O5H5SRt z&U$lNumx@j_|V>Pniikj)9P=LD|lN(E_?ipqN)SIZx`SI=8;^iv>9!ilo%QS`uS0uTO{u|3_xNsNh;%@o4Q2+s!rPeL8;8YHu<-rd+ z68B&B1AlR{3Iace+)P@@@X@;3zu5_{+NWijbMH3iW2Yn4XG9e$Xj+j9NTlX}yr;yRK&rt1wQd`C?1K#VV|u;noT`DN^k}V9#o9Ym8(gU;9d@uO@N6pLj(~UAUG%I& zso&s+xP5yf0Xs@Ty=a)O7g#{0MJj2jH^Ve^SIJmR*6Xdj11HMb`;T==nX+EtV3aFu)!UY z#z3#t_)8}XJ$VnqO^Q*uxTlZ&Ri><2JIzAzI~QM;s-%*ls^+S%BZ&1ObG5d*tgK{< zjyzN>B_M?M6fR|z=qV20e7=3*WZC@T>iWcNx16zYuNE}^Ol>r#Jvp&{`8~8%>(j1q zjK78V=ss0ER%0`&+_KK0R&dZY0Z;U)`(^rZg~7c-U_z(|DCgjLO5WSvvZ7SJL(CTG5cs5ng7dgE*jeG@- z*m$JzuW%#X=M;znH(0?ne^{Ri$_=!p7$R;CrWIRKuLf8@zp@dFr_p>dy!+EL8J4`5 z63Cg>v0rYig`xTBwt&+A4QA7sG&bQtHz-@8~fT*$;)CM!vOFQti1bx-fHh zRf3M)HZh%$-kSHj4(!Fgb!Wb^uncMxFWyUvbQxUAUcS8ts8tRdQ{PCaTvXPvkv01p_x`K6*sBa_}?>qDhkkFaHm?EAX{ZebJuyHcyGJz*TaX^MGe_5%AjCOD za`V1}@Ws<GN%awwD1N<;_m(=FQlg*2}aqpf}j zyuYQt^*+%o`J_#_yX3~@YB^+cb<-b@(?kI~WZWAGgnBi(XW>0|SQjFR0(cP543__Z zu4ZtWy3muo0qA}ZAk5sg+kwh(Q=9i0<6Q@j0@!1JD|br=FLdi>K)`Mj)h6_*XG1#J$lVQa6Ci79~y;&drjaomCX$uj-CVii?p`RUuZeyS}Uc>Z(oB zkThcXEsa%awA~2uN+2=@^GAaL^tcOjg^I@O?*sS8?oiyx@6|amvu?Co4Y&SjK^3Xq z2M{aD%j(9yjRV-E`KJ;oYs*yx&g{>t-DOCTokE;c!%TJ}sT0p@dvSDpa8A6*5ml6; zIr&0A&9d%(m+f<(47&f`FT%%bJkemXqE>Ac@J3LZKAAN($L9J@`!P%mMi|%%xG4&_ zzh!ZC4!fRb>mL?}72Y}(%V95?!M4kbKT`wrt;VvSN78YGQ=d7QJuQZth4VG5bUm#$ zHtR9)M!BsxdG(C=V0P)JVam8(z#3c!?~v3H14C3QUA4q{q?Mk*bm&UzQ?*t|<+B8{ zdWtQz)aZd?!i2w`L*r6i@Us6ZO~>0JP7_NMFC~|UmtFvst>CXq)3Z1U2Zs3^(SRq} zI!k~e99M%QkrK+#T^Kn7KyT`(VZj2txa`-O_n$u`h&1r)bbZA|QMjTLKmbE)m~Y!Q zO-oAOI@RJ^l8~jx-nX1NmNbs39Ryq*34Konal_6Ch&IMPwQs`Dt&!zvGfo~16dGt@ z>jm&8-+OvpKd+wT$_CG}dJzmOF_TM$b9U?nbZBiS|f61*bO_4#~PhLL?TXY*yvyNijD%Gex^W(@`TonOo(!;n8FR z=&IURgdLA~c10iIt;vFAiIK2Kp7*>kL*@`B>9;TP=S3l+V-e2(!;)KD)+T}$seTu% zEiaCK@>0{h!#H{L;P#ULA7WB}`(e$2X^{iFOI8^)EY2 zsL65jx_YR>+-1g9+Q;94bBoU*FK3JOY0yxug0GpK{U~03FK30CsrJX^fr)m}18h6< zFj#WJlSH3BhfYbMn`yQZ(SQ10@Su0@L*Vix70&N(*F!h3|FWR$!DhxDd;#1s_>{4Fz8h1^a%FiJFHa>|dV1SS zr7(Jr89Rj254On^^hNkXB_=FXBc)TqJj1aDyp7kQ0HL<1UJ+g&m5*95ANcsi%iW8EQ%`E?Gf!Z&Nv>zq0IqG?`;CN|ir+a+9KC(=WK^#X zb8imcZZluju-v~?`sfl+??z6t9&#?Qj+Qm8 z$=1L1C(BdO4V)UskMx7=Eq7bf#GZS{J&Kj#yUpYezHA^Djt1Pw;b%)^E9Z6>Uw)5{ z<7jE&W&8w}xW2JVh{hNO4kCe7|En>a`d`J4{&t)-#%tW4HXJ?=_kZ=tYF031$xwI{ zuz%)WDdd_n3y)eY%s(HVquxya;8m~2X8tQvYqs(=BhM-QSr=*bOnnZq^eDs%7I&I7 zwVEkpI8{>uLSKyJ99gp_b+B2e9-L!a#VSw8b5Ux3;*#t^|4FiH!=yGs=Xav(l<)7<=iZ5f-WJhk6mxfsCX7Zy9WJO&FFOS`Nrbi8|lP`+quOEjT*ntn+GH zChMRuEFQNq%_F41&1U9xO3y+M*$KsMLhcTT`ry$*P98JpZT^${Tps{uQq9AS7Ka@J z5?U`w5*A>}u^l5V$VWg4oGwQ`pd|O>7DZkMqacZg$ZbXw`w%NCt0{@lWAT?eAXQ}+ z2Q0HK$wB6ReErNaD5^R*T4*au4Gnd{`WvaTYgIbQH|8CAy5G}2p5c8!8S0IsWToAym@kJI(m zYAx64TxQJbArhAwLS`bA8^YeO$#i>*!Jm9eOAxxyLGk|vpA!4;eCi)1+;3n0R%J=e z4XRDiSclXrvgo|I6ogx6Z^Mkd<&D30}yn- z*L6283$Ib^leYfH#O~WCdzw;xj@I9s zG}N_;Z~?CDrOauswJ`SZV6p(S3?nOdTQ%ncCtQXyv`Qzu*Oo^KgAp6cS4%4=XMeBk z>bAfDQ>Ihpi+mpXfB0iJS}%*H6>S`)97V1VT2H6K_GZ0>v%q=pzL1*TMeLo!0DGMJ zvZFS}MPV-h@>3Zx{W61_3CXVDAF`e!x)1UQ5zi4`>Hb5ngP$xnUxE1>>qN*Zulqne zXz!nHl&1NitUt6O1trjdA}zXGJv*TUfU#0)XYITC0XW;Jz#P0ok(TVK5!aKT5isY# zi4Y;jQFHPc%8IK0EGwfS0K*onZgdJtSo~404jaAQ0{R%~v?mbt5yxuy>(i&!W*kYc zZ<7tixk}KRvo|s`6g-}(zWs6W1c1B@(@DeI*Ss4t2?GXDVvGu0HGIn~}MIUoX-c)NF2d+7@} z18W*2%Yg*ZHOMKfny=Z@9k!VEKDAc#D??6rTGp1-mK3g2rJDcHg&TJw&M0kpQ9+W( z59Mw1zTuHU3^;{rh>$R$VX_q8)JK#R76BoGC5J-{e>1>X+j6iUv$Tr!AQS=`Se>bM zi&ELNuu9i@+p1JMg>v=i^3*kw=Nz0+EB%0{<}BG;K~otzOI|lQmpnOooH%AaKDIQc zYF#3E6I@%f*SnKDB%4#>gG`9`S)CL$dv5gJf(BDGY)Cw(p2zPF_Op}Sad%k z^)5hSM>tTvFA+COhE_2TqWYdC(KIV$kA<$m6ac|Ob2S;>gV7{P+&ANG8ZJ29{m0?% z*QfBB&kmf4)$L=qyo=Sr5!$&f%f*yLE-!Y!eu z>}dbuNz=SPcv2|fP6^J@{|ilpbZxoUTE`f$u2S1csuJO{@R=x8OZ`7al=hePk_ud2 zg?~smnSqm73LGzkf0LBDX{&ct#+9y`3fpb64*&Ot>mTz-@hnIrRgGm{q0m>G&8_jM zPJtghK6BP;Ww_m6Ggm)2%pd@QLLI}|*H?}(Lrz0WT9*HT{J2zFO;5}jx#i7{K1PrmWgdL{fs|3>1{u#*0AsPrC?bz)no?}RM+ z^?tLc*#7*0FpMY{l8C64I!G_#aqYL*{gqi}<0*iw7ZLKNL5o6VOzdPCghFA6fvp@B0iC1f~#OKu60XSw#R@M&} z85s-!`fn#4T`mef6c6Zy4q`iHf!1v-_`cUwA0LsIqAt#}eIcAywdJ4#+}o#p3(oBv@Y{h{%zr2}xR`K{lhSd$!nGoSqFXEmrMn+xqZSo;>}%cd;pBKR9|I^EKK`qKKilWQy-ZeHF#I`k$y^(Cht$8cn6&>}8Z&35f` z;U~(xPk(kIL1e>FpA4CVGboSx7OeFr9~pW7daWP4+385Wt#<`(6qzw%K#6u~7K-`Jx_8-2}~*`9UQl;2!_e*+$3 zV-O=@_bv*tVH^M|)Y{hg5?YtR@OKGMDyfxPwr7(MYRe5(@obZ=pMjd|S+K*mW+j-EO|nFz!`!`9vSy|^p5V+?BS&0tDH z9bs(n+IUKF(1gdmHCRFiEQGPGc;-h9%`8ll@9pG%UzHs0o~^ZEnI@58%_0(0dN6u8 zyUJD#rR*Ru66M*J8gcRkFS|I`Ys-kC$qdutlLwnY6~1_xU%{7QB2v8l_hC zO3aoBp93P}2AFkbA$%xQo+T@lP|*CBmoId1cTQO&-=xPqa51c}+zBj#43tjqdzv5R z9)y^bFC1?^D1Wd)SRI8rHibpUlu|#OCDc1RMG>MO5-4UD%q)w_Oc?5Mzdk$wDR9x8{wM$H{G<-0+wF|MCDk&w#v!6Z-*u;K>@h_BCb&kt2^_F!J zI$!1nj$2wHntAg#D`X-}o-XJYz<>A+kw0H~;b5WP)gH(GZCO+4GZsT>u3@RZZ1YcV z<7*?a@T(IWnbCWx;AGW;4;D_T0d@=b*;}@zF$0RPCr%%GOH6PX2Jj6ON~K)P?2hR5 z*}KNiDN4hD9Iosm_qP;nJE!SvScYcmrGW3DI77Kn;@|RL2;=uDm5=2}sY>(WKv~tW z_Dy-4#tAC5=RT2!JXShwD`QDb*i7Y@3XwL02*~zgxciWyeQf?pjI%oQ)*pCQ%^x_l zyLeFuWVBa@i_x}mc|9c|+YS*KBUL}$PIIhw^3pe6q37mgD!1xbf?RR?e|CKcw3%=! zuR_75zH)V(b5r@Xk4je6n^-o<$Y5LYGd}7avBTl>IQ~0U|Gg<|B$qbwh^$q!kqP@Y z8v85!?JFa+gu5YlOtzDi^e!u2r9VxE8+jnF%{!FZxp~8u8kNgZNDCqfW2etQhAhxm z2I|Qi2HX$!vlz!6AuG#YRg^I>z1jkyf(^&Klpe~olXjEoFqC11N1IC1>u3-Ad5Pn_ zoxqNkn>jT_g%jnL{75SKKpLMd6I6QHBJ+!{x42L%ee<(Tn{wV^YlsqmvjqmSCjvc{ zrOv1#O+5TQJi8A4x8$9W?2VkiqMR4ceV={a@}KjPPEx6VAFTY>=Fh+ODF3x*oBD~+ zT*ejEV0YS~1k~#Z<3tQHC^#7D8b1c``ROM*I_OZ_1`%@oyEmN2Uk3!a~9YH1aC7-1MpMnlS1W}AFSN@- zDv(LHCX3@X@pj5S)S@SzYUOfmw(v6u!N1?Qb=HVqFVQAQ?QVm%ElsoO^NqwN>GHlkcXJc(ttgv5g;qb~ z>CXG7oUzQb4!bQkv0JFveVUeI241doz7dk%>4th-{LZ<8Na?A6^=kHJ7d=0O{@xSL z{6~K#*nm4=a|pEQ-HJvE9rWrsQ$@VFusA=)JgK&cNsUJdMX1js&i&ORy6h!EH{HqG zVYb1)DdUZ;o$0IJ3bN`93dQ_ZvB{`%#=*W&og1Zb`!v_sIx1Y@F?O^i$~%YXUHAH!SfH*Iuh^`)OZQCA zJ&Y=tE>JXkm@a+HGhYztRAd(k-JT8D4{t{1&Xetn%Y*1Xr0L&wc;tAqxdx92cCl_{ zj>*Bwl*ZHo04uy$7gzlO8`d7r*AUtJSlEUG8zV0%q#v zeIXj3#majZ&kfB)vw|$uGASKTSWy9?xIuOs!P3~cHBR}5@s=`BA>O_Xd2&JO1Gz9Cqj zIfmrFexdg=?l7uf8N>FeTcRNRImlrTk{wRhP?a6)2qChpD!EcKL>0HN`UE*r=ATIY z3CgNU6SYKso;EAom<@a?8yEWUvKq%IR-U8Yk`^0b^W4?wFyhU60dquJ-T_k$&NL%d z&#x|kN-@#Ii=GoSDojIwn3m{0P$|e>Vv<#lP){UKIVHB_E9gFB`0Ubmhr-VU08Zb7_n27^t7HxCuCm`@-E}1joJ^f-c zHAgI=Zyg1!rIpW+m6g0nl_wQzKDdQdjLmJ9Agqm{r4^XveIzH zK=h2dsvd)c1r;S;%J>rTe)(p1X{!mYZhH}M_L~bMjcGc#C9%=R^>E`gfF7Rk zO~S#sH`@8610T{Kuy9JoLB(Ux$=xba&oK&`{7_{Y`KYs7{kj1ccGLAyREcThdY0}X zkFG03_f`Pt9(_c%Lccb_Gs?cS$E0z8ZhOx~34RTCiGD4C|HD%b9v*7-8lKu0KZ`Q! zaxTrwCFuiu6F=(Hg4&V)ngj>^+89UuHCX!VDKv54VuHRzlug&f$-x(pdy{B%j?oe; zEqz1Dtci7ZfeP*WEq&i#T*V=ahE9Z>O0j+Jc#YS1aWLZTAsuk ziQA#r3Rt^EamO9#@kczr5aREK7y=h-mY6XondDX;miuK@It(?}F~!A9W|f37QKGg> zcA)U;x{g_FpNn$re)Ph5p+}AO#3tI)E*nKV=B6yZR{opb^S@Pc^tMKRNt2+ZTsnKl z&~Sc3sG}=_JhdmX9pGaz1ur4gvFG?=6%(5fbE*v6+u#pLnlc-ijtY(I@ASHWgCplc zd5wr@ccsiVYetk{B%G^tCb*)`=>1qMGD}`WARf|jlN-b)*s0}RiiojgD6?0DGQ z;;d^~4PBDGF7@RcSEI-i{-{_FpBw?e?Ie}Fr!?gy6?K`-G13%gs8+2tgwopEi5t2B zc^@*R#7TQtZQZx66GW{@Ru&>tFhk3H57YwLFHa`hf)cLEr^Pi08rgd zF1L`t(l)1+MS!ers`>J2$Xi}5QWfDiY$p|QtMZEhYD`Ymev2#kqIG1s>h}@pIij>8 z)&}vt=rT(S8F?eo%VN>!wY@kBv^rOQAf?Wct>GiHt~_q`c5)Dj6UtkNTKm)chCu6-ETa}l&`w58IHgnFXOD44cw+KRB z1A@3{R5+*z5_8mS>+QGA3#$#)J(>#E;d@Umx5=SLW4#RsMJPZQg|N7H-HW6iap-Qw zuvJ7RUTH(S1iV1UCS;S@J~dDCi)0<`4sSV1)}_|TOqi1{(ps;W9pO{vPM^a$;@F%j zlGLs^b}DNAQV_wg@#1(@FU9*!4x;ELw%>BF?D3MH^^ zV*{AtD&bqGkG5|9C;*9I)H|a!Iye$3w-xld#l)5|oj@QkP`d-|)f!yrTa^ZJ3T=bl z2Q0>Xj^}C729YqkSH&wKAw=4!x-qdb>dN433bt5s&&RHeKL#pmUDF-7yDL(4(?!MIC`*kN_#{IxnAN4qhnkLtE}T^ z&9BfUt8hiWg!qNo4q$sz1oaHYNj~%K`2EhloUFpuGa(96*!s|iIkwcI&!K&}A7Fmmv-55Co%COPC#sqDgXF09N@ zG`ZPJCbYl9Iq-x7K1&!PFaDA&VJPdMF5evQ(~FA^c-)}_S<2s~s>F>1v_pkf;ALfqe~EAZAcU>&oEnYCl72wD>F z`xeEie$VR32Qy6vBL4ID!;7rQOf~?oHyuX`@9p6%Ed7HdA-l4Xleilc--Bj7e*@SU z77)OWh;Tf}68Nz(*0O@JK7I`KhI_@MUs2cg5QI{|@&z;^vXDi5Yus7y=7wB45}|EI z?F9MNH@zn@?c=!p>o>t&qmxKlXCgo)`#1qq;Ne!_H?%RH99PM{)QW*zI%iXaTZmSt zmWI=t!9(Y#snt9W?cGr$4msu>R=n|`%i2B4Hscr>ozHi*@^u$F=d_x66l@lE?`-Al zz-PRb!AiB7Z`%~#@&_IkEKGC;m2*AXG&2D8isRp`PbkqE_A-^&^&EZPrHNQaB?x+@ z#ct+eG*hApK?6Fv^?5U-kz|^7A+dH2cpDslVtstxcq_DGZ3@8zU|f_U&qH7(j0}i+ zsm)OT3r_p@D8HlK4g4DZt`q%r;s(;MGc*3fQw=RV#TqoNrLI5g5jOcvT2?b7oBuj` z<1fUG7W@;?iA8@MxDoa1scaA!Dn)Kc1lu-Cm>Pcm;;;*c-YA-5wXy*mN|spk5G?rQ zxT3G~*-bnkWj+S<+Bl+@5>2MVaFq-3DjL;uJeN1)HwLeryEa3X-5Jgj&yy()P=R&v zF*bMQjVc7@ar6p!hdF#0cuA+zTipoaSR{HO(sT1-l`Ne6I?A?!IS5R zAoS^hUMRpy2=<>jc-h9xCd^a-YG)6;PuBPZ$nZC)Klan>>|R(oQOd2uCA}%)?^rV= zLm}ok>@s<$5=1&j$tttxi95(kwCZvN1?s(a6$A?uc1OV#GilqOg@QVX&w4HRJ8@ ztpDt`4~^smMbCM#Vpek^Z*YXY$;ms2f9F0s#8+}fpWeKLXaob#vO;CH2S~j=wa#Yd zITsFhFZbu*5Z4vc^O`E*4H?iyRZdtyj6`2rYh+w#?Wn6R*iZs|J0&SN>@iY0?nZja zed!_2{uXXV<$R!*R~#f#xmj_M;C5b%coDok$qc}Yb~XbeUse}%hith6;zmU6>7PMq zhhCp>v@=v})OD!2h7@aCj?MPTSvFdILQVgp0Mg~2Nz#@53uU8VxA*Qcl#oZ-xl&SR zozP*1D@-FTC@Y#I-^BDqYK_tg$uNwYr3a%jy?FsKW`G-|+l6j$Vv=O9i=t-`n*uYn zkCZG?Q4>Q<4;bwP57)}*Gpf8XiNBf2j*c=pCzT`B+_>K!vg zH_!`cGALrAhiGLVcCLnQ@H8ijyD>0^Ao%6dEI|tH{jo}oAfRWbYIJz z{mUaJ%OQ=ZFxSA%^HL)IKT4}`zim&}&g-o;5w&lPpP}lMctGtE zcz?_2Igz0-7`+f)S$;^^fZlZ!Mu*4qEnz@z(1@J1ss=T=sTVa5C1g<2swR#pX*Yf@fBbtt8%_|qOMqecxJRGBD@v1^N7ab#&eIV2o+A#*49pno8-G<1)L4bQ|5~R z#tk!CW8l`u{4+tQ6{h+`=}3IR&eAnF-($$`S5!;Hv84^e%o$CStxQ2`86kPpB=b%$VlTB z%8i*Ko`M8S)Gb+tl`|3OL&wz((iokY7t-FFqeOA-zT<6-rCko1aB@XZ!}gqhaMtK{ zH=ICxx+yNLx;nW;#j+T{Mi2rHAZ`y{)*etEH`$!#ItFJgT&dgS$Wx(Qy1Fxc7dY1O zjr?31NQ}!+@Bm*K)P*cc=Uu?ko6XXzs19AGMIA-ylf#~egZ(vBq|Q$7rBn0A%}zeY zRoqLtr8&zbtpcD*lImu?flZxl{0O4u93?>tGwK6X;#{DC9>T_GBAayWD$`Uu#s zT^5eS$c;V2<}Y~^y-m|3R0%WcL30@t1{aAo3ZuDvrid96bY{#C%~c}p=C~F;k_LBR z$a#2{$HtZs^RhVM1XxoAbC)63aB$fIuNy-j%+lWS(q_5qj94PvGJ4g6Ag~1QFl+YG z2J)`O{jx>$>iUm{F!jIF0OKXiC>u|g|4&JP#Qy>b$h&Cz{59a!zjStWT;mJb?;`*S zX(AI2s8?OO#-=c(H-vVS90QrKc2{pO0jQwc5UFo_jZRv!;gEIrU4 z#L)_1r50Kome~mBH6gUXn_Mq;A(Vw);WrdoN+XkYpI&d>^e2pXJo&z9&PQX^$DFAL zTzzne7de5A6nt5lQr%Pu>LG%o-Ik|3t6>^R<`LH%>)Vr8T?5W+WUY4ldQukNhVK3g zaOV${PWkVu+f493sBU$_U#h!S_yD{wEFwf^Q}X0gd5!tX#}*QnSiRyDnTpjrQIVGlv^58Yk98?b*E zw?a`U=4kjOS>)p8)?tYxrw^U`-8o;v{;)))rLuD6N5eJTS}V_?8CKE+t$y9}d1s>- zlV^g!HCNL!K$ArV+I%zi*i9><>2s0>M|2BCL}1Tc?dmG~E@j;(EbHz`dl94tuJ%8E zaG%+4k;>|{qwKws#q0NjwXo3JQVjwI`Qd&EVp3OE|AzMjuf0w0xiGIw*(~v~(U=bp zym0U~i_Nc{JZ{2kU3%vwK1-r_EG=^##SdyBroMnn+t_LQ%-9$f*k#?BXk6Vl>ROaR zT*DnV*vR*IlI}|0rGWK|bKdVNUAeDRpG*;xs(71-faWp^&K!HPj0&yAI&`)U4K^ZS zI6yTGQ?R`MTaNrSQpjtF(n--4`URNu} zc#lh7;fAQ}c}y4$sNbv8by^qOxGy1sIDN;|WTW=kAAf-bO)J~nvF!kNrOsR{hH)9APQ=fn0cQM?Kz2|A0#1gm zue4Kjj@6ihsYH5+Ve{(Kg-VX1hK}V^>y~zs)%<0^+H1Qz{J1P!1XprEkt5PNj;e)T ztt)B!hR*5aHBTd6O&E?MDHEr-aoL;;m%(JoN&8~jT2E5ATCc2Ye#VMvm{)dgU532c zb)5MzX$zjsm&mncB==VAb$Oojr=r;lO634O_d!ntTSv05dgj$(SATHRlbXi3l8I|n z@79M)6LNNFkV_EkW|ebyq|kROS8LhfoY2s0V(8>91PoB=s{I?;IJVZK@a3@%nT9-kz|D(0@4rjA*`@Slrs9lueMs2nCh%Qv^+C`|nWAD*rk5ILRs;WIwwfAn!Qae^- zk0ACap3vUCtH1ks-uFG;=laJ%LgYFkzQ_0TInOIQk=ZRAIP>BnY>8oxdhy2+}CIe8t@9E++@QI@n-n)sHgr`@H4Z~YT^dR+X@^9 ztIGs7cskVfa?vbrm&Li5<;Bro>H!o4hPTrxZkNkjTWx$90F}X8n8B$T%_|2BEUa4ix%4L4Y@?%UiZAh~c zQ_gqx5>TGH7+orniUsf!(VL;j8wN-GLEQ`X1{u*D#)vr&@qBw{(1(@*o<8*z(cGM#eHz{~*u0;juPFB17 z2{!TL+vby_l!5IpUwDrwxLQ=ZdS@q@SeeHzu+n*3P8_PWF^yO9y{HDh@Ao*y{zU>5 zs})DY7r?DO>haDQgO9`YPt$+$ zh>)UtSk#VdlanngTQkE0F>|@p=Y_=f5Yci^ws}_7_E07HmHXvi=FJmEG*tD)({=sf zw+21^=~j02wz25>b@iuD9^h%xG)liuJ$a2_ew|<@l{kB19&yExcRJ1V$=tD>xo)3OYEEedrwSm7nwNz6vOBqzYr_X(aDtLwt@oUcOevuEoqNDG; z+1L{ON+zEadFdXM3Y~GrzIuquHzMtd50G{o5kufP79nh}aC{8qWAP+wK4C_tg&AYY zsqY2oh~lRs>;S=EdGyYP{=F5gs0i1v!}~`jdbL0B z@bA{-_5U1){&yh6!&kS%CvJT$2RUucE3vEr7&Uo$>dl{NCd>dgiSztEuh}OadTQ~P zDEc1@8BW!}y3x^T9_h_xOP>ldKzBii%avbJ+>MX1*KX4q*Q(!EbhG%ND>7-tgxSDR z0&tG^hB5Ah(Iw;WVmtbwv)6wXB<|Ri#fUI|`rUVe=PW{UJ#c29Qgzf#qrorVyx~CFa6Ac=IHTJ9+g^hgg)UI`2QvI_J z2|;%iJsov-)zMU-hkqzo076tEDHLoRE3cHb!AxBg7eQ5O&CG1A=8zc#F3=ya-SyR+M?a zR(xB&mH#vMZ|I~x%lz0!bJPH)nk%UDq|bBJzjpjngwO~bO>FJpuZrL8Mp_N_leOlBSK_Qpsm0_GIuuScm6>)G50b12Cwj`fQkv=5skM; zhRyroCbpwqHoZUNhca~DG8rc*9Q|AFEOAY~B*1Y!qPiu&(cWBW=$r2h%<^(wj=5Od zM6H0=dzvG1hz}cX8>@o~aYe*isE>^q^{v^m8Qc7$ zU~WJIgj1EBA~AUq>+PuJyJXk!n&-mv?bv5Q;OSlH7bxzJRMI-nsVs#aaFEMfOOJ9V zO<6~h79cKkE|G9eo8K~uxHpFauH(TI)ZNT7V@eR0MlHOe)E1+yCL05TeoFqqT@8d9 zWYe0$?z?yrrbnT`T6a|5lYKSxUJ{S%s^ga{K3xhF!sfbGp5ftA{rFpF16387Q9_io zOs+mFc`;b%?c3!Hf=UcYk3kl#tqGIliYHk|vG+#Hi2N4CieUKg%8`4h(H)q0tj}e` z{p`AzCRjLln~KY^mYa;Ak+!4;qbv`G!Y92U#s5;8kZ5XbZ!m_?aARMm`25Fx59Cxy?x;45ko9Xgty2MqcguM02S{H~M)F}XJFz?LQA z`h0|Cl0Iu4>9-T*e;nQ832Bop2aE#iE~DydB84U*BPyOqNu#%*UvtX2<}^42qW{52 z#waU-YBk);^vX|j#p2AhJnhka$A9M>l-RfG$kms*{4xia3Is;%Z4$ACwL(2ui)O^C zm~(!0E}5u9krWVU_zxN3N(7Kb5!Vs>4I%2oS$$QIq%+c*;Y)tOd+71*u=!n$0G2A` zFTF2EKSkDRKTVlq+yzN=YNgrr?f*U5$k0VpP!ran-v&}hc=FwS$buI?EO0jc8!t%_ z4I!2a7TD{?QX1cP=Z3dr0Min;#QU>IJ8_tEGQLm_c z&*xSOlN(C*QnjPr#KPq9&FF1LCbSY&bVV+N9MLsCi7~#<#D~dU+_Qtnj$K~fIA30# zBltu*E_r}_k=TZA#b9?Se}n}<-0BASazzdhDYlM81LbRZU%!j&M!^u6d#sPM$8b;5 zxn0TDAMD8487sw`Yz@Nd{&IiMGxbj<=qdV@0v7nw#%gnscnko;L8KL;MTgFR&*H|d zD_14@d0ticoD-BylS-nlao?8hE8)FFhSql~&hFph`H+CrO?fBm2UaohI>Rba&eDBM zuP^|8oImwX{ed%#g1$V>kHJx&!+&8W|NmcFG7c%$yd@U%PM;?xN%yT0#J!e(MZmo> zp3BMUI=+brY#W(8UgH@PQVo81y=yI*gUbQ56tzWRhYkz7{eteS_M1E1@bP55ELABR z<{vD@om~ePC7*lFQ%=%X7y#Ds{L+w4R$lrYR08y;xZpc3OdoU6Tv*UAQbSZ;pFPS3 zljTuKaM>k<-v*f3aCVQa;%1t@*5A|LpU^QIvhXvSqMb*5y?ycq$Re)KaDZ$YjN^Q@ z@AAuTAV#S7wVTMIWD<$Iml7Cv9N|8SCo@3p>@{wZsgbOH7Xbmg&3E4r?QeQ!J{!Rs zg)i0!K@+hAnU7v(UWc>{B%6->pJ+_2olx$@KILDm2i?xDtP$tq=s5|diYJ-;q5y?Y zE@=a)&kd(ce|Qgv{c`c(UX8a03+z3;xyy&?me{Y+_-ol$b@gRH|N{e8*N9nN9w zg{+={kuFGT%<;*i`HV6rO$d55PI}`9UxWYbd$ga-rQ9TptR9AHGM7`c#)_!9N&`w>h{XN17%l3o>s80NT8WC%d1xVeNEQ-IB=tR^ zMGsP)s`Ak|{Nui$k~m)|^y8zR?Y}#Z0T}wNXODu!@cDXOWqZb~_-IWdC6ix`a`7Ks z2z*UIr@<@n*g&n{XQvgJBk zRbBp_r<)V?#&^HIdOl3k~t1OtNa!G{gR11H$HqgQIr$gJvw|U)v7c=gRVDCVAnLx${>* zOJe8OKe5bC<(brgCMSs-Kgda`vVN@C-TzD+vM6t+t{@`z`H$pVx*gXF>{?lP{_aN# zm?K!KtkQq)I(8=+ZXSweyd+Eo32p=&7rgg$2%o<5TpUeZK2GJYEYCdWX&JPPxE(vz zA=6%WLB&*N`yw`U6TGktL;k~92H%{WgLQ4nTRO!^)0>#q4othTY)@9fbk* zB6EqM*3=1)#q{UWHWsBySu@%{g$tS=!i8^$0A-&Eqds#rvBefWhlA+-y4@G%evxm) zRZNSWV#>9N0i7UwLW1JI7ajDjKoWGnb&la)>O0O8Nc6Wte;PAArHK9=L#TUjB{i z(3bnMrS(sRq5E2-`RFa`*6<^ZOSzu>W)XMd4F__5N|mk+|1M~_;QbObvi}=F!}3$X z(xx1hP#Uoz&lireo~OdF$3P3GPsjO_zej=0t8BC#YXvd^#FTwj-(9JXTyr(I7Kh;! zJWjfgTpPGvi#hPlYW4;TA@jLGm!m2+JkhUqv?ocKlqMeQm|D5TG0%kEz5d~&@3X4| zL?Rx7<=}oOH{LJPW1(^tZr8OffuA>na^@%AQ0<_jO@16Vj*lNA5TCav$JE6i*clXf zR|ZA$$rI7A1SVx~Nvy2BRDqH+#?rqNv=BxWAw4{1W*eVoh zV;@+pOOyn7)vGxRi)@^EK2){*@YUkolu8hbC8F*0ufVCCJBt)!;{;^Mc%cfcf-BMo zlEsKQWdu%HOkS4{*+ORK^pIT0ttKpeqf)8%xvLlD4P=(x=;vpY2&rOvf7&)b*EH{Q zIAh6HQF~3ezE&x-?+`lv{==Q(`}uuvJWZjRd2koHOvkJpP(UN#&N7TeDajf$xA7}ApAg~0}FYi``Ck3Uss*RCPU622nd7X*!5s55o4hNksblnk)}LRL1^qCr%Kwwt@hha{tgL+PnA<$c{kd~2zGG#_?N}f9 zYZGnFubpH6DR%thdQ{zEw0*kDl33>(lPm(_cibb%c`@o6@q^)bv41#kF}&i7G|DX! zU|Kv`HTa$?cBryL2Drl4aYzMhSOnw@vWGM+nR|r6*17~&WY=4D=g9Zg%sjj`^LX29 zXOAo`7^+0&@{3K@dUzpAl7DdvMSdDYy#y!Ym&J?L@A2XI)@>~>WT@-yJ{mi*-bux! z`Iofvy~sU+RHFBhAdhEB{IYMUj076rbP=sqH%t0ewWjrVJ_zExRc}x+=48iq4sbe- zZfga{00MOSwAzUP_JDw0QtkVZwZvI2zTjfoJbNP!YG64T#_%*%Uv}Ue#vc#|M6|z~ zCc*bJ%H)ctk4j|MoBgCTBQT)T^N5$!adSW?-|e_YUY>@tMRe6;%sN>G zx^T$U=`QO~`pC?|C(d#SkRx@uz7F=&H38MLZtVHDw>2tgtn+$JG)-jM&RM3_&e`R< z59w^D+2*MGrdKqL`vtcw5>Abl4SJ3l2GgZb(?6xovx71szBQOjI&-vj@q5+uaa7|^ zK}D!c0H*P8$J%kL?E-6f?AmHOfO@q4R6V@q^u}V=hQrRSsbnUuXp?kv+wIRpqt-=+ z%v5{L=LK+sj=DCAPAS|-RdEDfzrAa>B&nh(2K`=2Xg9?^B`U{7LRrC>?*Sq~UEg0z z_Lh897}HJT!-r^J!OGizrE&Z7OqNxDCyD+j^Vqti+u``XiXB}1xPO?R6wg}2-o1pS z_1hN6sFuepa1j98f@2GFn1xNA*@OLJV>fwTmF{i%3 zSWSx80UOBLSR{su@UkK&SpJEH6pz2+{idE+ruK1zh9J^RR{^lPf}XD@_t2hIcA~4p45!8c_QI^Ipi%*jSkrjI>*%?l4ZoOpQW9`fLAJdkZESMTZ z@p;+1K@Z+J)@AVn8a*{@%%|cYn~^;SpZkWyKlv{Bd8FzvqSIeEf`Rz>M!l6P$2`og zeN<K)nSMQYcJrFUJ3t-`~l`b-wz4nREpR;mH2^v?d+O?X@SW7bB z97OJ{8+yPs7r1*!R(F%OeF2M#WmX0HMEEXJD;0ZeCFiqstdw7E>1St%BPdXRunGK| z*9n?ZSstNK`%b$uUTdFQ*!=kQdnWYSi8*i3`hq>7Z%W@?oL&*?{U$l2xTvhd+dH)Q z8J&*S1uM&_vH}A=S9ZCWAoiBlkx1~2bF1=9Wn?Eyo1l}YwYOs&P#jm1ZqXt3JuHl_ zEQjq;yrX|AGF4!A!z(|R3Z@Jf3k&Z9j=Lh0C#&)Il!*4(l!)eAk55iP zy`1oAQM&sS*Ge4Ub$Kzsej6)s&xTyai4-|SYNT=B)M=+}{ia&Q@(Kcf*AaD8zUI27 zDw4(D+FMUW?&P_vwO&%#t^=qGeLsC;h_?j0YdWGVugUe%k=X#rHP*LP12bOb!>1Ky z;-v~pvsJalc6s=p>WL>reT8RC^0)TD?Io__Z931IkL2jUw7li78+GcO3oC2j!Zd9h z;GXMwRkraZCPXfDc}Tct^Sh@ampZ7VM5^n`MZf1Cq1K?jD)A_E>2jkh4^dh^w&{^G zkx;5TnU1Wc?c8d4?KixYL6ST6SNzyt+IEoWp*$HUvoD``9EiMg)@;kUVcO1I-T9l} z_l2V~niuerrha!ws4*yp`Z9fgn>!h%DfNJsD?tepa7+owWh0B;x^Wcwf_}i8dRMia zBv$ny+?1`ZGG{%}s)0(q2`)nIHU3(YZ`CA-yCZTXreEml^iOaz=E)E%*iTxA#JX5? zJ604U%M2qN_@}kmO*a#sY4&_nx5DfY8=K>=DRO#nx+o0b%8#5GwW2XO0X59gv`COL ztd5y5TVSGNRS9xiGPKj9tSH>ojU?Y=IEjZ?`D;bFQT_|HoX5FM6(} zrIn3fECO7n1C=zBPDL7b`CHZ0StA&Eg?f52$OBG0xxd`eIy}Dy3+o+)6>};bKp&y;Q zws+9yn?QPO`t#WtA6|t&?h_9mRp$FdHZ_PxyCyv7X6$M5Dl@`L!0Mx;oEfZ|4>AT#EwJj}ijiRgRPQ zUJ<7S95Pf_n=MNfnxAJRDI=W#u{CDoOyY!awXdO1s#oe(8hL(j4HRCfw#+yU=yxCDJTs(T`FKs}7QoA!bC)ZWbiQ|zXA zx7c^}{Y?*ga0|7r5=8cr-kxABwU{0jNrZW!;>vSQkb77sC+j1k9wE!LvPF6o)o(J$ z<0tdIEh1$6y^Pk{D4mNa*}PS5pY}_P_VM3%)4nk7S@ zE6wlTza{%04bKxzr##2Uo@D4v8v>jjCRbmi?!iAH2(k_*?_(Car)`bt799;;X7yIU z7j{nGe{&Y}_&Jg^XW#alE^6Tp`vo35UEUiZy0u2|&ZQ$cax*ptbua7F#_iE*6(4B? z7E^OA^M2YrygF6lB216Ks}<_2LtJfA5h9L7x9Ogg!RZ=DP5h7b&)<$F84;Wt6C!&a zZ}eG{MbKAJ2M=G3i)L=89qQM!J$4FfQ;u_j?|A-^q?9LRK4sHURbZm^li`$o*;+xo zE3QA?+7BmI0ZJ^o@JCx;=?&fh1$)^Rx~sNcW8tGNE566%X6{tNCtiDdZoUcKa|Y z$b(*auXdTa%X8Oylo?*Bm6wCigExWA2Va*=wel(*wVphK&?2F48(?R!Zb zYa1eNw7T{#9Jo+)S&eSe5+XJnRu8pW9REVTOpAD$rQ_0fa+rf2FX9aiy0dNZ{lndy z1lDp|3zG>s7rxLbnx_DthkWsw3B8Z)E$ujkJ)?heCfnOqf_+N(pC;|G#I_w}acCu{ zET{30^yIgusT!YSx^jgp&)qCqd99~%&*z1PK~Ux`dAX=Ne|78uS#M5Ze&XFco2=D( zi2Bho{hX|Yo=?`ki|$m1hm~yi-((R+;JIwFcz!^l}SR-E)&pXNv?O^9j>Z?o8N#OQ^O^OqldQ zwlQJt4FnHxsg3qAb=;l_!!d^27If1IsIF~&@IqnMq_gdAGt$UNqxX?5&LGnw$0aLA z7Zgnuz1m4d<2tR;wG~1zSmv5@mdU&&WjB=U+dbjdn|z2!B~enQn@fzFtAshWsajJY zf~-(cC|mR-Pe0M+FgM3isTkL~RNeK8RMAbyuO5f8oSp(V{W9ukg-RUbM|DZ$j~kh6D#!= zb)G~SETCjzd{Atsb^Jkdjg@~5Moqy37Y&(YZW8dxcWJ3BtFw6U1I*_jt^&yS2g1wroB=H>Tx)%XvkZ1RjRmA4xF$ zfI+TpapQ);EPVr>A=3z5*3=VI4t0#s*{uL1L(7~mOZO8JwtU|5)pVf>XYaLd9nnXU z!SQ!mdY^bzrtL=ZZ& zBHIZ|Nz1f6pvADScS;LJ=`1Y8V2en)j(vwU<`L~&8>|~try&O+R)HYagJGeK0P$e( z9vQTuAV(V|N8ew)`KnrqU9p-rYY?jeZX}`P0FdG4duapJ8_8(iuHom+Cx+6~aydsB zeG|)2XJA<;BI#wmv6hVOBZ|Tz!4D?rI~9f*^bQz10kcbHZCGLocDH?V(Z0}ow zr8P)>66Z>~y5`ChysWA2Rvl%;`x?AXQT?`q`?BQAafOon276z4aWMK2jD_6z2Hp=d zBS9b0VJaa%zRJwp#E3rn-@L&ML*MJ6y7)#8323tBK;wwv>;|V?^nw(>=@lH7CUoN_ zH3&KTb`mij4eIlomE`~1pW^@>uXbMt4EmitdT>f^b1HQorUnK_Y)94z{n-zR?#<22 z#8$O>b#}WTJ9E?7 + + + + + + ir.module.module + + + + + + + diff --git a/module_uninstall_check/wizards/__init__.py b/module_uninstall_check/wizards/__init__.py new file mode 100644 index 000000000..476e5cfe6 --- /dev/null +++ b/module_uninstall_check/wizards/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import wizard_module_uninstall +from . import wizard_module_uninstall_line diff --git a/module_uninstall_check/wizards/action.xml b/module_uninstall_check/wizards/action.xml new file mode 100644 index 000000000..d7c2a5bcd --- /dev/null +++ b/module_uninstall_check/wizards/action.xml @@ -0,0 +1,18 @@ + + + + + + + Uninstallation Impact + wizard.module.uninstall + form + form + new + + + diff --git a/module_uninstall_check/wizards/wizard_module_uninstall.py b/module_uninstall_check/wizards/wizard_module_uninstall.py new file mode 100644 index 000000000..a84e9eee4 --- /dev/null +++ b/module_uninstall_check/wizards/wizard_module_uninstall.py @@ -0,0 +1,117 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import api, fields, models + + +class WizardModuleUninstall(models.TransientModel): + _name = 'wizard.module.uninstall' + + def _default_module_id(self): + return self._context.get('active_id', False) + + module_id = fields.Many2one( + string='Module', comodel_name='ir.module.module', required=True, + domain=[('state', 'not in', ['uninstalled', 'uninstallable'])], + default=_default_module_id, + help="Choose a module. The wizard will display all the models" + " and fields linked to that module, that will be dropped," + " if selected module is uninstalled.\n" + " Note : Only Non Transient items will be displayed") + + module_ids = fields.Many2many( + string='Impacted modules', compute='_compute_module_ids', + multi='module_ids', + comodel_name='ir.module.module', readonly=True, + help="Modules list that will be uninstalled by dependency") + + module_qty = fields.Integer( + string='Impacted modules Quantity', compute='_compute_module_ids', + multi='module_ids', readonly=True) + + module_name = fields.Char( + string='Module Name', related='module_id.name', readonly=True) + + model_line_ids = fields.One2many( + comodel_name='wizard.module.uninstall.line', readonly=True, + inverse_name='wizard_id', domain=[('line_type', '=', 'model')]) + + field_line_ids = fields.One2many( + comodel_name='wizard.module.uninstall.line', readonly=True, + inverse_name='wizard_id', domain=[('line_type', '=', 'field')]) + + # Compute Section + @api.multi + @api.depends('module_id') + def _compute_module_ids(self): + for wizard in self: + if wizard.module_id: + res = wizard.module_id.downstream_dependencies() + wizard.module_ids = res + wizard.module_qty = len(res) + else: + wizard.module_ids = False + wizard.module_qty = 0 + + # OnChange Section + @api.multi + @api.onchange('module_id') + def onchange_module_id(self): + model_data_obj = self.env['ir.model.data'] + model_obj = self.env['ir.model'] + field_obj = self.env['ir.model.fields'] + + for wizard in self: + wizard.model_line_ids = False + wizard.field_line_ids = False + + for wizard in self: + model_ids = [] + module_names = wizard.module_ids.mapped('name')\ + + [wizard.module_id.name] + # Get Models + models_data = [] + all_model_ids = model_data_obj.search([ + ('module', 'in', module_names), + ('model', '=', 'ir.model')]).mapped('res_id') + all_model_ids = list(set(all_model_ids)) + for model in model_obj.browse(all_model_ids).filtered( + lambda x: not x.osv_memory): + # Filter models that are not associated to other modules, + # and that will be removed, if the selected module is + # uninstalled + other_declarations = model_data_obj.search([ + ('module', 'not in', module_names), + ('model', '=', 'ir.model'), + ('res_id', '=', model.id)]) + if not len(other_declarations): + models_data.append((0, 0, { + 'line_type': 'model', + 'model_id': model.id, + })) + model_ids.append(model.id) + wizard.model_line_ids = models_data + + # Get Fields + fields_data = [] + all_field_ids = model_data_obj.search([ + ('module', 'in', module_names), + ('model', '=', 'ir.model.fields')]).mapped('res_id') + for field in field_obj.search([ + ('id', 'in', all_field_ids), + ('model_id', 'not in', model_ids), + ('ttype', 'not in', ['one2many'])], + order='model_id, name'): + other_declarations = model_data_obj.search([ + ('module', 'not in', module_names), + ('model', '=', 'ir.model.field'), + ('res_id', '=', model.id)]) + if not len(other_declarations)\ + and not field.model_id.osv_memory: + fields_data.append((0, 0, { + 'line_type': 'field', + 'field_id': field.id, + })) + wizard.field_line_ids = fields_data diff --git a/module_uninstall_check/wizards/wizard_module_uninstall.xml b/module_uninstall_check/wizards/wizard_module_uninstall.xml new file mode 100644 index 000000000..f6ab685c1 --- /dev/null +++ b/module_uninstall_check/wizards/wizard_module_uninstall.xml @@ -0,0 +1,49 @@ + + + + + + + wizard.module.uninstall + +
+

The following models and fields will be dropped if uninstallation of the selected module is done

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
diff --git a/module_uninstall_check/wizards/wizard_module_uninstall_line.py b/module_uninstall_check/wizards/wizard_module_uninstall_line.py new file mode 100644 index 000000000..b34759448 --- /dev/null +++ b/module_uninstall_check/wizards/wizard_module_uninstall_line.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from openerp import api, fields, models + +_logger = logging.getLogger(__name__) + + +class WizardModuleUninstallLine(models.TransientModel): + _name = 'wizard.module.uninstall.line' + + LINE_TYPE_SELECTION = [ + ('model', 'Model'), + ('field', 'Field'), + ] + + DB_TYPE_SELECTION = [ + ('', 'Unknown Type'), + ('r', 'Ordinary Table'), + ('i', 'Index'), + ('S', 'Sequence'), + ('v', 'view'), + ('c', 'Composite Type'), + ('t', 'TOAST table'), + ] + + wizard_id = fields.Many2one( + comodel_name='wizard.module.uninstall', required=True) + + line_type = fields.Selection( + selection=LINE_TYPE_SELECTION, required=True) + + model_id = fields.Many2one(comodel_name='ir.model', readonly=True) + + model_name = fields.Char( + string='Model Name', related='model_id.model', readonly=True) + + table_size = fields.Integer( + string='Table Size (KB)', compute='_compute_database', + multi='database', store=True) + + index_size = fields.Integer( + string='Indexes Size (KB)', compute='_compute_database', + multi='database', store=True) + + db_type = fields.Selection( + selection=DB_TYPE_SELECTION, compute='_compute_database', + multi='database', store=True) + + db_size = fields.Integer( + string='Total DB Size (KB)', compute='_compute_database', + multi='database', store=True) + + model_row_qty = fields.Integer( + string='Rows Quantity', compute='_compute_database', multi='database', + store=True, + help="The approximate value of the number of records in the database," + " based on the PostgreSQL column 'reltuples'.\n You should reindex" + " your database, to have a more precise value\n\n" + " 'REINDEX database your_database_name;'") + + field_id = fields.Many2one(comodel_name='ir.model.fields', readonly=True) + + field_name = fields.Char( + string='Field Name', related='field_id.name', readonly=True) + + field_ttype = fields.Selection( + string='Field Type', related='field_id.ttype', readonly=True) + + field_model_name = fields.Char( + string='Field Model Name', related='field_id.model_id.model', + readonly=True) + + @api.multi + @api.depends('model_id', 'line_type') + def _compute_database(self): + table_names = [] + for line in self.filtered(lambda x: x.model_id): + model_obj = self.env.registry.get(line.model_id.model, False) + if model_obj: + table_names.append(model_obj._table) + else: + # Try to guess table name, replacing "." by "_" + table_names.append(line.model_id.model.replace('.', '_')) + + # Get Relation Informations + req = ( + "SELECT" + " table_name," + " row_qty," + " db_type," + " pg_table_size(table_name::regclass::oid) AS table_size," + " pg_indexes_size(table_name::regclass::oid) AS index_size," + " pg_total_relation_size(table_name::regclass::oid) AS db_size" + " FROM (" + " SELECT" + " relname AS table_name," + " reltuples AS row_qty," + " relkind as db_type" + " FROM pg_class" + " WHERE relname IN %s) AS tmp;" + ) + self.env.cr.execute(req, (tuple(table_names),)) + res = self.env.cr.fetchall() + table_res = {x[0]: (x[1], x[2], x[3], x[4], x[5]) for x in res} + for line in self: + model_obj = self.env.registry.get(line.model_id.model, False) + if model_obj: + table_name = model_obj._table + else: + # Try to guess table name, replacing "." by "_" + table_name = line.model_id.model.replace('.', '_') + res = table_res.get(table_name, (0, '', 0, 0, 0)) + line.model_row_qty = res[0] + line.db_type = res[1] + line.table_size = res[2] / 1024 + line.index_size = res[3] / 1024 + line.db_size = res[4] / 1024