From 4690cbb51c099e57d86abf4416e0fc9a13022c4a Mon Sep 17 00:00:00 2001
From: luciacrv <lc.reyerovargas@gmail.com>
Date: Sat, 26 Aug 2023 19:31:21 -0600
Subject: [PATCH 01/28] feat(account.invoice): Se realizan cambios Odoo 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Se adapta módulo para migrarlo a la versión 15 de Odoo
---
 CONTRIBUTORS.rst                              |   1 +
 l10n_mx_facturae/__init__.py                  |   2 +-
 .../{__openerp__.py => __manifest__.py}       |  39 +-
 l10n_mx_facturae/data/account_invoice.xml     |  58 --
 l10n_mx_facturae/data/account_move.xml        |  35 +
 ...ccount_voucher.xml => account_payment.xml} |  26 +-
 l10n_mx_facturae/data/email_template.xml      |   8 +-
 l10n_mx_facturae/data/facturae_data.xml       |   7 +-
 .../data/ir_attachment_facturae_config.xml    |  30 +-
 l10n_mx_facturae/data/ir_cron.xml             |  26 +-
 .../demo/l10n_mx_facturae_demo.xml            |  22 +
 l10n_mx_facturae/models/__init__.py           |   6 +-
 l10n_mx_facturae/models/account_invoice.py    | 671 ------------------
 l10n_mx_facturae/models/account_move.py       | 650 ++++++++++++++++-
 ...{account_voucher.py => account_payment.py} |  91 +--
 l10n_mx_facturae/models/email_template.py     |   2 +-
 l10n_mx_facturae/models/res_company.py        |  24 +
 l10n_mx_facturae/models/res_partner.py        |  32 +-
 .../{account_invoice.odt => account_move.odt} | Bin
 ...ccount_voucher.odt => account_payment.odt} | Bin
 l10n_mx_facturae/security/res_groups.xml      |   2 +-
 .../{account_invoice.txt => account_move.txt} |   0
 l10n_mx_facturae/templates/account_move.xml   |  56 ++
 .../{account_invoice.xml => account_move.xml} | 162 ++---
 ...ccount_voucher.xml => account_payment.xml} |  50 +-
 l10n_mx_facturae/views/res_company.xml        |  15 +
 l10n_mx_facturae/views/res_partner.xml        | 103 +--
 l10n_mx_facturae/wizard/__init__.py           |   4 +-
 .../wizard/account_invoice_refund.py          |   2 +-
 .../wizard/account_invoice_refund.xml         |   4 +-
 .../wizard/wizard_multi_charts_accounts.py    |   2 +-
 31 files changed, 1094 insertions(+), 1036 deletions(-)
 rename l10n_mx_facturae/{__openerp__.py => __manifest__.py} (50%)
 delete mode 100644 l10n_mx_facturae/data/account_invoice.xml
 create mode 100644 l10n_mx_facturae/data/account_move.xml
 rename l10n_mx_facturae/data/{account_voucher.xml => account_payment.xml} (73%)
 create mode 100644 l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml
 delete mode 100644 l10n_mx_facturae/models/account_invoice.py
 rename l10n_mx_facturae/models/{account_voucher.py => account_payment.py} (89%)
 create mode 100644 l10n_mx_facturae/models/res_company.py
 rename l10n_mx_facturae/report/{account_invoice.odt => account_move.odt} (100%)
 rename l10n_mx_facturae/report/{account_voucher.odt => account_payment.odt} (100%)
 rename l10n_mx_facturae/templates/{account_invoice.txt => account_move.txt} (100%)
 create mode 100644 l10n_mx_facturae/templates/account_move.xml
 rename l10n_mx_facturae/views/{account_invoice.xml => account_move.xml} (56%)
 rename l10n_mx_facturae/views/{account_voucher.xml => account_payment.xml} (70%)
 create mode 100644 l10n_mx_facturae/views/res_company.xml

diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst
index 579857ee15..e3344df941 100644
--- a/CONTRIBUTORS.rst
+++ b/CONTRIBUTORS.rst
@@ -2,3 +2,4 @@
 * Moisés López
 * Federico Cruz <federico.cruz@openpyme.mx>
 * Agustín Cruz <agustin.cruz@openpyme.mx>
+* Noé Fernando <noe.izquierdo@openpyme.mx>
\ No newline at end of file
diff --git a/l10n_mx_facturae/__init__.py b/l10n_mx_facturae/__init__.py
index 35e7c9600c..731182b4b8 100644
--- a/l10n_mx_facturae/__init__.py
+++ b/l10n_mx_facturae/__init__.py
@@ -1,4 +1,4 @@
 # -*- coding: utf-8 -*-
 
 from . import models
-from . import wizard
+#from . import wizard
diff --git a/l10n_mx_facturae/__openerp__.py b/l10n_mx_facturae/__manifest__.py
similarity index 50%
rename from l10n_mx_facturae/__openerp__.py
rename to l10n_mx_facturae/__manifest__.py
index ab41196dd2..60c998a8f1 100644
--- a/l10n_mx_facturae/__openerp__.py
+++ b/l10n_mx_facturae/__manifest__.py
@@ -8,27 +8,32 @@
     "website": "http://www.openpyme.mx/",
     "license": "AGPL-3",
     "depends": [
-        "account_cancel",
-        "account_invoice_discount",
-        "base_vat",
         "base_iso3166",
-        "l10n_mx_account_tax_category",
-        "l10n_mx_ir_attachment_facturae",
-        "l10n_mx_res_partner_bank",
+        "l10n_mx_base",
+    ],
+    "demo": [
+        "demo/l10n_mx_facturae_demo.xml",
     ],
-    "demo": [],
     "data": [
-        "security/res_groups.xml",
-        "views/account_invoice.xml",
-        "views/account_voucher.xml",
-        "views/res_partner.xml",
-        "wizard/account_invoice_refund.xml",
-        "data/account_invoice.xml",
-        "data/account_voucher.xml",
-        "data/ir_cron.xml",
-        "data/email_template.xml",
-        "data/ir_attachment_facturae_config.xml",
+        # Datas
+        "data/account_move.xml",
+        #"data/account_payment.xml",
+        #"data/email_template.xml",
         "data/facturae_data.xml",
+        "data/ir_attachment_facturae_config.xml",
+        #"data/ir_cron.xml",
+
+        # Views
+        "views/account_move.xml",
+        #"views/account_payment.xml",
+        "views/res_company.xml",
+        "views/res_partner.xml",
+
+        # Security
+        "security/res_groups.xml",
+
+        #Views Wizards
+        #"wizard/account_invoice_refund.xml",
     ],
     "installable": True,
 }
diff --git a/l10n_mx_facturae/data/account_invoice.xml b/l10n_mx_facturae/data/account_invoice.xml
deleted file mode 100644
index d59cdf0730..0000000000
--- a/l10n_mx_facturae/data/account_invoice.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
-<data>
-
-    <!-- XML invoice report definition -->
-    <record id="report_templates_aeroo_account_invoice_cfdi"
-        model="report.templates.aeroo">
-        <field name="name">Account Invoice CFDI XML</field>
-        <field name="model">account.invoice</field>
-        <field name="report_name">account.invoice.cfdi.xml</field>
-        <field
-            name="report_rml">l10n_mx_facturae/templates/account_invoice.txt</field>
-    </record>
-
-    <record id="ir_actions_report_xml_account_invioice_cfdi"
-        model="ir.actions.report.xml">
-        <field name="name">Account Invoice CFDI XML</field>
-        <field name="type">ir.actions.report.xml</field>
-        <field name="model">account.invoice</field>
-        <field name="report_name">account.invoice.cfdi.xml</field>
-        <field name="report_type">aeroo</field>
-        <field name="in_format">genshi-raw</field>
-        <field name="out_format" ref="report_aeroo.report_mimetypes_raw" />
-        <field name="aeroo_templates_ids"
-            eval="[(6, 0, [report_templates_aeroo_account_invoice_cfdi])]" />
-        <field name="parser_state">default</field>
-    </record>
-
-</data>
-
-<data noupdate="1">
-
-    <!-- PDF invoice report definition -->
-    <record id="report_templates_aeroo_pdf_account_invoice_cfdi"
-        model="report.templates.aeroo">
-        <field name="name">Default Invoice Report PDF</field>
-        <field name="model">account.invoice</field>
-        <field name="report_name">invoice.report.aaero.pdf</field>
-        <field name="report_rml">l10n_mx_facturae/report/account_invoice.odt</field>
-    </record>
-
-    <record id="ir_actions_report_pdf_account_invioice_cfdi"
-        model="ir.actions.report.xml">
-        <field name="name">Account Invoice CFDI PDF</field>
-        <field name="type">ir.actions.report.xml</field>
-        <field name="model">account.invoice</field>
-        <field name="report_name">invoice.report.aaero.pdf</field>
-        <field name="report_type">aeroo</field>
-        <field name="in_format">oo-odt</field>
-        <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt" />
-        <field name="aeroo_templates_ids"
-            eval="[(6, 0, [report_templates_aeroo_pdf_account_invoice_cfdi])]" />
-        <field name="parser_loc">l10n_mx_ir_attachment_facturae/report/generate_qr.py</field>
-        <field name="parser_state">loc</field>
-    </record>
-
-</data>
-</openerp>
diff --git a/l10n_mx_facturae/data/account_move.xml b/l10n_mx_facturae/data/account_move.xml
new file mode 100644
index 0000000000..a28b7f9ba9
--- /dev/null
+++ b/l10n_mx_facturae/data/account_move.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+<data>
+
+    <!-- XML invoice report definition -->
+    <record id="ir_actions_report_xml_account_invioice_cfdi"
+        model="ir.actions.report">
+        <field name="name">Account Move CFDI XML</field>
+        <field name="model">account.move</field>
+        <field name="report_name">account.move.cfdi.xml</field>
+        <field name="report_type">aeroo</field>
+        <field name="in_format">genshi-raw</field>
+        <field name="out_format" ref="report_aeroo.report_mimetypes_raw" />
+        <field name="report_file">l10n_mx_facturae/templates/account_move.txt</field>
+    </record>
+
+</data>
+
+<data noupdate="1">
+
+    <!-- PDF invoice report definition -->
+    <record id="ir_actions_report_pdf_account_invioice_cfdi"
+        model="ir.actions.report">
+        <field name="name">Account Move CFDI PDF</field>
+        <field name="model">account.move</field>
+        <field name="report_name">move.report.aaero.pdf</field>
+        <field name="report_type">aeroo</field>
+        <field name="in_format">oo-odt</field>
+        <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt" />
+        <field name="report_file">l10n_mx_facturae/report/account_move.odt</field>
+        <field name="parser_model">report.l10n_mx_qr</field>
+    </record>
+
+</data>
+</odoo>
diff --git a/l10n_mx_facturae/data/account_voucher.xml b/l10n_mx_facturae/data/account_payment.xml
similarity index 73%
rename from l10n_mx_facturae/data/account_voucher.xml
rename to l10n_mx_facturae/data/account_payment.xml
index 0ac23e6148..103ef68cd2 100644
--- a/l10n_mx_facturae/data/account_voucher.xml
+++ b/l10n_mx_facturae/data/account_payment.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
-<openerp>
+<odoo>
 <data>
 
     <!-- XML voucher report definition -->
     <record id="report_templates_aeroo_account_voucher_cfdi"
         model="report.templates.aeroo">
-        <field name="name">Account Voucher CFDI XML</field>
-        <field name="model">account.voucher</field>
+        <field name="name">Account VouPaymentcher CFDI XML</field>
+        <field name="model">account.payment</field>
         <field name="report_name">account.voucher.cfdi.xml</field>
         <field
             name="report_rml">l10n_mx_facturae/templates/account_voucher.txt</field>
@@ -31,28 +31,28 @@
 <data noupdate="1">
 
     <!-- PDF voucher report definition -->
-    <record id="report_templates_aeroo_account_voucher_pdf_cfdi"
+    <record id="report_templates_aeroo_account_payment_pdf_cfdi"
         model="report.templates.aeroo">
-        <field name="name">Default Voucher CFDI PDF</field>
-        <field name="model">account.voucher</field>
-        <field name="report_name">account.voucher.cfdi.pdf</field>
-        <field name="report_rml">l10n_mx_facturae/report/account_voucher.odt</field>
+        <field name="name">Default Payment CFDI PDF</field>
+        <field name="model">account.payment</field>
+        <field name="report_name">account.payment.cfdi.pdf</field>
+        <field name="report_rml">l10n_mx_facturae/report/account_payment.odt</field>
     </record>
 
-    <record id="ir_actions_report_pdf_account_voucher_cfdi"
+    <record id="ir_actions_report_pdf_account_payment_cfdi"
         model="ir.actions.report.xml">
-        <field name="name">Account Voucher CFDI PDF</field>
+        <field name="name">Account Payment CFDI PDF</field>
         <field name="type">ir.actions.report.xml</field>
-        <field name="model">account.voucher</field>
+        <field name="model">account.payment</field>
         <field name="report_name">account.voucher.cfdi.pdf</field>
         <field name="report_type">aeroo</field>
         <field name="in_format">oo-odt</field>
         <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt" />
         <field name="aeroo_templates_ids"
-            eval="[(6, 0, [report_templates_aeroo_account_voucher_pdf_cfdi])]" />
+            eval="[(6, 0, [report_templates_aeroo_account_payment_pdf_cfdi])]" />
         <field name="parser_loc">l10n_mx_ir_attachment_facturae/report/generate_qr.py</field>
         <field name="parser_state">loc</field>
     </record>
 
 </data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/data/email_template.xml b/l10n_mx_facturae/data/email_template.xml
index 3d534e910d..64aad2a1ae 100644
--- a/l10n_mx_facturae/data/email_template.xml
+++ b/l10n_mx_facturae/data/email_template.xml
@@ -1,14 +1,14 @@
 <?xml version="1.0" ?>
-<openerp>
+<odoo>
     <!-- Mail template are declared in a NOUPDATE block
          so users can freely customize/delete them -->
     <data noupdate="1">
         <!--Email template -->
-        <record id="account_voucher_cfdi_email_template" model="email.template">
+        <record id="account_payment_cfdi_email_template" model="email.template">
             <field name="name">Electronic Payment Receipt</field>
             <field name="subject">${object.company_id.name|safe} Payment (Ref ${object.number or 'n/a'})</field>
             <field name="partner_to">${object.partner_id.id}</field>
-            <field name="model_id" ref="account_voucher.model_account_voucher"/>
+            <field name="model_id" ref="account_payment.model_account_payment"/>
             <field name="auto_delete" eval="True"/>
             <field name="lang">${object.partner_id.lang}</field>
             <field name="body_html"><![CDATA[
@@ -65,4 +65,4 @@
             ]]></field>
         </record>
     </data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/data/facturae_data.xml b/l10n_mx_facturae/data/facturae_data.xml
index 2f0a3e6c00..c64076bb00 100644
--- a/l10n_mx_facturae/data/facturae_data.xml
+++ b/l10n_mx_facturae/data/facturae_data.xml
@@ -1,12 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 
-<openerp>
-<data noupdate="0">
+<odoo>
 
     <record id="group_cfdi_custom_number" model="res.groups">
         <field name="name">CFDI Custom Number</field>
         <field name="category_id" ref="base.module_category_accounting_and_finance"/>
     </record>
 
-</data>
-</openerp>
+
+</odoo>
diff --git a/l10n_mx_facturae/data/ir_attachment_facturae_config.xml b/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
index bbde0be441..c089ec2088 100644
--- a/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
+++ b/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
@@ -1,28 +1,26 @@
 <?xml version="1.0"?>
-<openerp>
-<data noupdate="1">
+<odoo>
 
-    <record id="ir_attachment_facturae_mx_config_account_invoice"
+    <record id="ir_attachment_facturae_mx_config_account_move"
         model="ir.attachment.facturae.mx.config">
-        <field name="model">account.invoice</field>
+        <field name="model">account.move</field>
         <field name="version">4.0</field>
-        <field name="template_xml_sign">account.invoice.cfdi.xml</field>
+        <field name="template_xml_sign">account.move.cfdi.xml</field>
         <field name="template_xml_cancel">Aun.no.hay.uno</field>
-        <field name="template_pdf_sign">invoice.report.aaero.pdf</field>
-        <field name="template_pdf_cancel">invoice.report.aaero.pdf</field>
-        <field name="email_template_id" ref="account.email_template_edi_invoice"/>
+        <field name="template_pdf_sign">move.report.aaero.pdf</field>
+        <field name="template_pdf_cancel">move.report.aaero.pdf</field>
+        <!--<field name="email_template_id" ref="account.email_template_edi_invoice"/>-->
     </record>
 
-    <record id="ir_attachment_facturae_mx_config_account_voucher"
+    <record id="ir_attachment_facturae_mx_config_account_payment"
         model="ir.attachment.facturae.mx.config">
-        <field name="model">account.voucher</field>
+        <field name="model">account.payment</field>
         <field name="version">4.0</field>
-        <field name="template_xml_sign">account.voucher.cfdi.xml</field>
+        <field name="template_xml_sign">account.payment.cfdi.xml</field>
         <field name="template_xml_cancel">Aun.no.hay.uno</field>
-        <field name="template_pdf_sign">account.voucher.cfdi.pdf</field>
-        <field name="template_pdf_cancel">account.voucher.cfdi.pdf</field>
-        <field name="email_template_id" ref="account_voucher_cfdi_email_template"/>
+        <field name="template_pdf_sign">account.payment.cfdi.pdf</field>
+        <field name="template_pdf_cancel">account.payment.cfdi.pdf</field>
+        <!--<field name="email_template_id" ref="account_payment_cfdi_email_template"/>-->
     </record>
 
-</data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/data/ir_cron.xml b/l10n_mx_facturae/data/ir_cron.xml
index 976b588bbd..ccda338b1d 100644
--- a/l10n_mx_facturae/data/ir_cron.xml
+++ b/l10n_mx_facturae/data/ir_cron.xml
@@ -1,16 +1,12 @@
 <?xml version="1.0" encoding='UTF-8'?>
-<openerp>
-    <data noupdate="1">
-        <record model="ir.cron" id="ir_cron_invoices_pending_to_cancel">
-           <field name="name">Invoices pending to cancel</field>
-           <field name="interval_number">2</field>
-           <field name="interval_type">hours</field>
-           <field name="numbercall">-1</field>
-           <field name="model" eval="'account.invoice'"/>
-           <field name="function" eval="'cron_invoices_pending_to_cancel'"/>
-           <field name="args" eval="'()'"/>
-           <field name="active" eval="True" />
-        </record>
-    </data>
-</openerp>
-
+<odoo noupdate="1">
+    <record model="ir.cron" id="ir_cron_invoices_pending_to_cancel">
+        <field name="name">Invoices pending to cancel</field>
+        <field name="interval_number">2</field>
+        <field name="interval_type">hours</field>
+        <field name="numbercall">-1</field>
+        <field name="model_name">l10n_mx_base.model_account_move</field>
+        <!--<field name="function" eval="cron_invoices_pending_to_cancel"/>-->
+        <field name="active" eval="True" />
+    </record>
+</odoo>
diff --git a/l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml b/l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml
new file mode 100644
index 0000000000..aebdd71c2b
--- /dev/null
+++ b/l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+    <record id="res_partner_2023" model="res.partner">
+        <field name="name">Felix Manuel Andrade Ballado</field>
+        <field name="is_company">1</field>
+        <field name="street">4557 10 oriente</field>
+        <field name="city">Huimanguillo</field>
+        <field name="state_id" ref="base.state_mx_tab"/>
+        <field name="zip">86400</field>
+        <field name="vat">MXAABF800614HI0</field>
+        <field name="phone">(870)-931-0505</field>
+        <field name="country_id" ref="base.mx"/>
+        <field name="email">felix.andrade@example.com</field>
+        <field name="image_2023" type="base64" file="base/static/img/partner_demo_portal.jpg"/>
+        <field name="company_id" ref="l10n_mx.demo_company_mx"/>
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_616"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+        <field name="payment_method_id" ref="l10n_mx_base.cfdi_payment_method_1"/>
+    </record>
+
+</odoo>
diff --git a/l10n_mx_facturae/models/__init__.py b/l10n_mx_facturae/models/__init__.py
index cbde404e0d..0431e16b13 100644
--- a/l10n_mx_facturae/models/__init__.py
+++ b/l10n_mx_facturae/models/__init__.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 
-from . import account_invoice
 from . import account_move
-from . import account_voucher
-from . import email_template
+#from . import account_payment
+#from . import email_template
+from . import res_company
 from . import res_partner
diff --git a/l10n_mx_facturae/models/account_invoice.py b/l10n_mx_facturae/models/account_invoice.py
deleted file mode 100644
index 294f08df6a..0000000000
--- a/l10n_mx_facturae/models/account_invoice.py
+++ /dev/null
@@ -1,671 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import logging
-import pytz
-from datetime import datetime, timedelta
-
-from openerp import api, fields, models
-from openerp.exceptions import ValidationError, Warning as UserError
-from openerp.tools.float_utils import float_round
-from openerp.tools.translate import _
-
-
-_logger = logging.getLogger(__name__)
-
-
-class AccountInvoice(models.Model):
-    _name = "account.invoice"
-    _inherit = ["account.invoice", "base.cfdi"]
-
-    @property
-    def formapago(self):
-        """Return payment type for display on CFDI"""
-        self.ensure_one()
-        try:
-            code = self.payment_type_ids[0].code
-        except IndexError:
-            code = "99"
-        return code
-
-    @property
-    def descuento(self):
-        self.ensure_one()
-        discount = 0.0
-        for line in self.invoice_line:
-            discount += line.descuento
-        return discount
-
-    @property
-    def subtotal(self):
-        self.ensure_one()
-        subtotal = 0.0
-        for line in self.invoice_line:
-            subtotal += line.importe
-        return subtotal
-
-    @property
-    def total(self):
-        self.ensure_one()
-        return (
-            self.subtotal
-            - self.descuento
-            + self.impuestos["total_traslados"]
-            + self.impuestos["total_retenciones"]
-            + self.impuestos["total_locales"]
-        )
-
-    @property
-    def impuestos(self):
-        """Return computed taxes for display on CFDI"""
-        self.ensure_one()
-        tax_grouped = {}
-        taxes = {
-            "traslados": [],
-            "retenciones": [],
-            "locales": [],
-            "total_traslados": 0.0,
-            "total_retenciones": 0.0,
-            "total_locales": 0.0,
-        }
-
-        for line in self.invoice_line:
-            for tax in line.export_invoice_line_for_xml().taxes:
-                # Mimic logic from compute function in account.invoice.tax
-                # object to group taxes from invoice lines and be able to get
-                # the same result for display on CFDI
-                if self.type in ("out_invoice", "in_invoice"):
-                    tax.account_id = tax.account_collected_id or line.account_id.id
-                    tax.analytic_id = tax.account_analytic_collected_id
-                else:
-                    tax.account_id = tax.account_paid_id or line.account_id.id
-                    tax.analytic_id = tax.account_analytic_paid_id
-
-                key = (tax.id, tax.account_id, tax.analytic_id)
-                if key not in tax_grouped:
-                    tax_grouped[key] = tax
-                else:
-                    tax_grouped[key].amount += tax.amount
-                    tax_grouped[key].base += tax.base
-
-        # Classify taxes for CFDI
-        for dummy, tax in tax_grouped.items():
-            if tax.group in ["IVA", "IEPS", "ISR"]:
-                if tax.amount >= 0:
-                    taxes["traslados"].append(tax)
-                    taxes["total_traslados"] += tax.amount
-                else:
-                    taxes["retenciones"].append(tax)
-                    taxes["total_retenciones"] += tax.amount
-            else:
-                taxes["locales"].append(tax)
-                taxes["total_locales"] += tax.amount
-        return taxes
-
-    # pylint: disable=W0212
-    address_issued_id = fields.Many2one(
-        "res.partner",
-        "Address Issued Invoice",
-        readonly=True,
-        states={"draft": [("readonly", False)]},
-        help="This address will be used as address that issued "
-        "for electronic invoice",
-        compute="_compute_address_issued",
-    )
-    datetime = fields.Datetime(compute="_compute_datetime")
-    date_invoice_cancel = fields.Datetime(
-        "Date Invoice Cancelled",
-        readonly=True,
-        copy=False,
-        help="If the invoice is cancelled, save the date" " when was cancel",
-    )
-    payment_method_id = fields.Many2one(
-        "cfdi.payment.method",
-        string="Payment Method",
-        readonly=True,
-        states={"draft": [("readonly", False)]},
-        help="Payment method associated with this payment term according",
-    )
-    cfdi_use = fields.Many2one(
-        "cfdi.use", "CFDI use", readonly=True, states={"draft": [("readonly", False)]}
-    )
-    cfdi_relation_type = fields.Many2one("cfdi.relation.type", "CFDI Relation type")
-    state = fields.Selection(selection_add=[("waiting", _("To cancel"))])
-    l10n_mx_edi_to_cancel = fields.Char(
-        compute="_compute_l10n_mx_edi_to_cancel",
-        search="_search_l10n_mx_edi_to_cancel",
-        help="Technical field to display a warning when an invoice must be canceled "
-        "because have being replaced by a new one.",
-    )
-    l10n_mx_edi_original_invoice = fields.Many2one(
-        "account.invoice",
-        compute="_compute_l10n_mx_edi_to_cancel",
-        help="Technical field to relate origin invoice with substitute",
-    )
-    cfdi_periodicity = fields.Selection(
-        [
-            ("01", "Daily"),
-            ("02", "Weekly"),
-            ("03", "Biweekly"),
-            ("04", "Monthly"),
-        ],
-        default="04",
-    )
-
-    l10n_mx_export = fields.Boolean(
-        compute="_compute_export",
-        string="Merchandise export"
-    )
-
-    @api.multi
-    @api.depends("company_id")
-    def _compute_is_cfdi_candidate(self):
-        mexico = self.env.ref("base.mx")
-        for record in self:
-            record.is_cfdi_candidate = bool(record.company_id.country_id == mexico)
-
-    @api.multi
-    def _get_cfdi_datetime(self):
-        """This base function inherits the creation of the cfdi datetime
-        what it basically does is respect the date_invoice from invoice form
-        """
-        self.ensure_one()
-        date_invoice = fields.Datetime.from_string(self.date_invoice)
-        time_now = fields.Datetime.context_timestamp(self, datetime.now())
-        # If we are singing an invoice in the past we need to move forward 1 minute the
-        # computed time to be in the 72 hours range defined by SAT
-        # On the opposite if we are singing an invoice for today we move back 1 minute
-        # the computed time to prevent false errors about being out of 72 hours range
-        if date_invoice.date() < time_now.date():
-            time_now += timedelta(minutes=1)
-        else:
-            time_now -= timedelta(minutes=1)
-        date_create = datetime.combine(date_invoice, time_now.timetz())
-        # Needed to save date into the database as until now we are using user timezone
-        # to express the datetime that will cause double timezone conversion if kept
-        date_create = date_create.astimezone(tz=pytz.utc)
-        return fields.Datetime.to_string(date_create)
-
-    @api.multi
-    @api.depends("journal_id")
-    def _compute_address_issued(self):
-        for invoice in self:
-            if invoice.journal_id.address_issued_id:
-                invoice.address_issued_id = invoice.journal_id.address_issued_id
-            else:
-                invoice.address_issued_id = invoice.company_id.partner_id
-
-    @api.multi
-    def _compute_sequence_id(self):
-        for record in self:
-            record.sequence_id = record.journal_id.sequence_id
-
-    @api.multi
-    def _compute_l10n_mx_edi_to_cancel(self):
-        """Computes legend to display when an invoice needs to be cancelled because
-        have being substituted by a new one.
-        """
-        # Get substitution relation to compare
-        substitution = self.env.ref("l10n_mx.cfdi_relation_type_04")
-        invoices_to_cancel = self.filtered(
-            lambda i: i.type == "out_invoice" and i.state in ("open", "paid")
-        )
-        for inv in invoices_to_cancel:
-            message = ""
-            origin_documents = inv.refund_invoice_ids.filtered(
-                lambda i:
-                    i.state in ("open", "paid") and i.type == "out_invoice"
-            )
-            is_substitue = any(
-                [o.cfdi_relation_type == substitution for o in origin_documents]
-            )
-            if origin_documents and is_substitue:
-                message = _("This invoice must be cancelled because have being "
-                            "replaced with invoice: ")
-                inv.l10n_mx_edi_original_invoice = origin_documents[0]
-
-            inv.l10n_mx_edi_to_cancel = message
-
-    @api.model
-    def _search_l10n_mx_edi_to_cancel(self, operator, value):
-        """Allows to get ids for invoices that must be cancelled"""
-        substitution = self.env.ref("l10n_mx.cfdi_relation_type_04")
-
-        if operator not in ["=", "!="] or not isinstance(value, bool):
-            raise UserError(_("Operation not supported"))
-
-        if operator != "=":
-            value = not value
-
-        self._cr.execute(
-            """
-            SELECT id FROM account_invoice ai
-            WHERE EXISTS (
-                SELECT * FROM account_invoice_refunds_rel airr
-                INNER JOIN account_invoice air on airr.refund_invoice_id = air.id
-                WHERE airr.original_invoice_id = ai.id
-                AND air.cfdi_relation_type = %s
-                LIMIT 1
-            )
-            AND ai.state IN ('open', 'paid')
-            """,
-            (substitution.id,)
-        )
-        return [
-            ("id", "in" if value else "not in", [r[0] for r in self._cr.fetchall()])
-        ]
-
-    @api.model
-    def cron_invoices_pending_to_cancel(self):
-        invoices = self.env["account.invoice"].search([("state", "in", ["waiting"])])
-        for invoice in invoices:
-            invoice.action_consult_cancellation_status()
-
-    @api.one
-    def _compute_datetime(self):
-        self.datetime = self.cfdi_datetime
-
-    @api.multi
-    @api.onchange("partner_id")
-    def onchange_partner_id(self):
-        """Copy fields cfdi_use, payment_method_id and cfdi_adenda_id
-        from selected partner
-        """
-        res = super(AccountInvoice, self).onchange_partner_id()
-        for invoice in self.filtered(lambda i: i.type in ("out_invoice", "out_refund")):
-            partner = invoice.partner_id
-            if partner:
-                if partner.cfdi_fiscal_regime_id.id:
-                    invoice.cfdi_fiscal_regime_id = partner.cfdi_fiscal_regime_id.id
-                if partner.cfdi_use.id:
-                    invoice.cfdi_use = partner.cfdi_use.id
-                invoice.payment_method_id = partner.payment_method_id.id
-                invoice.cfdi_adenda_ids = [(6, 0, partner.cfdi_adenda_ids._ids)]
-        return res
-
-    @api.model
-    def _prepare_refund(
-        self, invoice, date=None, period_id=None, description=None, journal_id=None
-    ):
-        """Overrides the prepare refund function to set field UsoCFDI"""
-        values = super(AccountInvoice, self)._prepare_refund(
-            invoice,
-            date=date,
-            period_id=period_id,
-            description=description,
-            journal_id=journal_id,
-        )
-        # We set field UsoCFDI to Descuentos y devoluciones for all refunds
-        usocfdi = self.env.ref("l10n_mx.cfdi_use_G02")
-        values["cfdi_use"] = usocfdi.id
-        values["cfdi_relation_type"] = self._context.get("cfdi_relation_type")
-        payment_type = self.env.ref("l10n_mx.pay_method_condonacion")
-        values["payment_type_ids"] = [(4, payment_type.id, None)]
-        payment_method = self.env.ref("l10n_mx.cfdi_payment_method_1")
-        values["payment_method_id"] = payment_method.id
-
-        return values
-
-    @api.multi
-    def action_invoice_validate(self):
-        res = super(AccountInvoice, self).action_invoice_validate()
-        for account_invoice in self:
-            if account_invoice.journal_id.sign_sat:
-                # Create new CFDI object for this invoice
-                account_invoice.create_cfdi()
-        return res
-
-    @api.multi
-    def action_cancel(self):
-        """Extend `AccountInvoice.action_cancel()`; Cancels the CFDI related to the
-        invoice
-        """
-        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
-        cfdis = self.filtered(
-            lambda i:
-                i.journal_id.sign_sat
-                and i.cfdi_id
-                and i.cfdi_id.state not in ["draft", "cancel"]
-        )
-        for invoice in cfdis:
-            # Ensure we can cancel this invoice
-            invoice.check_if_can_cancel()
-            # If l10n_mx_edi_original_invoice is set save uuid to send info to PAC
-            # while cancel invoice
-            invoice.cfdi_id.substitute_cfdi_uuid = (
-                invoice.l10n_mx_edi_original_invoice.cfdi_id.uuid
-            )
-            cancelacion = invoice.cancel_cfdi()[0]
-            if cancelacion:
-                # CFDI cancelled (cancelacion == True) must cancel invoice too
-                super(AccountInvoice, invoice).action_cancel()
-            elif cancelacion is None:
-                # CFDI set to approval (cancelacion == None) must set invoice
-                # to waiting too
-                invoice.write({"state": "waiting"})
-            elif cancelacion is False:
-                # CFDI cancel denied (cancelacion == False) must get back invoice
-                # to open state
-                self.undo_waiting_state()
-
-        # Call super only with invoices without CFDI
-        invoices = self - cfdis
-        return super(AccountInvoice, invoices).action_cancel()
-
-    @api.multi
-    def undo_waiting_state(self):
-        """When cancel is negate revert invoice to open and post account_move"""
-        to_update = self.filtered(lambda i: i.state == "waiting")
-        to_update.write({"state": "open"})
-        to_update.mapped("move_id").post()
-
-    @api.multi
-    def action_consult_cancellation_status(self):
-        """Verify cancellation status"""
-        # TODO: Is this really needed? Maybe we can reuse the action_cancel
-        for invoice in self:
-            try:
-                with self.env.cr.savepoint():
-                    status_cancelacion = invoice.consult_cfdi_cancellation_status()
-                    if status_cancelacion is None:
-                        invoice.message_post(
-                            body=_("No status update found on SAT")
-                        )
-                    elif status_cancelacion is False:
-                        self.undo_waiting_state()
-                    else:
-                        try:
-                            invoice.action_cancel()
-                        except Exception as e:
-                            invoice.message_post(
-                                body=_("The invoice could not be canceled")
-                            )
-            except Exception as e:
-                invoice.message_post(
-                    body=_(
-                        "Could not check SAT invoice status "
-                        "due to the following error: %s."
-                    ) % (e)
-                )
-
-    @api.multi
-    def _validate_cfdi_data(self):
-        self._validate_account_invoice_fields()
-        self._validate_account_invoice_partners()
-
-    @api.multi
-    def _validate_account_invoice_fields(self):
-        """ This function is to validate that the invoice has an
-            issue address, partner and company"""
-        for record in self:
-            self._cfdi_validate_required_fields(
-                record,
-                [
-                    "cfdi_use",
-                    "partner_id",
-                    "cfdi_fiscal_regime_id",
-                    "payment_type_ids",
-                    "address_issued_id",
-                    "journal_id",
-                    "account_id"
-                ],
-            )
-
-    @api.multi
-    def _validate_account_invoice_partners(self):
-        """ This function is to validate that the vat of the
-            commercial partner and company"""
-
-        required = [
-            "vat",
-            "zip",
-            "cfdi_fiscal_regime_id",
-        ]
-
-        for record in self:
-            self._cfdi_validate_required_fields(
-                record.address_issued_id,
-                required,
-            )
-
-            self._cfdi_validate_required_fields(
-                record.company_id.partner_id,
-                required,
-            )
-
-            self._cfdi_validate_required_fields(
-                record.commercial_partner_id,
-                required,
-            )
-
-            if record.partner_id.country_id.code_alpha3 == "MEX":
-                self._cfdi_validate_required_fields(
-                    record.partner_id,
-                    required,
-                )
-
-    @api.multi
-    def _compute_export(self):
-        for record in self:
-            if record.cfdi_adenda_ids.filtered(
-                lambda i: i.code == "02"
-            ) and record.commercial_partner_id.country_id.code_alpha3 != "MEX":
-                record.l10n_mx_export = True
-
-
-class AccountInvoiceLine(models.Model):
-    _inherit = "account.invoice.line"
-
-    cfdi_numero_identificacion = fields.Char(
-        string="Identification Number",
-        help="This number is the identification number for invoice line in cfdi",
-        compute="_compute_cfdi_ident_number",
-    )
-    cfdi_cuentapredial = fields.Char(
-        string="Cuenta Predial",
-        help="Predial number for real state lease invoices",
-    )
-    cfdi_custom_number = fields.Many2many(
-        "import.pediment.number",
-        "invoice_pediment_rel",
-        "invoice_line_id",
-        "cfdi_custom_number_id",
-        "N° Pediment",
-    )
-
-    @api.multi
-    @api.constrains("cfdi_cuentapredial")
-    def _constraint_cfdi_cuentapredial(self):
-        for record in self:
-            if record.cfdi_cuentapredial and not record.cfdi_cuentapredial.isdigit():
-                raise ValidationError(
-                    _(
-                        "Predial Account must be only numbers.\n"
-                        "All letters must be replaced by '0'"
-                    )
-                )
-
-    @api.multi
-    @api.depends("product_id")
-    def _compute_cfdi_ident_number(self):
-        """Update cfdi_numero_identificacion only for invoice lines that are not signed
-        yet and that are customer's documents.
-        """
-        to_update = self.filtered(
-            lambda line: line.invoice_id.cfdi_state == "draft"
-            and line.invoice_id.type in ("out_invoice", "out_refund")
-        )
-        for record in to_update:
-            record.cfdi_numero_identificacion = record.product_id.default_code
-
-    @property
-    def cfdi_product_code(self):
-        """Return computed cfdi code for current line based on code selected
-        for product or product category.
-        Raise a validation error if no code found"""
-        self.ensure_one()
-        if self.product_id.cfdi_product_service_id.exists():
-            return self.product_id.cfdi_product_service_id.code
-        # Traverse product category to find cfdi product code
-        category = self.product_id.categ_id
-        while category:
-            if category.cfdi_product_service_id:
-                return category.cfdi_product_service_id.code
-            else:
-                category = category.parent_id
-        # If not have return for this point raise an error
-        raise ValidationError(
-            _("Missing SAT code for product: {product}").format(
-                product=self.product_id.name
-            )
-        )
-
-    @property
-    def importe(self):
-        """Return computed total line for display on CFDI"""
-        self.ensure_one()
-        return self.export_invoice_line_for_xml().importe
-
-    @property
-    def descuento(self):
-        """Property that computes the discount amount in currency for CFDI XML
-        invoice view
-        """
-        self.ensure_one()
-        return self.export_invoice_line_for_xml().descuento
-
-    @property
-    def impuestos(self):
-        """Return computed taxes for display on CFDI"""
-        self.ensure_one()
-        taxes = {"traslados": [], "retenciones": [], "locales": []}
-        for tax in self.export_invoice_line_for_xml().taxes:
-            if tax.group in ["IVA", "IEPS", "ISR"]:
-                if tax.amount >= 0:
-                    taxes["traslados"].append(tax)
-                else:
-                    taxes["retenciones"].append(tax)
-            else:
-                taxes["locales"].append(tax)
-        return taxes
-
-    @property
-    def valorunitario(self):
-        """Return computed price unit for display on CFDI"""
-        self.ensure_one()
-        return self.export_invoice_line_for_xml().price_unit
-
-    def export_invoice_line_for_xml(self):
-        # pylint: disable=R1710
-        """Computes all values needed for export account.invoice.line as CFDI"""
-
-        class Dict2obj(object):
-            """Convert dictionary to object
-            @source http://stackoverflow.com/a/1305561/383912
-            """
-
-            def __init__(self, d):
-                self.__dict__["d"] = d
-
-            def __getattr__(self, key):
-                value = self.__dict__["d"][key]
-                return value
-
-        def process_tax(tax):
-            """Helper function to populate extra values needed for display
-            taxes on CFDI representation from account.invoice
-            @param tax: tax values computed from original compute_all function
-                on account.invoice.tax object
-            @type tax: dictionary
-            @return: dictionary populated with all values needed for tax
-                excluding IEPS tax if partner is not IEPS subjected
-            @rtype: dictionary or None
-            """
-            tax_record = self.env["account.tax"].browse(tax["id"])
-            tax_group = tax_record.tax_category_id
-            # IEPS tax only must be included when partner is IEPS subjected
-            if tax_group.name == "IEPS" and not partner.ieps_subjected:
-                return
-            # TODO: Delete on version 3.0.0
-            if "base" not in tax:
-                tax["base"] = currency.cfdi_round(tax["price_unit"] * self.quantity)
-            tax["group"] = tax_group.name
-            tax["type"] = tax_record.type
-            tax["TasaOCuota"] = abs(tax_record.amount)
-            return tax
-
-        currency = self.invoice_id.currency_id
-        precision = self.env["decimal.precision"].precision_get("Product Price")
-        total_discount = 1 - self.discount / 100.0
-        # Include global discount
-        total_discount *= 1 - self.invoice_id.global_discount / 100
-        price = float_round(self.price_unit * total_discount, precision)
-        partner = self.invoice_id.partner_id
-        # Check if IEPS is on taxes, this will be used later to know if need price
-        # to be recalculated because IEPS must be price included as partner is not
-        # IEPS subjected and product include IEPS taxes
-        ieps_group = self.env.ref("l10n_mx.tax_category_ieps")
-        is_ieps_tax_subjected = any(
-            tax.tax_category_id == ieps_group for tax in self.invoice_line_tax_id
-        )
-        is_price_included = any(
-            tax.price_include for tax in self.invoice_line_tax_id
-        )
-        # Compute taxes using original compute_all function from
-        # account.invoice.tax to get same result for CFDI display
-        res = self.invoice_line_tax_id.compute_all(
-            price,
-            self.quantity,
-            product=self.product_id,
-            partner=partner,
-            currency=self.invoice_id.currency_id,
-        )
-        # pylint: disable=C1801
-        if len(res["taxes"]) == 0:
-            raise ValidationError(
-                _("Product {p} must have at least one tax selected.").format(
-                    p=self.product_id.name
-                )
-            )
-        taxes = []
-        taxes_list = iter(res["taxes"])
-        tax = next(taxes_list)
-        # Iterate taxes and append to the new tax list as needed
-        while True:
-            tax = process_tax(tax)
-            if tax:
-                taxes.append(tax)
-            try:
-                tax = next(taxes_list)
-            except StopIteration:
-                if tax is None:
-                    raise ValidationError(
-                        _(
-                            "Incorrect tax sequence configuration, check "
-                            "this data in Account >> Tax >> Sequence"
-                        )
-                    )
-                break
-        res["price_unit"] = self.price_unit
-        # Recompute price_unit is needed when any tax is setup to price included or
-        # when product is IEPS subjected but not partner
-        if is_price_included or (not partner.ieps_subjected and is_ieps_tax_subjected):
-            # Send round=False in context to avoid rounding to wrong value when working
-            # with high Product Price precision (6 digits)
-            res["price_unit"] = self.invoice_line_tax_id.with_context(
-                round=False
-            ).compute_all(
-                res["price_unit"], 1.0, product=self.product_id, partner=partner
-            )[
-                "base"
-            ]
-            # Round price_unit to Product Price precision after computing taxes
-            res["price_unit"] = float_round(
-                res["price_unit"],
-                self.env["decimal.precision"].precision_get("Product Price"),
-            )
-
-        res["importe"] = currency.round(res["price_unit"] * self.quantity)
-        res["descuento"] = currency.round(res["importe"] * (1 - total_discount))
-        # Overrides original taxes with the list computed by us
-        res["taxes"] = [Dict2obj(t) for t in taxes]
-        return Dict2obj(res)
diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 06a0050e1e..7cfe80dede 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -1,19 +1,164 @@
 # -*- coding: utf-8 -*-
 
 import logging
+import pytz
+from datetime import datetime, timedelta
 
-from openerp import api, models
-from openerp.exceptions import Warning as UserError
-from openerp.tools.translate import _
+from odoo import api, fields, models
+from odoo.exceptions import ValidationError, Warning as UserError
+from odoo.tools.float_utils import float_round
+from odoo.tools.translate import _
 
 
 _logger = logging.getLogger(__name__)
 
 
 class AccountMove(models.Model):
-    _inherit = "account.move"
+    _name = "account.move"
+    _inherit = ["account.move", "base.cfdi"]
+
+    @property
+    def formapago(self):
+        """Return payment type for display on CFDI"""
+        self.ensure_one()
+        try:
+            code = self.payment_type_ids[0].code
+        except IndexError:
+            code = "99"
+        return code
+
+    @property
+    def descuento(self):
+        self.ensure_one()
+        discount = 0.0
+        for line in self.invoice_line_ids:
+            discount += line.descuento
+        return discount
+
+    @property
+    def subtotal(self):
+        self.ensure_one()
+        subtotal = 0.0
+        for line in self.invoice_line_ids:
+            subtotal += line.importe
+        return subtotal
+
+    @property
+    def total(self):
+        self.ensure_one()
+        return (
+            self.subtotal
+            - self.descuento
+            + self.impuestos["total_traslados"]
+            + self.impuestos["total_retenciones"]
+            + self.impuestos["total_locales"]
+        )
+
+    @property
+    def impuestos(self):
+        """Return computed taxes for display on CFDI"""
+        self.ensure_one()
+        tax_grouped = {}
+        taxes = {
+            "traslados": [],
+            "retenciones": [],
+            "locales": [],
+            "total_traslados": 0.0,
+            "total_retenciones": 0.0,
+            "total_locales": 0.0,
+        }
+
+        for line in self.invoice_line_ids:
+            for tax in line.export_invoice_line_for_xml().taxes:
+                # Mimic logic from compute function in account.invoice.tax
+                # object to group taxes from invoice lines and be able to get
+                # the same result for display on CFDI
+                if self.move_type in ("out_invoice", "in_invoice"):
+                    tax.account_id = tax.account_collected_id or line.account_id.id
+                    tax.analytic_id = tax.account_analytic_collected_id
+                else:
+                    tax.account_id = tax.account_paid_id or line.account_id.id
+                    tax.analytic_id = tax.account_analytic_paid_id
+
+                key = (tax.id, tax.account_id, tax.analytic_id)
+                if key not in tax_grouped:
+                    tax_grouped[key] = tax
+                else:
+                    tax_grouped[key].amount += tax.amount
+                    tax_grouped[key].base += tax.base
+
+        # Classify taxes for CFDI
+        for dummy, tax in tax_grouped.items():
+            if tax.group in ["IVA", "IEPS", "ISR"]:
+                if tax.amount >= 0:
+                    taxes["traslados"].append(tax)
+                    taxes["total_traslados"] += tax.amount
+                else:
+                    taxes["retenciones"].append(tax)
+                    taxes["total_retenciones"] += tax.amount
+            else:
+                taxes["locales"].append(tax)
+                taxes["total_locales"] += tax.amount
+        return taxes
+
+    # pylint: disable=W0212
+    address_issued_id = fields.Many2one(
+        "res.partner",
+        "Address Issued Invoice",
+        readonly=True,
+        states={"draft": [("readonly", False)]},
+        help="This address will be used as address that issued "
+        "for electronic invoice",
+        compute="_compute_address_issued",
+    )
+    datetime = fields.Datetime(compute="_compute_datetime")
+    date_invoice_cancel = fields.Datetime(
+        "Date Invoice Cancelled",
+        readonly=True,
+        copy=False,
+        help="If the invoice is cancelled, save the date" " when was cancel",
+    )
+    payment_method_id = fields.Many2one(
+        "cfdi.payment.method",
+        string="Payment Method",
+        readonly=True,
+        states={"draft": [("readonly", False)]},
+        help="Payment method associated with this payment term according",
+    )
+    cfdi_use = fields.Many2one(
+        "cfdi.use", "CFDI use", readonly=True, states={"draft": [("readonly", False)]}
+    )
+    cfdi_relation_type = fields.Many2one("cfdi.relation.type", "CFDI Relation type")
+    state = fields.Selection(
+        selection_add=[("waiting", _("To cancel"))],
+        ondelete={'waiting': 'cascade'}
+    )
+    l10n_mx_edi_to_cancel = fields.Char(
+        #compute="_compute_l10n_mx_edi_to_cancel",
+        #search="_search_l10n_mx_edi_to_cancel",
+        help="Technical field to display a warning when an invoice must be canceled "
+        "because have being replaced by a new one.",
+    )
+    l10n_mx_edi_original_invoice = fields.Many2one(
+        "account.move",
+        #compute="_compute_l10n_mx_edi_to_cancel",
+        help="Technical field to relate origin invoice with substitute",
+    )
+    cfdi_periodicity = fields.Selection(
+        [
+            ("01", "Daily"),
+            ("02", "Weekly"),
+            ("03", "Biweekly"),
+            ("04", "Monthly"),
+        ],
+        default="04",
+    )
+
+    l10n_mx_export = fields.Boolean(
+        compute="_compute_export",
+        string="Merchandise export",
+    )
 
-    @api.multi
     def button_validate(self):
         """
             Extend `AccountMove.button_validate`: prevents  to manipulate the
@@ -28,3 +173,498 @@ class AccountMove(models.Model):
                       "for a request to cancel.") % account_move.name
                 )
         return super(AccountMove, self).button_validate()
+
+    def _get_cfdi_datetime(self):
+        """This base function inherits the creation of the cfdi datetime
+        what it basically does is respect the date_invoice from invoice form
+        """
+        self.ensure_one()
+        date_invoice = fields.Datetime.from_string(self.invoice_date)
+        time_now = fields.Datetime.context_timestamp(self, datetime.now())
+        # If we are singing an invoice in the past we need to move forward 1 minute the
+        # computed time to be in the 72 hours range defined by SAT
+        # On the opposite if we are singing an invoice for today we move back 1 minute
+        # the computed time to prevent false errors about being out of 72 hours range
+        if date_invoice.date() < time_now.date():
+            time_now += timedelta(minutes=1)
+        else:
+            time_now -= timedelta(minutes=1)
+        date_create = datetime.combine(date_invoice, time_now.timetz())
+        # Needed to save date into the database as until now we are using user timezone
+        # to express the datetime that will cause double timezone conversion if kept
+        date_create = date_create.astimezone(tz=pytz.utc)
+        return fields.Datetime.to_string(date_create)
+
+    @api.depends("journal_id")
+    def _compute_address_issued(self):
+        for invoice in self:
+            if invoice.journal_id.address_issued_id:
+                invoice.address_issued_id = invoice.journal_id.address_issued_id
+            else:
+                invoice.address_issued_id = invoice.company_id.partner_id
+
+    def _compute_sequence_id(self):
+        for record in self:
+            record.sequence_id = record.journal_id.sequence_id
+
+    def _compute_l10n_mx_edi_to_cancel(self):
+        """Computes legend to display when an invoice needs to be cancelled because
+        have being substituted by a new one.
+        """
+        # Get substitution relation to compare
+        substitution = self.env.ref("l10n_mx_base.cfdi_relation_type_04")
+        invoices_to_cancel = self.filtered(
+            lambda i: i.move_type == "out_invoice" and i.state in ("posted",)
+        )
+        for inv in invoices_to_cancel:
+            message = ""
+            origin_documents = inv.refund_invoice_ids.filtered(
+                lambda i:
+                    i.state in ("posted",) and i.move_type == "out_invoice"
+            )
+            is_substitue = any(
+                [o.cfdi_relation_type == substitution for o in origin_documents]
+            )
+            if origin_documents and is_substitue:
+                message = _("This invoice must be cancelled because have being "
+                            "replaced with invoice: ")
+                inv.l10n_mx_edi_original_invoice = origin_documents[0]
+
+            inv.l10n_mx_edi_to_cancel = message
+
+    @api.model
+    def _search_l10n_mx_edi_to_cancel(self, operator, value):
+        """Allows to get ids for invoices that must be cancelled"""
+        substitution = self.env.ref("l10n_mx_base.cfdi_relation_type_04")
+
+        if operator not in ["=", "!="] or not isinstance(value, bool):
+            raise UserError(_("Operation not supported"))
+
+        if operator != "=":
+            value = not value
+
+        self._cr.execute(
+            """
+            SELECT id FROM account_move am
+            WHERE EXISTS (
+                SELECT * FROM account_invoice_refunds_rel airr
+                INNER JOIN account_move air on airr.refund_invoice_id = air.id
+                WHERE airr.original_invoice_id = am.id
+                AND air.cfdi_relation_type = %s
+                LIMIT 1
+            )
+            AND am.move_state IN ('posted',)
+            """,
+            (substitution.id,)
+        )
+        return [
+            ("id", "in" if value else "not in", [r[0] for r in self._cr.fetchall()])
+        ]
+
+    @api.model
+    def cron_invoices_pending_to_cancel(self):
+        invoices = self.env["account.move"].search([("state", "in", ["waiting"])])
+        for invoice in invoices:
+            invoice.action_consult_cancellation_status()
+
+    def _compute_datetime(self):
+        for record in self:
+            record.datetime = record.cfdi_datetime
+
+    @api.onchange("partner_id")
+    def onchange_partner_id(self):
+        """Copy fields cfdi_use, payment_method_id and cfdi_adenda_id
+        from selected partner
+        """
+        res = super(AccountMove, self).onchange_partner_id()
+        for invoice in self.filtered(lambda i: i.move_type in ("out_invoice", "out_refund")):
+            partner = invoice.partner_id
+            if partner:
+                if partner.cfdi_use_id:
+                    invoice.cfdi_use = partner.cfdi_use_id.id
+                invoice.payment_method_id = partner.payment_method_id.id
+                invoice.cfdi_adenda_ids = [(6, 0, partner.cfdi_adenda_ids._ids)]
+        return res
+
+    @api.model
+    def _prepare_refund(
+        self, invoice, date=None, period_id=None, description=None, journal_id=None
+    ):
+        """Overrides the prepare refund function to set field UsoCFDI"""
+        values = super(AccountMove, self)._prepare_refund(
+            invoice,
+            date=date,
+            period_id=period_id,
+            description=description,
+            journal_id=journal_id,
+        )
+        # We set field UsoCFDI to Descuentos y devoluciones for all refunds
+        usocfdi = self.env.ref("l10n_mx_base.cfdi_use_G02")
+        values["cfdi_use"] = usocfdi.id
+        values["cfdi_relation_type"] = self._context.get("cfdi_relation_type")
+        payment_type = self.env.ref("l10n_mx_base.pay_method_condonacion")
+        values["payment_type_ids"] = [(4, payment_type.id, None)]
+        payment_method = self.env.ref("l10n_mx_base.cfdi_payment_method_1")
+        values["payment_method_id"] = payment_method.id
+
+        return values
+
+    def action_post(self):
+        res = super(AccountMove, self).action_post()
+        for record in self:
+            record.action_invoice_validate()
+        return res
+
+    def action_invoice_validate(self):
+        for account_invoice in self:
+            if account_invoice.journal_id.sign_sat:
+                # Create new CFDI object for this invoice
+                account_invoice.create_cfdi()
+
+    def action_cancel(self):
+        """Extend `AccountMove.action_cancel()`; Cancels the CFDI related to the
+        invoice
+        """
+        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
+        cfdis = self.filtered(
+            lambda i:
+                i.journal_id.sign_sat
+                and i.cfdi_id
+                and i.cfdi_id.state not in ["draft", "cancel"]
+        )
+        for invoice in cfdis:
+            # Ensure we can cancel this invoice
+            invoice.check_if_can_cancel()
+            # If l10n_mx_edi_original_invoice is set save uuid to send info to PAC
+            # while cancel invoice
+            invoice.cfdi_id.substitute_cfdi_uuid = (
+                invoice.l10n_mx_edi_original_invoice.cfdi_id.uuid
+            )
+            cancelacion = invoice.cancel_cfdi()[0]
+            if cancelacion:
+                # CFDI cancelled (cancelacion == True) must cancel invoice too
+                super(AccountMove, invoice).action_cancel()
+            elif cancelacion is None:
+                # CFDI set to approval (cancelacion == None) must set invoice
+                # to waiting too
+                invoice.write({"state": "waiting"})
+            elif cancelacion is False:
+                # CFDI cancel denied (cancelacion == False) must get back invoice
+                # to open state
+                self.undo_waiting_state()
+
+        # Call super only with invoices without CFDI
+        invoices = self - cfdis
+        return super(AccountMove, invoices).action_cancel()
+
+    def undo_waiting_state(self):
+        """When cancel is negate revert invoice to open and post account_move"""
+        for record in self:
+            to_update = record.filtered(lambda i: i.state == "waiting")
+            to_update.write({"state": "open"})
+            to_update.mapped("move_id").post()
+
+    def action_consult_cancellation_status(self):
+        """Verify cancellation status"""
+        # TODO: Is this really needed? Maybe we can reuse the action_cancel
+        for invoice in self:
+            try:
+                with self.env.cr.savepoint():
+                    status_cancelacion = invoice.consult_cfdi_cancellation_status()
+                    if status_cancelacion is None:
+                        invoice.message_post(
+                            body=_("No status update found on SAT")
+                        )
+                    elif status_cancelacion is False:
+                        self.undo_waiting_state()
+                    else:
+                        try:
+                            invoice.action_cancel()
+                        except Exception as e:
+                            invoice.message_post(
+                                body=_("The invoice could not be canceled")
+                            )
+            except Exception as e:
+                invoice.message_post(
+                    body=_(
+                        "Could not check SAT invoice status "
+                        "due to the following error: %s."
+                    ) % (e)
+                )
+
+    def _validate_cfdi_data(self):
+        for record in self:
+            record._validate_account_invoice_fields()
+            record._validate_account_invoice_partners()
+
+    def _validate_account_invoice_fields(self):
+        """ This function is to validate that the invoice has an
+            issue address, partner and company"""
+        for record in self:
+            self._cfdi_validate_required_fields(
+                record,
+                [
+                    "cfdi_use",
+                    "partner_id",
+                    "payment_type_ids",
+                    "address_issued_id",
+                    "journal_id",
+                ],
+            )
+
+    def _validate_account_invoice_partners(self):
+        """ This function is to validate that the vat of the
+            commercial partner and company"""
+
+        required = [
+            "vat",
+            "zip",
+            "cfdi_fiscal_regime_id",
+        ]
+
+        for record in self:
+            self._cfdi_validate_required_fields(
+                record.address_issued_id,
+                required,
+            )
+
+            self._cfdi_validate_required_fields(
+                record.company_id.partner_id,
+                required,
+            )
+
+            self._cfdi_validate_required_fields(
+                record.commercial_partner_id,
+                required,
+            )
+
+            if record.partner_id.country_id.code_alpha3 == "MEX":
+                self._cfdi_validate_required_fields(
+                    record.partner_id,
+                    required,
+                )
+
+    def _compute_export(self):
+        for record in self:
+            record.l10n_mx_export = bool(
+                record.cfdi_adenda_ids.filtered(
+                    lambda i: i.code == "02"
+                ) and record.commercial_partner_id.country_id.code_alpha3 != "MEX"
+            )
+
+
+class AccountMoveLine(models.Model):
+    _inherit = "account.move.line"
+
+    cfdi_numero_identificacion = fields.Char(
+        string="Identification Number",
+        help="This number is the identification number for invoice line in cfdi",
+        compute="_compute_cfdi_ident_number",
+    )
+    cfdi_cuentapredial = fields.Char(
+        string="Cuenta Predial",
+        help="Predial number for real state lease invoices",
+    )
+    cfdi_custom_number = fields.Many2many(
+        "cfdi.import.pediment.number",
+        "invoice_pediment_rel",
+        "invoice_line_id",
+        "cfdi_custom_number_id",
+        "N° Pediment",
+    )
+
+    @api.constrains("cfdi_cuentapredial")
+    def _constraint_cfdi_cuentapredial(self):
+        for record in self:
+            if record.cfdi_cuentapredial and not record.cfdi_cuentapredial.isdigit():
+                raise ValidationError(
+                    _(
+                        "Predial Account must be only numbers.\n"
+                        "All letters must be replaced by '0'"
+                    )
+                )
+
+    @api.depends("product_id")
+    def _compute_cfdi_ident_number(self):
+        """Update cfdi_numero_identificacion only for invoice lines that are not signed
+        yet and that are customer's documents.
+        """
+        to_update = self.filtered(
+            lambda line: line.move_id.cfdi_state == "draft"
+            and line.move_id.move_type in ("out_invoice", "out_refund")
+        )
+        for record in to_update:
+            record.cfdi_numero_identificacion = record.product_id.default_code
+
+    @property
+    def cfdi_product_code(self):
+        """Return computed cfdi code for current line based on code selected
+        for product or product category.
+        Raise a validation error if no code found"""
+        self.ensure_one()
+        if self.product_id.cfdi_product_service_id.exists():
+            return self.product_id.cfdi_product_service_id.code
+        # Traverse product category to find cfdi product code
+        category = self.product_id.categ_id
+        while category:
+            if category.cfdi_product_service_id:
+                return category.cfdi_product_service_id.code
+            else:
+                category = category.parent_id
+        # If not have return for this point raise an error
+        raise ValidationError(
+            _("Missing SAT code for product: {product}").format(
+                product=self.product_id.name
+            )
+        )
+
+    @property
+    def importe(self):
+        """Return computed total line for display on CFDI"""
+        self.ensure_one()
+        return self.export_invoice_line_for_xml().importe
+
+    @property
+    def descuento(self):
+        """Property that computes the discount amount in currency for CFDI XML
+        invoice view
+        """
+        self.ensure_one()
+        return self.export_invoice_line_for_xml().descuento
+
+    @property
+    def impuestos(self):
+        """Return computed taxes for display on CFDI"""
+        self.ensure_one()
+        taxes = {"traslados": [], "retenciones": [], "locales": []}
+        for tax in self.export_invoice_line_for_xml().taxes:
+            if tax.group in ["IVA", "IEPS", "ISR"]:
+                if tax.amount >= 0:
+                    taxes["traslados"].append(tax)
+                else:
+                    taxes["retenciones"].append(tax)
+            else:
+                taxes["locales"].append(tax)
+        return taxes
+
+    @property
+    def valorunitario(self):
+        """Return computed price unit for display on CFDI"""
+        self.ensure_one()
+        return self.export_invoice_line_for_xml().price_unit
+
+    def export_invoice_line_for_xml(self):
+        # pylint: disable=R1710
+        """Computes all values needed for export account.move.line as CFDI"""
+
+        class Dict2obj(object):
+            """Convert dictionary to object
+            @source http://stackoverflow.com/a/1305561/383912
+            """
+
+            def __init__(self, d):
+                self.__dict__["d"] = d
+
+            def __getattr__(self, key):
+                value = self.__dict__["d"][key]
+                return value
+
+        def process_tax(tax):
+            """Helper function to populate extra values needed for display
+            taxes on CFDI representation from account.move
+            @param tax: tax values computed from original compute_all function
+                on account.move.tax object
+            @type tax: dictionary
+            @return: dictionary populated with all values needed for tax
+                excluding IEPS tax if partner is not IEPS subjected
+            @rtype: dictionary or None
+            """
+            tax_record = self.env["account.tax"].browse(tax["id"])
+            tax_group = tax_record.tax_category_id
+            # IEPS tax only must be included when partner is IEPS subjected
+            if tax_group.name == "IEPS" and not partner.ieps_subjected:
+                return
+            # TODO: Delete on version 3.0.0
+            if "base" not in tax:
+                tax["base"] = currency.cfdi_round(tax["price_unit"] * self.quantity)
+            tax["group"] = tax_group.name
+            tax["type"] = tax_record.type
+            tax["TasaOCuota"] = abs(tax_record.amount)
+            return tax
+
+        currency = self.move_id.currency_id
+        precision = self.env["decimal.precision"].precision_get("Product Price")
+        total_discount = 1 - self.discount / 100.0
+        # Include global discount
+        total_discount *= 1 - self.move_id.global_discount / 100
+        price = float_round(self.price_unit * total_discount, precision)
+        partner = self.move_id.partner_id
+        # Check if IEPS is on taxes, this will be used later to know if need price
+        # to be recalculated because IEPS must be price included as partner is not
+        # IEPS subjected and product include IEPS taxes
+        ieps_group = self.env.ref("l10n_mx.tax_category_ieps")
+        is_ieps_tax_subjected = any(
+            tax.tax_category_id == ieps_group for tax in self.invoice_line_tax_id
+        )
+        is_price_included = any(
+            tax.price_include for tax in self.invoice_line_tax_id
+        )
+        # Compute taxes using original compute_all function from
+        # account.move.tax to get same result for CFDI display
+        res = self.invoice_line_tax_id.compute_all(
+            price,
+            self.quantity,
+            product=self.product_id,
+            partner=partner,
+            currency=self.move_id.currency_id,
+        )
+        # pylint: disable=C1801
+        if len(res["taxes"]) == 0:
+            raise ValidationError(
+                _("Product {p} must have at least one tax selected.").format(
+                    p=self.product_id.name
+                )
+            )
+        taxes = []
+        taxes_list = iter(res["taxes"])
+        tax = next(taxes_list)
+        # Iterate taxes and append to the new tax list as needed
+        while True:
+            tax = process_tax(tax)
+            if tax:
+                taxes.append(tax)
+            try:
+                tax = next(taxes_list)
+            except StopIteration:
+                if tax is None:
+                    raise ValidationError(
+                        _(
+                            "Incorrect tax sequence configuration, check "
+                            "this data in Account >> Tax >> Sequence"
+                        )
+                    )
+                break
+        res["price_unit"] = self.price_unit
+        # Recompute price_unit is needed when any tax is setup to price included or
+        # when product is IEPS subjected but not partner
+        if is_price_included or (not partner.ieps_subjected and is_ieps_tax_subjected):
+            # Send round=False in context to avoid rounding to wrong value when working
+            # with high Product Price precision (6 digits)
+            res["price_unit"] = self.invoice_line_tax_id.with_context(
+                round=False
+            ).compute_all(
+                res["price_unit"], 1.0, product=self.product_id, partner=partner
+            )[
+                "base"
+            ]
+            # Round price_unit to Product Price precision after computing taxes
+            res["price_unit"] = float_round(
+                res["price_unit"],
+                self.env["decimal.precision"].precision_get("Product Price"),
+            )
+
+        res["importe"] = currency.round(res["price_unit"] * self.quantity)
+        res["descuento"] = currency.round(res["importe"] * (1 - total_discount))
+        # Overrides original taxes with the list computed by us
+        res["taxes"] = [Dict2obj(t) for t in taxes]
+        return Dict2obj(res)
diff --git a/l10n_mx_facturae/models/account_voucher.py b/l10n_mx_facturae/models/account_payment.py
similarity index 89%
rename from l10n_mx_facturae/models/account_voucher.py
rename to l10n_mx_facturae/models/account_payment.py
index 6258e9bfbf..92418669cf 100644
--- a/l10n_mx_facturae/models/account_voucher.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -1,38 +1,35 @@
 # -*- coding: utf-8 -*-
 
-from openerp import api, fields, models
-from openerp.exceptions import ValidationError
-from openerp.tools import float_round
-from openerp.tools.translate import _
+from odoo import api, fields, models
+from odoo.exceptions import ValidationError
+from odoo.tools import float_round
+from odoo.tools.translate import _
 
 
-class AccountVoucher(models.Model):
-    _name = "account.voucher"
-    _inherit = ["account.voucher", "base.cfdi"]
+class AccountPayment(models.Model):
+    _name = "account.payment"
+    _inherit = ["account.payment", "base.cfdi"]
 
     show_unreconcile = fields.Boolean(
         compute="_compute_show_unreconcile",
         help="Helper field to hide unreconcile button",
     )
 
-    @api.multi
     @api.depends("state", "cfdi_state")
     def _compute_show_unreconcile(self):
-        for voucher in self:
-            if voucher.cfdi_state in ["signed", "done"]:
-                voucher.show_unreconcile = False
-            elif voucher.state in ["draft", "cancel"]:
-                voucher.show_unreconcile = False
+        for payment in self:
+            if payment.cfdi_state in ["signed", "done"]:
+                payment.show_unreconcile = False
+            elif payment.state in ["draft", "cancel"]:
+                payment.show_unreconcile = False
             else:
-                voucher.show_unreconcile = True
+                payment.show_unreconcile = True
 
-    @api.multi
     def _compute_sequence_id(self):
         for record in self:
             record.sequence_id = record.journal_id.sequence_id
 
-    @api.multi
-    def sign_voucher(self):
+    def sign_payment(self):
         """Create CFDI for selected vouchers"""
         # Only vouchers to sign are the receipts
         receipts = self.filtered(lambda r: r.type == "receipt")
@@ -40,32 +37,31 @@ class AccountVoucher(models.Model):
         for receipt in receipts.filtered(lambda r: not r.cfdi_id.exists()):
             receipt.create_cfdi()
 
-    @api.multi
     def cancel_voucher(self):
         """Cancel CFDI for selected vouchers"""
-        res = super(AccountVoucher, self).cancel_voucher()
-        self.cancel_cfdi()
-        # Delete relation from voucher and CFDI
-        self.cfdi_id = False
+        res = super(AccountPayment, self).cancel_voucher()
+        for record in self:
+            record.cancel_cfdi()
+            # Delete relation from voucher and CFDI
+            record.cfdi_id = False
         return res
 
-    @api.multi
     def substitute_voucher(self):
         """Create new voucher for substitute this one"""
-        self._cancel_cfdi()
-        # After cancel voucher we must re open it
-        self.action_cancel_draft()
+        for record in self:
+            record._cancel_cfdi()
+            # After cancel voucher we must re open it
+            record.action_cancel_draft()
 
-    @api.multi
     def _cancel_cfdi_related_document(self):
-        self.cancel_voucher()
+        for record in self:
+            self.cancel_voucher()
 
-    @api.multi
     def replace_cfdi(self):
         """Cancel voucher cfdi by replacing with 1 MXN voucher"""
-        self._cancel_cfdi()
+        for record in self:
+            self._cancel_cfdi()
 
-    @api.multi
     def currency_rate(self):
         """Compute currency rate used for current voucher to display on XML
         This calls currency.compute() with the right context,
@@ -117,19 +113,18 @@ class AccountVoucher(models.Model):
             )
         return invoices
 
-    @api.multi
     def numparcialidad(self, invoice):
         """Computes payment number based on all payments done to invoice"""
-        # Get all payments done to given invoice
-        payments = invoice.mapped("payment_ids") - self.move_ids
-        # Leave only payments done in cash or bank older than current
-        payments = payments.filtered(
-            lambda r: r.date >= invoice.date_invoice
-            and r.journal_id.type in ("cash", "bank")
-        )
-        return len(payments) + 1
+        for record in self:
+            # Get all payments done to given invoice
+            payments = invoice.mapped("payment_ids") - record.move_ids
+            # Leave only payments done in cash or bank older than current
+            payments = payments.filtered(
+                lambda r: r.date >= invoice.date_invoice
+                and r.journal_id.type in ("cash", "bank")
+            )
+            return len(payments) + 1
 
-    @api.multi
     def impsaldoant(self, invoice):
         """Computes amount_residual for invoice before current voucher"""
         self.ensure_one()
@@ -172,7 +167,6 @@ class AccountVoucher(models.Model):
                 amount_residual -= abs(payment.debit - payment.credit)
         return self.currency_id.cfdi_round(amount_residual)
 
-    @api.multi
     def imppagado(self, invoice):
         """Computes total amount payment on this voucher for given invoice"""
         self.ensure_one()
@@ -206,7 +200,6 @@ class AccountVoucher(models.Model):
         amount_paid = min(amount_paid, amount_residual)
         return amount_paid
 
-    @api.multi
     def tipocambiodr(self, invoice):
         """Compute currency rate used for given invoice to display on XML
         This calls curreny.compute() with the right context,
@@ -242,7 +235,6 @@ class AccountVoucher(models.Model):
 
         return value
 
-    @api.multi
     def impuestos_dr(self, invoice, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
@@ -253,7 +245,6 @@ class AccountVoucher(models.Model):
         tax_moves = self.env["account.move.line"].search(domain)
         return tax_moves
 
-    @api.multi
     def totales_p(self, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
@@ -286,7 +277,6 @@ class AccountVoucher(models.Model):
 
         return tax_totals
 
-    @api.multi
     def impuestos_p(self, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
@@ -339,7 +329,6 @@ class AccountVoucher(models.Model):
 
         return [line for line in tax_totals.values()]
 
-    @api.multi
     def _l10n_mx_get_taxes_domain(self, tax_reconciles, tax_type="traslados"):
         self.ensure_one()
         # Get tax moves done for this payment and this invoice
@@ -363,12 +352,11 @@ class AccountVoucher(models.Model):
 
         return domain
 
-    @api.multi
     def _validate_cfdi_data(self):
-        self._validate_account_voucher_vat()
-        self._validate_account_voucher_payment_type()
+        for record in self:
+            record._validate_account_voucher_vat()
+            record._validate_account_voucher_payment_type()
 
-    @api.multi
     def _validate_account_voucher_vat(self):
         """ This is function is to validate that the
         partner has a vat, name and property account position """
@@ -402,7 +390,6 @@ class AccountVoucher(models.Model):
                 required,
             )
 
-    @api.multi
     def _validate_account_voucher_payment_type(self):
         for record in self:
 
diff --git a/l10n_mx_facturae/models/email_template.py b/l10n_mx_facturae/models/email_template.py
index bfdcf7410b..c24134b6e2 100644
--- a/l10n_mx_facturae/models/email_template.py
+++ b/l10n_mx_facturae/models/email_template.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-from openerp import api, models
+from odoo import api, models
 
 
 class EmailTemplate(models.Model):
diff --git a/l10n_mx_facturae/models/res_company.py b/l10n_mx_facturae/models/res_company.py
new file mode 100644
index 0000000000..4332c84e31
--- /dev/null
+++ b/l10n_mx_facturae/models/res_company.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+
+from odoo import api, fields, models
+
+
+class ResCompany(models.Model):
+    _inherit = "res.company"
+
+    cfdi_use_id = fields.Many2one(
+        "cfdi.use",
+        string="Use CFDI",
+        compute="_compute_use_cfdi",
+        inverse="_inverse_use_cfdi",
+    )
+
+    def _compute_use_cfdi(self):
+        for company in self:
+            use_cfdi = company.partner_id.cfdi_use_id
+            company.cfdi_use_id = use_cfdi.id
+
+    def _inverse_use_cfdi(self):
+        for company in self:
+            partner = company.partner_id
+            partner.cfdi_use_id = company.cfdi_use_id
diff --git a/l10n_mx_facturae/models/res_partner.py b/l10n_mx_facturae/models/res_partner.py
index 95bc6a89f0..9ea8f093e4 100644
--- a/l10n_mx_facturae/models/res_partner.py
+++ b/l10n_mx_facturae/models/res_partner.py
@@ -1,38 +1,54 @@
 # -*- coding: utf-8 -*-
 
-from openerp import api, fields, models
+from odoo import api, fields, models
 
 
 class ResPartner(models.Model):
     _inherit = "res.partner"
 
-    cfdi_use = fields.Many2one(
+    cfdi_use_id = fields.Many2one(
         "cfdi.use",
         "CFDI use",
         help="Cfdi usage that will be used by default on this customer "
         "invoices and credit notes",
     )
+
     cfdi_adenda_ids = fields.Many2many(
         "cfdi.adenda",
         string="CFDI Adendas",
         help="This field allows adding a node or addendum to the invoice",
     )
+
     payment_method_id = fields.Many2one(
         "cfdi.payment.method",
         string="Payment Method",
         help="Payment method associated with this partner according"
-        "to CFDI 3.3 catalog.",
+        "to CFDI 4.0 catalog.",
     )
+
     supplier_number = fields.Char(
         help="Number or reference that the Client assigned to our company."
     )
-    gln_number = fields.Char("GLN Number", help="Customer or Delivery branch")
+
+    gln_number = fields.Char(
+        "GLN Number",
+        help="Customer or Delivery branch"
+    )
+
     edi = fields.Char("User EDI")
-    show_glnnumber = fields.Boolean(compute="_compute_show_number")
-    show_suppliernumber = fields.Boolean(compute="_compute_show_number")
-    show_edi = fields.Boolean(compute="_compute_show_number")
 
-    @api.multi
+    show_glnnumber = fields.Boolean(
+        compute="_compute_show_number"
+    )
+
+    show_suppliernumber = fields.Boolean(
+        compute="_compute_show_number"
+    )
+
+    show_edi = fields.Boolean(
+        compute="_compute_show_number"
+    )
+
     @api.depends("cfdi_adenda_ids")
     def _compute_show_number(self):
         for record in self:
diff --git a/l10n_mx_facturae/report/account_invoice.odt b/l10n_mx_facturae/report/account_move.odt
similarity index 100%
rename from l10n_mx_facturae/report/account_invoice.odt
rename to l10n_mx_facturae/report/account_move.odt
diff --git a/l10n_mx_facturae/report/account_voucher.odt b/l10n_mx_facturae/report/account_payment.odt
similarity index 100%
rename from l10n_mx_facturae/report/account_voucher.odt
rename to l10n_mx_facturae/report/account_payment.odt
diff --git a/l10n_mx_facturae/security/res_groups.xml b/l10n_mx_facturae/security/res_groups.xml
index 9cc098cef4..66505f1597 100644
--- a/l10n_mx_facturae/security/res_groups.xml
+++ b/l10n_mx_facturae/security/res_groups.xml
@@ -4,7 +4,7 @@
 
     <record id="cfdi_cuentapredial" model="res.groups">
         <field name="name">Cfdi Cuenta Predial</field>
-        <field name="category_id" ref="l10n_mx.module_category_l10n_mx"/>
+        <field name="category_id" ref="l10n_mx_base.module_category_l10n_mx"/>
         <field name="comment">The user will have access to add Cuenta Predial information to invoice lines.</field>
     </record>
 
diff --git a/l10n_mx_facturae/templates/account_invoice.txt b/l10n_mx_facturae/templates/account_move.txt
similarity index 100%
rename from l10n_mx_facturae/templates/account_invoice.txt
rename to l10n_mx_facturae/templates/account_move.txt
diff --git a/l10n_mx_facturae/templates/account_move.xml b/l10n_mx_facturae/templates/account_move.xml
new file mode 100644
index 0000000000..bf3e5e9317
--- /dev/null
+++ b/l10n_mx_facturae/templates/account_move.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<odoo>
+    <template id="account_move_template_cfdi_xml">
+
+        <cfdi:Comprobante t-foreach="docs" t-as="cfdi"
+            xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
+            xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            Version="4.0"
+            t-attf-Serie="cfdi.serie"
+            t-attf-Exportacion="cfdi.l10n_mx_export ? '02' : '01'"
+            Folio="$o.folio"
+            Fecha="${ format_datetime(o.cfdi_datetime, '%Y-%m-%dT%H:%M:%S', tz=user.partner_id.tz) }"
+            Sello="@"
+            NoCertificado="@"
+            Certificado="@"
+            FormaPago="$o.formapago"
+            CondicionesDePago="${ html_escape(o.payment_term.name) }"
+            SubTotal="${ '{0:.2f}'.format(o.subtotal) }"
+            Descuento="${ '{0:.2f}'.format(o.descuento) }"
+            Moneda="${ o.currency_id.name }"
+            TipoCambio="${ o.currency_rate }"
+            Total="${ '{0:.2f}'.format(o.total) }"
+            TipoDeComprobante="E"
+            MetodoPago="PUE"
+            MetodoPago="$o.payment_method_id.code"
+            LugarExpedicion="${ o.address_issued_id.zip }"
+        >
+             <cfdi:CfdiRelacionados TipoRelacion="${ o.cfdi_relation_type.code }" t-if="cfdi.related_cfdi_ids">
+                 <cfdi:CfdiRelacionado  t-foreach="docs" t-as="cfdi" t-attf-UUID="cfdi.uuid"/>
+             </cfdi:CfdiRelacionados>
+            <cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
+            <cfdi:Receptor Nombre="FELIX MANUEL ANDRADE BALLADO" Rfc="AABF800614HI0" UsoCFDI="S01" DomicilioFiscalReceptor="86400" RegimenFiscalReceptor="616"/>
+            <cfdi:Conceptos>
+                <cfdi:Concepto>
+
+                </cfdi:Concepto>
+            </cfdi:Conceptos>
+            <cfdi:Impuestos>
+                <cfdi:Retenciones>
+
+                </cfdi:Retenciones>
+                <cfdi:Traslados>
+
+                </cfdi:Traslados>
+            </cfdi:Impuestos>
+            <cfdi:Complemento>
+                <implocal:ImpuestosLocales>
+
+                </implocal:ImpuestosLocales>
+            </cfdi:Complemento>
+        </cfdi:Comprobante>
+
+    </template>
+
+</odoo>
diff --git a/l10n_mx_facturae/views/account_invoice.xml b/l10n_mx_facturae/views/account_move.xml
similarity index 56%
rename from l10n_mx_facturae/views/account_invoice.xml
rename to l10n_mx_facturae/views/account_move.xml
index 7bc6bcf9e7..7d72d8fd5f 100644
--- a/l10n_mx_facturae/views/account_invoice.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -1,23 +1,15 @@
 <?xml version="1.0"?>
-<openerp>
-<data>
+<odoo>
 
-    <act_window id="account_invoice_action_cfdi_details" name="CFDI Details"
-        domain="[
-            ('res_id', 'in', active_ids),
-            ('type_attachment', '=', 'account.invoice')
-        ]"
-        res_model="ir.attachment.facturae.mx" src_model="account.invoice" />
-
-    <record id="account_invoice_view_search" model="ir.ui.view">
-        <field name="name">account.invoice.view.search</field>
-        <field name="model">account.invoice</field>
+    <record id="account_move_view_search" model="ir.ui.view">
+        <field name="name">account.move.view.search</field>
+        <field name="model">account.move</field>
         <field name="inherit_id" ref="account.view_account_invoice_filter"/>
         <field name="arch" type="xml">
-            <field name="currency_id" position="after">
+            <field name="partner_id" position="after">
                 <field name="cfdi_id" />
             </field>
-            <group position="before">
+            <filter name="due_date" position="after">
                 <separator/>
                 <filter
                     string="To sign"
@@ -27,26 +19,24 @@
                 <filter
                     string="To cancel"
                     name="to_cancel"
-                    domain="[('l10n_mx_edi_to_cancel', '=', True)]"
                     help="Invoices that being substituted and must be cancelled" />
-            </group>
+                   <!--domain="[('l10n_mx_edi_to_cancel', '=', True)]"-->
+            </filter>
         </field>
     </record>
 
-    <record id="account_invoice_view_form_customer" model="ir.ui.view">
-        <field name="name">account.invoice.view.form.customer</field>
-        <field name="model">account.invoice</field>
-        <field name="inherit_id" ref="account.invoice_form"/>
+    <record id="account_move_view_form_customer" model="ir.ui.view">
+        <field name="name">account.move.view.form.customer</field>
+        <field name="model">account.move</field>
+        <field name="inherit_id" ref="account.view_move_form"/>
         <field name="arch" type="xml">
-            <button name="invoice_cancel" position="before">
-                <field name="is_cfdi_candidate" invisible="1" />
+            <button name="button_cancel" position="before">
+                <field name="is_cfdi_candidate" invisible="0" />
             </button>
             <xpath expr="//header" position="after">
                 <div
                     class="alert alert-danger"
                     attrs="{'invisible':[
-                    '|',
-                        ('state', '=', 'cancel'),
                         (
                             'cfdi_state',
                             'in',
@@ -63,8 +53,8 @@
                 <div
                     class="alert alert-warning"
                     role="alert"
-                    style="margin-bottom:0px;"
-                    attrs="{'invisible': [('l10n_mx_edi_to_cancel', '=', False)]}" >
+                    style="margin-bottom:0px;" >
+                    <!--attrs="{'invisible': [('l10n_mx_edi_to_cancel', '=', False)]}"-->
                     <field
                         name="l10n_mx_edi_to_cancel"
                         readonly="1"
@@ -89,63 +79,25 @@
                         }" />
                 </h4>
             </xpath>
-            <xpath expr="//sheet/group//group[last()]" position="inside">
-                <label for="cfdi_state" string="PAC State"
-                    attrs="{
-                        'invisible': [
-                            '|',
-                            ('is_cfdi_candidate', '=', False),
-                            ('state', 'not in', ['open', 'paid', 'cancel'])
-                        ]
-                    }"/>
-                <div class="o_row" 
-                    attrs="{
-                        'invisible': [
-                            '|',
-                            ('is_cfdi_candidate', '=', False),
-                            ('state', 'not in', ['open', 'paid', 'cancel'])
-                        ]
-                    }">
+            <xpath expr="//field[@name='invoice_date']" position="after">
+                <field name="payment_method_id"
+                    options="{'no_create':True, 'no_open':True}"/>
+            </xpath>
+            <xpath expr="//field[@name='payment_reference']" position="after">
+                <label for="cfdi_state" string="PAC State"/>
+                <div class="o_row" >
                     <field name="cfdi_state" class="oe_inline"/>
                     <button name="action_validate_cfdi" string="Retry"
                         class="oe_link oe_inline" type="object"
-                        groups="account.group_account_invoice"
-                        attrs="{
-                            'invisible':[
-                            '|',
-                                    ('state', '=', 'cancel'),
-                                    ('cfdi_state','in', ['signed', 'cancel', 'done', False])
-                            ]
-                        }"/>
+                        groups="account.group_account_invoice"/>
                 </div>
             </xpath>
-            <field name="partner_id" position="after">
-                <field name="cfdi_use"
-                    attrs="{
-                        'readonly': [('cfdi_state','in', ['signed', 'cancel', 'done'])],
-                        'invisible': [('is_cfdi_candidate', '=', False)]
-                    }"
-                    options="{'no_create':True}"/>
-                <field name="cfdi_adenda_ids"
-                    attrs="{
-                        'readonly': [('state','in',('cancel','paid'))],
-                        'invisible': [('is_cfdi_candidate', '=', False)]
-                    }"
-                    options="{'no_create': True,'no_open':True}"
-                    widget="many2many_tags" />
-                <field name="l10n_mx_export" invisible="1" />
-            </field>
-            <xpath expr="//page[@string='Payments']" position='after'>
-                <page name="Adendas" string="Adendas"
-                    attrs="{'invisible': [('cfdi_adenda_ids', '=', False)]}">
-                    <group name="adenda">
-                    </group>
-                </page>
+            <xpath expr="//page[@name='cfdi_configuration_move_mx']" position='after'>
                 <page string="Related" attrs="{
                         'invisible': [
                             '|', '|',
                             ('is_cfdi_candidate', '=', False),
-                            ('type', 'not in', ('out_refund','out_invoice')),
+                            ('move_type', 'not in', ('out_refund','out_invoice')),
                             ('state', '!=', 'draft'),
                             ('cfdi_relation_type', '=', False),
                         ]
@@ -159,11 +111,11 @@
                         </group>
                         <group>
                             <field name="commercial_partner_id" invisible="1"/>
-                            <field name="origin_invoice_ids"
+                            <!--<field name="origin_invoice_ids"
                                 domain="[
                                     ('commercial_partner_id', '=', commercial_partner_id),
-                                    ('state','in', ['open','paid']),
-                                    ('type','=','out_invoice'),
+                                    ('state','in', ['posted']),
+                                    ('move_type','=','out_invoice'),
                                 ]"
                                 widget="many2many_tags"
                                 options="{'no_create': True}"
@@ -174,17 +126,15 @@
                                 }"
                                 context="{
                                     'form_view_ref': 'account.invoice_form',
-                                }" />
+                                }" />-->
                         </group>
                     </group>
                  </page>
             </xpath>
-            <xpath expr="//field[@name='origin']" position="before">
-                <field name="address_issued_id"/>
-            </xpath>
-            <xpath expr="//field[@name='payment_term']" position="after">
-                <field name="payment_method_id" class="oe_inline"
-                    options="{'no_create':True, 'no_open':True}"/>
+            <xpath expr="//group[@name='sale_info_group']" position="after">
+                <group name="Extra information">
+                    <field name="address_issued_id"/>
+                </group>
             </xpath>
             <xpath expr="//field[@name='partner_id']" position="attributes">
                 <attribute
@@ -194,7 +144,6 @@
                 <attribute
                     name="domain"
                     translation="off">[
-                        ('customer', '=', True),
                         '|',
                         ('is_company', '=', True),
                         ('type', '=', 'invoice')]
@@ -204,10 +153,10 @@
                     translation="off">{'always_reload': True,'no_quick_create': True}
                 </attribute>
             </xpath>
-            <xpath expr="//field[@name='invoice_line']//tree//field[@name='account_analytic_id']" position="after">
+            <xpath expr="//field[@name='invoice_line_ids']//tree//field[@name='analytic_account_id']" position="after">
                 <field name="cfdi_cuentapredial" groups="l10n_mx_facturae.cfdi_cuentapredial" />
             </xpath>
-            <xpath expr="//page//tree//field[@name='invoice_line_tax_id']" position="before">
+            <xpath expr="//page//tree//field[@name='tax_ids']" position="before">
                 <field name="cfdi_custom_number"
                     widget="many2many_tags"
                     groups="l10n_mx.group_cfdi_custom_number"/>
@@ -215,10 +164,38 @@
         </field>
     </record>
 
-    <record id="account_invoice_view_tree" model="ir.ui.view">
-        <field name="name">account.invoice.view.tree</field>
-        <field name="model">account.invoice</field>
-        <field name="inherit_id" ref="account.invoice_tree"/>
+    <record id="account_move_cfdi_inherit_view_form" model="ir.ui.view">
+        <field name="name">account.move.cfdi.inherit.view.form</field>
+        <field name="model">account.move</field>
+        <field name="inherit_id" ref="l10n_mx_base.account_move_cfdi_view_form"/>
+        <field name="arch" type="xml">
+            <xpath expr="//group[@name='Payment Type']" position="after">
+                <group name="Fiscal data">
+                    <field name="cfdi_use"
+                        attrs="{
+                            'readonly': [('cfdi_state','in', ['signed', 'cancel', 'done'])],
+                            'invisible': [('is_cfdi_candidate', '=', False)]
+                        }"
+                        options="{'no_create':True}"/>
+                    <field name="l10n_mx_export" invisible="1"/>
+                    <field name="cfdi_adenda_ids"
+                        attrs="{
+                            'readonly': [('state','in',('cancel','paid'))],
+                            'invisible': [('is_cfdi_candidate', '=', False)]
+                        }"
+                        options="{'no_create': True,'no_open':True}"
+                        widget="many2many_tags" />
+                </group>
+                <group name="adenda">
+                </group>
+            </xpath>
+        </field>
+    </record>
+
+    <record id="account_move_view_tree" model="ir.ui.view">
+        <field name="name">account.move.view.tree</field>
+        <field name="model">account.move</field>
+        <field name="inherit_id" ref="account.view_out_invoice_tree"/>
         <field name="arch" type="xml">
             <field name="name" position="after">
                 <field string="Fiscal Number" name="cfdi_id" invisible="1" />
@@ -226,5 +203,4 @@
         </field>
     </record>
 
-</data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/views/account_voucher.xml b/l10n_mx_facturae/views/account_payment.xml
similarity index 70%
rename from l10n_mx_facturae/views/account_voucher.xml
rename to l10n_mx_facturae/views/account_payment.xml
index d8f142e71d..39c99513ac 100644
--- a/l10n_mx_facturae/views/account_voucher.xml
+++ b/l10n_mx_facturae/views/account_payment.xml
@@ -1,39 +1,39 @@
 <?xml version="1.0"?>
-<openerp>
+<odoo>
 <data>
 
-    <record id="account_voucher_action_sign" model="ir.actions.server">
-        <field name="name">Sign Vouchers</field>
+    <record id="account_payment_action_sign" model="ir.actions.server">
+        <field name="name">Sign payments</field>
         <field name="type">ir.actions.server</field>
-        <field name="model_id" ref="model_account_voucher"/>
+        <field name="model_id" ref="model_account_payment"/>
         <field name="state">code</field>
-        <field name="code">self.sign_voucher(cr, uid, context.get('active_ids', []), context=context)</field>
+        <field name="code">self.sign_payment(cr, uid, context.get('active_ids', []), context=context)</field>
     </record>
 
     <record id="ir_values_action_sign" model="ir.values">
-        <field name="name">Sign Vouchers</field>
-        <field name="action_id" ref="account_voucher_action_sign"/>
-        <field name="value" eval="'ir.actions.server,' + str(ref('account_voucher_action_sign'))"/>
+        <field name="name">Sign payments</field>
+        <field name="action_id" ref="account_payment_action_sign"/>
+        <field name="value" eval="'ir.actions.server,' + str(ref('account_payment_action_sign'))"/>
         <field name="key">action</field>
-        <field name="model_id" ref="model_account_voucher"/>
-        <field name="model">account.voucher</field>
+        <field name="model_id" ref="model_account_payment"/>
+        <field name="model">account.payment</field>
         <field name="key2">client_action_multi</field>
     </record>
 
-    <record id="account_voucher_view_form" model="ir.ui.view">
-        <field name="name">account.voucher.view.form</field>
-        <field name="model">account.voucher</field>
-        <field name="inherit_id" ref="account_voucher.view_vendor_receipt_form"/>
+    <record id="account_payment_view_form" model="ir.ui.view">
+        <field name="name">account.payment.view.form</field>
+        <field name="model">account.payment</field>
+        <field name="inherit_id" ref="account.view_account_payment_form"/>
         <field name="arch" type="xml">
-            <button name="proforma_voucher" position="after">
+            <button name="action_port" position="after">
                 <field name="show_unreconcile" invisible="1"/>
-                <button name="sign_voucher" type="object" string="Sign"
+                <button name="sign_payment" type="object" string="Sign"
                     class="oe_highlight"
                     attrs="{'invisible': ['|', ('state', '!=', 'posted'), ('cfdi_state', '!=', False)]}"/>
-                <button name="substitute_voucher" type="object" string="Replace"
+                <button name="substitute_payment" type="object" string="Replace"
                     attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed', 'done']), ('state', '=', 'cancel')]}"/>
                 <button name="replace_cfdi" type="object" string="Cancel"
-                    confirm="Are you sure to cancel this voucher?"
+                    confirm="Are you sure to cancel this payment?"
                     attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed', 'done']), ('state', '=', 'cancel')]}"/>
             </button>
             <xpath expr="//header" position="after">
@@ -59,7 +59,7 @@
                     <field string="Fiscal Number" name="cfdi_id" readonly="1"/>
                 </h4>
             </xpath>
-            <!-- Hide cancel button when voucher have a related CFDI -->
+            <!-- Hide cancel button when payment have a related CFDI -->
             <xpath expr="//button[@string='Unreconcile']" position="attributes">
                 <attribute name="states" translation="off"></attribute>
                 <attribute name="attrs" translation="off">{'invisible': [('show_unreconcile', '=', False)]}</attribute>
@@ -77,10 +77,10 @@
         </field>
     </record>
 
-    <record id="account_voucher_view_search" model="ir.ui.view">
-        <field name="name">account.voucher.view.search</field>
-        <field name="model">account.voucher</field>
-        <field name="inherit_id" ref="account_voucher.view_voucher_filter_customer_pay"/>
+    <record id="account_payment_view_search" model="ir.ui.view">
+        <field name="name">account.payment.view.search</field>
+        <field name="model">account.payment</field>
+        <field name="inherit_id" ref="account_payment.view_payment_filter_customer_pay"/>
         <field name="arch" type="xml">
             <field name="partner_id" position="after">
                 <field name="cfdi_id" string="UUID" />
@@ -88,10 +88,10 @@
             <filter string="Posted" position="after">
                 <separator/>
                 <filter string="To Sign" domain="[('cfdi_state', '=', 'draft')]" help="Vochers to be signed"/>
-                <filter string="Signed" domain="[('cfdi_state', 'in', ['signed', 'done'])]" help="Signed Vouchers"/>
+                <filter string="Signed" domain="[('cfdi_state', 'in', ['signed', 'done'])]" help="Signed payments"/>
             </filter>
         </field>
     </record>
 
 </data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/views/res_company.xml b/l10n_mx_facturae/views/res_company.xml
new file mode 100644
index 0000000000..5c6c743672
--- /dev/null
+++ b/l10n_mx_facturae/views/res_company.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+    <record id="l10_mx_facturae_res_company_view_form" model="ir.ui.view">
+        <field name="name">l10n.mx.facturae.res.company.view.form</field>
+        <field name="model">res.company</field>
+        <field name="inherit_id" ref="l10n_mx_base.res_company_view_form"/>
+        <field name="arch" type="xml">
+            <field name="cfdi_fiscal_regime_id" position="after">
+                <field name="cfdi_use_id"/>
+            </field>
+        </field>
+    </record>
+
+</odoo>
diff --git a/l10n_mx_facturae/views/res_partner.xml b/l10n_mx_facturae/views/res_partner.xml
index 00ed926970..fb28220319 100644
--- a/l10n_mx_facturae/views/res_partner.xml
+++ b/l10n_mx_facturae/views/res_partner.xml
@@ -1,50 +1,67 @@
 <?xml version="1.0"?>
-<openerp>
-<data>
+<odoo>
 
-    <record id="res_partner_view_form" model="ir.ui.view">
-        <field name="name">res.partner.view.form</field>
+    <record id="l10n_mx_facturae_res_partner_view_form" model="ir.ui.view">
+        <field name="name">l10n.mx.facturae.res.partner.view.form</field>
         <field name="model">res.partner</field>
-        <field name="inherit_id" ref="account.view_partner_property_form"/>
+        <field name="inherit_id" ref="l10n_mx_base.res_partner_view_form"/>
         <field name="arch" type="xml">
-            <xpath expr="//page[@string='Accounting']" position="after">
-                <page name="Invoicing" string="Invoicing">
-                    <group>
-                        <group name="Configuraciones" string="Configuraciones">
-                            <field name="cfdi_fiscal_regime_id" options="{'no_create': True,'no_open':True}" />
-                            <field name="cfdi_use" options="{'no_create': True,'no_open':True}"/>
-                            <field name="payment_method_id" options="{'no_create': True,'no_open':True}"/>
-                        </group>
-                        <group>
-                        </group>
-                        <group string="Adendas">
-                            <p>Addends are used to add additional content to the invoice that  the SAT. 
-                            An addendum contains information of a commercial, logistic and  operation,
-                            often required by the receiving company (client).
-                            <br/><br/>
-                            Once you have selected the addendum, you must add the necessary information
-                            in all or some of the following sections: Customers, suppliers, company,
-                            products, services, invoices or delivery notes
-                            <br/><br/>
-                            Done the necessary configurations, you will be able to stamp your invoices
-                            with the selected complement.
-                            </p>
-                        </group>
-                        <group>
-                            <p colspan="2"><b><br/>  </b></p>
-                            <field name="show_glnnumber" invisible="True"/>
-                            <field name="show_suppliernumber" invisible="True"/>
-                            <field name="show_edi" invisible="True"/>
-                            <field name="cfdi_adenda_ids" widget="many2many_tags" options="{'no_create': True,'no_open':True}"/>
-                            <field name="gln_number" attrs="{'required':[('show_glnnumber', '=', True)], 'invisible':[('show_glnnumber', '=', False)]}"/>
-                            <field name="supplier_number" attrs="{'required':[('show_suppliernumber', '=', True)], 'invisible':[('show_suppliernumber', '=', False)]}"/>
-                            <field name="edi" attrs="{'required':[('show_edi', '=', True)], 'invisible':[('show_edi', '=', False)]}"/>
-                        </group>
-                    </group>
-                </page>
-            </xpath>
+            <field name="cfdi_fiscal_regime_id" position="after">
+                <field name="cfdi_use_id" options="{'no_create': True,'no_open':True}"/>
+                <field name="payment_method_id" options="{'no_create': True,'no_open':True}"/>
+            </field>
+            <group name="cfdi_taxes" position="after">
+                <group name="cfdi_adendum" string="Adendas">
+                    <p>Addends are used to add additional content to the invoice that  the SAT.
+                    An addendum contains information of a commercial, logistic and  operation,
+                    often required by the receiving company (client).
+                    <br/><br/>
+                    Once you have selected the addendum, you must add the necessary information
+                    in all or some of the following sections: Customers, suppliers, company,
+                    products, services, invoices or delivery notes
+                    <br/><br/>
+                    Done the necessary configurations, you will be able to stamp your invoices
+                    with the selected complement.
+                    </p>
+                </group>
+                <group name="cfdi_adendum_fields">
+                    <p colspan="2"><b><br/>  </b></p>
+                    <field name="show_glnnumber" invisible="True"/>
+                    <field name="show_suppliernumber" invisible="True"/>
+                    <field name="show_edi" invisible="True"/>
+                    <field name="cfdi_adenda_ids"
+                        widget="many2many_tags"
+                        options="{'no_create': True,'no_open':True}"/>
+                    <field name="gln_number"
+                        attrs="{
+                            'required':[
+                                ('show_glnnumber', '=', True)
+                            ],
+                            'invisible':[
+                                ('show_glnnumber', '=', False)
+                            ]
+                        }"/>
+                    <field name="supplier_number"
+                        attrs="{
+                            'required':[
+                                ('show_suppliernumber', '=', True)
+                            ],
+                            'invisible':[
+                                ('show_suppliernumber', '=', False)
+                            ]
+                        }"/>
+                    <field name="edi"
+                        attrs="{
+                            'required':[
+                                ('show_edi', '=', True)
+                            ],
+                            'invisible':[
+                                ('show_edi', '=', False)
+                            ]
+                        }"/>
+                </group>
+            </group>
         </field>
     </record>
 
-</data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/wizard/__init__.py b/l10n_mx_facturae/wizard/__init__.py
index 30e4ebec8a..799aa57d0a 100644
--- a/l10n_mx_facturae/wizard/__init__.py
+++ b/l10n_mx_facturae/wizard/__init__.py
@@ -1,4 +1,4 @@
 # -*- coding: utf-8 -*-
 
-from . import account_invoice_refund
-from . import wizard_multi_charts_accounts
+#from . import account_invoice_refund
+#from . import wizard_multi_charts_accounts
diff --git a/l10n_mx_facturae/wizard/account_invoice_refund.py b/l10n_mx_facturae/wizard/account_invoice_refund.py
index e292b5146c..1c8e4cb1ae 100644
--- a/l10n_mx_facturae/wizard/account_invoice_refund.py
+++ b/l10n_mx_facturae/wizard/account_invoice_refund.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-from openerp import fields, models
+from odoo import fields, models
 
 
 class AccountInvoiceRefund(models.TransientModel):
diff --git a/l10n_mx_facturae/wizard/account_invoice_refund.xml b/l10n_mx_facturae/wizard/account_invoice_refund.xml
index e9fc4949fd..cd47e01e5d 100644
--- a/l10n_mx_facturae/wizard/account_invoice_refund.xml
+++ b/l10n_mx_facturae/wizard/account_invoice_refund.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<openerp>
+<odoo>
 <data>
 
     <record id="view_account_invoice_refund" model="ir.ui.view">
@@ -14,4 +14,4 @@
     </record>
 
 </data>
-</openerp>
+</odoo>
diff --git a/l10n_mx_facturae/wizard/wizard_multi_charts_accounts.py b/l10n_mx_facturae/wizard/wizard_multi_charts_accounts.py
index e90f7d41de..f10ab67b0b 100644
--- a/l10n_mx_facturae/wizard/wizard_multi_charts_accounts.py
+++ b/l10n_mx_facturae/wizard/wizard_multi_charts_accounts.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-from openerp import api, models
+from odoo import api, models
 
 
 class WizardMultiChartsAccounts(models.TransientModel):
-- 
GitLab


From 004bae22b915c5ab51ad989b8c5474036bf3746c Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Sun, 5 Nov 2023 17:33:15 -0600
Subject: [PATCH 02/28] =?UTF-8?q?feat(account.move):=20se=20cambia=20estru?=
 =?UTF-8?q?ctura=20de=20la=20generaci=C3=B3n=20del=20xml=20de=20cfdi?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/__init__.py                  |   1 +
 l10n_mx_facturae/__manifest__.py              |  24 +-
 l10n_mx_facturae/data/account_move.xml        |  36 +-
 l10n_mx_facturae/data/account_payment.xml     |  62 +---
 .../data/ir_attachment_facturae_config.xml    |  16 +-
 ...facturae_demo.xml => demo_res_partner.xml} |   8 +-
 l10n_mx_facturae/models/__init__.py           |   2 +-
 l10n_mx_facturae/models/account_move.py       | 253 +++++++++-----
 l10n_mx_facturae/models/account_payment.py    | 326 ++++++++++--------
 l10n_mx_facturae/report/__init__.py           |   3 +
 l10n_mx_facturae/report/account_move.odt      | Bin 54174 -> 54288 bytes
 l10n_mx_facturae/report/account_payment.odt   | Bin 48616 -> 44069 bytes
 l10n_mx_facturae/report/account_payment.py    |  50 +++
 l10n_mx_facturae/templates/account_move.xml   | 154 +++++++--
 .../templates/account_payment.xml             | 126 +++++++
 .../templates/account_voucher.txt             |   2 +-
 l10n_mx_facturae/views/account_move.xml       |  46 ++-
 l10n_mx_facturae/views/account_payment.xml    |  81 +++--
 18 files changed, 810 insertions(+), 380 deletions(-)
 rename l10n_mx_facturae/demo/{l10n_mx_facturae_demo.xml => demo_res_partner.xml} (73%)
 create mode 100644 l10n_mx_facturae/report/__init__.py
 create mode 100644 l10n_mx_facturae/report/account_payment.py
 create mode 100644 l10n_mx_facturae/templates/account_payment.xml

diff --git a/l10n_mx_facturae/__init__.py b/l10n_mx_facturae/__init__.py
index 731182b4b8..084335270d 100644
--- a/l10n_mx_facturae/__init__.py
+++ b/l10n_mx_facturae/__init__.py
@@ -1,4 +1,5 @@
 # -*- coding: utf-8 -*-
 
 from . import models
+from . import report
 #from . import wizard
diff --git a/l10n_mx_facturae/__manifest__.py b/l10n_mx_facturae/__manifest__.py
index 60c998a8f1..3a3e4ce2ec 100644
--- a/l10n_mx_facturae/__manifest__.py
+++ b/l10n_mx_facturae/__manifest__.py
@@ -2,22 +2,24 @@
 
 {
     "name": "Factura Electronica CFDI",
-    "version": "8.0.3.7.0",
+    "version": "15.0.3.7.0",
     "author": "OpenPyme",
     "category": "Localization/Mexico",
     "website": "http://www.openpyme.mx/",
     "license": "AGPL-3",
     "depends": [
-        "base_iso3166",
+        "account_global_discount",
+        "account_invoice_change_currency",
         "l10n_mx_base",
-    ],
-    "demo": [
-        "demo/l10n_mx_facturae_demo.xml",
+        "report_xml",
     ],
     "data": [
+        # Security
+        "security/res_groups.xml",
+
         # Datas
         "data/account_move.xml",
-        #"data/account_payment.xml",
+        "data/account_payment.xml",
         #"data/email_template.xml",
         "data/facturae_data.xml",
         "data/ir_attachment_facturae_config.xml",
@@ -25,15 +27,19 @@
 
         # Views
         "views/account_move.xml",
-        #"views/account_payment.xml",
+        "views/account_payment.xml",
         "views/res_company.xml",
         "views/res_partner.xml",
 
-        # Security
-        "security/res_groups.xml",
+        # templates
+        "templates/account_move.xml",
+        "templates/account_payment.xml",
 
         #Views Wizards
         #"wizard/account_invoice_refund.xml",
     ],
+    "demo": [
+        "demo/demo_res_partner.xml",
+    ],
     "installable": True,
 }
diff --git a/l10n_mx_facturae/data/account_move.xml b/l10n_mx_facturae/data/account_move.xml
index a28b7f9ba9..47fabd6217 100644
--- a/l10n_mx_facturae/data/account_move.xml
+++ b/l10n_mx_facturae/data/account_move.xml
@@ -1,35 +1,29 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
-<data>
 
-    <!-- XML invoice report definition -->
-    <record id="ir_actions_report_xml_account_invioice_cfdi"
-        model="ir.actions.report">
+    <!-- XML move report definition -->
+    <record id="ir_actions_report_xml_account_move_cfdi" model="ir.actions.report">
         <field name="name">Account Move CFDI XML</field>
         <field name="model">account.move</field>
-        <field name="report_name">account.move.cfdi.xml</field>
-        <field name="report_type">aeroo</field>
-        <field name="in_format">genshi-raw</field>
-        <field name="out_format" ref="report_aeroo.report_mimetypes_raw" />
-        <field name="report_file">l10n_mx_facturae/templates/account_move.txt</field>
+        <field name="report_type">qweb-xml</field>
+        <field name="report_name">l10n_mx_facturae.account_move_template_cfdi_xml</field>
+        <field name="xml_declaration">true</field>
+        <field name="xsd_schema">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx4czpzY2hlbWEgeG1sbnM6Y2ZkaT0iaHR0cDovL3d3dy5zYXQuZ29iLm14L2NmZC80IiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOmNhdENGREk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvY2F0YWxvZ29zIiB4bWxuczp0ZENGREk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvdGlwb0RhdG9zL3RkQ0ZESSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvY2ZkLzQiIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiPg0KCTx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvc2l0aW9faW50ZXJuZXQvY2ZkL2NhdGFsb2dvcyIgc2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvY2F0YWxvZ29zL2NhdENGREkueHNkIi8+DQoJPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvdGlwb0RhdG9zL3RkQ0ZESSIgc2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvdGlwb0RhdG9zL3RkQ0ZESS90ZENGREkueHNkIi8+DQoJPHhzOmVsZW1lbnQgbmFtZT0iQ29tcHJvYmFudGUiPg0KCQk8eHM6YW5ub3RhdGlvbj4NCgkJCTx4czpkb2N1bWVudGF0aW9uPkVzdMOhbmRhciBkZSBDb21wcm9iYW50ZSBGaXNjYWwgRGlnaXRhbCBwb3IgSW50ZXJuZXQuPC94czpkb2N1bWVudGF0aW9uPg0KCQk8L3hzOmFubm90YXRpb24+DQoJCTx4czpjb21wbGV4VHlwZT4NCgkJCTx4czpzZXF1ZW5jZT4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJJbmZvcm1hY2lvbkdsb2JhbCIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIGNvbmRpY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgaW5mb3JtYWNpw7NuIHJlbGFjaW9uYWRhIGNvbiBlbCBjb21wcm9iYW50ZSBnbG9iYWwuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iUGVyaW9kaWNpZGFkIiB0eXBlPSJjYXRDRkRJOmNfUGVyaW9kaWNpZGFkIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgZWwgcGVyw61vZG8gYWwgcXVlIGNvcnJlc3BvbmRlIGxhIGluZm9ybWFjacOzbiBkZWwgY29tcHJvYmFudGUgZ2xvYmFsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTWVzZXMiIHR5cGU9ImNhdENGREk6Y19NZXNlcyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGVsIG1lcyBvIGxvcyBtZXNlcyBhbCBxdWUgY29ycmVzcG9uZGUgbGEgaW5mb3JtYWNpw7NuIGRlbCBjb21wcm9iYW50ZSBnbG9iYWwuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJBw7FvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgZWwgYcOxbyBhbCBxdWUgY29ycmVzcG9uZGUgbGEgaW5mb3JtYWNpw7NuIGRlbCBjb21wcm9iYW50ZSBnbG9iYWwuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnNob3J0Ij4NCgkJCQkJCQkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjIwMjEiLz4NCgkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCTwveHM6ZWxlbWVudD4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJDZmRpUmVsYWNpb25hZG9zIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBjb21wcm9iYW50ZXMgcmVsYWNpb25hZG9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQ2ZkaVJlbGFjaW9uYWRvIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+DQoJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGNvbXByb2JhbnRlcyByZWxhY2lvbmFkb3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVVVJRCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBlbCBmb2xpbyBmaXNjYWwgKFVVSUQpIGRlIHVuIENGREkgcmVsYWNpb25hZG8gY29uIGVsIHByZXNlbnRlIGNvbXByb2JhbnRlLCBwb3IgZWplbXBsbzogU2kgZWwgQ0ZESSByZWxhY2lvbmFkbyBlcyB1biBjb21wcm9iYW50ZSBkZSB0cmFzbGFkbyBxdWUgc2lydmUgcGFyYSByZWdpc3RyYXIgZWwgbW92aW1pZW50byBkZSBsYSBtZXJjYW5jw61hLiBTaSBlc3RlIGNvbXByb2JhbnRlIHNlIHVzYSBjb21vIG5vdGEgZGUgY3LDqWRpdG8gbyBub3RhIGRlIGTDqWJpdG8gZGVsIGNvbXByb2JhbnRlIHJlbGFjaW9uYWRvLiBTaSBlc3RlIGNvbXByb2JhbnRlIGVzIHVuYSBkZXZvbHVjacOzbiBzb2JyZSBlbCBjb21wcm9iYW50ZSByZWxhY2lvbmFkby4gU2kgw6lzdGUgc3VzdGl0dXllIGEgdW5hIGZhY3R1cmEgY2FuY2VsYWRhLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iMzYiLz4NCgkJCQkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlthLWYwLTlBLUZdezh9LVthLWYwLTlBLUZdezR9LVthLWYwLTlBLUZdezR9LVthLWYwLTlBLUZdezR9LVthLWYwLTlBLUZdezEyfSIvPg0KCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRpcG9SZWxhY2lvbiIgdHlwZT0iY2F0Q0ZESTpjX1RpcG9SZWxhY2lvbiIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGluZGljYXIgbGEgY2xhdmUgZGUgbGEgcmVsYWNpw7NuIHF1ZSBleGlzdGUgZW50cmUgw6lzdGUgcXVlIHNlIGVzdMOhIGdlbmVyYW5kbyB5IGVsIG8gbG9zIENGREkgcHJldmlvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJPC94czplbGVtZW50Pg0KCQkJCTx4czplbGVtZW50IG5hbWU9IkVtaXNvciI+DQoJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyByZXF1ZXJpZG8gcGFyYSBleHByZXNhciBsYSBpbmZvcm1hY2nDs24gZGVsIGNvbnRyaWJ1eWVudGUgZW1pc29yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZmMiIHR5cGU9InRkQ0ZESTp0X1JGQyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBsYSBDbGF2ZSBkZWwgUmVnaXN0cm8gRmVkZXJhbCBkZSBDb250cmlidXllbnRlcyBjb3JyZXNwb25kaWVudGUgYWwgY29udHJpYnV5ZW50ZSBlbWlzb3IgZGVsIGNvbXByb2JhbnRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTm9tYnJlIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcmVnaXN0cmFyIGVsIG5vbWJyZSwgZGVub21pbmFjacOzbiBvIHJhesOzbiBzb2NpYWwgZGVsIGNvbnRyaWJ1eWVudGUgaW5zY3JpdG8gZW4gZWwgUkZDLCBkZWwgZW1pc29yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjMwMCIvPg0KCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDMwMH0iLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iUmVnaW1lbkZpc2NhbCIgdHlwZT0iY2F0Q0ZESTpjX1JlZ2ltZW5GaXNjYWwiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBpbmNvcnBvcmFyIGxhIGNsYXZlIGRlbCByw6lnaW1lbiBkZWwgY29udHJpYnV5ZW50ZSBlbWlzb3IgYWwgcXVlIGFwbGljYXLDoSBlbCBlZmVjdG8gZmlzY2FsIGRlIGVzdGUgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJGYWNBdHJBZHF1aXJlbnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBleHByZXNhciBlbCBuw7ptZXJvIGRlIG9wZXJhY2nDs24gcHJvcG9yY2lvbmFkbyBwb3IgZWwgU0FUIGN1YW5kbyBzZSB0cmF0ZSBkZSB1biBjb21wcm9iYW50ZSBhIHRyYXbDqXMgZGUgdW4gUENFQ0ZESSBvIHVuIFBDR0NGRElTUC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iMTAiLz4NCgkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05XXsxMH0iLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJPHhzOmVsZW1lbnQgbmFtZT0iUmVjZXB0b3IiPg0KCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgcHJlY2lzYXIgbGEgaW5mb3JtYWNpw7NuIGRlbCBjb250cmlidXllbnRlIHJlY2VwdG9yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZmMiIHR5cGU9InRkQ0ZESTp0X1JGQyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBsYSBDbGF2ZSBkZWwgUmVnaXN0cm8gRmVkZXJhbCBkZSBDb250cmlidXllbnRlcyBjb3JyZXNwb25kaWVudGUgYWwgY29udHJpYnV5ZW50ZSByZWNlcHRvciBkZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJOb21icmUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSByZWdpc3RyYXIgZWwgbm9tYnJlKHMpLCBwcmltZXIgYXBlbGxpZG8sIHNlZ3VuZG8gYXBlbGxpZG8sIHNlZ8O6biBjb3JyZXNwb25kYSwgZGVub21pbmFjacOzbiBvIHJhesOzbiBzb2NpYWwgZGVsIGNvbnRyaWJ1eWVudGUsIGluc2NyaXRvIGVuIGVsIFJGQywgZGVsIHJlY2VwdG9yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjMwMCIvPg0KCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDMwMH0iLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRG9taWNpbGlvRmlzY2FsUmVjZXB0b3IiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSByZWdpc3RyYXIgZWwgY8OzZGlnbyBwb3N0YWwgZGVsIGRvbWljaWxpbyBmaXNjYWwgZGVsIHJlY2VwdG9yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czpsZW5ndGggdmFsdWU9IjUiLz4NCgkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlswLTldezV9Ii8+DQoJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlJlc2lkZW5jaWFGaXNjYWwiIHR5cGU9ImNhdENGREk6Y19QYWlzIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSByZWdpc3RyYXIgbGEgY2xhdmUgZGVsIHBhw61zIGRlIHJlc2lkZW5jaWEgcGFyYSBlZmVjdG9zIGZpc2NhbGVzIGRlbCByZWNlcHRvciBkZWwgY29tcHJvYmFudGUsIGN1YW5kbyBzZSB0cmF0ZSBkZSB1biBleHRyYW5qZXJvLCB5IHF1ZSBlcyBjb25mb3JtZSBjb24gbGEgZXNwZWNpZmljYWNpw7NuIElTTyAzMTY2LTEgYWxwaGEtMy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBzZSBpbmNsdXlhIGVsIGNvbXBsZW1lbnRvIGRlIGNvbWVyY2lvIGV4dGVyaW9yIG8gc2UgcmVnaXN0cmUgZWwgYXRyaWJ1dG8gTnVtUmVnSWRUcmliLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTnVtUmVnSWRUcmliIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBleHByZXNhciBlbCBuw7ptZXJvIGRlIHJlZ2lzdHJvIGRlIGlkZW50aWRhZCBmaXNjYWwgZGVsIHJlY2VwdG9yIGN1YW5kbyBzZWEgcmVzaWRlbnRlIGVuIGVsIGV4dHJhbmplcm8uIEVzIHJlcXVlcmlkbyBjdWFuZG8gc2UgaW5jbHV5YSBlbCBjb21wbGVtZW50byBkZSBjb21lcmNpbyBleHRlcmlvci48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjQwIi8+DQoJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iUmVnaW1lbkZpc2NhbFJlY2VwdG9yIiB0eXBlPSJjYXRDRkRJOmNfUmVnaW1lbkZpc2NhbCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGluY29ycG9yYXIgbGEgY2xhdmUgZGVsIHLDqWdpbWVuIGZpc2NhbCBkZWwgY29udHJpYnV5ZW50ZSByZWNlcHRvciBhbCBxdWUgYXBsaWNhcsOhIGVsIGVmZWN0byBmaXNjYWwgZGUgZXN0ZSBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlVzb0NGREkiIHR5cGU9ImNhdENGREk6Y19Vc29DRkRJIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgbGEgY2xhdmUgZGVsIHVzbyBxdWUgZGFyw6EgYSBlc3RhIGZhY3R1cmEgZWwgcmVjZXB0b3IgZGVsIENGREkuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCTwveHM6ZWxlbWVudD4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJDb25jZXB0b3MiPg0KCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgbGlzdGFyIGxvcyBjb25jZXB0b3MgY3ViaWVydG9zIHBvciBlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IkNvbmNlcHRvIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+DQoJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyByZXF1ZXJpZG8gcGFyYSByZWdpc3RyYXIgbGEgaW5mb3JtYWNpw7NuIGRldGFsbGFkYSBkZSB1biBiaWVuIG8gc2VydmljaW8gYW1wYXJhZG8gZW4gZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJJbXB1ZXN0b3MiIG1pbk9jY3Vycz0iMCI+DQoJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyBjb25kaWNpb25hbCBwYXJhIGNhcHR1cmFyIGxvcyBpbXB1ZXN0b3MgYXBsaWNhYmxlcyBhbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IlRyYXNsYWRvcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgYXNlbnRhciBsb3MgaW1wdWVzdG9zIHRyYXNsYWRhZG9zIGFwbGljYWJsZXMgYWwgcHJlc2VudGUgY29uY2VwdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJUcmFzbGFkbyIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgYXNlbnRhciBsYSBpbmZvcm1hY2nDs24gZGV0YWxsYWRhIGRlIHVuIHRyYXNsYWRvIGRlIGltcHVlc3RvcyBhcGxpY2FibGUgYWwgcHJlc2VudGUgY29uY2VwdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQmFzZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGJhc2UgcGFyYSBlbCBjw6FsY3VsbyBkZWwgaW1wdWVzdG8sIGxhIGRldGVybWluYWNpw7NuIGRlIGxhIGJhc2Ugc2UgcmVhbGl6YSBkZSBhY3VlcmRvIGNvbiBsYXMgZGlzcG9zaWNpb25lcyBmaXNjYWxlcyB2aWdlbnRlcy4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMSIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcHVlc3RvIiB0eXBlPSJjYXRDRkRJOmNfSW1wdWVzdG8iIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBzZcOxYWxhciBsYSBjbGF2ZSBkZWwgdGlwbyBkZSBpbXB1ZXN0byB0cmFzbGFkYWRvIGFwbGljYWJsZSBhbCBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRpcG9GYWN0b3IiIHR5cGU9ImNhdENGREk6Y19UaXBvRmFjdG9yIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgbGEgY2xhdmUgZGVsIHRpcG8gZGUgZmFjdG9yIHF1ZSBzZSBhcGxpY2EgYSBsYSBiYXNlIGRlbCBpbXB1ZXN0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRhc2FPQ3VvdGEiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIHNlw7FhbGFyIGVsIHZhbG9yIGRlIGxhIHRhc2EgbyBjdW90YSBkZWwgaW1wdWVzdG8gcXVlIHNlIHRyYXNsYWRhIHBhcmEgZWwgcHJlc2VudGUgY29uY2VwdG8uIEVzIHJlcXVlcmlkbyBjdWFuZG8gZWwgYXRyaWJ1dG8gVGlwb0ZhY3RvciB0ZW5nYSB1bmEgY2xhdmUgcXVlIGNvcnJlc3BvbmRhIGEgVGFzYSBvIEN1b3RhLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpkZWNpbWFsIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpmcmFjdGlvbkRpZ2l0cyB2YWx1ZT0iNiIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMC4wMDAwMDAiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXBvcnRlIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBzZcOxYWxhciBlbCBpbXBvcnRlIGRlbCBpbXB1ZXN0byB0cmFzbGFkYWRvIHF1ZSBhcGxpY2EgYWwgY29uY2VwdG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLiBFcyByZXF1ZXJpZG8gY3VhbmRvIFRpcG9GYWN0b3Igc2VhIFRhc2EgbyBDdW90YS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJPC94czplbGVtZW50Pg0KCQkJCQkJCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iUmV0ZW5jaW9uZXMiIG1pbk9jY3Vycz0iMCI+DQoJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyBvcGNpb25hbCBwYXJhIGFzZW50YXIgbG9zIGltcHVlc3RvcyByZXRlbmlkb3MgYXBsaWNhYmxlcyBhbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IlJldGVuY2lvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgYXNlbnRhciBsYSBpbmZvcm1hY2nDs24gZGV0YWxsYWRhIGRlIHVuYSByZXRlbmNpw7NuIGRlIGltcHVlc3RvcyBhcGxpY2FibGUgYWwgcHJlc2VudGUgY29uY2VwdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQmFzZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGJhc2UgcGFyYSBlbCBjw6FsY3VsbyBkZSBsYSByZXRlbmNpw7NuLCBsYSBkZXRlcm1pbmFjacOzbiBkZSBsYSBiYXNlIHNlIHJlYWxpemEgZGUgYWN1ZXJkbyBjb24gbGFzIGRpc3Bvc2ljaW9uZXMgZmlzY2FsZXMgdmlnZW50ZXMuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpkZWNpbWFsIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpmcmFjdGlvbkRpZ2l0cyB2YWx1ZT0iNiIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMC4wMDAwMDEiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXB1ZXN0byIgdHlwZT0iY2F0Q0ZESTpjX0ltcHVlc3RvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgbGEgY2xhdmUgZGVsIHRpcG8gZGUgaW1wdWVzdG8gcmV0ZW5pZG8gYXBsaWNhYmxlIGFsIGNvbmNlcHRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVGlwb0ZhY3RvciIgdHlwZT0iY2F0Q0ZESTpjX1RpcG9GYWN0b3IiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBzZcOxYWxhciBsYSBjbGF2ZSBkZWwgdGlwbyBkZSBmYWN0b3IgcXVlIHNlIGFwbGljYSBhIGxhIGJhc2UgZGVsIGltcHVlc3RvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVGFzYU9DdW90YSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIHRhc2EgbyBjdW90YSBkZWwgaW1wdWVzdG8gcXVlIHNlIHJldGllbmUgcGFyYSBlbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6ZGVjaW1hbCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjAuMDAwMDAwIi8+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZnJhY3Rpb25EaWdpdHMgdmFsdWU9IjYiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iSW1wb3J0ZSIgdHlwZT0idGRDRkRJOnRfSW1wb3J0ZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGVsIGltcG9ydGUgZGVsIGltcHVlc3RvIHJldGVuaWRvIHF1ZSBhcGxpY2EgYWwgY29uY2VwdG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCQkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJPC94czplbGVtZW50Pg0KCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IkFDdWVudGFUZXJjZXJvcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgcmVnaXN0cmFyIGluZm9ybWFjacOzbiBkZWwgY29udHJpYnV5ZW50ZSBUZXJjZXJvLCBhIGN1ZW50YSBkZWwgcXVlIHNlIHJlYWxpemEgbGEgb3BlcmFjacOzbi48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZmNBQ3VlbnRhVGVyY2Vyb3MiIHR5cGU9InRkQ0ZESTp0X1JGQyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBsYSBDbGF2ZSBkZWwgUmVnaXN0cm8gRmVkZXJhbCBkZSBDb250cmlidXllbnRlcyBkZWwgY29udHJpYnV5ZW50ZSBUZXJjZXJvLCBhIGN1ZW50YSBkZWwgcXVlIHNlIHJlYWxpemEgbGEgb3BlcmFjacOzbi48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik5vbWJyZUFDdWVudGFUZXJjZXJvcyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBlbCBub21icmUsIGRlbm9taW5hY2nDs24gbyByYXrDs24gc29jaWFsIGRlbCBjb250cmlidXllbnRlIFRlcmNlcm8gY29ycmVzcG9uZGllbnRlIGNvbiBlbCBSZmMsIGEgY3VlbnRhIGRlbCBxdWUgc2UgcmVhbGl6YSBsYSBvcGVyYWNpw7NuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMzAwIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMzAwfSIvPg0KCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZWdpbWVuRmlzY2FsQUN1ZW50YVRlcmNlcm9zIiB0eXBlPSJjYXRDRkRJOmNfUmVnaW1lbkZpc2NhbCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGluY29ycG9yYXIgbGEgY2xhdmUgZGVsIHLDqWdpbWVuIGRlbCBjb250cmlidXllbnRlIFRlcmNlcm8sIGEgY3VlbnRhIGRlbCBxdWUgc2UgcmVhbGl6YSBsYSBvcGVyYWNpw7NuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRG9taWNpbGlvRmlzY2FsQUN1ZW50YVRlcmNlcm9zIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgaW5jb3Jwb3JhciBlbCBjw7NkaWdvIHBvc3RhbCBkZWwgZG9taWNpbGlvIGZpc2NhbCBkZWwgVGVyY2VybywgYSBjdWVudGEgZGVsIHF1ZSBzZSByZWFsaXphIGxhIG9wZXJhY2nDs24uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQkJCQkJCQkJCQk8eHM6bGVuZ3RoIHZhbHVlPSI1Ii8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05XXs1fSIvPg0KCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJJbmZvcm1hY2lvbkFkdWFuZXJhIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgaW50cm9kdWNpciBsYSBpbmZvcm1hY2nDs24gYWR1YW5lcmEgYXBsaWNhYmxlIGN1YW5kbyBzZSB0cmF0ZSBkZSB2ZW50YXMgZGUgcHJpbWVyYSBtYW5vIGRlIG1lcmNhbmPDrWFzIGltcG9ydGFkYXMgbyBzZSB0cmF0ZSBkZSBvcGVyYWNpb25lcyBkZSBjb21lcmNpbyBleHRlcmlvciBjb24gYmllbmVzIG8gc2VydmljaW9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik51bWVyb1BlZGltZW50byIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGVsIG7Dum1lcm8gZGVsIHBlZGltZW50byBxdWUgYW1wYXJhIGxhIGltcG9ydGFjacOzbiBkZWwgYmllbiBxdWUgc2UgZXhwcmVzYSBlbiBlbCBzaWd1aWVudGUgZm9ybWF0bzogw7psdGltb3MgMiBkw61naXRvcyBkZWwgYcOxbyBkZSB2YWxpZGFjacOzbiBzZWd1aWRvcyBwb3IgZG9zIGVzcGFjaW9zLCAyIGTDrWdpdG9zIGRlIGxhIGFkdWFuYSBkZSBkZXNwYWNobyBzZWd1aWRvcyBwb3IgZG9zIGVzcGFjaW9zLCA0IGTDrWdpdG9zIGRlbCBuw7ptZXJvIGRlIGxhIHBhdGVudGUgc2VndWlkb3MgcG9yIGRvcyBlc3BhY2lvcywgMSBkw61naXRvIHF1ZSBjb3JyZXNwb25kZSBhbCDDumx0aW1vIGTDrWdpdG8gZGVsIGHDsW8gZW4gY3Vyc28sIHNhbHZvIHF1ZSBzZSB0cmF0ZSBkZSB1biBwZWRpbWVudG8gY29uc29saWRhZG8gaW5pY2lhZG8gZW4gZWwgYcOxbyBpbm1lZGlhdG8gYW50ZXJpb3IgbyBkZWwgcGVkaW1lbnRvIG9yaWdpbmFsIGRlIHVuYSByZWN0aWZpY2FjacOzbiwgc2VndWlkbyBkZSA2IGTDrWdpdG9zIGRlIGxhIG51bWVyYWNpw7NuIHByb2dyZXNpdmEgcG9yIGFkdWFuYS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCQkJCTx4czpsZW5ndGggdmFsdWU9IjIxIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iWzAtOV17Mn0gIFswLTldezJ9ICBbMC05XXs0fSAgWzAtOV17N30iLz4NCgkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQ3VlbnRhUHJlZGlhbCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+DQoJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyBvcGNpb25hbCBwYXJhIGFzZW50YXIgZWwgbsO6bWVybyBkZSBjdWVudGEgcHJlZGlhbCBjb24gZWwgcXVlIGZ1ZSByZWdpc3RyYWRvIGVsIGlubXVlYmxlLCBlbiBlbCBzaXN0ZW1hIGNhdGFzdHJhbCBkZSBsYSBlbnRpZGFkIGZlZGVyYXRpdmEgZGUgcXVlIHRyYXRlLCBvIGJpZW4gcGFyYSBpbmNvcnBvcmFyIGxvcyBkYXRvcyBkZSBpZGVudGlmaWNhY2nDs24gZGVsIGNlcnRpZmljYWRvIGRlIHBhcnRpY2lwYWNpw7NuIGlubW9iaWxpYXJpYSBubyBhbW9ydGl6YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJOdW1lcm8iIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBlbCBuw7ptZXJvIGRlIGxhIGN1ZW50YSBwcmVkaWFsIGRlbCBpbm11ZWJsZSBjdWJpZXJ0byBwb3IgZWwgcHJlc2VudGUgY29uY2VwdG8sIG8gYmllbiBwYXJhIGluY29ycG9yYXIgbG9zIGRhdG9zIGRlIGlkZW50aWZpY2FjacOzbiBkZWwgY2VydGlmaWNhZG8gZGUgcGFydGljaXBhY2nDs24gaW5tb2JpbGlhcmlhIG5vIGFtb3J0aXphYmxlLCB0cmF0w6FuZG9zZSBkZSBhcnJlbmRhbWllbnRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMTUwIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05YS16QS1aXXsxLDE1MH0iLz4NCgkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQ29tcGxlbWVudG9Db25jZXB0byIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIGRvbmRlIHNlIGluY2x1eWVuIGxvcyBub2RvcyBjb21wbGVtZW50YXJpb3MgZGUgZXh0ZW5zacOzbiBhbCBjb25jZXB0byBkZWZpbmlkb3MgcG9yIGVsIFNBVCwgZGUgYWN1ZXJkbyBjb24gbGFzIGRpc3Bvc2ljaW9uZXMgcGFydGljdWxhcmVzIHBhcmEgdW4gc2VjdG9yIG8gYWN0aXZpZGFkIGVzcGVjw61maWNhLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJCQkJPHhzOmFueSBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iUGFydGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gb3BjaW9uYWwgcGFyYSBleHByZXNhciBsYXMgcGFydGVzIG8gY29tcG9uZW50ZXMgcXVlIGludGVncmFuIGxhIHRvdGFsaWRhZCBkZWwgY29uY2VwdG8gZXhwcmVzYWRvIGVuIGVsIGNvbXByb2JhbnRlIGZpc2NhbCBkaWdpdGFsIHBvciBJbnRlcm5ldC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IkluZm9ybWFjaW9uQWR1YW5lcmEiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gb3BjaW9uYWwgcGFyYSBpbnRyb2R1Y2lyIGxhIGluZm9ybWFjacOzbiBhZHVhbmVyYSBhcGxpY2FibGUgY3VhbmRvIHNlIHRyYXRlIGRlIHZlbnRhcyBkZSBwcmltZXJhIG1hbm8gZGUgbWVyY2FuY8OtYXMgaW1wb3J0YWRhcyBvIHNlIHRyYXRlIGRlIG9wZXJhY2lvbmVzIGRlIGNvbWVyY2lvIGV4dGVyaW9yIGNvbiBiaWVuZXMgbyBzZXJ2aWNpb3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTnVtZXJvUGVkaW1lbnRvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgZWwgbsO6bWVybyBkZWwgcGVkaW1lbnRvIHF1ZSBhbXBhcmEgbGEgaW1wb3J0YWNpw7NuIGRlbCBiaWVuIHF1ZSBzZSBleHByZXNhIGVuIGVsIHNpZ3VpZW50ZSBmb3JtYXRvOiDDumx0aW1vcyAyIGTDrWdpdG9zIGRlbCBhw7FvIGRlIHZhbGlkYWNpw7NuIHNlZ3VpZG9zIHBvciBkb3MgZXNwYWNpb3MsIDIgZMOtZ2l0b3MgZGUgbGEgYWR1YW5hIGRlIGRlc3BhY2hvIHNlZ3VpZG9zIHBvciBkb3MgZXNwYWNpb3MsIDQgZMOtZ2l0b3MgZGVsIG7Dum1lcm8gZGUgbGEgcGF0ZW50ZSBzZWd1aWRvcyBwb3IgZG9zIGVzcGFjaW9zLCAxIGTDrWdpdG8gcXVlIGNvcnJlc3BvbmRlIGFsIMO6bHRpbW8gZMOtZ2l0byBkZWwgYcOxbyBlbiBjdXJzbywgc2Fsdm8gcXVlIHNlIHRyYXRlIGRlIHVuIHBlZGltZW50byBjb25zb2xpZGFkbyBpbmljaWFkbyBlbiBlbCBhw7FvIGlubWVkaWF0byBhbnRlcmlvciBvIGRlbCBwZWRpbWVudG8gb3JpZ2luYWwgZGUgdW5hIHJlY3RpZmljYWNpw7NuLCBzZWd1aWRvIGRlIDYgZMOtZ2l0b3MgZGUgbGEgbnVtZXJhY2nDs24gcHJvZ3Jlc2l2YSBwb3IgYWR1YW5hLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iMjEiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05XXsyfSAgWzAtOV17Mn0gIFswLTldezR9ICBbMC05XXs3fSIvPg0KCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCQkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkNsYXZlUHJvZFNlcnYiIHR5cGU9ImNhdENGREk6Y19DbGF2ZVByb2RTZXJ2IiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgbGEgY2xhdmUgZGVsIHByb2R1Y3RvIG8gZGVsIHNlcnZpY2lvIGFtcGFyYWRvIHBvciBsYSBwcmVzZW50ZSBwYXJ0ZS4gRXMgcmVxdWVyaWRvIHkgZGViZW4gdXRpbGl6YXIgbGFzIGNsYXZlcyBkZWwgY2F0w6Fsb2dvIGRlIHByb2R1Y3RvcyB5IHNlcnZpY2lvcywgY3VhbmRvIGxvcyBjb25jZXB0b3MgcXVlIHJlZ2lzdHJlbiBwb3Igc3VzIGFjdGl2aWRhZGVzIGNvcnJlc3BvbmRhbiBjb24gZGljaG9zIGNvbmNlcHRvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik5vSWRlbnRpZmljYWNpb24iIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIGV4cHJlc2FyIGVsIG7Dum1lcm8gZGUgc2VyaWUsIG7Dum1lcm8gZGUgcGFydGUgZGVsIGJpZW4gbyBpZGVudGlmaWNhZG9yIGRlbCBwcm9kdWN0byBvIGRlbCBzZXJ2aWNpbyBhbXBhcmFkbyBwb3IgbGEgcHJlc2VudGUgcGFydGUuIE9wY2lvbmFsbWVudGUgc2UgcHVlZGUgdXRpbGl6YXIgY2xhdmVzIGRlbCBlc3TDoW5kYXIgR1RJTi48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjEwMCIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDEwMH0iLz4NCgkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ2FudGlkYWQiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBsYSBjYW50aWRhZCBkZSBiaWVuZXMgbyBzZXJ2aWNpb3MgZGVsIHRpcG8gcGFydGljdWxhciBkZWZpbmlkbyBwb3IgbGEgcHJlc2VudGUgcGFydGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJCQkJCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlVuaWRhZCIgdXNlPSJvcHRpb25hbCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIG9wY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgdW5pZGFkIGRlIG1lZGlkYSBwcm9waWEgZGUgbGEgb3BlcmFjacOzbiBkZWwgZW1pc29yLCBhcGxpY2FibGUgcGFyYSBsYSBjYW50aWRhZCBleHByZXNhZGEgZW4gbGEgcGFydGUuIExhIHVuaWRhZCBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgZGVzY3JpcGNpw7NuIGRlIGxhIHBhcnRlLiA8L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjIwIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMjB9Ii8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkRlc2NyaXBjaW9uIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcHJlY2lzYXIgbGEgZGVzY3JpcGNpw7NuIGRlbCBiaWVuIG8gc2VydmljaW8gY3ViaWVydG8gcG9yIGxhIHByZXNlbnRlIHBhcnRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMTAwMCIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDEwMDB9Ii8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlZhbG9yVW5pdGFyaW8iIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIHByZWNpc2FyIGVsIHZhbG9yIG8gcHJlY2lvIHVuaXRhcmlvIGRlbCBiaWVuIG8gc2VydmljaW8gY3ViaWVydG8gcG9yIGxhIHByZXNlbnRlIHBhcnRlLiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcG9ydGUiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIHByZWNpc2FyIGVsIGltcG9ydGUgdG90YWwgZGUgbG9zIGJpZW5lcyBvIHNlcnZpY2lvcyBkZSBsYSBwcmVzZW50ZSBwYXJ0ZS4gRGViZSBzZXIgZXF1aXZhbGVudGUgYWwgcmVzdWx0YWRvIGRlIG11bHRpcGxpY2FyIGxhIGNhbnRpZGFkIHBvciBlbCB2YWxvciB1bml0YXJpbyBleHByZXNhZG8gZW4gbGEgcGFydGUuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJDbGF2ZVByb2RTZXJ2IiB0eXBlPSJjYXRDRkRJOmNfQ2xhdmVQcm9kU2VydiIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGxhIGNsYXZlIGRlbCBwcm9kdWN0byBvIGRlbCBzZXJ2aWNpbyBhbXBhcmFkbyBwb3IgZWwgcHJlc2VudGUgY29uY2VwdG8uIEVzIHJlcXVlcmlkbyB5IGRlYmVuIHV0aWxpemFyIGxhcyBjbGF2ZXMgZGVsIGNhdMOhbG9nbyBkZSBwcm9kdWN0b3MgeSBzZXJ2aWNpb3MsIGN1YW5kbyBsb3MgY29uY2VwdG9zIHF1ZSByZWdpc3RyZW4gcG9yIHN1cyBhY3RpdmlkYWRlcyBjb3JyZXNwb25kYW4gY29uIGRpY2hvcyBjb25jZXB0b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJOb0lkZW50aWZpY2FjaW9uIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gb3BjaW9uYWwgcGFyYSBleHByZXNhciBlbCBuw7ptZXJvIGRlIHBhcnRlLCBpZGVudGlmaWNhZG9yIGRlbCBwcm9kdWN0byBvIGRlbCBzZXJ2aWNpbywgbGEgY2xhdmUgZGUgcHJvZHVjdG8gbyBzZXJ2aWNpbywgU0tVIG8gZXF1aXZhbGVudGUsIHByb3BpYSBkZSBsYSBvcGVyYWNpw7NuIGRlbCBlbWlzb3IsIGFtcGFyYWRvIHBvciBlbCBwcmVzZW50ZSBjb25jZXB0by4gT3BjaW9uYWxtZW50ZSBzZSBwdWVkZSB1dGlsaXphciBjbGF2ZXMgZGVsIGVzdMOhbmRhciBHVElOLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQk8eHM6bWluTGVuZ3RoIHZhbHVlPSIxIi8+DQoJCQkJCQkJCQkJCQk8eHM6bWF4TGVuZ3RoIHZhbHVlPSIxMDAiLz4NCgkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMTAwfSIvPg0KCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJDYW50aWRhZCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHByZWNpc2FyIGxhIGNhbnRpZGFkIGRlIGJpZW5lcyBvIHNlcnZpY2lvcyBkZWwgdGlwbyBwYXJ0aWN1bGFyIGRlZmluaWRvIHBvciBlbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6ZGVjaW1hbCI+DQoJCQkJCQkJCQkJCQk8eHM6ZnJhY3Rpb25EaWdpdHMgdmFsdWU9IjYiLz4NCgkJCQkJCQkJCQkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjAuMDAwMDAxIi8+DQoJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ2xhdmVVbmlkYWQiIHR5cGU9ImNhdENGREk6Y19DbGF2ZVVuaWRhZCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHByZWNpc2FyIGxhIGNsYXZlIGRlIHVuaWRhZCBkZSBtZWRpZGEgZXN0YW5kYXJpemFkYSBhcGxpY2FibGUgcGFyYSBsYSBjYW50aWRhZCBleHByZXNhZGEgZW4gZWwgY29uY2VwdG8uIExhIHVuaWRhZCBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgZGVzY3JpcGNpw7NuIGRlbCBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlVuaWRhZCIgdXNlPSJvcHRpb25hbCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIG9wY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgdW5pZGFkIGRlIG1lZGlkYSBwcm9waWEgZGUgbGEgb3BlcmFjacOzbiBkZWwgZW1pc29yLCBhcGxpY2FibGUgcGFyYSBsYSBjYW50aWRhZCBleHByZXNhZGEgZW4gZWwgY29uY2VwdG8uIExhIHVuaWRhZCBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgZGVzY3JpcGNpw7NuIGRlbCBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjIwIi8+DQoJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMjB9Ii8+DQoJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkRlc2NyaXBjaW9uIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcHJlY2lzYXIgbGEgZGVzY3JpcGNpw7NuIGRlbCBiaWVuIG8gc2VydmljaW8gY3ViaWVydG8gcG9yIGVsIHByZXNlbnRlIGNvbmNlcHRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMTAwMCIvPg0KCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDEwMDB9Ii8+DQoJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlZhbG9yVW5pdGFyaW8iIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBlbCB2YWxvciBvIHByZWNpbyB1bml0YXJpbyBkZWwgYmllbiBvIHNlcnZpY2lvIGN1YmllcnRvIHBvciBlbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcG9ydGUiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBlbCBpbXBvcnRlIHRvdGFsIGRlIGxvcyBiaWVuZXMgbyBzZXJ2aWNpb3MgZGVsIHByZXNlbnRlIGNvbmNlcHRvLiBEZWJlIHNlciBlcXVpdmFsZW50ZSBhbCByZXN1bHRhZG8gZGUgbXVsdGlwbGljYXIgbGEgY2FudGlkYWQgcG9yIGVsIHZhbG9yIHVuaXRhcmlvIGV4cHJlc2FkbyBlbiBlbCBjb25jZXB0by4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuIDwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRGVzY3VlbnRvIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gb3BjaW9uYWwgcGFyYSByZXByZXNlbnRhciBlbCBpbXBvcnRlIGRlIGxvcyBkZXNjdWVudG9zIGFwbGljYWJsZXMgYWwgY29uY2VwdG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iT2JqZXRvSW1wIiB0eXBlPSJjYXRDRkRJOmNfT2JqZXRvSW1wIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgc2kgbGEgb3BlcmFjacOzbiBjb21lcmNpYWwgZXMgb2JqZXRvIG8gbm8gZGUgaW1wdWVzdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJPC94czplbGVtZW50Pg0KCQkJCTx4czplbGVtZW50IG5hbWU9IkltcHVlc3RvcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIGNvbmRpY2lvbmFsIHBhcmEgZXhwcmVzYXIgZWwgcmVzdW1lbiBkZSBsb3MgaW1wdWVzdG9zIGFwbGljYWJsZXMuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJSZXRlbmNpb25lcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIGNvbmRpY2lvbmFsIHBhcmEgY2FwdHVyYXIgbG9zIGltcHVlc3RvcyByZXRlbmlkb3MgYXBsaWNhYmxlcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBlbiBsb3MgY29uY2VwdG9zIHNlIHJlZ2lzdHJlIGFsZ8O6biBpbXB1ZXN0byByZXRlbmlkby48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IlJldGVuY2lvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgbGEgaW5mb3JtYWNpw7NuIGRldGFsbGFkYSBkZSB1bmEgcmV0ZW5jacOzbiBkZSBpbXB1ZXN0byBlc3BlY8OtZmljby48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXB1ZXN0byIgdHlwZT0iY2F0Q0ZESTpjX0ltcHVlc3RvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgbGEgY2xhdmUgZGVsIHRpcG8gZGUgaW1wdWVzdG8gcmV0ZW5pZG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXBvcnRlIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgZWwgbW9udG8gZGVsIGltcHVlc3RvIHJldGVuaWRvLiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJPC94czplbGVtZW50Pg0KCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iVHJhc2xhZG9zIiBtaW5PY2N1cnM9IjAiPg0KCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gY29uZGljaW9uYWwgcGFyYSBjYXB0dXJhciBsb3MgaW1wdWVzdG9zIHRyYXNsYWRhZG9zIGFwbGljYWJsZXMuIEVzIHJlcXVlcmlkbyBjdWFuZG8gZW4gbG9zIGNvbmNlcHRvcyBzZSByZWdpc3RyZSB1biBpbXB1ZXN0byB0cmFzbGFkYWRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iVHJhc2xhZG8iIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIHJlcXVlcmlkbyBwYXJhIGxhIGluZm9ybWFjacOzbiBkZXRhbGxhZGEgZGUgdW4gdHJhc2xhZG8gZGUgaW1wdWVzdG8gZXNwZWPDrWZpY28uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQmFzZSIgdHlwZT0idGRDRkRJOnRfSW1wb3J0ZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIHN1bWEgZGUgbG9zIGF0cmlidXRvcyBCYXNlIGRlIGxvcyBjb25jZXB0b3MgZGVsIGltcHVlc3RvIHRyYXNsYWRhZG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iSW1wdWVzdG8iIHR5cGU9ImNhdENGREk6Y19JbXB1ZXN0byIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGNsYXZlIGRlbCB0aXBvIGRlIGltcHVlc3RvIHRyYXNsYWRhZG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJUaXBvRmFjdG9yIiB0eXBlPSJjYXRDRkRJOmNfVGlwb0ZhY3RvciIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGNsYXZlIGRlbCB0aXBvIGRlIGZhY3RvciBxdWUgc2UgYXBsaWNhIGEgbGEgYmFzZSBkZWwgaW1wdWVzdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJUYXNhT0N1b3RhIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBzZcOxYWxhciBlbCB2YWxvciBkZSBsYSB0YXNhIG8gY3VvdGEgZGVsIGltcHVlc3RvIHF1ZSBzZSB0cmFzbGFkYSBwb3IgbG9zIGNvbmNlcHRvcyBhbXBhcmFkb3MgZW4gZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMCIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcG9ydGUiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIHNlw7FhbGFyIGxhIHN1bWEgZGVsIGltcG9ydGUgZGVsIGltcHVlc3RvIHRyYXNsYWRhZG8sIGFncnVwYWRvIHBvciBpbXB1ZXN0bywgVGlwb0ZhY3RvciB5IFRhc2FPQ3VvdGEuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRvdGFsSW1wdWVzdG9zUmV0ZW5pZG9zIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBleHByZXNhciBlbCB0b3RhbCBkZSBsb3MgaW1wdWVzdG9zIHJldGVuaWRvcyBxdWUgc2UgZGVzcHJlbmRlbiBkZSBsb3MgY29uY2VwdG9zIGV4cHJlc2Fkb3MgZW4gZWwgY29tcHJvYmFudGUgZmlzY2FsIGRpZ2l0YWwgcG9yIEludGVybmV0LiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBlbiBsb3MgY29uY2VwdG9zIHNlIHJlZ2lzdHJlbiBpbXB1ZXN0b3MgcmV0ZW5pZG9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVG90YWxJbXB1ZXN0b3NUcmFzbGFkYWRvcyIgdHlwZT0idGRDRkRJOnRfSW1wb3J0ZSIgdXNlPSJvcHRpb25hbCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIGNvbmRpY2lvbmFsIHBhcmEgZXhwcmVzYXIgZWwgdG90YWwgZGUgbG9zIGltcHVlc3RvcyB0cmFzbGFkYWRvcyBxdWUgc2UgZGVzcHJlbmRlbiBkZSBsb3MgY29uY2VwdG9zIGV4cHJlc2Fkb3MgZW4gZWwgY29tcHJvYmFudGUgZmlzY2FsIGRpZ2l0YWwgcG9yIEludGVybmV0LiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBlbiBsb3MgY29uY2VwdG9zIHNlIHJlZ2lzdHJlbiBpbXB1ZXN0b3MgdHJhc2xhZGFkb3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCTwveHM6ZWxlbWVudD4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGVtZW50byIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIGRvbmRlIHNlIGluY2x1eWUgZWwgY29tcGxlbWVudG8gVGltYnJlIEZpc2NhbCBEaWdpdGFsIGRlIG1hbmVyYSBvYmxpZ2F0b3JpYSB5IGxvcyBub2RvcyBjb21wbGVtZW50YXJpb3MgZGV0ZXJtaW5hZG9zIHBvciBlbCBTQVQsIGRlIGFjdWVyZG8gY29uIGxhcyBkaXNwb3NpY2lvbmVzIHBhcnRpY3VsYXJlcyBwYXJhIHVuIHNlY3RvciBvIGFjdGl2aWRhZCBlc3BlY8OtZmljYS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCTx4czphbnkgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQWRkZW5kYSIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgcmVjaWJpciBsYXMgZXh0ZW5zaW9uZXMgYWwgcHJlc2VudGUgZm9ybWF0byBxdWUgc2VhbiBkZSB1dGlsaWRhZCBhbCBjb250cmlidXllbnRlLiBQYXJhIGxhcyByZWdsYXMgZGUgdXNvIGRlbCBtaXNtbywgcmVmZXJpcnNlIGFsIGZvcm1hdG8gb3JpZ2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJPHhzOmFueSBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQk8L3hzOmVsZW1lbnQ+DQoJCQk8L3hzOnNlcXVlbmNlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJWZXJzaW9uIiB1c2U9InJlcXVpcmVkIiBmaXhlZD0iNC4wIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIGNvbiB2YWxvciBwcmVmaWphZG8gYSA0LjAgcXVlIGluZGljYSBsYSB2ZXJzacOzbiBkZWwgZXN0w6FuZGFyIGJham8gZWwgcXVlIHNlIGVuY3VlbnRyYSBleHByZXNhZG8gZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iU2VyaWUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIHByZWNpc2FyIGxhIHNlcmllIHBhcmEgY29udHJvbCBpbnRlcm5vIGRlbCBjb250cmlidXllbnRlLiBFc3RlIGF0cmlidXRvIGFjZXB0YSB1bmEgY2FkZW5hIGRlIGNhcmFjdGVyZXMuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQk8eHM6bWluTGVuZ3RoIHZhbHVlPSIxIi8+DQoJCQkJCQk8eHM6bWF4TGVuZ3RoIHZhbHVlPSIyNSIvPg0KCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDI1fSIvPg0KCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJGb2xpbyIgdXNlPSJvcHRpb25hbCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIG9wY2lvbmFsIHBhcmEgY29udHJvbCBpbnRlcm5vIGRlbCBjb250cmlidXllbnRlIHF1ZSBleHByZXNhIGVsIGZvbGlvIGRlbCBjb21wcm9iYW50ZSwgYWNlcHRhIHVuYSBjYWRlbmEgZGUgY2FyYWN0ZXJlcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjQwIi8+DQoJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsNDB9Ii8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkZlY2hhIiB0eXBlPSJ0ZENGREk6dF9GZWNoYUgiIHVzZT0icmVxdWlyZWQiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBsYSBleHByZXNpw7NuIGRlIGxhIGZlY2hhIHkgaG9yYSBkZSBleHBlZGljacOzbiBkZWwgQ29tcHJvYmFudGUgRmlzY2FsIERpZ2l0YWwgcG9yIEludGVybmV0LiBTZSBleHByZXNhIGVuIGxhIGZvcm1hIEFBQUEtTU0tRERUaGg6bW06c3MgeSBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgaG9yYSBsb2NhbCBkb25kZSBzZSBleHBpZGUgZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJTZWxsbyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGNvbnRlbmVyIGVsIHNlbGxvIGRpZ2l0YWwgZGVsIGNvbXByb2JhbnRlIGZpc2NhbCwgYWwgcXVlIGhhY2VuIHJlZmVyZW5jaWEgbGFzIHJlZ2xhcyBkZSByZXNvbHVjacOzbiBtaXNjZWzDoW5lYSB2aWdlbnRlLiBFbCBzZWxsbyBkZWJlIHNlciBleHByZXNhZG8gY29tbyB1bmEgY2FkZW5hIGRlIHRleHRvIGVuIGZvcm1hdG8gQmFzZSA2NC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJGb3JtYVBhZ28iIHR5cGU9ImNhdENGREk6Y19Gb3JtYVBhZ28iIHVzZT0ib3B0aW9uYWwiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIGV4cHJlc2FyIGxhIGNsYXZlIGRlIGxhIGZvcm1hIGRlIHBhZ28gZGUgbG9zIGJpZW5lcyBvIHNlcnZpY2lvcyBhbXBhcmFkb3MgcG9yIGVsIGNvbXByb2JhbnRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTm9DZXJ0aWZpY2FkbyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGVsIG7Dum1lcm8gZGUgc2VyaWUgZGVsIGNlcnRpZmljYWRvIGRlIHNlbGxvIGRpZ2l0YWwgcXVlIGFtcGFyYSBhbCBjb21wcm9iYW50ZSwgZGUgYWN1ZXJkbyBjb24gZWwgYWN1c2UgY29ycmVzcG9uZGllbnRlIGEgMjAgcG9zaWNpb25lcyBvdG9yZ2FkbyBwb3IgZWwgc2lzdGVtYSBkZWwgU0FULjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkNlcnRpZmljYWRvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHF1ZSBzaXJ2ZSBwYXJhIGluY29ycG9yYXIgZWwgY2VydGlmaWNhZG8gZGUgc2VsbG8gZGlnaXRhbCBxdWUgYW1wYXJhIGFsIGNvbXByb2JhbnRlLCBjb21vIHRleHRvIGVuIGZvcm1hdG8gYmFzZSA2NC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJDb25kaWNpb25lc0RlUGFnbyIgdXNlPSJvcHRpb25hbCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIGNvbmRpY2lvbmFsIHBhcmEgZXhwcmVzYXIgbGFzIGNvbmRpY2lvbmVzIGNvbWVyY2lhbGVzIGFwbGljYWJsZXMgcGFyYSBlbCBwYWdvIGRlbCBjb21wcm9iYW50ZSBmaXNjYWwgZGlnaXRhbCBwb3IgSW50ZXJuZXQuIEVzdGUgYXRyaWJ1dG8gcHVlZGUgc2VyIGNvbmRpY2lvbmFkbyBtZWRpYW50ZSBhdHJpYnV0b3MgbyBjb21wbGVtZW50b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjEwMDAiLz4NCgkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMTAwMH0iLz4NCgkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iU3ViVG90YWwiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSByZXByZXNlbnRhciBsYSBzdW1hIGRlIGxvcyBpbXBvcnRlcyBkZSBsb3MgY29uY2VwdG9zIGFudGVzIGRlIGRlc2N1ZW50b3MgZSBpbXB1ZXN0by4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJEZXNjdWVudG8iIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIHJlcHJlc2VudGFyIGVsIGltcG9ydGUgdG90YWwgZGUgbG9zIGRlc2N1ZW50b3MgYXBsaWNhYmxlcyBhbnRlcyBkZSBpbXB1ZXN0b3MuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLiBTZSBkZWJlIHJlZ2lzdHJhciBjdWFuZG8gZXhpc3RhbiBjb25jZXB0b3MgY29uIGRlc2N1ZW50by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik1vbmVkYSIgdHlwZT0iY2F0Q0ZESTpjX01vbmVkYSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGlkZW50aWZpY2FyIGxhIGNsYXZlIGRlIGxhIG1vbmVkYSB1dGlsaXphZGEgcGFyYSBleHByZXNhciBsb3MgbW9udG9zLCBjdWFuZG8gc2UgdXNhIG1vbmVkYSBuYWNpb25hbCBzZSByZWdpc3RyYSBNWE4uIENvbmZvcm1lIGNvbiBsYSBlc3BlY2lmaWNhY2nDs24gSVNPIDQyMTcuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJUaXBvQ2FtYmlvIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSByZXByZXNlbnRhciBlbCB0aXBvIGRlIGNhbWJpbyBGSVggY29uZm9ybWUgY29uIGxhIG1vbmVkYSB1c2FkYS4gRXMgcmVxdWVyaWRvIGN1YW5kbyBsYSBjbGF2ZSBkZSBtb25lZGEgZXMgZGlzdGludGEgZGUgTVhOIHkgZGUgWFhYLiBFbCB2YWxvciBkZWJlIHJlZmxlamFyIGVsIG7Dum1lcm8gZGUgcGVzb3MgbWV4aWNhbm9zIHF1ZSBlcXVpdmFsZW4gYSB1bmEgdW5pZGFkIGRlIGxhIGRpdmlzYSBzZcOxYWxhZGEgZW4gZWwgYXRyaWJ1dG8gbW9uZWRhLiBTaSBlbCB2YWxvciBlc3TDoSBmdWVyYSBkZWwgcG9yY2VudGFqZSBhcGxpY2FibGUgYSBsYSBtb25lZGEgdG9tYWRvIGRlbCBjYXTDoWxvZ28gY19Nb25lZGEsIGVsIGVtaXNvciBkZWJlIG9idGVuZXIgZGVsIFBBQyBxdWUgdmF5YSBhIHRpbWJyYXIgZWwgQ0ZESSwgZGUgbWFuZXJhIG5vIGF1dG9tw6F0aWNhLCB1bmEgY2xhdmUgZGUgY29uZmlybWFjacOzbiBwYXJhIHJhdGlmaWNhciBxdWUgZWwgdmFsb3IgZXMgY29ycmVjdG8gZSBpbnRlZ3JhciBkaWNoYSBjbGF2ZSBlbiBlbCBhdHJpYnV0byBDb25maXJtYWNpb24uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMSIvPg0KCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRvdGFsIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9InJlcXVpcmVkIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcmVwcmVzZW50YXIgbGEgc3VtYSBkZWwgc3VidG90YWwsIG1lbm9zIGxvcyBkZXNjdWVudG9zIGFwbGljYWJsZXMsIG3DoXMgbGFzIGNvbnRyaWJ1Y2lvbmVzIHJlY2liaWRhcyAoaW1wdWVzdG9zIHRyYXNsYWRhZG9zIC0gZmVkZXJhbGVzIHkvbyBsb2NhbGVzLCBkZXJlY2hvcywgcHJvZHVjdG9zLCBhcHJvdmVjaGFtaWVudG9zLCBhcG9ydGFjaW9uZXMgZGUgc2VndXJpZGFkIHNvY2lhbCwgY29udHJpYnVjaW9uZXMgZGUgbWVqb3JhcykgbWVub3MgbG9zIGltcHVlc3RvcyByZXRlbmlkb3MgZmVkZXJhbGVzIHkvbyBsb2NhbGVzLiBTaSBlbCB2YWxvciBlcyBzdXBlcmlvciBhbCBsw61taXRlIHF1ZSBlc3RhYmxlemNhIGVsIFNBVCBlbiBsYSBSZXNvbHVjacOzbiBNaXNjZWzDoW5lYSBGaXNjYWwgdmlnZW50ZSwgZWwgZW1pc29yIGRlYmUgb2J0ZW5lciBkZWwgUEFDIHF1ZSB2YXlhIGEgdGltYnJhciBlbCBDRkRJLCBkZSBtYW5lcmEgbm8gYXV0b23DoXRpY2EsIHVuYSBjbGF2ZSBkZSBjb25maXJtYWNpw7NuIHBhcmEgcmF0aWZpY2FyIHF1ZSBlbCB2YWxvciBlcyBjb3JyZWN0byBlIGludGVncmFyIGRpY2hhIGNsYXZlIGVuIGVsIGF0cmlidXRvIENvbmZpcm1hY2lvbi4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuIDwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVGlwb0RlQ29tcHJvYmFudGUiIHR5cGU9ImNhdENGREk6Y19UaXBvRGVDb21wcm9iYW50ZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGxhIGNsYXZlIGRlbCBlZmVjdG8gZGVsIGNvbXByb2JhbnRlIGZpc2NhbCBwYXJhIGVsIGNvbnRyaWJ1eWVudGUgZW1pc29yLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRXhwb3J0YWNpb24iIHR5cGU9ImNhdENGREk6Y19FeHBvcnRhY2lvbiIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIHNpIGVsIGNvbXByb2JhbnRlIGFtcGFyYSB1bmEgb3BlcmFjacOzbiBkZSBleHBvcnRhY2nDs24uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJNZXRvZG9QYWdvIiB0eXBlPSJjYXRDRkRJOmNfTWV0b2RvUGFnbyIgdXNlPSJvcHRpb25hbCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIGNvbmRpY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgY2xhdmUgZGVsIG3DqXRvZG8gZGUgcGFnbyBxdWUgYXBsaWNhIHBhcmEgZXN0ZSBjb21wcm9iYW50ZSBmaXNjYWwgZGlnaXRhbCBwb3IgSW50ZXJuZXQsIGNvbmZvcm1lIGFsIEFydMOtY3VsbyAyOS1BIGZyYWNjacOzbiBWSUkgaW5jaXNvcyBhIHkgYiBkZWwgQ0ZGLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTHVnYXJFeHBlZGljaW9uIiB0eXBlPSJjYXRDRkRJOmNfQ29kaWdvUG9zdGFsIiB1c2U9InJlcXVpcmVkIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgaW5jb3Jwb3JhciBlbCBjw7NkaWdvIHBvc3RhbCBkZWwgbHVnYXIgZGUgZXhwZWRpY2nDs24gZGVsIGNvbXByb2JhbnRlIChkb21pY2lsaW8gZGUgbGEgbWF0cml6IG8gZGUgbGEgc3VjdXJzYWwpLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ29uZmlybWFjaW9uIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSByZWdpc3RyYXIgbGEgY2xhdmUgZGUgY29uZmlybWFjacOzbiBxdWUgZW50cmVndWUgZWwgUEFDIHBhcmEgZXhwZWRpciBlbCBjb21wcm9iYW50ZSBjb24gaW1wb3J0ZXMgZ3JhbmRlcywgY29uIHVuIHRpcG8gZGUgY2FtYmlvIGZ1ZXJhIGRlbCByYW5nbyBlc3RhYmxlY2lkbyBvIGNvbiBhbWJvcyBjYXNvcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBzZSByZWdpc3RyYSB1biB0aXBvIGRlIGNhbWJpbyBvIHVuIHRvdGFsIGZ1ZXJhIGRlbCByYW5nbyBlc3RhYmxlY2lkby48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iNSIvPg0KCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlswLTlhLXpBLVpdezV9Ii8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCTwveHM6Y29tcGxleFR5cGU+DQoJPC94czplbGVtZW50Pg0KPC94czpzY2hlbWE+DQo=</field>
     </record>
 
-</data>
-
-<data noupdate="1">
-
-    <!-- PDF invoice report definition -->
-    <record id="ir_actions_report_pdf_account_invioice_cfdi"
-        model="ir.actions.report">
+    <!-- PDF move report definition -->
+    <record id="ir_actions_report_pdf_account_move_cfdi" model="ir.actions.report">
         <field name="name">Account Move CFDI PDF</field>
         <field name="model">account.move</field>
-        <field name="report_name">move.report.aaero.pdf</field>
         <field name="report_type">aeroo</field>
-        <field name="in_format">oo-odt</field>
-        <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt" />
+        <field name="report_name">l10n_mx_facturae.account_move_template_cfdi_pdf</field>
+        <field name="tml_source">file</field>
         <field name="report_file">l10n_mx_facturae/report/account_move.odt</field>
+        <field name="in_format">oo-odt</field>
+        <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt"/>
         <field name="parser_model">report.l10n_mx_qr</field>
+        <field name="styles_mode">default</field>
+        <field name="preload_mode">static</field>
+        <field name="deferred">off</field>
     </record>
-
-</data>
 </odoo>
diff --git a/l10n_mx_facturae/data/account_payment.xml b/l10n_mx_facturae/data/account_payment.xml
index 103ef68cd2..83fecf0d4a 100644
--- a/l10n_mx_facturae/data/account_payment.xml
+++ b/l10n_mx_facturae/data/account_payment.xml
@@ -1,58 +1,30 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
-<data>
 
-    <!-- XML voucher report definition -->
-    <record id="report_templates_aeroo_account_voucher_cfdi"
-        model="report.templates.aeroo">
-        <field name="name">Account VouPaymentcher CFDI XML</field>
+    <!-- XML payment report definition -->
+    <record id="ir_actions_report_xml_account_payment_cfdi" model="ir.actions.report">
+        <field name="name">Account Payment CFDI XML</field>
         <field name="model">account.payment</field>
-        <field name="report_name">account.voucher.cfdi.xml</field>
-        <field
-            name="report_rml">l10n_mx_facturae/templates/account_voucher.txt</field>
+        <field name="report_type">qweb-xml</field>
+        <field name="report_name">l10n_mx_facturae.account_payment_template_cfdi_xml</field>
+        <field name="xml_declaration">true</field>
+        <field name="xsd_schema"></field>
     </record>
 
-    <record id="ir_actions_report_xml_account_voucher_cfdi"
-        model="ir.actions.report.xml">
-        <field name="name">Account Voucher CFDI XML</field>
-        <field name="type">ir.actions.report.xml</field>
-        <field name="model">account.voucher</field>
-        <field name="report_name">account.voucher.cfdi.xml</field>
-        <field name="report_type">aeroo</field>
-        <field name="in_format">genshi-raw</field>
-        <field name="out_format" ref="report_aeroo.report_mimetypes_raw" />
-        <field name="aeroo_templates_ids"
-            eval="[(6, 0, [report_templates_aeroo_account_voucher_cfdi])]" />
-        <field name="parser_state">default</field>
-    </record>
-
-</data>
-
-<data noupdate="1">
-
-    <!-- PDF voucher report definition -->
-    <record id="report_templates_aeroo_account_payment_pdf_cfdi"
-        model="report.templates.aeroo">
-        <field name="name">Default Payment CFDI PDF</field>
-        <field name="model">account.payment</field>
-        <field name="report_name">account.payment.cfdi.pdf</field>
-        <field name="report_rml">l10n_mx_facturae/report/account_payment.odt</field>
-    </record>
-
-    <record id="ir_actions_report_pdf_account_payment_cfdi"
-        model="ir.actions.report.xml">
+    <!-- PDF payment report definition -->
+    <record id="ir_actions_report_pdf_account_payment_cfdi" model="ir.actions.report">
         <field name="name">Account Payment CFDI PDF</field>
-        <field name="type">ir.actions.report.xml</field>
         <field name="model">account.payment</field>
-        <field name="report_name">account.voucher.cfdi.pdf</field>
         <field name="report_type">aeroo</field>
+        <field name="report_name">l10n_mx_facturae.account_payment_template_cfdi_pdf</field>
+        <field name="tml_source">file</field>
+        <field name="report_file">l10n_mx_facturae/report/account_payment.odt</field>
         <field name="in_format">oo-odt</field>
-        <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt" />
-        <field name="aeroo_templates_ids"
-            eval="[(6, 0, [report_templates_aeroo_account_payment_pdf_cfdi])]" />
-        <field name="parser_loc">l10n_mx_ir_attachment_facturae/report/generate_qr.py</field>
-        <field name="parser_state">loc</field>
+        <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt"/>
+        <field name="parser_model">report.l10n_mx_facturae.account_payment_template_cfdi_xml</field>
+        <field name="styles_mode">default</field>
+        <field name="preload_mode">static</field>
+        <field name="deferred">off</field>
     </record>
 
-</data>
 </odoo>
diff --git a/l10n_mx_facturae/data/ir_attachment_facturae_config.xml b/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
index c089ec2088..db90752145 100644
--- a/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
+++ b/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
@@ -5,22 +5,22 @@
         model="ir.attachment.facturae.mx.config">
         <field name="model">account.move</field>
         <field name="version">4.0</field>
-        <field name="template_xml_sign">account.move.cfdi.xml</field>
+        <field name="template_xml_sign">l10n_mx_facturae.account_move_template_cfdi_xml</field>
         <field name="template_xml_cancel">Aun.no.hay.uno</field>
-        <field name="template_pdf_sign">move.report.aaero.pdf</field>
-        <field name="template_pdf_cancel">move.report.aaero.pdf</field>
-        <!--<field name="email_template_id" ref="account.email_template_edi_invoice"/>-->
+        <field name="template_pdf_sign">l10n_mx_facturae.account_move_template_cfdi_pdf</field>
+        <field name="template_pdf_cancel">l10n_mx_facturae.account_move_template_cfdi_pdf</field>
+        <!--<field name="mail_template_id" ref="account.email_template_edi_invoice"/>-->
     </record>
 
     <record id="ir_attachment_facturae_mx_config_account_payment"
         model="ir.attachment.facturae.mx.config">
         <field name="model">account.payment</field>
         <field name="version">4.0</field>
-        <field name="template_xml_sign">account.payment.cfdi.xml</field>
+        <field name="template_xml_sign">l10n_mx_facturae.account_payment_template_cfdi_xml</field>
         <field name="template_xml_cancel">Aun.no.hay.uno</field>
-        <field name="template_pdf_sign">account.payment.cfdi.pdf</field>
-        <field name="template_pdf_cancel">account.payment.cfdi.pdf</field>
-        <!--<field name="email_template_id" ref="account_payment_cfdi_email_template"/>-->
+        <field name="template_pdf_sign">l10n_mx_facturae.account_payment_template_cfdi_pdf</field>
+        <field name="template_pdf_cancel"><!--l10n_mx_facturae.account_payment_template_cfdi_pdf--></field>
+        <!--<field name="mail_template_id" ref="account_payment_cfdi_email_template"/>-->
     </record>
 
 </odoo>
diff --git a/l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml b/l10n_mx_facturae/demo/demo_res_partner.xml
similarity index 73%
rename from l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml
rename to l10n_mx_facturae/demo/demo_res_partner.xml
index aebdd71c2b..941161b955 100644
--- a/l10n_mx_facturae/demo/l10n_mx_facturae_demo.xml
+++ b/l10n_mx_facturae/demo/demo_res_partner.xml
@@ -1,6 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
 
+    <record id="l10n_mx.demo_company_mx" model="res.company">
+        <field name="city">Jesus Maria</field>
+        <field name="state_id" ref="base.state_mx_ags"/>
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+    </record>
+
     <record id="res_partner_2023" model="res.partner">
         <field name="name">Felix Manuel Andrade Ballado</field>
         <field name="is_company">1</field>
@@ -12,7 +19,6 @@
         <field name="phone">(870)-931-0505</field>
         <field name="country_id" ref="base.mx"/>
         <field name="email">felix.andrade@example.com</field>
-        <field name="image_2023" type="base64" file="base/static/img/partner_demo_portal.jpg"/>
         <field name="company_id" ref="l10n_mx.demo_company_mx"/>
         <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_616"/>
         <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
diff --git a/l10n_mx_facturae/models/__init__.py b/l10n_mx_facturae/models/__init__.py
index 0431e16b13..8d64c35b0c 100644
--- a/l10n_mx_facturae/models/__init__.py
+++ b/l10n_mx_facturae/models/__init__.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 
 from . import account_move
-#from . import account_payment
+from . import account_payment
 #from . import email_template
 from . import res_company
 from . import res_partner
diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 7cfe80dede..063bb5549b 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -73,23 +73,18 @@ class AccountMove(models.Model):
                 # Mimic logic from compute function in account.invoice.tax
                 # object to group taxes from invoice lines and be able to get
                 # the same result for display on CFDI
-                if self.move_type in ("out_invoice", "in_invoice"):
-                    tax.account_id = tax.account_collected_id or line.account_id.id
-                    tax.analytic_id = tax.account_analytic_collected_id
+                grouping_dict = self._get_tax_grouping_key_from_tax_line(line)
+                grouping_key = "-".join(str(v) for v in grouping_dict.values())
+                if grouping_key not in tax_grouped:
+                    tax_grouped[grouping_key] = tax
                 else:
-                    tax.account_id = tax.account_paid_id or line.account_id.id
-                    tax.analytic_id = tax.account_analytic_paid_id
-
-                key = (tax.id, tax.account_id, tax.analytic_id)
-                if key not in tax_grouped:
-                    tax_grouped[key] = tax
-                else:
-                    tax_grouped[key].amount += tax.amount
-                    tax_grouped[key].base += tax.base
+                    tax_grouped[grouping_key].amount += tax.amount
+                    tax_grouped[grouping_key].base += tax.base
 
         # Classify taxes for CFDI
         for dummy, tax in tax_grouped.items():
             if tax.group in ["IVA", "IEPS", "ISR"]:
+                tax.xml_amount = "{0:.2f}".format(tax.amount)
                 if tax.amount >= 0:
                     taxes["traslados"].append(tax)
                     taxes["total_traslados"] += tax.amount
@@ -205,14 +200,14 @@ class AccountMove(models.Model):
 
     def _compute_sequence_id(self):
         for record in self:
-            record.sequence_id = record.journal_id.sequence_id
+            record.sequence_id = record.journal_id.secure_sequence_id
 
     def _compute_l10n_mx_edi_to_cancel(self):
         """Computes legend to display when an invoice needs to be cancelled because
         have being substituted by a new one.
         """
         # Get substitution relation to compare
-        substitution = self.env.ref("l10n_mx_base.cfdi_relation_type_04")
+        substitution = self.env.ref("l10n_mx_ir_attachment_facturae.cfdi_relation_type_04")
         invoices_to_cancel = self.filtered(
             lambda i: i.move_type == "out_invoice" and i.state in ("posted",)
         )
@@ -226,7 +221,7 @@ class AccountMove(models.Model):
                 [o.cfdi_relation_type == substitution for o in origin_documents]
             )
             if origin_documents and is_substitue:
-                message = _("This invoice must be cancelled because have being "
+                message00 = _("This invoice must be cancelled because have being "
                             "replaced with invoice: ")
                 inv.l10n_mx_edi_original_invoice = origin_documents[0]
 
@@ -235,7 +230,7 @@ class AccountMove(models.Model):
     @api.model
     def _search_l10n_mx_edi_to_cancel(self, operator, value):
         """Allows to get ids for invoices that must be cancelled"""
-        substitution = self.env.ref("l10n_mx_base.cfdi_relation_type_04")
+        substitution = self.env.ref("l10n_mx_ir_attachment_facturae.cfdi_relation_type_04")
 
         if operator not in ["=", "!="] or not isinstance(value, bool):
             raise UserError(_("Operation not supported"))
@@ -392,65 +387,138 @@ class AccountMove(models.Model):
                     ) % (e)
                 )
 
-    def _validate_cfdi_data(self):
-        for record in self:
-            record._validate_account_invoice_fields()
-            record._validate_account_invoice_partners()
-
-    def _validate_account_invoice_fields(self):
-        """ This function is to validate that the invoice has an
-            issue address, partner and company"""
+    def _compute_export(self):
         for record in self:
-            self._cfdi_validate_required_fields(
-                record,
-                [
-                    "cfdi_use",
-                    "partner_id",
-                    "payment_type_ids",
-                    "address_issued_id",
-                    "journal_id",
-                ],
+            record.l10n_mx_export = bool(
+                record.cfdi_adenda_ids.filtered(
+                    lambda i: i.code == "02"
+                ) and record.commercial_partner_id.country_id.code_alpha3 != "MEX"
             )
 
-    def _validate_account_invoice_partners(self):
-        """ This function is to validate that the vat of the
-            commercial partner and company"""
+    ############################################################
+    # This section compute function of decision for xml CFDI 4.0
+    ############################################################
 
-        required = [
-            "vat",
-            "zip",
-            "cfdi_fiscal_regime_id",
-        ]
+    def l10n_mx_facturae_compute_fecha(self):
+        tz = pytz.timezone(self.env.user.tz or pytz.utc.zone)
+        date = pytz.UTC.localize(self.cfdi_datetime).astimezone(tz)
+        return date.strftime("%Y-%m-%dT%H:%M:%S")
 
-        for record in self:
-            self._cfdi_validate_required_fields(
-                record.address_issued_id,
-                required,
-            )
+    def l10n_mx_facturae_compute_serie(self):
+        if self.journal_id.secure_sequence_id.prefix:
+            return self.serie
 
-            self._cfdi_validate_required_fields(
-                record.company_id.partner_id,
-                required,
-            )
+    def l10n_mx_facturae_compute_export(self):
+        if self.l10n_mx_export:
+            return "02"
 
-            self._cfdi_validate_required_fields(
-                record.commercial_partner_id,
-                required,
-            )
+        return "01"
 
-            if record.partner_id.country_id.code_alpha3 == "MEX":
-                self._cfdi_validate_required_fields(
-                    record.partner_id,
-                    required,
-                )
+    def l10n_mx_facturae_compute_subtotal(self):
+        return "{0:.2f}".format(self.subtotal)
 
-    def _compute_export(self):
-        for record in self:
-            record.l10n_mx_export = bool(
-                record.cfdi_adenda_ids.filtered(
-                    lambda i: i.code == "02"
-                ) and record.commercial_partner_id.country_id.code_alpha3 != "MEX"
-            )
+    def l10n_mx_facturae_compute_total(self):
+        return "{0:.2f}".format(self.total)
+
+    def l10n_mx_facturae_compute_payment_terms(self):
+        paymentterms = self.invoice_payment_term_id.name
+        return paymentterms
+
+    def l10n_mx_facturae_compute_tipocambio(self):
+        tipocambio = False
+        if self.currency_id.name != "MXN":
+            tipocambio = self.custom_rate
+
+        return tipocambio
+
+    def l10n_mx_facturae_compute_type_document(self):
+        if self.move_type == "out_invoice":
+            return "I"
+        elif self.move_type == "out_refund":
+            return "E"
+
+    def l10n_mx_facturae_compute_payment_method(self):
+        if self.payment_method_id.code:
+            return self.payment_method_id.code
+        else:
+            return "PUE"
+
+    def l10n_mx_facturae_compute_rfc(self):
+        if self.commercial_partner_id.country_id.code_alpha3 != "MEX":
+            return "XEXX010101000"
+        else:
+            return self.commercial_partner_id.vat_split
+
+    def l10n_mx_facturae_compute_use_cfdi(self):
+        if self.commercial_partner_id.country_id.code_alpha3 != "MEX":
+            return "S01"
+        else:
+            return self.cfdi_use.code
+
+    def l10n_mx_facturae_compute_domicilio_fiscal(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        vat = self.commercial_partner_id.vat_split
+        domiciliofiscal = self.commercial_partner_id.zip
+        if code_country == "MEX" and vat == "XAXX010101000" or code_country != "MEX":
+            domiciliofiscal = self.address_issued_id.zip
+
+        return domiciliofiscal
+
+    def l10n_mx_facturae_compute_regimen_fiscal_receptor(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        regimenfiscal = self.commercial_partner_id.cfdi_fiscal_regime_id.code
+        if code_country != "MEX":
+            regimenfiscal = "616"
+
+        return regimenfiscal
+
+    def l10n_mx_facturae_compute_residencia_fiscal(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        residenciafiscal = False
+        if code_country != "MEX":
+            residenciafiscal = code_country
+
+        return residenciafiscal
+
+    def l10n_mx_facturae_compute_regimen_tributario(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        regimentribut = False
+        if code_country != "MEX":
+            regimentribut = self.commercial_partner_id.vat_split
+
+        return regimentribut
+
+    def l10n_mx_facturae_compute_product(self):
+        for line in self.invoice_line_ids:
+            product = line.cfdi_product_code
+            if not line.product_id.name:
+                product = "01010101"
+
+            return product
+
+    def l10n_mx_facturae_compute_unit(self):
+        for line in self.invoice_line_ids:
+            if len(line.product_uom_id.name) > 20:
+                unit = line.product_uom_id.name[:17].upper() + "..."
+            else:
+                unit = line.product_uom_id.name.upper()
+
+            return unit
+
+    def l10n_mx_facturae_compute_total_traslados(self, taxes):
+        res = False
+        if any(tax.type != "Excento" for tax in taxes["traslados"]):
+            res = taxes["total_traslados"]
+
+        return '{0:.2f}'.format(res)
+
+    def l10n_mx_facturae_compute_total_retenciones(self, taxes):
+        res = False
+        if taxes["total_retenciones"]:
+            res = taxes["total_retenciones"]
+            '{0:.2f}'.format(res)
+
+        return res
 
 
 class AccountMoveLine(models.Model):
@@ -518,6 +586,21 @@ class AccountMoveLine(models.Model):
             )
         )
 
+    def l10n_mx_facturae_compute_objeto_impuesto(self):
+        objimp = "01"
+
+        # Process taxes for this line
+        impuestos = self.impuestos
+
+        # Check if there is a maningfull tax
+        summ = sum([float(o.base) for o in impuestos["traslados"]])
+        summ += sum([float(o.base) for o in impuestos["retenciones"]])
+
+        if summ:
+            objimp = "02"
+
+        return objimp
+
     @property
     def importe(self):
         """Return computed total line for display on CFDI"""
@@ -554,7 +637,6 @@ class AccountMoveLine(models.Model):
         return self.export_invoice_line_for_xml().price_unit
 
     def export_invoice_line_for_xml(self):
-        # pylint: disable=R1710
         """Computes all values needed for export account.move.line as CFDI"""
 
         class Dict2obj(object):
@@ -580,40 +662,46 @@ class AccountMoveLine(models.Model):
             @rtype: dictionary or None
             """
             tax_record = self.env["account.tax"].browse(tax["id"])
-            tax_group = tax_record.tax_category_id
+            tax_rep_lines = tax_record.refund_repartition_line_ids._origin.filtered(
+                lambda x: x.repartition_type == "tax"
+            )
+            # TODO: What happen when more than one tag is found?
+            tax_group = tax_rep_lines.mapped("tag_ids")[0]
             # IEPS tax only must be included when partner is IEPS subjected
             if tax_group.name == "IEPS" and not partner.ieps_subjected:
                 return
-            # TODO: Delete on version 3.0.0
-            if "base" not in tax:
-                tax["base"] = currency.cfdi_round(tax["price_unit"] * self.quantity)
             tax["group"] = tax_group.name
-            tax["type"] = tax_record.type
-            tax["TasaOCuota"] = abs(tax_record.amount)
+            tax["xml_name"] = (
+                "001" if tax_group.name == "ISR" else
+                "002" if tax_group.name == "IVA" else "003"
+            )
+            tax["type"] = tax_record.l10n_mx_tax_type
+            tax["xml_amount"] = "{0:.2f}".format(tax["amount"])
+            tax["TasaOCuota"] = "{0:.6f}".format(abs(tax_record.amount)/100)
             return tax
 
         currency = self.move_id.currency_id
         precision = self.env["decimal.precision"].precision_get("Product Price")
         total_discount = 1 - self.discount / 100.0
         # Include global discount
-        total_discount *= 1 - self.move_id.global_discount / 100
+        total_discount *= 1 - self.move_id.amount_global_discount / 100
         price = float_round(self.price_unit * total_discount, precision)
         partner = self.move_id.partner_id
         # Check if IEPS is on taxes, this will be used later to know if need price
         # to be recalculated because IEPS must be price included as partner is not
         # IEPS subjected and product include IEPS taxes
-        ieps_group = self.env.ref("l10n_mx.tax_category_ieps")
+        ieps_group = self.env.ref("l10n_mx_base.tax_group_ieps")
         is_ieps_tax_subjected = any(
-            tax.tax_category_id == ieps_group for tax in self.invoice_line_tax_id
+            tax.tax_group_id == ieps_group for tax in self.tax_ids
         )
         is_price_included = any(
-            tax.price_include for tax in self.invoice_line_tax_id
+            tax.price_include for tax in self.tax_line_id
         )
         # Compute taxes using original compute_all function from
         # account.move.tax to get same result for CFDI display
-        res = self.invoice_line_tax_id.compute_all(
+        res = self.tax_ids.compute_all(
             price,
-            self.quantity,
+            quantity=self.quantity,
             product=self.product_id,
             partner=partner,
             currency=self.move_id.currency_id,
@@ -650,7 +738,7 @@ class AccountMoveLine(models.Model):
         if is_price_included or (not partner.ieps_subjected and is_ieps_tax_subjected):
             # Send round=False in context to avoid rounding to wrong value when working
             # with high Product Price precision (6 digits)
-            res["price_unit"] = self.invoice_line_tax_id.with_context(
+            res["price_unit"] = self.tax_line_id.with_context(
                 round=False
             ).compute_all(
                 res["price_unit"], 1.0, product=self.product_id, partner=partner
@@ -668,3 +756,8 @@ class AccountMoveLine(models.Model):
         # Overrides original taxes with the list computed by us
         res["taxes"] = [Dict2obj(t) for t in taxes]
         return Dict2obj(res)
+
+    # ====================
+
+    def l10n_mx_facturae_importe(self):
+        return "{0:.2f}".format(self.importe)
diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index 92418669cf..9c6646fd93 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -1,5 +1,8 @@
 # -*- coding: utf-8 -*-
 
+import pytz
+from datetime import datetime, timedelta
+
 from odoo import api, fields, models
 from odoo.exceptions import ValidationError
 from odoo.tools import float_round
@@ -11,10 +14,83 @@ class AccountPayment(models.Model):
     _inherit = ["account.payment", "base.cfdi"]
 
     show_unreconcile = fields.Boolean(
-        compute="_compute_show_unreconcile",
+        #compute="_compute_show_unreconcile",
         help="Helper field to hide unreconcile button",
     )
 
+    ############################################################
+    # This section compute function of decision for xml CFDI 4.0
+    ############################################################
+
+    def l10n_mx_facturae_payment_compute_serie(self):
+        if self.journal_id.secure_sequence_id.prefix:
+            return self.serie
+
+    def l10n_mx_facturae_payment_compute_fecha(self):
+        tz = pytz.timezone(self.env.user.tz or pytz.utc.zone)
+        date = pytz.UTC.localize(self.cfdi_datetime).astimezone(tz)
+        return date.strftime("%Y-%m-%dT%H:%M:%S")
+
+    def l10n_mx_facturae_payment_compute_rfc(self):
+        if self.commercial_partner_id.country_id.code_alpha3 != "MEX":
+            return "XEXX010101000"
+        else:
+            return self.commercial_partner_id.vat_split
+
+    def l10n_mx_facturae_payment_compute_domicilio_fiscal(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        vat = self.commercial_partner_id.vat_split
+        domiciliofiscal = self.commercial_partner_id.zip
+        if code_country == "MEX" and vat == "XAXX010101000" or code_country != "MEX":
+            domiciliofiscal = self.address_issued_id.zip
+
+        return domiciliofiscal
+
+    def l10n_mx_facturae_payment_compute_regimen_fiscal_receptor(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        regimenfiscal = self.commercial_partner_id.cfdi_fiscal_regime_id.code
+        if code_country != "MEX":
+            regimenfiscal = "616"
+
+        return regimenfiscal
+
+    def l10n_mx_facturae_payment_compute_residencia_fiscal(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        residenciafiscal = False
+        if code_country != "MEX":
+            residenciafiscal = code_country
+
+        return residenciafiscal
+
+    def l10n_mx_facturae_payment_compute_regimen_tributario(self):
+        code_country = self.commercial_partner_id.country_id.code_alpha3
+        regimentribut = False
+        if code_country != "MEX":
+            regimentribut = self.commercial_partner_id.vat_split
+
+        return regimentribut
+
+    def l10n_mx_facturae_payment_montototalpagos(self):
+        monto = self.amount
+        if self.currency_id.name != 'MXN':
+            monto = self.currency_id.round(self.currency_rate() * self.amount)
+        return monto
+
+    def l10n_mx_facturae_payment_compute_pago_fecha(self):
+        return self.date.strftime("%Y-%m-%dT%H:%M:%S")
+
+    def l10n_mx_facturae_payment_compute_tipocambio(self):
+        tipocambio = "1"
+        if self.currency_id.name != "MXN":
+            tipocambio = self.custom_rate
+
+        return tipocambio
+
+
+    ############################################################
+    # This section calculate for xml CFDI 4.0
+    ############################################################
+
     @api.depends("state", "cfdi_state")
     def _compute_show_unreconcile(self):
         for payment in self:
@@ -27,12 +103,12 @@ class AccountPayment(models.Model):
 
     def _compute_sequence_id(self):
         for record in self:
-            record.sequence_id = record.journal_id.sequence_id
+            record.sequence_id = record.journal_id.secure_sequence_id
 
     def sign_payment(self):
         """Create CFDI for selected vouchers"""
         # Only vouchers to sign are the receipts
-        receipts = self.filtered(lambda r: r.type == "receipt")
+        receipts = self.filtered(lambda r: r.payment_type == "inbound")
         # Get only receipts that doesn't have a CFDI yet and create it
         for receipt in receipts.filtered(lambda r: not r.cfdi_id.exists()):
             receipt.create_cfdi()
@@ -57,6 +133,15 @@ class AccountPayment(models.Model):
         for record in self:
             self.cancel_voucher()
 
+    def _l10n_mx_get_payments_to_invoice(self, invoice):
+        # Get all payments done to given invoice
+        self.ensure_one()
+        payments = self.env["account.move.line"]
+        for line in invoice._get_reconciled_invoices_partials():
+            payments |= line[2]
+
+        return payments
+
     def replace_cfdi(self):
         """Cancel voucher cfdi by replacing with 1 MXN voucher"""
         for record in self:
@@ -92,40 +177,30 @@ class AccountPayment(models.Model):
         """Return a list with all related invoices to this payment"""
         self.ensure_one()
 
-        # Get all records from account.move.line related to this voucher but
-        # affecting an account different than the selected for this voucher
-        move_lines = self.move_ids.filtered(lambda x: x.account_id != self.account_id)
-        # Get all lines form partial and full reconciliations
-        temp_lines = move_lines.mapped("reconcile_partial_id.line_partial_ids")
-        temp_lines |= move_lines.mapped("reconcile_id.line_id")
-
-        # Get only invoices related to this voucher
-        invoices = (temp_lines - move_lines).mapped("invoice")
-        invoices = invoices.filtered(lambda i: i.type == "out_invoice")
-
         # Validate that all related invoices have an uuid
-        tofix = invoices.filtered(lambda i: not i.cfdi_folio_fiscal)
+        tofix = self.reconciled_invoice_ids.filtered(lambda i: not i.cfdi_folio_fiscal)
         if tofix:
             raise ValidationError(
-                _("Some of the invoices that will be paid with this record are not "
-                  "signed, and the UUID is required to indicate the invoices that "
-                  "are paid with this CFDI ")
+                 _("Some of the invoices that will be paid with this record are not "
+                   "signed, and the UUID is required to indicate the invoices that "
+                   "are paid with this CFDI ")
             )
-        return invoices
+        return self.reconciled_invoice_ids
 
     def numparcialidad(self, invoice):
         """Computes payment number based on all payments done to invoice"""
         for record in self:
-            # Get all payments done to given invoice
-            payments = invoice.mapped("payment_ids") - record.move_ids
+            payments = self._l10n_mx_get_payments_to_invoice(invoice)
+            payments -= record.line_ids
             # Leave only payments done in cash or bank older than current
             payments = payments.filtered(
-                lambda r: r.date >= invoice.date_invoice
-                and r.journal_id.type in ("cash", "bank")
+                lambda r:
+                    r.date >= invoice.invoice_date
+                    and r.journal_id.type in ("cash", "bank")
             )
             return len(payments) + 1
 
-    def impsaldoant(self, invoice):
+    def impsaldoant(self, invoice, to_xml=False):
         """Computes amount_residual for invoice before current voucher"""
         self.ensure_one()
         # It is verified that the invoice is in another currency
@@ -133,8 +208,8 @@ class AccountPayment(models.Model):
             invoice.currency_id != self.company_id.currency_id
         )
         # Search the lines of the policy where the account is receivable or payable
-        move_line_ids = invoice.move_id.line_id.filtered(
-            lambda x: x.account_id.user_type.type in ("receivable", "payable")
+        move_line_ids = invoice.line_ids.filtered(
+            lambda x: x.account_internal_type in ("receivable", "payable")
         )
         if is_multi_currency:
             amount_residual = sum(
@@ -145,15 +220,15 @@ class AccountPayment(models.Model):
                 move_line.balance for move_line in move_line_ids
             )
         # Get all payments done to given invoice
-        payments = invoice.mapped("payment_ids") - self.move_ids
-        payment_date = self.move_ids[0].create_date
+        payments = self._l10n_mx_get_payments_to_invoice(invoice)
+        payments -= self.line_ids
         # Leave only payments done before (older than) the current one:
         # 1.  Payments with document date before current voucher date
         # 2.  Payments with same date but created before that current voucher
         payments = payments.filtered(
             lambda r:
                 r.date < self.date
-                or (r.date == self.date and r.create_date < payment_date)
+                or (r.date == self.date and r.create_date < self.create_date)
         )
 
         for payment in payments:
@@ -165,15 +240,20 @@ class AccountPayment(models.Model):
                 amount_residual -= amount_currency
             else:
                 amount_residual -= abs(payment.debit - payment.credit)
-        return self.currency_id.cfdi_round(amount_residual)
 
-    def imppagado(self, invoice):
+        amount_residual = self.currency_id.round(amount_residual)
+        if to_xml:
+            amount_residual = "{0:.2f}".format(amount_residual)
+        return amount_residual
+
+    def imppagado(self, invoice, to_xml=False):
         """Computes total amount payment on this voucher for given invoice"""
         self.ensure_one()
 
         amount_paid = 0.0
         # Get payments done in this voucher for given invoice
-        payments = invoice.mapped("payment_ids") & self.move_ids
+        payments = self._l10n_mx_get_payments_to_invoice(invoice)
+        payments &= self.line_ids
 
         for payment in payments:
             # If currency_id exists it means we are dealing with a multi
@@ -190,16 +270,22 @@ class AccountPayment(models.Model):
             else:
                 amount_paid += (payment.debit - payment.credit) * -1
 
-        # Compute amount of writeoff to adjust amount payment to this invoice
-        if self.currency_id == invoice.currency_id and self.writeoff_amount < 0.0:
-            amount_paid += self.writeoff_amount / len(self.doctos_relacionados)
-        amount_paid = self.currency_id.cfdi_round(amount_paid)
+        amount_paid = self.currency_id.round(amount_paid)
 
         # Ensure amount paid is always equal or less than amount residual
         amount_residual = self.impsaldoant(invoice)
         amount_paid = min(amount_paid, amount_residual)
+        if to_xml:
+            amount_paid = "{0:.2f}".format(amount_paid)
         return amount_paid
 
+    def impsaldoinsoluto(self, invoice, to_xml=False):
+        self.ensure_one()
+        amount_residual = self.impsaldoant(invoice) - self.imppagado(invoice)
+        if to_xml:
+            amount_residual = "{0:.2f}".format(amount_residual)
+        return amount_residual
+
     def tipocambiodr(self, invoice):
         """Compute currency rate used for given invoice to display on XML
         This calls curreny.compute() with the right context,
@@ -209,38 +295,45 @@ class AccountPayment(models.Model):
         company_currency = self.company_id.currency_id
         voucher_currency = self.currency_id.with_context(date=self.date)
 
-        if invoice.currency_id == company_currency:
-            # When invoice is in company currency we are going to use payment rate
-            voucher_currency = voucher_currency.with_context(
-                special_currency_rate=(1 / self.payment_rate),
-                special_currency=voucher_currency.id,
-            )
-        else:
-            voucher_currency = voucher_currency.with_context(
-                special_currency_rate=(1 / invoice.currency_rate),
-                special_currency=invoice.currency_id.id,
-            )
+        value = 1
+        if invoice.currency_id != voucher_currency:
+            if invoice.currency_id == company_currency:
+                # When invoice is in company currency we are going to use payment rate
+                voucher_currency = voucher_currency.with_context(
+                    special_currency_rate=(1 / self.payment_rate),
+                    special_currency=voucher_currency.id,
+                )
+            else:
+                voucher_currency = voucher_currency.with_context(
+                    special_currency_rate=(1 / invoice.currency_rate),
+                    special_currency=invoice.currency_id.id,
+                )
 
-        value = float_round(
-            voucher_currency.compute(1.0, invoice.currency_id, round=False),
-            precision_digits=6
-        )
+            value = float_round(
+                voucher_currency.compute(1.0, invoice.currency_id, round=False),
+                precision_digits=6
+            )
 
-        if (
-            voucher_currency == company_currency
-            and invoice.currency_id != company_currency
-        ):
-            # Hack to bypass PAC validation, suggested by PAC
-            value += 0.000001
+            if (
+                voucher_currency == company_currency
+                and invoice.currency_id != company_currency
+            ):
+                # Hack to bypass PAC validation, suggested by PAC
+                value += 0.000001
 
         return value
 
     def impuestos_dr(self, invoice, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
+
         # Get payments done in this voucher for given invoice
-        payments = invoice.mapped("payment_ids") & self.move_ids
-        tax_reconciles = payments.mapped("tax_reconcile_id")
+        payments = self._l10n_mx_get_payments_to_invoice(invoice)
+        payments &= self.line_ids
+
+        tax_reconciles = invoice.tax_cash_basis_created_move_ids.mapped("tax_cash_basis_rec_id").filtered(
+            lambda rec: rec.credit_move_id in payments
+        )
         domain = self._l10n_mx_get_taxes_domain(tax_reconciles, tax_type=tax_type)
         tax_moves = self.env["account.move.line"].search(domain)
         return tax_moves
@@ -248,32 +341,33 @@ class AccountPayment(models.Model):
     def totales_p(self, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
-        tax_totals = []
+        tax_totals = {}
         company_currency = self.company_id.currency_id
         voucher_currency = self.currency_id.with_context(date=self.date)
         impuestos = self.impuestos_p(tax_type=tax_type)
         # Load tax record for being able to use on template to fill XML
         for line in impuestos:
+            tax = line["tax_id"]
+            tax_rep_lines = tax.invoice_repartition_line_ids._origin.filtered(
+                lambda x: x.repartition_type == "tax"
+            )
+            tax_group = tax_rep_lines.mapped("tag_ids")
+            key = tax_group.name + str(line["tax_id"].amount)
+
             if company_currency != voucher_currency:
                 company_currency = company_currency.with_context(
                     special_currency_rate=self.currency_rate(),
                     special_currency=voucher_currency.id,
                 )
-                line["importe"] = company_currency.compute(
+                tax_totals["importe" + key] = company_currency.compute(
                     line["importe"], voucher_currency,
                 )
-                line["tax2_base"] = company_currency.compute(
-                    line["tax2_base"], voucher_currency,
+                tax_totals["base" + key] = company_currency.compute(
+                    line["tax_base"], voucher_currency,
                 )
             else:
-                line["importe"] = float_round(
-                    line["importe"], precision_digits=2,
-                )
-                line["tax2_base"] = float_round(
-                    line["tax2_base"], precision_digits=2,
-                )
-
-            tax_totals.append(line)
+                tax_totals["importe" + key] = line["importe"]
+                tax_totals["base" + key] = line["tax_base"]
 
         return tax_totals
 
@@ -286,10 +380,10 @@ class AccountPayment(models.Model):
 
         for invoice in self.doctos_relacionados:
             for tax_move in self.impuestos_dr(invoice, tax_type=tax_type):
-                if tax_move.tax2_id.id not in tax_totals:
-                    tax_totals[tax_move.tax2_id.id] = dict(
-                        tax2_id=tax_move.tax2_id,
-                        tax2_base=0.0,
+                if tax_move.tax_line_id.id not in tax_totals:
+                    tax_totals[tax_move.tax_line_id.id] = dict(
+                        tax_id=tax_move.tax_line_id,
+                        tax_base=0.0,
                         importe=0.0,
                     )
 
@@ -309,94 +403,38 @@ class AccountPayment(models.Model):
                             special_currency_rate=(1 / self.tipocambiodr(invoice)),
                             special_currency=voucher_currency.id,
                         )
-                    tax2_base = invoice_currency.compute(
-                        tax_move.tax2_base, voucher_currency, round=False,
+                    tax_base = invoice_currency.compute(
+                        tax_move.tax_base, voucher_currency, round=False,
                     )
                     # Force rounding 6 decimals to use as many decimal as possible and
                     # avoid rounding errors when validating XML
-                    tax2_base = float_round(
-                        tax2_base, precision_digits=6, rounding_method="DOWN",
+                    tax_base = float_round(
+                        tax_base, precision_digits=2, rounding_method="DOWN",
                     )
                 else:
-                    tax2_base = tax_move.tax2_base
+                    tax_base = tax_move.tax_base_amount
 
-                tax_totals[tax_move.tax2_id.id]["tax2_base"] += tax2_base
-                tax_totals[tax_move.tax2_id.id]["importe"] += float_round(
-                    tax2_base * tax_move.tax2_id.amount,
-                    precision_digits=6,
-                    rounding_method="DOWN",
-                )
+                tax_totals[tax_move.tax_line_id.id]["tax_base"] += tax_base
+                tax_totals[tax_move.tax_line_id.id]["importe"] += abs(tax_move.balance)
 
         return [line for line in tax_totals.values()]
 
     def _l10n_mx_get_taxes_domain(self, tax_reconciles, tax_type="traslados"):
         self.ensure_one()
         # Get tax moves done for this payment and this invoice
-        domain = [("tax_reconcile_id", "in", tax_reconciles._ids)]
+        domain = [("move_id.tax_cash_basis_rec_id", "in", tax_reconciles._ids)]
         # Exclude IEPS if partner not IEPS subjected
         if not self.partner_id.ieps_subjected:
             domain.append(
-                ("tax2_id.tax_category_id.code", "!=", "IEPS")
+                ("tax_line_id.invoice_repartition_line_ids.tag_ids.name", "!=", "IEPS")
             )
 
         if tax_type == "traslados":
-            domain.append("|")
-            domain.append(("tax2_id.type", "=", "none"))
-            domain.append("&")
-            domain.append(("tax2_id.amount", ">=", 0))
-            domain.append(("tax2_id.type", "=", "percent"))
+            domain.append(("tax_line_id.amount", ">=", 0))
+            domain.append(("tax_line_id.amount_type", "=", "percent"))
 
         else:
-            domain.append(("tax2_id.amount", "<", 0))
-            domain.append(("tax2_id.type", "=", "percent"))
+            domain.append(("tax_line_id.amount", "<", 0))
+            domain.append(("tax_line_id.amount_type", "=", "percent"))
 
         return domain
-
-    def _validate_cfdi_data(self):
-        for record in self:
-            record._validate_account_voucher_vat()
-            record._validate_account_voucher_payment_type()
-
-    def _validate_account_voucher_vat(self):
-        """ This is function is to validate that the
-        partner has a vat, name and property account position """
-
-        required = [
-            "vat",
-            "name",
-            "cfdi_fiscal_regime_id"
-        ]
-
-        for record in self:
-            # Validate required fields on document
-            self._cfdi_validate_required_fields(
-                record,
-                [
-                    "partner_id",
-                    "amount",
-                    "journal_id",
-                    "payment_type_id",
-                    "company_id"
-                ],
-            )
-
-            self._cfdi_validate_required_fields(
-                record.company_id.partner_id,
-                required,
-            )
-
-            self._cfdi_validate_required_fields(
-                record.partner_id,
-                required,
-            )
-
-    def _validate_account_voucher_payment_type(self):
-        for record in self:
-
-            # It is validated that there is a payment method or that the
-            # selected payment method has code 99
-
-            if not record.payment_type_id or record.payment_type_id.code == "99":
-                raise ValidationError(
-                    _("The payment method is missing or the payment method has code 99")
-                )
diff --git a/l10n_mx_facturae/report/__init__.py b/l10n_mx_facturae/report/__init__.py
new file mode 100644
index 0000000000..d564ba5da1
--- /dev/null
+++ b/l10n_mx_facturae/report/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+from . import account_payment
diff --git a/l10n_mx_facturae/report/account_move.odt b/l10n_mx_facturae/report/account_move.odt
index 7fd53ab3112f6263b1541abf65b06af66cd8c284..239d7a7c9dc7094b1b9d862e0bbb11adfa59c49b 100644
GIT binary patch
delta 52640
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

delta 52444
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

diff --git a/l10n_mx_facturae/report/account_payment.odt b/l10n_mx_facturae/report/account_payment.odt
index 04b4379a894f1b130eb544315004ca4c1b1cd335..3987451a8e3b18db5bde8d67bad8c2fa1e4a7d1f 100644
GIT binary patch
delta 42305
zcmZ^}1yCJ9w>1g`cjw^l5?mA9-QC>@!4hn6Jvan+J!sJ2?jBr%2X}XPx%Yeb)~i?l
zKRs1FwP)>F-Br7$w;epg6feP`t15he#f5@Ggo2u?XVgtVmxKN9Ie{X<2mAkh<oxeB
z$pxAsVITKDvUlG9fhFld{|EQ)J@<crrO+DxtC2(o^B<KYUKoM@me#w$2tfn?MFREz
zx&HA(Ia#@zv3+xLOwlxQ$z;d%+o%yWHn~K=Ow>i1FR@#dC{=c1I<5NZ6#k8tm$StE
z-5(xRsZDlu{o?cfAD^iX-psLm3%t*As|<y|0z^@%AT3z(sRmzuJ(JXQTU|O^-1!X9
z;)VT^ff)HF1F=%Z<;42>l;y1a{5l#Tt<}Ls$T6&HL9S8qG-(!>Nr`Jdn7AF^Q1mMx
zW-<0<)-ubgLl8)Dj{GzM8|ezsRM1rM(So)FWlut-<wtwWKv<<e`|^iFZrKU9-ZAj*
z1w<Cs<{JYCUUdoim!ImxXS?(f>xmUZ&XWR5^U_LI0UuW0U<+qjw;ZhJ!x5?;nz&0U
zx<j@e?lIdSz5`SjYJRjJnrM#5OK+L48I`tCTjni_b=*oL@JbD}KX6AMJ%$PzC91c5
z?(9<ijaa&h51q=c5%wFC-?vj7qu@r?FFvr>DL{%-i46=P2+TDIi?&E^X`)|Ui`}1n
z-z`!$fPFo8@#dPUN5&QjfzF4ea`}E5-0vfc#9pIXb*lKB>t0Ku%nlZ$Hwqw<xQC??
z-#Fs^Q*Px;+X$gM)seJJ?KW23V2-lb%B*01*a?Y^*;QM=Ud6pMt75BLGZ@)K_%bf-
z@f%;ff|pIaKXO81jFWQR4JIC5s>-}PJDqa|fPEbul4y_B>NnBhju~~>maY<m3#$xb
z24PtTMRzX6@<?q=iJ6bos1MvdCSTVxI*!v)@|y953#Tl<U%lI%IaiCiUYY9c{-P$Q
z<Qu9VnXV`eo_sBd+E7(MK>UjPQ;Z)53hFN`6x4sr8xaxlzs>u94K9fZ9uF{bBN9UO
z>*^}#^O2XG@nv@s6cv|Hfca3AzRFk6+#R#HUfTip_L|Zz>V{O5ETw|<bGV5m+l?kO
zF4rc~`yQn-Ng80%S|?9k4~$i0xqZ+$be;ax%Hr4gwqHmXV+lLIB&i3pLN0JYM(%ok
zalE2MT_}Uy6|ZN+(<`SlPX$2h+^WqN<)xZbbo#au!H;dEGeUAjQs~x8=f8dz%<jz1
z>E!b?tTr?<O6e;dlZoM|Kp629uD`e#xxCa906M${+gCiyqqV{!S>J%IjM<sn8H}-A
z6Tq;N_T7!<GtJ*jujpTPKUHY6zTT#W9F95^D{VZ#dv)$y^PrfU&Hyu4I3g;SI94~!
z?tWigUHva>UslG?N><sgh@Hp@>Yr&WM3z4tj?G?U41hNRNmO`M+P-@GyVm92zV$2m
zU|M8}Sy0`8{;VKMSl}WWwchatzYf|Sw(@8o+|z|QEy#$sWKWROQhiPo3?uBX$!-)F
z?)75dJoV*E{k7c)5d>Ul1v0n4tJoy1Rn>a=dmDG3G&u@<7HC@%D$gci;`gnCt!FtT
zWw~$KL$cbkqg?ga>5$_k5~;|_J`=bkAEf!f-ALw&W8p`sY9HM);@elo^7}Z_kKx$E
zA_wEga?R@uZUUd@^&e*PyDY!4TQRY}l+OCT!DdGrP%}9fGwi@p^&#RS#wC<>XE66?
zb$Bx?mI8r3)0Qn^adL6!I>}jE5uUrp3+~_S`X8L`3WGcG?J!K(S;}}84%!7dkKCO8
z_N?2CDr|R^z&4^kwV^g|O{7}ZpYFf`PX180GiS)m0ChdC^OH-FHUZ%TLh}hS{vO5$
z_bOM$Gb@*A>m^{49o7~17+Vs#$xdkoA-C#!p+`FqX|qc0&vQ4=Yb*9|uAaUHI9$^F
zlEzEQQ9ev%4q=o#m!!F=4RB!r^RVkp1>sk)>R7v-{PCwPca$xuXW~N^nC6(nDt{&_
z^y;<`Si!W%&8>o%#7N-+7I4wTF+&t|^9hL0<6APL5)gnZsl|ZQqQ5re!x>mqY?&~I
zVY78mF3O>t{aYO%TF4=)AVTaNO;iQhb7oYu-@=m#DTQQcn8sAe(%(0~D_P)dA?#5q
zgqd!9G5J026t&#v0BL4G9&39T(N8+0SjqWv_bSOSz`hKPoC!Dnw^c+(Ft&i@Wh^P_
z5Zm<2-!}j@`|3nn)%_u_&y;Sf4HVZG{Rjmzvw#quY?wC;q9qj}TfYvE&UMLUJ^L`B
z&Ph+sz4W;^WE6VFwQ!4qLdL#HjBtlGGgIg4;rC+{)4ARxuY{<~sGMQ3q}$d(z!y2}
z?>#h>Q35}1%EDn8&C+P0>Nh*Z)v!!K#TpU^h(MG0{u>84U%?TkiR&d2*#beHZCe0=
z6wj?rdupWFX1w)}4Ec|0mDnj^5*;>_X-eI@jIuzm9JaP82nFHhmkZ~!eDB$0Pn;dg
zr|B$&fa&OWa^Wa@*L4kXv+xvt8P0~72p@(Pv|d(?KaNr9^`lz5M}M#ERX+8~(lD;g
zv;a(mAZ(hlnn(GN>8Y)yfX)XvlVn0<k9vM7hop5gs^Sa>MOa41p9+4jmX~VLL_(58
z3gE4vE5~JHJDoe__*Ft>6O{QuhP{e!ovJYu)NGBjxk4`i3b74_2B>CurX*QJLq(sB
z5AFhyq|86e-H~Z>jE+5e=)n|!>i6PPp$GCf+{t~M!X``}Sexy)nlsLQ%zinm=L-(q
zLPg5I1qF^62!@l>LeV14e%c}QhDA)<xITs@T~i%&b<ann{k+elkHllo0*3OC^PP2a
zG9RHjm0_{vlVh9{-na39gl3=5+2#$3OB7Y3l%+Hb$>rwO+kO>T0Ok3)%oJ-2w*#{-
zm2$2eYl;>|bn8Tg-RftdxpTiK+>vpA+~WVmx1{|Ux+2TWDmw9@QiHJ+-QT?(dK=`q
z@Co$J<7OPYCn?UR*)MJ*et8S|^5M)9%q~yTFTT2=x;&SKo55#EP%D`%`m04YIBfQT
zHC3DL>nDNUFJh-kI81Z6g*(=~`mX>Aqq;3i5%ovv{4@t1Ln+oQ<-I>KPd4)%o~&y>
zVx^YVQc3226em7jthafo42JFPcFZNWJWez`wU4OB?UfRwRU6S#rGfDJo;>3Fj8Jri
zgdOZA(I@0FyQVh{(NRwUtj}?Ml>J-5=C0vi)V!(teS>v+E>gwmH1(k6^$dW;t`2dC
z9F&*EKr$pjPW~HvPuh$)X9GL2v=HHY^-sape^$8-t{@~YL^p2OM}}lr4Z+t3?v$k@
zOJiVe+l4!<8-!DvS!+nT4v*l8qF3fsNbR&@e?lwxVzFfnV&cc;-As$cfg!#hPp)p{
zNCO`H{1pfiGsB)<J<xgW>;T0tCPS}VpM=LpLdx$mVy`ELBB;|`5b>;{6!5}ihrUL}
z{zM#Le>RfAx#L2;qrIL>x~XxwB7<doH4OA&=VQlC-<F+~`P`=zxrw0bCUgzhO5@XR
zl1*bU1r%;%=hCt=1^I~1t*zgD`tu!i+kncwJ^z8_58@*Z^tnoW_PA1#qTP;l8PN9#
zRocCJQv2!vgh(X_BIc<S|28n~T9Yw2&-`KXI#}9%x~Q`F4*g$8yFIKMK>-33lnBrN
z|7cG{Ck6~xV|RG5|M`uWB$gYN3Z3q&9fwFilTbOk6|qllV4m@(v7Ovx@Zsd0e_b0q
zhP>8RZA%rfCGX~(jTCVp{am)j(;E;RDBqTPJ9`fI+g{U1;L2H#?R90pvL(7qD_&jw
z-F3eHF!uYt=IxGj!%<h##hi@vj+^zRou8KbJ`Zrq*pU1#%<L@FRxs>Lm$Y-qFFZMD
z=t%GNo<TA3@j!xu(C(}%Vy7tDhX}TQ#1lIy=;0nr*2VFe%yXc#UZz>UiZ0P!*P_!4
zl~g&Puk=38&$;<p_9rU0NW@K8Qr0dX<MQlFNrdw^X$`Jb;>>6171>6|<|T~Nn0C*N
z&y0X)tN<(hc_734{;N=54JL?5X~$}0Co6UPXYe-rLb}S_#{77gy!S8;(Dxc~&ZYj-
zV+PmzB*h!IGOqwu(Cko#Z(5c$5dZIzP%(QNMO?AmT!oxuVi`%h`2;#uf}$&TKGHzs
ze$p3`A7|j#?vBQm{w70eVt?75R5K&H=ifj$7&(k4aoCx!5zDb{WS3{@W5V*8k>*p@
zsUbJb^~4u~VE<WlI_QIEKS!PfMcyC@E6R_OGzPzQ$G5lEY--nZET!Udq9gMN38at)
zUp?7z?+u3JBRnNh;iWhi)x_YY(tmY^6xSlOLE9a)mBJCO5Pm=HL<0JQrm@C|ddL9I
z&nJtTsDs4nvJP5~ASLin^5F4Yh#Qdm%n~}>Ur$`|i%9vtA#u;~X4G;RE&QaJ66@B2
zi1xAKJeka@zVuDH_E#Y}tWE8GU{T9`7|lqAB<4nUIO=l_ZRzUo4Y|Q<!2N=$ceo<5
zTlnoq2|Ia&xeu8}!h$ZRwq*Qw-V-2juyAAmIZUO}%zqT6^?c?c2a)c>AR+Ar#}~9i
zopqm_uciKIo%_FXXfdleB{}{ctDaoq_du`3XQ%!NIv&1yfw%`#@&&s~3__10b<$^l
zLDP;s*WG&UpGj-EE&tXa--mE2R={&~&6Z(80qf6yy7=i(6(U^;-_ww+5pe=w_*a)v
zSZ*Wxwi=z{f;l<X;w1|1F{~X~J(y*iEPfAP9Cf{-7O>;N1;4`EXAlGdMe)`+=tx_c
z%P;m~d(;>Tun{wI>gv^{6-uygjaz&&pwWFj${mkUzZV0q5igoO8S;iu$RozDLeo#t
zciH_K!MdV9?(!Lm{c{o!k8l8B2<|!C0$*(5urBqHj2^F1k1`vLv~ggCqlA+Ve`Pp;
z^3*dKu}e2~iH?1Mn%T3HiG+`4g!O$Sf&x2=2s1I{MOXlrWT5XSONn7^BF!omwWxhF
zezK?&#z8HjJafuc{t1-MW;!_+yK0mLtlC<QnUw1IMe}h(sr?PNeFl*K^+xX39<5OM
zdd4(msc9rGhYnedAp{e_UUQG3Q&i`nsic&-HSk`}d(t1ln|}g%`A59F4~2nkL5pKV
zo*)w}`1wtwc+D1?HsT%YYkbyE^+L+oaQld&Nlhb;LYOcC)Ik(Y$+6$9prdmkiQn>s
zy~nw$+qHj`4kVbzd0>H5$59xx9$Jr~i~@z3)m$08hDLr)n&#wA_M=+|D08n-Pwo`Z
z6H;V8%tbL9=NB5sDfwH3R=`uXa61pazxzXd$oCHge#eDpa|=%apBJgztBz5@dR2dF
zgx?5mTvy>BNMDt@aNSjOnQ-b{C+(sch5okDMfWc5!IZ|z{zwH91qHB|lpkf-w#j&D
z7W=iviYHJH!TKb*KYz}r2c^Ja+dsFjELDr~U2q!G#1r-G;G}U@cdOu?p!ho?hX0V3
ze3Z4@Bk)y-COtFbFweqqMA57``%w9w7V+&bs^cI8iX{Mt0Kh|D*?E<ea~z=9|1zyg
z_VBb;UIemn3=;xuADoC@n)WUs3RP~D-&A1xW!Uw?JjQ*Qj?>EhCZb`czUTKNm1;47
zO(}a15E8i^La<@=c8lspDMu2ruH1TNu<qtcMngLGH#B&tPuinCrXt9(8rO^XpF2x`
zags*u$OvUt_fp>Xot{5R2B)4Em3L0cC6k=lX}Xfrt5*RhT+FQwDWW-3*k9`w5^R!0
ztWt!%p#=#xUc3*slkg^E>rSh?PY|sJOqn}^NB22q&m+Z<&;?A_7Jc0X=VZut3xX#u
zGlq>$a0Fq;P2y1`>SEh+u@iR(f&~{+o?F|M6UZ!-{XTf5c_!zSqxp#Hp%dHSw-l=2
z=vi?oogM%$4Z|1}RICH?t=djMkK03)Zu)Qp(UW#=1t)O=UqWj}gcMOg4#tITW6!&j
zwy}=JN&DB8n_~grZq{cSk=p(w$6PgxCFZL32x7G{(3QUey-n=DBTBBQ3~nFJDL*dl
z{oNt^5VGK@tU~e-D_Bwe9eeSQAr>ko+t(Iknm$t?%O4MyoEvkgeaKd3ylG8$IV)%4
z4mS3qiT@`lRxTQg&-SHxY(<mKxH$*H<>_d_V@*g?tqNZboe#X>C;4Z{j|_AIZ2De9
z2Wy^$=+(dSm#EX;Z6?M)NOuEYVx&5jrRu&b<<O6@eWpk9s{H9GMS$oCd!Z1ERX{q|
zgXxkB&`M&k@RlmHEx8Yxt;T4jZi%&?@l~(Kfwye^nWnn~gx>bi_J0H(ofW5j-n=<-
zG%<gjX~nVU1>t?4oXg&{_wCTv)XU?yYH&{*Szh0=Z`bAVLFpe9?^7?i_qR9I{Kk!F
zWBML7QpoYRPbpUh);+rVg9X9MT-;=gOF6v;((8-E{4_QyIpH_9+vH(~pl(O=Oro~F
zjxh!6bTzm+N*j;p_!P1uc4E9xP_39uFy%}N-f?cewG&-_G{EqGq}{kU)exs@4R%~Z
z-|BF-%#zHJ+95UQq<`2BwcHER`s{}kMEkPZI*As1B(8(*CoA^hwj74oMTTR@FC%y#
z7&iB<XFIQH6=--lGJXu2*Fns2cD;RVp7MO?pRI+V&0Vx?9rgt#bM&+il>87rc_%I>
z7yXV!F)8K{n%Ho0Asa`>e|v{Cjwl_J#3R&;>Cz)wg`h_X>^e0Wl(vhVqQMB;ixyMV
zrkLsJz{`%?o}>!ypN8XJeaCk;qG<gANQF?PBPa>8Xp5%Wum*KAuQ53tlg67>tSdvX
zjxwR5kBH!{<6NDXFK)ly>cW`klvh=z+VIyV=X{U)k)Z2mhy(5m<*jMW87$dkVs6i(
z$J92%+7WSjPkigfkZN>xaK4K!026_cI!Yt0b#4iHMHSiAU@opMt^0L`czzWEE`2Vn
zEMt2!TD0{<O@~#yaypj6nweL!p&5L(mS~nOe0|}IMt!`xH%oP{eMuqYJv9sT9{C@N
z{|sXrcV<DDdQE-(tg2ZpElsbqmQRO&F~(>WBI3bkC&8DGEqqW*YgJ3@WWnuq#WeOP
zFx9YU0QJ@vvbz<s``9rk){s&F$szFYb+5~mX>F8gUEGNHvn?Njqh_GQuyRO4Ly1EN
z6ePBuybne53%FHPLu_QWMq_&C$HdJ9(XH1Y%O!KF?EfWPiRrynkT7dKQJ&x}4h*9D
zB!sNMhdh=V)>|ONs{4;2dMXiD+Zj>&BU;dL3d;Wyupa=+KjA*2gfH`_dC}Wss`vF^
z3d4m9j=<CJ!cAN{n)Wpz`2Enu_Vx3q+iLIbYRf~s1<&uB-qQ%EK5k0$X2iBw!8{%f
zo)yMwUFf05+6em&KB6zim((hVEmY+ZlCi4WP16p3Cod8%NWy5<Sr|}E^|+x(!NW9A
zvaqB1JH-x|rXbrNVvKlBTQ7tP!YAaCdwa=(=9lImipD$sLkmIWY_#>36|Mu4zARG;
z<@MTbiaSR?HpL7oHl*KX7cmBu$Qi5W&)fO2x3+W@roPBo_ni0+HI>v?;1N!{E}Y0(
za|udrw=cUQt%b=NatldsCcH{(k=Cq`mYT^v3!VYW>7Pj6m*8klPxYl0_d(H8vOgRM
zPgc;4T`D{0QjV*iL<!=q&2DRl`Cu2J@19Ni_AYPZQEdFWUcTqr-xxLX2ydv?2>e}*
zy7J<6mYfuoWj7e2F&=l4FYek)pIqe5V#|&b&Zyx%iWB^i+79OpEQ;sd_ZITxK7MUP
zD$NHJsH};Hx9ErcJX)58Nj%tjD3Wpg6u8lDU)${Xrrt{zEwscv1_4%>8HFvko(lp2
zcdEYym?3yoK2dj(DJ>;mvaNXTlJ>|fr-x>|*A03`#{ygmpx#fnr|rJ1$QdTJ*U7VY
zqE|DaISRY#=CX7yn=ee1HfZT!#;WC^_mKmZ<!e8e6lcypyZhlSZnAqschO^{6qFT3
ziL6Yne(*nnFwDo{98?SNsPH$u!|qTRYUA*bclY9U8_;yMi`Sm#%ahghxX8EZp0p`{
zpD;(H8DuCtLe_FB^Mtm_zdSfPsK^G>`#JQDd(!8wGd$v~!j{zbl*z^1SDKEF5(@%e
zyJDrmUM5$E<|i*asZEziR4{u{gZm_XAA6WA=55xSHUrAIU(E{>scF#SWG3U<y9Ntu
zE)Tc{3MT`-N0ay+=INhGSAAO&Si35kh)(C3g2V8_HSL-NXh^4;=_a4FaPDY6(yJ@$
z@fB<iUMD@xYOa3KMzi!EFD`f9%{m5}W_@<YPl{Nr%koTK5sAK8?@WG9yQ8Gd$xF`@
zkp2<zdLB1t;q#LDjRUUk{%Hck<ueb9<a&dJWf`i;#89AcyC|Jod;$-Q^JA%1wA<d}
zAvzFQH^i-xYFC+yXb;7C_@?$-=N;j{0zsRN;|~*PP*BO5{}Tv8A!7cgh5=0xej02K
z1r=<cbV(!*467<?O2Na!qoShX;^Gn!5m8f9Gcz-Db8`y`3Bdw@goK2Gf`W#IhJk^B
zg@uKKgM-VLFK%vbzP`Q$k&(nvQH+U+?5U~T>FJ-cvLv&!rSkLT3kx-hi?tvSgNh2X
z>T1i{T8D-P*QO@7mKLA(_FW$IeMyo71-b)erb8`&<4~Xb$Vl+WO!(MJ;@DdL*jDn`
zUjD>c<K&C-iM!^hr{Ss3zuW9A(BeGQ?mWWjBFg0==Ice=w~Kg>%VeM6;Na-!=%l2i
z%*@Py&d$t&g1p?^f`WpI;^K;mikhE4e?lPj_4OSc9U(nE;Qs!E!NKH_k@UgA%<=KO
z$;l)M5<H-Nd%L@{^D;H`G9&0JJMt<&`novb8j^Bdm2p#>bK6jO+gy6vR(aR?^RB1<
zez4_!xcy<Yqo=25Xn1&he0*qOp?iIOYI=HlYHDU?W^rk0Wo4y*YisQ9-^s(n>Ak(#
z!^5@h?bXxMjmyi;_4S8|p2z8dr^TtK<*CP&nI~Xt<?r9Wn`dVSySqn6M?067$2T`8
z4-c1TXV3dv&xe0sP7hx$POq-7Zyq0?Z*N~8?%&?t{w3?*-`}GrFNUC?D4^sd#WcUI
zoOHyc?lgPQWmKM?>0pmgn!FfeukM^Nc1$?8e;=t`oZNe;VytsaCzHp;hp~noCmD)d
zyj%f>Nc3#DVf5KoMx3c)hI2f`n=aowQRHtc+FIM5hTOF#FpCo<p+aPR+q=C!vIU5+
zJ2mreVXQFO_Sj0GNTWy->$Cq;o(}pQ^g9e6j1T5*F#R|3;R?}ML98IBf3W`xaLOj_
zd(ZK|z-$vupPdXNp=;O#(CuHJ56VYx6ovDRwTdalt7@TX#&?r&7_m1dETkO>h1jv8
zvT}22QavfxJZRQ1kr~E_!s{Rp8kqcknY>Zb@Qs;~_(bHF{(hM))Um!+lLCau><ER&
zTU{+Ij%1d+P|wVo(4CCEjJd4s(!N``!<hn~Lf$uWKQDFV_VaA`cg6XCBhlllky($W
zo(kMDVFW!WWmxSo7eBNzuCqMqoVPz(pEKKD&DX@QXY);vD-4UD-Hq!gc-&8}UFviy
zcRlT`wV41iHZE6-NQ3A8Pf58sbEhiryDsndb~95z=ljdZ#`{?@Z6Dvf7Ow`6Ryg3b
zlvXGdu_5r+78ZcF@Rohl86W1A=5F%|r<8nH^uBfs@ox4)P_s66;JS?l-Z3_wN*;Ho
z{9XL-xUOe`x516~Kc8M8Qd=heZ>R55FZU)rzeJwbz20Zf-?#SnHvI3R0q(AcXMm^c
z>3QSx3xRAIofp~^Zo@B)z8E@bWne;chQrEhw=of{eq1nJKJ8t|8#)u(i2*1TtvhZ;
zZ=Q=KPC(fyxx1P$fA5;xb%5I;e!oj{c{?KBcsf(*yv;W8J0<`gcSPQoP2MN?-WSrk
zp3Y2O*6urR(Ykj<-j4R)FLU4arhvO07yoCG_m_{I_opUr%W=SE#k=`9aHHar@yhsU
z;Y9Zy?p;sxYT|JxGynemhTcMbrUs~LSDu*TL5mBztN`At-uE~BUkF5ApSvE&_wF}d
z=1pGC=r<k*yWURTc`)Alx?UfKfZH|l_ue#-_c53Enq1&KQ{-*o<NJ^auzx-dJnWzQ
zJ=-WryjVG|_wF6za6JM~Yi&;zF3JbFB!0Bd@)*P(_wUX<-~8GA-_Wj4&tH#3Ue`q4
z9t<|#225VJr@HQAfQOG8uNAqV>(uvKV&J)>>kWxp2DlT6d7Sj>e9itxQ1kw@4?LQ5
z-A;+To&9>F|I0pb!1g-&m)Vy)2iytnidrYRefxWGpn_;&0$40oeCVPyeK|Kt+jtFr
zq`iR^d2V@}KYzO<XqtKmReCt@da;?kArpDmv3R?+c|T5lzxf4R=T3agYkOZ-A%8=m
z`Si0g(yBbGQhPVVq3=<?l4hiCn?u+mrn^ieG^@sB>S6xh!c=U~QH1w{6c|HrzoL`-
zvh5nmA_lq51M-8+P&@bg4bj(fT_O`#FLQVDJq+h5sGyt@;%_7J3UthBk^0WaXj3V5
zkwGbSni{kRh6_>Abl5W`*avB9>Rj-oW|RRwhrPC9#qIe-5A#7{TrqfRJTq?X>3^{F
zT%v4M*6=jUV`x5Qa+z_4Ns~+sePuZxb!_NGg;t%d1@g)V6L0<|>+fR9^`p1+RH(5^
z*TL<y1a~77v&lRD?Ke%{;?PE<6yBa$5&8ySU@o0#&EJP3!F_PtTr^x#dnx@zG>L)*
zmc&KWBH7KJ9e1#{Rh-=)cq;A`Go7=dw2}_BB(x#K3Bl4*RG<;~-Ogq&Rv&3uX&nkm
z)vQnP1rVs^xizc?pb-ubIhY?bwWTK5%^HOZG|*bc7FQIt<^{g0<p$@q3YaF}249IG
z<+G7%UR164h3gDpCf>4L*0M{<E)F5gf560V7plH<tw90v8)J-PEU4~k1<Tz&&)hus
zZOB~8j6H;lT)kK|H*=6apjm0qQ$DC~hkqAw2mJUj+KV!ujE`jUU9)_*9$Z3NaPAR~
z@xhBQ(xA1wj{M^R{}cB<iU&3JPX`z;<;Q5@)#oxEUI!bXkun!Skb(&K&(B<G7a21E
zq)jGT@0s0GaQxQ{)<vW}JyA`>Tayo1Bm&p_xv%*;E2XWbJ#AGxU^px0CddR=$vJuf
znK@RZ$Nt_|+_d!$7=yI&OfFC$XI$96GZ%~Za95(czE2p|YVjFwrwr#9O=1nGSElUE
z{-(p~bt}n=OmqSt#Sp4)vr?pW2FlrzbMz~EZ#vDHsYi@d<7FQkGorS=gSXt1K5Y2y
zggaxx8vpfN>n3cbL+V>Pe15&{_IPaoTAfV~68_>gXi?pyDO7SI!^8)++8_A+X5J^v
zPze>w9Fetb#PTW)8TCRJL!mm*59YW*Fpl>QB!G2|f9Mps`MOwS#vjq@$9HEqq%?C3
zFC7S*!oyj{9&u&o2WvV<$N?3$O+6uolt>agj5SChmAu|_#MWuSoxey3_Rx9-nljSg
zdhRPuJq?^H^ct&0Lsy)~23A-W=D)U8;xE>us}o11Oxuo*VPi3h`t9Nrh4eZGr&&g5
zhEa2T{BD>0?Mr{vuJrNonj)#i)$f>sCQojE^3gq|*r6hR0v-JO=xYw8r3U$p;*rDB
zo{}7DLk`ebf3g*=So%`gp4F&0u&~gt>7oezTZ=Ieueu>nM2ksl&I96(V|Ub>qg&=(
zyp>rsC5|8Oh{80M{cA~nakP`77dN!-wEu&XQY&ULFV9~cB7b_L2Gg`}lo3=U#4!T&
z;C3xCYYjz2a<O9tdm;IrpK9MYNe{smL2@PDvXsttNF%y#R8rpKh+%&s00n+CW!*qf
zz1Ad>RC<;=Wu2O98dd}|M~1p=ng+6xP+z*LBuk-N$>J0}=yf6jT1GN#3N6JtIp0-!
znW4~9)6z2;<|yrGTQ=`EEF~mFlA(}R9Cn7CvpEcBKfq8)8cO;OeVQagt}qVsH$E6u
z!!R!qi?de`ehtDnG-nA9e84KdHL5xn7Zz=G!4FP_E__1`z+wf*<0^&rr&)}b*hV3b
zXw@7*tebPFBxx<I)uHUR)Dd|`f2Pni`(@-ql5NEUq^acd3gjSS;|w_zjNYF7s))*%
z`<|E~R6nq$2appf+4@18*ok7?`@I2{?Xp~rzLn<!Hevc_Ax^76k*1c%+B5jvAT}Sl
zBalq2!n~f5H}sYyBo6IBR@bG-gL<yCcEH-I1A}Am$=|J@nAcki7uJFy@8?_is5E03
z=Ep6KAbCUQ3<jtyUN*2Q!_DV~NUX%@r^jb-uvuc|&goO(?F>uPe1Sd`r`C4HfP@7L
zYYlG~spBG)@@6<ta?X++{6I&DOpaouCM-jAF(i`_TlcNuwk&#^^XbK^`zL-74Q%mT
zj9};aKxZ3!?D;K*I9GGFG(tWOe8TK&)n!o8Ro3n}2OkmmxZGw*dx+GR<K{V#{Jt-i
z*vBsI0diOpyE8<0|7nPrpB&EkR~PrlCdCo|*7j2{G>r$aU#@X*D7`@R6skYhJNzu9
zL+ap)^QZNQowiIjyY<L1gInp=m#vhUnI105yANf8<+kxiYvM6%N&(4rMwVfP$uSXn
zDg}>QeOi6w(GWtA2wr-qXHZ1=p7Hn9OmG!``m|q+6UE;N|FwrI4NaJgr9ccvAWiF%
zs`Jcrx^f9<IdTl~m`~8dh;UL_%bvy2$$o@Xps%zX#SdzQ$G{n-UrNXF>ariZiO_ln
zMTYo?#lZ%Xb&mHl;DBMkUYaf;EFgZ3;R7MVO{9s3H88<-!W*~J0bjUMhmBJ9zuh=q
z@Ds;f+Jgt<nvW1Sl`Ob9bdy*lXs0PHUQ2k*(E<7+GR>|7o(qP`QbG<viS%qm4eN+l
z6go@k3q*$6Qw_TAa0NKH0uE^NACSbt36wy!&%KTg*M`*;1YlRg?_9;AZ5qshu<bON
zDjox9+Cg~OXNsJbnUo(+acyx!p#&unEe3owRvRFn6Wpi=4Ry&JI-(-KVQA<DpXp?Z
z;{vlt^T|*?aIYV(>#79^Q5d<Wkev!S@SX@KaJg;pr6+lk+^h{$gr+cs^Li}Ql^b_q
zMMvaU9mQuEv<=0uOXd5lQoi_I%d5*8i#6F%E)9O+=9F~(zPPFN-Kd-47J_!_%iw|3
zT5k(tyqK4%|IL!r)?mc>r(EmsCY=S@>Mww$kUeNoG`7ZQgZ$?c8d$Ip*+ta16mEdX
za?1XR<^zvLg1I2uV3eh5F7-I4(>!RD&tjNQ#<y-%Rcufl&qdGVvu%7djLYCMNqWYb
z74GQg5aYVvCI-A7jJ#SnbY)^;NUEYbOL?`Y-v*}_#D4Y55G~FHaTIrOH2j)Ibw&lu
zX^HC57WGQ<HMrfuKM8HZ9C`aKsbN_eaF!_(yws+Kkz9J3xj~IVWY&|kWziKx(1i@6
ziCf?)S}_eXI>MdS%JfM|>CvmeQN;dLcrY{7xMnN|BVk0<u&o}9&1S|Ap46*&E@KPU
zsRMBxw81`=wax29(}1sfXMP0tY|#Mh);3MaPjXzbW1BUK4KdmIQvbO5kzWW4r?t+V
z$v*TWgL+pz0_Q^xRD>8)3;uoss=me$C$fPy1PdW<Eq8I$@MDKrMZehYFNNJx!BV&r
z+kej4g3Pe{9X`g`sI@<cp$s~}_Z@bwxk^lte{(+a%<d-rwq|)auyrcs@u3GOGb#7$
z_^Ok=`D`3Nv|zL3CGK^w?^&GN?bhb%9o((!@-fy#n-3A(Q8D?|uETx7+Ir0+<NnsW
zrJc~Ue@#gh?aIFPt!$lb;%i6aTiHa!pl1v5?`BF<L*Vny@;{Fq<4-!dAUgN2>}DLF
zx66pIRj}>L9(>^C&oV_jdxdhqGudaV?HH#}P0z@Ny`Xu=`vYIZYyaVmh0ESwqa+^}
z_m04NL?e2`bzFA)NklEn-pgd7FiC-O2J6a_L?rQMv-EfiDm2?RePb2&87ZO;@_v!g
zq)&3sV@s$n1D6ql-h2hF65Yen@UEkZKd{Uhm>wzfOHQ^Ng%kc&YI`C8aLGMdE`_gB
z&%=qT0X4rikz0HWB>!6|O|PT8edYcNZhEgK8CCg-;WpX(c!1jCA{MH{^^ewg#TwoM
zRq%*-Rhqt?9ol*Zj|tpvXrlhe6H^a^&VVLiy?F+T-0dLx^$~>K+PKGtYq%%*Z`9OQ
z-PTMoTWL9d*yRd(_*@o{nza~qx8ye&1;&*$`Sq_E5;ZeO7=`BpHry04ONnP%D$g<B
zpDkD?OjXQ-d1*ycX{6j(h&0936>F$gSTu(z6_<EEk~Fn6ge)fN>e7m&+PBE%Ui+Lu
zQ!lq3n-{%NNgi76HrC}d%T|S7XKlQgc`6;08FW`Ov&RynIY9_$b%<a^eXd~T%W0jc
z>09kX>E6VNtkMwSxRO;ub{?7#s0;3ey^ruvtxRC#Y8kD2rXUM|9V{WC{=^gR$scl5
z7tYC#1Zg9r?~s63s_8T~ZRbm$`yv#i{H-QrG6PYQ1TV?@l3eVfsG(jho~pY=+TGBU
zh9Ojzn!PEfS=t7`eE@xm!#xA5vz<EPD$k{HN^a2v(ex!^qFI^3mGbDNle%N>P$gxJ
zGKwm31j56qochun<3E8w9!9bWYLvEv0Xs3EE}i-F-(aZYq=OFdywn6&6ul;c?ckm!
zfudzZ3e6bqL>@%^;WOiRqeSdDnwA<_#_Cnj!_u@CM=gL74#qe{RI=qYCp1l379@2j
zgJAW2E@L(fa?}XPThEgVz%OX%vzM-I<+C~$o#@j@jhQn#c8j;tJp9G`#466dkcg-(
zkUol>S;?E8;6nL{NJTA98PjMjbcVac!y1v2x=h8L5;Wkf*^91lB25hvuXwUtD(D6g
z>>jF0`vEV;q;Zy?mIzc+F=FdK@0okeR||qGaS>q{h}<RFKh~a%fEm%z;AL=gxHKh{
zV)<Di*vrGnk)$DErSY;(w82Vc{e&0hy$n0r?6_N>IR}y$xi@gDU=NsJGtgjOnS$#a
z|E3iXg~Uhn5v@vN?s(aX6;TxoRc-pQL7X6^>Od9lyl8$yU9y}W0VYHzOF6VaJX#AH
zRRLF>ahQ_0Q;IO<iWKsIyTVXCPx2NR<yuvo=#H!uVk+J@qL0K6EsNfk>)O*et>~B*
zKpwPV7lr5D7_^||S`zw)p(D`bqsTAs!6X>=75b-TCQ8rOHs3!JCHULD^D#&CKeUk{
z`arRZj!ew4&UZ(^-ZpNRSEyWLo)*E=L}EjA)S)VHkpRQu(+1)dUT{yWuC^kJ43$)0
z!olac@sn&!N1C7b|NaK-Ee^+0ejVKm<XmxGK7!S1dR(n~A2Z^Jp{3=b$e`bph+_L?
zLN}YMBeSIw2yI7sBrOj7kFg)LzVo*jn*yl5^*O8rkEXS<O^4H!Nt5Pj#7P*7a)K`&
zf<7X-#m8sn9BFHa>;cr2V+ju&GBXwj9hb78Hdsn#Q9sl4P7Q)#woLzt42YO%nE$qS
ze(s-GL5ZFFj=b45HW#75V{exSHF}Z<=WPMAd-wn~X5s+q$e6l`_yT4@wL}y+FmOO>
z$_pp8`#ImrjGhE9^C~0ocQ&o+x&O(E09P)k=KN`Gn8kTWZJNCOau8$N8M8S)Luei?
z9?Z4X>9~iJ8h3*-&=PkHHz*j3|Gf^?<=&=mYdY<eqDp;LvG{n|T;SO>9X*x2y71O9
zX#>^XK)+AZ?jEIC`Z(Y-d1eM}4Ipb?0|L)Wno`q!4(05ms_aZK_0_&X%}Qzh(VbeE
z#3aPxf(ufw{CUeTR3Tujbi_z&I2)v?sizQ=C2l@2l%*k@yAfesju}$t<zBD;lY5UY
zkVAZTNwFaZq&)s`e7zoF?n{HgI5aU{UYWL%Z;=-vd)>C%h|m{%V`o<?2-wrQ=l^5y
zW|9?4&PmR~MU4A0$QuzWse&jZKF%qS;!*OLHkVP|w3_LV+4^P*b;^MILmjDdK$0>4
z8^mg&Az9x^TYr*65=)Svbtd$2GdQ!mgnNFpa#a6^m0x`~gK~-EiLh5NnUX2!xZF96
zo5eQOFzBg#88-pOObIjrfbetg=q#o_42IT!n-pfdWwzB!`E*%VrlT`eB28;XEx`N2
z3O@3xM#;9Pk+@=<pN%ZgR30y)K~`f?`V4Vp%(u(<iWH8QAB4!M=J`iWokcNl7xw{o
zuQ#GsIcF}7NH{lEU@K-M9L1cWSX_bioL#!5tT@{VQk|p3QQoozfP~Xj7a{3Klu2@<
zN-pCU2HULPb*}L6;Dvo~6Vxf>6c@(Z`iU|xo7bn>Gz+N;|8;gnP&kJN4jBGMl_2-G
zJT#BI{mZ&eyc`>rS((G0HUDC(4z&#>?Kj{k?~*a^)X)hy9VEj^XbAkchDd|lW~d2i
zHI(Ec^TcSwHLcTu9Ngx=m3iNS8;nY3CuQkEhetUUm)IWT&BPT{`Dx;fCvTUC2<_EP
z4gR>-!%)cJQF;nG4a$od@ZQp}k1DlnOChl)!J?1BvBE80qh2Q>jnK4)LqwyP<wKZG
zRom8PqNws3yUQ>ME||(flGUl~b#UUD75n9nTJ{oA!XVi|(Bv7)YmTIwEfME(&}Bb*
zd$q%{H5{7EeC4R|c{`_*`_7uy=$iSd5^B2=qmy_0)6)0)_1uOja}j~!P{<u~`(j%`
z`D^)k-8`3Zqf<E(%5^tGp8m&fscLA@ke{|kVNblSu9vr5r?$BqAE2*Jm;1GT5evM`
zQlrSjJ+=#YKX@}pK*#jKC)c)m7n>%hQ@TvluasfYNp53>RX<f_(h>%Lg!|s=&IIfU
zjM+Z-m}*N!TcMlxHr%RBgCdX!t`k+u<>VSI;llSFlp}aWFYuV@z#qC81Ii7W(C2%R
zvJi{N4un2cYgpmIX{-nc%odb*MVdFXN2BzP=`aF>&3V-FmDQA;VdotKXA2ekWOSWJ
z)}!ejZT<&d8y6qiQ2h>CYq<<S-(|S;%!5Y-xwhF0!y^jFWFo${)oF6jEs!TsecDcn
zq}j#Fmoemh4ygdA4sS9F7UVHaw|x^VSTXH5T!yH^+vI&2QLEuTs{UqWdH}<aFl}fs
z#s3ZPmYgVN8_k55UPl5Bo|TF2I+m_QMd2q;s5MZg6?KYoWMjDd7^n+jj&kbyR$8}y
zL@>z0(gws1H|OAzFd55R{@R}<91iHI9P~z=64?v4=;Tlwt<?L2hUeuS?|KuPe?DJ>
z3icj~@Z3uCnZHH*V4=&J<Y9~^tY1l>mQn*;J2_@T>ewos*=|A{dK=e@o5HLSWc?{o
zjuGXNB!9?@xxvd2x0p?{LxLRqTvD}@>kJ{0$#CJxb$N=6tYhlQZmM_3&+UISZ<!rS
zjO8%AKSNF<r5e`#con8k7V02)IX{oYw1n%tmEZsj+_JG->h(<witAvm=T|M28yLW)
z=fUxikQKBD2Yx#F_4G)9W!Lk~mHkIw_M){%0o86>?feFJ^!JY{zJfMm_+S-caPZrg
zbjQ@oI^r6F;3|*CSKGAAxK=qqg|P42sEZ?x{FPyAmRK$Z?7~j$qH<pmB!=!2R}(Jp
zs+-otHoar_5dt?}yU$@g3mcdIaRcr>viL?K9`KQwLa{sPd_+2{_Q(B!xgmZ8?1<N~
zJFuPSQmmj{Hqf*d3qn(RMwJ^PeRWgcmigUpa}EXd>AV@=yF$y)(G~dMA1nT0-9Kml
zDE~nHiI3hkzkXQ`MZ3XDta@7dc3zli=Q=-f1f6%VYSgA&c3#`j{HJYUwGa50?9?;W
ze7;QuS>KdRawo!?S&x^IFi!sbs}T!f<gl`}TFk9=tH~IEK}=t12ivuI{3}>SsWLTM
zdRjN|`?`2*nzwOa(e9Q>O11}=vVv6L3OUPkBtq4bNY!QvKQB;6b@7F+6oD)>-9F`l
z4CNyT?JVg$5!eLTAS;SsK|npJj)NViGWKt>L=K0Tj5aSF?b&a&Fga;Nk)r-~9*&)V
z3nZLK-qs~Z5||^jBCL%S5+{*!{EX^Nfxd&cJ6GKeg_pq*mEVzGz-VO084kh>LkbYH
zN|zHz*HF9JyUFpufM62;24ln0%ZGqM%}-9QnLX!Q7EG7?VCPDb0mX`$Y9tDj;)Wbf
zy<QzidQKr)eU9y)vu*zQY4>GPl9MB7#Y1x*tqhfPhA4qX2XY9SZ#HL%rdj<T3w1p4
zl&IB?FUZ;riI<k_WErm){gD#GkP4aWI+Un6pN#~g_P+(3HZL;v_1NwF#vP>s8g9gD
z<Z(b2>rc3yfwI$BK;rb%_dAD=r#kJHl4%`%lkz#13*sxa-CvzG6`V{sKp>Ul1Trj3
zzK;;B?T8~(jYqQCN*xN`EgnLNWC%Uz0iOfAOHZ-c)P$MPXLQ&HWza2Hjo46SB;S;X
zCzBtEvJMR9%r7mPUIH`FStq*&kK%FcP#+g}UxIYCrdq*(WnpR1Z_mvsW<s#3U58dB
znOPBLw>o1$z9gEd=_F&Zg<3&f&KG%pTRO$s8V=zfGGQZ4>E5BHxS^KzS}Rx{gUiVd
zRXSfN))TDis~{`Gc#A=`l`Ptd5+=2b0ij5=fo_KdwwaK9IBNLBn+x9^_ZK}L;btqV
zNY#-*(fKw&<Y0z5qQNAyx`QE8xKmI$yr}$fqfL2X&s`%hOjnB)RF!|R66`vSVGJOW
z*1+vt{v;Lu=JoLHn^#(Hm>K%e`QG_nT&P!O*Gq51YkJ@P)QedEGw;{sAlJ|T=lWnf
zKKnvTIxBwLxt4*94uCvZaC{%ku!g?yXnH6!RwNIN{jVyXY2M2X8PPNqPj)WJL~i5#
z)HfrmjjQNdjJTV)=(O93%>LwO(aZitC=kcnc<!{HTx%~LcQ{X<GRVhGa`_LN6epGa
zcmioe*4*&$x+a(*V{=`1Zadc5;T|u5;{^3dY_rYyXtJH+1PFU9;LKRreMC-Qma=A_
z5ug0-GR~914)wtzMuE+naNyggFls3)gO-}2sp03b0mr78)JM-I5L;flw{3U>EVf&9
zgOR1Q8)I>ahT=ZlDk~ecz#_@Cx%fCePA%h#=h3XWMrn@Nv%u7z<wJQ<GO3EKkOw;_
zD}D_u*aMf908rCJEBst&-(GRNR_*j0xj)3VI26w<RLLVO<%4k6%C@@V2WN_!)o}bA
zE#`$;+5&-1!7&6W^8Wy1uj~{SxDquAmGclc*=cjqxN5I9#_xuhJ2MC+Yc|bX&Y035
zDC2s<8#^{pKt22%OevzXD3ck6O)UapB{N2ys$)Wp16c-f8)RCj{Sw&Fgb*=W-T|W(
z?F$73>3DcCM{6Sy5`R<DdVxaq!i)|XE-`ui@k>PJUO6kBl8^@Vn>30_y@^DtW|le_
zcCH56Umr0BJst3m%hmc9$upJI9Gj=b@#^O4RQ2tu0tDsS6xeX0<c@z-om`Q*4OX7>
z{6&~41~&Vf{7pDA>vBZsEsvH+Z5Q46&=-a}R~kKhvQn*cYk5^n94pXLZ8WTH)8`yr
zd4-jg@u776H?T|ZiAx%73`(E3Q|J|sY9C#sc3M2zG5(y5&t|(T)ozegn^`F7*WV%?
z<gZRKgStxuQEbwlT@xkEaI1p3(WtL8Ki(zL0EYB$UongQ1-V9kmUsrL7Gfpn1%gO-
zzzQL>*8SC$VH{j=CFiCQJK6+2S#G_!l(e<8pcD9(WK+hUn6Rlb!*`tC_P@GQhR@;@
zPX7w@*kxk~*O=<^?zS3x9fSmCU!U`L61OSrpaxAxX792e-1yb={BGsY-BP#Gn6sGh
z2S6-^g!2|Krk}cTk_eelB}S{`P-)}%OUK#v%P}}=-Q+<{#5=JHV#8RUM_ELXYXv{>
zTG#0V9l9Mnzr#qJpRIrR8ZRf43rL8#KS3i(g9Po^Z+;9ay_oU&QlEGk@da43JPm&l
z6ZjnjV&O7BrE>cov4m_Oa*`2Hx%B9Q18BzyG(O7|Vlx*MiTqD9K{5uoOf)E_vJ482
zLbq=xt`sLA!C)lKbdbCB9NIC0^OIV4_F@90DOZ7gvnkbDyV$5^#d%BX<HG8Z#eqWk
zskd1ZSH0m!5j~fQ@C`r}H^Z)FW`d+yyw|2S5nQ1z%EN58--T3t%G<mGeErx~lz|!g
z%|%PM)QQ3Z&T>0r_0=;48_ea?AJ`~n906Ajk0q5oE?hG)$3YiuQ=6~k*Iw;vl*=}=
zs9Pfc+cBn%Pm6~!F`6s-ae2)kf8jo7d5E{FV7c%$IgZqzU6|nY9;at%!f4g4&|c=p
zQTeA-ZIabu$Cr_0v3h!K;C6%wYF<jaeAbUqKXXK*Cm<}_)QZmY+70Ra^ZM*8$IcSE
zdL<&&%2{*3vacfluV|Zf3tWW=CK)LUXfZGaa*^B$4ws|MD-pH!+N`*FN(!~CzhCCT
zx+VKVcH*eFBj!M1Est0NXJ1kRE+RCD6DK3B7Q(d&*`*9{J(pDh_L8BE%)>S8$#22&
zitPHFg1w&Pi>=F$XcR6ORA_w)<x1cG`kd_uLs}k~pgCaDgXUjiXwqAj)BYAJbl4po
zHbR1P+Y`%#ha=fdlE05Rd6}1d33oe65v$l@v$}5Cc$ZX2&CfeE63pEn*;rDc5TNE5
zWj=|Le-cJrpa;;1+A#(^*_sNu4V-%NI2K2tNg|B_^2N<CM}?z4e-ewdC}~M*!>Ad@
z5>65{MSq2`6~QPENa{6ElcgSYXRiNBuWrhmZYot=AS#ZlQfZ>DiQz#$<IOJfnq6>k
z4dXeLfurTN-Dgnuv!0FQ{j|o*Q#M&G{J7OiQ#Em3&JA2RpP<it0p0(4{X*J5!hXoI
zZJIW@^5p$$8d7o`?(DsKA5^um5tj2Vwn*4qCHEqa8fx4{4u7ni+^TjmXtr@L0qmg}
zj5Ncn&YeiquQ^Y6oBcqkf0&@3_gny#G&%Vhr8t$N<+`yS5saAtKYAF(QmQTW<b{?B
zj|w=MAAnziM1`Sik;}>Qt6G06A=CbCAC>eZ?qcTROT-@Qk35XlS08B@;6}=|SI|p(
zmwB7mz;o8cPE;>pY~b?!x&{M=kybW`Hc%APCf^A%(}a|r6Q44xNAXE#e6fB?GA4rp
zHl^$(AzWdeZxqiSuB+xTwQ(G5DG45qax?C51i+#}xLraKo=Bt|$!Q^vS&Dj%C8EiI
z6JqY9L@_7Wn$BtA*+&*@r$We(!h0MYi(B`h{vrrRx2ac`QmSMQGYAPk<RYP&`EZzs
z;dD?Qqyb%Q4aVY}feQ_a7_2O%m!b>FikPASU8!CxT87=Ra|+JZg%2(~@MYkX;X3kD
z0f=Ia$rq7m<<JROh14Nf<#K_TL<H_xDKX&&^})VkN^!DLT(K#HF`D(WuDrbkz6#0V
zh`$wGKzeFH`+qFMOnFD?7=nB05Utd$7dEZDS~67aU<at7iqq^TPyIV+aNzwb`wOS6
zxwKH|(5S(7_PpucaP)sk&C{B4R4+nS0V4W8$&z1TRamsNMU#h-^*LEf3Gp@S>o_tc
zh>}wi?$hwN%Y>M4f6;ji$BU_{#>S%}alpyZlu=BqyJQehKbR6z%A|2oo-G@F;aI?-
z%qM}K3g(HIvn`T_%lMZPRQKb}WVFrXYn@hi;aw4|goqO`Ka}u=#>78$Dy1l)0)HFB
zB#DvN9Bmx=xSL8<LnNWU!%1s0G8`F0+fDFQu~V(IcHrGRZh6x-{;}1=Zd*>Nlj4?I
zC2z(EJq)7mrw}uLejf1aNEm%nZ+bS9&ge+~7n=90;`@9oi`J%M&e?Q&pwZVP$VI?8
zPg>I4G0?^<=W+YzSJG}x+id=V1xVE<<b>ee=N;u?e0sYr<=1wcSdFZ>w2+ZmlB3BA
zgg%b*8fMS@VywJEIoB`$I(tV{mH*FoZO$$i)2nD~ByPN>safG2;3f(#M-lv3|Kw?)
zq%&Hw$AV*FbgNq8?y{~ut5wGsi^qX%HaMWcM`GJox}k_?m5;Kiet&A90F+ka{yzY-
zKuo`k%2bsx+sdrX`jt9_v~Fw94@P>>d3R~NSw5KE+Ah}Ba@ja07;DefQ*BBnOHp&K
zDHlZ{xt$ba69p?wF;%+OkVC8L9_aB#u+q+nWhkqe5Uf`d)k@m)^cns5M+bo)Id0(e
zeLryBf#)TOF&Wi(gN($O^j6sJZ<b+yenixG-mE!=6f#qadUBj;HX4Z$5=K&;AwDq=
z=pm;>qn;{N#@c$nJQ!gdI<fC}qd4$}zLWHwI123~Jt~@!Jv-_;#-j~iaWcwyF}BrP
zp@~6;jf*kQGBY3XBft&>!;HomNC*|Z9_4p4WCRv%y<Z-TG+zg^WEKq;gSBUW_Z(mJ
z!*yi4b}f*EcB$rOBJKE+EHEWpl+4r*II(Hk@LEX3<c87-1MLw*HmH4G$dO|D0ePU>
zp5qmmLmG<J1YK;b=?cPT_peY!c1at3oKhCYxi<F9&Hh|CXwi6iFxt?9(Sp&27K|2*
zHnd>0;hA78hRw!V7l!<iKN~ZD-0jeHZu_o_{vaMcPDB29Y5C*7aKUfA$lqnpy;QDe
zmi1hhx_BBGdAc|sW~U#s#cXyyG07jvz4-NqHrwKY@T1(O&YEI&MeWM7ui0r~`wWjJ
zUi4d!T<9+E{^Q*L{^~Eju9I-))*mV7?0thayswb+H!z!>R!^FrxuDa3d)VLfX|Xov
z)4-TL*Ico4+sr*9r0bU}?0J6cv9Mk|JI``>nUb1S`k!^Hm%h|<)&00+JOak7zp%SE
zER*ff<ij{#KI2yxkgXcT)x}r1juP`pY?i6XlPDf8l4xO;12c<~lfq`pDjzP_vwRUH
zl}VOn5G^lrhZW@8#_?=_84t}cTISJU3q=gfBFdMu%8yL4UOv49xT-T{&H95XjRz);
z*7<hPKdF}O+s(Z#XX$dA*dJI%L%7C#7R6~2r>D<N1vdv5l&>K&?=SQ1Iv+;K46bev
z$Ll0+CgtT%myG;;-5w-S&^M-kd)D2$p7SUek3H>!Kg@kU4BZQV!1#?Z-6&iRzqCmH
zaOUQ>6F=xC2UT>d@&i9KmA!?^1o7JKc2XZg5LCDN>)Xk}`VwF)ZzoQ_6VEz+l5_{L
zwRHMk;JZ#7^#d>V`v-m;T~acZ2ZN3i1%4+?p`d{mb<=}m(W-vbfRXwK;owU_;Cs%%
zi95rC)N|9@QF{7++-%{3qJwzW^#`fFpvBOG^7>zxxw9{&eh@j&Eg1vfm@qQiZa0qI
zIO-0z&yb9P>w2Aab#S3%Y&%ffPB%y)lj&|F-!o3?bmDNh=pGjq4nB55zuWixWbMY?
z?#waH@Dk13vTHoA8!z*I-;0fL+|JMoI)QyG2CifBZs>P^l1oa)^0ps&PG{H&bAMne
z-wlm-yh`FHdoVoTaoyby#BRsynmF3tiu2QIS$B;O7qrOxA;_h%V06Pg_8cE>-C3A}
z>Ukw&+lA-6GYGw*v-rZg-;HO_kc=n^4+f4KCyR^v4Bzu2H+O?1yk)xUe%SH7fj4yF
zzLMj@h8;J5@)x(@xrS2QG=MyAbqUG%?d`xD9K=c3@1%|&I=LTvO(nn$06tFQFTapn
zRx-MkafiX68xEkXzMHr~_qgG$cB@6CZs>cV*ZhD3mD4d%e|;+&oHkS2TY;M#MCtB=
zKoYu1CrpB&cVIf(#PP!ClnnUUDzB>CZlJNQ;K|N^hwF12|D?-v8v)tT+AZXRUS|2p
zg}vJBx7EjHyRIP98uBh?m7U|f&X=dPy_^|{+HSWHxir-p@?44lEOJxL^5r()Hp?TM
z?GmoV-oUonLQiA|k++xaGuCzyz-qZ1=Js;d)iyu5%TIP4I9#_~GSL3O3`#c33Vvm=
zuf5%Woh;y_*>HbBm07^;<T(^;vzz@kO3x)3FUydc>&`Ei_Zb;3Pf=blT#ikZZ$Fz&
zU7q+|QZmwh-mEqZ%xKn6O*$LK+ayXCQEUm*^0@wHi#V=6hz5%U2vQuUi(x;p>>~$_
z#cbmNkg(W;C$`F;d4<oY?MngwQef;Qqv3OZi|q{VCt9WpGk}_yRq^2AS;=@s&&?$z
zqci9_UIKk--*fw36nUL!c+ejPe%y7|-Su$=dA=KYuAAh4nEENSv6gUoedmYJ<#mh~
zMgwSDV>kR#?&ZrHA{my?Ih{0cW(VQ=AgFHV-5~J#L9pvZ)9ve*jE)CAPZt=O={k#l
zSvOq9LEP!j`anAeyUu3^1`uCBEzN;MRlzW~eR1Fh(2{n#iL*8f*U60&_}w7C8In-}
zpW8a2*X?(WyGT0S*?|W=xMODBvmN+rmW&zjgF%>fy$C9}4>I8f2mRC=MA7yO`6(D-
z$Lss<0O;u-8h@C3?hI(43ra$N03zXkMIc=sob7gJFAK)<H8oRvJ{LH~&Al`T+?g8(
zk?Rchl5qun#(KARLql$I;3jsJdSDCd%Ep~m&~`hs8S=GVnfPO%6qbls4z{*VaB$AL
zDFNb#H>H`{^SL$LboE<cR=|Fi4IgXd=1L^v)v>9|USawv+NPdIGG5*`^&FCa@pLfK
z{H(=%|AO%TKKA`Hal>?<@zlV6*5H1=ko3H1{!z2@@X-v9hIBZ5aU=Sr%<So7*M9P!
zAK!C6OrQ$hKMhYV=-CGQ;rZ3=E&$^(`}ypwUHiNlI=$GeeW4NkvAnZqWO(Gq(r1{^
zpLqe#3i*Y%{^(`Q(%Jb;vu9p^>XV9sFwCFFYWoVCsh3sy)~~D2czF~0`V}=(`MFkf
zYw~KbsD`#HPKOl$d2VsM$D4Uj@@)3>*<Hdie@X`6!HdCcF&M00qyw*#WciYPMm2z=
zd}s#`s>Rtpd;9jO<MwZ&8GtiuG7g7Nyj4(_%{tja)<yNmh2@vGP4%OHLDgL*(blb^
z!P=drgFzIgPX%Lrut@S`*_l1_aTx|r$>2rXV3BP5gBOyFWw;0y(Q+8&!)X0tl94!e
zq+&2M{j?t^KfG8n0`Gm3BvG}Dk}!!DPpFoq6Rx3{$Rs}m1)yKOpkzdG9QPON*ud{4
z)iCjvxigHmPphCMoDwg8`u*UUl2JuZ&X5M-U;sQa$zO=tF1<mT_Je5QC9~)SB_j&$
z5OiYt#vN><vr>0jn@fLS;`LxXOV-`x8PRxzO{M+<iV01$PF&O9zNloR;m}J{Z{ZGq
z;4f2)O%k6i?Shd$kcxN~EP~~;z{s8D6ElQEcnXrp3|<h7$hy*h`*9M+@$khYBk#M*
zZ4~9pI7;GZc)G;QHa)dRCqZC_QM8yvwqBM`xYTuIF@vTBDlmzn=V+$RNyc_&XEA;B
zq3!oS{N$shS+31u{dCn}Xa2SmpPtoc%+^oJV7K(yTGMn@y$~49`O7NthSlN)`wWx9
znd@b>g%Y+4bFpN9G<K@Rc3Z8Rs(I3-&W3ht7*Kx~Tk~P{93A+l$EKdC3B7WMgzfY3
zuUE&WE`O=dXr|IrP0u<B<;Q+PJC~v3SH6o%PL!Kn7@j2OC(c9r@1QK@rxC}R)L9iM
zInkQl&);v9%lxd~dG`FLh0|-vXTuX!?J|GK88!9z!uQ{Q-#xu4Q2O4tSNQHOUz72~
zRciN2PHN>iDnG8zlls|L;8P`IJ$s7YHM>CBxhUtOWt^%#7b$y-M>AOGtH*!u?D<c5
zoqV1+HNA+UID7m;_eURo_~h%ppaN#+j`ufqdR^z5>ejvU8if{&8wf_bLBKVWjE5(v
zROa0K!^fk4PV${gK7(m>F5^i;bvCjE<6_p=-w(&1)MfDaNbvg98u8?kK%KARlblJ?
z%ER-5vHW7#4b1lkKz!5Lpc*D=b!)pARExKh#rMrNUTo9BBLCuY*|+LZ(myb1Y8iR5
zO^2Wke_&GUJ2C)WH2*j<k@Ikw4uFcU6DKs*EpC~A#!G9NTgK_K0(Ey0&ss2^6hapo
z4&QY`*SY20N^ga?2Ho^l#|^s&&h6Og+#cKtZYN*NZ%4P5CO!x|@$K88S$`q+4{rUS
z>xXdIcf3yD_5HLPcSAS6?RBg#9z=D%G&4W=Qh4y8^QEL4+=A5G$$=ZSU_2>A9kb34
z@}c8@re5Ml2U{<2`nS^Lji?_*{_SWm=u`*8?(nv`Jv4r}==e^On)NNy^^*8@RlU(k
zAa&3^SXRTX8*Oj*-&o%^=GHRw5Bl-K#LmOpe%R^X-g@DI@vSdz3&s<<RHu6@PCA{`
zO#qDez`K<n%sSpM05JMt==9T0b$jupwCi?%Dl@$0c7_N3%z_bj{iWM=hn+WOj&nN=
zI!@Zj54ut8EddO_d%NFvp!Z2`IbP6pJm0@H2%Lji7~HN}FrFB!Z^U9@y-us`_V#dX
zmUb`dkGD3M+1C1inC0eS<C3~uuI(~B#yXKKJ~9R(mow9~BMVK=_00O6So6(d4JSi?
zblkO0C)<x>4<yUFuI5!M8J9H=zR2cF!}YUGbjvt5pX1PK;5QwN>Qg(ZI@T>)Fxqg<
zz^H~74iTIg6F45B$cOKrbzFOYAJP23d)5Q)*p&bN`MKg}CuyJfwdL=>`|e57`}t=+
z44*o<v`uD<XE>XExcG4Kn!<;l?Z4T7B2S+x8E>}++SeG)4fQ?-M!Dy$)tQ$$Z-xE*
znpHmqFrF$IpCo1-N00hc<QH03^QGOQ{Q-O{%x=?li>7tBEA4jeRb4_{Rqmqfa`$#0
zMZ4{LZC`-rdiPw^yWQP)`?p(|o5Yhs%(+6${*>mutUuF|Q6(nn=Iba}gh>>CM*Vd-
zFed8u^I&0;AYO;bA_x~@e;t{sZzNq2yfPCqrBg0xugVZ!jaHoY?6#IYN);v)W4jj|
z$C%b;G7%JWOc<hyipHa>l2j6`pb$o<Op;MO!jpR=#YxX@pn1sXswu>-`8l0nV)T)g
zoX#iu2va!sGb|YZ#@n}}zCY}LItwTC{l0%-ayRihZr^x`ANpN5=q6!o%;Jal-YluC
z|C>Q{l4bgC(W9e`Y%rpB-_P2RQXT4yW!UbaN5>UadSV1IV`Q?PD9gL=B|s+Foto%k
zVls+HNFM4QJ<8|?VY;y!T^ejePwfhU5>ZWcIl>%ebVQCaQR_SWvnv^Y&`c$s`L*l!
zy~-U#{f>9AUOQgk`!f@`p6@zd==6PWm{`9(%{Zl8V=X8Zv?L>%krfqhl@nVQDQjFJ
z!;u8Zm?BD)!kiOM5SwIkMU`om1vxIHm@``l9?=n#jQ1>}07hNX0vU#_2v8_wB?LZX
zESmrxLek<hEg4laCH=#HW)i!dV!!^xEEm-$v&sZfRV}ygJC0qE8@iR~*JV+>$F*2(
zR$8xCdZm=4TxqG5MMpuTR)u1WQ7R=>a;2!2Q!S=?PGwR22IQ;Oh2C%|L~W$jQrSYp
z6bcbdA@ZKxrm-o6Qq~j#hg@%jQi?+%oBA`{XFSDWZnsQ*wK%qa6IP!*`Bw@d&pfkA
z$cyT%dWOYO3vs3pd2u11VaeFOU7xV26Tj+Z{G`IleWe+BW`Xl#US+>PDEIWI-m@Q|
zO7)%(HEDIV&u&gx7qF;mcVgL;cAN+$K=kf}+U_p<Ibc)Exc_k&#hw1vdQHc!KZ7n~
z81%RO!4k++6s)6v+7whUOpW4(9hDi)ke<Wio0TKZf%)icr80ww$S^H=#&A6<5CxK@
zAr1*HdJ>X2MVgIlPffAqS(%z<K%GiKN4&``F%{z)6K#LW7{qx7ea1UbWRU?D7}~AR
zG@D9qMbUxZ?Qg@-?}xXSYbSLbH!xuo20_=2gKo1<y}3(&%dx?wnwk>or09*Y1*1nY
z^)=h5jP#^u_pD}$R;)+K{BSz9+tkR6p+k712#qtvGpubVtg%tp;NBz~VVYG_P0Eq5
z+gKx-jV8P#khn2sBzOj0y}>AhGRKBU{q@ynS~5Jd=thYX2ZPvkJ454me&7vF<oLd`
zCsSzxZ4IA)12eK)PxCtpVNfup&^rL>1a1Uhh(<CaQ_Yni1kDMSXk@owggQsiGi#9{
zlEH(0xSHCI0W-_9KrRq9oZuS3u(<^*u|QA&<rs2}O98?I-wS>uNv|e+T6}gT;}c+0
zA2)0IEtl0NK&C$4z`?cxG8F||v)s<y&U$V4HnFRJ%`3~0*n7Zg1lN|`0GE<d7Itq9
zpi+eb>ZFurQrQk&a<)s51yCj%I1@milmemzJZnYaE0CoEPAH__=T<<aB)hMG?gF{8
zv`X<gkS<YZ0!`z7bLG!An|hp7ZFk&fah?J_JTn|r$~}dGFBk96TMBVOLM?@Q0wp_}
z8|c)3qjc-0?^5#&HkFuJU?OAJ_<UIJ4TBAZ4fA6Y;j!0d^Eoh}|JBvrl3448Gg&GG
zv`4pFSifwak^Z}ZALLQwdR`oN-*$fxxv`mfok8F(P2WjEFHE~}5Ts5zaMJ$J2@}_|
z6B#)Xgkd8OmBfq?-pd%Y?=2iJ!={oDx@o(AzNG(srxWy@WoOv|D%JP8{;cYJ<Tyj`
zw%>O?=sT|aQSJdA-ME<}+@rR0t`#2B5p>Q7k7W(Wv{n8Rwy88pyNT;ZgDCAspkbK4
zJ1{fXF5XyyWTbC&`>C6UivaL)lW^#U0|-_xgpL+-#Wm?^fhl2#%XWXImywM0ypR5W
zCua_-U7r!m&W$zgQ|pFa0a4O6H1CBHded&|^Wu_mW}5ROlK@_HaIYN{e3?FD=J|=S
zYDM$tSIzTZnUB+5wOYAI`+$_c-0yX{OW(Z~xoMbh_0XhI6SaN&B(XOBVwV>f*8>T>
zOKEt4N>R3w@uUvi$vf6_Kj^!O^TWV@OI+w7{3Ob|iFw~UNPIsEK~3)reJ}UJI2lBq
z_eKC`gl^x1+<mj?q+ZbPr(HO2*iW5)?D~s0!qn>|zW3{fcS!;oHIOcpNkR%x<Xg$O
zP|rvX4r0&k2T>;oy$^1OL6CI4YT)%9&-jDT>xO=4oYZ&X<W|25qJ97s?{^@7edvV|
zkS~*a!vi=i?7H4I@tm38O@hGhI%&{JqW&@O8rO1!>9`=EMvq7<85ipr(K1NgSv2g2
z?}n8hrBNF9y&r~w?-|Qv{U0O|NQMiN@qrf%K^ut%Nq^ve5YECuFaXJzg_Rp8p<SWg
zOZ$lvMZ-9NBi~JZZxNmHE-4s)l2jZ1dEEg1GHj}{jlOA`|LXjt$;zDc6Z_-pk&e20
z?Bk?_<5$DGR)w;pOG?YTHgzi*7qO{V$$nZU^^$C=vc6B1Ql`A83RTp)SlR7Z87=MR
z(IsdPx-2(xqg7?5_JQ8at5sc>Rau*jsvy;9LS?I7yox@fDk&Gpdd7@@rtmQ)dQ4V?
z3xPQ<>k-pE!N#g5MyxbrNvEa~gegA0cc?L$(~+F$iVI0;3&+b!#wR~|2(>E5nWzob
z6IM#H;ww$2#*7URP=Sl79*-0)GLRRxvURQ}rpz)r!AH`}$0cpd-u!UW*7eIvhABD6
z98@%>CzCm_p1Fj^r!o|OlZO3p>paLb$Oy0?NT_R!G1EsNL6Zs11kOOJ6mM(#<@=1c
zt3sEXO>uuy=*>ndtxooiR@UOAip_oCLU3eh(0;pVwb|`UZ5^DXR@!b>-3rD_OGepF
z3AkRiDc=OC)iHKz!P-AoCJLkAajz86rm~Q=eXWYp)P-uinM_@O+ELfSlyza>i`Awb
zSbAv<{NK&K7)5RxxKY|2M6NS*l4NF9WImlvw84xKgAli`jPb)2A)HYHFz}2LZSF`e
zN9wRR%%JNh?a<Q8uqgn;>AIdb>v}`4>j&N3={v6V03Vge2yT!maGhnCB1Dl~VLW2S
zU~60Aqe9FLMg)(4XogY7%kuMTb9#lgsUVIcCk<y|;?DY>ANWDM0OgL)(L_p$7)6vR
zLKPh|JGX)$B_+TG!ZMLu@ViWBkSimCwY~UDYv8ArjN_i8vfkna5ZMhV<ORHRV_(t|
z-a!|KSWpl}V{IyqUs|fNDB22t3CVa-HdU5wZ~dwzqfGaIwyBjVSJpOF=|ZjSG%#AO
ztZiy#xs+B$DFa#sXnb0ijURdaz@`_?RKC&_8#rn#<2A?1pt)2W)e?I8woAXXWPD<6
zQ*3XWV(@|XwyC+8a9o#|Q(k76!3&M%bfhrlK(8KHH*$)r@~(W3S!eRMG77|N&VXg9
zyI6gt9*xR>H|dm0Aqi_ixU`-j5A|xC$@8`;*4U=BCPq%n3?T-uv7Q5$x@SygtC!%C
zsuCkQw$lSpCQCC1NdV!%SvIP(UWM6P8YG4F+6L|Nea6l<Rhp@uU@_g>rb;_2PfCKg
z^$3>}E=k4-&?bxuZYMu7;IyD(Oz#RcvRsPZGeT>BRho*xA)X6N>#spZId3tzY@hLV
zRTO1oe6rRisWz%;3{acR21t|Ms1iB}I}fknQb41uwMr9=)yDcvHF+(k0xo4am9=R#
zjLXt1Tdd8{f^bR6_>twY+mBBp9+|jTZJSMjA3g2CMNLoj977tPPj{VXYv2dnXt-T8
z%iWoOsvp{kt?=FM0I^(eK5#x>Cvdp^EyOCtWii#7*{5C=s}&U(Vl@a)!RIwD?S!&|
zDQ)zeX~7F2l&m)^wrZ@pnn`HN7?VuT>7<p6$2;(?2?w*#3%t;Gt7Zy#CpLXANe?2=
zaoou9gD~{{d}!22&XGo%9`Q+ULNOZ^na-epKPS^8kqOCxmN9OSme~BaOk`t`jhMJA
z5Y-AJkOWGx>IqIMoK{a{D;bZ1kpdX;%=c2~VCJl6?!fH^iRq>@*LD4YANl?dyVhW}
zsLTe5c_zn(9bwEz*#u>RmOZ0KXu^7<4eQNmDVfPkflD+-6ph(fNje@eP(G~Die|un
zf{~C@Qf7vVRx%z5);lE4mx<@5OD{2|9}I`#+ARDej-q&$43jX-lZBto?Ak7RE{#N7
z6!SUfRN1C!gz!e=l1M@YDzKeI4;hdUB^4zjlxfa5;Q}p)001BWNkl<Zg3ccZm?#9P
zCD#IrvBGoOO2);usrV9G<TL|%d&Xpc8Q8{huKi&X=<z6FlUy7pmCYy3GEtnwt}p}M
z)=I{+Y*R1n<<aVPufR6N=ejCEe*?0kxs>ImU~*O4>DH@hvErqMs2UiQF+hXLdIilC
z7dGbxIFwMeb+givmPDy`4EN=1Q--qwYuV!@V>BD95oXy+b8GV0-~wkEuR!&G7I=fq
ziWHO=J;Fxt$`l#RkEEWDZQGCGkdq>7?NBe(XFPmI8Y0EWTA47Nl$7>RS=K%KxKE&x
zr+|pCQ{-_W7$67a39$@KQORiUs4UHqZTct3Oe9vQoksRDl95&=CK|K(MotS!G3NzV
znAW_mYh!)J2}7bTYamEcgPuTtiBy_u-Q)y;AvG^e4b*ik8P#nw_0qPfhVfW#wENga
zNR&;^Go#~!UCzzsI7Nd}0V;Swb*bA<{G~MTswG0#rq8g{R+d;vzFM`Fb+wXFCf4Mn
zG0o<s7_~#BSIwsGLodx~HZA5zx7BsEY-(GVlISTdH?r+HuAEIhD9Z|e{vZ_Xe3z?b
zQ@c5R588UV29nWi{@$=DrrPfN%JqyBHdP4ghSP?YO|_D7mQ78|qGeN8-e*`I)o>|b
zQ>~rviu;Tffa@a}k8gn0hEFf#PnV40nH}5Sw;%5h?VfJCukXL#Y~;3!YBq#>e|Ub=
zw>CUq$e#wre)FW=4odKUZWL=g66$)NVu$Wzz2Ec5MwLXgiux-FkAuOPz|3$;1>=H9
zsuW{JP)WF;3~Mu)Q&TXZ8DwPlh>%8VPTQLNRKNfXkhIPnQV}H;t*z&WCQ1-01TKu?
ztTwb_csj|{2Cb&{oED5v1&q41+qo1V4^uH!*2%x1Tymz~lPjTrh$w`e4KOFtE~7^I
zl+$^kSFJ+w=}1OpH-oA7JHgcZ-lN`c5@YI<?!+ATD!W%3J`FJ1(1Ov17K|2*Hnd>0
zV6>qHqXnZ4uNaKQFu!bgH-BB>NxyWdYaKp2dHBM`4_`KY_B1f^bTOOF7SDX;31s{A
zhp*><F|)t+cz9BO{P|4j@Ttjpa`7EDr#+<#E|X<3ONWc6{rK>ygG;m7<wUAVU+0M6
zlg1w}H7+^JpPIZ*U+A<;W*IJ@n*8)(*F1l@>iKj+<IQzJ_$1vv`{exT&)4!%Fse(P
zcF8R1V_;NI{P7o;jMuvU?UUs2RY-<?IET3zRLgw7D9Ubs+V$Df^4QjCRGE1Bq>_g=
zsj^wt7lM&2x5@D@zH-U<(Tjue@YOX_muW1U=eK&QWH_D0AI$tXa2H;>2s(M#ug*U9
zvs?Y)%%3@V{~)(J++H9V`K^AQ2McEw9L)M*^>{P&rT*XxOFy0k(ctzX=)a6)R1dGT
znL3ukhfi&PzN(9_`n+W9;;Qpt_+8I+9p8)H-0h^kGYAJ~Yq}bQQPlMVH}Sow*?#*m
z$=KQ~ogi>h-;Mjx<C5XJuICJWHw?WnO#I{pBqQ~Lb!BG3aQn!uR+nk5&xItfqWI%k
zJV@MN{k&j+9D2(<Fy(GX*@w-pXjKDJ<cI6s1~$omZrhvPHfgrPXU%rBP^<kn`qh3@
zoO}V57!KDa9NL)va0_4rp%aEq5__Q^^!;w%cV}n8SU@E^09NRCBi~Cel8l+}J5b+m
z?6TyKONM80@cn)qhi>G%%NLN0z+dKGkoZyhhPQmVJ|i4_>^RHRh37AEUZ9!!LKNIi
zooL{HdNVipk#~>=ZvaSJ<M_$U^};xf`u;3<+kvMJj%=>}AQ?Cd`+Rkh&JThxaZ)#i
zd|u*3iQh^3UhW?xRcbeM-fqouX_o(gdtck0IF2m(?Ve|+lPr9{=j_bne}LU*z3c$S
zS4gu+vwwm1^0XVNtyRxA+*s3JY##mJTV(@(fh4>o>2%VI41SfRl1f#olB_Cpwf%nP
zlG!#vC1W>(;1Y<E+}~$RV~8?^D8FMucPV35%+Y8R?2BoU%pTHbwEh%acDzey8G+Z{
zri@dkTASYV;vxyI8ja5MhtoUo;_}T!<IVfVWzf2~XrX(v=6}r=6*9(c&%0~|jmBSp
ze`t9Zm#xb;?W@1G-?WQXqxFN2?f1<E(Bnl5_{Y4_Z2r)K^7ycO1N*<(?kS>DaUe=@
zt7AMQ+MYrg?T&+X*lo4DjjP$?`V92Y+q<|NH`{M6$EWuhMXTNRIv1Yb^*fEAcX`!p
zKr#SD<EjnK96DdWHUB>`aDqnnssrtRztd<1ZQu)7WkA)~3c6Exzy0UtmDlcEUA3<o
z?Z!pLrhr>*``0cun|*cNL*|E-SKQS2D$2@fr1SjVl0nAHNNdU{R?foUANX$mKxyhu
zm-kT7wz%;L`%uw#>DX-L1Fh=0&}qEa-Ex0cL5%LqH)?fViVf$r=v5QyH@-rDWX|1X
z!yCWpwlABVi`GrE51`+@^8VzZ4@s|T4;S-I$_OqSz{-I!_Wt|^+Dqj;5>mS8ZBWMe
z@@ni|##hiUL38|}?Ok@BQqSl<=NBQ5(!dX>X1{mQzxKtO25__SMe7oX_u|d;&3xVL
zn{QfIy{ks>r&hC(TwWwsm%$c)WuO>!(Yo@zKl$xu<Kn7)@lU|b4-J2VGP;cbcq`zs
z(Ru?M6*7DCYBlg(ba)hf9#Z;{GA=tP`u}k0HK9+ryhNX<t7f^lY&Ke;J9w>juRR4R
z0Azp-G=n(z15ic~{1W&m)pjc9k$%%_OgAW__ooK%Nf5P~e@5StLHn|QTM_1~)WH94
zcMOx*M^eV3YMiyyTQn*={GE#cS^7=0ESE9ox4ZBf%|URB^{rUx24(bG_+Z|;{DAE8
zrrY`U8u$}Z#uKoqJ7ZJJii*F+*i><vG&NrK`U`9ki|QOV=nbm_HWR#yx^GcOI&xp!
z+BQ9u9{SHggx!E;3D2T`f?^5TeaY7@vd80lBdoS*uTJq+2351XFUi#<<h!b@#Z7S*
z8<+S9kx|^dwOyOV0m_Iw-DUWDcW>xyod5lZ{o_LC#QUd2dU)EM&ZG0*kBr`YwjDlK
zKiqwuJxTcd@T7LX`1#hh4D*fskvZI(#oc?^=hgks`;*&({Z;{g=JEbMBX;NTeBp4P
z@uEZdxTQIzd{JM_PhSsZ=!p;?xn`+j+88C!Kc*Ctn@KKts)gdp!ChyVEvbexu4&3O
z+;IY;p({bdHN--<r$U$!TnYJ-(D8~Wg9ygCAp_yUj1uN(#F=zFBIp;85@kc<7$GH8
zaV{CteOm~j*+@8lHzdP}u#<?Ea*&gV4T+Fp&PLMZp*~Z_>A^w`=YnuC$s;NRrCbV~
z=3G!gRm24u5tg$FF%u&B01zZ1B~>ICQptp(seDO?g2N#cB4i?xlv(kTOrpFZ%BWW3
z)XQ>;)smh1Y;*n2`g(oC3ZA>w>YnvtpE^q6Ued~*=~<e8dNq{Mt(Jg4_Di}a`Hm1n
zb<)F&`nSHh`%6QN(fh|gdUw*PFJ8_Uh1FX7{m7`7?#BmyaVI_)=dnKs|9W5jZ*tqX
zc^iuDhsnAez3%$v^8bD_n{oFZn-FjdzXjZ9+~Bw<o$<cnCA}wMQ$_d7OBg78ijUZO
z4;pztGRotBrd^Nhz`t~!Q(FJBa|r!O<})5TB>SK*3co@J{z53@m*S}?qg+XEh<1Ad
zWt1zYYlSN;p4TR`OZ**1#*<LSGtczxm_0daR^=GVFl;h<n-O6N8w%7+j-`w;MJL?a
ziEyI(lz}ef`WbVhXru@e@{u1tzs#AwJE&hA-z1KIpp5K)q$LBw=xCr^e-I&!?8jlb
zMDye?mYSS6N<z{ni~|CGW<v+c>R+6`o;(v}e1n<36(^}?G;PHcet9Cwu%OQi7OLx<
z2+D?BtZ=yGHWlY7@VuHsvNb2eD28*!gkda-2ysS)eHFdcgfTW6QL#csvFh`H3))KW
zwAK87(-Tp~^Rg+BnlzKFZ$p(085M#N5wZNJCUFF1pmWqz8)Z~3xk(K(H4d#1f>3AK
zbrB7K2@Ope<=jPd!U?OQ;G04isZ$NVOmnGnEk=?lG(BW1Hl?YeR603e1~?gk^RQ$?
zRrc*uQO5Ij;GKo}Z)2eGjp!)UWf(G-zm?^GQKIbwrKxxCoa={n;HY-wn)O49Lt?|X
z=myeV4;;ykl%~@EF%#iJ$HS2J2Ye9m2pAgR`A7LWDFfJ1j<%N~#zR9#3^)l7MSlE}
zfLg%W9EB{GEU2mvTP*L?oq@GAGMp5Q(-gQ)pN7(@(KVI*C=GE?a(IJgyLLE&!WeLW
zPqFS;kTUFOLOIJg^eZeXHE~c5%KNZCGzUIDg^NEQn?e^iTA5U7l>=Ky^+*f;$I*R;
zMVn^B(p_ham&kM?$^_Gdnu;=b1T{?<`gRo8T7-lbhzx7;3^GzmX$_g@iYpB}5VwqB
zS&il)rlJIN5;j$ag_KkNEC21S9zm~vUQq^cvJ9A?1lTpauYnyxQFy9zbAU~aU)L9f
z$MzXvzZ^I*aeYFDE<~ooXdiu<o2qdRhsHr46khATBqW4JdsIyznmJTI69YH;*(sGu
z0nMHLln+V7fO;Oermv<9G-~T|pgCh;r%Izsmn)lVq(O(CCcniOg~otNWwj}PRbFai
z%VG(IE%ORKQ<~HPw50;zVFP%})wj0j^_MEx_o0$t7b;EVwHVfYC>?5$iY)nUGy-{u
zkVxA4wG5IejIzvNg+NXkY6X(j=!>wzmry@(fd~n?BEyUu5N`*XjwV0ne<>@<DAUXt
z?M4b%SccZsG7zqGRi{Vv89C#BGP*X`T1BG~2;YMDxpkou6tyAHYoPCXb~fc)N+i)5
zDzgtIk90^yzJLzAWT19&=+LhPAuOWRB$T-}KiZ$eh|<!%i;>^t26&7D7Ljt~7QiV?
zE{(SC-+&AS>VYyQ&C}Fq{W0ad{wT@;sf@U|mPCc2zD93_h)WQHMOn9h+!7=(#kCpf
zlmT5pi$De%qF`oJ-Dd~_FF`M-25+HGC3ZL<3$VVh$LJaAXRQbgIi<wdw;;IaFfH9%
z5ovclawJ50e`Y-cDS%1Gw0=tfG(t(vNmwG1vY*vt<Oa^6M@LSX>t8z;y#;)M%tfJ}
z*uihg1JYDg6W0;2vYaV@2BJd<Qf^eHVK{LzG<$iv-IS(;21(HUG^*+pk|=aP<W7ah
zQ3jw}QbQ#4NubgT^vov!{Vpd|M1oH!Eq1dhU~oXlAf9MAW(N2PkQ&l;o>t<FRk=-p
zdz7WA3Zy_72bNQD7Q4#}8q%QxnFcyp4zOv-h~oKmS<|P~j7q?Nlw}M#4o=WA8*$V`
zSgj2dA3<C)m7-W>lqsh<K$%-tR_nmwRHvwl0aw<>d^B}Uu$&Lgb;;3HVIFECO<f_Q
z2s(#b(hd~TI%Vy)yI`OU6*4`flBB~dQdE2bL7}Qs2{0d~3}bSG;gf-`KhF&4GC<#^
zx~hZ<vs0SVLn)wt`@6O*0>T0gM?(Qf6b!vlGjzyKxCSMcI58Z7BIHzL=n!B;&Z3!<
zL%E})E>mP90D&?1SHM+F#l8Tp%%}_i%qpnU95@7)04@>J?%mkYk)WS`HbeL8fYJOK
z6=b5=Pk`HueunzUe+1!&AX}33Iu!c4uIUn!!MeyJm1A{(nEWFOSZSt|G)w7s)d&et
zC1o-s`j(zyP=rb?5ml{bC{6*0IV7Q;O3%2TP0_v`0X0IKgz66a+HrtQF`#!%%F#6<
zgF<T!LA1Hfa}d=fJV-eKE(4kncQy)78nr!Y9e7-Z?hi`ef-cPlRzOBW;A1wT1Iois
zNEyK3CTaqIoQnW+1Bl5Vw}t$2mtMFEin_r7iV+HX%6!JjdPaUiHRM2oc|Q-0BwYM9
z#1<$ug_h|k;Uj>P=O6+=pT-3RdD7{L8%ZGAA#fHF%8A*5dSEWV_liGobO$ZBf{+7j
z29X2=0<2I2-cel1QCu;#xMIWv?TU`yL6ZQ+U};}}fZ_$D!TTT!q)f`lyshd3ln162
zay+CNQT)0T!hpLL72AP?fs59BmR$2JMN`*X$iPwwC>LQLdAU8Gkyo6#7W*u+M#Nn|
z1PXb8o*}3{ayX=tT9%ZZ)_e^VrVJSiGLM`^NbksQ;6fW2MI6ar)v*o8IJw<190I%!
zDikVzMu2*dyT2$Q`hcW`9*%|tcnoxnl7I-P6o@P2*GgQ;kw?4u9f*;pP9Hf}hFs2a
znpbdEeMZfeX+!`zg!ogwY?cGcIOGQ0RQzPZP&vj-{?>)Rg{&l7$Ux3xGRQ!t@)l(n
zkn;p6fDSsF>-<OJ42T(I0?OjY&nJ&fnLd4gqTvvmZ#g(CcGUfS$dCeA9Iy)>=FoYP
zh=TOJ=s2d_Pr_XfptD|zfRW8X2m*;myD+D3cMU4sm8PuS95H!^%~B{}w~%xB-#UuI
zD24hoMIUrWkeQ=x%Gfj0$0TzDNSgncUz4y#234jX+S%!pVZZ%wNKq1!EjbBcS}OT}
zqts&2K_AVNXecJo@o0u3;IBDKJik(4HzrbgvwZ>oDr^2FZtNoe-mUE^XU2g#hQmv`
zmRqZ_sWc^^ssK_Lstb{_rnJN{BY^YO%gEN8th8%R7F~0rt6{3D&tL^bZM@(hs1TrR
zkT@LZCQ^L*{nS1KUM;`<d`6C9l0iOy_X!25O3rb%JGUs}rDzj;DXuI<z%*AHWb;qv
zrbrXeylNFTi!>D*eW(!7S?~yiPQVx(@LBxMnVQ`~rm~jKQVl#Vt2W?tb;^B65;>V9
z^2aRf8{}jrEJIKbOA3_nN6jHM&@w=peL_x|*MilPjZJ-<Y1cB(Po~c`Ga-3@-mg_y
z;9u;zykS#fKz=grM*)rA8PKkyt(v&STyIqt2TlgO(%JuOfRh1l1WuL@Tt8yS$!?^n
z>^_$KM5DIPJfBglRNE5AF;1e-H8M=izd(i6kxDn~LmCa8jfhabGn9Y?c&8?yXXdwU
zzE@F%0d-}~$p`^qrOZKy*1*Ys<mR+%i99lA+8#aa`f}$ps_>UjIHampJm$DL@Fg<J
z4EPrcJ!uO3YmHH?kBVocS!yOI-=SuCyC%x(Q6-y|w<@dRWXdeXM3mDYkE~MeDo(bc
zX9#6}hDJaXRZmSB&p%Lz0SBC@DM3bBPscubrf;)8KoKbKeXZ<+1gFJ+&&B;I=Xt(I
znyLd&^)<_EXhZVUl<`gGGfHFxLn-ws^m)|MW6;XrhjRpa$=h#H#(<khrh8M~meTHM
z;CVF&qd=E=@;>96uqjZkvrK_%XilKdV<@8pm68fN;KM#Jdy2`w+j`AvC5X-PJt^C3
zUTc{<C?f+|Olcymu}@8Z885>|;oqN#GR)Aap^HKnUCSbW%T`L?DJfgvWP_YvmtS>k
z>Xhnv=4sc?lTikaEOQdEh)G_x|M96GKHL6C4}{v;XYA&YkC&!i!nd~emnWhO3rb>^
zR*I$4Hmj!bPNs}hkEp%XlYfttu|sMqx?j)8@R1)R95XicP|B!(EF{cl^ZmcseA=DD
z{_{Nh{PlOM+%~rCGnze^Pk)&n02CsP$G3`<eXe((tF+?oeD*o}y#7_`!+u=Zir6S}
zWffrqs;!i(ci{aMgw+q?b(8s48dVbbAgfYHj<g+e4qr9=a)j-WalF?A&Dx^OqNooG
zJbc|<WgG{x+T7NE_m{i+x?J4Z){!=V-%5G;c!4(-c-ZyYI@ShMcOGx&jxl#-Ufb|_
z<>o5BukigXJuY=#t?+(@z8k+c%CJPUNOHlb;^Ish-xwK8GK$~0QqAR=GQKe~a;cQ%
z{G*b_o+;xS_ZTaOz^~Ea?^&99HIxx|d#@|}vsc+V>HVXB`v2o~0YB~@K*lsll4<hc
z!2e}!o4=O_-JWfHz<TF&1{?f-Kk)x%zq?nrBixDfGJmi;fQ(Kuf8n9P-E4k)Uya2T
zxG(U(9G!dFVRnE`b>=U<)0=NQ3EFnGhF3Uh{d@5m`tRZpGG;Hm1WCISbbFm%GDcy;
z>vqQ7v1<i?aNZpU<8I=4(4jZG9U$@-kBr`Hr;KUSYqy)hWv6-7_F7&$Xt!I=Z+HAF
zxbhnfzwKSN{6^4f`De=b+F{m-$8pn70-%JX(;IijamS6j(@v)c1k>quFa&Y1ZRYHC
zBICtVMok{yhtl`zDdRf|2Pxx#A;`+H@-g-v<3kC5Z6tFr$yL5<7?v)m<9klG+&~`z
z(fwuG15zCCEn9qSxhfCUhbZHg!;S5er8v30-HlsRt^@ZycbiT^7JCz`yr;w)o<M4+
zDjQDPicJ?gTW&`VLUi+PvF&lh?Sy9wmK_DVRmOX3)6E~traHlK665SZLiJZRi)H0a
z4>^o~D|X~M_x##(Ozp&_n64`K6o@+QWJ7DI|I^}RSe6j=*3IMd^y^AfMXL?Mir)#m
z1GP6jkdOx=XyE;CXB>DPuiNT+`vITts(?<n8~6Z_yXyMgAZYz9@OOL(HQSj(;w1pY
z)EhhRuMUbg4uYULZck5zrOu}1w|yv75cutXw(oycX{zZpn@zvfXdQ?+JJ2dT&-X!N
zXnB8b{;lOf7(a+IT&EYb{i~queE;gQ+XGeOYIZ7RO#SX9C@ELLwB0V+W8b@idJHbR
z52B1&6H68}Jg*tI8s5IBi{2yI)OcKVc+*3(P=_cZnNDZD)@=IES)9F_Cdq+`l%1`A
zaW<RzonnkGaN}eQyZGP5sSp*@Wnb&yH|x#*IU7%><9Jtd`jYH#Hc&F(FXH6)In>jO
z&@*Po$jHZ!Anj|7^CyJpv9O#}uxHc2rzhxTiz9{yA3xAEeX63(pK8$Su$~de$<FOP
zY&XI@UhR$>--!CVW8Bgb?vM8`%x1iQ{brSP4b0|#bqcRk&o^F4#_!_YFy9-J9nr_h
zfpR6A!0gQO7(HXJ3&X`WA=WMt?}@qT;`p9_v6W)6k?3M$zl^qyvDnfsiVbKM8>UuP
zU@rfQt%${qJiYptJGn~XZo^P4y(w?sy6?Z(r257EFMN4*!y(1WA52kM7{*(FB{OBY
zv^ZRCH*s$c)|F*ZIhMgsNOG>x#^ZUQ@KHf<#wUW4i6f~JN=h~1!iW)^3g;x1TvEkV
z;W$yHVx~X~I!t6_q^Ti-OI$HO;#ARG4fFF5`lA9DP~SQt!iAa=Y8l~Nx?Ir8%vvsl
z5|T&MIyM|Qro<-_Mr6WeILfJi1T2jNL>mg4Q>R}VG8V6Fa>?de<O-@)=8P$YCOFY{
zh!!b&?Bg;;D|s@dEE8&E6jfp(#3WY?aLA<6L&Zme3(EmHDsyMb_-diHXnH8rhEMYs
z2>)SZ6t5?^#c|Qx3x$7vcs}D`cwcSF`#RL8^{wi>K8%k@=;-h-l<kv$8`oBK9@S()
z?MrI&!3~(W!>NP!)oBgU`;9GLzfoPU114G*ZCSqU($}!ux_RS&>-`OgH(70h_I~X*
z>$%v}p@G5^!<Q4Z-tsFChkQw%vClABZcSlOfVa6}g|i^9n{r}Go0Yj8nG7BP@u${U
zJO@1htvRBZeKa1M6}jPm?)Rtdd~iI-8V!)3J0lG_>m1Yx5uqV&1g11r5Ku#i;v}!M
z60{-ia<tQp$Fy!9CbQO*29rU{l9f$wwBC{%r}2=%3r<apt-LS61!M%7I>Pj_)KDE2
zGO*~z=GJ00q2VHvL-&NXDl@)SLufTz4KPbnLd~N6uv~@qIAoxIg;uUeL@DJ|j%aD%
zI1&>EV*5a_5!ye_Bj^w*n~0I5Tscc5HBsr(z9u00L>aS3Qbu`Tkgd2G4-!!}oK)FZ
zw3Nvd5xK~v7;3bT%h<@WQaA;&(~rV9K`XZk1|U}yjZGmk%21+Y91$p+q-cFmpwy)q
zn@omErXwym2gL?|z4cD2w?H%l!AwBXOhT!lv59(YN<|aGB_B}27^Ias6A1&d9Fb6Y
z5ZA72NKkGR8nO&2BuAnN3gz4!r}Sy4cF?4lKvVa^3<VkhNB1|NdVvHVnN+X|8at67
zU1|ZS%b`lBpr!kW<}L+|a`s2f6rdGA<H&PpTt$w}CohYCs@0hyhimPG%4~s67;UuJ
z6k9$NDu-J|^){ikKnj#$MJA!5YMX&VDuH&NZO&1OMP%@jX=>3{JA+EoeTEuFA@Di0
z<4MJ)l%N@xgo%h?*&tiNe?^B2(5RFev55kml2I#0jKkYjPSDsjBbwo>AVwoHs!>}j
zIY7ZFAB9+d=F(+c34zrHs;TDeH&WNoM2lYm2L@X=O9A)HKt4|3DyzdEv6UuEvs8dA
zuhqxwqX8AxD6NI&Bc-H9nVxE<Xhd`_&^L|-lxS_FVFV=mPfC8AK=Eh4qxw9A<|{`L
zMc+_zSh#G!2!WOo3QaYIR>whg(6|_H0*wfo<*&+r@)F+4fdHUgDgzBUEGs^ZrvB0@
z8?Ft9^IXXR&k#DrsFKQrDO4V)<|buBt^sH|lphV80F@XVwMBP6IWQqp8>v^6!a<`^
zdO0y%OGEl1HHOI)-(o~U;m`rlWD-?AfDF)^b#o;8EC&XOk+JOXK2&lh^d$WR*9<K>
z=K^4V$bZwB%C#gk*D2b<M<of!Iwzyzk$MKL9H2Y?^91NHQj=R&OUg}Ke${}r5e#ys
zLpJPFXfs&9A&K;e4X7s2Yye&}q9e*dX8=@SV+S&K=$tLG&I~x(Ij<X0a(_1U=_dg#
zrFP4{<Zg8wyNp^L@9Dtpw)P>=AhKFpE46ojZ4;uI;2T)Dgc2&NxI_|}q?t%ljZO!o
z1Ev8D7Iaf(Qd1y1R6zXDVnizRNYx6`;^AXcXj9e>2ErK@4n!1{Dk}F&Q)P~wl|VDY
zT77~BHXK2_0q!JmGunuZX&^(bC{r0I+1NxySQ#faP&~~odh@Y6=MYx;msAcZu`+sp
zlzdkTV1!K4-;SKmFcX<`3tbX)928W25^6_M=Y|uJPfp%4>i_@<Qb|NXRMKlHwEcer
zGK$zA*n3cPF7Jpi6ezC-w0O+4D|GF^1PZN25zw?$`xZ3*`<{eKy9;~P-V?dlsPFx=
zYgQ^{$V3&7n&~SEvr#0>ku!bPg6x8S9SQbe5|=*XU=8prK{&K7K2+#7Z6s2{jNv&5
zLvVLQ(YUQDA3bVo6^e@}&DrYY4|~+ST6vN-@Sxc>yA0){X8KC|N6uAYkA%hE8#2c7
zJ2yw@nr0nLzHEEND^>c6$17UTIR}1ZI5-?KO{O2JkgU%zEZ5GhwhtR?=RRzIh2<){
zalBq{ceCtnx?FU3lgx6Pe%QEJZXcG9>c`_%M%%0QKCE7>f%>oo)9P`x1BkX3)NL<M
zTqm)D_QS2nYe-=m->QeL-4f>QTO0Q_*CHN5#&muT=VfFM5Bck};PM^LXH>neM70sb
z8BjCKYePowJEM#|1Wj2?R2Uh5M$eS-jVZ%&AuVH4O8wf{)#7{WGq&XUGi98^gQ@x$
zJ>x}gdo71-Y5~&?h2ie@;pJEt`EXdzC|;;gzBpvU;^3|7_Lrh~J$lBAWmD>p-Q<4H
zcQ`x5Ty%eV?!ZqDa-vvX(h1kxFr}oBquk-Vn^0D8!wpqDMMLmX2+mZ0n#;o3q0|#D
zM@A~i<VbVQ6;6g~#nl8-0f~!>$&1lPUQGvXLq#K~eL2jTnq-VSZbU%_QS|G`gbZ%h
zm5mdwLn}m-_Tep#v+)dG5qSu&Yeh66q>xcgA`%(F+{n5YqmPuYg)%J8653o$27+>_
zQ=Q95aCF~mRK%jmkV{2>I44Ro!#R)x#o1q;3n^46Q=I~SfE);$3>k%Z93A{|Vu(ql
zJyXVstp-2lFUrcH;nFH(eXQ(4-dqTt1LE+^sgbIV%Sc7JZA`M-S+iUv@FMz*-uE|9
z_-exu%gBx~M)9?O_3mHq-`}^U>}J7PbyY7JTOF%4XZ1e8_m@e3R5z-3t7KnB8ILqq
zvBOx!bDdQC(k&JnrYsgWx7HRVibb_fta@=#uMVpt)Nd}Tm+Ggh>s6}Xwt)4?{5u#9
zL4y!CpB~I+%RZoVNrk7x_2$mKhC##cVW4o<_S-&$Uf1`60RDgTeb<3wGw?d?AP8E4
z-)$$~L7(voC}Y-t@;$#1G~2DKc7W$_Rdl+4_Pu7S-D$TxuNk!4!FMoF_zEZk4MNO)
ze;&uvWEP{TiP_jqi+GkK$!wNP<MFIFAJ5K|@q7hYxK|&}dd6#_j02_^k~of&qqajf
z9g-6^P!PtIegG#cwc@ByN3JYwER$I299xjYrvW%V7Vf=&58pr5T*ap0x&85KBXqm}
zTgD&`rMJLODi`Z*%f7|NVX=8p-`Fq|G5y_brLZ<2aT|bQ8@4+|!_PbS7OmKNd3V(L
zV>|FCG>cd3Z&i&PG>iA;pjo^QVt>9Tp@U}eiYGIRx710ig&cb;;gKD9voed<4cbp(
z7SH!<vv{3<N14U@Yh@O%(e?k{30j@N>)vlPX*Wb@7Vj5t>cxfUyI*Rvc#Vgf#q-+!
z-~7&BpUo^@^XbguU4c^Y1ZMGyCoqfW&uX)H{^QKz`DhjowVp#}@g6POuFT@ScaNit
z+AQ9`r@dJ`A3wq@-oIy`{oo1A;{B^Ki}$WFi`Scfj;GUi@xv%%WfpIoOy@~F{i>94
zw3_^UX7P$Agy^xboCH#F`0J3J;Y%?uig|s&|CgOVc$g$^zCWG%2kF@_^?$x6y;*$Q
z)I<I95}H-66?k6?yYa(kMGesk>f7L8N?$gMwJc|G4=7*kU0AkD_GP1d^((syH9zQc
z>CS?Gi<>1H)9HumhjH*CsZQ?xmJdHn_ocIri+9$yccu5?HdM=8syCMFN9wpA>g~fS
z*=l9U66Om0JK!uKUKeY5fe-EhXu0lVSIMSJh^8CmsUW%i!?54Y&$zd&p8a82g*(Es
z1`nsPj8vmzx(4z7^ge8E%OvU|uZmt*#R><1YlN(@HeKOuR}CgN=uK`RW+N=~-CsG=
zJB7SA=6J84zNGhkg@3+u=WzRwaSq=uoRM)x#yNd`Wl$YKv-ZK=CAfQnI~?5IA-EIV
z-45>VE`i|g4ncyuTd)u;_`#9`T=L3y@B3BVJ6qe+-P1E$yH)dJXP$Zbf0Gad%93MG
z=Oiosow?pm9J^taQ3AH?9(NtHy>1w{%<c6DCONRZe8+f?jThb*KlutlFNHC2Hq-^4
zg1yrFcUwzN!`}&JcC|5K57uHsmCKPHwze*Z1NXlzcAPzw8U5OwAoijh?7$fgjC&_s
zx}R8X#CyS=N|DuNw2C2Mo@W=y)%~^R>|NdJ%{~t>M-0+<)|y(d$_!CneXw%8r*kn{
z{i7l+?L_prU3B6zqX78^>e*%}y2(*(J%7J*yRSW0(3-ac4!vJ{a+!<St2q?d*4}iQ
z&N+94sq;gdwWF^!*>Y_A=~6A^<a;pSb6&7&=Q*l#fZsJsjG)tKr;>|S4}(xo+D<yt
z*RF3)e$jq}NuChS`-&m`%^T?G*Y|F??w}nq@DN&e+3uUacH5u?YTt{%P$D=kJ?{$a
z7P`|H8}c|vC~VnnEnQX!!SA_HfuamtL=g}cU{QoVg4qLDg?KJpA2hDs=o=ysfP--0
z#5Qw%SZq85M6H6r1-z^R@iR3CPp_S6dnw)mxn1kPVEF7Q0|VUXT%~H8O;$Oz4t^lh
zRceUsZ~kl;ebzFN8-mLIXVQ0WQE?FA0*R$3`v@dcY`3kSBkv+x;}VaMN}(PorY-hj
zm?)1eDf+{kuOlbM4b&(ApKMOW_6Q=>aqEjHKF#09#kuiOAN=2vWM=Fw=07FNzg&+6
zL$3&->fa}(@viXR(klVvq?9G=#7#m}6<}a-0f>l*fZ1lokIfqC0Z^d7+TWOe7nC=}
z+{w}1($Ss8+rj?aP&f5}Cna#lxS08puZvd?+e!YgvY?{U+#sQ^tsBUW)lH0?1gk}&
zQL3o!@#yrc{_3{xy!v$w8b~7#gbKm^^7i+uB?XYAx|N{fOa{C{GLOQAyu%8dI%h@*
zMfO26@N@HqL#{vHeG=K(L8t!&@_A(ic`7X~>~-#)R>Qf66kiBH{pJ^~C4Dt`2w?Bv
z^Fs_deDa2X!Cb!BGIhM<J0Q}7CR0FR=(Vna-vwbrzK;Gbp9_$jm;x{)gCZP|+2S3D
zh~LTlc;YUAuCS^VP`$ehc_b$n@n0n0g$AKAk75Ls3@N=Y>00h;I`Kv6FY04Uh)JD@
z=w|TetYQyKjEX<o=)2HW7#>eQ%Ih9zhqxhpC<2ikA6>k`c>l~Uw$4fvOQ|@odgvc?
zowT7~0&%arIbNcWhd{!CvZpdh6`T5~MVg?xv%2mfw9iCHUZpPJ2P+E?Ki~WFV$cay
z7)u641D9X>V)=qmA@F_BcfF;yLx?&m(4Y&y1))Gba@ft>fL<!vNIn|fKH&LAY58!X
zc}PA&ID%&w=3x{PWvs%wg|5_|W%%7+$VSQQu&6Vf&UZ@Wu_vq`JT{1wM{vhiBF8E4
z%4{{m<0JpJz}lR~I^WvKI`^3bDyS7_B><Y{w`-izsOgs$*t7faGb+4nx}_`0l0dh4
z+4j2(F{J#PwNQmsl!ayp|Anm~ze-tMtX7;|mh2v-X7^-B<)z4s-Q>NC5nC%5VRt#h
z^`npelsBf<&Bh8+G1&G1`PW=`5LCq`!KzYwt6>Zw{v_jF1o(aavUsSG0|-#e&A~aX
zh_WFqWY94b-j9O3CE#ng#bJpb_309am_pA3a{W6v+CI1#$(@g@$nnqRD+yLxATa9X
zo4Y}tp<kUPY9G`n`4;r%N>Bn91GJWUfayBxyH7izU(Q~WG<cc#i0wUsH&Kt~#9$<S
zUH6FQ+}f%>)QZa3<=O~I9DwW<6)9%3#9v1+cBv8vWp;Io<*O)eLc<%dp&hQ~J+{Pu
zd!Dwwv6n<<z4t&Ix^qP=IYJCHZ5*ren~6FbzX{N8Db~qpwI0H=!#wIlNqS$mG2Drv
z&GtC&idvmjr<9*n`kR$GS@LJ?xpK~|EPbG#u613$#DezTPg?K%8%mJ+-K>NNlT?0O
zEUqzxqz0NMePAJSFL#BA9pV*R>L<y&yDIdpMN(UCfeB*QAsIvD8w~f{ag%Ck;%B%k
zJ!ZFnWv=)x`|A6aYXlD$)`&#ugcee!qyl+EE&sw{2OEiGOc@ijOlBtymBfG%a~`RD
zNu+Mb!4doRP1F&tBngO-7G$YBZb750i7a22rSUn=!cksq+)_9sLZIc`P<*b0ix81Z
z!9?=Au=s*zd~#`LL2xbBs0RiACxZFKJp9J-CHdh-A<$?3pQ+djgSdK&@9=!*$SyRK
zEY)7TT;+AYMkkKx$FgZFLO2K>>*7(%FFUUK-SK8~L^PL?wk$zXXwzuWB;LirQ^)Fj
zVb_ro<~$aMNs)ODJ`33N%r1Y$S5<`pX)6H{QYE}jEl$!l)3VzwYixBHd1ODqfS4(b
zf{+v=-BC7Uy9Vcb?}SgmRK;+(NYpm+zt$+^*Ft3pqPfBv9_}8K<wsJ^@EO#s5j$-t
zX(*6!!?xN0AZ%A&60Dncd`XGo>#+Gm2Swrpe>_ZrQzOPzGfW=4F1p=Uw+|79eiU5T
z^2Bub5^dOxG#f-BDEnEu4K?8!7GK$uWH2HO^vb8NVJiQKy73_wy>dKUtuU<cunaox
zLX8?jV+efhdeCIHgZk;r*<#o=_H8Rg4M>Y&q)<yR0s_jA^<+rH`Hs64dX9;zcv?Xb
zyEyh|YL+@=gCiSiOh{URFWZgFD+c*-{f#KJEvI6^o<N4+)aWB0VzM+~j`BFSvLH*E
z><G?13ob8}G1|se5vEKT6&&p^LxvyUZ-(notVbiU>2Q$c*96tZa!Us7LYG;X{Dwg%
z17vi$Ae;=-wd4>HaH}f88~wmV14Vv5j5KT4vk$d3<cZiR0KwA_^{Mg!b)DYeW_#7P
zkd{f0LIL9)aKM^oD@w;^C43T^!)UrR-PjG07IX!h8zjCmBI^oQm4EibqX3VB4&9~h
zVq_iLXVpPQ?FYUAkqcM;m1Q(i2t{?N50Wbih%Au{8?HD_Rqp2)lI104G__Pt8ukPu
zj;r|kABB%#*YM-=A8&l%6>P=w{Kd%O#~A#->6)h?dtUaoeU-je*%?De%qqIb#Cq}5
zk^YOJl$k3wJ`l7I9N5)QL4bL`h+kMN^e`6|1No>OsZd@VyUOqe#w%xJs81FHcSxAM
zpig5jyD1>}V3UVJ75MFi`~HQH$}b6g3I2jwHeWOLN3if{>jf=kY*;NL;auwdsMT$n
zuza%g<K<a-7MIGZ{Pij(hH#!WpDO&^=9hUmv<{PpvB;}LOI!BB-sAf4F|}5wV`v7_
zD5Zk?d;QF8`)A51eUVq7Y^^4H*2t~iff#&j)61P*G2kC)VJMfFv;0h+l5i#6B{Szy
zHI68)pn1DvSZ=_)AA)AZJi&Wfyi&Z(l;~lHeRsr6g&$Vs-JjhN{ZaVfEFT5<iG^jp
zv||0C4P6$F^9zXIe#*%yKGKIDL}3Mp6=daK(ZSqV^{mHP>O+MCV>5L~1@=a=L29v}
zI>-Qr@f<}S|LHCg<Cj=YoVCEyjItH}8OE()&2VMDg2r+q+EJhU$R>EfJ#Q=ea^qW(
zJ;bFlRj$cStE#3kC4oIXI)B#&0~{K(8*yHPNpGg}sS9S_h|PNkGhUY?n`7DwphBLc
zWAi1J(dsivO^}eJb~G7Le6r(5(0jZ|cFcJF+AAT?q1wTWJEUkZf58E4C(elqy7^32
zUYVSp6W27@x`WO+r=nuJ#ug|u)aC@`jJiu0`Dx^~*WK8cBm6P+)@7J6O^g?xcXn;u
zCZ9j#4V~t&f#znEERq8BjiKhuu_IP|9y}hAvjP8B=Rf2!%8Z;wf*oH2O;@rBWv`{S
z9S$gACS|_5x1r#P0F35DN@*T3rNkD*I?FieKHHNZMi2-F(4(>sCIR?e^hBsSbWlCc
zpxc8e6G}!^4X8h9H1r=+#V7v4GmJC*CBdU3OQIpSOsmX~iuJ%jHlRw-V?%WFgY5%!
zFw=zd$3aY=TQ;kRxk*e!kOKFJOAqw&5T-P%1dHM)cwLBX{ot`>RCyU2ta7gHS_5O^
z2N@4^F@o|Wb?M>g=l~k4jybi4lQBtu*=xz-l8>t7QolOBL$5K%aGV6`WnH5n4zH_y
z{An`iqDzPa=V3X7IWm+SC}WyRjabS(6mBK@eHR_!U7R^Hy#emJCrDt4{?5z&As!{!
zW$g%22jyEXmtT?#Yl+;K19}3IgX1YIrnZJVcyB+j1vM6~N|>~xD)?sGW^hgoTTnn^
zUdE9Bi+uGSZ6GviB_{bIoujjux$TKMT(i1OMq6x_KN(L0n5!8L1DK!tc1|o|Hyx&E
zmndX#%4xy={1nFa7bvJilTL*w4-kW9<3ls{Winj6%|LaeSy|nY$r2F?;Vpxyu0l3b
zX={e7fh80K;49I?HOh^y@FMq+1z8p!k_mFz)<Hw9+FcV47IXgjX;`Hk?nzBfZHaxe
zSp>~_C7f}}jTjQfD$yd!+S0fZ;o|>Ax)yC2wgF8vpDudq0>o&m<nX8(j;i9e&qcrD
zHpoURR+WW==V>(iQ&MJ6z0J?;IGnv`#aKMiswftVw1*}brOR2|Mp7{dTWqO$zVUYg
zRmLb)PK?i}CRZFx{3vbCT{t3+#v)U~E4@b-rk)Jc(!o2uCS*^_me8J=FNxx3>Oy1|
zT?QE8bXR$A6i;29Ct?C)upLIoN=x3gCE1=yj1K3>wRNoJ?}^IOoX!v<gtJ9OJE6Wi
zc$O@w32d>8f8Etwt{L;<r(q!ZkvwQ5DyE5xR0X*f-NW4}4i902sv6TGxfGya7%TV2
z?yY5;FPFDupssR5ROK6~uP6rinA%q1ZJN2{O9TxvGJ#f@a1n=C{K5wrS61k7WkdPj
zR5B{>Id=4S2*Z_Fy(#yMV3~7PTh--jDUZ=6_&n&Cr57qzhAKTQDfv?pXk4SO(>tYz
zrE<xqNVX^{f0j2FtwT01R6@qf5v_?Z1;@ux+vD*f_$O}|wZ~<xRdZZ@uWe{D#5I)F
zMzD*|K_0@4<qYJ>)=UdISusE7N*q<O@cjSK5zk+3$<j5n%zp?W5}q@D;iofPig6NC
z>?-AMi``t@*hJQPJYSIzVWR`Lv8#CzC?#g%n>l&0ypzqimSZ{`z)(*i+qk?3Sjm5p
zB^uomv>>$ob4R_^^=K9(pku0<_Z@9d^#MId9z@Ov^K^Ab(+<G&Q=6DCU^zEar?KD!
zru*hF2NW=m`u}J<wx*=Nd$cZo1)x4K@*lht+7x!Q_8Sr{5pn7ej9)UyG)!_&Pn~!`
zgf&_ys>GWiXkGfOHvS>U>gbI~o8$z&rB69bP3lG&@vPct5<{v<lytHvW&`{unSSY9
z2~<ytI9Ned6&ci^6I8cB{Mn(XuK3Tw8oyd4^h|bz0Txla<4x|5Ey8iG#}5&&9<8jZ
z=?Al#UsXqfj7zdsZs%~}NL*R+t6lP0VAs_4e|%MFdZ8q#-~qmo=)}Ii_o?Dy-=j<1
zP^&t$`zljglG{Ti@9MJeQGYeB_Hu|sZUgeKz;P6}oAiiF4Dbj4h`JVQ>07$9{2gBu
z;LmqRfT?M|Q=Lt>9;(xknD~W+9v>T4QH$bcU#-}pDN&_7Pj%2Pgbufm{*qK)V1h@8
zC@rj3ZsCJ$-;8918C5cg>;1?N+}%=i=ZPH3V8?y)RE?liJ;fLbMfFwg7A86#xgJox
zhT<Y4hAT-I&+rl#?-O?{lC$qAS)TTYds1Xow63zdX~eiqj;2dzM(HWGj(=E*O5_)M
z1fM@<VE4n4(+u+tm7yfOvw;<4D=YKc+c7*Vr^6AVkk6BO%FdR2$u^tqD%VOCpFP^^
zVv}7Ee^VVvqrnikjwG<091)z<ul0gvJ6gTB!bj6MhLY(tQr~%ppmQcD+C(BLkOxOb
zkl8EMG&m9z^2`q{wJQ^_bn>7&_x%>ovi364QGD3fN8-ZDDbk)3`fLOOM8zSP?0)zx
zV^XhLf7V>0U_wCYV>+P@R+K3E#(yZ+r=@glL6WsfQ4k@{pxJ&$4fP8y+r<TB6iVTS
z%D$N7a`l5iD$ga+=t~q_!U0|dS$Py^-EwkthmM``w{g>{Up&vrFrNaxVelEPw3iKJ
zq0lx5yyS#YG3L$O&50gyZZ6l$Gr3IFc&Ss~mSE^H-Nie}rSsLUFlG-mPd%c;5TZK9
z*b3ZA>K;k*o$pPZv6;=o@FOCFG`&j_i5iB2B*=dx4O{!sBQ#ZrD!;_fi22AbQ0J$1
z_0p<W9K^;jwv$}=2(Z@M4ykZbIHlEUO^u2jacF@k<kNgQCtc=z2(_XwInvy17WVjH
z1-g6W$!;`t${XHVbeqx(37|jQ${Qwx&InfnokL5DJ!9Sr{3){y{9zAbZv&!p{3)8t
zrZ{fglh4Z1gB41t4O=JkaQS>fCzohZt*hN%!NjFWRhLpLxK1V&u9;x*UUE+c1Bpj0
z_rx^^^`MM!@WG6;*YJGUOEAZ3qx(Y*y<&^aY6<1y9{-N<0{6PAoUeU_100NNSzR)C
zO?5M7LXsD1{)0o6Log*salT1%jynGmGediHRy_&@<lt^X=`WTmgMA?-fKW=u88aJB
zLX=BXXB7QKyIW>)vIh1#UeS`#<FVkJTaBNWFPr)Mcvu%wQ9{mvWZRED>WhyE_s%E3
zy;U!u`&k$RoQ2MKX$osy6?K*2FgEmk!p|lvB37Vx`kpKZze*^A<{WiX$O=%+1XV-L
zMNSx$wjS=`Jonz0$PAsUY7IJWx9XtKkK@bqQ+3ojE5?Z^2<3)mWfRj_9BPu&WW!}Z
z$ySVXvTUbo8J7y}ACd;UQ7h}h!|b#&n_uM<zQ`a4@hwEkCXC5P6%Mg9uqU`Hd3UZu
zQ@qFwO5g26PjefARzN0F+yk#+xvG73@bk=lIS5}_1A7o!>*8VBv#gzxeS1$%--~#7
z5V07roM#q81=w8-XO`67IuFhGKb|2A2uOOkZ_fG=U|D{AS%7Di@WKl_60m=a@`*-$
zYT$#u%6F)TP{hC;J&0a4v32)8>0g=6foWF}O%coEciiki(>g{!at=AkF`j@BFU;pY
zQ#g+8{ZBUOSef?Rq|!yqH9}pe2;y_Q^`&Tap2Xf4i!;PU4w<SQWcKbJoQ{_V)3Bq#
z*7Mrfe-44DV2sdA+TqnkzmKwwaT!<#i>$99gm@=3H8$oW$yJ!P=T|mhuZq?ggt5M_
z{XH%+Yl={ynaL>*={7;Hoo@?p2?<;liqd-B!ZWjl5?bFP+b0hCjThdze(pC9U`&8z
z_mDf%v!s-wd1b81wpP*9+NjG;dz2laN4{>qVv^eO<2atfUD!IphG#TGoXI~uK%2$>
z!E((ixKD$}mX4TQotd^F8i`RCuO0jKBJ|NCnf9?4L<(u36@XM-9(~0a|HyOx5$&>y
zFmQ4y=wk)EBo#M>)iPk72JghO0#T0fr)(Q^LRarAvWJ2j0z8R7l-sI^iYA@yb)aZC
zK(8@T!AEj}D_Gl04o^`cVeXF#2(kn1>zJeS#lidO*K=+msINP)dt?VqFy@HzoQn$$
zW%lbb2szuMj`xv_BK9^?<zVtSb0|HLqJBM5>`Y=dB-APMf!mvr0WF*G#eFL~0ZmO(
zkRv=XwtXR@ozh$oaGczHJ7kLvMAhtQ@IOm@^{{Qwq_VWJCz3FJsG;>lW|?Wj-`}aR
zoVkfBz`wdDE#99!-vL0Oez174lp?|kC8fs%`2%Jk)9~nYOXLIHP>#T%TGoqXk^8pH
zhN9L4_79HNZ0sNA2)Hqz`dhOzCJ(PZjh*U>i+TZ7L>N7&zD<W!bSKV*erqVp?>X~r
zwa{^!KDYhx1d9&7s!ycIqKsTaK0dd{<}tJkcXh@dkap^9<Pp=pChwn}SCnn>KtsU*
z>4w8BiWiuk(?N%X1PE6clM^SeZ`9yN<5p4K1tFNv0;34AggwwcCVboXl)Cyr%F40&
z9X)~{b-~~v6YeUIFv2)OK_<|u*$yVKA<x)~Q!3+2HWkBX3Wd*I35*`!Sm;qXQk$!%
z0^Ts0?r|G$Q#?414!_~{OdsCe9VKrS^zkjR#W^xCNEFoZ__CT#3<(;_fSDx3EjGiC
z<oh)6mMHm;6EagDX?V=5QVZ8>CeE`zv4?smNdp-TnbuK$0+yW$it%}Pz3sLH%7IYJ
z>*KaNX{Hzn1Nrw!gw^p|BxTnc(qi=qxTk4DA75|dd7(HS%dS0B!|sC3Jq@~h5Hd=;
z3B^1<D$RCCFuy(<jS;22izo8fb9WQ7|0_oDwCuTKsg=D4u-%cZ*)`5vuCKSs$-N|d
zj-At1z~GI6Dwcb=fR8#EB(~3CLQFqu$xt~xAWP>;L*#=&12g$RlSLVxfMY{moNO){
zC6H|mSD6(S)w!C1;30(fT~R|FH161RF&8$rDOp(?T4o>r=sMXO;Fj;mhc<o3C;^#s
zn9$69;o9AOZzf?Oo4#-lF1pJWtLbfyiJakM-Q#+`2*lB^3Ow#8o34^g=c!h;Zbp{m
zsTQ?uMh>%)s1T!bsHpnNZ4*ko0N-AU_9DHpJ1U*gE1D>cWYbZ7lP$;(@_XI8x#SIH
zH5M^W?BDi(7Q9_wN_tUA2ZNMTfkbJmGH0XPchlv6x;MM4C#$<fUXC>C;cHf~)@Z3-
zf8TUDg}p);rIue9#8A8Xo;>gFE)?{7{0^rw<&y(@JG=e>MM--4A-)ftIw>QZWhpO-
z#=@Z9ew*M6a+{NkPDBKdNXht1XBvU0-)+`x3nMXKrybQbkkt+OefHu4)wS$p0_z`9
z_#Ff)mimh~MLG2s4CyP+t~804dm3adEaj#sAxcikZdAUhk`x{*7jsXy`)$pfO=CV(
zz#xJh8?uT`zgY%cnAUHu98))CYLZNg`H);7o8&sQH`2;E{{%`2fUOMn)1kG2(&`xT
zQ9&vnr<&l`H<lumqq)`!=4*61FYY%Xn07|0&SIeZ>A=y&t}93vYSK|lQHFim&@uZy
zv>UeAq`<wWv)Cl}C~tk=#|m2LqYq#P+jG}&K`ZFBpj%D;du}_@WE4^3o~4upUmisz
z*v_90BTT-wIurym!k!}_$T$~flyw;#)s7HRT~GD=OKgb{dzlWWS)^NqjEitGBMLAn
z=>efY_wS|_0YH&J&ZJ1Fmx4o={7LBS38o5`06Q|P!SE)@1r0ZBxTl4hRdn50#$G4u
z4UY#R!i{@QQftCLE_+*1KeeIb=PU!!ECiqV2tP+sfI&acyTASpu718Xi-p5Gt#RkC
zShJ!-u3DruOk@sW)c4CiK=(C3L;p=Fn6{!_qj;}Xg>7*h0O-oEMZc?Ma9S{njh!?|
zeFN5uwwyu9dI<qe>JTWl?*OIUWI^t$Fi97_fVab6L0&>_7-Qca*ieN!!Vq=7jbzVd
zS$_`YL<5BsakSkUZkk~S+Q=gcPj`9=tlZB9Q8IRV>lRj)q0O4;IRzT(R%lrVty1vi
zrpYFmtOwQlhm*=@zzyu>N47n@BwHc?hqX32g62>4wqWbV(qA4&FN5tm4o&e$!e?W*
zz(Frg19cM5D~uG7ap}oB^eBjBj{h-%=>{Y9ZxF~9mi(RHnFToXY2|6cb2ePM80?A{
zBN8A!3PsmxmvMXixvvDwJ+ut7TKHw3JW#1RMcRSf7)$>+s>P4oU2L5Ii5iDk%i;S{
zQ-85kWsA4Ji@1Yvq#R+MLWCUAlr3-~qee142JM2OA;S^3iKB;?U8l-iwl=$<h0Vmy
z7u2-gCCXvs7&po7wyO3AvL7%UoiioU^=sYYg_f8Tg#g$g-7C~3L0m1^gs(tOoHT%h
z&EHQ9d-2Q1RK`o1<SdAJRECJf`GNhk@SgqD(weK8*zrrYCh$cuL4sepbfv~A{9}Hb
zt8Ax8o72NLF3z;Ec(taJ_r!RaC?)$GY9LJmy7-vMQZ<)sE+&>#>5)Tw%^t}l4mI>-
z18O72MMn}!wQc5%_s7()-k9D4?ZLs@2j3O-PS?e!EcEP*q?&K)2R`BO+seu?Ox_G&
zRfUI5Z!tN@dUsGJat0AdVdkd5__H}9{GLEN9lko7bCXa?B$`;hV+u*lpH9o2SObx_
z3Q(axA3nMY1`hy$v(Plsg2-@s(QUcRJHtonZU>Re)4v@r+{^iC^<0|yVhSgEp>kfW
znA@>llq7tg&Nqp?I9HrD%E*_3GI2b6@@P$VoPUUvG#>ObQ~!SM-zm%f*sf&UDU-*T
zHq^V2T)${Aq<1WY^)R*pPWSt8;R=d(!7WN(MO!t*1}{4<vmiMA9uQmf6iYG<#nZ)P
zC;yJtrooO@p^suRJ2(Sz_|D;NT>cf;%&m+gOWa`w^Jwa)ES`)uI{i0SSn1=ik%&RZ
zK=X}2#g->2E*~Jlt^wt0@XLw^<5P4BE~|iPS-_~2+^8B;B3ooi6OU;|mm}ygdHev^
zl|S4-nKDzT-ZS?Wf73YH+&SI-ISF|_Wen0<4#$x_u#`-ayv~dsPolOD`K*Ci>LqTW
z0N<-H1Fdjq<Q9l%-L2ejcyy0?ntBFdD%HLmup|%Hcu*htY)8~x+D9+7ZP}+ur>I(w
z+)~+na?J2?w_cq3i^vf7_YTl?s3(WdNzAG9Q@K3LVjxhlOd)bdAcFiFyloOZ^$hT4
zHPth29(sJv9|506-<a(a5p{Q{@aVYjE&`#rtger~pB5Z5(kMvAt}dV7ZSUHhW~o+f
zM-;9b@O@!>r%X8!t|9BTmu9u&IzXyksEI>RfT4ZNDw1?K9Y8jZR1d1fP;K+WR<3lx
zPWYXLn99n&cY-A)%|MTuy<$G8e_G?*Wf#TvX)qC~{iOIk+6AROm~=z+MYcYivXO|q
zhPa<x-AEwqJpR4|zjeF<Gds>f**qLQmbs$_oY^zCZXRC)8~8Ah@T;mCzpjgEzN$Lq
zZ<U_Rlnkm{s2`IDEk}|<&wBiPG}xXtdjj}Riuk>r{~U^(4L$4b-`+M3Brw?VC)o1u
z`E&nd_u{DKvZ_TsId;<JzZf??YLnsw^(X4UXJ`BSv#OU`ZvY8cqdD+{xUM|)d|kqx
zLt+F%!Hg1y5Mfw<nOzpyDW5;lvjg)0NdX4e?w%I)OV=a_<R2f{M+_knE|4OnCpS?h
zmq8~a(j(3)-ebK)7D4NLdDMJc_ZxD{Y=*oYj*EvOZ5xy2;BXrRsm0SzB9gIqXZ!Jb
z2dzLT2m1Tt=V3^mzbdK1L5g1hJ<Y+dd?KJuz5}on*bf}TX+uM=vd>#A^O<i1L*nN%
zPYVf*uyG!!_9<SF(DuTu(b=(4@(MU_NFVf;%6_jT|Jy<Qm7bpPvf5AE>I`@7W!+sp
zfwRrG<f?<})fd^D&4b9Gm1Vsz>Fd>XzjxF$4=|*828!2=NsJ7QcKo|Y{9j^{9#3vy
z7@^;@cwfLldzgqKOc~7P=%cIu@c8<%#8AXVcabWAw`S1=mD`~2Nx>~XbJ}?Pu6yWX
zasMkwRRIC9z&W3UpBw=A)d&SpRe*xV1>nAc2Lb=syiaxQ<beIVcb|IENt8O+$?$JO
z{GSSHH&Lo`7t=ot|1Rl&Hxs4qcKs_BwOjI^Ud?W`|L!!@{jW~f-E#l*3it3J{e6-v
zZi5(KYCsP&`CrQx*6rPA1OPyU8vsE4H+bM5HFoNF5AnypF`stMV5ZRkfHX}20Qo;+
zF5bLu?mqUGZht`r|NqNDQAD1H+5!N7Z-W2mcT1cK?4_glJ9vSmthz810FVp|0Q>{x
z@c#m9B2rD$-=${vqDuTD@PB;9zvzblE`OPw{s-1URRIqEZzI;*<@`2kVfkO{zW}|z
B>k<F}

delta 46901
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
Z@A}_EhWYpi5D4SrcKqnkxcNWa{{ug?i=O}h

diff --git a/l10n_mx_facturae/report/account_payment.py b/l10n_mx_facturae/report/account_payment.py
new file mode 100644
index 0000000000..325f895f30
--- /dev/null
+++ b/l10n_mx_facturae/report/account_payment.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+
+from odoo import api, models
+
+
+class Parser(models.AbstractModel):
+    _inherit = ["report.report_xml.abstract", "report.l10n_mx_qr", "report.report_aeroo.abstract"]
+    _description = "report.l10n_mx_facturae.account_payment_template_cfdi_xml"
+    _name = "report.l10n_mx_facturae.account_payment_template_cfdi_xml"
+
+    @api.model
+    def aeroo_report(self, docids, data):
+        self = self.with_context(
+            format_float = self._format_float,
+            format_impuesto = self._format_impuesto,
+            format_tasaocuota = self._format_tasaocuota,
+        )
+        return super(Parser, self).aeroo_report(docids, data)
+
+    def _get_report_values(self, docids, data=None):
+        docs = self.env["account.payment"].browse(docids)
+        # return a custom rendering context
+        return {
+            "doc_ids": docids,
+            "doc_model": "account.payment",
+            "docs": docs,
+            "format_float": self._format_float,
+            "format_impuesto": self._format_impuesto,
+            "format_tasaocuota": self._format_tasaocuota,
+        }
+
+    def _format_float(self, amount, decimals):
+        """Format any amount to a given number of decimals"""
+        return "{:.{}f}".format(amount, decimals)
+
+    def _format_impuesto(self, tax):
+        tax_types = {
+            "ISR": "001",
+            "IVA": "002",
+            "IEPS": "003",
+        }
+        tax_rep_lines = tax.invoice_repartition_line_ids._origin.filtered(
+            lambda x: x.repartition_type == "tax"
+        )
+        tax_group = tax_rep_lines.mapped("tag_ids")
+        return tax_types[tax_group.name]
+
+    def _format_tasaocuota(self, tax):
+        """Format tasa o cuota"""
+        return "{0:.6f}".format(abs(tax.amount) / 100)
diff --git a/l10n_mx_facturae/templates/account_move.xml b/l10n_mx_facturae/templates/account_move.xml
index bf3e5e9317..2202441201 100644
--- a/l10n_mx_facturae/templates/account_move.xml
+++ b/l10n_mx_facturae/templates/account_move.xml
@@ -1,54 +1,134 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <odoo>
     <template id="account_move_template_cfdi_xml">
-
-        <cfdi:Comprobante t-foreach="docs" t-as="cfdi"
+        <t t-set="move" t-value="docs[0]" />
+        <t t-set="taxes" t-value="move.impuestos" />
+        <t t-set="total_traslados" t-value="move.l10n_mx_facturae_compute_total_traslados(taxes)" />
+        <t t-set="total_retenciones" t-value="move.l10n_mx_facturae_compute_total_retenciones(taxes)" />
+        <t t-set="tipoCambio" t-value="move.l10n_mx_facturae_compute_tipocambio()"/>
+        <t t-set="residenciaFiscal" t-value="move.l10n_mx_facturae_compute_residencia_fiscal()"/>
+        <t t-set="regimenTrib" t-value="move.l10n_mx_facturae_compute_regimen_tributario()"/>
+        <cfdi:Comprobante t-foreach="docs" t-as="o"
             xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
             xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-            Version="4.0"
-            t-attf-Serie="cfdi.serie"
-            t-attf-Exportacion="cfdi.l10n_mx_export ? '02' : '01'"
-            Folio="$o.folio"
-            Fecha="${ format_datetime(o.cfdi_datetime, '%Y-%m-%dT%H:%M:%S', tz=user.partner_id.tz) }"
-            Sello="@"
-            NoCertificado="@"
-            Certificado="@"
-            FormaPago="$o.formapago"
-            CondicionesDePago="${ html_escape(o.payment_term.name) }"
-            SubTotal="${ '{0:.2f}'.format(o.subtotal) }"
-            Descuento="${ '{0:.2f}'.format(o.descuento) }"
-            Moneda="${ o.currency_id.name }"
-            TipoCambio="${ o.currency_rate }"
-            Total="${ '{0:.2f}'.format(o.total) }"
-            TipoDeComprobante="E"
-            MetodoPago="PUE"
-            MetodoPago="$o.payment_method_id.code"
-            LugarExpedicion="${ o.address_issued_id.zip }"
-        >
-             <cfdi:CfdiRelacionados TipoRelacion="${ o.cfdi_relation_type.code }" t-if="cfdi.related_cfdi_ids">
-                 <cfdi:CfdiRelacionado  t-foreach="docs" t-as="cfdi" t-attf-UUID="cfdi.uuid"/>
-             </cfdi:CfdiRelacionados>
-            <cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
-            <cfdi:Receptor Nombre="FELIX MANUEL ANDRADE BALLADO" Rfc="AABF800614HI0" UsoCFDI="S01" DomicilioFiscalReceptor="86400" RegimenFiscalReceptor="616"/>
+            t-attf-Version="4.0"
+            t-attf-Exportacion="{{ o.l10n_mx_facturae_compute_export() }}"
+            t-attf-Folio="{{ o.folio }}"
+            t-attf-Fecha="{{ o.l10n_mx_facturae_compute_fecha() }}"
+            t-attf-Sello="@"
+            t-attf-NoCertificado="@"
+            t-attf-Certificado="@"
+            t-attf-FormaPago="{{ o.formapago }}"
+            t-attf-CondicionesDePago="{{ o.l10n_mx_facturae_compute_payment_terms() }}"
+            t-attf-SubTotal="{{ o.l10n_mx_facturae_compute_subtotal()}}"
+            t-attf-Descuento="{{ o.descuento }}"
+            t-attf-Moneda="{{ o.currency_id.name }}"
+            t-att-TipoCambio="tipoCambio"
+            t-attf-Total="{{ o.l10n_mx_facturae_compute_total() }}"
+            t-attf-TipoDeComprobante="{{ o.l10n_mx_facturae_compute_type_document() }}"
+            t-attf-MetodoPago="{{ o.l10n_mx_facturae_compute_payment_method() }}"
+            t-attf-LugarExpedicion="{{ o.address_issued_id.zip }}">
+            <cfdi:CfdiRelacionados t-attf-TipoRelacion="o.cfdi_relation_type.code" t-if="o.reversed_entry_id">
+                <cfdi:CfdiRelacionado  t-foreach="o.reversed_entry_id" t-as="cfdi" t-attf-UUID="cfdi.cfdi_folio_fiscal"/>
+            </cfdi:CfdiRelacionados>
+            <cfdi:CfdiRelacionados t-attf-TipoRelacion="o.cfdi_relation_type.code" t-if="o.related_cfdi_ids">
+                <cfdi:CfdiRelacionado  t-foreach="o.related_cfdi_ids" t-as="cfdi" t-attf-UUID="cfdi.uuid"/>
+            </cfdi:CfdiRelacionados>
+            <cfdi:InformacionGlobal
+                t-if="o.commercial_partner_id.name.upper() == 'PUBLICO EN GENERAL' and o.commercial_partner_id.vat_split == 'XAXX010101000' and o.move_type == 'out_invoice'"
+                t-attf-Año="{{ format_datetime(o.cfdi_datetime, '%Y', tz=user.partner_id.tz) }}"
+                t-attf-Meses="{{ format_datetime(o.cfdi_datetime, '%m', tz=user.partner_id.tz) }}"
+                t-attf-Periodicidad="{{ o.cfdi_periodicity }}" />
+            <cfdi:Emisor
+                t-attf-Rfc="{{ o.company_id.partner_id.vat_split }}"
+                t-attf-Nombre="{{ o.company_id.partner_id.name.upper() }}"
+                t-attf-RegimenFiscal="{{ o.company_id.partner_id.cfdi_fiscal_regime_id.code }}"/>
+            <cfdi:Receptor
+                t-attf-Nombre="{{ o.commercial_partner_id.name.upper() }}"
+                t-attf-Rfc="{{ o.l10n_mx_facturae_compute_rfc() }}"
+                t-attf-UsoCFDI="{{ o.l10n_mx_facturae_compute_use_cfdi() }}"
+                t-attf-DomicilioFiscalReceptor="{{ o.l10n_mx_facturae_compute_domicilio_fiscal() }}"
+                t-attf-RegimenFiscalReceptor="{{ o.l10n_mx_facturae_compute_regimen_fiscal_receptor() }}"
+                t-att-ResidenciaFiscal="residenciaFiscal"
+                t-att-NumRegIdTrib="regimenTrib" />
             <cfdi:Conceptos>
-                <cfdi:Concepto>
-
+                <cfdi:Concepto t-foreach="o.invoice_line_ids" t-as="line"
+                    t-attf-ClaveProdServ="{{ o.l10n_mx_facturae_compute_product() }}"
+                    t-attf-NoIdentificacion="{{ line.cfdi_numero_identificacion }}"
+                    t-attf-Cantidad="{{ line.quantity }}"
+                    t-attf-ClaveUnidad="{{ line.product_uom_id.cfdi_unit_measure_id.code }}"
+                    t-attf-Unidad="{{ o.l10n_mx_facturae_compute_unit() }}"
+                    t-attf-Descripcion="{{ line.name }}"
+                    t-attf-ValorUnitario="{{ line.valorunitario }}"
+                    t-attf-Importe="{{ line.l10n_mx_facturae_importe() }}"
+                    t-attf-Descuento="{{ line.descuento }}"
+                    t-attf-ObjetoImp="{{ line.l10n_mx_facturae_compute_objeto_impuesto() }}">
+				    <cfdi:Impuestos t-if="line.l10n_mx_facturae_compute_objeto_impuesto() == '02' ">
+				        <cfdi:Traslados t-if="line.impuestos['traslados']">
+                            <t t-set="impuestos" t-value="line.impuestos"/>
+				            <cfdi:Traslado t-foreach="impuestos['traslados']" t-as="tax"
+				                t-attf-Base="{{ tax.base }}"
+                                t-attf-Impuesto="{{ tax.xml_name }}"
+                                t-attf-TipoFactor="{{ tax.type }}"
+				                t-attf-TasaOCuota="{{ tax.TasaOCuota }}"
+				                t-attf-Importe="{{ tax.xml_amount }}" />
+				        </cfdi:Traslados>
+				        <cfdi:Retenciones t-if="impuestos['retenciones']">
+				            <cfdi:Retencion t-foreach="impuestos['retenciones']" t-as="tax"
+				                t-attf-Base="{{ tax.base }}"
+                                t-attf-Impuesto="{{ tax.xml_name }}"
+                                t-attf-TipoFactor="{{ tax.type }}"
+				                t-attf-TasaOCuota="{{ tax.TasaOCuota }}"
+				                t-attf-Importe="{{ tax.xml_amount }}" />
+				        </cfdi:Retenciones>
+				    </cfdi:Impuestos>
+                    <cfdi:CuentaPredial t-if="line.cfdi_cuentapredial"
+                        t-attf-Numero="line.cfdi_cuentapredial" />
+                    <cfdi:InformacionAduanera
+                        t-if="line.cfdi_custom_number"
+                        t-foreach="line.cfdi_custom_number" t-as="cfdi_custom_number"
+                        t-attf-NumeroPedimento="{{ cfdi_custom_number.name }}" />
                 </cfdi:Concepto>
             </cfdi:Conceptos>
-            <cfdi:Impuestos>
-                <cfdi:Retenciones>
-
+            <cfdi:Impuestos
+                t-att-TotalImpuestosTrasladados="total_traslados"
+                t-att-TotalImpuestosRetenidos="total_retenciones" >
+                <cfdi:Retenciones t-if="taxes['retenciones']">
+                    <cfdi:Retencion t-foreach="taxes['retenciones']" t-as="tax"
+                        t-attf-Impuesto="{{ tax.xml_name }}"
+                        t-attf-Importe="{{ tax.xml_amount }}" />
                 </cfdi:Retenciones>
-                <cfdi:Traslados>
-
+                <cfdi:Traslados t-if="taxes['traslados']">
+                    <cfdi:Traslado t-foreach="taxes['traslados']" t-as="tax"
+                        t-attf-Base="{{ tax.base }}"
+                        t-attf-Impuesto="{{ tax.xml_name }}"
+                        t-attf-TipoFactor="{{ tax.type }}"
+                        t-attf-TasaOCuota="{{ tax.TasaOCuota }}"
+                        t-attf-Importe="{{ tax.xml_amount }}" />
                 </cfdi:Traslados>
             </cfdi:Impuestos>
-            <cfdi:Complemento>
-                <implocal:ImpuestosLocales>
-
+            <!--
+            <cfdi:Complemento t-if="is_local_taxes">
+                <implocal:ImpuestosLocales
+                    t-attf-version="1.0"
+                    t-attf-TotaldeTraslados="${ '{0:.2f}'.format(sumif(taxes.locales, 'amount', [('amount', '>', 0)])) }"
+                    t-attf-TotaldeRetenciones="${ '{0:.2f}'.format(abs(sumif(taxes.locales, 'amount', [('amount', '<', 0)]))) }">
+                    <implocal:TrasladosLocales
+                        t-foreach="taxes.locales" t-as="tax_line"
+                        t-if="tax_line.amount > 0"
+                        t-attf-ImpLocTrasladado="html_escape(tax_line.name)"
+                        t-attf-TasadeTraslado="${ '{0:.2f}'.format(tax_line.TasaOCuota * 100) }"
+                        t-attf-Importe="tax_line.amount" />
+                    <implocal:RetencionesLocales
+                        t-foreach="taxes.locales" t-as="tax_line"
+                        t-if="tax_line.amount < 0"
+                        t-attf-ImpLocRetenido="html_escape(tax_line.name)"
+                        t-attf-TasadeRetencion="tax_line.TasaOCuota * 100 }"
+                        t-attf-Importe="tax_line.amount" />
                 </implocal:ImpuestosLocales>
             </cfdi:Complemento>
+            -->
         </cfdi:Comprobante>
 
     </template>
diff --git a/l10n_mx_facturae/templates/account_payment.xml b/l10n_mx_facturae/templates/account_payment.xml
new file mode 100644
index 0000000000..4203c948b3
--- /dev/null
+++ b/l10n_mx_facturae/templates/account_payment.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<odoo>
+    <template id="account_payment_template_cfdi_xml">
+        <t t-set="payment" t-value="docs[0]" />
+        <t t-set="residenciaFiscal" t-value="payment.l10n_mx_facturae_payment_compute_residencia_fiscal()"/>
+        <t t-set="regimenTrib" t-value="payment.l10n_mx_facturae_payment_compute_regimen_tributario()"/>
+        <t t-set="tipoCambio" t-value="payment.l10n_mx_facturae_payment_compute_tipocambio()"/>
+        <t t-set="traslados" t-value="payment.totales_p()" />
+        <t t-set="retenciones" t-value="payment.totales_p(tax_type='retenciones')" />
+        <cfdi:Comprobante t-foreach="docs" t-as="o"
+            xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/Pagos20 http://www.sat.gob.mx/sitio_internet/cfd/Pagos/Pagos20.xsd"
+            xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xmlns:pago20="http://www.sat.gob.mx/Pagos20"
+            t-attf-Version="4.0"
+            t-attf-Exportacion="01"
+            t-attf-Folio="{{ o.folio }}"
+            t-attf-Fecha="{{ o.l10n_mx_facturae_payment_compute_fecha() }}"
+            t-attf-Sello="@"
+            t-attf-NoCertificado="@"
+            t-attf-Certificado="@"
+            t-attf-SubTotal="0"
+            t-attf-Moneda="XXX"
+            t-attf-Total="0"
+            t-attf-TipoDeComprobante="P"
+            t-attf-LugarExpedicion="{{ o.company_id.zip }}">
+            <cfdi:CfdiRelacionados t-attf-TipoRelacion="o.cfdi_relation_type.code" t-if="o.related_cfdi_ids">
+                <cfdi:CfdiRelacionado t-foreach="o.related_cfdi_ids" t-as="cfdi" t-attf-UUID="cfdi.uuid"/>
+            </cfdi:CfdiRelacionados>
+            <cfdi:Emisor
+                t-attf-Rfc="{{ o.company_id.partner_id.vat_split }}"
+                t-attf-Nombre="{{ o.company_id.partner_id.name.upper() }}"
+                t-attf-RegimenFiscal="{{ o.company_id.partner_id.cfdi_fiscal_regime_id.code }}"/>
+            <cfdi:Receptor
+                t-attf-Nombre="{{ o.commercial_partner_id.name.upper() }}"
+                t-attf-Rfc="{{ o.l10n_mx_facturae_payment_compute_rfc() }}"
+                t-attf-UsoCFDI="CP01"
+                t-attf-DomicilioFiscalReceptor="{{ o.l10n_mx_facturae_payment_compute_domicilio_fiscal() }}"
+                t-attf-RegimenFiscalReceptor="{{ o.l10n_mx_facturae_payment_compute_regimen_fiscal_receptor() }}"
+                t-att-ResidenciaFiscal="residenciaFiscal"
+                t-att-NumRegIdTrib="regimenTrib" />
+            <cfdi:Conceptos>
+                <cfdi:Concepto
+                    t-attf-Cantidad="1"
+                    t-attf-ClaveProdServ="84111506"
+                    t-attf-ClaveUnidad="ACT"
+                    t-attf-Descripcion="Pago"
+                    t-attf-Importe="0"
+                    t-attf-ObjetoImp="01"
+                    t-attf-ValorUnitario="0" />
+            </cfdi:Conceptos>
+            <cfdi:Complemento>
+                <pago20:Pagos t-attf-Version="2.0">
+                    <pago20:Totales
+                        t-attf-MontoTotalPagos="{{ o.l10n_mx_facturae_payment_montototalpagos() }}"
+                        t-att-TotalTrasladosBaseIVAExento="traslados.get('baseIVAExento', False)"
+                        t-att-TotalTrasladosBaseIVA16="traslados.get('baseIVA16.0', False)"
+                        t-att-TotalTrasladosImpuestoIVA16="traslados.get('importeIVA16.0', False)"
+                        t-att-TotalTrasladosBaseIVA8="traslados.get('baseIVA8.0', False)"
+                        t-att-TotalTrasladosImpuestoIVA8="traslados.get('importeIVA8.0', False)"
+                        t-att-TotalTrasladosBaseIVA0="traslados.get('baseIVA0.0', False)"
+                        t-att-TotalTrasladosImpuestoIVA0="traslados.get('importeIVA0.0', False)"
+                        t-att-TotalRetencionesIVA="retenciones.get('importeIVA', False)"
+                        t-att-TotalRetencionesISR="retenciones.get('importeISR', False)"
+                        t-att-TotalRetencionesIEPS="retenciones.get('importeIEPS', False)" />
+                    <pago20:Pago
+                        t-attf-FechaPago="{{ o.l10n_mx_facturae_payment_compute_pago_fecha() }}"
+                        t-attf-FormaDePagoP="{{ o.payment_type_id.code }}"
+                        t-attf-MonedaP="{{ o.currency_id.name }}"
+                        t-att-TipoCambioP="tipoCambio"
+                        t-attf-Monto="{{ o.amount }}"
+                        t-attf-NumOperacion="{{ o.name }}" >
+                        <pago20:DoctoRelacionado t-foreach="o.doctos_relacionados" t-as="invoice"
+                            t-attf-Folio="{{ invoice.folio }}"
+                            t-attf-IdDocumento="{{ invoice.cfdi_folio_fiscal }}"
+                            t-attf-MonedaDR="{{ invoice.currency_id.name }}"
+                            t-attf-EquivalenciaDR="{{ o.tipocambiodr(invoice) }}"
+                            t-attf-NumParcialidad="{{ o.numparcialidad(invoice) }}"
+                            t-attf-ImpSaldoAnt="{{ o.impsaldoant(invoice, to_xml=True) }}"
+                            t-attf-ImpSaldoInsoluto="{{ o.impsaldoinsoluto(invoice, to_xml=True) }}"
+                            t-attf-ImpPagado="{{ o.imppagado(invoice, to_xml=True) }}"
+                            t-attf-ObjetoImpDR="02" >
+                            <pago20:ImpuestosDR>
+                                <t t-set="retenciones" t-value="o.impuestos_dr(invoice, tax_type='retenciones')"/>
+                                <pago20:RetencionesDR t-if="retenciones">
+                                    <pago20:RetencionDR t-foreach="retenciones" t-as="tax_move"
+                                        t-att-BaseDR="format_float(tax_move.tax_base_amount, invoice.currency_id.decimal_places)"
+                                        t-att-ImpuestoDR="format_impuesto(tax_move.tax_line_id)"
+                                        t-att-ImporteDR="format_float(abs(tax_move.balance), invoice.currency_id.decimal_places)"
+                                        t-att-TasaOCuotaDR="format_tasaocuota(tax_move.tax_line_id)"
+                                        t-att-TipoFactorDR="tax_move.tax_line_id.l10n_mx_tax_type" />
+                                </pago20:RetencionesDR>
+                                <pago20:TrasladosDR>
+                                    <pago20:TrasladoDR t-foreach="o.impuestos_dr(invoice)" t-as="tax_move"
+                                        t-att-BaseDR="format_float(tax_move.tax_base_amount, invoice.currency_id.decimal_places)"
+                                        t-att-ImpuestoDR="format_impuesto(tax_move.tax_line_id)"
+                                        t-att-ImporteDR="format_float(abs(tax_move.balance), invoice.currency_id.decimal_places)"
+                                        t-att-TasaOCuotaDR="format_tasaocuota(tax_move.tax_line_id)"
+                                        t-att-TipoFactorDR="tax_move.tax_line_id.l10n_mx_tax_type" />
+                                </pago20:TrasladosDR>
+                            </pago20:ImpuestosDR>
+                        </pago20:DoctoRelacionado>
+                        <pago20:ImpuestosP>
+                            <t t-set="retenciones" t-value="o.impuestos_p(tax_type='retenciones')"/>
+                            <pago20:RetencionesP t-if="retenciones">
+                                <pago20:RetencionP t-foreach="retenciones" t-as="tax_total"
+                                    t-attf-ImporteP="{{ tax_total['importe'] }}"
+                                    t-attf-ImpuestoP="format_impuesto(tax_total['tax_id'])" />
+                            </pago20:RetencionesP>
+                            <pago20:TrasladosP>
+                                <pago20:TrasladoP t-foreach="o.impuestos_p()" t-as="tax_total"
+                                    t-att-BaseP="format_float(tax_total['tax_base'], o.currency_id.decimal_places)"
+                                    t-att-ImpuestoP="format_impuesto(tax_total['tax_id'])"
+                                    t-att-ImporteP="format_float(tax_total['importe'], o.currency_id.decimal_places)"
+                                    t-att-TasaOCuotaP="format_tasaocuota(tax_total['tax_id'])"
+                                    t-att-TipoFactorP="tax_total['tax_id'].l10n_mx_tax_type" />
+                            </pago20:TrasladosP>
+                        </pago20:ImpuestosP>
+                    </pago20:Pago>
+                </pago20:Pagos>
+            </cfdi:Complemento>
+        </cfdi:Comprobante>
+
+    </template>
+
+</odoo>
diff --git a/l10n_mx_facturae/templates/account_voucher.txt b/l10n_mx_facturae/templates/account_voucher.txt
index 2a30569ab8..80723d339e 100644
--- a/l10n_mx_facturae/templates/account_voucher.txt
+++ b/l10n_mx_facturae/templates/account_voucher.txt
@@ -163,7 +163,7 @@
                         {% end %}
                         NumParcialidad="${ o.numparcialidad(invoice) }"
                         ImpSaldoAnt="${ '{0:.2f}'.format(o.impsaldoant(invoice)) }"
-                        ImpSaldoInsoluto="${ '{0:.2f}'.format(o.impsaldoant(invoice) - o.imppagado(invoice)) }"
+                        ImpSaldoInsoluto="${ '{0:.2f}'.format() }"
                         ImpPagado="${ '{0:.2f}'.format(o.imppagado(invoice)) }"
                         ObjetoImpDR="02"
                         >
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index 7d72d8fd5f..f7d429a9fe 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -31,16 +31,18 @@
         <field name="inherit_id" ref="account.view_move_form"/>
         <field name="arch" type="xml">
             <button name="button_cancel" position="before">
-                <field name="is_cfdi_candidate" invisible="0" />
+                <field name="is_cfdi_candidate" invisible="1" />
             </button>
             <xpath expr="//header" position="after">
                 <div
                     class="alert alert-danger"
                     attrs="{'invisible':[
+                        '|',
+                        ('state', '=', 'draft'),
                         (
                             'cfdi_state',
                             'in',
-                            ['signed', 'cancel', 'done', False]
+                            ['signed', 'done', 'waiting', 'cancel',  False]
                         )
                     ]}"
                     role="alert"
@@ -53,8 +55,8 @@
                 <div
                     class="alert alert-warning"
                     role="alert"
-                    style="margin-bottom:0px;" >
-                    <!--attrs="{'invisible': [('l10n_mx_edi_to_cancel', '=', False)]}"-->
+                    style="margin-bottom:0px;"
+                    attrs="{'invisible': [('l10n_mx_edi_to_cancel', '=', False)]}" >
                     <field
                         name="l10n_mx_edi_to_cancel"
                         readonly="1"
@@ -84,12 +86,40 @@
                     options="{'no_create':True, 'no_open':True}"/>
             </xpath>
             <xpath expr="//field[@name='payment_reference']" position="after">
-                <label for="cfdi_state" string="PAC State"/>
+                <label
+                    for="cfdi_state"
+                    string="PAC State"
+                    attrs="{
+                        'invisible':[
+                            '|',
+                            ('is_cfdi_candidate', '=', False),
+                            ('state', '=', 'draft')
+                        ]
+                    }"
+                />
                 <div class="o_row" >
-                    <field name="cfdi_state" class="oe_inline"/>
+                    <field
+                        name="cfdi_state"
+                        class="oe_inline"
+                        attrs="{
+                            'invisible':[
+                                '|',
+                                ('is_cfdi_candidate', '=', False),
+                                ('state', '=', 'draft')
+                            ]
+                        }"
+                    />
                     <button name="action_validate_cfdi" string="Retry"
                         class="oe_link oe_inline" type="object"
-                        groups="account.group_account_invoice"/>
+                        groups="account.group_account_invoice"
+                        attrs="{
+                            'invisible':[
+                                '|',
+                                ('state', 'in', ['draft', 'cancel', 'waiting']),
+                                ('cfdi_state','in', ['signed', 'cancel', 'done', 'waiting', False])
+                            ]
+                        }"
+                    />
                 </div>
             </xpath>
             <xpath expr="//page[@name='cfdi_configuration_move_mx']" position='after'>
@@ -159,7 +189,7 @@
             <xpath expr="//page//tree//field[@name='tax_ids']" position="before">
                 <field name="cfdi_custom_number"
                     widget="many2many_tags"
-                    groups="l10n_mx.group_cfdi_custom_number"/>
+                    groups="l10n_mx_base.group_cfdi_custom_number"/>
             </xpath>
         </field>
     </record>
diff --git a/l10n_mx_facturae/views/account_payment.xml b/l10n_mx_facturae/views/account_payment.xml
index 39c99513ac..c35f3805ce 100644
--- a/l10n_mx_facturae/views/account_payment.xml
+++ b/l10n_mx_facturae/views/account_payment.xml
@@ -1,16 +1,15 @@
 <?xml version="1.0"?>
 <odoo>
-<data>
 
-    <record id="account_payment_action_sign" model="ir.actions.server">
+    <!--<record id="account_payment_action_sign" model="ir.actions.server">
         <field name="name">Sign payments</field>
         <field name="type">ir.actions.server</field>
         <field name="model_id" ref="model_account_payment"/>
         <field name="state">code</field>
         <field name="code">self.sign_payment(cr, uid, context.get('active_ids', []), context=context)</field>
-    </record>
+    </record>-->
 
-    <record id="ir_values_action_sign" model="ir.values">
+    <!--<record id="ir_values_action_sign" model="ir.values">
         <field name="name">Sign payments</field>
         <field name="action_id" ref="account_payment_action_sign"/>
         <field name="value" eval="'ir.actions.server,' + str(ref('account_payment_action_sign'))"/>
@@ -18,28 +17,37 @@
         <field name="model_id" ref="model_account_payment"/>
         <field name="model">account.payment</field>
         <field name="key2">client_action_multi</field>
-    </record>
+    </record>-->
 
-    <record id="account_payment_view_form" model="ir.ui.view">
-        <field name="name">account.payment.view.form</field>
+    <record id="account_payment_cfdi_view_form" model="ir.ui.view">
+        <field name="name">account.payment.cfdi.view.form</field>
         <field name="model">account.payment</field>
         <field name="inherit_id" ref="account.view_account_payment_form"/>
         <field name="arch" type="xml">
-            <button name="action_port" position="after">
-                <field name="show_unreconcile" invisible="1"/>
+            <button name="action_post" position="after">
                 <button name="sign_payment" type="object" string="Sign"
                     class="oe_highlight"
-                    attrs="{'invisible': ['|', ('state', '!=', 'posted'), ('cfdi_state', '!=', False)]}"/>
-                <button name="substitute_payment" type="object" string="Replace"
+                    attrs="{'invisible': [
+                        '|',
+                        ('state', '!=', 'posted'),
+                        ('cfdi_state', '!=', False)
+                    ]}" />
+                <!--<button name="substitute_payment" type="object" string="Replace"
                     attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed', 'done']), ('state', '=', 'cancel')]}"/>
                 <button name="replace_cfdi" type="object" string="Cancel"
                     confirm="Are you sure to cancel this payment?"
-                    attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed', 'done']), ('state', '=', 'cancel')]}"/>
+                    attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed',
+                    'done']), ('state', '=', 'cancel')]}"/>-->
+            </button>
+            <button name="mark_as_sent" position="after">
+                <field name="show_unreconcile" invisible="1"/>
             </button>
             <xpath expr="//header" position="after">
                 <div
                     class="alert alert-danger"
                     attrs="{'invisible':[
+                        '|',
+                        ('state', '=', 'draft'),
                         (
                             'cfdi_state',
                             'in',
@@ -54,30 +62,54 @@
                         readonly="1" />
                 </div>
             </xpath>
-            <xpath expr="//sheet/h1" position="after">
-                <h4 attrs="{'invisible': [('number','=',False)]}" collspan="2">
+            <xpath expr="//h1[2]" position="after">
+                <h4 collspan="2">
                     <field string="Fiscal Number" name="cfdi_id" readonly="1"/>
                 </h4>
             </xpath>
-            <!-- Hide cancel button when payment have a related CFDI -->
+            <!-- Hide cancel button when payment have a related CFDI
             <xpath expr="//button[@string='Unreconcile']" position="attributes">
                 <attribute name="states" translation="off"></attribute>
                 <attribute name="attrs" translation="off">{'invisible': [('show_unreconcile', '=', False)]}</attribute>
-            </xpath>
-            <xpath expr="//field[@name='name']" position="after">
-                <label for="cfdi_state" string="PAC State" states="posted,signed,cancel" />
-                <div class="o_row" states="posted,signed,cancel">
-                    <field name="cfdi_state" class="oe_inline"/>
+            </xpath>-->
+            <field name="partner_bank_id" position="after">
+                <label
+                    for="cfdi_state"
+                    string="PAC State"
+                    attrs="{
+                        'invisible':[
+                            ('state', '=', 'draft')
+                        ]
+                    }"
+                />
+                <div class="o_row">
+                    <field
+                        name="cfdi_state"
+                        class="oe_inline"
+                        attrs="{
+                            'invisible':[
+                                ('state', '=', 'draft')
+                            ]
+                        }"
+                    />
                     <button name="action_validate_cfdi" string="Retry"
                         class="oe_link oe_inline" type="object"
                         groups="account.group_account_invoice"
-                        attrs="{'invisible':[('cfdi_state', 'in', ['signed', 'cancelled', 'done', False])]}"/>
+                        attrs="{'invisible':[
+                            '|',
+                            ('state', 'in', ['draft', 'cancel', 'waiting']),
+                            (
+                                'cfdi_state',
+                                'in',
+                                ['signed', 'cancel', 'done', 'waiting', False]
+                            )
+                        ]}" />
                 </div>
-            </xpath>
+            </field>
         </field>
     </record>
 
-    <record id="account_payment_view_search" model="ir.ui.view">
+    <!--<record id="account_payment_view_search" model="ir.ui.view">
         <field name="name">account.payment.view.search</field>
         <field name="model">account.payment</field>
         <field name="inherit_id" ref="account_payment.view_payment_filter_customer_pay"/>
@@ -91,7 +123,6 @@
                 <filter string="Signed" domain="[('cfdi_state', 'in', ['signed', 'done'])]" help="Signed payments"/>
             </filter>
         </field>
-    </record>
+    </record>-->
 
-</data>
 </odoo>
-- 
GitLab


From 8ec45fc51ed01094108d395976c83406417970b1 Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Tue, 26 Mar 2024 10:44:11 -0600
Subject: [PATCH 03/28] =?UTF-8?q?feat(account.payment):=20se=20corrigen=20?=
 =?UTF-8?q?errores=20para=20la=20validaci=C3=B3n=20de=20pagos?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_payment.py | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index 9c6646fd93..d43314d24f 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -154,18 +154,9 @@ class AccountPayment(models.Model):
         or will use the default behavior"""
         self.ensure_one()
         # We need to give the date in the context to get proper rate
-        voucher_currency = self.journal_id.currency or self.company_id.currency_id
+        voucher_currency = self.journal_id.currency_id or self.company_id.currency_id
         voucher_currency = voucher_currency.with_context(date=self.date)
-        voucher_currency = voucher_currency.with_context(
-            special_currency_rate=(
-                voucher_currency.rate * self.payment_rate
-            ),
-            special_currency=(
-                self.payment_rate_currency_id
-                and self.payment_rate_currency_id.id
-                or False
-            ),
-        )
+
         res = float_round(
             voucher_currency.compute(1.0, self.company_id.currency_id, round=False),
             precision_digits=6,
@@ -300,12 +291,12 @@ class AccountPayment(models.Model):
             if invoice.currency_id == company_currency:
                 # When invoice is in company currency we are going to use payment rate
                 voucher_currency = voucher_currency.with_context(
-                    special_currency_rate=(1 / self.payment_rate),
+                    special_currency_rate=(1 / voucher_currency.rate),
                     special_currency=voucher_currency.id,
                 )
             else:
                 voucher_currency = voucher_currency.with_context(
-                    special_currency_rate=(1 / invoice.currency_rate),
+                    special_currency_rate=(1 / invoice.currency_id.rate),
                     special_currency=invoice.currency_id.id,
                 )
 
@@ -404,7 +395,7 @@ class AccountPayment(models.Model):
                             special_currency=voucher_currency.id,
                         )
                     tax_base = invoice_currency.compute(
-                        tax_move.tax_base, voucher_currency, round=False,
+                        tax_move.tax_base_amount, voucher_currency, round=False,
                     )
                     # Force rounding 6 decimals to use as many decimal as possible and
                     # avoid rounding errors when validating XML
-- 
GitLab


From b992efa470dcd9d29ccdae5cb09a1896ef537b45 Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Tue, 26 Mar 2024 16:09:48 -0600
Subject: [PATCH 04/28] =?UTF-8?q?feat(account.move):=20se=20mejora=20la=20?=
 =?UTF-8?q?precisi=C3=B3n=20decimal=20y=20se=20generaliza=20en=20parser=20?=
 =?UTF-8?q?funci=C3=B3n=20format=5Ffloat?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/data/account_move.xml        |  4 +--
 l10n_mx_facturae/data/account_payment.xml     |  4 +--
 .../data/ir_attachment_facturae_config.xml    |  4 +--
 l10n_mx_facturae/report/__init__.py           |  1 +
 l10n_mx_facturae/report/account_move.py       | 22 ++++++++++++
 l10n_mx_facturae/report/account_payment.py    | 34 +++++++++----------
 l10n_mx_facturae/templates/account_move.xml   |  8 ++---
 .../templates/account_payment.xml             |  4 +--
 8 files changed, 51 insertions(+), 30 deletions(-)
 create mode 100644 l10n_mx_facturae/report/account_move.py

diff --git a/l10n_mx_facturae/data/account_move.xml b/l10n_mx_facturae/data/account_move.xml
index 47fabd6217..4b2fd495bf 100644
--- a/l10n_mx_facturae/data/account_move.xml
+++ b/l10n_mx_facturae/data/account_move.xml
@@ -6,7 +6,7 @@
         <field name="name">Account Move CFDI XML</field>
         <field name="model">account.move</field>
         <field name="report_type">qweb-xml</field>
-        <field name="report_name">l10n_mx_facturae.account_move_template_cfdi_xml</field>
+        <field name="report_name">l10n_mx_facturae.account_move</field>
         <field name="xml_declaration">true</field>
         <field name="xsd_schema">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx4czpzY2hlbWEgeG1sbnM6Y2ZkaT0iaHR0cDovL3d3dy5zYXQuZ29iLm14L2NmZC80IiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOmNhdENGREk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvY2F0YWxvZ29zIiB4bWxuczp0ZENGREk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvdGlwb0RhdG9zL3RkQ0ZESSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvY2ZkLzQiIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiPg0KCTx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvc2l0aW9faW50ZXJuZXQvY2ZkL2NhdGFsb2dvcyIgc2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvY2F0YWxvZ29zL2NhdENGREkueHNkIi8+DQoJPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvdGlwb0RhdG9zL3RkQ0ZESSIgc2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvdGlwb0RhdG9zL3RkQ0ZESS90ZENGREkueHNkIi8+DQoJPHhzOmVsZW1lbnQgbmFtZT0iQ29tcHJvYmFudGUiPg0KCQk8eHM6YW5ub3RhdGlvbj4NCgkJCTx4czpkb2N1bWVudGF0aW9uPkVzdMOhbmRhciBkZSBDb21wcm9iYW50ZSBGaXNjYWwgRGlnaXRhbCBwb3IgSW50ZXJuZXQuPC94czpkb2N1bWVudGF0aW9uPg0KCQk8L3hzOmFubm90YXRpb24+DQoJCTx4czpjb21wbGV4VHlwZT4NCgkJCTx4czpzZXF1ZW5jZT4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJJbmZvcm1hY2lvbkdsb2JhbCIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIGNvbmRpY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgaW5mb3JtYWNpw7NuIHJlbGFjaW9uYWRhIGNvbiBlbCBjb21wcm9iYW50ZSBnbG9iYWwuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iUGVyaW9kaWNpZGFkIiB0eXBlPSJjYXRDRkRJOmNfUGVyaW9kaWNpZGFkIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgZWwgcGVyw61vZG8gYWwgcXVlIGNvcnJlc3BvbmRlIGxhIGluZm9ybWFjacOzbiBkZWwgY29tcHJvYmFudGUgZ2xvYmFsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTWVzZXMiIHR5cGU9ImNhdENGREk6Y19NZXNlcyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGVsIG1lcyBvIGxvcyBtZXNlcyBhbCBxdWUgY29ycmVzcG9uZGUgbGEgaW5mb3JtYWNpw7NuIGRlbCBjb21wcm9iYW50ZSBnbG9iYWwuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJBw7FvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgZWwgYcOxbyBhbCBxdWUgY29ycmVzcG9uZGUgbGEgaW5mb3JtYWNpw7NuIGRlbCBjb21wcm9iYW50ZSBnbG9iYWwuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnNob3J0Ij4NCgkJCQkJCQkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjIwMjEiLz4NCgkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCTwveHM6ZWxlbWVudD4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJDZmRpUmVsYWNpb25hZG9zIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBjb21wcm9iYW50ZXMgcmVsYWNpb25hZG9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQ2ZkaVJlbGFjaW9uYWRvIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+DQoJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGNvbXByb2JhbnRlcyByZWxhY2lvbmFkb3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVVVJRCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBlbCBmb2xpbyBmaXNjYWwgKFVVSUQpIGRlIHVuIENGREkgcmVsYWNpb25hZG8gY29uIGVsIHByZXNlbnRlIGNvbXByb2JhbnRlLCBwb3IgZWplbXBsbzogU2kgZWwgQ0ZESSByZWxhY2lvbmFkbyBlcyB1biBjb21wcm9iYW50ZSBkZSB0cmFzbGFkbyBxdWUgc2lydmUgcGFyYSByZWdpc3RyYXIgZWwgbW92aW1pZW50byBkZSBsYSBtZXJjYW5jw61hLiBTaSBlc3RlIGNvbXByb2JhbnRlIHNlIHVzYSBjb21vIG5vdGEgZGUgY3LDqWRpdG8gbyBub3RhIGRlIGTDqWJpdG8gZGVsIGNvbXByb2JhbnRlIHJlbGFjaW9uYWRvLiBTaSBlc3RlIGNvbXByb2JhbnRlIGVzIHVuYSBkZXZvbHVjacOzbiBzb2JyZSBlbCBjb21wcm9iYW50ZSByZWxhY2lvbmFkby4gU2kgw6lzdGUgc3VzdGl0dXllIGEgdW5hIGZhY3R1cmEgY2FuY2VsYWRhLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iMzYiLz4NCgkJCQkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlthLWYwLTlBLUZdezh9LVthLWYwLTlBLUZdezR9LVthLWYwLTlBLUZdezR9LVthLWYwLTlBLUZdezR9LVthLWYwLTlBLUZdezEyfSIvPg0KCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRpcG9SZWxhY2lvbiIgdHlwZT0iY2F0Q0ZESTpjX1RpcG9SZWxhY2lvbiIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGluZGljYXIgbGEgY2xhdmUgZGUgbGEgcmVsYWNpw7NuIHF1ZSBleGlzdGUgZW50cmUgw6lzdGUgcXVlIHNlIGVzdMOhIGdlbmVyYW5kbyB5IGVsIG8gbG9zIENGREkgcHJldmlvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJPC94czplbGVtZW50Pg0KCQkJCTx4czplbGVtZW50IG5hbWU9IkVtaXNvciI+DQoJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyByZXF1ZXJpZG8gcGFyYSBleHByZXNhciBsYSBpbmZvcm1hY2nDs24gZGVsIGNvbnRyaWJ1eWVudGUgZW1pc29yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZmMiIHR5cGU9InRkQ0ZESTp0X1JGQyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBsYSBDbGF2ZSBkZWwgUmVnaXN0cm8gRmVkZXJhbCBkZSBDb250cmlidXllbnRlcyBjb3JyZXNwb25kaWVudGUgYWwgY29udHJpYnV5ZW50ZSBlbWlzb3IgZGVsIGNvbXByb2JhbnRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTm9tYnJlIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcmVnaXN0cmFyIGVsIG5vbWJyZSwgZGVub21pbmFjacOzbiBvIHJhesOzbiBzb2NpYWwgZGVsIGNvbnRyaWJ1eWVudGUgaW5zY3JpdG8gZW4gZWwgUkZDLCBkZWwgZW1pc29yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjMwMCIvPg0KCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDMwMH0iLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iUmVnaW1lbkZpc2NhbCIgdHlwZT0iY2F0Q0ZESTpjX1JlZ2ltZW5GaXNjYWwiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBpbmNvcnBvcmFyIGxhIGNsYXZlIGRlbCByw6lnaW1lbiBkZWwgY29udHJpYnV5ZW50ZSBlbWlzb3IgYWwgcXVlIGFwbGljYXLDoSBlbCBlZmVjdG8gZmlzY2FsIGRlIGVzdGUgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJGYWNBdHJBZHF1aXJlbnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBleHByZXNhciBlbCBuw7ptZXJvIGRlIG9wZXJhY2nDs24gcHJvcG9yY2lvbmFkbyBwb3IgZWwgU0FUIGN1YW5kbyBzZSB0cmF0ZSBkZSB1biBjb21wcm9iYW50ZSBhIHRyYXbDqXMgZGUgdW4gUENFQ0ZESSBvIHVuIFBDR0NGRElTUC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iMTAiLz4NCgkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05XXsxMH0iLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJPHhzOmVsZW1lbnQgbmFtZT0iUmVjZXB0b3IiPg0KCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgcHJlY2lzYXIgbGEgaW5mb3JtYWNpw7NuIGRlbCBjb250cmlidXllbnRlIHJlY2VwdG9yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZmMiIHR5cGU9InRkQ0ZESTp0X1JGQyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBsYSBDbGF2ZSBkZWwgUmVnaXN0cm8gRmVkZXJhbCBkZSBDb250cmlidXllbnRlcyBjb3JyZXNwb25kaWVudGUgYWwgY29udHJpYnV5ZW50ZSByZWNlcHRvciBkZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJOb21icmUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSByZWdpc3RyYXIgZWwgbm9tYnJlKHMpLCBwcmltZXIgYXBlbGxpZG8sIHNlZ3VuZG8gYXBlbGxpZG8sIHNlZ8O6biBjb3JyZXNwb25kYSwgZGVub21pbmFjacOzbiBvIHJhesOzbiBzb2NpYWwgZGVsIGNvbnRyaWJ1eWVudGUsIGluc2NyaXRvIGVuIGVsIFJGQywgZGVsIHJlY2VwdG9yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjMwMCIvPg0KCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDMwMH0iLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRG9taWNpbGlvRmlzY2FsUmVjZXB0b3IiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSByZWdpc3RyYXIgZWwgY8OzZGlnbyBwb3N0YWwgZGVsIGRvbWljaWxpbyBmaXNjYWwgZGVsIHJlY2VwdG9yIGRlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czpsZW5ndGggdmFsdWU9IjUiLz4NCgkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlswLTldezV9Ii8+DQoJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlJlc2lkZW5jaWFGaXNjYWwiIHR5cGU9ImNhdENGREk6Y19QYWlzIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSByZWdpc3RyYXIgbGEgY2xhdmUgZGVsIHBhw61zIGRlIHJlc2lkZW5jaWEgcGFyYSBlZmVjdG9zIGZpc2NhbGVzIGRlbCByZWNlcHRvciBkZWwgY29tcHJvYmFudGUsIGN1YW5kbyBzZSB0cmF0ZSBkZSB1biBleHRyYW5qZXJvLCB5IHF1ZSBlcyBjb25mb3JtZSBjb24gbGEgZXNwZWNpZmljYWNpw7NuIElTTyAzMTY2LTEgYWxwaGEtMy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBzZSBpbmNsdXlhIGVsIGNvbXBsZW1lbnRvIGRlIGNvbWVyY2lvIGV4dGVyaW9yIG8gc2UgcmVnaXN0cmUgZWwgYXRyaWJ1dG8gTnVtUmVnSWRUcmliLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTnVtUmVnSWRUcmliIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBleHByZXNhciBlbCBuw7ptZXJvIGRlIHJlZ2lzdHJvIGRlIGlkZW50aWRhZCBmaXNjYWwgZGVsIHJlY2VwdG9yIGN1YW5kbyBzZWEgcmVzaWRlbnRlIGVuIGVsIGV4dHJhbmplcm8uIEVzIHJlcXVlcmlkbyBjdWFuZG8gc2UgaW5jbHV5YSBlbCBjb21wbGVtZW50byBkZSBjb21lcmNpbyBleHRlcmlvci48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjQwIi8+DQoJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iUmVnaW1lbkZpc2NhbFJlY2VwdG9yIiB0eXBlPSJjYXRDRkRJOmNfUmVnaW1lbkZpc2NhbCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGluY29ycG9yYXIgbGEgY2xhdmUgZGVsIHLDqWdpbWVuIGZpc2NhbCBkZWwgY29udHJpYnV5ZW50ZSByZWNlcHRvciBhbCBxdWUgYXBsaWNhcsOhIGVsIGVmZWN0byBmaXNjYWwgZGUgZXN0ZSBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlVzb0NGREkiIHR5cGU9ImNhdENGREk6Y19Vc29DRkRJIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgbGEgY2xhdmUgZGVsIHVzbyBxdWUgZGFyw6EgYSBlc3RhIGZhY3R1cmEgZWwgcmVjZXB0b3IgZGVsIENGREkuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCTwveHM6ZWxlbWVudD4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJDb25jZXB0b3MiPg0KCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgbGlzdGFyIGxvcyBjb25jZXB0b3MgY3ViaWVydG9zIHBvciBlbCBjb21wcm9iYW50ZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IkNvbmNlcHRvIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+DQoJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyByZXF1ZXJpZG8gcGFyYSByZWdpc3RyYXIgbGEgaW5mb3JtYWNpw7NuIGRldGFsbGFkYSBkZSB1biBiaWVuIG8gc2VydmljaW8gYW1wYXJhZG8gZW4gZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJJbXB1ZXN0b3MiIG1pbk9jY3Vycz0iMCI+DQoJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyBjb25kaWNpb25hbCBwYXJhIGNhcHR1cmFyIGxvcyBpbXB1ZXN0b3MgYXBsaWNhYmxlcyBhbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IlRyYXNsYWRvcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgYXNlbnRhciBsb3MgaW1wdWVzdG9zIHRyYXNsYWRhZG9zIGFwbGljYWJsZXMgYWwgcHJlc2VudGUgY29uY2VwdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJUcmFzbGFkbyIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgYXNlbnRhciBsYSBpbmZvcm1hY2nDs24gZGV0YWxsYWRhIGRlIHVuIHRyYXNsYWRvIGRlIGltcHVlc3RvcyBhcGxpY2FibGUgYWwgcHJlc2VudGUgY29uY2VwdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQmFzZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGJhc2UgcGFyYSBlbCBjw6FsY3VsbyBkZWwgaW1wdWVzdG8sIGxhIGRldGVybWluYWNpw7NuIGRlIGxhIGJhc2Ugc2UgcmVhbGl6YSBkZSBhY3VlcmRvIGNvbiBsYXMgZGlzcG9zaWNpb25lcyBmaXNjYWxlcyB2aWdlbnRlcy4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMSIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcHVlc3RvIiB0eXBlPSJjYXRDRkRJOmNfSW1wdWVzdG8iIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBzZcOxYWxhciBsYSBjbGF2ZSBkZWwgdGlwbyBkZSBpbXB1ZXN0byB0cmFzbGFkYWRvIGFwbGljYWJsZSBhbCBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRpcG9GYWN0b3IiIHR5cGU9ImNhdENGREk6Y19UaXBvRmFjdG9yIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgbGEgY2xhdmUgZGVsIHRpcG8gZGUgZmFjdG9yIHF1ZSBzZSBhcGxpY2EgYSBsYSBiYXNlIGRlbCBpbXB1ZXN0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRhc2FPQ3VvdGEiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIHNlw7FhbGFyIGVsIHZhbG9yIGRlIGxhIHRhc2EgbyBjdW90YSBkZWwgaW1wdWVzdG8gcXVlIHNlIHRyYXNsYWRhIHBhcmEgZWwgcHJlc2VudGUgY29uY2VwdG8uIEVzIHJlcXVlcmlkbyBjdWFuZG8gZWwgYXRyaWJ1dG8gVGlwb0ZhY3RvciB0ZW5nYSB1bmEgY2xhdmUgcXVlIGNvcnJlc3BvbmRhIGEgVGFzYSBvIEN1b3RhLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpkZWNpbWFsIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpmcmFjdGlvbkRpZ2l0cyB2YWx1ZT0iNiIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMC4wMDAwMDAiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXBvcnRlIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBzZcOxYWxhciBlbCBpbXBvcnRlIGRlbCBpbXB1ZXN0byB0cmFzbGFkYWRvIHF1ZSBhcGxpY2EgYWwgY29uY2VwdG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLiBFcyByZXF1ZXJpZG8gY3VhbmRvIFRpcG9GYWN0b3Igc2VhIFRhc2EgbyBDdW90YS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJPC94czplbGVtZW50Pg0KCQkJCQkJCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iUmV0ZW5jaW9uZXMiIG1pbk9jY3Vycz0iMCI+DQoJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyBvcGNpb25hbCBwYXJhIGFzZW50YXIgbG9zIGltcHVlc3RvcyByZXRlbmlkb3MgYXBsaWNhYmxlcyBhbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IlJldGVuY2lvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgYXNlbnRhciBsYSBpbmZvcm1hY2nDs24gZGV0YWxsYWRhIGRlIHVuYSByZXRlbmNpw7NuIGRlIGltcHVlc3RvcyBhcGxpY2FibGUgYWwgcHJlc2VudGUgY29uY2VwdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQmFzZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGJhc2UgcGFyYSBlbCBjw6FsY3VsbyBkZSBsYSByZXRlbmNpw7NuLCBsYSBkZXRlcm1pbmFjacOzbiBkZSBsYSBiYXNlIHNlIHJlYWxpemEgZGUgYWN1ZXJkbyBjb24gbGFzIGRpc3Bvc2ljaW9uZXMgZmlzY2FsZXMgdmlnZW50ZXMuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpkZWNpbWFsIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpmcmFjdGlvbkRpZ2l0cyB2YWx1ZT0iNiIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMC4wMDAwMDEiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXB1ZXN0byIgdHlwZT0iY2F0Q0ZESTpjX0ltcHVlc3RvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgbGEgY2xhdmUgZGVsIHRpcG8gZGUgaW1wdWVzdG8gcmV0ZW5pZG8gYXBsaWNhYmxlIGFsIGNvbmNlcHRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVGlwb0ZhY3RvciIgdHlwZT0iY2F0Q0ZESTpjX1RpcG9GYWN0b3IiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBzZcOxYWxhciBsYSBjbGF2ZSBkZWwgdGlwbyBkZSBmYWN0b3IgcXVlIHNlIGFwbGljYSBhIGxhIGJhc2UgZGVsIGltcHVlc3RvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVGFzYU9DdW90YSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIHRhc2EgbyBjdW90YSBkZWwgaW1wdWVzdG8gcXVlIHNlIHJldGllbmUgcGFyYSBlbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6ZGVjaW1hbCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjAuMDAwMDAwIi8+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCQk8eHM6ZnJhY3Rpb25EaWdpdHMgdmFsdWU9IjYiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iSW1wb3J0ZSIgdHlwZT0idGRDRkRJOnRfSW1wb3J0ZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGVsIGltcG9ydGUgZGVsIGltcHVlc3RvIHJldGVuaWRvIHF1ZSBhcGxpY2EgYWwgY29uY2VwdG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCQkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJPC94czplbGVtZW50Pg0KCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IkFDdWVudGFUZXJjZXJvcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgcmVnaXN0cmFyIGluZm9ybWFjacOzbiBkZWwgY29udHJpYnV5ZW50ZSBUZXJjZXJvLCBhIGN1ZW50YSBkZWwgcXVlIHNlIHJlYWxpemEgbGEgb3BlcmFjacOzbi48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZmNBQ3VlbnRhVGVyY2Vyb3MiIHR5cGU9InRkQ0ZESTp0X1JGQyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBsYSBDbGF2ZSBkZWwgUmVnaXN0cm8gRmVkZXJhbCBkZSBDb250cmlidXllbnRlcyBkZWwgY29udHJpYnV5ZW50ZSBUZXJjZXJvLCBhIGN1ZW50YSBkZWwgcXVlIHNlIHJlYWxpemEgbGEgb3BlcmFjacOzbi48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik5vbWJyZUFDdWVudGFUZXJjZXJvcyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHJlZ2lzdHJhciBlbCBub21icmUsIGRlbm9taW5hY2nDs24gbyByYXrDs24gc29jaWFsIGRlbCBjb250cmlidXllbnRlIFRlcmNlcm8gY29ycmVzcG9uZGllbnRlIGNvbiBlbCBSZmMsIGEgY3VlbnRhIGRlbCBxdWUgc2UgcmVhbGl6YSBsYSBvcGVyYWNpw7NuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMzAwIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMzAwfSIvPg0KCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSZWdpbWVuRmlzY2FsQUN1ZW50YVRlcmNlcm9zIiB0eXBlPSJjYXRDRkRJOmNfUmVnaW1lbkZpc2NhbCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGluY29ycG9yYXIgbGEgY2xhdmUgZGVsIHLDqWdpbWVuIGRlbCBjb250cmlidXllbnRlIFRlcmNlcm8sIGEgY3VlbnRhIGRlbCBxdWUgc2UgcmVhbGl6YSBsYSBvcGVyYWNpw7NuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRG9taWNpbGlvRmlzY2FsQUN1ZW50YVRlcmNlcm9zIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgaW5jb3Jwb3JhciBlbCBjw7NkaWdvIHBvc3RhbCBkZWwgZG9taWNpbGlvIGZpc2NhbCBkZWwgVGVyY2VybywgYSBjdWVudGEgZGVsIHF1ZSBzZSByZWFsaXphIGxhIG9wZXJhY2nDs24uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQkJCQkJCQkJCQk8eHM6bGVuZ3RoIHZhbHVlPSI1Ii8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05XXs1fSIvPg0KCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJJbmZvcm1hY2lvbkFkdWFuZXJhIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgaW50cm9kdWNpciBsYSBpbmZvcm1hY2nDs24gYWR1YW5lcmEgYXBsaWNhYmxlIGN1YW5kbyBzZSB0cmF0ZSBkZSB2ZW50YXMgZGUgcHJpbWVyYSBtYW5vIGRlIG1lcmNhbmPDrWFzIGltcG9ydGFkYXMgbyBzZSB0cmF0ZSBkZSBvcGVyYWNpb25lcyBkZSBjb21lcmNpbyBleHRlcmlvciBjb24gYmllbmVzIG8gc2VydmljaW9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik51bWVyb1BlZGltZW50byIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGVsIG7Dum1lcm8gZGVsIHBlZGltZW50byBxdWUgYW1wYXJhIGxhIGltcG9ydGFjacOzbiBkZWwgYmllbiBxdWUgc2UgZXhwcmVzYSBlbiBlbCBzaWd1aWVudGUgZm9ybWF0bzogw7psdGltb3MgMiBkw61naXRvcyBkZWwgYcOxbyBkZSB2YWxpZGFjacOzbiBzZWd1aWRvcyBwb3IgZG9zIGVzcGFjaW9zLCAyIGTDrWdpdG9zIGRlIGxhIGFkdWFuYSBkZSBkZXNwYWNobyBzZWd1aWRvcyBwb3IgZG9zIGVzcGFjaW9zLCA0IGTDrWdpdG9zIGRlbCBuw7ptZXJvIGRlIGxhIHBhdGVudGUgc2VndWlkb3MgcG9yIGRvcyBlc3BhY2lvcywgMSBkw61naXRvIHF1ZSBjb3JyZXNwb25kZSBhbCDDumx0aW1vIGTDrWdpdG8gZGVsIGHDsW8gZW4gY3Vyc28sIHNhbHZvIHF1ZSBzZSB0cmF0ZSBkZSB1biBwZWRpbWVudG8gY29uc29saWRhZG8gaW5pY2lhZG8gZW4gZWwgYcOxbyBpbm1lZGlhdG8gYW50ZXJpb3IgbyBkZWwgcGVkaW1lbnRvIG9yaWdpbmFsIGRlIHVuYSByZWN0aWZpY2FjacOzbiwgc2VndWlkbyBkZSA2IGTDrWdpdG9zIGRlIGxhIG51bWVyYWNpw7NuIHByb2dyZXNpdmEgcG9yIGFkdWFuYS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCQkJCTx4czpsZW5ndGggdmFsdWU9IjIxIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iWzAtOV17Mn0gIFswLTldezJ9ICBbMC05XXs0fSAgWzAtOV17N30iLz4NCgkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQ3VlbnRhUHJlZGlhbCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+DQoJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+Tm9kbyBvcGNpb25hbCBwYXJhIGFzZW50YXIgZWwgbsO6bWVybyBkZSBjdWVudGEgcHJlZGlhbCBjb24gZWwgcXVlIGZ1ZSByZWdpc3RyYWRvIGVsIGlubXVlYmxlLCBlbiBlbCBzaXN0ZW1hIGNhdGFzdHJhbCBkZSBsYSBlbnRpZGFkIGZlZGVyYXRpdmEgZGUgcXVlIHRyYXRlLCBvIGJpZW4gcGFyYSBpbmNvcnBvcmFyIGxvcyBkYXRvcyBkZSBpZGVudGlmaWNhY2nDs24gZGVsIGNlcnRpZmljYWRvIGRlIHBhcnRpY2lwYWNpw7NuIGlubW9iaWxpYXJpYSBubyBhbW9ydGl6YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJOdW1lcm8iIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBlbCBuw7ptZXJvIGRlIGxhIGN1ZW50YSBwcmVkaWFsIGRlbCBpbm11ZWJsZSBjdWJpZXJ0byBwb3IgZWwgcHJlc2VudGUgY29uY2VwdG8sIG8gYmllbiBwYXJhIGluY29ycG9yYXIgbG9zIGRhdG9zIGRlIGlkZW50aWZpY2FjacOzbiBkZWwgY2VydGlmaWNhZG8gZGUgcGFydGljaXBhY2nDs24gaW5tb2JpbGlhcmlhIG5vIGFtb3J0aXphYmxlLCB0cmF0w6FuZG9zZSBkZSBhcnJlbmRhbWllbnRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMTUwIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05YS16QS1aXXsxLDE1MH0iLz4NCgkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQ29tcGxlbWVudG9Db25jZXB0byIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIGRvbmRlIHNlIGluY2x1eWVuIGxvcyBub2RvcyBjb21wbGVtZW50YXJpb3MgZGUgZXh0ZW5zacOzbiBhbCBjb25jZXB0byBkZWZpbmlkb3MgcG9yIGVsIFNBVCwgZGUgYWN1ZXJkbyBjb24gbGFzIGRpc3Bvc2ljaW9uZXMgcGFydGljdWxhcmVzIHBhcmEgdW4gc2VjdG9yIG8gYWN0aXZpZGFkIGVzcGVjw61maWNhLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJCQkJPHhzOmFueSBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iUGFydGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gb3BjaW9uYWwgcGFyYSBleHByZXNhciBsYXMgcGFydGVzIG8gY29tcG9uZW50ZXMgcXVlIGludGVncmFuIGxhIHRvdGFsaWRhZCBkZWwgY29uY2VwdG8gZXhwcmVzYWRvIGVuIGVsIGNvbXByb2JhbnRlIGZpc2NhbCBkaWdpdGFsIHBvciBJbnRlcm5ldC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IkluZm9ybWFjaW9uQWR1YW5lcmEiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gb3BjaW9uYWwgcGFyYSBpbnRyb2R1Y2lyIGxhIGluZm9ybWFjacOzbiBhZHVhbmVyYSBhcGxpY2FibGUgY3VhbmRvIHNlIHRyYXRlIGRlIHZlbnRhcyBkZSBwcmltZXJhIG1hbm8gZGUgbWVyY2FuY8OtYXMgaW1wb3J0YWRhcyBvIHNlIHRyYXRlIGRlIG9wZXJhY2lvbmVzIGRlIGNvbWVyY2lvIGV4dGVyaW9yIGNvbiBiaWVuZXMgbyBzZXJ2aWNpb3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTnVtZXJvUGVkaW1lbnRvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgZWwgbsO6bWVybyBkZWwgcGVkaW1lbnRvIHF1ZSBhbXBhcmEgbGEgaW1wb3J0YWNpw7NuIGRlbCBiaWVuIHF1ZSBzZSBleHByZXNhIGVuIGVsIHNpZ3VpZW50ZSBmb3JtYXRvOiDDumx0aW1vcyAyIGTDrWdpdG9zIGRlbCBhw7FvIGRlIHZhbGlkYWNpw7NuIHNlZ3VpZG9zIHBvciBkb3MgZXNwYWNpb3MsIDIgZMOtZ2l0b3MgZGUgbGEgYWR1YW5hIGRlIGRlc3BhY2hvIHNlZ3VpZG9zIHBvciBkb3MgZXNwYWNpb3MsIDQgZMOtZ2l0b3MgZGVsIG7Dum1lcm8gZGUgbGEgcGF0ZW50ZSBzZWd1aWRvcyBwb3IgZG9zIGVzcGFjaW9zLCAxIGTDrWdpdG8gcXVlIGNvcnJlc3BvbmRlIGFsIMO6bHRpbW8gZMOtZ2l0byBkZWwgYcOxbyBlbiBjdXJzbywgc2Fsdm8gcXVlIHNlIHRyYXRlIGRlIHVuIHBlZGltZW50byBjb25zb2xpZGFkbyBpbmljaWFkbyBlbiBlbCBhw7FvIGlubWVkaWF0byBhbnRlcmlvciBvIGRlbCBwZWRpbWVudG8gb3JpZ2luYWwgZGUgdW5hIHJlY3RpZmljYWNpw7NuLCBzZWd1aWRvIGRlIDYgZMOtZ2l0b3MgZGUgbGEgbnVtZXJhY2nDs24gcHJvZ3Jlc2l2YSBwb3IgYWR1YW5hLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iMjEiLz4NCgkJCQkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbMC05XXsyfSAgWzAtOV17Mn0gIFswLTldezR9ICBbMC05XXs3fSIvPg0KCQkJCQkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCQkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkNsYXZlUHJvZFNlcnYiIHR5cGU9ImNhdENGREk6Y19DbGF2ZVByb2RTZXJ2IiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgbGEgY2xhdmUgZGVsIHByb2R1Y3RvIG8gZGVsIHNlcnZpY2lvIGFtcGFyYWRvIHBvciBsYSBwcmVzZW50ZSBwYXJ0ZS4gRXMgcmVxdWVyaWRvIHkgZGViZW4gdXRpbGl6YXIgbGFzIGNsYXZlcyBkZWwgY2F0w6Fsb2dvIGRlIHByb2R1Y3RvcyB5IHNlcnZpY2lvcywgY3VhbmRvIGxvcyBjb25jZXB0b3MgcXVlIHJlZ2lzdHJlbiBwb3Igc3VzIGFjdGl2aWRhZGVzIGNvcnJlc3BvbmRhbiBjb24gZGljaG9zIGNvbmNlcHRvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik5vSWRlbnRpZmljYWNpb24iIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIGV4cHJlc2FyIGVsIG7Dum1lcm8gZGUgc2VyaWUsIG7Dum1lcm8gZGUgcGFydGUgZGVsIGJpZW4gbyBpZGVudGlmaWNhZG9yIGRlbCBwcm9kdWN0byBvIGRlbCBzZXJ2aWNpbyBhbXBhcmFkbyBwb3IgbGEgcHJlc2VudGUgcGFydGUuIE9wY2lvbmFsbWVudGUgc2UgcHVlZGUgdXRpbGl6YXIgY2xhdmVzIGRlbCBlc3TDoW5kYXIgR1RJTi48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjEwMCIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDEwMH0iLz4NCgkJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ2FudGlkYWQiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBsYSBjYW50aWRhZCBkZSBiaWVuZXMgbyBzZXJ2aWNpb3MgZGVsIHRpcG8gcGFydGljdWxhciBkZWZpbmlkbyBwb3IgbGEgcHJlc2VudGUgcGFydGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJCQkJCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlVuaWRhZCIgdXNlPSJvcHRpb25hbCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIG9wY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgdW5pZGFkIGRlIG1lZGlkYSBwcm9waWEgZGUgbGEgb3BlcmFjacOzbiBkZWwgZW1pc29yLCBhcGxpY2FibGUgcGFyYSBsYSBjYW50aWRhZCBleHByZXNhZGEgZW4gbGEgcGFydGUuIExhIHVuaWRhZCBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgZGVzY3JpcGNpw7NuIGRlIGxhIHBhcnRlLiA8L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjIwIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMjB9Ii8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkRlc2NyaXBjaW9uIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcHJlY2lzYXIgbGEgZGVzY3JpcGNpw7NuIGRlbCBiaWVuIG8gc2VydmljaW8gY3ViaWVydG8gcG9yIGxhIHByZXNlbnRlIHBhcnRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMTAwMCIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDEwMDB9Ii8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlZhbG9yVW5pdGFyaW8iIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIHByZWNpc2FyIGVsIHZhbG9yIG8gcHJlY2lvIHVuaXRhcmlvIGRlbCBiaWVuIG8gc2VydmljaW8gY3ViaWVydG8gcG9yIGxhIHByZXNlbnRlIHBhcnRlLiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcG9ydGUiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIHByZWNpc2FyIGVsIGltcG9ydGUgdG90YWwgZGUgbG9zIGJpZW5lcyBvIHNlcnZpY2lvcyBkZSBsYSBwcmVzZW50ZSBwYXJ0ZS4gRGViZSBzZXIgZXF1aXZhbGVudGUgYWwgcmVzdWx0YWRvIGRlIG11bHRpcGxpY2FyIGxhIGNhbnRpZGFkIHBvciBlbCB2YWxvciB1bml0YXJpbyBleHByZXNhZG8gZW4gbGEgcGFydGUuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJDbGF2ZVByb2RTZXJ2IiB0eXBlPSJjYXRDRkRJOmNfQ2xhdmVQcm9kU2VydiIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGxhIGNsYXZlIGRlbCBwcm9kdWN0byBvIGRlbCBzZXJ2aWNpbyBhbXBhcmFkbyBwb3IgZWwgcHJlc2VudGUgY29uY2VwdG8uIEVzIHJlcXVlcmlkbyB5IGRlYmVuIHV0aWxpemFyIGxhcyBjbGF2ZXMgZGVsIGNhdMOhbG9nbyBkZSBwcm9kdWN0b3MgeSBzZXJ2aWNpb3MsIGN1YW5kbyBsb3MgY29uY2VwdG9zIHF1ZSByZWdpc3RyZW4gcG9yIHN1cyBhY3RpdmlkYWRlcyBjb3JyZXNwb25kYW4gY29uIGRpY2hvcyBjb25jZXB0b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJOb0lkZW50aWZpY2FjaW9uIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gb3BjaW9uYWwgcGFyYSBleHByZXNhciBlbCBuw7ptZXJvIGRlIHBhcnRlLCBpZGVudGlmaWNhZG9yIGRlbCBwcm9kdWN0byBvIGRlbCBzZXJ2aWNpbywgbGEgY2xhdmUgZGUgcHJvZHVjdG8gbyBzZXJ2aWNpbywgU0tVIG8gZXF1aXZhbGVudGUsIHByb3BpYSBkZSBsYSBvcGVyYWNpw7NuIGRlbCBlbWlzb3IsIGFtcGFyYWRvIHBvciBlbCBwcmVzZW50ZSBjb25jZXB0by4gT3BjaW9uYWxtZW50ZSBzZSBwdWVkZSB1dGlsaXphciBjbGF2ZXMgZGVsIGVzdMOhbmRhciBHVElOLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQk8eHM6bWluTGVuZ3RoIHZhbHVlPSIxIi8+DQoJCQkJCQkJCQkJCQk8eHM6bWF4TGVuZ3RoIHZhbHVlPSIxMDAiLz4NCgkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMTAwfSIvPg0KCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJDYW50aWRhZCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHByZWNpc2FyIGxhIGNhbnRpZGFkIGRlIGJpZW5lcyBvIHNlcnZpY2lvcyBkZWwgdGlwbyBwYXJ0aWN1bGFyIGRlZmluaWRvIHBvciBlbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6ZGVjaW1hbCI+DQoJCQkJCQkJCQkJCQk8eHM6ZnJhY3Rpb25EaWdpdHMgdmFsdWU9IjYiLz4NCgkJCQkJCQkJCQkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjAuMDAwMDAxIi8+DQoJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ2xhdmVVbmlkYWQiIHR5cGU9ImNhdENGREk6Y19DbGF2ZVVuaWRhZCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHByZWNpc2FyIGxhIGNsYXZlIGRlIHVuaWRhZCBkZSBtZWRpZGEgZXN0YW5kYXJpemFkYSBhcGxpY2FibGUgcGFyYSBsYSBjYW50aWRhZCBleHByZXNhZGEgZW4gZWwgY29uY2VwdG8uIExhIHVuaWRhZCBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgZGVzY3JpcGNpw7NuIGRlbCBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlVuaWRhZCIgdXNlPSJvcHRpb25hbCI+DQoJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIG9wY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgdW5pZGFkIGRlIG1lZGlkYSBwcm9waWEgZGUgbGEgb3BlcmFjacOzbiBkZWwgZW1pc29yLCBhcGxpY2FibGUgcGFyYSBsYSBjYW50aWRhZCBleHByZXNhZGEgZW4gZWwgY29uY2VwdG8uIExhIHVuaWRhZCBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgZGVzY3JpcGNpw7NuIGRlbCBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCQkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjIwIi8+DQoJCQkJCQkJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCQkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMjB9Ii8+DQoJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkRlc2NyaXBjaW9uIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcHJlY2lzYXIgbGEgZGVzY3JpcGNpw7NuIGRlbCBiaWVuIG8gc2VydmljaW8gY3ViaWVydG8gcG9yIGVsIHByZXNlbnRlIGNvbmNlcHRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCQkJCQkJPHhzOm1pbkxlbmd0aCB2YWx1ZT0iMSIvPg0KCQkJCQkJCQkJCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMTAwMCIvPg0KCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDEwMDB9Ii8+DQoJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlZhbG9yVW5pdGFyaW8iIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBlbCB2YWxvciBvIHByZWNpbyB1bml0YXJpbyBkZWwgYmllbiBvIHNlcnZpY2lvIGN1YmllcnRvIHBvciBlbCBwcmVzZW50ZSBjb25jZXB0by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcG9ydGUiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBwcmVjaXNhciBlbCBpbXBvcnRlIHRvdGFsIGRlIGxvcyBiaWVuZXMgbyBzZXJ2aWNpb3MgZGVsIHByZXNlbnRlIGNvbmNlcHRvLiBEZWJlIHNlciBlcXVpdmFsZW50ZSBhbCByZXN1bHRhZG8gZGUgbXVsdGlwbGljYXIgbGEgY2FudGlkYWQgcG9yIGVsIHZhbG9yIHVuaXRhcmlvIGV4cHJlc2FkbyBlbiBlbCBjb25jZXB0by4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuIDwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRGVzY3VlbnRvIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gb3BjaW9uYWwgcGFyYSByZXByZXNlbnRhciBlbCBpbXBvcnRlIGRlIGxvcyBkZXNjdWVudG9zIGFwbGljYWJsZXMgYWwgY29uY2VwdG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iT2JqZXRvSW1wIiB0eXBlPSJjYXRDRkRJOmNfT2JqZXRvSW1wIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgZXhwcmVzYXIgc2kgbGEgb3BlcmFjacOzbiBjb21lcmNpYWwgZXMgb2JqZXRvIG8gbm8gZGUgaW1wdWVzdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJPC94czplbGVtZW50Pg0KCQkJCTx4czplbGVtZW50IG5hbWU9IkltcHVlc3RvcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIGNvbmRpY2lvbmFsIHBhcmEgZXhwcmVzYXIgZWwgcmVzdW1lbiBkZSBsb3MgaW1wdWVzdG9zIGFwbGljYWJsZXMuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJSZXRlbmNpb25lcyIgbWluT2NjdXJzPSIwIj4NCgkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIGNvbmRpY2lvbmFsIHBhcmEgY2FwdHVyYXIgbG9zIGltcHVlc3RvcyByZXRlbmlkb3MgYXBsaWNhYmxlcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBlbiBsb3MgY29uY2VwdG9zIHNlIHJlZ2lzdHJlIGFsZ8O6biBpbXB1ZXN0byByZXRlbmlkby48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCQkJCTx4czplbGVtZW50IG5hbWU9IlJldGVuY2lvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gcmVxdWVyaWRvIHBhcmEgbGEgaW5mb3JtYWNpw7NuIGRldGFsbGFkYSBkZSB1bmEgcmV0ZW5jacOzbiBkZSBpbXB1ZXN0byBlc3BlY8OtZmljby48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXB1ZXN0byIgdHlwZT0iY2F0Q0ZESTpjX0ltcHVlc3RvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgbGEgY2xhdmUgZGVsIHRpcG8gZGUgaW1wdWVzdG8gcmV0ZW5pZG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJJbXBvcnRlIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgc2XDsWFsYXIgZWwgbW9udG8gZGVsIGltcHVlc3RvIHJldGVuaWRvLiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCQkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQkJPC94czplbGVtZW50Pg0KCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iVHJhc2xhZG9zIiBtaW5PY2N1cnM9IjAiPg0KCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPk5vZG8gY29uZGljaW9uYWwgcGFyYSBjYXB0dXJhciBsb3MgaW1wdWVzdG9zIHRyYXNsYWRhZG9zIGFwbGljYWJsZXMuIEVzIHJlcXVlcmlkbyBjdWFuZG8gZW4gbG9zIGNvbmNlcHRvcyBzZSByZWdpc3RyZSB1biBpbXB1ZXN0byB0cmFzbGFkYWRvLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iVHJhc2xhZG8iIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCgkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIHJlcXVlcmlkbyBwYXJhIGxhIGluZm9ybWFjacOzbiBkZXRhbGxhZGEgZGUgdW4gdHJhc2xhZG8gZGUgaW1wdWVzdG8gZXNwZWPDrWZpY28uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQmFzZSIgdHlwZT0idGRDRkRJOnRfSW1wb3J0ZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIHN1bWEgZGUgbG9zIGF0cmlidXRvcyBCYXNlIGRlIGxvcyBjb25jZXB0b3MgZGVsIGltcHVlc3RvIHRyYXNsYWRhZG8uIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iSW1wdWVzdG8iIHR5cGU9ImNhdENGREk6Y19JbXB1ZXN0byIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGNsYXZlIGRlbCB0aXBvIGRlIGltcHVlc3RvIHRyYXNsYWRhZG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJUaXBvRmFjdG9yIiB0eXBlPSJjYXRDRkRJOmNfVGlwb0ZhY3RvciIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCQkJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIHNlw7FhbGFyIGxhIGNsYXZlIGRlbCB0aXBvIGRlIGZhY3RvciBxdWUgc2UgYXBsaWNhIGEgbGEgYmFzZSBkZWwgaW1wdWVzdG8uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJUYXNhT0N1b3RhIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBzZcOxYWxhciBlbCB2YWxvciBkZSBsYSB0YXNhIG8gY3VvdGEgZGVsIGltcHVlc3RvIHF1ZSBzZSB0cmFzbGFkYSBwb3IgbG9zIGNvbmNlcHRvcyBhbXBhcmFkb3MgZW4gZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCQkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJCQkJCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQkJCQkJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMCIvPg0KCQkJCQkJCQkJCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCQkJCQkJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJCQkJCQkJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkltcG9ydGUiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCQkJCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQkJCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIHNlw7FhbGFyIGxhIHN1bWEgZGVsIGltcG9ydGUgZGVsIGltcHVlc3RvIHRyYXNsYWRhZG8sIGFncnVwYWRvIHBvciBpbXB1ZXN0bywgVGlwb0ZhY3RvciB5IFRhc2FPQ3VvdGEuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQkJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTwveHM6ZWxlbWVudD4NCgkJCQkJCTwveHM6c2VxdWVuY2U+DQoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRvdGFsSW1wdWVzdG9zUmV0ZW5pZG9zIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSBleHByZXNhciBlbCB0b3RhbCBkZSBsb3MgaW1wdWVzdG9zIHJldGVuaWRvcyBxdWUgc2UgZGVzcHJlbmRlbiBkZSBsb3MgY29uY2VwdG9zIGV4cHJlc2Fkb3MgZW4gZWwgY29tcHJvYmFudGUgZmlzY2FsIGRpZ2l0YWwgcG9yIEludGVybmV0LiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBlbiBsb3MgY29uY2VwdG9zIHNlIHJlZ2lzdHJlbiBpbXB1ZXN0b3MgcmV0ZW5pZG9zLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVG90YWxJbXB1ZXN0b3NUcmFzbGFkYWRvcyIgdHlwZT0idGRDRkRJOnRfSW1wb3J0ZSIgdXNlPSJvcHRpb25hbCI+DQoJCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIGNvbmRpY2lvbmFsIHBhcmEgZXhwcmVzYXIgZWwgdG90YWwgZGUgbG9zIGltcHVlc3RvcyB0cmFzbGFkYWRvcyBxdWUgc2UgZGVzcHJlbmRlbiBkZSBsb3MgY29uY2VwdG9zIGV4cHJlc2Fkb3MgZW4gZWwgY29tcHJvYmFudGUgZmlzY2FsIGRpZ2l0YWwgcG9yIEludGVybmV0LiBObyBzZSBwZXJtaXRlbiB2YWxvcmVzIG5lZ2F0aXZvcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBlbiBsb3MgY29uY2VwdG9zIHNlIHJlZ2lzdHJlbiBpbXB1ZXN0b3MgdHJhc2xhZGFkb3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJCTwveHM6YXR0cmlidXRlPg0KCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCTwveHM6ZWxlbWVudD4NCgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGVtZW50byIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIGRvbmRlIHNlIGluY2x1eWUgZWwgY29tcGxlbWVudG8gVGltYnJlIEZpc2NhbCBEaWdpdGFsIGRlIG1hbmVyYSBvYmxpZ2F0b3JpYSB5IGxvcyBub2RvcyBjb21wbGVtZW50YXJpb3MgZGV0ZXJtaW5hZG9zIHBvciBlbCBTQVQsIGRlIGFjdWVyZG8gY29uIGxhcyBkaXNwb3NpY2lvbmVzIHBhcnRpY3VsYXJlcyBwYXJhIHVuIHNlY3RvciBvIGFjdGl2aWRhZCBlc3BlY8OtZmljYS48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQkJCTx4czphbnkgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJPHhzOmVsZW1lbnQgbmFtZT0iQWRkZW5kYSIgbWluT2NjdXJzPSIwIj4NCgkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5Ob2RvIG9wY2lvbmFsIHBhcmEgcmVjaWJpciBsYXMgZXh0ZW5zaW9uZXMgYWwgcHJlc2VudGUgZm9ybWF0byBxdWUgc2VhbiBkZSB1dGlsaWRhZCBhbCBjb250cmlidXllbnRlLiBQYXJhIGxhcyByZWdsYXMgZGUgdXNvIGRlbCBtaXNtbywgcmVmZXJpcnNlIGFsIGZvcm1hdG8gb3JpZ2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6Y29tcGxleFR5cGU+DQoJCQkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCQkJPHhzOmFueSBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQkJPC94czpzZXF1ZW5jZT4NCgkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQk8L3hzOmVsZW1lbnQ+DQoJCQk8L3hzOnNlcXVlbmNlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJWZXJzaW9uIiB1c2U9InJlcXVpcmVkIiBmaXhlZD0iNC4wIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIGNvbiB2YWxvciBwcmVmaWphZG8gYSA0LjAgcXVlIGluZGljYSBsYSB2ZXJzacOzbiBkZWwgZXN0w6FuZGFyIGJham8gZWwgcXVlIHNlIGVuY3VlbnRyYSBleHByZXNhZG8gZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iU2VyaWUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBvcGNpb25hbCBwYXJhIHByZWNpc2FyIGxhIHNlcmllIHBhcmEgY29udHJvbCBpbnRlcm5vIGRlbCBjb250cmlidXllbnRlLiBFc3RlIGF0cmlidXRvIGFjZXB0YSB1bmEgY2FkZW5hIGRlIGNhcmFjdGVyZXMuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQk8eHM6bWluTGVuZ3RoIHZhbHVlPSIxIi8+DQoJCQkJCQk8eHM6bWF4TGVuZ3RoIHZhbHVlPSIyNSIvPg0KCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iW158XXsxLDI1fSIvPg0KCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJGb2xpbyIgdXNlPSJvcHRpb25hbCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIG9wY2lvbmFsIHBhcmEgY29udHJvbCBpbnRlcm5vIGRlbCBjb250cmlidXllbnRlIHF1ZSBleHByZXNhIGVsIGZvbGlvIGRlbCBjb21wcm9iYW50ZSwgYWNlcHRhIHVuYSBjYWRlbmEgZGUgY2FyYWN0ZXJlcy48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjQwIi8+DQoJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsNDB9Ii8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkZlY2hhIiB0eXBlPSJ0ZENGREk6dF9GZWNoYUgiIHVzZT0icmVxdWlyZWQiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSBsYSBleHByZXNpw7NuIGRlIGxhIGZlY2hhIHkgaG9yYSBkZSBleHBlZGljacOzbiBkZWwgQ29tcHJvYmFudGUgRmlzY2FsIERpZ2l0YWwgcG9yIEludGVybmV0LiBTZSBleHByZXNhIGVuIGxhIGZvcm1hIEFBQUEtTU0tRERUaGg6bW06c3MgeSBkZWJlIGNvcnJlc3BvbmRlciBjb24gbGEgaG9yYSBsb2NhbCBkb25kZSBzZSBleHBpZGUgZWwgY29tcHJvYmFudGUuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJTZWxsbyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGNvbnRlbmVyIGVsIHNlbGxvIGRpZ2l0YWwgZGVsIGNvbXByb2JhbnRlIGZpc2NhbCwgYWwgcXVlIGhhY2VuIHJlZmVyZW5jaWEgbGFzIHJlZ2xhcyBkZSByZXNvbHVjacOzbiBtaXNjZWzDoW5lYSB2aWdlbnRlLiBFbCBzZWxsbyBkZWJlIHNlciBleHByZXNhZG8gY29tbyB1bmEgY2FkZW5hIGRlIHRleHRvIGVuIGZvcm1hdG8gQmFzZSA2NC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJGb3JtYVBhZ28iIHR5cGU9ImNhdENGREk6Y19Gb3JtYVBhZ28iIHVzZT0ib3B0aW9uYWwiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIGV4cHJlc2FyIGxhIGNsYXZlIGRlIGxhIGZvcm1hIGRlIHBhZ28gZGUgbG9zIGJpZW5lcyBvIHNlcnZpY2lvcyBhbXBhcmFkb3MgcG9yIGVsIGNvbXByb2JhbnRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTm9DZXJ0aWZpY2FkbyIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGVsIG7Dum1lcm8gZGUgc2VyaWUgZGVsIGNlcnRpZmljYWRvIGRlIHNlbGxvIGRpZ2l0YWwgcXVlIGFtcGFyYSBhbCBjb21wcm9iYW50ZSwgZGUgYWN1ZXJkbyBjb24gZWwgYWN1c2UgY29ycmVzcG9uZGllbnRlIGEgMjAgcG9zaWNpb25lcyBvdG9yZ2FkbyBwb3IgZWwgc2lzdGVtYSBkZWwgU0FULjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkNlcnRpZmljYWRvIiB1c2U9InJlcXVpcmVkIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHF1ZSBzaXJ2ZSBwYXJhIGluY29ycG9yYXIgZWwgY2VydGlmaWNhZG8gZGUgc2VsbG8gZGlnaXRhbCBxdWUgYW1wYXJhIGFsIGNvbXByb2JhbnRlLCBjb21vIHRleHRvIGVuIGZvcm1hdG8gYmFzZSA2NC48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJDb25kaWNpb25lc0RlUGFnbyIgdXNlPSJvcHRpb25hbCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIGNvbmRpY2lvbmFsIHBhcmEgZXhwcmVzYXIgbGFzIGNvbmRpY2lvbmVzIGNvbWVyY2lhbGVzIGFwbGljYWJsZXMgcGFyYSBlbCBwYWdvIGRlbCBjb21wcm9iYW50ZSBmaXNjYWwgZGlnaXRhbCBwb3IgSW50ZXJuZXQuIEVzdGUgYXRyaWJ1dG8gcHVlZGUgc2VyIGNvbmRpY2lvbmFkbyBtZWRpYW50ZSBhdHJpYnV0b3MgbyBjb21wbGVtZW50b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQk8eHM6d2hpdGVTcGFjZSB2YWx1ZT0iY29sbGFwc2UiLz4NCgkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4NCgkJCQkJCTx4czptYXhMZW5ndGggdmFsdWU9IjEwMDAiLz4NCgkJCQkJCTx4czpwYXR0ZXJuIHZhbHVlPSJbXnxdezEsMTAwMH0iLz4NCgkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iU3ViVG90YWwiIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0icmVxdWlyZWQiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byByZXF1ZXJpZG8gcGFyYSByZXByZXNlbnRhciBsYSBzdW1hIGRlIGxvcyBpbXBvcnRlcyBkZSBsb3MgY29uY2VwdG9zIGFudGVzIGRlIGRlc2N1ZW50b3MgZSBpbXB1ZXN0by4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJEZXNjdWVudG8iIHR5cGU9InRkQ0ZESTp0X0ltcG9ydGUiIHVzZT0ib3B0aW9uYWwiPg0KCQkJCTx4czphbm5vdGF0aW9uPg0KCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5BdHJpYnV0byBjb25kaWNpb25hbCBwYXJhIHJlcHJlc2VudGFyIGVsIGltcG9ydGUgdG90YWwgZGUgbG9zIGRlc2N1ZW50b3MgYXBsaWNhYmxlcyBhbnRlcyBkZSBpbXB1ZXN0b3MuIE5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zLiBTZSBkZWJlIHJlZ2lzdHJhciBjdWFuZG8gZXhpc3RhbiBjb25jZXB0b3MgY29uIGRlc2N1ZW50by48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9Ik1vbmVkYSIgdHlwZT0iY2F0Q0ZESTpjX01vbmVkYSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGlkZW50aWZpY2FyIGxhIGNsYXZlIGRlIGxhIG1vbmVkYSB1dGlsaXphZGEgcGFyYSBleHByZXNhciBsb3MgbW9udG9zLCBjdWFuZG8gc2UgdXNhIG1vbmVkYSBuYWNpb25hbCBzZSByZWdpc3RyYSBNWE4uIENvbmZvcm1lIGNvbiBsYSBlc3BlY2lmaWNhY2nDs24gSVNPIDQyMTcuPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJUaXBvQ2FtYmlvIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSByZXByZXNlbnRhciBlbCB0aXBvIGRlIGNhbWJpbyBGSVggY29uZm9ybWUgY29uIGxhIG1vbmVkYSB1c2FkYS4gRXMgcmVxdWVyaWRvIGN1YW5kbyBsYSBjbGF2ZSBkZSBtb25lZGEgZXMgZGlzdGludGEgZGUgTVhOIHkgZGUgWFhYLiBFbCB2YWxvciBkZWJlIHJlZmxlamFyIGVsIG7Dum1lcm8gZGUgcGVzb3MgbWV4aWNhbm9zIHF1ZSBlcXVpdmFsZW4gYSB1bmEgdW5pZGFkIGRlIGxhIGRpdmlzYSBzZcOxYWxhZGEgZW4gZWwgYXRyaWJ1dG8gbW9uZWRhLiBTaSBlbCB2YWxvciBlc3TDoSBmdWVyYSBkZWwgcG9yY2VudGFqZSBhcGxpY2FibGUgYSBsYSBtb25lZGEgdG9tYWRvIGRlbCBjYXTDoWxvZ28gY19Nb25lZGEsIGVsIGVtaXNvciBkZWJlIG9idGVuZXIgZGVsIFBBQyBxdWUgdmF5YSBhIHRpbWJyYXIgZWwgQ0ZESSwgZGUgbWFuZXJhIG5vIGF1dG9tw6F0aWNhLCB1bmEgY2xhdmUgZGUgY29uZmlybWFjacOzbiBwYXJhIHJhdGlmaWNhciBxdWUgZWwgdmFsb3IgZXMgY29ycmVjdG8gZSBpbnRlZ3JhciBkaWNoYSBjbGF2ZSBlbiBlbCBhdHJpYnV0byBDb25maXJtYWNpb24uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KCQkJCQkJPHhzOmZyYWN0aW9uRGlnaXRzIHZhbHVlPSI2Ii8+DQoJCQkJCQk8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIwLjAwMDAwMSIvPg0KCQkJCQkJPHhzOndoaXRlU3BhY2UgdmFsdWU9ImNvbGxhcHNlIi8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlRvdGFsIiB0eXBlPSJ0ZENGREk6dF9JbXBvcnRlIiB1c2U9InJlcXVpcmVkIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgcmVwcmVzZW50YXIgbGEgc3VtYSBkZWwgc3VidG90YWwsIG1lbm9zIGxvcyBkZXNjdWVudG9zIGFwbGljYWJsZXMsIG3DoXMgbGFzIGNvbnRyaWJ1Y2lvbmVzIHJlY2liaWRhcyAoaW1wdWVzdG9zIHRyYXNsYWRhZG9zIC0gZmVkZXJhbGVzIHkvbyBsb2NhbGVzLCBkZXJlY2hvcywgcHJvZHVjdG9zLCBhcHJvdmVjaGFtaWVudG9zLCBhcG9ydGFjaW9uZXMgZGUgc2VndXJpZGFkIHNvY2lhbCwgY29udHJpYnVjaW9uZXMgZGUgbWVqb3JhcykgbWVub3MgbG9zIGltcHVlc3RvcyByZXRlbmlkb3MgZmVkZXJhbGVzIHkvbyBsb2NhbGVzLiBTaSBlbCB2YWxvciBlcyBzdXBlcmlvciBhbCBsw61taXRlIHF1ZSBlc3RhYmxlemNhIGVsIFNBVCBlbiBsYSBSZXNvbHVjacOzbiBNaXNjZWzDoW5lYSBGaXNjYWwgdmlnZW50ZSwgZWwgZW1pc29yIGRlYmUgb2J0ZW5lciBkZWwgUEFDIHF1ZSB2YXlhIGEgdGltYnJhciBlbCBDRkRJLCBkZSBtYW5lcmEgbm8gYXV0b23DoXRpY2EsIHVuYSBjbGF2ZSBkZSBjb25maXJtYWNpw7NuIHBhcmEgcmF0aWZpY2FyIHF1ZSBlbCB2YWxvciBlcyBjb3JyZWN0byBlIGludGVncmFyIGRpY2hhIGNsYXZlIGVuIGVsIGF0cmlidXRvIENvbmZpcm1hY2lvbi4gTm8gc2UgcGVybWl0ZW4gdmFsb3JlcyBuZWdhdGl2b3MuIDwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iVGlwb0RlQ29tcHJvYmFudGUiIHR5cGU9ImNhdENGREk6Y19UaXBvRGVDb21wcm9iYW50ZSIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIGxhIGNsYXZlIGRlbCBlZmVjdG8gZGVsIGNvbXByb2JhbnRlIGZpc2NhbCBwYXJhIGVsIGNvbnRyaWJ1eWVudGUgZW1pc29yLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRXhwb3J0YWNpb24iIHR5cGU9ImNhdENGREk6Y19FeHBvcnRhY2lvbiIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIHJlcXVlcmlkbyBwYXJhIGV4cHJlc2FyIHNpIGVsIGNvbXByb2JhbnRlIGFtcGFyYSB1bmEgb3BlcmFjacOzbiBkZSBleHBvcnRhY2nDs24uPC94czpkb2N1bWVudGF0aW9uPg0KCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCTwveHM6YXR0cmlidXRlPg0KCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJNZXRvZG9QYWdvIiB0eXBlPSJjYXRDRkRJOmNfTWV0b2RvUGFnbyIgdXNlPSJvcHRpb25hbCI+DQoJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCTx4czpkb2N1bWVudGF0aW9uPkF0cmlidXRvIGNvbmRpY2lvbmFsIHBhcmEgcHJlY2lzYXIgbGEgY2xhdmUgZGVsIG3DqXRvZG8gZGUgcGFnbyBxdWUgYXBsaWNhIHBhcmEgZXN0ZSBjb21wcm9iYW50ZSBmaXNjYWwgZGlnaXRhbCBwb3IgSW50ZXJuZXQsIGNvbmZvcm1lIGFsIEFydMOtY3VsbyAyOS1BIGZyYWNjacOzbiBWSUkgaW5jaXNvcyBhIHkgYiBkZWwgQ0ZGLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iTHVnYXJFeHBlZGljaW9uIiB0eXBlPSJjYXRDRkRJOmNfQ29kaWdvUG9zdGFsIiB1c2U9InJlcXVpcmVkIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gcmVxdWVyaWRvIHBhcmEgaW5jb3Jwb3JhciBlbCBjw7NkaWdvIHBvc3RhbCBkZWwgbHVnYXIgZGUgZXhwZWRpY2nDs24gZGVsIGNvbXByb2JhbnRlIChkb21pY2lsaW8gZGUgbGEgbWF0cml6IG8gZGUgbGEgc3VjdXJzYWwpLjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQk8L3hzOmFubm90YXRpb24+DQoJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ29uZmlybWFjaW9uIiB1c2U9Im9wdGlvbmFsIj4NCgkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJPHhzOmRvY3VtZW50YXRpb24+QXRyaWJ1dG8gY29uZGljaW9uYWwgcGFyYSByZWdpc3RyYXIgbGEgY2xhdmUgZGUgY29uZmlybWFjacOzbiBxdWUgZW50cmVndWUgZWwgUEFDIHBhcmEgZXhwZWRpciBlbCBjb21wcm9iYW50ZSBjb24gaW1wb3J0ZXMgZ3JhbmRlcywgY29uIHVuIHRpcG8gZGUgY2FtYmlvIGZ1ZXJhIGRlbCByYW5nbyBlc3RhYmxlY2lkbyBvIGNvbiBhbWJvcyBjYXNvcy4gRXMgcmVxdWVyaWRvIGN1YW5kbyBzZSByZWdpc3RyYSB1biB0aXBvIGRlIGNhbWJpbyBvIHVuIHRvdGFsIGZ1ZXJhIGRlbCByYW5nbyBlc3RhYmxlY2lkby48L3hzOmRvY3VtZW50YXRpb24+DQoJCQkJPC94czphbm5vdGF0aW9uPg0KCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KCQkJCQkJPHhzOmxlbmd0aCB2YWx1ZT0iNSIvPg0KCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlswLTlhLXpBLVpdezV9Ii8+DQoJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJPC94czpzaW1wbGVUeXBlPg0KCQkJPC94czphdHRyaWJ1dGU+DQoJCTwveHM6Y29tcGxleFR5cGU+DQoJPC94czplbGVtZW50Pg0KPC94czpzY2hlbWE+DQo=</field>
     </record>
@@ -21,7 +21,7 @@
         <field name="report_file">l10n_mx_facturae/report/account_move.odt</field>
         <field name="in_format">oo-odt</field>
         <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt"/>
-        <field name="parser_model">report.l10n_mx_qr</field>
+        <field name="parser_model">report.l10n_mx_facturae.account_move</field>
         <field name="styles_mode">default</field>
         <field name="preload_mode">static</field>
         <field name="deferred">off</field>
diff --git a/l10n_mx_facturae/data/account_payment.xml b/l10n_mx_facturae/data/account_payment.xml
index 83fecf0d4a..f2d4733197 100644
--- a/l10n_mx_facturae/data/account_payment.xml
+++ b/l10n_mx_facturae/data/account_payment.xml
@@ -6,7 +6,7 @@
         <field name="name">Account Payment CFDI XML</field>
         <field name="model">account.payment</field>
         <field name="report_type">qweb-xml</field>
-        <field name="report_name">l10n_mx_facturae.account_payment_template_cfdi_xml</field>
+        <field name="report_name">l10n_mx_facturae.account_payment</field>
         <field name="xml_declaration">true</field>
         <field name="xsd_schema"></field>
     </record>
@@ -21,7 +21,7 @@
         <field name="report_file">l10n_mx_facturae/report/account_payment.odt</field>
         <field name="in_format">oo-odt</field>
         <field name="out_format" ref="report_aeroo.report_mimetypes_pdf_odt"/>
-        <field name="parser_model">report.l10n_mx_facturae.account_payment_template_cfdi_xml</field>
+        <field name="parser_model">report.l10n_mx_facturae.account_payment</field>
         <field name="styles_mode">default</field>
         <field name="preload_mode">static</field>
         <field name="deferred">off</field>
diff --git a/l10n_mx_facturae/data/ir_attachment_facturae_config.xml b/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
index db90752145..4539748303 100644
--- a/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
+++ b/l10n_mx_facturae/data/ir_attachment_facturae_config.xml
@@ -5,7 +5,7 @@
         model="ir.attachment.facturae.mx.config">
         <field name="model">account.move</field>
         <field name="version">4.0</field>
-        <field name="template_xml_sign">l10n_mx_facturae.account_move_template_cfdi_xml</field>
+        <field name="template_xml_sign">l10n_mx_facturae.account_move</field>
         <field name="template_xml_cancel">Aun.no.hay.uno</field>
         <field name="template_pdf_sign">l10n_mx_facturae.account_move_template_cfdi_pdf</field>
         <field name="template_pdf_cancel">l10n_mx_facturae.account_move_template_cfdi_pdf</field>
@@ -16,7 +16,7 @@
         model="ir.attachment.facturae.mx.config">
         <field name="model">account.payment</field>
         <field name="version">4.0</field>
-        <field name="template_xml_sign">l10n_mx_facturae.account_payment_template_cfdi_xml</field>
+        <field name="template_xml_sign">l10n_mx_facturae.account_payment</field>
         <field name="template_xml_cancel">Aun.no.hay.uno</field>
         <field name="template_pdf_sign">l10n_mx_facturae.account_payment_template_cfdi_pdf</field>
         <field name="template_pdf_cancel"><!--l10n_mx_facturae.account_payment_template_cfdi_pdf--></field>
diff --git a/l10n_mx_facturae/report/__init__.py b/l10n_mx_facturae/report/__init__.py
index d564ba5da1..dd3fb58358 100644
--- a/l10n_mx_facturae/report/__init__.py
+++ b/l10n_mx_facturae/report/__init__.py
@@ -1,3 +1,4 @@
 # -*- coding: utf-8 -*-
 
+from . import account_move
 from . import account_payment
diff --git a/l10n_mx_facturae/report/account_move.py b/l10n_mx_facturae/report/account_move.py
new file mode 100644
index 0000000000..91e1bf36d5
--- /dev/null
+++ b/l10n_mx_facturae/report/account_move.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+
+from odoo import api, models
+
+
+class Parser(models.AbstractModel):
+    _inherit = "report.l10n_mx_cfdi"
+    _description = "report.l10n_mx_facturae.account_move"
+    _name = "report.l10n_mx_facturae.account_move"
+
+    def _get_report_values(self, docids, data=None):
+        res = super()._get_report_values(docids, data=data)
+        docs = self.env["account.move"].browse(docids)
+        # return a custom rendering context
+        res.update(
+            {
+                "doc_ids": docids,
+                "doc_model": "account.move",
+                "docs": docs,
+            }
+        )
+        return res
diff --git a/l10n_mx_facturae/report/account_payment.py b/l10n_mx_facturae/report/account_payment.py
index 325f895f30..1cd16ae961 100644
--- a/l10n_mx_facturae/report/account_payment.py
+++ b/l10n_mx_facturae/report/account_payment.py
@@ -4,34 +4,32 @@ from odoo import api, models
 
 
 class Parser(models.AbstractModel):
-    _inherit = ["report.report_xml.abstract", "report.l10n_mx_qr", "report.report_aeroo.abstract"]
-    _description = "report.l10n_mx_facturae.account_payment_template_cfdi_xml"
-    _name = "report.l10n_mx_facturae.account_payment_template_cfdi_xml"
+    _inherit = "report.l10n_mx_cfdi"
+    _description = "report.l10n_mx_facturae.account_payment"
+    _name = "report.l10n_mx_facturae.account_payment"
 
     @api.model
     def aeroo_report(self, docids, data):
         self = self.with_context(
-            format_float = self._format_float,
-            format_impuesto = self._format_impuesto,
-            format_tasaocuota = self._format_tasaocuota,
+            format_impuesto=self._format_impuesto,
+            format_tasaocuota=self._format_tasaocuota,
         )
         return super(Parser, self).aeroo_report(docids, data)
 
     def _get_report_values(self, docids, data=None):
+        res = super()._get_report_values(docids, data=data)
         docs = self.env["account.payment"].browse(docids)
         # return a custom rendering context
-        return {
-            "doc_ids": docids,
-            "doc_model": "account.payment",
-            "docs": docs,
-            "format_float": self._format_float,
-            "format_impuesto": self._format_impuesto,
-            "format_tasaocuota": self._format_tasaocuota,
-        }
-
-    def _format_float(self, amount, decimals):
-        """Format any amount to a given number of decimals"""
-        return "{:.{}f}".format(amount, decimals)
+        res.update(
+            {
+                "doc_ids": docids,
+                "doc_model": "account.payment",
+                "docs": docs,
+                "format_impuesto": self._format_impuesto,
+                "format_tasaocuota": self._format_tasaocuota,
+            }
+        )
+        return res
 
     def _format_impuesto(self, tax):
         tax_types = {
diff --git a/l10n_mx_facturae/templates/account_move.xml b/l10n_mx_facturae/templates/account_move.xml
index 2202441201..b0a4a8b7c2 100644
--- a/l10n_mx_facturae/templates/account_move.xml
+++ b/l10n_mx_facturae/templates/account_move.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <odoo>
-    <template id="account_move_template_cfdi_xml">
+    <template id="account_move">
         <t t-set="move" t-value="docs[0]" />
         <t t-set="taxes" t-value="move.impuestos" />
         <t t-set="total_traslados" t-value="move.l10n_mx_facturae_compute_total_traslados(taxes)" />
@@ -68,7 +68,7 @@
 				        <cfdi:Traslados t-if="line.impuestos['traslados']">
                             <t t-set="impuestos" t-value="line.impuestos"/>
 				            <cfdi:Traslado t-foreach="impuestos['traslados']" t-as="tax"
-				                t-attf-Base="{{ tax.base }}"
+				                t-att-Base="format_float(tax.base, o.currency_id.decimal_places)"
                                 t-attf-Impuesto="{{ tax.xml_name }}"
                                 t-attf-TipoFactor="{{ tax.type }}"
 				                t-attf-TasaOCuota="{{ tax.TasaOCuota }}"
@@ -76,7 +76,7 @@
 				        </cfdi:Traslados>
 				        <cfdi:Retenciones t-if="impuestos['retenciones']">
 				            <cfdi:Retencion t-foreach="impuestos['retenciones']" t-as="tax"
-				                t-attf-Base="{{ tax.base }}"
+				                t-att-Base="format_float(tax.base, o.currency_id.decimal_places)"
                                 t-attf-Impuesto="{{ tax.xml_name }}"
                                 t-attf-TipoFactor="{{ tax.type }}"
 				                t-attf-TasaOCuota="{{ tax.TasaOCuota }}"
@@ -101,7 +101,7 @@
                 </cfdi:Retenciones>
                 <cfdi:Traslados t-if="taxes['traslados']">
                     <cfdi:Traslado t-foreach="taxes['traslados']" t-as="tax"
-                        t-attf-Base="{{ tax.base }}"
+                        t-att-Base="format_float(tax.base, o.currency_id.decimal_places)"
                         t-attf-Impuesto="{{ tax.xml_name }}"
                         t-attf-TipoFactor="{{ tax.type }}"
                         t-attf-TasaOCuota="{{ tax.TasaOCuota }}"
diff --git a/l10n_mx_facturae/templates/account_payment.xml b/l10n_mx_facturae/templates/account_payment.xml
index 4203c948b3..3b9dfe6de3 100644
--- a/l10n_mx_facturae/templates/account_payment.xml
+++ b/l10n_mx_facturae/templates/account_payment.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <odoo>
-    <template id="account_payment_template_cfdi_xml">
+    <template id="account_payment">
         <t t-set="payment" t-value="docs[0]" />
         <t t-set="residenciaFiscal" t-value="payment.l10n_mx_facturae_payment_compute_residencia_fiscal()"/>
         <t t-set="regimenTrib" t-value="payment.l10n_mx_facturae_payment_compute_regimen_tributario()"/>
@@ -54,7 +54,7 @@
                     <pago20:Totales
                         t-attf-MontoTotalPagos="{{ o.l10n_mx_facturae_payment_montototalpagos() }}"
                         t-att-TotalTrasladosBaseIVAExento="traslados.get('baseIVAExento', False)"
-                        t-att-TotalTrasladosBaseIVA16="traslados.get('baseIVA16.0', False)"
+                        t-att-TotalTrasladosBaseIVA16="format_float(traslados.get('baseIVA16.0', False), o.currency_id.decimal_places)"
                         t-att-TotalTrasladosImpuestoIVA16="traslados.get('importeIVA16.0', False)"
                         t-att-TotalTrasladosBaseIVA8="traslados.get('baseIVA8.0', False)"
                         t-att-TotalTrasladosImpuestoIVA8="traslados.get('importeIVA8.0', False)"
-- 
GitLab


From 7b012259c4e83893888ab5b4463f17eec7ba921d Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Wed, 10 Apr 2024 10:02:50 -0600
Subject: [PATCH 05/28] feat(account.payment): se agregan correcciones para los
 totales traslados y retenciones

---
 l10n_mx_facturae/models/account_move.py       | 24 +++++++++++++++++++
 .../templates/account_payment.xml             |  8 +++----
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 063bb5549b..19599d4bfa 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -541,6 +541,18 @@ class AccountMoveLine(models.Model):
         "N° Pediment",
     )
 
+    l10n_mx_tax_base_dr = fields.Monetary(
+        compute="_compute_l10n_mx_tax_base_dr"
+    )
+
+    l10n_mx_tax_importe_dr = fields.Monetary(
+        compute="_compute_l10n_mx_tax_importe_dr"
+    )
+
+    l10n_mx_tax_currency_dr = fields.Monetary(
+        compute="_compue_l10n_mx_tax_currency_dr"
+    )
+
     @api.constrains("cfdi_cuentapredial")
     def _constraint_cfdi_cuentapredial(self):
         for record in self:
@@ -761,3 +773,15 @@ class AccountMoveLine(models.Model):
 
     def l10n_mx_facturae_importe(self):
         return "{0:.2f}".format(self.importe)
+
+    def _compute_l10n_mx_tax_base_dr(self):
+        for record in self:
+            return
+
+    def _compute_l10n_mx_tax_importe_dr(self):
+        for record in self:
+            return
+
+    def _compue_l10n_mx_tax_currency_dr(self):
+        for record in self:
+            return
diff --git a/l10n_mx_facturae/templates/account_payment.xml b/l10n_mx_facturae/templates/account_payment.xml
index 3b9dfe6de3..9305f84f16 100644
--- a/l10n_mx_facturae/templates/account_payment.xml
+++ b/l10n_mx_facturae/templates/account_payment.xml
@@ -54,10 +54,10 @@
                     <pago20:Totales
                         t-attf-MontoTotalPagos="{{ o.l10n_mx_facturae_payment_montototalpagos() }}"
                         t-att-TotalTrasladosBaseIVAExento="traslados.get('baseIVAExento', False)"
-                        t-att-TotalTrasladosBaseIVA16="format_float(traslados.get('baseIVA16.0', False), o.currency_id.decimal_places)"
-                        t-att-TotalTrasladosImpuestoIVA16="traslados.get('importeIVA16.0', False)"
-                        t-att-TotalTrasladosBaseIVA8="traslados.get('baseIVA8.0', False)"
-                        t-att-TotalTrasladosImpuestoIVA8="traslados.get('importeIVA8.0', False)"
+                        t-att-TotalTrasladosBaseIVA16="format_float(traslados.get('baseIVA16.0'), o.currency_id.decimal_places) if traslados.get('baseIVA16.0', False) else False"
+                        t-att-TotalTrasladosImpuestoIVA16="format_float(traslados.get('importeIVA16.0'), o.currency_id.decimal_places) if traslados.get('importeIVA16.0', False) else False"
+                        t-att-TotalTrasladosBaseIVA8="format_float(traslados.get('baseIVA8.0'), o.currency_id.decimal_places) if traslados.get('baseIVA8.0', False) else False"
+                        t-att-TotalTrasladosImpuestoIVA8="format_float(traslados.get('importeIVA8.0'), o.currency_id.decimal_places) if traslados.get('importeIVA8.0', False) else False"
                         t-att-TotalTrasladosBaseIVA0="traslados.get('baseIVA0.0', False)"
                         t-att-TotalTrasladosImpuestoIVA0="traslados.get('importeIVA0.0', False)"
                         t-att-TotalRetencionesIVA="retenciones.get('importeIVA', False)"
-- 
GitLab


From 91537a6ac06590c24948dea7a33a3f27f54b4a24 Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Thu, 11 Apr 2024 18:01:09 -0600
Subject: [PATCH 06/28] fix(account.payment): se agregan funciones para
 calcular la basedr e impuestodr en la moneda del dr

---
 l10n_mx_facturae/models/account_move.py       | 24 -------
 l10n_mx_facturae/models/account_payment.py    | 70 ++++++++-----------
 .../templates/account_payment.xml             |  8 +--
 3 files changed, 33 insertions(+), 69 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 19599d4bfa..063bb5549b 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -541,18 +541,6 @@ class AccountMoveLine(models.Model):
         "N° Pediment",
     )
 
-    l10n_mx_tax_base_dr = fields.Monetary(
-        compute="_compute_l10n_mx_tax_base_dr"
-    )
-
-    l10n_mx_tax_importe_dr = fields.Monetary(
-        compute="_compute_l10n_mx_tax_importe_dr"
-    )
-
-    l10n_mx_tax_currency_dr = fields.Monetary(
-        compute="_compue_l10n_mx_tax_currency_dr"
-    )
-
     @api.constrains("cfdi_cuentapredial")
     def _constraint_cfdi_cuentapredial(self):
         for record in self:
@@ -773,15 +761,3 @@ class AccountMoveLine(models.Model):
 
     def l10n_mx_facturae_importe(self):
         return "{0:.2f}".format(self.importe)
-
-    def _compute_l10n_mx_tax_base_dr(self):
-        for record in self:
-            return
-
-    def _compute_l10n_mx_tax_importe_dr(self):
-        for record in self:
-            return
-
-    def _compue_l10n_mx_tax_currency_dr(self):
-        for record in self:
-            return
diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index d43314d24f..5acacfaa41 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -345,20 +345,8 @@ class AccountPayment(models.Model):
             tax_group = tax_rep_lines.mapped("tag_ids")
             key = tax_group.name + str(line["tax_id"].amount)
 
-            if company_currency != voucher_currency:
-                company_currency = company_currency.with_context(
-                    special_currency_rate=self.currency_rate(),
-                    special_currency=voucher_currency.id,
-                )
-                tax_totals["importe" + key] = company_currency.compute(
-                    line["importe"], voucher_currency,
-                )
-                tax_totals["base" + key] = company_currency.compute(
-                    line["tax_base"], voucher_currency,
-                )
-            else:
-                tax_totals["importe" + key] = line["importe"]
-                tax_totals["base" + key] = line["tax_base"]
+            tax_totals["importe" + key] = line["importe"]
+            tax_totals["base" + key] = line["tax_base"]
 
         return tax_totals
 
@@ -378,35 +366,11 @@ class AccountPayment(models.Model):
                         importe=0.0,
                     )
 
-                if tax_move.currency_id != voucher_currency:
-                    invoice_currency = (
-                        tax_move.currency_id
-                        if tax_move.currency_id else company_currency
-                    )
-                    invoice_currency = invoice_currency.with_context(date=self.date)
-                    if invoice_currency != company_currency:
-                        invoice_currency = invoice_currency.with_context(
-                            special_currency_rate=self.tipocambiodr(invoice),
-                            special_currency=invoice_currency.id,
-                        )
-                    else:
-                        invoice_currency = invoice_currency.with_context(
-                            special_currency_rate=(1 / self.tipocambiodr(invoice)),
-                            special_currency=voucher_currency.id,
-                        )
-                    tax_base = invoice_currency.compute(
-                        tax_move.tax_base_amount, voucher_currency, round=False,
-                    )
-                    # Force rounding 6 decimals to use as many decimal as possible and
-                    # avoid rounding errors when validating XML
-                    tax_base = float_round(
-                        tax_base, precision_digits=2, rounding_method="DOWN",
-                    )
-                else:
-                    tax_base = tax_move.tax_base_amount
+                tax_base = self._l10n_mx_tax_base_dr(invoice, tax_move)
+                importe = self._l10n_mx_tax_importe_dr(invoice, tax_move)
 
                 tax_totals[tax_move.tax_line_id.id]["tax_base"] += tax_base
-                tax_totals[tax_move.tax_line_id.id]["importe"] += abs(tax_move.balance)
+                tax_totals[tax_move.tax_line_id.id]["importe"] += importe
 
         return [line for line in tax_totals.values()]
 
@@ -429,3 +393,27 @@ class AccountPayment(models.Model):
             domain.append(("tax_line_id.amount_type", "=", "percent"))
 
         return domain
+
+    def _l10n_mx_tax_base_dr(self, invoice, tax_move):
+        amount = tax_move.tax_base_amount
+
+        if invoice.currency_id != self.company_id.currency_id:
+            account = (
+                tax_move.company_id.account_cash_basis_base_account_id or
+                tax_move.account_id
+            )
+            base_line = tax_move.move_id.line_ids.filtered(
+                lambda l:
+                    l.id != tax_move.id and l.account_id == account and l.tax_ids
+            )
+            amount = -1 * base_line.amount_currency
+
+        return amount
+
+    def _l10n_mx_tax_importe_dr(self, invoice, tax_move):
+        amount = tax_move.balance
+
+        if invoice.currency_id != self.company_id.currency_id:
+            amount = tax_move.amount_currency
+
+        return -1 * amount
diff --git a/l10n_mx_facturae/templates/account_payment.xml b/l10n_mx_facturae/templates/account_payment.xml
index 9305f84f16..eeec6bff47 100644
--- a/l10n_mx_facturae/templates/account_payment.xml
+++ b/l10n_mx_facturae/templates/account_payment.xml
@@ -58,8 +58,8 @@
                         t-att-TotalTrasladosImpuestoIVA16="format_float(traslados.get('importeIVA16.0'), o.currency_id.decimal_places) if traslados.get('importeIVA16.0', False) else False"
                         t-att-TotalTrasladosBaseIVA8="format_float(traslados.get('baseIVA8.0'), o.currency_id.decimal_places) if traslados.get('baseIVA8.0', False) else False"
                         t-att-TotalTrasladosImpuestoIVA8="format_float(traslados.get('importeIVA8.0'), o.currency_id.decimal_places) if traslados.get('importeIVA8.0', False) else False"
-                        t-att-TotalTrasladosBaseIVA0="traslados.get('baseIVA0.0', False)"
-                        t-att-TotalTrasladosImpuestoIVA0="traslados.get('importeIVA0.0', False)"
+                        t-att-TotalTrasladosBaseIVA0="format_float(traslados.get('baseIVA0.0'), o.currency_id.decimal_places) if traslados.get('baseIVA0.0', False) else False"
+                        t-att-TotalTrasladosImpuestoIVA0="format_float(traslados.get('importeIVA0.0'), o.currency_id.decimal_places) if traslados.get('importeIVA0.0', False) else False"
                         t-att-TotalRetencionesIVA="retenciones.get('importeIVA', False)"
                         t-att-TotalRetencionesISR="retenciones.get('importeISR', False)"
                         t-att-TotalRetencionesIEPS="retenciones.get('importeIEPS', False)" />
@@ -92,9 +92,9 @@
                                 </pago20:RetencionesDR>
                                 <pago20:TrasladosDR>
                                     <pago20:TrasladoDR t-foreach="o.impuestos_dr(invoice)" t-as="tax_move"
-                                        t-att-BaseDR="format_float(tax_move.tax_base_amount, invoice.currency_id.decimal_places)"
+                                        t-att-BaseDR="format_float(o._l10n_mx_tax_base_dr(invoice, tax_move), invoice.currency_id.decimal_places)"
                                         t-att-ImpuestoDR="format_impuesto(tax_move.tax_line_id)"
-                                        t-att-ImporteDR="format_float(abs(tax_move.balance), invoice.currency_id.decimal_places)"
+                                        t-att-ImporteDR="format_float(abs(o._l10n_mx_tax_importe_dr(invoice, tax_move)), invoice.currency_id.decimal_places)"
                                         t-att-TasaOCuotaDR="format_tasaocuota(tax_move.tax_line_id)"
                                         t-att-TipoFactorDR="tax_move.tax_line_id.l10n_mx_tax_type" />
                                 </pago20:TrasladosDR>
-- 
GitLab


From 41499162050314a5c911ac69dd4bd83777db1e1d Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Thu, 18 Apr 2024 10:34:11 -0600
Subject: [PATCH 07/28] =?UTF-8?q?feat(cancelaci=C3=B3n=20de=20facturas):?=
 =?UTF-8?q?=20se=20creo=20un=20campo=20boolean=20en=20el=20objeto=20accoun?=
 =?UTF-8?q?t.move,=20y=20un=20campo=20al=20xml?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_move.py | 3 +++
 l10n_mx_facturae/views/account_move.xml | 1 +
 2 files changed, 4 insertions(+)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 063bb5549b..9ab48f3f88 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -17,6 +17,9 @@ class AccountMove(models.Model):
     _name = "account.move"
     _inherit = ["account.move", "base.cfdi"]
 
+    is_cancelable = fields.Boolean(
+        "Candidate is canceled"
+    )
     @property
     def formapago(self):
         """Return payment type for display on CFDI"""
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index f7d429a9fe..fefbbf1c4c 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -32,6 +32,7 @@
         <field name="arch" type="xml">
             <button name="button_cancel" position="before">
                 <field name="is_cfdi_candidate" invisible="1" />
+                <field name="is_cancelable" invisible="1" />
             </button>
             <xpath expr="//header" position="after">
                 <div
-- 
GitLab


From f1c15630f6b1365005db534c4bea0eb5ff1284c6 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Thu, 18 Apr 2024 18:10:12 -0600
Subject: [PATCH 08/28] =?UTF-8?q?Se=20agrego=20el=20boton=20Cancelar=20CFD?=
 =?UTF-8?q?I=20al=20header,=20se=20uso=20una=20funci=C3=B3n=20de=20ejemplo?=
 =?UTF-8?q?=20que=20imprime=20el=20hola=20mundo=20para=20que=20nos=20permi?=
 =?UTF-8?q?tiara=20crear=20el=20boton=20ya=20que=20la=20funci=C3=B3n=20es?=
 =?UTF-8?q?=20obligatoria=20y=20por=20ultimo=20se=20agregaron=20la=20condi?=
 =?UTF-8?q?ciones=20al=20attrs=20del=20boton=20creado=20para=20indicarlo?=
 =?UTF-8?q?=20cuando=20debe=20de=20estar=20visible?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_move.py | 4 ++++
 l10n_mx_facturae/views/account_move.xml | 1 +
 2 files changed, 5 insertions(+)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 9ab48f3f88..cfef523c5d 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -20,6 +20,10 @@ class AccountMove(models.Model):
     is_cancelable = fields.Boolean(
         "Candidate is canceled"
     )
+    def l10n_mx_action_cancel(self):
+        print("Hola Mundo")
+
+
     @property
     def formapago(self):
         """Return payment type for display on CFDI"""
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index fefbbf1c4c..59c291ca18 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -31,6 +31,7 @@
         <field name="inherit_id" ref="account.view_move_form"/>
         <field name="arch" type="xml">
             <button name="button_cancel" position="before">
+            <button name="l10n_mx_action_cancel" string="Cancelar CFDI" type="object" class="btn-primary" attrs="{'invisible': [('state', '!=', 'posted'), ('cfdi_state', '!=', 'done')]}"/>
                 <field name="is_cfdi_candidate" invisible="1" />
                 <field name="is_cancelable" invisible="1" />
             </button>
-- 
GitLab


From baebf299fc65eb16edbfeeae23acafc4409788dc Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Fri, 19 Apr 2024 16:13:22 -0600
Subject: [PATCH 09/28] =?UTF-8?q?Se=20coloca=20el=20campo=20is=5Fcancelabl?=
 =?UTF-8?q?e=20despues=20de=20l10n=5Fmx=5Fexport,=20y=20se=20ajusta=20la?=
 =?UTF-8?q?=20identaci=C3=B3n=20en=20el=20modelo=20de=20vista?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_move.py |  8 ++++----
 l10n_mx_facturae/views/account_move.xml | 13 ++++++++++++-
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index cfef523c5d..a170c923ce 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -17,13 +17,9 @@ class AccountMove(models.Model):
     _name = "account.move"
     _inherit = ["account.move", "base.cfdi"]
 
-    is_cancelable = fields.Boolean(
-        "Candidate is canceled"
-    )
     def l10n_mx_action_cancel(self):
         print("Hola Mundo")
 
-
     @property
     def formapago(self):
         """Return payment type for display on CFDI"""
@@ -161,6 +157,10 @@ class AccountMove(models.Model):
         string="Merchandise export",
     )
 
+    is_cancelable = fields.Boolean(
+        "Candidate is canceled"
+    )
+
     def button_validate(self):
         """
             Extend `AccountMove.button_validate`: prevents  to manipulate the
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index 59c291ca18..d5144b7db1 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -31,7 +31,18 @@
         <field name="inherit_id" ref="account.view_move_form"/>
         <field name="arch" type="xml">
             <button name="button_cancel" position="before">
-            <button name="l10n_mx_action_cancel" string="Cancelar CFDI" type="object" class="btn-primary" attrs="{'invisible': [('state', '!=', 'posted'), ('cfdi_state', '!=', 'done')]}"/>
+                <button name="l10n_mx_action_cancel"
+                        string="Cancel CFDI"
+                        type="object"
+                        class="btn-primary"
+                        attrs="{'invisible': [
+                        ('state', '!=', 'posted'),
+                         (
+                            'cfdi_state',
+                            '!=',
+                            'done'
+                         )
+                         ]}"/>
                 <field name="is_cfdi_candidate" invisible="1" />
                 <field name="is_cancelable" invisible="1" />
             </button>
-- 
GitLab


From fff622ff98efe9b35dcc0cf1646a7493fa460208 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Mon, 22 Apr 2024 13:26:55 -0600
Subject: [PATCH 10/28] =?UTF-8?q?Se=20coloca=20la=20funci=C3=B3n=20l10n=5F?=
 =?UTF-8?q?mx=5Faction=5Fcancel=20al=20final=20de=20las=20funciones=20de?=
 =?UTF-8?q?=20la=20clase=20account?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_move.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index a170c923ce..81bb604051 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -17,9 +17,6 @@ class AccountMove(models.Model):
     _name = "account.move"
     _inherit = ["account.move", "base.cfdi"]
 
-    def l10n_mx_action_cancel(self):
-        print("Hola Mundo")
-
     @property
     def formapago(self):
         """Return payment type for display on CFDI"""
@@ -527,6 +524,8 @@ class AccountMove(models.Model):
 
         return res
 
+    def l10n_mx_action_cancel(self):
+        print("Hola Mundo")
 
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
-- 
GitLab


From 364bce9b8aef4aca0a4388a181c0fe4bd526a899 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Mon, 22 Apr 2024 13:44:28 -0600
Subject: [PATCH 11/28] =?UTF-8?q?Se=20corrige=20la=20identaci=C3=B3n=20del?=
 =?UTF-8?q?=20bot=C3=B3n=20Cancel=20CFDI?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/views/account_move.xml | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index d5144b7db1..90f997368a 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -36,12 +36,8 @@
                         type="object"
                         class="btn-primary"
                         attrs="{'invisible': [
-                        ('state', '!=', 'posted'),
-                         (
-                            'cfdi_state',
-                            '!=',
-                            'done'
-                         )
+                            ('state', '!=', 'posted'),
+                            ('cfdi_state', '!=', 'done')
                          ]}"/>
                 <field name="is_cfdi_candidate" invisible="1" />
                 <field name="is_cancelable" invisible="1" />
-- 
GitLab


From f9f81b8de3c2bdaf8e29a57376f60d870d41d198 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Mon, 22 Apr 2024 14:04:11 -0600
Subject: [PATCH 12/28] =?UTF-8?q?Se=20corrige=20la=20identaci=C3=B3n=20del?=
 =?UTF-8?q?=20boton=20tal=20cual=20esta=20mostrada=20en=20el=20ejemplo=20g?=
 =?UTF-8?q?it=20lab=20con=204=20espacios=20a=20su=20izquierda?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/views/account_move.xml | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index 90f997368a..9bfd892623 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -32,15 +32,15 @@
         <field name="arch" type="xml">
             <button name="button_cancel" position="before">
                 <button name="l10n_mx_action_cancel"
-                        string="Cancel CFDI"
-                        type="object"
-                        class="btn-primary"
-                        attrs="{'invisible': [
-                            ('state', '!=', 'posted'),
-                            ('cfdi_state', '!=', 'done')
-                         ]}"/>
+                    string="Cancel CFDI"
+                    type="object"
+                    class="btn-primary"
+                    attrs="{'invisible': [
+                        ('state', '!=', 'posted'),
+                        ('cfdi_state', '!=', 'done')
+                    ]}"/>
                 <field name="is_cfdi_candidate" invisible="1" />
-                <field name="is_cancelable" invisible="1" />
+                <field name="is_cancelable" invisible="0" />
             </button>
             <xpath expr="//header" position="after">
                 <div
-- 
GitLab


From 7ec35c6afad7c5dea853dae8852f9f41394b19c2 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Mon, 22 Apr 2024 18:06:59 -0600
Subject: [PATCH 13/28] =?UTF-8?q?Se=20agrego=20la=20funci=C3=B3n=20que=20c?=
 =?UTF-8?q?ambia=20el=20estado=20de=20la=20celda=20is=5Fcancelable=20a=20T?=
 =?UTF-8?q?rue=20cuando=20se=20presiona=20el=20boton=20Cancel=20CFDI?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_move.py | 3 ++-
 l10n_mx_facturae/views/account_move.xml | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 81bb604051..04ab01abd9 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -525,7 +525,8 @@ class AccountMove(models.Model):
         return res
 
     def l10n_mx_action_cancel(self):
-        print("Hola Mundo")
+        # Call write() to update the is_cancelable field
+        self.write({'is_cancelable': True})
 
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index 9bfd892623..2cde0e337c 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -40,7 +40,7 @@
                         ('cfdi_state', '!=', 'done')
                     ]}"/>
                 <field name="is_cfdi_candidate" invisible="1" />
-                <field name="is_cancelable" invisible="0" />
+                <field name="is_cancelable" invisible="1" />
             </button>
             <xpath expr="//header" position="after">
                 <div
-- 
GitLab


From 88c0fd93497fbf7e55decd42f8afcd2846622592 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Tue, 23 Apr 2024 11:23:19 -0600
Subject: [PATCH 14/28] Se agrega el ciclo que filtra a las facturas por
 atributos

---
 l10n_mx_facturae/models/account_move.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 04ab01abd9..325d97e325 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -527,6 +527,17 @@ class AccountMove(models.Model):
     def l10n_mx_action_cancel(self):
         # Call write() to update the is_cancelable field
         self.write({'is_cancelable': True})
+        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
+        """Extend `AccountInvoice.action_cancel()`; Cancels the CFDI related to the
+        invoice
+        """
+        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
+        cfdis = self.filtered(
+            lambda i:
+                i.journal_id.sign_sat
+                and i.cfdi_id
+                and i.cfdi_id.state not in ["draft", "cancel"]
+        )
 
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
-- 
GitLab


From 85a3e046503f2c92988c84464ce16b3782cf3735 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Tue, 23 Apr 2024 13:10:11 -0600
Subject: [PATCH 15/28] Se agrega el ciclo for y dentro de este manda el
 mensaje al chatter siempre que el for se ejecute

---
 l10n_mx_facturae/models/account_move.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 325d97e325..2a995c376a 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -538,6 +538,18 @@ class AccountMove(models.Model):
                 and i.cfdi_id
                 and i.cfdi_id.state not in ["draft", "cancel"]
         )
+        for invoice in cfdis:
+            # Ensure we can cancel this invoice
+            invoice.check_if_can_cancel()
+            # If l10n_mx_edi_original_invoice is set save uuid to send info to PAC
+            # while cancel invoice
+            invoice.cfdi_id.substitute_cfdi_uuid = (
+                invoice.l10n_mx_edi_original_invoice.cfdi_id.uuid
+            )
+            invoice.message_post(
+                body=_("Cancellation request sent")
+            )
+            cancelacion = invoice.cancel_cfdi()[0]
 
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
-- 
GitLab


From 990b2d682067fc446e16112adb9a3f65cb90b44d Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Tue, 23 Apr 2024 13:17:46 -0600
Subject: [PATCH 16/28] Se agregaron codiciones

---
 l10n_mx_facturae/models/account_move.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 2a995c376a..1d29077802 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -550,6 +550,19 @@ class AccountMove(models.Model):
                 body=_("Cancellation request sent")
             )
             cancelacion = invoice.cancel_cfdi()[0]
+            if cancelacion:
+                # CFDI cancelled (cancelacion == True) must cancel invoice too
+                invoice.button_draft()
+                invoice.button_cancel()
+            elif cancelacion is None:
+                # CFDI set to approval (cancelacion == None) must set invoice
+                # to waiting too
+                invoice.write({"state": "waiting"})
+            elif cancelacion is False:
+                # CFDI cancel denied (cancelacion == False) must get back invoice
+                # to open state
+                self.undo_waiting_state()
+
 
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
-- 
GitLab


From 5ef61504f349f89380285ea758fa1436ba7b29f1 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Tue, 23 Apr 2024 18:19:30 -0600
Subject: [PATCH 17/28] =?UTF-8?q?Problema=20con=20la=20variable=20cancelac?=
 =?UTF-8?q?i=C3=B3n=20dentro=20del=20ciclo=20for=20en=20la=20funcion=20l10?=
 =?UTF-8?q?n=5Fmx=5Faction=5Fcancel?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_move.py | 65 ++-----------------------
 l10n_mx_facturae/views/account_move.xml |  1 +
 2 files changed, 6 insertions(+), 60 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 1d29077802..312a8c1041 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -320,42 +320,6 @@ class AccountMove(models.Model):
                 # Create new CFDI object for this invoice
                 account_invoice.create_cfdi()
 
-    def action_cancel(self):
-        """Extend `AccountMove.action_cancel()`; Cancels the CFDI related to the
-        invoice
-        """
-        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
-        cfdis = self.filtered(
-            lambda i:
-                i.journal_id.sign_sat
-                and i.cfdi_id
-                and i.cfdi_id.state not in ["draft", "cancel"]
-        )
-        for invoice in cfdis:
-            # Ensure we can cancel this invoice
-            invoice.check_if_can_cancel()
-            # If l10n_mx_edi_original_invoice is set save uuid to send info to PAC
-            # while cancel invoice
-            invoice.cfdi_id.substitute_cfdi_uuid = (
-                invoice.l10n_mx_edi_original_invoice.cfdi_id.uuid
-            )
-            cancelacion = invoice.cancel_cfdi()[0]
-            if cancelacion:
-                # CFDI cancelled (cancelacion == True) must cancel invoice too
-                super(AccountMove, invoice).action_cancel()
-            elif cancelacion is None:
-                # CFDI set to approval (cancelacion == None) must set invoice
-                # to waiting too
-                invoice.write({"state": "waiting"})
-            elif cancelacion is False:
-                # CFDI cancel denied (cancelacion == False) must get back invoice
-                # to open state
-                self.undo_waiting_state()
-
-        # Call super only with invoices without CFDI
-        invoices = self - cfdis
-        return super(AccountMove, invoices).action_cancel()
-
     def undo_waiting_state(self):
         """When cancel is negate revert invoice to open and post account_move"""
         for record in self:
@@ -525,12 +489,11 @@ class AccountMove(models.Model):
         return res
 
     def l10n_mx_action_cancel(self):
+        """Cancels the CFDI related to the invoice"""
+
         # Call write() to update the is_cancelable field
-        self.write({'is_cancelable': True})
-        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
-        """Extend `AccountInvoice.action_cancel()`; Cancels the CFDI related to the
-        invoice
-        """
+        self.write({"is_cancelable": True})
+
         # Get only invoices with related cfdi to cancel cfdi before cancel invoice
         cfdis = self.filtered(
             lambda i:
@@ -538,30 +501,12 @@ class AccountMove(models.Model):
                 and i.cfdi_id
                 and i.cfdi_id.state not in ["draft", "cancel"]
         )
+
         for invoice in cfdis:
-            # Ensure we can cancel this invoice
-            invoice.check_if_can_cancel()
-            # If l10n_mx_edi_original_invoice is set save uuid to send info to PAC
-            # while cancel invoice
-            invoice.cfdi_id.substitute_cfdi_uuid = (
-                invoice.l10n_mx_edi_original_invoice.cfdi_id.uuid
-            )
             invoice.message_post(
                 body=_("Cancellation request sent")
             )
             cancelacion = invoice.cancel_cfdi()[0]
-            if cancelacion:
-                # CFDI cancelled (cancelacion == True) must cancel invoice too
-                invoice.button_draft()
-                invoice.button_cancel()
-            elif cancelacion is None:
-                # CFDI set to approval (cancelacion == None) must set invoice
-                # to waiting too
-                invoice.write({"state": "waiting"})
-            elif cancelacion is False:
-                # CFDI cancel denied (cancelacion == False) must get back invoice
-                # to open state
-                self.undo_waiting_state()
 
 
 class AccountMoveLine(models.Model):
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index 2cde0e337c..bd0ec404a5 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -36,6 +36,7 @@
                     type="object"
                     class="btn-primary"
                     attrs="{'invisible': [
+                        '&amp;',
                         ('state', '!=', 'posted'),
                         ('cfdi_state', '!=', 'done')
                     ]}"/>
-- 
GitLab


From c6a747f3c993f3b1b2611bc951c2669943a2af3e Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Fri, 26 Apr 2024 12:26:20 -0600
Subject: [PATCH 18/28] Mensaje al chatter dentro del ciclo for y condiciones
 agregadas funcionando correctamente al cancelar la factura

---
 l10n_mx_facturae/models/account_move.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 312a8c1041..0f652b4d51 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -506,7 +506,19 @@ class AccountMove(models.Model):
             invoice.message_post(
                 body=_("Cancellation request sent")
             )
-            cancelacion = invoice.cancel_cfdi()[0]
+            cancelacion = invoice.cancel_cfdi()
+            if cancelacion:
+                # CFDI cancelled (cancelacion == True) must cancel invoice too
+                invoice.button_draft()
+                invoice.button_cancel()
+            elif cancelacion is None:
+                # CFDI set to approval (cancelacion == None) must set invoice
+                # to waiting too
+                invoice.write({"state": "waiting"})
+            elif cancelacion is False:
+                # CFDI cancel denied (cancelacion == False) must get back invoice
+                # to open state
+                self.undo_waiting_state()
 
 
 class AccountMoveLine(models.Model):
-- 
GitLab


From 818e5ef7997a80b21e14d09318e11c0087a3f636 Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Mon, 29 Apr 2024 12:37:16 -0600
Subject: [PATCH 19/28] Se hicieron las correcciones indicadas en los ultimos
 comentarios agregados al merge

---
 l10n_mx_facturae/models/account_move.py | 84 +++++++++++++------------
 l10n_mx_facturae/views/account_move.xml |  1 -
 2 files changed, 45 insertions(+), 40 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 0f652b4d51..2fb66e826a 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -154,10 +154,6 @@ class AccountMove(models.Model):
         string="Merchandise export",
     )
 
-    is_cancelable = fields.Boolean(
-        "Candidate is canceled"
-    )
-
     def button_validate(self):
         """
             Extend `AccountMove.button_validate`: prevents  to manipulate the
@@ -320,13 +316,56 @@ class AccountMove(models.Model):
                 # Create new CFDI object for this invoice
                 account_invoice.create_cfdi()
 
+    def l10n_mx_action_cancel(self):
+        """Cancels the CFDI related to the invoice"""
+
+        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
+        cfdis = self.filtered(
+            lambda i:
+                i.journal_id.sign_sat
+                and i.cfdi_id
+                and i.cfdi_id.state not in ["draft", "cancel"]
+        )
+
+        for invoice in cfdis:
+            invoice.message_post(
+                body=_("Cancellation request sent")
+            )
+            cancelacion = invoice.cancel_cfdi()
+            if cancelacion:
+                # CFDI cancelled (cancelacion == True) must cancel invoice too
+                invoice.button_draft()
+                invoice.button_cancel()
+            elif cancelacion is None:
+                # CFDI set to approval (cancelacion == None) must set invoice
+                # to waiting too
+                invoice.write({"state": "posted"})
+                invoice.message_post(
+                    body=_("Awaiting cancellation")
+                )
+            elif cancelacion is False:
+                # CFDI cancel denied (cancelacion == False) must get back invoice
+                # to open state
+                self.undo_waiting_state()
+                invoice.message_post(
+                    body=_("Denied cancellation")
+                )
+
     def undo_waiting_state(self):
         """When cancel is negate revert invoice to open and post account_move"""
         for record in self:
-            to_update = record.filtered(lambda i: i.state == "waiting")
-            to_update.write({"state": "open"})
+            to_update = record.filtered(lambda i: i.cfdi_state == "waiting")
+            to_update.write({"state": "posted"})
             to_update.mapped("move_id").post()
 
+    @api.depends("state", "cfdi_state")
+    def _compute_show_reset_to_draft_button(self):
+        super()._compute_show_reset_to_draft_button()
+
+        for move in self:
+            if move.state in ("posted", "cancel") and move.cfdi_state in ("signed", "done", "waiting", "cancel"):
+                move.show_reset_to_draft_button = False
+
     def action_consult_cancellation_status(self):
         """Verify cancellation status"""
         # TODO: Is this really needed? Maybe we can reuse the action_cancel
@@ -488,39 +527,6 @@ class AccountMove(models.Model):
 
         return res
 
-    def l10n_mx_action_cancel(self):
-        """Cancels the CFDI related to the invoice"""
-
-        # Call write() to update the is_cancelable field
-        self.write({"is_cancelable": True})
-
-        # Get only invoices with related cfdi to cancel cfdi before cancel invoice
-        cfdis = self.filtered(
-            lambda i:
-                i.journal_id.sign_sat
-                and i.cfdi_id
-                and i.cfdi_id.state not in ["draft", "cancel"]
-        )
-
-        for invoice in cfdis:
-            invoice.message_post(
-                body=_("Cancellation request sent")
-            )
-            cancelacion = invoice.cancel_cfdi()
-            if cancelacion:
-                # CFDI cancelled (cancelacion == True) must cancel invoice too
-                invoice.button_draft()
-                invoice.button_cancel()
-            elif cancelacion is None:
-                # CFDI set to approval (cancelacion == None) must set invoice
-                # to waiting too
-                invoice.write({"state": "waiting"})
-            elif cancelacion is False:
-                # CFDI cancel denied (cancelacion == False) must get back invoice
-                # to open state
-                self.undo_waiting_state()
-
-
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
 
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index bd0ec404a5..fd28448063 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -41,7 +41,6 @@
                         ('cfdi_state', '!=', 'done')
                     ]}"/>
                 <field name="is_cfdi_candidate" invisible="1" />
-                <field name="is_cancelable" invisible="1" />
             </button>
             <xpath expr="//header" position="after">
                 <div
-- 
GitLab


From f4647afabe0adbcc4b97c0eec06156f958f64e2d Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Mon, 29 Apr 2024 15:56:41 -0600
Subject: [PATCH 20/28] Se elimina el campo state

---
 l10n_mx_facturae/models/account_move.py | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 2fb66e826a..3bdc1422f9 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -124,10 +124,6 @@ class AccountMove(models.Model):
         "cfdi.use", "CFDI use", readonly=True, states={"draft": [("readonly", False)]}
     )
     cfdi_relation_type = fields.Many2one("cfdi.relation.type", "CFDI Relation type")
-    state = fields.Selection(
-        selection_add=[("waiting", _("To cancel"))],
-        ondelete={'waiting': 'cascade'}
-    )
     l10n_mx_edi_to_cancel = fields.Char(
         #compute="_compute_l10n_mx_edi_to_cancel",
         #search="_search_l10n_mx_edi_to_cancel",
-- 
GitLab


From 9d464eb016b107084843d50a3553ced5bea4343a Mon Sep 17 00:00:00 2001
From: "jesus.lomas" <jesus.lomas@openpyme.mx>
Date: Mon, 29 Apr 2024 13:28:40 -0600
Subject: [PATCH 21/28] =?UTF-8?q?feat(res.company):=20a=20la=20compa=C3=B1?=
 =?UTF-8?q?ia=20fronteriza=20se=20le=20agreg=C3=B3=20el=20regimen=20fiscal?=
 =?UTF-8?q?=20y=20el=20uso=20del=20cfdi?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

a la compañia fronteriza se le agregó el regimen fiscal y el uso del cfdi, ademas se creo el parther
de Maria Olivia
---
 l10n_mx_facturae/demo/demo_res_partner.xml | 27 ++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/l10n_mx_facturae/demo/demo_res_partner.xml b/l10n_mx_facturae/demo/demo_res_partner.xml
index 941161b955..2ec790f9f7 100644
--- a/l10n_mx_facturae/demo/demo_res_partner.xml
+++ b/l10n_mx_facturae/demo/demo_res_partner.xml
@@ -25,4 +25,31 @@
         <field name="payment_method_id" ref="l10n_mx_base.cfdi_payment_method_1"/>
     </record>
 
+    <record id="l10n_mx_ir_attachment_facturae.demo_partner_company_mx_frontier" model="res.partner">
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+    </record>
+
+    <record id="l10n_mx_ir_attachment_facturae.res_company_mx_frontier" model="res.company">
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+    </record>
+
+   <record id="res_partner_2024" model="res.partner">
+        <field name="name">Maria Olivia Martinez Sagaz</field>
+        <field name="is_company">1</field>
+        <field name="street">45 10 oriente</field>
+        <field name="city">Culiacán</field>
+        <field name="state_id" ref="base.state_mx_sin"/>
+        <field name="zip">80290</field>
+        <field name="vat">MXMASO451221PM4</field>
+        <field name="phone">(870)-931-0505</field>
+        <field name="country_id" ref="base.mx"/>
+        <field name="email">maria.martinez@example.com</field>
+        <field name="company_id" ref="l10n_mx_ir_attachment_facturae.res_company_mx_frontier"/>
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_616"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+        <field name="payment_method_id" ref="l10n_mx_base.cfdi_payment_method_1"/>
+   </record>
+
 </odoo>
-- 
GitLab


From 0ebc88d3bb82cad93fbcd00d79a160d1487e6ad7 Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Tue, 7 May 2024 01:35:41 -0600
Subject: [PATCH 22/28] feat(account.payment): se corrige error al crear 2 o
 mas pagos a una factura

---
 l10n_mx_facturae/models/account_payment.py | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index 5acacfaa41..ef11f80259 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -395,20 +395,20 @@ class AccountPayment(models.Model):
         return domain
 
     def _l10n_mx_tax_base_dr(self, invoice, tax_move):
-        amount = tax_move.tax_base_amount
+        account = (
+            tax_move.company_id.account_cash_basis_base_account_id or
+            tax_move.account_id
+        )
+        base_line = tax_move.move_id.line_ids.filtered(
+            lambda l:
+                l.id != tax_move.id and l.account_id == account and l.tax_ids
+        )
 
+        amount = base_line.balance
         if invoice.currency_id != self.company_id.currency_id:
-            account = (
-                tax_move.company_id.account_cash_basis_base_account_id or
-                tax_move.account_id
-            )
-            base_line = tax_move.move_id.line_ids.filtered(
-                lambda l:
-                    l.id != tax_move.id and l.account_id == account and l.tax_ids
-            )
-            amount = -1 * base_line.amount_currency
+            amount = base_line.amount_currency
 
-        return amount
+        return -1 * amount
 
     def _l10n_mx_tax_importe_dr(self, invoice, tax_move):
         amount = tax_move.balance
-- 
GitLab


From d6ebb0ddf74674c98a03b80051841abfdedee4ee Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Fri, 10 May 2024 11:37:31 -0600
Subject: [PATCH 23/28] feat(se agrega uso de cfdi s01 y el regimen fiscal
 601): bloque 1

---
 l10n_mx_facturae/demo/demo_product.xml     |  6 ++++
 l10n_mx_facturae/demo/demo_res_partner.xml | 39 ++++++++++++++++------
 2 files changed, 34 insertions(+), 11 deletions(-)
 create mode 100644 l10n_mx_facturae/demo/demo_product.xml

diff --git a/l10n_mx_facturae/demo/demo_product.xml b/l10n_mx_facturae/demo/demo_product.xml
new file mode 100644
index 0000000000..a3b7c6fbd7
--- /dev/null
+++ b/l10n_mx_facturae/demo/demo_product.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+<data>
+
+</data>
+</odoo>
diff --git a/l10n_mx_facturae/demo/demo_res_partner.xml b/l10n_mx_facturae/demo/demo_res_partner.xml
index 2ec790f9f7..2313354b9c 100644
--- a/l10n_mx_facturae/demo/demo_res_partner.xml
+++ b/l10n_mx_facturae/demo/demo_res_partner.xml
@@ -1,13 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
-
-    <record id="l10n_mx.demo_company_mx" model="res.company">
-        <field name="city">Jesus Maria</field>
-        <field name="state_id" ref="base.state_mx_ags"/>
-        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
-        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
-    </record>
-
+<data>
     <record id="res_partner_2023" model="res.partner">
         <field name="name">Felix Manuel Andrade Ballado</field>
         <field name="is_company">1</field>
@@ -30,12 +23,36 @@
         <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
     </record>
 
+    <function name="write" model="ir.model.data">
+        <function name="search" model="ir.model.data">
+            <value
+                eval="[
+                    ('module', '=', 'l10n_mx'), ('name', '=', 'partner_demo_company_mx'),
+                    ('module', '=', 'l10n_mx'), ('name', '=', 'demo_company_mx')
+                ]"
+            />
+        </function>
+        <value eval="{'noupdate': False}" />
+    </function>
+
+    <record id="l10n_mx.partner_demo_company_mx" model="res.partner">
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+    </record>
+
+    <record id="l10n_mx.demo_company_mx" model="res.company">
+        <field name="city">Jesus Maria</field>
+        <field name="state_id" ref="base.state_mx_ags"/>
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+    </record>
+
     <record id="l10n_mx_ir_attachment_facturae.res_company_mx_frontier" model="res.company">
         <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_601"/>
         <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
     </record>
 
-   <record id="res_partner_2024" model="res.partner">
+    <record id="res_partner_2024" model="res.partner">
         <field name="name">Maria Olivia Martinez Sagaz</field>
         <field name="is_company">1</field>
         <field name="street">45 10 oriente</field>
@@ -50,6 +67,6 @@
         <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_616"/>
         <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
         <field name="payment_method_id" ref="l10n_mx_base.cfdi_payment_method_1"/>
-   </record>
-
+    </record>
+</data>
 </odoo>
-- 
GitLab


From 3a15406e5a55f464d6225ec4dca01422287fe8db Mon Sep 17 00:00:00 2001
From: "ricardo.mendoza" <ricardo.mendoza@openpyme.mx>
Date: Fri, 10 May 2024 18:59:49 -0600
Subject: [PATCH 24/28] feat(crear datos demo para productos, diario y
 factura): se crean los datos demo

---
 l10n_mx_facturae/__manifest__.py       |  1 +
 l10n_mx_facturae/demo/demo_product.xml | 83 ++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)

diff --git a/l10n_mx_facturae/__manifest__.py b/l10n_mx_facturae/__manifest__.py
index 3a3e4ce2ec..9491b6a3d4 100644
--- a/l10n_mx_facturae/__manifest__.py
+++ b/l10n_mx_facturae/__manifest__.py
@@ -40,6 +40,7 @@
     ],
     "demo": [
         "demo/demo_res_partner.xml",
+        "demo/demo_product.xml",
     ],
     "installable": True,
 }
diff --git a/l10n_mx_facturae/demo/demo_product.xml b/l10n_mx_facturae/demo/demo_product.xml
index a3b7c6fbd7..839b077907 100644
--- a/l10n_mx_facturae/demo/demo_product.xml
+++ b/l10n_mx_facturae/demo/demo_product.xml
@@ -2,5 +2,88 @@
 <odoo>
 <data>
 
+    <record id="product.product_product_7" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_27" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_16" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_3" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_9" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_20" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_5" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_8" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.consu_delivery_03" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_13" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_10" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_6" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.consu_delivery_02" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_24" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_delivery_02" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_25" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_delivery_01" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_12" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_order_01" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.consu_delivery_01" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
+
+    <record id="product.product_product_22" model="product.product">
+        <field name="cfdi_product_service_id" ref="l10n_mx_base.56101700"/>
+    </record>
 </data>
 </odoo>
-- 
GitLab


From e2f5af263b96cf1814ef4afd7a340a36652dbcff Mon Sep 17 00:00:00 2001
From: "jesus.lomas" <jesus.lomas@openpyme.mx>
Date: Thu, 16 May 2024 10:00:36 -0600
Subject: [PATCH 25/28] =?UTF-8?q?feat(cancelaci=C3=B3n=20de=20cfdi's=20de?=
 =?UTF-8?q?=20complementos=20de=20pago):=20agregar=20boton?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 l10n_mx_facturae/models/account_payment.py |  4 +++-
 l10n_mx_facturae/views/account_payment.xml | 10 ++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index ef11f80259..bf5636be1b 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -145,7 +145,9 @@ class AccountPayment(models.Model):
     def replace_cfdi(self):
         """Cancel voucher cfdi by replacing with 1 MXN voucher"""
         for record in self:
-            self._cancel_cfdi()
+            record.cancel_cfdi()
+            record.action_draft()
+            record.action_cancel()
 
     def currency_rate(self):
         """Compute currency rate used for current voucher to display on XML
diff --git a/l10n_mx_facturae/views/account_payment.xml b/l10n_mx_facturae/views/account_payment.xml
index c35f3805ce..fbee1ae857 100644
--- a/l10n_mx_facturae/views/account_payment.xml
+++ b/l10n_mx_facturae/views/account_payment.xml
@@ -24,6 +24,11 @@
         <field name="model">account.payment</field>
         <field name="inherit_id" ref="account.view_account_payment_form"/>
         <field name="arch" type="xml">
+             <button name="action_draft" position="attributes">
+                <attribute name="attrs">
+                    {'invisible': ['&amp;',('state', 'in', ('posted', 'cancel')),('cfdi_state', 'in', ('done', 'cancel'))]}
+                </attribute>
+            </button>
             <button name="action_post" position="after">
                 <button name="sign_payment" type="object" string="Sign"
                     class="oe_highlight"
@@ -33,8 +38,9 @@
                         ('cfdi_state', '!=', False)
                     ]}" />
                 <!--<button name="substitute_payment" type="object" string="Replace"
-                    attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed', 'done']), ('state', '=', 'cancel')]}"/>
-                <button name="replace_cfdi" type="object" string="Cancel"
+                    attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed',
+                    'done']), ('state', '=', 'cancel')]}"/>-->
+                <button name="replace_cfdi" type="object" class="btn-primary" string="Cancel"
                     confirm="Are you sure to cancel this payment?"
                     attrs="{'invisible': ['|', ('cfdi_state', 'not in', ['signed',
                     'done']), ('state', '=', 'cancel')]}"/>-->
-- 
GitLab


From 8eb5dde318eb5dd3fb72e11195255b6db06c9566 Mon Sep 17 00:00:00 2001
From: "noe.izquierdo" <noe.izquierdo@openpyme.mx>
Date: Thu, 16 May 2024 11:58:54 -0600
Subject: [PATCH 26/28] feat(i18n): se agregan traducciones para odoo 15

---
 .gitlab-ci.yml                                |  83 ++-
 buildout.cfg                                  |  26 +
 l10n_mx_facturae/__manifest__.py              |   2 +-
 l10n_mx_facturae/data/res_partner.xml         |  19 +
 l10n_mx_facturae/i18n/es_MX.po                | 628 ++++++++++++++++++
 l10n_mx_facturae/models/account_move.py       |  21 +
 l10n_mx_facturae/models/account_payment.py    | 152 +++--
 l10n_mx_facturae/report/account_move.odt      | Bin 54288 -> 53290 bytes
 l10n_mx_facturae/report/account_payment.odt   | Bin 44069 -> 43896 bytes
 l10n_mx_facturae/templates/account_move.xml   |   6 +-
 .../templates/account_payment.xml             |  21 +-
 l10n_mx_facturae/views/account_move.xml       |   7 +
 12 files changed, 865 insertions(+), 100 deletions(-)
 create mode 100644 buildout.cfg
 create mode 100644 l10n_mx_facturae/data/res_partner.xml
 create mode 100644 l10n_mx_facturae/i18n/es_MX.po

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 740db8b1d0..a5ecb4199e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,35 +1,84 @@
 variables:
-  BUILDOUT: tools/buildout.cfg
+  BUILDOUT: buildout.cfg
+  DB_NAME: $CI_PROJECT_NAME-$CI_JOB_ID
+  DB_USER: openerp
+  NAME_PRO: $CI_PROJECT_NAME
 
 cache:
-  key: "$CI_BUILD_NAME"
+  key: one-key-to-rule-them-all
   paths:
   - buildout-cache/
 
-before_script:
-  - git clone --depth=1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.openpyme.mx/pyerp/test.git tools
-  - virtualenv --quiet --python=python2.7 .
-  - source bin/activate
-  - pip install -r tools/requirements.txt
-
 stages:
   - build
-  - test
-  - deploy
+  - unit test
+  - code style
+
+make:
+  tags:
+    - base
+  stage: build
+  script:
+    - git clone --depth=1 --branch feat_bench_odoo_15 http://gitlab.openpyme.mx/pyerp/bench.git
+    - cd bench
+    - cp -f $CI_PROJECT_DIR/buildout.cfg buildout.cfg
+    - ln -s profiles/ci.cfg local.cfg
+    - virtualenv . --python=python3.10
+    - source bin/activate
+    - bin/pip3.10 install -r requirements.txt
+    - bin/buildout
+    - cp -LR $CI_PROJECT_DIR/$NAME_PRO local_modules/
+  artifacts:
+    paths:
+      - bench
+    expire_in: 1 week
+
+test:
+  tags:
+    - base
+  stage: unit test
+  script:
+    - cd bench
+    - source bin/activate
+    - createdb $DB_NAME
+    - start_openerp -d $DB_NAME --stop-after-init -i $NAME_PRO
+    - green -d $DB_NAME -- local_modules/$NAME_PRO
+  dependencies:
+    - make
 
 code-analysis:
-  stage: test
+  tags:
+    - base
+  stage: code style
+  allow_failure: true
   script:
-    - buildout -qc $BUILDOUT buildout:directory=$CI_PROJECT_DIR install node code-analysis
+    - cd bench
+    - source bin/activate
     - code-analysis
+  dependencies:
+    - make
 
 lint-analysis:
-  stage: test
+  tags:
+    - base
+  stage: code style
+  allow_failure: true
   script:
-    - buildout -qc $BUILDOUT buildout:directory=$CI_PROJECT_DIR install pylint-bin pylint
+    - cd bench
+    - source bin/activate
+    - python-pylint scripts/run_pylint --path local_modules/ -c config/pylint.cfg
+
+  dependencies:
+    - make
 
 mccabe:
-  stage: test
+  tags:
+    - base
+  stage: code style
+  allow_failure: true
   script:
-    - buildout -qc $BUILDOUT buildout:directory=$CI_PROJECT_DIR install xenon
-    - xenon -bC -mB -aB -i bin,eggs,old-eggs,downloads,lib .
+    - cd bench
+    - source bin/activate
+    - xenon -bC -mB -aB -i bin,eggs,downloads,lib,parts .
+  dependencies:
+    - make
diff --git a/buildout.cfg b/buildout.cfg
new file mode 100644
index 0000000000..e0ec2b69af
--- /dev/null
+++ b/buildout.cfg
@@ -0,0 +1,26 @@
+[buildout]
+extends =
+    local.cfg
+    config/mexico.cfg
+
+# The project name, base for paths
+site = pyerp
+domain = subdomain.openpyme.mx
+
+# Adjust to directory-setup of server. (Usually don't needed)
+# Relative paths:
+filestore = ${buildout:directory}/data_dir
+
+# The PyERP options
+[options]
+admin_passwd = 11235813
+xmlrpc_port = 8069
+longpolling_port = 8072
+db_maxconn = 64
+dbfilter = .*
+workers = 3
+limit_time_cpu = 86400
+limit_time_real = 86400
+limit_memory_soft = 2684354560
+limit_memory_hard = 3221225472
+sentry_dns = http://a49ee0cdb261441aa28990a5b909fc55:c079095e7aa84bebbd2027157de826a6@sentry.openpyme.mx/7
diff --git a/l10n_mx_facturae/__manifest__.py b/l10n_mx_facturae/__manifest__.py
index 9491b6a3d4..040c9ffb87 100644
--- a/l10n_mx_facturae/__manifest__.py
+++ b/l10n_mx_facturae/__manifest__.py
@@ -11,7 +11,6 @@
         "account_global_discount",
         "account_invoice_change_currency",
         "l10n_mx_base",
-        "report_xml",
     ],
     "data": [
         # Security
@@ -23,6 +22,7 @@
         #"data/email_template.xml",
         "data/facturae_data.xml",
         "data/ir_attachment_facturae_config.xml",
+        "data/res_partner.xml",
         #"data/ir_cron.xml",
 
         # Views
diff --git a/l10n_mx_facturae/data/res_partner.xml b/l10n_mx_facturae/data/res_partner.xml
new file mode 100644
index 0000000000..547f322a97
--- /dev/null
+++ b/l10n_mx_facturae/data/res_partner.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+    <record id="res_partner_public_general" model="res.partner">
+        <field name="name">Publico en general</field>
+        <field name="is_company">1</field>
+        <field name="street">45 10 oriente</field>
+        <field name="city">Culiacán</field>
+        <field name="state_id" ref="base.state_mx_sin"/>
+        <field name="zip">80290</field>
+        <field name="vat">MXXAXX010101000</field>
+        <field name="phone">(870)-931-0505</field>
+        <field name="country_id" ref="base.mx"/>
+        <field name="cfdi_fiscal_regime_id" ref="l10n_mx_base.regime_fiscal_616"/>
+        <field name="cfdi_use_id" ref="l10n_mx_base.cfdi_use_S01"/>
+        <field name="payment_method_id" ref="l10n_mx_base.cfdi_payment_method_1"/>
+    </record>
+
+</odoo>
diff --git a/l10n_mx_facturae/i18n/es_MX.po b/l10n_mx_facturae/i18n/es_MX.po
new file mode 100644
index 0000000000..460e0b6d95
--- /dev/null
+++ b/l10n_mx_facturae/i18n/es_MX.po
@@ -0,0 +1,628 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* l10n_mx_facturae
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-04-25 23:00+0000\n"
+"PO-Revision-Date: 2024-04-25 18:02-0600\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: es_MX\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+"X-Generator: Poedit 3.2.2\n"
+
+#. module: l10n_mx_facturae
+#: model:ir.actions.report,name:l10n_mx_facturae.ir_actions_report_pdf_account_move_cfdi
+msgid "Account Move CFDI PDF"
+msgstr "Traslado de cuenta CFDI PDF"
+
+#. module: l10n_mx_facturae
+#: model:ir.actions.report,name:l10n_mx_facturae.ir_actions_report_xml_account_move_cfdi
+msgid "Account Move CFDI XML"
+msgstr "Traslado de cuenta CFDI XML"
+
+#. module: l10n_mx_facturae
+#: model:ir.actions.report,name:l10n_mx_facturae.ir_actions_report_pdf_account_payment_cfdi
+msgid "Account Payment CFDI PDF"
+msgstr "Pago de cuenta CFDI PDF"
+
+#. module: l10n_mx_facturae
+#: model:ir.actions.report,name:l10n_mx_facturae.ir_actions_report_xml_account_payment_cfdi
+msgid "Account Payment CFDI XML"
+msgstr "Pago de cuenta CFDI XML"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.l10n_mx_facturae_res_partner_view_form
+msgid ""
+"Addends are used to add additional content to the invoice that  the SAT.\n"
+"                    An addendum contains information of a commercial, "
+"logistic and  operation,\n"
+"                    often required by the receiving company (client).\n"
+"                    <br/><br/>\n"
+"                    Once you have selected the addendum, you must add the "
+"necessary information\n"
+"                    in all or some of the following sections: Customers, "
+"suppliers, company,\n"
+"                    products, services, invoices or delivery notes\n"
+"                    <br/><br/>\n"
+"                    Done the necessary configurations, you will be able to "
+"stamp your invoices\n"
+"                    with the selected complement."
+msgstr ""
+"Los sumandos se utilizan para agregar contenido adicional a la factura que "
+"emite el SAT.\n"
+"                     Una adenda contiene información de carácter comercial, "
+"logístico y de operación,\n"
+"                     a menudo requerido por la empresa receptora "
+"(cliente).\n"
+"                     <br/>><br/>\n"
+"                     Una vez que hayas seleccionado la adenda, deberás "
+"agregar la información necesaria\n"
+"                     en todos o algunos de los siguientes apartados: "
+"Clientes, proveedores, empresa,\n"
+"                     productos, servicios, facturas o albaranes\n"
+"                     <br/>><br/>\n"
+"                     Realizadas las configuraciones necesarias, podrás "
+"sellar tus facturas\n"
+"                     con el complemento seleccionado."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_adenda_ids
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_adenda_ids
+msgid "Addendum"
+msgstr "Adenda"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__address_issued_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__address_issued_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__address_issued_id
+msgid "Address Issued Invoice"
+msgstr "Dirección Factura Emitida"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.l10n_mx_facturae_res_partner_view_form
+msgid "Adendas"
+msgstr "Adendas"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields.selection,name:l10n_mx_facturae.selection__account_move__cfdi_periodicity__03
+msgid "Biweekly"
+msgstr "Cada dos semanas"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_folio_fiscal
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_folio_fiscal
+msgid "CFD-I Folio Fiscal"
+msgstr "CFD-I Folio Fiscal"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_id
+msgid "CFDI"
+msgstr "CFDI"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__cfdi_adenda_ids
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__cfdi_adenda_ids
+msgid "CFDI Adendas"
+msgstr "CFDI Adendas"
+
+#. module: l10n_mx_facturae
+#: model:res.groups,name:l10n_mx_facturae.group_cfdi_custom_number
+msgid "CFDI Custom Number"
+msgstr "Número de Pedimento"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__cfdi_relation_type
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_relation_type
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_relation_type
+msgid "CFDI Relation type"
+msgstr "CFDI Tipo de relación"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__cfdi_id
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__cfdi_id
+msgid "CFDI related to the selected record"
+msgstr "CFDI relacionado con el registro seleccionado"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__cfdi_use
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_use
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_use
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__cfdi_use_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__cfdi_use_id
+msgid "CFDI use"
+msgstr "Uso de CFDI"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid ""
+"Can't post the entry %s, the related invoice is waiting for a request to "
+"cancel."
+msgstr ""
+"No se puede asentar la póliza %s, porque la factura relacionada esta "
+"esperando el resultado de una solicitud de cancelación."
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "Cancellation request sent"
+msgstr "Solicitud de cancelación enviada"
+
+#. module: l10n_mx_facturae
+#: model:res.groups,name:l10n_mx_facturae.cfdi_cuentapredial
+msgid "Cfdi Cuenta Predial"
+msgstr "Cuenta Predial"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_datetime
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_datetime
+msgid "Cfdi Datetime"
+msgstr "CFDI Fecha/hora"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__cfdi_periodicity
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_periodicity
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_periodicity
+msgid "Cfdi Periodicity"
+msgstr "CFDI Periodicidad"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_partner__cfdi_use_id
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_users__cfdi_use_id
+msgid ""
+"Cfdi usage that will be used by default on this customer invoices and "
+"credit notes"
+msgstr ""
+"Uso de CFDI que se utilizará por defecto en las facturas y notas de crédito "
+"de este cliente"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_res_company
+msgid "Companies"
+msgstr "Compañías"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_res_partner
+msgid "Contact"
+msgstr "Contacto"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "Could not check SAT invoice status due to the following error: %s."
+msgstr ""
+"No se ha podido comprobar el estado de la factura SAT debido al siguiente "
+"error: %s."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move_line__cfdi_cuentapredial
+msgid "Cuenta Predial"
+msgstr "Cuenta Predial"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_partner__gln_number
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_users__gln_number
+msgid "Customer or Delivery branch"
+msgstr "Cliente o sucursal de entrega"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields.selection,name:l10n_mx_facturae.selection__account_move__cfdi_periodicity__01
+msgid "Daily"
+msgstr "Diario"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__date_invoice_cancel
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__date_invoice_cancel
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__date_invoice_cancel
+msgid "Date Invoice Cancelled"
+msgstr "Fecha de cancelación de la factura"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__datetime
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__datetime
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__datetime
+msgid "Datetime"
+msgstr "Fecha y hora"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_form_customer
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_tree
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_payment_cfdi_view_form
+msgid "Fiscal Number"
+msgstr "Número Fiscal"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__cfdi_folio_fiscal
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__cfdi_folio_fiscal
+msgid "Folio used in the electronic invoice"
+msgstr "Folio utilizado en la factura electrónica"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__gln_number
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__gln_number
+msgid "GLN Number"
+msgstr "Número GLN"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__is_cfdi_candidate
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__is_cfdi_candidate
+msgid ""
+"Helper field to determine if document is CFDI candidate to show send PAC "
+"button on form view."
+msgstr ""
+"Campo auxiliar para determinar si el documento es candidato a CFDI para "
+"mostrar el botón enviar PAC en la vista del formulario."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__show_unreconcile
+msgid "Helper field to hide unreconcile button"
+msgstr "Campo de ayuda para ocultar el botón de irreconciliar"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move_line__cfdi_numero_identificacion
+msgid "Identification Number"
+msgstr "Número de identificación"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_bank_statement_line__date_invoice_cancel
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__date_invoice_cancel
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__date_invoice_cancel
+msgid "If the invoice is cancelled, save the date when was cancel"
+msgstr "Si la factura es cancelada, guarde la fecha cuando se canceló"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid ""
+"Incorrect tax sequence configuration, check this data in Account >> Tax >> "
+"Sequence"
+msgstr ""
+"Configuración incorrecta de la secuencia de impuestos, compruebe estos "
+"datos en Cuenta >> Impuestos >> Secuencia"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_search
+msgid "Invoices that being substituted and must be cancelled"
+msgstr "Facturas que se sustituyen y deben cancelarse"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_search
+msgid "Invoices to be signed"
+msgstr "Facturas por firmar"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__is_cfdi_candidate
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__is_cfdi_candidate
+msgid "Is Cfdi Candidate"
+msgstr "Es Candidato Cfdi"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_account_move
+msgid "Journal Entry"
+msgstr "Asiento de diario"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_account_move_line
+msgid "Journal Item"
+msgstr "Apunte contable"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__l10n_mx_edi_error
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__l10n_mx_edi_error
+msgid "L10N Mx Edi Error"
+msgstr "L10N Mx Edi Error"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__l10n_mx_edi_original_invoice
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__l10n_mx_edi_original_invoice
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__l10n_mx_edi_original_invoice
+msgid "L10N Mx Edi Original Invoice"
+msgstr "L10N Mx Edi Factura original"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__l10n_mx_edi_to_cancel
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__l10n_mx_edi_to_cancel
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__l10n_mx_edi_to_cancel
+msgid "L10N Mx Edi To Cancel"
+msgstr "L10N Mx Edi Para Cancelar"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__l10n_mx_export
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__l10n_mx_export
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__l10n_mx_export
+msgid "Merchandise export"
+msgstr "Exportación de mercancías"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "Missing SAT code for product: {product}"
+msgstr "Falta el código SAT para el producto: {producto}"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields.selection,name:l10n_mx_facturae.selection__account_move__cfdi_periodicity__04
+msgid "Monthly"
+msgstr "Mensualmente"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "No status update found on SAT"
+msgstr "No se ha encontrado ninguna actualización de estado en SAT"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_partner__supplier_number
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_users__supplier_number
+msgid "Number or reference that the Client assigned to our company."
+msgstr "Número o referencia que el Cliente asignó a nuestra empresa."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move_line__cfdi_custom_number
+msgid "N° Pediment"
+msgstr "N° Pedimento"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "Operation not supported"
+msgstr "Operación no admitida"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__related_cfdi_ids
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__related_cfdi_ids
+msgid "Original CFDI to which this CFDI is referred to"
+msgstr "CFDI original al que se refiere este CFDI"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_form_customer
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_payment_cfdi_view_form
+msgid "PAC State"
+msgstr "Estado PAC"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_bank_statement_line__payment_method_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__payment_method_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__payment_method_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__payment_method_id
+msgid "Payment Method"
+msgstr "Forma de pago"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_partner__payment_method_id
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_users__payment_method_id
+msgid ""
+"Payment method associated with this partner accordingto CFDI 4.0 catalog."
+msgstr "Forma de pago asociada a este socio de acuerdo al catálogo CFDI 4.0."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_bank_statement_line__payment_method_id
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__payment_method_id
+msgid "Payment method associated with this payment term according"
+msgstr "Método de pago asociado a este plazo de pago según"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_account_payment
+msgid "Payments"
+msgstr "Pagos"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid ""
+"Predial Account must be only numbers.\n"
+"All letters must be replaced by '0'"
+msgstr ""
+"La cuenta de premarcado debe ser solo numérica.\n"
+"Todas las letras deben sustituirse por \"0\"."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move_line__cfdi_cuentapredial
+msgid "Predial number for real state lease invoices"
+msgstr "Número predial para facturas de arrendamiento de inmuebles"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "Product {p} must have at least one tax selected."
+msgstr "El producto {p} debe tener al menos un impuesto seleccionado."
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_form_customer
+msgid "Related"
+msgstr "Relacionado"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__related_cfdi_ids
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__related_cfdi_ids
+msgid "Related Cfdi"
+msgstr "CFDI relacionado"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_form_customer
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_payment_cfdi_view_form
+msgid "Retry"
+msgstr "Reintentar"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__cfdi_adenda_ids
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__cfdi_adenda_ids
+msgid "Select addendum node to use on this CFDI."
+msgstr "Seleccione el nodo de adenda a utilizar en este CFDI."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__sequence_id
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__sequence_id
+msgid "Sequence"
+msgstr "Secuencia"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__show_edi
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__show_edi
+msgid "Show Edi"
+msgstr "Mostrar edición"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__show_glnnumber
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__show_glnnumber
+msgid "Show Glnnumber"
+msgstr "Mostrar número de registro"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__show_suppliernumber
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__show_suppliernumber
+msgid "Show Suppliernumber"
+msgstr "Mostrar número de proveedor"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__show_unreconcile
+msgid "Show Unreconcile"
+msgstr "Mostrar irreconciliar"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_payment_cfdi_view_form
+msgid "Sign"
+msgstr "Firma"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_payment.py:0
+#, python-format
+msgid ""
+"Some of the invoices that will be paid with this record are not signed, and "
+"the UUID is required to indicate the invoices that are paid with this CFDI "
+msgstr ""
+"Algunas de las facturas que se pagarán con este registro no están firmadas, "
+"y se requiere el UUID para indicar las facturas que se pagan con este CFDI"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__cfdi_state
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__cfdi_state
+msgid "State"
+msgstr "Estado"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__cfdi_state
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__cfdi_state
+msgid "State of attachments"
+msgstr "Estado de los archivos adjuntos"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_move__state
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_account_payment__state
+msgid "Status"
+msgstr "Estado"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__supplier_number
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__supplier_number
+msgid "Supplier Number"
+msgstr "Número de proveedor"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_bank_statement_line__l10n_mx_edi_to_cancel
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__l10n_mx_edi_to_cancel
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__l10n_mx_edi_to_cancel
+msgid ""
+"Technical field to display a warning when an invoice must be canceled "
+"because have being replaced by a new one."
+msgstr ""
+"Campo técnico para mostrar un aviso cuando una factura debe cancelarse "
+"porque ha sido sustituida por una nueva."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_bank_statement_line__l10n_mx_edi_original_invoice
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__l10n_mx_edi_original_invoice
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__l10n_mx_edi_original_invoice
+msgid "Technical field to relate origin invoice with substitute"
+msgstr "Campo técnico para relacionar la factura de origen con la sustituta"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid "The invoice could not be canceled"
+msgstr "La factura no se ha podido cancelar"
+
+#. module: l10n_mx_facturae
+#: model:res.groups,comment:l10n_mx_facturae.cfdi_cuentapredial
+msgid ""
+"The user will have access to add Cuenta Predial information to invoice "
+"lines."
+msgstr ""
+"El usuario tendrá acceso al campo para la Cuenta Predial en las líneas de "
+"las facturas."
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_bank_statement_line__address_issued_id
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move__address_issued_id
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_payment__address_issued_id
+msgid ""
+"This address will be used as address that issued for electronic invoice"
+msgstr ""
+"Esta dirección se utilizará como dirección emitida para la factura "
+"electrónica"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_partner__cfdi_adenda_ids
+#: model:ir.model.fields,help:l10n_mx_facturae.field_res_users__cfdi_adenda_ids
+msgid "This field allows adding a node or addendum to the invoice"
+msgstr "Este campo permite agregar un nodo o adenda a la factura"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#, python-format
+msgid ""
+"This invoice must be cancelled because have being replaced with invoice: "
+msgstr ""
+"Esta factura debe cancelarse porque ha sido reemplazada por una factura: "
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,help:l10n_mx_facturae.field_account_move_line__cfdi_numero_identificacion
+msgid "This number is the identification number for invoice line in cfdi"
+msgstr ""
+"Este número es el número de identificación de la línea de factura en CFDI"
+
+#. module: l10n_mx_facturae
+#: code:addons/l10n_mx_facturae/models/account_move.py:0
+#: model:ir.model.fields.selection,name:l10n_mx_facturae.selection__account_move__state__waiting
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_search
+#, python-format
+msgid "To cancel"
+msgstr "A cancelar"
+
+#. module: l10n_mx_facturae
+#: model_terms:ir.ui.view,arch_db:l10n_mx_facturae.account_move_view_search
+msgid "To sign"
+msgstr "A firmar"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_company__cfdi_use_id
+msgid "Use CFDI"
+msgstr "Uso de CFDI"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_partner__edi
+#: model:ir.model.fields,field_description:l10n_mx_facturae.field_res_users__edi
+msgid "User EDI"
+msgstr "Usuario EDI"
+
+#. module: l10n_mx_facturae
+#: model:ir.model.fields.selection,name:l10n_mx_facturae.selection__account_move__cfdi_periodicity__02
+msgid "Weekly"
+msgstr "Semanal"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_report_l10n_mx_facturae_account_move
+msgid "report.l10n_mx_facturae.account_move"
+msgstr "report.l10n_mx_facturae.account_move"
+
+#. module: l10n_mx_facturae
+#: model:ir.model,name:l10n_mx_facturae.model_report_l10n_mx_facturae_account_payment
+msgid "report.l10n_mx_facturae.account_payment"
+msgstr "report.l10n_mx_facturae.account_payment"
diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index 3bdc1422f9..d6025b334b 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -135,6 +135,10 @@ class AccountMove(models.Model):
         #compute="_compute_l10n_mx_edi_to_cancel",
         help="Technical field to relate origin invoice with substitute",
     )
+    invoice_global = fields.Boolean(
+        compute="_compute_invoice_global",
+        string="Is Invoice global?",
+    )
     cfdi_periodicity = fields.Selection(
         [
             ("01", "Daily"),
@@ -398,6 +402,13 @@ class AccountMove(models.Model):
                 ) and record.commercial_partner_id.country_id.code_alpha3 != "MEX"
             )
 
+    def _compute_invoice_global(self):
+        for record in self:
+            record.invoice_global = bool(
+                record.commercial_partner_id.name == "Publico en general" and
+                record.commercial_partner_id.vat_split == "XAXX010101000"
+            )
+
     ############################################################
     # This section compute function of decision for xml CFDI 4.0
     ############################################################
@@ -407,6 +418,16 @@ class AccountMove(models.Model):
         date = pytz.UTC.localize(self.cfdi_datetime).astimezone(tz)
         return date.strftime("%Y-%m-%dT%H:%M:%S")
 
+    def l10n_mx_facturae_compute_fecha_global_year(self):
+        tz = pytz.timezone(self.env.user.tz or pytz.utc.zone)
+        date = pytz.UTC.localize(self.cfdi_datetime).astimezone(tz)
+        return date.strftime("%Y")
+
+    def l10n_mx_facturae_compute_fecha_global_month(self):
+        tz = pytz.timezone(self.env.user.tz or pytz.utc.zone)
+        date = pytz.UTC.localize(self.cfdi_datetime).astimezone(tz)
+        return date.strftime("%m")
+
     def l10n_mx_facturae_compute_serie(self):
         if self.journal_id.secure_sequence_id.prefix:
             return self.serie
diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index bf5636be1b..e4406af49d 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -290,30 +290,17 @@ class AccountPayment(models.Model):
 
         value = 1
         if invoice.currency_id != voucher_currency:
-            if invoice.currency_id == company_currency:
-                # When invoice is in company currency we are going to use payment rate
-                voucher_currency = voucher_currency.with_context(
-                    special_currency_rate=(1 / voucher_currency.rate),
-                    special_currency=voucher_currency.id,
-                )
-            else:
-                voucher_currency = voucher_currency.with_context(
-                    special_currency_rate=(1 / invoice.currency_id.rate),
-                    special_currency=invoice.currency_id.id,
-                )
-
             value = float_round(
-                voucher_currency.compute(1.0, invoice.currency_id, round=False),
+                voucher_currency._convert(
+                    1.0,
+                    invoice.currency_id,
+                    self.company_id,
+                    self.date,
+                    round=False,
+                ),
                 precision_digits=6
             )
 
-            if (
-                voucher_currency == company_currency
-                and invoice.currency_id != company_currency
-            ):
-                # Hack to bypass PAC validation, suggested by PAC
-                value += 0.000001
-
         return value
 
     def impuestos_dr(self, invoice, tax_type="traslados"):
@@ -324,10 +311,28 @@ class AccountPayment(models.Model):
         payments = self._l10n_mx_get_payments_to_invoice(invoice)
         payments &= self.line_ids
 
-        tax_reconciles = invoice.tax_cash_basis_created_move_ids.mapped("tax_cash_basis_rec_id").filtered(
+        tax_reconciles = invoice.tax_cash_basis_created_move_ids.mapped(
+            "tax_cash_basis_rec_id"
+        ).filtered(
             lambda rec: rec.credit_move_id in payments
         )
-        domain = self._l10n_mx_get_taxes_domain(tax_reconciles, tax_type=tax_type)
+
+        # Get tax moves done for this payment and this invoice
+        domain = [("move_id.tax_cash_basis_rec_id", "in", tax_reconciles._ids)]
+        # Exclude IEPS if partner not IEPS subjected
+        if not self.partner_id.ieps_subjected:
+            domain.append(
+                ("tax_ids.invoice_repartition_line_ids.tag_ids.name", "!=", "IEPS")
+            )
+
+        if tax_type == "traslados":
+            domain.append(("tax_ids.amount", ">=", 0))
+            domain.append(("tax_ids.amount_type", "=", "percent"))
+
+        else:
+            domain.append(("tax_ids.amount", "<", 0))
+            domain.append(("tax_ids.amount_type", "=", "percent"))
+
         tax_moves = self.env["account.move.line"].search(domain)
         return tax_moves
 
@@ -335,17 +340,16 @@ class AccountPayment(models.Model):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
         tax_totals = {}
-        company_currency = self.company_id.currency_id
-        voucher_currency = self.currency_id.with_context(date=self.date)
+
         impuestos = self.impuestos_p(tax_type=tax_type)
         # Load tax record for being able to use on template to fill XML
         for line in impuestos:
-            tax = line["tax_id"]
+            tax = line["tax"]
             tax_rep_lines = tax.invoice_repartition_line_ids._origin.filtered(
                 lambda x: x.repartition_type == "tax"
             )
             tax_group = tax_rep_lines.mapped("tag_ids")
-            key = tax_group.name + str(line["tax_id"].amount)
+            key = tax_group.name + str(tax.amount)
 
             tax_totals["importe" + key] = line["importe"]
             tax_totals["base" + key] = line["tax_base"]
@@ -355,67 +359,77 @@ class AccountPayment(models.Model):
     def impuestos_p(self, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
         self.ensure_one()
-        company_currency = self.company_id.currency_id
-        voucher_currency = self.currency_id.with_context(date=self.date)
+
         tax_totals = dict()
 
         for invoice in self.doctos_relacionados:
-            for tax_move in self.impuestos_dr(invoice, tax_type=tax_type):
-                if tax_move.tax_line_id.id not in tax_totals:
-                    tax_totals[tax_move.tax_line_id.id] = dict(
-                        tax_id=tax_move.tax_line_id,
-                        tax_base=0.0,
-                        importe=0.0,
-                    )
+            for base_line in self.impuestos_dr(invoice, tax_type=tax_type):
+                for tax in base_line.tax_ids:
+                    if tax.id not in tax_totals:
+                        tax_totals[tax.id] = dict(
+                            tax=tax,
+                            tax_base=0.0,
+                            importe=0.0,
+                        )
 
-                tax_base = self._l10n_mx_tax_base_dr(invoice, tax_move)
-                importe = self._l10n_mx_tax_importe_dr(invoice, tax_move)
+                    tax_base = self._l10n_mx_tax_base_p(invoice, base_line)
+                    importe = self._l10n_mx_tax_importe_p(invoice, base_line)
 
-                tax_totals[tax_move.tax_line_id.id]["tax_base"] += tax_base
-                tax_totals[tax_move.tax_line_id.id]["importe"] += importe
+                    tax_totals[tax.id]["tax_base"] += tax_base
+                    tax_totals[tax.id]["importe"] += importe
 
         return [line for line in tax_totals.values()]
 
-    def _l10n_mx_get_taxes_domain(self, tax_reconciles, tax_type="traslados"):
-        self.ensure_one()
-        # Get tax moves done for this payment and this invoice
-        domain = [("move_id.tax_cash_basis_rec_id", "in", tax_reconciles._ids)]
-        # Exclude IEPS if partner not IEPS subjected
-        if not self.partner_id.ieps_subjected:
-            domain.append(
-                ("tax_line_id.invoice_repartition_line_ids.tag_ids.name", "!=", "IEPS")
-            )
-
-        if tax_type == "traslados":
-            domain.append(("tax_line_id.amount", ">=", 0))
-            domain.append(("tax_line_id.amount_type", "=", "percent"))
+    def _l10n_mx_tax_base_dr(self, invoice, base_line):
+        amount = base_line.balance
 
-        else:
-            domain.append(("tax_line_id.amount", "<", 0))
-            domain.append(("tax_line_id.amount_type", "=", "percent"))
+        if invoice.currency_id != self.company_id.currency_id:
+            amount = base_line.amount_currency
 
-        return domain
+        return -1 * amount
 
-    def _l10n_mx_tax_base_dr(self, invoice, tax_move):
-        account = (
-            tax_move.company_id.account_cash_basis_base_account_id or
-            tax_move.account_id
-        )
-        base_line = tax_move.move_id.line_ids.filtered(
+    def _l10n_mx_tax_importe_dr(self, invoice, base_line):
+        tax_line = base_line.move_id.line_ids.filtered(
             lambda l:
-                l.id != tax_move.id and l.account_id == account and l.tax_ids
+                l.tax_line_id in base_line.tax_ids
         )
+        amount = tax_line.balance
 
-        amount = base_line.balance
         if invoice.currency_id != self.company_id.currency_id:
-            amount = base_line.amount_currency
+            amount = tax_line.amount_currency
 
         return -1 * amount
 
-    def _l10n_mx_tax_importe_dr(self, invoice, tax_move):
-        amount = tax_move.balance
+    def _l10n_mx_tax_base_p(self, invoice, base_line):
+        amount = base_line.balance
 
-        if invoice.currency_id != self.company_id.currency_id:
-            amount = tax_move.amount_currency
+        if self.currency_id != self.company_id.currency_id:
+            amount = base_line.amount_currency
+            if invoice.currency_id == self.company_id.currency_id:
+                amount = invoice.currency_id._convert(
+                    amount,
+                    self.currency_id,
+                    self.company_id,
+                    self.date,
+                )
+
+        return -1 * amount
+
+    def _l10n_mx_tax_importe_p(self, invoice, base_line):
+        tax_line = base_line.move_id.line_ids.filtered(
+            lambda l:
+                l.tax_line_id in base_line.tax_ids
+        )
+        amount = tax_line.balance
+
+        if self.currency_id != self.company_id.currency_id:
+            amount = tax_line.amount_currency
+            if invoice.currency_id == self.company_id.currency_id:
+                amount = invoice.currency_id._convert(
+                    amount,
+                    self.currency_id,
+                    self.company_id,
+                    self.date,
+                )
 
         return -1 * amount
diff --git a/l10n_mx_facturae/report/account_move.odt b/l10n_mx_facturae/report/account_move.odt
index 239d7a7c9dc7094b1b9d862e0bbb11adfa59c49b..75f9031ef26c464fc0cd0e355588980a1be7dd2f 100644
GIT binary patch
delta 50958
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

delta 52039
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

diff --git a/l10n_mx_facturae/report/account_payment.odt b/l10n_mx_facturae/report/account_payment.odt
index 3987451a8e3b18db5bde8d67bad8c2fa1e4a7d1f..248f346134694e2fa203e3993d099b899bc95dba 100644
GIT binary patch
delta 41001
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

delta 41320
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

diff --git a/l10n_mx_facturae/templates/account_move.xml b/l10n_mx_facturae/templates/account_move.xml
index b0a4a8b7c2..cc81104eb4 100644
--- a/l10n_mx_facturae/templates/account_move.xml
+++ b/l10n_mx_facturae/templates/account_move.xml
@@ -36,9 +36,9 @@
                 <cfdi:CfdiRelacionado  t-foreach="o.related_cfdi_ids" t-as="cfdi" t-attf-UUID="cfdi.uuid"/>
             </cfdi:CfdiRelacionados>
             <cfdi:InformacionGlobal
-                t-if="o.commercial_partner_id.name.upper() == 'PUBLICO EN GENERAL' and o.commercial_partner_id.vat_split == 'XAXX010101000' and o.move_type == 'out_invoice'"
-                t-attf-Año="{{ format_datetime(o.cfdi_datetime, '%Y', tz=user.partner_id.tz) }}"
-                t-attf-Meses="{{ format_datetime(o.cfdi_datetime, '%m', tz=user.partner_id.tz) }}"
+                t-if="o.invoice_global"
+                t-attf-Año="{{ o.l10n_mx_facturae_compute_fecha_global_year() }}"
+                t-attf-Meses="{{ o.l10n_mx_facturae_compute_fecha_global_month() }}"
                 t-attf-Periodicidad="{{ o.cfdi_periodicity }}" />
             <cfdi:Emisor
                 t-attf-Rfc="{{ o.company_id.partner_id.vat_split }}"
diff --git a/l10n_mx_facturae/templates/account_payment.xml b/l10n_mx_facturae/templates/account_payment.xml
index eeec6bff47..93989a0848 100644
--- a/l10n_mx_facturae/templates/account_payment.xml
+++ b/l10n_mx_facturae/templates/account_payment.xml
@@ -59,7 +59,7 @@
                         t-att-TotalTrasladosBaseIVA8="format_float(traslados.get('baseIVA8.0'), o.currency_id.decimal_places) if traslados.get('baseIVA8.0', False) else False"
                         t-att-TotalTrasladosImpuestoIVA8="format_float(traslados.get('importeIVA8.0'), o.currency_id.decimal_places) if traslados.get('importeIVA8.0', False) else False"
                         t-att-TotalTrasladosBaseIVA0="format_float(traslados.get('baseIVA0.0'), o.currency_id.decimal_places) if traslados.get('baseIVA0.0', False) else False"
-                        t-att-TotalTrasladosImpuestoIVA0="format_float(traslados.get('importeIVA0.0'), o.currency_id.decimal_places) if traslados.get('importeIVA0.0', False) else False"
+                        t-att-TotalTrasladosImpuestoIVA0="format_float(traslados.get('importeIVA0.0'), o.currency_id.decimal_places) if traslados.get('baseIVA0.0', False) else False"
                         t-att-TotalRetencionesIVA="retenciones.get('importeIVA', False)"
                         t-att-TotalRetencionesISR="retenciones.get('importeISR', False)"
                         t-att-TotalRetencionesIEPS="retenciones.get('importeIEPS', False)" />
@@ -91,12 +91,13 @@
                                         t-att-TipoFactorDR="tax_move.tax_line_id.l10n_mx_tax_type" />
                                 </pago20:RetencionesDR>
                                 <pago20:TrasladosDR>
-                                    <pago20:TrasladoDR t-foreach="o.impuestos_dr(invoice)" t-as="tax_move"
-                                        t-att-BaseDR="format_float(o._l10n_mx_tax_base_dr(invoice, tax_move), invoice.currency_id.decimal_places)"
-                                        t-att-ImpuestoDR="format_impuesto(tax_move.tax_line_id)"
-                                        t-att-ImporteDR="format_float(abs(o._l10n_mx_tax_importe_dr(invoice, tax_move)), invoice.currency_id.decimal_places)"
-                                        t-att-TasaOCuotaDR="format_tasaocuota(tax_move.tax_line_id)"
-                                        t-att-TipoFactorDR="tax_move.tax_line_id.l10n_mx_tax_type" />
+                                    <pago20:TrasladoDR
+                                            t-foreach="o.impuestos_dr(invoice)" t-as="base_move"
+                                        t-att-BaseDR="format_float(o._l10n_mx_tax_base_dr(invoice, base_move), invoice.currency_id.decimal_places)"
+                                        t-att-ImpuestoDR="format_impuesto(base_move.tax_ids[0])"
+                                        t-att-ImporteDR="format_float(abs(o._l10n_mx_tax_importe_dr(invoice, base_move)), invoice.currency_id.decimal_places)"
+                                        t-att-TasaOCuotaDR="format_tasaocuota(base_move.tax_ids[0])"
+                                        t-att-TipoFactorDR="base_move.tax_ids[0].l10n_mx_tax_type" />
                                 </pago20:TrasladosDR>
                             </pago20:ImpuestosDR>
                         </pago20:DoctoRelacionado>
@@ -110,10 +111,10 @@
                             <pago20:TrasladosP>
                                 <pago20:TrasladoP t-foreach="o.impuestos_p()" t-as="tax_total"
                                     t-att-BaseP="format_float(tax_total['tax_base'], o.currency_id.decimal_places)"
-                                    t-att-ImpuestoP="format_impuesto(tax_total['tax_id'])"
+                                    t-att-ImpuestoP="format_impuesto(tax_total['tax'])"
                                     t-att-ImporteP="format_float(tax_total['importe'], o.currency_id.decimal_places)"
-                                    t-att-TasaOCuotaP="format_tasaocuota(tax_total['tax_id'])"
-                                    t-att-TipoFactorP="tax_total['tax_id'].l10n_mx_tax_type" />
+                                    t-att-TasaOCuotaP="format_tasaocuota(tax_total['tax'])"
+                                    t-att-TipoFactorP="tax_total['tax'].l10n_mx_tax_type" />
                             </pago20:TrasladosP>
                         </pago20:ImpuestosP>
                     </pago20:Pago>
diff --git a/l10n_mx_facturae/views/account_move.xml b/l10n_mx_facturae/views/account_move.xml
index fd28448063..1495f4fece 100644
--- a/l10n_mx_facturae/views/account_move.xml
+++ b/l10n_mx_facturae/views/account_move.xml
@@ -209,6 +209,13 @@
         <field name="inherit_id" ref="l10n_mx_base.account_move_cfdi_view_form"/>
         <field name="arch" type="xml">
             <xpath expr="//group[@name='Payment Type']" position="after">
+                <field name="invoice_global" invisible="True"/>
+                <group id="global_invoice" name="Global Invoice"
+                    attrs="{
+                        'invisible': [('invoice_global', '=', False)]
+                    }">
+                    <field name="cfdi_periodicity"/>
+                </group>
                 <group name="Fiscal data">
                     <field name="cfdi_use"
                         attrs="{
-- 
GitLab


From 027f32f8dc0e7eb213ae68ee9cd47428482c5a76 Mon Sep 17 00:00:00 2001
From: "jesus.lomas" <jesus.lomas@openpyme.mx>
Date: Tue, 10 Sep 2024 18:00:59 -0600
Subject: [PATCH 27/28] feat(se realizan cambios tipocambio): se realizaron
 cambios al tipo de cambio

Se modifico en campo tipocambio para obtener el valor de la moneda ya sea diferente de MXN
---
 l10n_mx_facturae/models/account_move.py     | 11 +++++++++--
 l10n_mx_facturae/models/account_payment.py  |  2 +-
 l10n_mx_facturae/templates/account_move.xml |  5 +++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/l10n_mx_facturae/models/account_move.py b/l10n_mx_facturae/models/account_move.py
index d6025b334b..e4265bd6c7 100644
--- a/l10n_mx_facturae/models/account_move.py
+++ b/l10n_mx_facturae/models/account_move.py
@@ -451,8 +451,15 @@ class AccountMove(models.Model):
     def l10n_mx_facturae_compute_tipocambio(self):
         tipocambio = False
         if self.currency_id.name != "MXN":
-            tipocambio = self.custom_rate
-
+            date = self.invoice_date
+            from_currency = self.currency_id
+            to_currency = self.company_id.currency_id
+            tipocambio = from_currency._get_conversion_rate(
+                from_currency,
+                to_currency,
+                self.company_id,
+                date,
+            )
         return tipocambio
 
     def l10n_mx_facturae_compute_type_document(self):
diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index e4406af49d..8341d419bd 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -301,7 +301,7 @@ class AccountPayment(models.Model):
                 precision_digits=6
             )
 
-        return value
+        return "{:.6f}".format(value)
 
     def impuestos_dr(self, invoice, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
diff --git a/l10n_mx_facturae/templates/account_move.xml b/l10n_mx_facturae/templates/account_move.xml
index cc81104eb4..88b1a257cf 100644
--- a/l10n_mx_facturae/templates/account_move.xml
+++ b/l10n_mx_facturae/templates/account_move.xml
@@ -99,8 +99,9 @@
                         t-attf-Impuesto="{{ tax.xml_name }}"
                         t-attf-Importe="{{ tax.xml_amount }}" />
                 </cfdi:Retenciones>
-                <cfdi:Traslados t-if="taxes['traslados']">
-                    <cfdi:Traslado t-foreach="taxes['traslados']" t-as="tax"
+                    <cfdi:Traslados t-if="line.impuestos['traslados']">
+                        <t t-set="impuestos" t-value="line.impuestos"/>
+                        <cfdi:Traslado t-foreach="impuestos['traslados']" t-as="tax"
                         t-att-Base="format_float(tax.base, o.currency_id.decimal_places)"
                         t-attf-Impuesto="{{ tax.xml_name }}"
                         t-attf-TipoFactor="{{ tax.type }}"
-- 
GitLab


From e0ad06fd19d056aa229a66a640084c447013d173 Mon Sep 17 00:00:00 2001
From: "jesus.lomas" <jesus.lomas@openpyme.mx>
Date: Wed, 2 Oct 2024 20:15:27 -0600
Subject: [PATCH 28/28] feat(test unitario): se desarrollo el test del
 escenario account_invoice

Se realizo el test unitario del escenario account_invoice donde se timbra una factura en moneda MXN
---
 .gitlab-ci.yml                                |   6 +-
 buildout.cfg                                  |   1 +
 l10n_mx_facturae/models/account_payment.py    |   2 +-
 l10n_mx_facturae/templates/account_move.xml   |   5 +-
 l10n_mx_facturae/tests/__init__.py            |   4 +
 .../tests/test_account_invoice.py             | 125 +++++++++++++++++
 .../tests/test_account_voucher.py             | 127 ++++++++++++++++++
 l10n_mx_facturae/tests/test_cancel_invoice.py |   9 +-
 8 files changed, 270 insertions(+), 9 deletions(-)
 create mode 100644 l10n_mx_facturae/tests/test_account_invoice.py
 create mode 100644 l10n_mx_facturae/tests/test_account_voucher.py

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a5ecb4199e..d2eb54a281 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,8 +41,10 @@ test:
     - cd bench
     - source bin/activate
     - createdb $DB_NAME
-    - start_openerp -d $DB_NAME --stop-after-init -i $NAME_PRO
-    - green -d $DB_NAME -- local_modules/$NAME_PRO
+    - start_openerp -d $DB_NAME -i $NAME_PRO --stop-after-init
+    - start_openerp -d $DB_NAME -i l10n_generic_coa --stop-after-init
+    - start_openerp -d $DB_NAME -i account_payment --stop-after-init
+    - start_openerp -d $DB_NAME -i $NAME_PRO --test-enable --stop-after-init
   dependencies:
     - make
 
diff --git a/buildout.cfg b/buildout.cfg
index e0ec2b69af..d190c7defe 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -1,6 +1,7 @@
 [buildout]
 extends =
     local.cfg
+    config/account.cfg
     config/mexico.cfg
 
 # The project name, base for paths
diff --git a/l10n_mx_facturae/models/account_payment.py b/l10n_mx_facturae/models/account_payment.py
index 8341d419bd..e4406af49d 100644
--- a/l10n_mx_facturae/models/account_payment.py
+++ b/l10n_mx_facturae/models/account_payment.py
@@ -301,7 +301,7 @@ class AccountPayment(models.Model):
                 precision_digits=6
             )
 
-        return "{:.6f}".format(value)
+        return value
 
     def impuestos_dr(self, invoice, tax_type="traslados"):
         """Computes move lines for on payment taxes related to given invoice"""
diff --git a/l10n_mx_facturae/templates/account_move.xml b/l10n_mx_facturae/templates/account_move.xml
index 88b1a257cf..cc81104eb4 100644
--- a/l10n_mx_facturae/templates/account_move.xml
+++ b/l10n_mx_facturae/templates/account_move.xml
@@ -99,9 +99,8 @@
                         t-attf-Impuesto="{{ tax.xml_name }}"
                         t-attf-Importe="{{ tax.xml_amount }}" />
                 </cfdi:Retenciones>
-                    <cfdi:Traslados t-if="line.impuestos['traslados']">
-                        <t t-set="impuestos" t-value="line.impuestos"/>
-                        <cfdi:Traslado t-foreach="impuestos['traslados']" t-as="tax"
+                <cfdi:Traslados t-if="taxes['traslados']">
+                    <cfdi:Traslado t-foreach="taxes['traslados']" t-as="tax"
                         t-att-Base="format_float(tax.base, o.currency_id.decimal_places)"
                         t-attf-Impuesto="{{ tax.xml_name }}"
                         t-attf-TipoFactor="{{ tax.type }}"
diff --git a/l10n_mx_facturae/tests/__init__.py b/l10n_mx_facturae/tests/__init__.py
index e69de29bb2..cc3112cf63 100644
--- a/l10n_mx_facturae/tests/__init__.py
+++ b/l10n_mx_facturae/tests/__init__.py
@@ -0,0 +1,4 @@
+
+from . import test_account_invoice
+# from . import test_account_voucher
+# from . import test_cancel_invoice
\ No newline at end of file
diff --git a/l10n_mx_facturae/tests/test_account_invoice.py b/l10n_mx_facturae/tests/test_account_invoice.py
new file mode 100644
index 0000000000..d9a7740652
--- /dev/null
+++ b/l10n_mx_facturae/tests/test_account_invoice.py
@@ -0,0 +1,125 @@
+# -*- coding: utf-8 -*-
+# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
+from odoo.addons.account.tests.common import AccountTestInvoicingCommon
+from odoo import fields
+from odoo.tests import tagged
+
+
+@tagged('post_install', '-at_install')
+class TestCancelInvoice(AccountTestInvoicingCommon):
+
+    @classmethod
+    def setUpClass(cls, chart_template_ref=None):
+        # Setup for required fields and configurations
+        super().setUpClass(chart_template_ref=chart_template_ref)
+        main_company = cls.env.ref('l10n_mx.demo_company_mx')
+        """Add a company to the user's allowed & set to current."""
+        cls.env.user.write(
+            {
+                "company_ids": [(6, 0, (main_company + cls.env.user.company_ids).ids)],
+                "company_id": main_company.id,
+            }
+        )
+        cls.tax_group = cls.env.ref('l10n_mx.tax_group_iva_16')
+        cls.customer = cls.env.ref('l10n_mx_facturae.res_partner_2023')
+        cls.cfdi_use = cls.env['cfdi.use'].sudo().search([], limit=1)
+        cls.fiscal_regime = cls.env['cfdi.fiscal.regime'].sudo().search([], limit=1)
+        cls.product = cls.env.ref('product.product_product_7')
+        cls.uom = cls.env['uom.uom'].search([], limit=1)
+        cls.journal = cls.env['account.journal'].sudo().search([('type', '=', 'sale'),
+                                                                ('company_id', '=', main_company.id)], limit=1)
+        cls.payment_type_id = cls.env['payment.type'].sudo().search([], limit=1)
+        if not cls.payment_type_id:
+            raise ValueError("No payment method was found in the database.")
+
+        # Configure tax group and tax for the test
+        cls.taxes_ids = cls.env['account.tax'].search([
+            ('company_id', '=', main_company.id),
+            ('type_tax_use', '=', 'sale'),
+            ('tax_group_id', '=', cls.tax_group.id)
+        ], limit=1)
+        if not cls.taxes_ids:
+            raise ValueError("The tax 'IVA 16% VENTAS' was not found in the database")
+
+        cfdi_product_service = cls.env['cfdi.product.service'].sudo().search([], limit=1).id
+
+        # Set up product with the tax and cfdi_product_service
+        cls.product.write({
+            'taxes_id': [(6, 0, [cls.taxes_ids.id])],
+            'cfdi_product_service_id': cfdi_product_service,
+            'company_id': main_company.id,
+            'uom_id': cls.uom.id,
+        })
+
+        receivable_account = cls.env['account.account'].sudo().search([
+            ('company_id', '=', main_company.id),
+            ('internal_type', '=', 'receivable')
+        ], limit=1)
+
+        income_account = cls.env['account.account'].sudo().search([
+            ('company_id', '=', main_company.id),
+            ('internal_type', '=', 'income')
+        ], limit=1)
+
+        cls.customer.sudo().write({
+            'company_id': main_company.id,
+            'cfdi_fiscal_regime_id': cls.fiscal_regime.id,
+            'zip': '20928',
+            'property_account_receivable_id': receivable_account.id,
+        })
+
+        # Create invoice with line items
+        cls.invoice = cls.env['account.move'].sudo().create({
+            'date': fields.Date.context_today(cls.customer),
+            'partner_id': cls.customer.id,
+            'journal_id': cls.journal.id,
+            'move_type': 'out_invoice',
+            'cfdi_periodicity': '04',
+            'invoice_line_ids': [
+                (0, 0, {
+                    'product_id': cls.product.id,
+                    'account_id': income_account.id,
+                    'price_unit': 130.00,
+                    'quantity': 1.0,
+                    'tax_ids': [(6, 0, [cls.taxes_ids.id])],
+                    'uom_id': cls.uom.id,
+                }),
+            ],
+            'company_id': main_company.id,
+        })
+
+        # Configure journal for invoicing with SAT signature enabled
+        cls.journal.sudo().write({'sign_sat': True})
+        cls.customer.sudo().write({'vat': 'MXXAXX010101000'})
+
+    def test_cancel_invoice_with_out_cfdi(self):
+        """
+        This scenario cancels the invoice, CFDI and verifies that:
+        - There is 1 CfdiRelacion node
+        - The TipoRelacion for the node is '04' (Substitution of the previous CFDI)
+        - The UUID for the node corresponds to the UUID of the cancelled CFDI
+        """
+        self.journal.sign_sat = True
+        self.invoice.action_post()
+        self.assertEqual(self.invoice.state, 'posted')
+        self.assertEqual(self.invoice.cfdi_state, 'done')
+
+        self.invoice.action_cancel()
+        # self.assertEqual(self.invoice.state, "cancel")
+        # uuid_cancelado = self.invoice.cfdi_uuid_cancelled
+        # self.assertTrue(uuid_cancelado, "Debe existir un UUID para el CFDI cancelado")
+        # cfdi_xml = self.invoice.get_cfdi_xml_cancelled()
+        # self.assertTrue(cfdi_xml, "Debe existir un XML del CFDI cancelado")
+        # tree = etree.fromstring(cfdi_xml.encode('utf-8'))
+        # namespaces = {
+        #     'cfdi': 'http://www.sat.gob.mx/cfd/4',
+        #     'tfd': 'http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd',
+        # }
+        # cfdi_relacionados = tree.find('.//cfdi:CfdiRelacionados', namespaces=namespaces)
+        # self.assertIsNotNone(cfdi_relacionados)
+        # cfdi_relacionados_list = cfdi_relacionados.findall('cfdi:CfdiRelacionado', namespaces=namespaces)
+        # self.assertEqual(len(cfdi_relacionados_list), 1)
+        # tipo_relacion = cfdi_relacionados.get('TipoRelacion')
+        # self.assertEqual(tipo_relacion, '04')
+        # uuid_relacionado = cfdi_relacionados_list[0].get('UUID')
+        # self.assertEqual(uuid_relacionado, uuid_cancelado)
diff --git a/l10n_mx_facturae/tests/test_account_voucher.py b/l10n_mx_facturae/tests/test_account_voucher.py
new file mode 100644
index 0000000000..d1c83a7d3a
--- /dev/null
+++ b/l10n_mx_facturae/tests/test_account_voucher.py
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+from odoo import fields, Command
+from odoo.addons.account.tests.common import AccountTestInvoicingCommon
+from odoo.tests import tagged
+
+
+@tagged('post_install', '-at_install')
+class TestPaymentReceipt(AccountTestInvoicingCommon):
+
+    @classmethod
+    def setUpClass(cls):
+        """ Configuración inicial para los datos requeridos. """
+        super().setUpClass()
+        cls.cfdi_use = cls.env["cfdi.use"].search([], limit=1)
+        cls.fiscal_regime = cls.env["cfdi.fiscal.regime"].search([], limit=1)
+        cls.payment_method_id = cls.env["payment.method"].search([], limit=1)
+        cls.customer.write(
+            {
+                "cfdi_fiscal_regime_id": cls.fiscal_regime.id,
+                "payment_method_customer": cls.payment_method_id.id,
+                "cfdi_use": cls.cfdi_use.id,
+                "zip": "20928",
+            }
+        )
+
+        # Crear cuenta contable y configuración de IVA
+        cls.account_iva_pendiente = cls.env['account.account.template'].create({
+            'code': '1151004000',
+            'name': 'IVA pendiente de acreditar',
+            'user_type_id': cls.env.ref('account.data_account_type_current_liabilities').id,
+        })
+
+        cls.account_iva_pagado = cls.env['account.account.template'].create({
+            'code': '1151003000',
+            'name': 'IVA efectivamente pagado',
+            'user_type_id': cls.env.ref('account.data_account_type_current_liabilities').id,
+        })
+
+        cls.account_banco = cls.env['account.account.template'].create({
+            'code': '1113020000',
+            'name': 'Banco',
+            'user_type_id': cls.env.ref('account.data_account_type_liquidity').id,
+        })
+
+        # Configurar diario para pagos
+        cls.bank_journal = cls.env['account.journal'].create({
+            'name': 'Banco',
+            'type': 'bank',
+            'code': 'BNK',
+            'bank_account_id': cls.account_banco.id,
+        })
+
+        cls.invoice = cls.env["account.move"].create(
+            {
+                "date": fields.Date.context_today(cls.customer),
+                "partner_id": cls.customer.id,
+                "journal_id": cls.sale_journal.id,
+                "type": "out_invoice",
+                "account_id": cls.customer.property_account_payable.id,
+                "cfdi_periodicity": "04",
+                "cfdi_use": cls.customer.cfdi_use.id,
+                "fiscal_regime": cls.customer.cfdi_fiscal_regime_id.id,
+                "payment_method_ids": [(4, cls.customer.payment_method_customer.id)],
+                "invoice_line": [
+                    (
+                        0,
+                        0,
+                        {
+                            "name": 'ProductoA',
+                            "account_id": cls.product.property_account_income.id,
+                            "price_unit":  100.00,
+                            "quantity": 1.0,
+                            "product_id": cls.product.id,
+                            "uos_id": cls.product.uom_id.id,
+                            "invoice_line_tax_id": [(4, cls.product.taxes_id.id)],
+                        },
+                    ),
+                ],
+            }
+        )
+
+        cls.invoice.action_post()
+
+    def test_payment_receipt_with_higher_amount(self):
+        """ Escenario: Recibo de pago con monto mayor al de la factura """
+
+        # Registrar un pago por 116.01 MXN
+        payment_register = self.env['account.payment'].with_context(
+            active_model='account.move',
+            active_ids=self.invoice.ids
+        ).create({
+            'amount': 116.01,
+            'payment_date': fields.Date.context_today(self),
+            'journal_id': self.bank_journal.id,
+            'payment_method_id': self.env.ref('account.account_payment_method_manual_out').id,
+        })
+        payment = payment_register._create_payments()
+
+        # Validar que la factura se haya pagado
+        self.assertEqual(self.invoice.state, 'posted')
+        self.assertEqual(self.invoice.payment_state, 'paid')
+
+        # Generar el recibo electrónico de pagos (CFDI de pago)
+        payment_move = payment.move_id
+        payment_move.l10n_mx_edi_is_required()
+        payment_move._post()
+
+        # Obtener el XML generado
+        xml_str = payment_move._l10n_mx_edi_create_cfdi()
+        xml_tree = self.env['account.move'].l10n_mx_edi_get_xml_etree(xml_str)
+
+        # Validar nodo DoctoRelacionado
+        docto_relacionado_node = xml_tree.find('.//pago10:DoctoRelacionado',
+                                               namespaces=self.env['account.move']._l10n_mx_edi_get_namespaces())
+        self.assertIsNotNone(docto_relacionado_node, "El XML debería contener el nodo DoctoRelacionado")
+
+        # Validar que el ImpSaldoAnt sea 116.00 MXN
+        self.assertEqual(docto_relacionado_node.get('ImpSaldoAnt'), '116.00',
+                         "El ImpSaldoAnt debería ser 116.00 MXN")
+
+        # Validar que el ImportePagado sea 116.00 MXN
+        self.assertEqual(docto_relacionado_node.get('ImportePagado'), '116.00',
+                         "El ImportePagado debería ser 116.00 MXN")
+
+        # Validar que el ImpoSaldoInsoluto sea 0.00 MXN
+        self.assertEqual(docto_relacionado_node.get('ImpSaldoInsoluto'), '0.00',
+                         "El ImpSaldoInsoluto debería ser 0.00 MXN")
diff --git a/l10n_mx_facturae/tests/test_cancel_invoice.py b/l10n_mx_facturae/tests/test_cancel_invoice.py
index a32976863f..c03fa220fb 100644
--- a/l10n_mx_facturae/tests/test_cancel_invoice.py
+++ b/l10n_mx_facturae/tests/test_cancel_invoice.py
@@ -1,13 +1,16 @@
 # -*- coding: utf-8 -*-
 # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
-from openerp import fields
-from openerp.addons.account.tests.common import AccountTestInvoicingCommon
+from odoo import fields
+from odoo.addons.account.tests.common import AccountTestInvoicingCommon
 
+from odoo.tests import tagged
 
+
+@tagged('post_install', '-at_install')
 class TestCancelInvoice(AccountTestInvoicingCommon):
     @classmethod
     def setUpClass(cls):
-        super(TestCancelInvoice, cls).setUpClass()
+        super().setUpClass()
         # Create required fields and assign to customer
         cls.cfdi_use = cls.env["cfdi.use"].search([], limit=1)
         cls.fiscal_regime = cls.env["cfdi.fiscal.regime"].search([], limit=1)
-- 
GitLab