From 4933f233a1d68522bf8e7fb4082bb82e91ae0182 Mon Sep 17 00:00:00 2001 From: Julian Freeman Date: Sat, 18 Oct 2025 20:39:34 -0400 Subject: [PATCH] init version --- gui_client.py | 442 +++++++++++++++++++++++++++++++---------------- logo.ico | Bin 0 -> 181761 bytes logo.png | Bin 0 -> 4214 bytes requirements.txt | 1 + resources.py | 297 +++++++++++++++++++++++++++++++ resources.qrc | 5 + 6 files changed, 596 insertions(+), 149 deletions(-) create mode 100644 logo.ico create mode 100644 logo.png create mode 100644 resources.py create mode 100644 resources.qrc diff --git a/gui_client.py b/gui_client.py index e7416a8..6e32bc2 100644 --- a/gui_client.py +++ b/gui_client.py @@ -1,26 +1,74 @@ import sys import requests +from datetime import datetime, timezone +from zoneinfo import ZoneInfo from PySide6.QtWidgets import ( - QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, - QTableWidget, QTableWidgetItem, QPushButton, QMessageBox, QDialog, - QFormLayout, QLineEdit, QComboBox, QTextEdit, QDialogButtonBox, - QAbstractItemView + QApplication, QWidget, QVBoxLayout, QHBoxLayout, QFormLayout, QAbstractItemView ) -from PySide6.QtCore import Qt, QThread, Signal, QObject -from typing import Dict, Any, Optional +from PySide6.QtCore import ( + Qt, QThread, Signal, QObject, QAbstractTableModel, QModelIndex, QLocale, QAbstractListModel +) +from PySide6.QtGui import QIcon +from qfluentwidgets import ( + MSFluentWindow, setTheme, Theme, TableView, PushButton, MessageBox, MessageBoxBase, + LineEdit, InfoBar, TextEdit, InfoBarIcon, FluentTranslator, TeachingTip, TeachingTipTailPosition, + ModelComboBox, + +) +from qfluentwidgets import FluentIcon as Fi +import resources + +# dict[str, str | int] 就是 +# { +# "ID": "xxx", +# "NAME": "zzz", +# "SAFE": -2, +# "UPDATE_DATA": "aaa", +# "NOTES": "" +# } + # --- API 客户端配置 --- -BASE_URL = "http://127.0.0.1:17701/api/v1/ext" +BASE_URL = "https://safe-marks.oranj.work/api/v1/ext" -# 安全状态与中文的映射 (根据新要求) +SAFE = [1, 0, -1, -2] SAFE_MAP = { - 1: "安全 (safe)", - 0: "未知 (unsure)", - -1: "不安全 (unsafe)", - -2: "不详 (unknown)" + 1: "安全", + 0: "未知", + -1: "不安全", + -2: "未记录" } # 反向映射,用于 QComboBox SAFE_MAP_INV = {v: k for k, v in SAFE_MAP.items()} +SAFE_MAP_ICON = { + 1: InfoBarIcon.SUCCESS.icon(), + 0: InfoBarIcon.WARNING.icon(), + -1: InfoBarIcon.ERROR.icon(), + -2: InfoBarIcon.INFORMATION.icon(), +} + + +class APIException(Exception): + pass + + +def show_quick_tip(widget: QWidget, caption: str, text: str): + mb = MessageBox(caption, text, widget) + mb.cancelButton.setHidden(True) + mb.buttonLayout.insertStretch(0, 1) + mb.buttonLayout.setStretch(1, 0) + mb.yesButton.setMinimumWidth(100) + mb.setClosableOnMaskClicked(True) + mb.exec() + + +def accept_warning(widget: QWidget, condition: bool, + caption: str = "警告", text: str = "你确定要继续吗?") -> bool: + if condition: + mb = MessageBox(caption, text, widget) + if not mb.exec(): + return True + return False # --- API 工作线程 --- @@ -43,9 +91,9 @@ class ApiWorker(QObject): if not response.ok: try: detail = response.json().get("detail", response.text) - raise Exception(f"API 错误 (状态 {response.status_code}): {detail}") + raise APIException(f"API 错误 (状态 {response.status_code}): {detail}") except requests.JSONDecodeError: - raise Exception(f"API 错误 (状态 {response.status_code}): {response.text}") + raise APIException(f"API 错误 (状态 {response.status_code}): {response.text}") return response.json() def do_query_all(self): @@ -57,7 +105,7 @@ class ApiWorker(QObject): except Exception as e: self.error.emit(str(e)) - def do_add_one(self, extension: Dict[str, Any]): + def do_add_one(self, extension: dict[str, str | int]): """执行 add_one 操作 (dict)""" try: response = self.session.post(f"{BASE_URL}/add_one", json=extension) @@ -66,7 +114,7 @@ class ApiWorker(QObject): except Exception as e: self.error.emit(str(e)) - def do_update_one(self, item_id: str, payload: Dict[str, Any]): + def do_update_one(self, item_id: str, payload: dict[str, str | int]): """执行 update_one 操作 (dict)""" try: response = self.session.put(f"{BASE_URL}/update_one/{item_id}", json=payload) @@ -85,127 +133,241 @@ class ApiWorker(QObject): self.error.emit(str(e)) +class SafeStatusListModel(QAbstractListModel): + + def __init__(self, parent: QWidget = None): + super().__init__(parent) + self.safe_status = SAFE + + def rowCount(self, /, parent = ...): + return len(self.safe_status) + + def columnCount(self, parent, /): + return 1 + + def data(self, index: QModelIndex, /, role: int = ...): + row = index.row() + if role == Qt.ItemDataRole.EditRole: + return SAFE_MAP[self.safe_status[row]] + elif role == Qt.ItemDataRole.DecorationRole: + return SAFE_MAP_ICON[self.safe_status[row]] + elif role == Qt.ItemDataRole.UserRole: + return self.safe_status[row] + return None + # --- 添加/编辑 对话框 --- -class ExtensionDialog(QDialog): +class ExtensionDialog(MessageBoxBase): """用于添加或编辑插件条目的对话框。""" - def __init__(self, parent=None, extension_data: Optional[Dict] = None): + def __init__(self, extension_data: dict[str, str | int] = None, parent=None): super().__init__(parent) self.is_edit_mode = extension_data is not None - self.setWindowTitle("编辑插件" if self.is_edit_mode else "添加插件") self.setMinimumWidth(400) # 创建控件 - self.id_edit = QLineEdit() - self.name_edit = QLineEdit() - self.safe_combo = QComboBox() - self.notes_edit = QTextEdit() + self.lne_id = LineEdit(self) + self.lne_name = LineEdit(self) + self.safe_combo = ModelComboBox(self) + self.notes_edit = TextEdit(self) # 填充 SAFE 下拉框 (使用新的 MAP) - for text in SAFE_MAP_INV.keys(): - self.safe_combo.addItem(text) + safe_list_model = SafeStatusListModel(self) + self.safe_combo.setModel(safe_list_model) # 布局 form_layout = QFormLayout() - form_layout.addRow("ID:", self.id_edit) - form_layout.addRow("名称 (NAME):", self.name_edit) - form_layout.addRow("安全状态 (SAFE):", self.safe_combo) - form_layout.addRow("备注 (NOTES):", self.notes_edit) - - self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) - self.button_box.accepted.connect(self.accept) - self.button_box.rejected.connect(self.reject) + form_layout.addRow("ID:", self.lne_id) + form_layout.addRow("名称:", self.lne_name) + form_layout.addRow("安全状态:", self.safe_combo) + form_layout.addRow("备注:", self.notes_edit) + self.cw = QWidget(self) main_layout = QVBoxLayout() main_layout.addLayout(form_layout) - main_layout.addWidget(self.button_box) - self.setLayout(main_layout) + self.cw.setLayout(main_layout) + + self.viewLayout.addWidget(self.cw) if self.is_edit_mode: - self.id_edit.setText(extension_data.get("ID", "")) - self.id_edit.setReadOnly(True) # ID 不允许修改 - self.name_edit.setText(extension_data.get("NAME", "")) - safe_status = extension_data.get("SAFE", 0) - self.safe_combo.setCurrentText(SAFE_MAP.get(safe_status, "未知 (unsure)")) + self.lne_id.setText(extension_data.get("ID", "")) + self.lne_id.setReadOnly(True) # ID 不允许修改 + self.lne_name.setText(extension_data.get("NAME", "")) + safe_status: int = extension_data.get("SAFE", -2) + self.safe_combo.setCurrentIndex(SAFE.index(safe_status)) self.notes_edit.setText(extension_data.get("NOTES", "")) + else: + self.safe_combo.setCurrentIndex(SAFE.index(-2)) - def get_data(self) -> Dict[str, Any]: + def validate(self) -> bool: + if len(self.lne_id.text()) == 0: + TeachingTip.create( + target=self.lne_id, + title="错误", + content="ID 不能为空!", + icon=InfoBarIcon.ERROR, + isClosable=True, + duration=2000, + tailPosition=TeachingTipTailPosition.BOTTOM, + parent=self + ) + return False + if len(self.lne_name.text()) == 0: + TeachingTip.create( + target=self.lne_name, + title="错误", + content="名称不能为空!", + icon=InfoBarIcon.ERROR, + isClosable=True, + duration=2000, + tailPosition=TeachingTipTailPosition.BOTTOM, + parent=self, + ) + return False + return True + + def get_data(self) -> dict[str, str | int]: """获取对话框中用于 'add_one' 的数据""" return { - "ID": self.id_edit.text(), - "NAME": self.name_edit.text(), - "SAFE": SAFE_MAP_INV.get(self.safe_combo.currentText(), 0), + "ID": self.lne_id.text(), + "NAME": self.lne_name.text(), + "SAFE": self.safe_combo.currentData(), "NOTES": self.notes_edit.toPlainText() } - def get_update_payload(self) -> Dict[str, Any]: + def get_update_payload(self) -> dict[str, str | int]: """获取对话框中用于 'update_one' 的数据 (不含ID)""" return { - "NAME": self.name_edit.text(), - "SAFE": SAFE_MAP_INV.get(self.safe_combo.currentText(), 0), + "NAME": self.lne_name.text(), + "SAFE": self.safe_combo.currentData(), "NOTES": self.notes_edit.toPlainText() } +class ExtensionsDataTable(QAbstractTableModel): + + def __init__(self, ext_data: list[dict[str, str | int]], parent=None): + super().__init__(parent) + self.ext_data = ext_data or [] + self.headers = ["ID", "名称", "安全性", "更新日期", "备注"] + self.col_map = { + 0: "ID", + 1: "NAME", + 2: "SAFE", + 3: "UPDATE_DATE", + 4: "NOTES", + } + + def rowCount(self, /, parent = ...): + return len(self.ext_data) + + def columnCount(self, /, parent = ...): + return len(self.headers) + + def headerData(self, section: int, orientation: Qt.Orientation, /, role: int = ...): + if orientation == Qt.Orientation.Horizontal: + if role == Qt.ItemDataRole.DisplayRole: + return self.headers[section] + return None + + def data(self, index: QModelIndex, /, role: int = ...): + row = index.row() + col = index.column() + ext = self.ext_data[row] + col_val = ext[self.col_map[col]] + if role == Qt.ItemDataRole.DisplayRole: + if col == 2: + return SAFE_MAP[col_val] + elif col == 3: + return self.iso2custom(col_val) + else: + return col_val + if role == Qt.ItemDataRole.DecorationRole: + if col == 2: + return SAFE_MAP_ICON[col_val] + # 一行的每一个列都返回所有数据,这样不管双击一行的哪一个位置,都可以获取到所有数据 + if role == Qt.ItemDataRole.UserRole: + return ext + return None + + def update_data(self, ext_data: list[dict[str, str | int]]): + self.beginResetModel() + self.ext_data.clear() + self.ext_data.extend(ext_data) + self.endResetModel() + + @staticmethod + def iso2custom(iso_time: str) -> str: + dt = datetime.fromisoformat(iso_time) + dt = dt.replace(tzinfo=timezone.utc) + dt = dt.astimezone(ZoneInfo("America/New_York")) + custom_format = "%Y-%m-%d %H:%M:%S" + + return dt.strftime(custom_format) + + +class MainInterface(QWidget): + + def __init__(self, ext_data: list[dict[str, str | int]] = None, parent=None): + super().__init__(parent) + self.setObjectName("main") + self.vly_m = QVBoxLayout() + self.setLayout(self.vly_m) + + self.hly_top = QHBoxLayout() + self.pbn_refresh = PushButton(Fi.SYNC, "刷新", self) + self.pbn_add = PushButton(Fi.ADD, "添加", self) + self.pbn_delete = PushButton(Fi.DELETE, "删除", self) + + self.hly_top.addWidget(self.pbn_refresh) + self.hly_top.addWidget(self.pbn_add) + self.hly_top.addWidget(self.pbn_delete) + self.hly_top.addStretch(1) + self.vly_m.addLayout(self.hly_top) + + self.tbv_m = TableView(self) + self.ext_model = ExtensionsDataTable(ext_data, self) + self.tbv_m.setModel(self.ext_model) + self.tbv_m.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.tbv_m.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) # 整行选中 + self.tbv_m.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) # 只允许单选 + self.tbv_m.verticalHeader().hide() + self.tbv_m.setBorderVisible(True) + self.tbv_m.setBorderRadius(4) + + self.tbv_m.horizontalHeader().setStretchLastSection(True) + self.tbv_m.setColumnWidth(0, 250) + self.tbv_m.setColumnWidth(1, 200) + self.tbv_m.setColumnWidth(3, 180) + + self.vly_m.addWidget(self.tbv_m) + + # --- 主窗口 --- -class MainWindow(QMainWindow): +class MainWindow(MSFluentWindow): + def __init__(self): super().__init__() - self.setWindowTitle("插件管理器") - self.setGeometry(100, 100, 800, 600) + self.setWindowTitle("插件安全标记") + self.setWindowIcon(QIcon(":/logo.png")) + # self.navigationInterface.hide() + self.resize(1000, 760) + desktop = QApplication.screens()[0].availableGeometry() + w, h = desktop.width(), desktop.height() + self.move(w // 2 - self.width() // 2, h // 2 - self.height() // 2) + setTheme(Theme.LIGHT) - self.table_widget = QTableWidget() - self.setup_table() + # --- UI --- + self.main_interface = MainInterface(parent=self) + self.addSubInterface(self.main_interface, Fi.HOME, "主页", Fi.HOME_FILL) - self.refresh_button = QPushButton("刷新 (Query All)") - self.add_button = QPushButton("添加 (Add One)") - self.delete_button = QPushButton("删除选定 (Delete One)") - - button_layout = QHBoxLayout() - button_layout.addWidget(self.refresh_button) - button_layout.addWidget(self.add_button) - button_layout.addWidget(self.delete_button) - button_layout.addStretch() - - main_layout = QVBoxLayout() - main_layout.addLayout(button_layout) - main_layout.addWidget(self.table_widget) - - central_widget = QWidget() - central_widget.setLayout(main_layout) - self.setCentralWidget(central_widget) - - self.setup_worker_thread() - - # 连接信号和槽 - self.refresh_button.clicked.connect(self.worker.do_query_all) - self.add_button.clicked.connect(self.on_add) - self.delete_button.clicked.connect(self.on_delete) - self.table_widget.doubleClicked.connect(self.on_edit) - - # 初始加载数据 - self.worker.do_query_all() - - def setup_table(self): - """初始化表格""" - self.table_widget.setColumnCount(5) - self.table_widget.setHorizontalHeaderLabels( - ["ID", "名称 (NAME)", "安全 (SAFE)", "更新日期 (UPDATE_DATE)", "备注 (NOTES)"]) - self.table_widget.setEditTriggers(QAbstractItemView.NoEditTriggers) - self.table_widget.setSelectionBehavior(QAbstractItemView.SelectRows) # 整行选中 - self.table_widget.setSelectionMode(QAbstractItemView.SingleSelection) # 只允许单选 - self.table_widget.horizontalHeader().setStretchLastSection(True) - self.table_widget.resizeColumnsToContents() - - def setup_worker_thread(self): - """初始化后台工作线程和 QObject""" + # --- 初始化后台工作线程和 QObject --- self.thread = QThread() self.worker = ApiWorker() self.worker.moveToThread(self.thread) # 连接 Worker 的新信号 - self.worker.queryAllFinished.connect(self.populate_table) + self.worker.queryAllFinished.connect(self.main_interface.ext_model.update_data) self.worker.addOneFinished.connect(self.handle_operation_finished) self.worker.updateOneFinished.connect(self.handle_operation_finished) self.worker.deleteOneFinished.connect(self.handle_operation_finished) @@ -213,6 +375,15 @@ class MainWindow(QMainWindow): self.thread.start() + # 连接信号和槽 + self.main_interface.pbn_refresh.clicked.connect(self.worker.do_query_all) + self.main_interface.pbn_add.clicked.connect(self.on_add) + self.main_interface.pbn_delete.clicked.connect(self.on_delete) + self.main_interface.tbv_m.doubleClicked.connect(self.on_edit) + + # 初始加载数据 + self.worker.do_query_all() + def closeEvent(self, event): """关闭窗口时,确保线程也退出""" self.thread.quit() @@ -221,88 +392,61 @@ class MainWindow(QMainWindow): # --- GUI 槽函数 (在主线程中运行) --- - def populate_table(self, data: list): - """使用从 API 获取的数据填充表格""" - self.table_widget.setRowCount(0) - - for row, item in enumerate(data): - self.table_widget.insertRow(row) - - id_item = QTableWidgetItem(item.get("ID")) - name_item = QTableWidgetItem(item.get("NAME")) - safe_val = item.get("SAFE", 0) - safe_item = QTableWidgetItem(SAFE_MAP.get(safe_val, "未知 (unsure)")) # 使用新 MAP - date_item = QTableWidgetItem(item.get("UPDATE_DATE")) - notes_item = QTableWidgetItem(item.get("NOTES")) - - # 存储原始数据到 ID 项中,以便编辑时检索 - id_item.setData(Qt.UserRole, item) - - self.table_widget.setItem(row, 0, id_item) - self.table_widget.setItem(row, 1, name_item) - self.table_widget.setItem(row, 2, safe_item) - self.table_widget.setItem(row, 3, date_item) - self.table_widget.setItem(row, 4, notes_item) - - self.table_widget.resizeColumnsToContents() - def handle_operation_finished(self, result: dict): """添加/更新/删除成功后的通用处理器""" - QMessageBox.information(self, "操作成功", f"操作已成功完成。\n{result}") + InfoBar.success("", "操作已成功完成。", duration=2000, parent=self.window()) self.worker.do_query_all() # 重新加载数据 def handle_error(self, error_message: str): """显示来自工作线程的错误消息""" - QMessageBox.critical(self, "API 错误", f"与服务器通信时发生错误:\n{error_message}") + show_quick_tip(self, "API 错误", f"与服务器通信时发生错误:\n{error_message}") # --- 按钮点击处理 --- def on_add(self): """打开“添加”对话框 (add_one)""" - dialog = ExtensionDialog(self) + dialog = ExtensionDialog(parent=self) if dialog.exec(): data = dialog.get_data() - if not data.get("ID") or not data.get("NAME"): - self.handle_error("ID 和 名称 (NAME) 不能为空。") - return self.worker.do_add_one(data) - def on_edit(self, index): + def on_edit(self, index: QModelIndex): """打开“编辑”对话框(通过双击)(update_one)""" - row = index.row() - item_data = self.table_widget.item(row, 0).data(Qt.UserRole) + item_data = index.data(Qt.ItemDataRole.UserRole) item_id = item_data.get("ID") - dialog = ExtensionDialog(self, extension_data=item_data) + dialog = ExtensionDialog(extension_data=item_data, parent=self) if dialog.exec(): update_payload = dialog.get_update_payload() self.worker.do_update_one(item_id, update_payload) def on_delete(self): """删除当前选定的行 (delete_one)""" - current_row = self.table_widget.currentRow() - if current_row < 0: - QMessageBox.warning(self, "未选择", "请选择一行进行删除。") + # 前面设定了只能选中一行 + ext_data: list[dict] = [index.data(Qt.ItemDataRole.UserRole) + for index in self.main_interface.tbv_m.selectedIndexes() + if index.column() == 0] + if len(ext_data) == 0: + show_quick_tip(self, "警告", "你没有选中任何插件。") return - id_item = self.table_widget.item(current_row, 0) - item_id = id_item.text() + ext_d: dict = ext_data[0] + if accept_warning(self, True, "警告", + f"你确定要删除插件【{ext_d.get('NAME')}】吗?"): + return - reply = QMessageBox.question( - self, - "确认删除", - f"你确定要删除插件 (ID: {item_id}) 吗?", - QMessageBox.Yes | QMessageBox.No, - QMessageBox.No - ) - - if reply == QMessageBox.Yes: - self.worker.do_delete_one(item_id) + self.worker.do_delete_one(ext_d.get("ID")) # --- 运行 GUI --- -if __name__ == "__main__": +def main(): app = QApplication(sys.argv) - window = MainWindow() - window.show() - sys.exit(app.exec()) + translator = FluentTranslator(QLocale(QLocale.Language.Chinese, QLocale.Country.China)) + app.installTranslator(translator) + win = MainWindow() + win.show() + return app.exec() + + +if __name__ == '__main__': + main() diff --git a/logo.ico b/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..f996efbbf47c03417c6543f8e709ffcd95d433a4 GIT binary patch literal 181761 zcmc$`_gfQB)Hl2d0YVSGL+Dky6hR0@dK0PA0#XG5MS2TWdPk6sf}k`7MS4P)j#8zD zB8c=VV1y^%_rBjBp1U;qyP z-!=^2zY+{EG5v3U{Ls|RU;u{y{=f0vAo%`WU?9QRP>X_;g%kh)3LR|?lmD*%cR-2o zC!1$gF8C9PkG7RB08sY)cYp@GtDFG*FX(8fng$l`by(N%4d!#4{>x~Yng28Y+2g== zdU~nyD%^1VqgE3ijONigaZC`v%fkiv4n0AM_7X6X6yuO2T!=#q0adt^v=o#ieFQ2E zF93OB)OdzR3VmgieaB9p2P{=rw?4L?z0DKO!7ZMVk&*i~$K&90^|5&EQ1aJi=lzS$ zniou-qE{oks`=@wqWcY|_X;;aeyuCh_cZmju?0Xab5TAN1h(b>aZn0mjs@nAW96 z1>a{Jq6|vxUW(8Nz7^$8(?%*g(@bax<*FGeMaI(YE-_i0fr=vNE>;f82Rfo!2qsQ|BZD~ z=0>oH?0iv?NJXK+)nLTcL3@_Qay;C__U|;@DD&B9Lg=G$8-d?%1eF&2!W-ciFuaLDnvDi?>VzB zR1lY%QAdzS&!m@}k9mYQ#wneKyaJ;uSYZhzjB+%g zNu(nwE6wKS%FZ^9L_t(Rq}$;1RCuTF;OfMy&yZM{Sa4oF7B!sFUCra%u=PN}UL#%A~460AQ4O8MqMCD8XS? z{PYSaG%%tzh?x9$LG2hHUkuNC@R0(>vC0dSLjQman0h z3jtp<-6VDj1!5o&ZZhI*3X<Rq);Sjy@}UZ3b?+i9I?Nl8>w+L z8rL5Cd|=`JK%SE4C1JkOD-a=!wlpt~q zZ}Da$-+`&M2aS6(XxOUa%h*-Fn%pYwrk?VYw1`H+x5#fBi&m2UzWG;jBQU6|Q(@3x zlE|Fdm3vWyJ__;sK!p0B^ZHZ0YnXD91YdsF-5(e8$x|J#9Q+_3($K^$hRhv}pu>Wvpk#%_nDThGUR6zYownPr?&}A}o)?tsKpYJhyjA*n zD`0GC299p!Cv@2vB=kDqccw=1{rr3d(1sw2FjZ(Re5mbB(C#zH9wh^9eIPC8DhK=`$08g^0 z@-3BW=`gz%oc4mpTfNDG+1+Q8QVmVc+jCVaLC>~z_PxE7DoO}0XedUK08;Z+7P7+h zGb#4!-E3`}`wZjeEMt|GnKJoo@`|owUvd=KtuxIy?(eE(E=X(Zlz5~^-);f4N%&QS z-c8acAOd_qC`)%Km}ExYw!yO`fd>xLkA$V9>UrAo7FB){O$ud|zd*p^%24pN_*a{a zLJTJ@9O~8Nzev8)3q0~Lpv-659ZOqOid-5rz`W8GChP#clqm#HK+qI68*VCQ<*C%?`oLJ)TUJza9m_U&rX z0$@anMk+FAmN&h;o)ol8uFmE~C25lAI!V$QaZb)ySs7e2NNSw$Wp%eo-)BdlBuF5I zf!2~O0E>Gh8>Z-t`fObsC88jZ_ik5J&o+172~e8ZfyqIQ+2i3ZA+r;Kf8~06E~I?;)1x0v))AGWRF#dF?xy0GOMQM^mno+rTrVGcXaOP_Uz|6v8I>pg zq6_DIP-psbvzKu+lt?DBKUZqvmpj9T(X)b=)+o+HeiQ@nxcTjY*}#0@m{fz?vCcG4|>$-iLjx57Mqwa`b!=C+64#zME;i zYyU?;8W*5=Cy!k=#K@MVQJ=@)kwo5V^5Ci5(#57zofnotR=m@IF3_6lLs%+TmN>@Rj3P`{RYC4P}(`oid*BoS-q;pjPf|zWL>gpunjNxplH1LEMsQQnk#j3*aabQ)9?B1`}dqo+sA_nJ#*_SS8!c27f*{v+xsKxcOnNUhp zm|_|Gexhjpryid1@5PO8n!b2x-D5A_o2b09MmK)O*d3z{GFN2L;*jmxQ}(@w_Y_+_ zL)3GSZ}pVnmiF>Y3yR#AJ45yXj_$}kI+Prf?r}}GuRrK}#r#Llh5BOA@57s#064SW ze7s;h?^7<0FSh>SnT!iCUJnrgS&5`AM-DuEH|rf(Z<}uJoG%-sw4j<#y{l+;`n4wYlxw=(Y^dHUIu8wApV`3*wc;;`=B3sIritCJGF0W zG5&$mPF*d(_SP6PIq4$-@7s?&Jh_>_EhsPnuh=9L< z`Rd13VB2KRvT4sln}Kg*U|T@Jnoqun#5y~oFB4rCHhb%Gr?|EU_XqTRUtwWmJKoq_ z^ivkR72daCvFzOwEw-lU4nXADoK8`t?7pbZr1 zJV-F9k6#{*95if<6Iuve7JSWp{n?t(^3|4SR;7rV)$6^Kk{4Qdi+ump+d5m4^Av9a zaPZ*GOP%lq^P7s&C&#BAR}_<91|Qsudur3b^MTZIY}n%0tB^r^yUu~?u3MedU+HIa zwnT^5%V_35;caOBXnuHB6T^-}P8gp&qqW0ao9N~65ZZsx+s6I}8^UoI)x~2ZP&`Q* zp!zUn;r{&r-T7~yY|SDn124uAN4K$d$M%gIx$sabtRl(|97uvylt4pP`4B6hK$6Xa z=lL#8i^GWRZL?s*G27p%cxit#+$3j8A|gOGc8_{MBVBKq@FHZ;`xWHy4$(;fORr?< z1C%cVReS%<)vTEgfwlFdGlmhkWn0&UpKOmeI&^eLt5~P0bIwx>U#DsH9D!1khzd_Vx-^E&L>Na15 zp5rBH#FpH3s7{%O>#a>dX;(Z<>V-=OE^nj$=6HqZ@ZOA2fwmdX(s!i9iRh|A*tFJC zhyPpU$NSS`v?bC!#pKD8rTqoczvLJnG@!_8w@SY*^)UHHDKs0ZY-xP;_p7VIRHh0xY&T`jB9ea$W7H(4m4^iJq>ys9VQ7KR0c?9n)R-_Ek&?wj}!F9lc;|2dPQlt>oGXMDduiUb#08#5n(gZwe zLkZ#pXk?f}5+HU7%z(5i6i9l-@!qD`3Bdpn0vE;-q{EOErTSEcAPH!LlxMwNyn3fy z0d(Yz;C7Up`SFUVT5~udk_}hUaqYn7`yaen5s<)?S^D?f(fbs zY19$S!VtHmX>Ld3;2$j2Bj#mp0SFMq}?g} z`4B6IR*a0XV<3-8Cg(1D0V2652Lw52${+2q41?_DQ%OL*Tig=ek{9=os1?HCH^rxm z?fc+X1Kv&PXB&ESn0Xw=Rfk#R%I7n4>OZw_9ey7$*F-= zL86j)9k>F2R?K}(h;CUXRA1bPo1itQSdijG$&8oVBZ=Zr_`ut~e%O_u@q;ju#%Q0Y zsB#Haq8oKgWu3ui!~%?|Lyz~wudO2@<9ev$qPZx# zK@>04ai7sw1t~6h_4XiM>K*tWYieC7$}e${7WR#_RW~s^3lc$JK z6u=iyCI=gFg4DD@Ro62Z5jv4Za(TF@M$7+JO;|Kzp@ZU5Xbx0 z3f}#cDQ4@Qx)#EHt~frkz@m>%KE(QZ)e zjPl+P@n1wNo>!MQo|`F)tTm(=RMDrR?Kw5OK)EknNcG^k%Cl#)GoYmFo>Eo9%0Os zXbe$hqKv9V!q{RR4u2peP*4b%8V&_RsS&VkT-0F!`rj-<4Xbiff1~bFG4-==qb=fK z<${Xixh{bImvr-zj+c%bM`n+!AZj!X`WtX_ZvO+1*c>;u%!M8<h#ts#zUEYWm(2~U4oDH*f5wXsHA!;Eg8ZPF_mJs8^hcLi7LvT}PO9=Kkfz0tdH zRk?Bv$ncT9@%ViZe)gr;sPlS>YD?)Kh+_I_v+5Tu#nqYTQp=$y{|bzH$^s?kpv$aJ zsJy)QQ=4Q1TtNvi3|Qq-h5w?j+V&Gs_i^yiGrSW@a>44(C(YHj ztWaFaqfP=agCInpJOmZ7l{_I1o|?9M?q1T&O4BDZaN!*Z67u+Ts0|YpVQ`| zPIF-WXpS3?xEhWbohx7BqV4(OE#Wj5QSf!&B~n6Y9E=oBL{h;jQcm>3IA2h(+c^H` z&u|_py9ZiXGM{z9lm}+(+fVeenA}OUXLk&&#y&RCI=p3i2B$hBDwlvnT`*BfgQ0BJ z!DPskG$#)BSx+fJRt`*R(mL~uIg<16Z**hOkEfxmj?~G~MqjvMCW@`^F^aZ!L#9BHoq2;Th0JD;>$S|QqQnPIXxEyaa5w)htW|Aazm+rf?4E71_~ZUzzG~2n8lTi zNZ{rQhOZGs$IpePlGQ&u!iczjd^sRAY%@r0w)xK29)9nVOz3EH_cnk~4LLg9nn~$2 zp2ZzsC0FHJyE)=#Rd&j2aJ}H@=?z*OawI}N@uswxOKmvu zaP9oUhzv=RV4;a;jv`TP<7okpTkT%N!p<6fw1m>WlLan*EYKMp$FdS79LmvIwr9 zzaJ4fmBV>r-8h&rX)0tSEfcdjQ;>9ha?nJN_#;~dC}FoM%7+QgMoO;9MbraCQ$+g6 zYrzr&-H3kGS8)0=NZ;~g7+ohPGKIIh)f>FF?3 z@RaBK4E%x2+l^U=u$(o*RMdm6PbP!*{!fDH>)-gbo37DaRUi8X<(^$>(%=4h@oGgA zZhbr(97fE{J7D-9dxpRMdwm6s|Fwd%2zdGziBkL{*QM(qX^#*}Kmz1n)I9en95Dht z{IzVEei^5sr7CkH;iV5G2T(?cdQ9R2F!D`DJ_MlQwtivgUq~Va*n36akB@HSqTJ8_ zNP}s~c}8i#;{72{&!$k+C%n!lBfZ~|Huo8E?pE@!biz@dL@|YgRkDQHg5@C*Q*xsO z21le9-sZ_a6tOVuryWkE=61badJAI@=}bWLmwxK84f@w0^=~IV@$$OT8cvgEs8GDk zqzZuucCXRMx4=jEeKjTt^O(C(5{u*?{5)dZIx&t-Kw}hChqk}A%uY6ugrFO@WJgrG zrlO<9`vZ3CW{P>HXZP#KJG*W-CdZRN+JOL);0i$nF$6Cr@o;mS(C)56&(A?RDHHk2 zeVP^A8h!Y=E>?11aYuqG_M-dqP6p1*{7>owuI?>{x@VN|m6V6t*Bhdv&B?RgY7Fed z{}N@Wr8ghDeC8q2dVfqJ1K@*{plEUMI?j`Uz#Vwal?{2z7_+V5p!|v_{~odeMh<;b z3o8gwuhMo@&O-8Wsj;K|JP5iFm__dl0djvkz4b}O+i`RX>16+OEP|d}q5$p@F`o8| zO-QAWzwr( z!R_H@p|Q7b{IC~un#YXo%5R_z4~^$nDL2BMS#}^SvgXH^KS7*A9kL+_@UIk_7Q+&La zsPJ8;01sL+yE6r+ItZN4_vU@<#XV1cK9r)S;fqujuqo`%N`7$n6bg>~<`QpBydWPU z*>7}HVvpUHTUkB!Bo#V4RQouEGH2PCkKUmWt7*9PZoBo%`rrnO4MPwQUxd}dUUP7E zu+eGGlA5}QKG4KCu9{!#BW6U6n@q@$41y>c6@}Vg=3mqNCeVB#_g(y?@E9{b+cVRs z(?hr>^qmld04Dq!6!aY82*t)215cA?FW!{g?cb5BUn}w)EcVS2BCHs;YiisSTeKXs z&)7@ki&(nVJmSmzp<+X;^Ff;U1{3&Al!rBGc_&A^YB4`X&I~1>^XwX}7W~HP4M~%Q zbM^e1kH%Bwuwapyec4q3Etu7$2H>uRNw7>nhU0^TLmn-->R>(41DcLJ_!IDA+M2-?_NH zqF`2}sM~X+o z+m&SetfV(Cz!Cu!WwYZUPhC@^W&@^efr#s|#3t^;tis__ap0wC!39NY1A}NX=>|@u@iWJ&;Bc6R&$ZwRw z64sL?5?{Ml&l*KJ z#!39J0U=KXdWXMn%>v$uCkTbT&xwc6IhPEhllyxgu1^bb9Ldk>wvUZ0bnz!EH z1XNHwu2@Ks~KSh8Cj z-pT!Z+d~3X09>2tUdR2kcxmwChN3*oDzxpRvQ^^yWfmiF@PWB+;Fe4x^N(CNb5tuu zddJt-wk-vJlb1mBS)b_3n$-K zvzn#55pZ!yR{!5olV?CfHQ<_`s3h{k8mX!1@Pi5Wgf}9q^$9k2x~TdIo}*KW%c6r+ zfH6(i8XHeg0{fjlw}6-+nQ@hMqVY)Gwd#B)6-N8IvwTR+$<>vKU**{HeIxGtKp(|L zdMg>O7p+P*b*ayYIS<=9nsaBz8|dq&sK@D}RMOs^y~OcuL0u}Lo35~v#@*1TB&x}y zqqo?W?)L7Va~O`Tz%#!+3=W%A$_0sRloLF^6#TSTd=NaYiwl8lmcf% z>i-}6eyn_b9FkGB+tfEh^T6*&XmeKQSX!oZs}kzs3T1GGHA+KHq#@gKk63?@px{t0 zSlm%P4x;)qfWTk&+w9?ysnrP=#w2qE6h2hf(h<%qsP`Yt(WZlhj%F=M0BjYv{)6i}W#w$)&CAL}lD(a=Pq8&OLUa~i^ska=J?wbEzlXKhe$ zaO=`K6@+^M=;*6T1&2FmvtwBzzf%VMJPZ38<@@w(IiQ0#qRh)jbl8`%_3X+v?awRK zlVQ4zt2YB%yzBM0(n6|+B$=YBtQebD z6m998S(5xX6qFgYlz#E?i`;sa{jNce>iOQV^Qb*zy?6eKIZ|ujD664Rr3q}qY?UpP zK=c!zl!1inMWG`%IwgvTl05bW>-kFhZb!14j` z{hDs(s>CnQk7mrHBY$mCyo;o`&m0{j+SY+S)wLsCSNJx#jNhJ>q4V$t$KaLElrYhl0nAwbdsy*aVi8Y66^QQ zcXS7POSJhRlO7Yashe4+M^}C7Nza78->I3bCmgq}J9hE=3%uk{YLHskc&GD5zIi)S zrS_$sTdC?+_1Ts4eK3q*Pr*vk)Ko{^?xoNx+?>*na`m{%@sy(n_tO7Ov5*s{^AP9? zKU?&8y*r6|7`c=}*BXI~BP>SJaX@@UGJP zJoNp#Vm59gB_hoXrHKs)__avil)A5b=k%)6$)UpiJLR063S-vG^^yDMh0jJs{#@0y z7U*7YJj}eEB64CU*#G4v&bf$#1)F}!phtFyhnqlRwAm&{^0ug`=8cQxXIVj#c~8>3 zX;Ip7AbjOrp-Ght=itH4*>K%wAlz{jO*?^?6}^5d9`AlcD;1I+<6TrqSoYzF!8T!b zoc`y}Gct>bcN^kU#*f&wufIzvrOwE zrooyM#ZV0_n>6(n{0!cjui5_MruES4?nUG8;f}zf+3_4xH3kE|h&n>CC?dRLDq^Ze zKR0-1{JSw}_}}2o(WRe1*HZi?q@5rrK1^^PH6^6m0jdh>hGUQtm`yiYH7M%Xmu1`F zQa7Bl-aevsVMn^~c_p<^e#ve-&~N9GQ~Q!ro2te0bqT_bL3q9jxHej2jsH^JutF! zq>ye1XD}zyr$LyzoM)yXV9r1Oh-;A?JCsS(~%m&fEnJQ|IJ+{~)NR)IiDdwAdN$_;N4 zTrb{S`(ek02*1d^LBS{qv%wm$XnPvds`2TczL2f)$gT5#)TZ(=^U6_+on$S(ke0CQ z%;$NI03{1S1#g`@^?!{A*=P&^!!Np3=_CY8-wOP&oLaV15)X6~LGfEpH;0=z_1 zNJaj*M^$_3UyFFEiqr!EGdV9<;4!XQ(0LljV;{41PlL;vzd?pRdh zvcNx>6dL&sK&A49ZvLPx6|lQY-V=D73iEQJu_FftX-vi>vZ%S4xmx2(9Y5@pXl;>} zE|DJ+*d2gP1H&o{V=^iOV`U_{ra8Phq=L8!U#W5kxvjHV5Bju54(8)H%z*TV_kpzYv?znD7GERc1L=u z2==gg@*L;iuA`_D%k>n*u=cg+SaA9vXJ(3uGOeW)ousyewv;IbtDOZ{Ct_xMHz1DB zq7HwGlg;Kqrq0=`p42ipg--E4g)TQcJ0sUQX3dUW>Dv4du&l(sM5h+I)hY96Hlt>@~3S1FQ2^DEpF=qUitkx^Hu$B z_v6;;?YTy)3q;6?>h5&3@d1vf8_5I2gtK%R>s@G%N#;^>w;-M~6WBTzcZ_P-Y^V4` z!s`<{-*aiJpUjaoCvOC3yH9FsRffpKgwrOiQ^7cOLflQr-v$~5HfE>_Xg-U??lMO; zy1Ls)Krs=Qv#i?J-8n23KJ=L@otXmLQ|6Fx0L~=?f~uwKj}bSa0c3s(7XWU`z&V>RXm^z)>9)f_ zFmhFhIYgUCJu;yb1LHmYfK5z*&zfWLfmB;FVS}c##BX8^Pn7WfZP~l#kd?Ln+9!{#aJ1#Kr*8zHl z?sQ1M<`qjd5|dL)!SLedSbv7hS{Nyjbw1p2X*)=<|NOIO- zv|E)|8s8O#K>o|*y8QsGP|CWsDc8o(Dc#vF6ERrg(#Ah{AUNnQvU}RtN0;RLPcgWr z<~-X!_$IhW6~DSD1|{w)_5dGj7lWq26OE>F>vj=Lx1VYz#3TZ|T_%_t_HlJ2ju zphkpBt!fE>7a>`=HnY?1==9e)0 zT?|bDnoLh9KYo@|lYp|7j-d(&!m?5GtzH|0wrOnT4zL(2Wsw={Y_f5P9NzDp=Ugzs z9sn1pEz2L&H)FwJR3>gmpRq?b9GNOB_9WJ<3(Xys5^S+^%bX4eZe$BzWIu#?#4Pm~ z;L{E!L+t@#f#;BH;qZz%(BpTah0-QFzs^SOFW7yA}qQ=P6p^0>2+rC&C$Z4`dc*IYz`80G071AaaT)yLd^w& zg)PHBHi#ewH3NRAX(Q+ z?Z$!A>-w6~y5h(lmVJT`ae!uM5xzW!tmq+np;}(ywjOOh2eh;dAx~qB)ZZd?{8W~( z#+Fw&4&0mT{G5``yWtc!N)g!;4dNA0Pt;e?$XI?T%v14#-o#}%%H(H!seFQEp|{|! zX`43#* za!L^J_*)&XC4NGq2z%Yg$h)^iVt@PutHM9{ejrgO;7O-$3Q$jO0vix*FRI1Fj%>2a zC{$&$z29V|vmiLc%X#&FYfA!6>(|}dldGp2*1VSsU=_)<+{k2~3dYC$&OdZZ+SW3s z-Is(JX_*22cU+gp@$4P;7tihxCji_~$pUIILtchS=$lcPbx47w{#zz!|Mec1MttDf zeKpM_)7u&u$uH<=GE9S)xy-=^eCVCdHXy=!(B7?pxy2A$PeY@exiY(B@yXQ+OJMo< zwK!vYrUFn(Ft`FhC^}wMKd2UM^s3H?O~)b1fmp~#z4Y|vJPAQI0Af=}sz2_EtiY>8 zJe&=jr68*nQ@hTUNB>&erH7Q+;bXi+amMs=0pBHAT9aR8J(04{zs#E_hgU6F8Z2>W z93Ya56Fiu@4R>1$GXs;q)D%tsMWlQEgcQoHKMno_E0utVL~fJC{^%oD75otLfu#5z zg3ckNK%ywEv818RJ#(eZgw+2LpGphm^4Z&OdQ~rNPH8;;rW8jK3k9OdO4YA3Ijew( zijDfZwiba~9@S#%R!_clt);6)K2?6DhCoFDxmg!G6}lKxE4ledbk^2J)dJy-OXI?= zu84bf==6;zXIHnTP+M$>wusWDncf$TNaoP!YtQal;bCquaw|xQri-I8OQZUXlb~NAoL$|S8!DQB33bCe9 zR{fuT^?2uO=>2*AG=^AdU?}xsdB?hoK9cirnPiR<)gnUCVYQrf$F~M?tXStO*-`D) zR$JGq2j3?NzoCzNJ3iQ{2go7*vr7znRxjJXSD6`}PG_(8klCThj1Psyj2;r<7P|%t zT6Q`g4|+QZHt|_FwDEOT6hFAPl!FKKJ(hNayXGD*w6Tb+JRe*E<4}JB!2PbN zloY0@lG+be`}x|}j!S2N{sYsgj{VFPGe+osakDI*I=g%kVx6P$rAOn@1Fk7RUfUWO z|C^f4;we(b-~OL&5l6KPgjw*SgV=3&56z;{MFXAS!2@eeD^&{!PK}0&|M0K-2cqJs z{fR5=`e>oTvcX`9c-8%-@J!AbU)}E;yeL-O>@Gf>3aP#Ye6{V=lHN7{(Qp*{oLNS2zyK9a0K!*i`VvS4^fBsdT8-X)M=v(D z=eCfk7wT_q>z6x)CBfk9Xk%Mbj2W@w1f3QNx9~~Rke7tYsI!7!9wgzVM}`=Ej+y9p z9RI0lY>17rG#%QI@_rPSkmAWfTlk# zvQQhp73iRMwwXl$Yu{?H;al6Z4T0INwq==MlIhGOyWxaR;a6tf#lApl>QAz_GA9cH zmjzR{kef4|>(^^v?ZpXi=!5VkYk9|l@s|qtFo<#3- zs@TV};$oW=y6jJ{T0EVx2OW5d?TB7JIa!95kH0*FjGn=rWRe}mbrR2Rwz4|3_T_@#&+(TV*9tMDT@?GCSPQ3axx)wvgo#izFEI72K! zcu}Xrl}tm=$KwU~W$yWv^LSZ5i#S2B-(zp1$FV0lGyacRAqGnC_JVBjWpXm_+Aa#~ z9vp8if9pu0tDY6v%Q9Pp6>plxvC{LQuM1wfMXK3*3S8=8>?^EAl>Dve z$D~3rD<2AFep%Hs;{lM=L>o;$tN_*`;$O7pCwwwn-#6%AO*Fq`3%Mc8=bSVB?+OIj zS#2RqDK=&EFyPs(5+2IN>6fQXq(Y5|qq;{8UuSJ7uWP*8;%fFYx3VKHi0&&K%wHBJ zYB*b3*`NMCHC@_fohlG{e`MUlZUn^ZlD4YV2`{SX5NdkWJp{L)G zwOuU^dv3p4H6{zMqe1yCkGyYNKkBUBw~^N}O~so;MI%$fJC9EbGv`Oaq)$dkh383m zBOV=EFiy*NNIxF@{7<*u-rSJ2-d+{u_giZ$C;n}w@^xjJuuka@7&Z~F1es4Ocm};^ zo=hVHzlSa?;~idpokl2+@ib!?FZ$a9R-J1;#V}i?`^WZe&sgq8llnD0uJ?W@^FYlo z$1<5`{>G`AZtFAT&?5Y=_*P{YdAv-V+6->%a9qNsQ9e207`{ zX88@z=&>s|oY#JdZDb%>Xd?Ta6{@iI@Ks$9s_I?a==DX8_)*SX0j;H=*TPNHW?z_arQs0(ShVUdpf-@1it;1CJc{<=CMGTTwm#nDA7MDHYZxD@0i>D-`bePj;k#3!(K7#S|S-AqWhb|RGSM0esgWpXH536c{>pO!7&28@uH+e2Q zhExSG#E0kmzdT5#Q;CEe^p*j1z4gx%m*}jT(rFaiR00`8uo}dM=C7qwfD8m%XTOmbiX)$;( zbRTqWcf9pj`_Nv3v;H8tDiuww(y~;__T{SO4tBUDGk0Y){A#m$7#(u`{K}fIB8VI$ z=8~7{%H$P$dRRIBYuNs8Gg#kzPDx~Esu*iO9PnpYd*FTmYi3QTp*x3|UG2LzoC34? zI)2%x8{M(6tr6ei5Bb+;DK^Go6druFckySuL_b379*zbhgz|ODF2?y4(H(FDVAQ2d zw_^jwk>T5V#A!Dt&PMy)c<|s#I&XDHcvh=N3GE{954~%bqZEuiXhW7ZY%;6w^mO5f zvrsu7xBBzshYG}pAz}=q4~&3BO9yUff{%@u@5wv>lD5H(gHhpsB5=%+Ts3vfC3vra z9g8*`^alAT9EJq{V>t}qyR@~K(>ngE>k{aHH6&FxzQdSVGqKa?m~1~fZq&(qbG*B{ zk@i*~NrlJA(MMV3Zx%Q{10(DHoS?hMRIVd zt-fb}>{e3Iq=WU`n@O&dasn&KXyp)@%g2&0$3e+uAmuosjv)QD0pRUdTEuHGDVA6m zid43m*a%ImM29B)YiomGetD**=Jfdb0)RKGONT!{4?NC!cu4X|j?*HPzuz@Z>4H%(3f%&>)aOYacR@~_|b&Z!ZW&_s7z5 z*37i+W#M-voA%ane1d9JXZt8M?Mv6rR@5vcyzz1bb9xr)f9!+X+wK|68mzulcY_%v zulGWYYJFJ`2L(X?z$}L}K?eu-@Eg~eh4A{|xw0H%^0+hao-kYN(L%K6xyO`WP3YRR z_BFpBW7i5EajniJjJTnpG66gFHHS(ns$9C@4o|;re8VXPM{+km!HgSI1k#=k4nR8g zE{p!7IYMW%?|IiZo8v}%<$uvPyY{%0KPxxK`zpRZ5eG)shb6dQoNXu9wJMD_%gbWS z;&k=Ha;FSBl@P+NlkIts!jp?F2QIxRR_Z`8{2 ze*H?f|D-82An1G}G`0QHm%AMr92ewN*jfBWfCz7kT@J5FA0G0~E8;ZuUtf|m0a?Hk zG&irf9OQG8^u|8q;G`!_`D*gd&B(Xt1x`E-$U$!&<$ylq;>9d1;r*K}x)Lv{fTvdj z4{*4fzoY_N^{bz56GiMKDD!lNj=j-makJJhzY`)86n^D{+rb?^U`UKEyvn;NE}F1u&SOUnoT~#ShP}AL9N#1q=Xn zH=4O*73(8cR?N)N0I^EzpC3iyDi=pfe>rhOOX6wDtzjZ;gqzyGGAema=Qkk{ zDO-N(oQE|b%&+H}_g7DMgu<_>^q{30-RNrCu*S*0wbRv$BfK0W4Kp@+-_JgH8}Q|4 zdyqb$@`5PnnT)Ep*!B<17lA95$d#a#gal(_d8l?wlm@~vREnbP1v!Bmjdncd+B1LE zhiP~DX7yV=TSTzW%^MZJoAr>Ar68Zb*URycGHQSwTmOI9yAH6Z&Zc`QN(U8?4k8_- z*u{d1Sg?T7MFhky(nLT+#NNBudyBot-g|E`wrJEujV79COvHlT`DbofF3T>iEivEE zKF{&)Qnt)Fb7tOo@0GuocOSRxyXiCUZ~AV}Z^_H+^*NZgVA>u1S(Of2=3r}i>~2pV z=Z(KiznpSna*$oSh3)QCTewvFndaX*JI_sSG%71Qd)D6I9)F)3+o;oT^E8?33pTx} z7#8dDXrrO=#T2uV$4@v8zh869B&$EO-`v>0FM9yAY}t6=)A2{{*}eU3--XGIee3;j z`;PX^nOnLugU&eR_5QI%$B_?zUUf5&xmNwswN3Na&VCd+?e+6xf4>cw{Ls$x`12f- z2YYgphv$wuyVd1j@WI$$e(hZ2PWgR_6Ax5;w%}#lROi=^uIas~{@Sryg(k+s-dQYd zWujxT{NZS$g2ww_zFshyn8|sXm;LvzKea5}^OMi=2lRm(-?8gIqcF(o!S10SwGHq$~x7V{B z1#iyZOrCQ7t@i!!p@F*U7WUWs*as}E&^Ey*u#1Cr`I}GQJ$u&j#3JikxzASqkvr(^ zjRi)@2X@q4dcAAR`ujT$|B|t?^{H$7HsH(WGpC)^?j)RQd?3HZ!lOB9fA)PdB|N#) zdcD8XAMfq+^Lh6A;=0%V_}$`NjZ;P^F5R44X~>+b&cjDkSTknHIFr8H?pn4!+HCa1 zBQFOJ`1?ps+%4ZX&w_8id;4no&8+RoNtziR`d5sTf6V@_^~OcN{AuqVe5^};__OD= z?`o~lxtla-Y|nl*7A^9d-_SRwUUv1tweyBmy_*#H^!f7*)%P0o&uRE{+AFV(aliaI z>-ig}$;TVm`5yL~5r4rx-@rb`-QK=jPOQDt$Rk>Xc6Z)AxqGOvvES}2Bz)1W*N?6S z)oT@Db9?Zqr)&01sTtQ{wXe=y&*yK}na}cmc<=J)doDdEJ74J0^HP?p-GQ51_OD*P z(eg|ob6|Sl{`!e+nD7U)@5g(Ls4)Zo>E^d&Z0nO#{p;y(f0~>25QA!Ko%d?(2|Js- z%x5gSZ-M>PcSkn_J#X-iwQM!`rmp6u@^?3u8+>D1y`bjfyceE3A9TQ`v2RYp>`Lvf z=+v5Wrb)`_!Wu^29pH;wfrmL zb!WA&v#5OwZNGG#U$@-qpp+#T+R+9=YF6nDgBTIkup+EL{8~QbVbHCuv!UF@}-hFlX-OJ=3 zZ`$@ams5zZ7Nq{{#T#4>+h{DBQ$2g%>;;Xi8#l_W^*Z@Yk3aRBZ;burr!&W&ZwTB| zV{&ZyXIuWvz43&dk&}CQ!*r(Y*3o*W(!x<7>N&6ClcOw?@7%7pyYSe83x5nwD?E=f zd3*oay?4VW?pyLqBi{7Y#>nS4BdQFk{nwjyv%UAvn;49QHA2F+@66xW;pvZSdptQ; zeP80W&c>;;hW_~A#pC;a)+c8Cu)D&LB)<{u>&%MZSTDb#|7Dwr4vbZn?X5SDUTuA6 zbi45RvsZtZ?P$FFulN)X?coC+rEbL!<*UBxy7v7E(U$@i#kl(A)o z@aNOoT{+tMhE@OYuCKc@u`YkD&HQs0ljn3->*_50OgA4zcVFdDF6UAF)498sNU6d zPOpaQs_#@k)wogTYUgc(7B2F$Jz#xce&c5Q*6p~n*yCn)&o()Kt=)2Z=7X4pd&eG4 z@p$?BUmjcMwPL;rU&ol4G_BP0f?cfzG2iOg-`ErutUKb;0<9c7o7^pVaC??k*5t+q z-VGma_awQzM$>C-tY@^Y+83pH38xehEhx7#TIbv1d=t-r5%*owVFXYr9E|bvkoqVD6;Z-mz`HgX|_P zTGVJx!|~3)elvf~*anx6%-i}RV{3ue!8+w~FYooU%}d(5zjulizG55gf?bIxr?`$9 zp?`XN&70{ubu3Ks4;LIde(BP~LNt@@d8tp&44?eRpuJg%-`2bsur1-4MtQZj`|ovT z7Ms3WHYe<1@XD0)wv!Gt$g7`QDdlu;^;hn_AUP%C8W!I4*J5(=9s| zFm2abc{#Scmb#?1eXSe2dTppRJ8ol-{g2~4M%rszX&GharM^0~{^cLgi@q^1B0= zZ~GcNefR3T)@Zw@HcxF+Ms|Mdl%(G4$%~E$I%XC0dj9v5Kkq-d|KhFh8kgVa_T91m z`Lpnlg&mA;ZFlT4oNaL`ch-B(?ly4jP+|KCL!&z!{G>H{(UTwd6fPUSY}tjEcMiP!Dd_i$_Vz>K-ro0^KmUMROyty` z|9W_N`sLBnS3V4O3BKQU!BUGyzjw|Gj~n&Vy^%MMzMlEJ`o3{?rzVzfe9^c`XyO{f zY0DB<9C92!LNlh#6#Fe#M(>`r@X3&od5sjyvG)Xr|p{p!CRxV5Fv&l~z`Ofsky zIbUx|yCFA6R5<s&mSZWY%3VMdp@?|QANGIxmGq-D8-yRLH?@&}foL(R*# z(?0aJj?=X^!QG7~7K|I=+i}jfr!+TvK0LQ*(e}yhoX?z1bRC;AZHLb4{Hej6{T4^n zoq)f84}bqkr<*?w%Z}alUHffzOZrZ`G^yr8+qUYhj{mH)bM5`TjeH~Obogc3g^VFP z{<=CfAaqz%`BxjBP29SW*>H8YrB}XzRm_NZk8)-mW@ookSD!m^`p|}VA5Y3i3%`GN zT;iMFOTA7vfvW>@FAr4T8T&Y4XZvp|t%~DQI zWBuwKc^*R-MFlgDyLZ+%`)!oLhGp-nKklm@do$+G@aMa99?h*Z(#SXe!Ro}Pow_zs zTemU8H^yh9jzcx;*D)`=FTb8QEnv>dq-G`=?uYkAJpA=e>$@&jjSrsN+a}eWmzq4OXP0re{>#9^tDSqavG)*}dt4&o2w`RH;U4du<|W z$M{^h$=t4cuEtf9K}q?;Z3eI8-e1bfD;51aS}uCL|JRtSmHTJBp4p-D)BG2j&yu4e z==P!@r*2$V&jECOW_D2qT@1j-^%7J;$|ltrK{0{;&qKpSPB z3;z$p_f>ynkymwmmr`ipV`b39?8(*hxUYXCuHGkMvxY2nz)M5k;ml z!W2QTMS2o-LfQ~DLGO#+A8C``ZEm3S2SCQgVi;?x!4 zji`-ifbd7OM6?z__vveXi28^+h+2r6i0TOXT`z^dM?MnGWzr%5Fjgw$Kwd#wAb%il zpqfFRAk{%xO(^P<)iE{{5AsN{hEsl1%;fW%;!OEi13|e>Tm>OIB8bma#GrBpT2oD{ z+iY}-ta-XlZs5JPE4saDl+*5=N#iOH^c*UlRM*m6jXyUNF%B^VL7GTH&~uP(==t!E z>@vX!(vwsdV_M_2|=D9)j>sktVjnG6N=CO((Oa|raZAj zP|PTPbr2NW)(DDwJc9Cbpsu;$EK5Jf?H*n0f7f7a`^SN6x)$SF_#fP!c;`SG zkixvJ^9v&%vmeVF>m0_{ScRB}n1UFI$U*c&klqpyF$k#^THs@U1o?v4Pmn*6Cy-Yu z(}4kgPZvS@FNYv6_^<0g$~pNPeJ=WZ^f~GClAoI*s9&mra6wSNMfpQ9Y=;oNyk9we ztud9W+pKnutaYMpZtI_0E{lKDZgVeLUQ0PH?Y=z!qys7cwlSy&0hXa|uPfHEx~FYn zaEeh^TaWK&5n?)GG$I#~j_89(Ky*S-od`k%A_5SkTdEIr5z2I6j^8suP&_CuItZx_ z#5m%Yzv`R#K1sKvUwOXC?7jyb-;;5Bm7PijI}%S8e0Dw^qM^8_j2T zdft9>AGZCLJ`l{IHw0}a^a9dAJBh!S#yx#c#(zi5e}doxVm**)L81fO&R$?0S?!&1 zBil#1RVrLiE2q8%-|u2XK4J`lw9pShz7UTf-G(5jKG0`tf}sA9bU=NhydPNO*GLD( z2ucwk*RWga z5ncCiqand}f>-u@9kD$X2;tjPAbeX2gl$XaKpNn6Ag_T$!3X+4&=%ecI3G}<9?1BQ z67pZvfy@WU6C^!>oDYZ^u#NQwf=y>H)~vPDUxuEQe<)W$YcGDrrHB~_@`W5kDxy0g z1`&#Ai)fCZJn%)-LQt&84=GQoAgCsiSCVH+YXapNc`NboPu!$@m&X^R{1$t2v3A?z z*F-OGi1%9}=yS%SkEd30GRt>v=d;~6Bk)Sw1qshO?&!yM+}RJJ2s`>g5BN;R-e z)ByQ`ybeCR9u(uBG*F5TWVL{L#P{fc(?gs$SafiGS)rE29j(fGhmob_7ze2qQt)v% z1myzNyFi3Lf_en6=paacq(jo9 z)XVGO<0c5wa}=VxzPZt;Dox#1*Xr$ms@0U3Upjuf5bq}=5)c$S@<-|uXx%_Pf)9dp;DDf*ldqD$Dyj*e>II}D@)hEn>WvYCUW>F> z1>uUI_fsE1zD2r?MIX0f2gUd&4RAUTG@#TAB=z6}yg<}}ZM-*F$9TRo@vrhL&YaGwYiX>* z7|ujcjUX)~A-W(U5Y#jJBd9jiKuC2!y@9kQkQWel#No&2fPRmjgS>@&hP38_pw}fW zwnjvvkM}ZhHlOGgTyt~d0YTq|E$Q_%VeddTVSf%J>>mhS_7Sono*-&K&_QR^g6bOh z^7TN*e}urj${J9uHx&BolP9OArLvsR9O7`U5$r>S3l6UKNJLexTEydQ_4 z8rlj$JW!9|fgnGyMo{gofDqRSG#Or$zLeXNpo!tEGlL=_*Yxx zo7nPbaDJEj3A?i2bw4;5x*yDiZU+d1peupnU#fwDf(EiVA1L7kf)B{o1HKldm+T2j z)B~X}{DgW?jDOOAR0k^50~_hQNX4E&p$5A6fE~iN3-%1{UH&qvZhjqSPCGFEq8768 zejfz&jlqa!hX%_5u@U3k^LJLv5W(`YyJ0ox0VEZ?d5E*iPr; zw`3OdK0Fk99UcO`4h?~xhw?b|K>i8JHIO6tz}~v&;e<|F2M(^BHUk9tY`J3wx#|)Mon!laylB3h3JLoh@kpFo=_d( zj3Cb@KcL=#`ZduDO05T0HS9G_T`a349v;Rf9vu#eM}|Y6Bf~fl|L@a4cg_a{FW9fh z3%<^J5cX{{G!gkPRRgGxFW4JWPoPW#qyqx>428yx?S96Y(_x%BEkJHb3z>-Sh;T%6 zL|p{+2(}2)0r@$30o4O#8c=g;=1KflO*%RP`f^ZJ19^fEl;#EUJ;B#g55m7qLH>im zCd>mpfPg%gs)JAM4f#2N!oGmhfS?089}qQQ*A=zUwK{6W8~3TIKGJtFKB1wbxdgc# zfk;D8uRv=s>d#3BR2Qg6)J7=NfSON4eT^y&TUrU)j1t-TIlM-nzwWQ-O#J@8BHUtg~&72 zhj;|_i`2W*437Fk@&W4cWL$N22_X5&@UAH1whPgefP}}mDmYLo-bo|yx zwkN^@L46^4K#5yGPN;hL?4C9$$43EafY*Vjff1m3Pw?NW2QvOck$ZxufzRdzpFS&i zUthrSPa2TZ0cpazQ?=)n>RZ#AlJ*j4U9XV;4pS4(Lj+GyssyCzZZPW?6|abVo5J3ss~app!>Kd z@fvxrjCOg%yT3mOo-;2*08dnJA0UU6plA@d@BZcKX!O7{=s>Oqvq ze~3F+hX@`ZYT|I#IqJ5dTKCEXwP^D6B ziZ!659^jlHQJ51Htq=Y?^#J!Dp=mbq-+{Onq1XqC>cOY?hF`uO@asg<0`YGV>RKxI zB!IYY`dRclITnb2UIV-rs8$ceHR3RCR`k9#B0n!0#Ltc;^CEulK*7xL3)O?@9qC2< zlLl1K!RK2ieu3Ulm=zVR5oGnBPx4a!CH~V-jswy_aUJ~I^?=_;l;1xneIHT5{(I{plGZTR{kSS=OSUteCLAtOukY69D zwnqGra|-^MdJv0$QjO!kom-Ixis?X!7f5FX(!M~L85Y%pPoEWh>OPWnv}*a^b#*54 zKM6Pua5~_9;N$9nxQ8USpRDY>5^n!MIJZcp{e#a_58`$YfTmfP|HQvi4SWq=@bR+( z>*#7K_5aK1BO&$JDCl==4D>rR8u}j}4;jZN zVP83x+eeh`C4PbRLHwR<@TdH5i~JKrA5iKAO6tLvo*OFLN0Od@F1aR6))Qins4D;6 zIsT^ruL0Bn=L4nHgZHlyX&;F|^W^jsV+x-$UZ$4Un?In&rE~N3o{_) z^b|;*oj7ks{1f$F`Xb(CuP z-+k=>i-G5+0D&}6+zTf1eSw1Y0nG{s)GKD5ng9b%PlAES<$$9TVbIy>cpq_oCS;wT z0cps2%7tl=h}!CQbPUAp8wSza2SLQ9EC^ZM4}zB^L7N4=q1DW85V zzdRY*F6;w=v%5o!X4IQC!9Xl}bv4V=# z%)!Xj6bzk=!N8#sG|Fg$*B^Y@bB??18^q^-YZtI04V0<_VU76FUhs+gNYZOj#Ou_H z`2faL!SzV0^51LSK#SZ9=;@*cN_YXUfslOUzqu3gj|gxCbALqBs$kaG9x6Ag0;ctC z!K9827}vA{lbY6GTH6*(Yua!eSMs!g3T~Cb(AfkG94m1=6W5B+D5LEczXqin)(!s* ztp9<;|A%Yf>+B7S*8}Sa)$(8DzjO^ufl!fu%zKMwJpX1*1pXT$|Gu_hTpRP*2f40h z28OOBxz?{*k>i|>()&^!_+_?LejSpu9?0edrJZjot`EdLB>r5(?)!70naICP0}6Cd ztS{v2fkRkza15^jRXSka1!KP_?je0;`$($t-+O(I#o!D1Fc>|6G>|L!fP6g&&F{{6 zK6yXSzXK5emHq57_wB&Ajx|)O&U0^s+#5QhpT8&9WxQAAy?``9{L_qpKlfbRPyW31 zpvV5fJpZkbbK+mb`@Eo?D>%3D0q+oBs2SM^YIbY{)jKtSYSHz;C9)<|4aNPL4%o+h z$rPmu9h3Q zd>H?R4i&-H(+FzTGl0kufkoG%eW7bmdK{4O|A88)+yK3?|JGi#0 z4qm}^p+-bQs1@x8HDVfpXQ%q$8eIn*BJdpTQ1lAgFOcmYC|@UjE)7_z$bX;pgDi$z zoB??pNCUX06LcW$3BqPz{uB3D_stqt1=9xDzty(p{oVt4cQ*wiHw5-_iukv5uK?b4 z3?aZ@4>|_vKypVd7}iY_W~Qpc>VXWb8-&PVVB8{qycX%pUW3x}Kpt2BEn8yl6aOMa zACT3AlD(lZeP--gD`HPm$=ebt`B;K+4eWVp*+AvGc3{=O0je}{1Lv0BP_12Us2<*c z*F-nqhS5I%lZU=`-BQvc8Ke`zMjYe41&LOr1T zHz&U*-qGu+&Kq&O6Ze(D+{*;Kd@Dk;07Hlh)`O&IZ5Y6JdW3U1^oOKJj_rN=1>X0&uOAM-v?K&V+$6(RRRBRGjM9|3GS_Hf=_6DP7^g_ z{J^JkL#P&u>)_~GU>}M97eKh@XSp6pRsIt<}punJWz|NA2U!@ipZqyb(BVl9{<^aOl8n7%HgVE4$Uj|w@+Gf9>3wKu5&tp`sGOfKxCN2q(yAJ8|pL5(tp8pTf0Oh!he^CeG(FC<%rq6-=L67{wu7b=P$QL;N ziTmo7*fSvab&-2tJ21n((!5bsF!yr++vaXit26Q+hP6P_7ko%>XceMb{wE>-!@rvi z!#EKCiZw7}eQ3c!O_;hops?s#q%U&~3jTjL#rY>4i2T3D3usQwaZbF;L(0FbM?fDy4UiA$+hd;~ z_6WF6;`#&53$RzjHKl1i^a0d>EzZbmVIN?N>&A~g|J*9XO{M-nc@xjSG7X5m;mi$T z1&1dvK;SeW(SfukDDwiYCW!r^f|?-qhtrlfFO)yeu=sVUpI#3V4-e=0$61!l160(2 zpPxQ7tE~aGy~=@$vlf`!>VRHlU0w^N@o!Us*MP(e3~^3EeInNncwA?m=Q zZWV5}$nh^b$LPcMkyPbBWz!IgQOG}OVB}?~4vN=<*&D+Pjw1gA(t$EBC{YvS`$I`h zkoJe-Iw2qV|B!1?ivOP_;@r6ObB>dc|A2lSxOo=sW6B`%Uy2uq{L5>gD{6s5D+anr z(7Cx91p8@#f8Fv>vxYV}dFX+;lOgiY*8^@Jg!VQBdQ_ThG71G5nssX+p z%tii>PiBC?X+VJvKD0knG&7j7vIWP#Y8v>sdO+u%a{T)X+?UV*eqD(d1UA!!_~r}; zQ3I;zK;)l}q6SC@Jw>!(pcjH3cW$Wxb=ul|(ms-^{HG!RV>tecG@z&+%-tMOaB>O* zCnOpWy+HH>Wi>(CAJY6t>6H7F@k{y$IyQvOK?AEE)O3##g% zew)glbZw$lu&YY_f7%x0|LOuL(!hLBR1fAM|EH!hz-d5<4wUtW;(Af417+)kS*uzU z%C1BD%-1A}|F>xho_8M5uRT~abp%V|UxerbrPPB~{<;u{yc0wp_#E{>-U}MFsr;ho z+yeA`MSIHJ+CZoW((93MUSO#r|NXWMw-`(O3*c)(Ne#^35>ap(`4=@H^@8JKUm&Ro zQZG=nPEa;Sp1rDN;g`M!CH2^78UMTnBsx&2fueeV{IhWZ$Ui}@!@hRt-sm}ih zC9j*^8Y!mK@s0DVAVP58i>!MruC3YA@hLVbY@c+Cmj z&%$d{=-LzR`ja!0A&0I(IfmD*9Gw7z&fzr*c>PHZ9`mlwgS>0=VbGPiFyzh>ymn%fA>(%*nRv{?uhIAE=jeBG zAAbYsmuErB$;r@d^APB~EE7T|^?;VS9l^JIa|mi~!14bjG$5@94FXMH6uUN2+4V?t z4yxE2inAg-TDEghssGR5_+J9N22cl_50uov(*0fF!VCt^BS-_qbRhHvvYH@z0Uo6_ z;i#lP6lX{BGlSV9oeMK2g+uDBct~E}7y2I<3K`$ywPX*Ma(reZPXnGTgZ>W}LF(PP zka#^GdS1fo%Fc{~F8F^~c0rG)V^@4kUr)S&*CqWt7t()S1pS{Zk#XPe!F)))J_Y(; z91a6dX2F0xeIRE`ER0y!0fsGV4kKpx!lWslFlAI#n3`h_bFz$JaVDPE6s-Ot26LbI z7a{t9v>wRT2Gk>d#Js3}E7Jnmb!p@QBB&=6QOdc;mTgtzf55ge787qQfr;074Jh)0 zao8I!Kac|r#=1dZ&zjJ(k1sS!X###p{@~l!AL`?=QLly&kkSZ((i=dh z%sS95rxv6R_J*9nE|8mL3xku4VPuc;Fs>V(YlfIW=+3~z9t=!E;Oldk(u;wq0;cuG zeF;Jz2KuyR3S#^jAc*{b2`}&stSon3;)h+2q$>X-c2BpM_QML8{=+wre{&_wxVZ}Q zZ>@sqw^zfoyK7+TPitVxy|u9NWFlOe#c&!BbwFNFq9%x5pyE0~S`)|%i2qI)+m4MH z2uJ=y8ZZzn@E=%0d59q~Jcf2=U|1{z!x1A0aSV(k#4|9e3pcwf zp!X+gKldd8|;E{k1q)KfP&m*|7V4)Cn&Z~*iZ{6M}YNWGv$O%UdX%4P;4|53z0awy{;IhFD6&43^BUk|zWsmg$x4Fe7q{QWvE z{P$YcW4Ihdwv}M$~3@v0rrAoP59V3L498naH!`BZvH;t)us+q$8$#Mnu8kAbj?8{@WS)U z-MQ-yYJnqa#6Hvu?C{zHoA#&?><3ik|Gob~ApXGEoe2h;mpTu;Jez^<2oen_@`7_% z3qGblq?$ndM>l1F_zxrg>oX8U`H%d!qWrJU=YDPE*~^{*XKM!R%^9#YWxy46;8}%% zT22hqcSoN z4#b*(vjT2zghz3XEbR}eHxT)c^yB#_?t#nfu~#fcX)o$Ux-_Hp4lNi>k9h}>?>_Gaxz_L>}fH~qK^F_tNM;< zHjSJ+JGAf&z%^?_pHSZ#k?FAx`77sCSigS@{oRMpcKd!V)8)!s21o;(4p0M}4g@c_ zG?VWQKD8!H!ThKA6aQTAhg=c&l*?4>xtvFi?IgU5{M(uFUf^iSdqFip2eq8}-k?!6 zUJK2ze+WP=Q7_Q~LA8SPLG`6I`USln^_%Swq#5czs0St8;QM+h@~?^pKDHi&`lH>L!w>|$nR3B=iCdeO1Q`9#S8eq*JzaX9XA*jb}g8d}<2lbq! zo6rW#OU@qzkC17A{NhvU0rn`;y~JpL=BwiW+B~KU0tl!DUI+4CfSw?&3Cg@cVNICA z*9799e3pO*M#mLo^A?5dplyiSLf=#Y{r1TPkuvv2IV~Y zKz;ND(jaMoG=VkYmDnSEj0RM#2iT*2Rs8?3fa!8$0RuNA8c^s3=m}zf_`Y?5tR{&4 zAs&&RcXTZ%T^~f8(cYnW&XG7flAjrf`^&1HXK-{zWf7ZgD~ zp$O_n$d|+(v4jTD4~qG~r`Ch7fdAWz8MPl5F-Er*GPXAtGJ}3t$N=g9NC(Qi;EH@r zn59}x_>`G}xW6pwK)SbB;yeS?)UlanFe=$q#=p1@_!te)x>EE3W%WQdE5iOjtOcA8 zU~MQiCqO?F&ndv;Ka&4HFJrV3OMhC%Y`(jcIf%G;X9;r$@f7)g`{QB;Py=uafg0c- zYCz@%=n1OU1X?F5S}T6a%s|{r5Or{He9<*3CC)h-gXgf#GKY!%Jzh}$hcw`NI?e}_ z>419CVm=^v0eJui6*Qo%Cn%*J{Eju?0%A8}1!8iS=FC9s5xXOT5%qDd<%IJn`rF?h zeY>}uF+>1rfWuEq89)ud-6ag52H-Yq)+dLXwx5U)KD&O3jF=M&$@8P<7xybF)Z z5hGO*#eL-e{t5<21ELPl3qaHXX@Jv#paIbfuqNx~3^vs~N{!r0*2B+s*!qhA;j(?izi1WbGbRhPG3Vq<8sRza8*5a%{ zdL5G7H7HM1;s2L!7()a+AP728<^{5vfL_4W1fd>?H9=W_$m!q<&J1XFB%LFddY%FH z25073!nADff`}%X9QUef;9p%IVE&7}A?F39*8{q~L?!+ou4D`mKpNn5Anyf2Z=gy| zDB%UAtP`X)q12fH&JJi^P}|c@&DUu#t;F&66AECN==aVhl@4aqp+pIf267P;QO*57q;f_I~(wd;m3%GT{e`;o+1{W9G!0f>_UJ?J?{x0q{71IFKgb(zBudp7d#QziI|H)bg z@Cc*>(g3G}QoP`O>jY^{kj@Xkj+ucPe7D3F<_@X#Dzd2-$N%TjfGYJsHZw$D_`>x- zCH{Y3%NQbnAZkF=!3Wg@u|NFEX9g#ysKMo>b}(;9t=AFAe>=>5;$MX51OEf{KqdbF zSjQM5fWT=$q64WHh`oU-H9@*o{Mu#)r>3gG_si^H{;=AwBb#b-=lF={`N%ZzrR%{* z^aQHxAIPl_RO0{Xdd3g|1bH2BeSwNKq1gQJE1nsgo~8y@mRErV!)w1G{>AgWzJvz; z<$CZ~mHFQ@U!57` ztHHIERblZchQyAM_4+h-n-}keeD0#B;dVYtO4Tj zgM9#JN2SgU|CxI5N&Jgikm*2KO%Ucr3TFnZ)NnsR4So^u;2U+^XI6*%-)P|Z1{!d0 zg(jjL{EYZ%MR|l4++CrK&_U?IofY~B1B4;mUSWi&2)DnfgfM~ID=Q<+;Kx-K2up+& z!Uld^ZHusjTWjp$$2C>)=m59YIwG6|xWL`5wPE$7M(=Wax4mE{dAtunXgE91Ij|i>=-GeGZw{{hvYg;2oXln>v+8|mRK$k!Rh!50< z_*Qxl*Gd;+TM~4ja|=XsZHQ^E1u+3y&?%ri9?L_gX61_DuL;qFW*T@D&{Q4oBk0IM z4IiuF^+Jb$Gr>1EC4eHM{@D)4NlBRt#X3Qu==z|%cmi0bfkZ*6$GuO2+z-w>W2Xbeve`oq&h z0r2#2OGF?%J<=BbI2wcqhChyVfTzbo;py=(_~UrEfCxPD`29o#{EqiI91Djh$HL&r z(NK7Nv;#ao(jI<09E=EpUk|p0M+aNOqXVtr;l38|aBp+?Wsg5R*xeNF@A89tI~&5i z?e*d3?Y^*lOkH+jR;_pAGitmYo9^>wbgI|uQ7P44jYx7Y7?$YvVrUO+MaTjqL@gw5qutcXD!xNpZBd(4} zbhB{^Rhlk9SSY?|BI3F+>qr(}7a%+INQVn$B&W4JGQ1aTP8PdGSj zfY<)113dR4c2CLh*f}}VWBa83?%z)A@3v)PKetU2`nhfxpXRc5Y^u}hv8j$LGddYB zk8h#5BsM^O5uR5#MV0m6^NnidpKmIc^!IN2Bslvv^N?%qbYd*nr*~m%oZi_jc--Da_x$z*-7{NabuVm-)jhW@R_DUEaXP2B z#Oa*h+C}^Pwgl}{TcfqlZ;jDDvpGil?3Ng6a6&uvpv=Gy4$E{$C<0AM;ogpg&KVF^`0*d*He3Otf^YTiI!>wC)=nM zoC;DaI31$)@@$0K%X86cFVDxSy}Zy>?d7GOYA?U*tM>A8s@lu%)74&H$x?fHHCyfF zwH!q5C%+F>v|IKwWf3TgKv@LJB2X5AvIvw#pezDq5h#m5Sp>==P!@r*2$V&jECOW_ zD2qT@1j-^%7J;$|ltrK{0t^HHqqkSZKiV_oT21m%IqLIdU!ZR@jGgT95bm*-_!ysz zZW`j_A>2dRE4&pRGL88kI4C~0;~vYt&G1inSNt~rj#$}4{t5Z_!heyTQ1WehhthB3 z6H0%Z-l6bT#a}A^;|$aIuJ|4PXeamBNba%LLH_5&e>L9s_^$Yq{82;xak00LZ&>cJ zmfT|_xyN>8kBbGkEFQ(e!Tjs-kV`-#D9V0%r*_32V>*BG!8@6rqjxl|lR& zI*Pwb&qJW+B+&EI>->M`K|bCTFN&)k!VpmbQ3+v!Fcm=e6~P$4PN1K!h@ju4|5Kly z#{i*^py$;=&}-0ZiCob8`2WC#_&G&=i}BXQ&rflp*qI}25snCVM0G@ML|sHJgb%_K z;el{NxFVbpP6+y)st9|89l{1-g|I-FA&5764dR73AucFSC^zUm{V#GrpGou-`keH6 zDc?fQUl0M+71Q5KRz`5cInuPsE!S zf_Ng1h#TUCI3YeLpD0i0ebDz5bVZP!w;{nHX=ttmN)-g7{D)@qI{npV zeRo-$r7@S@r}*1-65@{>*mm*);(=fl=KiKqeVYe5wnnGaG}YJO>&!%qMhrwyZirln ze$@=WMmZ?ZVV-Umz=K`VQ_3fq>< zhJKp_2sUJEU$(>6zR+Q7B5}Y99I(g(+YWia_){Jz%mq&W(cWO)u^LOT;dx+1KjQKs z2J-=7+ZlQ2?1lHeShH4+PYpawuV@-+ZNv8{a*>Vq`yj~wLJ_2wrUUCRWfg?zC8U`!^pQkU536aeAvL!*7})k|(Bf{-Be$i#i`tO} zkvr1Zi0!F}6bRpz!XgJ4e~t$>1YKZ4@V z@j&%J>PHlR$^(o&abVjSJu8;KZyxOOw^0rAAIh8P?!nJ67eRSJ^`aLd8WD`3&({z^ zb&7a!LQrpJhM;)JdlG)>qiz&$%BOM&sdr1gggmmXx~4|Fk*)Di{M*p0>L#~1(`IJe zubp{=OGC~Fdr}%C=Z}LLE=Z02SP3s z^CQlGI$~TS@$b?{q5lvl2c&)!UDA&z7dXUvgRO`-Z?KGTe_hen`mVN>!9g_*wT1XO zMJ{^a{U}5mL=yznYEK0DE9E`a2J!)^Cs8a_z0uE7%!xAFd-dy)suu(hu zv6u%C$>l*RAO~zwE+mmB$#MbnK&%Oz7je13=YcF2IxNEa8|4Mok*I%!O;j~L7ZmuB ztTv0eKwc!x1$FKSv8vxp5gU2G#ecHUDV2? zXI=N^yz6#g5ZiS>AqNun4P?6@;`e0(@gQ&j!~@SkCU87p{E-8Q-kFX(^kbv=T;O;h zKN2{gJiz$#bpic|Y6AHY=0PIW1O(M(t|pKladkl!{|FC^zXwZsz;U72k7T_O??qG> z$cu!!K=H?1u!%!nkOSLz%njs$fIPjc+|uDU12>a18oK3HV2p^1{)jFJ>Yth-sP0j} zL_AP!5Iu?fL@5UqY>m|`+L_w8wXNB|asQx=;R|}*?YV#OyIzNfK(9kXpy#1H=y7l` zhwcY*p&O#>fkD7=fIJ`v2#y2F0}fms?8&5DAPzvt1(_cS98gX8C_fVWqmact!7dWx z7mofDA%MK7R6p`8(H|-EBgzM!2OqHQ;sbUF+b-U$d64rnBOkL%xaM1nksXWiO-IBc z$e(->ZU}1x@j#wL-a@%h;%4q)qu~);yJO#@!`Z|m!`VJZhC!dh!`R-3hq3|(tiS<_ zJg~?COC0dIki#aF$b|v2T<9#z1+FHrSQ9W8xSBw@fHi^hBg_S^CU9Paek9}qc@b9= zxLgow0+$QqMaTh*@n`KKu;zxN{t?81HJ1x=epIqHe{?R09M~rKumsC6x4$dawYsKd zuD1!-e8fcxA`;<`@Inv|R2!&YEWtrlKX;AlQ4OM!j*ejaA`*`dhr}bphzH^TI3D;s zV0#|S<2k^5;CbNuh;o4y{0PvGuqJSR#CZ|tN0S?H_ zELIEZbqi37U6~f1a%>cf9I#2m1D6Y&9}x$fCkcMUVofOSM+do@fSx4OWoa(({So;Q zUzd45;_I@kKcc$K^{Ddw5!L3RT##F@p&zkfsDIlqPp}GgXRQf551bbj_oL683qoDC zjaQrt#DSO-#0BO`VYy1$fr{dfUt_wg&j?L9KAKHA&T)WwfIRSiM0tR90c!&9N9ajI zhy$w2q8~x`gSkRopt?MWY661lGWJIt2iXdGROS5Nlp`c%vr>XF1Xb4Px?W`k=5aekz5y(aBZr9BdP5!L1d?3d7w z?7HH8!IQZ7u6nnaL z-H;WMc47=m5IA53KN53+YJ%7w$@>wP3q7zmLI`!4dL*t#<#U1SQN>)q9(515UW51a zN90G`+(OxUEqqBImf~;K0rihLKs?Y1a7Us_eZo|6Xq5i2eP$-P!qVhMZ}Um zU>kyQ?ST3xaCuN#E}-T=S8W#O7IdU_f`YYztS)1Hw(eA|LCMJTU+KOvJ0$(&I2Jh| z5C<%BAj<{8kHngQeJa-#`&lg!LNL1+FH@a)Fy$aI*{Q zjkvjmxK^Nbg0x4a84~rVkxLR;+YYGz_HHbJI1qDz%LnwMuO%0-H&q({9-Fd5`kxxl z5(nvA9*pI@h|2}OE`y{$qIH7Qj})!fI4|OO5Z7z`+(Noulg%xP`lC#mUGV*pY^}ic zN5$7`{0xtcTuSlB7zYdSZ%^^Z`yAx`sHiqmpIWRg3u`vcm*i#_*1R9d_SlMM+6rbD z+!kU@-qxbufFtnFjR-2Xi(MQzg_xKU^T1xfbb8}8e=IIG6 za=;24aJj(O1TGh-HzGe0dQ`4I68#AJ@;$1oE(>b~zDMQ#2zyj7Jd8g}@wWnCB)F+8`f#;y){79AAg`)i(ai%TKE+p#(t0)hp`tQAEP{@EY zlOXHNL_iJ@$iZpyqR;F{lK!ZKAMrh^&>t1eQMvv|fgf>e=A}ts6GZXHxDzn`#6bx^ zl6sP|wF3GQ*BdG9j|4wbu)jk&z(Lq+re2kwrxu@GlotO!TXI9P&rW8M12zkJpga)# zh&aGp;A#TjADt-SN0M9^!Obpc?VN%=YwFQaY`XenfRatj+Sdz|Sr? zKl)<1U=^uc|9!R&#`sTRIS$TJ9v~0AA7LI~UEuOS)*o>_D)p+=FJ+t@4;jbDvsou6 zu>(#|#owLAW}KPIrk$PwNv9^UJ&%oLyBrt+(c1^H;p;QlxSa#V^%~EEg8qo+76J#w zd(=H#eO31K9$zZ)T45Js$_n|t=CkTU0BOz z7m~Wb?KR^}gWF%@_jjx!l*d02<3I4+6d)i6Fn}QV5qZ+UGm~M^*{Lw_GaYiy z&wy-1|FhE|`NSmXePTRxJv0(xb`FM!jakrPWh%5?*auq8>;}yy#zNzfQP5ye2-NA{ z7Q&bHm95u$l-3`W=11H-8}}5JB?HCZs*NiTj6ZRp)Q^IN{-`uR5_%*X&X3+RyZ8V< zDlPtfzs(EDIX9Ih2psUafE=VB8OydD90_eEbzwu6B(o7~GuVg?nGmunjcvC$kqw;H z9ReoDu}wyGWE&0+g}RyT*qTW#S?}&m!9At{>l{{_t=b0r;bv~EMFR)6&E!~qPXYJW zXsssfDJbfXxV3_OF3^60P!rggWhtypThxDR)PEZnmU!U2Na{xlYO^dCaGfAsvwgl? zC^^To3U^mpf0Mo)5;ExgG%o(g0p$V4pYtO~J2;B94s->J=1#0dGe_3EsRJFsrj;9O zALPY4w66{h!PQy&Hn<*Xjt1%sM zy;e$p#P4wy?K5M4Bydn-y~f4AjT;|-eQ!u1->ROR<~aL>Qg_-`8$l6zq~AO{=-4mdyRcW5+Nx5D@bID$FG9pevXe)eG6 zzz$66SVKi03ovr83k-EM%H4hhU45a1or}PhRS;p%`ZyH z1#xyEx8JNd7r1=|Zgzq7U1|JNwhs%*yO_@k96;{*=`80*=chvd!$SPgdnop(d)By? z6;$vTgN)AV`L514)@h;LU1ii5Z7yRdu$&v)3ywCQyTx&?ZZQcT$}-U zh`|^0VK91;=tunzj|Hm$XCTcR*S3ZVUS^!%RP-yGL zKANyNQw`P*VqoK79vgBQSdUnTUmLzUR5H)z_nAM+kFYCG8G30ZiyW}TK^}UMmth`oWKGv={dWwwHc8C3K%XDfMIvY0DiTHBVj@U6;LY2pgb zExp-l?d!1K5%s|*rXgD;63>z2c_`ZJq&cdh*#*v#EJKv*KW)c|kYSf*u^b1NW>Ov? z4;%+DSqqK>%mw0sht!Ys z>?%U}N;+(LV_jCuSQoTRbXjdvJyzRHA9SsVlM1Z9J@yEW#@Mr&vK8Es3oi@SxCVMw zZ5yau&yF=~XwOYOjBI>)o@pgjKlc8&}g_T6k4_T4N%4qymD@S~w8 zM!nfLPW|11aSR{_uzw5#$O9k`An*Vj2Rsk3133_Q0OWx<03jEEco@AlT-eu9w7(`f z?*)4#t}Yil53l$<8{-eu8(21X2Fn%#TH+D?h;o7RB*Bj;wpu27pj{bZDje~?j=2Ho zS|F?qLC>}V=-XqjhB;y6YKk6Z#`{w(jK8lPVEn*LtuLBtWV*Szk{HV0}r(^tw ze>a;Y@Ei!afE)}vG5XDc@#=36jc3?{;}{lsV2KAV7cd`)gFToBTt3L>0`E!1a$)TH z@VCPL8aLAxb3ws57scn<{9eCgy_Um%Ow6K8n*9;e(qn>zVkn~QT%mnj95KegdLX) zw00yv0;~;K7toJtT7zrr>KK2YqWykhrd`?`&oWqf{4;iq4jK9VTo`$I4j>1>bHMx2 z2#o*XiR$l;Ol0851O|`?Kpp^d0YpzCKT_sNRG+1uG=4+GTW*gN_c>{QQ`qBFvfp32 zA9Y#LAFP|B*9186ARiJ@%#WNQ7~|ii1;ZhsB?E-60^*u85Z*)`TGrPD-@Xc7}H#h4Qi|jO?bqF!?6ERG`oC?cK5sc`{#Z>r}vUZ-Z^v5nKLuzJkRQP z_6p9yD&+^as8~c_SoPAnE2lRFUOT(V5^4_Yd7v+F9vGA83(mUW%9FT0d)5Wys?3u% zD*dbbHQqB{ujaxlN6o9|Vg&Wy5&G|-^`ETupGQ3Eo^0!1&4KL)O8?pqI1gfk*1w(u zrT@{GgVAZ09Ft}V%Gh*E_D?H>GbHShsehg$-M~5C_4GgI$+f-KK>wVB)$i<)#uupn z)zJUh&4Jfm*ldaCF$a1cq}vysg&*kknK8+;E@)rC`fTT`n1fA+`d!Q8PC@ws*JY0{ ztkUa(s!8QtvtP}{h`VQr$Yia5%t1KyuY3XP0p=ha`$n}MU~QoOhjg?A^$)Rq!S(^$ z7pQ+b9yz`+O8WxlKw;Mun5)`(l01R+!Q`r&5BIy~ zx#RS&xiEDXH&O!z{mY1C=(v3i8BXbdb%26-P~ut_x_2m)3;lBrsC!%VdZ6QxXHBsE zfU$@^phV39bWdLx&?WSey6gM{=XjN`qyKp)*7aI<{#JoG5PA-jFTfAv+Lv>#ys$Me z_oc0tz#J%1^N@!x==Isp7xbP%?cKH<>3>b#uc^D{>(*Sb2Fxo*RrT38JF*l&w+|XIv#ng%kTxib-`Je?RX^nLI1w@&FW5pv55BzzUuwo@JIlXe; zJ0LL!avem^fr>{tZ*G;Z>!eG@&C>L?k+j+tJ~$&b6e$v6D#D1JEq71D>G%*lqA_VrSK)_ zUsB)$N|YZU7BT-+G07c|+&QXGJnEMka>>5u)OVe%d&#f%Lg%QJ(`)7%{}(*90s6m9 zU=D?@yTM&@v(C5!ECYko}OaSo=$T4w&vodwRObmCDC%@ys~1`v|?iWq#&_tk|lRd z4iLMi1ajTHGzj~zY>GV(zv~OWIVy7``a<8-&}+Q&SNHwyyG~UHhB_qQx(nn;mDBRq z|4q;A=)L8GJH^%y?t&m6X$k^%GY;T;vDAyqJ6={Bx%+L zy*{fP2{DQ5v)MCneOBwj^1;@%0qrf3)y9&&T46uh+!9@ySh7$ComRvc+ z5;s9s4aHm!!+Fy%ORO2L^mb_=bk8{$r1h`jk?jjy6NL5ywJzwr8uto9@7J6hwO^Ma zBDQx!QLSe^8J&Uq#_p(}uxpU)Iy~DS^j)W&qvB39U;DrN?V}M-{N?Q6y`LT(zwEsO z%NKsMf6L7Gc0Vxpv%OEvd298%uip|Z-q>l$H+EQ@2Z?!*@CC1!ggMAJCY{Dys5}WV ziTdx~&XQS4mh9QelHHnFQt7{eCEF!J_q8oqH^!2&;g(E@wq%o9_Se&!!tUDId)9GX zEjhlMB_~2Ab;rD9SaM1aOHS=+$!WbTIUO>yw z#3LP(^tx=vA{~?TJaAoh@}oZOLu5o^jI7=&PR6A)kafE^mG%1ITpITUi33{7g#OJX z?$%^%p9ZpO??f5htFEj+uywxr&#x|>Uq5uXdDz>#t>50-Wr;U;TAT-==Ro;_o(F$l zu=7>3XK;K$>A$Td`cVHZEdl+D)W%B3qH(Mx;-V~BwUQ;Ol($6n%9f0evP8ogmS`Do z$>jQ$=!);>&tfhF=25_xs8hxi<~B}_PrGG4ulG{4`%CmY%z@BzpnSo^BJ=Y)Kg!b= zR6N4(?3on6Gi*@^=cv3-C{eBKm9V&q-&AZI{YjP9vFEELCp?qTqshY!`n0^e_q2gK zm)){v&Go?4SP;+3-TU)Y63#EI}3Nfc%HA~b8w?tG0OH%id(H4Hv zv4JI05VJZrg8wwOL|PL|&__5wjAPNUB!~rHT3Q$QTSR+Ma)AbJ0|ga>mV-GuZH=E z#m_^U;CD1doNA8Ph53=K;4555+SIXR+q!oA!hBz5+`}A5`i%0M8;M6IH{v^D5aSVI z*=v8gqVxHM@9wd}-rH;ahIfHE5by<|=D_#^*9AK!dHI4_qjjF-_yX3;YiUg_K^@hJ zv4oB_%I5i*`c15A3FuRBJ)m9Fez|7y3;=On%w1JKVoilJzw~b>HqzGRv6?r%z@w>=y{NO z9vGA83u;}^>$Ay|xIWwKg2`7AkM5phZXNbBIfRc@lFZ2={Hy-i`Zb2y#_BN7`^>_Y5c2 z1j>ik)y~aMDI$9#kHQ>K*S6U6pmHqcxfI4c=1F z$0YHVy*8LU$-QTAe8IJMb7GP{(-Zm}!|QBSonhp0&+ydRKyh?a{BP8MFYF^IoCC)f zVE4?E=m*Gk)qVqWASikcZpatReogs-E637j7gwPFZ*hL~G1i3_AV-lS-HQFf8suIx zAlZ;qr`_KfB!$mDlK=_L-iYtNzYC!^w4l;@IYd-v*<$ zi}6Lz0ewNO7ryaG`vK=c&<~iuVje_4+Yg*vR<8*vM`d2ic=XTYsF(w1zs4LGLVTb+ zUtip1r9tH95X^&AbAWlEFCZS#A2<(E&jWoyiHb?KFL=cyuFp=MWUtS5j)a(m{j>Mp z%@vbgu;)RlGd-V}#4`-sGdOpjr`89`N4M6wG`Mpy>R$=wfWF`tkF+1q7gQ{|Zal(# zIJpsGlM{~+o1A#Wwb|Zl-0*oe{2*Wbe|fi+1`%ICI0x_tq5Q$)3o0gkV#g$bn56u{ z*BA8KVDco+f#VB#?A`K;NgiL=tnPZ0FX(d&uRAx~NsGs~)x9)0wV2vR&<8jVy*$3) z9glP@Qt`-M6I3kHYl2rS!n&aLb#7nCZ(Y8T{Tg)7GmL!o|Mfjq8bo{r!8}O#0_TBq zKwl787u+$)UKbFTbWC!u4W4xYafvw+_6&Bu%6*%iC#iM8*+YBBB%bN<9OHNI8J^o1 zB#z&lcxgy#aixFm<+LBDd?$~1q;etZU-^N(CU6e8HZvwU>jL!;;a(xn997386_;*g zzoz!hDGFOR&-nAVd#yBx{2GEekemZO5A=l_j!7RNE-^=X-yM^fBSG?wN%sC(oh9kD z!9L&Cc@od`)VZEdo^)nYkbH7Sy~{(ol#tl#D#0A6ecit!9+{W~-TR*(Ar?9Di2F1n zdcQWzekZnZp0B^(XQe^J-zc01e_!Ann3yE6K67pGO<#cMb%DO% zzdqmWwLbH{$J-a|n8b4od3JMi^sOtu%=E27-Bzm;(V{U_7Ef_{JnVM?zfU9B_@+xvG;Vab4gV?ao&* z2ZDK$-ZOaS0efeCjv=sT;F%uR=ij|&cz#QeczSn(D?`(4{p&fPA8@a$#3vr9JXPmM zO8?A}7>m@JpmS7}A0ZxL4!BS7S{HOYQfEi{{OCsaYdq7=SO4EVV5LFiw-C&M{04KN z=fNu`VSVP>kY`L{j^yM?_WEq+NIE9zJ%gPmxnh#uGf1q@&UunP(^D~t`vtvcaQ1GD zM=x#-mZxr^{!#zl%%Tq{$-w(R8;^J!R-tFF-hoL)s9DIjn2mx^qwIvU$A3R{_C@Sp5*og+(GL-gM4XQ zuy|%~!>hy6OH=>q9J`x62ln}=e>}4H33h&D?-T5Jl&>%R8T&PTr@;H2eD(k1Lsl9@ z`~blmNX&tNF9^gW`h#ywQt=4uGv`6&t2$Rzd6J4r_Ws%I-8}ne#3j9FP1Ok%F8 z^Huu7@7^=KvOQQlx3AIF;a$UISDfeZ+?jsBxnL|(@yK46?RbRT6!FO9MtSdO28%NX8ebdHt*lJ9?_LD_K>31+M|w@TAzv`-vU7fP9bfQWmv3ahhPlYs z{(nBG>|g00pQWA$p?$$CCNUoA^_la)Jjvupo;=CURn6Yb$&qxP9|oV~3{?#PUC(0PE0KT7{*Ezt4EiADChY~PF7exPEJ$&vo; z`?U_&*FW{{EB-MlKz{dN0Af<0{DyLWko-I3Z}$hwukR0)U*A_qesy1A`Q?2@AVuXD z_Z5efl%L;U8WJY|dVg6+dHI(IDni2LUmlEvM9I${jFz80R8@ZVaCJy5q^7)Zur?$P z5)Vm`pB}8ErLO$sAmmV@eEFUvv3gp4xo~t%Id6D%IeTb~oRJ+RrwxdZQ~QU@Dg7$T z$$cxyNm&);#6A_|gv|1CeD88{T(7cnY|k=sY>zNGCZn_*ol#1T>Rw8Y>{ddK>{>#O zNG~o&q!p9H(~8PrT_CANqk9IC3holsegHu8wA#!jhO0dlC7-UOwpd6$m0C_3J zvsc6YQT;qOU-%;Qp7isf&^LZL9{KvOPsF_b>xmk#|N2zixrX`jMygG9453dZr<%gGt?fT)R zAvb^b^3ZMHJ>P%J-_K-i{P0BIoG0$cTKCxg-fNES>#^$C-i(z;_jFx;WOvu4hj({b zd}L4B!oxe$796>y>%614be)5*%|5y(ZRU~PY18rVsmJzon|$P!)Jex~Nt?Fe0Y1u zUXUISZ%^+2(6$cg4{k~B^1zmMoe$j9tYglM+8x$TtjwUIu7A*_H%0_sdUH(3rMD)8Tz+S2=;iY>LNC8Juh6CU78Sbm!HPncKU`Jl z(nsqGUHW)K=;co~hF+d12Yyta?H{l|T1)Uvm-Odod|s+QAPpRGdwi=UN?VA%iZ7s)kKA)6rqRt)}YSwl0` zTfu({G*F;{0u2;spg;o!8Ys}fe}e{i_m-FZH$2gcOJHj=C^}zxTSl-T43iO)q03oMY;P~?7vY@Zhi0>sSiH0(MLQ!bIjZV4Gatk zno+7o`5n<|36IyG+WvfezowrSk1hKwxZZEY|6c)_4jBpQ59t9Rmuxa53Bun)y-{bi zATf||2yM*hiT32jeT}dECtuVF=ZgB^+|fSh4>1rvdn-scaCna>TCwEH@TBSw#1C)r za;r5xzD~V&_|^1-qea(4VwVcV~a!>+po!UdJXXe)Jwk6gRp6KfUM%e)?`cI&$NVWm-o5rATDSXTW8?7k{6+qFoJ!^ni4N&}Qj-)Kd(E^H&PK_mDUN3CYYy)n`HeK!8ad*@?Rc$R`$hvv57uMAK+MT(T2LKAJ53HPUU*n| zqpBO~4Q%yD^2*HjvhJUB5nP(&)6{%Xq}9_C7XA^n#9hIyxHf*pl`) zTR(H5A97i{b>#9la()jTh2|B zWSkn z0?9LeLpK58^`fgKO-Z}8*UpjWN1s@9W$d$x#~!%$3RB(ir&C8__|xPcn{PPaY`!IM zkCFdvpw0iLc@PyZuJJcFSH0*3Tk`TZ#3bseJK|EyIj|qiEf$#tJMyYFIUMk~ns(=?w#U`5z%FdOXJOFXX z@Y1>Cl3PcxCF;m|H^{LV80tjJ@BM=rj0 z!*@nL5Bi(o7P7giZGUs~kJ8`Bw`lvD&4WyTBOf?Qo8nyO8t2xLkH3-Mn|g{G;gaF?bAwBSwuJR~>1X&uv)g$1b8Spx?Qe>+)#hPx z_*$VShcB15B!_DrGVrG>o?OiX=e8wsrrWlZR}Nt30f^m`l>PYd)RW7^@i)e9x4$t5 z@XZ6&W&u z@;W1KBX)bZBON_?=KzksDLeAzl)GIuQPb93Zdtjj>y;ajmEyg*)z}Bby(}i+_TAIKJzfj@_O$&b_`FpMx!N zjf--}CE5`ra$p^<`(Ce62j?ZtP`LWU)Yp2_-0ccC`3z%{_xi>hz|D^gzB5-$vU&f8 zo^bq4`o(U4e^YCmqaTgU?${FbCiF=x;VhA2_5nHypVt$=51JogydPB8NvEIRN=`xxSIB zl{%8}H=R$;^vWl(zDY`}nQ0ylK42AJkH>*rCiFLzPnw*vAO7vj{prg?%$(AlPnw(( zeDsKAe)<6idXnNC2JW-s-qzdz3XdNCHifoiIJdpmw>)wHckDJXX})(3pw>5X348gQ zB4YK?0(1NzatrjCv@4!^^Nz_^`9 z>^A=K;U7&oz5Ea9R85XWWrRNpoLO{M80ioV>|i+|_xlZ_Jg5=RW!LO=1f8 zs;8b_jrg@5_O{l&zIo*U@HgyD=87SPr`_J;Dqd>l-PDibA61;xnvYszgVUC5-j2Lu zx6+Rfx1w7|PTq~REx&y(xTgK|1CHq=hhtjtd~1&H7ZnEq^`!g`e9~g}^Tc1@Bxb+7 zS;s>vwt&tT;*@}`exgY<`s18$iX3}zX1>4w9W8v#=KD?@+FEhO zC~jBkrh%;+!>Q}$(k%gA-Ey_UM6CuTMW+F^eDg`^<8MA^N-CdJYg`ibqc|$TP3fa2 zVA_lD*41Tn+uEXLYCVzAqp_%y*-XUuZ7OQ^Z3NyW>?ag2D{$4#`lj=46T3|w;N$>Y z<9HUJ&nU5<@zc-LN0%qroQIl!^);IhI&p9-n|rkpIB&rRShh}iS+hwQ*{W?xnbD<~ z9GO{I&K(*mH%thUw}E$+9IFpO_N}ktPqT&ksN zS0E>wEJJQQaCKG$e=0a_WsQ`&GQN8wS*K4knb5D9tku7XtOl;as6IFovH3dv^GU;( zs?R9FmFlM-aHJ-AI8q&cR55vW+_iez>gAI7&pes-bv*60uPNfCJ`2cip9?NiKmAO9Y-JL813fyrS#ii7 zygBlU;a+j^1d_K@>B`}aUGDJ4Dm@+8P{nl?pw5)s{7-gF@|@wC^Ahe&MAFoB=*QtC z)!eY)Vd+AtCBX3~6@ELo7{Q4tz=I$BD^8RUmbMq{^^8j#N`soK8mr0u65<1!`z%fd$U2%9vl<~%J)B6I0{ws!%jQaiP7GhA=4~xiwG=r* z6<4L=t5o`dJw=otcdphEI6}dh3;z@48b>M})l9E1s%GIF+QcQ>-@MP?kSBqQ(oa9& zpiEM{dvB2g6r%ZXkM4}TVz@ID&)Zt?i>(04n5BbO~fN4-0S%D(LbL|ThL(Yj%TgsU$EwDRyw+8YgDe`zoQ+geXf08;-e$aeE`-s$^BcK$*>>t ztWifsPcDDUgnocIXn2ea4z1!<8w@_dUhRTJ$Cjb8Y2zZIc49FR5m!ot)ha8ZTh>&( zf+nZTZ=ai&e!wA^1l}~oA?Vi8qr0nIF`PIqZYVdGtil|3*^=V5zIR(xF3$mMu10mH zM6OKlnB?zoYM-n0qdB;|bVQ$no@hV7qf^`}Mo+{jrD&{Paxl6%=fub^z!mOX#4A_g zxrtX!sqX~9_2*|l;P^{g^UglQYo@p^>2Htksd5E)a)#H>@YNU&En81(z4&$&r{ewF zqjT-^62+zH@L786$UejM+y^XIXWdFa?O{JgN6Ffbv@P{Y4kag(%|oO0G@SP2ts}*c zNRCQy!YOXV?6lx3?z|g$rF8ahCMF?vgA2}2Kj7d?0`C?1-y9v$-;VFCa)o%T)Dii{ zj4c_T)A-zO-a{3?AKVe0YoC{RINsd;Hr3abbPm9KlQxs!U(}D$k2xLbHNE_ zxTp*dmBKPV4Ge8BzSMQV^k@8rJiIeHSM#u$^AgGP61R|pZRVMEI1AW_@7XBkzP?S) z1uy#G12aXNnLR|qq3uL0_|~doFBg@9eV681>(wFTvJ011>Bs2E=c*d(|1;La2yq$sS8)u7k8f+*RUtW?R#)*MD9Xxm@Rl|i(K;F z9=YVheR2_b(Jma2b3fWEXMeOuPXA!HocY;4IrEEK<*dKo23|DHiS{i%e*^jJ9=YIy zO>)l3d2-f0!{p@kX>#0*MsiR}@MQ-Z4Ooo|BT!?;LO(V~FW%vAilY}XNpUd_Ooe{B zlJm^NdlpIFGx9L<99N&^g6quBzm}fdlCjJ+Q#a1=bSq)B{A14uwTVMn%~@yQWARQBNcfZzNh~Hxg|JHxTKg>x=BEiDJrv zI%2`%T5|EMNU>s4X|ZZlh*&?;5;>zRv0*fLVIiBxSYpdq6^AdoFpd>Z8S(BZE`M`# zC6c>U3`h+Tk=@{1=DdWQST284u?gpI;3D(W&)(PWk3RI5ldCs;aQChiAK(7K!jJbq zH~+%kcb>kd+GQ8NiNR$RK0Zgxbi@0md=C4tT;gXFTa}osX-#a-9`cklsBVdx5jIar z`+7DeBK=}wcg1C;I8LVZw8V^FmH>~H0FRXbhn1L{Wr_KHl^(7bY~a0$^*y0y z9d0Ux&E{`Qnyb**lF}16M{@fE-ZU~^9y+h7a^7U30xUGBn!G#pi4Tx-AuwmH`Db6M>It`)6N^s6G3N}L0y z(b=+fDj$h#S>w)X9qVkb)3fRFHbXnlnZ9A(*fFc7u#V$~UceJPYw!dOPm98^qtCgp zO^Ivj@I}Fv9$swor4W~n+;rp_0wdUkjn@>T_ULtIHKw* z{v6Svz9kG-6m(3kJ7SJs8Q{SdC)a`DIdJR9;qo%E8}A?7(4haoH@&;pI!hc4|&V{WC0a`z%Y`H(%{p6$doeeiy%w*PfR=(NC=}B$ke@;^EMMe=>#{Ax&QkN7%`k$c=O|r?6N#F8V6{lDbelBQ70j{A>@u zh}Kgc{ziOMx4+SreuAF1Lr;q#;}E+u5zpEn4~T>9mWQzZGS3$q-ahBX{53x3G`Y}2(n5M>t zG{&`KN4~a1Y;lci?Zl-#);Gp&d!K8sZ@JLVW#mdaBmRj z-j{1YkaI)xp16HZVR^f-S`B`*!pqe>WaKXP^*OJciTU@LEk(q-Db=qqw)gPhMLV{n z{mtPSGkEn5KD5W*$RlI;CLKGX&zZOle^ciG@HHm~;2sy^rypS5HY47x(GhIP=*h;p zh0kexTl$>0p1_CkF8s~M=WL!TPtL@BipS?P2Z_&~S3bY3sK}WXd&LLm-{5Mim_!~b zjqR`EHg#n5L|@bXW^=Il=*YFcdGUD~9WkGT_~{3jz|DYzm@xa@mr|V|`Qn zG(P@j_HTan^ZkQXGYI(yhtJ^92W>EfGo$0a}g0E@es3m0AK zDIabCg@tZ(qTo~te7Z+RS#9t%czsCIc;QiC* zY=3iO{hOF%I3n$sgmuouBon*y@HaQVh~X=zo@)56U%<+4=E5yETo&X}FdPbw&#AcN z?Q=H26!ImVGx^4E`kdmq^YXbo_9?ILDK56pOUPB62u-0Qh})KQOtN`$@?YPmBb%26 zv0L#_=(w$8xA8Zdi=~72{tZ5NUHwo`;5u+H_T4^54kFEcW8$~a98h`3Z*5OHXY%CV zw>TL39-jmM+*|ufiks)x$?e(2TYfo!pMHP= z-pm_+JwX0+Fi`$@Fi8IJaIpOT;X?Aehl|K>A1)3lDZe=wCjWl09HgTB+o8(x>qC+9 z>%-CVtHaggS4U#ymq%*JFOSAS>c}sS)rHiPpC79aX#i;`|9Y&E{0rr1Bl#KSNJDwy zNCSD{Xk&Tzx)x&D_;|5sbWJgDL^UycNVJ%lT}8|o6e*?;jL4lfAUtj`c=xE z+_z%xq^$C}6Z@3AHX*a@weh{nTpQmj?Ao}VrLT?cQR?d0jFMN!P`a16GP+ywOQX6L z`)yR$q8CS|7x`sGTH&9EcPaGa@YK-nhjkAAc5tV_zr%LE23B`fKmR%yQ0|vU%Vl3Y z-E#16FJ%n*+YTPJp}mNgD-u!Ive=h1227?(;xWU zS-|G*bNSQFy@Au+6PVo@zkRZ?+dtl4nSSxzg04e-!g z|NQ3UmcZX`_T#znO@2BzuHld8#?%K6dg9k-2PM4m=%Bb$_x7)K;?AttC-3N8{fXOq zRXu)NM$8kp^@w`nww{qs+}<4lE(?-qLeK=;tcZ|xdFd2C-=@S}Uvf{*M>3EH)|LD0ro zwF9U33-hX(_tjCszY8=_pn(Dn6lkD80|grRe?tQfE+dBXr+!|B-==>jTJX*1OX^GZ z*O%h0t^GaxGLTvE9}S9GNPWJ>F9T4OUq8iK$`5$) zKzS)Y;Kk%-DL>%F&!_kSulzpqXHW4P@GAJ6w;nhjd{IC8b1A;(_xTk5A72D#ImHin z{Ws{A&-16+KYtm1CxMCDL6$-c4yn}v|0sABXrMp?1sW*OK!FAdH1L0=0j7RTKZ3P{ z;GGhhkC^{&zMnr!tQ-EG|AiNylh4cNXPQjxC*p|_H;@=?k&p-oanbm1N+k&KScs`b z%s=9^@n?vURUATGBpY zUkeEF;Tk}Qn?dX>-e1K)s4MD)`Y_vGm+yG_476L$5uY&?V;NSeTDi5+squ&FO>XyA+ih9jr$6lAJt|DG zjKkw);>0$@#8B8_=#jlvu5I*J#j1t95EvSC2Y$~Q$V|uxNERd=(jL+rQXj%p-{^rl z&lfKY|L(g!4_Wr#4gJZ4&laJU} z#0PV5)HGh9XZ#Z|ej69W(SyR_K`(xVlGa$ntJt3VS{M)oI z>LCikm{J15I1>cnbN{n1j+g#RA7c!np6fw6gcJ=OTCslA2J~V+lC&h_y^Om?Ujz=A zB$kZE+|zh+3fszqCwFM98n@Abn*Z?_zrp>;2S<*07L~fy{JB*9itmJ!DRL0cKwV6O z41#opFlG?5u@Ga`(L> zz8M634;xz#SSU7z6)--4gW~953UCJ}6PL-x)H~{pspmERaTvc(uPXhaiW~dHjim?7 zlkm*A-@=+jd{DS@@ne|bb$HGxkbV%_1pSYCpncLW3q!7J3&7yyJaf%ySiEAXVb$8j zZ*4ZV}6gmIJclK#oK#5v^{{cNFlg_41>9qaZ^ zTRq_9&_lC+bg*%33_%I}AjuwGM+d;gaWHWd#^P)VycZ89j#~$L`U7+TJrFmL*l&qr zF@A%ELp#XB7Kq8A1Q?yfck$Ih)KFqhL53vemhV*UOJH%G3M>-58RH!b;rhW?Nqb=K zz&ylxm9JSju;ct*n~4#G9#i&m`QrmY2P0LVaz0p-ZfqczKX}Ikmp^EXN#JtI#4$-2 zzY7m29~}U5!&?VN55xd+;Q&QL4+g^xG2@$(i4{%}=rPsws`d9sdxSJfmr-vPSpfCIj{$Ol@I#4pAfsBSAW_(+^Y53vb zl7*OKG0r)!QO6c+u<@eMZ|sK^rTRl9@J8fl^cpLisO$Q}tQ+=+OvK2<(HK8*Gi>aP z8?*%N<*S3= zSs$*KEBMC7D%o}Y#y{cs(j4?f%iq_*A6XyfN?=*}VaK`sfw@z?5v~1t4Q+qWw(uwW z18~y(#y|1+vK;h1vsYE3H{4?f&l5-QI{x5}2?|5+kNE>|y<{TBPi!I8Z)tiiujdbc z*cQBFW8^^p@lSqYc@FxTrAG(a7M{ORe^}zIlfF2Dz&7>Cm*@{Rh9L52nFy?>2-Q;w z9T+{(AB<1r85^&I9q5}k`sB{Y7yagc%9AT{fIB7Uyu1-Q*dT$02Rq2yAGl63K1@5k zS_0EePJeNOoccnJoOE_Qa1@qHu93_c{qrS{KLB%D0&`jpeqxSH9ES0m{##;9IXck& zx3mSNgFnX~fEnaB{;4Nc=FER(vz+(JCW-!SIR`qRF6O*UC%R?6(h7E55Z$*#AKlbyB%XGoTgs~}6pmX#%{myso^ zl>sJ7nEIT#cg!EyKg?CQ^@&4T$%rnsWCXFGr~{)1*g;HB?1M8f_CLuMxQEJX{4<|k zle75THn|8oFnVY@5#vv;A%P(#%eRPhT1VaCm|I}#?t<4end2gcmk9!l@0 z=^OPp{#1-Um>}4M2OrzIY{0! z&r%p+3y+L+_7BcJ@;d%7^65pASY+WGe;zs@CKxfBXmi8^tJE|`MzyIWV>>6xxQs?h zCvkn7$k=|3WK0%tPj4Vs0M4G@_-CJ5mjmo3>DIyQ6^*XlG`^7BJu_H7yfi=_zsZuo z{~~6S1ZI;wX5)WJ;D5-H~ z?(p@_6u75M9E9A|&!08XCY_~$*7lLPD}>DIx6`{J(gU+@;#3mGz5z&QZ@rp%> z-6e}uqAiq=MI&Jk)B)m8soLe0f0Sz!DJuhGFs>iQpVvN0=Zz7);{3)x|Je;Wzzvcs z-l7h6!47uHhi{F)0$dLHEU`;mdH_b3vIV0Dw@<8iYz*`#un%k2G57K z0Ngrhd}7TL<8yy+|6pPQ@z{Y6Eff2&3SDLai3(y`Vq3(*c7bgO(pPqWmF1s-;Rid7=Q2NkSpvz z_tJs!2l_%D{*aI!eMMpQI=Qp=J_s|vUfx#m%w!ofW zV+-#1IIEA9i@r+ z*h0JnhPvPQAA0|Zm^(jxyyJ=wZ|^_%!@ZLhzQ1YNiF>Pk{N_$eqW76S;u5$z#EX#% z?+gC$LLNQ=Or>1*=mKLvrU9ENxxOWV1tWo_BZ18%o7A)A07Y02rm)R?aTw?bht7(Mv;1LC5JjoKe-)F~??8dR0l+Q!RTY1lg; zCrro!Zf@VEvUcAlqS>$x3w+N%^ZNH2dx8%EdqJXC-odAE+XD6A_6f#Ej-O*gzpm_1 z&yv8tk-*N8z|fJv6;e7#tZK>TwQb!1H%O*8wPZKDH&gc1m=*jTw4?s*tgGm4Wyp2R1u*KY5MY zd=1zNhltZb9T1~~w(y3_7U&c1_(-1su2wF3O(n3UWUWX`0#`|mo#UtQ-!T;}Ssgl| z9+K(=$mVfDvSAHNHj1_FqZxF=p9hu@?c^$SzD)-+nsNNO=)JY^NnCpH!YA>G39yI8e{|5mB#Hm*c54v&{wIENz*_L} zerp}@NIv;spCzFO;%wNMEwlwlem>!jkIbEZFK2jWQ*k-9UxjNLJA(KcDmKvmb+5k{ zPRoG&big&jqldN7L0?D*#D%(up%sUB_P+D=)erjmS3w8TjbHQe0fq5Hj0ow*u0gN5 zmrwY`$3KuWJh!E|oH3x%74%>$%o>d`LOeF5hrD!fBmUqU6EJ?__?FJXLx>lNjWP!oVYwHXP_Qv3xB3R_}M~=|M-DVunHJ6k~;VjI`{&%KzssY3&6dS zz;KZNv`=8IBwnF!&hX-nl5+Oo$g5m0sRQN>Mh8j{E<4CCCj3!uV8pBfUWJ4nB=BJ*ZQ*MlTVQN(`-IyTe0?I%oI%G1ch2zIEv4nW zVNt||QEQ*C4va1Qnf`$M*>C*7fLZm!LzaXdq{cQ;dT`qUeImd3_z~lyYn?dnvISp! zGk1J^eNSmQe|R);U!>82vW0)6KVY4l5DF}6TGFfQch6DmHs zVuRZ!em7@8F8%iYGIG(Vs?PZR?0|7W+X8*zM*QJ=Yov|~e&fg3SJ^l%0rF?yv;1@@ z7*a_7c&Lc{;ZO|soWYepo1IV}%jBIh~?TIZeouAd>(tC?rT>fxX^UEKt zZwB0zCcs^3botY54K9DSqu%8UH`l%V+4ee@E^Ljz^vR~$|9F2z&5Q3XsqyQ3i>m&5 zenIrF=jT=V^_@8pzrHi8(l2k#sPOY!)5`t)=9Dntu$21g^>M}j_QHsw=TD3%{KBE3 zh0Z)QsL+`Q2ZTQNK;Mwl5A=idx8EP^8;pMkpLt*a-m`*F-7+PYfwfhyr05*A^V?z&`|%htR(_p#jEWF^=6ei zWxp3%YQG2R_W<*L%KmzQeh>Ozd)MO)vfqQGdDr8J{x^*$8WZq`UTm6TL%>jo!HHNJ zi+>cn3N%olfdUQuz6Q9j;C&K>eO2r$aSOj@gx|ydv;WJzh4`^* zMwPl3{eMgG_0f<%kS>sRkQNa3$g&rZpd=Vc#i45YCY5YW9u zRGIlzI@Z3s?zlFuByGz4Chfsdx#ozC=C)pXK*n94qaYwn+P|6I?hXy+Yl{h4Fow-k-Fv`x_Z|jQ$C|H3Gdx zf<0HdCt0xHkUf_fN5+Y6=*d=NI5>v-mr>|JhW^Q?tNO6{{OrSKza{&RD`(XDrBuVp zZ-tgGdN2Owd<#UGx1O(Izizz>{R+suaz*+umk6T85 zIpp}9T-JgQCRexJODP7RN234ZY7BPY*dtQ}`vrR)Q@ymp^pIiXamsxO`&Je*bf zp*O-FgHSz_90P=7Fgw7!kNKo%^{^wr448}O zX1{AKNGS+)u3n7>wW+H)3r#I1xp<}S*T5J|kFV-i5u6M3X>bgx$Ge|vE;t6xMNiwF zM9=%isUBW(eVYDFdoEy0dD#=jVCKRehwfP&Rxh_gm+F5l5nt}XpyDB!cyNwEy}GX( z9FN*s@WtN*j_MVP=Tvieg9CPnK)(g%Vxd5vvgUxF%P|PplR&Qt?FnX-E-{w4AXD*_K*B4PEJQ7qQlqt4)_1Ziljy#g4&lGil z7z65JQ3I;&NzH}bKVcN4e;77p`XxDzGOep{EmW`GTSmrd?pameOWs-b%Iex)au<7gUzAVKp5|jN zocf@oCowUaW3+=CyXIqdjkG}+n)M9I9XK5i|_q<_M~~suV+t{y2d)s zpS5jtoaQDqeTo8no9NF|b=KrG-625@AmceuIin4^2Uj3F^hV z#|cwA>N6M8u_x4$`}j6|!X0Dr+3rIY71KS>-*@|%IC5ip>OYmdW?`K$ zenAd-g*Sm%SABHuTOS>W-U`g{)jd5swL9WHRZOel*w28Q$H$?+Nthn5UfV{B#*ef6ru9r;oJ)F_!(l%AOcwZ9I%8vECh=AtTe{WO#Zlq59bDem-X|SdZ;v zPvp+u+D4kG2)xm?G zT5(j{?_pxV-IMitx71nh>@^$liDP(bo)~;+ri?`25qZ>|J}k^djg0!TX77fwdT(G$ z^uqd}>+0>f(7ozr&4WF8#aPTm#m=7RAGC8~9J$faXT>pyR6Ku$q!>}AA^6zqmKSkN z!bDP=5~639qGD8^!eZXg5Ro%JNX$GoQLT6ApRoDipIPc>PeTsR5)rAjML4<6F^2Fo z2<9RTJmzKVg$vXGikNm7PnSedGoyj1nb}Cx$Z9B}vygK$&SDI1u6I2SQK55n$9@Ly zniPlr81lQTKB;B5bjiJWMu@zBQ6PI_gy{!iPt1{}7WwWa_yooL$0w;i5VPKCd=WJl z+MdL)!?R@sdOj3qyY2zv7>c6TMfLxvo)^VoZ}+@lOqH5fmFy3T>)9CNK<rHd zo}9{_9JSu5HCyLTZhIPebe@RlR8uHkc<_0n4@Yn=vN{Hf%(eldbMqk4qCu#rQ>Ubu-5+t!!zouy9XR?! z$W^cUBD77BFI#a#u6Sy?>Is?gqG!E>Jvr+gazHWW*h1C&K<;qU1H!q;N)9Hslj(gR zhnnFoHeBj*Xj;%!(;w=y=85thsyg;Fa_@{d^f)+N;P)Nwl8d@k#g9rpG|YwKNvBPb z=hE2JO($n4&TsUDgEt<$=*XWaGtRC>E`@);yg^KVZk=d6x}&Jo3%;0wb*dxc4|u(^ zl7nnc?@lg0Z<|+8aa5D%d`Op|t9sq`ta*C9E8pJp{G<2HiUSw5uzM8t$p;@vCvUK- zNhg;g=fc#S!luYGNzQ4pbW3XP)cqsnRK&<>$SEeAT_;DJx=D<9Zk3$y${IQAt<_@g zD~sfUXQ#@g$480f_x6#CHzvusGh+p~TdullsMK7jT0-!(vG;=ZG&nWrn$x=tUSvCe zLN3xXPLyxwdH#j>t%e;TD+IP+AW!L%I_N06pI=EOSqUg=2cfSePf-|Gr)*fB2SBpMlS4>G=zH1H7hVp!& zesd-2+r9YkP`|3Us8ORPP_L+X-^Zm}xoyDvTQd?o!4)h~Bi!awCdV!2LveErNDdXP z>jWt7TZ~EY|22c4X7L)v;&3WsF1)x&;oG#SFY|oBJiZA2>rkvqW#O;YP;+;Ssk1`e zp-^?%s6W*0I;7)7peer8W6`q#v1&L!82FUE&P#kBANEik^-@<&9p%U1Dl|2esHY{5Be~L4uK~Hi zRUNI(-DrBSj7@RP5bR0RYlb+!p~BUE?L%ySJx|T3;fpgh!<+}xOJR8QY`)=6Rxak@ zXZZFf!&9sm;oC>y+qa?zgXfFt1)Glj;x2EVyiYI&)V(QwJk)zRJYD4ML=C9J^@ccQ zbDL|MQvPkP8Hx}0#HNZ@`?e49@J&MZ)Ia9Ii(`_u^n3P%F$j!-@rgfM**rgNIuWN_Hj_KraQitnW%_@VeOn{z6ly{Kehichoh?nzK-%Z^6{-+uU-t ze|v1oQ=d-GRC4bsj`?S|hvWGRu?ClXgm#@>OT~@maLDSpApaokiSuCUZOMabdQxnD zPkYVg_?_p6U&b0vIL*N*zQP!cO({-6a^<;g3Vwk&?DgVOgiRQ~RamrpZ#0$G4bMgFAb06BZz#h&+Q}^k%C)>B%=06u)?=W`f z`LR~TqPA1G>Rc6%p|0&D2d!QIZ`%|(Rax^+K2^u2z^ktMV6=a$zA&yCFYm1)`gSPF z8dmZ*np$4YgS(!a&tvR~wrzS`$Q_$!jD;_Go`1Jh_2(mnzxw5ou&;i3w8B?EKOXtj z&&R8O`O^~#U;cQa!52R~)%5cpo^JJ*?@zY9@cqdSpMH0$OZk@cD>_}$2QEY^T?X1aYvVpt$ujfxatR2jIZ&~>d7@9gxtSsQjL38 zO{{+R%JJ3im^Y;IZBzP`x)rsSd+_{D{4{?2!Bb-bKRh`#@WW^31bujVNzjL9Rt0_d z{Q95|U)Vqi{P4w%5WK&zKH!7r*95$EVs5~x2gU`Qx_=C0)OFVw^EV3K3p7xmfj>_J zc2SY8_>$LqzlJI>{{K@}5Z_VwL?R`50nf6;vQ!;Zv}N(1yxCdGcia}LcX;-H>-!}> zC!SBeV?3w$@3#N?^Iib`l*I4*J^k_$DF)IG;?!yJ2EX9-|B?o{w(-7}_vdcm*C_n| zf98w7k98WXdtjbX2a*J74yg;_9db1Y>tI+H!Fq!mtx>?Y`n}wLk97-;i-ngO5z#Jo zCpZ9}YrVebSFP9fyoxic&x_YA`&3ZTkPY~r(U9(t){q1UpM}rC=f05_zmGXcOrerR zQo@^5U07#Oi-(hzXS~<-o>9M|(RO2|*L`)xwAk-U)~)bjNa?~m@H<9ASnojH za9_px7S4zSr$zzEk(mc1?qglMeh>-l6vZE;wsS z_zZ0~;P3NZ%5!I~>Mx=OC(6pbYX4fgN%(7pDi+%XOUT9_WuG@|lUS>uUWH2)4M<(y z_ues2FS$x=CEo4xzDC`1sC(o&xG$T9x{4Xw99{hhHk26!lh-=u*4Db3pug)<>z=nB$Ai@?MyDPs9SWpJ9>2y}Y_Fvg-6Y48%DG?m6+kiRp_w-z(6|t*iis;h1aOId!M5@1ju?;LJyd4OtpH3ipM)d(Lv{Lf=a%U0^<(J99omcHO7V_@|t@ z=?w2RiIK@WP2${)e-^s%nGbWX@1Bp28~Xyg2zV_9zsbJSuyx_7Yw^s7(Z!I&r_A4< z{_N^A#F`=g5V5$X0C$LY!=CwA0-MNtK00me@4??R&%k?$yyk;1YnES8IdGw^=pPZ%{sDDi>k6rVr4l5_kCtQh;7fi zOwLE@#(_2tqkaa3y?6ujQKf$!=kL#Ze&d-%uWgh4_f3$v-@_ehC0V^;m~7UvgiKE< zCWrJWEGIrX(={J9hBE!5%f>-A{+q^v3~y0QMzyO2jLigDEhAA@&xFnMu1L*?$2M_S zoXnhvnYAFi1Xj6EN#m+L(R3)8bj+>=Uz4_h8oxxcwt-W44XKhWjhx zF&3#@0+?$h6!u=pn&o6!V9iA&)sV408<_hx<)gSebpHO5m$scDj@-`2hF(+naX4q> zT?n!Bh?U0s!TBfW@;=JtAE<$We{|hA82DenfYSJ9ZJLD2#&ttvt=ffUcx-W53OHw_ z6DrD>6xf5gr-3daGvl4VzwDKp&k(=rmgB>&srx0*IibRBBYxkaQ}b2r0q>J=C+7G^ zw~a%*Ft`SE3{+>#=B%IR{rp-|YI))KDQpw>M$X?~`RdLyYk(iM@5IPl_Pp~PT%YAD zEIppNE`4?(Y6jpNz)DkodUg%4W!K97w@#9=JsQX=op2Y5d#wJ+fw{!K!daM9cR%?1 z#QW-!Uh0~vbI`VldmrcTuYG;bnVk1-lea%RPGR<#dj;YZ@veBRrq7nMVGX&T!k;BafKqf z*Y^DV`?gmebYNzKyB=)0f|xNp$K^eZId9{f@ZN_#zr=hYJ`Ug6_scUi-nZ~?QP(*8 zzh=(X@GRyYOs2F5{k(j9_@U^wwGIFqbaU3+A;V4lGw-<1?MM6?o{Qr=S>3bn{F0ay zyffk1B=I)*`>9iWO^)qeMB(D4r%Q3&czjTP5-$$2fo4iaQ;5d7oRnK^z0och5+V7=|as3bV0lT z&I!&$)tt~iiJfxKvdY5r!5bWa8=Md4@Be(X*z8}QuCw>zGtKt?db-2jU(R;l^YaUR zcK`g+z@0z6H2CHpUmCpq`{(;@{qAhvP2Zl)+VIWk%=LeNuGgBsJ(IEO)rZno+`hiU zvVE&sFWI}Y<>EanS}feNyv6)mmNlEZc~0VN$gG`<8_n3gwDGiEiyKbaK0k5d^086l zhopq0oB1zz|G(3KeU702D{!oE!D@>$m*^i+Bfr$%QwHGOg7E!@?rB zMv{f?=A2?EE5iT({WAM{?iG#vt9yCwYq<}u8dAJaD)!Oipm5fGH-*GQVj$d;@&5Zp z{uX~EV+7e!UAAvAL_Do&?kM5PQA*WgiO?4bH9f@r|P3#JF-k9{I*szb^YE)(CSVL9Y|swRthIBT(x z|FTAu`((R^0Q({EgRqA~wpiR%==w=j!^-+qRimf&r054=Zv)3NtiC8-vrNf^E{)2u z&K5OCY7fYLs9kGr??Z{Z&VGw*t*@4gy4m|a=9A2;&A!v@zm2}I-z*kerevM8#^qQG zJNc;<>fu;hsrE$SB?Yjj1@}WS9ph26hxy=GP_qZ_#*+2B zH7|!cH?i&HU6JD;7F%RCY}wW=dv4te1A7TjB~&RtGB zi@HCY0i>-NB%(UUqb94S7}zm@wGON$Q}uAey9DH_x^H{#MbVhjC7btb8@B0#J3rq2 z!mM9Zj;8ZO?ql{YE+d9cYbyK9?I^p??kFd0=qTrIY$X@1Oq7czSCZKstz71)%neb8 zAcuAi5YcG~HkSeF>=0jg9;aUG7lwBrRupnDRd>TYaQ9?Ov_-v5Yy_}eqb<>~0rm#X z0|hVd{fF7xP+u5xabP)@ zLGCD6ufhBkc_Z)B)m=KqByg9_IsoSItlyIxCWJ9>7Cm&$0>{F8e&+21P-~&}MZ8ef zT@@eK)hffgeAXlI{u^Tvz_t>^d1E~b>WWnT2kQ+u|C=Y5<-NA5El{~RY6`Tzh|g&B z#hhHkRk4Z>Xdh7c^P}}$_xp-9C%Q)#*KN zWUZckI+W;6{TuuFUwuc;#5*6{i!HGvmbD+TOfS8mW!fI`seA@*elPPdUJu1UOdi&b zEBt@{#oWWljr?`aZMh;9N^}TsU43D>hLJae`<3f|5~Lc0eUk2cCNQ*kq3Yp{st&3< zpvCq!%X+-j?XFS3u*b0*&eIcTv{OBqmAcmau2lU>PllE)G8;e7^ZUXOtKop8LFm6y zF`nmdT&u{*#WQL4wk1w$XRjSRkLUR_*1w3X_@BdCL_UUGA+f`ZjNv@TVh3?c;bFj&HAO*{jADkriu{ zl;|a}v86Gdu*TtoyDu0pe9H?<1o!SdSK>L}yfZ7fzNvGy7E@Cdo_}_y09Ct8tp0jk zqf{S7=?0Yt_ntneSHCuj&Xe%J~T!oqZhT$n7VS}v{*T9L^;;E=Can1XASk+ zR`@(7J>lir9qOebrpDYq-6D*AvCt-HWY?L#7KoMCd6{TqzFkai!h}kV%_9JWebr? zC{(Js<`&s7Ha5QN@%`!hAADbr$9bLCc|D$w*Lj|EUa!~Vak2=mcyTcWF#rI>ogD2v zgmcQj0TU7GmC<}20EhsD!$<7#5r-k${yG0w;_5<$hN87S2n>=^(*i^w!llp_Y7v-d z5bcc+tVWvxi~RHGx+#c2z(7cz(1ybQA%y~giGZPCeJ@4B<47o61i+t299|d2dBbF& z(wYdJGif&m!l}PE?o4fHok>$Pm%jXC)hId}unW)*zheKO@JK^(;`i0FeM=f>MX~bU z9nNUL&R+w+Q)54JpQpBSoCU}s=;+fjR9u11g=~YE8-UX(Rlr`2dEkY98Q3%r;twez?~6Uzl%a*LIb!v3RI2P{mAc| zYx_9SX6b2MK9pF=Of2~p<(K7**a5S?{_srC!X8hgp^uW0pE6*5R2T=a^#{rPa3^2Py-3UC}Lmq!(Vm{YfD66=2~SPY>2}MWTqxS2{@* zU$cx)sA$KBw-`l>i>j0>ynm(qo`@UfxJLyZa(yhp3j_Za~`vP}T*JrrIW6qvp@SOsB=H$I{+^b=DEln`cngWK+;wFdcJwFO5M2U4TZ zamU~n%jKOdWUS4V2o6RkoFm#U0b4*E05L#!BZL_aM0>b;0=uNO;Jd{^+e8i-AWhWZ zUJ~(^JloCF7XmPpOdjw4`~^Yt$HmPs?~zeE-hBVY>Ry%lldGYBi{JdJUF)cCURztA z&)n!)thPl4Rl|0mh}zhvOMO-S^M0I*%l$?o70 z^6-3V*bzBzg)3fCp?2=bf~Yc=Ax zHdH_Kx4#PgYt}Wk<%^Qh-)nr8G3FwD<1fO-fo@#dn_WemTo%D#$Ct!DVO2#UUU>!I zu(xEUXyC6S(^U#-c?m9&3e$+jvdwW*N^F1)uj1C?GEa@FGQpRd*0G=`Oyo9cf^SL4 zQ128{C@NMkTDs`k{P$&2VdL4ao0MLs6^*Ht5z_Il=4gQoC7WV&S01I1>(qG<7wkdy z@E}|8Ws=%y_b5BWk?79;4{+bhH2FbUKBTP&X2*lX= z_Z@pn4hKDWY|NKHXk|^wx@t~>t>|Ur2(n!lSJIM?za_yf+T*PbGAgmce!To0<_5WI z`#Yh^T|0&Mdx;Hwm5`w9hJa1n*5n(X*^J0XNn2=Nr=6qMvAvCs$1H`U&LzyQoDeu< zFhYDgy~lSM`Mram^xzw(syG-W*Stz<2F|j>LRGjQiW4)S@)J=X+;mlszo+W#7-b#U zsq!WY?9VFUC{Fhjz$^waQzYhg@ceqwvggDeXvJ&p<#N<@`lV;O3&XKWZn+#SYx^N3_)rH!@Vs&B}7b zB@3d8z;Q2HEijYAx9_a~@rKR#Cft6@mX-CSjctn_Lhb5n=IABphv7U04hl4>zGocX zs;7IyYq?r_l4IJxK)X8KTz<89$@K*!vzDJGVzh{nisY+5QU-75IoZlAM6;4466}8;xABu4!pp?aQ%T1J{`dk zBJfK_rX^r65@r~3q^Xri4z1C9M$kO;?+S+MfD z8tMFM2YG93jlS`Px+OEf=J^lSFH$-X3}0*l&`EliQ-QF%X<``Sm^S!V0C$sC_!iPz zasF&}W~RKR1aspMCf1Aesu0+h!nU2(iWrER9(}8I>ljvsyX`^~iTFebug}t>zC2T% zR7;hnwIN0lHWqqro6{H@{Z)8#)oK2W73?TFUZz4*M~CL4#%ekQZJmS+xC#bJBvmju z@O9+perdVr-CD4Q-Rn_(n~SaS-N8tTu@FhZTuR(o59k0(c6k)h&-X6m|4EA$8u@fxN0FH6hIYrp;0#wO87iMqy) z<0tfySgN}G`D?=u-5{z%f{is=fIoroST=IJ zBP%U&^`}9Z{z`)oN`(=)ndA&$e3y$mnv)N-`AJu>+zg1VR@&MR7|g=A)nahtE&2=+{Kd7CV#lN&)zvdKfq>gvlt3m2;96+YCeaLa&R zJoxg$U`>=K;+La&ib&3-l~qLuDHU(uD3>df;L^C5IT8P)+mT2GY( zn^I*nuiz;^%*fCGBI$NYl=_j*}FiuEA{GWEMO|=`Mcir{D$7*Kls^VafZ)ZE&`u+#kFu_ia;s>3qo$ahzS1V zigSMo3pAn&>wxpW?*lz6fe{u$q9zKq`EW#%{R+#cmce{(4G;JOAAg70xiKVAfaUyk!MKIf`g-QBtWExGc!zjn%~xQ%RR zCN$%m;3&f2xE?n zn-AMtS;g2)NPiZUJSxcE*;Aq+%^V#)m&co3uVnO_0IEt(I;pX>Ft#jby)i8~?50c-ZMdN&Y+NYDjMH z6fNH@rQMqBThEiIYj+1LKwotk9u?f!?wVqql&PPTYlmY98;;zg7rx$TB(LWBhqYV$ zoSYn=+p@xkEU-xtG;3&|=6y;lKYA8ax4GRF=O@S}W7yo*YNkB%w3(& zZLIGjVp*|{(A944(<-<7Nu$A_UmOvlKBFPIXt)P2pS;K%cl;ryhY9$=MaLkkp)Iw< z_jyH2+1au9;j-PyU2L~|;G>PbO8!HV3F?)XmNl%#4nZER{QcsNWi_4rw$gyf*_y=4 zfOP(dVr2eprUm{qB*{07Kd+C^)8Djc`v4jEL;UF_xFK$bTNEbUWmLr7q)}Or4tF{X z6!J%O^U8_a%)zVd>E67EYUuN?Zfx^Pxvyvwj10>-6C4+ww8B-4jEwnu_CQ>X5T-gh z_2%Lz^EM6Z5F%iRf^_D(z}EiaX(!#$p?o@ z>Zl2-NaSw&DK4m4uUZ+P7ErE2qOW7a1_)H3w^a~#2`1!Cy$Y?kv_hy`jpONz> zD~(^Pr@DDQxXE5+jnDloQ>GU>KrfXh+5k3s7xyrQ>m~s%SE=Y)&URbdHIy%+le!an ztQ2EAmgWeNN|f?lvQoO@JudE=MBGeXxV={*-FUmbz1;m2g6KVo@;J-u47GTJ&8A=1 zo@b`sJH>vR8NGhYy2s}QHcJ4?sgm7v~ONS zfls@Fe7*-)6TbH|Gp2~TrKF~0S$}65Nw?0Kjp2>l|M+`AQK{6e*o`H6\x1c4\x14\x00\xae\xf0>]2\ +P|@\xa4\xedx/`\x1eQ\xc4\xed\x013FO\ +x@\x86\xc6n\x1f9\x16#>\x19PtC \xa9\ +\xdb;U1d\x94O>\xbb\xe9\x01Qo\x00Wy\ +7Z)/G&\x01`\x831c\x1f\x0bCG0\ +T\x22\x10\xa6\xdf\x0aJ]\x10Ne\x92\xca{\x89\xc7\ +d\xa8\xde\x93D\xa0\x89\x1d\xa0\xd1Gn3n\xa1R\ +\x9e\xe2w%\xb8\xf0\x17\x97\xc7\x18Xn$q~?\ +k>3O's\xadU\x0d)\x1d\x0b51c\xc2\ +\xa1\x82\xbea[\x87C\x02p\x96`\x9fs;zY\ +\x09u\x9d\x18J8\x12=7\x1dPF.bJp\ +\xc2y\x00\xff\x00z\x00\x04,;\xc9\x0b\x00\x00\x01\x00\ +tRNS\x00\x17\x11%\x09\x19\x0d\x01\x06\x03K,\ +\x1c3!\x09U\x0e{9\xf9C\xfefq^>\x97\ +\x88\xf9\xf9\xa5\xecq\xfd\xb9\xcc\xef\xfeiW\xdf\xe0D\ +\xf9\xec\xd1\xfb\xf61\x1f\xadd\xf6h\xee\x96\xc1\xdd\xaa\ +\xf7\xc4\xad\xb9\xf7\xf7\xfa\xec\x88\xfb\xcd\xf6\xf5\xfe\xfd\xfd\ +n\xb9\xcft;\xef\xa4\x0f\xdf\xd0\xa2\x8f\x83u2\xab\ +\xbb\xcb\xce\xdc\xfd\x14\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\x09\x193o\xbfu\x00\x00\x0c%IDAT\ +x\xda\xec\x9aiT\x14W\x1a\x86U\x10hDQ\x14\ +\x04\xb7$\xe8`\xc6IF'\x1a5\x893C\xc6h\ +\xd4$\x93\xcc\xbeo(6\xb2)\xa2\x12\x05\x89\xf4\xa8\ +\x11P\xd1\x91\x88#.\x19\x04Y\x04\xc1\xd6F\x81\x06\ +\x8c\xa0\x10C\x0b\xad\x88\xa22\xda\x86(q\xc1}M\ +r\xce|\xf7\xdeZnU\xdd\xc2\xaa\xfe1\xbfx\xe9\ +\xe6\x1c\xff\xf8<\xdf[\xf7\xd6\xad\xd6\xee\xd1\xa3;\xdd\ +\xe9Nw\xba\xd3\x1d.\xee\x8a\xfc\x1f\xe1\xde\xef\xbf\xfb\ +\xee\x0bBF\xbf0\x9a\xcf\x8b\xa3_\xe4\xf3\x03>?\ +\xe2\xf2\x0a\xce? \x03p\xbcUc\x90E9\xde\x80\ +#G\x8e\x1c\x83\x1f\x94\xaf\x8f|Mr\x1a\xe7\x0b\xb5\ +\x9c\xfe\xe24\x97w^B\xf9\x9e\x98\xef\xf3\xf9!\x9f\ +\x1f\xe3\xfc\x14\xe7'8\xbf|\xe3\x8d\xb7$\x02\x98\x0e\ +\x12\x9f\xa1\x94\x97\x97\x1f<\x08\xaf\x83\x07\xf7\xec\xd9\xf3\ +o\x94\xb5k\xd7\xfe\x97\xcfI\xf4#\xe6\xf4\xdfo\x5c\ +\xc7\xb9t\xfd\x12\x97\x8b\x97.\xa2\x18/\x1a\x8dI\xc6\ +\xa4@cRxRRx8\xfc\x12~\xc3\xaf\xa4\x97\ +\x15\x0d\x1c;\xc6\xd1\xcb\x09Z\x84\xaf]\xb7v\xdd\xba\ +u\x1fB\xfe\x09\xf9\x08\xf2/\x94\x8f?>t\xe8\xd0\ +\xc9w\x02\x0b33\x0b\x0b\x0b\xe1m\xca\xc41\x99L\ +a\xa6\xb00\xfc\x0e\x0b%\x89\xe6\x13N$\xe4\x02<\ +\xbf\x9c\xe2\x0bxD\xc7\xf8\x0f9\xfcG\x98\x0e\xf8\x95\ ++W\x22\x01.\x99\xe6o\xde\x0c\x02\xec\xfa\x95\ +\xf3S\xe3+\x05\x9e\xbd\xf8\x84\x9d/\x8e\xbfy\xb3(\ +\xc0\x1a?T\xad~\x94\xe7%\x02N\xb5\x8f\xf8K\xbf\ +z3Z\x13_R?d.-\xa0o\xf1-\x14\xc7\ +_\xba\x94\x13\xe8\x0a\xcf\xa8\x1f\xf8R\x01][\x9f\xc6\ +/MD\x02\xba\xeb\x07\xbeD@\xdf\xd6\xa7\xf8\x89\x89\ +H@\x7f\xfds\x95\x02z\xb6\xbe8>\xe4\xda\x9b\xa1\ +\xfa\xebW\x08\xe8Z|\x9b\xc5\xf1\x13\x13S\xaf\xe1\x06\ +t\xd6/\x17\xd0\xb9\xf5)|*i@S\xfdF\x1a\ +\xaf\x10\xd0\xb3\xf5\xf9\xf6SQ\xae\xbd\x14\xaa\xbf~H\ +\x82D@\xdf\xd6\x17\xc6OM\xdd\xbaU\x14\xd0^\x7f\ +\xf0\xf3?\x97<\x92y\xff\xf6\xbd\xf7~\xf3\xeb_h\ +\xde\xfa\xe2\xf8[)\x81g\xd5\xff2\x82\xbe5\xd1\xf3\ +\x03\x97_\xa1\xa7p\xd6\x93\xf9\x80W\xde\xd7\xb4\xf5\xc5\ +\xf1\x91\xc0\x8dPm\xf5O\xecax\xf6\x87\x83\x09\xaa\ +\xf8\xec\xb2\xb2\xecDI\xfb\x98\x9f\x9dM\x044\xd4?\ +Q\xcb'\x84\x09\xaa[\xdf\xaf\xa1\xb6\xfa\xf0\x81\xc3\xd5\ +\xb5\x85a\xc6\x84\x963\xe7\xfc\x1e<\x06\xa5l$\x10\ +\x0d\x8f\x9f\x85\x0d\x0d\xb5\xb5\xb5\xd5\xd5\xd5&\xd5\xd5\xaf\ +M@\xb5}\xbf\xe8Ld \x0b\x08\x99\x1a\xaa\x0f\xe3\ +T\xe3\xccP\xbd\xf9i\x16`/>\xbf\xe8PS\x83\ +LA\xc4\xd6ri\xa8\x0dT]\xfd\x1a\x05\xd4\xb6>\ +\x08@\xd1`pX\xc4cp\x03\x09y.4\x99\x02\ +Uo>\xda\x04T\xb7\xbe_xh\xa8)\xb3P(\ +\x81\xe0\x1b2\xf1]\x10/>\xe0\x02/P\xed\xec\x99\ +[]\xf3\xb7\x91#\x9f\x1b\xea\xe3\xef\xdf\xdf\xf7\x83?\ +\xf6\xf6\xf6f}J\x9d\xa0\xba\xf5\xfd\xc2\xa1\x82L\xb4\ +\xd6p\x09\xc0\xaf\xad-4E\x1b\xc9\xdf\x9f\x80\xd3\x92\ +\xd0\xd2\x12\xacz\xf3\xab\xae\xacI/\xadhlj\xed\ +wUo\xbc\x94\x002\x80\xf1C\xe7%\ +p\xd4s\xe7\xe0\xc5%\x98Y?\x12\xf8\x06q\xb7o\ +_\xb1\x1dG*\xf0)\x9f\xbbj\xa7~\xaa\x9f\x11\xaf\ +\xc2\x0b\xdf|\xfb\xed\xcd\x9b7\xaf\xc0\xfb\xd1\xa3G7\ + \xe7\xfc\xe8<\x08V;{\x12\x9e$''\xafX\ +!\xf0\xb7K\x05\xbe\xe4\x04\xd4N\xfd\xd4\x99\x0f\x1f>\ +\x8c\x09\xfa\x1c\xd2\xd1\x11\x14t\x19%\x08\xae\x19\xfas\ +\xd0\xfe\xef\xbe{\xd8\xde\xde>s\xe6\xcc\xc7\x8f\x83\x99\ +|\xb4B^\x95\xf0\xd9\x0d\x14\xddU9\xf5SS\xa7\ +\x99\xcd\x16\x8b\xc3a\xb1\x98?-*\xea\xe8\xc0hI\ +\x82\xf6\xcf\xba\xda\x5c\x7fs\x86\x12\x9f@\xd6\xe8\xab\xc9\ +4\x9e)P\x04\x0d\xa8\x1d{\xd3\xf2\xf3\xf3\xf7\xe5[\ +\xf7\xe1\xe4;\x1c\x0e\xab\xb5\xc4\x5cb)\xb2t8f\ +]\xbdo\xaf\xeb\xeclm\xcdM\xa9\xca\x9a\xc1\xac\x1f\ +\x0bH\xf9\xf1\x0a\x81\x22\x18m\x8a\xda\xa9O\x04 \xd6\ +\xfd\xfb\xf7\xaf^]PP\xb0\x13r\xe2\xc4\x89\x82}\ +\xf6\xdc,\x9c*\xf4\xae\x9a\xc1\xac\x9f\x08P\xf8\x88x\ +\x85\x00\xe2\x17MQ;\xf5\x91\x00\xc2[\x11\x9e\xf0O\ +,_\xbe<&&\xa6\xc0\xde\x94\xc5\xa7\x0a\x090\xc7\ +G\x02\xf4\xf8\xf1\xf1!2\x01\xccG\x02\xecS?{\ +\x9a\xc8'\xe3s\xfcU;\xed\x14>%\xe5\x02\xeb\xf2\ +\x8b\x02\x22_*PD\xf8 o\x9f;\xf5\xb3\xc7\ +*\xf9\x08\xbfJ\x14\xc0|N@1>\x11\x10\xf0\xc0\ +\x975\x80\xf1E\x96)\xac\xf6\x11\x1f\x04\x18\xf5\x03?\ +j\xb9\x9d\xc2\x13\x01\xc6\xf8p\x9f~B\x8f/\x13(\ +*\x12\x05\x94\xed\xa3\xec\x1a\xcb\xaa\x1f\xf8\x9c\x00\xcfG\ +\x02\xca\xcb\x0f\xa7D\xc2\xbc'R~\x9cR\xc0b\xb1\ +\x8cc\xb5\x0f\xf8] \xc0\xa8\x1f\xf8Q1v\x9a\x0f\ +\x02r\xfc\xdc\xe8\xc2;wn\x97V\x9c\x0a\xa1\xf0!\ +qJ\x01\xd8\xd3H@\xd9\xfe.\x94\xb1\x22\x9f\x1a?\ +**\x0d\x04D|J\xee\x05\x8ao45\xdc\xb9}\ +;\x1d\xa5\xb4\xf4(\x12\x10\xc6\x8fS\x0aXP\xc6\xb1\ +\xda'\x02\xac\xfa\x81\x0f\x024\x9f\x13\x88\x86G\x97\xdb\ +55\xe9\xf0\x22\xf8\x8a\x8a\xc6\xba\x10\x9a\xbfd\x89T\ +\xc0b\x11\x04\x14\xed\xa3\x94\x8de\xd5\x9f\x96\x96\xb6x\ +\x95\x9d\xc2\xe7\xe6>\x85G\xc4\x03\x95\x95\x955\x955\ +(\xe95\x04\x7f\xf4hS]\x88X?\xf0\xa5\x02\x04\ +o6\x8fc\x8f\xbf\xab\xacl,\xab\xfe\xb4\xc5\x8bA\ +\x80\xe6\xe7\x96\x226\x0e\xe6\xf3\xf8\xc6\xa6,\x10\x10\xea\ +\x07\xfe\xfc\xe1\x94\x00\xcf7\x8fc\x8f\x0fi\x97\xed>\ +\x9e\xbf\x91\x17\xc8\xcd\xe5\x05\x98\xfc\xa6\xdc\xba8j\xfc\ +\xf9\xf3\x95\x02fN@\xba\xf8v\x95\x01\x1f^\xed\xac\ +\xfa\x81\xcf\x0bp\xfc\xe4\xf4J\xd1\x80\xf0\x01\xdf(\x08\ +\xc4\x09\xfc\xd92\x01\xb3\x99\x08P\xedgs\xe3\x93\x06\ +X\xf5\x03\x7f[\x94\x9d\xe6\xf3\x02\xfc\xf8\xa8\x00r\x05\ +Z\xeb\x96H\xf82\x01\xc277?\xbdp\xf1\xfa\xb9\ +\x07e\xd4\xf8\x18\x0f\x02\xac\xfa\x81\xbf-\xcdN\xe1\x93\ +\x93K\x85\xea\x11\x1a\xd8\x00om\xc5\xcf\x82q!\x14\ +^&@\xf0%%\xcdM\x8dG+J\xe1\xe7\xce\x85\ +\x8b- \x22\xa6\x1d\xe3c\xa4\xf5o\xdb\xb6`\x01\x08\ +P\xfc\xe4\x0a\x09;\x8b<\x02\xc3c\xa8l|\x99\x00\ +\xcf/i\xce\xca\xe2\x14P\xd2\xd3o\x0b\x22\xed\xac\xfa\ +\x81\x0f\x024?\xf9h\x85\xd09a\xb7\xb5\x85\x84H\ +W\x1f\xc6\xcf^\xa4\x10(A\x02pS!\x0a\x98O\ +\xee\x22\xe9H\xe4\x11\xab~\xe0/Xl\xa7\xf0\xc9\xc9\ +\x8d\xb8\xf2N\xfc\xf8\xdd\x16\x12\x1fO\xdf\xfb$|\xb9\ +@I\x09/P\xd5\x84\x0c*\x04\x01\x22a\x93\xf3\x09\ +>6\x96\x08\xf0\xfc\xed\xe4r\x9fm\x8b\x90\x1d=\x0a\ +\xbeL\x00\xe3\xf3\xf3I\x03M\x8d\xd8 \x9d\x8e\x8dU\ +?\xf0c7\xdaE<w\xaa\x8f?G*\ +P\xc2\x15\x90\xdf\x9c\x92RU\xd5v\xf6\x0a\x0e4\xd9\ +\xd9\x0a+\x02{\xd8X\xf5\xc7\xc6FFn\xb4+\xf8\ +\xca\xfa\x97P|\x82\x97\x0b\xa0\xf1!\xb3\x9a\xaf\xde\xbb\ +|\xef\xde\xde[W\xaf67\xdf\xbf__\x8f=:\ +;s\xb3\xeae\xbb\x8f\xe7Gn\xb3;3\xbe\xb2\x81\ +|\x12G\x09<\xf2\x9b\x1d%\xfb\x82.\xdf\x8b\xbc\xc5\ +{\xd8\xae\x5cif\xd5\x0f\xfc\xc8\x05\xf6g\x8d\xcf\xe6\ +\xaf\x915\x80\xc3=xZ\xad\xf9\x0e\xab\xc3Q\x02\x1a\ +\x05\xbc\xc7-V\xfd\x90\x0cN\x80=~\x88*~\x8d\ +D@\xc0K>w\x14\xac\xb6ZW;\x1c\xf9\xa8\x8e\ +\xcb\xf7\x98\xfc\x8c\x8c\x8cX\x9b\x13\xf5\x03\x7f\x93B\x80\ +\xfd\xb9#&f\xf9\xce\x82\x9dVk\x01\xab\xfe\x0cN\ +@[\xfd\x8bx>\xc2o\xda4B&\xa0\xf2\xb9\x83\ +\xbb\xf7G\xa5\xb1\xea\x87\xec\x8d\xb5\xad\xd0_?\xf0w\ +H\x05\xf6\xc9\xf8\xb2\xa3O\xa5~\xe0c\x01\xdd\xf5\x03\ +_*\xc0\xae\x7f\x95\xda\xcdG\x18\x7f\xef\xde\xe2H\xdb\ +\x0a)>^\xcb\xf8;v\x1c\xa7\x05\xba\xaa_\xca\x8f\ +\x95\xf2\x8b\x8bwG\xda\x9c\x19\x7f\xc7\xf1O\xa4\x02V\ +\xb5\xcf\x1d]\xd6\x0f|\x22\xa0y\xf3#<\xe1K\x04\ +\xac\xf4\xee\xd3Q?\xf0\xb7d\xd8\xf4\xae>\x8c\xff\xe4\ +?\x12\x01'\xeb\x07>\x12\xd0_?\xf0%\x02\xce\xd6\ +\x0f\xfc-{m*G\x8f*\xfe8\xc2\xcb\x04\xd4\xeb\ +_\xdcU\xfd\x90\x0dD@\xef\xf82\x01\x84/p\xa2\ +~\xe0\x13\x01'\xf8\xe7i\x01g\xeb\x07\xfe\x86b\x9b\ +\xde\xd5\x87\xf1\xe7\xcf\x8fp\xa7\x05\xb4\xd7O\xf17\xa0\ +\x14\xd7;3>\x12\xf00\x88\x02zn~\xf4\xf8\x1b\ +rrv\xd7k:z\xa8\xd5\x87\xf1 \xe0\xe6\xc1u\ +\xe0\xde\x9b\xaf?Fg\xfd\xc0\x07\x01'\xea\xc7\x02=\ +]\x0d\x82\x80\x93\xf5\x03?gK\xbd\x13\xf5#\xfex\ +/7\x22\xe0n\xe8\xa9\xa3\xfeb\xc9\xf899yX\ +@/~\xc4\xa8a\x9e}\xf8\x06\xdc\x0d\xfd\xa8\xfa\xa3\ +\xf4\xd4\x9f\x93\x97\x87\x04t\x8e?i\xd4P\x9f\x00\xcf\ +\xbe\xfdzy\x08\x02\xce\xd6\x9f\x87\x05\x9ey\xf4P\xab\ +\xef\xf8\xa4Q\xcf\x0d\xf3\x0f\xf0\x1c\xd8\xc7\xab\x97\xab\x81\ +[\x84\x06\xafU\xba\xeb\x17\xf8y\x1b\xea\xb5\xdf\xfb\xc6\ +\x8c\x1c:\xccgp\x7f_\xc0\xf7t\xf3\xe0\xf9=\x0c\ +\xae.\xfd'\xffu\x96Z\xfd\x91\xea\xf5\xe7\xe5\xad_\ +\x0f\x02\x9a\xf8\xc39\xba\xe7\x90\xbe.\x80w\x15\xf9=\ +\xdc=\xdcz\xba\x0c\xf4\xf4\x9f<}j\xac\xbe\xfa\x81\ +\x0f\x02]\x1f=\x08\x7f\x9c\xa3\x07x\xc2\xf0\x1c\xde@\ +\xfd\xff\xb9\x01\x0c\xbc\x5c\xfa\x0e\xf1\xec?x\xf2\xf8\xe9\ +o/\xd0\x5c\xffz\x22\xd0\xf5\xf8;&\x8dBt\xff\ +\x004<\xc2\xf7r\x95\xf1\xc1\xc0\xe0\xe1\xea\xd6\xabg\ +?\x97\xbe\x03}\xfb\x07\xf8O~\xed\xf5[]\xd7\x9f\ +\xc3\xe3\x91@W\xfc5\xb0\xe88\xba\xef@\x82wS\ +\xe0\xc9V0x`\x09/\x97>\xb8\x8aa\xe3\xa7O\ +\xdd\x9d\xd1\xf5\xe5\xe7\x05\xd4\xf0\xc3\xc7\x10:\x5cx\xdf\ +!\x22\xde\xc3\xa0\xf6\x95aw\xae\x09\xaf~X\x02W\ +\xf1vW\xf5\x13\x016\x7f\xd0\x98\x91\x84\xce\x0d\x8f\xf0\ +j\xe3+$\xc8\xf5\xe83\xd0\xd73`\xb0\xcfx\xb0\ +P\xa9_\x14\x90\x1e=k&\xd1\xf4!\x18\xdf\xcfK\ +\x0b^&\xc1_\x0f\x7ftA\xf2\x18\xe3\xf3\x02\xf4\xf8\ +s`\xd1\x09t\x19^\x1b\x9f|\xd3[X\x14p=\ +\xd0\xd2\x1c\xec3\xf4\xb5\xd7\xa7\xe6\xc9\xf9X@\xe4\xcf\ +\x1e#\xd2\xd1\xf04\xdeU;^)\x81\xaf\x07\xae\x02\ +.\xc8z\xa9\x80\xf8O\x0e\x02\x9d\x1f\x9e\xc7\xf3\x8bO\ +\xf7\x17\xd6\x91\x03'\x81\x16\x05Y\x9a>C\xe1\x82H\ +\x04\x10}\x10Z\xf2<\x1d\x86W\xe2\x0dN~_\xfe\ +\x7f\xed\x9b1\x0e\x830\x0cEE\x14\xa5\x80P\x07\xa4\ +\x0e\x9dz9\x8e\xc0!{,\xfe\xb7\xdd\x8a\xb4\x88\x81\ +\xa4e\xf1\xbb\xc0{\xb1a\xf4:\xc2>\x8a;F\xf1\ +\xc0B,`\x9am\xed\x9c<\xed:\xfb\x95>\x1e\xd7\ +oG\xe8>0\x0a,\xe4\xa9\x7f\xbb\xad\xbd\xb7\xb7\xd3\ +\x9e\xe9\x8b\xcf\x05^\x0dY\x04F1\x8eo\xf7\x8d\x0f\ +\x87\x1br\xb1\x8b\xbeh\xfa\xfb\x11W\xad\xe8\xeds\x13\ +/\xcdpCN{e\xfdV\x04*\xd4(\x0cBC\ +\x82\xd8U_\xfdX\xc3\x1a\x18\x91R\xf8$\x091\xd2\ +\xdev\x95\x9f\xff\x1d!\x1d9\xad\xa1\xe7\x1c\xbf=\x8c\ +\xe9v\xf9\xdf\xa5\xcc\xe5\xd4\x1b\x1d\xc7q\x1c\xc7)c\ +\x01\xf8\x0eHZ\xe9\xd3K\x9a\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x08\ +\x05\xe2Y'\ +\x00l\ +\x00o\x00g\x00o\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x99\xf9l\xfe\x95\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/resources.qrc b/resources.qrc new file mode 100644 index 0000000..b8d396d --- /dev/null +++ b/resources.qrc @@ -0,0 +1,5 @@ + + + logo.png + +