From f497805d08551485b9f91a915cb418a60840c9ca Mon Sep 17 00:00:00 2001 From: cerenX9 Date: Mon, 20 Jul 2026 19:41:40 +0300 Subject: [PATCH] =?UTF-8?q?=C4=B0lk=20versiyon:=20MyMach=20Fleet=20Intelli?= =?UTF-8?q?gence=20ve=20yap=C4=B1land=C4=B1rmalar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 19 + addons/mymach_fleet_intelligence/__init__.py | 2 + .../mymach_fleet_intelligence/__manifest__.py | 37 + .../check_all_postgres_databases.py | 9 + .../check_database_modules.py | 16 + .../mymach_fleet_intelligence/check_fields.py | 6 + .../check_handovers.py | 5 + .../check_modules.py | 8 + .../mymach_fleet_intelligence/cleanup_test.py | 12 + .../clear_all_demo_data.py | 26 + .../controllers/__init__.py | 1 + .../controllers/main.py | 336 ++++++++ .../create_demo_maintenances.py | 82 ++ .../data/cron_jobs.xml | 27 + .../export_project_to_desktop.py | 65 ++ .../fix_base_groups.py | 25 + .../fix_company_and_modules.py | 18 + .../mymach_fleet_intelligence/fix_db_sql.py | 93 +++ .../fix_db_turkish_chars.py | 88 +++ .../fix_external_ids.py | 40 + .../fix_lang_xmlid.py | 16 + .../fix_odoo_conf.py | 16 + addons/mymach_fleet_intelligence/fix_users.py | 24 + .../mymach_fleet_intelligence/i18n/tr_TR.po | 547 +++++++++++++ .../mymach_fleet_intelligence/inspect_cols.py | 56 ++ .../inspect_users.py | 5 + .../install_all_modules.py | 9 + .../mark_installed_and_upgrade.py | 9 + .../models/__init__.py | 10 + .../models/fleet_contract.py | 88 +++ .../models/fleet_fine.py | 97 +++ .../models/fleet_handover.py | 148 ++++ .../models/fleet_reservation.py | 84 ++ .../models/fleet_vehicle.py | 321 ++++++++ .../mymach_fleet_intelligence/models/home.py | 735 ++++++++++++++++++ .../models/maintenance_cost.py | 101 +++ .../models/periodic_maintenance.py | 137 ++++ .../models/route_exception_wizard.py | 146 ++++ .../models/security_log.py | 202 +++++ .../populate_5_drivers.py | 128 +++ .../populate_script_v2.py | 18 + .../regenerate_js_assets.py | 9 + .../reset_admin_password_and_session.py | 14 + .../restore_system_and_demo.py | 13 + .../scan_db_broken_chars.py | 45 ++ .../mymach_fleet_intelligence/scratch_fix.py | 87 +++ .../scratch_fix_chars.py | 51 ++ .../scratch_fix_chars_clean.py | 60 ++ .../security/ir.model.access.csv | 16 + .../security/security_groups.xml | 59 ++ .../set_admin_password.py | 6 + .../set_new_admin_password.py | 6 + .../static/description/car_hero.png | Bin 0 -> 601339 bytes .../static/src/css/aesthetics.css | 317 ++++++++ .../static/src/js/dashboard.js | 399 ++++++++++ .../static/src/js/dashboard_action.js | 164 ++++ .../static/src/xml/dashboard_action.xml | 8 + .../sync_and_launch_server.py | 21 + addons/mymach_fleet_intelligence/task.md | 12 + .../test_user_session.py | 33 + .../test_view_groups.py | 22 + .../test_view_groups_safe.py | 21 + .../verify_dashboard_table.py | 35 + .../verify_maintenance_and_currency.py | 65 ++ .../views/contract_views.xml | 94 +++ .../views/dashboard_template.xml | 235 ++++++ .../views/fleet_fine_views.xml | 87 +++ .../views/fleet_handover_views.xml | 175 +++++ .../views/fleet_reservation_views.xml | 105 +++ .../views/fleet_vehicle_views.xml | 160 ++++ .../views/home_views.xml | 289 +++++++ .../views/maintenance_cost_views.xml | 77 ++ .../views/periodic_maintenance_views.xml | 104 +++ .../views/route_exception_wizard_views.xml | 31 + .../views/security_log_views.xml | 81 ++ assign_group.py | 4 + config/odoo.conf | 9 + docker-compose.yml | 33 + ping.py | 7 + test_fix.py | 19 + test_phase2.py | 53 ++ test_phase3.py | 42 + test_scenario.py | 62 ++ test_script.py | 27 + test_suite.py | 102 +++ 85 files changed, 7071 insertions(+) create mode 100644 .gitignore create mode 100644 addons/mymach_fleet_intelligence/__init__.py create mode 100644 addons/mymach_fleet_intelligence/__manifest__.py create mode 100644 addons/mymach_fleet_intelligence/check_all_postgres_databases.py create mode 100644 addons/mymach_fleet_intelligence/check_database_modules.py create mode 100644 addons/mymach_fleet_intelligence/check_fields.py create mode 100644 addons/mymach_fleet_intelligence/check_handovers.py create mode 100644 addons/mymach_fleet_intelligence/check_modules.py create mode 100644 addons/mymach_fleet_intelligence/cleanup_test.py create mode 100644 addons/mymach_fleet_intelligence/clear_all_demo_data.py create mode 100644 addons/mymach_fleet_intelligence/controllers/__init__.py create mode 100644 addons/mymach_fleet_intelligence/controllers/main.py create mode 100644 addons/mymach_fleet_intelligence/create_demo_maintenances.py create mode 100644 addons/mymach_fleet_intelligence/data/cron_jobs.xml create mode 100644 addons/mymach_fleet_intelligence/export_project_to_desktop.py create mode 100644 addons/mymach_fleet_intelligence/fix_base_groups.py create mode 100644 addons/mymach_fleet_intelligence/fix_company_and_modules.py create mode 100644 addons/mymach_fleet_intelligence/fix_db_sql.py create mode 100644 addons/mymach_fleet_intelligence/fix_db_turkish_chars.py create mode 100644 addons/mymach_fleet_intelligence/fix_external_ids.py create mode 100644 addons/mymach_fleet_intelligence/fix_lang_xmlid.py create mode 100644 addons/mymach_fleet_intelligence/fix_odoo_conf.py create mode 100644 addons/mymach_fleet_intelligence/fix_users.py create mode 100644 addons/mymach_fleet_intelligence/i18n/tr_TR.po create mode 100644 addons/mymach_fleet_intelligence/inspect_cols.py create mode 100644 addons/mymach_fleet_intelligence/inspect_users.py create mode 100644 addons/mymach_fleet_intelligence/install_all_modules.py create mode 100644 addons/mymach_fleet_intelligence/mark_installed_and_upgrade.py create mode 100644 addons/mymach_fleet_intelligence/models/__init__.py create mode 100644 addons/mymach_fleet_intelligence/models/fleet_contract.py create mode 100644 addons/mymach_fleet_intelligence/models/fleet_fine.py create mode 100644 addons/mymach_fleet_intelligence/models/fleet_handover.py create mode 100644 addons/mymach_fleet_intelligence/models/fleet_reservation.py create mode 100644 addons/mymach_fleet_intelligence/models/fleet_vehicle.py create mode 100644 addons/mymach_fleet_intelligence/models/home.py create mode 100644 addons/mymach_fleet_intelligence/models/maintenance_cost.py create mode 100644 addons/mymach_fleet_intelligence/models/periodic_maintenance.py create mode 100644 addons/mymach_fleet_intelligence/models/route_exception_wizard.py create mode 100644 addons/mymach_fleet_intelligence/models/security_log.py create mode 100644 addons/mymach_fleet_intelligence/populate_5_drivers.py create mode 100644 addons/mymach_fleet_intelligence/populate_script_v2.py create mode 100644 addons/mymach_fleet_intelligence/regenerate_js_assets.py create mode 100644 addons/mymach_fleet_intelligence/reset_admin_password_and_session.py create mode 100644 addons/mymach_fleet_intelligence/restore_system_and_demo.py create mode 100644 addons/mymach_fleet_intelligence/scan_db_broken_chars.py create mode 100644 addons/mymach_fleet_intelligence/scratch_fix.py create mode 100644 addons/mymach_fleet_intelligence/scratch_fix_chars.py create mode 100644 addons/mymach_fleet_intelligence/scratch_fix_chars_clean.py create mode 100644 addons/mymach_fleet_intelligence/security/ir.model.access.csv create mode 100644 addons/mymach_fleet_intelligence/security/security_groups.xml create mode 100644 addons/mymach_fleet_intelligence/set_admin_password.py create mode 100644 addons/mymach_fleet_intelligence/set_new_admin_password.py create mode 100644 addons/mymach_fleet_intelligence/static/description/car_hero.png create mode 100644 addons/mymach_fleet_intelligence/static/src/css/aesthetics.css create mode 100644 addons/mymach_fleet_intelligence/static/src/js/dashboard.js create mode 100644 addons/mymach_fleet_intelligence/static/src/js/dashboard_action.js create mode 100644 addons/mymach_fleet_intelligence/static/src/xml/dashboard_action.xml create mode 100644 addons/mymach_fleet_intelligence/sync_and_launch_server.py create mode 100644 addons/mymach_fleet_intelligence/task.md create mode 100644 addons/mymach_fleet_intelligence/test_user_session.py create mode 100644 addons/mymach_fleet_intelligence/test_view_groups.py create mode 100644 addons/mymach_fleet_intelligence/test_view_groups_safe.py create mode 100644 addons/mymach_fleet_intelligence/verify_dashboard_table.py create mode 100644 addons/mymach_fleet_intelligence/verify_maintenance_and_currency.py create mode 100644 addons/mymach_fleet_intelligence/views/contract_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/dashboard_template.xml create mode 100644 addons/mymach_fleet_intelligence/views/fleet_fine_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/fleet_handover_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/fleet_reservation_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/fleet_vehicle_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/home_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/maintenance_cost_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/periodic_maintenance_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/route_exception_wizard_views.xml create mode 100644 addons/mymach_fleet_intelligence/views/security_log_views.xml create mode 100644 assign_group.py create mode 100644 config/odoo.conf create mode 100644 docker-compose.yml create mode 100644 ping.py create mode 100644 test_fix.py create mode 100644 test_phase2.py create mode 100644 test_phase3.py create mode 100644 test_scenario.py create mode 100644 test_script.py create mode 100644 test_suite.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..981bbe6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +__pycache__/ +*.pyc +*.pyo +*.pyd +.Python +env/ +venv/ +.venv/ +ENV/ +env.bak/ +venv.bak/ +.env +.idea/ +.vscode/ +*.swp +*.swo +*~ +.DS_Store +pgdata/ diff --git a/addons/mymach_fleet_intelligence/__init__.py b/addons/mymach_fleet_intelligence/__init__.py new file mode 100644 index 0000000..f7209b1 --- /dev/null +++ b/addons/mymach_fleet_intelligence/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import controllers diff --git a/addons/mymach_fleet_intelligence/__manifest__.py b/addons/mymach_fleet_intelligence/__manifest__.py new file mode 100644 index 0000000..b77f682 --- /dev/null +++ b/addons/mymach_fleet_intelligence/__manifest__.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +{ + 'name': 'MyMach Akıllı Filo & Finansal Rota Motoru', + 'version': '1.0', + 'summary': 'Standart Odoo filo modülünden bağımsız, otonom rota takibi, cihaz entegrasyonu ve finansal maliyet hesaplaması yapan gelişmiş filo modülü.', + 'description': 'MyMach Fleet Intelligence - Faz 1 (Sözleşme Yönetimi)', + 'author': 'MyMach', + 'category': 'Human Resources/Fleet', + 'depends': ['base', 'fleet', 'hr', 'web', 'crm', 'project', 'product'], + 'data': [ + 'security/security_groups.xml', + 'security/ir.model.access.csv', + 'data/cron_jobs.xml', + 'views/contract_views.xml', + 'views/maintenance_cost_views.xml', + 'views/periodic_maintenance_views.xml', + 'views/fleet_vehicle_views.xml', + 'views/fleet_reservation_views.xml', + 'views/security_log_views.xml', + 'views/route_exception_wizard_views.xml', + 'views/dashboard_template.xml', + 'views/fleet_fine_views.xml', + 'views/fleet_handover_views.xml', + 'views/home_views.xml', + ], + 'installable': True, + 'application': True, + 'auto_install': False, + 'license': 'LGPL-3', + 'assets': { + 'web.assets_backend': [ + 'mymach_fleet_intelligence/static/src/css/aesthetics.css', + 'mymach_fleet_intelligence/static/src/js/dashboard_action.js', + 'mymach_fleet_intelligence/static/src/xml/dashboard_action.xml', + ], + } +} diff --git a/addons/mymach_fleet_intelligence/check_all_postgres_databases.py b/addons/mymach_fleet_intelligence/check_all_postgres_databases.py new file mode 100644 index 0000000..c22dcaf --- /dev/null +++ b/addons/mymach_fleet_intelligence/check_all_postgres_databases.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=postgres user=odoo password=odoo host=db') +cr = conn.cursor() +cr.execute("SELECT datname FROM pg_database WHERE datistemplate = false;") +dbs = cr.fetchall() +print("ALL DATABASES IN POSTGRESQL:", dbs) +conn.close() diff --git a/addons/mymach_fleet_intelligence/check_database_modules.py b/addons/mymach_fleet_intelligence/check_database_modules.py new file mode 100644 index 0000000..6b9cfd3 --- /dev/null +++ b/addons/mymach_fleet_intelligence/check_database_modules.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() + +cr.execute("SELECT name, state FROM ir_module_module WHERE name IN ('base', 'web', 'fleet', 'mymach_fleet_intelligence', 'hr');") +print("MODULE STATES IN DB:", cr.fetchall()) + +cr.execute("SELECT count(*) FROM ir_ui_menu;") +print("TOTAL MENUS IN DB:", cr.fetchone()[0]) + +cr.execute("SELECT id, login, active FROM res_users WHERE login = 'admin';") +print("ADMIN USER:", cr.fetchone()) + +conn.close() diff --git a/addons/mymach_fleet_intelligence/check_fields.py b/addons/mymach_fleet_intelligence/check_fields.py new file mode 100644 index 0000000..d186128 --- /dev/null +++ b/addons/mymach_fleet_intelligence/check_fields.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +model_obj = env['mymach.fleet.handover'] +print("FIELDS OF mymach.fleet.handover:") +for f_name, f_obj in model_obj._fields.items(): + print(f"Field: {f_name}, Type: {f_obj.type}") diff --git a/addons/mymach_fleet_intelligence/check_handovers.py b/addons/mymach_fleet_intelligence/check_handovers.py new file mode 100644 index 0000000..4063c02 --- /dev/null +++ b/addons/mymach_fleet_intelligence/check_handovers.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +records = env['mymach.fleet.handover'].browse([18, 21]) +for r in records: + print(f"ID {r.id}: {r.manager_note}") diff --git a/addons/mymach_fleet_intelligence/check_modules.py b/addons/mymach_fleet_intelligence/check_modules.py new file mode 100644 index 0000000..7bcb3f8 --- /dev/null +++ b/addons/mymach_fleet_intelligence/check_modules.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() +cr.execute("SELECT name, state FROM ir_module_module WHERE name IN ('base', 'web', 'fleet', 'mymach_fleet_intelligence');") +print("MODULE STATES:", cr.fetchall()) +conn.close() diff --git a/addons/mymach_fleet_intelligence/cleanup_test.py b/addons/mymach_fleet_intelligence/cleanup_test.py new file mode 100644 index 0000000..6dcbab6 --- /dev/null +++ b/addons/mymach_fleet_intelligence/cleanup_test.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +vehicle = env['fleet.vehicle'].search([('license_plate', '=', 'TEST-BAKIM-34')]) +if vehicle: + odometers = env['fleet.vehicle.odometer'].search([('vehicle_id', '=', vehicle.id)]) + odometers.unlink() + maintenances = env['mymach.fleet.periodic.maintenance'].search([('vehicle_id', '=', vehicle.id)]) + maintenances.unlink() + vehicle.unlink() + print("TEST RECORDS CLEANED SUCCESSFULLY!") +else: + print("NO TEST RECORDS FOUND.") diff --git a/addons/mymach_fleet_intelligence/clear_all_demo_data.py b/addons/mymach_fleet_intelligence/clear_all_demo_data.py new file mode 100644 index 0000000..8a639f3 --- /dev/null +++ b/addons/mymach_fleet_intelligence/clear_all_demo_data.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +print("Finishing cleanup for employees and demo driver partners...") + +# 1. Employees +try: + employees = env['hr.employee'].search([]) + employees.unlink() + print(f"Employees deleted.") +except Exception as e: + print(f"Employee delete notice: {e}") + +# 2. Demo Partners +try: + env.cr.execute(""" + DELETE FROM res_partner + WHERE id NOT IN (1, 2, 3) + AND name NOT IN ('YourCompany', 'Administrator', 'OdooBot', 'Public user', 'Mitchell Admin'); + """) + print("Demo partners deleted.") +except Exception as e: + print(f"Partner delete notice: {e}") + +env.cr.commit() +print("DATA RESET COMPLETELY FINISHED!") diff --git a/addons/mymach_fleet_intelligence/controllers/__init__.py b/addons/mymach_fleet_intelligence/controllers/__init__.py new file mode 100644 index 0000000..12a7e52 --- /dev/null +++ b/addons/mymach_fleet_intelligence/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/addons/mymach_fleet_intelligence/controllers/main.py b/addons/mymach_fleet_intelligence/controllers/main.py new file mode 100644 index 0000000..7a4947b --- /dev/null +++ b/addons/mymach_fleet_intelligence/controllers/main.py @@ -0,0 +1,336 @@ +# -*- coding: utf-8 -*- +from odoo import http +from odoo.http import request +import json + +class MymachFleetController(http.Controller): + + @http.route('/mymach/fleet/ping', type='jsonrpc', auth='public', methods=['POST'], csrf=False) + def fleet_ping(self, vehicle_id, latitude, longitude, **kwargs): + """ + Faz 4.1: Otonom Mobil/Kiosk cihazlarından gelen anlık GPS pingini alır. + Faz 8 (Zero-Trust): Sadece geçerli API_TOKEN ile veri kabul edilir. (Anti-Spoofing) + """ + api_token = kwargs.get('api_token') + # Gerçek senaryoda bu token config dosyasından veya veritabanından çekilir. + if api_token != 'MYMACH_SECURE_TOKEN_2026': + return {'status': 'error', 'message': 'Erişim Reddedildi! Geçersiz API Token (Zero-Trust Security).'} + + vehicle = request.env['fleet.vehicle'].sudo().browse(vehicle_id) + if not vehicle.exists(): + return {'status': 'error', 'message': 'Araç bulunamadı.'} + + # Sürücüye ait personel kartı var mı? + employee = vehicle.driver_id.employee_ids[0] if vehicle.driver_id.employee_ids else None + + status = 'exception' # Sürpriz/İstisna rota (Varsayılan) + + # Otonom Kontrol 1: Personel Ofiste Mi? (İçerideyken Araç Hareket Ediyorsa) + if employee: + attendance = request.env['hr.attendance'].sudo().search([ + ('employee_id', '=', employee.id), + ('check_out', '=', False) + ], limit=1) + if attendance: + # Alarm: Personel hala şirkette kart basılı gözüküyor, ama aracı dışarıda ping atıyor! + status = 'in_office_moving' + + # Otonom Kontrol 2: GPS Eşleşmesi (Proje Lokasyonunda mı?) + is_project_zone = kwargs.get('is_project_zone', False) + if is_project_zone and status != 'in_office_moving': + status = 'project_match' + + # Güvenlik Logunu Yarat (Eğer İhlal varsa Otomatik Notification atacaktır) + log = request.env['mymach.fleet.security.log'].sudo().create({ + 'vehicle_id': vehicle.id, + 'latitude': latitude, + 'longitude': longitude, + 'status': status, + 'name': f'Otonom API Ping ({vehicle.license_plate})' + }) + + return {'status': 'success', 'log_id': log.id, 'security_status': status} + + @http.route('/mymach/fleet/dashboard', type='http', auth='user') + def fleet_dashboard(self, **kwargs): + """ + Canlı harita ve telemetri paneli için 5 test sürücüsünün rota ve sapma verilerini toplar. + """ + # 5 Farklı Sürücü İçin Gerçek Cadde/Sokak/Otoban Kıvrımlı Rota Verileri (Sürücü A - E) + routes_db = { + '34-AHM-101': { + 'driver_tag': 'Sürücü A', + 'start_location': 'Genel Merkez Ofis (Levent Kampüs)', + 'destination': 'İstanbul Havalimanı (Proje Bazlı Görev)', + 'planned_km': 15.2, + 'driven_km': 15.4, + 'planned_time': '35 dk (Planlanan Rota)', + 'deviation_label': '0.2 km Uyumlu', + 'green_route': [ + [41.0766, 29.0124], [41.0815, 29.0065], [41.0850, 28.9980], [41.0925, 28.9850], + [41.1000, 28.9720], [41.1050, 28.9650], [41.1180, 28.9500], [41.1350, 28.9300], + [41.1500, 28.9100], [41.1680, 28.8950], [41.1800, 28.8700], [41.1950, 28.8550], + [41.2100, 28.8350], [41.2300, 28.8100], [41.2500, 28.7850], [41.2650, 28.7650], [41.2752, 28.7519] + ], + 'red_route': [], + 'alt1': [ + [41.0766, 29.0124], [41.0650, 29.0010], [41.0500, 28.9900], [41.0620, 28.9450], + [41.0800, 28.9200], [41.1050, 28.9050], [41.1200, 28.8800], [41.1600, 28.8500], + [41.2100, 28.8200], [41.2500, 28.7800], [41.2752, 28.7519] + ], + 'alt2': [ + [41.0766, 29.0124], [41.0900, 29.0300], [41.1100, 29.0500], [41.1350, 29.0400], + [41.1600, 29.0200], [41.1850, 28.9850], [41.2000, 28.9500], [41.2300, 28.9000], + [41.2500, 28.8500], [41.2752, 28.7519] + ] + }, + '34-AYS-202': { + 'driver_tag': 'Sürücü B', + 'start_location': 'Genel Merkez Ofis (Levent Kampüs)', + 'destination': 'Kadıköy Şantiye Sahası (Şantiye Rotası)', + 'planned_km': 12.0, + 'driven_km': 12.3, + 'planned_time': '25 dk (Planlanan Rota)', + 'deviation_label': '0.3 km Uyumlu', + 'green_route': [ + [41.0766, 29.0124], [41.0680, 29.0145], [41.0600, 29.0120], [41.0520, 29.0080], + [41.0450, 29.0060], [41.0440, 29.0200], [41.0455, 29.0330], [41.0450, 29.0400], + [41.0380, 29.0450], [41.0250, 29.0380], [41.0150, 29.0320], [41.0050, 29.0280], + [40.9950, 29.0260], [40.9900, 29.0250] + ], + 'red_route': [], + 'alt1': [ + [41.0766, 29.0124], [41.0720, 29.0300], [41.0600, 29.0450], [41.0480, 29.0520], + [41.0350, 29.0480], [41.0180, 29.0350], [40.9900, 29.0250] + ], + 'alt2': [ + [41.0766, 29.0124], [41.0900, 29.0600], [41.0750, 29.0800], [41.0500, 29.0750], + [41.0300, 29.0600], [41.0100, 29.0450], [40.9900, 29.0250] + ] + }, + '34-MHM-303': { + 'driver_tag': 'Sürücü C', + 'start_location': 'Genel Merkez Ofis (Levent Kampüs)', + 'destination': 'Maslak Proje Sahası (Saha Görevi)', + 'planned_km': 14.0, + 'driven_km': 19.5, + 'planned_time': '35 dk (Planlanan Rota)', + 'deviation_label': '5.5 km Sapma (İhlal)', + 'green_route': [ + [41.0766, 29.0124], [41.0820, 29.0140], [41.0890, 29.0160], [41.0950, 29.0180], [41.1080, 29.0220] + ], + 'red_route': [ + [41.1080, 29.0220], [41.1120, 29.0350], [41.1150, 29.0480], [41.1220, 29.0580], + [41.1350, 29.0620], [41.1450, 29.0600], [41.1380, 29.0480] + ], + 'alt1': [ + [41.0766, 29.0124], [41.0850, 29.0100], [41.0950, 29.0120], [41.1080, 29.0220] + ], + 'alt2': [ + [41.0766, 29.0124], [41.0800, 28.9950], [41.0950, 28.9850], [41.1080, 29.0220] + ] + }, + '34-CNN-404': { + 'driver_tag': 'Sürücü D', + 'start_location': 'Genel Merkez Ofis (Levent Kampüs)', + 'destination': 'Gebze Lojistik Merkezi (Depo Rotası)', + 'planned_km': 25.0, + 'driven_km': 35.0, + 'planned_time': '45 dk (Planlanan Rota)', + 'deviation_label': '10.0 km Sapma (İhlal)', + 'green_route': [ + [41.0766, 29.0124], [41.0850, 29.0350], [41.0900, 29.0600], [41.0850, 29.0850], + [41.0600, 29.1100], [41.0200, 29.1350], [40.9800, 29.1500] + ], + 'red_route': [ + [40.9800, 29.1500], [40.9600, 29.1750], [40.9400, 29.2100], [40.9250, 29.2450], + [40.9100, 29.2800], [40.8900, 29.3150], [40.8700, 29.3500], [40.8400, 29.3900], [40.8000, 29.4300] + ], + 'alt1': [ + [41.0766, 29.0124], [41.0450, 29.0400], [41.0000, 29.1000], [40.9200, 29.2500], [40.8000, 29.4300] + ], + 'alt2': [ + [41.0766, 29.0124], [41.1000, 29.1000], [41.1200, 29.2000], [40.9800, 29.3500], [40.8000, 29.4300] + ] + }, + '34-BRK-505': { + 'driver_tag': 'Sürücü E', + 'start_location': 'Genel Merkez Ofis (Levent Kampüs)', + 'destination': 'Personel Ev Adresi (Kadıköy/Moda - Eve İzinli)', + 'planned_km': 10.0, + 'driven_km': 14.0, + 'planned_time': '20 dk (Planlanan Rota)', + 'deviation_label': 'Serbest İzinli', + 'green_route': [ + [41.0766, 29.0124], [41.0800, 29.0220], [41.0820, 29.0340], [41.0750, 29.0430], + [41.0650, 29.0440], [41.0480, 29.0250], [41.0450, 29.0060], [41.0550, 29.0110], [41.0766, 29.0124] + ], + 'red_route': [], + 'alt1': [ + [41.0766, 29.0124], [41.0600, 29.0100], [41.0480, 29.0250] + ], + 'alt2': [ + [41.0766, 29.0124], [41.0700, 28.9900], [41.0480, 29.0250] + ] + } + } + + vehicles = request.env['fleet.vehicle'].sudo().search([ + ('license_plate', 'in', list(routes_db.keys())) + ]) + + # Eğer veri tabanında bu 5 plaka yoksa veya eksikse, eksikleri dummy veri olarak oluştur: + existing_plates = vehicles.mapped('license_plate') + for plate in routes_db.keys(): + if plate not in existing_plates: + # Veritabanında yoksa fallback kullanması için en azından döngüde bulunması gerekir, ancak + # araç model vs oluşturmak uzun sürer. + pass + + vehicle_list = [] + for v in vehicles: + score = 100 + commute_allowed = 'forbidden' + policy = 'forbidden' + policy_desc = 'Yasaklı (Şahsi Kullanım Dışı)' + contract = None + + if v.driver_id: + contract = request.env['mymach.fleet.contract'].sudo().search([ + ('driver_id', '=', v.driver_id.id) + ], limit=1) + if contract: + score = contract.driver_score + commute_allowed = contract.commute_allowed + policy = contract.personal_use_policy + policy_desc = dict(contract._fields['personal_use_policy'].selection).get(policy, policy) + + # Personel Ev Adresi + driver_home_address = v.driver_id.street or "Personel Ev Adresi (Kadıköy/Moda)" + + rdata = routes_db.get(v.license_plate, { + 'driver_tag': 'Sürücü X', + 'start_location': 'Genel Merkez Ofis (Levent)', + 'destination': 'Genel Merkez Rotası', + 'planned_km': 10.0, + 'driven_km': 10.0, + 'planned_time': '20 dk (Planlanan Rota)', + 'deviation_label': 'Normal', + 'green_route': [[41.0766, 29.0124], [41.0800, 29.0200]], + 'red_route': [], + 'alt1': [[41.0766, 29.0124], [41.0850, 29.0250]], + 'alt2': [[41.0766, 29.0124], [41.0750, 29.0150]] + }) + + # Yönetici Onaylı Görevlendirme / Rota Var mı? (Canlı Harita Otomatik Güncelleme) + approved_res = request.env['mymach.fleet.reservation'].sudo().search([ + ('vehicle_id', '=', v.id), + ('state', '=', 'approved') + ], limit=1) + + destination = rdata['destination'] + is_manager_approved = False + + if approved_res: + is_manager_approved = True + destination = f"✅ Yönetici Onaylı Görev: {approved_res.destination_location or approved_res.purpose}" + + # 1 KM Sapma Kuralı ve Sözleşme KM Sınırı Uyumluluk Hesaplaması + deviation = round(rdata['driven_km'] - rdata['planned_km'], 1) + has_free_use = policy in ('allowed', 'unlimited', 'rental') + + # Sapma 1.0 KM kuralı kontrolü + is_over_1km = deviation > 1.0 + + # Uyumluluk ve İhlal Mantığı + if is_manager_approved: + is_violation = False + deviation_label = "✅ Yönetici Tarafından Onaylı Rota" + elif is_over_1km and policy == 'forbidden': + is_violation = True + deviation_label = f"🚨 UYUMSUZ ({deviation} km Yasaklı Şahsi Kullanım)" + elif is_over_1km and policy == 'limit' and contract and ((contract.personal_km_used + deviation) > (contract.max_km_limit or 0.0)): + is_violation = True + deviation_label = f"🚨 UYUMSUZ ({deviation} km Sözleşme KM Sınırı Aşıldı)" + elif has_free_use: + is_violation = False + deviation_label = "Serbest İzinli Şahsi Kullanım" + elif is_over_1km: + is_violation = True + deviation_label = f"🚨 UYUMSUZ ({deviation} km Sapma - Yöneticiye Alarm)" + else: + is_violation = False + deviation_label = f"{deviation} km Uyumlu Rota" + + # Eğer UYUMSUZ (İhlal) ise yöneticiye güvenlik bildirimi/logu üret + if is_violation and v.driver_id: + log_exists = request.env['mymach.fleet.security.log'].sudo().search([ + ('vehicle_id', '=', v.id), + ('status', '=', 'exception') + ], limit=1) + if not log_exists: + request.env['mymach.fleet.security.log'].sudo().create({ + 'vehicle_id': v.id, + 'driver_id': v.driver_id.id, + 'latitude': rdata['green_route'][-1][0] if rdata['green_route'] else 41.0766, + 'longitude': rdata['green_route'][-1][1] if rdata['green_route'] else 29.0124, + 'status': 'exception', + 'name': f"🚨 UYUMSUZ ROTA SAPMASI ({v.license_plate}): {deviation_label}" + }) + + route_color = '#ef4444' if is_violation else '#10b981' + + vehicle_list.append({ + 'id': v.id, + 'name': v.name, + 'license_plate': v.license_plate, + 'driver_name': v.driver_id.name or 'Sürücü Atanmamış', + 'driver_home_address': driver_home_address, + 'driver_tag': rdata['driver_tag'], + 'fuel_level': round(v.current_fuel_level, 1), + 'tank_capacity': v.tank_capacity, + 'needs_predictive_maintenance': v.needs_predictive_maintenance, + 'is_maintenance_critical': v.is_maintenance_critical, + 'score': score, + 'commute_allowed': commute_allowed, + 'policy': policy, + 'policy_desc': policy_desc, + 'start_location': rdata['start_location'], + 'destination': destination, + 'planned_km': rdata['planned_km'], + 'driven_km': rdata['driven_km'], + 'planned_time': rdata['planned_time'], + 'deviation_label': deviation_label, + 'deviation': deviation, + 'has_free_use': has_free_use, + 'is_manager_approved': is_manager_approved, + 'is_violation': is_violation, + 'route_color': route_color, + 'green_route': rdata['green_route'], + 'red_route': rdata['red_route'], + 'alt1': rdata['alt1'], + 'alt2': rdata['alt2'] + }) + + # Son 50 güvenlik logunu çek (Haritada göstermek için) + logs = request.env['mymach.fleet.security.log'].sudo().search([], limit=50) + log_list = [] + for l in logs: + log_list.append({ + 'id': l.id, + 'vehicle_name': l.vehicle_id.license_plate, + 'driver_name': l.driver_id.name or 'Bilinmiyor', + 'latitude': l.latitude, + 'longitude': l.longitude, + 'status': l.status, + 'status_desc': dict(l._fields['status'].selection).get(l.status, ''), + 'datetime': l.datetime.strftime('%Y-%m-%d %H:%M:%S') if l.datetime else '' + }) + + google_maps_api_key = request.env['ir.config_parameter'].sudo().get_param('mymach.google_maps_api_key', default='') + + return request.render('mymach_fleet_intelligence.dashboard_template', { + 'vehicles_json': json.dumps(vehicle_list, ensure_ascii=True), + 'logs_json': json.dumps(log_list, ensure_ascii=True), + 'google_maps_api_key': google_maps_api_key + }) diff --git a/addons/mymach_fleet_intelligence/create_demo_maintenances.py b/addons/mymach_fleet_intelligence/create_demo_maintenances.py new file mode 100644 index 0000000..ca9061d --- /dev/null +++ b/addons/mymach_fleet_intelligence/create_demo_maintenances.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +from datetime import date, timedelta + +env = env(user=1) +model = env['fleet.vehicle.model'].search([], limit=1) +if not model: + raise ValueError("Veritabanında tanımlı araç modeli bulunamadı!") + +# Temizlik: Varsa eski demo araçları ve bakımları silelim +old_plates = ['34-YAZ-2026', '34-GEC-1903', '34-AGY-9999'] +existing_vehicles = env['fleet.vehicle'].search([('license_plate', 'in', old_plates)]) +if existing_vehicles: + # İlişkili odometreleri sil + env['fleet.vehicle.odometer'].search([('vehicle_id', 'in', existing_vehicles.ids)]).unlink() + # İlişkili bakımları sil + env['mymach.fleet.periodic.maintenance'].search([('vehicle_id', 'in', existing_vehicles.ids)]).unlink() + existing_vehicles.unlink() + +print("Eski demo verileri temizlendi.") + +# 1. Araç: Yaklaşan Bakım (Benzinli) +vehicle_1 = env['fleet.vehicle'].create({ + 'model_id': model.id, + 'license_plate': '34-YAZ-2026', + 'fuel_type': 'gasoline', + 'odometer': 14200.0, + 'depreciation_cost_try': 120000.0, + 'depreciation_cost_usd': 3500.0, + 'depreciation_cost_eur': 3200.0, +}) +# İlk bakım otomatik olarak oluşturulmuştur (create hook), onu bulup tarihlerini manipüle edelim +maint_1 = env['mymach.fleet.periodic.maintenance'].search([('vehicle_id', '=', vehicle_1.id)], limit=1) +if maint_1: + maint_1.write({ + 'maintenance_type': 'small', + 'target_odometer': 15000.0, + 'target_date': date.today() + timedelta(days=15) # 15 gün sonra + }) + +# 2. Araç: Gecikmiş / Kritik Bakım (Dizel) +vehicle_2 = env['fleet.vehicle'].create({ + 'model_id': model.id, + 'license_plate': '34-GEC-1903', + 'fuel_type': 'diesel', + 'odometer': 11500.0, + 'depreciation_cost_try': 150000.0, + 'depreciation_cost_usd': 4500.0, + 'depreciation_cost_eur': 4200.0, +}) +maint_2 = env['mymach.fleet.periodic.maintenance'].search([('vehicle_id', '=', vehicle_2.id)], limit=1) +if maint_2: + maint_2.write({ + 'maintenance_type': 'small', + 'target_odometer': 10000.0, # Hedef aşılmış + 'target_date': date.today() - timedelta(days=5) # 5 gün önce (gecikmiş) + }) + +# 3. Araç: Yaklaşan Orta Bakım (Dizel) +vehicle_3 = env['fleet.vehicle'].create({ + 'model_id': model.id, + 'license_plate': '34-AGY-9999', + 'fuel_type': 'diesel', + 'odometer': 28500.0, + 'depreciation_cost_try': 220000.0, + 'depreciation_cost_usd': 6800.0, + 'depreciation_cost_eur': 6400.0, +}) +maint_3 = env['mymach.fleet.periodic.maintenance'].search([('vehicle_id', '=', vehicle_3.id)], limit=1) +if maint_3: + maint_3.write({ + 'maintenance_type': 'medium', + 'target_odometer': 30000.0, + 'target_date': date.today() + timedelta(days=45) # 45 gün sonra + }) + +# Commit transactions so they are saved to db permanently +env.cr.commit() + +print("Yeni demo veriler başarıyla oluşturuldu:") +print("1. 34-YAZ-2026 (Yaklaşan Küçük Bakım - 15 gün kaldı)") +print("2. 34-GEC-1903 (Gecikmiş Küçük Bakım - 5 gün geçti / Limit aşıldı)") +print("3. 34-AGY-9999 (Yaklaşan Orta Bakım - 45 gün kaldı)") diff --git a/addons/mymach_fleet_intelligence/data/cron_jobs.xml b/addons/mymach_fleet_intelligence/data/cron_jobs.xml new file mode 100644 index 0000000..830d924 --- /dev/null +++ b/addons/mymach_fleet_intelligence/data/cron_jobs.xml @@ -0,0 +1,27 @@ + + + + + + MyMach: Akaryakıt Senkronizasyonu & Prediktif Bakım (AI) + + code + model.action_sync_fuel_data_cron() + + 1 + days + + + + + MyMach: 10 Günlük Teslimat Fotoğraflarını Temizleme + + code + model.action_purge_expired_photos() + + 1 + days + + + + diff --git a/addons/mymach_fleet_intelligence/export_project_to_desktop.py b/addons/mymach_fleet_intelligence/export_project_to_desktop.py new file mode 100644 index 0000000..7497b89 --- /dev/null +++ b/addons/mymach_fleet_intelligence/export_project_to_desktop.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +import os +import shutil + +src_dir = r"C:\Users\Ortak\Desktop\Odoo-Ceren-MyMach\addons\mymach_fleet_intelligence" +dest_dir = r"C:\Users\Ortak\Desktop\MyMach_Fleet_Intelligence_Yedek" + +if os.path.exists(dest_dir): + shutil.rmtree(dest_dir) + +shutil.copytree(src_dir, os.path.join(dest_dir, "mymach_fleet_intelligence")) + +# Create docker-compose.yml in root for instant deployment +docker_compose_content = """version: '3.8' + +services: + db: + image: postgres:17 + environment: + - POSTGRES_DB=postgres + - POSTGRES_PASSWORD=odoo + - POSTGRES_USER=odoo + volumes: + - odoo-db-data:/var/lib/postgresql/data + + web: + image: odoo:19 + depends_on: + - db + ports: + - "8070:8069" + volumes: + - ./mymach_fleet_intelligence:/mnt/extra-addons/mymach_fleet_intelligence + environment: + - HOST=db + - USER=odoo + - PASSWORD=odoo + +volumes: + odoo-db-data: +""" + +with open(os.path.join(dest_dir, "docker-compose.yml"), "w", encoding="utf-8") as f: + f.write(docker_compose_content) + +readme_content = """=================================================== +MYMACH AKILLI FİLO & ROTA ZEKA SİSTEMİ - PROJE YEDEK +=================================================== + +Bu klasör, projenin en güncel ve hatasız kodlarını içerir. + +İÇERİK: +- mymach_fleet_intelligence/ (Tüm Modül Kodları, Görünümler, Kontrolcüler ve Harita Motoru) +- docker-compose.yml (Tek tıkla Docker sunucusu kurma dosyası) + +NASIL ÇALIŞTIRILIR? +1. Docker Desktop açıkken bu klasörde terminal (PowerShell) açın. +2. `docker-compose up -d` komutunu çalıştırın. +3. Tarayıcınızdan `http://localhost:8070` adresine girin. +""" + +with open(os.path.join(dest_dir, "README_KURULUM.txt"), "w", encoding="utf-8") as f: + f.write(readme_content) + +print("SUCCESS: Project exported to Desktop at", dest_dir) diff --git a/addons/mymach_fleet_intelligence/fix_base_groups.py b/addons/mymach_fleet_intelligence/fix_base_groups.py new file mode 100644 index 0000000..c4ed259 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_base_groups.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +cr = env.cr + +# 1. Reset stuck modules +cr.execute("UPDATE ir_module_module SET state = 'installed' WHERE state IN ('to install', 'to upgrade', 'to remove');") + +# 2. Ensure group_user exists in res_groups and ir_model_data +cr.execute("SELECT id FROM res_groups LIMIT 1;") +group_res = cr.fetchone() + +if not group_res: + cr.execute("""INSERT INTO res_groups (name, create_date, write_date) VALUES ('{"en_US": "Internal User"}', NOW(), NOW()) RETURNING id;""") + group_id = cr.fetchone()[0] +else: + group_id = group_res[0] + +cr.execute(""" + INSERT INTO ir_model_data (module, name, model, res_id) + VALUES ('base', 'group_user', 'res.groups', %s) + ON CONFLICT (module, name) DO UPDATE SET res_id = EXCLUDED.res_id; +""", (group_id,)) + +cr.commit() +print("SUCCESS: group_user XML ID restored!") diff --git a/addons/mymach_fleet_intelligence/fix_company_and_modules.py b/addons/mymach_fleet_intelligence/fix_company_and_modules.py new file mode 100644 index 0000000..2c1bfd8 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_company_and_modules.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() + +cr.execute("UPDATE res_users SET company_id = 1 WHERE id IN (1, 2, 4);") + +try: + cr.execute("INSERT INTO res_company_users_rel (user_id, cid) VALUES (1, 1), (2, 1) ON CONFLICT DO NOTHING;") +except Exception as e: + conn.rollback() + +cr.execute("UPDATE ir_module_module SET state = 'installed' WHERE state IN ('to install', 'to upgrade', 'to remove');") + +conn.commit() +conn.close() +print("SUCCESS: Company and module states fixed!") diff --git a/addons/mymach_fleet_intelligence/fix_db_sql.py b/addons/mymach_fleet_intelligence/fix_db_sql.py new file mode 100644 index 0000000..5de2f84 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_db_sql.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +cr = env.cr + +# Query to find all tables and character/text columns in the public schema +cr.execute(""" + SELECT table_name, column_name + FROM information_schema.columns + WHERE table_schema = 'public' + AND data_type IN ('character varying', 'text') + AND table_name NOT LIKE 'pg_%' + AND table_name NOT LIKE 'sql_%' +""") +columns = cr.fetchall() + +# Map of common broken words/phrases (ASCII-safe hex/unicode escape format) +replacements = { + 'g\x3f\x3fn': 'g\u00fcn', + '\x3f\x3fnce': '\u00f6nce', + 'onayland\x3f\x3f': 'onayland\u0131', + 'Foto\x3f\x3fraflar\x3f\x3f': 'Foto\u011fraflar\u0131', + 'y\x3f\x3fk\x3f\x3fnden': 'y\u00fck\u00fcnden', + 'ar\x3f\x3fnd\x3f\x3fr\x3f\x3fld\x3f\x3f': 'ar\u0131nd\u0131r\u0131ld\u0131', + 'S\x3f\x3fr\x3f\x3fc\x3f\x3f': 'S\u00fcr\u00fcc\u00fc', + 'Y\x3f\x3flmaz': 'Y\u0131lmaz', + 'Ara\x3f\x3f': 'Ara\u00e7', + 'g\x3f\x3fnderildi': 'g\u00f6nderildi', + 'G\x3f\x3fnderildi': 'G\u00f6nderildi', + 'edildi\x3f\x3fi': 'edildi\u011fi', + 'de\x3f\x3fer': 'de\u011fer', + 'De\x3f\x3fer': 'De\u011fer', + 'cezalar\x3f\x3f': 'cezalar\u0131', + 'Cezalar\x3f\x3f': 'Cezalar\u0131', + 'G\x3f\x3fvenlik': 'G\u00fcvenlik', + 'g\x3f\x3fvenlik': 'g\u00fcvenlik', + '\x3f\x3fhlal': '\u0130hlal', + '\x3f\x3fhlalleri': '\u0130hlalleri', + '\x3f\x3frtak': 'Ortak', + '\x3f\x3fmit': '\u00dcmit', + '\x3f\x3fener': '\u015eener', + '\x3f\x3felik': '\u00c7elik', + '\x3f\x3fz': '\u00d6z', + '\x3f\x3fzcan': '\u00d6zcan', + '\x3f\x3fzt\x3f\x3frk': '\u00d6zt\u00fcrk', + '\x3f\x3fzkan': '\u00d6zkan', + # Specific missing ones from the log + 'Ay\x3f\x3fe': 'Ay\u015fe', + 's\x3f\x3f': 's\u00fc', + 'S\x3f\x3fr\x3f\x3fc\x3fs\x3f\x3f': 'S\u00fcr\u00fcc\u00fcs\u00fc', + 'S\x3f\x3fr\x3f\x3fc\x3f_X': 'S\u00fcr\u00fcc\u00fc_X', + 'S\x3f\x3fr\x3f\x3fc\x3f_Yeni': 'S\u00fcr\u00fcc\u00fc_Yeni', + # Maintenance cost patterns + 'Yak\x3f\x3ft': 'Yak\u0131t', + 'Bak\x3f\x3fm': 'Bak\u0131m', + 'Al\x3f\x3fm\x3f\x3f': 'Al\u0131m\u0131', + 'Y\x3f\x3fksek': 'Y\u00fcksek', + 'T\x3f\x3fketim': 'T\u00fcketim', + 'Sim\x3f\x3flasyon': 'Sim\u00fclasyon', + 'A\x3f\x3f\x3f\x3fr': 'A\u011f\u0131r', +} + +fixed_count = 0 + +for table_name, column_name in columns: + if table_name.startswith(('ir_logging', 'ir_attachment', 'mail_message', 'mail_tracking', 'ir_model_data', 'ir_translation')): + continue + + try: + cr.execute(f'SELECT id FROM "{table_name}" WHERE "{column_name}" LIKE \'%??%\'') + res = cr.fetchall() + if res: + record_ids = [r[0] for r in res] + + for rec_id in record_ids: + cr.execute(f'SELECT "{column_name}" FROM "{table_name}" WHERE id = %s', (rec_id,)) + val = cr.fetchone()[0] + if val: + fixed_val = val + for broken, fixed in replacements.items(): + fixed_val = fixed_val.replace(broken, fixed) + + if fixed_val != val: + cr.execute(f'UPDATE "{table_name}" SET "{column_name}" = %s WHERE id = %s', (fixed_val, rec_id)) + print(f"Table: {table_name}, Column: {column_name}, ID: {rec_id} -> Fixed to: '{fixed_val}'") + fixed_count += 1 + except Exception: + pass + +if fixed_count > 0: + cr.commit() + print(f"SUCCESS: Fixed {fixed_count} columns across the database!") +else: + print("NO CORRUPTED DATA FOUND/FIXED IN DATABASE VIA SQL.") diff --git a/addons/mymach_fleet_intelligence/fix_db_turkish_chars.py b/addons/mymach_fleet_intelligence/fix_db_turkish_chars.py new file mode 100644 index 0000000..c07e575 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_db_turkish_chars.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +models_to_check = [ + 'mymach.fleet.contract', + 'mymach.fleet.handover', + 'mymach.fleet.reservation', + 'mymach.fleet.fine', + 'mymach.fleet.security.log', + 'res.partner', + 'hr.employee' +] + +# Replacement function for broken Turkish characters in Odoo database +def fix_text(text): + if not text: + return text + # Map of common broken words/phrases + replacements = { + 'g??n': 'gün', + '??nce': 'önce', + 'onayland??': 'onaylandı', + 'Foto??raflar??': 'Fotoğrafları', + 'y??k??nden': 'yükünden', + 'ar??nd??r??ld??': 'arındırıldı', + 'S??r??c??': 'Sürücü', + 'Y??lmaz': 'Yılmaz', + 'Ara??': 'Araç', + 'g??nderildi': 'gönderildi', + 'G??nderildi': 'Gönderildi', + 'edildi??i': 'edildiği', + 'de??er': 'değer', + 'De??er': 'Değer', + 'cezalar??': 'cezaları', + 'Cezalar??': 'Cezaları', + 'ihlal': 'ihlal', + 'G??venlik': 'Güvenlik', + 'g??venlik': 'güvenlik', + '??hlal': 'İhlal', + '??hlalleri': 'İhlalleri', + '??rtak': 'Ortak', + '??mit': 'Ümit', + '??ener': 'Şener', + '??elik': 'Çelik', + '??z': 'Öz', + '??zcan': 'Özcan', + '??ztürk': 'Öztürk', + '??zkan': 'Özkan', + } + + new_text = text + for broken, fixed in replacements.items(): + new_text = new_text.replace(broken, fixed) + + # Also catch generic character issues + # e.g. ?? -> ü / ö / ı / ş / ç depending on context or replace them individually if they are alone + return new_text + +updated_count = 0 + +for model_name in models_to_check: + try: + model_obj = env[model_name] + except KeyError: + continue + + string_fields = [f_name for f_name, f_obj in model_obj._fields.items() if f_obj.type in ('char', 'text', 'html') and not f_obj.compute] + + records = model_obj.search([]) + for rec in records: + updates = {} + for field in string_fields: + val = rec[field] + if val and isinstance(val, str) and '??' in val: + fixed_val = fix_text(val) + if fixed_val != val: + updates[field] = fixed_val + print(f"[{model_name} ID {rec.id}] Field '{field}': '{val}' -> '{fixed_val}'") + + if updates: + rec.write(updates) + updated_count += 1 + +if updated_count > 0: + env.cr.commit() + print(f"SUCCESS: Fixed Turkish characters in {updated_count} database records!") +else: + print("NO CORRUPTED TEXT RECORDS FOUND IN SPECIFIED MODELS.") diff --git a/addons/mymach_fleet_intelligence/fix_external_ids.py b/addons/mymach_fleet_intelligence/fix_external_ids.py new file mode 100644 index 0000000..e8788af --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_external_ids.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +cr = env.cr + +# Create Public Partner & Public User if not exists +cr.execute(""" + INSERT INTO res_partner (id, name, active, autopost_bills, group_rfq, group_on, create_date, write_date) + VALUES (4, 'Public user', true, 'ask', 'all', 'all', NOW(), NOW()) + ON CONFLICT (id) DO NOTHING; +""") + +cr.execute(""" + INSERT INTO res_users (id, login, password, partner_id, active, company_id, notification_type, create_date, write_date) + VALUES (4, 'public', '', 4, true, 1, 'email', NOW(), NOW()) + ON CONFLICT (id) DO UPDATE SET active = true; +""") + +# Insert/Restore XML IDs in ir_model_data +xmlids = [ + ('base', 'public_user', 'res.users', 4), + ('base', 'public_partner', 'res.partner', 4), + ('base', 'user_admin', 'res.users', 1), + ('base', 'partner_admin', 'res.partner', 3), + ('base', 'main_partner', 'res.partner', 1), + ('base', 'main_company', 'res.company', 1), + ('base', 'user_root', 'res.users', 2), + ('base', 'partner_root', 'res.partner', 2), + ('base', 'USD', 'res.currency', 1), + ('base', 'TRY', 'res.currency', 31) +] + +for module, name, model, res_id in xmlids: + cr.execute(""" + INSERT INTO ir_model_data (module, name, model, res_id) + VALUES (%s, %s, %s, %s) + ON CONFLICT (module, name) DO UPDATE SET res_id = EXCLUDED.res_id, model = EXCLUDED.model; + """, (module, name, model, res_id)) + +cr.commit() +print("SUCCESS: Missing External IDs (base.public_user, etc.) successfully restored in ir_model_data!") diff --git a/addons/mymach_fleet_intelligence/fix_lang_xmlid.py b/addons/mymach_fleet_intelligence/fix_lang_xmlid.py new file mode 100644 index 0000000..2aead25 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_lang_xmlid.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +cr = env.cr + +# 1. Clear manually inserted res_lang or link ir_model_data +cr.execute("SELECT id FROM res_lang WHERE code = 'en_US';") +lang_id = cr.fetchone() +if lang_id: + cr.execute(""" + INSERT INTO ir_model_data (module, name, model, res_id) + VALUES ('base', 'lang_en', 'res.lang', %s) + ON CONFLICT (module, name) DO UPDATE SET res_id = EXCLUDED.res_id; + """, (lang_id[0],)) + +cr.commit() +print("Language XML ID fixed!") diff --git a/addons/mymach_fleet_intelligence/fix_odoo_conf.py b/addons/mymach_fleet_intelligence/fix_odoo_conf.py new file mode 100644 index 0000000..eb67af8 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_odoo_conf.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +conf_content = """[options] +addons_path = /mnt/extra-addons +db_host = db +db_port = 5432 +db_user = odoo +db_password = odoo +db_name = dev +list_db = False +log_level = info +""" + +with open('/etc/odoo/odoo.conf', 'w', encoding='utf-8') as f: + f.write(conf_content) + +print("SUCCESS: Updated /etc/odoo/odoo.conf with db_name = dev and list_db = False!") diff --git a/addons/mymach_fleet_intelligence/fix_users.py b/addons/mymach_fleet_intelligence/fix_users.py new file mode 100644 index 0000000..31dcfa6 --- /dev/null +++ b/addons/mymach_fleet_intelligence/fix_users.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +# Disable constraints temporarily to create via ORM +env.cr.execute("UPDATE res_users SET partner_id = NULL WHERE id = 1;") +env.cr.commit() + +# Create Admin Partner via ORM to fill all default fields +admin_partner = env['res.partner'].create({'name': 'Administrator'}) +print("Created Admin Partner:", admin_partner.id) + +company_partner = env['res.partner'].create({'name': 'YourCompany', 'is_company': True}) +print("Created Company Partner:", company_partner.id) + +bot_partner = env['res.partner'].create({'name': 'OdooBot'}) +print("Created Bot Partner:", bot_partner.id) + +# Link partners back to users +env.cr.execute("UPDATE res_users SET partner_id = %s WHERE id = 1;", (admin_partner.id,)) +env.cr.execute("UPDATE res_users SET partner_id = %s WHERE id = 2;", (bot_partner.id,)) +env.cr.execute("UPDATE res_company SET partner_id = %s WHERE id = 1;", (company_partner.id,)) + +env.cr.commit() +print("BASE ADMIN & ODOOBOT USERS AND PARTNERS FULLY RESTORED VIA ORM!") diff --git a/addons/mymach_fleet_intelligence/i18n/tr_TR.po b/addons/mymach_fleet_intelligence/i18n/tr_TR.po new file mode 100644 index 0000000..8a46f5e --- /dev/null +++ b/addons/mymach_fleet_intelligence/i18n/tr_TR.po @@ -0,0 +1,547 @@ +# Translation of Odoo Server. +# This file contains the translation of the following module: +# * mymach_fleet_intelligence +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-16 12:00+0000\n" +"PO-Revision-Date: 2026-07-16 12:00+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__name +msgid "Contract Reference" +msgstr "Sözleşme Referansı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__driver_id +msgid "Driver" +msgstr "Sürücü" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__employee_id +msgid "Related Employee" +msgstr "İlişkili Çalışan" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__department_id +msgid "Department" +msgstr "Departman" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__personal_use_policy +msgid "Personal Use Policy" +msgstr "Şahsi Kullanım Politikası" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_contract__personal_use_policy__allowed +msgid "Allowed" +msgstr "İzinli" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_contract__personal_use_policy__limit +msgid "Limited" +msgstr "Limitli" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_contract__personal_use_policy__forbidden +msgid "Forbidden" +msgstr "Yasaklı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__max_km_limit +msgid "Maximum KM Limit" +msgstr "Maksimum KM Limiti" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__commute_allowed +msgid "Commute Allowed" +msgstr "Eve Git/Gel İzni" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__personal_device_gps_allowed +msgid "Personal Device GPS Allowed" +msgstr "Kişisel Cihaz GPS İzni" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__company_phone_device_id +msgid "Company Phone Device ID (UUID)" +msgstr "Şirket Telefonu Cihaz ID (UUID)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_contract__driver_score +msgid "Driver Score Card (0-100)" +msgstr "Sürücü Skor Kartı (0-100)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__name +msgid "Charge/Transit Reference" +msgstr "Ceza/Geçiş Referansı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__charge_type +msgid "Expense Type" +msgstr "Gider Türü" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_fine__charge_type__hgs +msgid "HGS Toll Charge" +msgstr "HGS Geçiş Ücreti" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_fine__charge_type__fine +msgid "Traffic Fine" +msgstr "Trafik Cezası" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_fine__charge_type__parking +msgid "Parking Fee" +msgstr "Otopark Ücreti" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__amount +msgid "Amount" +msgstr "Tutar" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__date +msgid "Transaction Date" +msgstr "İşlem Tarihi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__is_personal_violation +msgid "Personal Use Violation?" +msgstr "Şahsi Kullanım İhlali?" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_fine__state +msgid "Status" +msgstr "Durum" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_fine__state__draft +msgid "Draft" +msgstr "Taslak" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_fine__state__confirmed +msgid "Confirmed" +msgstr "Onaylandı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_fine__state__deducted +msgid "Deducted to Payroll/Current" +msgstr "Bordroya/Cariye Yansıtıldı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__name +msgid "Handover Reference" +msgstr "Teslim Referansı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__vehicle_id +msgid "Vehicle" +msgstr "Araç" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__driver_id +msgid "Driver (Employee)" +msgstr "Sürücü (Personel)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__state +msgid "Status" +msgstr "Durum" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_handover__state__draft +msgid "Draft" +msgstr "Taslak" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_handover__state__taken +msgid "Handed Over (In Use)" +msgstr "Teslim Alındı (Kullanımda)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_handover__state__returned +msgid "Returned" +msgstr "Teslim Edildi (İade Edildi)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_handover__state__compared +msgid "Inspected / Approved" +msgstr "Denetlendi / Onaylandı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__take_datetime +msgid "Take Datetime" +msgstr "Teslim Alım Zamanı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__start_odometer +msgid "Start Odometer" +msgstr "Alış Kilometresi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__start_fuel_level +msgid "Start Fuel Level (%)" +msgstr "Alış Yakıt Seviyesi (%)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__start_photo +msgid "Take Photo" +msgstr "Teslim Alım Fotoğrafı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__return_datetime +msgid "Return Datetime" +msgstr "İade Zamanı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__end_odometer +msgid "End Odometer" +msgstr "İade Kilometresi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__end_fuel_level +msgid "End Fuel Level (%)" +msgstr "İade Yakıt Seviyesi (%)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__end_photo +msgid "Return Photo" +msgstr "İade Fotoğrafı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__odometer_diff +msgid "Odometer Diff (KM)" +msgstr "Yapılan Yol (KM)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__fuel_diff +msgid "Fuel Diff (%)" +msgstr "Yakıt Tüketim Farkı (%)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__manager_note +msgid "Manager Inspection Notes" +msgstr "Yönetici Denetim Notları" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_handover__is_approved +msgid "Inspection Approval" +msgstr "Denetim Onayı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__name +msgid "Request No" +msgstr "Talep No" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__employee_id +msgid "Requested Employee" +msgstr "Talep Eden Çalışan" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__vehicle_id +msgid "Requested Vehicle" +msgstr "Talep Edilen Araç" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__start_datetime +msgid "Start Datetime" +msgstr "Başlangıç Tarihi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__end_datetime +msgid "End Datetime" +msgstr "Bitiş Tarihi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__purpose +msgid "Purpose / Justification" +msgstr "Kullanım Amacı / Gerekçe" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_reservation__state +msgid "Status" +msgstr "Durum" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_reservation__state__draft +msgid "Draft" +msgstr "Taslak" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_reservation__state__submitted +msgid "Submitted" +msgstr "Yönetici Onayı Bekliyor" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_reservation__state__approved +msgid "Approved (Reserved)" +msgstr "Onaylandı (Rezerve)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_reservation__state__rejected +msgid "Rejected" +msgstr "Reddedildi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_reservation__state__done +msgid "Completed / Handed Over" +msgstr "Tamamlandı / Teslim Edildi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_maintenance_cost__name +msgid "Description" +msgstr "Gider Açıklaması" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_maintenance_cost__product_id +msgid "Expense Item (Product)" +msgstr "Masraf Kalemi (Ürün)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_maintenance_cost__vehicle_id +msgid "Vehicle" +msgstr "Araç" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_maintenance_cost__amount +msgid "Amount" +msgstr "Tutar" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_maintenance_cost__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_maintenance_cost__date +msgid "Date" +msgstr "Tarih" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__purchase_value +msgid "Purchase Value" +msgstr "Alım Bedeli" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__depreciation_years +msgid "Depreciation Years" +msgstr "Amortisman Yılı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__annual_fixed_cost +msgid "Annual Fixed Cost" +msgstr "Yıllık Sabit Giderler (Kasko/MTV vb.)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__index_currency_id +msgid "Index Currency (Depreciation)" +msgstr "Endeks Para Birimi (Amortisman)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__tank_capacity +msgid "Fuel Tank Capacity (Liters)" +msgstr "Yakıt Depo Kapasitesi (Litre)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__current_fuel_level +msgid "Current Fuel Level (Liters)" +msgstr "Anlık Yakıt Seviyesi (Tahmini Litre)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__needs_predictive_maintenance +msgid "Predictive Maintenance Warning (AI)" +msgstr "Kestirimci Bakım Uyarısı (AI)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__factory_avg_consumption +msgid "Factory Average Consumption (L/100KM)" +msgstr "Fabrika Verisi (L/100KM)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__indexed_purchase_value +msgid "Indexed Purchase Value" +msgstr "Endeksli Alım Bedeli" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__moving_average_maintenance_cost +msgid "Moving Average Maintenance Cost" +msgstr "Hareketli Ortalama Bakım Maliyeti" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__is_maintenance_critical +msgid "Critical Cost Alarm" +msgstr "Kritik Maliyet Alarmı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__name +msgid "Log Reference" +msgstr "Log Referansı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__vehicle_id +msgid "Vehicle" +msgstr "Araç" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__driver_id +msgid "Driver" +msgstr "Sürücü" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__datetime +msgid "Datetime" +msgstr "Zaman" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__latitude +msgid "Latitude" +msgstr "Enlem" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__longitude +msgid "Longitude" +msgstr "Boylam" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__status +msgid "Security Status" +msgstr "Güvenlik Durumu" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_security_log__status__in_office_moving +msgid "WARNING: Employee in Office but Vehicle Moving" +msgstr "UYARI: Personel Ofiste Ama Araç Hareket Halinde" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_security_log__status__project_match +msgid "CONFIRMED: Project Route Match" +msgstr "ONAY: Proje Rotası Eşleşti" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_security_log__status__exception +msgid "ATTENTION: Surprise Route Exception" +msgstr "DİKKAT: İstisna (Sürpriz) Rota" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__is_resolved +msgid "Is Resolved?" +msgstr "Çözüldü mü?" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__deduction_amount +msgid "Payroll Deduction Amount" +msgstr "Cari/Bordro Kesinti Tutarı" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_security_log__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__log_id +msgid "Security Log" +msgstr "Güvenlik Logu" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__vehicle_id +msgid "Vehicle" +msgstr "Araç" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__exception_type +msgid "Route Reason" +msgstr "Rota Gerekçesi" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__exception_type__crm +msgid "CRM Opportunity" +msgstr "CRM Fırsatı (Müşteri Ziyareti)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__exception_type__project +msgid "Project Task" +msgstr "Proje Görevi (Şantiye)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,selection:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__exception_type__personal +msgid "Personal Use" +msgstr "Kişisel Kullanım" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__description +msgid "Description / Reason" +msgstr "Açıklama / Sebep" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_route_exception_wizard__estimated_cost +msgid "Estimated Route Cost" +msgstr "Tahmini Rota Maliyeti" + +#. module: mymach_fleet_intelligence +#: model:ir.model,name:mymach_fleet_intelligence.model_mymach_fleet_periodic_maintenance +msgid "Vehicle Periodic Maintenance Reminders" +msgstr "Araç Periyodik Bakım Hatırlatıcıları" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_periodic_maintenance__vehicle_id +msgid "Vehicle" +msgstr "Araç" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_periodic_maintenance__maintenance_type +msgid "Maintenance Type" +msgstr "Bakım Türü" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_periodic_maintenance__target_odometer +msgid "Target Odometer" +msgstr "Hedef Kilometre" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_periodic_maintenance__target_date +msgid "Target Date" +msgstr "Hedef Tarih" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_mymach_fleet_periodic_maintenance__state +msgid "Status" +msgstr "Durum" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__depreciation_cost_try +msgid "Amortisman Bedeli (TRY)" +msgstr "Amortisman Bedeli (TRY)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__depreciation_cost_usd +msgid "Amortisman Bedeli (USD)" +msgstr "Amortisman Bedeli (USD)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__depreciation_cost_eur +msgid "Amortisman Bedeli (EUR)" +msgstr "Amortisman Bedeli (EUR)" + +#. module: mymach_fleet_intelligence +#: model:ir.model.fields,field_description:mymach_fleet_intelligence.field_fleet_vehicle__depreciation_cost_avg +msgid "Ortalama Amortisman (TRY)" +msgstr "Ortalama Amortisman (TRY)" + diff --git a/addons/mymach_fleet_intelligence/inspect_cols.py b/addons/mymach_fleet_intelligence/inspect_cols.py new file mode 100644 index 0000000..530829e --- /dev/null +++ b/addons/mymach_fleet_intelligence/inspect_cols.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +cr = env.cr + +# 0. Insert base language +cr.execute(""" + INSERT INTO res_lang (name, code, iso_code, url_code, direction, active, date_format, time_format, grouping, decimal_point, thousands_sep, week_start) + VALUES ('English', 'en_US', 'en_US', 'en', 'ltr', true, '%m/%d/%Y', '%H:%M:%S', '[3,0]', '.', ',', '7') + ON CONFLICT (code) DO UPDATE SET active = true; +""") + +# 1. Insert Base Currency USD (id=1) & TRY (id=31) +cr.execute(""" + INSERT INTO res_currency (id, name, symbol, decimal_places, active, create_date, write_date) + VALUES + (1, 'USD', '$', 2, true, NOW(), NOW()), + (31, 'TRY', '₺', 2, true, NOW(), NOW()) + ON CONFLICT (id) DO UPDATE SET active = true; +""") + +# 2. Insert base partners +cr.execute(""" + INSERT INTO res_partner (id, name, active, autopost_bills, group_rfq, group_on, create_date, write_date) + VALUES + (1, 'YourCompany', true, 'ask', 'all', 'all', NOW(), NOW()), + (2, 'OdooBot', true, 'ask', 'all', 'all', NOW(), NOW()), + (3, 'Administrator', true, 'ask', 'all', 'all', NOW(), NOW()) + ON CONFLICT (id) DO NOTHING; +""") + +# 3. Insert base company with all NOT NULL columns +cr.execute(""" + INSERT INTO res_company ( + id, name, partner_id, currency_id, layout_background, fiscalyear_last_day, fiscalyear_last_month, + account_price_include, horizon_days, inventory_period, cost_method, security_lead, + point_of_sale_ticket_portal_url_display_mode, create_date, write_date + ) + VALUES ( + 1, 'YourCompany', 1, 1, 'Blank', 31, '12', + 'tax_excluded', 30, 30, 'fifo', 0, + 'none', NOW(), NOW() + ) + ON CONFLICT (id) DO UPDATE SET currency_id = 1; +""") + +# 4. Insert base users +cr.execute(""" + INSERT INTO res_users (id, login, password, partner_id, active, company_id, notification_type, create_date, write_date) + VALUES + (1, 'admin', 'admin', 3, true, 1, 'email', NOW(), NOW()), + (2, '__system__', '', 2, true, 1, 'email', NOW(), NOW()) + ON CONFLICT (id) DO UPDATE SET partner_id = EXCLUDED.partner_id, active = true, notification_type = 'email', company_id = 1; +""") + +cr.commit() +print("SUCCESS: Base language, currency, partners, company, and users fully restored!") diff --git a/addons/mymach_fleet_intelligence/inspect_users.py b/addons/mymach_fleet_intelligence/inspect_users.py new file mode 100644 index 0000000..924fec2 --- /dev/null +++ b/addons/mymach_fleet_intelligence/inspect_users.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +fields = list(env['res.users']._fields.keys()) +print("Fields in res.users:") +print(fields) diff --git a/addons/mymach_fleet_intelligence/install_all_modules.py b/addons/mymach_fleet_intelligence/install_all_modules.py new file mode 100644 index 0000000..52a4181 --- /dev/null +++ b/addons/mymach_fleet_intelligence/install_all_modules.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() +cr.execute("UPDATE ir_module_module SET state = 'to install' WHERE name IN ('web', 'fleet', 'mymach_fleet_intelligence');") +conn.commit() +conn.close() +print("SUCCESS: Modules set to install!") diff --git a/addons/mymach_fleet_intelligence/mark_installed_and_upgrade.py b/addons/mymach_fleet_intelligence/mark_installed_and_upgrade.py new file mode 100644 index 0000000..a750bbc --- /dev/null +++ b/addons/mymach_fleet_intelligence/mark_installed_and_upgrade.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() +cr.execute("UPDATE ir_module_module SET state = 'installed' WHERE name IN ('web', 'fleet', 'mymach_fleet_intelligence');") +conn.commit() +conn.close() +print("SUCCESS: Modules marked installed in database!") diff --git a/addons/mymach_fleet_intelligence/models/__init__.py b/addons/mymach_fleet_intelligence/models/__init__.py new file mode 100644 index 0000000..70b5db6 --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/__init__.py @@ -0,0 +1,10 @@ +from . import fleet_contract +from . import maintenance_cost +from . import fleet_vehicle +from . import security_log +from . import route_exception_wizard +from . import fleet_reservation +from . import home +from . import fleet_fine +from . import fleet_handover +from . import periodic_maintenance diff --git a/addons/mymach_fleet_intelligence/models/fleet_contract.py b/addons/mymach_fleet_intelligence/models/fleet_contract.py new file mode 100644 index 0000000..5232bfd --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/fleet_contract.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api + +class MymachFleetContract(models.Model): + """ + Sürücüler ile havuz araçları arasındaki şahsi kullanım, + kilometre sınırları ve güvenlik yetkilerini tanımlayan Tahsis Sözleşmesi Modeli. + (Şirket Anayasası Madde 3, 4 & 5 referansı) + """ + _name = 'mymach.fleet.contract' + _description = 'Filo Araç Tahsis Sözleşmesi' + _inherit = ['mail.thread'] + + # Sözleşme Adı + name = fields.Char(string="Contract Reference", required=True) + + # Sürücü (İş Ortağı) + driver_id = fields.Many2one('res.partner', string="Driver", required=True) + + # İlgili Çalışan (hr.employee) - Bağlantılı alanlar için gizli tutulacak + employee_id = fields.Many2one('hr.employee', string="Related Employee", compute="_compute_employee", store=True) + + # Departman (Çalışan kaydından otomatik hesaplanır) + department_id = fields.Many2one( + 'hr.department', + string="Department", + related="employee_id.department_id", + readonly=True, + store=True + ) + + # Şahsi Kullanım Politikası + personal_use_policy = fields.Selection([ + ('allowed', 'Serbest Şahsi Kullanım (İzinli)'), + ('limit', 'Limitli Şahsi Kullanım (Sözleşmeli KM Sınırı)'), + ('unlimited', 'Sınırsız (Limitsiz) Şahsi Kullanım'), + ('rental', 'Kiralık (Kira Bedelli) Tahsis'), + ('forbidden', 'Yasaklı (Şahsi Kullanım Dışı)') + ], string="Şahsi Kullanım Politikası", required=True, default='forbidden') + + # Maksimum KM Limiti (Sadece "allowed" veya "limit" seçildiğinde arayüzde görünür olacak) + max_km_limit = fields.Float(string="Maximum KM Limit", help="Monthly kilometer limit determined for personal use.") + + # Kişisel Kullanılan KM + personal_km_used = fields.Float(string="Kişisel Kullanım KM (Bu Ay)", default=0.0) + + # Eve Git/Gel İzni + commute_allowed = fields.Selection([ + ('allowed', 'Allowed'), + ('forbidden', 'Forbidden') + ], string="Commute Allowed", required=True, default='forbidden') + + # Cihaz İzni Yönetimi (Madde 5 referansı) + personal_device_gps_allowed = fields.Boolean(string="Personal Device GPS Allowed") + company_phone_device_id = fields.Char(string="Company Phone Device ID (UUID)") + + # Sürücü Skor Kartı (Gamification) + driver_score = fields.Integer(string="Driver Score Card (0-100)", default=100, tracking=True) + + def write(self, vals): + if 'driver_score' in vals: + # Puan 0 ile 100 arasında sınırlandırılsın + vals['driver_score'] = max(0, min(100, vals['driver_score'])) + if vals['driver_score'] < 70: + vals['commute_allowed'] = 'forbidden' + for record in self: + if record.commute_allowed != 'forbidden': + record.message_post( + body=f"🚨 KRİTİK GÜVENLİK ALARMI: Sürücü skoru 70'in altına düştü ({vals['driver_score']})! Eve Git/Gel izni otonom olarak askıya alınmıştır!" + ) + return super(MymachFleetContract, self).write(vals) + + @api.depends('driver_id') + def _compute_employee(self): + """ + Sürücü seçildiğinde (res.partner), bağlantılı olan İK çalışanını (hr.employee) tespit eder. + Bu sayede departman bilgisi otomatik çekilir. + """ + for record in self: + if record.driver_id: + employee = self.env['hr.employee'].search([ + '|', + ('work_contact_id', '=', record.driver_id.id), + ('user_id.partner_id', '=', record.driver_id.id) + ], limit=1) + record.employee_id = employee.id if employee else False + else: + record.employee_id = False diff --git a/addons/mymach_fleet_intelligence/models/fleet_fine.py b/addons/mymach_fleet_intelligence/models/fleet_fine.py new file mode 100644 index 0000000..85aac07 --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/fleet_fine.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +import datetime +from odoo import models, fields, api + +class MymachFleetFine(models.Model): + """ + Otonom HGS, Ceza ve Park Gider Yönetimi Modeli + Güvenlik ihlalleriyle entegre olarak giderlerin şahsi mi yoksa şirket gideri mi olduğunu saptar. + """ + _name = 'mymach.fleet.fine' + _description = 'Filo Trafik Ceza ve HGS Yönetimi' + _inherit = ['mail.thread', 'mail.activity.mixin'] + + name = fields.Char(string="Charge/Transit Reference", required=True, tracking=True) + charge_type = fields.Selection([ + ('tax', 'Vergi Gideri'), + ('insurance', 'Zorunlu Trafik Sigortası'), + ('casco', 'Kasko Sigortası'), + ('repair', 'Onarım / Hasar Gideri'), + ('maintenance', 'Bakım Gideri'), + ('rental', 'Kira Masrafı'), + ('hgs', 'HGS / Otoyol Geçiş Ücreti'), + ('fine', 'Trafik Cezası'), + ('parking', 'Otopark Ücreti') + ], string="Masraf Türü", required=True, default='hgs', tracking=True) + + vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", required=True, tracking=True) + driver_id = fields.Many2one('res.partner', string="Driver", related='vehicle_id.driver_id', store=True) + + amount = fields.Monetary(string="Amount", currency_field='currency_id', required=True, tracking=True) + currency_id = fields.Many2one('res.currency', string="Currency", default=lambda self: self.env.ref('base.TRY', raise_if_not_found=False) or self.env.company.currency_id) + date = fields.Date(string="Transaction Date", default=fields.Date.context_today, required=True, tracking=True) + + is_personal_violation = fields.Boolean( + string="Personal Use Violation?", + compute="_compute_personal_violation", + store=True, + tracking=True + ) + + state = fields.Selection([ + ('draft', 'Draft'), + ('confirmed', 'Confirmed'), + ('deducted', 'Deducted to Payroll/Current') + ], string="Status", default='draft', tracking=True) + + @api.depends('vehicle_id', 'date') + def _compute_personal_violation(self): + """ + Eğer ceza gününde araçla ilgili bir güvenlik ihlali logu (in_office_moving veya exception) varsa + otomatik olarak şahsi ihlal olarak işaretlenir. + """ + for record in self: + if record.vehicle_id and record.date: + # O gün bu araca ait ihlal logu var mı? + date_start = datetime.datetime.combine(record.date, datetime.time.min) + date_end = datetime.datetime.combine(record.date, datetime.time.max) + log_exists = self.env['mymach.fleet.security.log'].search([ + ('vehicle_id', '=', record.vehicle_id.id), + ('status', 'in', ['in_office_moving', 'exception']), + ('datetime', '>=', fields.Datetime.to_string(date_start)), + ('datetime', '<=', fields.Datetime.to_string(date_end)) + ], limit=1) + record.is_personal_violation = bool(log_exists) + else: + record.is_personal_violation = False + + def action_confirm(self): + self.write({'state': 'confirmed'}) + + def action_deduct_to_payroll(self): + """ + Eğer şahsi ihlalse, tutarı bordro/cari borç olarak yansıtır. + Burada basitlik adına ilgili güvenlik loguna ceza bedeli olarak yazar ve durumu güncelleriz. + """ + for record in self: + if not record.is_personal_violation: + continue + + date_start = datetime.datetime.combine(record.date, datetime.time.min) + date_end = datetime.datetime.combine(record.date, datetime.time.max) + log = self.env['mymach.fleet.security.log'].search([ + ('vehicle_id', '=', record.vehicle_id.id), + ('status', 'in', ['in_office_moving', 'exception']), + ('datetime', '>=', fields.Datetime.to_string(date_start)), + ('datetime', '<=', fields.Datetime.to_string(date_end)) + ], limit=1) + + if log: + log.write({'deduction_amount': record.amount}) + + if record.driver_id: + record.driver_id.message_post( + body=f"🚨 Şahsi Kullanım İhlal Cezası: {record.date} tarihinde gerçekleşen ihlal nedeniyle {record.amount} {record.currency_id.name} tutarındaki ceza/ücret cari hesabınıza borç olarak yansıtılmıştır." + ) + + record.write({'state': 'deducted'}) diff --git a/addons/mymach_fleet_intelligence/models/fleet_handover.py b/addons/mymach_fleet_intelligence/models/fleet_handover.py new file mode 100644 index 0000000..3a0d7a1 --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/fleet_handover.py @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- +import datetime +import random +from odoo import models, fields, api, _ +from odoo.exceptions import UserError + +class MymachFleetHandover(models.Model): + """ + Araç Teslim Alım / Teslim Etme (Handover) Takip Modeli + Personelin araç alırken/bırakırken km ve yakıt bilgilerini girip fotoğraf yüklemesini sağlar. + Yöneticinin bu verileri karşılaştırıp denetlemesini sağlar. + """ + _name = 'mymach.fleet.handover' + _description = 'Araç Teslim Alım ve İade Takibi' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _order = 'id desc' + + name = fields.Char(string="Handover Reference", required=True, copy=False, readonly=True, default="/") + + vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", required=True, tracking=True) + driver_id = fields.Many2one('res.partner', string="Driver (Employee)", required=True, tracking=True, + default=lambda self: self.env.user.partner_id) + + state = fields.Selection([ + ('draft', 'Draft'), + ('taken', 'Handed Over (In Use)'), + ('returned', 'Returned'), + ('compared', 'Inspected / Approved') + ], string="Status", default='draft', required=True, tracking=True) + + # --- TAKE (START) DETAILS --- + take_datetime = fields.Datetime(string="Take Datetime", tracking=True) + start_odometer = fields.Float(string="Start Odometer", tracking=True) + start_fuel_level = fields.Float(string="Start Fuel Level (%)", help="E.g. 50 (%50 Fuel)", tracking=True) + start_photo = fields.Binary(string="Take Photo", attachment=True) + + # --- RETURN (END) DETAILS --- + return_datetime = fields.Datetime(string="Return Datetime", tracking=True) + end_odometer = fields.Float(string="End Odometer", tracking=True) + end_fuel_level = fields.Float(string="End Fuel Level (%)", help="E.g. 30 (%30 Fuel)", tracking=True) + end_photo = fields.Binary(string="Return Photo", attachment=True) + + # --- MANAGER INSPECTION DETAILS --- + odometer_diff = fields.Float(string="Odometer Diff (KM)", compute="_compute_diffs", store=True) + fuel_diff = fields.Float(string="Fuel Diff (%)", compute="_compute_diffs", store=True) + manager_note = fields.Text(string="Manager Inspection Notes", tracking=True) + is_approved = fields.Boolean(string="Inspection Approval", tracking=True) + + @api.depends('start_odometer', 'end_odometer', 'start_fuel_level', 'end_fuel_level') + def _compute_diffs(self): + for record in self: + record.odometer_diff = record.end_odometer - record.start_odometer if record.end_odometer else 0.0 + record.fuel_diff = record.end_fuel_level - record.start_fuel_level if record.end_fuel_level else 0.0 + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if not vals.get('name') or vals.get('name') == '/': + today_str = datetime.date.today().strftime('%Y%m%d') + rand_id = random.randint(1000, 9999) + vals['name'] = f"HO/{today_str}/{rand_id}" + return super(MymachFleetHandover, self).create(vals_list) + + def action_take(self): + """ + Personel aracı teslim alır. Araç bilgilerini günceller. + """ + self.ensure_one() + if not self.take_datetime: + self.take_datetime = fields.Datetime.now() + if not self.start_odometer or not self.start_photo: + raise UserError(_("Aracı teslim alabilmek için başlangıç kilometresi ve fotoğrafı girmelisiniz!")) + + # Araç kilometresini güncelle (odometer kaydı oluşturarak) + self.env['fleet.vehicle.odometer'].create({ + 'vehicle_id': self.vehicle_id.id, + 'value': self.start_odometer, + 'date': fields.Date.context_today(self) + }) + + # Yakıt seviyesini güncelle (Litreye dönüştür) + fuel_liter = (self.start_fuel_level / 100.0) * self.vehicle_id.tank_capacity + self.vehicle_id.sudo().write({'current_fuel_level': min(fuel_liter, self.vehicle_id.tank_capacity)}) + + self.write({'state': 'taken'}) + self.message_post(body=f"🚗 Araç Teslim Alındı. Başlangıç KM: {self.start_odometer}, Yakıt: %{self.start_fuel_level}") + + def action_return(self): + """ + Personel aracı iade eder. Araç bilgilerini günceller. + """ + self.ensure_one() + if not self.return_datetime: + self.return_datetime = fields.Datetime.now() + if not self.end_odometer or not self.end_photo: + raise UserError(_("Aracı iade edebilmek için bitiş kilometresi ve fotoğrafı girmelisiniz!")) + if self.end_odometer < self.start_odometer: + raise UserError(_("İade kilometresi, teslim alış kilometresinden düşük olamaz!")) + + # Araç kilometresini güncelle (odometer kaydı oluşturarak) + self.env['fleet.vehicle.odometer'].create({ + 'vehicle_id': self.vehicle_id.id, + 'value': self.end_odometer, + 'date': fields.Date.context_today(self) + }) + + # Yakıt seviyesini güncelle (Litreye dönüştür) + fuel_liter = (self.end_fuel_level / 100.0) * self.vehicle_id.tank_capacity + self.vehicle_id.sudo().write({'current_fuel_level': min(fuel_liter, self.vehicle_id.tank_capacity)}) + + self.write({'state': 'returned'}) + self.message_post(body=f"🔋 Araç İade Edildi. Bitiş KM: {self.end_odometer}, Yakıt: %{self.end_fuel_level}. Toplam yol: {self.odometer_diff} KM") + + def action_compare(self): + """ + Yönetici denetimi onaylar. + """ + self.ensure_one() + self.write({ + 'state': 'compared', + 'is_approved': True + }) + self.message_post(body=f"✅ Yönetici Denetimi Tamamlandı. Onay: Evet. Not: {self.manager_note or 'Yok'}") + + @api.model + def action_purge_expired_photos(self): + """ + Faz 9 / Otonom Depo Temizliği: + İade edilme tarihi üzerinden 10 gün geçen kayıtların fotoğraflarını veritabanından siler. + """ + limit_date = fields.Datetime.now() - datetime.timedelta(days=10) + records = self.search([ + ('state', 'in', ['returned', 'compared']), + ('return_datetime', '<=', limit_date), + '|', + ('start_photo', '!=', False), + ('end_photo', '!=', False) + ]) + count = len(records) + for record in records: + record.write({ + 'start_photo': False, + 'end_photo': False + }) + record.message_post( + body="🗑️ Otonom Depo Temizliği: Veritabanı boyutunu korumak amacıyla 10 günden eski teslimat fotoğrafları otonom olarak silinmiştir." + ) + return count diff --git a/addons/mymach_fleet_intelligence/models/fleet_reservation.py b/addons/mymach_fleet_intelligence/models/fleet_reservation.py new file mode 100644 index 0000000..8572c6a --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/fleet_reservation.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api +from odoo.exceptions import ValidationError + +class MymachFleetReservation(models.Model): + """ + Faz 5: Araç Talep ve Rezervasyon Sistemi + Personelin araçları belirli tarih aralıklarında talep etmesini sağlar. + """ + _name = 'mymach.fleet.reservation' + _description = 'Araç Rezervasyonu' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _order = 'start_datetime desc' + + name = fields.Char(string="Request No", required=True, copy=False, readonly=True, default=lambda self: 'New Request') + employee_id = fields.Many2one('hr.employee', string="Requested Employee", required=True, default=lambda self: self.env.user.employee_id) + vehicle_id = fields.Many2one('fleet.vehicle', string="Requested Vehicle", required=True) + + start_datetime = fields.Datetime(string="Start Datetime", required=True, tracking=True) + end_datetime = fields.Datetime(string="End Datetime", required=True, tracking=True) + + purpose = fields.Text(string="Purpose / Justification", required=True) + destination_location = fields.Char(string="Hedef Görev Konumu / Proje Sahası", help="Personelin seçeceği görev konumu") + + state = fields.Selection([ + ('draft', 'Draft'), + ('submitted', 'Onay Bekliyor (Yöneticiye Bildirildi)'), + ('approved', 'Approved (Reserved & Live Map Updated)'), + ('rejected', 'Rejected'), + ('done', 'Completed / Handed Over') + ], string="Status", default='draft', tracking=True, required=True) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if vals.get('name', 'Yeni Talep') == 'Yeni Talep': + vals['name'] = self.env['ir.sequence'].next_by_code('mymach.fleet.reservation') or 'Talep' + return super(MymachFleetReservation, self).create(vals_list) + + @api.constrains('start_datetime', 'end_datetime', 'vehicle_id', 'state') + def _check_overlap(self): + """ + Overlap (Zaman Çakışması) Kontrolü. Aynı araca aynı saatte randevu alınamaz. + """ + for record in self: + if record.state in ['approved', 'done']: + overlapping_reservations = self.search([ + ('id', '!=', record.id), + ('vehicle_id', '=', record.vehicle_id.id), + ('state', 'in', ['approved', 'done']), + ('start_datetime', '<', record.end_datetime), + ('end_datetime', '>', record.start_datetime) + ]) + if overlapping_reservations: + raise ValidationError(f"Seçtiğiniz tarihlerde '{record.vehicle_id.license_plate}' plakalı araç zaten rezerve edilmiştir! Çakışan talep: {overlapping_reservations[0].name}") + + def action_submit(self): + self.write({'state': 'submitted'}) + for record in self: + record.message_post( + body=f"📩 YÖNETİCİYE GÖREV BİLDİRİMİ: {record.employee_id.name} personeli '{record.vehicle_id.license_plate}' aracı ile '{record.destination_location or record.purpose}' konumuna görevlendirme talebi oluşturdu. Yönetici onayı bekleniyor." + ) + + def action_approve(self): + """ + Admin (Yönetici) talebi onaylar ve Takvim Aktivitesi atar. + """ + self.write({'state': 'approved'}) + for record in self: + # Aracı teslim edecek yöneticiye (veya aracı talep eden çalışanın bağlı olduğu kullanıcıya) aktivite aç + user_id = self.env.user.id + record.activity_schedule( + 'mail.mail_activity_data_todo', + summary=f'Araç Teslimatı: {record.vehicle_id.license_plate}', + note=f'{record.employee_id.name} adlı çalışana aracı teslim edin. Gerekçe: {record.purpose}', + user_id=user_id, + date_deadline=fields.Date.to_date(record.start_datetime) + ) + + def action_reject(self): + self.write({'state': 'rejected'}) + + def action_done(self): + self.write({'state': 'done'}) diff --git a/addons/mymach_fleet_intelligence/models/fleet_vehicle.py b/addons/mymach_fleet_intelligence/models/fleet_vehicle.py new file mode 100644 index 0000000..49baadf --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/fleet_vehicle.py @@ -0,0 +1,321 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api +from datetime import timedelta + +class FleetVehicle(models.Model): + """ + Odoo Standart fleet.vehicle Modeli Uzantısı + Döviz stabilizasyonu ve hareketli ortalama bakım hesaplamalarını otonom olarak yapar. + """ + _inherit = 'fleet.vehicle' + + # Alt Görev 2.2: Akıllı Maliyet Tablosu ve Döviz Stabilizasyonu + purchase_value = fields.Monetary(string="Purchase Value", currency_field='currency_id') + depreciation_years = fields.Integer(string="Depreciation Years", default=5) + annual_fixed_cost = fields.Float(string="Annual Fixed Cost") + index_currency_id = fields.Many2one('res.currency', string="Index Currency (Depreciation)", + default=lambda self: self.env.ref('base.TRY').id if self.env.ref('base.TRY', raise_if_not_found=False) else False) + + # 3 Para Birimli Amortisman Maliyet Alanları ve Ortalama Değer + depreciation_cost_try = fields.Float(string="Amortisman Bedeli (TRY)", default=0.0) + depreciation_cost_usd = fields.Float(string="Amortisman Bedeli (USD)", default=0.0) + depreciation_cost_eur = fields.Float(string="Amortisman Bedeli (EUR)", default=0.0) + depreciation_cost_avg = fields.Float(string="Ortalama Amortisman (TRY)", compute='_compute_depreciation_avg', store=True) + + # Son Bakım Kilometresi ve Tarihi + last_maintenance_odometer = fields.Float(string="Son Bakım Kilometresi (KM)", default=0.0) + last_maintenance_date = fields.Date(string="Son Bakım Tarihi") + + # KM Maliyeti + km_cost = fields.Float(string="Kilometre Başına Maliyet (TRY)", default=5.0) + + # Finans & Gider Matrisi Hesaplanmış Metrikler + maintenance_cost_ids = fields.One2many('mymach.fleet.maintenance.cost', 'vehicle_id', string="Gider Kalemleri") + total_expense_amount = fields.Float(string="Toplam Gider Tutarı (TRY)", compute="_compute_financial_metrics", store=True) + total_driven_odometer = fields.Float(string="Toplam Kat Edilen Yol (KM)", compute="_compute_financial_metrics", store=True) + cost_per_km_calculated = fields.Float(string="KM Başına Maliyet (TRY/KM)", compute="_compute_financial_metrics", store=True) + annual_total_cost_calculated = fields.Float(string="Yıllık Toplam Maliyet (TRY/Yıl)", compute="_compute_financial_metrics", store=True) + monthly_avg_cost_calculated = fields.Float(string="Aylık Ortalama Maliyet (TRY/Ay)", compute="_compute_financial_metrics", store=True) + + # Çoklu Para Birimi ve Listbox Seçimleri (TL Ana Para Birimi + 2 Seçilebilir Döviz + 3'lü Ortalama) + try_currency_id = fields.Many2one('res.currency', string="TRY Para Birimi", default=lambda self: self.env.ref('base.TRY', raise_if_not_found=False) or self.env.company.currency_id) + cost_curr1_id = fields.Many2one('res.currency', string="Seçilen 2. Para Birimi (Döviz 1)", default=lambda self: self.env.ref('base.USD', raise_if_not_found=False)) + cost_curr2_id = fields.Many2one('res.currency', string="Seçilen 3. Para Birimi (Döviz 2)", default=lambda self: self.env.ref('base.EUR', raise_if_not_found=False)) + active_display_currency_id = fields.Many2one('res.currency', string="Aktif Gösterim Para Birimi", compute="_compute_financial_metrics") + cost_display_mode = fields.Selection([ + ('try', '🇹🇷 Ana Para Birimi (TL)'), + ('curr1', '💵 2. Para Birimi (Döviz 1)'), + ('curr2', '💶 3. Para Birimi (Döviz 2)'), + ('average', '📊 3 Para Birimli Ortalama Tahminî Değer (TL)') + ], string="Para Birimi Gösterim Modu (Listbox)", default='average') + + cost_per_km_avg_display = fields.Float(string="KM Başına Ortalama Tahminî Değer", compute="_compute_financial_metrics") + annual_cost_avg_display = fields.Float(string="Yıllık Ortalama Tahminî Değer", compute="_compute_financial_metrics") + monthly_cost_avg_display = fields.Float(string="Aylık Ortalama Tahminî Değer", compute="_compute_financial_metrics") + + # Çoklu Para Birimi Karşılaştırması & 3 Dövizli Ortalama Tahmini Değer Alanları + cost_per_km_try = fields.Monetary(string="KM Başına (TL)", compute='_compute_financial_metrics', currency_field='try_currency_id') + annual_cost_try = fields.Monetary(string="Yıllık (TL)", compute='_compute_financial_metrics', currency_field='try_currency_id') + monthly_cost_try = fields.Monetary(string="Aylık (TL)", compute='_compute_financial_metrics', currency_field='try_currency_id') + + cost_per_km_c1 = fields.Monetary(string="KM Başına (Döviz 1)", compute='_compute_financial_metrics', currency_field='cost_curr1_id') + annual_cost_c1 = fields.Monetary(string="Yıllık (Döviz 1)", compute='_compute_financial_metrics', currency_field='cost_curr1_id') + monthly_cost_c1 = fields.Monetary(string="Aylık (Döviz 1)", compute='_compute_financial_metrics', currency_field='cost_curr1_id') + + cost_per_km_c2 = fields.Monetary(string="KM Başına (Döviz 2)", compute='_compute_financial_metrics', currency_field='cost_curr2_id') + annual_cost_c2 = fields.Monetary(string="Yıllık (Döviz 2)", compute='_compute_financial_metrics', currency_field='cost_curr2_id') + monthly_cost_c2 = fields.Monetary(string="Aylık (Döviz 2)", compute='_compute_financial_metrics', currency_field='cost_curr2_id') + + cost_per_km_avg = fields.Monetary(string="KM Başına Ortalama (TL)", compute='_compute_financial_metrics', currency_field='try_currency_id') + annual_cost_avg = fields.Monetary(string="Yıllık Ortalama (TL)", compute='_compute_financial_metrics', currency_field='try_currency_id') + monthly_cost_avg = fields.Monetary(string="Aylık Ortalama (TL)", compute='_compute_financial_metrics', currency_field='try_currency_id') + + + # Yakıt Türü Seçenekleri Özelleştirme (Benzin / LPG Dahil) + fuel_type = fields.Selection([ + ('gasoline', 'Benzinli'), + ('diesel', 'Dizel'), + ('electric', 'Tam Elektrikli (EV)'), + ('lpg', 'Benzin / LPG'), + ('gasoline_lpg', 'Benzin / LPG'), + ('hybrid_gasoline', 'Hibrit (Elektrik / Benzin)'), + ('hybrid_diesel', 'Hibrit (Elektrik / Dizel)') + ], string="Yakıt Türü", default='diesel') + + # Faz 8: Akaryakıt API ve Prediktif Bakım + tank_capacity = fields.Float(string="Fuel Tank Capacity (Liters)", default=50.0) + current_fuel_level = fields.Float(string="Current Fuel Level (Liters)", readonly=True) + needs_predictive_maintenance = fields.Boolean(string="Predictive Maintenance Warning (AI)", default=False, readonly=True) + factory_avg_consumption = fields.Float(string="Factory Average Consumption (L/100KM)", default=6.0) + + indexed_purchase_value = fields.Monetary( + string="Indexed Purchase Value", + compute="_compute_indexed_purchase_value", + currency_field='index_currency_id' + ) + + moving_average_maintenance_cost = fields.Monetary( + string="Moving Average Maintenance Cost", + compute="_compute_moving_average", + currency_field='currency_id' + ) + is_maintenance_critical = fields.Boolean( + string="Critical Cost Alarm", + compute="_compute_moving_average", + search="_search_is_maintenance_critical" + ) + + @api.depends('maintenance_cost_ids.amount', 'maintenance_cost_ids.date', 'odometer', 'annual_fixed_cost', 'cost_curr1_id', 'cost_curr2_id', 'cost_display_mode') + def _compute_financial_metrics(self): + current_year = fields.Date.today().year + try_curr = self.env.ref('base.TRY', raise_if_not_found=False) or self.env.company.currency_id + + for vehicle in self: + costs = vehicle.maintenance_cost_ids + total_amount_try = sum(costs.mapped('amount')) if costs else 0.0 + + odo = vehicle.odometer or 1.0 + if odo <= 0: + odo = 1.0 + + vehicle.total_expense_amount = total_amount_try + vehicle.total_driven_odometer = odo + + # TL Değerleri + cpk_tl = total_amount_try / odo if odo > 0 else 0.0 + this_year_costs_tl = sum(c.amount for c in costs if c.date and c.date.year == current_year) + annual_tl = this_year_costs_tl + (vehicle.annual_fixed_cost or 0.0) + if annual_tl == 0.0 and total_amount_try > 0: + annual_tl = total_amount_try + monthly_tl = annual_tl / 12.0 + + vehicle.cost_per_km_calculated = cpk_tl + vehicle.annual_total_cost_calculated = annual_tl + vehicle.monthly_avg_cost_calculated = monthly_tl + + # Döviz 1 ve Döviz 2 Dönüştürme + curr1 = vehicle.cost_curr1_id or self.env.ref('base.USD', raise_if_not_found=False) + curr2 = vehicle.cost_curr2_id or self.env.ref('base.EUR', raise_if_not_found=False) + + cpk_c1 = try_curr._convert(cpk_tl, curr1, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else 0.0 + cpk_c2 = try_curr._convert(cpk_tl, curr2, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else 0.0 + + annual_c1 = try_curr._convert(annual_tl, curr1, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else 0.0 + annual_c2 = try_curr._convert(annual_tl, curr2, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else 0.0 + + monthly_c1 = try_curr._convert(monthly_tl, curr1, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else 0.0 + monthly_c2 = try_curr._convert(monthly_tl, curr2, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else 0.0 + + # 3 Para Biriminin Ortalama Tahminî Değer Dönüştürmesi (Çapraz Kur Ortalama TL) + c1_back_try = curr1._convert(cpk_c1, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else cpk_tl + c2_back_try = curr2._convert(cpk_c2, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else cpk_tl + cpk_avg = (cpk_tl + c1_back_try + c2_back_try) / 3.0 + + ann_c1_try = curr1._convert(annual_c1, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else annual_tl + ann_c2_try = curr2._convert(annual_c2, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else annual_tl + annual_avg = (annual_tl + ann_c1_try + ann_c2_try) / 3.0 + + mon_c1_try = curr1._convert(monthly_c1, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else monthly_tl + mon_c2_try = curr2._convert(monthly_c2, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else monthly_tl + monthly_avg = (monthly_tl + mon_c1_try + mon_c2_try) / 3.0 + + mode = vehicle.cost_display_mode or 'average' + c1_name = curr1.name if curr1 else 'USD' + c2_name = curr2.name if curr2 else 'EUR' + + if mode == 'try': + vehicle.cost_per_km_avg_display = cpk_tl + vehicle.annual_cost_avg_display = annual_tl + vehicle.monthly_cost_avg_display = monthly_tl + vehicle.active_display_currency_id = try_curr + elif mode == 'curr1': + vehicle.cost_per_km_avg_display = cpk_c1 + vehicle.annual_cost_avg_display = annual_c1 + vehicle.monthly_cost_avg_display = monthly_c1 + vehicle.active_display_currency_id = curr1 + elif mode == 'curr2': + vehicle.cost_per_km_avg_display = cpk_c2 + vehicle.annual_cost_avg_display = annual_c2 + vehicle.monthly_cost_avg_display = monthly_c2 + vehicle.active_display_currency_id = curr2 + else: # 'average' + vehicle.cost_per_km_avg_display = cpk_avg + vehicle.annual_cost_avg_display = annual_avg + vehicle.monthly_cost_avg_display = monthly_avg + vehicle.active_display_currency_id = try_curr + + # Alanlara atama yap (HTML yerine) + vehicle.cost_per_km_try = cpk_tl + vehicle.annual_cost_try = annual_tl + vehicle.monthly_cost_try = monthly_tl + + vehicle.cost_per_km_c1 = cpk_c1 + vehicle.annual_cost_c1 = annual_c1 + vehicle.monthly_cost_c1 = monthly_c1 + + vehicle.cost_per_km_c2 = cpk_c2 + vehicle.annual_cost_c2 = annual_c2 + vehicle.monthly_cost_c2 = monthly_c2 + + vehicle.cost_per_km_avg = cpk_avg + vehicle.annual_cost_avg = annual_avg + vehicle.monthly_cost_avg = monthly_avg + + @api.depends('depreciation_cost_try', 'depreciation_cost_usd', 'depreciation_cost_eur') + def _compute_depreciation_avg(self): + usd = self.env.ref('base.USD', raise_if_not_found=False) + eur = self.env.ref('base.EUR', raise_if_not_found=False) + try_curr = self.env.ref('base.TRY', raise_if_not_found=False) or self.env.company.currency_id + + for vehicle in self: + val_try = vehicle.depreciation_cost_try or 0.0 + + val_usd_try = 0.0 + if vehicle.depreciation_cost_usd and usd: + val_usd_try = usd._convert( + vehicle.depreciation_cost_usd, + try_curr, + vehicle.company_id or self.env.company, + fields.Date.today() + ) + + val_eur_try = 0.0 + if vehicle.depreciation_cost_eur and eur: + val_eur_try = eur._convert( + vehicle.depreciation_cost_eur, + try_curr, + vehicle.company_id or self.env.company, + fields.Date.today() + ) + + vehicle.depreciation_cost_avg = (val_try + val_usd_try + val_eur_try) / 3.0 + + @api.model_create_multi + def create(self, vals_list): + vehicles = super(FleetVehicle, self).create(vals_list) + for vehicle in vehicles: + # Araç ilk oluşturulduğunda otonom ilk bakımı (küçük bakım) planla + interval = 10000 if vehicle.fuel_type == 'diesel' else 15000 + self.env['mymach.fleet.periodic.maintenance'].create({ + 'vehicle_id': vehicle.id, + 'maintenance_type': 'small', + 'last_odometer': 0.0, + 'target_odometer': interval, + 'target_date': fields.Date.today() + timedelta(days=365) + }) + return vehicles + + @api.depends('purchase_value', 'currency_id', 'index_currency_id') + def _compute_indexed_purchase_value(self): + """ + Alım bedelini, güncel Merkez Bankası kurları (Odoo'nun döviz motoru) üzerinden + seçilen endeks dövize (örn: USD/EUR) çevirir (Madde 8 & 9). + """ + for vehicle in self: + if vehicle.purchase_value and vehicle.currency_id and vehicle.index_currency_id: + vehicle.indexed_purchase_value = vehicle.currency_id._convert( + vehicle.purchase_value, + vehicle.index_currency_id, + vehicle.company_id or self.env.company, + fields.Date.today() + ) + else: + vehicle.indexed_purchase_value = 0.0 + + def _compute_moving_average(self): + """ + Öğrenen / Hareketli Ortalama (Moving Average) + Araç için girilen bakım/onarım faturaları (maintenance_cost) toplandıkça otonom güncellenir. + """ + for vehicle in self: + costs = self.env['mymach.fleet.maintenance.cost'].search([('vehicle_id', '=', vehicle.id)]) + total = sum(costs.mapped('amount')) if costs else 0.0 + vehicle.moving_average_maintenance_cost = total / len(costs) if costs else 0.0 + + # Finansal Zeka: Bakım maliyeti toplamı, aracın güncel (endeksli) alım bedelinin %15'ini aştı mı? + if vehicle.indexed_purchase_value > 0 and total > 0: + ratio = total / vehicle.indexed_purchase_value + vehicle.is_maintenance_critical = True if ratio >= 0.15 else False + else: + vehicle.is_maintenance_critical = False + + def _search_is_maintenance_critical(self, operator, value): + if operator not in ('=', '!='): + raise ValueError("Desteklenmeyen arama operatörü!") + + critical_vehicles = [] + vehicles = self.search([]) + for v in vehicles: + costs = self.env['mymach.fleet.maintenance.cost'].search([('vehicle_id', '=', v.id)]) + total = sum(costs.mapped('amount')) if costs else 0.0 + if v.indexed_purchase_value > 0 and total > 0: + ratio = total / v.indexed_purchase_value + is_critical = ratio >= 0.15 + else: + is_critical = False + + # Değeri karşılaştır (value True veya False olabilir) + match = is_critical if value else not is_critical + if (operator == '=' and match) or (operator == '!=' and not match): + critical_vehicles.append(v.id) + + return [('id', 'in', critical_vehicles)] + + + + + +class FleetVehicleLogServices(models.Model): + """ + Odoo Standart fleet.vehicle.log.services Modeli Uzantısı + """ + _inherit = 'fleet.vehicle.log.services' + + # Alt Görev 2.3: Hibrit Yakıt Girişi ve Veri Modelleme + fuel_entry_method = fields.Selection([ + ('manual', 'Manuel Giriş'), + ('mymach_ocr', 'MyMach Akıllı Fiş İşleme Motoru'), + ('hr_expense', 'Odoo Masraf Modülü') + ], string="Yakıt Giriş Yöntemi", default='manual', required=True, + help="Eğer harici modüller (OCR veya hr_expense) kurulu değilse 'manual' mod varsayılan olarak kullanılır.") + diff --git a/addons/mymach_fleet_intelligence/models/home.py b/addons/mymach_fleet_intelligence/models/home.py new file mode 100644 index 0000000..e7c0a1a --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/home.py @@ -0,0 +1,735 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api + +class MymachFleetHome(models.Model): + """ + Faz 6: Estetik Ana Sayfa (Dashboard) + Bu tablo veritabanında kalıcı olarak 1 kayıt oluşturur + ve kullanıcıya butonlardan oluşan harika bir HTML form ekranı sunar. + """ + _name = 'mymach.fleet.home' + _description = 'MyMach Filo Zekası Ana Pano' + + name = fields.Char(default="Ana Sayfa", string="Başlık") + display_title = fields.Char(compute='_compute_display_title') + upcoming_maintenance_html = fields.Html(compute='_compute_upcoming_maintenance_html') + + # Grafik Filtreleri ve HTML Tuvali + selected_vehicle_id = fields.Many2one('fleet.vehicle', string="Seçilen Araç") + time_range = fields.Selection([ + ('week', 'Son 7 Gün (Haftalık)'), + ('month', 'Son 30 Gün (Aylık)'), + ('year', 'Son 12 Ay (Yıllık)') + ], string="Zaman Aralığı", default='month', required=True) + chart_html = fields.Html(compute='_compute_chart_html', string="Yakıt & KM Grafiği", sanitize=False) + chart_metric = fields.Selection([ + ('combined', 'Birleşik Analiz (KM & Yakıt Hacmi)'), + ('km', 'Kilometre Analizi (KM)'), + ('fuel_liters', 'Yakıt Tüketimi (Litre)'), + ('fuel_cost', 'Yakıt Maliyeti (TL / Gider)') + ], string="Grafik Modu", default='combined', required=True) + + # Rota Planlama ve Sapma Kontrolü Alanları + route_destination = fields.Char(string="Hedef Konum", default="İstanbul Havalimanı") + route_selected = fields.Selection([ + ('route_a', 'Rota A (En Kısa - 15.2 KM)'), + ('route_b', 'Rota B (Ekonomik - 16.5 KM)'), + ('route_c', 'Rota C (Alternatif - 18.0 KM)') + ], string="Seçilen Rota", default='route_a') + route_simulated_distance = fields.Float(string="Simüle Edilen Yolculuk Mesafesi (KM)", default=15.2) + route_results_html = fields.Html(string="Alternatif Rotalar Sonucu", sanitize=False) + + # Finans & Gider Matrisi Özel Alanları + cost_matrix_vehicle_id = fields.Many2one('fleet.vehicle', string="Gider Analizi İçin Araç Seçimi") + cost_per_km_matrix = fields.Float(string="KM BAŞINA MALİYET", compute="_compute_cost_matrix_summary") + annual_total_cost_matrix = fields.Float(string="YILLIK TOPLAM MALİYET", compute="_compute_cost_matrix_summary") + monthly_avg_cost_matrix = fields.Float(string="AYLIK ORTALAMA MALİYET", compute="_compute_cost_matrix_summary") + cost_matrix_cards_html = fields.Html(string="Gider Matrisi Başlık Kartları", compute="_compute_cost_matrix_summary", sanitize=False) + + @api.depends('cost_matrix_vehicle_id', 'selected_vehicle_id') + def _compute_cost_matrix_summary(self): + current_year = fields.Date.today().year + try_curr = self.env.ref('base.TRY', raise_if_not_found=False) or self.env.company.currency_id + + for record in self: + vehicle = record.cost_matrix_vehicle_id or record.selected_vehicle_id or self.env['fleet.vehicle'].search([], limit=1) + if not vehicle: + record.cost_per_km_matrix = 0.0 + record.annual_total_cost_matrix = 0.0 + record.monthly_avg_cost_matrix = 0.0 + record.cost_matrix_cards_html = "
Araç seçilmedi.
" + continue + + costs = self.env['mymach.fleet.maintenance.cost'].search([('vehicle_id', '=', vehicle.id)]) + total_amount_try = sum(costs.mapped('amount')) if costs else 0.0 + + odo = vehicle.odometer or vehicle.total_driven_odometer or 1.0 + if odo <= 0: + odo = 1.0 + + cpk_tl = total_amount_try / odo if odo > 0 else 0.0 + this_year_costs_tl = sum(c.amount for c in costs if c.date and c.date.year == current_year) + annual_tl = this_year_costs_tl + (vehicle.annual_fixed_cost or 0.0) + if annual_tl == 0.0 and total_amount_try > 0: + annual_tl = total_amount_try + monthly_tl = annual_tl / 12.0 + + # Döviz Conversions & Average + curr1 = vehicle.cost_curr1_id or self.env.ref('base.USD', raise_if_not_found=False) + curr2 = vehicle.cost_curr2_id or self.env.ref('base.EUR', raise_if_not_found=False) + + cpk_c1 = try_curr._convert(cpk_tl, curr1, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else 0.0 + cpk_c2 = try_curr._convert(cpk_tl, curr2, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else 0.0 + + annual_c1 = try_curr._convert(annual_tl, curr1, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else 0.0 + annual_c2 = try_curr._convert(annual_tl, curr2, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else 0.0 + + monthly_c1 = try_curr._convert(monthly_tl, curr1, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else 0.0 + monthly_c2 = try_curr._convert(monthly_tl, curr2, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else 0.0 + + c1_back_try = curr1._convert(cpk_c1, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else cpk_tl + c2_back_try = curr2._convert(cpk_c2, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else cpk_tl + cpk_avg = (cpk_tl + c1_back_try + c2_back_try) / 3.0 + + ann_c1_try = curr1._convert(annual_c1, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else annual_tl + ann_c2_try = curr2._convert(annual_c2, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else annual_tl + annual_avg = (annual_tl + ann_c1_try + ann_c2_try) / 3.0 + + mon_c1_try = curr1._convert(monthly_c1, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr1 else monthly_tl + mon_c2_try = curr2._convert(monthly_c2, try_curr, vehicle.company_id or self.env.company, fields.Date.today()) if curr2 else monthly_tl + monthly_avg = (monthly_tl + mon_c1_try + mon_c2_try) / 3.0 + + record.cost_per_km_matrix = cpk_tl + record.annual_total_cost_matrix = annual_tl + record.monthly_avg_cost_matrix = monthly_tl + + c1_name = curr1.name if curr1 else 'USD' + c2_name = curr2.name if curr2 else 'EUR' + + # High Impact Dashboard HTML Cards with Currency Selection Matrix + html = f""" +
+

+ 🚘 {vehicle.license_plate} ({vehicle.name or ""}) - FİNANSAL GİDER MATRİSİ ANALİZİ +

+
+
+
+
BİR KM BAŞINA MALİYET
+
{cpk_tl:,.2f} ₺ / KM
+
Tahminî Ortalama: {cpk_avg:,.2f} ₺
+
+
+
+
+
YILLIK TOPLAM MALİYET
+
{annual_tl:,.2f} ₺ / YIL
+
Tahminî Ortalama: {annual_avg:,.2f} ₺
+
+
+
+
+
AYLIK ORTALAMA MALİYET
+
{monthly_tl:,.2f} ₺ / AY
+
Tahminî Ortalama: {monthly_avg:,.2f} ₺
+
+
+
+
+
+
+ 💱 3 Para Birimli Karşılaştırmalı Gider Listbox Tablosu +
+ Canlı Kur Dönüşümü +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Metrik Başlığı🇹🇷 TL (Ana Para Birimi)💵 {c1_name} (Döviz 1)💶 {c2_name} (Döviz 2)📊 3 Dövizli Ortalama Tahminî Değer (TL)
BİR KM BAŞINA MALİYET{cpk_tl:,.2f} ₺{cpk_c1:,.2f} {c1_name}{cpk_c2:,.2f} {c2_name}{cpk_avg:,.2f} ₺
YILLIK TOPLAM MALİYET{annual_tl:,.2f} ₺{annual_c1:,.2f} {c1_name}{annual_c2:,.2f} {c2_name}{annual_avg:,.2f} ₺
AYLIK ORTALAMA MALİYET{monthly_tl:,.2f} ₺{monthly_c1:,.2f} {c1_name}{monthly_c2:,.2f} {c2_name}{monthly_avg:,.2f} ₺
+
+
+
+ """ + record.cost_matrix_cards_html = html + + def _compute_display_title(self): + for record in self: + if self.env.user.has_group('mymach_fleet_intelligence.group_mymach_fleet_manager'): + record.display_title = 'YÖNETİCİ PORTALI / MANAGEMENT PANEL' + else: + record.display_title = 'PERSONEL PORTALI / DRIVER DASHBOARD' + + def _compute_upcoming_maintenance_html(self): + # Yaklaşan veya Süresi/KM'si geçmiş tüm bakımları tarihe ve KM hedefine göre sırala + maintenances = self.env['mymach.fleet.periodic.maintenance'].search([ + ('state', 'in', ['pending', 'overdue']) + ], order='target_date asc, target_odometer asc') + + if not maintenances: + html = """ +
+ + Yaklaşan veya süresi geçmiş periyodik bakım hatırlatıcısı bulunmamaktadır. +
+ """ + for record in self: + record.upcoming_maintenance_html = html + return + + html_lines = [] + html_lines.append('
') + html_lines.append('

⏳ Yaklaşan ve Geciken Periyodik Bakım Listesi

') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + html_lines.append('') + + for m in maintenances: + date_str = m.target_date.strftime('%d.%m.%Y') if m.target_date else '' + + if m.state == 'overdue': + badge_class = 'mymach_badge mymach_badge_danger' + status_text = '⚠️ Gecikmiş / Kritik' + row_style = 'border-left: 4px solid #ef4444; background: rgba(239, 68, 68, 0.02);' + else: + badge_class = 'mymach_badge mymach_badge_warning' + status_text = '⏳ Zamanı Geliyor' + row_style = 'border-left: 4px solid #f59e0b; background: rgba(245, 158, 11, 0.02);' + + m_label = dict(m._fields['maintenance_type'].selection).get(m.maintenance_type, 'Bakım') + warning_msg = f"Bu aracın bu bakıma {date_str} tarihinde ihtiyacı var." + + html_lines.append(f'') + html_lines.append(f'') + html_lines.append(f'') + html_lines.append(f'') + html_lines.append(f'') + html_lines.append(f'') + html_lines.append('') + + html_lines.append('') + html_lines.append('
Araç (Plaka)Bakım TürüHedef KilometreHedef TarihÖncelik & Bildirim Durumu
{m.vehicle_id.license_plate or ""}
{m.vehicle_id.name or ""}
{m_label}{m.target_odometer:.0f} KM
Mevcut: {m.odometer:.0f} KM
{date_str}{status_text}
{warning_msg}
') + html_lines.append('
') + + html_content = "".join(html_lines) + for record in self: + record.upcoming_maintenance_html = html_content + + @api.depends('selected_vehicle_id', 'time_range', 'chart_metric') + def _compute_chart_html(self): + import datetime + from datetime import timedelta + import json + import re + + for record in self: + vehicle = record.selected_vehicle_id or self.env['fleet.vehicle'].search([], limit=1) + if not vehicle: + record.chart_html = """ +
+ + Grafik gösterimi için sistemde kayıtlı aktif bir araç bulunamadı. +
+ """ + continue + + today = datetime.date.today() + labels = [] + date_list = [] + months_list = [] + + # 1. Zaman Aralığına Göre Tarih Listesi Hazırla + if record.time_range == 'week': + for i in range(6, -1, -1): + d = today - timedelta(days=i) + date_list.append(d) + labels.append(d.strftime('%d.%m')) + elif record.time_range == 'month': + for i in range(29, -1, -1): + d = today - timedelta(days=i) + date_list.append(d) + labels.append(d.strftime('%d.%m')) + elif record.time_range == 'year': + for i in range(11, -1, -1): + m = (today.month - i - 1) % 12 + 1 + y = today.year + (today.month - i - 1) // 12 + months_list.append((y, m)) + labels.append(f"{m:02d}.{y}") + + # 2. Olayları Tarihe Göre Topla (Bakım, Lastik Değişimi, Onarımlar vb.) + events_by_date = {} + + # Periyodik Bakım Kayıtları + maintenances = self.env['mymach.fleet.periodic.maintenance'].search([ + ('vehicle_id', '=', vehicle.id), + ('date_completed', '!=', False) + ]) + for m in maintenances: + d = m.date_completed + events_by_date.setdefault(d, []).append(f"🔧 {m.name} Tamamlandı ({m.odometer_completed:.0f} KM)") + + # Gider/Masraf Kayıtları (Yakıt alımları hariç tutulacak, onlar çizgi grafiğe gider) + costs = self.env['mymach.fleet.maintenance.cost'].search([ + ('vehicle_id', '=', vehicle.id), + ('date', '!=', False) + ]) + for c in costs: + if 'Yakıt' not in c.name and 'L' not in c.name: + d = c.date + events_by_date.setdefault(d, []).append(f"💰 {c.name} ({c.amount:.0f} {c.currency_id.name})") + + # Odometer/KM Değerlerini Getiren Yardımcı Fonksiyon (Forward Fill) + def get_odometer_for_date(target_d): + entry = self.env['fleet.vehicle.odometer'].search([ + ('vehicle_id', '=', vehicle.id), + ('date', '<=', target_d) + ], order='date desc', limit=1) + return entry.value if entry else 0.0 + + # Yakıt Litre Değerini Getiren Yardımcı Fonksiyon + def get_fuel_for_date(target_d): + day_costs = self.env['mymach.fleet.maintenance.cost'].search([ + ('vehicle_id', '=', vehicle.id), + ('date', '=', target_d) + ]) + total_liters = 0.0 + for dc in day_costs: + if 'Yakıt' in dc.name or 'L' in dc.name: + try: + match = re.search(r'\(([\d\.]+)\s*L\)', dc.name) + if match: + total_liters += float(match.group(1)) + except Exception: + pass + return total_liters + + # Yakıt Giderini (TL) Getiren Yardımcı Fonksiyon + def get_fuel_cost_for_date(target_d): + day_costs = self.env['mymach.fleet.maintenance.cost'].search([ + ('vehicle_id', '=', vehicle.id), + ('date', '=', target_d) + ]) + total_cost = 0.0 + for dc in day_costs: + if 'Yakıt' in dc.name or 'L' in dc.name: + total_cost += dc.amount + return total_cost + + # 3. Grafik Çizgileri İçin KM, Yakıt ve Olay Listelerini Oluştur + km_data = [] + fuel_data = [] + fuel_cost_data = [] + event_labels = {} + + if record.time_range == 'year': + for idx, (y, m) in enumerate(months_list): + import calendar + last_day = calendar.monthrange(y, m)[1] + end_date = datetime.date(y, m, last_day) + km_data.append(get_odometer_for_date(end_date)) + + # O aya ait yakıt toplamını ve olayları biriktir + month_fuel = 0.0 + month_fuel_cost = 0.0 + month_events = [] + + start_d = datetime.date(y, m, 1) + end_d = datetime.date(y, m, last_day) + month_costs = self.env['mymach.fleet.maintenance.cost'].search([ + ('vehicle_id', '=', vehicle.id), + ('date', '>=', start_d), + ('date', '<=', end_d) + ]) + for c in month_costs: + if 'Yakıt' in c.name or 'L' in c.name: + month_fuel_cost += c.amount + try: + match = re.search(r'\(([\d\.]+)\s*L\)', c.name) + if match: + month_fuel += float(match.group(1)) + except Exception: + pass + + for edate, evs in events_by_date.items(): + if edate.year == y and edate.month == m: + month_events.extend(evs) + + fuel_data.append(month_fuel) + fuel_cost_data.append(month_fuel_cost) + if month_events: + event_labels[idx] = month_events + else: + for idx, d in enumerate(date_list): + km_data.append(get_odometer_for_date(d)) + fuel_data.append(get_fuel_for_date(d)) + fuel_cost_data.append(get_fuel_cost_for_date(d)) + day_events = events_by_date.get(d, []) + if day_events: + event_labels[idx] = day_events + + if max(km_data) == 0.0 and vehicle.odometer > 0: + km_data[-1] = vehicle.odometer + + # Dinamik Olarak Seçilen Metriğe Göre Veri Kümelerini (Datasets) Oluştur + raw_datasets = [] + metric = record.chart_metric + + # KM Serisi + if metric in ('combined', 'km'): + raw_datasets.append({ + 'label': 'Kat Edilen Kilometre (KM)', + 'data': km_data, + 'borderColor': '#38bdf8', + 'backgroundColor': 'rgba(56, 189, 248, 0.04)', + 'borderWidth': 2.5, + 'tension': 0.3, + 'fill': True, + 'yAxisID': 'yKM' if metric == 'combined' else 'yMain' + }) + + # Yakıt Hacmi Serisi + if metric in ('combined', 'fuel_liters'): + raw_datasets.append({ + 'label': 'Harcanan Yakıt (Litre)', + 'data': fuel_data, + 'borderColor': '#fb923c', + 'backgroundColor': 'rgba(251, 146, 60, 0.04)', + 'borderWidth': 2.5, + 'tension': 0.3, + 'fill': True, + 'yAxisID': 'yFuel' if metric == 'combined' else 'yMain' + }) + + # Yakıt Gideri Serisi + if metric in ('combined', 'fuel_cost'): + raw_datasets.append({ + 'label': 'Yakıt Gideri (TL)', + 'data': fuel_cost_data, + 'borderColor': '#10b981', + 'backgroundColor': 'rgba(16, 185, 129, 0.04)', + 'borderWidth': 2.5, + 'tension': 0.3, + 'fill': True, + 'yAxisID': 'yCost' if metric == 'combined' else 'yMain' + }) + + # 4. Premium HTML ve JS Şablonu Oluştur (Iframe srcdoc yapısında) + inner_html = f""" + + + + + + +
+

📈 {vehicle.license_plate or ""} Telemetri Analizi & Finansal Gider Analitiği

+
+ +
+
+ + + +""" + + # Escape double quotes for srcdoc attribute safety + escaped_html = inner_html.replace('"', '"') + record.chart_html = f'' + + def action_save_settings(self): + """ + Sihirbaz veya panodaki seçimleri veri tabanına kalıcı olarak kaydeder ve + kullanıcıya yeşil bir başarı bildirim penceresi döndürür. + """ + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': 'Sistem Başarıyla Güncellendi', + 'message': 'Yaptığınız tüm değişiklikler ve seçimler veri tabanına kalıcı olarak kaydedilmiştir.', + 'sticky': False, + 'type': 'success', + 'next': {'type': 'ir.actions.client', 'tag': 'soft_reload'} + } + } + + def action_calculate_routes(self): + for record in self: + dest = record.route_destination or "İstanbul Havalimanı" + record.route_results_html = f""" +
+

🗺️ {dest} Konumu İçin Alternatif 3 Rota Belirlendi

+
+
+
+ ROTA A (En Kısa) +

15.2 KM

+

Tahmini Yakıt: 1.1 L (Otoyol)

+
+
+
+
+ ROTA B (Ekonomik) +

16.5 KM

+

Tahmini Yakıt: 0.9 L (Şehir İçi)

+
+
+
+
+ ROTA C (Alternatif) +

18.0 KM

+

Tahmini Yakıt: 1.3 L (Akıcı)

+
+
+
+
+ """ + return True + + def action_simulate_route_drive(self): + self.ensure_one() + vehicle = self.selected_vehicle_id or self.env['fleet.vehicle'].search([], limit=1) + if not vehicle: + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': 'Hata', + 'message': 'Simülasyon için geçerli bir araç seçilmelidir.', + 'type': 'danger', + } + } + + # Seçilen rotaya göre hedef mesafeyi belirle + route_dist = 15.2 + if self.route_selected == 'route_b': + route_dist = 16.5 + elif self.route_selected == 'route_c': + route_dist = 18.0 + + sim_dist = self.route_simulated_distance + deviation = sim_dist - route_dist + + # Eğer sapma 1.0 KM'den fazlaysa + if deviation > 1.0: + driver = vehicle.driver_id + if not driver: + has_free_use = False + else: + contract = self.env['mymach.fleet.contract'].search([ + ('driver_id', '=', driver.id), + ('state', '=', 'open') + ], limit=1) + if contract and contract.personal_use_policy in ('allowed', 'unlimited', 'rental'): + has_free_use = True + else: + has_free_use = False + + if not has_free_use: + # Güvenlik Logu (İhlal) kaydet + self.env['mymach.fleet.security.log'].create({ + 'vehicle_id': vehicle.id, + 'status': 'exception', + 'name': f"ROTA SAPMA İHLALİ: Sürücü ({driver.name if driver else 'Belirsiz'}), {self.route_destination} konumuna gitmek için seçilen rotadan {deviation:.1f} KM sapmıştır (Tolerans: 1.0 KM).", + 'is_resolved': False + }) + # Araç chatter'ına uyarısı postala + vehicle.message_post(body=f"🚨 ROTA SAPMA ALARMI (YÖNETİCİ UYARISI): Sürücü ({driver.name if driver else 'Belirsiz'}), {self.route_destination} rotasından {deviation:.1f} KM sapmıştır. Sözleşmesinde serbest kullanım hakkı bulunmadığı için yöneticiye ihlal uyarısı iletilmiştir.") + + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': '🚨 ROTA SAPMA UYARISI!', + 'message': f"Sürücü rotasından {deviation:.1f} KM sapmıştır! Yöneticiye uyarı iletildi ve ihlal logu kaydedildi.", + 'type': 'danger', + 'sticky': True, + } + } + + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': 'Sürüş Tamamlandı', + 'message': 'Yolculuk başarıyla tamamlandı. Herhangi bir sapma uyarısı tetiklenmedi.', + 'type': 'success', + 'sticky': False, + } + } diff --git a/addons/mymach_fleet_intelligence/models/maintenance_cost.py b/addons/mymach_fleet_intelligence/models/maintenance_cost.py new file mode 100644 index 0000000..b85b37d --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/maintenance_cost.py @@ -0,0 +1,101 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api + +class MymachFleetMaintenanceCost(models.Model): + """ + Periyodik Giderler Matrisi (mymach.fleet.maintenance.cost) + Araç bakım ve masraf kalemlerinin ürün (product.template) nesnesi ile doğrudan bağlandığı tablo. + """ + _name = 'mymach.fleet.maintenance.cost' + _description = 'Filo Periyodik Gider Matrisi' + + name = fields.Char(string="Description", required=True) + product_id = fields.Many2one('product.template', string="Expense Item (Product)", required=True) + vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", required=True) + amount = fields.Monetary(string="Amount", currency_field='currency_id', required=True) + currency_id = fields.Many2one('res.currency', string="Currency", default=lambda self: self.env.ref('base.TRY', raise_if_not_found=False) or self.env.company.currency_id) + date = fields.Date(string="Date", default=fields.Date.context_today) + + @api.model_create_multi + def create(self, vals_list): + """ + Alt Görev 2.1: Python Kancası (Hook) + Tablodan veya dışarıdan yeni bir ürün (gider) kaydedildiğinde (veya seçildiğinde), + ilgili ürünün Odoo sisteminde otomatik olarak can_be_expensed=True ve purchase_ok=True olmasını sağlar. + """ + records = super(MymachFleetMaintenanceCost, self).create(vals_list) + for record in records: + if record.product_id: + # Odoo standartlarında satın alınabilir işaretle + update_vals = {'purchase_ok': True} + # Masraf modülü yüklüyse (Soft dependency), masraf bayrağını da işaretle + if 'can_be_expensed' in self.env['product.template']._fields: + update_vals['can_be_expensed'] = True + + record.product_id.sudo().write(update_vals) + return records + + def _check_expense_threshold(self, vehicle, total_cost): + if vehicle.purchase_value > 0: + ratio = total_cost / vehicle.purchase_value + if ratio > 0.15: + # Odoo'nun uyarı sistemini tetikleyebiliriz veya mesaj atabiliriz. + vehicle.message_post(body=f"UYARI: Bu aracın bakım maliyeti alım değerinin %15'ini aştı! ({ratio*100:.2f}%). Satmak daha karlı olabilir.") + + @api.model + def action_sync_fuel_data_cron(self): + """ + Faz 8: Her gece çalışan Cron Görevi. Tüm araçlar için sahte API'den yakıt çeker. + """ + vehicles = self.env['fleet.vehicle'].search([]) + for vehicle in vehicles: + self.sync_fuel_from_api(vehicle) + self._run_predictive_maintenance_ai(vehicle) + + def sync_fuel_from_api(self, vehicle): + """ + Dış Servis (Shell/Opet) Simülasyonu: Araca rastgele veya mantıklı yakıt ekler. + Ayrıca anlık depo seviyesini günceller. + """ + # API'den geldiği varsayılan litre (Örn: 20 ile 40 litre arası) + import random + added_liters = random.uniform(10.0, 40.0) + price_per_liter = 45.50 + + product = self.env['product.product'].search([], limit=1) + + self.create({ + 'vehicle_id': vehicle.id, + 'product_id': product.id, + 'amount': added_liters * price_per_liter, + 'name': f'Otonom API Yakıt Alımı ({added_liters:.1f} L)' + }) + + # Depo seviyesini güncelle (Kapasiteyi aşmasın) + new_level = vehicle.current_fuel_level + added_liters + vehicle.current_fuel_level = min(new_level, vehicle.tank_capacity) + + vehicle.message_post(body=f"🔋 Shell/Opet API: Araca {added_liters:.1f} Litre yakıt dolumu tespit edildi. Güncel Tahmini Depo: {vehicle.current_fuel_level:.1f} L") + + def _run_predictive_maintenance_ai(self, vehicle): + """ + Faz 8: Kestirimci Bakım Yapay Zekası + Son yakıt alımlarını ve KM'yi kıyaslayarak tüketim artışını bulur. + """ + # Basit AI Algoritması: Eğer çok yakıt masrafı varsa (Tüketim Fabrika verisinden %40 fazlaysa) + if vehicle.factory_avg_consumption > 0: + # Simülasyon: Rastgele bir motor yorulma ihtimali + import random + if random.random() > 0.8: # %20 ihtimalle AI arıza sezer + vehicle.needs_predictive_maintenance = True + vehicle.message_post(body="🚨 YZ UYARISI: Aracın son yakıt tüketim trendi fabrika verisinden (%40) daha fazla sapma gösterdi! Motor/Lastik basınç arızası olabilir. Acil Servis önerilir.") + + # Sürücü skorunu kötü kullanım nedeniyle düşür + if vehicle.driver_id: + contract = self.env['mymach.fleet.contract'].search([ + ('driver_id', '=', vehicle.driver_id.id), + ], limit=1) + if contract: + contract.write({'driver_score': contract.driver_score - 5}) + else: + vehicle.needs_predictive_maintenance = False diff --git a/addons/mymach_fleet_intelligence/models/periodic_maintenance.py b/addons/mymach_fleet_intelligence/models/periodic_maintenance.py new file mode 100644 index 0000000..6cf33cc --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/periodic_maintenance.py @@ -0,0 +1,137 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api +from datetime import timedelta + +class MymachFleetPeriodicMaintenance(models.Model): + """ + Otonom KM ve Yıllık Bakım Hatırlatma Motoru (mymach.fleet.periodic.maintenance) + Araçların yakıt türü ve katettikleri kilometreye göre küçük/orta/ağır bakımları planlar. + """ + _name = 'mymach.fleet.periodic.maintenance' + _description = 'Araç Periyodik Bakım Hatırlatıcı' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _order = 'target_odometer asc, target_date asc' + + name = fields.Char(string="Bakım Referansı", compute="_compute_name", store=True, tracking=True) + vehicle_id = fields.Many2one('fleet.vehicle', string="Araç", required=True, ondelete='cascade', tracking=True) + fuel_type = fields.Selection(related='vehicle_id.fuel_type', string="Yakıt Türü", readonly=True) + odometer = fields.Float(related='vehicle_id.odometer', string="Mevcut Kilometre (KM)", readonly=True) + + maintenance_type = fields.Selection([ + ('small', 'Küçük Bakım (10k-15k KM)'), + ('medium', 'Orta Bakım (30k-45k KM)'), + ('heavy', 'Ağır Bakım (60k-90k KM)'), + ('annual', 'Yıllık Periyodik Bakım') + ], string="Bakım Türü", required=True, default='small', tracking=True) + + last_odometer = fields.Float(string="Son Bakım Kilometresi (KM)", default=0.0) + target_odometer = fields.Float(string="Hedef Kilometre (KM)", required=True, tracking=True) + target_date = fields.Date(string="Hedef Tarih (Yıllık)", required=True, tracking=True) + + state = fields.Selection([ + ('pending', 'Bekliyor'), + ('overdue', 'Süresi/KM Geçti'), + ('done', 'Tamamlandı') + ], string="Durum", default='pending', tracking=True, compute='_compute_state', store=True) + + description = fields.Text(string="Yapılacak Standart İşlemler", compute='_compute_description', store=True) + date_completed = fields.Date(string="Tamamlanma Tarihi", tracking=True) + odometer_completed = fields.Float(string="Tamamlanma Kilometresi", tracking=True) + + @api.depends('maintenance_type', 'vehicle_id.license_plate') + def _compute_name(self): + for record in self: + m_label = dict(self._fields['maintenance_type'].selection).get(record.maintenance_type, 'Bakım') + plate = record.vehicle_id.license_plate or 'Yeni Araç' + record.name = f"{plate} - {m_label}" + + @api.depends('odometer', 'target_odometer', 'target_date', 'date_completed') + def _compute_state(self): + today = fields.Date.today() + for record in self: + if record.date_completed: + record.state = 'done' + elif (record.target_odometer and record.odometer >= record.target_odometer) or (record.target_date and today >= record.target_date): + record.state = 'overdue' + else: + record.state = 'pending' + + @api.depends('maintenance_type', 'fuel_type') + def _compute_description(self): + for record in self: + fuel = record.fuel_type or 'gasoline' + m_type = record.maintenance_type + + desc = [] + if m_type == 'small': + desc.append("🔧 KÜÇÜK PERİYODİK BAKIM İŞLEMLERİ:") + desc.append("1. Motor yağının ve yağ filtresinin değiştirilmesi") + desc.append("2. Hava ve polen filtrelerinin değiştirilmesi") + desc.append("3. Yakıt filtresinin kontrolü ve gerekiyorsa değişimi") + desc.append("4. Fren balataları, süspansiyon ve sıvı seviyelerinin (hidrolik, antifriz) kontrolü") + elif m_type == 'medium': + desc.append("🔧 ORTA PERİYODİK BAKIM İŞLEMLERİ:") + desc.append("1. Küçük bakımdaki tüm işlemlerin uygulanması") + if fuel == 'gasoline': + desc.append("2. Buji değişimi (Benzinli motor)") + else: + desc.append("2. Enjektör temizliği ve yakıt hattı sızdırmazlık testi (Dizel motor)") + desc.append("3. Fren hidroliği ve şanzıman yağı kontrolleri / tamamlanması") + desc.append("4. Silecek lastikleri ve aydınlatma (far/stop) sistemlerinin kontrolü") + elif m_type == 'heavy': + desc.append("🔥 AĞIR PERİYODİK BAKIM İŞLEMLERİ:") + desc.append("1. Triger kayışı / zincir setinin değişimi") + desc.append("2. Antifriz, şanzıman ve diferansiyel yağlarının tamamen değişimi") + desc.append("3. Akü şarj durumu ve marş sisteminin detaylı testi") + desc.append("4. Direksiyon kutusu ve alt takım rot-balans kontrolleri") + elif m_type == 'annual': + desc.append("📅 YILLIK BAKIM / EMNİYET KONTROLLERİ:") + desc.append("1. Motor yağı ve yağ filtresinin değişimi (KM dolmasa dahi 1 yıl dolduğu için)") + desc.append("2. Antifriz ve cam suyu seviyelerinin kontrolü") + desc.append("3. Fren balatası aşınma durumu kontrolü") + + record.description = "\n".join(desc) + + def action_complete(self): + """ Bakımın yapıldığını kaydeder ve sonraki bakımı otonom takvime ekler """ + self.ensure_one() + completed_date = fields.Date.today() + completed_odo = self.vehicle_id.odometer + + self.write({ + 'state': 'done', + 'date_completed': completed_date, + 'odometer_completed': completed_odo + }) + + # Aracın son bakım verilerini güncelle + self.vehicle_id.write({ + 'last_maintenance_odometer': completed_odo, + 'last_maintenance_date': completed_date + }) + + # Sonraki Bakım Hedefini Hesapla + # Dizel ise 10.000 KM, Benzinli ise 15.000 KM aralıklarla + interval = 10000 if self.fuel_type == 'diesel' else 15000 + next_odo = completed_odo + interval + + # Odometer hedefine göre sonraki bakım türünü seç + if next_odo >= 60000 and next_odo % 60000 == 0: + next_type = 'heavy' + elif next_odo >= 30000 and next_odo % 30000 == 0: + next_type = 'medium' + else: + next_type = 'small' + + self.create({ + 'vehicle_id': self.vehicle_id.id, + 'maintenance_type': next_type, + 'last_odometer': completed_odo, + 'target_odometer': next_odo, + 'target_date': completed_date + timedelta(days=365) # 1 yıl sonra + }) + + self.vehicle_id.message_post( + body=f"✅ Periyodik Bakım Yapıldı: {self.maintenance_type} tipi bakım {completed_odo:.0f} KM seviyesinde tamamlandı. Bir sonraki hedef: {next_odo:.0f} KM veya {completed_date + timedelta(days=365)} tarihidir." + ) + return True diff --git a/addons/mymach_fleet_intelligence/models/route_exception_wizard.py b/addons/mymach_fleet_intelligence/models/route_exception_wizard.py new file mode 100644 index 0000000..4c99f4c --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/route_exception_wizard.py @@ -0,0 +1,146 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api +from odoo.exceptions import UserError + +class MymachFleetRouteExceptionWizard(models.TransientModel): + """ + Alt Görev 3.3: İstisna / Sürpriz Rota Karar Popup (Wizard) Ekranı + CRM, Proje ve Kişisel Kullanım iş kurallarını otonom olarak işletir. + """ + _name = 'mymach.fleet.route.exception.wizard' + _description = 'İstisna Rota Onay Sihirbazı' + + log_id = fields.Many2one('mymach.fleet.security.log', string="Security Log", required=True) + vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", required=True) + + exception_type = fields.Selection([ + ('crm', 'CRM Fırsatı / Müşteri Ziyareti'), + ('project', 'Proje Görevi / Maliyet Yansıtma'), + ('personal', 'Kişisel / Bireysel Kullanım'), + ('other', 'Diğer Gerekçeler') + ], string="Rota Gerekçesi", required=True, default='crm') + + partner_id = fields.Many2one('res.partner', string="Ziyaret Edilen Kontak") + project_id = fields.Many2one('project.project', string="İlişkili Proje") + distance = fields.Float(string="Yolculuk Mesafesi (KM)", default=0.0) + estimated_cost = fields.Float(string="Tahmini Yolculuk Maliyeti (TRY)", default=0.0) + description = fields.Text(string="Açıklama / Görüşme Notları", required=True) + + def action_confirm(self): + self.ensure_one() + + # 1. CRM FIRSAT SENARYOSU + if self.exception_type == 'crm': + self.log_id.write({ + 'is_resolved': True, + 'name': f"CRM GÖRÜŞMESİNE YÖNLENDİRİLDİ: {self.description[:40]}..." + }) + + # CRM Modülüne Yönlendirerek Form Penceresi Döndür + return { + 'name': 'Yeni Fırsat / Görüşme Kaydı', + 'type': 'ir.actions.act_window', + 'res_model': 'crm.lead', + 'view_mode': 'form', + 'target': 'new', + 'context': { + 'default_type': 'opportunity', + 'default_partner_id': self.partner_id.id if self.partner_id else False, + 'default_name': f"Sürpriz Rota Fırsatı: {self.vehicle_id.license_plate}", + 'default_description': f"Sürücü: {self.vehicle_id.driver_id.name or ''}\n" + f"Araç: {self.vehicle_id.name}\n" + f"Sürüş Mesafesi: {self.distance:.1f} KM\n\n" + f"Görüşme / Ziyaret Detayları:\n{self.description or ''}" + } + } + + # 2. PROJE MALİYET SENARYOSU + elif self.exception_type == 'project': + if not self.project_id: + raise UserError("Lütfen yolculuk maliyetinin yansıtılacağı projeyi seçin!") + + analytic_account = self.project_id.account_id + if not analytic_account: + raise UserError(f"Seçilen projenin ({self.project_id.name}) analitik hesabı tanımlanmamış!") + + # Analitik gider kaydı (account.analytic.line) oluştur + self.env['account.analytic.line'].create({ + 'name': f"Rota Dışı Yolculuk Maliyeti: {self.vehicle_id.license_plate} ({self.distance:.1f} KM)", + 'account_id': analytic_account.id, + 'amount': -self.estimated_cost, # Gider kalemi negatif değerde olmalıdır + 'unit_amount': self.distance, + 'date': fields.Date.today() + }) + + self.log_id.write({ + 'is_resolved': True, + 'name': f"PROJE MALİYETİNE YANSITILDI: {self.project_id.name} ({self.estimated_cost:.2f} TRY)" + }) + + # 3. KİŞİSEL / BİREYSEL KULLANIM SENARYOSU + elif self.exception_type == 'personal': + contract = self.env['mymach.fleet.contract'].search([ + ('driver_id', '=', self.vehicle_id.driver_id.id) + ], limit=1) + + if not contract: + raise UserError("Sürücüye ait aktif bir tahsis sözleşmesi bulunamadı! Kişisel kullanım çözümlenemez.") + + distance = self.distance or 0.0 + charge_amount = 0.0 + + # İzinli / Limitsiz / Kiralık Senaryoları + if contract.personal_use_policy in ('allowed', 'unlimited', 'rental'): + contract.write({'personal_km_used': contract.personal_km_used + distance}) + self.log_id.write({ + 'is_resolved': True, + 'name': f"ŞAHSİ KULLANIM (İZİNLİ/LİMİTSİZ/KİRA) - KM düşüldü: {distance:.1f} KM" + }) + + # Limitli Senaryo + elif contract.personal_use_policy == 'limit': + limit = contract.max_km_limit or 0.0 + current_used = contract.personal_km_used or 0.0 + new_used = current_used + distance + + if new_used <= limit: + contract.write({'personal_km_used': new_used}) + self.log_id.write({ + 'is_resolved': True, + 'name': f"ŞAHSİ KULLANIM (LİMİT DAHİLİ) - Kalan Limit: {limit - new_used:.1f} KM" + }) + else: + if current_used >= limit: + excess_dist = distance + else: + excess_dist = new_used - limit + + # Maaştan kesilecek tutarı hesapla + charge_amount = excess_dist * (self.vehicle_id.km_cost or 5.0) + contract.write({'personal_km_used': new_used}) + + self.log_id.write({ + 'is_resolved': True, + 'deduction_amount': charge_amount, + 'name': f"ŞAHSİ LİMİT AŞIMI - Maaştan Kesilecek: {charge_amount:.2f} TRY" + }) + + # Yasaklı Senaryo + else: + charge_amount = distance * (self.vehicle_id.km_cost or 5.0) + contract.write({'personal_km_used': (contract.personal_km_used or 0.0) + distance}) + + self.log_id.write({ + 'is_resolved': True, + 'deduction_amount': charge_amount, + 'name': f"YASAKLI ŞAHSİ KULLANIM - Maaştan Kesilecek: {charge_amount:.2f} TRY" + }) + + # 4. DİĞER GEREKÇELER + else: + self.log_id.write({ + 'is_resolved': True, + 'name': f"İŞ GÖREVİ (DİĞER): {self.description}" + }) + + return {'type': 'ir.actions.act_window_close'} diff --git a/addons/mymach_fleet_intelligence/models/security_log.py b/addons/mymach_fleet_intelligence/models/security_log.py new file mode 100644 index 0000000..371e9b9 --- /dev/null +++ b/addons/mymach_fleet_intelligence/models/security_log.py @@ -0,0 +1,202 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api +import math +import requests + +class MymachFleetSecurityLog(models.Model): + """ + Component 2 & 3: Security & OSRM Routing Engine + Stores telemetry and processes route matches and deviations. + """ + _name = 'mymach.fleet.security.log' + _description = 'Fleet Security and Route Logs' + _order = 'datetime desc' + + name = fields.Char(string="Log Reference", required=True, default="Autonomous System Log") + vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", required=True) + driver_id = fields.Many2one('res.partner', string="Driver", related='vehicle_id.driver_id', store=True) + + datetime = fields.Datetime(string="Datetime", default=fields.Datetime.now) + latitude = fields.Float(string="Latitude", digits=(10, 7)) + longitude = fields.Float(string="Longitude", digits=(10, 7)) + + status = fields.Selection([ + ('in_office_moving', 'WARNING: Employee in Office but Vehicle Moving'), + ('project_match', 'CONFIRMED: Project Route Match'), + ('exception', 'ATTENTION: Surprise Route Exception') + ], string="Security Status", required=True) + + is_resolved = fields.Boolean(string="Is Resolved?", default=False) + deduction_amount = fields.Monetary(string="Payroll Deduction Amount", currency_field='currency_id') + currency_id = fields.Many2one('res.currency', string="Currency", related='vehicle_id.currency_id') + + # Yolculuk mesafesi ve B noktasındaki kontak tespiti + distance = fields.Float(string="Yolculuk Mesafesi (KM)", default=0.0) + partner_id = fields.Many2one('res.partner', string="Ziyaret Edilen Kontak") + + def _calculate_haversine_distance(self, lat1, lon1, lat2, lon2): + """ Calculates straight-line distance in km """ + R = 6371.0 + dlat = math.radians(lat2 - lat1) + dlon = math.radians(lon2 - lon1) + a = math.sin(dlat / 2)**2 + math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) * math.sin(dlon / 2)**2 + c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a)) + return R * c + + def _calculate_osrm_road_distance(self, lat1, lon1, lat2, lon2): + """ Calculates real driving distance using public OSRM API (km) """ + try: + url = f"http://router.project-osrm.org/route/v1/driving/{lon1},{lat1};{lon2},{lat2}?overview=false" + res = requests.get(url, timeout=3) + if res.status_code == 200: + data = res.json() + if data.get('code') == 'Ok' and data.get('routes'): + return data['routes'][0]['distance'] / 1000.0 + except Exception: + pass + return None + + def _find_nearest_partner(self, lat, lon): + """ B noktasının 200m yakınında kayıtlı res.partner arar """ + if not lat or not lon: + return False + max_dist = 0.2 # 200 metre + partners = self.env['res.partner'].search([ + ('partner_latitude', '!=', 0.0), + ('partner_longitude', '!=', 0.0) + ]) + for p in partners: + dist = self._calculate_haversine_distance(lat, lon, p.partner_latitude, p.partner_longitude) + if dist <= max_dist: + return p.id + return False + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + # OSRM Rota Sapma Analizi + vehicle_id = vals.get('vehicle_id') + lat = vals.get('latitude') + lon = vals.get('longitude') + + if vehicle_id and lat and lon: + # 1. Rota/Mesafe Hesaplama (Eğer dışarıdan mesafe verilmemişse) + if not vals.get('distance'): + last_log = self.search([ + ('vehicle_id', '=', vehicle_id) + ], order='datetime desc', limit=1) + + if last_log and last_log.latitude and last_log.longitude: + haversine_dist = self._calculate_haversine_distance( + last_log.latitude, last_log.longitude, lat, lon + ) + osrm_dist = self._calculate_osrm_road_distance( + last_log.latitude, last_log.longitude, lat, lon + ) + + # Eğer karayolu sürüş mesafesi kuş uçuşunun %40'ından fazla sapmışsa ve mesafe 1.5 km'den büyükse istisna olarak işaretle + if osrm_dist and osrm_dist > 1.4 * haversine_dist and osrm_dist > 1.5: + vals['status'] = 'exception' + vals['name'] = f"OSRM Rota Sapması Sezildi (OSRM: {osrm_dist:.2f} km / Kuş Uçuşu: {haversine_dist:.2f} km)" + vals['distance'] = osrm_dist + elif osrm_dist: + vals['distance'] = osrm_dist + else: + vals['distance'] = haversine_dist + else: + vals['distance'] = 0.0 + + # 2. Yakındaki kontağı otomatik tespit et (Mesafe dışarıdan verilmiş olsa dahi) + nearest_partner = self._find_nearest_partner(lat, lon) + if nearest_partner: + vals['partner_id'] = nearest_partner + + records = super(MymachFleetSecurityLog, self).create(vals_list) + for record in records: + if record.status in ['exception', 'in_office_moving'] and record.vehicle_id: + manager_id = record.vehicle_id.manager_id.id if record.vehicle_id.manager_id else self.env.uid + record.vehicle_id.activity_schedule( + 'mail.mail_activity_data_warning', + summary=f'🚨 Otonom Güvenlik İhlali: {record.status}', + note=f'Sürücü: {record.driver_id.name} rotadan saptı veya yetkisiz araç kullandı. Lütfen kontrol edin!', + user_id=manager_id + ) + + if record.driver_id: + contract = self.env['mymach.fleet.contract'].search([ + ('driver_id', '=', record.driver_id.id), + ], limit=1) + if contract: + deduct = 15 if record.status == 'in_office_moving' else 10 + contract.write({'driver_score': contract.driver_score - deduct}) + return records + + @api.model + def get_dashboard_data(self): + """ + OWL Harita Arayüzünün veri okuması için optimize edilmiş ORM RPC metodu. + """ + vehicles = self.env['fleet.vehicle'].search([]) + vehicle_list = [] + for v in vehicles: + score = 100 + commute_allowed = 'forbidden' + if v.driver_id: + contract = self.env['mymach.fleet.contract'].search([ + ('driver_id', '=', v.driver_id.id) + ], limit=1) + if contract: + score = contract.driver_score + commute_allowed = contract.commute_allowed + + vehicle_list.append({ + 'id': v.id, + 'name': v.name, + 'license_plate': v.license_plate, + 'driver_name': v.driver_id.name or 'Sürücü Atanmamış', + 'fuel_level': round(v.current_fuel_level, 1), + 'tank_capacity': v.tank_capacity, + 'needs_predictive_maintenance': v.needs_predictive_maintenance, + 'is_maintenance_critical': v.is_maintenance_critical, + 'score': score, + 'commute_allowed': commute_allowed + }) + + logs = self.search([], limit=50) + log_list = [] + for l in logs: + log_list.append({ + 'id': l.id, + 'vehicle_name': l.vehicle_id.license_plate, + 'driver_name': l.driver_id.name or 'Bilinmiyor', + 'latitude': l.latitude, + 'longitude': l.longitude, + 'status': l.status, + 'status_desc': dict(l._fields['status'].selection).get(l.status, ''), + 'datetime': l.datetime.strftime('%Y-%m-%d %H:%M:%S') if l.datetime else '' + }) + + google_maps_api_key = self.env['ir.config_parameter'].sudo().get_param('mymach.google_maps_api_key', default='') + + return { + 'vehicles': vehicle_list, + 'logs': log_list, + 'google_maps_api_key': google_maps_api_key + } + + def action_open_exception_wizard(self): + self.ensure_one() + return { + 'name': 'İstisna Rota Karar Motoru', + 'type': 'ir.actions.act_window', + 'res_model': 'mymach.fleet.route.exception.wizard', + 'view_mode': 'form', + 'target': 'new', + 'context': { + 'default_log_id': self.id, + 'default_vehicle_id': self.vehicle_id.id, + 'default_partner_id': self.partner_id.id, + 'default_distance': self.distance, + 'default_estimated_cost': self.distance * (self.vehicle_id.km_cost or 5.0), + } + } diff --git a/addons/mymach_fleet_intelligence/populate_5_drivers.py b/addons/mymach_fleet_intelligence/populate_5_drivers.py new file mode 100644 index 0000000..28f56d7 --- /dev/null +++ b/addons/mymach_fleet_intelligence/populate_5_drivers.py @@ -0,0 +1,128 @@ +# -*- coding: utf-8 -*- +import odoo +from odoo import api, SUPERUSER_ID +from odoo.modules.registry import Registry + +db_name = 'dev' +registry = Registry.new(db_name) +cr = registry.cursor() +env = api.Environment(cr, SUPERUSER_ID, {}) + +print("--- REpopulating Demo Drivers and Vehicles ---") + +drivers_data = [ + { + 'name': 'Ahmet Yılmaz', + 'plate': '34-AHM-101', + 'model_name': 'Renault Clio 1.5 dCi', + 'policy': 'limit', + 'planned_km': 15.2, + 'driven_km': 15.4, + 'fuel': 42.0, + 'score': 95, + 'lat_offset': 0.0 + }, + { + 'name': 'Ayşe Kaya', + 'plate': '34-AYS-202', + 'model_name': 'Fiat Egea 1.6 Multijet', + 'policy': 'forbidden', + 'planned_km': 12.0, + 'driven_km': 12.3, + 'fuel': 38.0, + 'score': 92, + 'lat_offset': -0.05 + }, + { + 'name': 'Mehmet Demir', + 'plate': '34-MHM-303', + 'model_name': 'Ford Focus 1.5 EcoBlue', + 'policy': 'limit', + 'planned_km': 14.0, + 'driven_km': 17.5, + 'fuel': 28.0, + 'score': 68, + 'lat_offset': 0.03 + }, + { + 'name': 'Canan Öztürk', + 'plate': '34-CNN-404', + 'model_name': 'Volkswagen Golf 1.0 TSI', + 'policy': 'forbidden', + 'planned_km': 25.0, + 'driven_km': 28.8, + 'fuel': 19.0, + 'score': 60, + 'lat_offset': -0.10 + }, + { + 'name': 'Burak Arslan', + 'plate': '34-BRK-505', + 'model_name': 'BMW 320i Sedan', + 'policy': 'unlimited', + 'planned_km': 10.0, + 'driven_km': 14.0, + 'fuel': 45.0, + 'score': 88, + 'lat_offset': 0.02 + } +] + +model_obj = env['fleet.vehicle.model'].search([], limit=1) +if not model_obj: + brand = env['fleet.vehicle.model.brand'].create({'name': 'Generic Fleet'}) + model_obj = env['fleet.vehicle.model'].create({'name': 'Filo Modeli', 'brand_id': brand.id}) + +for item in drivers_data: + partner = env['res.partner'].search([('name', '=', item['name'])], limit=1) + if not partner: + partner = env['res.partner'].create({ + 'name': item['name'], + 'email': f"{item['name'].lower().replace(' ', '.')}@mymach.com", + 'phone': '0532 000 00 00' + }) + + vehicle = env['fleet.vehicle'].search([('license_plate', '=', item['plate'])], limit=1) + if not vehicle: + vehicle = env['fleet.vehicle'].create({ + 'model_id': model_obj.id, + 'license_plate': item['plate'], + 'driver_id': partner.id, + 'current_fuel_level': item['fuel'], + 'tank_capacity': 50.0, + 'odometer': 15000.0 + (item['driven_km'] * 10) + }) + else: + vehicle.write({ + 'driver_id': partner.id, + 'current_fuel_level': item['fuel'], + 'odometer': 15000.0 + (item['driven_km'] * 10) + }) + + env['mymach.fleet.contract'].create({ + 'name': f"Tahsis Sözleşmesi - {item['name']}", + 'driver_id': partner.id, + 'personal_use_policy': item['policy'], + 'driver_score': item['score'], + 'max_km_limit': 300.0, + 'personal_km_used': 50.0 + }) + + deviation = item['driven_km'] - item['planned_km'] + has_free_use = item['policy'] in ('allowed', 'unlimited', 'rental') + is_violation = (deviation > 1.0) and (not has_free_use) + + status = 'exception' if is_violation else 'project_match' + log_name = f"ROTA SAPMA İHLALİ: {item['name']} rotadan {deviation:.1f} KM sapmıştır!" if is_violation else f"NORMAL SÜRÜŞ: {item['name']} rotaya uygun seyrediyor." + + env['mymach.fleet.security.log'].create({ + 'vehicle_id': vehicle.id, + 'status': status, + 'name': log_name, + 'latitude': 41.0766 + item['lat_offset'], + 'longitude': 29.0124 + (item['lat_offset'] * 0.5), + 'is_resolved': not is_violation + }) + +env.cr.commit() +print("--- DEMO DATA RE-POPULATED SUCCESSFULLY! ---") diff --git a/addons/mymach_fleet_intelligence/populate_script_v2.py b/addons/mymach_fleet_intelligence/populate_script_v2.py new file mode 100644 index 0000000..2fa3ad7 --- /dev/null +++ b/addons/mymach_fleet_intelligence/populate_script_v2.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +import odoo +from odoo import api, SUPERUSER_ID +from odoo.modules.registry import Registry +from odoo.modules.loading import load_modules + +db_name = 'dev' +registry = Registry(db_name) +load_modules(registry) + +cr = registry.cursor() +env = api.Environment(cr, SUPERUSER_ID, {}) + +print("--- EXECUTING DEMO REPOPULATION ---") +env['fleet.vehicle'].action_repopulate_demo_data() +cr.commit() +cr.close() +print("--- SUCCESS: DEMO DATA REPOPULATED! ---") diff --git a/addons/mymach_fleet_intelligence/regenerate_js_assets.py b/addons/mymach_fleet_intelligence/regenerate_js_assets.py new file mode 100644 index 0000000..e891591 --- /dev/null +++ b/addons/mymach_fleet_intelligence/regenerate_js_assets.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() +cr.execute("DELETE FROM ir_attachment WHERE name LIKE '%.assets_%';") +conn.commit() +conn.close() +print("SUCCESS: Invalidated JS/CSS asset bundle attachments!") diff --git a/addons/mymach_fleet_intelligence/reset_admin_password_and_session.py b/addons/mymach_fleet_intelligence/reset_admin_password_and_session.py new file mode 100644 index 0000000..2fea07f --- /dev/null +++ b/addons/mymach_fleet_intelligence/reset_admin_password_and_session.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +import psycopg2 + +conn = psycopg2.connect('dbname=dev user=odoo password=odoo host=db') +cr = conn.cursor() + +# Ensure admin (id=1 or login='admin') is active and has correct password hash if needed +cr.execute("SELECT id, login, active, company_id FROM res_users WHERE id = 1 or login = 'admin';") +users = cr.fetchall() +print("ADMIN USERS IN DB:", users) + +cr.execute("UPDATE res_users SET active = true WHERE login = 'admin' OR id = 1;") +conn.commit() +conn.close() diff --git a/addons/mymach_fleet_intelligence/restore_system_and_demo.py b/addons/mymach_fleet_intelligence/restore_system_and_demo.py new file mode 100644 index 0000000..e030379 --- /dev/null +++ b/addons/mymach_fleet_intelligence/restore_system_and_demo.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +env = env(user=1) +cr = env.cr + +# 1. Reset stuck modules to installed +cr.execute("UPDATE ir_module_module SET state = 'installed' WHERE state IN ('to install', 'to upgrade', 'to remove');") +cr.commit() + +# 2. Ensure base users are active +cr.execute("UPDATE res_users SET active = true;") +cr.commit() + +print("Modules and users un-stuck!") diff --git a/addons/mymach_fleet_intelligence/scan_db_broken_chars.py b/addons/mymach_fleet_intelligence/scan_db_broken_chars.py new file mode 100644 index 0000000..b41c0fc --- /dev/null +++ b/addons/mymach_fleet_intelligence/scan_db_broken_chars.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +# Scan Odoo models for string fields containing "??" +all_models = env['ir.model'].search([]) +suspicious_records = [] + +for ir_model in all_models: + model_name = ir_model.model + # Skip models that are not actual database tables or are technical log tables + if model_name.startswith(('ir.', 'base.', 'bus.', 'report.', 'mail.message', 'mail.tracking')): + continue + + try: + model_obj = env[model_name] + except KeyError: + continue + + # Get string fields + string_fields = [f_name for f_name, f_obj in model_obj._fields.items() if f_obj.type in ('char', 'text', 'html') and not f_obj.compute] + if not string_fields: + continue + + for field in string_fields: + try: + # Search for records containing "??" + records = model_obj.search([(field, 'like', '??')]) + if records: + for rec in records: + val = rec[field] + suspicious_records.append({ + 'model': model_name, + 'id': rec.id, + 'field': field, + 'val': val + }) + except Exception: + pass + +if suspicious_records: + print(f"FOUND {len(suspicious_records)} SUSPICIOUS RECORDS:") + for item in suspicious_records[:50]: + print(f"Model: {item['model']}, ID: {item['id']}, Field: {item['field']} -> Value: {item['val']}") +else: + print("NO CORRUPTED RECORDS WITH '??' FOUND IN ODOO DATABASE.") diff --git a/addons/mymach_fleet_intelligence/scratch_fix.py b/addons/mymach_fleet_intelligence/scratch_fix.py new file mode 100644 index 0000000..6132999 --- /dev/null +++ b/addons/mymach_fleet_intelligence/scratch_fix.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +# Delete old demo records to prevent duplicates +old_contracts = env['mymach.fleet.contract'].search([]) +old_contracts.unlink() + +old_handovers = env['mymach.fleet.handover'].search([]) +old_handovers.unlink() + +old_fines = env['mymach.fleet.fine'].search([]) +old_fines.unlink() + +old_logs = env['mymach.fleet.security.log'].search([]) +old_logs.unlink() + +old_employees = env['hr.employee'].search([('name', 'ilike', 'Sürücü')]) +old_employees.unlink() + +old_partners = env['res.partner'].search([('name', 'ilike', 'Sürücü')]) +old_partners.unlink() + +# Recreate drivers with correct Turkish names +drivers_data = [ + {"name": "Ahmet Yılmaz (Sürücü)", "email": "ahmet@mymach.com"}, + {"name": "Mehmet Demir (Sürücü)", "email": "mehmet@mymach.com"}, + {"name": "Ayşe Kaya (Sürücü)", "email": "ayse@mymach.com"}, +] +drivers = [] +for d_data in drivers_data: + partner = env['res.partner'].create(d_data) + employee = env['hr.employee'].create({ + 'name': d_data['name'], + 'work_contact_id': partner.id, + 'work_email': d_data['email'] + }) + drivers.append(partner) + +# Link vehicles +vehicles = env['fleet.vehicle'].search([('license_plate', 'in', ['34 AL 100', '34 AL 200', '34 AL 300'])]) +for i, vehicle in enumerate(vehicles): + vehicle.write({ + 'driver_id': drivers[i % len(drivers)].id + }) + +# Recreate contracts +env['mymach.fleet.contract'].create({ + 'name': 'CON-AHMET-100', + 'driver_id': drivers[0].id, + 'personal_use_policy': 'forbidden', + 'commute_allowed': 'allowed', + 'driver_score': 100 +}) +env['mymach.fleet.contract'].create({ + 'name': 'CON-MEHMET-65', + 'driver_id': drivers[1].id, + 'personal_use_policy': 'limit', + 'commute_allowed': 'forbidden', + 'driver_score': 65 +}) +env['mymach.fleet.contract'].create({ + 'name': 'CON-AYSE-85', + 'driver_id': drivers[2].id, + 'personal_use_policy': 'allowed', + 'commute_allowed': 'allowed', + 'driver_score': 85 +}) + +# Initial logs for coordinates +coords = [ + {"lat": 40.9901, "lng": 29.0290, "status": "project_match", "name": "Autonomous System Log"}, + {"lat": 41.0422, "lng": 29.0083, "status": "project_match", "name": "Autonomous System Log"}, + {"lat": 41.0782, "lng": 29.0104, "status": "exception", "name": "OSRM Rota Sapması"}, +] +for i, coord in enumerate(coords): + if i < len(vehicles): + env['mymach.fleet.security.log'].create({ + 'vehicle_id': vehicles[i].id, + 'driver_id': drivers[i].id, + 'latitude': coord['lat'], + 'longitude': coord['lng'], + 'status': coord['status'], + 'name': coord['name'] + }) + +env.cr.commit() +print("DEMO DATA RECREATED SUCCESSFULLY WITH UTF-8 ENCODING!") diff --git a/addons/mymach_fleet_intelligence/scratch_fix_chars.py b/addons/mymach_fleet_intelligence/scratch_fix_chars.py new file mode 100644 index 0000000..bb8e85d --- /dev/null +++ b/addons/mymach_fleet_intelligence/scratch_fix_chars.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +def fix_text(text): + if not text: + return text + replacements = { + 'S??r??c??': 'Sürücü', + 'Y??lmaz': 'Yılmaz', + 'Ay??e': 'Ayşe', + '??hlal': 'İhlal', + 'S??r??': 'Sürücü', + 'Y??l': 'Yılmaz', + 'Ay??': 'Ayşe', + '??hl': 'İhlal' + } + new_text = text + for old, new in replacements.items(): + new_text = new_text.replace(old, new) + return new_text + +partners = env['res.partner'].search([]) +for p in partners: + fixed_name = fix_text(p.name) + if fixed_name != p.name: + print(f"Partner: {p.name} -> {fixed_name}") + p.name = fixed_name + +employees = env['hr.employee'].search([]) +for e in employees: + fixed_name = fix_text(e.name) + if fixed_name != e.name: + print(f"Employee: {e.name} -> {fixed_name}") + e.name = fixed_name + +contracts = env['mymach.fleet.contract'].search([]) +for c in contracts: + fixed_name = fix_text(c.name) + if fixed_name != c.name: + print(f"Contract: {c.name} -> {fixed_name}") + c.name = fixed_name + +logs = env['mymach.fleet.security.log'].search([]) +for l in logs: + fixed_name = fix_text(l.name) + if fixed_name != l.name: + print(f"Log Name: {l.name} -> {fixed_name}") + l.name = fixed_name + +env.cr.commit() +print("TURKISH CHARACTERS REPAIRED IN DATABASE!") diff --git a/addons/mymach_fleet_intelligence/scratch_fix_chars_clean.py b/addons/mymach_fleet_intelligence/scratch_fix_chars_clean.py new file mode 100644 index 0000000..8dcb563 --- /dev/null +++ b/addons/mymach_fleet_intelligence/scratch_fix_chars_clean.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +env = env(user=1) + +def clean_text(text): + if not text: + return text + mappings = { + 'Ahmet Y??lmaz': 'Ahmet Yılmaz', + 'Ahmet Y??lmazmaz': 'Ahmet Yılmaz', + 'Ahmet Y??lmaz (S??r??c??)': 'Ahmet Yılmaz (Sürücü)', + 'Ahmet Y??lmazmaz (S??r??c??c??)': 'Ahmet Yılmaz (Sürücü)', + 'Mehmet Demir (S??r??c??)': 'Mehmet Demir (Sürücü)', + 'Mehmet Demir (S??r??c??c??)': 'Mehmet Demir (Sürücü)', + 'Ay??e Kaya (S??r??c??)': 'Ayşe Kaya (Sürücü)', + 'Ay??ee Kaya (S??r??c??c??)': 'Ayşe Kaya (Sürücü)', + 'TEST_S??r??c??_X': 'TEST_Sürücü_X', + 'TEST_S??r??c??c??_X': 'TEST_Sürücü_X', + 'TEST_S??r??c??_Yeni': 'TEST_Sürücü_Yeni', + 'TEST_S??r??c??c??_Yeni': 'TEST_Sürücü_Yeni', + 'Veli (??hlal Testi)': 'Veli (İhlal Testi)', + 'Veli (??hlalal Testi)': 'Veli (İhlal Testi)', + } + + for old, new in mappings.items(): + if old in text: + text = text.replace(old, new) + + text = text.replace('??', 'ı').replace('Sürücücünü', 'Sürücü').replace('Yılmazmaz', 'Yılmaz').replace('Sürücücü', 'Sürücü').replace('Ayşee', 'Ayşe') + return text + +partners = env['res.partner'].search([]) +for p in partners: + fixed = clean_text(p.name) + if fixed != p.name: + print(f"Partner: {p.name} -> {fixed}") + p.name = fixed + +employees = env['hr.employee'].search([]) +for e in employees: + fixed = clean_text(e.name) + if fixed != e.name: + print(f"Employee: {e.name} -> {fixed}") + e.name = fixed + +contracts = env['mymach.fleet.contract'].search([]) +for c in contracts: + fixed = clean_text(c.name) + if fixed != c.name: + print(f"Contract: {c.name} -> {fixed}") + c.name = fixed + +logs = env['mymach.fleet.security.log'].search([]) +for l in logs: + fixed = clean_text(l.name) + if fixed != l.name: + print(f"Log Name: {l.name} -> {fixed}") + l.name = fixed + +env.cr.commit() +print("DATABASE TURKISH CHARACTERS REPAIRED CLEANLY!") diff --git a/addons/mymach_fleet_intelligence/security/ir.model.access.csv b/addons/mymach_fleet_intelligence/security/ir.model.access.csv new file mode 100644 index 0000000..3ec9509 --- /dev/null +++ b/addons/mymach_fleet_intelligence/security/ir.model.access.csv @@ -0,0 +1,16 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_mymach_fleet_contract_user,contract_user,model_mymach_fleet_contract,group_mymach_fleet_user,1,0,0,0 +access_mymach_fleet_contract_manager,contract_manager,model_mymach_fleet_contract,group_mymach_fleet_manager,1,1,1,1 +access_mymach_fleet_maintenance_cost_manager,maintenance_cost_manager,model_mymach_fleet_maintenance_cost,group_mymach_fleet_manager,1,1,1,1 +access_mymach_fleet_security_log_manager,log_manager,model_mymach_fleet_security_log,group_mymach_fleet_manager,1,1,1,1 +access_mymach_fleet_route_wizard_user,route_wizard_user,model_mymach_fleet_route_exception_wizard,group_mymach_fleet_user,1,1,1,1 +access_mymach_fleet_reservation_user,reservation_user,model_mymach_fleet_reservation,group_mymach_fleet_user,1,1,1,0 +access_mymach_fleet_reservation_manager,reservation_manager,model_mymach_fleet_reservation,group_mymach_fleet_manager,1,1,1,1 +access_mymach_fleet_home_user,home_user,model_mymach_fleet_home,group_mymach_fleet_user,1,1,1,1 +access_mymach_fleet_fine_user,fine_user,model_mymach_fleet_fine,group_mymach_fleet_user,1,0,0,0 +access_mymach_fleet_fine_manager,fine_manager,model_mymach_fleet_fine,group_mymach_fleet_manager,1,1,1,1 +access_mymach_fleet_handover_user,handover_user,model_mymach_fleet_handover,group_mymach_fleet_user,1,1,1,0 +access_mymach_fleet_handover_manager,handover_manager,model_mymach_fleet_handover,group_mymach_fleet_manager,1,1,1,1 +access_mymach_fleet_periodic_maintenance_user,periodic_maintenance_user,model_mymach_fleet_periodic_maintenance,group_mymach_fleet_user,1,1,0,0 +access_mymach_fleet_periodic_maintenance_manager,periodic_maintenance_manager,model_mymach_fleet_periodic_maintenance,group_mymach_fleet_manager,1,1,1,1 + diff --git a/addons/mymach_fleet_intelligence/security/security_groups.xml b/addons/mymach_fleet_intelligence/security/security_groups.xml new file mode 100644 index 0000000..cb9b192 --- /dev/null +++ b/addons/mymach_fleet_intelligence/security/security_groups.xml @@ -0,0 +1,59 @@ + + + + + + Sürücü / Personel (MyMach) + + + + + + Yönetici / Admin (MyMach) + + + + + + + Sürücüler kendi sözleşmesini görür + + [('driver_id', '=', user.partner_id.id)] + + + + Yöneticiler tüm sözleşmeleri görür + + [(1, '=', 1)] + + + + + + Sürücüler kendi taleplerini görür + + [('create_uid', '=', user.id)] + + + + Yöneticiler tüm talepleri görür + + [(1, '=', 1)] + + + + + + Sürücüler kendi teslimatlarını görür + + [('driver_id', '=', user.partner_id.id)] + + + + Yöneticiler tüm teslimatları görür + + [(1, '=', 1)] + + + + diff --git a/addons/mymach_fleet_intelligence/set_admin_password.py b/addons/mymach_fleet_intelligence/set_admin_password.py new file mode 100644 index 0000000..196522d --- /dev/null +++ b/addons/mymach_fleet_intelligence/set_admin_password.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +user = env['res.users'].sudo().search([('login', '=', 'admin')], limit=1) +if user: + user.write({'password': 'admin'}) + env.cr.commit() + print("SUCCESS: Admin password set to 'admin'") diff --git a/addons/mymach_fleet_intelligence/set_new_admin_password.py b/addons/mymach_fleet_intelligence/set_new_admin_password.py new file mode 100644 index 0000000..f1af21a --- /dev/null +++ b/addons/mymach_fleet_intelligence/set_new_admin_password.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +user = env['res.users'].sudo().search([('login', '=', 'admin')], limit=1) +if user: + user.write({'password': 'MyMach2026!'}) + env.cr.commit() + print("SUCCESS: Admin password updated to MyMach2026!") diff --git a/addons/mymach_fleet_intelligence/static/description/car_hero.png b/addons/mymach_fleet_intelligence/static/description/car_hero.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b447e97ed59fe79af3c58a36ac0b906292cbf0 GIT binary patch literal 601339 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

URBiavCg_A&j87JGO! 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

co&kWtSgxZ6sHW_=EON(=S#@{3+t? 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 z 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⁡QbrqWMKyI)Ih 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

d$GKJPx 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

TZbQfeW(N2_>hMP zR$>A!q45o!D%KZ;)<69zfB1;lZ1PE=EMNX^OJx;fn?h&%A zdK((B+rRHLc+}rw5nany8hN2T`_tERO`e)TU|G-*kZ624b+@=Q`gUE(7xz=#zRt_7 zjmOuAW8?k<=7Nj5Q^#o5&ICS>pVC*zp4gqz1iVG z-XjR+GD_-rYiSLs4j7-i_g6{Az$R9+9r*Y+AG>N2q|`-1AhNugU_bG+&>9Hm5qP;h z*pF{b;4kyRIqMQQWDpiqXRzP`ePe-8v+FurVxBiiZ%PDg-!#l~^N`*_re0V*AHrlu zbcwR&0l?pVb9F1?NbmK`@{&!y?RBoLTbq|g?=oJ3*V9eS*PR1c@s0@L!BvjJw@?H) z2&_j*PQi4o278TXXdt9slvJip7Zr^{SLSDJZ8<51(Mas5Iy$+ltQ z-&x#<9Jm;K`ryD~CTzArO$+E6+SMf~dHx5C{;L0A=gtkdwY?s6>b;rCiqG?ejmsYN zJO6IgZKx|$zoWZotU$Oop{9p4heSXLYN_ae`Jbue1ujDx(8%n*`u*_aMbQ=r?!c5U z$@fRWJv31RcDwzBPU8|5gPbEQMT4}XQ-w#oIAXg8WNygV(Ie3NC9AX z;{2Y2C|%iTPf6;cb)Xy_YWFO3$ht9@D4_`PhdZ5Ntz z=$W5nPL%4K#7gQMyUf_5_qFiU=(*)N?bj+6EC4W)q?6TiY!X=@CebwV_~e!vPFnsT*MGh-tutD(Rsx!*c{-MQ%pxJaH7hPC-pfa4vkCi-lHqtPMsgJmI*rz{P;cxsyVSl3bpxZNl1 znx3AX3QW@Tlmqf^DuO-&2-A=L#_H|6u~mabD>MI!KsOkY0!<%EtQ2Im8_xv~>60!b zJ^*WB^M#Pi-?Kk)YinyWel+@r*eU$=4h^mpUJLbtsXSQ`xTh;4p6GJZ$FY7uf;rBj zk)UcrnJ~@SR9lVfe}&C=Uz$%Tno$!ss$rs7beI(|;6%9O; zWKVF-3}-^oWDhCbbFoW7cXIfAcSHBOTl`Z&+rPFxgG2w=z`x#|dLp2b5p9MtBrYHq zNm=isOKe$6OWeN#SzXeaj8q{G$YZr3YNnwe^60x%c-PpHKyd6!9(0dIn#`zKT2vr! zMfDWDX;3|56uvd+VIx%-G1<>S(k1wGgOS?NIGu>*x>4@0_X;m|+=Sb=M_(;X^~}C2 z(#97!v-4lwo^SU8bz3yxa@PdX_sNEhUVRmA`I;AS1K-3)@^arILlc^c4e9ATxGPFmvckIn;>BeW-sY@<6vSP~<72G#koXM@@+LMbKUpMz-nfqw5~IaBp)R zj%IwiZdIOpa!)wYqMXyTKK0lz8>OE-O#>q`Dk%(JItS>yiB;ILhE=-Z=V)_Gwh4ov z-mYCxZ6qp`dP&+!vk9UDOZ@kwLCjKD7`r!}PL-6EUp25d%vJ?BH|{GfRL0F@)Cg0> z20Q*?@xrH%K6Q%-3fknaO3;jxJ#9lTP)(KGjdF@8vRmrC$h!teplPQ^oq|wOdBxadvjk9DMRmdG%9h3r zr@lCNQvxeue*Z?Y>z!weXixokr##p(mnxuZh37J}0RdttdV zUTsSD(&Er4-WJ*E>PVtVM4iZJB(=gF-L;e^>SOIF0*?pcr^tX* zp0Oj9c=E-^q-!%w=u&ozYuaD-);&sC%KAj)L+7&i6tk0`;+gi_A>XsuwvWy=*>TJ3 zZ2RLc1b$>#lKzjQbB|}b{r~u9Hij5U+HS+TH%&sQ*bGhGw?pnI6ggx<5@Y5}G;`Bw zn28QX?hqx1oX@5MMmZ$J99AaeRF1b(_wV!lJs$pcc=+u4T-Wt}y`E1bo)q?^K5RLB zZ!%r(zx>yjf%`c_h*S)0^YFZhELbvL8Mu0$X2d0*$z*KiX+;gx&2%%DVo4#3u) zT#=5r0EgTnbQ}DvodzbE1l~Ez&9ldyb!@v>&xu$#;e2HUoeu6J6lggq=|!1-k(ac? z1u-pOsz(c`rdEC>+kUg9!D$8u%cYn1hiy|BkgKiUM9e-`YGo?x{jAli&{WR5 zO1BRc${>_5WXhq$CF$iTkRxG?)&=hvS*njzy1azD6A$p{eanm-v0<2kwNe!)o$qR3 zabw?W86|%OIVe{7Rb|rK-yG*lsm)=Vp%Ya*?_!)c3;L}M!?H(;LoPQ(2A0J)OkupL z!H`s)UHdmoS~36=KX;7z-tTB;m>i*_jqo~d#fRkNMKeM}#_J!H1K9|K6r89QLgk}O z-%|A43Q&qqyzE(G1;D|z^A&(-TKQGVeXkp}_RNs=0L9I*(j(48HXq)NHLQKl5)4IO zCoPs%mF6!l^jBv@;WB5Vx&M^E)@b``DMP>|3I;M!%J(6l9jI3yQuyI6O_E{-SHFX5 zKjrcwZTUHf&iN6@L?e zN5Y_NF_EfG)KYkHdX`|8y1w9DdU5gis@u{2rg_0qOF-r(-N)8k#FTQKdc{QaRdTHG z#D)GnGrr6&nw_H9e)49SCCP!#+iBc?74V{XHiUldfH3kzVgMBL#lkKU26}4SMw!0M z4hf7`093{{Rzk`cu*8Uer`Mr>8@aEXl~-wHP};PRUsdyLW2ovwjPl4<5q0(^Zew_n zzQ^MhMkdOKeT*ghUYCBM4B)rvM;w33+t=$wS;S0EX^3%b-`90uWD5X!Is8i(1Ff(^ zO@NdP!E4ek)nOB$@wH!QQd6dFk{wu;ARd84*Pk%xk7H4EkvyFIg@Vq_kCo2X1;g77 z3m_-UMPPmXK+Bgbwb&zT3Wh>w^BI8lW1 z5)t;D+|b0nGE=uk%_0T;f@DdsIYk&_ILT1tt;8RmLbCQHbkmTWoPh6^#xfwA3kyAQ z&$Y(6$nR>6qt%fke#MRTemN$_Lp$P6{{!NOS1X98DMknjB>v>#O~(M2LL%}tVvFME$&B{`zL@lY!*FhOuJg*%i7ZUfp~T zT0v4MU&LuJS4R1K)_<$HQfXkM*Lt4$Hmx$XU+vfphK$!*Vh8XRXkd7|*CWDq{^lSP zTV)*RxyZ@m%IN#T!x*npD4KFiK@RsN4D35|DUX9HY+Xpc|Eh;AJgadW9Euie;rm9f zeH^OUoGTtIKo0t4P3boL;U9t9$CUfPx3iQPvju`boG3mO$2P<12n)iIa2(@IR9Poe zx=cntdLIRj+1K$Uk!B-ds6fAkL_>OM$f+kDl<*QOj29&-Ctce1Q8&Z{1ckBot(>cO zo(QeSHMR(S`eW68W=WTEeYS7z`nKl^Cb=&_8n5v>nk!u0t}w;C%ZAgU-lLpfO2#VmdW+8lL_a*L?^r9j)Sr_ znv?ef38@7Nd{H`fRNP4aAMD{ zA`f;08ZVT=-H`lJSt9;A+RM-$3|gFX2@sA!++Kc`)_a5a%IBGz+6 zCtLJGR& zu5UPoR}46dW;wSUk__4ng1BIh4v`F0?LR>JA+$|b2jgVj&&%LdpcPbJ&dawm@QuSJ1eNMHC^9>uV^?kv{X^G5SCS{?Xul%J+C!NVNu{$ zBB9ryIC#B{b;&R%F;1z|bTW;}%;(t#z^JBsKJxBG)fyWnZ zwwDEgf5r?p2x4hYK^!BBkR$h_Q2ZfN2(rNR&m>R^9-sFdWfIjM?M=3(cjzU9P&1=_ zwVtr)p!03>o^S|#kJ_X1;9fe!Mi~|Lw|#a31L+@tp`yBIU0gbt#|h@98E$XQtbbfz z0)wzJq_z5}V(R!v;I}4&sArT+rHk-@pLMYmy(9r}WnRKUJUEVBiwQmIq9RCstvjKI zqnr1!Uh&~bJd^i#TkLfKNHI-Hc88U1CigmO%Hc!|0`dqu`h?Tnk6+KpTnsG`fC%*d9@rNLwflMwuT zb$MP&{U~*#4I-XdNR*}l6tQe`ziL~_e-juIgZoG7x<=atD84v<#@u3jliZ3rkj5K% z&)9e3u9%{{dirhL3J1%VHXk?Q0C-f4ueQ%H_LL)Unk~QsBx$x$&<5 zewulBh?WgWgQxwShtR79@)9?h_aJGN{&+b4nZ9mLZP#HDLLzqde-6*ze;mrQ8jJSN zkTJP>Y|ZMq#BQL?a9{gDU1+u|dM{g1 z7YG%V4(Gn6k?nGxWFk8NB`h9KpNdM>)s>BIj8*Ji7Mm?gs|9+#8TK#f%5ouWB8C|; zX?_%O?Pr4E*`;Iv;1#IpwyJMVlFXn_v(3((wUE;eG##ppF)=whQ}aiA=A-7!6W=(t zMJo$2N5}p>F#LdVYB@*7qmDqjW13Y9Pkz{1MB_Ck<&^?IoETxUjBU|QZXq9?9Gh^@ z{FQB;=d}oF1Hm6J7-dUkfG({dnSlVHcG?DG7cx8VoV@LSXFr`hNpcLcg(7hb0QszJ z;nMcmfRcr08TD?CW6kf>pAJ=&{~P;ZVc_zRbCWIXRh4VuUOtDo+uuB}X+t<=Vhfc8 zsn^$LJSrRk?W9SMp!BMTq6FkvokZ+U7}Ic}&AjjO>*~8*NjdVzIR7}XWJ2fZ4xaHW zK=ZW=cz)9B&jzuOqNxYLdwF~iZN<;Om11>$NzmoeygutOjE`-J1y`(@NRyJJ8*h;z z_tx=?-(>Rwc)$VT2pRi{;-w%FZF1yw>_K*EdhVIOWfC(ivEZ3EyyF9hE+x!rAR|9S zT}|_AED-{eX^H0u!Zg+*aT4j-cA?y_KcvW51AYyVeF}aG8>6BaWp}rCi(0)xwU*=A@o00!Qdf%TNqyvrSv`RcLNTCwPf%JM)5Z*+h>hF?2%1?}dP2)8qFd-dKn206LC!kr`G0}b#4OW34dp=C?UH%O4s z%&+K6n)N_%MoXOKFI-J}w+lDxBcuT<9mLU_2%9@MYe)gd33MJqxhoMT9VNC0PU!p@ zKa_3td%X|i##?CiBmV{10)O)rS0u}WewMenUMq8pDFsylPuA_)ZE|LDoHr;teKl$^ zm0G^KJn=&z$k}cFaeY&>YLPb>!>WGgbX-0CR%UdJ#>v%z-|eJ;l(DB=1;v0abXwH| zMwH7@nc2LgpRU%mlt%%FsG~AUn>_No48 zRZ`ANJi^(ue}fL@b&CE2>Loz`ByeN&e~0!dFx<3!_*zD$dcj$RkF(%g(q*B%>Dj-I zR<4HYAzJTk{<`ap3uf#w{41^(tvbAa%r{%DKlOfl!H7m@!pW<*Lj=i|SFu`zY4H3i zd^}=zixL~aNVX+H8@$qZ=UF~*O@!6r>RhOL*fh95N$o`#`QSWrL^qm(?F4qtRn%Xr z#q|{~8$%*j&!;i_oJkGaT>(whl8mNRfnEEbj6aIdmXB=j!`vU>8M?KLw8o$f%hBKu z|E8Q;`JG*e2~K$sFTi7dm~|^^;N(fat*Piwhy*h>R)B%I#Dty6EqL=W>ld@HEs<1X z#3La~%}z=tO2Oncj#Ehc1J#1OYFH=p%8 zUt1j{j@WkbNaa8) z>gAryn@^+(YC1GIw};A^94Q%nBeo)7p&B20J#tT05ommrYISA4S1iu}5OB4_Xs;E= zi&HK*xi`LZ70mY%LK-caianV4y{5V$a(LBoM|(3|?Pf;P(Lfh)8rFS@`ss_4e#(7l zM|T(#^>FGIG<73!U!wAJ+2`MN9pn|0t>C`Et5(d<9_Z62ODY)&PE2!y!D%kn=%8uL=m@%;mAdEq0U)m@Cb;%!wJ>4SZJZ9y$mrl~^}1 z*)M`Sv`jBYAiEG|e6$9Bk)?XwX`xg6AQ1!YFbSJhXW*~d^DcNM{hgqkY3*4gLs`Hm z%`wT7_$9dl;_Iz%7yj}j1yv%fB*xV$WlG;A+4AI4Df~^X#LH4kJ2Vtuv~39V|wm1 zk@V_GI$0VaEuuW8|6xV!fFf^pK*>RgkAFSP6Ui}ji@PWfayh+wI zU|3g6!Qz>KjIQ*wj4B2P9YTu7!I|gwW}ql%;_4jqFwjKhgta>reGdQ%r$vus@!kd@ z^&J2WiemJy=T%2l4dr#~klnykCIBMP2AaQ%ZhR87SVwASJSk4djW#WEE6)G5{b<}C z|EIV$#Um0}`0jKR_+h}}?nh!DYKOvpZ@q^+-U3j%c|(Lg%+#e3dRjpZ0HCQ701w({JlV4iNt9AeoR0j6Sd^TVRNze;=D4 z1OM2QF0RWx6+nSTWN_X6>|22s{a=mR=mRpQ_Ds5XHHrY!K=0cXo;P>mPGV6QFAvE{ zd`N2rn}&djDL%(BqJ9dVg7$ELaV^3eBJS{Wneo|US=EY90Wmt&x|XD~Ccm6r{uC^M z-quBTqk6~aFadRa!rlBy>ib=8#uW#VCvL<2!JbD5OFSU2$Tkq!-MiwX`Zomvu4R>! z3a@n7-gGE_YJ~p5CB>iaRC27+2Wesf>Gsm&M8)&T=~LtYy&BSiCA~2g zxV==KYLiq<3S>q|{oCu;1V)Xm%HGmO0! zr0HX3_%dKwLRZ#szE-4QCd`2T%hV9>n6m14%|Jw4mSdcvj3c> zwql9+;czd#05T|)yOFD$azUM@EA|QrD4bRMadh@y!PZ}A{sVj)iemk`qKjf3M_c_U zHbEO?@nrD*dTOeEnJ{vIbn5V?uXt^{rVy-uu@aH4-etBqJTN2OPI^76M+7|K#^}jF z7?&%i3sHUu=;|V?iXZ;06|&9R#NsPGgT1&5*pr3AzTNP(g$=~W*g}J?we#3|ebaFF z?n9rOm}wk4jBSwAqNg6emmvXFV}tR42xNt6Z;sFhMydWFxaa-owAcY6Ot!WMpKCCm z6T}sF1rZ*-5;oRi5z0Xg32pOV^?ci+x#;X2FkyY;9T`m3rreh&=KezD_BEIERF8z$ z^hA$NH!?rtG&C+)3RtC`z!kca+7|+!2Rn?)oxeK_=He2ekhl@OTG0Ydhz8oB@Z!L# zx-0oL>_(fH$`hLFgfC-v*Jgz=d`UI`k?ZlgeVLtz(*(Ajn?HafCJny;*rtqP5)3UnDB8FV*&tZm?9OpWre>@37V`6S)O)Vkme zn*;b{gzUizTXS&+CSZg(BK->IZA&&c^h#O3^@snD9hn8d+xFQh;x6j$GS1UL7z- z;`R#y>_HfHCm3X;9;EBLfYJoXN!di=-m2#ixBH2jiWH`eB~SeU2Emy81`Qw(W}7=D zXpk{xaJJMDhErU7XBZoTCA8ZsJC~jN7simVgu?dox)h`{gu)e$KH>Vg=crE2AlE)C zyx+6kv3ZWIb=8ZSi)%-^{{zyCmuKgmzrW{5(5f9F<54{Tq?TPQOKaRrf<)IUBA`J}5bE@YwL)RdV zcYU_G3rvucr47-Caa8o;NnP051wK!le)wrG8x)u_VA*x;Fnv*uF-;%DTs+N>bkhv; zrEhRNf)T)BGPcXg!XV8*eUYp#s;g6ON48D5ieEFDu<*$)f{$|{VlD|>9du6wLt zs;2}bLTA^G&;St=B7@LLx6rxPJ!oxS8P;DllwMr;vA(}Pdd(_u>f@M7J@v!A%e64b zib8NLOD4gmOV@Z(T2962>oMQjSDkTh4vPTO^EKM77r`P1(+s7ubvj@|;{x_yR*Ogcu!J}F0<;Px50(1TX;=)glU=t&9^ z$ablzYPQ+(9XOsgur`~&v41`Ma`gN{`Q;a57qf=DPJr#z012|k23gHu&tU=@5hYJN z{^p9Za;?7%O^j`@=Gi5NAf>T9|0&5C@whXs%?M6ohCwrkaN}e}5yxOFrvfH#g#^SR z$9lg!6tb;)057(Y^s_G-g(rhvA6_|8GtaYWD zftIuLkE?1H!QIC#qUW_thGcsnkb%d8J+^h?5gzOZiSox_vc#zpm+PW<-fM;xCPTF# z5IY(?5c446AbC0wGf6nl{J=3c+pJES2w|};wYnD-RlBkes2%F7yM>)1XzGK9Qr6)2 z0^F4cO}S0u-Loz`4HHX!*P6GlR}Z^P1!fXYUsWs_w`#|w4WUNgrqyVYd99+Lj%O#H zTt?mDbw^BtclqcN8>@3tK%q!N#o4)9kMYhXnC0aK)g{3vVh88E?*7U+q09ys`SL`g<~Xs9H&QqvW26V*=;- zfNB#0e)8x!+2g}EhNr&)sr}GB-77OR0vb3qIpy(L`S-BIbCTdeVGkWNKP>B|zMi_> zDrn8$-iu@8p*6-vm+R1LtwJyF+fr|IzE_<$&*cX6Cp~U@eD+%7QnX*7O;Yd?=Pd!B zbcwXvy=&m3ye_$H{oG&t0`IHYGPu7p{vqk=gYne#ecDmjJ*prKc>{DdP9-{dTlSC` z82T}{+ht=tM3_gJ(6~gVwRaUc1nxK#QHx1dMgyTG5az2XGs$7${p( z%^;}ZX$W-jM{S$$TtTi(x(Fc!{RZAcv}^Iwc>vHZ6<4{hwDP(40lc4jNbwO+0dcfy zyeQnO)7fPz#%Q*o@1)_czrH4=?N@dPg=)!R!Cn|G*zh1zcow)1OO=nvbW*itiAYAtir=Nj@gSk~o+^adxq(fFmsVoShJvlgJr zj+nh~0KXH&Kc8g=EX9QTnXgsP`ZkaKy;^=|VP~Pbe!V|B1e8Jj+ct`bLKI9L)PGY@ zi(Z8XJ(E2t{_rTOeGmIsvZ3mkWg0NONb$ti{1%m?8O&k@em7m}boz2z1Z9{I2q*Tn z`q!=K9CWL7JziMX3V3DU18B!MXLbr;hp&XH9z_&r;1TA1paXvs6o->fO0=$jb) zaOgoMq4n8PhqM_kc<3aJ%5U}VWa|PrapBIVcpFVA$+yrN{5SM|bc5{s7P8bTJawS4 z{!049P3m$X|5(w!4I3%(JK*jL;At2GZJFPV?7Wjk2nVaF$rhTrpjeU{Gj28wO-|2F z8lI@iUhf;LDew30cl(?U#tdd^hAzJR*w8$*SQ_&l@(j`+SaK=cOCdh+LvkK^0crev z#OC{z*_UIA@!69#U>ZKSaupEgZ$=HyeDco>Op{%Bqleuvpo5=jAsg{AxE;eyO-s9& zwqP%=cWvYz#X#n{BIbvbYsYs7%HCvQQ0J>6tC^ax;qPO`#S8uX$orW~F&x{{HzoHR z$2yQDZEr z{V-jL`uzU2NWkOSX-Rc+p9XU%Od&|&OxRANFs&DGQYyOh&vzTgkU?Fc_$D^{qDbtt zl3udGGEJYfuQsj7He_UZc6n~I(mi@MVB4hma!P))#opbFTzJ4Kwk2Agpmu|mj@u6) zY!nL#9U)V^PI*HeNj`=mb8LT?7%)l;2Tt$f`1S33^ZrG%_v$UJg1v&bO%^aEpMdz} zMwP~I1!obTs8=s}P5Q2=tBn(`6c*L8lF0-t9K+N({%ma{{{D)Od2#H?qetfbJ$O{dG;#mjmC?{WjK)bIz@w5QW$az958xNq4yAi|rqx`V zk>rCFO>|k$dnsuEw%TEG{rK-S)ZMY)wo5WHMz-Oaww+x?O+(sQ)&1$z731ckussq5zhhTuyPTqgO zUbailLC_j1W{L5Ha%>SuF3pGq9IJbZkUjp7A8DNL?njy_9u!>P{%o^wVLCwN2|To!xxh=P3`O+-xbLfgWb>fe z5%w;A{<@H>7@?PE7(&sj8UouA=ffb`e?9RrtGYwv0bGRC<@{G{o5)FmpiMuJBm4Y# zri;nKR7v(_w-X8zV74JfD}C&Vl>}M1=(7{$J+WCM76(|?dox}*&=aa(p&eT2kcMo zZV$qvsa^vM(e6w7gP-eQvTX9p z#NSu^9I4rvet!P}&i5Zon!>zh<-?^9hUSfFohm`cfDfge69}?EeyM zpU~jfP_vvD5{7JDD?aA`HOJ0-4#0sa%kE>zquz`T6VhRV{ff*$`fc4QJ)UR-ycTi6 zJqP!}NT5l=x+QC;+I{G3#5w@^-+7NsqC3zhJh66P32P-H6Bg2JosjnCDsa&wfZ|Z)Z z@oDA@q+H5XQM7mE#`Czk@-y5omgwDnj^X~@DB0$uk;S32M?wc$<_b!(?@8+9wS{|0 zbX%bdkubzAh{=?0t*(yoJX5ab<65LZ)^rdZ#sqN)&@!~D1W~MU$%?h)%BiIw2*l2{ zEBc)-#*=7q0b`9tiJ%_)#BM?d_Hh-_Y6TxUvR<_?GBo$g>-$2H zOO$h;Rncs7_1Id4#ytxF(PZd}&PG5m9C(hJ;a~9`H#rZ#Sb<DA_@)%hxr z#AWUKO)6lEgrAPq$!JcoIvKT5Uwvz@G06g2IHON6A>#4j*p&MWvv%jFKfMwK46)~G zhK165%3#?DPLWcN9cb+ij{l^fC{(pjZUc|c-^#oyDDz^fwXQ5NGuILu z0(Pp$RYp}bGkfOn$vemML1;&QZcWkBFNadE{ur&T`Lthwj$6o|Z#yHPYDZM#fpnM> ziEL*E#HR#EMD0OIYC2Gu4OUo~LX#DY3m6^NX2~~Q=lr9lOO_fbs6mHnS(y-cFd?Go zah+KCdL+(^rK%;a6rP&Q-TLV8ZD7>@LG+z?J0Z-r&tZ6%5*9ORQlkxwa39zpWVIU(9QOuFww z)C@1_n8}dkwxBeWG#{n&K!FYB_8@#H*GFzI&~`8ibsNc1d-24`=OKeT(OU5 zCoVtUc`#AY;uB+(Ftxb6;u~1y?T734>t5_~S@LPQ6_NXwxlXIC9i7MW!NXE}#?Dvj zNOepSOJxR+Z|J-|N|@#%fHt@cZ*?<>p=*IjDKb9o(d3%SrrV0&(dLSTV1od0tfz~8 z?90~RIO!c#q75Eadiq(UGQdQ0aP#2~p`j!{U4<-~rDvfVCVUm(ur0UHNbm!jR~hTTf)L#sYEWqq`eypmE&m^Z^S$%2fNy7*+E z1Nr@MinJaI%&`#hSQdnv#%WyO@mgE?#h3n(rhkS!6q9@t6vxNtp;J>?ag`i$*Ka2P z0|_z`CnF;StP%8JmWFmx)1TDME%&Wo&DM`1b!uWtn&(z8KX}FX8A_2*j87Y=s05*K z59vX1Ov22t?!!p+^NHVJ@txCCqr6w$;a&mCR;`z-DtrGv8R1FbQpnK-hwC<&5V+GTDaQj;#h@uW(*zE8slq`H{yhB5t_|^lE_P zq@$=K-ByHy^fL=cKwfgQK=i|P8DL2$ZkUeNi-|7*#g5b zmqe?|jqz|S^a^voIjy!s=A#xks%$Z^(E~HHKh?YY<2yEOvDXO4Z(eR05~)yQGh+`l z%-b!;UggQif%83;e`3LOUY#(KbntqFtg@6ZC$MK!c zQ~N2(&rxrD;z8>M5i_l6hGwBdWnDsBG4kXNaM^#)upyWzGV~*mJiOWO>SjMw@f>Zz zk%O{n4oriRUYiJ_D;3OH^?fqQrAP@WLbad-yI>YGiXvt%LAoaCm=T5YEI zi)1{FS&7eIgVSn?qR-QGC=pzHe(3Q7?}Ol!4fkKlza$>J?S7;CJ*r$Psj)WaxHL2z zaWCkeI*8Je92o{)5dj}Rio{6+Bk!Qpba=d7q}l!KyLk#UGZg}id4^L!0DLgPaTouP zP3y2{B`#zL*j7*`f{sA4D0}PgoAdOrBr?yFB}C+9y$x-L1$9e)AmlaUcE6=rTQ?M4 z6S^n`j6ua{(%R*ywfi!NthY#^k^b6OEnv#eyWZtV}@Ae5nLOb8}X`6`r4Ntcf7 z5Fswz>G%#g7fx>!KJMpy?F#4*IzYt0d+a1o?c`2@}a|^*I1mI0?(PQYXWzrT8%KptR-e$UK8? z+b}-NGaS_h)#KktNAg;MWaY>GzAw9j_0ekScVLvbPi0!cZ7vWO*gjrIg|nAjWt$lf zPlJUn2G?0ZjTb#WCGz1_1%tlM{F;v-eyfSP$!yLLgl$v3(ihVfrkC|&yWiCzF&f%j zA9ZuoXTYot4%T=g-KI>tk8x^I4l4v#O8m-C?hlm|QkGmZHZANwDd=%a&ZLVNzR}kX zRYm2E4bBc%`4!xBIZ+U%v~!~T<3zai#&_?S`$6f_WB{Gk3Z3FlB}U*d-3Ht;lxa7Y z{Rj)NxH^~Ubb1t5Rl<=4<%A@?yMyv8v_hWSKZN!O28HxsUO_mi7V`JD`4f)m0I(Uk z`6(@}CZkKKTQ`W$gTo)Ug=SLUjYy4yg1i0(=Rlw0>K2!08^fES<&M@pjgsHxO)GC=^4G0Hi}Ld+ftXS-4FzK`z;TyzA+`4t$UWuCn06$tp`s%N6+;t~$ltK`x9ujQQ91bi7g5@ci;7{96FxSXw1WHU%5DLCI2gN>_gnYEQLj2#K96iqc3s z!14m`NTCVG&5QqBFMSd2>z==LsMs%bvEJ3H_{PVP*&U%_p!l;k0mINs0jz{hWC7X!~`rDv@Ukf_W3c6B$> zpIA&-PxRa3i#v<`-^%C^&!=%B+Y7;=#k3@(?W2TLfwDiVybJ*HJhL53A}Ms5`Dp-- z@#+Y@2O~NyB7TW&UK$~6*4^MH5U0z|Awy4AYe{K~MsE}_&(p}#Mh`YCvU%Q&J@LHf z8ijwB_<^48=!U4176n=F3Vf#eqrs3pT^(7i8BYd`(g6O zkmb{~&S}&rMD+Kj85Uj6)|HswFZ%MreWB=-gK~5Ujr=ycj40SxSqVdnIj~kZZA02- zJ;MPAbE7t0eLX&I`3*`2WC79%HpLg~0&~xhjtH!)x0-g{*+=q6)+b)vXsQ`l8mL@H zYU@T*7GUhCYP}4sxEb3>UgI+BLDUW-C(87 zC}1j1J&Nf-hsa21J{rn@qdEKs1OrmnJZrrpz8cHhIF?939P0{uZtJ`eT@oa{*L&~) zPqG>GKZyAP^0DFLBduJ!vxYt|nqFpnpL^D9?MLz}^7RXE&Wauxxh(i~W+=R=|5|PW z9+&hol7IvBLE@%-n1~}e3D@>h4||;(AWUmOVWB9Df>Z~IjNG&}9(0)-nu>Gr3q6?V zaK}bb=)LD=&P#%#n_I35ZnP*2Xs^`mKikEj-oX(`o43q*Ch6Wsto?I2!z>{V6{ z&EeD8$mg#PmX;`EaghwlD_-mCLg}ESrkl5#ESd(2ib%u7#U)#zAGgEsFV1xKoYgK0 zn)MF%TX@?4rK$V==d}?F*_q(a2FNeBQRk!=P!xo&qRivM| zdM5cEbs?1mguSBXz29|WoV@MDfbgI}ub;yYJ=GoUfcOTui%05rlH26oTPtB?_O-dB z#$^ZC)6cuU>QjGTGGRS;wfNbF^)xcbb!xq zXSpr3VhhKRXuhYVZ8v;M5q;4&k;;HWsteZijio z;%d-dZ;wy=)80Gn`~%jABoGo`;ZP(II~9;_G#n~;IzCr@N2g(XL-Wf2(k9}qP=TjA&U6zu80 z-MT(dJlAjGH@+L=*j=#xD>;Yim#9oun`xgi_R2_2PmJs#C|g0}FXa7HdYn6TcOiMl z%L3V9JgI#Mto={pAj!JHEouz1@>CO4?Vv+-H{3O8iD645pi`3_2HyTqdi+q%e(>5EfAD>+ zsrX&Xodrvhe+eoMDn5x8??M==ePCdr2dmTE8ZXM}`Q`$U#D|H>W#mmyJ~Z{y3L_ZQ zR%grh$-@mkS~^a>uaQfHW7*G)mw^txaZ3Kfoug0xtV+!CC!>|jZ-}^tOSo3JG(nUa zpFM;&vB>qi@U&?#%V=co*Picoj)Bz;)aXA=jt;qmHB=0!I{Z3Pi_;1-;FYr$BhksD z$&y0AT<$z~D(O_{?iITmna6S2#to7A2d!WsxF2wgjK`Kpdi`2urlgeKrIF`XMfsKF zLSi?vkT4ZJnRDwg- zIigP04$K&djNDW`tkQFL8uCy7v>;vPfUOsb(4#N(isR2iJ%ZjjrTia7=N*;w{{Qh0 zf}lpu1|%9?@LG;SD}`K8-w+#W)5))-m4dX8DE+C7yVhCX?82IB{&%;FG9F3U0U5NhVjRGSVRbFEK7#85KOz;ffsVXOoF2p3-y_&NnQ=YZ^q0HC5`DqammUFp8llFF&8zNv3_k4;*Om2S)j5|9H|E1@?t=B)Z_w!OkZY3m1Zt&?Ko zw9Pz-(p--CBTd28>&Kp);;o{P&wEyryHGp4cWYY;H58gM3?UVE#ZeHqyukWeo#}4j zIziY}s>GY)P6fiV)Ajoyta$B)7L%;3cTtnQ9-A_A3*2UQ%jY`1ORQ#2Y}R+JO5tjG zZkEZ6qo!Q(6S zbu$KHJz$O))4rziGyo8`vM4D7ZauB(9@R8N+4G-wj)TMbKRZY`bqO;4(RWCCW+))E|S82t4Wke!X3}?pYI&tD_Etj9Sp& zrJq}Ejqf*f-{FQebB-9=2n#f?A5sQw0PEt|Enm*fB_6`;yEFttFbxxf?VHJKDf8Zt za9Q+t0IE3hkO0S#VPWmJQftvFrV7Tt!%8u`lXajY z6)Vw_FW;v{*PbdWt{v^RZdm=5SXx7T9~au6wQ%h7?xeamtHci}6Sl622Sdy*Th%5H zIiJjYC2(UmW{7*+(djbGJdI2=Du?r)z}yhXkn3iLqQC)blzSu#1m>=ZbKNk_3cq`Q z^j5&v6W4ooD=kx@&Guv`ujDFylFjYngqA1o-^JID20eQ5X)Apz&Lk@0(1gSC15}ieXRV*vk9N(cJE9$(Gu0*QvG83g7u4~7ym)rH|3Sbxim*8 zOpp(9MGXWZWRoKKT($L&#wm3mP8AUPFE~R`%si+z$=B*4ONbToZp101$rX&GqtbfX zpdBhW2Pt@zlUpYL`_QCqm_`DM+j62od$~(P0 z_a7}qPF17lis!=KBOG{=K8$WtUARbrZ5Lb@Td}1l33)_I2plC7)V%thMqgx%&QRal(S^csN}vj1TF{heDN(6T|WVG(d*)XkF=~DvacF~4;S9mnh zRI2JDA$2jYXILQwdA zR~W`Rjf?=IJpqc03T4@AVikT{FSK~>FfG!tWy27fi1aER4+!|ACVQSXy-2fN7S2CP z-=*u;y4va0AP2f$6ZpGk)6@y|h^2i(bVzrv_p#4WJ;2SeyXLqRKZV`!rf{W>26x3u zb10L7k?29J@aqRUbUz$tZzJI#(oJxea9rvl@O1z3jVKfaJD;$QsUOO~Q2k19fNcfNBW1Rw?C zrgNHjqU(1sp0?3(TPj}Bg!#-L%7<7=sJj+4E;$HjqU_QwGfa{f0gkYL6XUrIr=~RG z{kh0(MvkSu&R!9p%O=iuHk@?6z41=5cgORoB(sQp?`}N4s@;e#aP%Z!_y101PcSvMA^iki1vY@zrmIXPm+fySy3`^f z5$sqpd{lhO*49nZ@s{;5b8_`*W=E_b`=cij#{HJfVY-hG~Pj{Uf$?tBlD!VH^c zD!Fgi;hY%wgfeaZoP2Aot5^E=Oqq)dJbd|0VreYbHH9&gK)L*1SSvtUnHF!&&0P=_He^}~T(;^wT$+Q61opl`&t$*Toy zi-f$aMF)pt10Q>q_!q|S-PzSvw0n54W?-7+y9%Ke+N7zNBu_VM0TusaSubUtr(vs0 z*AUnnhPTPD*KJFegn>#VJfn=bQxBEBF8sPr{>htD+c+!YrC=R4a{o^h3V~a>U{Yro zdz!2a1Vm}v8poN*(YYk?QnK&wijTn`Yl>a~;n{!C8fS*Z<~(>ria5|h5cJ3@PdI|o0mh%c+j50Tgi6N6Ld-Pv6uNSpSDJ@nnL zNc&m$__nb`9D0JdBvzJEg5lSyi%-U>7S@MPuWa1M%Z>U*wE$F*<`pj(Pg5Ha292nP z>cA#&eI1`Meujj;<}GOsRF=&a3F1p@LJAHao$04gGE{DhcUDRCp2{LhP>@)0+&lP)MJ4_2RcB0~o0yxfBlnrvTQ zwmC0VMwZJRDik0_Y`QIVdSIzzd@hmr()xV)rz@60=g!^FiT^lLf6pw98jGK@>E(Ep zjs-ZuA$xrYG39TQYOyWXi{;4ns%{DwyHvF_aF24!pcQRx((cJwM)iK`OkXL`T;!% zStCy0Ih3TeF6h2YB{&quS*CBx=4g0$GO)prD_pQVN<)^CVvICDr(c+A9*TOyj)8WMinRbqABT9ugJ`*kF)#*MU*9nvn( zjnm&7wsQhs0Ss*q8a3WbZ7wSP=R$@_jG6r{x`J6WyyIr#(kkNsXoGsOM-d^~_q59JW2V z-(Amo^^dT@?Eg=mtjs1rLN?qU;u%6d`HIeno-^9Z42K|(ctByvZIC|eV}H__^l1zZZNVit zi~YFN9-9xz+^S}g{i4mCb=Ct|bE`ro`1DBOjyR^BBfOmsSJqUzU;gs8AaW-mS+wf75*~PFv`SD79Du&M%kj@nZRQqFO_0Up z4aqWdgtCK(=1@upBW_){c^$@2bl>(3$v6cwrfaoAaMquNYly!DzxqyJCK~ZwiENUC zkqq@SJ$SVF1?;?}9ft}~N%?5UtY6YpCbUmzvcMf@< z*I~eOQCM?<*2o&GL!2Hhx%pQ|wPmK_-n-fAP36^r~S{LPd{}t z8!qq~`VaCj3)wp5n)~9i1H&P4Xozy0vmy)YsDXs~Xz(By_b)TzkL8`@#zB^CmvOj6 zgWIJ=qI=}8UEZpbLL`&-yN^A=v?R28pdi0>Pgq@l(7t2`pNa6ykJuqZk_V;tZQb2t zIPxNO=l z6+P{Fy&g58OJ`W!x&-Od?fptMIQo@{j4Cu-XvZTF7k2#&qOO}*@sMDAiUMCIueVd-vt}*ZN5Mw+y(~?>Nz!{1%6wdS#S=PFZr3EP|miv?Zk3iJQ9ZM%{POZNGPL2a(Ytj*TXHdaN zN8I$zvoC79j}0F^;XUe~mnk^b8(1;h9iLOPvFxtu%xgg+{r9LLh>;odV=cSBPaE*y zpEeg=&!o0lu#qehgvgYemr*?^5?UG4XIr~r;#=Jv=+n`VZ4p%AhD)DVu?gYdY@NUF zHHi}@k$t0}Q20StCz3au$Gd$b_S~fT-%(yc_AP&VsQ;cCx|sE=q{wHDx6?vga7^cq zh->ADGYAa~K|q5;720@kML;aS_|5dj&>UM~R$fZC8^0#e#+kZOWQe6|3<9n5<524M zZ;yaP?4YL4Yjo+v(YWOFp#n_f{=cf2OI3|7G5(-)XwwECTx)}wkA3vRWbpmM#>(Eq zb)660j&8EnTkElW1c9_G{1W$cCo|ELesun1D|u3s6k}@GaDJW%w&=cx(9wo$sv40t zi%9Pzc9z}*DUVHruW|{S2;!W_I$&EmP;4Udxs{ra#D46KVOA_wHnCV9Fi@omgldn z3vpF+L)cvXF8JlXr9!mH+j5bB3V(>l8D$JFGu^JJuxF}Nst{jxKekHt<+4+2;30?0 z_}p&kG7-~%YKK0nX_C1?{bzC4jz{M|P7dCyKNSZS`ps{Xd@6e%svjzT(wt8>%~C8e zp2t%cAHM-7A;?B%fil~B)YP!!6=&)=ZoT}Et&TW<{k+#%iz6%5n@?L;_hcJ zGA<0)*AB>(ZK*T$wi)_J=OFj(GpKc5PR~bJI_k&6Uw-}Jn10R(F4Og?mVtpFY7Tgb z`cNiu2lNqOTx-J%&w1%K+7TLO$Z`%oy~;|J*~EhX5EIsJ4#11nI~;t1fY$~UjXmsT zn1yt@-(DKWHEN_I*7Bw z^J++8#{0>{;@MB1ecH{`#f!h9Dh9Id2hv-qu!C$jcm^jr6v}xGh!om~)-kO2#H5gd zkZ~))PwAoYUw(uzydhEn;jVrlrRRwKSp^v1g22z+L?fwt7%$-VnYUfWx-pH)<=3j` zpV*d+Rf&5NL-#tAeERjcw7h2^_l>XbozV-&el--8ycr;_w_S;X{6SV4o*@K31&Mc2 zxVsk6zk^ZR=Jqd9*ScC6Oi}^CQoyjjJ6O@*dr!4<*b4`i+Hgx*499!?{SU$6yJuY?Pz zhzPg?WGs`Lfy&A^J=&c`6Zd~@wWT!?WTlNk@WaHdZs)VE zQq5f7=n>L|q+5O>|6gBtOtkKr@-=^eWIC`kPIKt?Mque3;G_j}!^l{F5%Nudp_FaY zNMvK?Bw?wG;x$3tu|pG|7Vg&{3$5(w`P1R3^|nYKhjTS&JAdE0&D_7kK#oNy*S>PK z{xt>@taP{IvvxhUSWQ5?>&x%FyjoiGDK3a+PYjF96Tcr^F6rfTr{TiDZCvb(ht{CMY5uAt| zTnU_*!CnYgSdG7b6v5A zuo90cQUv--BRs$%G>F zSigQ92X@OldWWd2S?@CeAJOXWH8{HS@oY`S@9c`akC#Fg1`;+UlyoH3KD^nU+QfG2 zsa`Iqy~^|FWwteIc}k&3=!XCD=V34omPxTVx*Cf|+v8a@Nn2)`@}UZ-12lUe^J-(3 zwu2iYg9j6?!1`%w;kq_@)XNFMwco&_U7GdHr>zB z4QuA-D<>Y#^W7;k$FCKqlAA5yyoZ`BWO#~ft=%_m+zb?O`6uDe|DYTBd}qIQ^`IJ~ z#!67euI2#x8)^B+cPT#k*T<2nd4T98X+Z{4ONIVxD*t{V>>cc#oq5?f{%Ik&b9Qv@ z$lJiEr!Wks&q#JSq+rs}b{k(q9XQ-rbdw=rVY9iedot(QEDtgP7R^KR_Xa*@au}9e z4KL9n*cr zvFf{Gl<`&0ZWpr536hbO6l;BTG{j`9IpO7O26n#|))P+Z7EsOiy!z{dP#aa@CN_>X z5NX7SCv2g{{2f?|zstHIZJfz16u}C%ZU@>BC@c-*Mt>z8UKZ))HS4qLO5CwuUV|Bf zHYU`@9u~=?f1=ymg@iM8M>>BKY$xloR&&|9G)vx775BoUlyq6MYUuKUa0NtF1f=2x z_Mzk%Xv3Io>^%dO|E7UPxq>&Y$Q~&mqBR)C;f+NNJO6I*Fe{mxnUJ0aJ@AB;CDEZd zj=y*65m)RF6YMa^k;1Wk9&eLVUZuh(M5enFTQ5$Ua2i2G47Vycfcz!wStUorC zWq>~&u*M^}N}>i85BnHnHfMu?gNhUsCJJRHr`I1h_@DwGPZ|34pu5(*SCFJ5ZNB)( zdJ~onNAI)WT#Q+oyT=}Q7dkrVvfdqYT-eV|2nBfQp2L*<2Nk(L9a$@$&c~3?zSA!q z<81=-N+Aj%%9!)m14iSC zQ-be&nyi(wSZ65B7cbUc&}9^QN1)hKNi__yLhoO>+Bkfu*VcAT-jZF-Qs-<@9?dd3 z;m4Fu`B=@0PbN>ZjCZLu>-W3%D^^RJZBilKn+Sv3F_m~jV~ZpD;apoUXtl#-CuiSz z4C3R*E19q!TgEH3IqD?FT8`jZGW}tqS&JtXY%-Cl!8l}vbj3$n#SSsVIMtPx)&ni~ zAO3czzwO((R(0lbY)GLddgXOE-p{gnz9+_$g=AGDPUYdw+D4@dA)@m74aiM3&A*8< zra>C#V=e5m)PZYBD*dC0zhm)!#x)frWa3%&>y?$k%d0qAGS#@_^V65dL1rAD&TvsA zoly769z0zS!lo3|PpSgz0KT1I7i(Fl*^!)lUVw3!;Os~# z(u)|{h|tB1ORa3_G;_Gf)D?UH)uB;Bn_0jFXP8695fWD%n>HU`JM+82^W9SU)cb+X zj2=m%%{0{a<%nScLG|S?cFPBU-LT}59ooVEdYLgj;lKI@^Rgsb${=xXZd$ox{lQc$ z2F3H|Y9XG=TlJ`$IX0p%hizY8!V6uUY$RHZD4?bIW_y%|8rtM_W-)rAymol7WW zx~dNJ++6#h56-l=(r(0;QXz$29qgU~x)|su!7IIEv563-IC+qyh_TmP z?d*xp?U;Y*SkJ!9ez9ta15jxT5!iLv_%GLzvBs1`b2-Yxcx3m7x_i56KhPjC$*rN8zHcy`@~SHcq;xSlNFCt{=WuQ5RfOK{=Rb2 zf7Tqg(i|Vaf=<_(BI7ayHli!*u5pMtJP!o=H1$Mw*!&YWDTD-n>6wdVzr6+y6=f+h zE8o@HmG7Du`1EUc4~zH^?d^2aKwpGoHDereYR?HD*_4x|=7i8)s#Rih zJ`Da^&8BU!QZP4=@iPzxi~;q-WD+& z@z-^Wov!ivUIHpXCm-^5G)fnRU#q=@tnQ+%OE$Y{kadzv#=!WK*&Gdi0s~WQV<$Jr zCT?hTZPq)b_r^PKZ!Np3IXB2%$IY^PX8iukL$m$!N4pBMcl-W$Q48kQOZC3$g5yZ- zGzb^oYCJ(|!{^>4ZglVHd^qEPdG~5CO@kNy&Vx)8vJ-=0+{7U)+?nvDcdQ0ILGjf4 z{ClO??1?Spau_Q`bXE=tiC2-fVO2Bc`NRMeq0C*0Ic{*k-RmzOzloNb%8g~8dIEDh zgKza_mwYVvS=#*8;e5hC$?Wnc_?aQ7bsLu~Z^S6{N-3kqE6PssdApcMqEQFYlpQNQ z4xmY>oW~dbp*_JRj42FSfxJ!G9x-b=oBqH%jSesc1Qc;v-eVs?SjSk_N=0k^c}1GL z(b)d)mmse_JU8-jCb)TH+t&hhN&RH@=b9MblG9U9JYRl0;^)Y!_8UWmDlKBqYkW_w z=ww5K&os~ppnJ)MNwM=`eE}m*XZxd^zqIPwEftAy0legnmmvv(Fm)p~V;?`LJb`gma`vFxK|?TN#A|I50%F#6*2k(AW@0S`yl6G=f8KqeB4mju*3LlSy`0u zaP+bM7abm3UXWDRIat;|X>h-?W|)k&W_j`s~;sz+m2F zS>_Df;Eyx9PXIc&!n@@ZXS?wrUI?`vXVrz8rwg`MkU);|_Wm*s1lWs&+$L;e>%UI6 z?jKi@E}neaIP^Ld67j~(mzNtxrNYTQj7GDlOvo=xhIO1y=N=J;<$_F=BH~qV%izH8 zwFwc6ADZ`i(kK(GUcd@5t5D*@a|d4O0Qw5RwMI(X!&5wtgaOu5ta)Z@e}UC* z<_rd5Xs0;2*PZIAtJjh&>C1GWw%CBJHN-(Rlm9WUmQmy;HllAfRkP@BUq&m9K)!oy zVQGBomy6A0LP*)(wXTm6qI_@1>RSa6EL_P}{Xa2_DqNh!H_)G$@);zZVbj{;XF%$q z!VLogU_uQc>W}?Y9e2HUe+~;q%%#W3v5q(m+vBUlBrLlrwi8m@uZax;hH`)h(d+nL zIkM_~Z^)ym%Ch_S;t}gy*Hv8WB5t(fVxEYPejXUuFm%0Mks1i+>RXc8EQ%BQ> zg;i4Q!;8DvU<~9h5&(X9n+2BB{IG|ChID5LZ(tEVx z_CF&NmC;e-=Ph6NL{-$5ISeoSHuZGFezD=W%;YvL`2Yl~lwcgOwpwj}PT-9l_o((vs1ajMVWzR&LcD!DpcP=v=E%*#$Tzv6P z^Man=S;y}GsO^m`+WGY$wFsZmm6F`|palt4XeeRHPP!dgmV*IhsfqKMEryZ7-5J6qj%GP%SHE5lvjSLrw(RseJCF0Z() z_iJXmgMYgP)m9&0{+N1P8HncrLzXlN;SaH*am)bx`|MBJ(vV{ohz1#oFnI8pro-T?(5Iu;vTTwF%K29@3} zDg7PQvoPFQySw_JWc!ph3T~NO!rd&2FS_q~R}JFQe|!lO0Q|vu;sYql&J?QKf zy{IW3ow^YD%cRocW{W|&9~qz1WCe}INXf+OOc-_(<9M-f`?z`9JUCoKAZ?UN9)l4| zj?lzy1fCIZ7G73QnN_aH*KljYPfJnj^A)-IitvH-o=f*87UO?Zst3DV6p2?FI;Sjx ziKbcadlnhX-5${1@wer zT!viT&MT!UZ(mz?T&N`DnHng}Z^8#7K@@*5Y&X+mCjjQpg3L*pFXO?fS7}OkGB4*Y zOUrt$VyQ|EAmC?m0pZ3-#GK}majTqQO2+`xzaKlE1`FvzUaq~~EgCj7U!kipds2!h z%N8HT+pKNm=WS$5pAyyr>V_#dFMG*;Y1z34nKj222TE&37m~#9pQ6|tdw3%m(&eo3 z>o5mHjNE%MX7SHn3kz}ne&kS5I4}M+$DSR78QEwdKmmUM9-UXC*BVQpNFh^H^NRf^ zE7T6hVQoxy{?b3}CTRNlO%B@_@mJ++fA zwg~jxE|VKmF=7Y$GWUZ98R-%SA$h+xF#tChqsB;L3n>^GMv75` ze5`5{+))wU9+u&n_oZldE>Q19|Bw38o=wiZNnWLYoSa^Tdw{-a9G2d=DI=vdE&zh_ zOSJCN;NX-Z(FW_4#lUAZexKb z(t~9k#7DEL4tKZVhJg3Sj{QjbciJPMYp7zl@?1$>N#}%*j+PAU2WVR%|T- z==BE&lmEE6@0t52ljpgK`=K*ud}`fEB>FBz+{dTb1Ld2)?J((X+R#J7RvJ2`(H0AN zXEMFMe!1L+M+<0ph0r$q`gYxRUDEpgxU>I(HQ#^GUKe@Ers1Mou*z9Hd(fZ?+dFMi zg>e9D_AHD=Y@@`325izs_V|^*ad!581dH7UoPL-z9xgHnL?){IuHOOX3zoavah7&t z=q=1!B;L)+eFEisi{O}1mC?)%1E6l?wWOBBir&fJ<$8xej;mu~X;(6Y7$YBQG-2yf zC^#;gED1|)t~hWuRbn@RPszJgKS8rfoP;~^No;6qL}}Yiu;+8+dh}y9vX6wdulM8B ztvT~5S_9O}iBs-I8-&aB8Omj?kh11?gYEfJ;5(0daqdU-(yya?*2!De1I(C(?FNG#477}fuSn&My5Hr_ebzhyXa6yy%;Ykb<*g?E`k zCnqbp9*4|9#BXUB!i}Gx2>{QBZv4|-tC>$9#OS!SPkmf?#6K9S%&P%Q_A`hY_TrW~t$4zw!7wKqZ48%u$7 z>q0Q(R`;V(sl*4eVBB{p?Sn|9L~(7}Fn3@4UGZ0v{k_E>D`y5ieU2I`J2yME9_%u5 zUiKnj9TaQ%elSJ>?T0gWo^ZGQNkWz3VJ+b))ATX))T{J zuhfB<<}_<9z)?vh@?pkR5HeT@!7*YdEt9u-kwyJ4%LWRb+?gME)-Zd2ptSYYz78i3 zG!>uFr}4HWJQE{{8kZ4>2G2xgcwPX+XW*X7#XWSL2V@sp)3Y6=+GlhQLL}X!>{W8-Wy#;qekFam zdcoa0s3~38-AZ~CHf?%KIS3~^rpULakb8N4m3v^R;0cFgJ8*P&U9Ee{GXhJfHJ zhEO^IU=t8tQ;B$gxeJeNYt|h*`CQsE?Jr=c)2Bc~Lvw&$Hr3hk{}-Z!iC*hfps4hy z^6$wqpU|t8I{!h2YK)YbI0^9L9k{hrJzTlC$SEfHn;UjM#;k_R((TjjmNnM>@#?M> zW7g4MK+-0P0(4%YPSm*X=5Fk0dt;N4S1TwWK9%DXC%riNXikumi=JfQy~*6X`A?Uo z?a8THo_#A%>4jF!gHpB2ddxEZ>IW<8_dhrVQ3&~nN8bmqJ-~s3M<|J}@|W0*oMj3Z}nx8=*qnT|ufhkM`MIA*qw zgM9Bwme@0yLNPt@#do!cE7gBj#MvF> zcwkUpvG6Py4Pp4!<_ST-igkpxq2v2qiMmKP32V92TH%1t!inD+i{lR>e*yh?Q1n9J zi|Skg(+$U6VIZU~R{ei(UiHBA#dD8KvMLIS(h=faQE)W?9|j^{W0sw z9;N%R^Kg>Su6mjT9)XW&9BupT2-3;BL`=n(2Z3+=_$-nur43GeO4%pUfQT9m8|JUI zSwA^?C|OMeH7?$hwX|fu21joT2-Og|N9ldM$X;I7h^{N1DeyvYKb&~~`SwhMPh_oE zM-g>Ay2!^cv2wU`@6|Ia*Xv;*e=ZH%L+P`n+YNFYuNCCoPSzQ8Q{zIL$K|-?QqAO0 zHe}t-Vff`6o!^NiW1VankWh>^w8?11^I2{>ev=`N$ufyH1Wyst-3Do`S_B?AabD^L zzkOS|w0ITVX?xmghKq6*7P?pP@PNThb-Kfc`wMl)^AT8c6kJ$;oE)NnxR?M+ zZ^p^5xc}cSt2+gy@T-PUKy>{&t%nU+Xj|E(3zidhOr`K?C_ISbC~!;C_5dMW3(fWz z^~j#RkaW|#p$yoTF97uG_T)=Z(0tg^UY;lfjuvMOkvO82%|h&rUcDPxM1^h_Dw(Tm zAKxt@=`7`^eER(!X2sJH1w`M43t!uP7C#t5Ir=|uCi*u-lHnXAvj4S+>jd?;x{s|% z`qWb~KED7wnPVkI9;5f_kA(~!ByqGTuk>{{x00xGtRx0w!ugGRPuv4e{s0-u(MZFF z#uA}eaGXXD#Zm}D8$g8cjT-chw%RQIe=>E~;MIAGSl)=0Nn2hmugg8C420O)M84+g zcah#hpBH@pgVbNg7W6!Ro}2s+(rajy#J%DbMU8h4&dbS*yf;+5ibFll^-7WNgM16e z@bFyNDc8g1MG#X{Ms7R)`F}f-TWP4T!(z-nk;xGY!#oxVg$>T&bA-BNnPb}gk>;nG-f%E2ORoA2g~0Jo z$SWF(FWu=p7eC(X8kN0dlY7$Gi$GNTFkzA0DDcugP(S$GSUANP6*s5K(J%+9JTy#{ z3Wam?)fq7l3?^Vtwz2YmNOp&iRk|7z5)uZvajFSHp$YVecG~bjEH+dPL9Q*5aF0Vj zLk2&FbWBg1)`Y14gP;OcdO4iq?va>Ge=oH<$O%tQxmHxa!aM0{x+q12j&Jxp+;*R~ zSkN=_+AECs4N_wqH?Aj?P^`ahZnI$=tc}L==hKMj2ee-9`U}0$3CGT# z7_HivU77bKY3nFB$8py6Y@7Zmq^}0)IF*Q{OZ6l}9ZUBi1v9P9iq=X!nb8VU_+d{b zw{1Oraz4c{2F_C>{Dki87)cnHM8=q#I7Jj-e0~hLtP6bC&OZTCFtAp_&tLK&kb&KsSsR zxs|dP)MJgPH=Jod0-$Vmy3(ch)v=E;gvK<*lR8ooZuy`}66I3%WZZ>+S8 z_)&SkICNohE;jPPlk?b+CWOD50`YW= z1R87&PE_tAFjq;Ju*C-4BPZEAH{EFAZHBjlZSNl3H!Vj4iF;Vy!Md769^rcso!zV!4M2?0-<*k0v;Ym4~Dz*;_osbE+CSAo5SZ(AqjO^3h!g;Wl^!I zSmm!$d>poPbj$3X3RVK#bhQwYJ7!ve$ILn^p7-&F=L1+1uJlM5C8RFC z$t*z|P6X}KI{bc{>m39P%4&ycSUXh6^vA8)Hak4}>}6eT9DJZn#c$=hGh6HDrgf3%<(zfE^-ZK2izs zRd57oKix910nFn6Z3VzCa(ZNy^1^4__bUB6tME`)Tsl#MRTm{)ohZnR6`f;ns0^*WXtG1Zbk zQh?c7xn^wVXbKm$IADi5@Znn%Z-Zn-8cr!L+{S$?iu{4lu5}r$E6~n zZ8YvXP_BF6Sapz1YFmpiZ{FIm{AI(56QqWaY}fvK7iRy1I7hD?l&zR)rG2>o!A`Lc z&M0|v&~$wK<3jxcyeXte|BxXh855ZbftKncxoiD!ipbv-MN1?1tu6|syB?O8UrNuk z=EX}hWl}bc;>6Io;0NE*ph(pC-Ov)sAIMp_{i*HBGD}^^f=nQm>bfB&nDm3C|7tBZ zMMl`|Pn=~?$W4YC%6x(q126FKWk|GF%EiBr&L7FWwJwqA{!ZvYG?;n-E|OB(%OL0X zc0#z{)3!H8Kkoo5hAoNhu;%|8{@~Z=rr8GJcxB1rQfs$fbM=?2ywEm6a+5)B*p$ML zgKA0HwK_vu-RAgxw6oOKS%mw#Y=0SM-IZX|%^7(&etpGPgmdVdW%B={=-dOD-v2-T znazeYm+Cafu+CO1QbU)GVd{5=6x~&XqIAQ|ov_WJQ)ewEbeYjfp$<~HhwW6mq(%|t zlGUcUlWVT$_x}FvANHB|=lyy;pU=mW_*=M;>D4whl;@XgYvAcxa^Cb@`~29M>pM82Vx$vSdL#6K`iQm*EIUE7_c;Es}GWac4ezx;)I@HN@>m-pp zg7{vS^aabL(NIqsvC>Y8#by(6=2t2q>>VNDj3#O1P29R?3LE*d#Z3sA6cEw6W>fuI zk9xD&)+1*cJ?ppBZ#d?Rx&l12rmU*A+ch>jJkzEW_ve>x7F|b?+`$czd{3R!zC?@qS?H{_sw8sC{8b zNWxUbKhF~gv9HF%5{DmilOQef`r2SP8L?x>csE!6wbSXO*d1bZ&y2nbGTb8wQL$Vk zF`8Xc2E{j3@jpZ^HB)F%4I=m7pPfyWTaJA6#2D;_YC>s&EH{fCI;ePcOjTv4&-<$0 z>BVCp52xHxAJscQ7%}l$jv4rucU!FwXEBaNq$tAsFFgLgp5s@j#Znzcwe~H(>nWaR z3z^V<^IGo~kI0P@|_ezft2ms^-gK-}`L@l%x@ zBg=}|xpni05fJr`P@GCIU(dfLXD z+psegWJ!F6$V}VuP%6nZ=JM^GpE?G2m`b_P!n63}=CH2WA zd(!Zk9h*R61qF&&Ax*hRom+#VXmO6@?qRoKwLatd30mNX7BQG_|ET&_@(Xt8b~naY zK6vWtJJq#Fjc(cq9uW$ak;$`}O-URM5=Jy%-hN~(B&4FM^~?m=fft`FXs?Mqb^X(T$i-(7)DIwVq%l^-SZgE=Qd5`S$iZ9dw; zkExCzKQApg0}#L^VIO0>CvcYBrgR-Bl|s!(g)}CJA~UiGBrb1C(@hy>a5R(TP5iE} zC8R-W4exsasW{0q`OkngaMq4cs#--T^t!1p+=C4xnhZv;Y{}|Tg$p%OIxeJpmhao} z;y>vB{(~Mby$id0Fn74Lwkq=Z#k12DrQ7#!>h=cUO~{Rc0eoMJy}-4K-bc35&#Zc~ zzZ!)%jlE^6@3&Je^(v9fH;LmA z1?7ms2E&+MZz;12|3Owx4HpYD!oB$?JNLzWybRpYhGxC5)*>FIjXI5?906r8;(C5S zy11wiBgQ+u;4@%~c=KBbtiVXVhScd|U1uc*y-R?rQsk(EWrlOP6OXQOb)wg?rn)k# zHX9sT+zl~l2jts^a~4-NJ_xD=dx!h`iaI-vR-MglEUh~}_nYK%H-zH;0`bX1ZH9Ck zi5q5AhjGxrs@bxTf=yM15-mOB_4y=d^xKlbTUX2w2j;8J6kyZcX3c1Ykk3Ps)@*1* z)%DN%abzM_PFZr$bl z1++>9o2`X{LKQSQ9HaO^vR_*`{j|&9dEicc%tUW#&+?e86y@+N`xID?As~i7>mTo* zZrwBleA2EmeJyup@Krh_rpQIpD9TFN!nD)dN7n~!7JqkBL{G%%XYgstGxYb|Anm06 zvhFD{p)a=oRcS;sKBXn$ZtCLlSWfSMkhUQog*O2bD|Oz68Y05N_%Jy3py3OCqn!!? zZ^=@vuMLXocU>u5dF)?KV+;a9!!&*CubxUfD8-NoT*zjhPE1g`D{axJ3(AyZ!BxEy zl9CpzwymX#Lx#1d9?$8+UGPJTS?OH6ag%b9N^itY?yd{sHSg88`Jl zs&h8cp=2@T$K=?oAuRh)6{-fVX8;U?>P&9>i*cB0Jusg7{4drFt&dRHDQtHsgCZ0w z9n)H+J*TeMC0wswca1}L0mzK*SlXOb zwf^E`@6XP6J=-h3lsG;9`^(E6U!UAJgEc4D@k(SeNi^rvC!K%q?A?e6L}VyzAqTo` z_fxPy9b~=;+;Fln=B&;8tMbrK8UTi-!rud|8Umt_HP9?>1Rh}ykSY$hgtp9;gofzW zsN~5Q%b|{ns%KRX8qv9KZk{yA*uGqX1h>-6tY$j&ix|${cg9!ia5zg>MNHvH@hH^a zGb^eY7lPnnG$;T1Hr{Q-WM+z7Cc{v#o!eEQe*6&Gjz+0d{`SBdUc(sJ_6Nl#fClZBNqpDQ{gNqyf z`lC->(i8Q4v%aeT@#8Zpn6LOS@N2-&K@kUT)jqM7i8b)(wI*l9@S^pu)Utr{vlIU6 z#{G5uRqu!EqP#D3op1H|^eCV2>1Hxl-6IGQoqjbQUInitD-T|7I6KTt@+14P3~mVv zIX0=XuGvSe#GcOZPvv0A;J^;67X%oh@^O8|G+(G&6}lossvTYzyO{=1baJJBI<4gI z3!Q}%BWLDU4wNp0y$_is9Em(C`6_Xtblc6kmU_BjvAkDmY%ylPE6z6L-wcq#l?nno zTF^BcKAUuUX-BJ-rJghsYrboETjh>v$uZgLwY~`(%_Lv?t}2+etAn!~DZ3lXro(ck z)rVu}uy(6hE7s_t;Mz9;pn57-nlS7!~^Hty`| zo81{^`&-dlF zQ+>1ZXB98;*4fNcBIame86uKA=dN%YrkG&OnI3a-{>{sn2MGXn`(?mKT{b(PRmla8 zTJ;PSHhb3u1tH-Gj$OKK%k9k~_QYa$q=G`BNQ;5p*ue8r9!-b3#naLIXBUBYzYp4J z=_c9p^$8k=)#tkttyu2ZVhMUp%qeg9qrB2P4Ye0PG_^17KGQdQJQ{p}bI*@jGRX>E zu@e4?>FE#%4%f&F2Q1ox5#zRiy5|`ol9^sLb?Jt;4Wh?t@7b4AH4leZ@m({qZ z_v_7#R8Y~vb03hnQ4Y0Y#1>mt^A7z7vB3sE8r)2-^zLsgttsV-^ukcmALb`YcLoJR z2~!xt%z8$=da(e`!5VqzOHItHRmG0+`m!+vY=EG*Ar_HbT9xXdl_^`NhV9V^l!`H?&D19=1 zGt&))%IpwKByfX%fGLM?xiA$a0Od)|`0o}Qv7tm*qR#VyjC7kSXtaM%D$G6PA3F0f zOBX0n{JVQHGB}^QgtUc66z6{_7!v~L-c`i=%BA)jUYQ+@Q)wkUG=9y=X? zpAf^ll8@6b>Wmf~9C^cjUh1x3>N;S(@dyUz?aQj8+K|Bv{`4_(4D|ygtuh!kuWl9^J+Nv*W3(D z5FcyCW>Yi)gFP-}Dy(`kLtcnsb-EK#h?V!laSSg!rJv+zA7vap7r7W#S5@{!Z}!W4 zNMdEr#o+ll-$#aN3$N!5(P#>sV068PJT%GN!A&dNsE0;J2pbC6a>}d((DNMbhW}k8 zx3Ixy3iL;mHW)l>Ee7>O@#~#_nD$}xt8}!xC4FZy4(&;IJyDQZ72Gk})lhF;*>Gm) zXYaChR!;K1ZD$VD5${=LRF`2#M4ArgrVp8VIyiJ(Ges<-PD`;fvH{_RZ}hdCx)dWh zKm&H}7 zNjx$#*AuyKd)bj=mLRoHN9{f1327)MA_O;EWX3rEe|tZZzp^bok#^4w-+JLxde9)L zq2k=%RpkKZfJ_<#(W&O$BAlVysBlk~vz`95m>@6`Z$4hBHj=C_EvDm5M~CO5u7S>;Yt@KUv2~3Lo@j=mj7Tv<*9%hKt63Dq_i!*N+%Pp zH*O(MZ@%zZ&ods&Dq#y)B;5rCIP8g3G-)M>P92UA6USAAU<6MG_%M0*W?MlvE6;0U zLT9>zK6Nr@pMBWe&f>jvky3vvguVP&kf@qI=%C40AG{@3v3lS^EEh*x+F-1L6l=!V zS5hyx1V+~t5QDJ-+QWBE^1_(y2~mTA>$F$k^MFcQl*PX!CJZ`r4eTm7PIu-)evZr= zQ3FzyIQFS47U?D0`q6ykT7m{6 zI_N@tR7pWORQq|Y`x=q)2H?g7(NN;(BYLb^(tw!oKI-qGvgx^GpS9pX8efk7_&B7o z|L}yw-VkjYi?D$ci5#S-lOF@M(#t3y1XsDI(#wj6T!GD&A4P5Pd^Ey(0R)`0Wi(U-4hZ*I$U)0{hyo1f9PNrVF7lD~eBLo^(l zCM&+IMeubk-Qc*DUE!=ohjp}qQ@mpwJ3iF!1txM3tqQeQf_GNhbl3P|iF!|b?}L(r z<5mFHv$IzdGG(>KrWS}f1`J&l-;GF_qe=6zZEP^GY3UB}T!G!3vN0B8VzLf~Vv}~W zvk>N*Xe1+E5S&K?{5 z&sMb07dC=@7T(h@rlKWzbZup5E`WnPRcg&qe{6AaX7_co=bE9JFntW$wF= zYzb`eB{x)k-00pBXA+K`ZRVoKe8qi2%t%FX%^9!XJ=5EbJj6BDCBNY?V~k;{XdB*= zdtPf{VqM5w9eTk>U3>A(^9k>Tu}`IIZ)C;phnuSb3D4cJ9K0>-nR{R#uMh-*La$T3 zxCntc*u@Gy>#XJ=T^t$i{V!0b1SBQ&IP(vg<5~uO0~Lx+cNt(gonB05K&o;x7lQxz ze^7hQueEj2y$x5-FU8N)_@5_Q?8F(RT5(m{e=SxMafZN%!qj%JpiRu-SjX;*ZXwJyBj|Jz7Rq^ zOQuK4JO&EqO5%GSz9XCkfCE&Pial%Bln7Ld03&fTyAcUXf_M5}``(&;TaW=Q8hNQt1@bLjM; zkjK4eLj3CdE8i@8h3wP0+QVhUEgK`hAK+$k49stXmB{z!B~MM+G8055i-d$-GNcR% zccr2zfm!CTDY?m5PXu421OyfN!i%8H2XKQNE+36{kh`?l2`>qq5e9&D=y<61_p}9Q5X}km`s-X z-?G?U-CnhCOU6{RyU)H^@2>CD!57a@^p_N7$qu+|XU~x0KK>^VgF=Nbw8!LnLKclEo5?2#3S%y^yefvjp?-_99Y4vnjylf_` zu;zdpYkm8|35UU+`JR!g;L_Y}Q>!k_JoCQjmj~$GW!=XscNGK$^~DF{wCtb3M9!Pc z03>@u{i>G}nBz>(-PrW-Pug?O_!!N4nq20`bk)6dJL+t}>MZf7TUT#?9C?I8R#kks zec-*VWX8ZW1l-mtju2* z_9XS|XT$chAenQ_cWddp6hRara{K9olxF>E6dC*D-^ZcSi4jh{?)PnFIBv?!^T)Nsil;-5kHh}WVtC1dD4dechQ`@HhXPIBREa`L~0@V+K;b#znF{-0N1L{fPuJMe8Pa@> z2^3UL5U`t_ZQz1Qm+QxPo{%pIe-9%f{33}%1cKTdvVBMg2&L+@abd|i7PHcaN{eS%hArd?xGYF^~g=> zHoaJ`CT#CGw5_x&yd~SR5XUv{ipaciGlR>W>|&iSJe&FXvBTm&rK34z*<4;oXld(7 z|C5{N2OiA+9%a&uGw*t$E1}>39Jfc!p^3i>_D>&#fn16G2z8YNc7Sz1uQr0W=H@e` znSFY!tlK_57@NUfq)4}omo%F(L_&wDW-2_D8bwB7Z$FKW_v;uaEw6eP=l`bbYUSu? zSI^Ku`%>gUq3qB50pmy%Hu0OygkVMm@_Hd;c+M~ib#5!m-q^m(%!NADAFn@MOsyO| zrY)ONbM=ks_OmKSvc-1C)7Yg^lJ20V&L!ixOA}y!gE}BuR?V# z$(!wFhnKB;+& zzux){5Y^1rI`5o4oQhDA@MiWIDT={!zf&wfH7$xl#S3{`+=!-W_UUvQMt;Aie!l<3 zbj9;IKv-Va81FM&@icU_>G!HHv!5gJ@RXa5G?_>?2bf~SdqDfVCx5+Ze;peYuHwAX z3KySM0k(7D?&seNJL_)p=_Ill9fI9J5zUw{^v(D50pXvlhsFr+ljp7yDKjRHcCXK` z!IVVRweFkpYVs>xvi>sacjGL-HKbwf_)y~VNuQ6aXGt=uzy?xkpaARySqd-fncst9 zIqmOa>AR}|qW4(t%OcEyMW@dvSsZ%}k;u12Ayf}xZ;Dk}sMVHPCM&YuC^ZzhC7JL; z1Sf>z;rxBRK_w+wf9I+5j<$x5Hc#q04D&0m&2K3Er#^98?a3o)YrIh`*S$eM`1z~q zEPCL)q)-YQwF6b2*Lok+A2_f(a9uoh757J*(U?%z zl!oG_izE>*RteDep?EmEKMo7ILs;Vro!R|KGv90>6YaE}cIewZEC+o?!~w(IDY-94 z$LkgLVE}Ih%K(yDAR(ys@#Dw-KBL(Sjg3BAZS#khF6DeFOO}rR-`?AVHFGq@sHc}) z;ziY5P_FE;>Hqdf=5o-6Whd6=Y^4g)zD9`geWq^6heQ9gLjM}T%ne-SQ6QB-A+ z^1I-0=$t#{K)(ZstS3h*Cy*@>*K&A;SR*;Wd4^~3Me{7X7M1B=uaY+sRtf9Ll2&d; z^^LvyMj6vvyY6?j_a^5R%5I;_3_DUKeALxjSlY;ibA!zHu;PtoUB8@_s{^oFv2YH+ zS)Q(@>IY59blI7cB%smjr=#9LZy&e?#9^>0nVA_kZmFp7wEZwEc5C=P=@Wuc#vEFG z`31Wfg$mWZ7wKJh@j*q`-(!s@cUe2coJi75vJWef9X9rKF{2Q1fngS;1+X2v$8<*_ z&ZZapt|9P{;s0_DXJjwDiD%?%;HB<@(V3Cnj^h60QU}e0ZE0kb*_>I8G8$m@T}|@+ zuE!Bt2P@zEguV+)FibZ%O{eS1M9o;?I~I9JQl`NKt7xI}u=OV>Ji6BqRtu(M2ZnptS89+-5Qx({|3z)Y#RlZCGVy( zw2!XS_jMPmU{u3N2sAOd#1rWowf=N_ur4~IWrnElvz`G0`5B^r7hmt<8*F<%3G9>b zWu1@N9q+9MK%2;{M`3sA|Lr98uuyxIAmgfQEeCa~PL~3(-)^q!)^YgD{3i~pZ>V5; zhyOcXS6)?id<_J5NC`5IBj$^`>E9e}*q@-^9h&@K88Z{O#nNSmUM>T*$7!TdnYiRy z>lZ)vJ+Cy^K604$DF4T#G2LC<>5lFDQ-!zKX!>WsJ-5{_IHC!3H{ZZSkK~SfVurG? zK`>tCC?BUD=s<-Nd4~g@1v^wr4BoY5aCXn^_<)2Vu$jUnU$xNF)Ah}2p}h^EWXI$} zWi!{b~+%! zl6?gk>5QZRkut!jy};q=?oDur5kI8|qY!q&+~GK*PPRb6su_?VZ5;%`gp_oO*kTiL zbvZ~h5m(jSBq3j`JQBX^WNace-6Le;<`S~PFgdXXdB*&d~m6B zM-k!Cq+%@rdc}9Qh>b=B>5o7K*M6Gr`cYAHNVcA4dKXcO(Wav7Ve*SfH)`t}%{lSY zRX%e`C%T$HyzAT`$BYc|uHfgU9Iry=tb?o1K%+z4sJW}1JNo`4T4%|Wc{d{wZy0(4 zt)%@r{bauf&(d}97&SyfZu+oE&r`=rHnc3W0@Ag%Yz1F$e3P#0!>;WW9Z7cw8c#Z` z*<<#(n?Y|e*ei(0%xsCo90J)5+Y|3M$q9?E3|D9&qgfQWdVCM;Wx&EG6l7eG$#T%7 zqrMQ*0nJyt`3;JBtC;{gDoc}2zqE`AwrbOI)Z3`|HMinf<349)6xh4`>Kzl)=#^C# zwgDK_CDpr-Is{{43Fn^jFu!_(6g$zd+fxv8^auo=VYmWmfX_Zvg&g3rqHo;Ht=Gk`E0_BH5rF-kTsE zoynow=jI1m^qjcy#qK+nCSGUI|uK zJ38{{Q-f)LW-(qu=>RAeR7MYF_(bdYxxx_#x6#Te|FWe=w5y?2J#k9?;D@pD^5;*S z_X+~ZbIbw(DE_^a5RklvzGjzUM7k?HGxPZf*kv$aaEOJ3;W94q2mT)Xay9v7qUyj= zuTtK^%-mGvU8}5XF~H^eDhQU<44#Z86se1mLg2Fjrog!r7(26-kWMj?#D$8mzdniP z>1EBa6s`+6q)b89urpZBFT8O-QZiYXsTCc?kZN6;lG4Q%Z}IEAxa3pVG+*xSaA9mI z`L=iHaL}n|T*zhM#*0tj`VR?7w80~W#&q=8StbN0H-lX~*nEjLnx^iJJN4Y`rJlPC zJ0kJ0xE0LWl_}|-UVkKrB2$s|-63_+evd#-JVcS`qD(xOMk>py7I*Y!B1-D~>f^)O zn?N*w4QtC!_&v-iLDYWqHwuCqq-D?3DZX5#$w+x4Foa~wzXAWPyxXe>Dn|;*dU~Aj zHdysU{*uz|4ueoG#*96jsSM@c)1WKl@0mcMb zfCE4gVxN4F8E>pBg|IN8z;Gqyz8n#>n4kICUF7?0Q+L7jd~hyF%YUitNFEyf<@(7B zAG~W%^w$n)+Gj^IeE$Z|2oubZHf8y)eD~3dMnhrs1N(m2fsqnfZsK*v$_^&6<5mcu z)kcT55=IaaavXMwY(1gY=cNdY#`eJj#3q~FHElmQUJkKRcxDF6J`XGuOWQ|&<~$s2 z^4OVpw9|jOF+lIFE+EW3V2Q9%az*zj74m|hqzm+;z5$t4X)4nMv=2eeBiXts%_}x- z5-#MNd!wPM;9JEg99Uf0NH?UqcC~~!+KEqxvpgbrq*$@lGt0QG%cg!y@ly@UDXo5W zm&?MO-*mKkjQJvE6p^DYSvewGKM$%A^3fzW$zZgIw6rrstX!4*!nj+h0)SAF+@yG1 zG=855U&(QVHGz~9ObQRRWqMg(Q!%92bkaZ3DNX3ZY>`-@H_m7)tMaOATr>sXot`lD z@K{yhz}bakkNQ17?Bck->AqY88NU)_4RQ6WE(LD8v~jIa?B*!$;{GDXw`lF$YDU`- z@{bE1qlga_lu?E5lmWTOKmOz&P{b#F-b*Vk;KvG9zRctXL|^=S5)d{!mtLLgthl>p z)`LD;Rq@=XciH4$*^1DkFSYFYU7ONhvFphFG!&aVxn~u)MACc>nX$SrcWOU-zO@)* z7FXQ9`N`>m04<$9uU)QhnY-g5+eFm*x2qe_u5Zvx8d#YTuv}%(s?V;@HXc6`cP=+5 zuP))dA*j0@te+ChlnAb0TsFM$&v2B9d{A07e~lYg)kRt5af<0M46a{ zv*q1E$0Qy*_HaWSd3uJnYNnedX)Qx}S$ew#a@vpDD^PQ6Sb#G&jwF#tv{M{m&UEGD zW<_s%ZcE~P{K?YBiIL!Dg|j0(9Iy zemL8?v}3Fx)$!@Zb>*{vBDCV!&u6fiT%PW~n%~$a5|5SDnkS}}Dh9sLkNxLM82f|b zgKj5mj2|cOWO(SOM|_I5k}$mkZ^`uF;L=;TVnRbuSNX!9e@(OJ?K;>#&~<<4*$HCT znbLaenqPW8$xQYG_atng+T_wI;VT%QWY2iG9>B2DAGfe5G^CI9a~{&*Ep(u2%p^Kg zQ}|F4rIhX6aA};x)o=@1rst_=8 zepxOVDZH3|$&YEzR>WdAYGOQH2JL3)Ui&|=GJx=G6DSDob8xwYjW>kk2UyE%?I;b23x=fI|c!o6lb!!)n~rZd2nnr@yf-^joMv} zyPo2x>PoG=TkH0_U_&pByLAF*-~#_|9BPF)v=Bz$rT&FXV21OKm9``u{5=KpW&{>T zn2~|U*T=JIL&`8@?1w)^&7M9nySy%O!J0-2g|j;g!3C_uWvcQJi75bRIskfj@8!bN;osa3d=vuVMFV)-IcWFiL+ zc;_1rk@hY3M9N@9hR_Xl4wpTs3x$jEV43MNpH$U5U%qxWyXP0)Y-q=FNlA(N{uz-N zfPum;{|$27uBNdglHF0!Z?zFD(hdPLsb4aD<|)m@lu06sFXRON5TS4!x+@{D$k9u4 zy?$VaO@ILrPCTd7f>FpA5n0syyI6D~X34>4*_RLs#LE$=dT5fBEnS zl!s>+9CYe;xP2?gIGlxKXmQmoagvW@nVN$d=Y|rVn5a@ss}Jz@?Qv17mEkg6z<TG|*VH+lE{?BD2D7a|nT|9d5(0v^Z!o;Em>{fa{?c#LHsR=W z6P?mn^B**w)OcO5v$v}7?Cj9{(q3px!_?a?g2(uP*e#tR^uiIlw1G(kBwK;`Tik->7mlp*hg z)?XE4$bZYX+_5eL?KxxLryKVjY`a@9-&>bxR+iK=-0`5+d&QH$80bf}@TbaJs0Lh( z`xtrn5sE^md&f-k-XLL(2t`Cef%SV<*Dk(i(NR>S#nvy)?;DL)hW360!QvUP2=@XnLOg^OdJ!8S)2q|C06}0OxiI~c zX}X%--~9_@l(kR;PmfbZlIuKJaF?dCHSj}fzBehet0KRD~`qwL|q&L6$SkeHeftflUI1CiHUR{`j8&w@PuNz zr_>=*j!nt^jKz*nQ&Q*B+;M17r{j2)prH!by%@xqOntzB-QDlH?FN09=m zqx(v)5bvml+_I{#6P6tnql=XzB~$ecetY^`uBoC$Owwn4cTI+fU>yHMreWC@Zmv79 z?>U!Y$_-+m$);C{0_Ht{kLK9MwOOK(6fvMnW{8^)bYuug_w!%(2Zek-{YsEHL84hY zP6}ye=nrJ-mCw^&5ASrjhDm+CG(W2D87o|L90_~ZxUH&f=+a5RLfrA~KKV54^p(EN z@g%>`%{@bPPV964x~19D@WdK89Ph|LnLTy>Lt}m>*tVhDSO-o`_s$|KY+tqj7c(Ld zF^|lmoNFDH z)-hepfGmwwMzrGC9bIs+jd~xN&`AUI^-<|A_VQNX(;!k;dHR zv#CYD{jNUqOyLu{dIK33Xgx8m8&aS)_wp{Rlqgl}nX&lm_f0Md?KnO2!IbUtPLxb$ zLMV0hWvteU6Zc1O;^6g>?d!^0@kPWU6TcNu(jScQR8Y8A@gKCp`sC=8NAm0C-#kid z3%*<(xp<*b*-)1|b9aZWPJpfnv1WiDAtM+vD4`hUKHu8AeE=yGU?hYfu8?``M@vw6 zD`9db0#+4~7@qq=TbYfWlXi!Q34FI^eVa@c zS>owCs8@WddJEu+!LqRBgEfloDEv8y+x|)>;>DQ9EW!MM*@MddpH(yCcm%wHN5{fC z^84+C`J+<`Tf1(H9RHWo$w?g>W)eEbemwPDD*3$Bc`^03%Tgu>XcDtbWX|FxV)NBI>_U^D_j6qGX3c7F{dTq29is)=)K zb{GD^w$|2K?}t_hpvevty(Jz@03ZL>Q(h20c2NMbtmgH-rgEO&fuzKLY4nnKL{ zoa7s%A4~-uwo~szlA0PyhJt}7FrHs^XP~dI%y995NXgMb z{nOwtW9s6HaT(nk@#Rvpa+#H2@f{H{4A55sCT!F7f@!%jARr^9dE29Rx&IV$AR@2M z6)|l_6Pf;r4PxGHxH^5J^sckV@zVO}pmgXnu5|TA6kf<;ewI*F>k=K9<6IFpFx|r# zIh+n*=K~l>FN}QdtWE(;LSBDWir}JqY(6C}7UQme+_;~t4$y86RWsANh(XvuDth6^}c@|&PK>?YvvHTRgsKWTpBwU@hbaBo5j??oT& zpuH9aA(-sq-3{lSDz0d4P0mancQ$_TmjC@(yu*Xi+^xXU(R`{}&wfJMhbq4m9KMbw zAEYf~SMko%Mg*Cec`|)<61-TtH|k*y*VrV@2Qm(Ch9=@i#3(q+UWq+;_h4(u&AWef zxgBQg?J#`JH7_W~Zt923bg*h*8tF)EEZh1sH=L(84#RfwymMkeQxW|$leIIk}a)& z4RrZ9IF)`0tDRy_@(c52(xkjsF^q^$5wk9S_e$z;#byvbvpa}Gn{9>!Oj=>;iYL5V zrq?uBb{jw+DObKQM8+9xhM_QL;fP|938V$C;e50kIAV>C4um9^EIAz=Du0+)x-bG1 zjQOBgA_WSDf~liY6Cy5P#-c}66L}^@`=Hi{!&5f}4HVhff<&X4UB8wA!u&Ss9w8OF z+${(wvP4FYC?gJN$U|~Xd2^3mOi&;X6DTy;<1n9`GhO!G!~5vPDD{W>7t@tD`W{@N zgz9KeM2L?@`JQ5UVdMWNec>)k@2SWT*AVb492w#K-I0XD*WjBDfSE?gKr?jIXc&s8 zYsCux=yc=~31L`c%|Y65y3!mB^*}+1s@A_f*SXB|)$5^)4u!Lq?fa)XhddqxKP(9D z1Gl%4foy1Fv;SpuVauWBmT>bIYJ99O@XTiH5Zl{;PC+KhtC?WYNm zBR8Z2DR&@=t_gLy(Z7T27$@(0SxC0D-{R6ElXwIO*aQ4{rBGk{;OjpTN`pfJg9y2l zqQMh>cvRF)cRg6F8?Ez=nH+3L%AFeC#-qn`!aJ%Lueh|fIu2m8z*;&D9WJ(#(4l5H zc66jY=blQikQAqk=y0@0>#l}%hYRCOB+2+@lke9uvMECUkhi z$GZuj+u}dS;_ZIV@Eex}ti-1Vt;DW}8wciov@ItlJKb!!A|MgM6=W05lS|VW3jC+L zHPP}|aM&9drFlQnr_?S(pcUtfKEIgrwXT`h)L<;CMnnxK_8kyqIjTa9rXU zohqj&l}jM0HrRgG=gdXN%H(nD-rqmhCHu!T-CKooIHpVo0Bl>zX-_Y*FVAPA19uCl zW|*WqOo8)VY0P}KV#oA%;frjD8_th4L(<*EazZdxjW)frCZ4P8bGKqQH)Uia(z_us zJzB-pbMW6+R@u9CtF)mgWP50>b^K89Y|NZ)+R!YMhJi9c8AMI!OGt~>NeaISDUA!_ zqf{W>aY`WchTtD<-QMldiI|e~W?jX=AsZ7sMvOIwVb9+2rkqwst`Mml!sTkUz>-5z zA<}m(-?l#Pkn9sR@b_HUgFk`A)&MUsYMW%sFa5|?tw;lt;d+{OT0GB%g43dz5X%Qd znk?+3SLbI0sUHULJI;Tq1+#d>S1&S#`?z#uX+@L?wjATDp`vfA)9FavExqH^FPsyD z?PZ5M&IE@{)z>@4tX5ZoP7*j)Ki$@cI-$jboCLpYlncy0<8Isx1%(C?)stK;9kMbK zLDodO`=y{LFEd4i5yGlosA`w@`SmZq%kk%@;dx(G5oWJ!v|UuVKpg9Q$%nzawecnG zS1&GI{>wklC;3EY@AxZ%)*26eG~GoeA#Y~5K>?Q^c|!YjN=jf;?4Y`wG-5!g5Pl=M=li#3)C=Q?d)L7u~R@`mOC9>ZYS zVr;B`rZ+L|pG%&{Yh+5b{;6n=uD%P18QCH~xR?~vqMWV9^9@Z+M4y~yk0RJCEe;87 zcP9Zl7K&BFISwO(UYm7QS(?!wxv$rJ^vRcioYxHeyERwS2Yvl3M6wpj85mj$Dd}|y zsq73LZEY=kSh*-m3VHiULtL4>{?y~K#KR{k4vfsb~;0GcE?1^c3C~dA-PceUTAo%f# zf!T9oQKiDFKOS$IE9Zc55Zbg*&xpfn;AZw*1R0*UyOqPByr!h-s9FEd(Yg2~b^m|- zAOv0z&1~UBr9q?Y=A{%A65CSAgzi?R(zKbG3Yhm)z-4PAM4Z|R(UxV_)N*;hVK$Xo zVxgJhg$9Oq&1+uwJKx`bz{7{pP)|3ro@d$&n>oabj#^Vt8SW&)zSWuoj3xcHvbS|{`6i+NJP1>bPm_eb(^_QX+J$Jb;0I^M0hsaT#$a%DSK_jjI zOO?O89ani|n$43E|)(mPArl;1amJ?xJ; z{KgK_PNFbA3S!4vp(XGruC3LL-NG9-PVTruC>t+ye<7%Vv*ks%BM^ALz6@b8%$BH& zaIk5{5w_^|h3B7DpecaP)ucaUoJ&Xv+?|{NE|lxnD2Z2%1j7)=!u;Y5`to)U563q<&I9f(UMhhWSqOUyg-veYPNX0F8hlbxV#8C~KwgJQ_rrQO z)ZkU-b(k3nXd+Lu%*`0C>3}2{{QSM1ZJ`5XjGE*1VzwI}vtSi^c(Xj>WCk~?oMGtj zri|X<$S$!SvRna{oNqdK4`vcqj_Kf!LE~{AU zuUQx$_mmMR<{_p1ilGdym*Pq~)v_|?j2a_kSRf)T2pKX=5QP+U=WYaW1r?_&8fFa0 zu}nU-nYp8v^lQF2KEQq>{76%WCJaWIXWNluR(*5+^;QPgd%Cg9Z^}8Ck z)@~88r3SmZl80^Vc6+~SYY^k*xO6Rk>9SLt6lh-Wx=V!nxa?+u8G$1 zGFbYe`=oE^k2+g$Zo`&c=*BWx=Ae|z+G{`7_KY6T1X%x0>NVIcNu86s?M3W+Z{uVD z({&2Kvpcw-Cdsft&{E?4=&<1B+a=LP zldqaXvbCm=R{X6}sR7}S<%m&t!=znTk}ZA_AO(vSM+>r-e#Q;8S;0Hp5xeY-^C#t3 z%)Bs}mANk?j54HfFUvEN@`raBuNKSR#wr6v3uCI3vDl>ylml9WfwwpRXvjjv9gl0>MZ@N0fnNwflT)}ItASl>-W4Bot1jY-nLZG5 z35Ona@Lfs?eBYSd6+Au>{=95vs=ThT?ec`^>cy>3qgHPcb``>Qs6|!Spnb68OStQ@ z356km*Ge=1*Yg-}=1#0Dn1%TCWc(?2?XCauX3abE1CVYi>LKF02bc-Z;aUO!63 zY-(56rB(_gd;Za(EpV)Ltan)}fq6nyh~Dt@#I2XXe2)VoZ5uql%Ynfr5g<-ieym*o zC>_-&n8}xVqDkjQlFBO?er{jbD&1e}^==MixJBzLlnVw-7iACKI9i*a3GLnBdRfOh zk2J2AX#`@Hmqz3eXJ`QAJVJ-yC=jxgu0~Zzq%yy_Z&cZmIcHumMqE{i|S7JL5EM9$|UN=I@NWyTUrH z2<{z3nv^kvB3v@}*jGMMzl%`8(OG|fVfa+RGV_?AVVStxd4A$*3u0H{) zOh7zf=aaDHT2Okt1;POSisB#S8(^(b@Pj4n=i%sYzn9y30RS~3N&@OM{a-Sz`|Y#d zIESjA;qcd5a|^LS?9pN=7b!7*A-!+=foQBa$oL^XC==|)j5pf7K@Cn*oL2@z7B|#Q zto!a>M8meQg6w-_(CnlJ(CBSxz?7KXq$u$sLO+QjTKrVc zh-h`Nc2nPH<jgK1}5AS4{G#XMoPw#@y0 z80IPo7g@yweL%v#kRq*+^8g(j+w0(=-vZ1Vr{<|QmSyUcEq^@|wS)EYwPwJNK4E9(9|XJYWETwe+o4@x^>OmICu^yDl5 z*ze1lYTxgBo$?#p*?Hkv#$sZfOrVo`fNZ0k)|!9axW)QgtnH^eJ%u*DWj_!t)IPEn z&x0UgG5VooZ|t_K6UBFEe$gRA(IZ-U&G7r;D^p21$+htm#=(lL_lF==yR%#M5wEDP z*{OV#KH(D}T>EqjL`z)JOK_&rjwwnkAqUqcz*Ul>-T3qUkEiZ$zuTH@jV7#}>baen zr6$|Ac>yLh?i4QYbz{iNp=+4yBDY)PXQKacy7T7;(CuTDx=Hl%q9+ar7H)07<8%1( zo;CmMisACNl-*CLcW3@8&#s`q>MhAhnI8FT^s{YM8&E?yxD0D($jZUhoi)I@utn!;3q8g6UFR#00E%#H8c9Lnj*0jG@#Uks z#}K`{&Ykms_iDr}UjZ=X*ogR6fbWMn*;2lH@BWaU!N*CFCEbBBcl17$MS6zO;`{wa zz-ZOnhLVZb*&r+kDyla(WoLuUbz4gH$h)4^R6;BPN|`wtlG!2Qfh8!g;nNUP{-x`F z_U_1!Q=n``_U$`#^6w#4?I=rW-uXLy48aG(-K)4K4O@mB`p&)Rx1SB4)o-(T$smnM zej9r?w!b*{-R!MJ--^czJ^lr`#m8<<=6DW0=zSaT+HZWIpYccW5&&%znW7HQK95r3 zuv$pxM#;>6JL+OnYs#W0QG>QQyp(moaV+Q?8#w4G{ISbdlmM9N!AbJnE%ws<^Ne4U z_tYHS)O_v=+LD&IbnzlN1WVmgVaIN=u;pC7c(b5d9O0|<>hYteKV0lzXLueCD~x#Z zlgTa*Pru^_fVV0w$zk0`dc;btPhX5dYo$jI$qN>CH7UQ z1Z@xwBkb32&p7K5li3YKHIZ!WtpK3%gz)3jFkPVem(o_d-w(V=At%y~zpX-`u@fqg zzOsOWa^u}7ahWau0h>P57;~09&Oh1|fYAe;f!TImz;dvjoxwN7|AzK1gg1;#gr9qR z`A&Ild_KX2-LT|kURP-;gDVxF_0!nXyBX_1q|lXE`vZ^!?9?#3+q?3;!?z2f=vzBvAlZGp$1_f;*L*-Qn2 zm;HDM-{UVMRD_(m zA&wnak99JZq(M1&Iy&9>x7xol@bXYhUPg)TyohDaygqWhjo|8K1(-iG?%BQjL2p)G z^I&XoO>O^&>-0AVE=Kn}TokJ6*Ojy5Z&z%hKbL-d@WjUXEoAtfEWtF>ELW`$H zpa0eSH|;y`!;?;Lr&3~*6@E{8{Qdl%tk?9fzqc{oU45t%Jhy5t80vWKV=wvuMpP?w zXB8(Wr6Q0A-tkWxfBO#pW7n1YgnXm&?|*_;R*Xx3C#jasBx44$mx>=;Y{J$a2Em*_ z;3GK>Dp|dc_{Htx`F_n^s%w$KqRgVjg0>om0Q6isUEW13_xFrgxqMq1J`om}B75_o zrp&jYT|VIAKdSWo%Wq)p`(*LpdS9~5PstjecTef&K7aB(;$O$dXffMY@>Adb-1JR# zVxy{TQ=OmcOT;(7_qK$Mfl|X@k7o%P*I&%pdXT=Due#RbGb0`!M3Ec3SwP=GKFG#E zedOlPn8)c&JBC**Gy!WGIn4GWO#=p{0NlRc9uJEX`^(W!&b=Qg$u4j3_5J#nzj~L? zj)C3KhLr;gA-y>^l>rZFGX)(#sAh`%ZI>@p@zP%RnKmWbgZ*Js6e&@m`t@(RedH6r z@2PU90UIz9qWgXGbi$^LQSacPFUUX`A1F8;aQp|{{fY!>)tnBEG`eJ z_fPJ%-e1-CEUfp{x9<+BMq->sy>ONcaUmfR8C4~A06Pr*>sGftDE-W-v_Yiwp-IzfzA$_z+0 zZdlO7bVdhrau2M(>{HNJFj32itmxnKzG8LmN1?=~_p~x;f5l8#aL!}jziR2KoW|#b zUrV#TQ~bM=>xJ(d%lSzF_+byr_;AaoqZ~*{a>}m>YfZb?a`Cm2D0a%OD%eCDK2v(1 z)Cv_d98+ExaL#P90kR;=8Saes8Zl3aWLfd7wVu0 z{T5jGVqkJa|Ec-z;NG|Mj)%kXnJZWBX`iA+%NJOx zD6tn>Q|kXmk+%lq47OQh`+0f9{yL^bi4KL1a6__f-bGKJ=h&&?k0wkNx$`yAccZ zSzUM19mcMfHca*(uU@ICjoX6;RTFV?x0fIA0u)Jj(0AL3xr)DmhRhqN4oAQD){)KCN6JqrtrG?jqG1b-gn!xOq6RO&_|8vK%Le}DaZ z&rbj1?3D-W3H9fc@2Peui0r`Hbi$&=DzWwQ^`<_m0;CUPQ!9%iNH~mMAsX1o=%ej& zOal{hmSu%S3Pk96JqP$(!H;)dRv3&vLOgNKc|fMt<3;U>~Bn zI*q@-^B-{iK)vhKhX@vnh2DTG4a`BlECtU3GPkSqO{P!D(q^oQf1y~FD0CD?wJD7K zo6)ahg1WJD2dX~08jBcPd^%%t{%ert7QKw!e^^XkiM0lkDp zzr_Bj*^wT)J02k6Sq@2diNc=YcqrzVtMNaagz#Bsv}!S8SI<%uPjUQkYNqI)yqs8f zfgY_D!T|&20??{#C=i_ZVAUfK7X)*hQ%ta?j+tDPQ(o^^q$>!n+L8^vgVise>Q4yP_A1P^iUaf`m*cSS^P>3BIuCSactVAJ|G_Lfmyza9-X zg>2yZzm)K@)Y=f6{$6wYB^tU9FN2051;{MIJyq6^7qX3oXiSEPE$C z7xuh$-RIhdsMaI%lxOYR<;V5Gd(Vk>y^PrdaTC&2fZ7!D2m#Ev!$9zNQwzw+W&!B+ zjeHNkwB3s14sbf47G$@QKey0593}56hn7@xo7erO>Zg>;;}(Yb5>DKd96)(NjjMQ_ zAvnS0b{D634c~>`4w4F^+lUilxMr)ZhZ7U9WLwy}AC3JA0mZP)!3t9swpor}02V0V zl&~Aa1`E(dF{-Zk#@#N1%l&#|Wy$B(fBig+CSgn%&Ez1dzHFq0hLaX!7s)de+PF&) zB>{|bQw*Gw#7& zO4O*nfCwCx)Saz|NbRErmL3j|@v2LkgX5)Q|H5n<870u6xT ze3pmTfMV#$z%{7f;^P(2}yp$??$wgi-i{+RN z&Aa_av@+7|{ov1CVDxVZWuGare^Jn99M_x8rkF+n^->Ew+eDJf; z<>#x5BNr=EMzs<5UZIkY8_4ikt{fC-pV*9q|J#Z&)3@-Ru}}Xk0W-asGiZ<41wpsl zD?Za^p)*=Y$AVidL{j2)++K7)*=b(=5^~fFuSc_@A&fE_BfMPMGphxB6bU<{EYyUJ z4b9GdJ+Zd8_UW5?2%?aZbc5m&WX%;yeqkNtoWTSczPweffmBK+@Ik<=AUJ5>T5T=| zu=EYHj`{$+=|o{MA@*OaQtAbQw$#tHz3&TK|K7}#Q`wvswkT4*~aMD1poff2dg=!W;ZV+xv6{n zx*y&RD?A2LD~+;^Qwc*Pg)Iy2j4^Y_X8|L_XI^dQ{7F;EcCqX` zf~8e*O=L0=y6skN_LVH61*!ea4!T#n%XO^ex@(+X-uzk$$RSQdF6pQ20(k7%6kJ-4=N@96S>!0j{#uhvgq0LsB39-GIY#}BXNUya3u;$kJ3ESpyUSsL;=nR0cd^gjS;w-@G&UsDQQLBK~h*8?JhiVavkO=rDXtit z7VG}fw-2B9tS(fBFYcV{P6Rit9=2IO%JAV(<68y%YB!Snyx?0nP4?pPozp*a(IGJ% z#GSm3q)#O5s?5~RYp2BeB$U9}lzunH0BMfNX?DaEw7GxN z*0K6cpccRt1TU=ZS^r~pb!sv2V)9S)2l1!+{sU}h93UGwG`v|sF#EZw6WE`!WO;x) z7cp9GRa+h5mxVwODf*+nQ=3F^FKCff#mvj8^LcfEq96L@7Y8jyz=UK9HqEG4`vlGw zkicN){J3=vP0|TBc(F!1rGyQj0M%g^VL5bcvPoO_@@^(FUM%H3YvMx zwK$pKxpr;p%Z)Z?MIspsb~x1(d485Uz3OOs#Xj13OaL_v|^W)3Ar4Noq<5{tM@}KzKKj6RIH=G zH5_%NCYtfbN~LPvqVm(L%qH}1<);>Qm3Ee^4}fMY@kvv#KH+foXU!wsu6Sq#0Aq_> zs&-7JT_nJS_SdhNC2kU?imQ9|;dgMhERWTS@d~4$Aq`%zsNJpxH(GdAH)C(@vTEw^ zGWdm4PJ%#33M6KhZ-kV3_9KiyLo+`C!lkyN<(v$erF)y=h*m8+PkVPaypKe!p84_idz&}vL>^MSij-2C7lp9I_-FD+h8DL@T^|bE#ng0#%i6V1bT=53OV|-ChFigw$qq%p@GW zm;M@zu5hd}UVKDYeqK%KKPc(X%6E_wHXJgc&h z>qxEi6?fQ=cYfYNf~IzFt3{22-M@gBg3c#|WK~#~pL|56JPH;IJ6W=Jdtr0tas>^6 z>%0mu4UaW%l*`))lBBmnnkKyl4uUWrD@|O_CN8uSU(Ikp<5nu765V!gtf4ewaVW-n z^6g&vFR$KLE`>(afHA^_5AloZaSsK&wpQ?Khv2ny92JjXv#sQOR+Krko8mK$RG7f#<#?!I za?%pbLJ$KGV9>BiLm+`#iD`gHlx==`Mx?JwRZ`%}zSPWAAqxQ1U4#cUyJH$E`$u!K zE5}_Y60hWZ94g5zujmy3{GMgxCZ23(YTjL#CSS|zHgEV{E#M3uWjS_J==SNgcj7Hb zBp9?Z)C#hpEJ_tw<$7@0ER}$dg+fJ;)}p2eR8-T1;1}Qb>(V?!tN9{UC0iDY31UfXnPi+4w?84}FjzX1D2t2c|Fr%vv8$ ziJduQ`-u4`O^!a1TNPl3(&QG3W4J`w{5K%o;N3!3IN!HT$ z6iNg%!UR(a(C(xu(NEx``GptIP2?1PEB1^e#sZA_5=}7+8+=oHnq<)3asXtb&*bwB zww}*;ZQ87B8}>TC+FHTb;9=6gcrT*1KRJ6~WvzL(u~0hL)$+%xmj4pvZ4G}1(coZa zF+zvF*;k#9Q$L}xA#A+Frpm4$%gwppl1j2<9C?Q&b3y&eeU?Q(uly!d$ZkDKRhSn- zrPNkfFw?5g0wi`d;Vha0QlqWUH4Gl8m<`OAoKp76&%J;DesE~XFR{%2YkN?|ompMo zh6dkm{ZStxR`S#9&UJi0diDj8XybsGYj@Ucy@^FK)tgeqW!OFl2^K_f_1*(_HbcA? zd-UhqLFguLd?IKNmSkfK$LqZ0X^V64oE8&=+vhft1R{5K2lnk(`du!sd@$GjPr-6b zuCv+5dq(=wNNB{%&!V17a@8!8Tde>#$^X1+Wgwf~cWZn0m0P_@C3XYrUL+D(z;3O- zH1xCD)O{>fs858ggn%43EuMAx2ohu*>ltXFGg7eYOSG=S-8tQ`P_YtNda7b=?b^?@ zz_8xY1zMmFIAja&@t?}RM#?8ap69w&820)JLU@@^P5!kaVlgxJCz?M}pad8HJNHAd zelHytLFzjZEU?q5t*=|I-Ut5LgX(~^dtybP{aVOn>cs=Bsv3d$c8lHZv1SP5jZYw; z$)&^qKu(v^S{zag!{7u+J;bSa`-o|xf8Vl7BM=~ylD=jSXP105tZ%F2vzABv33s zK;y8!`8@}Yc?EqyTHmeEYEul(OH8ur|C)JKNbmjofdAZJSomN4>xZr^M|W2y)f{Nx zfA?|C^^%bp7Ssbc5YgHoH2EqXFb?q1`$tc2JCqNOc|P8>ys^@!N!x&U<#_sN*2O0D zHn_bMZlLSXiL2bMA~SrOc5>|ne2zVjC-pow%3&P-<+l^GX3s9?hu{k?EsjdTWbs{py-rgn;2-_-k9mS3fDega z7?KEEsg#SASF{s>w`Uk7@mkH0CT}Wwk~%!zGFwjl0Y#ceZ%b;KG#6~@V0Js+ckOR# zs4RPXHuhX-86DZi#l zxClCT#yH;NiQ3PiGV7L+8EwgTSA5@r3v!Z`9i83zc`mtNi%C;kME?9R0F&MtOO-&n zKaqXLk7bjf2y_!#@meBv0YQC`)HcHY!)D>>eJ}5G|?rjMqqJX6}7J z_{s}9680-ohyN^gw!X0q9^Zaa2Rx#Hxxqi*KmBfzfq=rINymX7^mUh@5kzbd*E8JZ zu#?Z_@x187@UfbdeLE{ZyVge5zKu?-uS_zzUHB#R2g7vib^>g|upl$F2_^;0&=)tb z9Cq%BOpEa(U1#L?!iO*bryxV@F6&JWR*M*&4CZ}ER&4J5Pw1UWSOtBkKO?uAfC+*> zragS(+<&4oD*g87uA9h2BrkI@`8drvLfEb-FJBsMNWA>_T8e*q_K#meE*XVa9;=Re zg@S;&8bC(G0ubERzeG_(U&6zlPgH_h7pz&rRZIHEwxcI6a8=!z^WWb&d0wv$4$cX* z6ClXN%#rJo5(@~*E%rTcaSGRNhVp@4`%F19`TS5;nz@El@NeGV<_ifA`p=Fn?)~R9 zZSd7#R$Y$VX4jkPe^sI1AdTA~XJqT&nA>Ct8QAMss{%9lxyQ8WN#ojUA|fn#oGoBl z^#zMxu^iM68Zn}4Z$YbM>B7$t7T^}Qm&A<2vt(D%!?ee@?t3r{&D9nEn%G>`u+g?& zFea1NX=c1l-~YgwIp4B`Yjt_U`y-^0%PWd3{Ff*Q^37$hHf$DpzO65L%!~nc@$ykV zDPMe_ZdUZT8$H(wIB;{O_NkiBF6XP6r~^geUpt-utqH3~haaA>q%&+~LAR=b9Y`QT72`5ifyr-r`j(y^P^^|iimc_zHqArcnt%0A5b~g8Z_$a@ zl^YV~VA2@z!8<{h?4PQJc*;*$zf>!IgvlZf;|WPn*Yx(6HtiI`l*31id+P2F9qZ1$JxaYg^G=au27ChpDNjdS>h ztqnrh9{$P7y_b^SKVDEWV1MW4D(1$n-R+2E6T^Iy`sdO(u#^kLTeuynNPBELfo?I{ z_(}ua^+s;>+e8x*R&;piM&?tYb0^J_GX+t%PKH@d(g@}d2FG3+ApSI>h$xP z;oRa<@DhsfOpz^nrM(cvNaNa_A$zMcEm*)#Y{)Z zF-%TWEkbF5M$aSgn4mGCBd?q5I3)=|6dQRDR(du(UP*SQ4MxZC*KdXqnnu8C^(=C=4w_ek zLS1S-0;0>TtI)c2Ot+pCyQ_qoiOzI=>!joDpi`F*3)iI+=@1WWYg-SlAfT?q38@8xzwNtDJF1r^zaXfjL$0vE zWEtI@b;xd~^NEp6g~e76lJ)JWZXs(&>o)F&r;nW`T3q*lmP35hA`M%LpDbEwEO@@& zXsQASXEz$fqcWBU3Ia(E64?vH23i&fioBHyy;oirydECdE+Kq9IoD0Y_B&G2&rIU{Rf;7utlBJrVW{CVxU$nx@< z5!ME0T+(|$@1)Id(9m3Jp#OX=5GSxQ9C7|72oH zp=Oj}^+n!tFa*R=Su9ShGv0~jhNlL*lD`fgc;DMB_BhTVUKpmSkvq0|sbnx@$TN(n zFr$TtCbc4|V^S}08{qN?BMRk8B&lQFZd?%27&T{5^_2`tfvn2i6jkjhgrvxkMv=0- zv_v)1UHS3R#h)kZL8LGaQ3VvO+!rih1aD_`Q?ZB{9A?gXEv_9-4+TXKBw3qI0u<)G zhAPSb=BOIn6y-LhkzW93u@{q3;z0UX=D1jbSiC*@DOA{5kLsVG0}DY9y-eoEP1qH7Qq-p zBJ=IqwHpr?2j0&q8Pc4o6e@v*Wy=69CbQjfs)f2}F&qlnS)RC@DsqV?h{0LK2_>ZL z;C~WU1C;VQGpQHj8_ZsN)VP~^SEJv7M`59b3JHE z`A6gYm*m=gt{~O#s0*A3B=zy*kTfzADJ0^s-+0K7UZel~k7x}}Z7`U{h@bR)wl4h^ z1e=7J8L_hn*?21%CLFvW>bA)ws8_B!C`q%2ffdXE@-{RMKQaqaozm70b^FiFG~~RE z>5S+;UM)h-95|LmJa*#;8kY9~7-Lmr4)TdT4 z`bmiO4TF3Z1UZB`JkVwVeCm`A%_~1 zA5oZ^SEIL@A6zX*SW)Ewgx)^BvFU|`$E6y|g864c08_Y!`Bn43uW-LJE`Ufu3hsux zc%g$GNzIDibF|hS#uK^ghR7E=t#~u41`0*oahhCClJB1PyIS7xxyP?&EGao+t6LERyWjwe$+-t1+O_Kr`^FZY~!lUSlQOsNN%iYyv~)?Y_XSra!#%1;c4;k zH_KUx$N>aeQpt`XwjWxy6rqo!e8~6VE#u)Zj$_?dFisC16Rr;5dhHoE)W~+PMW3C4 zTO!UT?kPy$7HnAm1T+;4$j@Fq7up!u@H%YxdP!bhf3iwd$v9|QE2Lf#=y~CxGa^oN zB!O3H#1n)>TQF08`gl-G)e&KvcvVUEnH`$_yMoR92vfnIGctK;5zV#^TlgpSJXj}~ zyLu34^oAM~9F>&h5%20*e4u|NW(j=fBlouYl&d_82i9xnpIP8%WXAU&DV~8E$*U{X z#@s^89ZBR;JS3(h-u0$sLiUL&tExqd@k0 z?dNUvfJe2PprM7>uU&SoPArH1HQO+d@Vxk4KY95QI5J<>heqJDNWiA&*0<64`C$ar zlgxL|=Ti}gNj^yS0vS|zVIqp!Y92Z2jv#5nH89Zma7M~90Pz`YE~`NkNe10%S~Hpk zl-@A8q0d(vKNioV>|6}`-`M9f&icpr2*l17b3Ko45?1Zj2|a)@4JBU{A^6ARte{`7A@XeB_$E8H_wK6V*zo2}$)>C|j?X zUE3csZu}(h``pIT*(Jd-aQyjr?cX>kmUBih4X3tV0J{}YRo5}oCa1H5&lpdsi~jIF)!ODiSR$rJ@XPm`_GgFJDJ_=eQOd9zAJFj$>hi(EVJGZk?s z{K4vksx+b=@F@JGgGH!jjqd}^6S(&a6^D@*Zy zy2z%>zZ;st-L*`s*AlMhz=n9^j_WN{+$gZre)7>y!TeD@%`V@FcN`*tNNkBc*>=xz z1JAW#!9dXu@dou6L`z>7;P9s%-Vj1?ixUK4(`&r?Jo|re4Z)2tyaxvNN(U|vqy{82 zPUhX2S+CrB^yDO=1R#)ui`sU}t?av%q^0lVd-Ta^6VC;uh$28V7)zPIUa*jdE?`(6o2gn7yq#HZgyr-{s8{PM0`4SBzrS?P zn*ik+;9#khP=eSJEd$@p{Bk=qa1{zFbmBCGQe}w)BH^Y7=Yy?`8*2m3yDx|hhN-9U zK~v0}J>wOJ=hZ^4*bdz1NoIK&AFQ9e8wh)|tyHl*>wo9{!pLCC*mOgxpDXu={3yOB zuJCk3z9t`|MuK#+&GdCTYOv00sUlTQn&1f;P~Ks4z~Uwn6_wG>I3lfXfgFWsgJbo9 znU}#O=3MY8Jgqp9(PUY}v<~feF7>~*9N0L&Xb`O|8OWZTD9oyuDLdZWKyBBDc1sK3 zO`u;?1Dob_(CPYy`YLgP6<0)Cx&ed$!5Y2;<~wG%?q0856tCsq1Y!OrftI6BI-ZaX zUn>fNxJ|86JJC7-oD`V&@Bg49LCVnTtCSkY zkn~9bpbw%viuOs1C@cGw4+o>hw5KMPW0(An`sgg5@pyf~+F?e zc)DlsQJY9WR#Tf?ldr*sSkdIf)@i{6amthaAMpEsz}T|Mr=-vr2^eeczI8m+lzg?HrttZ1MFZ@*pK{*~xZS#=3JHm5Os;&|Ed>K{bG>VBC7P2}E#pA{=Z{JlsC&?6CRs3T@7Q7P!OVwJF00Y391|==X+bN-~ z>CJh~{{dayjfI!PrV)6MKx*^SUQV$Wu}rW*@O%mtfU^~!IsE`ytLZTFC2;lIK58)2 z@$&?b!dw58eZ=7ThCP0WGzwb)(6kb3I-Ks+Y7s+fXDEe^{{f@(W1g$1Z18s;OYy%} zmoqr zW`))TL0jpEAi?Va38mjE*SvoB8)`8jAzJAj2>?l ze~$@Xg05sO{Y>eMW^(E<)((i*%B^1v;dC@mpb^HXMG5IX`55EE$+Y|7zA1N9mAcWn z;lP@JTk9sehrCLj5~j7O7s4Hq&lep?m99j+b~q^!%#9m@$D3>ns@}f#-o%Y>*Qq3} zsTZ08z$8I<>sIo1+k_jSBT~=zlTkYzZXui!fka`kp)bEGRON3_j5f44!F*E4vLF1kXOZ#rDvSFd2w8qD8^72@u{rAk^iYQ)ZaIh&6hAg_!X4I}v zarEf8QQ~mlf@F129kKPP-3M$GzYb&i;_p*5Jn}j){ZgDC(Vx~dZ07)m6u!>9@sHImXo< zN50^Npcp9jnQ8CgE`5xRT6|hp?bh6+yR^*%#d(owNQYQKp{Z5D;j$lf|0^nQOGTMr zL6x`i-CFH`K=XO$?zhEmo@=o-RT&bVSg(YH*N|sCkL*yT$-r9O{m|$!FczxS0e}HB zPGPg%XqB?#n3L$FW`iGL2nh!))8E|sfV;Hx?761cE$#F&bnubkf!PZcnKS9Njc5Xo zTKYC=J-g9=aB1WR>^~pcNNRB(xR3x{i>~qi0l|;RP#;#Dtvj)a5Q=v7bXAZ>WUZEo zcMQRICM*e2UBt5{c8bY9w#!O}?Cb(sXcq1K|-R&3RI78VALfbdi?s6zi7aBYVP@#tpmaV?Ji@6yHzO z){MzOXixx zrL`v?<4NajPh2MnAHCGCN)j)f8&uBsmF}rs&!dD_ zG(NmlaL>vMBZhnF{!j;3{!_I?m9>KpVpzx3hn#yH7iKmTY8j_pBs@ZcwEd+gZ?>Y7 zn$d>(W6i*Qi7r)e6`KXMbl=}MoLTpalbKUUJjL6|p|%RKOHTmMowSm21E+H@|sv|7}Id`^xu< z#7k2l)z1Fme?|1~4L>#4^<=sH)0?ke>;>{_z#epmSEAiOp>!(wcE}lr7K+jiMyWItxWI7p!xUhUWi|qH~XDdjI42ceaeuNOjsWa*lO& zx+s?}8^hE&SeGeXRIWuwDr|F~u-U0jH8VtxW^`1jgD#l6No_`rP?PJ*G?(0Ox%T_~ z{_4LT(f9lPyg%>PTU(czbx;4!OcHg2Ru5vMcRJ>L4$zz2|3bGr+`qsd;G&f=+n z?Db|N*|9K>LEvM8RT{}QQj;(^YlLY9`lC1u15_!XpKU&68@G&d? zE2oV*2P$WyE-ht#z2|WL$i<#+CoSj#Bw5WB%osvHvk(E&2D%;UltKlZ> zCdk+C*RD!E%S4Ihds$zel*$sqwj--fM~eXtm&*dEUW|>@1fsRetrW++Ja2y-z7kf| zb8j1idr*&I`vWqq?Z~=uJ`S#t!xjW!#Cs&%9qW_1pwG-g+uiV8``jxof5XP@N2!q9 zVvRn-8IMT#VmvB422(Pb=zi=*JVFofZ&w|NYnMr>)--!5zTdC4AS1SLYw7)Skrgpk z%iS?wPtmj%vjZb9L?QwtYe4GX#MqamX>+;A$(h{c3(ve7Cy$i(bkmFC!jd0Mg8EV7 zh?tZpXA0mfYgE?BqiC4~!j;5idFuxYl563(3Au&WsfB@>&;R}Q$nS&orIv4^fd#v% ziyLn-s4W1XlPtxWUtKCgqvy%19MO%}{+?Se(m@+p`Shdz^ghh6^22d`12pmxYp496 zwH1Gl?i-hyum}bYgkSFY!R~moa&UcNWP)tS{MCrz?YK()$WPWdU@iY+c(|a#HNX6F z`9N{l(8c0vgZ^W|V5#_&>vK;I2(WCP6Z*@)S7K^*wV=0|gcD8TrO!>0vV86-KOzDvCK0S%11O$(5vnjZzN*UiNiJP~ac7OW@!JT8l&=G zgH63326V)X>rlf{ko$90Tm&Mt{&+%K8dbnS+t;IO)!*%j7YGERvAzSOCJY@RU;?v( z`L6vqhZCWa1K*sF&+?st9#wr&r z+;z-=IX8ER$(GPGL3;>?Ql^c>`V>$pgjY+Q6wmDb)lL%fV(n6K?_^2lhf&nBUH+++ z{^jsLEgT6%EFWdbRcF0YV^JJz(wTpDWV|+V(1O_YkbWIM607^!c#?R4yhR8=_nCpt z>iQ*!VI3@h51A{hZ(fKnWSJzjogK_}9VwU{R!5h67>6wdP0dVodfC^F{Wb`E6^4iS z6jC4GEC=BYlMm5ffklJ$0fE~3AF^?uL4<@n$lq6T)Xe8{p1V5k(|iIo2f5l@V$Rw~ z?;>pIfdDEs$w{fy0bWtCcOzg0t>=0gddhoGO?eiEhlpN!SzDX_)Bwn1-5&m5i77Ww zEzZ`oV8L~{K`4)6CCk|pG>}<-f52u#KRHcHaEJA zV2gE#6SqzqC&!TyeKa|ALRjVemS#~IJjcxm*qsyfeRZdYo62=&*;-2vTQFLNn zc4FJORVoHj>R=hxzMHLLPp=Q_^~jGd4+I4)zyIp+eVQN zy;0T$`KFcSozC~4{ebS$8=r%n8+735#TOfS6w-DsOh{<7m#jevco`9E032$lGA_a< z?`GH+8p=sV#Ek=W#wt;f6dZTdj!Sb4%v>p)>d4!X{VWom6VWAJFFeD_g>2GpEaS7fz3~Hf!PHs1CY0_M9Z=3!3}boLAg%cbz1# zJ?F&;GioySvLsY8vW;i4ABvfKmsxH#jnHw)0`Ky^_%b}6FeFtN!<%q$>O!84so&#F z)V-y>Q@U>9Bkw)Hz)Lw3hO!^fo*tIQR9R09*ye!wxT?v1cr=QaW;m!F`2X^9ctY%v z&?P&|G`0;x^MES()$?|Z(LaIna$kWqVaUwkW8*~cQoj1)N^p2o)yBfdRT(8c9ThhJ zE$FXpC&CMl3sAyJqwL3;5prhXkw6mxOl}Qpo*^#yWr-h88ibAA<-&^mzSF{u%9Oqg zhvu@npEO}zPR7ED@@TQ^PWla#IDp*Jx$ULsS>tv&y*1{};W^MoFjP6Z%^(t|3|}m6O3mXdT)HUCsmArl`}JH@Wenmi?AhP7r|tYgZM^0D7EkruxRGV5?we~HSy+GRAgsH z4pPXugz1&*n()BT9GbJt&^D{NeoM&?x{Yk{%c=96Nq6C^`)N=cq-JST48~Cm}<=)&{ob~sMK4{qhJWND+7pU za_a!NU|s94ccNFk?ll$8^WNd+$~(Hh6?t40byDk|%VDZMl7=PUyi~OjT|0y_Zyw#< zW#OPr(*M--K;n$2VfDy9lM}MsI$!R!QUV?f$$@BYbVT*k9NbWDSzD8DoCE$CdYvU*BG503?s4nr%LuIL4-z-hNpP zxpK=kJ;q_kc9e|gqklm9%I9d@pZ|8f)m`P_M8FBKv^Ce>MA7!C0(2twJaG5s&Hy_y zAcz5Pp+@?UUA#ilfKZ|^174dYs@l$gs0db46|~m#Ec3fK+1HN z{I4cKXgLt5mEiKIf;UNP z$%(Vre5i2e=Lk5u>ovdfT6=vxX@AIeGQ(ZeJyI2zMMPieR=Z>Dyw z%~F-6?Y2P+;;6x|xJj=y_VFsHG-xDwVWs?TvUAkA4xA!jEIQ=n8Arj?8)`510_!XijZLPyk2{(W@Oc>ZdD+$*4lvaeceNHmLz8UGX^(EU zpfU)3LGG}@zt&dl@9(Y(q4=vGXO6#OwVU)y8!J@{p-pHUU19)>cnqvq0okQ?<^)fa z6L=9>NCQWP`>9u{$Mz|8^euE7te!P$L=aTtRm>Xi&a$TSLJNmOeP2!JfM`#a+NZmU zyaoqq3YJfC$3n`-qW6AmXv}7=cmg_5X}uV(zgjHO^k*1!5mIy6=+e z456)4iJ5oTaWn71F^{hgm^szgHX(neJ>;(mUrjc6_Edqe)4@cd&kxquAKU*E;x1uZ z8Ciy|zxvY^SHGO5;({NLGPJeownu02e?sBCUbk}{V{^FQ9alZSPV#GBcrG;&!RfX2 z>b+*hs|ZBg+OEkm&q(6MK(HHv%oCHKUivf8H_HeXl?`dxu+Z~V!k(F~vQ;OQER^#> z&eB;tcCu364B9h2->WJaDJ;CF9E-C4zkoIvAQV!#F87~3iLE3IXhYXtPnAwu>miTm z)W6l!w>QZH>%5cuW1LS&D1f%H`G^r~qIc^pHP$y-n5JT^p2NLdpsz3iT4P>q=iag< zdhXo32vBU7>o$r|2CH5cS8xG~T>Weq^z#|q+@(UD2?eDYG$K9^FW_5E8(xxcN|rDz z$Kr^DrYS?@FX{XB9Le@LZtii3CZ&lqjTU#-*5YSYt}HEUSA6)jyriSJ(69H=Sm6LX zjA4%_{2!pwB@kx!%kXiak5p4YeV=L^f=lE*^bVepQkk^K$Ny%0GQ5Qyt*<}9I$J#; zy$F9m_(h;e0RtwckGo9??7r=C$P|3+yN?c)@9^^YX?Co$Fz9D|%ty+udjaQ~Kt!hD zEes1%kP^GU1+nW!>IbxNP^8Kj1fI0voWWN~45m6!fVv(t{<%IU@QluKq-VxN62S(L zm7y%?iz_R{QBY!pvPHa;HoIS){PeuyE`Y>00 zaO@9hs^>Ej=WgYa#Cg)L>HDAQ8}u1gJTug2I}(pCq4y#YDvciyV0SH5`-D|2Tlq(Y z&wRSZ(tyB?Adj@R(ib$A7Ku=d6lKH5*KAB;oV@yy2*If4E; zh1so9rYBlskFK8SUD^Bt`dGC~JQDcC4M|c%3+%)uBnhiVtNA`i-jX_bxXFDyrmB4E z@OPn|yDu~Nd(^s7Alxf@!KS|^bu0EJ_X*8#WAQ&Z<` z%IAY(RydJpnIR*1Fq57@t+OGFvd`#KrqMPDjfu(MeYt)_lV9!yBH?&N4%NXL6?9phUQY^c#iRRXzLImw zBs4~ZSd6`)&T*gAJ;?XJ9(xDf0jWh;!4y9nL}1`!Ctk8kLB&9&??hY4e%-rRxV)7s zymVMqWxab>W82ZNF)Z1hLdwWNjv31J};W?tNMK`}_*MQKCI>S!Ot~ANC5|tJ zR9sp%M(%8^hTvQsU;e)bUxt~TjL%9G7*3lbNm``v|=I3Br%wovL>-#e5cs1rwBActRpOI}NEex6(t@*q(8>sqq ztmbn}$6#;t2ca;3r>>(K(hp`4kY9=4_JJWx3k$8OSewsf*#^?*qLNU$?uEb|`5EuS%;fs%_?b>9G~aMoK!J56lLpO6j?mN?MvEqYxk=~x19dY+~jad(PDT>!en(u zXw`H@+>H~$f8)v|?1wa$`lCTmN*dHHg(EsptN$W^OWl?oT$tft3Nlnk;M0ys0{_ZPdp3Nk`IjI~a>jUG66ZaH5a{_mBO z3j;H!he{GsZ5(K@c?J!|6f$-6kymvl4}r2f@FVEnjeVhO6KPTs?t_syX?bcjP3UXm zW>tQe>3K35ErsR%cVJF!hy-~=EM0+zlVI}8;M8Hd^}h$Fc3o)I-jb4zo;v|ylO=_Z z(@UphVhBKZhBPTe6H<(Igxu*7BOBUye#(e0w-QS6StDE@#DgL0M6o)Ha0~=-M93_0 z-_sl6sGI$ArmtX^HUVe&@VsL#;n7_2oSmYyrMNPsd|1@DF!=E#AuyhQ5-AT(f+P+! z5W&>!0}@cWU_CqOuZfgzmRuD-{8}wb4wDchN6&Pk2kbjw(qj(@J_Ahe=&=ehbpLSk zxOGS^@`1z&gA~%^bPbR09-f?Eh%r3S6Xe+I<=m*qpQ(J7gtG6fRq@3F9xTwz8P1~7 z9B7V|?0T6oEKV>qFsY;8r)+=~jzU~8erSaJE4yy4SV|GOOy z9g5FVC0XRG0&2h$D-p@dZu$7ID7Fni^;8;&qB)9T$gA`PY5PAv8VtJ#4=~#3TPk9=OH^N(jboseafr#IU}k1ly=uh8T4%j57@*Z>#iYJ5SI4`2y?nlw3^Ni( z9EggVQDHwCE~r4+2V{_fM#jJ9a_8W92o>!9B0yF$6MjXuBj}3P=;;2y5gV`6)b7yU zl8pEL9Zynrq1NbI(99ylDwQ5MJsha}T{qF73owk0j09(Mgj%?1G17oMJ#BN&a%$ZT z1eb+^Y~zRPbno)CC04H5%$ugb{0Nprn&$lP@=+vO4jwt@Q<#ENn~YooJNANVrG@-0 zjn4`eW?p&}6)Qr+b39r^2Qv~6Z@C9cDHr&Bcf_e!=0d{Ns1NwHnU-{%4^M;TWJvwy zXG~Z0L+fu>?K%=^L+#Q5VYx=^wQM6ne3^9b5f#n$c)J?N&nV4Ei505mPQ8UH&&Q`yx$ocbI%4mK~YI=Yu(S28sGEcT83%~22*)Y%MMsRw3<3uUr|Pz6rPWSN@l>ql5P$g;53w>{tV zZj!YIo1~@m0l!EK>aR$86G-crB(^5pzoF*lLVbp=X|E%25RfwPz!p@I%#ncmn>}Vv z!~6N^ns;GS(;bVKHTE6tzQ=NahBjr3a7G+B+Q6nx7jDCbd~ECBVG$UK1Jcl8ty6Yl zhM47ALNxaIig>=2_HbPyz<#xUC)m`2TQvBH$OfE@`I?b%I!V++Gi#c%j`!S?ohX_#b0juAZ(yM_|9SbIW(I`5UxX~- zlF!&W?szFyXiprxZmjfXtx@zVuT|e{3&RXI!+76~SRC-RjeWADS^RSBX?aaR$)Li^ z=J@)5`I{TE%&XK3#9kJ~63W-yK10(jlOsEfw6UKYBf7(SXdfOSC9ejCZ<% z!h*~L1!5Jy6h=djhhxKuV%)WdzpWJo8TxNF%Np-|raKXUyFTQWOY$)UPMG}$WFu`) zdo>0Z-DSk&L4*;WpmkQCB4;=qXY*0oaG}HJHXl6X%{@V>N&%{=S>VU{z!uPaJ{-jF zC+;jI5*tHQ%Ko$@r&=4$9^0U>#ALaXR2g06Ko~HuHIzLxEm}Vx#j~w)HkyY&$lDK# z&(b5WO|hYxSt#QS>|UAG8Dm+8yzb59x*d+Ki%F01^;XZrd$Vks$Tkj?k?ZdWAqyxo zLLWzwTrVCTShYvMcsJ*S&8!l@1nSO9XyebWNJ6;bGkb}aGE6lN)@)n))5EDvt|GUQ zi;sop!rq5`*cx_!P!Vv>?bBF)ael6n&T{Sl6C;EAh?1Cp2ynsf?dFd4y2RDa(6zVP zo&48*yt+#W9Y}^bKr7p0`8E$Xk8UemE;8tBVdbo}w(e@zV`v7!ajYnHi7l9OI-R z%}Go@V{h!rHI$O4T}!R9inVLa>CgQ7U$1j*m8fGe5Exyrw=^~=hKfEsDpXYr?6CX^ zpWHN|M_HoUt>ZGISa}UE#+_8OPYql@kXkp3Q2Hf1QLR%{YhSBzK5M4dxA8TR<9&rV zq;1bqw5_nFscN^^;9!t+w3Sxe@u~ZAaq)-LTfkqG$?WiF*?F$L_Z@! ze-TMK6KyIQ!O#g2ETq8}v$wo1Bg%t^ob3{bO_Rf2tB;hR`dGm%-Q(g~++1fnyPa3` zF})(Be7aEIe%G(W4C=E|goe@op*5o~F0Zpw>F zGn=YI91%&h(^3kvS6-{!yN8d&foG16MjwN9S=4bMU27VZ;qM<%9UkKrFsz^j$!fkw z#d@Ag`f2OUh68z?ju^Z@1aiv4G*Dz_rX@SY5bOPC$wN`Rivs13z4Ma;i6r@p=vqou@$hx_gSEzz^W@vBq@og`*YS zraz#Kej?BO@Xogx_pE`%CJx06LFiLy?NV@bhZ?u-{65c9ZUSpwN{9J}!@C^a8Jex} zpB`f@9^L0M==E^8HAOP&1hF~sRpi_y@f(NP9XvFj;G&^>Kgm+uC(wyy-Z?uw-|Jj+ z?C@c)$5jEvDTRuUz4!}qrGtaR`;2T3hpXXiQ;)`5ll!nwow5Q?+nIqedBAp2!%0F1 zEP74HUw4+6oiXB=Sc4X83#vP8&Y6mYZXW=-j=Y7@nWi4u*mvLXD@&rzn5TvRZuTfB zd7od>I@%i@WQ+u<6-I>B|B3XCW?4o5Z^#|)7hyI8SB zruBxmAm3DFk~3OPmiC-*x#(mpV6(pqImG$u>W8{j4(V>{x!oS!bveR?{0vd2qoO){ zPQ$+8`e!h+fG|`c3G7mp0v7z1xa$t9%3h3En`11b(Hya&pXov$cMS&%r+S%$Fhl_s zeJv~&>)py8NuK1X^n;}?;pcBQO5I0>&`-ju)8{#ZiWa~St_bQq9I9h}{;%z&me%{uc&dN^lt1Luko-b&knboRL&WmK#zeW0$DTX ztJs*UVHy9#HTjU(`{IqTgu7h7z%G5Nfq?@9Oexz5kKkKf10xXTprtxEMagh%j28#E zE7Q}q^PJpoU`*qX-7XfN+QUsqOdl-Wp~LNK_d+anCH)4L?H+NA4gvdP= zkb&>vuuO*SF~^=9txn_5FF^bk=(wCIy|5WLgk5zECLeU_Y}TOC=u^HvM3Y z=*neCQwPVbWSmcOk_F8?DYEG~7T(49u(F5`8lLh|fIiOEU=DY!T}h8a68A8dXD3^aZkoS2KRvU|TzH;E6Dvy&2(aG1kVV*p%8|8%xvL7Dj}8{3h$S!#(sb&?JsR}F=l{un6BRs+=6KAUn^~Ss%+YwnT6G6> zhA-w|8n>j~kT}9^2>rPg-wLa{^P^Kr2B*dtO-Dt&jYn&8%vL+=f!T?G z#D9-4ronyuji(cjJ>7=&_0h4%%u`e&xRB$lhul@$j}olLVWd7oZNx@HhPL4bkk27_ z)Q9iZ5hJl7SJ~VEv6_f4g_xEq28fO`Lk{>abxmb{Vy?2L~Xu=D)SWNb$1>h?yX zzqm?9JG>v)`l7KJ)D(56{zmco66kc*NQ0YPWVZb`KNr{Jl%K0ztUx)v@$)Xi;M6*i z!Lw8Fef_p)PeB5JAYk)9$s|!c3V@XD8NE-rJUVy9BR{6Pe8%}>izw)1(nx3Z7yiLG z>LDeKtnLRNF+7Wj0<+ccob8&URA#~v9SFssp!+b>-Hm(GLg7MUEq)Aj6B*|OIz@P0 z2LG^Dom|foz+~UHA6`@1_75A)o8J`k+Qb>a52yWtJ z-qn3*l-Q48W9dxNp`jd5gvJ06{3FdElezH8+ZVv~FQ{Tl-^#EIV?uAjVb``Fmm%89 zMg{@o2@#ycpuwc?TH}6ODPJkSUKKF>XUX9!k)reaSQO%L?b;+bq`S3TpCCCY$g6#a z#=`??5k!2BZ5e)29ur7-T+k)ZXL6DpjeTH$o6fOhVnlqU{^m#XtPWi`XUM!cL0a>9 z@YIHqs?p@~3dPY)0qc8)Pmg}M6;2%tQcTu(?7aUer1yBXF$XM)L3|BZ@JTv)jy5Pr zX64&A4$vPC4qtRh>jZxBrC785=3)}fXHJ#g1 zTyZua$75IFCuZl-{o6ddtpbXRrq?Hb_}c^{r^_vcfAN$o*Z?H)e+W^0gj5(JR4nPvjEWmz?hJG1#vtxKq%vTwC-1v|W&5+#t@(oS%~vA;a5H zgL@6jjD7M+>xCIipR5_|Og(AcK*S@^{CXrhR{EGe{Rr0w`+JZr?LkWp8!^LY#4`_e z9xKJB93l@t5T-B4| zu4Gr!QaVf9pql;nSUZhi3@Bw^7|tgWuF{yHCiCHa&mWHyySd7+A%Kb{y!+o_g{A^Ko*x?O(kmf_LxKX5H0A1XivflV~Dl=Id2#`(^lDQMNp7+>AAB%1Ed zE`Cg48I}tnFE-gY;rtL_F7vH1)Rr*)S_$=y48X>-rq^oT<#G~*l^T&_^Alqfw}Re} z9ZSWFxApvLVyW3v(zXdj$!{dA@DqjLg1ka;qaj>S7VD0RveuO|~RFtX7@rHAEQfWckk{ zZpgKU=$-6dJN%Zq>sNiSv@b*gJ{V=;?0h#g@BoLe<>}a9y?1Z)o*&STrCNOU^o!Fa zB~=R*K~WWn*Y&ZZ&^kW(n0Y41vyUXQHbLC$-q{E}dnh&{SOmH$p891}PO#gaYn1a? z>jZtRyuYRrfVmln5okhk1%irojMU96dM^!O@=jiTH(c@I-{u;N)!gqf;d2L0nt#u?~ug~AI zrXYzp-TPVUB#Zrl$frN4(aO}?#V(B}F!7N>ms!&`!z`7)*=ioNwTXbkULS&vStdKd zE*w_v0yp@j>s!o&(m2hC&dPD=&+h3n^9w7P<6mA@&vx&dDQ~S>2x?g{ZK%Uz)HR^z zm&+gmB|8RxLN+L#!$8956?b-R14n+DLfB53PlJh)x!1D40zsi`9Uo-yCFmxAt2GO5 zo|tM z=)G=(Q(H2p0cdvd4P6>Xm>*@j)+m0?QwT4iEJnMZeP2)cjUj=aX%i#gLA&{?fOw&{8Ge-FmkV(f7TI>0@xK zVL}e-oQwmA{?R$yWom2E*^|B{7H2|UO}jw#{ri(5!7@6S->n6>-7K=W9>V%*#ug5* zAm?u_6~0Zmcj{5{P)5m>KMGG1sa=4~1_mME;Q%CAEeIZG&hvlWhuCINhC#5}-Q(V# z9M?1hosDMN@&Az35ZA|qh~olt2NKS+fZ(KiIu?TUa;q6M+{WP>jfkBPkr-S1KUBGu zWQM2SQCV+&!Q3&DKRsIhC_gjmX?xgI4MBYg)aHvjdCtcrFsxwXSW-)=UBqt^d%WFl zD!A1~C>aC^qYbO3nKmf7$x?(~9SE`+nr)yRJaP7)I4&P_r4mQl#+|ImHarcE?3e72 zX+_ZQqv-X$4^GhxF~0sR-JhTCA6KFpG?XVJ(ziS9Mj(u6b*(#-*egjXAftd#4M zTc0hyQ`j^SC0c}RV{ex2*b$utRMrGPn5WD|=fni27T2sLO^;N|f_(Q5wv5bIEv-!3 zZe8`F_HQU$87%qoda07HF@wj*x7QOEvyq5xwUVyg*QOF#IcR(?cVKGaSoz@h$U_!c zSR)k7g!dZtNjA*oNgw>GGF^NV=y3KR7Ks0L=C~xff?#~Ugm*5jKVro%Z?%1M1C z`~kke(I5e5?hcUPKE$Sr;27aKXu}`W+sxM^P;}l7`5xk@1A^4WtU?#YN$&IMdQhPP zI-!<;q;)UeZ97%B4B0QI^#3jIaj-|f5}E8g@Pa2g+B10d!-xCSM$da6t~~K6UMdX8 zyy7-FFg;lIry1sX#rDYBT9w&o9bcEMg%Qj4HlKZFGB)jkB#u_qW2cg0IG1YwBV>E# zOInlbF)Et#F$+RplI>ML{N>j3$JuQvx=@2xR;%P&sk6pzzu9WVbW7iT^5JOrhv^Sh zdrlYk41|5URPdoYe?zOs=@OA!h^XN0)hA^{mG2172ts!H*8*4ie6)6B^=a#hZ7O=x zadEJ05L7{Fd7W$hJMJNNN=_HMI1p99xU5vOG$V6DHcGy9f&{zXiSHC#i7qz92Bn4k zKsnH0O0j-p-P8H&Sd^Qqy7$kYP9Hw(Up&^*(T#8E%8MKhZYp+aS94ymtTlqWl3>#+ z!*+sdy=U|_LGrU)1cWjp@91K^4#BM9u*}TMs_agXVa7?iI6p&x4oIlzWT%SPE>Eb- zZyodUmqZ$h*K*_EWptsU%nZmUl09zW{{6S;9MkQd$QO@_?+xTMa;(T;Y;nBI) zBp@2;c&hK0h!myE}PRc7w_Qq1>p&?Ihpe_ zVe>1iwmyD$PO)S))9E>Afeq#)F&<`CG;`tY)6+7Q3rE(?YqxpEWH6@&m)t|KyLXI|pY*@dRv$P_JNXDTk;GbK5$xH19S)Bo*rCxtqmazuh|gvZMLUt+S;=v>p4&ax4qxcadYamU zb(Rc!8#7mv%L^K7f6V}u$su6ux>u4~`~z~y`+NV-w^Si$M4ToOnnBA^^n^plG67dZ`!M@)w8RQtNv3#pAqV#Ga&u(+r8=MN>%t=n>#Y_;sLA7e=)Y-t2 zsqWqvhd+2Oj^s|C8~i%G)NncNL_MyRZi4GDW<<1c%9LQ1+NIn+jmOn zY~SV+ce(!fSernlZsyKN;iO6CT*DIzOBePGhEF1p*2lSqPv}|BJo4*o9TPd*{(uT{ zE|V_>Fh4(_IzIU|#38_A2M zO7j;d)o4|CEw)c|uuZqH8~J__iya~MVM9qiCT+9EjF{tH$3*8kn_62sN7ON&YcgXx zL&labU)=tgj1Mo98Z)P+rRd=veo4!j$u++?R@qQBJGQ6{2<$>xz|37uWX7ZkpFV_`u@OnPkQ=a_V`B`pGV$GQxZ zD?G}t0A)e6QREZTR;j>EA)`tGx+AS8B=4toA8)xg^Y8MWwbjh|8oS1^gJ;FZEYLS) zwGw+{?oYMbsbmxIw)vFikc{YcD608z>M6X9{DV?Yi}*N?VF_>orm`Jk%q|QsSb;I& ziCaZ57QNXh1Cq3sC1B(cD;q)kbJQN;{c9zPHoJm*pb6ieqjhi;Z|qHjB<}@&DF`!M zCs^I4Go|VnGls<}1`0A(6LFxG#n0LaNoot&jkend zS@Sec!n%N-EFnXz18nY%mnuM-WhR~J`}q#1jB3VIucEWxYWfHepXp_6k{@RN7Cw=$ zJzSJG;N*X~G{1s?q`DXKujO%hbk%GS9uSqz`dQw^PGVTE!i*(L z4I?3r!&r{eOh|ix@v#4v z%8w^t7lr)#WS_lC=tKnKKh`^0und|IwB9*A^ji%&U$}9HcsY;1_Cbt8x$u0$miLjf zVLgql%~AdICMcnT`Djq>EyX+(%S=|{%7x!rBGnU zNd}RviQag@EE1v5%(JFoylM8I?cozoGk4PWOuqPIbwMBQzvl-y(9&f6$?Zx`(!q5J zCmaKI0m~h@Oy3;&S`yaUI@;M76~B%xJ?3F@9cVR5UfK6LH(#;Sup9abuT4yxQ575FjzX*D<` z0s4H#^<0jsIBaRpl@^)JY(S<9DEL9}{+i$s(K2}?GOGy(;wmP5A=Ke`Eu_PIuI4Y* z#d4a1GT2Mg{RdR*Xsgv^QmbrQeeLk~o4+DcS1{v}s!$#2-4Hj^E<@@&Ft-aLKnL{HCdsxMR}L`OQL1n{wBbL> zpS-SI>K=O`N?q9FNZP2VdODD?;N_ZszxxN2($xIY0L9ptrd(==XduZyX|%L&`vm}E@i?d4 zQTK4@#V*Z{3DioO7;+Fmha16uz=e9GEn{<`GbItl$oi775yL4J! zooqe2tI+o&?_K9V)77H+k_!{Z4@dMYkAf_RZ|88yg5~VjzSp)JS~<2keN8tPV$3T> zjP^GhDgwK<@fs#a4@A^K*AvhiB||k>TlfI1reuY1ZEx$+^Rl*~^6RaveX2hV%^aw9 zgSjrw$UM8GuwJbtoqmHAbdBeSwBXr#p9c=Tolk8XPQj_d%*=;gaT)y__ z_{X$tqO;C5{o4o^%eT(?OAa-sAf2@z%Mi=W(3@pSQRa>hrbbUgro&nqCu;0Thuq#( zo$BD-`Tf6HV2%*Ap7{97a&-)%SC3>j-ZYyuVULUSqki}Q(souGxmqVi;~z39w()?o z?Z1VNi$2k1XTC?x?pc1iS6sIS*Ry_N?_WXJ@i!{QSN^_T>9>5DhUUQvbuzzXzAl5g z)pQ`g2w2<=@2_ne7yWT$az8%f^T_3sa7-;YM_1kb^Tox9vD+8BXA`(~MH{E|!>>-< z{A>DHcZ4KS`E(!EYy%RRYv^R<2;YAx_tBG<$%>Z!M?I}}STBA2>pvF?c=37eO~D(h7q*McXa zpOoTFwq~cj((~s-6ZuY$&e_DmhY^f zKWW18XTFzxZeL2Qg~fd@8Ka};S%D4=wEnq>rGtwRT@$(h^JzJFQ#5%VxP!&e@_oeZ@0!668_qr~Qe52n;&JS4uMI)}+>3Mo_U+33Db5Y^IRXwrp z^tBfs@-s3Wb555`20a=JYS~k>T>Yrli_`mJE!%j@bi&{IM>gebsTg;^ehX6LF-peT zb6`y!#4_vIxO`{lKY!0(oH#YziBj55$7rNTvzcKowm$Q`j-VTCT*R8X-}Pu-hbKH_ zYMX1zVb|i@bq=p9XhAm+5PO@l|_9?4r%R`bNsy7b=NHa zNmFq_tqwx>>_^4yTu{n?H5dM=9^Dw~tj~zHQzd2IyRPncVZsu8!leQ=yE7|>*PG6jK&|sDSebo&7W9ec9*X68l zVfZe^+~%W;1q*|s#tT)IZihWgE6!DI`QwSl+^6|1x!bNRM&%k*Ze2w8&<<+Nbcc~f zn!xvBjSql!%1o9MxhID=jkI%g$M4J@s##5wbiT3TVmhFX|5jlCqv*Wjq5dB@{yF53 zm6gj`p(}fYJ6pp@D3!g6LiX8vmDbszWK~A?cCwDlOHnpw97jSp`?%x#`~3cQ9zMhS z{l546^?E)VVF>;uF6j3HC+)YH7c@T!&j!nNt>b)zOg>y?Riky`$I|!(n|C`9h2|rF zp3!r}Gw?5450bk1$^{xP5V{p=4|+l3xHH58UeXfw+vISZtt_l%sw}+1yF)Oz-~-Mx zbp2G&;R)5f9aj5h?RP$>QP(pkA#Y-9>{XFUvCl(`zgH~qcm-c)1#R^>X?O!>SpgA-G z?!wik-4gVodEdY>p%qeoxlr0s6UK)*Xw z9Bl5uISo=BCZ{D1Uo*S|cFMcA8%(5j9}SUky=}-c8`=#Do{k+beQhs}GkNz%(=#A= zN)H|0J&@On5?- z_VZT#g%W=GH8bw)O_si=xr1_)%cifCU2kY73CZ3dtBXvIQnS6ZyCCm@j6$_HGS$Xhskv!ItDgV-Q{ zfesCOODntfiwM89v@^ZZvBYs%NJo;nYVb|eG{=GTcKA03fyn;TbHm=Vb(bp0T{h(S zoYL}V2_rT$s}|bK;Wt+p)qfQo=^`QToI{i1X*N`Z9$qy%3WQlsBMw4ao|re(ZG!{Z zYmMs*!GbRz?{h}#cn zSj46x+2mGQze6Si*%bBH@2|qW;IQtzdZyv$TXC(PWYdFAvh6L_Hy`cYPT96U5O%-v zDV0*{I%L`?zt#HxBHW_}_d5WG{>W%w1qc}z5W#1kcYI;=8c+57mmkv%hR*Y#SS&kd_ zXeuZCBdj&x9@K4lZC$?|4?D8to@Aez#e--w)cSOat~n_PHK;3A?DT7iL=*WdM z@dBKix1ulH+Ff1-^9Jfaagp(=dt>WpAo`JbSCg<-u8bOeS{1q zH7&F^$k49vN5=Tr)yB0Mjn zRHw$w7iv3kF@H}iNJp-okotb;u6OoAkySr&>`|T9_L$ST)^%e4g7&TQRo{#=FCQSI z6T1CkE``eX&Dy_X-q>vT|h9jJUU{E-*GU5zq8O>#S zOysV2fz!<-`+_`JFSUuE8QKk*UGBAInlE0Kck!yH_=o+<&xU)B%1n~k^_U62QqP2{ zq=5c!^Xk{XDWCrIEI}IA)FghL?Z7`7SsCR?n7VV{-^>rotFcEgY_U5CovlzYGQLnZ zQJDK(R!!Djxy<-)yU=vO=G=z*-+Ij(f~{~mM%_KUeZekX(}Y~_G@I2qmPz|s z_sLWv>6^QH*%9ttTXq_7)s>O87tdN|yW@aJ{SE9e^y z_#NVlC>}Syd|AdB0qUD;Oo9*sCQ%1}ezX3ow+ptVxfW#LA5R}nJ+&LFTuN=L3h>I( z%1fhp%R^Ij@kEkvo)>8~R&Do|{x!W&Kq2u(t|Cf<=zsbk@Y}fYJ^EW2L)LflV?I62 zvTy7Ycib4R@`lHDtSnD6s;|g?9oZ^BEBnzY!g&%;eVp*K?uvR~tk+#;`fN_sbKi)m zqqCV)?lg;elg2rGnWkD{Ggr3Iu*tD_Rw%WlMP_8R;UBeiOB%DHv7CfPvr3}EKoFRARa=1z z6&LBlR?}w9YyX70?%N52!R_=ahfCU;=1EZ*U{BK5r;ouOQOT~BsQvC+VlZJyMg)`U zbKeEhyxre-cQqyjFOq0tcw@k!1ywjrOB~mSs3G zCKY8KYGbrsYL`BjBeT;;wKQ_DZ<#*!-#OCm`SQ%epufK#3IonXhln`4MC+{a2f*Zl ztuhnKqL~rdF(7UwrXD=|Q2bibxB-;(iKpQ4>LD{|1MT+*Qd!IhIMFGUxc8=&uBiLS4?*$6%_(YP`BJbmu4U)Od-|I-Bk$Msq^%#p;Oh z1N6Uj#4b6SihD7@uk0gjv(qx6jXFe6K%QrGj#+$8 zdxztL2>2taP1VyNj688;oQ)m&_#M z=!|*)x=|NDW5TXNip6zz$8vbkr|K+}%D;cSgt@$;sVkZ9QUW~_+==X?4jgYy;7@gr z)(->z17h`Bi9}Ao%#cVQ4G|Yo1V{|gI)hKYT@+*QCd!&1i3tVS*=fo8g214X0j~kx zR+gw3h!IX^-R$DL6_eZ~4vE2x=1Jm2Tr^b8lw$CxelMUG^c-GLKE(+)S*yCs*=f{c z3vnDGUcPvG5jsGy6WneR4-`WQ8dyK${K4zPq>-(bL}c(nWWVL_Lomo|aLfJZ5_fcQ z#jj{z?wnC-NVHh)^~JCkGF>*>SUZmtNy&EP^D2f3U+xrPSJ2--iCCOl+X|Z_c>K$q z-a0zMN;ioz_sy{|TIRGaEmf~E0)qXFoW5v8tL>dY6hN&Mo`flFK*kC>!4n>V~>Hz;d- zphm)fhp@x5A_52Fc!~yKlPL%-ZzvoMUy(TC=ihkV7buRa>5D^RCqcIe6eT7!T8RFBEmogs!bD8NVAz3vaY%C4yUA?l zFLw-9#E{~wbbi^Gn0;cbl4+R4Uyx_;!+bvSjj?n_}wNmk=zMiQglt_KVVc19rK5yK%~Ch|HP7#Ds)9Eau}?&$QwUv(S( z%DLvC-R23}D>cT4V5*?_Fj%Bo60P-D&~JjC)yoQ)E+Ddp42c?aYNYG}Ok2IW{a-T0 z6HQbh*&F`^pn*m%Mf%cuGk_si_!Lr97wn%QFswo|PJ(?5No_ahCIZopeNZ{8(+1n`{{3|iW4?6mfYD1(Ad+8EY>3mFK z#I(LPz$H)*^o9|aI4iKec(GLE*%mJa(1d(%#A|${F!R$Ec1F|kTsCn#Ru|e1l9JMr zOe8xVS=sQb>*B>%HkZ6mh}vYHO=_u@nX!M@!^Y^ydkxin)hptu>;^-&P8!iqCj}a} zM=*(y-Z`{Sw+pgYDOPDNCpXiaP)H4NpIW8FH&+s((sr>&1ot+}w45f9v|UIOt?UpR zV5V;y2&_O=E;8hzR%hrtZ2<#K0}&E5pHy+*gB>Cnywc+0eJ0Uhl_1dUQfPW!-Q*7m zs;LsI0}c$D0RNB}3?S!2l9?U%wcuci2rW8!cGRj-H#ePkI8nXkBNmmOzZ3kkIH+>d>lxfo_%msxv}j1fsMP)d_UBF z)#_mFIPxYT@PV0OuWbaW16qSzTKUq8mRILy8;LdH(47EjbdU*#{XV#FT%1A6t<+!` z18IvLOkfA__m!ZKyyh0>B9L8Akbp7`u|?~P#KmCPCkK5Ctu;34{~gcYKUh8fJF;5B zVbL&KHD4YQ@UJ4O^-sgaZWZ}pA*CH!KG)1j(;#CAH06F_KXe&Uq!!o* zLlieLsHl)R)H2V4f(jS_=w0{MG&qX)n}@mrdq3|nPs1C7iJ;%&UUsgD-}63kQW1*K z*s@hsR2AkB^{eoF(KOi1(atN}Z~x==s-~4ysQn#02(%0w8W8vTW`F1@KC7AC^(5~1 z-si}v>kV>b4O#-EZl*E7lV_r5A@?Rz(boesFe`$7cUqktchLDI@kKk;#vW^F>&f5|LN8q*-H&;paAy0H0wo>@U1XqqV1J4uHOGR_1b;PMPD?*5bCgJEJ{ zh3CW&Yf$x&)t^;TfhJ5MmB>vdF=>-OFb0kf{7888jaXF{Cc&sy`Op}=wgO_*>+jjX zt0SNsGjY7_a6c?TE;HjKJ<~obbj{55<)hGQz+X}zUEn(WT+1?C?k5J_0sKiQ031K% zG=Xrs4WxL&2@*-7=Vy3Q&nI0nn{3$eaFn|quo^TNa#S>>Pe~2Y0a@^H?oloUOpUNS zT(DE8m&Y;t?V-K3gIx=V)?7X0Acyjp$N>(+O8Q(QWvDmDY#R1$pD*P6vg8sA z(fYg$UqNZ4JijBbNvpuOSIgs_I_)VPVhm_qZ3PCnCmwM0axy*V{4nXzMjWkw26T4M zEU`0&y3k*B^Ijhy&k>GgZcZHkb_*Ilpzg2wY3T8=P4*H^!{q?oB>yo2oQ z9$s5~6Zj@{t8C+OVVhQDOfkOAdbgos-dHZGrO4-cgQ?!x)UIeW51kQbq{kI7Df55P zOwE+8(+-I1SM19d^F@h+;Cng)NVUEy=4n)1C92Op&P^s|5YSXa{zdx4gvuYq`!FHC z*aD`S@{GSizAw?SsoR7h)*H&3?d&(VDq~Lm&n8%@qA7Hp7t3Z1^!N|p=Iymie9ymd zAMWWWa498lVW?^c-}liur& zmpfn`cN2|ecfO!oUJgkSVq%rn4B^g8fYNwAdq=85b_yOb^3|49)2HD$GB(3^$0S(& z6#|AtJ?RunXpLCp)q!U*Y!wl#wm|b=<#9;MWR9iUmDOKd>`W+_KoSBWB5eOcTlumh zGk@oIOd7ubF5b%qB-`UV;Mo^2&pmh$%UyC}@MzQwvuOLK{=KFEs3-&5nx2+zETfL7 z!O_bBAt(~q&HGSB-N1$UM0f$H!+sLrLP&o2YvtuLZ|p9LSu(9nc-YI)BLPX%68Sv2q0~} zL)f1+nO#v6Lh?qMSq`=MKH*<&N<=aMX9fEtUiQOdekJpF;sWJ;01++|2tQIH-jbEQ zlo^m!WWIQs7q+^36mS;%r@sC8Y3dQUgSK18yK*;KDHlxk)Dt5}qt40Tb57*ARFh(G zWFXoH^N5$$2l6~1v5M!Rf9O8BIHeBIbk2WI4RuZp5i9AZ7x4sCEqZp@x+OnFtcahv z+bJWa1VHHj$RtJ!TYDB%)f(IH*xON$wL5|)JT;C_ahd6O9zJTHE4@Y_(KnYU^p3bk zm@6;1y%3ss0uV5)e4x}Pn_Yl^P+mWQa(M8DB0#QGLL_Qkq@ceA=!=;&wkF*jeVJfX zqjFH>Am>K^C!KV6(1BiTcX!d7#>YXNf5G>Muuv6W*=p(wq}W)DyG#||SpV@zUGwTK zmyA2AJs#5-rS$&bw^E#+W{pbkrW?8!ShSShns5`}JmIq0XI5r&9^UbE_|qIdM%~l4 zzM;e&jaf#BNofojonpw^kB8Z| z#@@;^PoT3Bbv@`R_e-lEr!LRiaekY~lS(hS={hoQ?0PVLhzp#y!4`3K51R%dDod>F z8Xi|*TgEmT>h(7*x^WaKiQaPY#*^%JA;VHPv{Jb+kCw!`wKlkY|00QRF?Rj-wlF4F zJ@4E%UL$&<=~)WNj~SU58#=@5uC}wEWNR>&y0@sR+$`7T zY`@ec&2I6uD(5prK;JCUiluQlFSng*^b~GO$(kcAKL3N$!kFu|jY=0ZjW!s{>eIps zXO}9Jk0+b-cjtZ#_`IVN;i)nGrA-%Zc=C=W>f}P`juTqiFD&{0C z=PIdr_$`!ULseRrCP3AS{2|OBMyK3@D10lD|X*~v97Rw$MeWick1n@6E@G%Ja39?U^+PgW{I4-bb-1i z;u#bYuy7g8|5R^0y%WAsa5AepUzoo4_2+)3)YO3ggtWJ3<>uCM&;;4x_DwSNAa#tB zLm+ZO4e_j^bJdhkV<(W z3d>?{7tvqvly!=>j7a*{Z1V26-mR1F7N|h=?9exB+(rxePoLe3Z@(ym^F3P1E$I*I z$*Ns#>K2qYqz~(__$8+a6o*a~wbR-OE+t86Q#TUC@+$5hV|55z#fny-fAG^KBn&KP#!E8 zMqZ{=j`K>|&uO2dxlv+>M$EEr*S+Pn=NI#6=lZ&=WvjFDHV&yC zr!!Gp53yMjH^{0nt?rB7&$U^Vf7)RrtIAEu&;`>jia*$bv@GmeyO7>im9Q`KbhDRP zdapQjZBhN*aQDJuLu=N2#!#f4_s;-tiHiBaE7!`iY8x|KGH@=&s^RaRbZ5J-cAttkqa4qGFmzM85!xj@1-Qz@Jd7BkG z-B}+kwS6CuiU=WAQDpUd6QJKB<;S$nMs;fc2RPxT&R-)3r2XW}3q6b!9nBK2&Y&o{ z2}7^q;;pYoo3_pD!HG}TvFSKEx>;?JJrDj-xAh1t7)HEox?CTtAAj2 z*Q^;Qo3+-w*NnS~^<3DRwhZ2VL{p%sQ!QzZyYZeY6bGu<>90A_5icW7`kR$&QQ)Y; zk?y7Psy1h3JA}qpuU-?Mp)E{v ztsj?pyW+d+e_e7%qxChdpL|H;`+Ryq9wh} z%Evi7s`Fl}7o0M5%2Knv`RxkY zxrSmyURlWd*2L2!X+F25Q~UalvUI_X8;{=#ex2QknW$0?zWc_uWC}mKF0dXD7P8hb z@vs*oGNEi`rFlPfZav6-wYF_5!eeMULhQf?`16!znLz?#y#?_||LTM!r`; zS0OR@rjb*g@XM5Eu;?>64@Z}r>LFtE&CR{wXCk6HO`NYIUbTyWw?w_2w<9EFpUvUm z^)_w1RNl}HF%ro;XGrn_2ZYia$Ku>J)K0CyWJW3iQ(Zjs3joupTwz z=N%BNSM9Hj@{~s&03Rxl_|^gnBf6ZtZ3o+HOS5}Z+CBB(M(^QTH^dvX>Wu;)qpw)j{9>l7JZkC5Sj5FWwX#TNrCgyM0n__?^sKG+e7z zOP^vdRY6lfc}2Ulsf7S9w=0ibddc=Zk*xB93JZ=B@NMZg^whd+Uj#az3v&7b{eDJ@ zy8Q>#TKvl?cC?Nh(mq?{Oo}Y~G#eaijzV5CJvYDh7_Sb@nH;QR1ZNxb$fiV)i@TQ> zGtXFmpdn>VlP8oR zsHW!S_^f~l3jv1*pWKbsvF_RXOhd5#IBs*!F2~Gtu~mwhs%_> zu57l&4cr-#+vp3w)K@a9rD?_8>I^R>Gxc3+ zmpc7DdaIfmKr}N^@RMa4JbRpyDb4TWTL(Cfz1)&xAGaZ7oCyk_;NlhEW5_@~;>XB_ za?0Plxy`ozx~y%iU?j}0MRN~ppLkqvcHhjr2%MOQXKjpH8q>@P4xl_8vGE-IqxbWF z2$PMq3DjRt5~_xAPkFXq+%vPZ^6-<}*}> z=6Q!nx0ZdY((|6K0LQfe{pCyT(gde6C^ zo0a7a){`eHb(Ho00ER0GjY$;op>Aczz%<{mg^;gcf+J~~#U~hay-F%Vc!wx1Bo`Vd zSbw18ZC_gRrbvKM(xK<|L+mugUmjNt0@&Dfi-SM*C59U>Mi>w{lK2jO8I}GG-HNF& zH?pcM%F=|HugPd1UL)<)`fN0P;zIMp^80|h98J&6j*jE?n&m6X8|#$@SK6QMdhNI&+*GRk$EXE+zu~ZWNq$M6)Q`+m zLnJQlG5>r~)%#N;Pt!+n2hsllaeh`0yd(Ke=RvFK4n%RrDyq{k94XTWdvxs3ZKua{ zkgF8`VA`ipPp|MruLDK({Jj*ezJs-s+I9{TA1+N7Qq{)qg`P%nfZ6n=n(52(JNaUC zL_u5|txWw#Mo8iwTE4(lVw&c2tCLKIaiHas*0H|&y< zUKeYbP0Tgu2}!J=@}KtGi%2xcO|28Z&nV!VhQrT8pH;@7x(ZjGE&W>2pLy`?m54|g zxZ}Noe{Cr7vc!MnaDn+!JuWMJ;@^kHvdWsig_ZK^O{rOndo5Hs8}HdUIg@ED)vyd4 z2`__*hl0=>Pu4r5;872?6IA$R&eO!_IZl$9ZHBeD+_|~( z-(t@vT@k&19?cf%x~g4s_$`Ua0PDaKZbiKw&expu2m6(xKs5<>BIivxn_1bPJ&WUA z&kDZGtAdz(?daKcMN$*nH4lyx#QZ$wAExA_QIy7WZSa12i^-`T zLcH-e7O;{BVgx^r4x%Kf$>`B_YCisIF5fBVMGPG z>PLrY%4;bW`5OIv9t=D&Ql_`w{EHW3Ue)Ej?C(0FjC%wdaFQ=}e0gOr)@r;U`y zg|utrKY2l-k`o!)^>Y7c%|YD}5@u$*`hlMR<^(@k!Ov7Uz3w)18}0IwXe}93sP9t9xuwR=Q2E$gFigY7RExk6drx(9odsjqXyAT(r#kOFM7{vQ>^E>8#7Rz|7ao1 z+c!^Np`Tw{)4H&YHvL4qNv>@0`s|ro_bIq{{%+lad+^G$dZ%LxaukH{zisOE;HN9# za*}K$N4YZ7esP%VQtteML(dSWYgEIFt~Ynko_l3ql|8R_%?s1$>3qF*Y$*elt#vn# z>Wc#;BX3jM$Y&4gPu`jR**$1F$y7#aoOPC<25rEo@>*5feZ;nkx8W)kBsrF@g6VJ< z%H!gE(M`F4E$F%$Z|-7Ox7MwYVsE#YZm-W5UQaw5dA2#-kTVi!{@ZicHEQFXcc|hY zjAzw0Uq)R^vo*TK`gq=`5oe+O*nx5x_k85Rh=$;{SP%N?9Bb}u@B79708ZU6#R)WF zUxEH#tM;O;vAtp5!mdTi_puY0P}4X5N5iF< z;9!S)z4sr0|6qD1SalH*FQef}?&`@E+I|sV6{q~-B~7f9@O0XvvL)u_%<68xNXtu% zk*DvnZO3=BFiQs{iO?;~NjoFmcpPW9egXB;=DB;zx(zkVS0p*gWj!nWAapKc;q6cO zLD27d557C?q4AY!Q=uQ;etEFud1*m>->u8|xZ&rlU7PX~@{iQo3aFsR3Qzf5hOzSR zmI^atO^%#~EeZm{gC|eM+w&~1?@vFMu)Ekkk>m>Pd<^18niCg##@PfRn1y?y*zgHNG1{Q8IW*s z%Zhv2cAE2IvthnP{GCT%EkDEzl2hL#sk!~zC{5oe^>io$6?1EcH6s^lvg`-lioHW- zmB~`dKU++V)mA;_R;IDt9E7-qy~H^YvI;f;E_nmXHyzQ~;Kjqqw$#j2dnB#1rnO6O1faW4>@^j50H$O8urIQ!!@5> zOnTAIlXFTA%aNX!SAU73+G1}Pi}MNSeqZ@=)TX3Qu8LjpmWkvK*3+@&(vQ1ZGDwHv zop+M*0$C-M5d60kIrj9oZ{gN$(+P7aVP)!NWwJK^j@>?gIrw8dCl%2yAhRDq2=#ni zl1H4UT&dlRQFf~OTgUnFXZLxu9(2}oOW><#K}_mvpVr^<= zrtb^JJ<$=TyLbO2+p{YFNj=4w_tWT?16X}cTZ^($g~hN@rED=Aj{n~ z?6r!VD!V#tYB_y+s6TwX?s+T0RXfn+L*T8MU!f8_!{d0ZBxBFE@`ws2syXF)_sfKG z*GQqU>6_o|X5B9M=8bMNS@NwR7&c|$)zH9T(l||Fo1jmpOzy*INzpXlEvN8h0udz-|tatXkjIMjW~#_5vwVu%Z$m^PmgIA~0BcU<^6^g`qAV$!Qf*o1Ur z#o&udcW@}IN>vs6o+~1E_Y(HKj>=*3`TA@QmFY#x1Lep6*7R@QyK(Sz-Tx>9tYsJs zKDZ(=;MyYd_QO=q)uVgA9U3YEf$HZF~PC5rto?un-EzwOzJeHpl0cX&C5+ zWPTG8&+N%Gq3XYr`S|-Er^?0MYz5JiWbU;xojwIlYEDIKZ8RKU;l8Y|dGwV1796+_(d-C{o@WZ z%OBzrra!FKY@ORy(S~mI%8faXhPT$+3-#^>`uZiLHvbtu)~v$WXf;0_T2udq!*cv1 zEeibp6r5(e?cM3k#mu1Ostu!wMt!{Qt>WVp#qIj4eAT?PV&_9bq%eE$eWk{Z;N$k* zFc}AfxNd8{!U9TC7gp4`>Q%T>>11$b7xu=N$DHfUGCc?HhUM|W&xf*`m@i)WKCyFB z6gd&aMKdbyET&XhQSNPP8{A|T%G-u6n7mTD7|m?tss9ao3U97Xj~0*x8(wv$0@!z$ zT2`zLaqFe3mf$$Y>(lc_B-7|QnT!WYYvA%gOYCO}CGxQ3VOh8~CFyBG+4T7V(_#n8 z@!{>@r1X;y7h{Wf9&K!)vCbciFV&kL=G{LI`@SmG__Xk@a^d2A%_G)L|lrL(i}2DT6>hYDc7`S z?hC38#YCHH+F+F~+@4~zFm+WXa@O$MZ166zY$%{;?G{ostN5G4xp`Z<+Ik_DW-tbp>e#P@0ox@v(qZ{P`Hn96$ zAx_?x31;bqKXQhbgUkaPvYP+y*R4%YPV-)z&GJd3%CziR*lDWPPW+e@R#6NVZ01y0 zi$KyxL+QQYrDe`5{LpOn;7;1B2djztVj9DAkfoT(9ps<_VXT>#A$=MsiOn_T7p(@C z$OYLL>~|%MQ=m$+0bVxi)=$|g?6(gNL1~1+W6$YniTR=v?;zY_zY49}F=cRsW_N$b z)Jq}v9a3l=>ndQdrk>M-j$S@`6pRq=0Uf92bW1x1P#99I1iN&+DCI)MQ?gf} z*~xTd1MxfeF4B{O&}=6#Z53Pq04Ao5CQu!% zN8LLLc#V`^rMSC?2V?UlnVWLG;}b;{+Fkm`Gp_t_`PqrQ>zk$`$9qEqw5z`l{aVhv zlt_d?(U=T`H1j4z=GViQqN?Yb&d{ea?=9<_<561CF8rXOkDvHB81D3C@H|30cqLH> zN}pN`D~rId?U_vb2L_!)37ldZyJ|XF&|gVa`5iKcrd3O7dkU${gls1Uw9bK8yV}8u z&|7b@z2yR8rHHV)rL(D}f51$=s7LpxLtIFH z(*C)DfUbLpxC=(;U0+mq^la!-SU@Ry!){W#d!JwWyhJEBVGHn4WE|<>v8T#uD$~NO zD%%}zShz|S$D#(Amc9TrkeXyD{U4ENJwF}5Up-M?sqc1>*E=yBil3OB{uiaGzBh>4 zI`tjhFCbd+AC!0Zu|&#sqQSDc2GS>aR;?e?12y(cOUs15V><2>|!BF55T`|KKM4$?| zVHkYu=p;QQo=pnk?*&+uOdb)E24a196GNT-CXfge(S?7r!oWzD9@3P|$mpBRx|GZ` zXuvAU}v)^6T}(WGDL#5oei)L}TPR5TZ>pCUl#&muCz` zqLGN~L|r_~SvnrpJ+N`i5S=e{w8RP-0RluTgXt%73w9J@a)S}sAhJJGBl8AleQCwVcnhJy?S#r1}n1g3MFtq`Rf4d!ppyk95*Go zmEmrn{~E+~LB$*y$V{ZT5ybLB%^RaO9b5K}j6pSa8h19i8|*F&T^$=Sneg0qx689{ zkBr#!9tZR32N4H>#t?)ri~&5!kND?l3o;S(nAU&6$sX4`@!}`LCL?{bVi_xfFK!c~ zXX5VY@zY9i3hM820cu=XtPKb)WH%547VAZ?nT*}$%&+5)i^F1a%UW3E>9PTNJ;U#N z^CLGaKCg_go3~Tt*GvBcw6da%@M~{W2(6$zy>^G4UF-JJP6yn_Cu}>{eZ>EjCC}ZM z4j8@HR`Y!o!yyzrI~!0Z4Q@R2R(k$7h*5AiDbp7wvim!vlOZ90BI46$;Mu+-M}P(i z=9JnIlgJYjTR`GB-NuGhX6!eP+hMES8?%nqN1~(-e|yi(E}h%D8+RBD8)P*7*tx<$ zsx(-WvX_`HMGXQhAUakdZ=rJt*=Osx|3%tSFTpQa{-bZSp+pcQRgDY~In~f?9)#(% z4l`t*MqCFmZIInZp6SR3=v2m=+%1lDlXa8$G_CGnWxd|;VaIEg3-{o&w_RoGt)Dhw zgrHBOgOetT{2V4Z>dx6g{h-b8ufqLJ9$Fv22q#)4uPvcq1u>!(2l$-z`Vi;@N?}bx z>Az#R@#1N{DsjKRqIjM(qPw4qaOon7bl@&k;wz$h!PaI~SL_hQsYb?EE!x@-Hr(3+ zq^p`&iwnz79nurEw&lyakR+gHb>}$Nz`pfLe?Nop`w%HY;KLmZSX+3gOMGbP2-N_2 z^#1EVLp6KK*!l)K`tO9M4~47RL%@`v+OF-!#;YX{`5yDMiFmLgf;O>%0nV}pN1?G`iT);{hnV@M`1WDoE`K!f@83yPq3tstlnHJMh-QoLwr8t zo2bYpJVp4vBu~Hu&}Xxr*T_zMuERk4EdC^O?;EvXYo6A=hyFI7^PSnNfYWBn6L=iY zBpv`bKMtZ}w3eAnHjT``LWD!`sP){Ly-tk@i<7(zVNtvXE1jwfBvS@2L}VqhPZhfJ zfe`W~R=>nsJFu_fF>#4AXq|#$nEg+~zx8f5UK#%+j@C}iP3!hnDPkWuAsK|^d|>Xg z)UU5FC@8d{V`rS{7fEBe#>o=Pfr7*{n$C&75Meg}A{P3tHHtIJz&0=-VN@~FbA~(a z7bCSe+3>wTnQ4vZWVr7Oi67zHDOT$jmt4_Nh?`xZ1njYoTWdO)%#Y)gK2TB8bWQXc zsZ1+C1gVQ17(}6<>97ZlUO`g6iE61#F#Zmiks=6+f5~z05x#TA;*W;ck)F=9TCyc3 z=}zD_CfaSWr&iUge=8Rd(9?CwnQ?UV8}Ze=U?&ryVovxz8zpqua-pGRR;%%-ILd*7 z&^)j!$ayD_iGaH-uQzeW(-V^K?=cqgxj&b_pNqnallXyLroE283ehI+AE}Hgb$p#7 zdq7GC;L=RR1ZdFF-)rwVCjx*h4?QHLCa%kIX?w^kKQ++e-{;4Ldu_*u?H>qDsz?6z zS+w@U6{jqlJ4RgBDv^UGq2XT_s+oHkbvt2$Y{m!50+vfP_9yZH5Kd?UgnW0M=o|d$ ze(JzP99KS~VEay~U=0o_?#!-xaFrq15F~%(P942^q`uby=Tw9gR*dDXF1H5rG#KU}3W%NYOGGoHm>?3-h+GIj zhenEA_WMCd-i1A@>?bv1o_03sK_5Eo}cl~jSu_-L8=M75-(q7IJqLgC>BZ51?p zQT@ETTUEteDz5*0#e6`W!|PSbs#oix4T-foo6NKk4K-5?>ATJTGq?UvT%vr}N2G>} zcObu`2>`J`#HEe+cj#|lbotB$K}1_1Bw{vAhG*zLmw0D#$}fep=rpFqx~yz9?C-|v$nK6{Cqp_vat$(c8;p3Li;4Ebux>7s z{_vytVfYSekHG*h-b@$Hx?S(+IO@3jV(H*fU@CA4jiWNfmp1nax z87g9j3L4t7rd`{^?Nbf%;@Ej{i64su|MlmeRKw#-1r4b8v&SR&7flNmWdS;xQYOx4Fo=Y< zaZJOVn_>IsM-z>B$pW22RB0--2w1=#J(TT3cCL;le!cA!JyBsq}CN&-LO+WPYuoHb%jEfLC)f)ND!J!SP@F6PX&N9;#M(NsDq95U&!eyNxV zh;E<22Zl0Epu-k?vz}^SbrJ;N=VJ9h03$0}|6y7*BfGJ3f!BBTO%!U-htY^V=B*3h zB8^mVWkPJHj z+=uz-+R{o4hShUOM=4u%g;EjfaO_3c@WJj=K*vNwL;U3@X#H#an<=puqx0(wrP6Oc z=#*Z0dd6H@Z@BB|+ew=?vCv+0qE)woa+dg~W&9`X9duY7@6E0X* z-ag;#^2}4_ViP5%(grDY)nqzg`Ni{%KS}O4{T83Shl$tCJM?-dwK_JBS6#~aXlL`( zI`(SVXKebDnqkklhhEB8i0U#GDd-xj-rk+fn+jcg9lHb`x6*yC)W|_K>uJ=@-pyOn z;$XoXoAC-Z`ei|2EvM>n`*a}IF1%jzO^-J3{(k_Ug0YiDbCy(0`%SkwL)mLPYxZ`% z=3Q)CS9b0--TSs%R%LXt>%!YaOkW4E?B87FN+qY$6r75;Ovt07S~Hs zPEk&5*^B|pc}JGhReF#3nR7cG%=RsZ3Nypg_H#O?w&g!}EBTci<27G(ba7JXw>ar& z-LLmYA2Ph6fo(_vb zy!i7$gC}Adbae47dXRw!%cByLa}NcYx|ZN{7MS+MuA&i4AaU0|%>9cBAgVhA7Q~nV z_Hy0MhY4NmdW=EzHseF$9T(#z5_j~_`I7Onmf3m+c%;29z{r>t*qAw{9{Brz6rF`% zlU)ObM<|`rt(3HMhoYo_g5)HWW{eTS$blfGGy+OXDk;J?V5Bq%NXy3P?vW$kZ{Kf! z!1iqCIp^6q_kCR&GtF>}QOQYwrR-*P0BT`Lzh|#{ujZ5C0hke!zuL^(!bV@^mykg3 zyXyx((sm&BiTu{-II?Y%5tHr?t@M})2)4`fDBYK*(OI7#AD>o}`g3k3_p(-8A;znm zBw)#I>`-2vt@9=>LhYOcCA8@xZR-#ThXcSArAUZ9;m* zuj1O{PSs!a{fwh#D3E|@jaSPJ^T@K~IYT^4Veb5iHc-uX;z(MxnF}k|buS&==N2;E z18r6zKdi4tF5PQITM?julaOtj!r}vCo3iRL!NAh0W_v@Mg|9ac<_WiVc#HO7ZC5&; z^_F7kiY1ilCiR*N$LV&h>$fy4IoiW|c4eUJ7gic5Er+Qb>P_~O%NN0E#=B(d5Ylj<4Y3C!52=>)#&5 zU`fF24*Hqy?1;x;>X7y3yf4qFeOi9~)cZosRf2({nwx{mrgFTtPVAFYTNksNKYEOu zkJ(`C_P3{-TTe5yi%(Q_@a|X2x}c!txLvu0IJ4OtXzL^#3%lx5*~9j%_HuH{*G<-} z#~9gLG>I^0G)xCp&0opqN23C98e-0FRXTA!LsP$KN?5KuayfeFQuc8a!X+)4W^(kw6^2gv_T8)6ERp$asa0&%XvW5fc@?;{Z(mB33ML?448l%z=y-^5kuQokf( z)a9u10er7~|9Ui`<*`5LN)2CjH2h_oM+3*dc_zKVXaK1xf=533hWzRF%_?H9i!nmx z!^#?1^X$h297M6p`P-%}tJ2QOwhQ8S_nUiI8RoTo(*t)7y{i38wl39WRreB3%LAv> z1I6IXydQYKv+!~B_O!$U%Skn-vY?en)!BE3=Gnvi_kv!|siE_F8b1o$nO7RkWLrm? z^GhNufZ?)h2gk>jzl`ROidJfprr}7-mtckJHB6D$RhZZkDhER8rotPuC(YazRlIfi zRPgRpPhyoqbkf=jwcp8NKj&=c5ZbFeWppg4U&)UmN}O0kfg~h?O`d7GM9^Hxza4cK z+Z#Yn)IHJEG@`jjnD>L3BievR6^6`qGIJcCYDXIHETomM2_WX~pl9#k2u)^E5wnKX z>9O?b@pg%7a8*-)#a5UCv<+o1%-J3+f@s_Ghhy6Eq{EA3pqPp|8 zB{St_;_vlWf|~Fr>E7ez7gw*^$kDSF9ejC(vTc9;(pu=g)Xd#w=M~4`V*R3|=DO zpPI2D11HDEHyBXBkIu^D(h#|9qqefBZq?swXBl>=rZ*8NzuceV z3bc>GsJjMHHqtwVHH$$?S|j>s4YSbCm0=k8 zIeg&EXX;t`RLN9kB^Id8asX|;3b~lPpAj*qEj?dje;)FSNyi!y$sN(5C39D%oA|Y) z_D^B&i^%=ac?(Pfqp_ZVH;f>C)l%{}O4PIo`f3?K&KbqXlncI4S&i{p6is`i^`;rs zD)TJMOW(0cOZ7cfT4iT?t*92C)Qh_uNv^^HyXYCa{Pi~d0C>w(&6)t*at914MqY?< z%RFbQ)YGFRKBV&MXJZ%C-&h+Zabr`BRp8Io&J=xV9l`ltocS#G`qqxY*YbcEYnhrZ zpV3-OZ)e_1OF;m$M9&e#CW}NdrY#CA$h7G{i(W7Oy=G)0E_MUdC+7qK92~v*xEQh< zQD>;Jt*wBpQA3c6(4@`S$%(%FxoyCI0Dc7_87|Qb0L?f9lJt%zdzB?Q3Z<0+9ySsX|4QSL0R(0b{BHZ5$lIS4qcYJk z3#|7XM8rrbg)*{@wVd^4zob0b(DY9XtnI{DC;u*pJwNIl8?M=uSgvgC2+9vnI0ftW zjMuXO(nhNpVJ?oj!dx>!IL+>zqEIP(R#o?^N$Ir;u6mWOCDQBd;e1hMRZHaXSy?jK z4+kda7!bs8eEDyv;!+snBPO>tmc#W=92w>h-?h?qnY^GNC!+K0DrBS99qk+uu`Mau z1Lw!vh|X7+!>U`)6)?7v%^v%CX*O6e3#$axWE}+iwDteKM{KVw$=5!9x?VrC5wnA7ohXcgVnERb#zoXfSU}pKWk88UY zlBV0ygbqW4z>s1bOfZm4$BCx#0($%4C)_9IWj=R237KylUt%HbQ2Z{9%#=^cdJs^_ zPJ7pmy#K!Chk<>j_cPBm^07xKbgtQiaWw=sGVPAObsgCl`43?B$;485$a2VKv1SIg zSGrL-L3yT=W+pzI<TTL(-vg3;EdScbgS)CX}7GTnt-skjVi z*+0qN`5ggF>>&KXhdR$Z3pp5ral>@KlA}3=VcDBi4f=u`V;8_0{kW%OgN1ukBdQsg zNNf-(3nj^&4lbw3lwSZ{wI6Rw?lnXYu}~B7dnpmcCGkPAHB}8Mh$NweuwEh zIisKKJwQ{X=f=!c{Np3VrucA%a!-5D2UM3lOVMGFDi`e|W%vRpj znOxdW!FRTm^#wx|Fc!ws24jTYKCJQ=Rzgk1dNN~?P&wE1_f^;94_NkEggxQ%tFLt2cHaK z0YEWn-a`#)_Z-WS8MsWKW)r+FS^b>FN0~H5Ni|tG?U@O(lor9eU0pxwZGdI?`Ll}bmZ`gP1U4fS&L_(|!t!-4!0=>#bWZ@INm2SOf>+wb`1I){&YI?_Z9(PxsSnG<}Y_DL!@;A z5Wg(koBY5ayUXp{^Z6~=<16!<+}nHj*ly{-`K~98hh*I$`pU)@dahr z^j5DGoJr*VyO6vmiz=1k!E-k7`h@uV-n+3U!i%ieOi{O#oL3?PuBCW_2e=(_5S1Ci zVsx+X*qxX9KY$0A%vi_S?Sw8a)8a)S)pA%*i{Mv@YuC~(j_L2XDtpXX?SsZl-sm>U zxFyfpWHNWK&50|K79RzZcc=9G#IA4bHBei;IYZ+5;dJ4kiSY9&0UD-QvbCre(M-K- zdX&hQdh9tH`SKT)?1RyPrAlQ5)?)e|=^i$!o6|Q?eeN%zVIC3>C!38_jrS#NG?xv~ zo(HA#ebXw?PC7!S>zbL$9B0|1`7eCg4tYg;JJ;-7a8}!$Ow_f+2_X%vIDSDuG4I{G z65T$U#ak|C#qK*ZQrrsSSxn$q_1~{Mag3+qstVWZc&sB%^UNCOl5<#lc7g{NUGq(a zJ_~)947eSGF*dbMYdUKtWF4^@hNx5ZsU)_rwo`|?ht>c24-g%Wla%0p;c_f60Xguz z{d0V=(cK=aqSI8dnbjuvbNX6#<>0QZWci{=oE^(FoR>88#UW2o?72!`*FoGZZ}vhr zhg!Vk@4sjdMH|6QlX`pWQLh6+t=RjTfINvT0CCWLfDoLWwRn;L05NjB1R(8OoNacX zz4c8Iq=lqp2dbhNyFtZd(GJi0&8=#H8b1wVoHr3!Sb=th30Th#LvAVwv5z}$M*{i6 zdSy7a5QE&jV2T|I)CiTKjbSN#yW!XKlda`PUq%B$8$j~7@S*1HQr9ts9C&l9)WmV@ za%`u&_HbC~#m^De5o8F=w}!gzc~VZ=Gk;Os;D;aDP2Suzp&83yl}n>13Ntm37TFcf zXNhvPaoO)A#F62y&W0c<4)-zn_GgH{n5>Q*$xzoY2^S&+Gzgto{T11`^`HNbquFs1HtiX(3vkl=Uy@KR_KJWUY$T zx#j%`BmIchuc>aM!Pi=#ra9*CAP!kSo`zr=8!+LK5)HL6_6@92v56X-APX4(U*{&& zguK9&{77C+AgEj6Ic__j1s5Lc&sKd}OMyq}G|_=7@ZrFQhDmYP#7|FfL1shSW7V-e zzqiV!CX1#BY=uNHHUxFn95C{3ducUoc6aK+rg?7+<%LqURR}#_G)c6y@%mPV=UoPu zW=2!mPB1EYfQ{LticLLHI86ruXLc>-xKODIQSlaNwOElV-D9Y}Qmd>^O9WI;y z=8v3e$Qkm^YIdo2soH~l|7XPfyV&raT#BKbsS93gnYQT=#tD>Su(!oeES^kggPd0k zzenMdJHTr3)C&1>F|($3qSsTpAeFN{JfFTd(b13ji+z7rndGT+FKeMJOLVNXIwRe3 z0oRsXp-*d33k}lo(U%voJ9xHVlXTXMv;=L!Qa52zc~AAlnmX2I`&Sbj_WAkJv{WCD z$jBaBR&2op+?mNUtd-s>zm1N&FxKKq)-pCBB}qTxuBnIk)6{$`v+WFe17#crg@GOn zK>SFW9JV*T_1S26`&Wcy7&7WEN3S$)dz*zn-ZJAI`v@>w-Q^sxVXum(%2{f0px4Ip zI>h)1)%aeC`t@bZ*GiL+@7orsT|fHkI1NFDzxHkfF-nNart&3jjlQqWrZy%H8awj&X znEVN6BY^hEul2`;##;QAP++efwXX8*R2PiRnDbX-uM=($^4r~3t(a|h?5SyURcF7)Y)tx6*ocBq{4dU(AB)*o# zhgJ41iG&6%)419wq}Xka#)^$~@j zfo!mTYhLvhG_1kq!mBy`^gALA@>Sj$WQ+B@0fVdy280Qd;Y0kwq9+u6mYrp%gm+6i z(172`ym9TybbU_<>cpfIv%Q5UuP5I!O2`9seA~d+D%9zZ-KBcYf~ydwH?>_eZ&{#2 zTSw1rMjQvkD5!15{(;dto4q>3BJ<(3$#F2EaWBXGFjmVe(?31`jxY zW$%)QG%21jvc{cv{RfCwIZ5l!Or3+@B-n+mXV!3RcHWc9k&|YXf>Ne8UQiCN{djAT zr11wIh8vI~l^#%~cp0Ei;n*Z#R@c%UK+SH&%vYf_GET%^I|M+Fq*lN)%OMqb#~uyt zmOz(}%M=am^ls3zKct8m1*AcicYhMp1mr{SWsYEW4mg#N?YkAtw@80!D+X-TA@z{% z!b6QX#)JygRtAvdXEX0e)&g zsAo!vVSv^1t@#`KS%h_?^82V~nn%1NC;3#3{Ycsf_Xq>a@sMDl>8`npH>o4L_uAtd zMZD^A0Rui{U{bD~-quPE*SBsL7;g5c=9}k}&sWy*PKYT!ikPSE2m;8MvRhTe@p>eb zAHN4J@=(Zk$R64I3~VjEjL1@0l`#a%8CTP+GKxGLN=K2VEUty?wDI1KNxPeM34J^O zGY{#U2aCRberfqdwsm*x({MRzNkONlC@wUPIJB5zBEf5g)>1e`IEonRHPyq#!DsO4Y;_2z1oka3>kL6?v^aMv#xK6| zUCF@y*)b6)?8q~JJZh;RE;I9IpCqynZ6cYq5>8Ri(2VK1y*pL(3#S;n8Xxs!h868S zA>yxTBIBCsCAa9AsElN0^vUNoO!v){%u6rV-A$V0dkC_6ro=)XIDk zV7zf+6gR7HNlIIOK$0s-F>n!cmx(rrZF91dgK*}?S7zl}*lXy>m-OB;cTqt{?4s}x zdd*C7)_oHxKYVWqdChdNl<*&b@s`zoUMPKu7bCXVRsabDRXj-NlEK&N*VT=kgfrO3 z@n>!y8{hsp!FJJ*IsHR5GJ0I~1u}Ic*vyPC>2~z)ugq_(|C{jBYwz864}r$QV06GufQZfBxV~f?`?GoI5_1$q8>5)tq5(8mPGo8GD*YUCUqg%AkI9HVUi0=l9ubSi#3@ zN(rY9umh5egnD!q>2j2mNt2r&^~8%COZSpEM9BC8e{x00NGD{jkkZNy+;5-VCg&9? z!CnSnjM2BXZQY8shUdX3Yq3g+wEfErHv zf}b7Jf1w3nB#4#P^!mvJa>wa)?|TzIXGmcOy9*yj(Uog?OeV{2$@_rPY|8FHp)%PDC$C!kwed`%|@Azg*W=Ri9llbGt%+%(ZUhqdvm5 zI{6(lVb7y{8UhBC(5?NP^%F{@xip0zz4R$xty$3)CNOq{&UQM?M*&hNew0HdaI?X! ztxvHTdpBVG`>gM1WAZyOcjq!TNF%kBxs}C|f@3Zc3v$@lRGT<`UooUlQS@&rGW7Aw zEd$e-p|nJ#j(DG@FRL-Ck&9<lXwiwdOQ6h1|l-7;2m!!MQ*D3HVz5H@|elc5uN`HIDaT=RWa!R5l{p*Qf1v zh+F#XgJZ%&YNfMPzZv0br%0G%0#`hPO7~F<4pi@V-P4@>A3l^8mojSPBIJ zw-=S0LStj7E>9%&y#p(KoaX%`#h1i2g32k$?{C74C^Pfy0C;#;MwUR!(b4aCTbK(l zDUQFRVfuJ+HH}C$g57b5q=Rk5Ct;O3u?!wyfSI*JL%`gK)`OkO@S4$b-R4uwE!!UB zg05|$eaGE7?>=EAHpe7my-~jO0bU8akLrSYVqy3E`6BuV0J#r~x!yWT{7E$4hK*cN zsee~j9RPH~$;MjTgvgsjiDRTCAn705010V|qF>*jv9Yqmu+aR?<$}c&ysi2_Kpu(_ zZKHUJCBRQWVwXXcJjw1inOao-4E&TnoOvrrdT2x9C*KG7A;K9w0l_wy!?DI*Ei!jD zUdg`{+nksmN*!vJnN|_DN_PTkyrqvBTlGi0eN{KuxTWpB72T(z2T<=30!lu;gtVdY zBbXiFR9;5Eb9<%S=rS}5SZ$XKgugu>gCl-GCu+gqvCI6Za*{PkOM(#rFrtTv)FN2- z1OPtpm>`vP=QxGMU}9s{CEuV^wKVAzbr~bD2Hz9L*l1Fgt;Rcj0trXbd&zG-KyjTk z36UnkgqZh=@+wzq>d9h4fwHP*JOrXz%4^u3cSdzqj||)2tt~>M7i!aV!g`S)NMqBN zhi?O81LkR$X?J}hl}Peq`6c50mWLn6e&tvJ?Dt0;()mJ3(gOLFHr{WUnNh_9`rmXe za@|)qB=oHtR}xlKjUUTz1Xrx4(BT-;Xz7&Hz+5DMiINJbryEw-5pZL)7vk665$4$x zMmJ1u!UP49xIR;L4}}zku1a8hbr$Mf6W-@Gd{G+xqvMwVCR6Tj#353)wPJ8Fvgu3? zE4+_9hbC8WD{O4Fa-Wl+*Ci|eLQ#4oT&d{<^)3YN>jIE~8L9NzAnEw%U8dHk5Z%7L%ZY=1{eo0!I_iux}Tl;;4@AFtb z`VOv@pQH)XPWduFO<%juQ2R7w2I?xWrY1364-$f{?>ineLfP5Sk7#967a+KMX?Mx{ z%^J_x1*QWWbeJ4T1h||ciw_iFW`Bu}xxgKm_azR+^&t`qAuzEDOc*J4uet$+8QO0> zf4=L4t8N@HQh363{Pizb&2Qp;CtJTpL_(BN3&ELYB&$}b;PtqJKOvP(z?B~fxYJ3d zW|mel`aUT(HGyP7X@#s@Anmd8gCBK$%7C9ref(rz%5NsP-tD9)acx#3GA)cwLlmxa zrcM{2MWhEI@OEqk(#UMW-q7mg-pVg6u`(g0jnTJ_qof%LP6>_z>F<+#MN#zh82elL?bw%^19L0ZzN&!GluNYN`}br=lrJKfY(P;eBB>`QF% z8C+%Y^eND4y2!$7GcjZ;k1EeGtrGpE*H`8{ig-vg5=_jI1D^;_#GGL5pM^=Bdy4sc z3?16o8!3brd>u<>1%3F=%0Re8#JphVrb?vV3cFhV%`kspfgOKNubof#i|@j2OZuh+ zono(2XD9QAk58lf`R-69hYh6>-eLm~Df>HLU+8sAr=YL;1)16kA4z%w&t4Kmak!z_ z4tnVLXkz3ys3K@Oxs<2*PO7=-5^eEjf}pBC!LDw1jxvO4)NVyXhph zZAD;`2_wBGO|kpdQBo8c7xmQJs1yL#29&J%P_{8Q>8@;UINjZ1$`ay2dMhV{KD($f zRp=j$*N)#d^&X@J%v@dvz`}@Bx4iN#ri3AV6Eh{FRUS#N+P=NhfxX;NB3)@Dqkg3R zlMFV7C=TuRLN%!|M9Hq;AFG{?k}R+-S3bJa|Jsp~g8ll)*vbd))1h8JtoNSQ5+Jju z+}Th1@P%!XLE0mfWeT9bL;M0U7NjnJ1gXhuh1A)P-?rD}MHu=1TTuHq;_d91kRp4m zC`!klkV4MJw`j(%3ULi}b^Q~NoS`*x1SQF3d^G0(?seCp^-IOD2}iu5)gRcPd_=?t zXk5*BLCfwd+t06jOI$2`=a;TCfPh>ZKtaRcS8X?{{tGT*d(&s9$KjG?K8%182BfO- z;$7JWr_7!7qF7leA0=ll1Kjm9CmdX_u$nNqelLFu5E~`cJ&A!g6T1K0qFu#rCWwhoW>RvsY&JnS1jRxDi7rYDiMHcU$Zn$f{d*75quDldOLe%hX zz-z6O=oL{^l5DP|F);TLf4MMcppuYUB>+n5pnj-J;x4YQ+6-V-b4VaIrzk%%G?IeD z_h18(XK%k!rIB&>)hKQE0ixa$9;g12Da*4QC-?>jyQW9T7!yLwn7>Z%m=cpp9EfEC z&sGS^Mb1EypWFK4lBie#2dQCX^lJdgy@63Ky64;_UWK*|CZ*Lyv#P@AQKRby2dHaQ zCnlAPA1&wnDF~>rRj2s zC@XdFzn}Q7?m@!$`*eVWeVYP6JWG<00A2xb5ftseJH|I_oen_AYWNP6fK7u%uEmS@ z@$=WRZ9dX>EO>s(`_5NUjuF7aQ0PU202=d(c zAwWyyLhyH{$;R|=EAfH3HZ%#`w!`*_Q0dyhm0t9I!BPQ5An-o#>XjMZoRk!u#NvSf##O`ALe&E|Mc0u^Wo|HVzllAE?lb;Pu?UQisC(Ej; zG_odj?`t4ZkXqru#fD$-Na5`5br-$D7=<8iCYIW@@LNjPE7;sM6eq4p4P(R3)&7Ri zcrXrpn@yKb#oe~MaIm)oEeky4nd!Q;8F+yA=v~rwM<|lLNaMxp$;VY!`S|*aiau&R zG4&W3fa6O`8%%%~O#@FPeaFP)*V8S*f)!ZJYbv1ZVEbZG0m7o->eaPgLt9iA%g;cQ z-@(pj?++Kc&<$de#o%uyFv)`!qvaW$KtkdUV#--LtOCFRKZU94AV8>Ajg6O(A?3nI z^)XB*Wjt?a8C9T!V-Ootx3^Ym7fmyO1wAi7!R5yPI-&=@(U@tOH}BfgnEO>qO5jB@ zROy)(GaZ9fZ~0JNy^e_22bx~jG=0&k*F||(hQxZLJOQUJe0!?;4zek-DINQ#-%S%A zJ}iY*Zy(gdvocZh`#TkO&NfNDs41b$8&-+h@td3(ki>Yuq3Os~MnD0$V|jgSjWO78}h~t*3$HSeh19J@rNgsS|aY zuk2s&YkHNW^TnA?sgLaqCUNp6bfFK&8&1YU<*s0S*OoY^dUwJmGP>Gi9*zHS4T8 z5`Nme9|T6`U*;zkZQ0ntm+2VrNk(e% zdgx=u0bWwh2t<;8ABJP0vwimb?Ac*i4$g!ScUuWGuKs}z_Xwmr6T`b!X;3G8g%K0q*Fh^I@Z9MBqiqRWEG%n15+g;$GEYKg-!*D{ZEeFzA^DXaBa1=MPKWU#+1Gu^wCC_JAzoERYi{ z6*f%(B$$mR7r-U6H8=>Yh0!zc&6g9D|9Ge}f&T*R`S#ea@aZDP3g2Zu29_&nhdU9N zb`6y@yubg-`g|J=ObnCSh)!wvsI(_u_)*|3;3E_DkuqCX^qn;qQer(m1e3HGFjy)Q zF7d{(DVLLzmGjR;ne%5xHgdiTs}1V!`{qPz#=gZ9?+U2hn|TJrKXXRE4l7%v@B#+B zS`lTDf6GcRd(pA;E&6U}r-R{xaIXWGf{`KHtf#5+(oBWfCSPY;)mgH47q%+hRvQ*b zx1qPM&Q;|wuNj|z=h=)P?-DP)y%p-07 z=a296f5aMeIA@#*JRG#n%UWOM*nE1P%BawHU+`5UO&Z(cyR~21_wIAb$flUrA8&Mr zvnQIpuzfJCqo5L6<@#{_Y11VA=Kz|BYMSz4u8`M}>lQk_T}FeZ?jDF{!)FzH^%htZ z2(}@pJk?`V* z_%9&Ql61ORPoH+vgrte(jpW^fn#Dub*!{%5*lT5f@#gBoRO&W<+^eMFunOB>DOpsc z_kqw*fkc z%S!a8yw5Gn?xq(%G5NRaV9e?>Wax{ls5+N1toMkETz?>2bmz`5 zCP0KLN|Ewolduogjef8$pYk6!0z%4~jUqD`m# zcK?;|<^B8giv%qHuv^VEdT`WktEZZ$dIvUrmAE9d#6CEJ#em7<7R@H2+o+jkqy50mCa;mL9 z{bV_%zBi3lKW$&QWZeTUf|gTvf-TyYn(}@gi3eP+eQ@Mek_F1Q9u+!xvl<6bwj4n% z>jR<7u92a}o$q*AHiHv>5vR`HG^=uJNA-$J-44O}1X(rALY!!(E(8X@CG-19ncmgr zF5I}U^&-%0^nT=jfOk4fp=()e631Lzb)B!J0f*g-2~H_dG?Ak6rQ96G1L|-z;bd@1 zT_R+sy2g2!8)^y5GO84SH;>;M?Kb(}R2%+Cxk%*tK&>o5^PZeq>n*v%T>!bpn|{rA z+(26sQWlpN0B_&No)N@cml-3v^IMZnw=$bBC0ue0;y-{xV0kx(>0P#%QH$231wdZu z-f9Y3#*6aN+xw9zIz(nWHYR(rID4a~hIwX&)61q`lP$+2Y+TvU73V5$6XpN@QT_pn z_teK?^Oyq{UXA}+uxxHcV8IvLy7Jl0M|MEFTf^pYjJw}y+E5Q;Z$Pn(Bgr3ZfA18- z>b{^=f+Q2m8tt@2P4-ZqB?GgW+?OX66mwRRkNN7vxty))-vlj2bj#d2Z4!>+ZwBvt z>eiq{WFRv`@~BMnCo}k|EoNRst~y0aHOzl^0I1QbYZ~5szhz%wRy5to=4_4@`{Ay$ z3;-$#g-L?Wl*D~^Blb*#$e0bPY%E*%t68VcEwQ_&3r0q!`U2So7B(pL*S2{FGefBP zzRjN6?jH|cP&+LY#bRVPZkYFV+ViPqrr z{8wZI;rV<1=V_*o)7^m#Dhl@4xu;>H?^B95D$Z&|28O@SR__TO*6LhVFIa}`&|#+y z1_-nFItVsn1k^=bqHYM_P^!mtS#3Jc#6Kl=T7S+U6VeeV`10fJ-9^BgT#k$S&UvLY z5P2_L|GsDQQTW+i5_MZBuPTJE%jxuNPx5vJBHJ%)rd=fvEqS>@Ovn1Mc8TYhdXO0li zChin>@~2Mg9#eV9tL9m9m(s)HzR|3rGYXEfnGV5LpS1OU7Ra?tLwwxFdRG70Kbg3$ zMNVrnhk9n&Q>gir?=yybx(8dvwrxrj(Bspejse{V7CyJWa~TlSC)MN&Nw}4XSzce% z#GCYuF^#dj`IBE=zVzQrDGdf+rbKevi!a7>S`(SlkwR+| z%$C0zvk&l-2`1@tYT0)GP|e{_xQBE{ZyVVrFRy;oI=-tzyb;t102rnfeizkJ+92`0 zE=k1d>DO57IprYJZ09R24xC|#g{X{P#WA6#;QgkcoYrjLebn~2ruMZgF7w)qHl*TjJrX(2ObCBCU*{jvORZ|acLYu23N zoB{jfi#1vob;*70cpHX+u0Q3Ki=Q3X@@mLCiJoM#tr?_7dK-ly4_%j?c!Up~(_0sE zpvA9;itJ<)M-fwu>z!Y71d&#+fxRa4sY_YwgR95WXCXaX(CUU@G1Ygo!FK0$LvhBG zvOra#2E-2un_p8P9s(PSpc@bS{)p{DOIhFu%A0j3hcwcgsFy95;AQqT)_4u@%k^TX z1ekXU5c@?caTR=KUQD80=nhEx!1?)13gyO6!neA5-nr>*$-a&N!%UQp}#|I{pCAfgk^e6CyiCgcIF={GPZ+#RT7yGGG_=Np5fVA_a9q{jXTuIV5`abn>+kY-9yv68xbsmk&Bb0) z=yyY2QPEt^ZXUwW5Z<;wIJiGrY7fuZ&A3vWFfTr~S67U#Z^Ksn@m7A(r}l8|Coo@+ z2+)DcO;@jFv_-RAd$9PznI;7o(a?N=x?2 zdprPT>2+qipO=Z+DR#HNotHZ^9-6mw2Ui+mEl?hNn%8%yTM?J8-5fl5RT%aBYFFm9 zA4*g*$gflzJpNUij3MqF?A8vcY{c5$rJ!|9w(Cce*BTQZDq^D*n>Y&g;)g(siRD%0 zG=Z1gH`z7E;$u4G&u_{wL)JoW_j-6l#tQ!YoPqSyq>`SSdaxuYiwYu}kC)!SAEyHd z2ehZPZw?i^#Y|Z0w`OoXZdrqh^m#aW*$A0eLyUbsrnUQIcJiJ5AT^*#Jl6j z2+sf%lkE74Ou9YE~NY zlo#6S`Hzx$pn00Opi{Y9O|UCEO=q(#p!|?rwwH{@48&d%Gj}P@qpac`9S%#kF!eZ! z{hf!}3zGubO^*dHV~tk8gejg}LnKsn`j#9v9!_nl)Fu{s7nhJSTDvK2Jjz{=(85^_ zTzQU9JZzfKAZECvSZ--6UV?2ods;G>N43biV&B~J=92DwLoI{^immS@`Zrxtd%f;Qugr%nkVPZ^rbdfKT^v;*wJ8uF@+Msj4{?Xb=Ukw*XsClKTuH6;Z84%Ly>>6c29pPQIjV; zv5gD_-QrEH!eE9-Zzb{8l`SyQ!;GH6@FLqSUmIIR<9nPVH+evv2JkR@7z*?1c06R( zqo&#`&-`b_{PgGC!a1js8uXYOI-F*AKh4KNQ!Z4!icp%Xahkg3Enfh&5e5Cp7sK07 zBRTp$oXdR5bL`Y`khOPXc^MOuCxHf==*K~jM!@IY!S<)hS1hox0?J#}YvRLa?S#R= zV6)B99-+ot7zpgK<4v=&G@s~Ab;))qs0#batH_}Mhk%%SO0QLmlU#C)TY$Dtrh#VH zH`gwBWoXgsp<2AVAbb)$q-UyD)K3sQau*^9jSKQOYyz@Op2)s@23$dR?FUVUiRFck zVT+B<1(p-cz(MHaCGB_O*XlT;66HyQPL*(H_uKnZ@9FIxL#gn7-8rv73V-cT+ncyA z52uqGNX+i0VoT@TCeWi&WF?e2k_*j49i#eKb_K+m@K)EmqzN-zipQDOhd%&mCnz$ zl=+f?Bfw=%w6{z9U+%7k=9pwbM8$3La>2jRMa4ul-Aa7LjxJ6(_B1c}^1ys*G&&rW zn7B=JLRiha>P}xwiB9O^J4~dpjJMp<&4(7!^Pj`cD+}D#TZSMezpWW*x8RIxq)$CN zOx1utDKS!QKl2u(mbVi zGPbK6UpB;SKZK|?mWm=DVdk`Db1hY%0W(j}&pl7-Cx)tL%$!YMd@@pGSDGcbMf5$Y z77X30knpN-r7T{;l7I&4A3|c(z)OZwRM)Tn61a`joB1M927gZ(N&+iJFqY$0a3^F= z*St9Rf$~N}(k`ZQGyC?3#6+)4%w*8_;z7AeEVRS!0U@R4+6Uvov3`)Rd(bk^f-B3a z2!z^vl;`)`YDd37V@+sj`E!P{|E;Q+h{|x>R$pr`&bIN~e9{84f#0c$0YNl(cKHJv zCdYUAlF-v5Q`TQFoQ7^IAJBut5Bk_doj={v%n3ww+0o;pijlFQ{!8I>fuoNF2e<4* z#>M?}*j`6nT?w>Dy3{pO!VFP&;ixAhx++REuk)w%pBbplH6!vG#?aXFdPAUC>(^0g z&mSlweL^JA#xwm=lt5J^`#ET0GCUU_ZU+WVJ1mJ5o zf)>X={OVbFr^u}&sGaiK#mbI=Qm^lAsuk>uRF<;2I@3BEN9$()&z z=Z$F|zWTBntB*74ZWio%t$mZVob!DxlHrD8E4VcO8<=|fxKF@Oo9pk;J@Hf%rv9{N za*RJ_)ns*^rW#T)XDV1TrF0;d?DrmDaS?&ow=foazq9H6`&tKhji7fuC(Ms+9veaH}>}6@cm702x z&jS;G4+F*Nz4Cw@Bal-ya?QWUU^qXK%XYUkM4$$nV`%gm5nu^z4wwNGemS{BYgV={ z=uU2GLYi?HIl#%mTUR*aK>~5gB7b zP|t6ZX(hzu?857SND6FjTDk9rnm>s&B6IiD@ZF`VM&;1x=r36_%OsTQxn)u|*dO|9 zyK0cr@Vfimh_SCvgkL%#{z1D+u)untL`;bz^)&-?Q)KS4A@oOu*@m3HU;HvczMWkG zFg{i`RWj$yi!m{#Oh}QA2>R~JMlU;4%LVBAu5QWYt$Zdd*Cvq-(OocnR#H7x3E$2c z^N>5J^t!Tz)bHoPF{L?T&5k|*9YDoo6_k|KEl~5Swag6s12= zEwz=zrnRa@wf1aLRbtj&LD3PrXi>Cg?U^8EDPoqGi4lA6z50Ld=UrYV$8qQWj?ZGKyny4edEvtF8b!xSB3&u4t&$oKx$zpIJExtK%Iy^+d zQ_@|F%r@~r&m$hB2wJ%N+SU`0M@y>W7XwxbyU)D3yME>WVu~0qfH4OH*c>0;D7jlY z=l?JSq}aMZ*;dU=nw#_6%VuM%9h{OE6iPp7fICMS`NNj#6j1>-6N&>vK$0Rg+XXCrKi>+r34;9q2)s34gs-&AZSOC*7c4I8X_FZ zpRX$)Y8?qH4YYXNg4YT>hP3hLY({Zm6Kr~6B`kUd8D#Og$UXER$wk&)!2 zcvS>ssZD{BR=N(~spQHWNU63f2^Jqvfr7|C7O(4SQ*zwD|tl`D*NJZEQq z@V7R?SK}dRC)nxLM^$d>rI^~3U+bldSAlN^a&(zX^4v9Eu=#V(dDKUPi^3t?LD?wh zu^PB(M|x^Zk5stQ@r4UA}+8UiPqP%Q@Zm`u@wD0Tp8jTeD zTSmNr*?ipR?>a$?%tz8a`ZI<&3OtMw&dGf+0)$sCve8jelYc%Wd@$yxx@`!;h>`f@;Mx07(4sfIYlgf4K|s4V1J0U@=w7izLjIPa+}gX+atjfw%Pa3U zVm@QXhcn{@Z1MWZ-}$?s%RWgBVBW#&Zku$#s+ql72c%-pKHspzgO`*Vx43afmb*Ut z9ufV{mM?w5@jl0Gt?*Tg!fvWv?M1e_hcUwJf>B(mF!VuuMv6;fiyw$~YQg|sb|tr3 zenPjog`L{T!)=iCNSuQS_}|w~^fbKo0f=VGYNPFb!H<65MQ)l^Fh?smUJ6HLm#-nm z%)%~Tu>f2}d5yjZ>eG4v{~e#Z5>Bz49lxzc!4K!`2HB(cL##9GPOENsI(d^^Tb52j z9xJWm1*>;lF-^zQXZg<(&KOlDD8mChWl(w=7F40{u7_c%(n_Yb?&!^kPYgm0nY9p{ z&@Rq9Dv;VP{_M^hK<-IE1rE#L&XlvGx*b82VA$6^C4|y2^$dB2j@Rai<9laKOJzLW z{Pqf09QqU|FYN4W;U;?J3p_E4;#nTsdd#Y=iwT`{;K+?uh3x`2q3qi#tG)5<+0=0k z5NPMjCvm9`WOSz=DPbI3!D)v+Z0nQ)w8nS*0I6c8$wTDZ31TQ|ZfZ8V)p`Pk`qJ0}(v zXzKlGpM(q)3)oG~zm1=h=M;3i+{^+Nu#gcpSf(|gWXZ}R?+#l2DlQc>y<1PkoUu3f z3eHVY<5(;@m*L1~pAm-MRoYXC6_*%?LaBy;Z@eoi*gv#WK8t*4ZeiiH9)0$es4et@ zBHmrQhs+@;a#`KlWp1^TVM_+MX1t;|V+IE#DHm6b#ETa`?r6I{Q!F5X@QXh(8*ZnhQ6_PkS$gAiH^aSThsuXRp+0m@wKv*VeY!M>xx$HBL+nnKN2 zZ9J&1XMJI7Eb~FLx%*rPUPf`LP)-w1P8G{cpM>ALG++s;+J- z{pV+^4#L+GNC>Kg*kZgOgxfa5ivUj2vOGi}_?I215+w#~Vsc~YTH$vBUVr;u#7sjA zYL?14l#kV8;RAsdL9$Y8zuN`0ZF{jvNvl7!`7?HNK&+B9GmbqppLg7RRO-uyVN)GTbwG^MxWty`2cQQCGQQZRzRH+JrDZJ3` z8cu!=Q26b7MOtp4KQn-U4rm%kaBK!$L<8-izgwL;w(*`?XCV&q8npdjSA^|?=l6D0 zkq=q|R%u8>!HpTF6X{ks+FHtMDYl+bYf3dCPS;GjrnHFZFiSByc)F9kBD%RW=w8ur zwnBMSEYXy&7@H)aj(nN!0qg?NLI@~y(N2Mqi_dCuJ%Ew96+}0s1L9hO07T-4tbA-z zr(Pt5(DNn~w`WMR-jzaWsP&-gehncBN5Fh1Y!n?%H+A7CHD8HC2z8u`aocDQ!l}AS zpLjc@OxBK{+hf2J(B4ux^07|bki$F@gNYA_(>+IDPYlckDmHxf_P1zOUW1`lx#;Uj ztIQ!TTbyuCuIJ@^o*0aqTguqRtU96BwhB94p4WnRBB`;PvG6<1sl1Y;BqOOZwP3dI zs4fd2cgu-H{DXv&w*!4D6dxT{Ap#RTxM)EjH0y#C(T%$6%SY3;LazzqfhhWD6BguwP6oiu%&?P(wbhjhpZxJ-CmUOKExG9D)2s&S-p-MEDR zfyjlt*vIBIH~$Bs_{aYCbtvthcf`<7M@XS1>aLE^Yv$Om3d#k2Ee*FBhh9gPiMm2- z^GkhQiKQf+T&ME@oBx62Z{NYiTTb``vc_RXH9SKp_&tKk`!d(JU=(g#t;`r z%P}xB0Qf$eeCob`zC+=Uwgc0XH2m<4dRoR@alIo_vaYwHt54Dz7q`#x<^w%zBDdW7 zi}PyFJgy@}fmlFQa4CD~xxBn}Z~8@{DZiRldu$1)-ZLy}ppA z&vd;#cS+`?4ua*BWyL2hXTN0o#O1(moE-OFsSFHPN5-(G3Kdx%xcPGPI;dOx+6IUR zhfQL7l{NJvwMb`^k=L;#{h=B~(N3-yP1CVjVXTFfvJRniTTD!p=f7||ZuC`s$*Bq1 z?eaP><_NiUx^odcp}Js$4%ljx+iB&UV0h9@IAYS+-$zgkH`-jN^s}wY*>%~4#80!Z zSP7g&1Sxxg&8EyRAMd%y%H51UpPElzaTW+{%1mgOwra*JTVE!8PELDrp;&Y3Yf?*e z-mV@k9y_(TK%BZB%w+(6qwy`r1?QH@@ngl|`S5LmNmF19pi%C^J7}cq4uwEh``zx= z=J+|<>~o4JsJa#4=UX_4)!O7Hxh{3*xLZ!M8Oj)w%Ns16HZ|qZ%^FW4_Ffn!Dis3;W%&pySq}gwf2R6 z2x0a%FvH3E$h7zTIBJgqr(-4x32WwDWAbn!^G3@V^?m3qST$EjdK%*m^H6)JXns~! zTWW5aXk~azR(EqkE}A<=xp~)9TKtHe))2tiGjVG&{&@jnz}Lhlh^j6uKTERQPcKF; zaN#u7^L~zAmV93*@aY$!*Ve76(QY#Oo)aj1G&~(>X1ZT2#v+_+u9s?`o0S6pp-vj7 z(e(5}vx^B=bn{AqB>xr64Mt}FGWGOy zSYK35WjoSTd`Z$4QTms%=9ssgTv`bvQtnRKj@Sj3?z~Q#b}riA!0By#m)Wlb#pm!v zLan*@-;je!bnemL5I2S}Md-0|g4!jw_)v5J4gYznz*p{Mu8=)ynlVluFtHl+L&;Vq zQN>W}9uDBDD*61P&--R1htg$wvdkpZv+)e4^pqo>Q^3Kn?*($=V_1Er;bV!UldnZc zs_O=0spe~C8$~T;YoSRa3(wqiEta*-PXYx;t&aiB&-A8$OWebS?6sd`f4WDG;ESI) z+4R$he_x790IOQe|tznxrzJ)SDXb z5&9;OZS-X;LZze5=8>IE#a3@q`BySx;%RzF7G=gb~8{2WlqXJ%vy|&jB;#Fc6ot)_}>qRrmI^y>#XeIiKy>7iFow_hG8G~4H<`aB#|Y>*j1oT+ev zR+Mrx_L8<$q12w11^%K|H{R)Z56O&@|iK zHFpC)&Wu_s*ZjPd1iVaCc4!T``Nl422hv&0IKYE4Z|*q6C|8DeN$fLlgBs&$ zw7?+7jQht788Lr^>t?0~&T$qt-tVTRONYlXr8)P93S_AWL8T;%S)|n^Cb0L#cAVd- z*)L!;9AtB96YQ>q9p>#&QfP!4y|5A`JRjk6q&Hi8gd=w7g9M+=ddnOCSU zvsSD7WdGP$Bt>$1s%GhRMw4Z~ab2gdUK zPSVrdF(i#KvBIgsZbs%!%C_o*jWy;c-RO<~7C;;W3z;bD0qwZ}2Q4_9Kd_1G8GuPo z$8~9u8rHD^J4M3g3JKLqhI+rDLQ6$BRG7e44QS7iZgZ^9Luj_Tsg=3OwkDbCFSInBwQU z-cB%E0MZ_7A#C&Wz~y=Fp@;A1D(A<^C0Wk?-asU>aNX!@1WHm##T~)Vxm1tfXV?#) zpjAssbNn`7uAC+B*@K`$S->*NG#NGFopfBW;v?~qLE+-rLYZ11aXeK9o5TUITa&4H%V%G0-KR z)TVsS@pZ+ky9pL;ZxX7kUO!uO6?-?DS++4k(x0p~Y_|s!R}P969<;n$tPqS8lGslaN3_ctNP3`mohOxU z1gSJvjEXdh{IbM*-sOg4wgGC{`x9bQ|V=GJ>PGUgR1*!QmiWGGM%|rWf)w8 zburL--C7yXY`Wj?rH&Kur4C6MuRa)?R#f^52w{0UMaWwLohLReO@tlkV57THTcu^U z9?P(`vDNl=j5B<5{SV5vB~Z~vIy>EIYhhO~BB$$bPRm)yPfOVQr?eYJF2~+Xh)WZB z{Ygs@8~b|d4~NF*en$^z@^m`spTrF9rK~?^aHpTh7VXT z$XWh{Utb(GL0{l5kD5O5TUAz}TvHsNWDUge~cSy(@NpM7?$ zj`1{wkLVALBT`b%&yZmWl?02^Xcfsm$_H4Y0+564iMdyWGa}M4w;66;c3lg@vXePv zl>uF0IY~5hxY2vgvptaNKf)iHs?f@R#9)u8;vSdKGRCZI~2RRWC?usc@pDwt( zMkj)z*c;&%xH-MK^Yf^gxPCN*`>tDyl>M}M;Y|8Dw9%ZZY@);!^m^B~cj0Dz%Pq0@ zwZZ>wn0i;H==9o;@H_iGHC9dEVos98of&#wo76!XxmDX7e?5IvzIHA++06F_Bb#Je zd2zQ^VCJhD^ zvoC8xW%IV|Cl{9`R?4GYhk{~UlALu*9fwHHdHJ}1>yxJ>{n6cXz3RNT9$V00DWi%O zraBs`bc>HwH11yElO&X<`kMFT!qWNJ(Ke32=zO*4`jfr!&kt^h3-h#m@K$BRF#qLG zB>#z3Y14C8HKY(Uoi|Q3FZo z6b$WA4~h8K(NfdWfqc|4qu4T5)55flF;==cyh$|O+<7;tJM*KY7^Nr zDMFZ4mNBT~9zWo3H&AKAcMgU7tVA?9EhL6{+=oP*?8-Bt7B~fYB&E9CSyn2p3Kld; zg?vvoYtZED5g*EGmhdj}E*BaUXMXa1o9=(0N7W5R|2U{i z%NeSU$dBO+HTLMe5+m9Ffy6jIm+K}s0fpo0wbDVEfgu9YrG)65j2Uil5@_C<#8%n- zlxey4Nygd|X_)tsl&G@c!FM@f3$?YiB_Ex69Y@rk>y+@vn!k2$C#sCOx_sT&XVrTH>cFAzx$6}Fz)Syn z7)M%4!uvN>>_%D}v6~`V^E33R%JvLzZ0D8O zyr`+3J?!jVP*8utkPHEBi?XM`p<=9rWsoUpnIaM_%hrCmy}+QZqi(B z%2KK_L~?zmCP(1*$4H&Ma8Qkv>B3E%k#gcek9+r4b8my(rV*? zx5Ov2zUu*(R$)1>2&fn6#06$g5JbQv!+z`OJI(>}JyOt1r2Mnmk&-esE2k6IX$y?$ z{gemwJfCxCrS)>D{ia91MDhLeW8s*sVtegQv+}GiR+Zlgwy*6#t#TGYSsKq|63U~O z9lrGR0nL1$7M#p0zWuVr-Em#5Dl3B$V*UL)=}C`_j^6jg+RV>LC6g6DBb@WJNpIjYKYqQ)rssEE)HLIE1j?>ETXh3V;%86 z?7Wo99Uq3$uNM_7(K32+fihKpm)#I=lYjKRz||NCqrJba=*D`<^Y^gn$*bcN^Ux0p z58s(ZnG?3olVktVxkT2~#azFmMW1{BS@PxRXpr`=RbttX+*v#yZdhzbx;O8Y*NUlS zFH&j_zYz4GH9qpiuWm?Y0Q5swn!+qYLvX;GL(Iid^|lbJ@fR+WnDi;D@+k8=H@Eq3E#g4m1O=WQs0)OJIDo{Pm?(#`7_H0$B!kZ)nWnEIFh zVtzR#b$S2XAbR!ZZlwAA$e-4C65Bf2+`4eTqy}c>UoOStjwyf-@qS*Kar1c>j|wjZ zPt)ga>O=7JJM63Ox=N{g`o{s|b7tlL*n@(0qsB%b#zh^cN@@DKT@{GE{||s!ig}mQ zoBa>;K=SnX%{&mT$;qH$=mgzK_uzMDH2q~rYb==O88G{aU|uUeaIh@=S!dOJcz;1} zRC-!RFHOEw*6MGqt|EElomHq7?h`}5uo=M>S^iO) z-E6eUJzWk=7n_VYZml8^p6v2&aps%n=pf1E++7U#f*_@<9O+^j)sj>5zz>Imx2Te= zc9Z)ruUBL({||(=0pDp!3D(z%*{pT;@r?b%p*3xq#Qh0;b4sn40}o>L2#Yhgif$q2 z09VPOZ?mFKcq;&mXS(*V(p?}IN1Om^;qFalPeVV&mvmWZs{9}2PS zby%=rI6Zl?R~~WnIV*aW>rz;thA8+kyRMD^=q=g*6x6&Twp%yUpnI^ad~c+)u4N}) zXqxHP_T5TJ<|m3BT3pbFwyC~TCd$!0Qp9e%saP`eR`E08^zJ>Z0>U^8QWZs!okg zHJbex!M^TbsS&UZ-)Tgf-1q#v0*iHQYRI*{lc*lxUCq9CQ}1Jnd;C)YETPtP{td6u z?ha8U%}Ug44p&_#68v*|V*1-{-910(s~34JK0kHJcKqLMr;Kkmk)&eRix!Kf{9STj zN&l>P4r`ML&BdAySFs(<&qc}I?c9u%T=4UiaGBTwF84|Px5J0`p|0*X65D^ZAz9&<@`l;~+!A(^lh;k$8Pg-(xs~GXqGU0b9M+q5IyE`5$=Ei@UckigU0$ZIHY^_Rl zQvwij(bZ3m#DVfHAA1#2yxR{~1jvAh2SY8IWU)`(nHGFvcxN7G(CJdqv?|0!nX~ zvJyHV`NA%Pd#m01M$t_lKPq40RyckI!7EAw?=&gqUL$D?KRKT!Jw6;hcTo%K>Cv7( z25PLBVz;L4KLJ!g(z+BVoy@2!u* z5A(~`FaE5BoC{l6Z%I2CeoDb$J`K-eE@YPik)?;4D^J_foo(G;plBIQ(3!H{gZZ>v za;V>?nZy4WN^e?KR*p#{HKdS%dFx{-0Nyf?4lHhCHuL9U(}+NYPcOq#f)>|^NoA1Q zsmr-S(uN#04qw2w6PVXgvhTD$;Zs-5P@h}%f-4ur5vZaa=iSUP+xb+@s!GGG>XH4m zS;m`!9*cWjvmo$Ty&$uh=8H{&VT+EYg`l@H&O222tB{@y&a!7nWWf-I_mBH)+pwkkR{gMKnN~3*qz!m5uaRFCI&o`Dly)F zlTxI$E28{t&nE0>@Koc{;m10_c|`6HJEe6{(v`hrG?;ce(S~7e)kf6)etQc!I*smH z(n*Qu4oPy7%QyzudpFTWY`a7@~ zFmEdQt4;NOvwAoFZhPkA-L%@IYTeC}f8x7cF^2Xi&hU(Eim!)uXh3=mfkUlIQ4)2_ zO_;71gricW1I^LR!)XhR(aj~ok=0F;S_}}$v(syc>uDg=B83g2mU|5<8)Ie=TdvtD zbU6a{AG;p@_G>@31BiK#oOzkHcY++}R@=3R4|>WMtnP|?KGk6jpY0fnM`;J%E3JKJ z^^M?W<$x=f`rByaVJFlsp8#{KNbRZmO0uuiDtn|Z?Gkx6GTB;|+TKWkBkAqNToYjw z*tBXS&oqhroGfh;dakSe+q`Lh_{shxGEfmy)nL3H;_`1)c~^Uf?Nqk2_(B)Bjz?VT zmRt&*=FDvrjK}?M0$XRPWmw&PU7s~4_|dWcll(LH)~lSk*-x%Ek4IiQmDDsD3%gaF z`ndUDMFYc=roBg{q)SR*U5{Md+0B}N{jrdRv41ZB$+puzbGv@D)c!(hBFK0*f~X$2 zdjK5%#U7^X*v(PHNpyI%URx%Kv78PW|Jo4*|aISs&yqXQ9fk znd}VfQq_hQo0}SUMO$pkn@J z6w;Z6E#Ex4aP{L5g9dTz<=z}Wj&E%i+7+!Ba{4E~YjyacWX$~E`{70$_?Om09gc=! zZz`jdfqjEMl)Ll)i}1EnetD1Qe;2D<8!D$ySUR;YDVZr1xcTmKJ2`FaIG}o)m9yK` zD2hT5E99;U5C8#7?-CS}X!i!u4WpD4_nZJ7pj7$CGeK0hJ|V&!R^WU|nI6epo_hLl z&^_u{l>s`AQ$_r`r+z;+R&x5wHS|3Nc3xTa{m{{t@-$f;-}3$@W&OHx^pWd(kUx*d z1{%Ep^U6SZs!BjfDR@Ta?d%M;7E!=E7%qdFuE+m6Ug2D4nb|?99>Kf8%5mi)_-Eq? zzF@l66@)_O!tJk6ga`o{uvV7Z0$}~hTmG>e6}Eo0WR{8;khPBl3Z(9{f%G>8`4WcH zBh{FPwa$V;3XIz>4*Go*M6ewcjk5BB^Zjigjhe`a)gm4v5 ztlZY~`pPJ7Ms}XcWb&8G#^!&;JAc3Ll%)Ytd!TL=AXt|ASP+)Dg6N!S{zRkWxO5iC z@|E%S`zi^zE&Ue18-IZcvwpdX3fG5)G%vK{uV;9;pd!V9=JY1BT|T?&bQ z1KK-lox$3O>_pnL4}<(aTID?kZ-1o*bab6M&l#8tP!f1vF#!!aKJK82?%VAii#QRZ zi?^6H5~jIX-xq0;8o0T2GTUcBx3bI|7#`>@NrB(g^N0oU$2+xF*sA{H{XwK9YWTO3 z1DU7h<6Qw9P)<0Do{}Mr7AGgP8!EW8^66upK*VhitVlddH+;}8EFAQp2T%a#EngtV zjS4o(U)-HOsx5DtAqo&e+Y7$QkmjZgNll@ zU0%R?#~Tf_p(>|1xpwT9K;(GI_l||2^ZN@JsQu^s%&bL@o#}_Ok849qk1m;4G(Wh- zx${FJfb`5ghD2=zB#2Cbc7&xJi(E5$rP9;|LD1g-y$F8+pi$}FArStDi|7B*(Su0< z@<@eqaYdkRt?Sw0QU5LR!iXf4JVzIF-JgGZ0qm-Q;J-u48#~@`v(fJ;%tP{&yEaJ^ ztdOOEd+JeB^<(j}n;skOtcdQjK#;`0!3z9;S#l^eO|V7)nhXS813X4D>`LYOqTbua z(m{D3u!z>9oro#h%==izTsGy&DXG8lbgPOc=zW#0o`C&V2sf_WbaUddFV=bk*(CB> ztf~Q7@Vb-`XfxQNTQ{xZDgvMtwE;&1?ZPiSmujc}w6(hbOgVjYw=48I9+H&`_Gs-g z(4x@SlN-;SWrTBkA{JUylQO?P&y>^{imfL<^nS2{MrCJa1og;gHXiZ>fLJWWikvmQ z9evWPWBc=3&fNYU&EjVdFtfWiAN%){iI#Q=adRSZ0BD_=SsvWY(1mFKh6Mg&1~uDXcMU{&omfk6kf zKy1}5#Tvo)&?fS&0#V8%eX3t3l#;BJ)i|q26eC+&)hg{t8GU3c}WLq{_Hhn(( z!!9^^mr33Uo8#teHfv+llKfSKOwmJmaRvfg*9h-}>_HFbqAHB{kxqR&$7rbnVYnPRN?iN0zp`C2z@ zmu?DRn$-eP-Sb7?nOPsA)7pu*@KVc40kDWMK1A_R>b*dVLm)7w+{#5CKCjrXQ%v_E zi5f}U@L zpFPSG4t~Q44!7XG-sv#_0>h=j-N5f7--f8EC}gS7twr`rXV_Q5>_sKwDM$m%6riNP zE4L4sauYQ?{*r@tQsGMP7kDPNpxpL0yXWVM-iKFo(_06a3-jq6*K>;(hcK$dN8&1K zKpyK}8}Shs9ftCwqP$rt%3MeTUwFffw&Ru(Kf{W{iMfF4bFp=@b)jGt-aX~1pYK22 z&39N}hft~;P~p!8E3)KEtwMP2pTBAF51wwxmG^Eq#1tcUX7y99=>BeYgXKST0yy9< zL0C`$6pUbKV!HMN4{|RqZJscfCu8PvXUHf zc{$Ndp$b;2TdCWY3!6BPIGpwViHWf&t|C}WAHQ){2jElXRfOfOoTj8%lV76y#a(@H zZg3srT`iFmTWx+gdCOW{SIS*Qn_87W<)TOLx98TVL`3T#mshus>M!fLeSt<`a!r~d) z9W=@Q&;dB?2yjr{hs1~MN#p)m{dj`W80&KR)yuI?x2nRoK*jBlLv^1ieu`3q7TyYC z^Q1lGdq>4A-ul|BPE-r=`-q<(Iu+u=M&s_cz$31|QI-;#HM>*>WJ8LrQ)X?HPF5TH z5@p$dGG+q{)oo_F0lj$^5O*x3zh4R+D-+hK-R`*5Dj%z*EXwR@=B@(0tFZv#rUXrC zbqUE;ECQU>aJZp{OBBo zZ=+(hxKp<{r_#$t#}j5Cc_VCqiE)#{RmoCJPs3f(>`XY3#w1b2n&wuT4MXHBT0YyD z2?$kqpPr|NIEYaWrDeygFaOasn`Uhs41opHf)#+U-{)X&Qu)S}sdD*-%?8%r_ufU3 z*;ht39ot{eun#C4HZsAy^{o`Y!X_pC1as_xhkiP2&>G@m7xBqeF7tFJR^FrSN>YAb z=;<%eiX!$l?W$ftB1QMwpdQ8D1cT2>0mY?;ZUoI)+|kg)2R04Puy)4lXh$H$(WyNE z;&!Kz8kI@(ip`)@izSn>&${QoXBkZB4W3~JX#2EnT@-#rt6trfi&qwcZ(3pdbY~$3FT!fB*Epu1MgXe6 z|A8QlO!F)sX5>dj4nvtvJv()9#UEEAI*!Wx@*J6aktorS2IbCS4@>a{XGilmn9*^KS`Vh)S2EHzv-0B?%&XeWL@Qr<+6&vlW_v|`{d1Me3`l%8+&CFlIk zhufk6IIkr-^TwEh{~lMTiP+0IW$M!a81lJkB6Q4xG`TH$OJ4D2dxK)7EC8g^sP=aF zaT@y61h6pvQ2%)MP&wL$N$F0|+tY}-!S^bPFbh-w{dyBwsFqf4K2U*C*_#T@pfsw+BL}{Wnv1t4>O8H|4lq-w3+|V zmfj)h$KUEH7TKtKs#Eq>N%8di!dB=4Z|5M?Ih3tgq}fN4fZPct2V1kJF(uQ$&tqT zrlw*OoBF51xA*euzm>W2tkgHurRX%Nd7j96;)QLItuMn()8=nxQo9p0xm zcLMAyD4O@6d}%8u>5aG1t)--p;Y-RLCl2+tK z5^OtSMd7;JH7N7SgNW=$nZ7{%Jrms9{)N`pJLU>voA`dFpl>qn)H};Cu5qQ#%OQ>i?J%iQ)t? z+EawnXAIsgpE1TdAAZuw!%d#8ZVz?uKHN@QnsqJ~N!59`HYDOJSC7OBb5J~CWYdtn z!LKaE)*(S=rD)|tqx8csbw@MT*WPix{!?2FYxw*Cy{0&4Gu<(DZHf3pv=u`&*v&-a zT;Fo~@lN>TS^_L;;iY<-Sx3Sj{^0R<*CGT{qkculEU}( za>^}>gVJJK;0L#5)^7>(tz1jEz)Dy|+Ek&$h<6A>+b(`K+C9jt+I<-?BFw8M}}RjbW6k(+41rI#%vr!pQZ0 zHDs*k3y=lq2K;$zt013HJzpU#sorFHZ7et@BmA149kr=#5=tERQ9d03?*w`&d@-Fm z#XeswekXhwrtPr(o|`&jZrmR3*{AiW)BQ!+UR~X9p+T$EKh6aOnJ3NTE%9an#IZHf z03f7Z8<}6O9vB8B3CU}%ty6mQI<8=FimmG6>nz8Dra#k-fC;ak@sWI3@cw^G9uc+8 zww7oK-GWROgE2|l;=8P@z8tMY`pX=CccysFR~m4;hMJmSpio{TlJ3kG(O>s^B`>eB zT1M4SYYI)l$1D?13$!tWg@CihFNK|J5l|h0qTD3h3n*Fz$giKi|ql z`;xrrb?aIWhB(?cm@u%Z+}CG{b^Ms zOsGZVQvG8)TfJf!bV8EZdTeqMSrmNBmw>y#nJ@PjtP-u>wOHAdj_a((GL_`+@7i_s zE~T_Vc<(W5^G9?~wYqkSyKDctO1~8zRMmkQW~OT+_C2D^c7)wG2zlk#D%AXG3{-TP z-Ko~eWh;;_WYleI_9dYg1&xG5Hw>-d3nER}sgX4hg+p(K3~nGxm?;ePVAc@FxrG#RGj&HWMfM z7httu2^jU`H|`p;jEu3A`?9jI*iX!~MCLJ`GeXAVt}kmZ4i-w=`kMMHtLnm%AYXjP zwdWD~G z4|p_j^FgI3j}|Cn5nU9o-OIg~gtDM=Z+9;c&A?YweUxNp{yRZ&HsBRb2Z$u)uV(1- za!e*yw*uFk%i^knw@(mDw0ON|-)AKoo{YB$zdg4JmMd+TAYZ>wqo{R^wU%XCZ>uBK zduj~?ZVOhd)je;X4(5P%;gXrEco=wX5^?M(D{~`CSirU6nTo_UQvqf>> zS3Jxmk4(VRk@64=S!7uYr}g^w zUVv=FXLF|$bv&!4EZLU!>wC26Z)(4;|us!3pK-DDV%^3>B>XqejniT3#q?xOjzk+r0zOS-B zBYlTD`DbzriWc=p(vh=suJz3MPnq=Jtrn=;Tqg|;-Qq%Kuv{!1p7AbS;oac|9qqe2 z*yQP*km9nA;U+l){q&R_lLBH>y3dK#5l&Zn{6%W6w)d?dDI^*-<+rX7PY1>99>nyu zmoW{=Hye0%EWmhWFM?b;qIg9q6vXXnY&iz>c2YAgCk#B=6q7qXHB%8>m^p1a8cIp` zmj;syoW$?L(Bzbte=*ubf4(yyY=^E1{KA|51`ZO3Wqi&#bLs zwzpg^33~YNY&99d8|M8rR*{w*D73t*gWL9Ck?&k%9^*mW$VAf3GgOMTYWhjk5?I zn}qY&2Yp8?=u=YOe2EuavegKAe&9e?_I5{OBuW48x0RTawd`!JSaw&~9j_W;Hu^=1 zIzYH_?Gw6b{9Q7!VLUKzX2V(0=I0t79sXriW?b6tUj9~~(lNoJbk^Bh=D`uqXDrx5 z`92sS@Zw%?1vhyS^y1(|&r9B#W3jxq-lzi7r*F)O7@*@zUdiU{_xhDPt7_+5^zcu$ zx<{~YL0-c^X(0EQ`=q`!VKU#zt|Zc3Q>XBWq7N&lAJQLpN;jN;vS*qWx!=u(Tb+3NY>_~Vs>g;yU=jiAUrRm4Kl$Uac<_kp)l#1VET4jxqwH{W>M%%`25 zcJashZsW~Yg3QPVjqC*+d74&Fiy2 z%5Qg@cgB6TkQe5v4E1&psjY1yUNr|A5dCC5IISnltgU}9(~S~k(K*2q7i@kr{>Y#} zvT$)zm8M8Ey5?&It$J$j-`ebYp**wBFe!@Uv&DpHLHM}kq5Z;+K+j=|U-|d?)Kp}g zG7skkryhrgv70?nPj*ru5Ze&UK6&zI1gG+>W(gbgBcPtw9}|`lE)njo^pxjFm%_7& z6UDg}4yR&kb)9N01cAETx%BU%_olX$n?3;iQwS4^^Mx`WWe&s*>~A}%ECRvRqfz`2 zXQ9fex$r~^LBDD2o%TvF-@SD@CA*W9a_5Kp&dxJqZmwyWPtB`L*2`u}t<-CXPToF& zzMDR&vc)fR*M0BbUa1*6l8*=5%1+h*k3#gG#55PuR#yB>Tx;cQBki0s*^_nWMF?fq z*TRd*vpB)RXWtu_zBr!Ly4^C`FXKCyPrJ|mjWanh(CMdy?sdlN7_Ch89&!~2g)gP^ zUco|KtIdrd=vdnRq`-J1q)5L|KikYt^1e6?Gs3jv~<6)mz|s?z;MX z8qv@7b*dg_`?t1wk8DjwjzjQ;g*R@tU!*kDL?luc@!NPgsPWgY|D))venlO={GB@ALk@&+44#KIh!$ zy1tjNA6-W6e4Wv^W#eu4i{&v}$Rmd|1O!@8;TjV6kYD>s`<<1{R1pz%+r z@umRlVtC)i37u(%&#l{5ydc2d>$SsRR>Demixo(F!N~Mb@7!%& z?XX|Auh(U_X;p8Ihiam2nDtL4>(`)(lPnKH)MneBW!2Xz%VjOsRo}fvq}8gv-nYbT zqfUbc=##t8+4ECNe!B3jnlnLb=5YR{@+=^ckv=82qQEF^Pj9Lh|HxS=_LZCgIll4* z86fe8(a*&xi*>aTrfK{w_+}C7*vB?jN~<~jUCx4-%_n`Qn{mny$&O8aj?Q|2)-etn zu;S@ynUREY^a@y5B3D{w^~J%PQ3%pMO_vLo>E=t23$GO`qy=JW*}`J@juJOgfPPj- z8Hnr;wjNMHh-^^x1Qfc^gq02VTT}7q(vA&?(HnuAp!NncwNm4*{nPY;>loK%tnxHA z)n|Q~nr3$f5g29p^mU~HL`^!cEpN5<%CGCJ(H*fQ@xkLvq)*8^uwno$t+a zO~GBtA$R%RyrJqJP&?7?enLjXU9)dq&uvqeEj?GBtaQmrTM~oEBP8{u2ce}a(X?a) z$9I2Sw@(s+hmUCLLhUg0S^XY(uHEvu`Q~ZAk#FdN{ydMthOZuOg|TP9ahy#Z8fm(k z^M4`qzmCAhg5X|U>BGA$9L?>MA2Ys_u|4-Xd7avMyPA`}R$+fzgsRSSHUEH{o0ArP z7^n*?MCf=>yuQ-x*Mw)7KKro7T(Taj`|Z}SGqHMkFt}k4QynFwJanNWBrm#kn~8u% zwlu`3+p250MF`W2veNIaH@wu?=Fcc*8Wr)g94+T{6*%`dHVy4XBT%Z!gc4 zTl^wrpFrAj!BRi&p8h>%M=T?hBBA%={OS5iBSC5m!=GEVG$-4r4qAzaa;#ukl^&Lz z{z>{LLA)}I8l%o`oz>zKrf_9bPo{O_zno7M;s!mT>$;)ZuWKANt#ssb)BgkEzhWZh z#WQ4WiDn#4L!c+Q^oC4>waT;V$FHW!ME}P?{2Hlm(4lT z^2yQEgX}83!IQvM{X6Rz95*@!S5#|ZwxU*twKqWHzWUP2KAt)8g_LkG^7<$qCQ5J&G3RNSi!k;c%>|L5o6giid&KKEkd~rKBUwfw6h@r23u%zF; zso$ah=<-EZ@=>)*M#dwyas5=s`M~KiL(I=-;WtR4F$TTL7y`j4fISheEA2NLdTW^#tVLE9i0{~ z1qQNjABqw9j80nK}_% zV88Wb2FPKGYdG`l+iF)YNRXsBk0y#=qtfITr_Ov09b%uM(Opxeh_l|~mJVitHmWMT z#k;GP`V=HsyJ=1x3uB=dW_;2810MI>Uw*c6)XVFFUHNhRvO#lR>AWJtphL<52YKe0 z(e(GggFY76C&6RrPNah=&E@b-t{C^dgVBdMT*XnrdF6!0I|~EJF?<>=-G9!zq<2iw zhO>KepMGaj>OAX&+d-wEjIZI=Ef7Rk}rr}$$Da~(x-zl|TM16qb-ZyXNS zYHC^@+J0 zw^P&8YdDYZEuY%w#;TNr$$#t<&}u8vOkS$8({0MKYX-47Yy{bYQ9MpO7}>wKdwaxWqv`3Dza+;MxpztD;4W``-JMeeN#94TmD(5YNrQ80 zwBEKSO-!&aA~+yl4a>rxd)7LA-jGcLOGkgULy8F3bQxW*hPLk=IM$5YL(HLms|pA7 z@Vtx;UvnlzY_2x%Tk3*L6kg`89u>+Hh*u=x=8C=Q7>1F5gq+t=sV+CnAouR$GZ+Mg zYkEV6MP63}vM90|zK{@8MYZaoG*aAZ`JVLrMZ!R2H{IMhyZH56 zSst;bH(VA)+z{m))FgAD%7)bEEF9hZ!)}I1qN8+fvwbsHa9c4W!nf#goWqk1=07^F zVn+8TpBhw2y=%%XB^Rgy3)w#gd?hzE0eZg>gq3O?V6*Xe`3u|sz{-`O>CXM)=5lO_ zty^0}JdsgU0k)r0m~7mKrX|MBW;|+ruc9Mfx_C~dEwbbJ^)f4hsK^Y&iPfaewUWCT z!`jN{ea)fmpWM^-`#{=tL)$`%_twlxPcVuO@7q-ZYlg@9CjViBuYPDGqLwcg5&CVG z`cIG#xk+M2Ngl=q?u>tCvr24+PMcftkLidMtTvdupb}ED`u_UTe@Y}B`Tbu@=7Fze z==x&-d?b{z=;*OwjQ3?*^AG73huj3U5QZBy8L2E%I#Kw#lW#LwP%&I^nmbvh@zHJZ zK(<}y{exE#pJ+Of(5k`v8p*Hk^QAr(h4)NvAzMr$oP=11M%y%*w&+O$JV6M&hv5bS z4b#mLH@pV+DKtII7DqP&1hHH#{yT)8t^6)QTh-^rUKX`SQhqQgo~&X^dH#eeGsrJ# zaL3Z)Gqdx6>G6}l;lbFfewF(;YM}mDiOqa5otS9X>$3Z2`Od7<>vs4?`EFWbhsQ=T zlkv5gi_z#Q*v0nUUk@;PIN?!eyx_~2FZc&-dYeP4%v`=BKmSp!ed|8y)+Haz7Fzhw z`MTW9L7W`ORf3j>=QxMCPyRKxT2}Pw6R%F`^d@q`5)AcFa;_s2ou(u^ z_KqcQS|7amC84vMSGzsCx_i!x9x4~%!y3~f$^#RjUlX0vge)3 zqVW)*QJYh#r%qP%P`DDZNNHMJ3)V!uHNs*A=#4@mqQaTV? z^Nf>am%+;%_ERn3j%7~;abHl!k8Qq@3!gPHBBQSt%=o^wg@>)s_TeitzPO?Nb0mf9 zjFxA8#(gWz$lD)%>#dQo3;E+;@Vp4Jp7ID5ZSak?#StX_k`i*=uSHn4m@9EwV;)~L z>bHL`$vbkIKW#jkzFxjcZ!Yk&Ki$NU0oQOuQ)tGa)52SpyPBScaOzuk-{u)#B%`tr z;5vKOmhSe-!VIZBNfLXmbJ-sjfBaWhcmv|UhlnGBKDd@_N+YkJ-Cxr#k1{bbag5mv zEQ^1|&Xe?(M_wMJrY_!zqHxC<^?1OrJd6=IITKe-09)Xc$O-^B2Qp>kYwOWvWHo2{ z#Mq&urLER3G|`Npv=tsE@psOb-NUIsR_hLjq>W|Oj_iY1?O2fuPGA?=gqsHbWql+K zy!Qm51IBm^oJ1+J&Z(?(%=y9|s0G<$tWn#8jh{k3k$#(tvKobyR}yuqRJAt0Gi246 zg>s9UPkw&^ZtXGY&Mu!qZabYd>Tbi5;xN@KoL*-*Yzg^pEpxeCR7+*$bCM zC)H4RGgtGGhm=~13#LJ`=ktV@S4Cbo^JsZFhY(5>8G*zbM#Addi^Iz+P|hBgYHUeg zc|66InMfr3m%AI5*Sgl~r$Vz<{koDqj=mUI81Bh|hrs%JQvL%Phj>YB!^y9fc5zrvwD-x=$%U z?qtwb5`Oi(F0xIItAmu{gs*_q3t+x01;s+&JRN%QfbKn?!E;2p&nLWj&rcj_zG1W|x^Bjqp2;Y_pr1(3|9zPd&Z`lW2bakq;E>A3?;1wz(-F-Y;n; zx$Y!{3Bd;2a4HfD=WPNKcOVpy5C;oLZ~#9gd#WmHKhJw@d)P@-U_7U(U` z#OocF+x*cxX{RYpOrp5+-BReED;mBlvbS7iSyQJ!RdvXQ&r0Yns~A1nJIR%#eUhFO z&Ha_}A$Y_B#i8f*bBi`OUu!I%v9Ry4unF}E&5+!%J}ifgDk9hhl~t<^qS&(i#Gy&b zM4?ITNeW2ulFklK+}k}IuA#7>h~^~=`uRNeiz|;E*vJnmL;vI6b$~vD-$n@M<0FW` zBVcAChP#=hP-$-wGqKhFVf9jq+Z0HjN$hpsvG-f6kjTw-Rt)=1?2|-A3Lp)8N2F%< zI)At6h0u1|Zxi~A$`KNSIMW&VktqW* z6b`of1Q{Uj0cR3V)CFHn@K6d_q8t&B*f`3}%*>ZQsqlkJ342P(AinI`%E!z!xyt3h z5u^lgA-VohSMIrJeQxEBu}A{5g@Gr3QxnJ?231t5IHey52tdn{&6R3)*M75h!Ec4i z^$%u3WLB55Oz`+uc+0}`nwpl=VDS!-!oRUCjgON43}4$Sae#TTra>? zTnO=ObK**mywoEjwC8aryzjr6MkWxQRQ_@9fdbCz{qaPQLadyeAQkBdLB3e}gnz?6 z5Q-M&XLfbbelB(NO~<@LVu<+Z@i0I1})WQKxMU2u6vXg(ZuFpgL^_j8A zqs{y)1L}J!5jOR^CMZwh!}}yWaGk1xH8#KjfAvFD`ygL_3)GocNWr#~o;UHLf{+5F zg`p7k)+Z@r1OTdj;{nr`MeK^T#~nfix^IH5Pgu-q;0OD4Fe@Oy`C~#|+CX9_h{;>~ z9$n)PyJz=3Nq&2(5)frSWsU}UMUdGHv+9pU$#~L5gddXuH-cN>)=JyttjH8itzRHc zX)s5DFN{j=>ifvBETUBrO{z#_)tM&mljQlzn-a1OwJJzF{0~$zKl$UVJ06+X0=?V6 z7Wq^4&@KT?q>8#^;-WZa{V1yhnj}bSe%WZl;N~fxyM@9_(_$XsD36ejub0S=$fX%Q z=h#Z2@*3StA)q3aT0uFWsK`dy@kTkmUQ8+xQ%eG6^7_OU(lhZNs6ybu&@_mB%-d7m zoqW>1m(5Rh)QijZ<1pMJO?4}c7(__n6PfgRrNvW}gxQXoiF_)FY{Db~RDzTg;P;B~#yWI~ODFwY&jUypV(+#(6vMY%GIv@uKVkB{{lFcE;zo8X}jcfuN%!nL?o}S)J#IPVPqLwjAR<=CzUKcSHBUh|@1jVr|Hy=UnW&&Hp zP+rsYU5I6!%C8GfAb;u)o*mVSs8H@^Q7=ktJp|=REeoQcdpI$ZLb~-}78G>N=Cy)1 z>s%onvFsD!2{3ViJkGwT`)XXk*%(R|Nl z8OpeN=k@`ly#u#69cCU?d~zt3;589QO`wR+gqPA^)XV0WJiaTIH=J}f{Z?i|yquub zXhK#FM}r%ZV?sr|d*!JKx(8?t3w?qNy4V3|?JQ(TUOuR;wH80;2V zBVKvsa(<>9IA@*^n+^TI#zMA5K?`D1YTry-TVe0gCtz2-cg9z^uVryI5jX_E2}Og7 z^Cc!!k2)f>EY6t}G{qK0CC#r7rjZ3uHG$x(p#94*YcEhA8wFmz*Fxl^hk^D{AD2TG zez9U`Kj^;fFaco-)e2@vW)sp2njssKo$%_Y(*x}jhsmCCuVqAl9IiueRJqdRcmUHP z6L;=u?>I}iLa_PuzaI*wR+HOdp>T1qqiqZyAE3Cr)FhYNVs8VmE1PwKBm~F*^r-ZF zMhG$$Q(hePzD^TW9nw)h=O1_w(a%jtY(Y6b%OP&Ot)y%Kk)tR<`vd8Lr2GXzIhmZR zz05x&)VAX9{KA3{N&%P3-EWok+H2&DM}F3>=&>QIx7rS0exdzk5*fE5)fRv@tyucx z52XEW@+Ehqd8PL5GRlG?ymcA^C}`CV@win)2n#%lWVusE)d#!x?b#O-?n_7Yi1qCT z5fY@e5jrJzl*0hs08d!Izs6@|$cdPX4*T$x9>?NO#axzSw`qno}sc4F~+5u~7ppb7#mihyCSB%cv3is)Gi zKRTH8&Rx(4Yilg|bxZa^#o;w(lBB$xc~XuqDgVns_H@h2eNx_*d@4EqXSA!`m#V-c z9%+z7$~?luc07UX__rOaE!4~9t;S58AP`j!vZ3eliEdD!zSeu>0Ptm#jaK!Qe0`vyA4SoZeAx-`FM@?MiM<4n zTJIR+pqm58HgW{zT&DU8%(f*AdPPMgYGO={k=dB+M@AvI=5Kwz*L42-IbMbhpW4i_ zo=>p%xTen;`6l4SwIp2>#M>3qN@Qi6;~*rSotWOW92{`vYZiu!o~fE&_6rday2;C| zs@z>;p7K+95Sa6}{*Nyu?dZul)cH-$Nd1rIgeQ>l0+PQg22AUT4*46-@rZfmW5-wq zoTCb=sG#|*fUQ$KQ*_d=G~u6XH9Se3(d|5Up9i zn9h9uw02A1_O2G@s={~+&F~%BPF6*`7l^e^hw_%KDrVNdAP|(#g!@)8UQGO`Y<;FU zHSAn|k^-5}92Xpy+3HE|lvI39zN-IMo4tfNH0n2*^_M4tgX&KWi19|ad9pOA47vH? z@t@jtEZf}I?&h*;6Zjr~oAvm;k#XeToV2D>b<~oBecZUA_I*|HTi7qA(fi6)GBz<3 zc!*ws+Qknecp&ZHgTsoA7FNhb6EmsYfcDzr^1aN){jArJYqx;xj1>l>Mi;Y;nIM+% zuN0>O$hEPXDp$jNXM>c_N`A;lA=}mM5e$?GnwCi@z*b3;H{qW~MxLAzfvVNP2H6rS z4K`JHC$jyN?sfZq%o)P-go-@uFA1}az+!x~uFzcG=QoX0rl!j}weW?azlIr_)9K(t zfZI7~>H9C(+;A%#`Rs=GzzTHt8PJtPaW;w^QKJji;X|AWP&ycJAbOW)b`b_3BY3B# z*Zu;LiRf!3TAaWnS)dD(FwdV*W#{hr6YW33enKx;J+RBh@h@4*-~Tm0s}owtU#qDGs^d-} z()tnau6r}Sf8@t=SW`7uKI5<)FeSNZMzd|)(qiPYe{tYk+bX%c-AYca;TESzAt1^bHY%1w=<|o$UM3w*0$JIj=$Rp+$)ocdrGe#cAC7|J`=ooP z7NLeM4_nYW72IAU1R>N!(fwxX?^TunzN%Vpee+dR`ae+zcRe+(e*+F|6!QaCtW&oQ z=6cid@)C5eog5@ zQ&d7N%-714=WwKdGoKXdbXTR8%zv?L{=~?MQn6ku!|wMt>EV@dy1Vy^oJujJCm&Co zn%Xm&wsKyu_^0qS`CCrX56)F*`Hw&P!H;xC(%G{*rYlsvv$;BP)jVpMjyIEC<+&Eo z3JY1%nzyGiuQc}vwsfy)nB%>wdmQ9feoMo8VTfQk!QIn9AI2a`?HjOq9U};dXw0{; zPnX(uta3zA5w3P3*heIX-UC5Mv;mB$QS{z(X&C7#hgWPLwrL4OgnDqf)Ino~VLX&T zXQ&cS$Z5$!Y!Vw(ZBLJqM<;)Y+s2b=?~EHNx-5nF!^p@;5xkLhp0zDr$BxW>C1qxb1ib&69DI z^H|1;+xY_Y>naB1%;a6ZaPEWT&(S1Fg8`7_%FQZmsc0e`}11W`@JhXjMzWc(i zn){N4?L$Y>%L|z1Y!YLHx>?h**-!5zc+z}_S;^Y|#G2M*96(c;#S(8F{{ZS$e4zTX zgv$22{7xNCxmWbr$PI@Te2IF^0BQW=!8Zjs%C9Xp8p*eGtm_KLT*X$m(?_|1;S~sPbhQz#s zOOQ?JSxfEimg(&?`q@3d#9@8)`4TDL_Kj1aRNU&8vV9~Um{;keP7;k`GzP-KVPoqGg;ev+T&QV7?VAD5SRTaW@1B_E!D{u!cZzr_eN*g2}rwlUa-7g z8{1UU!ciLERXIleq!hWR1m2tU&^BN8b{jif{*@)9QkdgeLG0;gzThG~J^b93pzT^< zmpEs={7q3h57Ti0p8af}z5!f%&J$*kMq=`=Li=|PK zsN+reCkd!jj6bOjma%A;Rg(GyA1pSr8VlL`PVHVhoqL$(KAn`+vRA|DbhdljBkci0 z&BL%y#vAMFG5Uv%RUrHg>QCXkGh2#L%-plxtY*@uO@xAPzDF_UVvLb!H;xfFV!wwINB(_~eC<_Tvk+7wv z;HOYp{K!am&7y9&tWoGPJZwA6&pzuqUzt2$Y_cfHPtL|bMf@kmE&0NN141}st_yBi zb$}kO@l3I@)=%o#_9{1CAm2n;F;v`%nG3(iW8Mv(7H&uPEg?FCk8j-111s|hcW=0C zi+ah+Pel;GOfLehUUC=x$D*X9`6{%>SK6%VQ6NAF3M;OHC0N6|KYwiL0ni}>MsHt% za?CL7BX&%olNVj?yV9DPq&5=h=ltV)EF9krjI0hmy;v|>9`Bm(6MQQfpQmeKVANr5Zg|NzRVCHc zld)=yBh>(Ymg%%f^W>op#%}vQTT4b5`qG5rmoXvCDRAv*DHhaAc&6aZ&^cxV6bBht zpPujdf!_@oP_&z*trmL4U5fF*HdGlQ;RBIrgtiTIZiFb#Lv`fE8u0RuiytNjYaU?> zC$9sdaO|T!AU{gcD~i)Ls*1^pVBC(8NUr+$+kf-5Y7qE6Q@qrapgJ?p1^ zV<*RAuNG!^cw*5^v2A(s&>EGG=W{Y4{l~f|dv)H|b?c#Aaecs zsze7KwE0_O_06rqonGlgs1hZ=ae-l<7W}+}Fe{qgkYLG;><99l<3k0iB)b+57rH6c znWC6(FBPHIKY8C*G1SCA_yzd_#0yuXbf_#Pp?We6!Id-bxq;jD5 zBTBL(b!X=tca18xD)$Gp5_(YC-6Wmh`%OL0Xy?PtT71@rA6d#$3+3ea2;6LP>kYtl z0vN_YYbmei@uFx-4(w>qaz+_os!q#zvF!qo#Nz>vd$@ zPJ25%YU~aClkS)IX-cA|<|Sf}1Ya-Cso2(GrB4TUYkbf;LmULc;@=k3?&>>bx!h_^ z&2^jR&d$k)z(jOZczrGfHi(XLE1?^>Z>f6@Sio%bX!^h*9d0J`;_UBXX1ejzQ`5Dv zFkgR{(NkX>zA{tQvvrkEh=9yO7b{Nm;rsP0Z&PgcIJ$7Fe&w0)3XyQai`t8tuZqg2 zOYfeI+Bft&bEUCPI9ZiPkP-^mUQ5f?9j`6p$k>7H1=>|Vu$u!rvpM-;(>M+)@~9mP z-(1CK7J9$unewIkF_zd+BmUin_l(TgkL|XRIT)5p$5*eKa>kI-OorSt3@`0V-*f5}QQg^ip7pk$fQ~yNLKb?>! zcpSHJ^fWi~iHzoVy$$0uiT(p58baJA=;4LxSvLN8o%@n3`o;%!T;yIWmaz)#T~A*z z@pzAtQ{8}38+%hdn2h$2Mx!Z#1E%f*H2ZH$HplcWJ+q@HT|(?E#t_Sp8YOuJDUbD? zS1ely@<4}u#OG|1W!qWeIH9e7dq1pI(>3USGc=@Amj2T65)7#sfIfP$d(+$7gLWQZ zKvLj%_mm&aaTna+hlFWqER1(j`l(zPRk>ikZnPLBtVosKO3VC|@;nw=ll>1A6pw4~ zGz3O2BYaW%r~UdQ;=zUQLi*o#gWEj=y7!#lT&i)RllJ3SZS@R!p>0Ga6g%4mEWm`W z?m-&}Jzc(ebZ`-lF&NIJl-O{*d*2WlL23#6>3@$oi;Il+9v)sxiiwn-uws2B)vxK- z&&@DC#Hx^C^?x8?pz-|fBIl;)(5!TzOQivxE3s4ZulXDQIo|$5at{|^;_J){5dUhh>piQgTQkIG^{dP zJC_aV`KzNJpc9^T7Gj6GV^0;ILj1kEsU=I4p@@8s@|9blM=~f2lMVYhBg;=)lC8TYokTOraCB}4FU&!7S-ah5l*bsTI ztn$a|;aB3Cb)^6uxlK8i*c|90R2E?lpabwF%OfFtBU>jJYwO_oV5>1GL;JPV)IG_k zDqb=Ql3Q2l#;?2QjT`pDq+QEo5^<8Z64+ShwmF~-pL{S2uT-q$K}^2CeYTNIx-YyO z;q&O7t8>Y!1P6!C5&v%ez77R7enZ2b`HKskajFZbP*E34SWIk1W|n_|UbW=kf;Vl` zCzRXG#gB5nXw+20zgJiKIGBudcLbpe1`&FXdeGZ+rxdCbJa%8C z>8yHxGT7fba@X6RH-Nhyg}e((ydg2U6`Ahle+S2LcX$3F`G{I*>Y=f=UYy(j*mSY& z%E`)=n?m|P+CYdorL%Dxru5d#IifW7*MXkedd`0!22*|DDNGuH1%~S0=)1;ln6s1M z?h&9wDEi74mlCCC1`8TLB!r4MvNsNX3NaTF9yv&9@<)H`rw}tokRCzvptJq%mDazG zb1=qlu_~JntDe~lPOk*YpFD%Z)8EcFnQk;L5dCIckj`p<*^)Is!`)d}AXb#Y@;qP8 za83MR645clQZt_uP=jq8l8>9-dcPRfILOGD=m>>E+4Gufs@wAuE3_ZM8{-w;z28`; zeKLDELT&lQ?PW!WrPO6%6Mcp8e{1^NF$P){yWtr|3QYcTiTk>zA}N`;qM@)Q(|K2 zTu}G;I&9eoJX3=k58!C_=6RLHdUg`E;APQkB>w1&<*n$d^2?CY2V>$2jnZ=~`@y&_ zInzoh0ck|KSL61L(5m@2eZM&g*>#((8G!vRogJ*TaY6<*6jf`A7Zgt`NuU+At|yUc4Je&>4#-^7AC> z&4l5{CHBF&4>7*rGA=6X=tf?z)<=g}f=$lD_4N~)@tVM_zBL96efsWoY2g$fnr!9_ zQ(>*eCY_zogH8&J>Lss{pw)Nwva``HlVzCLqf3=at|8O3_=VX${~PR{37>=fy&XU= z25GWd2I(039^N3k5s=E8^g>vlCLlXu2LoP5#(~v`v$13E^6BS#)g?Nc3qCOf(Fd(e zEjQjL2QkH8a#G^}^s5~h{Y8r4e2vYLaFBD@D~OIHlFgH>WB!`XhbB$(}_86 z33p5Ebw8+&vQ)8d#QgqeJsx^xtj;uDFh?SzLk7k76+V7#Ttvy({;p}bi`90F)$v|lnM zc5=NZu9|zU`r*uWNSE~5%v&zxE>+s{^60y3y-K2mi(saW?4hZqJ()P22iKH0)VS4f zPE7K9KYc9UdrHO1Nb{ zBGRUrW9WFyU|$=&5#nK{K0os{%UiPHhK_@wz;NcIsm2V-3dr$6@o&novC}#OnNMlW zL&lgN=Cj`DYEEoCsXeJ|+F_CXNPL{qTHt@6O^?H=P3+^=yHEdt zATWwR-@vRv4*oyY&xL%@S{wc`j$VYr8^aMtwLl!xbx?adhB#?Hcs|ZPq-1RvT6o?N z4lEmu$%#Wp@n{TF1of2fEve#HzgWz+Y{D1c9+BQ(7yE z->Nk>iXyO$8m*o4C(sh~B>CL(?G{ ze}EKn=6M;|&u;7y>L4fXJ`$48T^}eUh3O8d5wRp5HobpP^}WwyA64)7c#e5CKG$$P zuxhl{yb9h9Ht(+Ns{6Zv{sT68&tCE$C=dtNTtlFqyAH8`XDrdYpY>fzDwUll3EzXsdg=EH8itRoG29m} z^TLkUhn4$149W~(L5aW)RCpDn#`55r|J(c4o++W)>KVgXsG!|bSK^N1VU}kloaHO}}<2(=D6`nf3w|lu)hg6(J`QMa9Vd*E-Ic{N&i3_4RaF zNBwNgiZ0QtxJ0`yhv{QOPb$=}LVCg|D#OniwcnfOA1kJB{|$h&nl0$)N<;ULpx3M1 zaZhGqzgxidCUjf}OQsu*R;_>_jppjG)R6!8C(udtkaDX)@?L4A!`zX{;sM7ajMj3^ z#=KB5b#$?1vi;CcVbzQk>nSHPohC9r&J8fDHs4qzRL zo9B3n{t#!A{S>M!ax0&2DPqnjs=x|vzR`XZBIK?RME#XbemwSj3J!}HE?fDHi1xhT zr097ULjFePefVSZP_2fhk4^I3sgF}_E7vsKRTIxWsQ0B~L&&FCi`p}R;%*wV&AKh^ z^|i#BBM@TS{Y1c(Bh0FHx#@(V%V_*Ub9UFD((#3tZdhE0WY>K2jZx$DSXrL+K|sto zjKsA)^D9-OU*%r=%LVDZ3Kuh9|LlzO#N31`p%rNv<)OGv`dm-|EW2te(4^Ovghfa!M{0< zWU4O>HN=kkawT~%+=8865!0RyydqqAaOqwzsPWd_XfEgO%F5SO7|9tsIe$Umn>+HlS{0zIWfgGY{ii^W!ww3SE`G@FwjGjYQ4Jg!~h)+~YF zSw-#-6S~m2WkU^Q&+gnFReN)cL|_yli?(V0ZrFQ~T+i%0=Q`X(+vy53nML z#LF8V=ZP%UNsj9e26v4i^xeI9yCyPfEvyFF>cziE`C(lKkb%_C~EUTl5FqJ)QLenv7=5Wpr()SlB~g=~y2( zluA_i?UAN>ZB-`dNA734YwHg4|7JJD;Rg(OQv%=mWe2d4ko4=PJ30B?bT^?Ec16iBMq?6oR8?|4fR znK*Td$G3GabV8+@)Wa4^@C?HvxW=^LySJ01k^e-f+1y&0ELM8O>_zPnTd#Cq7Y7+$ z+S;}mqa$ZRFv;zM<;~hW9<3X#zIj{q5#91ZAv=6tW}dr+MseG$Ay8X)#Qu*P-P z`sLx?jV@L#mDL#Q^?m3Ixkp{-Ta3fUB2T=e5b9WKXxuEfyVxob&sHqOFRxq?o^-R) z@+z}SqYiiBizN@oU4G^L02gDc^R!@|uA_|1_9FzMAf&&_g+*vZ-uPo`^*NvxVPE;Q zZSL}k`QdGg-IN-PLp6Uzf+v^B>Uk<VK4nr(M{o|4{x~dCS|@lucfiq6KSv-?02mjiSCVY?V4j znK66@;rv-@k}i~GuIxtf@iqV(9;hc@DY5^ZPbw77X*%q}nPNjeAhb_*L63$-Vu zAG4-7!xMjMg(ezE+b^I9=f^@EZ9S^7_P^ixPSORszM=Uo=+xxf)sW{76{_{kbD6l& zjJ__oi&Q}YcLa^dBPc@#s*V$Ba!ZR{7s-IgyzkVn-~q7N9N$1-lJ}j@d^6`y!HR7H z#V*7PMxTf!iCJ2K^c(X~VU`tF z=A=7iRxAQx9`h2ERVwv$9-=uuWLNiigIv@$dtSoe#pV0z8CTa``032^qwW@e$*3yb zN}#W^>ARp2BJ&NtS#t@$Fn9E9_|}kirD69rmVz8V#w3l^pMY2uJVXqx$w;7EZHnQi zmi?9d83YEhxb&nG``J>{u>?1Kp+vwYvm|`v0^t!O1cM|4De{@v*JXt8X0-KSNKafl z=SSahWt9%ddJh}ld%ryE7m3^knHRxLIPU4A*uj<`QIdnuu15Z54sfIDE7FB_h@T1|i>bVa8 zmH=y&Vg`v^`Qx^4F9sf$y7u4i$bC3E1YW}fq4nf?FaGv}A)?m&8;F-j++*2~`Jy9K z6>=i*l=QUuA|pGHj#F!w0gWvkuHTnBP6Q4hwTV@wUDr!t3rl``KC%@A{CL!nqkFlw zaW-Vk>;4IBG((>D|HcxYzD|%1ps*K+2&ND_h>VUl$H$8pF-brrMnrjw2J!f9MJ6Ok zGrH@wy-)s{ z9vwj?=dOBk>I~Xcq?JxZ6ur|Xh+!8kAqE<+0Tf5QL!uH1o@&3ss~FNVyqN|%4_AhBuVfe=~XQlsQS-r}vyZnoyhUsd05abp55enn+{eAf5KK>5(w!qMS zh#LYHP}^PQA-oAc$63Z>+}SosKwB{*L(|mC<>e#=FCEU>-)v{(aum7)(?9rflZi4i zpBUU%{c+PiYDANCMU8M%V3LbXObN7;f14Mg@ov@sws@P3AUE{8*d^GYlS4H4HIyT- zt_7L1SEsQ>^8KBAbv=msSCA8l(r268ga<>K-oY&AVIpZc!RK54ugKWN<%X10dv`Sg z%c4CAQy=p9M5%GhAw-|idNa{;v~oS=N%9YenU(K;$Xzg`A;Zl#Yl(nEx|xE3RhSN+asyLqKHab5%wrf9vX(k@-0+Va#BOClX5Peqo2QJdJHugp~UYC*ju zl{lKHE$=oal43T31It<7adJ%|?}|#{L|#@%_nx)oO-KFFx1MqHZ!_c89{J1sJLFU3 z50XP2vnu(@LY^=ysP)mm&Xs5cg#dX7r1wY(?*RW&YOc&LaPMGQy1N{qee5ovWDa-t z)GD0t6qloao0`_^Gpz2ji^rF*eXrM#fFvoKq_ldW&Z*`uy!5HwUqR8{T2dwgP~|9J zuJb*BRN$3M^KyiFl#ON?5QvEf?#ON;NtAefnMZo}h7}z^%JxycTSuF-cn6kQl_Y5a zY&&vSnlhO@&fB15#|c#)-i~m}3v)~B9>WDRlc+g6jj`NnLOL9qM7_q*d&U+IvFT^p zqDjavjtBzi**p}RB(p=NrU2|v^?v{tLFm3Y=yQ*~oDwsT02#sC?@73Wo=+c$&rk`^ zw?3n<8Ke6CyMkI->bh%nYcAH=uGbyNZNwblFDt^Fj###Tgf8Ca1E9@I=6s-_EX#%E zfCQbRIpZL)z&-GAN8U9~0)+=8lgT(F;XnkQiZQ_$$>XOXK?fVMr9dPehZyQkNe7ID zTJx|UJn3!TIfgO)u=+w%PF^8=HNXK=s+JkyoBDN;z< ztjDk$aJf8?SYTib;|By2RaD^Z2ZFxeDahpR>5OZ(f#uuc2hRkd(cd!?!@A zs3F;4PT+fE9P#Pb>COScq9ZHd&0id(wC~kV=Ez{-T zvFGm`U;+*Z;2r?J{dU`3T3%}FRQeK$54k-t^J5$Vjom#LDmWO%a0|Dn4B6xOLjpUf z0OxKwBxf08g&fo&@Nxzi1H*U526D%qgf1``4ZDUjM&QJfN}d=VRAi6{-S`jy>x==; zLHYRw)7PT^050D&8Y-4tlO~ zGf}F7t+X~d!OvDDc**2sah~J_+lbDW@4j4>pT2_vR3Gs)yB>FRI*^`r1ByY$`Jd4I#}ucnU4 z0|XAez$cBp&pA6l7$YMCBjzA3cK-klMh5OO0opK2XCMxM0mcUh8E;Suumd3Dlb)No zInQ7S>Nq&y(i7L7nEXEJ;GRf1t}o0*K2&V9Ju2cT%54vl1ShZ zaltt}00;mAc_kx^?j?KhM>#yG;E~7&A-KuukW?BYLy$KTc*#6-g#?dPVlmKqee4>2 z&HkUG>DT(ssc^QsZkKCudwp{tVv*b1Cz$Luhh}ELiZxJ7lCnmNxw)CnG~p_fYB7Xc zl$+5;D^}i`CHE)uH^X6Z7|cZs9u}1A;&D}}(8JNE7b=x2Rh(f6Mk#A4PDw>>->LJL z?Nj?pXg{+*fPc1RTWw3m+UyrG_(wvx1)4Y-mg)Nfc@ERn?( zAorOz5J&yiDI_a zZ6`v2#@k)csbDvdd0!I;#CZlXtA!lGg?g%7t`z0W;mXtLqtkYpwwm8>(lc)cJWa`P z^2Fo#V;4e%BN@)8w!>7ERip7Lb)_ghZOZv%p6gb3o+|jM;$t(w&nmL11b}h!p4lY0 zKYZ;frynrdIr6*z02X+f?MXAp!#net6duKXQmS|z06Vfux|3Y4mGOp6R_y6sAkyLc ze4&g`-=sz73Dj9%+l7vI06rs<2&N%j)g3`$)xNi++^7j`*2E|bis;Iqfw>Wm4${Pe ziH33%1l}`WONW&j(Tu6`$}Og>+g7}GzoPT%kIQk`d` z>2%ur-MLBi?-DsCX=NuQn8Osv1yrfX-b-NQ2Hl>ml0{Zu5nM#e=Gk2b0G-SG?aY8> ze|ercAd%QE;0_4s&E2C05TGuoK;D1`1O_+-^2~C|Ibg+hk%h}rX|3~*EelAbZP*S= zFarbJFNMY(s6CH zteSVV;oWMR?QUMWA4FUHP_<04m?_*ccCwJf{K`RB9#~(LfCF%N0A%XL@jlj7i44&l zzziv12*YE{V8;Y*`LY0FGs`L6^10Nt#%3SzgKFxfcNCLZ@Q@11PUD5v8=T}WGC=`% z9;IWyy+F-<;a?Eh#Dtf*w~tBIqk%bQG}P^FG;LXT zdL?eD?{wO_zMBNKT{U)1>!qV;*;0;&HkuVv$P*MnzC|72SdW0O4FIDi293-AAnLipT@MzO0=-8pEVGPAvswfFC?pWfYc6`I!8cC%K}_R%%F(%n~=L-p&! z-?uwx)|Ve{@a&p~t*YNis(6=OiuqRKRn?`9QRflK4lS%Kt)jQnbX_@5+4RjG(#pmU zmKSI2Z2tgnjUCP|v@KpHVgi-8wUdHL&&@6BXB?O6Rfymf z1-oZB3aT3ika7W{tjFlClP2D)heXq);qvdvcsNLCFu9p4YyZxyCG~W1b$5r@8 z`!W1r_@}69>d&Oy=>81xE~VkWB}%Bfmr>9(O-@Zr2?C=JHFrfWA6>;ZDi5NQVDk@K{EW&YK_@LG@C ze?s`B<4=Ve$Bup{d>hgJ9&4BW9MgUn{4Cag;aT{1NzrVkMbO~1o5Sg6s_L43?v8AA zEgMj~yt%Qw(XTYitsNuNE+Egy8h88^GvmI!staqch~KncrK#$ZMv+S|?FZwi+H1LF zSmA*Ixwx3Tj^rvP`6ZJ90nRHAtyHNucB!tZUA;MNYexS73Qem!^gER(LNz?pdv&YX!8ldrTS!Qw zB>c^cSH_xE;Z;O`plUlXnNv?j>e-f=Ptz3DmEavijNu`@zNxsi1 zO)~JssFg;=o);D7{{RvH0N}45w|DH(;ur8Q#;ph9{+oUB$!Trke~msa@ji*H+FCS8 zEc#*bbY3pdb+}@ARx6ooE^lq^?r{ac67Ex~t5y(loTQ`8q?~2TXUo63+IF>*vf0JG zjGBy^QPsuln!4F(%HG@E+Rgf(zF!4D;Gka%elNf*AvYcp@s+*1Pk-S3YFKBxcwqTv zywP12fzE#WBVEB&o}A$Q>IL-uI+XW_Z+_3ay8Pmi%^z8TX#An9M&_ps_$8XkeH_*=q$ z7@q$3#0Ed?omy+_tLtR&{no1lwz1q?*|5~ozA^ZM)-+iBL##yG%ck8@@C8GRFh-b+ zDI@`c0pJi+gS8w)B^7j~bhSzA@UE>k?R_7c*QYgD$u+IqZ0y~(ak|m{(Oj)1cXexj zP!RlH@Wi`AUt0_SLwU$m_#!*{{Re1PHtkts33<>t&xSnVlo(p zC3~__o*po-5V1s%?*T(o73u13qFqlZNLxC!RMDM@eh@OZe^`nDI1{ z;3y&O?Iq7S!@9r@7zN+EX&Zqd!+gC8blZ1!SF%p`zMANoySuc1O{K<9R-UOl-uAV+ z+oRj1`n1zOqoMH^!js6u&WJLS%y(cAK2QN5GjthM0Fl7M0BYiR)59~2t;_&0Bpj&7 z82JWQuK|h-5;z&b2l?o<{i*zKZ-#A3!gVJ&HV8`-l2yE!(ClCphyWgUpGEAfe{2sD zL=fEDX%`3p=e?_&6a!_%uW+(y7|$Sg2-a(04o!(a`d5_nZn%^<(gB>6;VK3|zqE0iJe(09@par$stVD5mXXuHCPBEw6tz+r8|z zy^2zHi_s|GM!&a+gq(@k{O$oqk`J7#7E91X*hf(Zl=4nW8)xDcQQDpRNi zp_4#}oCp*!7-D*oF_1S7LlMp}4$YVq^B$Y~S$H1l{J;1}bcbw!tMegvxc%#O43QmwzWw$AHAjDt(~m>IrK=|Ai`94I4rr`f4;yH%+1IOPB!2W z#-chjMOgVeK)}IV?hHe4SodR$h1^IZf&o0Z_}$?r1iXn7?ggBcP&W*a0%eIGC?_hr zKnijJIxu`&@Kx3oFQZap2j+02{gq_hPHFWH`UYd4ot!|fh(Jfnc zOwn4}yC-CyWu~|5Yc-~u-s!ea4n;E&_Ei9|Vs@SZBoIqyI3$9&1c9+|7bnI40BCI@ zO&8#Q#e1zf0CijM18Tk*(6%SUEi`ZJwC&OP?7b`{3(6^}YVT{` ztbCWNz3h{|jT+i_!mSrZx3uv7oo51Rz8kTz@a~$XHCWe9&}`t+ED=AHTkp*rAQ#LVQg9m%_M1<7I? zAeJGC#&S+@+eznqb+34S>e62i+qtHJoQq_^IOCT@Le3&{pda+Y4s#PPO6R z4qIKZLnM;wSN9UEOuuB)Zl_}K=Q`7jd92?mwux=iRgiU2Nc&apq}Eo*qXhYv7Y`gN20?AiqXUFcRM#tUsQej@ zQ*C?kbK$B_yUH+M{6g?sw^9N$cUrMvL2w3FJRB$un*7=L)B7iW!k#VFuXS%5f5C9P zCGjU(X$w4Q@NeS>#h8_pBS{sco&vw|W`l1S2Vz5}$px%