From e555f52b3b57c2ff88b0ca30b7792753ec451ade Mon Sep 17 00:00:00 2001 From: Nadim Salloum Date: Wed, 20 Oct 2021 18:06:42 +0200 Subject: [PATCH] add letter template for contacts --- app/Http/Controllers/ContactController.php | 20 ++ composer.json | 1 + composer.lock | 176 +++++++++++++++++- public/js/app.js | 165 ++++++++++++++-- resources/docx/letter.docx | Bin 0 -> 59735 bytes .../js/Components/Buttons/LetterButton.vue | 27 +++ resources/js/Pages/Contacts/Show.vue | 3 + routes/web.php | 1 + 8 files changed, 379 insertions(+), 14 deletions(-) create mode 100644 resources/docx/letter.docx create mode 100644 resources/js/Components/Buttons/LetterButton.vue diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index 19f1526..6d56725 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -58,6 +58,26 @@ class ContactController extends Controller ]); } + public function letter(Contact $contact) + { + $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor(resource_path() . '/docx/letter.docx'); + $templateProcessor->setValue('date', date("d.m.Y")); + $templateProcessor->setValue('company', $contact->company); + $templateProcessor->setValue('name', $contact->name); + $templateProcessor->setValue('address', $contact->address); + $templateProcessor->setValue('city', $contact->full_city); + $templateProcessor->setValue('country', $contact->country !== 'CH' ? $contact->country : ''); + + ob_start(); + $templateProcessor->saveAs("php://output"); + $contents = ob_get_contents(); + ob_end_clean(); + + return response()->streamDownload(function () use ($contents) { + echo $contents; + }, 'Briefvorlage ' . $contact->title . '.docx'); + } + public function print(Request $request) { return $this->printList($request, Contact::query(), date('Y-m-d') . '-Alle-Kontakte.xlsx'); diff --git a/composer.json b/composer.json index 1856160..eca2eec 100644 --- a/composer.json +++ b/composer.json @@ -19,6 +19,7 @@ "laravel/sanctum": "^2.6", "laravel/tinker": "^2.5", "maatwebsite/excel": "^3.1", + "phpoffice/phpword": "^0.18.2", "tightenco/ziggy": "^1.0" }, "require-dev": { diff --git a/composer.lock b/composer.lock index 94da174..430c91e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d07019045f097a41863bedb5c776ee4e", + "content-hash": "4b35f1d5734c957e6b718f39e5a18e7c", "packages": [ { "name": "asm89/stack-cors", @@ -1844,6 +1844,68 @@ ], "time": "2020-11-30T20:16:31+00:00" }, + { + "name": "laminas/laminas-escaper", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-escaper.git", + "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f", + "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f", + "shasum": "" + }, + "require": { + "php": "^7.3 || ~8.0.0 || ~8.1.0" + }, + "conflict": { + "zendframework/zend-escaper": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~2.3.0", + "phpunit/phpunit": "^9.3", + "psalm/plugin-phpunit": "^0.12.2", + "vimeo/psalm": "^3.16" + }, + "suggest": { + "ext-iconv": "*", + "ext-mbstring": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "homepage": "https://laminas.dev", + "keywords": [ + "escaper", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-escaper/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2021-09-02T17:10:53+00:00" + }, { "name": "laminas/laminas-eventmanager", "version": "3.4.0", @@ -4050,6 +4112,118 @@ }, "time": "2021-05-31T18:21:15+00:00" }, + { + "name": "phpoffice/phpword", + "version": "0.18.2", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PHPWord.git", + "reference": "aca10785cf68dc95d7f6fac4fe854979fef3f8db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PHPWord/zipball/aca10785cf68dc95d7f6fac4fe854979fef3f8db", + "reference": "aca10785cf68dc95d7f6fac4fe854979fef3f8db", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "laminas/laminas-escaper": "^2.2", + "php": "^5.3.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "dompdf/dompdf": "0.8.* || 1.0.*", + "ext-gd": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^2.2", + "mpdf/mpdf": "5.7.4 || 6.* || 7.* || 8.*", + "php-coveralls/php-coveralls": "1.1.0 || ^2.0", + "phploc/phploc": "2.* || 3.* || 4.* || 5.* || 6.* || 7.*", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^4.8.36 || ^7.0", + "squizlabs/php_codesniffer": "^2.9 || ^3.5", + "tecnickcom/tcpdf": "6.*" + }, + "suggest": { + "dompdf/dompdf": "Allows writing PDF", + "ext-gd2": "Allows adding images", + "ext-xmlwriter": "Allows writing OOXML and ODF", + "ext-xsl": "Allows applying XSL style sheet to headers, to main document part, and to footers of an OOXML template", + "ext-zip": "Allows writing OOXML and ODF" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.19-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOffice\\PhpWord\\": "src/PhpWord" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Mark Baker" + }, + { + "name": "Gabriel Bull", + "email": "me@gabrielbull.com", + "homepage": "http://gabrielbull.com/" + }, + { + "name": "Franck Lefevre", + "homepage": "https://rootslabs.net/blog/" + }, + { + "name": "Ivan Lanin", + "homepage": "http://ivan.lanin.org" + }, + { + "name": "Roman Syroeshko", + "homepage": "http://ru.linkedin.com/pub/roman-syroeshko/34/a53/994/" + }, + { + "name": "Antoine de Troostembergh" + } + ], + "description": "PHPWord - A pure PHP library for reading and writing word processing documents (OOXML, ODF, RTF, HTML, PDF)", + "homepage": "http://phpoffice.github.io", + "keywords": [ + "ISO IEC 29500", + "OOXML", + "Office Open XML", + "OpenDocument", + "OpenXML", + "PhpOffice", + "PhpWord", + "Rich Text Format", + "WordprocessingML", + "doc", + "docx", + "html", + "odf", + "odt", + "office", + "pdf", + "php", + "reader", + "rtf", + "template", + "template processor", + "word", + "writer" + ], + "support": { + "issues": "https://github.com/PHPOffice/PHPWord/issues", + "source": "https://github.com/PHPOffice/PHPWord/tree/0.18.2" + }, + "time": "2021-06-04T20:58:45+00:00" + }, { "name": "phpoption/phpoption", "version": "1.8.0", diff --git a/public/js/app.js b/public/js/app.js index 6a8f81d..1a59a76 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -19623,6 +19623,38 @@ __webpack_require__.r(__webpack_exports__); /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js": +/*!**************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js ***! + \**************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: { + "class": String, + href: String + }, + data: function data() { + return { + colour: 'indigo' + }; + }, + computed: { + allClasses: function allClasses() { + var classes = 'mb-3 justify-center inline-flex items-center px-4 py-2 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest focus:outline-none focus:ring disabled:opacity-25 transition'; + classes += " bg-".concat(this.colour, "-800 hover:bg-").concat(this.colour, "-700 active:bg-").concat(this.colour, "-900 focus:border-").concat(this.colour, "-900 focus:ring-").concat(this.colour, "-300"); + return "".concat(classes, " ").concat(this["class"]); + } + } +}); + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js": /*!*************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js ***! @@ -22957,11 +22989,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Components_BreadCrumb_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/Components/BreadCrumb.vue */ "./resources/js/Components/BreadCrumb.vue"); /* harmony import */ var _Components_ContactCard_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/Components/ContactCard.vue */ "./resources/js/Components/ContactCard.vue"); /* harmony import */ var _Components_Buttons_EditButton_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/Components/Buttons/EditButton.vue */ "./resources/js/Components/Buttons/EditButton.vue"); -/* harmony import */ var _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/Components/Buttons/DeleteButton.vue */ "./resources/js/Components/Buttons/DeleteButton.vue"); -/* harmony import */ var _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/Components/Buttons/RestoreButton.vue */ "./resources/js/Components/Buttons/RestoreButton.vue"); -/* harmony import */ var _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Components/Contracts/ContractTable.vue */ "./resources/js/Components/Contracts/ContractTable.vue"); -/* harmony import */ var _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Components/SmallTitle.vue */ "./resources/js/Components/SmallTitle.vue"); -/* harmony import */ var _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/Components/Documents/View.vue */ "./resources/js/Components/Documents/View.vue"); +/* harmony import */ var _Components_Buttons_LetterButton_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/Components/Buttons/LetterButton.vue */ "./resources/js/Components/Buttons/LetterButton.vue"); +/* harmony import */ var _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/Components/Buttons/DeleteButton.vue */ "./resources/js/Components/Buttons/DeleteButton.vue"); +/* harmony import */ var _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/Components/Buttons/RestoreButton.vue */ "./resources/js/Components/Buttons/RestoreButton.vue"); +/* harmony import */ var _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Components/Contracts/ContractTable.vue */ "./resources/js/Components/Contracts/ContractTable.vue"); +/* harmony import */ var _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Components/SmallTitle.vue */ "./resources/js/Components/SmallTitle.vue"); +/* harmony import */ var _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/Components/Documents/View.vue */ "./resources/js/Components/Documents/View.vue"); + @@ -22977,11 +23011,12 @@ __webpack_require__.r(__webpack_exports__); BreadCrumb: _Components_BreadCrumb_vue__WEBPACK_IMPORTED_MODULE_1__["default"], ContactCard: _Components_ContactCard_vue__WEBPACK_IMPORTED_MODULE_2__["default"], EditButton: _Components_Buttons_EditButton_vue__WEBPACK_IMPORTED_MODULE_3__["default"], - DeleteButton: _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_4__["default"], - RestoreButton: _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_5__["default"], - ContractTable: _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_6__["default"], - SmallTitle: _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_7__["default"], - DocumentsView: _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_8__["default"] + LetterButton: _Components_Buttons_LetterButton_vue__WEBPACK_IMPORTED_MODULE_4__["default"], + DeleteButton: _Components_Buttons_DeleteButton_vue__WEBPACK_IMPORTED_MODULE_5__["default"], + RestoreButton: _Components_Buttons_RestoreButton_vue__WEBPACK_IMPORTED_MODULE_6__["default"], + ContractTable: _Components_Contracts_ContractTable_vue__WEBPACK_IMPORTED_MODULE_7__["default"], + SmallTitle: _Components_SmallTitle_vue__WEBPACK_IMPORTED_MODULE_8__["default"], + DocumentsView: _Components_Documents_View_vue__WEBPACK_IMPORTED_MODULE_9__["default"] }, props: { contact: Object @@ -24299,6 +24334,43 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1": +/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1 ***! + \******************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); + +var _hoisted_1 = ["href"]; + +var _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(" Briefvorlage "); + +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_unicon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("unicon"); + + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("a", { + href: $props.href, + target: "_blank", + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.allClasses) + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_unicon, { + fill: "white", + "class": "mr-1", + height: "22", + width: "22", + name: "file-download" + }), _hoisted_2], 10 + /* CLASS, PROPS */ + , _hoisted_1); +} + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416": /*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416 ***! @@ -31048,7 +31120,7 @@ var _hoisted_1 = { "class": "font-semibold text-xl text-gray-800 leading-tight" }; var _hoisted_2 = { - key: 3 + key: 4 }; function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_bread_crumb = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("bread-crumb"); @@ -31059,6 +31131,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_edit_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("edit-button"); + var _component_letter_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("letter-button"); + var _component_delete_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("delete-button"); var _component_restore_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("restore-button"); @@ -31096,13 +31170,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { href: _ctx.route('contacts.edit', $props.contact.id) }, null, 8 /* PROPS */ - , ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), !$props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_delete_button, { + , ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), !$props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_letter_button, { key: 1, + href: _ctx.route('contacts.letter', $props.contact.id) + }, null, 8 + /* PROPS */ + , ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), !$props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_delete_button, { + key: 2, href: _ctx.route('contacts.destroy', $props.contact.id) }, null, 8 /* PROPS */ , ["href"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), $props.contact.deleted_at ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_restore_button, { - key: 2, + key: 3, href: _ctx.route('contacts.restore', $props.contact.id) }, null, 8 /* PROPS */ @@ -57411,6 +57490,34 @@ const __exports__ = /*#__PURE__*/(0,_var_www_html_node_modules_vue_loader_dist_e if (false) {} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__); + +/***/ }), + +/***/ "./resources/js/Components/Buttons/LetterButton.vue": +/*!**********************************************************!*\ + !*** ./resources/js/Components/Buttons/LetterButton.vue ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LetterButton.vue?vue&type=template&id=4db458b1 */ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1"); +/* harmony import */ var _LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LetterButton.vue?vue&type=script&lang=js */ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js"); +/* harmony import */ var _var_www_html_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js"); + + + + +; +const __exports__ = /*#__PURE__*/(0,_var_www_html_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/Components/Buttons/LetterButton.vue"]]) +/* hot reload */ +if (false) {} + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__); /***/ }), @@ -60052,6 +60159,22 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_EditButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./EditButton.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/EditButton.vue?vue&type=script&lang=js"); +/***/ }), + +/***/ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js": +/*!**********************************************************************************!*\ + !*** ./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LetterButton.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=script&lang=js"); + + /***/ }), /***/ "./resources/js/Components/Buttons/PrintButton.vue?vue&type=script&lang=js": @@ -61508,6 +61631,22 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_EditButton_vue_vue_type_template_id_2b79e9d5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./EditButton.vue?vue&type=template&id=2b79e9d5 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/EditButton.vue?vue&type=template&id=2b79e9d5"); +/***/ }), + +/***/ "./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1": +/*!****************************************************************************************!*\ + !*** ./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1 ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__.render) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_LetterButton_vue_vue_type_template_id_4db458b1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LetterButton.vue?vue&type=template&id=4db458b1 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Buttons/LetterButton.vue?vue&type=template&id=4db458b1"); + + /***/ }), /***/ "./resources/js/Components/Buttons/PrintButton.vue?vue&type=template&id=580f0416": diff --git a/resources/docx/letter.docx b/resources/docx/letter.docx new file mode 100644 index 0000000000000000000000000000000000000000..979fb4e1267063b99fa78bfbeb1deb7643190e66 GIT binary patch literal 59735 zcmeFY2UJttx-J}g69UqtMy07p6A*zAL=Y6jsE9NnDk21gsDMNa3DS!pR!~riNEf11 zg%C;tsC-B#0zyb)p$H^OSwaXm-?#7Hci%Ji`Tl**zT=Ghk9!t_mA2MgnR7kwJD=xy zXHK{X2`hj^LE@n6PN&^=A60#oCIA8<#6Tc)rZ^E4=GfrP}e^@7JQ`%SX>Cty#Bg_1v=P#n$og1$V%W)R+ z52W5{JbTu6d%r2Zw|mPokyU_d9{I9zS*81hXUM6diMf!1+8c%t?G8LS8gc1VNaVKu<*Ch=Y?g^%xqQ^*?jeVJs~!3YKa$>V50MHSj8l>XCV{W*u}U-*{_p5 z^=T<)ET2JgHs)A49_Rt=Yl$C8WxXUvs{o4zNcJ%Ko-uLulrmsVK znbw(eab%+z?&wLyeQ%Kk-7Qjy6CZ*brK1<${(PXU@rbm;l$c=hLB#-$G+O}f-jI5C zV~XO@pHfER7FsI*EPX} zR_amv`$}i~_WW2g@x15cEo7-C;>46p5sr7*6?A&RC}cH9gD{DppUF`kuFL(iy+>#}xavN?Sa!9(}ge&{QZGcS@~7_}9RG zjO>q-W^cdUAW!Z8E^rloWr$ca(L!m;T`1*tUTr<0}}ayUcw>f|1KoCOUV|-;I_JVwvYZJsew6 z3vw;`xV%l3{Ori9V`bZM7P9K^{kIXBRyv0=GHyo$>K1m@-}Sy|6r@?!JWzL9hjA?l zk!CpTqu#=(D;s~8i+{(KgXz0tUqwM6o*4)v$A`=x*!p`^&8u~XvG%h)gbTVBycKku z_suFq7faP1d*xdg{OhJ1d+mD^1}X4J z|0eI(Y7~95{`~`=_V*9I$}5tFPbYphaUH;zoTOoRoo622V?oCXleU;H#CxAS6c!CsXa)xPqE zxc)~EiadL|ei;}Ji%z7;Q0m*Su9t^o8;l_*8L#1T21g7xK~Le+wj^0ExPkdNKq?}Oh%y2NV*RPXL; zRIxwu(YL1PISP{lmv@D~ZpCN{#z5>|p&wtXQt?&xxjfVTvbozf;`PPtH$@5>RW6I*a)ZlG0##@ZaZ(9Dscl+6}p)OI}Uc8NWJeUj9qvgR;SF z0!gC195=LGGt%K@W~G{3*^9oEo!#J}N{7a(LHRnBpA~sC*{&8yueC?JX%(a3YY%9~ z=A$=N$Mt@F1t~x6jMlQj@1R-i9hZ(W7rk5PbW&l<$j7~|1J{p)ti2cPLU#PTodU8i zzgy3!vJ3_3mcIhAw3l+*a9`DrqXBL?`IRui%Wo~yy}gV@~x3`0L>RUoQpq5dwRd| zu`h|MJ-VIv|^sHRDcamB1`lHv-*F! zY4!P9Cm;rC9VJFjv~NH7VtJ@>nsc|VrMn*^YndTN&VFB%^IqTGYWL>tZuN7*x8~m5 zRNGE5x!jZ5N89)9Q^4_KG|Rv!csWlz`F11Wvfh=IeI<(CvOD#mNwcPL@;9zO8hmp0 zAR6i_a6#p`_+@(>L$3YHrH6wluHknA?KEP%E{xkejb^r%tIc$U3_2Zuz8KSe%Td_u z;uhk0zddnJCXJoHDa)P)pV+At7^S{m`J<;xIQ&{hisY@3;ML2jZ|*9pWZsZ?Z;3zY zee#@DqmjPRt#+_Qx=9?a(Y>E1Pj8W1t_BEpOO zYCHe4kG+ps6=>JJE0e5Pn0*zMI{dc8^B7L~oZ8)6x3qAdcD`0ve48|^bN>CQd+F|y z?+;Lrkr&hk9r7crgl!qlYqgI`>yf92hO?3cV%@_XElVmwo5+4!wwGsxz-&FUkHtw# z4c~ov*>Hr^{PC=T^5C)H;=7eaqw^Bs?@h1Ol&VSKiC*3l7mtTuyZ-~ddodu&>9@Mq z6|^l^pS>aTIR z7A%)UzTqmbWqSlm?tMB@ z=YY19D!#N==jUD*VH4+q*Und4%kuA%B!hzcceM*tUwd!gEwF#rrQ3rbi2}{qSnc@s z7gu)M5Hj2IbFDzPhf&8=JADp6*zrtB>%H5qVK~`cksHtzo%SxDs`ljE8`_KW@$XK9 z4{-K468j56pgOJH1J92amt1ox7(U^_4tL1Zfk|KAy|emG;ME7a+8(5AtFfmW7L|3p zPI~g`N=S`m%|ux7y874P1EAi!kj%r#Q+sS(Yui*Zf*jngW+d3=dFdk|WN!6HZFUG4 zCVGV@`ZClae8FP43 znkF6d!gb@izvDt#)CHjSRF*>Q8`HCEWG^v#(iyAIYeM67IeQ_8uVfu*zBaySq}veO zaotAL5+hzxY^omDaS^(=aBH)(hK76Isg5*diuZ#2^Oq{eioZ@QShuH+#TC)CKcxh} zkdG6#t8zCkk2V+3`gX_X+Z7W2%Z@IQ!kt~^x6b^$;^&ds9q?izC78BYBSEt;w~2zR5Og#jRnbW#?Q3RQcn=i)O@pXtCb#`O-CPdkcv&c!}W^X zpkKH>%*7(N(P1j#k&ahR9D`)RSG${x;Dn#w4h2$PdlC<>9XJwkcHg$uJZjd>5%D*XIBs_+H`h?kkH11;WI{WVuukD3^6SvB7@ z+Vplle)7YQGxT|;&qiX-hUovUDSTf+9HjUVcjDVdOkSZ zrq?G@>CTT5bK27n9Q>UH3oI|5LY+FbhB4E-_48QZ3y{I7YUPYidzIbq38AI^UV|jY zbRIHxk4B^J8Ao9B6~g^>-iV03frOvf@%hc?oiAE1F%le?*cbO+VW@|#KAq7Bf8MeC z0HJu>qNd)14_6H%djW*pwt}lBVik|N$|lYw#u)a9KTf*wOIvDY)qJkJ>wBL>#r;f^ z*~lSt3CSbZ%ct)#PKRmLYBWmT%y?UTQG|5*(0V+nFHKM+{<;q`gB+8Yls+zVt(sw1 z^Dvd!EfW*ql}M38XK-KaK6SW|Yi9B+@W~PUwEl;??C9R(@7P}|V1YfYpMus*T0a}K zUN*FTf>3e}fBvpJC}iVP&1}wRp%*K6k}KbIQ=wsx+l)?dE;jd{8+E&t#(papVN;3- z*+*i*)lxuwpmTel>DeuG7y7*wV|b zmikhgdo0uLXE!?rDIj_mbfYSCXFJk~g*7X*%V^YGn@Z;^wa-e`D-m1W299gKZ`3&x zz1{Bh*@PHZw~yunRinBrHa&8qN=Usns}Xt@NmGm+#&$Bqx3ze$FGu#10(obj+iW7#Bx$S+vi=b^olWzP;bz4v_xyA^Wm zWg58JH7GaKXyxvT;&pYI0VZ+mY2PD)ze?&ZDuskO5W#DQ}))7zEhHMM=_g0A}vy4eSB`_LNlIneda zF10UNsdD6JTAKY%XSEp1kDuOSba~(^&ElDkKYImqQ3BC8pKz?2`-~}`?l}JbTkaR5 zd+?WIx?s1OhSVE-Q<7{?^r4%w-rp(Ns$kbGSQJEA{?b`I<%kw=G`rm?-ZmuZh|Lif#E}kKD z&VEe)InuO(l))HdUuK^;BKlfqRp;q%#=*)>?*kq7l$?;Q@;DC}6uzEXd$X8xpn3ec z?fbkvGp}D9Z}`9(_nt!S>bUSL#Kff}2er2&+0u7U_l+>x=HF?}-+jM(0&EyWnD1fm zQKR_RoD&fg5E@|g$NrDG^|Pl7inU*stUQg|9?|>$hyAO#1L<{7^OFs{wRcAs>v%Jh zo(bQ(v9T_b{9v!wan{7^pj%(h-5s*{*|Q}u>9nD3%Y!(mNzn}*WxFM$f~@Y~9@ajD zFzyrmNsrJo>4z$c4=<)qJ)D{PIoxaOJ0Ruu@}AtCthG49xb{bDJGVqicAv(T2kSB> z>QCvI8@u0lw0mt!w2NGZQ{jQVyR!uD)(Y1l%9!4RHRglRtTy*To_8z3Y|QZap$V@q zzjb5oo`xAyFM;pIOnWqMO@p3%B_6xGB6o2#T_PoatTp|xaeK>lQsWk%9p@+S%)gzO z%FFsGI7->}4y zzWH(}e-L3l_DsL6M$MBd;apcxDYY${tZC?>(B6gSc;zr((&dG_r6#(@*h zUSm!)#0b1H4htQ5urI&tSKa$hKc4$AD^;I-`RJ(nEYB$xhEJBsV2y}AiTo`j@MisHzP{%Vy=z4|otvf}m%r|Nr~6o=_zL*M zgOBRI!VmWy7V#}LL`N4+eT_YPPWe*?-aJ)&{mZ$~0C*GmOT;-l4#~Iys+VS8Vw!m2 zdlYK}Um<%gBnx8!ps$mO54@8kDu#LY*tu6 zvi8$&+I*C={N?}7%C#k2K^tPquqJrZUWrDqM*E#YU0v4j@?5|T>F+f-C_boF-a-eYFI-{OF! zmA%7ZN2eo4o!w5mpYibY^7g+Na49ed85|xFc|8h!BRW1IF)2AEHSOO02M;r|9zD)} zR`|TAxTLhKyt<~guD;>*o5pquwWG7^?Ys8_gG0k3w2z}>3?}RIm#^QZXJ$D+el9Jq ztOCE*e(x85Jpa-y{{AmL`#1gK4}yT8u&|J@*zf%k5RCf0<8s0xJ4{5k+MN_Te^q|x zzFXo7hwc`sZ`>s%L-e*#GL+ILMw4#(!=w*6z{a9&F>z}*yO8msx|>aFtv;%q zE6lEWr%hnQ7(AUAcip@2-Nn@8({D#Dwfn@1aP1EOi%pP279)!%>!-L0`VtC)u!~^Q zo1lIjAYc=epqz;N<#SMsyBi*lTRMtW!7)S_2;P}KflZL4+Z26cD@Uo}+tKk|UvwSfj_$r_6nNLlax}X^r{DAx6yc8fQ4130rCMf zWoik#qpy>o(~yQTLkM^SSrqTUTjSm%5iT(}rdS%ur3^_{93&~ND!I`o&&FigHxAd8 zEzR#-5)!5GBrDh`cXr*k^xC|*O;BxaS;;tX6Hfd7eQ6UUjh5BdIXpqL@SRRBzh^?qSY&J8utXB@-&d0aF{4$WndFMx*0Q?dr23?4W2~ zWl=|Q@T5AMS5s17dG$HSj?n__rrk2ndfi{e6TzgX2Gbr63bT1C+^ZXzjmIj5=_2=; zv|ABpYU5^OOiy$4sKmsz>m?OIN16K{gY-CgTtz(wELH5b0e1(xf!T{+CP;Iwnm9cP z(=Ff#u<&f-osB2YHcHHhBCaeO`>yIPe`bsm0#HdWGd7p%&1?hDuZN1dM@`W0!D|}$w`H5MC`J(yhAf^OXF)Z zbKTY6gH0wf!Ll>aN_Z4w!qkg%3UO>;j;z|Z^l^+A3;UEW7%K_d#iwik(FgEXzgXMN z!9PW-Ki6@isU=`ujY_r#LOAve{9G3Uho3Y6qF6UW!`oqM9L;R9)BsE-I2X!6%q!k_ zc4(})paP?RFI3MBu)h(GD)IxGPH~37`FhD=OQZgz2ST-+l6i}D>7cQU5_a5A%9v65 za!@2n8jbP;A`37Qw8(M&n+SPqKTl~ROPf4&A+PNu`ph@Seys7dDlD(UUSqju{=?&` z1LhM_t|Q-}S<-aNg-|tHKQeJXl0k z0CD`yusqfKLq!n+UC(l;qlKC~)q)o0TSARKru%Vxi=Mzt`pv=e!3f2=-h`FL=X6O7 z+W$3>!*E%YgvcTbJCtF5f|x`>B~vlrVHftyT3QgqL4 zo;EFi5Gt}_EBA?e@XhdD!+>FuT>0!`AhY?VBY$;tcn4Sr8J%}~!HIyeVfxHq z7148kIi1nCWHXdJP{Y!x$H({=d>Ti$*t2C)LztCr%!B=(n_u={a(QZaI>)!Ede9JL zT*OZT@`27A>CXGQ_se=K(NZ2XV(yBo7VFFlvs44JDS8v+!Ab5S&cAuycw5?tMWE1A zexTD=QgRp9W6U?CPCNnHW8}U17tF87^inlwJX zf$6zo=?*yzS|=eTS9b_wI@P`H1=Mwln8w@vrez>9RH}0=b|}_LjVOg{v#fQ+Mh$U& z*)rW!D|q_Fp~cEbB0f86Y(8=^e(e=!zVlW&vauw?7xxmYg3f{8XKK(X^M{7HIt;L~ zH=Na!Co{v-I$9SET7YUX7e5wT`mG5@L&)Eu@WAv4NwkY6|m4 zk5mb(F1#rl1;TlX_347>Gx|+U2D)I8>9w$j3^T%^fy;XuDv@r;Vf@UygKUpH?}m6!dD zVU(d(CeQkQ;6;O08>|0l{`_0QwS627+8q8fY+_Dw>{mb=Pk6?_eWp1tpm2^Z5@8g3G*GuOSK0MY zdzUj1!+0vVYsq)3uO4M`=g3m1o;T+!fjQT#cT6c(LpPD%;gyXXt_2ga4In!7MY?r3-t?1fOI%84$q?Wv1AzK6@ID<*)W(d5<`W}{ zE04K)qFIa$Goe1L8ulGTlB_Vh7L@|kvq)F=Z2+>E^z`hJ%CfmDvmSm%92$WP8Al6s zj+LZPM<9W6z}?I9P@fxt`E3P0-spOW#Swxlo4e|#`5Lr_{Z9kvf2OyQKZDT!K_X21 zFS^dZOzZ`I5a!dba(;9(!jj9eAM{_G1vWu;z~d=|JUytlk6q$WaWKoLC53smF^r@D9F;HQ+HDvc z$goQsOg1VR1Gh*aYsO+pegBSdgZ$PE!u{(qOkfI8YunMXm8;I~jjN+e0=nx=%_1f| z-ByMxV38P+x}+9*Z4-2ylT^3y7^fS5l}S_t^eM)(BUh9f>tk+Gv$0Q*m2fp3$$`0%O#P!6<6mz#*B@TzzQI5pQ4@Mrnp{e6aCn2);#+T+xN z8uxil%K^?Y$1VLwxI#pL*o8F5zhx)4bt5t1K^T5bjjYQKOlq~BK&>otded=%@HB)f zOpFVu8>+*J0fQ?S+2C8X2&Fj=y@U!^{(0<7{uzM^QbU|K_b^2LQVPJ5_r0gYhMTio&w&m zb57N4JUGwpO`B>2ZdC>~x_>QX9>5{3;b~Gh^=z@^THC}Q)7L_-dB0O!O)+ehcjouJ z27NpxigL6R5d6TG3*(M#ovtJ!j3pB#>*v=~8Qdao8-z%L?Hdf_`*m5ZnsSF9MlRmU z+P?|fl0Ot$yNes$L+lMN1+aro_uN4nx_}DDaFJ!y4hL~PUb88{p>d{B(o%~`P_+73 z2f5*fSQ6%Nh*AZk;;G}p$iRm&4VM%BhA&XW+UdjX$SjMko-y^DeB>vgk$<4R{@?_E z>ID2V30>f4$-MRYp;7E_Jb^y!j#;vD6UQ<2CP%9k3+CvJnjeX%XO|?9oL=npGXYYs z4U8f*4pA8NM1y6bO0bmy>8jtHlDFAd44!InzkNvHXV@4aOo<6C z@f{tTd&W8vEA$a2&l}wYiDAvqU9N18xSbq)&&o5N?x17k4aQPDk6#UfC_ch!pFPZT4*HmqS-uA zrEb?D*p6wQ=m_^@5ymmum%Td5J;~9ZN^av*f8c64KT9eXBk2mZuXqOB%gJq!t;(+C z{s<%SNiLMLlnqHGp|oL2b(|w&(|6oKpmNafMIynCKCuImH%^Y%TlEQ*{v&n&ha&n@ z_5RNxY;oRz)shGS!_@HMEamvUBpf4$D2vS2$Vyz6)^GEESYJ>%%SQMd(nO_$X;->(Zt{+6MRmC%x)GW0W9cng%(GhvL42a215f%86VS_Q}Bw`KF7YvMAC$|q^Ri~|F z5=+l=t!X5osdQTj%$Xs~wJ;WYgU^c-B5ZY(AhEf7N1$Q%_W)6?W4fs?fTq*w2jOx+ zjps1Ps#gM7NNfrnCpeV==s7ZX{E+?g6TFdKGnvcKuFHw^nG3c*xC1 zPh+ju{*k!a1*z2pQVD~ z7kwm@9-=r>%z)g-rAV@DHAnX;gD8cE^>!M2jiJ?!yyAqt2|-TjZwtk2d)a%gCX$F(qw+WvC-R%qx{Zwk!xz8?p1n`^(nhH0COg~C(GVuW5A)ULFr z1n{S5T6md1)oUH|83lGuT36aTX=?D=hfopYv0&5wmUBjk%9&5CYAviU%`;BNanl;{0$(%uJH18>j{w^*$ZGB$j%FpZ`TThj4YjNfyzucF zsgp39FfjBu*0;1$*KcO+YV9ysI}iILRQZpbPoZB~`QSg-llC|@Fdqh0 zVKv)34?;Cq24-i?8pvuib8UwcmC%C_MZk3vG*zl8(?@bG=w%rAP_2l!BN6Jrk3lMJ zatC0}qYGvl93smGguYr@ep}6(^0E7X{U0KUWeGY{6p2jJht;z{~ z(G=^)cW^gBB1d0xY?F;5!O8bN1(EeRgrqvS+DCM9=O#$dd=4QPbP{8}kpnd?MSAN8 z4WLggo*t}%+9B7E0u|J}(UV9EB#Q_fGSA!MIJIGS(yc8Y6 zF?M}H3Hm&FC)YLp7@&lEr40iEC(Gv~rY3f3;7$!8e6qT{^SZ!WLRcQ`+=c>Vt~%cg z9dD65T7|GkU8XC>Mi-|)=k=2fHy*VFR_N!nq{9?}FYNVB+v>*vMYN#;W7QvtOSubp zbmVQZW#ltCus4NIJsgHHTHyt7R*$_~PHT21-sm=pYqg>Y!O5W!p03Ir=hRwiM03_X zg0c~vt`;kgUcMx80#jjH=;RKV6bBp++u_5vXT3d=!?3Cttqj{OXrFZih0n6MJ`5tb zgCqKrshAa4>uTS&8kOnok+`hC3EGCf_tSmYj35hq6k_%!uGw-G2n<>hPoskYPKL;R z$cbdYW7pu+-&?@}-=-kxIN3_F!E~+$$D51ftUM&nA-2JGjk&PHJ65Bxf`f}t^Fqwg zKCV0J1=|1Y5LA%?mh=f}B&3+%ktrkj^6%d%!oeC6f54hg`OF{hX66>5o^#!4xPTeb zNk*u{ObS*Fjp#Jxns6>Xom$-Ltrl5#kLJgY;o%KRsA|NmNb;_RVXWpfR*eSr6bR{D zi{dK$==K}XX3x)mOAB4HRX|U&99jnF$>KrLekCI1*#2xi%15lu^s1j#pG?UVT=qGx zX0n;}4r=RvmF22@eAxW%RI`>dC!lhk|Dzn6mMO=g_2{`xkcu1(3gGP7dhIsbG2TOl zo1m9r{8>MqxAkeTjYpf62Sr2v*ih|;^EYZEj`C|s+O3nU`)Zx0B?u)MJ;F%1;_95EImi@W_jrrR465ljK^L_YRB$s^dfstC= zR{qJiCv7rr+9uEF#d|O;5@3*tHb#u$7n1%iG5XNo<-5O#^?%vI`MVbXonr3)MYUP@ zYzy0CakQ%qSBvUgjLlP6LMUU*`gx-7ST|8}7{8Ic!$Ty<&6p`0Eru?!bY?|WG_f=o z25lZPZvoC?RR=LTMbnciBau&WXKIJ{G6#43sLY)bs_er}5p7>qH7Vb&vjseP`vx() z8B$GgxzZK)MW%=9wN1(ZUK|ffmY?wuCYY>1 zVt*~qQp(QF3k`{3bkAdi?ywiR{KYCOXaK)%htUHR+5T;tASK@3j~GAxd3+W-ZL73o zl#DeUz^Z%BkxlzHK}e!}$o}l2O;8HdyaeIZ&0asc@qn!BjqV)z`hk985OY{+M&65p zWFS%+TjCDddj3Q8@ed^LzgLC)%Ut}YN(J+fh;2ty8>L~cvfwE^T|j<{E(;7YMLraj zqVv2)_@ZJNZtFF?v?1g?gmHO}q%}SngC}x*!b{LTluW)8qx7mD16PPPd~$x6b@O5{ zsIPV-6&IjpjgMwvMbVmbysbn@KR}DR(pXvawXPUVXkRO#z-727> zn;2PT9cW{y8C>#3xDTNsrCmG_UyIE2;B9T!TpyB_CFb>e_G`DuOd{~liVYK(R$zvT^)OX>i{TM1p8^+ z?^J3$H;92ViAqR_+~vzl?wqLB*Ne5d1enMO#$&2QyyL}D_8dPt zJO7rCX$k_Y00td`rn{sF;TW`bqw!6UBap=&;In&#dKKXo3C>(^*~;r18FSBSe|)aN zO03N`QS~|@ggt(oMiOI&`cuaAs7C40PK2)8OV%h^#3ty%w6c z#$4mTCg}WG3}UDboR(`{Ti4LQsr;5~P&@C;YJ+WQ1kIwbN_?V!)SQrtHRBxT*DR0M z^>d9XxyOcha!5@+VWFVFK^A8$$U8ZTv|C(ARdJy*9)hW(o$+aGU9<4y%cVXvI zZKZ({IA;JroF%xD2B7Zcpi=`dWq#YoB5YLvH8+U*VkF+ydjKmwi%>#P`5rMrK8OuG zn{=hiVRRTV;NvfW%ehLx%?p*xn<)7?GNfi0dZT=F0<$lty=E@EnV4bp0>qCQuJT4% zZm^ulITdU38tL(RfI%%m1<8}=d>pL(7`A+XYguMrR+YyL z0$D*4$b6q6F4Ioz77A;K@$ZlHwRhsclf$6?MM%vpfE}Y*jk;#gg~x(EqUVk^`WTpY zj1^8tqY^?lK|vFNjLFLU5S}>acnPYMYolp0P&*Me`O_{%aFyB%=8vo6@`M}J3PovA zL-M2s&0PIiieD3%yUqiaF??D2@G0-%x>E>Uxc0$Ij`A(;(W^z%(MpAtd^1prZ(?m^ z-e+3>;_hJilp0=o`6j0$cQ>dE(ncS*r@qAYSECEN);h9MNat^`A;$p!3StUIMJAom z1W%^dB0Bg*wCeTNHRXgQS79ViDTm>af>8`b1#-aafnAfkNw0=T<}8S8h<89z)|FOu zo7HwBU^g)tln1QNP`eNLMBYOPi+HJQ)x?YMwQBAn6Rx*{iC}smWy^a2H z5W$7ywUSl&0wA8`#qh{E$oUPs|JAEkuLncxrlc2DF;M>CJ{>zd*N>K3iLGm{YZ+__ zy3Xzfl3Q_t<`QPjr&uR}j$*E~Ysl$3HZ4BsX+R0u9VQa8rc%w$Bj}QVR3oYV*anFt6{HTkQ@1A7)F3!YRK~D zb>y&&C`1`_$kfAc@zAaHe%k=wq8Zhajyxr<=K$BP6isAlR-??;ZDjy8XCSj0N z0j?RR3tu};65HY@KEO37b!BXXw~gh+Vxr`M+?7Qa4m}>bJ7`2H3#-a*Nx(#MwhLuK zYQN1(v2h*neDru*c1u?UTnXFP*xOzybY^fKx`Tb4(ngkJFVkZ~<=rx3&V;0pcL4N` zLZ%P)TMgWgfxLMuHZ%mb`P&V*JKE)Z$W9cn9971V|O!k zcj9c}_l3dwz z4^9|0D!)Et6P)`a ztx;P5`k4mcCSy@>Y?^Gs$-8Z6c9SkN4pDz&~1i-Ec;iSF6#cZ$ll~- zjX;JT)z@TUX}Pb?hhIgn8X}uw`>-~EQ~+yHVs=uFt&E@F1cmt6#?$Iy3VmT@U1UR^ zWMuCczrv_j2;_bpr(XAi3`NYtc?utz&U2g%Tn#osuNJ3rTshwM%88K|2SZyex3!=a zQ`o?|J6ojpdlOTU-~_Bb=gRWGSJi6QN{xh>3sD`IYvbE@Do`&5T@=vj7|Wy3MP~W{ zi$k0<`DERU&TUXzPW;r$E6x1LZJf)zoqW?yACaC{>x74?^V%U>BQ~5|`33-|%0`;M zx=p!VQxd*y9JvZ#KY%$2bXCsqG={h?;l;szs!a$DK*$-0RDf;Q`z{~y6B$*b5gBTv zAoOhl!IKQ&RqXx@q=D9fQUJa&lH*@&f&z1FMLmI<)4)lKG)y29p%IMLW>;oD zWc6yG{o5M5l1TioEs0j->M+4-$d~B*jvT+-OC0xHd^y^bsoYi>ek99_%qh9O1W!Dt zhS=5;v^XZTg5flD(q&y4O)VKP(LQq&D2OM_c2FWK0j@>UA*^PhPEAAd2+5rj?!Au9 z+sI-p0`~JHsppStH$fI&eEXDS@%)oeS@4%@{qQLlxNwFypaiwv$CV*=H>AHq(U@fI0QpPiH%=BhDGqL})R=SksHwzpMb z$uf0Qi{fYtetT>gCE7|pe~4vq=e>aSHhyv82I=a$9oGf$33xF&4%kmsJ)FuDjWOO}ORX5SceHS&fxl!1Clf@Mz;4HAv8w?(!y-|8ppKw{E?*h39nERw z%gc-G5&~C;7(`Zj9TRMu)>wkaZkyc~B-h$Mn=3!U<^N#SZ#%oQ=q6Smk7Kbi2UM`( z9dt#Q>L=_6m;vx6l8tj<{qhco$uD*;To%@k29zX+}_#Rc|^*rx;^3AX?p2VD;Y4#5c_6#vLJQ zBoWx{)M-gld^Q_x^!-f$WBw+By_mi{6PYKAIZon4Q3#@43@M)tm%vn#8=rGAR?05& zSs;9{j>@J+d93X*EMe1FmmV{bT$^$L+-?Q$*baWigK^IR-`F9{mK3N{fe#(y2>9l6 zwdy%9a8eO;nIP{itCKp-oUSCY`VFhBj;E)*3^3-57*SibY4SV2SN$xYSmPz*~p#8NQDrC^FW4BIFq0Z40?`4Y^%kkXA^EM(YFFo zZEFq57;&;12aJb;BUv_@KHW(iot7k`89W6dTxYYBzru2a6v=9l;A(>Ufv4+E*ggno znK&la;hmhcz_SG0+WCbbMvNlM7j+7`OQ;YyxqhA>_jR0JIDoWhdy7><+eH%aeo8~;bd@>H zojCcqv8-FH{wk;h(@1b;Ra3H`WK)jDQLlj2W>(*>bs*2Of>O%wcjkCEF}|2cF(BUGWR+^{SW5eJu1nx{U6mVtvrxvTAI+= zX*@8Mhf;(NQ&whFmdAvt#uUkzCJ&?tmU&K@#wp+IRVq^}MJh!L5mZEGrZLZ$m>@7^ zp7MDn#phLIe)s&oYp?a&|Gayzwg1`wx^yjhc<$@IuFvT*>G}uOQ?NACQ-mjU$x$)1 zOguTgRBWn8X*yR%AZZhd&Ni-jyMoikz9q7TQ|oKh;JNQ=NlrBso>O<40YdU(iE(Xh zpQ{JZe>(OhWJjg9JK(}Y&2s51-54?lEwq4{qZ6ZF4x34**CJnZ5m3mKF=(g995S<@ zcbIi_aSI6tp9ZYD-VqWn__pC)2WFeRBO%fqXnwovBViGE0#a;-gL7`gv45^?)tT>5 z2MKjz*>nz})_&>&?B6PI&N8fJ>_d*IV{lZcQc_<`YJ^RK`=&U$(+CCT<929KC^}~^ z6kM6`>oFE8f%3H2XG1Xh3hO;8;#(H;DQzhdKJN-;YkPMF;Rn0U*#23LN0M@`AX z)(QE1-`_^7J+YaJ5M3o(TyKAP)gP{tKx>XU41sws=qa+Pr}I>tv&7&E^}~@t5(5@t zLrF)euNfP)L>tBdB;I&_7nCIxaM&UnJrdo ze8IBIyOy-3sb5*>)c@zxiudnZmbK}q7PSZ0-}>|bo%26d8?!H1V95EeMi~ZK%Nq)4 z5t|t{G6JB1_Qe$jd&EZlHV0Y=1rO6Pbj|P|g3%1&nGv#GSQ$M+rZks( zLRMx+7aK*6F~uF9(_!UXRN8z=r!-HTPFm3b_*hh)N``museoohO@18xCZD*!KB1ku zKQp368Y4Qbk)Or{enP{Rx`>6wHD|6h`OU{Z$Pzl)USaBzkewGt^+9f!#` z^k*K7?L|kc3CLF=&4Y|R(ENg?V^X{v7X=?^3D0T+FQoTtb_kN8;T~vC3_sLZeW3bx z4$8wRQK9_X=uB3t=cfIJVipDyZ-8t3Z=+*KDojwTvg$flGleP$(a4qS5SI-w<*E zCDV2J@e=4w#0xk{@8L?W^{lA5%iK|aoyYJ@fzcX8d{dhFzi@lD z6g7BViPa?)+Zvfy8kC%uHD#K>fRK9gs|Ns7AUt@rQXkx(z+MBy zU(N7v48YQB`x3VE#YTv(-8^r_#pfkBYt7J~uf5Pt{hu$TZGOF2vk~0nlRRzbazIeo zy%-@Yo>`(N_R94E+)t&(eK_;DD#j)NGue3O*SRtH9nSz_g#ut;MAg8H(($eR4{Bdz zhHDXhhz5 zBEWs@5BIv(@Di@^ z+%2mweq8HX)4XGnMWYRJNOGa&KND4B8`?)M+Mq&Ks}8<|8YI)`NVmJUVf(f?HP({e z(B?g$bOIE-Nox^)D}Nx~v_HY+NfK3Qj^sTUlHhB>g}AIJbMG!;^a2eO2-Gdn_A!7Q zr9*kmEK4lIyIcZqJ}K{&dKs|&!suu&mAR(Z1G}8=f2^MoI#2{Uy3QPi|C4qFgY!-v zzP0-`c4fzv%f`b!p-#hYyvPQRdz6Csfn@JUDCUv0v5H+;2m#g4vQzN6I6bss0dzZqjT(?d}p^{@WP%kiPMTU*Y3ynCPxvV##Bbl)7J@Q6cY6>%$%i!;IvKB#DMdte-bbfX&%<= z_D}nlj*CuMyyYGxE~c%d1`A@xgCg8VtcpSw`FiUl=mJ1@+B-AR)^JuE+ltxg!w8?t z))o<8LAH2zs1dX)Nirb$Fp4eRS=&41xv-95tWDiG*>k4%qo6-HG;Bj}jYmhs38TXB z#U|E89&lp0K?J}jXM3T|5e_tTsB4y%i#M+A5t6kLol7{YSglsYapg*`nqW>I6VwfO zvuyBAWAzi|9$x~h=-O7n;p+*3SC790;(C;tC?%j6=OA#D@)$d!G=7A@Ug0%RfF`@> zmHWid#|p(jD=XWu9XY3Q`B&Z4q1~UY?p)*1{Z9(IYlcq+aNVg#+`oG%@(#9pfG+%h za+VtF-*lP%{a^K)*RpQmE%dwK5AFOE4SVGfIhMJB50#XbbHmB83U~1by4^xsGW#Z( zI4~2i=o{8uGh;5cr$3ye)lnDmv*!n9140BT5x+h7&Wa^b)h0EoR?vS(W#jFUD-Y?c z_Mgb23gxD5g+X#c)aXOYi>HhE3WaX>Y$Mfevkbklr|yl@dEW&m=fG67>{vrxJtWKA z)Sc$ZCthc*n9V;l6e5D6vUKIVJgo4tAfrV2w1Py`I0Z+pOg$gCUwcecTX?#M-^ezn zUmQIP$sZ4tI>>7nz7Nli3j*KIA1~F7tihw1og7nR-a{w=V!J!dg}qPS14; z^jOE(R}&c{9-IpoJ@jlgEx5hl$5`8i!)kd;V}M{Z&bx)Px^9KuO-o(@egl&U2Hf{! zg3=uK0)hR|@uCXQmV6gGfL@>LgdQN;864`malU4E9swtm+#z%sah;)qyhOBVymWKF zFaa9a3x6;ACSVzS@qW#s_yjbN6V;2#G{{nT^g}5FP!0E4d#O2edMDLh;X2Rl;N1{9 zQWBCp8!~WycBRHW6tNlJkwRJvn%rMJRi(u1-Q18J$PoOd{ z)NK9tz?_eC(!sev16$7JJ%CvmlkN$7;-^<2xhiR~ESqsM?iq4%;E1pu#^mawYxZqP zuDqo`bFC^ZQ9*7cWI5okL)un3+O~IKFY+ziAc@=gF`#2VYI(NM5g=4Q`Ipx}Oi1|V zhN{`%0;4kGxHVf#m8x(1K0d#(TYY$q5$@%LZujE7>6ymJ%_k7zqj9g|#5@hka%@+u z4?BB$Hqu;T_!{aTy&*hMMo)?q$}8l0-->bN3L$w}35&9`icVJ)O9 zsYpxi1fm%|9`5~*2n*G7cyDprxyV-cS<}})>#!CG`y`}%QBCP0RgWcIo(q?y>#SG|-qI|j0jz~5smXIeDFt0S!H0*ZFN4?~Lrm&P-i6`l_LeznHT3Zrs;~w*kXu zXMt(^%hmGn23?ZTIud5Fgt-Ceb<(R*JsddPaaUCmRIB&Cj}waP*F(X@!~HncL5tjuWCbk z)Czie390Bwdb+fDikG85Ww_ zor#9B3hWDa;b6N z-}YPpjk}BA7y9`xL2-muC8~jQrs#-INvD2;!Q}48&lDj_?cJT`=L_&*XdtbwvB|!* z`07}4)Mv4VU>h0EHkGz)J2fU>CG+|MAY4^MgS<~unaE7hg? z$PMsk*N1fx0YgI(LveVuJKAr5gyr5a&*t7~%U5O(A}7NAG9Q*xycIPi(a)$oq=Szr z4I%Yi2Hi0(=9HzxyN*zVWTOm$FzE6qs`&0Jf#(y>nOD8ssPC_j*4N!3ebDmRsglQ+ zjB}t)4M*~~(Jkg0J}i@9ZQdc`){x#K%kDN+$mnyGL zCmDrEGiPhx#v8liQ~s3@cF*HKcIv%8DoX@F;E5R(NTFmP>qK`#%9W%_k|VWo*OkkW z+SQH`h+B>NKiVrV>6=(ZzCWCPZdOVk)lRo`W-6AkbA{2c*}fj!o~QJh(dN6!eLtR! zRm6)tYGIGkl>+GL>+ZPOss{#?B|zILz?P)lIM!&y-QcNre}O!#VAwUnslQ-s6H2_kg!Smx>xwzLJBHhpLyGs~4kdMuetq}b zg>z1Z(xQg_6Tj8H>ho9#$SU|e-?O6Gcaa$0J#*$|>V-4Cb&vaIU7Q?`#~sosexuE% z9w%=;-cz05c6+hvr1<_^aN-Ht>({KiU%gAOGf9JF?cxmOE_gbRX^&ix>cSh?j1`V= zG@y$)KzS-nd2pyG=Q|#2YsW8kxwXTG?f#Jcpqby{CgpHw7B3%|v957H&8HfQ%2nfn zgwo0yzdw`ROA=CO%M842C6uj(2gOnUE^x;x+uOIhf0oPlSn^-4s~B2qnzkF2iE$9w zGotzOY35qG;Ehx+a_sxF+w-@{xCCGN%<%aYpQmc#-=seo4Ex)ta&S0Q8LkR{K&ieQ z_h&<6=tak`OrFa1acY8ImfUBk*F=PGLV1MV)*CrA`|Y82T#x*j2AOs>|q}l zHoW@5YCtk?DAbhLAA{{Ol5|s;u-Z&;T$GBVd?T49_lC#u=am^Rc?E?g)@3;g`OYm;I~_?k$JQD{~%0XF4+i-{zT?tq<4Z z|F81`(aXVkInghB_sOJxM9}bxpR3z$65hEq>Es_RWkE|{r-shfOJ zQ`?wm1M)^Al8t68|8K{F@9Sj$zmLVQ2PhdJhK zUI;Er_5NHv`9O8`$Nz+uoww>j5umJpj)fmwbjyH7{K2tM-4dZAJI-k%O%(${xf7D2 z=SSik72`XHLx&WPKf6ykHx%soliKKeKV{*Z+b`X3o1KO~i@_bCOFm=ZRffk3^6yqX zr6^9%{j{y}$=Lj=mp=WUIhFPcQByUAi{+K>Wq#E=Wf$i&a?jePy!l~dy+1(bZ>cOq z9uz@EEhLuKldwHAk)*$k_V#1z7UGVYr})v1ibXyA$glnTT&w5EW8pRTpNu7Q>mok% zCiprw;b*@S*57q7`ovc`AqON!GT{2GJ8yo#qd0E-TjKz=tc|w>gc~I0!zSv6>`6xCh}b&9 z?Q^=uZ^z|B_p3vHt=i%}AK&mz1b;Z=58`@VQde2HGU7KUY4uCVCf~FuWJ2rR+L>9p z4$itIyrL~J*$2raL(=E)#}}U6jrCBJHYS{wYk}VG@FOYkK^=3Q+=FBNHeomS=b?T5 z9*gIHEKc~)^d>D)gc+FO*nSd3XV?!Ru%Db)IgB(MhgU%P)0sa{ zd|ThQDKJqby)Ja0KU-at)kfKt`CL@#IP{fSbzn*~HOi|jAz>Leqp7;6!Mov9IiJt} z_lbKS1+R;Lygk%nv9hPb^^Y9e*v^e-EMkm37Wd17pTF$)XnYgtf2@z|#<%o6@uJkF z%4Ndw*HfCFzk0^)VlKyll2$;yrn#6KQ?eyLcjsNBhW`^{{;z^X#zuHTcOD@E8WqU( z;vH4Fb{Oaw9wSr!yS%;LtOGc0JVgGiT-MH7t8pfH04SF;( zp~-h{Q;?;#y!QxJTk!&}N%fVKZh0+y-jl#tLqe9!T3n%TZg*I!NXo6tVcPGD8xh-5 z3xNtZ@NR?F_ZkCRb>zvxD-~(+nA*z8kP-4=P+J3<@DeUBtMTOD0AS;EbB1FPQ+F_-L61NQO44$ zSUJbKMgxDoqfuGXRY&2(yfS*ox379<8eLr4`;B~6mIkTV!hm9!FFrD?A?pt}09`XY zq5hrW4WthkYl;%nBcxoeWq1h@-zW{)p8mT=rx=pqU4&3~*Q_NmY=9d#i?OEbky>fU z-0I)7UOhA4S%qlL^fqF3(v*|7GnZp02Fi+`d$0v)4D`8>RgDl&6orU;;-^vX^_%WG zvX+b|&Fgq0PP-0!6PCrhOxR%3umCd)hly>eM{xeQ(v3Z8=$#pF$j}KM40A2RDNCJ{ z%}50b7qgfUR$b=(h5g~+iLgQj4g>cUI#)$<8`_M~rmu{eTd8_G#n zGV)ve&^o)hlijM2J|o;|R?9BD(^>s~IetqEj3V8QOVa9!77o_gdtId$JJHVeGLp37 zY&-l~_yE1O4Zpd2maz0J5yq0bXm#S1F`|{;1~kNL8O#42q!*Nnb37lQe&{hQ)9*m8 zKwor+5x-~pz#g0zr}jsRPPA-c>)X7M)PVL?q59>>?FC$DULaxNSVyI*1f%(0F+}>b z+P5KRX5nI8uEM;&elMypOTQYUW-v{97_0D`VmHb50;Y()axh{XZI{<3!u0t|*_kUK zUXWZ!d<;^zO26u(&AOqE_ttUNezN`~+62jq9_#n_iMCL~FLEkl0BVgfr#!$!G8o84 zs8d`28hexB595a<;4hix`h5riaIY0P+(C+<>Ej*Pyp3$mxRR2r2&{P#r8(j;B3@BF ziLIl$G@g;;T&gGPPsMsY`z<*QZKGx(+oC~N56q3~={85Q+)-Y1tchgLj0;c3T}G;aD`xG0SekEs^*U-~j6p1hA>g79uopUr#zp|eBbr)`{1_TL|o$OtO ze2xpd^l>1b4xpM(2AjUm%wek%clHybFeG}x6!8XQ&#z3ccl7pAl3dn?T00L~xQpM+XNbhGDe)G@dX~Be*l7mZlRvyN z#pJLqOy9(;zX%mPe58*cTZ1AbKt90c+WiL~AU8%&_Ds%-b1~NOyqukdv=I<)lQ5|# zs)wdQqWuVGHPt?uUvs}KmgG{Pm4uhK*A)50m>pTzWsn+{EdG?>0<;27HzDO^`i+8aCN|b#Dyx+fFltydXf88_-kOMYTaXoM_Ml=QSk70~hf@GW=nNI5GYBX@V~p?25AEHX~ok=}ecYAW3aQ zwsUWFU7W8vlK&WO`&!Olq%~W|tbWfxLz7iBOxlO0*F882TqH>@;6MGuvVOz|h2)iY zGdojk#awj&lCS@5!`?Ke%_ z`Ce(MDXA!kepoz*KmBBpGbi|2A5+#ez2v!bcgCbQ!{ccgE#7{JAJ zmKuJn*iq?7T=gz&Uz}*?uMaRg#QN1i>VH9_nKK^nG;62bdr;c zG~Au@B&KJAY1YTDI_z1poo92Z!3d_UV6}MSj7L=K5bt(fsVC>85W2vya5%)~Aw=Rp zyqlY7If;%A+_oU0abp!(IUXPg3K;GBXDlP6tC7Of0|}OiHYe-au^W^M^-_9Sb zB-)V4a)_-fVuR5seJk>mlJpdqQHYs%0JyX&F25X*3oe$8a57IY9DST~fs>!!(5l?p z7oWY6h#cNj_iCVyHra`Ohp`w_OHgm=VYq4NTVD3#2xUXRsa2M-n(c3^=h@kOR36hEUaH{bGTo^@ zZ+|iFoDjd@wGwW1K(e4NrmI8~1kto1?VLQ_=3{dA1g_aaik2l?pefux|KsYh(UPqq zL{;kHl)wh4G(Cma$))^-*aX9+B}wW*KE`@z!r>dU3ky38GQ81Ze#JkHHT|O-l}NA< zdP57RVQl^k!GeO`mbV`es-kWB{XHPtX&r^|PVPoQ^I)1Z`Rv^vKk4K<=&ZxgwtE*Z zsU-Fd;gH!a(BFe&XbrX@8EnRry`_uMp}itUpklXPEb^GPjtRfh{;y%ZtH0E7Ag z#%A6>44-AL=w?Jb8Dp*X_^@{h0PCjF}A|fEjp3ufSz*o0TR-ZTySSIke)4DEY|kBk2VNuA>Gp|z#}&M z5OeG>&ndww=yt46YecxLA~NjVpb^OM0jw3`jFF%UlwTv=@H+f{hS zPiq_(0wOmJHE(-sX?|h=)V5W0yVTXboJ@sf#XVc}vH}g(6ws`k>%3XN=zVa9fPTs3 z{bpnx)T`#SqELDOt+%08Al?UFE9z zJ?~#vS2Z?L+5Gx@4JYX5g+JCAe<=iy^lQV~$jhts2jDI8Q~HxlNLhS?ottKlFf1uG z@nzsS?I4a?LvJ9$>%;jax~B=6i#>H>ONwCh)(k40Y_0B|5wB&~L+uX}jpw}~Ny}}< zZcu{1s6RAy+?hn1K;Acn>nuOsE8mt;F)UT5nh?9RuX|?>*Gy}=t1AQ6-0eMDFhA>o zpnbn>d>#7jTjTftllt>N#MyuK2{D$zL%Mx%Qh|^RM}x0?g)kYv8mR()dAw;%&;)5& z6OeLw^>OiQkxC5!Sv$V|qPfggi&s;bPPK56-W6;4247wtBj8Wr;4@9I8P_f(*Y$n+Zj2T~oL-e(a2dKVg2u&1(I2tCQS z_Bjk+wI`&?=d-|hDa}(``Ub)%$va^{>K42^jLp(}s>SQ*no%idHGZ@HB)s$i`keQq z8{l_D>ySWjYFL;Aa+U)sO|)WMjPeAuihUbt19D}Adq9@NbcE$>0-K*|-l90>GkU9r z|C{iLdP@Kw&bp2}GGa60;+N9u^QUM-|7z`FqwyKSyZf>r#f6Db@?_=BO#N=3MMSBrBnU?vRp-J=&kZ^>0nK z%qU17=`gFydf8&dWo*@}IYBx7mX*=C3wny+xkd zJI}FozGJpwihOS2V9S#U1v>}7NwMt?VJh`8vv+KJAz|B30-59q<6e31 ztkX|O?yT$IMh%{U=q{5Ev&oc&lm4)I7`&d$&th+d$_HeNSPcVjCq~k>*>!pBOb1$l zFiEqWx$=_&b8|}Qh>@sJKpG3PZ|WVdTm^P%rOOc}NYDyyc#(?H_}>yb0T!$%OZ@#h zH@uyp4ZTuM6YfaRkO$q}92C=1@A_TH+lAmra~&0V3gLgB+uO%D7oG5AYcuR!;DK_I zQn-tc)q>_3FtmSyNMq zVe<@|^xFYbX)f^=G~_V+FzGyx66Y4ujyeHS6!kcgo+ABn*163xrNtq$?AgH)q6t!S z0>u*%3~vMjQnI~2jA~YH?*(s|p?8GXHk~0z%AcX`*1&J?)zC+!WHWxFTgYMfY47D( zKg{GjO2V_IA44+D!)Ax=P;2rd{OeQh`}2P>Y4KpaxrQ! zR0fa^v$S_UzBE?qe_YJh$7usoG;?_dl>Ttx2uOr=j{V!niiQPthK5c^+g@B#sK#2* zI}gk2+yXSm*=pWus*h()m4>wnp~*sQ#uV=5Uazl?yu$fCb&QCM)rRyoZ$(lTwlgTu zoUF-FBV!vp$1yhXK$3&WXB<&?0Qq)OTd04!&_y$Cf=skFpx5{43EQetM;5QX9iY__ zoeq2Y?fmuAd{F@-QjM`xjLgL~y!<%Ioo4RR7IRT-rMp|(BMn!l;y(vIhS z`?9vr$Ok)Es3QUqMw!&7Asg?h2Tw3#Dv786surPEPmnf&Gwc_|i}T>En-IBo*ZoJo zSsQsl>ff(C%}WUk&7Q zOqbfbw6%1X5NNowHSTN2h{gS*(uQJo)?QyOO7}JVi>g*U6%CO!&iQq`Y^L*KnSPTZ zma!KY9zm0~=AY>?XYn4xdI2xao26MGFSVgr-@b0_*Do_`qYOxjZ*i9zw!MP>T$k4> zAibzcJI^3377!=|JLHQ-$AcPlPvD}~PBZ$@QOHmNjkYR?xq4y+{eb#lePJcTwP0K# z5nJikQPtKox7h(;xWACZ3uEl#7f&BUCThm*=Di9vv`o?3e*J#q@qmR*_28glZyKCw z7O``Q9DXsg+pEa1K`?-0(a;%$sS?V<$yogQ0N&b&z^6mw-e`w~q_nkd5rL)Z%(4vy zzZ=F|jZmA&?}l^_4JxsKrRbE+IV_XOQiwVB4uNxR1gEW~JgBEv%5?4L;cX}m#iCxdl68Tze3*(~ z+bc|3_=bK|vXACe@-@+6obrsqsZC;wEXIllGCc`);lMLK99V`(q{&3KYY5qV6rW!| zYTvPb-1y7o+J&WtzS0d4DMuZdq^p37a_ZgyW>o}+qqQ)r9h2u%$MlkWrcnQb+n!KG zAC<^O7JXB0LMLvxo9^GvP`v=_0Y*d7wqE@aswPF1PBxh>`O0K`n$3CnwgL8TS8f8D zS75}gCtKo@p6IvMBdL|hz+QgVA$XSCM_8rbrO6LkAjrNMa{zru&R9j_y{GsRyZb*FYr-*;=N9%$wOAv1db_xekj>nPTx|*GG&@}!XvI4t zY}kiYOHWsm9*$(eMS1QC5i4efouz`&g1Y;G=Org!%Jmzg)I(LAEW>I!*8@1~INFdY zGYw`{S|VpH>jKRYDW(-TjJAMJwUeJvDyOhYJ?k?*?O5U%nhaY=0{C$5bm6D%Mo)clBidWEuu4(w#s$N2Ut|Nm5o0 z%Yi0xrxai2!w+Wyy~E+?w%w?k`i*d8d`JUSUX)eC4-9H0ZL05@#h49J@fRPSE0;Q{ z+6b#+448UoE*)>jz(S9V&XEjK)@mWaUJ^mODYm;TvL8bOtv9@&krgm@0NdMrbwMGF z3P5-ZM;h8YS5Qc;g)n}`!D^CGP>JoVB8tpTVQZ)n=%6m|g8{s(#-U)G21DdU_G8?}RL_$?g z0%hj)hH$g%{Hcgm{E93MAybdiikDLf_Px#X?ir4VIIPc;vj*|jm=-61^Bx=ONl2gf z&)~NW%wRCoLL}YI@Eq%q5j2mN6YNPYa7@*L@HD{jaa#>LSz9~XZy zI50bt@GgBbDl~~I$iG!f=cpHDY}-((Ps#j2o;$~Lw!`p?pyq+`TRrig0z(9GcG|#c z30YCrPPSz1(n`C|Ay*!aDP3SZM@`O1PP`L0vaRqaG$7$DQ_#KK?0-bOrND94H^WA^ zDU^5Mlu-CsablsCWkhEM4K({58q$61@Xy1vVtfss06{saYLy~WtL1Y+PNF9-`wB0s zhCsc~QEbynCaUOf6@hX52ta6oioZPn&!6wP2I{n;NNns0vka1Kf zPeHCNoJ5>8A?>srRc#GN+qw2VJx@YjTFuy{?p&o$mh*(WC@I%8(|Pu+^;i)G$Zk2> zk|1?R7VaRm`~Y;_Z73M3$uHaY;7IileH(4+LKS7s$WG)CxR6XGVDwlPoOJjVs6{O$ zE+p~kmr#bRH6_j)h^2{{rMn{*#5rEtcJx*_sx?Nn=923aW5v0V`Y(?lyBAP;I2_mh zR5Qf8C171Q+7kt#rt+X9DfmiOCLMya3UDsq5>wcOaoXlEHcUS%#)bwANtwS-H1D8$ z&iJBkv8?q6f!}>7-#ZxLU(qyT%pzkjs~`8rcP{O4s^^|NUwp9Htjy4XffPVE{x7~* z5iUE^EyOELV9_1ByvJwt&P0;~Pg*pbtO1o3pwA@|H1NURLba7dG$#qTynKW7iIRcu zW^VqZT2n{12)qUv2scS?@N+ZO|Hohl)<4TP{(s?(W|+adbRrmJx#o&(J+RrO%RnDl z+l*h`jbBBgdlM1whX`A$vd4vS0YvL8b=xeN_bA1PU-jbl#G%tG8CyUaWlb!qx@Fn# z%E2MZC+x<8-cv?R(5P+}!brvW3hx%0F=8UCJu52P#?hi|=mo^(2=h&AU<%ZG1}RsE zIH2@f<_urUZQ4p5>v~Gc(+}1+bS1c5WUZtESKnL<*+!2U*=t2SzW6Gka|u#*0^+s* zZDg#BRb-aIg>9IX!mZ$?LA8op;ksnzy^$f6(U{T=$%3tCDVJDk3?$;P;GpKNOFg~8 z{fQk<-%!sz&0e|Jcu2oyv2LbQ5!99}%Vb(3=A_CGg9+(Wfizpsz66`hX(A_+|g zrdd#QGr`il1q5zwYrx;5Xd+Kdg-C-}vsww7CdWf~SIDYT!^$#zjj*&dJELpFO!3Gg z9o`8FN%O?s0%ZwA)oMD|Gr;GM(lQ*N$@u|^cq!d06(w`vWz|iuMW$sws*Ly&$4J;| zKtf(e2~U+j^ef8ZUXGh|*B^O`&<+*{k~Ub~1Gb(xqKp6KXxzFP}h3qqYV*J19flwNUF1t zGSi5&3ZTl5#8#rEUU#eG;@7yNO8a&VGK55?Iry1lhDN*C#=dq2{n^C1&x$vNm*I{RAo=~!rbB$ zV8HwLG{g5FCX9B3>&~La5Te|C+Xa`)q4|kW{@}K<1p8Z`<5P0H%Z2vgw)VBWclv$t z#+@MNIZJIp0@(FUySZkJ!$Wze%+FC5-^-8aT=uEd0jkVnZlR)mko%BgyU?+kE^bd= zJ%P6czb_scZHx4qeeguy6H{+zZ}+D9f5Vk^#;={H4#M7NA@9i`;ILsX2YW_@-V3LO zV!TUTx)@PUCz4e;BDCZgko#H_V)D8lcZ@Vrn+VdK;V}d&(7=bwY=e8rvEkf;M{erS zZ9U~if4R{ND_=vUC=h&637T&+yiX)p^H&Bq0Yc$Hz)-=0NK?N^W46&KQ}(%YZDLyy4&x?;GfnUx!ysN4w2 zfhYq_PFE5T-ZMg$tI)rOLApyeK?>Ex8yg`GfCgfJQx6l*0I@5GDtmhF>Xm0<6rGn( z!eHO!3k6r7gcUzBR1{w`J=i^=JykKCS6kgCy;eDsfPQLDmH+LkW5J&Y~ z?zDbivghf{h{lxfUwrqMl(O3_XaqaNX<^wKJVNzO5GG9+m#`J|9+4x2b@bZES5RhN zIYJJDMz1FjFk`&9vdSEuK2T$hUG*t(-u3CVsK@(g562y5W$D6w?j^8GGucjP3C);f zbb*uPcD3bYD6pukXPB^_O^~)Dzrk40e{fmRpq?O=?YjBkBIv#bUj%hZ#j6;pUbSAO z3QXn&IS>{4-U(RR$KMS!Ousa|=qLT2wAX52#Cxjp+`?%RJy$j&yY5-ya=ZbFq-lwk z04d*Arat#bi98}Yf%LJD3#P#x*t zO4Ucn5ZHyMPJO=peQ#jJzNh;?8NcgXh?`J?us|_|r!Y}F zOS0oGF_$2T7%)N;a*8`{C1PwCoBlScB}jORlhL8VHBYDt_Dz07{$|ZGai;X{#+^5bfqKA+MhOZQ8h@NGBu@?v#Ki=B(@GecYD9lf@Xv_n>altuP z)W~%CopbU^qd)BpD^EfNe*1^MeT^i+e9wsKTl4Ai+~Ai{W`Fi z=D$Oc$?`u zX0U>?vh*ek`;iNQaCAW(do`J=06rAVn05r4FODIu+V=>vJmTya)3xyhG;n>Iv8PhD z^aoD^{~9gT!SQ=9o3v~7jljtQqG>1(5N4|Vh)lMJ5v{d!lsW+L$6V{TxrJag>+*(Z zsu(LS%Ep{*gi!@cz4kjfwxQR^J>u)wr|(OXS=r@{kT6_YlxDyx8Qw-ZLO!8x?iSNj zAJI26y&54O9$>DbkgYsa>o2qv({h9dVRmT0CxA|zqFD}%X-VGEOGSyPs!foUp^j$<`00NRWTp-AR!M3Y1NT^!GOwF>Uzd6z!|F_X~ab0BPWG|1d(rkOm z8>XB@sC)Zy(LBU!UKtg^nOwlEdSfA`8h#fv{$Mo(cwPX2gkkd>N3w2s`nepbMFK}y z*&-BN*+!kV%6AOy2Oi$d+AIkeT&!XZ7$`c&b1}BX!!2m!Zg~Q_GA`jtT=mfSp@6HD zxVVbpiDtCFnvHBHX2oNcFx>l@yYzeD_e@uKbaGIQQKXX_kpQ*jfi{)}4mHAaq?>8T zZB3xJ#y!CKwF zkVS~6mU3^AjTydX`9i`4ur!oanO-h6EVWrTM+Loj=p?j7P?FxL+{?I-`gq;w zU);wIw#n&dzfIU?^kvu|tmA_c-yF;Q2-uJHq`44Sr~=rRU4t5nqPq~`&g?(a!(VsP zX8eE?;G3SGG0TDZq*dv5|2XifSfFT0YDDP#grXC#(o-OD3)9zVVMr~`dyHI%rkhE) z`~DnBF9`c#+QIRHW&OkDi*K`>b3A;VE(W4C3&fwP=7TfsOkfBfVj@4>mV z_d1pTpTppPw;t7XdmF1?$YXB3Ox4)fS`|Ay|;@h(*w=;E9RQP@@b zP$(-6XMc5MdX4^QV?Teeu90nq_$8E$Or4;o$Vgwm?n{`qr3k*gOESMN4F_4EspP$) zz65g+Jy(vr9S!N`oa$jDEYrO-?f~kCe8frXcM3>jL088+fdo7O8y&s|2BqI%5KDXT z*^z2}aL@e!z6kct=#+5KjN_?alP%wa5JR81Ikx_g$iB9&j}fKL-_{#i3gUL{xK=Lsgm>un>xR z*dyZCx`4X9=JUL%9Sc5VVhb?^ldD_;nU;Z&0PzaFk0&qhD)2`8XT-VbQ$`k4E69vf zA~^#r0&SPTp%$xrDG8v#PSrT}{#QF5%Bc=^KLhZ+63ymSHtkfF{oRhu7TMfrBEgI)9qksLc`SOOqf#zZ|Di}NE%cP8nMxR!7TK=) zBUMAHahCZE&vAn3T?-v=jJ~RF@&x4vm6Kdwh0SskZo#_7H`c+tJen|I#EINmFBhO6 zYStwXRs)+dDZR2Y^@)BrY$?h#K7>*b)J;X1;wVdUGiND-r6CwIyYkB;8R&kYAJ`IM zu=uzDa;dnT4^~mNik$il8|Z(~SaB{3zjbU!)|K90O*ft7UGOJyo0hs<96QA>g!_Z zPkjDL^wQ|VeeJ*`nNo$AwIqA%HzW^aCrqzGOy9KPts$PI_8HZ|>1}y6-35f+=g{f` zFjk9|Eeg|&8YHDf@fCdhDXn}=xo$wXL|{HVI3czIO4q$ctXx(M?M4qG29S+JoR3+N zz*<44wVa}#$J)|+HKf~6Q5${<{6RW8#OEw)c@(2`fCuu0DZFFxPUd7-TB)0pEV|*G z)jW%d;(=_Agjb0>X51U|w~-?&YKo>2X9_{=A<#RBw!Ej8NfinF(VIfM1U7O&AEq95 z*4Q=j{53?o&`(p92sTXA>&Zc@LY+cRKNrEv*lhQNKpcreUNyzzH(MQ$5bDUyJoMmx zrZeMf5fZp~AI>8KrY2r>E7`v_@cig$fJqS7ya(r}B=ZnzVb@C*vP# zn=TVk;b2F6vV~o7Q@<=b4hLDW)uS@@;6S@_!vMQEa7m|zoa=$fkTX5_eWJC9zdz{1 zQJD#D2MpFOv=v}&;31*G23jwe)3GIu1QZY-_6eiPEgeQ%6N@jtiXX#aubBQ~+)gLz z?k?WJQASu91Z!N9+RsM4cK~l2p+5-hu=+4)PV$>D04%vHZn(+AMORX9u$D})Rtf!p z>6D7MglO6P1wXs#w&dW4R~~_siTuf8pKv-5Sv)o(^#T5ZHu&Wz60mSkAC9m9wvCjG z@NVh|G01B${7ko?t$R1ZoQ!BB@DU^SHEfmsjImda$IyK>tPGiiooy%R<^;gosuj88 zbHVdb6_4g`ZJRNnwGq&)C`+@D0e)v*{s=0Qv#Ji{aIvyaF#LNN80TCZh640VIZ^6q zd%A4zE0~xOCG5S#+)9sa*B%2JWNrjSqN)5}?R|Gx6Wh9XkPgxW=}iGaS`g_iAOg~> zQ~?o?4oVFWh|-II2!ew2-lZ!YLJ^VPK}v#!PNI|u0l&e$_tCxYx%=Mxedmw+Jl~ne z8A&qlS~F|bto4@P`n{ooT8Z$kcjy+Y3!svU6Tns@hh0YJ4)?W@0JFjlD-^5;K;d}1 zWGjd}fyMRk<%(+v)MU{Xz6V;O&ujwVI6DP4klCcM49BI+1+`_Ng5>L2q6#gnX)Rd< zG^KYcK*H*nfqkj5ojs>2A4r6`TC{i;t7N!O`eiw=4KKj^gON0yfY(?c9!oqgu;O6F zwp&c&D1x$Q!I9fIC2(~8P6R-nwi{Sset_I=WPgNbbTYd~))Cp&C=AdYk zbYi}g2ZR@yRilCLGU>1``AYyL2{>T@o34a8=mwtwR=T4dA*6MXbL(?;0lZ;*G!A(P zpKNpTR%48q%L7WoZXmDICXij0;OX;V7VFit!lxzaR3K;|^8TbauxfDa9=uEEaH}B+ z{b{^wX`Z>h^=VZMu)cj`3bRH`T{xCI2`!Cp1E@ z1w$26FTf`#cC;Xh6gLNbPUx$ene_1>z*;LOb!1+e+KYoDgP$XTXVZqqexZFN9|LQr zx`cH>$zL1R7`dcCjUMaI!9kMLFvi7VgS@)U=<^j71t@20imHkhInbcTegsyi*u|O! z#(+sc3Rf(*lR@!&fUv!s4XP^oP_4@n-pN5Ncf*^4tCyWghCLDq7}YzyZJbFb)JhI3 z>4ELkP!>%f;Ax^f0d7%*K>))1O@L7aObNSpoQl)N=qdw_Ia-937&iV1?1qIbKnac& zl{W{IyTBJ&Nvr(9FYf`750{`UQk#-~}#ySqL2A!q@G7jSF#3mJGsv_Ij0RYz$yNi`@3l=Zi z0(TPw6v_;>?&C7SS|GEi=4P;cU5j80BucDzl_T_QlF6`4r5W1Ez(_ zPzWAe|2QAG=wp`Ur7cp71M&c&?SPVe&_*}Y=Yz4DMjkwD;mHNZw(tW+F3|OY07UEn zhSn78hxCYQV@yDTu zD4}rG4I|1CmF5vT94#kotyxzyUZ>0WV@QF7gLmozsW?{WSoi02AMG7!v+G8)GmK<@ zVglGJ0*1{&1!X6rkh5|E0L4U)o+mP2h9gvt3BA!V-2~~8I*}Vd z=dzg?qZ@(ogc-*BWMQxBQ3?0H)rFdn{f#XM=H~j{E(VKFAaTeX@&0A>JDI6!|8kf} zO=}BAqKaadK9i`7HEWSds^(&$V|TBiLLR#TUKN?jDgvlLefXLLwy~E`yEBfq2H1({+84DZ+RPFTo{P%acr9u^a!8G{o7XqBL?#|2fa=XFfOKJB#W>YSDV$nS)x4Dgi>UM}@Tv=4I!Ys8686 z2E(I#tw0`(md+*UgRTR>jY<_ce+&IpCC@R*#frn!!*y;Kf3%GpCw-iF!UR)o1k8aT zUFCXg%n1R8H--U7Jbp^x*0#OT87wu4!>hoS^`pSzM;#{>y{$3&ciM)p1~A_A~Ak(OUkd&PUyjdkR0@OsFP$gH#^z5pd3>` z8}%3`+7Rjuj2L4r;>cr;O&PUtxhqZuATI?ufFJ%YRdkyukmIw(1KmX7(!)VpE>>|B zMKJ>O;krRcFMZlYEWi8}pDlb~nFA2#z2;&8kF+AKwRl}u*c8Y?IcwT~b+&cl>Vp8| z3^WVU_xbYZGIZG{I1cTvtm0-P_!PqAL+X}c1eAc}HJGvA7A0hja%=B(X-?;0 zgWag9NkC;(Ma!w6X5_qz92?q18b@{$sMRX5eLd40u48rcqOQ1`C~c;PqdtS0I!&Ox zAlYTft~hWPoD@dkfwYEnwc{I$VQuo)(>_Ow1H{y4AwbLq9WUUL9_L`v-hvTIgUMj} zV&sGcaVGaG=Z=#MEb_>mWrEWK?eLbTAZVSPS$r+@WL6m9_z6#o%Y0bq7%YySN^
?efEgh^kX!RUAoJ8gX5jmeMW?iJg@)7Q}pn@=*-5bW&DV;%A< zD3cD|uy#h9%q5gb*agfjNd-a-FT&}`k@57_0Tj~HG#v_4t27mGI;==ngG;oYMquY! z6QXi2qqG_HMz*%=EG=|WToB%PpJa$P)sMuWw&v)AXfZHoy(zdI>DY3?C3k%d!;5;+ zIO24226HJ9(A-I!7z}k+oZ^dsRBxBYDt*d?h>aMUM3^&Z2v0TKQwWfs;WO6I;P0C%VaGn-G=`yUQ0#Vx&icufHO9k~Z7^~-?ayh&SWJ0Pc z7o(!X#;OHoQN3UDvUWNgJZ{K6xIY*U0+=_(g`ZWYwgD*FbvX{_rnU@!ipVe+FS@yF|BA&bko1hs z>EtY^1aMC=?E7PSh9h`5$02|vqr;}RhoXOCX2`9hR_T0wRTiM=$uuhSMgA{VtI;8zfRk|M51gQxqrCNuq zi)>G*u-bC|6>DQ_jWP)A6HLJvObz8`t(jyvA*Ty4EL9m!TMgC^8ukDQoZ4f2*i<(F z5-Ci4K?UeuTHofCBf*U^=tWCSq`!X~8;)zNjR0y8sLKMoJ}&I0aLy4(H3JD3OCWUi zGk1tB-m&6*RC<>K%Yqib5UdhVoMgOu@>N+dcyOn1>G%zlOEl*CZ1~#clTB=-?gMw zX{<}3AM;)l>W~7`2_TkgcDmt=fWFRk^XKgkSH0U)L5c8r{yF0 ziz~(>yBz1&0_YkKZ(swLEe62`+T!9AvL@)%$h~=%XW|tSOL~e_H|qe*ch_(i#qy0^ z^4S)_B|1**;BiI}DvQC{AR$^}iNP&cP8r2LvBws$VXVSI?{)zbx>^DU`seO6QIMz` zzc%IihUN?WH=A%9>sea>*k3;=iwvBxUVv#tt`NOeDl)j%0zvO*V-5}gku7+D|hF_uxS z0T84!<99G*ng#DSE)DH7i3=Hawo~||H>R6l&CsZWt`7EDjN~$L7ssRMvLb*7ZysA9 zK1^-_1shmo7+Tht!63G%R<1sopce9i^%PBecpkNoon!^KicNnl7a*)N@BYen+>dogwLj0tjvx+_9kmB zzz}yS6wQGcWO#IP!7LOVijd)mmb;pVCAQLp&|3iQ%7>F(;W)pVItpz*@(ps(1fUoI zS#mML?;;;DJon^XJ0T2$2I$GUGOl)|g<$bfOOZ)kZ4mVFP8=+-w6Za~4~$jgdIv>0p44yzFzNM*W1e9!6w^9zla~I)SBA052vN-C3m4v?okk)bcjV=z*YkOpWYU6H(kr7 zDQ3PC-Ww;}k;*|zIC(Of9F+npO1?2V{GQGB+wfUQ?L=!`tbuD@WN$4@rMk8rGu;i? zmR!AF{a-f%=$|q?O41%Fv{VSPMd(>L?l%}qECL2ff*hfn8$(DiCv;wE`hh|&IxBqF zg8*uRP#{Ntkn{ysqDDsUdXTRg9~@SeRW2#zIWqe+JS{*3R%}c+rMxa*=&^S?1CWCa z<-tqWX$2P6B^ynWv}GT7|Bep&f%5rV+8S6MrhQ)#>yJTw?U~DpY5|Nq1ao_AdE2=; zg|cN2>NRtrMLK2XH)9L%3G6vvt`bw41tQaFwbriUqG*b`83ngDsG zScdKmAXy?frbmp5#<3wFxFiVGs)_8as)U-Dj=STo!tH~QvKeYflhEx7#I;P`ah`^j zAc5{F11s5XypkgYz$l<>zq?@Pe1ebBP1soplI@d71w1jlXstv0PdONtZh)h{J!WqW z{t`xo+`2}7RK?=h#)%P5FPyQS#abf}eJ2+Izyl1Dk5d4&`cv**dC(#1{~_l*kb3Ah zbLnpv&dusEaW+4LX<=`80uU4<3Uxy6$Qq)% zNdxbBKOngcEcHze9;gKpdZ_h;PvJ}#Y0&V<-C;TxgL$mZSHsqm?y0%UVlEjn^Ea~e zwXK4bb(^XubTSIwTREG1%mDy%pJsV*kBoag5=apNtct+Vc_DW~KaK1jQz6^C!8FbX z0iWYw@~CEQjYR~)HxqA4jwwHQ>}v)`H}eZGmyrb*=EdeCLD-Ek?>DV??lWypmB zfc(+5+SXl79?=h2z&N^8q&J-EgaxP5i00^)x9wz?Xn7)U(j#*z`Rl5TacU0k47LEX zg1Xd>T&p*&v$XD!@k3~W!_$B~HtKH0j+y7Cd}KG06==p<)Ju69LWA+vx%OwVhE-TY zlzS`sBN*mXf|J3O0(%BdphDaWIqO2-#1XwK1u!caW9ZlCLsg30cgIhgCY5=PL*hCqlQ;O#WU`9jY zPKKHuH54bTu<*G9sjPN7zgTVrSVbbS-mgyh=AaQPod9{?S@Wf6S1^Em4RT-Unj6YO z&cc+P3SBZ~Uq!s#K{iCLSaO(-?rEZ_vLO!ba{|bOE!kytVDZ?ci7Fp!vdR+r=WKf) zbLWnWwg7?+AS$+7Hg6n(+Fo?gHtAaANAJIkYUG$>HfjoMW5@8sN23N=tVYDLsl5ML zI@W)hy6n$i{+7t>Z{xaN_?_(J=fv{56d2DnMyK~y@QsM&a6$Vw0pQMjPdRG(KIW<^ z$IFHm-Te|EeWfdOrzqSbEU(>9q$c$YnXTOUSl6 zC2Ky*9z#@up6_ftTxbVSodB-|=0fPr=F!5oC~U}1U$9iu)LWgRo3DUn1ee;bs-xuX zw>vl+k6!?8!vU3MP3wmcqOB(Yk8<58_{kD7GQ>u6ff>=6)`v)EySQdMO5-jz0Euk7 zFpVR1vEd7}fD>(`^@XFNy|p#=-`=AD!i}(t^);AJ>29Z>gtiQfhW0h<=mu&m7vjn+ zOeM)U$sqM+QlD{jp&+|ZkdB+JNvghEkT`yza9N3_r+wf?Lo$AP-EkV+L6(Zj8miH^ z%+ToqA$Rs%9bXS-X~0@6M~Mk(z$rJ(v!caF>nSeDle&TnN99y1Hq7^vgeF^ti#E)A z%Sz3kRr#>Y7J(ulv$6ZG5&CkF+RvRNh0G0+Rf5$(D1+NmxDn|yX^1dydXq+NKY>$d z+J4o<^Ci)%AkM{ZklEXufYrY;i0TOO^vEz+;_%MkF4svx`F^{$g z6)ZT{nw!mNmb{;F^fi{KT|Z~KHWw7Ts7ZcHJR|&R$>UBJ_b9xX|6$^$Kc<8K2I1=; zr~cQu^8W73|5{J_JL&)aZ$Ik!Uoo=>L!n<0@CJnh3>AtCO25)0Q-y$2Y&0kcWBt5r zQCS4e0BBx2p_hXmCsvP*Ltp#+u~ zwaX}Eg06PA*Ppbd>TkGtr)50|W}BaP*0kdsQ{V#v222y}%jIdG63Y539A)4SJ?f&i z@1Tz}i@?ATgE}_sfy}X!VrMHVdh1J9WqMO&{H%r%&M9#| zls{TKT&yj65D>SRbrguxLxZ=tmUoz(4zfsmo3ysxcN0FYV96X^fsQugjQ3z-&fr$xGA&M6HXDJKgoGuB+Oh+67C zIN%`Jr3iwF+hQzMB7t8d3i3M3*P49uvNt%00geE0Upoz?W*Tt<27JT^-SnA6u?PwM zB`6r#LA);i8+zwI$pQPf-TJpz^ZzTQ?r+=Uzdio^7y|xwM*SDo^S3dVe_=g;YhwNj z>-k?Xbp8wP=il$o|F|*#{r>#lDO3M@RFD7hBmbuYKkjGhWG475%mFJ;)wvT+qlvLb zmK*e-r#q_qSuVU7E`WD!U?lLtj6nY`?%!?q?~d}9w*n704euJjdI7H)ekTNb(-DHp0Mb~^>S^K=(1D0R zBp?vz0w`zU*a!ps<&Fmeu>$}5d3f4^tv&5sy}(}f-ri2`4qn1gH&@})Zyr4!bVi6! zhwX&7g_^Barz9y~?)A)mRUrMr;0dv5emzevBwzd9Vp|g(^J-4tf_>Zb44cM)>06f> zSVF_J=arO|RNN33k={6HaCo5zQJgT*lY4n*nlTs~?8V4iDm^nsX&R&|AvQX#)GAD0 zOy{2QO$@Nss#V%rUBBkj8{XZpVRijv@Bt=%cC$XLWtzn?zVZ5Zn?C=Bn8IS=%roC@ zE<9!`v*PG4YASl$+d{1=m0k1D_KNQOw%59Df$>;i+1V#w86=XAqTfEZU0K5xj$vIs#S91REr{QIq` zer=?B(?QR93F_eUaYIj49&_?J<=SD>rD!FezbRVeJXfQaL_qu?pD#nfj4CL%u`#%H=0Yvt{Hu_FxK}m#M~m|kvP1>Flpo} zA?Gk2`nYGp=do9SbN-v>2HBSrcR`R9E1ReAJRPxeqI+C+D&j3~Bb`(}u2epMa2Vm- z_K9a&O>dhzPxS#qjnyvyC5Kq^L=^}9@3!0@G>5jXpG(}~H{KYJHtg4UsWjm{z~bY( zqE?UhN?c=q$?J~w(}M(aM_gB2BOONqvYRXsanKbkJm7k?gk@+l!}HnUNvP;nqLq=Lnqf69x_RoSngt!U#ZeH@bH zg@1xa!eGi|(cB?L+K9;QX-TrCDSrWfjLwadn-gg%Wf7kg#om)hN2Cjg>_L%Q!T>Wq zp&A!z|ID|P5UR9(EBmts2FVc>)a_(!%ETIckFBnc${%reI{9L|y;_sX{R$qJ3Ave$ zy)L(EKSw@!?vSx~G`O=(G0dz}{Jk6nnE#Ma>;654xDxF?n`)YC)7KEsb(cE2B$#NE zVjR5t99vTE`d|hJytJo3)aD9|ZW}boRWz~C+BusmJ+-tn_sf0YDJAIpq`ifv_w$E4 zN&Fk?XKKj$?GN1it9GmHnDX!SwAZ{8UffCkl>NoX8e-GsC-mS;cpl`M+9C%_%9Xj4 zu)}s8*_(F8Up~caUjE=_sW^SI>oi_;Ih^Wl&O3xdF$ZEpYUmwT{A&(#ENR#a5sIzH zn(zJXBBPSB@xl=f7p}K(*DGH|p~?)hFg80m1KGll{I4ydBNZE#KcLkH>}yb=Q5=!I)9uq0fv$;fYt z2C&WL4&jfqOB^A0P!YaYabZ$?FO@HAC^rufoMnn4>KuC4s2197C3l-hy@hc;>D(); zm`wwvRq5#Ca!#L%ee7}1KdX4TMrMOXI6q`TUJPf?T^ZwLF+%k@(UAT|SJ#aemqIGorfy z&yK#McrNg)t)r%00*sY_ao+aXgX8Lju5KRAyODBqh5NNnCbVsvjbd=#cm1UIaLH$H z_$#qe+#m$a#tmmn5FH92gzFO7LMpXf!`bqs212B+WVM_qn+VN?=d-ys75P43yqR%B ztE~Qmx3{0US)tH?xq@no#90?2WvS*6RkcH<93g03O&B;1 zYRG4K3`C9)VfWMO6-EZQtzN3*Dl>!_Z^{_G5bkRq??2MLn}7LZX@=Gen_HTDsTm~u z*)DH$2#ZaRWTO2eK3O`>jG)6mv82Is zXq35xDCp@gX<9+L%I(=L4poy2q+X&H2){?zr6l`?k^7lH>&dm|GHSQRO`IF8MV#aI zJ&bwXW4`^#Tt!J-KH;IsSP{Ga@N{CxN7fjBpYo|x`L#m7iVtL$rigs`h4S&>Yl>l= zUvczJG?`62@2G624-PFDzB#<#K|^ZxJwB->QS)pQ&_dGQy_d?k{+uOO>IE&t_q*7F z>xs+PL+d|}=GVZhdOBx7pjBWVJom?Fe%Hg@+sNjQtNrPmH)zxuKPN(c{PfKMPduq$ ztVHvflpC$PdV9oL_o60e;x`pj1Oj(nNAA;>vYR_mS(b2w)|mw7D3c^#Gkv3>qD|M6 zS)Jvu_-G0BxoTrRkj8?xkiuk4S%-ovwqKFrHLJhliwFiGyXVPoFT_2yV^0$eb@!;O z^)0q@7Mu~%wjf}S8547wZy>#Rsko#hO#NPj26<&d^6k2Fm4nC6z2@G!{-dyPfs*Tqr8*Nez6*KwqmxirXl|ft2{qZ z+W7lKy^^zD9g;cKks_VK?#nVTVfQYMPj6~c1wx~o5o3cIw`P?2p>me#_2-P}GsB9M z>U_2MSV`}nS3syOGo|D0>v15IVH_2L@saNfdKOIIe0eo#Xu1x!2w~;Tk}(Okx!*9| zk+UBYAuqG&)%j>I#eS+;4(n-tLr0CPD6(T!uI{l8JT`^hRM?`jR&8MNzB#V6PB61g zIJ3>->ukce&HE>4k*pwP9@56Qv=U5`g@VY(OSMRK?UBu0;bYnM=BI7~y5X$-^xJlO zm$GS+R~5IK^#U7<+bq6mu;!x*=42nME-jS=(MmQo*Yox{@3iFZ%QJgDj>7lGeml?k z+Ste>%4Af(lsdyI`kK^t#S1b3@$?;!$Af|FqBk5GB^4RgKTm{z*5$~8z)P}8h%GVK;HQg|gkoHk`? z7w-95!+a~|(UULrHLE#vvYc1aGc&cCaziK27@$&x0xVxH~htk8egy6+y8cho5yAz|>h2m1$19YOxVN zD)Y!Es`z2l=llBuUT?AZS7nayrSrJXNjSYhY|5@*7UuYP+&{~)jDvSzK~k3QE96z{ zYg*21bK7cZ`4clfx&Mic|Isv!YzQBu>Km7D!pTQuTS9XEjQpU-QFgC%Vfb9vc_F9~ z`P1qSrf)7e<5WPK{aHi%(W(&XfG*${KA>gUK_qy#K3?7)Zl-RoziYHk-u7-+{-Mrt z<`UrXWrKio|Nq_|4Ohn?M9vZ|A1^O=JB8^+JJ^^S7Cx&5cK2wI zVm4{Za<5B>#O8Zc%nmXNnk0*)4BU`5y=a*g{y*ylQ>`zu zP{1R-2|QUw5FhAgFF1YvdY&Hlynb{7&RlK~UpD7|`S4#n?gY%9vk^O?ZK0zJ_2YNd z`R;3sd5>(&WSdOiKd0^J2;{DV#ze^P_I8NF&Nb0X`&xv9?=HPMwiELuro zeLexXQo0+TCN_tM%@X1GG0wEZP$FBBuMergswJ*Eu6yHG2UUf+R+!d_ zJ>29Qj55u&vfd+@O#AG2baVfNX4)~<@O%CH2{!}ZdoXs$LnEGVdFJ1c=O_Q;TXbsY zR6i*UprZtVoG~Y?-i-bDM z)hHR4V^S&#yZMqPw8 zD_&>Mdj2|APWxlO`?>v#-&vA7;;8Q38L)lr#q)$>;KT3-r&l)pUTyM;SfPO~d&cnD zvaqZneyy=cgNaR5?6-)%=fV&zD0lQlooS>*g(En~aqzBNZb+kz%`Myaht9NHAP1?A zS46Hj$(_tQi7)NB<1V|P)Snf-lhjkC2!kU`1QTkEjhwl_k>>u@$h}EF}!XYDL7a;_PBm~cl_N9PU7r`shs`#r4Nh4f=#TC`t}Mp z=v*I};*8wRV*B@6{ofAYCFllQ6>Doox3RwbV0XVjlX9S!;vl_c;d_B@t9@{>E?v0B zxs`7)y%X$ZlZCfmw2a=n^^2=3kBpAZ=5Gj*srR?S_Be44?1G}NS3K{@@JXEDwy%(? zTx`X8-n*~wehaM)~ud$@S8InplEwz`|ZF^VX8M_Ykd%h;5v|c}ksEpsJD({M5-EeuGhT=Bi;$p=Zc`7Jba289AH$2#MI?ik25(aD4Q-mQ!Mzwo6Uvdk6<8r0Uu{i(ZkKKK z>eB)LJ0B~$isTa4zK!1ejB#M^pO~^$;(VCg9p>PFj#kF6%R~-YJ*+PO;&JKNHSmz6 zCK<;<4X+Gi0{*&i`C~Df+tJ4#VW+~m z*J%+nK$bV<$4ZWrN@sGU3BHBeNY}XY-#2Q#i7J+<=+@t}L>AixnV^afD^EW}bFDV( z+R$T;FTW+JZt`P`PUb!%+*S0f|21AGr;%`ZK!Tu+F6n%weEl5?bAMd)V$Aa7(RI;@ zNxqu3_Wfj+S+vLysZ9Mtu5mMpd;@ce{4sM1ZoPS8=~QFdSAn_j91_8`#&}#ckt``R z(7vIdoi6SIFO;uv_)(D2_(WjoxB1FUf}8W5Bu3R7rj7!pqLwWBzl$;5^&DkY?spZu?_lnUQ!g*IN(dYe&-!39(dT^@v z-`_sbtH4iO+n}WwG!@eN`myRgFG&zbxLWPGUFFO*A2s=Ko;Tjiav@CDL)AnAM`Ooiw%pKf<^tKO#VCTBh)fh~=uH&AT%yhQPQfp zs>H?Ea+bMs*?xq?{R`~Tv*GEBWY9ab_MZ<&a-mp9YdC=hlq75Fc_Wajx?AgHbNAk; z^IEBXW#8p_RKM%{o7?zQT`W3j8>lVpt7ryc@IE9srlu3sm^?LjEY(?k_i%H*PqvfomYP zRHZB{o{GGydTeH2A1rG9Y{WEK~l^&q$pXq6*icVH6}eK z_>~05Yp+1K&Qfo30{5CMRY%BbouB?ozN=f_!L@uh&K6}Tc+e9jjXOD9mxv9)^PFRf zs=raz-1f88dU#GkoYf zRSu-~;*^meS9~!~lfh1=eYe$hWXad}x(C-BO>2dd+VVT+k5V(!LtQL$L!Na~6RdM6 zwKr4oiWaOF-wRSoshP6YyceQ0i>HsQKIe8nO3?xr73HS(%8d11{7Wgj*A}cbtU{E1 zQguBS&iwZCOy}HN=`PgckM8&100q9l%N3%eag0?am_tz`@80kD<+nGL82U((-$n1$ zN-eY605XkIc0T5}s=8Pct(ZP0eih5(_IxR!agnP*e~hP9G^V-Ggs4lrHRO_)R+ZMg zbfHNh4coZDcv}40d66>PfJtZTzTMKvk@&Tz3#d1{rGuxpbEVa}R!X$B#+>!JmCrv8 zvqJG&Rda$r4#C&EeYL8}>D3BNGX8P!jpZ6IllbMpA!{o8w$wc9ZBlKbneMH*?C6YNMkLkVuGPydEnrxmjVrBmMt zU?}#xQ3@8N2R|i`nPwBn<*#)9@N}u8Okok=J1gmaurd=>RdeTH)qBymqXueHn(=rQ zZ#te)LO`tC;?B+yO7`;PQAXJbeE2EdM?TM2I|F@D2|K>!p`p-AD$k2*@b~yejc1p> zR|{|zfmP|=lfPt}TO%tYR(8G$)A1Nm-IJGq6G*;Wem!&Py)~H2slgPk>aa91XwtOH zcwIYbd%QVPQ|q>qOvfZFK)lplt|my*uarxv&(BM!EzgRtmY&79`O)i6UBCAIcj9UF z&&uAf%Fx&Qttz!{GjJIQ-ea$Gl6{AT+r|2>-RdEwlG=2k|JairFfWUJ_)#FQHeg6P zHpyq*VS{)rtBc(ilub8N zTQDyhc%h*nu=3u^>OIW$t%YyNA&fyDhV&)6? zS60T#`)(ZK(o{SHT@21zm#to8`z+W0*kEBR?j${{6rLhne4^2Q1pevVIyE4ZByh$N zfbp#ZnCH}h8^+GV_J`FCwz+rj)cf*p$IEX%hl->@_j!@Ceby>y`G$GrD~!>x;?lb# zApA662jg7ZoWqbCpI2rBX1KP_UwW;*lAUVv%;VyBT;ieO$??8RaNtYTO_3-2?)tZ$ z`dk=Mud16Dj(ONT+jxyS)bMr-LgoH-e)oCluup2ccw8>riHz~|D#NU4r59)O2>A`? z3ba1w5$g24s(?*9MGJt5W8=#^A%HRf*Lce0ySpT4d7d!2P)5Bo0t zVYQ3MO{8O{Qpve5GvI!^b0(kkoT*TtqAl_E6$ycSll`36vCPdG2}BL1{KJv{;vel+ z52zodbU5*DnGdY?`w0dg7GGyJ;(jr+GGHqC^wXHwKG)j|&I%2C#m`i0Q2HUA_D!nu z4==Eae>OEP?<|P&fDACg(-ZCJn*kH#gb=cJS zebM0cyoC)m>J!3a1GrMQJ(YW`^Vo*VHe%-ULF1y;LbA`H&ZW#Qv%SXynO(hAU#<6t7&iHf@Iu$r!wPeEu zJLV72e5c8qhH=To6-{1SYADLvcIhJD8iWtkkHeYIc#D>n)?7VU{EFNBYz+ynIr`ib zGjuycVo;)xG@8pXU%yG(ePt+hRU0<^T#TN*!l^TWLYVA%?|BXPm81i=hxg}a`LFCp zJ?++0qKNZ*c8RVpb~?0T!5TlWMk*`A>Q>MaZ;-^H!8N{Qf%(D9;fo|o|~?X3XYr_B`| z=r8cwm+y_OPemSmK;*nyW8Dxqf(-<(-FDGxNQ@f78$u_{~+m zmKZ&x<0enn3*|zAN*@8wa}L;P|AVXaf8-^tQLiBz0t;#A2pN;;4617j zt80@Am%LN2zZrA??7fLtl6`#x5IL6T(;32tcQnY(zn1pzF;;KTVB+B+G(J4+>1Qf= z9o-Y~jj+UD@pT<8_kH&{&PF~<2t-Kes`MleO%@ zopWZq`KYFLG%~O^K9wA}jo+dIcxQxwxXLNWC051A@Ul8{bqw%QTN9t&=3h4pWgzNj z@9u4Ff12md(!atFZ8{@5;n{L_1TIQHcqeOuVAU4r382WejWb_bn4fV{u!3&XGtYpznAnYvglXw)2I2@;Pp>& zzc;^&|0$IHtNf2Z*U(2M-byz;s2Kaaw{io;g^djG$7ZbD!rI33GqLCe5ZeQq literal 0 HcmV?d00001 diff --git a/resources/js/Components/Buttons/LetterButton.vue b/resources/js/Components/Buttons/LetterButton.vue new file mode 100644 index 0000000..bff7ea9 --- /dev/null +++ b/resources/js/Components/Buttons/LetterButton.vue @@ -0,0 +1,27 @@ + + + diff --git a/resources/js/Pages/Contacts/Show.vue b/resources/js/Pages/Contacts/Show.vue index c7bd550..16c00fb 100644 --- a/resources/js/Pages/Contacts/Show.vue +++ b/resources/js/Pages/Contacts/Show.vue @@ -14,6 +14,7 @@