pax_global_header00006660000000000000000000000064146760471550014531gustar00rootroot0000000000000052 comment=5180f8ca29c7e085c1e03ce6541387cf348a95a2 ssh-tools/000077500000000000000000000000001467604715500130305ustar00rootroot00000000000000ssh-tools/CHANGELOG.md000066400000000000000000000061761467604715500146530ustar00rootroot00000000000000# 1.9 (2024-09-29) ## Added - **ssh-authorized-keys**: Collects info from authorized_keys files from every user it can find - **ssh-sig**: Make ssh-keygen -Y simpler - Manpages. No need for help2man/pod2man as dependency anymore - **--version** option to show version information # 1.8 (2024-03-15) ## Added - **ssh-last**: like last but for SSH sessions - **ssh-pwd**: quickly echo path to use for scp, rsync ## Changed - ssh-facts: - Bugfix for newer FreeBSDs - Updated explorers from cdist - ssh-ping: - Add new option **-E** which exits ssh-ping immediately after first successful ping (can be used to trigger a follow up task like rsync) - Add Tab Completion info into usage - Bugfix for Debian Bug #998219 making the package build reproducible - all - Shrink header comments ## Removed - all - Removed HashKnownHosts=no option > Some Distros set several options as standard in /etc/ssh/ssh_config. > Debian uses HashKnownHosts=yes by default > so entries in ~/.ssh/known_hosts get mixed with hashed and unhashed entries. > Removing this option, so ssh's default gets used # 1.7 (2021-10-31) ## Added - **ssh-force-password**: Enforces password authentication - ssh-ping - Option (-C) to connect/reconnect as soon as the host responds - Exit Codes - 1: More than 1 request lost - 2: All requests lost - Environment Variable - SSH_PING_NO_COLORS: if set, no colors are shown (like -n) # 1.6 (2020-01-23) ## Added - **ssh-certinfo**: Shows validity and information of SSH certificates - **ssh-keyinfo**: Prints keys in several formats - ssh-diff: Environment variable to disable remote file checking - ssh-facts: New explorers ( runlevel, disks ) - ssh-ping: Option to print human readable timestamp (-H) ## Changed - all - shellchecked and fixed errors and warnings (https://www.shellcheck.net) - ssh-diff: - Replaced tput with ANSI Escape codes for color output - Pipe output to cat to get a zero exit code for test.sh - ssh-facts: - Update explorers - ssh-ping: - Replaced tput with ANSI Escape codes for color output - Changed from Python to Perl for calculating time - ssh-version: - Updated usage (with examples) # 1.5 (2018-12-23) ## Added - **ssh-hostkeys**: Prints server host keys in several formats ## Removed - Moved packaging files for debian to https://salsa.debian.org/swick-guest/ssh-tools # 1.4 (2018-02-25) ## Added - ssh-facts: uptime and last_reboot fact ## Changed - minor fixes - improved documentation # 1.3 (2017-10-04) ## Added - better OpenBSD support ## Changed - consistent code formatting and better output - more robustness - portable to older Bash versions - changed license from AGPL-3 to GPL-3 and added debian/copyright # 1.2 (2017-09-03) ## Added - **ssh-diff**: Diff a file over SSH - **ssh-facts**: Get some facts about the remote system ## Changed - ssh-ping: works now under OSX - debianized package # 1.1 (2017-08-20) ## Added - ssh-ping: colors in statistics output # 1.0 (2017-08-14) Initial Release - **ssh-ping**: Check if host is reachable using ssh_config - **ssh-version**: Shows version of the SSH server you are connecting to ssh-tools/LICENSE000066400000000000000000001045051467604715500140420ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. {one line to give the program's name and a brief idea of what it does.} Copyright (C) {year} {name of author} This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: {project} Copyright (C) {year} {fullname} This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ssh-tools/cmd/000077500000000000000000000000001467604715500135735ustar00rootroot00000000000000ssh-tools/cmd/bash/000077500000000000000000000000001467604715500145105ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-certinfo/000077500000000000000000000000001467604715500171145ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-certinfo/ssh-certinfo000077500000000000000000000176501467604715500214570ustar00rootroot00000000000000#!/usr/bin/env bash # +------------------------------------------------------------------+ # | Title : ssh-certinfo | # | Description : shows validity and information of SSH certificates | # | Author : Sven Wick | # | URL : https://codeberg.org/vaporup/ssh-tools | # +------------------------------------------------------------------+ VERSION="ssh-certinfo (ssh-tools) 1.9" # shellcheck disable=SC2207 # # Some colors for better output # RED='\033[0;91m' GREEN='\033[0;92m' YELLOW='\033[0;93m' RESET='\033[0m' # # Defaults # WARN=30 # days before cert expires # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [OPTIONS] CERT-FILE [...] OPTIONS: -c show colors -h show this message -w days warning threshold (default: 30) -v verbose output --version show version information EXAMPLES: # Default ${0##*/} ~/.ssh/id_rsa-cert.pub ${0##*/} ~/.ssh/*.pub # Certificates which expire within the next 2 months (colored output): ${0##*/} -c -w 60 ~/.ssh/id_rsa-cert.pub ${0##*/} -c -w 60 ~/.ssh/*.pub EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi # # Command line Options # # shellcheck disable=SC2249 while getopts ":chvw:" opt; do case ${opt} in c ) colors="yes" ;; h ) usage exit 1 ;; v ) verbose="yes" ;; w ) [[ ${OPTARG} =~ ^[0-9]+$ ]] && WARN=${OPTARG} ;; \? ) echo "Invalid option: ${OPTARG}" 1>&2 usage exit 1 ;; esac done function return_epoch_from_date_string() { # # date behaves differently on *BSD, Busybox, etc.. # Trying multiple variants and use first that succeeds # DATES=() # # GNU date # DATES+=( $( date -d "$1" +%s 2>/dev/null || echo NO_DATE ) ) # # BSD date # DATES+=( $( date -j -f "%Y-%m-%dT%T" "$1" "+%s" 2>/dev/null || echo NO_DATE ) ) # # BusyBox # DATES+=( $( date -d "${1//T/ }" +%s 2>/dev/null || echo NO_DATE ) ) for DATE in "${DATES[@]}"; do if [[ ${DATE} -gt 0 ]]; then echo "${DATE}" break fi done } function print_cert() { ssh-keygen -L -f "${cert}" echo } function get_cert_data() { valid_from=$( echo "${valid}" | awk '{print $3}' ) valid_to=$( echo "${valid}" | awk '{print $5}' ) valid_from_epoch=$( return_epoch_from_date_string "${valid_from}" ) valid_to_epoch=$( return_epoch_from_date_string "${valid_to}" ) valid_to_epoch_warning=$(( valid_to_epoch - WARN_SECONDS )) expires_in_days=$(( WARN - ( ( now - valid_to_epoch_warning ) / 60 / 60 / 24 ) -1 )) } function print_if_certs_were_found() { if grep -q "yes" "${certs_found}"; then echo else if [[ ${colors} == yes ]]; then echo -e -n "${YELLOW}" echo -e "No SSH certificates found.\n" echo -e -n "${RESET}" else echo -e "No SSH certificates found.\n" fi fi } function cert_is_valid() { if [[ ${now} -gt ${valid_from_epoch} && ${now} -lt ${valid_to_epoch} ]]; then return 0 else return 1 fi } function cert_is_invalid() { if [[ ${now} -lt ${valid_from_epoch} ]]; then return 0 else return 1 fi } function cert_is_expired() { if [[ ${now} -gt ${valid_to_epoch} ]]; then return 0 else return 1 fi } function cert_expires() { if [[ ${now} -gt ${valid_to_epoch_warning} ]]; then return 0 else return 1 fi } WARN_SECONDS=$(( WARN * 24 * 60 * 60)) CERTS=( "${@:${OPTIND}}" ) now=$(date +%s) certs_found="$(mktemp)" trap 'rm -f ${certs_found}' EXIT echo if [[ ${verbose} == yes ]]; then for cert in "${CERTS[@]}"; do valid=$( print_cert 2>/dev/null | grep -i valid) if [[ -z ${valid} ]]; then continue else echo "yes" > "${certs_found}" fi if [[ ${valid} == *"forever"* ]]; then if [[ ${colors} == yes ]]; then echo -e -n "${GREEN}" print_cert echo -e -n "${RESET}" continue else print_cert continue fi fi get_cert_data if cert_is_invalid; then if [[ ${colors} == yes ]]; then echo -e -n "${YELLOW}" print_cert echo -e -n "${RESET}" continue else print_cert continue fi fi if cert_is_expired; then if [[ ${colors} == yes ]]; then echo -e -n "${RED}" print_cert echo -e -n "${RESET}" continue else print_cert continue fi fi if cert_expires; then if [[ ${colors} == yes ]]; then echo -e -n "${YELLOW}" print_cert echo -e -n "${RESET}" continue else print_cert continue fi fi if cert_is_valid; then if [[ ${colors} == yes ]]; then echo -e -n "${GREEN}" print_cert echo -e -n "${RESET}" continue else print_cert continue fi fi done print_if_certs_were_found else for cert in "${CERTS[@]}"; do valid=$( print_cert 2>/dev/null | grep -i valid) if [[ -z ${valid} ]]; then continue else echo "yes" > "${certs_found}" fi if [[ ${valid} == *"forever"* ]]; then if [[ ${colors} == yes ]]; then echo -e "${GREEN}${cert} SSH_CERT_VALID forever -> forever${RESET}" continue else echo "${cert} SSH_CERT_VALID forever -> forever" continue fi fi get_cert_data if cert_is_invalid; then if [[ ${colors} == yes ]]; then echo -e "${YELLOW}${cert} SSH_CERT_INVALID ${valid_from} -> ${valid_to}${RESET}" continue else echo "${cert} SSH_CERT_INVALID ${valid_from} -> ${valid_to}" continue fi fi if cert_is_expired; then if [[ ${colors} == yes ]]; then echo -e "${RED}${cert} SSH_CERT_EXPIRED ${valid_from} -> ${valid_to}${RESET}" continue else echo "${cert} SSH_CERT_EXPIRED ${valid_from} -> ${valid_to}" continue fi fi if cert_expires; then if [[ ${colors} == yes ]]; then echo -e "${YELLOW}${cert} SSH_CERT_EXPIRES_IN_${expires_in_days}_DAYS ${valid_from} -> ${valid_to} ${RESET}" continue else echo "${cert} SSH_CERT_EXPIRES_IN_${expires_in_days}_DAYS ${valid_from} -> ${valid_to}" continue fi fi if cert_is_valid; then if [[ ${colors} == yes ]]; then echo -e "${GREEN}${cert} SSH_CERT_VALID ${valid_from} -> ${valid_to}${RESET}" continue else echo "${cert} SSH_CERT_VALID ${valid_from} -> ${valid_to}" continue fi fi done | column -t print_if_certs_were_found fi ssh-tools/cmd/bash/ssh-diff/000077500000000000000000000000001467604715500162135ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-diff/demo.gif000066400000000000000000010513411467604715500176330ustar00rootroot00000000000000GIF89a1$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$HlU$UHUlUUUUU$U$$UH$Ul$U$U$U$U$UHU$HUHHUlHUHUHUHUHUlU$lUHlUllUlUlUlUlUU$UHUlUUUؐUUU$UHUlUUUشUUU$UHUlUUUUUU$UHUlUUUUU$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlشت$تHتlتتتتت$Hl$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$Hl! NETSCAPE2.0! ,[ l'LÅJlĈ/ZǍ5Ȑ$OL˕/Ul ̘4oϝ?u РDmik$M Fm)CMݨUD ze)6Z6T-DMKwmݶwڢw_.8ᾈ+NxƐKLyʘ/kyΠ?MzҨONzְ_ˎ0Zm]Ppoڛy?x0ȁʵyVVJoμU׭?=߻/|ɧ7oV}{ӹ~|w>v'~W g`* ~F `wEyV> H&*b`Ę@(#bmv BMF'J7N%+2+c¨a*Z+a۲`J ESP`-XA^P =A'CH6S" Tc8p2RL*Rd`쥩M8Oaж%S:")xٮ L5f8YC6)R".f"1 qَ:2ˎt) YJBv2^"D6\#'GJ&-mmݴh6/0ۚ@85D/b,֊9L}*@RU%!"VT okpΈYGo<)&ʹ uet[Ȝ1bַv'<)z;+["[T(P%朼U$O|(D!:5zLѯQeanY'*9o"FTFK|ڔ3/It H:Ψ@Pԣ65LUTJUNժU*V!v[B>e+Gͧ8~[gE9} a 0TLÖe0-娍,kOGYYrƨ7,4 Q8Z0EiEm-lg+-kuZޮ=+5,mBc%7RlRRЂM~h#4E9׸ L&$zV_,v7u w[ 4VI}WiNwLrƤ7`/n0L [X_5 #2m ^_g0gŰ];FD/l2ۛ]ܵƦ "9>^XcB󽵼a)7 < 7)NoRfW Nm\_6.v#tٳfn/Mo޿wl}ov7m=p_( /`곍 yM=xq6^VJw'j)K+|--3یy8*4m?9gtH:ΓNtNzӧ>/=Pէc#Qʥ녌pu?o7N؝GwRɴ|;Oc2x7^w!U[>Η<7y,OƊ?=ToԻm>=wl/O>3Ώ>/S>sMVx_o?/?o{8؀  8؁$%8&("؂'*,45XP  r~8?x@x^?X #G,IKׄ;RgXXZ~]؅bbdchj؆lȆPmovXx(b b c fxx؈8Xx؉8XxlX؆(8xHHPЋHQ`˘qXňHЌǘHݨq8HH8Xx؎ȏ؏(Y ) IyYi9Y 9) *i,I'ْ03)14y:6@9BYȊhb`ZTUyVXZٕ\^`9bYdyfdlm؅؋vI(t0 ZQh؅ؖuم쨗^r阑٘Ir 8n )Hi9 Yɖ)9IIٛٚyĉƙ̹YЩٜyٛi9IiYyٞɞٟwɟ Q HlHbؠYvjhyj(*ڢ,.0:2Z4z8:ꘝ9s(̈|9 t o٣Ũ=ڣ avu Ojihzjjlmon:pJrZxzeȧpڧʦj~*ڨʨꨉ:ZJکz ʩ*JzZjꪳ:jz*qv*yJ:Zvj "HQɬH:_XO:͚:]H:ꠇإH j6:8Zzگ^XLИNʛ\za$ʥiHIaʖ cJQuYIeZ*0;4;6+8:;;@kA*FKC[9[H{JN{P۴TLkI+WY];X^+`˵dc[fil[mn;r[2ۅ$axuvhȥ۪^8 j]Hznȭ~imx%۹;[{{aڌ#͚ }۲NK q KP H.ʨyz֛ƺɪ ꫼Z+;軫Kث;[{۾ۿŊ +{ߛ޻Xڸv[x+̆LȷuX,-.0<2\4,lG*{ɰ^ja8A(!= HYWųŹ_b ưdh|jikfe >Nn .>N ('!=M6^8~:jѷ?^C>mMHJGIRTSnUXZ;<bd>fNrkvb0./^1nt~z|nx{}^℞~s蒮>n郎p^>DWY\>붞븾m>^~ƞh~Ɋl~蔾n闞܎N>~..>ʞȾ;>_ o ?^n=1[(o)N,.2_3796/>O;_ FHJLϕ_RoTUX?VYZ\K?M_dfɒn?Nr?OB8@_D|?v/}O~{/hj?^a`_/䔟qm.poŸ??ޯJN_/_8O $H >T0C+RqŒ7Jl1$HIjyQdɏ*OD2I5ilsfN;}S(L/(ҟCT4SQR'$\vUlXc͖E{VmZkݶVn\s{Wo^{Wp`ƒ F|XqbƋ7Xrdʓ-W|6D ;hФEF}Zuh֦[~lشe}[wl޶{pąG~\ypƛ'tԥW~]{tֻgxŗG}Y}fݷ^~|_~?ᒪ:p ,*ԊtPA)B B;C- 741EW԰ _0OtQYqFkGi$2@#DH%drI'I)rJ+:/4K2/sL1DL5\L7d37ۄsN9ēN=|J?OA%tPC EPEetQ{Q qI-QI3RH/M?N1%5QWUTY}PcuV[OTQ_{Wa%vXcEXY;e=u6ZkZlն[j\n6\sK6]eew]wۅ]y㥗?Ue5_]KZ\w_> X.!Xbax^;cC&ydxGxgxoxwzua>vUi?}7/}㧟}Xǟ׿^ 0zDHt`? NЂ?O}[7B!D!UHuЅ&l! ֐7aqBa(DшED"ĖPOtb8E)^F/L! =ZĢc1qf #SUotc8G92юDG=1|gѐtD!}ёeT#I4L#'LBd(9JFҔDeJ@R+eIHW2)uJ^җ4(?IazҘ)zSgBs5:# QNԢŨDP*ԣYPS$'JOjґt)uJ[PWԦMuRT?iP/ ԡ EE*DvԜ6OuMW*ՙ/U ӫUV+U:լeE+eVըm[ԸҕtOU5eaMӛ3uk^z׾5b=YF6je7nMljO,5mn:ӷv=nU>jhfw}Wt;b}w=prFxy %nT' x7 ^p\8;q{GyU~ʈSya>s+u7Oyp|"/9.yqt|4cu#WWgzrA^]zڵvISvKTwg{kv^<}xGﶺǽs:y&&|weC_x|xSeO8^WeA{}?zfGZg%|V{w/=뗿G}C͇?ן~##@3ɈK[?T? @ @3  $AX|t@+? BAdA"lA#DB, dB!5A)*A)Jk-tK"T/<0$C3-5tlC8(4C4D=12C0>,8b4[F*dyb HF 1Iw%kd6 9I!figxt[p[EDug(Bsfړ&fudH4AU26uDRꨢje꫰*무j뭸뮼+rd,M"e 5DޡOfAlYn]Җ2qO[n螋-BPT[m* g,J8kT վ+P~,@ (@@qyW͑" a# #,&2${ 'i3}276\43?@2Ӗ&-5PKc}5Z?u\[mvh{Mg6mn-t߭w|W}{W#c shlG/~jtkd.wnIGhwGꥯ唣6Q/PzJG~+!嗢'ƫɯHHSu*rTN3b4pS Tc(")Ar ;8BP ,d2.a }XmatZA֠сk2w\~d&N 3w*sI&5 `94/|>"XD|_$ 9ڱxTC d,` X (d `w,P<+\JR$&=ɍu $DH$*MURL,[KZ򕷬%.mYCjfLAR4 1iu}`0W5aJӋ9d`uE bD:A tH }Ĕمq If6! -*?EIPPT0LW8PB2P #he R(&s"&M)JWҖUZULaڴ8)vӞ@ PJԢ@*פ(Qw09zp""Ez;NXGa"Y]HN<\HWugE0!w^lqۢ/V8^?!WEUv`l6;YP# SD&@ Ec,hVM03nmK[o .n#\r{ܹ5o-ফ.׹env[B׻x;^m\ ! VfB䞣[85u[v7}A1 /DLatQ?+\Bܝ_Lcͪg7=X5񍗷P$Z؀BYЀUF7"7eԱ4+{`ܜ,)Dl4yon3L9YxΠ gYl6zI65cZqN :j1 ddNZ|''D ^B nDj kcDڍ-< V52%8.moT,W.H$+6mnDV Km5 0=̞ xdczۻ;\ x>p?x'?31w^@"g} vQ_YGULb@V͇SP /c,X2NdRYMZ0JLH*HgԵc]?pO.w7{SOƢd͑^5U$|4$@-A;c [18.oK?U^(e u؀8Xue2pMO$>gb2Fl]Wr"7)$7|TE9dBh 3at. .:$IWWrA<uW8[Sl  0L_3wlmrENQwv:Aчfydcvd#3&?(hqfgw}g8扜HB7dNc % h$_: , uP }0(DzZT[ h!`&`riTMa%ܲU]$Wt_T4hCR/kp[$sS."UemmXn9c/>}`nlnsXhP3\Q3A yP pW#i'ْ)$ْ³J]' ф_U_ tO#tUoEV'{FE/_3j.I;OSMO;D6B,CCnp1ucè_d1Q1b9n$ox9p8& cҘSw.A釖X@}www91tY+3t#y]7i)P@L!b]%I:mx;ME@Ibp$6 kMDjM";^Okb/,t}מ ڧN>nd A" j[*y H H ( 5,]'qbR%A%1f%>D "K$tpnNKth:c¤c+ʛ.MэcR`jPf bln'pq,tzRÉ|~aC:(ҧ*~}ڨ:Zzڪ:jʫګ%9*jDu@ X?<.肦Rbqڦ' rJzjiNPc _ח΂0yTz0ɯβ%ٮH;b{9 ۰ [;(+K91(:ʛz,}ٲ,1/+5Ki9*;.?۳70;>{F@KB۴P[";$ 9EWZ\[]˳aK`[bkd{jl $ztʯb,}iD| DDkuJ~D!+;q˸!Jk+˸ 빢{&{ikMlۺ{u+A[c; ˻kl@; ū ۼ;;Լۼ[;{k۽+K 竾黽۾˾{K{~luܿ1cP| L L<\| $&l' ,-"0-/^2^4~!n9$>@>B:DCH~?3LnJS-΍ >T >M >0a> ܽQtNu~vxz0\؆nHh.ceu` ݂^ \n cp.Q Nn^~ꪞꬾ>^~뺞뼾>Nd.ՅNQPP툀e~܉jmnNnT6d`Pdd^dQ  YnH`E&e ߔN>ܙ0. /^4oi>.@BDCoEIJNPRTSoUYZ^;Oadfhgi_mnr_W.yo|~?p?ontxy[~ZQ>@_^"\.ٙծ 0 0 > _?Om/_d؟ڿnӯ/ݛή??ڎ J(BH |!PE=~RH%M "!DK.Fqĝ-̏C!dhʏ( @,RD5*V5eQrѣڎiSu(ܒ5s+޳}X`… ͋Xō? ?YǍl֣bő#|ы/s>,lM25 {lmgۮ?o <I|8j4EA E]T=z_ʼ#F(^9bQ65&~џ)ǟ_~0@$@%)ZТ$z :J*ɥvh "NP!8=  ʈ) H#DH%drI'Y(&rJP0K-k*5RJ0܋K3ϔ,Cl *'6; 2!4\46K̓L?IA$tPC E-& $h4H@'zn/1ʛKޠS4Q^$<(ZμP31DQSߢHQȈo>)+56tcYЄ6ZiZk%Iem5 w.rU/] 8-j]hh'2\3bEEBu1(M"Xla',bq)ƘpU_,.$T/Vwc@KnU[is8G{e1`ﵷS+Kz2m*Xm;?=`C}5\ѝS݌k[p=2h" " 2 Qdܖi{"qC3*J (+tTX;r-r͑67GsOp/4Dkr ^=si!HɣJƈDܑ-CB ,ME}~bCϾIFwؿ>dvtȼZm^tʷ5&}+~b;XV,P#ǶA VX`b_?hBߴО+ja e8CІd,ƺ zdwLQAF $@@pRd2! >kYLN7"~ؾ,bP 25,_D:6^(ڙ(GюSH7w+>Ґ)!pS"/ JSJFg&MDe*UJVҕe,e9KZAY-2!2pLbzFD&.I)aτf49MjVӚf6MaR(5 q3愑8mNp܄g<9OzӞg>O]pk#OԠEhBP6ԡ#1\GcQHE8rԢh:RԤ'EiJURho,)^jAԦ7iNuSԧh JşըGEjRT6Zc$ѩWjV JQ_kX:VլgEkZպ|Dj\:W(lk^0FQk`;XְElbX1'Ly^2YަSmlf5YDlhE;ZҖִEmjUZH(Mݞd'ֶzS"Y[>C(`{;\׸Enr\mntK!,DGY!Fa(<0‡\E*.*QcDEPT8Rj$ މiH'2lZqni* E0qBnv(Eh*P1t9}U1D߰|l1! `@EB7FQQ~a>mvGkWs:tL +-|ТBW/TK]=%D:[+}2-tAU3lS}nѻ%G‡#_s yu_$ c@@+YH(6MlU)4XY̠SEAP}@/ƒb jXz5"lPH DN_ خ_Z &>|Rňj:D ƋTMD9 8C*@!p:nB SH'nD[9[ aҭBQ C"F PImG(kAE1($DLY0h* c&_Pc tE<ֻaB/r9~ GQsH;5 Dz3asIȗ:v<# ?APcSSJa` b}A+LB%>"I8䩮$El, kQE3RnhDCcLhFE hN` zHLGi0$,5xQ_YPyz` +mD@|Vdk8?c^d%FUPA׊x U+)= DR<֒!O\۔ \vY0uB Zj jrآ8 6Pi %>}l%\MJVİZ eКTk`b#?gBf .>DRqB(Ae"nMK]1_p8&k6aIfsDmhH$&+2Y GƙV'Y5Of4FgiUb\$L/6nf0OiMZb{DiP0_h@őW[NYJ!Y@@jlHB>Pj,7ݷ<Hf_=4"PZ$Ync\@u}ͱ7'q:bάu7:w"f|q,vBm}a,rX#®C(ԡx"xT"WLm67=@-a ?j ؃[Dqjuåv]b!g2YE>nOGj k H"3jj_sN2e!ףao?wܥD 1նt)*Hr_-ߤuDd{sP0O:/}ᇽIIdևoHxXސq7D~ Xi T39Da9X)v#Q)rX-u1(i8i{,|#n'&LG%5X\7c)#T>=8Y?@9BY*y).ٓD9P39')X\i(C\ |A#H%` ]!;@y xɑsRI+ \"Ҙ1kP0u yEW\u)C R]/tt٥)9yiuƛ雵I9ʼniE˙yE )I X靤 癞湞ٞ)ɞyٟ)ʟzIɠ::ZjzJ y"j@1.ɢ*J+ʚ 4JZ:* ʣ٣ **EG٠,ʤ;.1$rJWzqaP$ ѥ]`gfktpڦdmzztd*Rsgڨ:Zzڧvک` oꩡ Z:z:*ZJzʪk zšƪڬЊ*њmrzښܪa*鴧{:꧞Zʊ|jʦ: j_k ![:qaQ k  k۱˱+ w(+kQ/LQB3[KRb$!#5Ʋѥd 7GH 6GQb;dNW !jj۴aN˦N{ʶllZi|MKL[{ q۸T[P0 { H۹ gK@;p[iWڻc껍˻k Ȼۼ˼k B {;[k{꛾ܻV ac Nb ` K2Q%Qxlۺ81][~=E&;0\/l$|7 F,) @BlDG|$I$H|DlѾRZ,f] [P,*b˿] Ʊ+r:~ =A^V~XN |{,P-Y'=>o'nNė+Cnr~xnw>E~mm,\nEI^sN~.l^XOܽK.k-f>>.~ߺ>߻.׆7յ^~Ȟʾ̞Cݦ*N>#>~>^nꤞꈪԾ g*n .k+ _c$N(*,.>qЍ;NL/>_,FHJLNMl1/Y_Z\PbA?f_e?jlnpr?N8^]z}vO?bN >[yE/vb>_1׶?̷//!,&PFE+#`Ċ5(9U T3@AHR&A)peI(M ْ͛8sɳϟ@ JѣH*]ʴӧPJJU(Ǔ;APy #0 +0͑EX,Q]gE!TUĹ6E`QL:9c̎%!?1K, !Ʉ+D\3ӨS^ͺװc˞MvЭ-P"f8ɺ3+B.c+|TyY*ϐ!^=6Y|QA(D1k$1faFWrUc(5F(V\vSW| |=}bI'ye]NZ$Z%bNh4(Y yd^H  O:ILp\v`i8yV] !@3A4B5񱜐vQ3/t)2ͩ4\M&dy[$Ѐ$`MQ[G^NYDޜٽ*欴j뭸抔isXDaVAwDDk˲tkN,0ӱfY L6]D$@/}@Tn4*{XYZ;)d~=)@&Jn 7GE*AP*d`#L |/AKCkEDef^t&BP/k].HkHCRj{( F Lje[Qe( Iw'XdJ/J߀.xm @4++F~B/BK 5G9RdVb?)- ?Ӡh 6I4+P7DkċDd`@Rv{V9oU.o/!к<!a -l 0:b Ġ?:hA SS- Xqz PV(qI\cp^vg^H&Ҳ {Uj @J["LH 29D*& LD0}PHE'#GhчZP7w37 7%8ND), A(oE^Jd[$@I @ $ 8ػNz򓠜PZr1Z ؐFm\Ѐg4H Y :9vr̈́I-p'e 'epD}U ktL ;l@㕕'noO쭝|[PBIzNhu[H064Y&m8E.=+ WCjKq&ҺpXIIӚUb eXlJCJG[@Z'Nճ$dq) 85,K³<_)Zs@2ԠMR*-H J0H3xx]MzW= N-ڴeXXh0?Y:f±o'ɜv'H*bNgҋa]@ehҹՍ%l WPBPM| i u@Av -ICm"‘pYC2 U&l",K<`yd}m-δI53db4[!VFi`Zµ0Q ۆ C" gK g:E f8MB&G0x DT-<vٺ[)tY:w o=fC..Ѣ3h,ƛ`-&Y"F:ŝ4)$bl휴[2;0a4b,04񲸦IYރqIfb*^lщ]lw8Ũ(OOIdʒ&d^!epeJG%ʅ,+̸u%:Ij|LL%ԃ8,ciqXs-vOX# gM܃f^vNwIiv>rGXؘ2$)M?w:a]fLy2h 6/hN'È=yί tq@F$z/V8+p&~m{O='3m>OWK>S{CpPgCKe~{lhٴ&Ht ( q (%h8?ԁ@L2"XH&$+.8/0xIffR (Pԃ?<(@8A(E KLN؀;؂DC>4Z8[4`b]8+h#$j3Q3>hPczn7ч%<ex\^8((Q0 n IPr؉8Xz\舒{&ȊaEx8;8AJhȅx?N8T8ظXGq(H8mȍ؍鸎ٸވMьT(h9A;:Ȏ؎XX@NHx(R87h\%)i)x$.I4ђ8ɒ/I+1I=Y@9A)DIBy:i'y4OIn(`P=H 1c # ḓp1 t an膂(xi_ɈP(fɗ0D !4{9N299u!i(@-Ci钧除9əɚ B 锶99[?yeIԑaIZ_Ts)YV+{ɔI Zx[IS9i)Iy+ 8 QQ`f9 pʙٞZI7O!8i3q] cH.y!5ڐ28pCy&. ]k4WR4nѱnC'm0%fj&MsTgo5ԞzYԟH( Vءu({)(.*飓FJ饖fئ~q X~*JjU)MxjYtg4f+kcBȺ bb\InϮ EYSjԶoq[{+n~[nm1ZobՋ.o{Q 'G3V[k| s\! 1',(qrVs4{D=d/}K/}tN@[3aIQ/R'/JW8wj-wq@@L &\fTm+7)~KFi|o:*nWZ꧳:޺쯋jێ9a+G"Qr+,ld42ث䇘p< kꥐf2<ioqб]wۙ(π1bd o`B27zRDJɄ(, Il-La Wڰ8aT55X$FcZy,z$S ~!il b/T,I0fbks<"D6X #n rvIOo$2PX#' Pp_ DFY4;O6ʲʬdMYH] 5iJQ*Rpt/UiKYJRԦ6Z:&:\_JȈT5,`+ydMDS e=*06_T)-͂-pI=`RטN,aK8 `"å!HBșP4d"HIu$BJ$nWi斷ŭ([J;jˬ_]kp=jLT2r`F¸U W0ٰ! I|9:HmLӵI^xjo"k?0`s#ӬA`HaHXyNxxp(NWb3g˸C8ocQ"jTvK^/ˬFD6q$ި+CtAVxR׮ε2PAj]"\020V~:8Xf⦅~X&=HiNBNsӑme;Rý}jVwucյGV3Y \UUkÀ} \$KEd~N1)!!jcZ5!9s}>Hz#1['Bi=Q'I#!A@ō~y7yXHH<I(?1Hq5&yz(Ha'2rS(w3at9(8CR'3mr3@KkTtX M*%8$$ED?r K3Jy6MI)z8;%^g/A~nőςnjȖȖ!1vYxب| wٖt 9 q9)Yy 9 +ٚ 9隵)ٛ ab)~ȹǹIѹ AiYٝ9y晞)IǙMX4qE{"Cxa~I"I,Y ʠ޹ʡfzڡ"!1<+13<?bC6JEW7j::BZDzFHJ>EɒRSvUTVI_oaU:QC$>Nnzloq*#t:kKJRq64CڝaZ$ *jz:jl>$:R/EB+ʸ1u/R>M?~ڧ*ZIK1^g%%x%X2JZ+Z%X#,ڭ:J Lת LzZ:Z*Ӻֺz˭[{ ۰ ; ˯ZyF ;"[${۱z%N*;^r%["D3!1;+=+>F˳e/YMuд>0!A\D^.#~*,.0.5%"8A<>>?.ENIK>NN8DM nM>D-GX_d>])2}rtux>vy~z|>东8F{نG͍QF&DKAbY}dKAbd@أmڌMڷn븾qb~Ǟ̞͎ҮY]NnӮؾʮL M$n먞^~^딍n$}NDt}nrLLbw$$oG= $\Na85>@;D_F/A,/ӞϾQR_TZoXמK^8>K-bnor$uO`}|i., v%v m*awD}ȼlpG Dv~?_.$Fu'Τu@wdw=]oƭ˟Ia@ t!<`]-oM_@ DPB >QD-N`A z8PƐ<^DRJ-fDp @2 ֜i3fN7 OC,R4ҠRZ( A0*Uhڰ9,w DY Lb\$o.$E,F侕RXpը ֕;|ݿ_E"W?X$~[@p? H?dJr* ; KiA1‚@r(.ဓ.-r#Q1 ?T%0;1"!c/HG7`Bhn9i">\:ꄞ`/ ZqvɦGjZjF;mf6VHa;oo*)`bP饖f馚vZzp Nc+vD@ + )JīJkñQ! 6[@,Al-)Ap!0 莫nnkP / , L0 ,Cl11F`!,P<A <+gD3L۳\$t@{I .4uPO oL#M\wH4 MS|v}P-w|wr p6mx܎3A;Bx m>xS5v^V9 TjwW\{A7]MX _J1~A#;vK_3;=j_lχrFTD?['//$;ϐs@BxK8h  .{_'!GH)$".g.!WĆ"g10dEL"LrG}JƭX̢5Fπ:إ-pH:x̣> A $O@!,"H*\(PA!ȰB16|hǏ C)r@QP˔$IsK5Uɳϟ@ JѣH*]ʴiBJtjDjݺs&ί^ &YhӪ]˶۷pj5դu Wٿf.KlÈ+^̸jF68ElsAGA-4Ӧw̺3f=Mtmg}=Mԯ+_nt ПKN}u1]`ws7J /|GO_}7i؟(P? X Bx߄pAA!Z6`H)!J("Bqh"xaBbA/ @3<0?d$A)OxQ)`e\^H[z)f_IXJy"1ɟ~tΩx2GħQ{.硅袌%u(vB襘"h&)v(规驨ꪬB.  jk*! ,v@H*\ȰÇ#JHŋ3jȱǏ CIɓ(-(B 5ּ\!‘cbX)S*X3ѣH*]ʴӧPJJUjѕ+Ȋ@VKٳ,o(`]xݛpp8f`1acX|`EK˷e)73&= y4Ҩ9^}Z3װcoP>' N>@ a okνÏ S9tYSl˟.&[Rud dKN0F v Vh!^!j!ч$^hg(Di^>-KA=KB+"iXf)yz)45nDW?H\Ɖ]z7COV*v N~!}*Ĉ@a%nHIi(꩛j~*0 4$ƥWYk,+-FN@k Jxf$Fbs3"f(aK;U+٤A^[PoW+T׏7#WbaW7I'J&fPE~\P{l2&K6%BPVФC$e'Y ]7GTGM6Pc]]kD,t5 5B@+Tj|WŮKuk+9N>BKeG@w;yoyy߱UNi!ҁt@."4㌸uoR߻@#3|5A^+/qA T~FoA0ߐRB(VE<E?90~x`#HA,0# `%Xf# 'HBP8H@ ?ą !B (6< uD6 }x"HaD\ C@"$ XğSA ]|`(C z$[D2^d#FEP#>2[# 8R~H?%HHa$%ɿ V DH&qx"Rda'GO' %D(P񒰴7J/ (9iJS"%'sKUG %~LFf b̩hњgRrrӜH:)n$[52QNtHMi"$ gDQ;Ʃ41aD ȅZ#<*Ω"$!)צ@ zIܔR{_5@gLn&H٭8* 3}0!~GG\P%Ws~Ce8αw@L"FN&;ٳOL*[YH.{`L29$Y>69pL:#)vγ>πc<ЈNF;ѐp -J, !/,*W8P A580Ç#JHŋ3jȱǏ CIɓ(S\ɲK*0(qW4i0@}.B A+t0ѧCLef\s=fE^'Z]PD_]˶۷pʝKݻx':ht >fD8ÙWܛٌVDpLBƌx0ӨS^Ǭc˞ BIo5R*p;ݯ];+Uk36X#dvЙOsi^9r{Nak'dCP:\I CfQk} 5 D`su(߇ ($h"E9t< n B@, 7- c/z&EńDrYX[ T @؄ۉ\v`)Gȝcd$`fhTcQL [ TdH( 5梌6*rBĤ'E~D%ԧ%P%F{'AO~B>&`"i+ZWll\npӬ?T 7-㢧qK!vDCІpX q@rl^-p:T#vK/˭Bb RCQ&Hp"MxQ<|Z/=;/ ^Ağž4#@([2JD7c0JE[ F%pt1Uc>jHkTf1At:'i}FglUܜwⱠkt@t&TyFR! o{`t\@e  V7z*  C&AE JġhFzЀBD(A4b$ iC#Jҁ, GSҖ.@aiLtґԤ#OI:T JQ%NKT2Վ8E%jPwƕrUD:)DšF g%Mꐴ9+L%rԶj]׭^sH_dO^Irէ%)d֯>Oo=L`Rh7JځxMmH:ֲ֪Uk{Й)qlt pF8/; Pj5!΍nbU@Vr{vet Mz˥RIv٫;K~ K bjM0mr6#>E3]x (Fap8#QWcEDyCf X$uLdXZ\&;y}UENҳj ŬiX0ɕzO 2fN d6pLzxγ>!,>H*\ȰÇ#JHŋ3jȱljj48`ɏ(S\ɲe.cʜI͛8ss?=0(ОH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶ɁomKs˷߿ =:0Q+^̸ǐ#KL˘3k̹gsCLӨS/|0롪c˞M۸ͻCM qkom<犗/N WΝ L+vw(>Q!o_|W_c`,߁ l1*Qx@tdi>աS**`]*sdBOH(ʊqD&9%^ @.m`+66 )l(x|8)Q{*G.6E>^SJ Js敇.zpQ^.эgkD+#<.%ڶӞ4 ~/o~F'|TG/{'Q} MAا;o篿eCw#I&F~i Z̠7X1`G JY W0 gHP1  @7 VH"HL0@`'*6X̢.z` mtC+ЌPD6pH7qg:}!,@UXAb P  "p1^T@ǏA* Y ɑ3LYJ-OH&Kc)&N6_zsТ>̉(SM:*jԫPqWOSlҳfӎ:S-RnuK-]qѾiC;۔(BFjTHT<"SŎ/4 11d; n☟'3L ""C!ưׅ/Ey;7݀5u:+_μУKNسkνۮy`IQ\i"To88Ą5&Y6 X҄6H :!1HaeV!r`d zh$jxa'&hbb0Ȣ/7X#6@l1$1c+FQE6ڌ~t$DQ~kFWIG~xgMy64 hw}.袐F*o&MLej&+<$'iH:꩚)~*k:+jkv d'WP ۯy E/ ׮&uRZr*KP@a(]E`F^`ե\{|fi[Vқ\0V"|l6E0b]^i,'#/ǎhQQK,E^JKA43bYUazT:TdվP|ݜh[[p-tmx-G1Sa4o^*MWKL#n[1edo)꨹=:o!9z鶳{;#o_>\Ee"m('^Plz& ^)[Ȍc/Ey{X!U@$ ɡìD $Ò. 09dsHT2-N&Ųɵ0Ґ 'IG0s|pP6k" ‚CJ @>!t`5"gCp㋠y6b +i_/VB5G-Vr^`'ĴCbǂAt*[3fC_DaMjWڼ6la;6mSXSdТ\/5iEZ\Kr8Vd>"҈E6ԢIђ'l1[o~m-u:JQ (WZAFd5iZ;1w>π3-?ZJ"hLHHZ5QfZáz"XQۯ8D_|[kIWV:[4CK"WtnB3hmZMvWleOv6V=miC5]Emˎ7q՝nr1/i!k:dW.Cg&vѧlk},Kux TFˣr|+HTn GZ-q[~3~:NBJΗ󛷰P58u'X:շk\ؽNhמk_yNDw' 5SIbby6ajIike7isɏx7Uڑ]ٕV镂锈y٘2Q61OI77<Iњ@<0 0yYiPǹɉٜ ة~Fٙ)9Hp橞yٞ쉛IYyi)Y9z jI㩠j 9&"Z$,j+*ܙm pٜI9j@qѓ@@CZiNLʗ@PUWVJ[^\d:ie[)RI_yr)Q@Iy! 9O9 :<桅) xZJyy)pH@ꩄꛤ0 KYiʪ:IZ5qq7i:Z 9ʬ9J*Z:ʧi )ܺJ:ڮ YjJ⚯64;{;\ۢ/ zZ꺱ɰڦȩRZڰciinDbq<=9 lPz($[tZ@ <ʖA[F{܁떭6!`ww$ȧJHHjKHpA ۳j1ár։|+~k{;ncWy"j2JHp(ii@1+ Fjq;[6ըOKY  ? KW[9 aAsRi:) wɶi[V Pk 컪zk;˿ܪl 﫾u{ ^ٹZ)+K ¹n)Jacz kcP( 6|8:<g۩ÞJ{'ڿ $LšyAK ºiỶb^~ NO-= >^~^O ^&~(*,.09$.8! ,E0H*\ȰÇ#JHŋ UhcAE@ Wև/XiפCLAͱ@Q9?C;AULx w 'H Z̠7zpnSGH(L WmI`H"% !%,]0HW  TD#^ȱǏ Cb<ѡGQ4ǒU^,r ̉ HQ&D+]YΊGUR,XS͆>>EԃUIxUׯ`ÊKYM=˶۷pʝKݻx˷߿*È+^̸ǐfe#Ș>\GYK@WPyy,Jם0WS57"W5BQ6`q8DiH&L6PF)TViX%j;$k[Hፖa`Jќݛ~cP dDA ! ,Y0H+8XP@ #JHŋpAJHĄMJDY"I  `L%5SJmO<@S@9{"Z%ENPȌ`ÊKٳhӪ4+ѵpʝKݻx˷߿ LÈ+^̸ǐ#K\Vʘby巗 riKƈ:dΰc˞=i~Jn뎢 gW/J饺g.TΣGnoBm۶'[g=˟OϿ܀Qw& 6T wEvεtWYaGI(]M8"y!*5U"u*8xx]]X@iH&L6PF)TViXF!HD^ј)ҙ-G8th捷te|wrw)蠄j:91A:֢IjaQjѥb 7&*jo^[Rf%*F,zکa ާe:I҄ծ[s9j1K:$mG:#;I")~Ԗ $GA[j/ݶἡj+g,lR1\HBqI a{g1FB-, Hw:mu+̡wXN]|P"ܣ6&PMM Q(H.z` S65eQhL6"LsH:x̣> AL"F:򑐌$hH̤&)!, @TP2L V萣Ə %*\q IL)R E_,)p%A3tSƁ)q֤ΐ1{fZMJzJիXjʵׯ`ÊztٳhӪ]˶۷pʝKݻx˷߿ LԟQ9̈b>~Lvb]G 殘~VڰӨSO}y#trUo{wVRꬋꧼ%w2JD?cil-lc,=[i!SYp&G*w۸S[S6Tѽ6do^'EJop 7G|$+ Qaa|flc\,4lzP @;BBV^ m]`)}PG-Tǧa-8M :ͳ>3hgB@vokw]wpuym7l-x ߈smxՌ7G.Wngz`G0^c9AkXouXsuW/ $;Vu|Vw|шkIGK<!,) H ",HPCF|HQÉ2XŎȑ1| B/.lr`M8M8&9s aO;]h͢L*UiXlYkҬEGKٳhӪ]˶۷p>Kݻx˷߿ LÈ*ǐ#KL˘ܚlŝnN 3c5mbԞ}͖5[cm-uM*i Ig-^6rUOծxr`PW=w}_wJyG(߁F& 62W Vhfa6]Zv[Fh("dUQN}i[یTH(ԐާߏFNL.{W $KR\xdihlp)tiX5"]gѡԠ;1(hJJ($iE.)~:ᦊީe꫰*무n8e1֭d*ˡ*ְ+,,ZF[fkXFU_{HflYngf aqUJm֛%9iW9ʻ1,wЂT0A]0'کxpɕb qHʩk3-p9ѷN"Q=G4I#]Q_}>A=AL:'HAMv,HWzn [0g A ń-Da  ͅ w@ 4H"1M8 &%), ֐2\?+ҥeH$v0 !,80H*\ȰC*F8qC"Í VؑC#C\!@\)S%Č!Q|ْ M=,ΛegLEpSMBݩ&ӧ_k*ZB3"ZU-ǷpʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠC+,f:,dC K.{z'¾(j~Htw6Уwoam84\m~_{aQfE>kzN;_?߀YvXW|%Q E݄Vhfv ($h(\u4h8H}Y )u ) V?FbWjT\Bx@dJyEZ[b24d:)tix|矀*f j衈&5ZhCJ'\Q: YWI-ҧӦ;jjEtx6ңHrګ*%l&6K:1a A*CچKomrV{f:.[ױic]z( %0Ծ5S| _5*Fm')}Z |VTErl%+hr+Ǽܹ5n*3.\(H ]>r74MT)QUq1֕"le[_Wuk px|w^@dž^38BTBx^@]st]_捁Θ#ApB.^H@DH *RE1o'=]5]u\EO;-#1 BJo?c 1(Ȯ A)vՋ`&( P 5X $GVD!MAY gB- UC.2CHbfvK:#)Ɛ$ZX"a$tqH0g<΀ZLƅ΀TbDx̣M#G@4&DuH y}!<\Eʅ#ItrDώK (WVb F+w^u ,Lf#i%R4^;KEu%wGm.s&cM*P&"g*І:B̛ˇZ$ 3юz/dђ )JWRfUDL[JӚ&*6ͩNwӞ@ PQzHMRԦ:PTJաUͪV! , H"*4C+T!`Ċ)(P#G ^ `$D3x'1H0H$MYǚ4Un'ј=ѝF )SjѩU ,5է^ÊKٳhӪ]˶۷pʝKݻx˷_j,È+^̸ǐ#KFL+X|1weOU5ѓc˾ SKba'P3Ε%vʐWJ}s[[ҿn<+ϓ=˟O.`'h@ &rE蛄9hf!YY7h/9WuMGnX#7\x(cSXyXUbiH&L6PF)TViXf18G`~ZHdVh5(͵)\MU]Je+y#R{D&Vn)餔Vj饘bxXurV%jɧgzR-Һjf+~g[{d_WVA{ꞿF+-aTVqXaq˶HѸj&nh^^%^ n:ak*G?U[hl k1,$llrb/sb3ղA7UsZ93 @CPBL7m%A iAhY\w`G-Qъ ln'-tUqwXEcw]v8o@m#~xA7N≯ {;^y`Gw砇.褗no^:3zY}/o'OINCgo`@!,0H*TB#JhD1(#, )ɏz˗0cfƔ O9!D,q EhI&e*]ʴӧPJJ5"M8[Vʵׯ`ÊKٳhӪ]˶-Z5nʝKݻxwaɾE/NaK bŇ#KL9cZ5 P7/N:ifĕz; ja 9eȓ+_μaΣKNAËO*AZUk gJkj鱒IMճmlBRvK+-覫k"2kỐ1+Nً,. \R3e 'S A 41g Sp , B1P H2 +/,P \LrxǤ3T=/DKW1 L#0(mXCh[56+s(KG(1B( A!A{,@:z[T|~^-@}lxq930~gm"c45)RB7ח 4#3R<ܽG/P2tSA{ԗo=BL"F"+$57U2r̤&7Nz (GIR.zL)WV򕰌,gIZڒaN.w9!,)H*TB`Å#JLËE\!P@< "AQN\ɲ˗A scG!aNfϜ: JѣH*]$ӧPJJիXjʵׯ` KٳhӪ]˶۷gg Qq˷_&~ 0ΙlZVصzaKfl~J[ܚK㶫Y;ڛ/L 07lEpl r)P FӱYեι(ԮIl38sZ$ug =D҈* g0^)G7]XSZ3uVo-]M6ؚZ=T~|2t72K-8RQ*7vWa ^4ji A+kORL7!4靋.h:ꦯ;uN^ٞ;>.n|~\hDZ*]=3ӡwaŮ"7AsvdJTS-uMPχKA,0ԩf o)}ŘҾ-3YVB?i ި6@ M%8u(L W¯pSЛH`ڗ@]+'+_$OB^mi/TiZX̢3#)p*ۉ?Gn .5,D =,H"x=)%#K.R~ܢB$%ASF:rUStIPIJgbe69&=vRR[kѰ┟ my$R(U T1X<n \ j>8FEd~H*r`& PDO­;&_J:YSO&'=Tz 8[K3":B6ȒbrXcE.[G۰l'QCH ~G9mmF%0>1L EIQ8 1GR[q#iմr:- UMaN,G(,k\Lb;0C]X[g:F LQ:H+Nsq Bjz<^ 7|ΒooI+sx=>r('WHrCH_Ns2ta|6:yNǯr-a$޳j+6) ه筬H=lRλw U_ o ^ iCXN/mnOY'ărC8t/iVvWSRkDjg{+OQ=cu;'n ! 7IYn 6: m~ADvĠ5|BvG=Uno?Ft(c&mj6}jL:GkGaGR{}?kkflx x(ׅvzwc }0v?fqHPRklVp^;hr_=yjovhfiit,Zz\|an2c1e(k0wF ɷv_XvxVazrgfD=dHӆpLQgzXX}}hhbiic@x8gx`}srXbY8@|-[1ok~6fahgTw!lvWw%8،AbIusgl'xq϶fGhXm)Fa>(vHpGiUXz8X:"֏p8 |hY9b6pxi'nfft y?xUxY&yph1-ɋ,)z(y8/ƌb7tDz槓JLٔNPi*hJeCA7Ewks6u*na}\ǂIxQjI_k9tYvyxz|ٗQI抆y[Yyy~٘p"YyٙM^ !l&(!9,:(H*\ȰÇ#JH13jȱǏ CIɓ(S\iRA` )3L8sɳϟ@ JѣH*]PAʴիXjʵׯ`ÊKٳhӪ]ŶpʝKۺx˷߿ LÈ+^̸ǐ#|P$i0S!,,(H*\ȰÇ#JHŋ3jȱǏ CIɒ"B`˓0cʜI͛8sɳϟjhA@*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿2È+^̸ǐ#KL˘3k̹ϠCt% PMװc˞M7o >PKœ>~5УKNسk߮E,D/{d(HG}(TH P _~}5hf|"XP(a~TH,XP4Z}&F"MX@anH~gI6dv0TAA*8_dYhlv}(ftRfx)ل^ @W)蠎I衈ʥ6裐FJbVjiT! ,)hT!p$ib'xL69~T\@X'ЕY`ed hhltB! ,"(H*\ȰÇ#JHŋ3jȱǏ CIɓW˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKW(˺x˷߿ LÈ+^̸ǐ#KLɻUZ̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسk@ݿG {yɏ7˟OϿ(h& 6F(Vhao\:!+,0P#p`A"*$Ç#JH"Å@xpいCIɓ(StQaˎ,c~9s͛8sɳgN*TL(0C#_ZAZ*m8U!ԆWe%nj "خhӪ]˶۷pʝK]Q=Ueջ1G^@BfL˘3k'CsCBK:0ž>pvF؜"Xuu NqoKdboD>ńM 짵O}F^yxɝrMAE:dʂlDh&H ApA,HzLgv9R t9dd܌b+ XbUN7Hג%$+@5CO>*JA$]"yD_>ihfIDQ|Y)_X*PysPI袌6\US-) M(QJSj&j9fAfGcy+z@yآ[&hC ,OJ&,We`F єl*]:A)QˆhtƊknH|NA6>ibСh45ՋrSjې=YˢKl;FF٫g'֔pa_ Z$E 2E]d,sH]<ӛ\!LD&C 'T1}ѧcA9T7ڳW_}*(dZP]d*IRT4P-9 j_~7SP'9]y< On][)!e0匇~܄U?zC7zF>R8ٮMﴓ$|E#_PS/<;!a/P }c}? +2 O1S+ "=' pH2 24#ß'.D~!r% 6"{6ȭh+:MHqU(Q Gw(,xRwaCFx%EE(D0 hV(E  3rB!i1\(2`!xI!4 =4uD"bؐ>P"{.:[dX|q \ƃσ{ Y|hHI:dĤ*)K|<>D1#ryKYdb2 f:MC(7i$EymEH%Ёktbs)BYzBd<쓗"̂I+Fj OH-=.49a-X1"9#"τe{L+ "Ly]10Ew S>u%ɩRl)^zJ[&Ū*KծFϫ\XJ֬լe)XVխiV*׵•X^V5`կx%,bZI$<|SڥA)WwsP M)B-/Ͼ<Y:'WKT^QAKE Kq{JL--ItQcf{U%?%-]\vp yHEXZ}ؼ{ȼi6.kŅQ/Lk]Fuv :-ɖԚtL˘3k̹ϠCM #>`kc˞Mڸsͻ Nȓ+_μУKNسkνf 5ë_ϾW^ ߽#_;2_:uIէ` 6F(:Jf!0(.H@*$(My(!c\i )h)8Q*9Ә;I砄YxCI<ԨDVV;F"vE@ 4iVX*oQBEF1(dA4Sn+&K5Q*+1\ǾxflM*f eԖkA @趛TkクWk8k'pfn G,1gegw^UC.F,l{0,4l8<@-DmrJLԴNGԴ!,(H*\ȰÇ#JHŋ3jȱǏ CI$A&S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL/J*.Ϡ߮M鱝Qj^}װc˞ ۸s׌0E|QF\"3سk?~qhO!ߟS~իϿ?dxw\o`ek@.hyHq% {!h[ @_EHwU8b%wRA09!H&oQP eASFi21Y \v`BUeA 6bh!8,(H*\ȰÇ#JHB3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJqXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸cU^}L˘3k̹ϠC `E+T T װc?v-ۇ#.*֫q NȓduУ3Ep0@ҳk e{BH /~QFe]`{AF&REpG z D`~v7^xH(]h_~f4Bgx" #fԥ#C.7ʂ1r8ЄC6$g"  XRV$d`X7U^'暖UGLifu%&.❀j׋Becx)袘݄ ԝuQPf)Yԩ*jVP'X9ꪬvvX 5+BZЄ+T!<,(H*\ȰÇ#&Tqċ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPXhqԨXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^jUE0L˘3k̹Ϡ!J8zEӨS^ͺ땣6-{ V_ͻ NqBؘ! D:Cν;7NCQnſOuqLAV|߁Ep1PE^!r!!o4\ud,A/JC#uߍ-}@9uǞH&Pzuc&FiPH \vT)XdfL˭7p)t%fx!2,]#(E ,@!‡#>d("5լHaD.HÒS>tRJ'I9Q&DRܩD.yPHHޜY2fDNvE4Vũ"Ք,}e:"Т/|Mj-D1HbwTQ"8x߇I-Q}_ /dH@i|k.Q?7v,op5:p/ڮ4apLTAC DF(H" d(RXP&B6FE6mĘ_kjY4hђK;FrjӯAsRc ^S3H|^TG3kY4MGIkc~~MˣdvYvZi1xaiډuk(]dgahlɶlR@jE@ Mt衧cD8^(yG! ,BB(@@".#Dib2B@H@Q (ŠDGv| %Hi(cB)d Fj gY2 (2FɤLeW%8i衈 5(mFJVjiXJNE(J1"H\YY^ꪕ1jYP:Fj錬VFIT,Etl`2k(\)dny%+:-i4F f$B&6H@{&T:i~kohɂJPeZQ);.YЊeUy%pmHj&Ii /!$#(;l*[0dZ%hƬlт$0A$P8j@'o Tl0 'XbD]]lsGZ*mmx0Hj #Ԭބ;!,V.)H*\ȰÇ#JHbA1Ԩ1Ǎ-Iɓ(S\ɲ˗0cʜI͛8sɳϟ@ JԥG*]ʴӧPJJիXjʵׯ`"#A ˞˶۷pʝKݻx˷߿ Llڋ ^̸ǐ#KL˘3k̹ϠCçC*&ͺעNP q߾ Nȓ+ݻ:N89j"jËg.!w" >˟O0_'9`AB(PP 1aB(p8J(V!&8A +(45!7"av"5)/8Fc䓁AXHD'8B`&Dpd0blbeHDv('R!+8 ]_WJП ;W(i䠋Vj@ew*!**}F"kee2HR u"ѩ**0n8)ȲEkBVzI%lj~w)B,r-Lb+T딺ګミI + a*ې6۬@ ,rEL7!, H*\ȰÇ#J\`ʼn3jȱǏ CIɓ(S\ɲ%NjtI͛*`B@ 9`OW,sӧPJJ(D+A! LpP׳h5B!$PjQߐH`ԘQdH1mDF(8\$潛/͂*p`ĨI3kEٮmuFszqN?T\rmrmG=qzA_4>UFdළ_]0w<^Xٗ'Povq5hb!DMZ f( DVCiن`,[HDQuWz-RA]@/'@b@I)PQPX}O`)x\'@^bȤlrT_!,0HTp!‡#JH "*jȱǏ CIɓ(S\ɲ˗/NAUD 'O5 ʴiP@]̙ӧPJJիXjZNKh92,6۷pʝKkw (foEl˔]l]ǐ#KLWg嘕CMӨSoD3od#sWոsͻ @ē+_μ9iNC γkν9:DCEAW=$B ${~ 6FmBQx,m&tblRP2^,66XmM(,!(щF-Hߕ-)DPYb䓩唼ymԟAmVtCR TGAyIp)'IĊT9{ʱIsOEibyaa wr>$N|"JM-5\Li(DBd)G4Tt&vUHWt]FeB.kE֊vWK*Ni nI TAAE /Apv~TFSo 밵 ?,qwoP qqƫB(Y2M2||X"Kr Hހ11ckc)LE4K%QGg(nnvT! Fv"r\ 7$H9?4&d>7I9fLwP7VƐmφ΋feAEVy0 ^ѭҡ HGJҒ} bBV ##iѫ,TE%䥱_(jҢHMRԦ:PT78ͩZXͪVծz` X&1#ֶ6( !,!pU TCl E+&.HǏYu%A B@ʖFŊ >}3 )2C;i͚3k) ?jtLGI|U*;z5T(Ro;BIOQGi.QZg%!ZQBB̛ @`eڲ'[6E8kHgf6\web3gR-5( `웒"qœ+"Z! , 6HA**\ȰÇ#JQHqF0رdȌ!ITѤ˗0:H+B4i $P jQ = "A0*QcF!EkTAR$iңIBJPթZnV!YC*uN0 +ܮ[6.z*)͌y!UU!z1)2ERQl.]vUWMwEM[ U!ܷK tܣ{I6G.=4VY2$._z'! , /HA*&<ȰÇ#JH+.TX12qȂ WD˗0:H+@Ԩ ‰, u C5s":+͢_[4T*T [ZQ1dR<ɒ2KeQ$Sd&W[}uBI fSjO FAb5=/ Όibn 7XW'Ko0 !+, HÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sTϟ@ *'WdHӧPDJPH\ TKٳhӪ]˶DViKݚ"W` <(H #^5(VGEd˜3k$C#5fRdHo^ͺP$ fDl6ȐC|ٵr-ڴc+_lP&*N|vԻݼWY$zt_Ͼ$n뷻y$Gs%]yAIHWtA fz}vjm(!mDdG0fhg`88tc(h "L6)RoAWtm@9-Ur)E!%lp&ftn!,H HhPÇ#JHŋ3jȱǏ C9!W\H˗0cʜI͛/UTpK*LIѣH*]ʴӧPJJ&jʵׯ 00@`Ӫ]˶SH +w(RX@} LaH$^`ԘQdHq|˘dz7pӨSx ō'&z۸sW(HBCۗiȓ+xe/N`ŜG}w(ZOCdg2~.tӛO~Lsq( G=7d >$Wvۍqg5hkdx%$\Hp׊|\0#Ry$Bd}%QH&ԏ#1AN*)ueTf\v%_)&C!,UH"TX!A FHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻxK߿k;0c4̘*#E HŒ3k\3 G̜C;fӧ_ "kQ˞M۸sͻ NxnƓ+7! ,H*`Å#JHŋ3jȱǏ CI򣈃' >D˗0cʜI͛8'rN;JѣH*`S+R>-sիXjʵׯ`ÊK"g *˶۷psB8Wbq˷/DHG@@x+ǣ"@˘3k֊GEFͨS^ @DRLU0~L ]ˬ M$:we|A礣&/سQr$WvG]qdr BNjz\@buzgFY1\~ a{(! `6Yn6  (4Zt_g D@Ea@)@f;VߐPF `bzn1[o`^"ezbfpyPyyڛx9E=\di袈BQ8ApVj饘fZ)v@! ,_H*\U4HbC%hPŏ rd#FC\YpdD0cʜI$7 9HO"``ПHB@Ҧb5uTQ\M _"E,dB9xʦK"!U.բ[(V(hhPHu)S$Tҥ{ͽ̬n'qV6:5暚M1 `ƒgS96gڣnbV 4= w=Zywl|}!$/f}w2'}h! [D!,H * bA"&ć/Bȱ`ł;)C6i0Yv 6GŊ H"S2$UU'L@S֧Kƌz͞=n*3Qw}JU4`݁IEKi"Aª&zLx僧#mZUg\`]u9vbLr wgc>%K@֠jôv ! ,6H PaPĊ#q!-ZQGRHŊ&S\r ljI@ IS"$P :(VGGEҞ J(2WIa%cF9EB*iY:v%PS**w4H-^HTz {vn;!]UuպdHɫҾHXp邉uxk6Nu2Rm5=1]˶o oP]+¨1ȯ5Sݻ!,H XQPDB&D8ÇH,H1Ǐ Y=dC L0eAH )sQp  J(2GI!%U?95'K* ԥG+L[s:XHp5 viS$OVmKHF0ѤcȾ$Vn0`:Z9 2`GiN8J㘑Jƚ`ՒǨ8(y&Ioߖ}H;a@!,!P!U<(b‡D<\BJaŃ/vI$'*)BAtY(Hls+"@hG$*E0LSRNɰӦU$?*ȥKGmMu漉֭BMJiӻQHm߭ZƝ,]OǠ,[j.YK6$(m s.1aNJZȫeY.֫ǰ~!ޑ=>c@! ,HP XPDB0LC3 (q`ŊC!"``ʄ@As樛X@="A0(QdJJFcHX!S'-,:ѣW"K$"uի= u(һL5:j*Vwu)hݣbɐ*,l'WwfoQyܺ(^&MmߦJQƤ͚`^B 葍!!,,H XQPDB&D8ÇH8"Č CdC L0eAH )sQp  J(2GI!%Q&̧Hr$%ЁE(_Ҝ3NTy :Уpbl]Sum k۸IDŽ}Yvl^i}QDElޜWUE2F+׭'k4ڝ ݺ" 3IJsO 2 ! ,!H`A* Xa! `hPÊ !^hā-rIdCV ia ,  $5o9UQD#G"E)dV)pQ$>}H$]*S2^ly3X?n :+һڰAn\ݪ'ݴ=ʴ1Rc0(pˎ⻎GvH`QmuIk"ɼבw5wq%]E{@RZ/₿k.zÀ!,,H XC""0ć-6NJ^豤ɓ( jH+C L0˄@As稟X@Eo DSDJFi(HBDPRCi& ɨMVb`P`d1iR%[P&ݳe~&ܽ „YoQPF%Ңeew-cͼY*`amZ(Dce YSMwҷ%۴S$>dPf/D7l :ӧD>a@!9,-H`A* XaÂ"&ć%6G+xɓ(S`Րʇ"``̗! D'Q@G:*(AӧFJj* 8*)CI+$*֪T7b55گDŊ5+1OǬJتق3=+6,Ѳc&F]FEuK(Y4 ݳ=<ͅG f٫SyD lLi;ݺ;:eoN͜z ƌ EnwIv[̜8|e@!+,Hp HHpCJP`ʼn3d%@! D$IPx$A˗ %PfʕW„ fO<9$ wP$4AF8UҖ?iU|9t NKyv,,p'zDiVDu%!, b*\P@UT!qaE !bxqǏl` RbrT/O"5fH}$Ւ'˗/ D 0ͣd48 KEP%IpPVBGzP d; czL6e!`f] @h *I[4Ik KBҹT8)h;F)!+XEf>Yr^rْI ig$V~fZBɤaPyzjIw쯠M%*ӰhѪ*AJ&AٞLZK_ƊD.hEk 1[+^xK,Rzy΢ĮI"dj@Dj,1>&< lB 1\Sfئ(&12dB=9(CkE]d@&/DoAF4KGKT&95SƋXskEd*Hv Qrx;pA27D`oDZ7) -#zb{嘆8(Ў@[9ω4d+3{䞅~ ]jeڞ<ꎹ͎6+.x8į&)`*KB*p1"˞]S_~6N_ k_fW KEa;@F1. "ău (vyԎtjM;S r) Dz2H7e;R&Y 19!q ""dX$$Q8C +I$[΄d()bs{R &l̛հ6 8Fmr%  E*^2c̶(RFhKPpMcKג=jQB?m %Rd)`L*JPI|]V$\St,kqfswt*A=*1>|֔x]FM]$p22 ^t3y_ 0rl#kWPGQfe:бAm4Qtt )h1{P(!~d#g Uaߴ&] CE!8&6JP*ɭRJM ySsk^,[Xְ̭`776m1MTW&>Ԙ- +}rIdzuw~1H6lPy2gOL޵El& Jvp`ӵ7RiVa<-tMQLFE-3Ȕ8֖Tnc^;CYk]njYmL>n%WRs9V6N"Y$ٓgd} Vof-@?֐TT $&vbM9I|ҙ0N ۜA6Y+*zG:]r1mvjf;#.g/FIl{h04Tx&~l5pG.jEmpq.+2$ҧ>yЗW 7|P0x`{} xH9%0`zЁ~%w#h0` P05G t(-F\MG=(%*ShtŅ#7RsILjzga^rd"ݧ-h{Wr؇Ah{w%GQ${7l8(FǧDH&R04Ce(ݧj{>J4-D`m1A7kA2`f@w#v/tgXW'N%$h6v4q9GQ52@/S㍡58ި:HP\K*8#Q=M:17ׁJ5B( Y&i*i?сG7AȑЁ()#-B$BxJ*ʌ'I0;%*0P@ba/,H情 !y%qW0ȃ٢#p]8i!8wSCA^ )8cQe}2 z!l:l c)ET,$k"t  JHuI*x){jv93(gY H|gZt=/F?Rt42]3}6j&( HuY{NӖ53C7w(X,kznh>Jh2 xDiz :y ;589!'GJIZ0YsoA+HHKq%j[S 5`Mmɉ1ғ7k[g:c+%ډ'dv3t3ʖ˞rR$%IxN &GJ# )}ƛ{ [(Hh+HpK"8S i#NXg=T'Ɍ? b>B"8 ZD{sZEG<(Xj 3"%d^ qp!pcX9ڱKGz> $!Ob0oyk#+U:p9Nğp2!Q"0E#j%PJ=V\ _7o~E.vEd48` oLG7;qq4$7"3 tf~-̴#5M&rY2,ihNzsqGO#HBE{?Z$2TB(ąj1hBhPU@)0-8=P}M xHԜ$ NZǔ+t#H#F U()NdQSUEb+;JFo]YE'эŞ)#Qa) )Ya8rPQgP8l26 *7FmUc5 N1/+@ ְyej Վ YGUVT-l]U0"zJ-)5ZnU;۬0 OjS<U{4Is#et)F֎UZAF%٥/KGmfLk;VfEAS} \{EhGq:=T&ZDz&{$ݮˑ\½hFXzCGdQ9ߛUӑ6鲍o ظASTaA k{%5/Z#H\ȍ>r~p"oڶ+2Ҡn"O gP!!GITnCI wUبŠbx /8S lT' Fȿ}t(:BN#ajU|޾ w)N٣y>>?zW\; n_c0WI4,2PD)u_n׏7h5JoCECWHs5IJpW9[㎤ G2z('CpKb(N| ZK mg=HEqMRnb+(Q і >!@! V(sy5 )Y5R;ɟ~&yI9Y).٠-]6~!2!ْ =wڡB/>a2!O3+*QY&+MY 2eꢡ7K5JAIAr7ҔQ)*6–: !)u)9J!5i2!!+`5dY "mؒ 9ٙQNQٝVI9q ]:Y6Y 62.yIGb|2 Fb&c)\3;A%<,W2!aR:R"]:{/TʢYJRIR"+5WZJӯiIK|58FԩٶOvy}d86eVɹO~?] $$VC눺Qɣ0D>ZC84"A[Gu7v]Urvh.3o>t[bZ~B^JF?<qfQqvdanҜ{kg?h |hFDf1gW;U<\|&\!,dH*\ȰC@Hŋ3jȱǏ ;(%L)pI/Qdyeț8sɳϟ@ Jу*]ʴӝjF}JuiRIOZׯ`ÊۓJhӪ]k͖0ϲKݻx˷߿j5È%6.\#KL˘3k̹M4ŨM^ͺװc'*lqԭߜ ה;qqȓ+x¤͗KNسkν!oXFTO O"Ͽ骈 `AP C߂ 6xQ}ͧkFcD! El D@bX.'@'ʷ4jbdAx<\(W8iň]ދ) X!Z~Vr)gIa ilp)tixf6Ѝy*蠄V&ޡx2SA ؀EeZaAR*uxa"N|z4GrRꪘiPJխ*ʑE{S=$1PZ:lG2S;V)+YR.Ez:.C"TN鸧P%[K%X)]ݢW"G;uutjeK׍dB1Rl1i;90N|EI/x\#q`왜,'$?@٬l|sEOL Q"OEE:ŴPWC(ݺR/Q"VgS$t} 6Bm7}F]jul<òn\ 1@/tY;Zꕎ껖"ʧbD6|y]A7/o'7<{Wogw/o觯/o f'@!,aHAb*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿\ASÈ+^̸ǐ#KLYʘ3k̹eUMӨS^ͺװc˞M۸sͻ NÎУKg.`jϣ&On|AyCHc["8a~z AgT& 6IIބvaE~(∿!R$,HT}IH8樣Z!@)E2T F=T\GԤ@K TViXf\vmM٠`ٗߡIffl)t֙ؓmi j^lYf1蓘&֧DYhN5-)&UФ\Y~f\ub dS{m kl Tc,ZPe+cNTN.kBT-Sv fZxB珸 ֻ^Do~$CU)ZG,p|)IhF՚-[g*A#_1(/d ѾJ8<=uilH'J7PӸ0GmuC_\w^XjLmhl6ݽ-Lc={|_7IY-n'H) ?Z L9ws>{nzDd.{+>/ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ+L˘3k̹sɞCMZ0ҨS^ͺװc˞M۸sͻ Nȓ+_μУKNSՎ"! O`{?OG8*~+K!qw)xQ( D ^v\>XUZIRQ2&F(4h6a<@٠D^cH&#1SJF)TVi%I;^\v^)dyIfn&WjNfGqƩɓmR~gj Z}(]w( hAl )=巩A|B)ԅ:^QJڐUѺ9*H*T&~Nt,XϪ k 33 b{\9)nH (nԯS6V/Hd~ ]Qh{%Я+U[KEԦq1UCUA,(FU.м,5T\ɼDLVB#3J`sJM&%QZuCq!1lڵbmx_v%K ZzP8ߣeCT`@_砇.褋z^祧ꬿy.1K%~.<>'O$iM/@+:'ꢙ|QAHᷯXg!zPؑN\ßկ~'?0I}L7O@ 0%YMD 1|4BHÇTN!P<(4ᴳΗA!D OlHzW2̄'b x@Q`$nD(1h gbQ%cDP萓ONA޸EODG=uuP"54iɂq'oCV&GIRFzA'?&<2mˉ0S̥.w^&p0!5,7}EH*\ȰÇ"Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͏cnɳO *B8ѣH\ҧPJJI:ʵW[ JYc#=˶[kS}Kݻx˷_ὄ+^̸ǐ#KL˘3k̹ϠMsM^}kʩ~M[d⁁gשnn8`񄿃 | S9!:8QJ88AQO~Gj`oHwB^ S-gcYUTlP!z/wS\ .*䡃(5T MbD,D A7DpP:VUD0XVF&L6PF)TVi`C#`)f[ic`flNep`q։(2 +{ҝ>4 ]:'zeH&j堤J )9E*痛"Z(jA'nJ)nH٪ꟳ&::dj(hz~l >SyT`EZfjz$k..!g,E?%!4(pa‡!JLċ3F!F,!,VH*\ȰÇ#JHŋ3j CIɓ(S$d˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJի`ʵׯ`ÊKٳhӪ]˶۷pʝK(x˷߿ LÈ"H̸ǐ#KJ1Sތ A͹4a$QbuŤ]˞=P5A޵9gomxQ=WTS#!ڪh^#L0'y2/}t)TViXfU)`)fecTQopryHJH ?ihHF{^F' hb)G Z觤:(:Y ڐ):e4#ꦪ*2JD`26;h> B(2 )"e҂Qo&2(dkmkrdkk.}.0{-k\%4,2(lqɘ20˸{Ď t1E7Ü"[P:yr ,]N6]5`d9g5\litpǽrg!,?H *\ȰChPË3jdh# CIɓ(S\ɲ˗0cʜ#͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ])p؀!2,!<,0x H*\ȰÇ#JHŋ3j܈Ǐ CIɓ(S\ɲ˗0cʜI͛8sɳG?{ Jх*]*4ӧ t իXjʵ׋P^&JٳhӪ]˶۷Um]t]j5`ح hJ4``2&xɏ3k67!ՌQ |٠ͨS^MaGmiP6.co[xY+7X\a/([!cν*/(~prޢǫO|˟OϿ(HV{ T^F(!EVaY2Pi!8U S2瞇TX0QTLbb2uG/fu#D>WHnwZhIF9udDX@W9Ae3: [Jn\攘(ehb}q]HD"Gx6bVtrfW `)>(ԤjH :(fBҤb((k*SP)ꗱQACiMF5,HZ(a^g۾e@I+[n,nJ>J T ֈEK$Ӕ(-j[kigU5ji>c\J1=3M"+u&i ?-yhy1WbБӊ4G%D_c BDC -7 voA|B89-(g @(9@ s ^P0ipTzBL>⃮{̐Y  ^v;*+O8ޏ[W]AA?zo|[ro~>O'D/i@z悀6;zͩ6#H[$$o} V Qğ%nS"w{3GmCBЍ#fÁ C G>nB(ݔC- {!!bQbO$@BM環$an/\ZU^4@4Qpmt620܋B"r 7 @n$3+fRst ?7nd}>6PoK 7X0c y-s ' !I0-ŷR@t13 tf8TbDsSd*p<8;FtAHSt$E3A% n~C ?#?o@y @V3-B@L:l|%L͒z/f1ҥPqi+USr|oҩپfDM= `:Tn4 "I6摠}!Z=;TIs,@U҅TA(1^4W!qFwzS&q FhٕR5>{ē\O4^X5x̹mB^xS,EZTQsQ搋н\pirN%׹ѥڒQNvQ: I@: u)W[Qߢh7Dcg܌Hqi6ʾiK6fZ,>!Fy0ď[TbY[2QظKQxYלV &ŀ4am52qze'GA3M\A$Dל Fd4+b6ʁ24A kp-?A&N&r Y"тtPAQGsK&uOfr M2vj;KHfjD7+-j @G Jϣ96 lސ uB=T<&Hoø5\/OF`nᴻf,3?4ص@- z nONl]A$, ?OCgl~#5gk Ps!'Oؠ1 |=ŠQ}r5< [B8W,yg߲3G(uKڞ9(N:)$.إUi@ wC;~"wo4iVcXGoM[$ /v;>_АWߴ]i+QЄB-AQ.vYAr3ДO@)GqR񷋟uaKGN?5 v>9oie>P %26hs0a "hqw_Me`_A9fy(0iA[hI6d>2f-)RqI6"&'7!xeRaHwvx&R~S>V6%q-1#01 0 ! 5 6]#`axVFR_~FjcÆrk>coZ"sxIaN ^8}Hq+`P"z2e[6z _QHXЇ]&~8:}8#!8<և'}#Ac(#؄ ajBxTh@(E٣!(6bNgH۸A8ۘ[荲HNظqxx8k~hj&9Ƌf~%B(m_hu1 F(؍XA[v(Yv% iOHcь &Vx?1:y&:<%b49FLYdN!X"ݨ TS-)W&w""'&踈vR"`cY"RhQcvl )5~7c?f~GAQD96ևta@xeIV>zCS'~0z"eK 6BAQSҊOhQ`q4Tyb9 X'Lx|I Jf9dbUh9F9놄 ÝMv՛zt!<,3u H D8ȰÇ#JHŋ3jȱǏ C\(ɓ(S\ɲeJ.cʜI@6s̉sϟ@ JQP*]ʴNN7JիXjʵלUkٛgb*A{K7&hkoUu;ڲ ]+^̸܃ >&)㷍3k̹3˞QLv3LO7$@֥MjToͻm.CH _μ}'7سkνËOӫ_Ͼ˟OϿ(h& 6F(CFUQvhl($dl%,0tbG8<>4cEvcL IH&iɘ$6ەM\URHDCITƐ-0cVllIP `eNfAe9Pq.%A ZZ]7c )dAg©ѡePPAqZnʕZ5%񩭴5LjJDiAzkM6BթtlHBe~k?. =6ns f뜽Fߕsڹ'H.G,Wl50 ,-EA(rQ@+qg %el& P=tq?+e,eD7Tݜ(R("+! .V(\kZR3KuUY]iڛM)bQNdc=6Qt]|Ix;\e޸ߜyYzzK~† NS7c={P DwK-DuYgxTOZWi_/mROp%Ty~@!<,3u H*\ȰÇ#JHŋ3jq# CIɓ(S\ɲ˗0cʜI͛8sɳϟ@L ѣH*]ʴӧPJJիMaʵz{]֫٠FmWnʝKݻ]#_~ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(F& 6F(Vhfv ($h(,0Ƙ\!ip}Ek㍥r(b` eHdH@DHd[. eY_F%XFDlYc^Y@c 'QiS oifgVigrhzFsV٤jjS^z:j LʥuJkfOުkP@!<,}3Cu H*\ȰÇ#JHŋ-FȱǏ CIɓ(S\ɲ˗0cʜI͛8Ynɳϟ@ JѣH*]ӧP3뢭Qjeέ`Ê*ٳhӪ a۷,Kݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(ha! A T1Ђ :hAX(UhP~Ȕ">(AQ@%4 3(!1⎣2J9U#(aCmģ*~"?XdGB)>#YV4] d+&Pai(lf6TIgMf/4-وbFE.F .:a1QOni`8~R@!<,~7%q H*\ȰÇ#JHE .jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴ)SNJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËO;ԃRp" 驪 APzRz )X}'{fH~H`!Knx5ȟ+b14ac* ߋ@ȡE`CP@;&Ji{\n`_v }URjIUn!,}< lH*\ȰÇ#JHE.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУK? F^Ӻ@Qÿ.>QУT~evȌ~L"5>"}~@PX `Jނ>!t^z vXH#,(z!Fy%XQ}#G!vH@ dO<M>)QVc\B9Ж]>!,7 qH*\ȰÇ#JHŁ.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳOI~ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNاCwHd`(@}${@޷7$#ADA%T`A F*2ʄfV.(d2(fB0F8 ŧBr hލ JȆdc@6ay!M^Q!!e1ҘDH=Z9E9ȥ1(aI:ivRdaH(G(f= JѣH*]ʴӧPJJ&ςWjʵׯ`ÊKٳhӪ]˶۷pʝKܞv˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(P  B &("䄐("6a HDHD*#Do!A"6"(d" $k"$$Dƥ8#an$$)L T!i8 IgN&&+s"@c@ >NZ1 Ċ@ub9Y+BlXg) 撙^Z(agd4(6jXFcjV85T+Ї&Kܐ*ՐCJ6!,9K[!*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ La(/ F~Hp,E(H|]$9{V\;v}|Aکo-4q{o/={otzuMzq먇x,зon?^93I!/,51o H*,aÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ ^D}!%ʴӧP2 ի`%uׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟O}Z?TI/r` ^(B D1 4 (cЕڄ@(J8JCӇda.6$Ј5ԡM)F8C#I&PM´$BV))Reb 3B!+dDf&L,NY@jΩg\^j{B!,?~fH*\ȰÇ!@Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸$J>@`e#`A% ,P3g:Z(kĈ6 #& H|G=0QlƬfTڹ"A0tE"};)dN~sAVЫ9Jݝ )dR.l둒( 5(rn4w!pQ 1+9'`mUg"T_}@m @y8` ITkxdh!cm2WXױ2P=rg7~Y6PI@Kne]|4 RiDYІBťcq_fAͷf^!,y<=hH*\ȰÇ#JHŋȱǏ CIc(S\ɲ˗0cʜIS&8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνË=xӫ_Ͼ}1O5Ͽ(h& U-`b7)1!(,(H*\ȰÇ8B⊁%LJ'b(R`ȍ$ v6bw /긹qН/~Nz牣S_νw"N{DK>eNY_A=۷o%_Mg=H%A (q1Foad]ᇼmhPz >'MS%(#su(3tYciaƠ|ҧ9&Gؤb8NVf]٥ >GOiXZp$bt6dxl"jd֠ Pf6YsRIP[e[[=yXA5*g&9eQ9إ1Ӑb)fd֖YnkYF A+f-qBlLFBT.A.C~.n @ 0/A<@&/;[Pd-o𻝎1 +B&Q+ <M\DA/roPrLqB(p-OBCT4;A1}cLJΛ(6֋o}F@$?Bȟ߰*0xZΦ6i.e];H!'0(~ț:9y `.H|u t+(h.!s̐ Ron}† ?/я 391tDxvR W=o`42e!#FlT]/{n #̸/3l}B= G4!8NLɻc"OI;|H=Jq!8+615%~kŵ*DY*D}C@OƎ̟]BqegL]plz ʹUӅBc'2In$UMU:Nt:{?Ă/.Sρs4 9^6e_yQ bXYSQ%xC1%5(Nwj2}$C.2frw\^:u*QJˤQ˂8ġ*Ѹ KcTզDnO,DzvB&:A"ccZWςd"UkRRfe JD"]Y8)dMYaL&MC|P6!X; gƳN8[v@iFeNݩpږGN?j>WuBMmkGDf2ul&>) yKd;˖cկ@F1Z5ie vu+PiصճmfrӞ{ oqpgB/Ÿ3b])OӽzU117WvX.qX]],Hl^0Y ]HlW(zlCYlW+%ӌ`T[UOмFEG|u!\H=yn;jۆς3fQaT:ZъԦfʤ,Pf_;f  s`x 2Ȥ3ECDk|m^YkOm5 !C,1qeȳ ;ǔv;bӞɰU#Vk ܳ{B"OO޻6-6Q 7AS{2^XӔ6&x]JzO2 ګwfs#vPRJ:u;w9]N>E--_RHM=R;~O$o޴Q<e?꫾OW^G䧋M+~_(>v„X!ckzt^5Lgrb-w~Aw7p:mH|Ww7D"T5sc*'cr%)뗁G;8X׃9f`gu 8vHMN3y\L[fSGU+:-}悜bGWVY1 z&n]{AeZf4Ȇj8oDH闄VuSHO4aSBu7fJ٧_}s3XO;FO4u8Fb>h9XBx-։zAN=`YCNiX%w%O8NqXhȅ607NXaFuR{e@Eh#Ry{EFgPH]diF@(N75ghT6v4Zܦ~mh{kՐXED/"DoŅ?16X=m'w8 H;g OK Vkn8AOb؄"~k۶sYKsgYtƂ'r_1z>2ㇶ![|'פ{;7k;J{Qaۺ;[{I2 ?xɻ{ʫ|׻һ{"GYIE$;y{:6_ [x轱/T!g[,XƊeSxHs|j+2ur8H\3_XX#&c z;?WZ mz IԩJkE\rZ0[I < %{@ܰꯁvRd>s/9JcA59w欨ZJ*6H?3?l 3Űj9Čj\֕扯˶D,}|Smڱ ҥ&'UDBb|~U3<5Ct<%ZvUCNȝBi9ժ^K5E]ܯ̱\LsکŢvK0faIO>d%&dLqldd3hȬM=F'x RK„ <9FF}jϘ6hEx2ٖ'lr_X;&<;SiIxI -92x>s2vc(w;AU|rJגX)&MYJ7~TGP}ubG˸G}3)m,es{D}9Ǻ`]tҮ\l?3l(gRŧ҈pE$Tt|]'([SׂM!cXmuZՋٶ1)ٖ!*XՐ}ٞWӹU0Y/Hr՟&mղWuڊGD{YHڸ}-E> *PNy@d Í-oEV~s+(8c礆f5]׎mY9gǽMS׵F0)]djK M*y'FڢtFxh95Yopv[!X_Αv)iM&KRCŢD1ELY$DʭD+؇qG<Yø /$M^M,$>9" ­!x)uf>\QMMb-^5*l\L^HX:;g癡og]AK9yOy­9̇TL@^_VKYH딸L96e01=y-Q>'<RjR;7^.T3WZ0@5LRO<s.L2BURYd5ͅzUUC*5t/DOE6١rCJ%FYg9JQj3jVH T*ZAUQrT6]u 4I^5P.D6_5$7 8}Eb^a#߁^X2db-kRQmkX&UGf8f= \Te֘v,V[1HXQ)3n46V2{%:3O*V輙FDԓIIF+:E\G ֢oŮk_F7kV%Ų`0nsRoF`2RL/$|^;si,qm<7G=Նyjkbg^vZ"j6Suᇗt!x"ycCX<?u<-qz{>i3{{>}#OIs]_~]ӽ`8@P6P2`!,@H*\ȰÇUPs@D/bȱNJf$8RdȄA\1eēSx@ˊ7iɳϟ@ JѣH*]ʴӧPZ$HQaΜQNjӫ%%ٳh\V@᪝{Ck µW ߚ~~;_'qa#K.ɐ%˄9S(/K% Zϡ fF.^Ǥ'˞M(lsͻo^R8Hΐ"|+sϣl^\zuػBz?]q6_ *BԱI/_ذ\Ͼ-ǙhQjj `FkQ5&XvwVyC'rgP/=(0tBaɵG:TpI*XA7ƨ$Ɉd_ٴhCXk]e\Z%Iu ~]9zRGtl&JI>"`XcvT&jYQ+Hf-CvVQ eꐙ@騴U頋 :_b^ڀnly+GXȦ5C#$@l 4AF{PjՁPjkS @P {˓$/|EAH(̰A-jE1I|O#OH ~,Tl:=s1;P6 @=5G7q:N$|@*JuU=5[g vBb?m6Q4ߌ2 4 Bn Mw-'gP"m֕"7.GΔ,DJ֛NnբP]T霫޺@wAu\ýߒP=B\2?vGMC.yǞVCƖ4~v;?DFxQkP_V(@Tm6exˋ6Q|/hr |J*dGiQaS*7ԥZRbօm[p3HR]PٺX \cHG!C Ŏw;@y.]atmbtuúf+>:>ÏR`X"4Lvc7ѐhրAԽё/<ڀ7pD G̊d*g)MgF %KȤ,LYR3'\_p MDskyf3-n{^Rr<!4(ћOfM wGF2)Vծz.1z>a"L͡>p_.zs^\C `ӿ!lg+%SÞ hPjJ=qN U~kvŬh9uMj3#:icg+N"Zv,g?5]iKՊY;π!!,@zH*\ȰCU@8qË3jpAC)"&+\ɲ˗0c:ds̛8"ɳ'Q@G:*@F}*5a`SO"31Kq65 ѦFE¨%E(WYW&-+Bj\F,J`` Վb3ܿ/8ydb3^B aTZOGEmz +Ǿz5۵D5jbT}=2BR:Wl9ī(bҙo*^0_,[|TTף#O?Q YwQg'gQV@rɱ^j$@4bl9[Ae"krY*6dj;A#).SScF 5Sp `'&brA)T*$A!, H*\ȰÇ#JHŋ3jȱ኎ CIɓ(S\ɲJaY&Aq H4Lr!ТH~̉R+D 5իXjꐦעTgJlњը`۵!ߢD)vzؽY LÈWdu# IiY9!~68p |zuQH -lԸ-F;7н.QFR>*xpK3AғϪ`%8d"5fBkT.9~=@Y7l c`FE0 qe| wPt$`rI ՗@ aCA1Jwc@iaA۵Ƙʎ-73 A #rx[}iq-܂H&Dk Iw#c`L@(CwB>ڢDgiB^ Qi)xУ)Dꎯ2*h @4BTJX*{ D-+augm][I-G-ɐ>& й9{ :PFշe@;yH_3vJЖ%;>*1P(!"B1  笄  ~^rFy gq= H gA쐘K+4AcMSC^\k-A]}!/s[O+dzPc$rю` Է{,A\2z~m!jr["36@%:)G5~ӚuV^:}޺;i!\ }nz;XvX3_PWoMI{/KqlBTڍwA>uNidf) VɚߠX5tj0ne5gB@` STTD@% p!k >XWRg r@ J"= [mF*) ;t-tI]$lf\Ov;$0O] -YYCjuHBI4{ΏOIGGdJ"C;xQ`R'y[)| e::I(ؐ2/N{ @`]'g4a ;R+n" S%;f L䪚ZfyVSL NM8!5)7"0RA6Ph$5!A[)9ጮ@;bftA REU4kXBI/ ` iFw+{+ ymq,HgH~RDgPqQT1DPTtkd/*UZQC3 ωT W ƺZ6sέ ?X̷52kV1 $_$j͛\jvGjS8m؅bSxXhZݠVW]KSAжxɑ8iEci' 6!="J:dyJ_5vw;T^dTVKB۞gC3" 8ؕ7[\f}'H}4UJF!9`>YoF^U 6`OkFdZʿΑYOC"}bTַ59UjOG>m6Υ}'UXR%1LdN-sYɐzLfy¨QOo[r[$gm< x4 IHa`s8MK8-DEHeik5_<@{i6*ٴVx O:F @$c6la>^-F㍣0%ӫ\`@!,'UH 5"THP`‚D8pË-Qp@5pň*Lbܸ01ҁ*͇ "xÄ́FJ4(H M@ODE&*WC&@쨳F6a*+$cjvmϷCIJ0Qo5&qU*UHŻ/ˏ"FR5t 9-BpT9oA) kyuAO 7W\R?gYz(|ԳRi_~s8QOE oJמq˟z=!, $Hp*\Ȱ@5 U<(ѡ-j$`Ŋ+"cAIi@: Y$` pڜj+@# Т3")$JOR@ 9jP#(e$gFQlFaM0JQHTlwnz&_BMڗiZQ6\$QGر_l&U ֟tEw0)Rt͚5fTϛ9-Ѥ.h3Fٙ9PF;DҭWprvG!, IH@HȰÇ#JHQ3f\hƏW#G( $H2˗0c6̛ D0Bϝ8SŊH AgPƌ"u*W|Z1^hYr9 T *Qk50/I ׼Z[V-;R gg N%%꘺tC(憎g9c)ꊒ7Q&tVO*gOcn@w^^)sWɞNN0 !, iHp*\ȰÇ#JHE5 1Zȱ#D WHdC+8@K&c|8%B3sɳ'?{ U``Q*jTSVNGE@T(HȺ@Ȍv)$Ъ=-A ET$FMj a=;ɨغuˊ(R#zX ԼBⰤ NK:1IW9+y*h^.tAkvoŶB%5Q`cgY{-xsd$QDQ0}cмq%.zlTun7.r<{cFzW_!@~WCBHEetv!GA!, #H@*\ȰÇH0"+Vb"G =\ɓ(SBHQ/Y 5 Y `'Qd %E>0LRT̚ Ip*)P kt (f +F".+q㠐=iUL5Q$|!. `@ߗC$hzԆ*Ȕd$e+$M>2<!, )H**\ȰCjF|HaB"*.\!0@/jyP$$S\@]ɒQ7Y $=DB(2GI!%MtQ:ړP$)1QnjrTͬ،sQTh٣Q[*ֹ"aS&#%`+.ݯ<,ZP_6 Wg{%mZMG݉Y߈~}@U@}XmR:pXR=\!v Y@!, H**\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8E&b'>IѣH*(bBKJJՌAf-ׯ`ÊKٳhI˶۷i ݻxUŗ(V" @0$t&˸GLj$0k+3ϠCKj_ ,x*Ѱcˮ*˙scͻ ^μHɛ۹7BԆU8 AږWO>z?>1Aa߀(F] 6p~E@\k kf!\m|r$psW06_~[u1JYQ^؎H&YTyJF)%K" bSf\vYW{Yhd!, H"*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲKj͛8ssL*~P`=*]ʴӧE -իXjg˵ٳhӪ]˶۷pܸxA| LXQYR   `r˘3k>`Qc@Fi)o^ͺ5ZRf1ڎ]3Lg2K+-IBvҷ%'!J|ϤF]P5C.{Q~*oy6qr~6`Qg_cҍfaw}!zʥކ$}uԟ0cD(@rUa]gz5bwTVӋ o`i(h@_F̹]tix %yje@!,H@\1pJ$DZ,Ǐ d#FL2(\BAr̈́$ ?"&R&@aKkI阠WjQ}:j)$)1*GeJ*$a]ˡL@UgV4zS$QGA[P@="zİye:˂u >Jء$%)d{Y=KFjܠڴ zrz .'(<!,P!P A *\ȰÇ#JHŋ3jȱǏ CId&S\ɲ˗0cʜIdD ϟ@ JѣH*]ʴSlzJիXL֯`Ê˔(F ! D.]˷߿GE0x"Aqb#KL)+$iю (#ӨS,HD30۸sfx9Qqv<@^μHD?prν0asC䑀m@˗( yͪ`v$4F{h+v]y)$ow-VhaF g~14]($F^f'PgrɆ*!V4`ὖprWDvlhhtqL(EViej(\!C ߕd[ Qbo'gpfi_l|Wg Fj衈&HF*餔Vj饘f駠v!,U@ U #JHŋ3jȱǏ CIɓ(SB0cʜI͛8sIQK/ hȳѣH*]ʴӧPJJjR6iIdeׯ`Ê eǪ]˶[FŊH ,g Lᐣ$^L ǐ|˘ƭ۸nH 8ӨS+MLj̨4~Lb`ոs͑]΋d eȓ+G cس[JEw_B`LG]ez[<^ѫ߀x()tgFHRw}cevC6Wt9 y"VHD!m827FY@]Aݦ^iB6r62T F@Wb@[V`)~iђclp)tVfxR@!,aqH "B`‡#JHŋW,T!`GCyqȅ$S\QcBUIpG8sɳ'E6YC>0C ( 5ӁFe:*(HZuYȤ% oJ=;lĹ>˕Q ¾-A(fJěSQ~@5Ia "SN;9paV_ L'ґ RFAZvnU Bos[z8qoxvvvʗT|@Ѩ5sD}SGW]nO4ܘbGFĸ"$Ǔ( 2!La LxsQ  FwPpA՞) JJh (RQc-KS"`sVhWXo܆N|MɘQbM ְyV@޵g Ev߇E%29z(j*\A;YuU *6Ǐ%DuBUr鐵 *J2ӫ/]+!,_P!pUDȰ!Å (谢Ń+*Lxpċ -:ȆAZG:CWb5f$PR`OȐ"t)$@@Tdͣ4\:`AI`(SMHfnNEσP%d.QxDŽ@!^VHrMXW=K먯`cKJv@2_Ћ>|qn8Pށye)0>V aݒ|n,u ϽS( /ܦH@oYnaنxf8 R^iQ)n&2,-=ACF3^h9V#+9/آ@ٕ񮴐5fKY >)4!z>Z_}Є8>XAfީb!XRIE$VJV֞).Yܛ!ѢiiVC͈ĦeP ^bVX~嫔ԝhr(y'~ _zl\vjYARlpW@woI^fIc[(Xd%jު1vdc$U%5,jUt,B^8=Ns8oXƺf]TkooQ *;$/Wo]ga T x&l[_nIF<+%Tk}A;UUÂq+`,W:`FԖVsYdEe]6l]um[/+|~ g\&vu(D"_[XWv!:D.ܺuHY;*T~DZP|:S|=za yrjC-r![\=My,a&hK1͂>H>~ANz9"oh9g/!rAt "D3O8!YA~tC /11!(HyрdLFPlcO!,nRH*\ȰÇE\ŋ3jܸqD CI J `ˊ@As&7_Aϟ-w %3BQF2ta4YPiӒ1 YD^- tOcƺ aT̷juF*qIZ&y2E8xѳT4QJ ᨅ> 6dg2R#5j7 lٵÛkțOsF!,q(P@ *$P!6aƒ)jQ :vԨF0%Qd`$ULB2@/ɐ3*L@)"Hi2BQ iSL2Hb *,:@ e:)Ǟ*)rԘWE4ϳ9Uo4SjRD#;%I$xbhVu !,RH*\ȰÇ#JHŋ3jbǏ C9qɓ(S\ɒI+D e˛8sɳϟUt8ѣH*]tM4JJիXjʵםJٳhC"H˶۷Y! D.]˷ߛHÈ G- %@Ę3k6\w.L鲝 Y5wqӰc˶:(g޽[$w.7Ɠ-! MA킯[S6惛 DL&p!s(0D qd("F%#6 ;b[$p~azxu1$" Hhqu#&8{%gxDXg2s `!#I:H" |FdR1Ut98b\d9IHjrk_IMQ! A˘ XRl @3G:6y4գ=٘!~R N-h8whF+</gZ '3A7'0z+^A!f7slWXMa\dH>J1ԡudD'*4ʯs(N=!aBr0σN֊ySAUsI/%I=^}^(8D\Y֯c\%'9nW|CYzp ^9UIHwضq4J'P KSJZ @aݘ mkk]lem{zrE“P',+l r;k@ZՖ\,Y?7pL Mp0h['讃3aׁ)ݲpDy5jQ/ m#>`%ep[3mP![SKP+2+U]*$}}>],N`Si/Z&.(krֳ"dXuɤebKGn먐z2B|Gn}d\D(7+̺-ѨXӍ"(3Kh 3ޔ f 6\Ꙓ볣|zѠ .7M*kY&IRύN|Z!p=Gpl}ߋxr|^WcX'͇J-I54>=:PŌ61Ho(̮O~B7ɷ65W'Biҵ'x 2 HMx"H5h <1}* 1,,8+bW0X#2#7"9H;aM+6<\у+(+@PR8TXWb\L؅`gOaXfxhx=i؆fnQE@Mvh>rD|DXuqBx&_8}8 u(~q&DdxXlHXDXRq((dxXHD؋˜huØ7Bȇ'XGQ!Xhxȸ!2,?dH*\ȰÇ#JHŋ3jȱǏU9$ɑ(KLyI/UI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵf˘,aI6̯c[v]˶۷pʝKݻx׮ڱ2 -+}+^̸ǐ#KL˘3k̹ϠCMӨS|`kîc^M۸sͻ Nȓ+_μУKNسkߞ y @{˟O}Ͽ%^Mc 6g`7afv ($h(,0(4h#C:Ŏ8D6cH\EΥw4i\=yґR&qe`Z{_e pd@ SIFZBX7)O '5zr&&^Q޵c}"u)RsjXbP?l*? jV8z64)DV ߮ {wBБ.dley*4QIЏ{6m'Sy$ ӻkP|/EkѼx$OTA?*lqL#j ?4Nr+L lW0@~2qBų6M$Rgd\===XodvhNZ먣sP wQ$p!O(2 +}ӄw.wGV#:9%8Mg>TQt>l JeX;ES;Ϟ(dzkBC~(ͧw{A?6Ĭ$KNߜ~ d`( 1 p ȗZ\!ĀTR ejٳ@Hsz"#$ٯ"fxsM 2Ҿ(T}GZ- H$H7AJQb".5p&gq;…jH*'#Z2AΉk]ǁXpAXDC:(62T`#Hȍby%8Iя|)Qr!S* @F9 УwlLқG/ᎉ1i=Jow+f|%bRb.Qy$m#︅ˇH̱i/$ X4A((CX|*@%ziBb jEꪬZT*+KjT문뮼+VG٧ $٤6Fd.@f,p2d-ݖVSkC"Ԩ~}(2 +R,(dl'QqbԚ;/A45m ˯W۱ Ӓ ]leR.L ),2U <%/DBOdpLA$7pN>{q8"댔~4\?]H[7t1`s'@emMt6W5AKBR["\i5rサ U-c0u;vCi;ИnI(c`]3=zP<J^d~{O4|NjE'{!.I g %9/мJ@#Ծ!2,MH*\ȰÇ#JHŋ3jhǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhBI˶mZnʝKݻx˷߿ LÈ+^̸ǐ#K 8˘3k̹LӨS^萬"nMڸyZx;D"8U`}WTz2>wb֩k.9A'|->tvӫ|~/ގO~Ͽ=dh&V `}~Dp=8(vBx!7,-(4h86J"@wx(EA&c0.NNaiAXRf%TBeX6h1 Зl*!", 5H*\ȰÇ#JHŋ3jaǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳI;]vڶpʝKݻx˷߿ LÈ+^̸ǐ#K>v˘3k̹ϠCM" qUDըc˞$sͻo~/W™&rJNՑ^0Ë*O|g+'>z˟OϿ([M!$, -H*\ȰÇ#JHŋ3j`Ǐ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳ]lǶpʝKݻx˷߿ LÈ+^̸ǐ#Ka˘3kyoʝCMӨS5۷cK-ۮ1Gtߦ[kg_ RC5(Vhf(q *`$.D@@_,bAkj4H]86P c#H :6ٌX5IeHL2u8#_b4dBdfDf䜡xEG?yeIЛ*dgIE)E tiNfI)2*jD6*@zA #lJRt2 +r(*RZ1 >+of"+LXkצ.4gCkٷ*;-. l)-k/'#o)wڣ/۲"llk!2,p H 0Ȑ!B&4 Q`D'V4Ѣ9~lHR#Ƒ%S\!JO4I&ȗ"gڔySgΞ@y mp*&%i'ѧPJ3ժX}^9ׯ`æ `YKE5Xҵߢp@DѳjKצ,W 6װǐ#KL˘3k̹g.Өlk1˖`킷 [` m㔉#_μӿu^6rbʮP0}dibtݜϗHPC^-×YPT'h&ș~\1I At)Ґ/A @k(Y2u*D(wH6X45N/UXE_ dA: dSJ T^YZ2YЎ\f9ޏ?gadnTMepťb„1hl@!&Lk'O҉#cfuXP14|gXI0ͧꪬꫝ @uS RJvA%Eܱ~ᳪE!J묵R{m~+nޒpۖnW몛kۭ+o&EJRJп JD:-ݖ[h+8lЦҠdX]0GE .{V} kQk 75g 2qVDN?ǖЁQA$\ @4l{%^GLb}x$p(Q dfHA?1KtJrJ|!Gf!%Ɏ1,eT3MVrKl.T]\⯔*93iŬf2h^a_G!wfIWgy JI"A_2NcmA7^aT E4A4LπuGiPzӦ.52#PHYOW:֨J kO6P<)k柧94Xx 8TJK2e?[~v1j۝=bf H8@" \AvRZC@wսo-d xA >vH{ 73; x R8͍p;15N+8e^ssO?r#W"O;[yQn)Ϸosǚ]alc??n7ҧRZǻA`3w)ӹ wއ,Co ˩q_z.sz' ^ylRXF 8H$ȶg*Xm՘m% wrqsgѸd؋zHD'?fC1wew6cIcWF} xBf~uXj'O$}6ePI|q786c %~%|Y8_&4i+Qz ng8u)/)unP}oX58w혏``4 !Q8V9X ԖdT8pIm+D DAayU{Hawiyhz^vFu@XVpwqmnfW~mWL{8 N'׋ysÈwK9|Iu/wv&Z(@ٙ<}}Wvy$z"HxuXlt ̩e!y&e"zlṛa BVrbK)}8')ѝ1k9W8h{&P$yiUY?ٍnJ_rf䩞% kjaXa~sw؏c 7~ wgNʇE~ ~O٤w/qy0}(jz)b: ҕe AdkuFr:]7WƤ-|ũ{vGyo7tD憜皏9GD&;I7Għﶩƹg7RjvzJ:Rۆlf|nV7Aߧlڊ;zj| eAZz$aA8,b ɩ\ Xt4 {G*pWkD%_;[{YjV/Y fwfWć庠3ښ4k6˱8ۧ9 (gHFk곬J{+FxK{I[OK{í0RIѭ^ѬY1:[yX۶npr;t[v{x '6*e/[mKlQ[<;RK+G;+J˷kJwkd)h׺];ƶjۺċ)b0ԼK;{K4kz,+ y ʹ1#pZnǾ)긡gu kMꯨʽ]ۿ ~ٻ PAi `Kɗ䪮 Zܦ="%~9.\zxڪlK@@y=MD)>{eO<Ŀ{k=: h= $ʊ}PUH2\ ]&@ATČkMFZj֭]-s2N+M oӔ[&ܕpO-vౝ?]tխ$n(Iq{Ʌ%՘vy(Qcv0@$@um`vA$ B,<0C 7C?ܩ<۪o Mk ![2 z':l DiG@J+2˳q . I6<Ȫ0}|˦Z3i߾iMӲO?4PAQ lH4Rt#".bRrrqH)ˌ:URMeUW_@7Zc5V]wW_Z4F 9U-+TLg,Y"H:PH2)2ʢ5UjK=>f3 Wy祷z N}ژ]YpSvɁM3 3!wL{'b[=4[6o%/F9eWR__9fg&SV]&ɲ㗾5kfiuٕ':k暨:l&lF;mצ2Z:Ƅfn;5ol'pí5gqQ"r/81s?w)tO\qWg9igvo=www>xᇏtG>y!<, H*\ȰÇUDHŋ3jQ?Rɐ%I ʁ/9ʜI͛8sܙ$E+IѣH*]ʴӧPJJիXjʵׯ`ÊKYAa ӬpʝKWiLx۲˷ߥ،UT?+^̸nZcLٸj4f.قLӨS^͚[˞MAøo"d[|ۃi@Ɨkqx|УX]Ë D_]`l'E O(Jѽ&@d cRo ԝ F :t]Aklxkө5Pvh(/ XTwpQ*]PW=`Xӫ bQ^[\E6QguAi GpmFՌ|7NuQ}Q8ӋR~j.9q7dx褗n騧Nl@Inڷ}QoݐnA>/$=F;Ԑ'ク|)ctU" G!AX_xV4V D $GAp]S_k4V GHoR8L*laE8|azOH,Gĉ":PH*~b~`_^ Ǩ1F4(olfĎṣ=aILφł E9{HJv.1 %7)C-)DB <*ar3qbN,Y%lL=*]@lbƔX&Y\mW?L03r̦65XX=9GB6՜qM{ߚYjVS&(OzIЧF×!`|+ˋ|!V)~94HFbѪPI9#DGڕI&\2҄sy!U4y22%NwӞ)l*Dp$ӈm %)QF 1*jծZ*B:zhM+ZԼU\VT#sU^׾ `KXpMb:dCZ֏eiلh hGK$ :qxygMf5YN-mKD ˣ5aŐk\@uu@FPm:xN=+|.Ip)E_.=Nd8Q}U;= !.3]v7DQ<;|~'OyÓٸEn|&Y{:_x*<1/v5$|.p>lN<^wt3|:R@-7ӝ8 [[?3vw?/%0a<=Q?@g($V!I7n:gvTod~~mi}iwz c|ց(+`@lGr"wq'X7 1i]%W2*p,p.Xrzg2ujl3 Ws:wu?PHP00am#7R/[HT`8*H~͵q4ag^˗o|B_Htqd4^h^Ɔe8ucw ~#~Ɩmkdׂ Qx7rakjȂxv;U30Hq} QXъ&hz:H2ȋF'Eiv|s~Ȅ`o bfwR!Նvoژo䶈hXg;~$8?sT6Ӎ舒$~aZxxpXtz8u'I {p9 'DhG W7{Xgl*)p%yU3ypa80yGlyw:9LA' &F>q8@,iEf s#1uBw@Ѐ7CrcFj ?c`_Jވtax:53%JjI2axvZVPy}Tx|~[4͇ 3rȣwwzVVXw)ךr]q̈kx`ZGeu?f?frɗ#IiW:/ 9lxTJęiCl8Do^d.@ikyvv\!J]6$뙞``Js֜0f@c  j b @c C)0SW vnh /r(zm|Y3$JhY0T43 :J"Zƣ =ZoqӨЩ-< kТY8OJ=/jII@2z&]b3bzT4I*!Isgjjsq:BJx@cHe*JaƦjy`jwk9z53*&ZZU1sqn*1]ѨAT!ceSJtjJE;[91*d5:CVڧ_Jg ꥕jJ::2e]`뉮sZ:P^jĮjvԭ+?b:~ ECc*3J@Ŋj@cjd @6P# =33a Cj9[cj@Ǒ?[7+:4C@2 %{ "˲k@ZP[$OѳFkCQ^<[e $ ?ija> 1{iI% qskv jѭ>ˮ]PK2 Im G;2w[ }~۪6:! ۤkJ v;&+ĩ&Z ʻ@Kۼ Թ$ +k&ɻ|ՋL+ jձ{+)y:4zzڧ/:J4[I @۱kZ;ÿV;4KO=#7vj2za3\/;HjEqad1LC3-KBL@lLX{ĞɥlKg)7o«“4aÒT9eK[LP+:elC{Prr,:"v wsr[*3l2:aj;tEtɅ:3y\ʞ\|<l2Zjʉ,;efPI#[0PIg`a˽lr||qD4c,_`ά|c\kwBJLN.ݼI 3C-z:ine_ǩWy]Lq0*/|,:m?xkip_6شx;0詣SW!'Ϭ]kC)xgUN&~J#+a! 73.| 1ϙ!CٓXqu%J֪Hqݙ+sAp="~].w]8cMը~$a2ùpn"5Ù8JovwC1z֚=~>w~8`111{Ob㮂^J2w!apP9]'"x.솓ώnx^D7ߋ.$=. ?:>>Q$pppTr]1 8w=CuEwa|EȐhYψumhJE;W!DxetNH@]H؆X߈Ȏ[Oq]sz[xO鶇lPh֌^vDg?֏\~<7ug??uq9fyqnopo?N`(?_~O?aׯZ&a}FoOf/1?+ De@Q XPD $XѡA,&hAN)q•/RC1ʅ1iRPM3/υ&lΡVdyԥK>M*Tƌ"ͨ\!j%*U9Y~(٦ZNtSf[LZ}k\-}nn߻ {nj`=lUA'JW|'Ve-12ԬK_3ɒSypXɔ͢6 |ӶGۻs13v7۸p#7m\@ˍ8E[/BV귟١@Qz/@j) : @$"(,"ȡ b?*EΦR.0BA1F"3=̯ %:iASrq <+ۄDH-PF,r Zɡ%/\*s( 'o -⼏I,B3Ҁ7sBITD=TR+GYHG0_I(F!a[ rF9~qVjbhx,@㬞7H2@LqIt#đhGG,+UDOtPV=Y$CYNJ &md ͨP(ˤGQyN+GJGG+ dcOnJzѴ0ɚ,l/r 7e&xHLy5tJn2 ENiDی4i2 Mә 9Oyz@Y,TS?%EH陌>ЃsEOQ#)9bN\'EکPk7}V=yuOFT?=хDSk-DZSJԦjV+j4tG_kX:V2R++gҺ@qo[;ծwk[NJV}Ui[X7Vд-{*|aW9xN'R {?ڄA[q63gE(qelerY$=iiLNM-S ,FeVnjz۾RԲ2hٯ֠0,i[9vvmq7;/liUv0jakAV""[r[^].wKа֬,^e[&DZ[`0!)GkVY pJXe尊c^1-l_34Q{bB/d rŢKfC*j$,Y}!.J5[L*wm+cܢIsPmabbSLg`r;%&kE1sW4=.k RєfRʧiZwT.y0lӞ>/vuW!dj)g,@h :9s]WU_e]-ׂzv[&c֡&Z{Lr!#hoh{F]qm@}Sנ`<{y\&kx3<N漻roxZ{*zs kgb#$LB{#}+ۍ{I̭9sPcBwEox˜)^[[Af\Ռm Ø`#_kcRFA n; 1:}>&4? L?s' |CPL?#?@,@AJW, 3ܖAk&q a/Ķ۶6Ȥ1l '5; 6x)C8 acC%7T%4tv"{ 20DD{à>lC@DC3y3@55=L8ODÅ0DpKDe39銈({Q+ 08kB9vJ^Ja_daS'L8dF`Jil?f\F2ƭM{z+EF(FFݹ[lGFF-HFq|g TZdK9>ަ.GcccddiCnqO xٺ\xdN=`ek 5BKC"`beKn qKs3%rILdN[?a*FfIJ#yA!}v3[h'dF~NL֩XYvhh\hia Nt0 VCo"y@ќV&6"Q*fܦ*aTYa}B\)SY*Y}n) neO6+sWG'p2ZsRk7mxUtxuQtkmjΘ֎K7ue5McPwuNKJ?u([kMmf2Iu+\uU,+OI=DzZv2YN]^@v`ݝZ2Xsmvyh/;"@ҘJhV7>"`:#eೌxv+xy' odx6|&O7P4\#{artpM`7̦IqhϾ >h [BG oyZ,)y4S\쌸MQi~M)zOpMwBNHFj2xRdF+-j(ҤJ2m)ԨRRjhKY{$Y1KJ V)̅idǘj VOzږN>{0Ċ3nLcFs(3cΙѲ̢fy䞜1FVkM۠c\6Ӡ/n8ʙF]fܡ9[np35ϢaϾlwe-9ӯos0t)AQTXB4PFbGq`P Ε&I7Beׂ 14 Gax)"Q:h5WZHa\b͈hSQJ9%AFv%eOiЖQiwT]"%dYfDAV&mqjO}Ysr i盁 :c ".i('*#JU"(z駜ZԑA*j ihRBtjPR *ڊ\ ,Ugb+ ;,D{,RAV8 FfY2*0IPu an֘Q{6{B;/Dj ;&b /H|0t*ދpͤWO z)W,C+'j]c"<2%K)r(22NaFgM79tmAkhWX5eѬJM; WI+4M;4Suy[N Ɠů\MdgwB6m6l28M"mQJs/TLS?s}]Q:?|դM\iTW!E7景/rD;Μ3U9Qk~zVc łu_gg^u 1]Tt61Ό4IM0Ӛ6_emzgM8INtL/2Ώ3K;Iςͳ̧>xOs?J MBІ:D'JъZͨF7юz (Ғ&J]̕gL`ii,.4f(,f1HEQ @HDʥG5@RT4$$*18:0n3W%UYuJL:nToHQ2WtR ,EvR 6g,R+6䯈G3Wĵ e/r[.kfHU#%fђ kgKͭnwvrm]{ Mr:ЍtKݐ洺.vشqnx6W-)\@}X+%νͯ~?Jm<8,>ޭ aP>3WqG0r.03zuqBɘ`Ơt9X*V܏!'4VF6if>'y~L*.V&~s`L2Eь([ -~XX ߹9f=!^nȡrVg^7!+vnVdgvZ =2VNSQϱbūcMʷ>(0 2 fr]z~5!ga6[;ϖe-]Gӻ6F=Uگ9m`{c3j'{A=Ϳߦ8ϛ/y1('&68: XK\Lxcp%6?nmάNn9@-os3;xwM=\@!<, H*\ȰÇ#JH1 f̈F9HǑ%A\2%ˊ0cʜd˓"mɳϟ@ (ȡ"]bΧ*3թWb}ׯ`ÊKٳhӪ]˶۷pʝKݻx˗kߡc L,'Y"XqƐKf\mdʘV̹ΠC fӨ6`kjRk۸sU6 I|Ru+_μУKNسKe`ËOy keǙ˟ |Ͽ(h& 6EEȚQۅf~EK ($8w&,0(ㆯ蔅aߎh@)DiH&L6PF)TViXf\v`)f[iYȕkpXDsv)V )RI-"JP6(<*餔ƨ@@&i"ih(꫰!1Ц2b*  A )F+du fv+nx6[:>s+kbk@A?o' 7ۦTBF ) ,$l(WCʷ+)׬#jcՐ !SreOhR63>Dz L i0tN800 gHn:7L&%5 "E("HLX*PH*ZX␈.z` H2hL6pH:x̣>G[IH+  F:򑐌$'IJZ̤&7I q'CIRL*W* ,gIZ{_p^ 0IbL2ٖQ2s(|4IjZ̦6nz IrL:vg&)z̧~ @JPM겠MhAІ:TO>N fJ΍]HGJҒB0Qj҉ X-LgJӚtNwӞ@ PJ3iRԦ:PRJժZ ;*V` vPhMZzӭlkдzO2HzZHWg@9U> k)uQ5Y[ [ X@6cΪl*( !EBg+3siVH@@lg[XaiU[-^64otы_KboTNu0!<, H*\ȰÇ#JHŋ3jȱǏ CIɅ*NL9%K+|͛8sɳϟ@ JgL4*]ʴӧPJJիXjʵׯ`Ê;ٳhӪ͘t۷pKzvx˷߿ ,.È5lǐ#KL˘3k̹DƞCMiB=ͺװa:ۇ myvڼ N]#)μ禗t .Yw{Ǥ޳Oӫ x8" HL#6q2\"^(DRTb`ާE~"ɔ1hL6pU1ʱ5"Z` >Q wDǜr]#"F:2f|df"HEJR/o.L*ђA]BɓL*WV$LK, FW򖯛%.w^VD*9eO3aJ$2f:ЌCj)jZ̦6mz 8IrL:m拔 !1iLtj&mF7=vqQD9JRs!'dJ-WҖfsl. L4ҘF_Fl;*\VjӢF}&RԦ:PTѩf䬪̥ī\#?CJլQ5FJbӭOSJ־h+F@İ lT;d'KZk[1F6ճ hGKN (v6ͦeb8[f.4>\jkVa\H:햎:N,l.򠛾z.FAQ8 hS \ %zF]_bŮ wHu]Nk)vwK`Um0/G`7l %LRVìDv];zGbsAF0v;Rfg`  ޱ*!bAB)T'ד96NXN؀\!9,:H*\X Ç#JHŋ3jȱǏ CIɓ(S\ɲ˗.œI͛8sɳϟ@ ѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝK#w˷߿ LÈ+^̸ǐ#KL˘3LϠC ӨSC4_漪c˞M۸Mͻ5v+_μYҰIf9ֳkνNe}я_Ͼ˟R<Ͽ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj{]馜v駠*ꨤjꩨꪬ꫰Ƶ*무jǑJA` ݰp9tױp,HIϪP HV^h!R nYe~PjUn/Yfo{oYkc]oK0XZFpZ xuo^dҜZI9ݨc9ߣT؍ҹ9T3S.ܡS>@%ae{xH5{v}G!,HંLP >t80G%$հ F+H1rJJ2ѥėcD $=! a5Q>DS%%e¦=-ʕG>e(RQwzDOh"MHVdJ%0bϟaGuk`BK*‡?nEˆǏH6sU" 5\@9,Zh-rѢ5 `F9+\xG7-&%)۹u! ,H *`  &P`ÇV0*?$dǒ& R`$g,EU EtR("AptQdF!eY($B-蘶WIqE kԖE 5nQk!Z}KֹY$nSgGM .dޤDJ` hQF> CZuIF+\niQ5rs 7 ;n(KÃԙ=B@! ,'8QDÄDjDzȑ!Ǐ #f@D$&B0•ztpdI ,RM- Hs`$Qd(VOF8!W"EיE b= IUQBj*A,j5{u)R]V%eB%0ܾuKW2}5YaP|s{-3$?m€! ,}H*\ȰÇ#JHŋ3jȱǏ Cِɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟O e(hfdO 6Ffv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰Ƣ*무j뭸뮼+k&6AVkfkv+kڙ@zJA/kc{櫤)ɫ#p+@tB /\G,W&g aed|,ȶKreL*".!,%&GH*\ȰÇ @HB(3jq" CII ǁc8AR"?b| yv$ Ɓ)䉄"O  UEjQ[} h"͊VRQB'M˕ۿ>*گ]"K,XcۖhFjʕsKeծ5J俤V^P*$p I)MڢDg !+٤e?m"jUq׮C0jLg!)ӧT- fR=!<,77( *\!#JHŋ3jȱǏ C ɓ(S\ɲ˗0cʜI͛8sɳ@?ss Q> ¥"2JFVZe*)I(*4*6A D$(Cj1= $u;UQ`.£$^<*ȏw벭_s[3QH) `Hy9Kok' g2IlH*@J$:KNwYXd8MlXw'.< |p=hУLzx+/I_@NW\ )VIfB!5,y7H *\ȰÇ#JHŋ3jȱǏ CZD(ɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʕ+`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠC+ӨS^ͺk^˞M۸s6U M[ @ÑK; @+p{jMO/@A~E >2r}Ul1(Wt}Wc' {vXքY.ERz(,(#Tz8L("@7A&J6P:)P!8)(B 7 `cdZ !Y!,y H*\ȰÇ#JHŋ3j  ~ #I'A@P˗0cʜI͛8sɳϟ@ JѣH*] ӧPJJ'˪Xjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷/Ց~ 4 !,y?HD0pAJHQ"3* "+/FH&SRd(%'ÜrQX9MQvy"5bEЫJ5N= ju(b'&3OZ${*ٲ቗bQfK1KluIBf8#[`+=9YIL%cqF1!6,y  @ Ç!H0 !!, H*\ȰÇ#JHŋ3jȱǏ %8r`ɒ$ST˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhs4p`ەlݦKݻx˷߿ \WA^̸ǐ#KL˘3) g:kMӨS^ͺ>mP6۸s-t@Ny+_μ󋢃 >|:Aϳkν*FBqx泏^`{Qʟ= o_L'm+XQqQgK)ȜDaB&Z`f!h(,"E@lDA1zTcA/Xэ:cd|BA 4dLEQLv$AOT6eFDAYF(`ŠdiUZtesM ti %(dIJdl&3*OU蠈D]YBa@A"p:*e9昤iH %H|jjAnE6( e9ddPJ PFd9Ϻ$ *Pæ*P"+ɤ.u`ۭj[P^zn[.סE9FALЖx&d0A;|fB.0#1S,CsBC F>*-A%@0+TsI{==D׵(F:; Hx(lͼBQ.Ab/ 6RI> hz-t=4glp,w{{&߀/wZb^wѐ?&p[k@,] 4ij:HQìĦS>{qC;۬|Lͳ;|k|qЭ[s/)ˑ׬<4 t`j܄uvke.HK\*d5i , Z̒Ҿ(ލ]v.{*&< HėI>sȸ5Px.50_t`;7UPa FՐUeJ5|fÞ}qz=˝sQF펌)R62:эDGglGkq $_71dbAfob)TjA[. ˲񒄋e,66 ӗ/i)o 4oi/t5</tPp4%gi-r29IOh+Q^{fs?ĘH?%42A!Ȉ44k0zP7~Zd 7FtZGWZϖ +w?E(IsCbfy*z&)3暖ϔ.&UUKfذ5NiTCS!U#^C; xNI{CUyM&YYX:0:UBQūK-D^ (\M6L#H1M֏#slDWǵNT+iUFҢzk{HAOch:lG/Fxcq)[2MKr%10S_ )W^/㸹^jV4ـK3$-;_Z)RoX˘s;V.)3'Ŋh[{v;J"R^ R'X sH!X"-~8"xi`"YF+d/Pb)A{r6QTӆ!2t&H}M?nv>3Dq@ě&6nRBY* ֈoJ[ҘtњTWCV'~XR:^+ OVk*ֶ5VujMS3 r:ӹN3t-cg$onsUj[ζmlUCPr\e@sUay{=97}k{%״Nk~꾻"`[D;.t|r)+l0b87NIs CN;1F{Ir緕T7ιFSu}ׄBuMTe 7ÿۃ+<-yQN/`Lh/SZM6'% <"mzYvaϻ`61mE6={0x6G[NE՟[\v޿I%\>Oϧ;o0<$M+1AO$ջ <-'jQK߿۷i{н/Lo1ՖٜZC6#ի>4bmV.XQ޶_?,uU~Ug~xGr>s}`&tKX6LKetkuK?M6O$`TuhBMswD|:dA^/Xo:VJ%0;2C=ۃ\G=(;%\'<~WppF^~O8]0\^(bX9dH)Նukaa؅r:gh5#=Jp6dUceWtXO|*dXrTXeuMXADsFUTt|BwDD.LebV-‰4VzeXx'sv_MҊ艳HD(c?BKGضPj2'Յ] %~Ys:\lHG̦:Fq`DZ;#3IHMH~RZ0'Q6Dgw~xHⓎe8xWŎohh=7עN8,(_!(>hMJUbhՑ"LI`gEBNFN*IȤWh7Ds2c(.J{kewv.kr g#eHxɖ gPe먢u VzF k6ؚOAeZjIy4W8ȨN ѣJ[6Z~f=i\( 6YR qPX[s\شK[QAT$1M VҙT'W{Zȩ?7 K/ v+jA^ X(gIK9n{yZ']IEnx6w[hf10KjKy/ZnN>B/`N&8OBYkIXj\qF\ eR,r ii:kI۳ܬa{s#MNJyW845{ڀpd!XNx,|HDoĥpG5esȗ*gl}ļI3۟)il}[I[ٷe FѫIUzmj`SQc1Z6_XJz^8%.aDgEb꫖A|kYkgtL 5ǽʍiw 6㈆j=TyL\Ksq5f<tWpŶ[;RͲ Y{ PW9:D=h1U5?! |qTc}zҮG҈qx{A[Hb ń_,$:Jyg<{fjIÌ^ Zt~;+9DFo¾R弾i6ૂ'7o왥#)DTUģ ]լu(8l}'-ڕMw3W<ٙ }z,{y<9A|9RY|yѦGA<&h{YLܳtӿݔ}dHxYmٜ] ]Ԧ@L6+74^t,;d-k:m8]>4Y][& I Ie*ݟɷN_nQH ⻫A1n[QݗwƷĒщy p s zV~7KUkҪ憮*Y.ʦk,G{ƔlJ\тxu}~x>=Jv5FA &ߛ(HvsILff7eMG pڑkv Zz13Mӻ)fyf~B{>a*rU05o.؃:zyT[y쉻MNFNĢX=}ռއ@ZKkQ8eVI-r=m̄cvV5}րh2=W\(^zg^| o7o̳#@AtRlAB L@?Q# yq' ;Ѣ[1D_1pFo1wG2H!$Ȝ442I%dI'ҹJ+2K- jK/3L1$Ө)D3M5dM7߄3N9礳N;3O=rB>4PA%PCE4QEeQG4RI'RK/4@ԴA9R$SS,UTO]4PrWYͽZ[5`ae .5m(P{ Q`IZiR- /Z*jkKv\#rJO] B*YdJ[jmWCs͖kJ\7wɭۦ5Xb}1ޯ(6ˢ!\.ydp]^+csKw |ٝy镗Cm7C(~mg:vEXnanWiqX*k6ܹilK֙_G^[d.3JNfhyop3y}^ 8cUV' 6V\̽2*iF641[So=b_,CT^sao=7odYvՇӉk\($g6.'Λ[{}^T6Omhӷ{Wжu=߷>l|$^mb'MP"<4m'p_Ǔk4B@ ~ta=AL,! =ް"{qFL MxpxbF48[MwF@&+!mƍQ/Ǝtԣ@걎oǼ4!Aʑ X@$iHH8Rs.RroD1)G5|,8K\r^ %*K*7kL򞧑bb%%sigr3TAbs76S_ԘY}BNfUXMt~l4[Lu\=oOo\<Jk>e5~m,D-Ce!h͎fК1iѦ܎(4$]Er7ft]I=ѹ/deԣ4q!(Q/|:-'QՖN"sKUs=NvAECJ ks1tb\dd͕&]9L-2+ʬR3H6Ż\K2Vx;뒇9Co]Ojþղ},gܚEgfw<c 5zf Ò̫cZ5&q+\qk_ [zdD% vPxaG>"66l!NL^5vO3śDl%ìt yEB2%]ZPk b8լ%ebv{_5R)C)I+`Ĝp|W\_˷Qy~/<tI}u)O%^bzK4#Ѽe^ck|YV_oH>Y{ocٹyȝ$Yz{e)Lg6sm) CyuD=Lh~Ҟ5{ZHӶѲuc! 0C@>1c;Vۙ; = @g86@(D6k:286 +44)9 R B?t8dBנ*?\-lDBrtBC)\A.¡¡c*D!BB6y(&䝟; DU-^溵AdXDHD"D0)DNWBi tDxDR fDDMLT\YE zB盋303, !'zEa?:Fx'S3/{l=^\=Eb4BUi2 ʶщmddt/kg܉h\i\jk,G"yn̋G?ql@XGQDEK{Iȯ. lPHJEHd6ԛŋ䵌ȗlJRI42QF8"#3\6 9v,*=<7ʊ#=,8C,ʢt#1DHʮʻ$,BjK)6dth["J2yJ\J̙4KCA4H۲Հ,2#3,b<#t:*L̶ܻM\_ka)ˬ@a&Ҵ;V% eDkԔܤ֛#MTMSBM״, )!D 2JO+L,JkO4/CR!O2(D1K!LG|"/d4 c < k ){cު̍|4r;3eDUܴQ4]2&dD%NUR;R-R(EP+ F05ѭ%%.* `'z: '")C+ò'ǰ);LBs®˧TST;1>CqG65X+("OU*DEz=J**ITxRJSF=Ԡz՚UҪhLe+ɚRJ,$4ͰduQS*E14URD3R&3$-SZp'I\VM#xVRn\KWf5g;hs}:VR(jl#Pc(RkLz%Czτ%š=Q8Fr[2 2S 0=U ŌGbQk}KQ*ٞ=t)O%V*9Wb Z璼ϛ+ΰ4ӯd[e<>mY  ~=)0|N"5PP`~s. >ܳIuaV`.IP_DE_! `4Rb}I5A=ڊ rf>|t^v~wLyNՋMex(EIӭͣW(6N^ߚ|M|h轍Z빝{UP^8rË 1҅޸dY1ii9>Ti|^çjw90q^yوZV:2},E-:ZN~}4)@-jO4DYf^,c+[^#`烬:Nݤ2ЇJU]Z3P2Ď&Hr3lwYflNY#dKhlVW|WmHϺm}ŬHm~e2!)~KXmY%UI^մz*g&UJc*2`S J]U"o֒gȭ|&<۷#pe%ѳ`轮:ukNmB&F k`0#KB~JI,>lMc+?qk(!Grjf#OrI]UCc]^cm]qdl:iӂ ߝctgU!Ar:fAl-:Ǔ;'sBgB_<t%94몔*5CD06gRe ^ty+0ξHIJ81En!O]3)n&OYhsuE[uuӯԯ\unqm_\0jc*2iN˦J]^6z{*3g :y-6<3;_hn*x/5Z xi%~NH:܅/h ŷSgnyOMy氒n,Ty{Vڜ Fy;Vumݵg]nmnzzkzK cBlj6ꡊWZzfLǚlmkM6̜v{{k*t_^~m5fnebwuUE.IagH7}r4tQKf}GmXoxپ} Qayo/QQ~睰zM|2u|~}fip继%fMܥT%h&/ !H  dXˆ!&4XpÆ%fDǃ%XcD&jth$̘2gҬi&Μ:w'Л 8J¡G54̢L"TZU"ؕQ6%+٩$lBAҭk.޼zeۭKiua%ְvXqb73ТGH:[k9Qۥw7pe[Ǖ&Yyv5Z) ~]M%!MKj!z!!8^!$W`G`!|G0Zc=Q|TXRD7^%Ӑ:|5E"UZyea%TBk6tG9@ '&tέrjDY%y'}'Yz&^}$_%[HdLQHy+:f)GhT)㟡:*zhuGV3hQnDkkb*ӛNjI Qw,:,be[(*q9g;f-Q&\[TdՎڙQe/ _zOydjV`UO#念:s?!qާ2=\ėLKs 3 &oToV &]~ʛg5 c`0-2pyLD>M"w—RUrŚ$Lr5 yYҌ4%@a~X HaDD]lSb.\Bby;+^z sg420\Huy1dS#C2:(4QLw# EE`=C#*w(D!m\DQx %#U2JaKkfa0pڧ6KNkާ@lj2^.U d+4,j$8ǝaV%3!4ٹ{Ƽeo(# -|&f2oc`<($$Uܬ48 Pf?-z$V-xŽ >e]D \L2E:t2Fnu_ZhHIja4/M37>戋{]V(nͨ"ˎٵ(ꜣ$jK8 kpe u|e Jl8p$r3:9خOg`wd,%O4 V.$Di_4Xuc7ۧѶ5R23Jֶb\%ZEU~+iRe;ꁦi!%y춯-vRDY u \VԓGRװyTt^g̓ Rr4I2 jbH ܨd fJ}sTb' ` tRam8 B6LXhGNpKV !~4(*Q )Ӓ(+jt!Ap-(52݋vta aF% f|j2T9n˭*P'=Onm~Lh5Jě@IN IN25E]z>IQf49 /72g5G8'TR6S '_p e;{#6Ts꡺,n[ Gű/#4,}`z(ٻ5juSNEETHsɯ(~O$~xRh|"1vmK{nJ18ָ\eySrȼ8Ϲw GzϏ6WF̓p;)! ,zD)H*\ȰÇ#JHŋ3jȱ*bI';\ɲ˗0cʜI͛?ɳϟ@ JH "LYӧPJJUNWԹՃ]M8`٪hӪ]˶-P%UgQ.dZ׭߿ 2/È+^U)S2˘3@Ʈm hS^:a|}גC&,y` NM&{УKW}RN}ΕaË_Me\zIV;p˟OU(\ 'wvvwfĠXf(su ($XR-h0އ@3TcB7B9A?dDY4*DH C.\v9(cBgyl*BJHH9gub'm栄B5A$fH)VjPK AĜsFA'{"q驨vhA PfH(k*ڪMfAy:hB̪賎:J+Vk-O@+WnzRTkB)ь5y:')I妋,;7|([Y*g1C6*Ș[D[MIdbLPM*<Ҭ;*g<-Dml!,&  "DxB&Рŋ3jȱǏ CIɓ(S\ɲ˗0c~dH!Ě7m&܉̟@ JѣH*]ʴSj2F}JիXB(Qׯ`ÊKٳhӪ]˶[]ʝKݻx ߿#d EÁ; y` 6(e~983[Û= ^٢gӰc˞M̶Bȝu7 >jƓ+g{ʀ!,!,>H*\ȰÇ#JHŋ3j D($!WdǗ0cʜI͛8sϟ@ JT ȳӧPJJG(jʵשYTٱ_Ӫ]˶-NnʝK7mӥG8JIh LF25ǐ#K&ȷK-V̹MM^Zm֬HY v۸so<$ɖu Nȓ#.#yسK9AF@BP|Lvy`@h"HibNT^YޚJDJ@I駁pf$8ʐ%",F߅hsb&碠GX(& 祙Zn:МSiP Jiq (E"HXi )@xb Ái$>@9 9)1nA> M.©@jAsf.A 'a dp{up \L,>M,10:3d1眓2 Dd/ mR 19MXgWV+d`cTnmhaKK0=-FRm@N!,+>@*HX Å"$HŋW`h1 DH %M@cE($rʘ6) 9$O= IgQ5E:0FM>옳*EOZg̮_T萬‡ZZ\'сoZwҗG[u!ُcWbjup[#X -0UXŒ(H<@Ӕ.9jLQd`#A0ä5G@ޚuƘQ ^B2(ۣ,x{%+ߙGE{hH*&lR Qߜkc(VX{~=VFs]^t e]rv@ 4U{!`GW rv]yҕ I-ݹeő@u&^yYxQq)w߁E9d?@šmIY$GWfZqXHٛiz9ٌjJcvfl'e{$e%(IuU9hvI)uVYҥv9(}YjJgUu@T:*P3Vੱ>Ji@!,4@T@8pa JHE/jFbƍ /:Txp$D&~ QDDYdÍc"h`Ǜ#TƑuYQ >OW%r+)T؆f"hփo\q5EP0ٚ R Shߐ5mڶclȊ%'&`bgA jT1H@hH {SG&[wE$ L7 zTӣpO]4Ыm 1"5|Tg2!qWHu(Λn¨(B>RRod  y!E1WZu[gF}gQvFQsc x }lF CZmFqA]m]E"Fw%h_pL g ^{9.W(,'bE3~цDJqWsD#)Qљ$LҗPNDwfxfx(H~iѤx'nIHzDj)r_zeP^V*>x*eF*F2ڦ>&I6h)Nu\'jwN,V,)^nxݮ zhbk탰6кFz¢!,:@T@ \h #JHŃ".j0"D 76T(p$S@eӥ͛8'~8N{\%K(k)ѤLOZT:UjȠ*+ ɮZò%˖֑;fuV׃+*m˸cM\YEdSDEpD1#>$QYI$P@Z8Lc [֑M<ң^8mν{̨ݔ}|ѢI/ +ӝYou#/QxV/}t\y'PlF uŧK+GiH@aoז bv5}H7H@0(v܆&hhhU(*RZjހ8fѷYl%weIY.fDTibz]D^JoٜXJ#NmQk`Z$zJ֖ NtgrT'='[fva>.h^Iq2vʜ.ڤJ痰$X*iꭲBj-S!,@@P!`AVBB #JHŋ3f8QBC2#ǃ"SJ:\@UzT$QF #&Ԩ1H 7iFYz˛3$_ٛ ܀hyuwלw]eNJp-tF&f18 Dj&fMHA!1w6rh(P!7)`|^V< avp9"('g؞A)ڗI/(ՔTR) $@@`gYfLiPqhEeFԞfmi! ʘEYИ dVh&yj~槩j飢M*ZZ*if- ՠκQp"hB D,M^jEmޙkF覛Q!,@P@+ApaÇ+F,Ń -lp"B CdӐH@" A%AVbŒI5 i1Aѣ-A„IjHjZdPRBIsѕ+ FxlӚ`˱^J(Q_C.)յ5XpU_VU쨜j\2XUrƥH !r>Z.И+Qe4(m@2@]|2Añ-+}wˆN:!!,@P@+AÆ h8 A!f!GCvIdD6#i\HY)sf$Q܄%ϑƌ"3$*iRHdBK\%8*СI&TkIVQGmϷ<%J(KWʔI*T$)ȽI4aĨ1f)i2:Ps ;Ṹ/MvZ( 8\[bi[[ƋYUe{vg$Qߏ9J;𫫲WxvӨHT}<h&|e]zѕW^tY!nхC ]hbv!8T@!,zH*\ȰÇ#JHŋ3T1Wɓ(S\ɲK" z$)͛8sSǂ4 hϣH*]ʴӧPJAZYQʵׯ"8aٯhӪ]jT[RX$ P̻߿"30$+^ߎJw2r2xϠm"E*cZ$OD(E!_ \5*A5̻7(IS#k4Fh;@>G} gͧ+;l:sf4gt+sa-L y*iY<{ˇ_2À!,NH*\ȰÇ#JHŋ#8("Ǐ CIɐO\ɲ˗0nQEʍ+ 3ϟ@ JѣH.dsҧPJ= XjZpQ e\۷p}"3wH[5߿GdpHȢU `m#KN8Q困ϠedjDQ 1aMhQ&]^a[1jǣK'Z2]ͣ6ν;rk&vըн_?GmgO>îvNڵ( Bvvy׀ 6]Y ]j` gW@m70(4hc`&"!,H*⠈#JHŅ 6ȱǏ72"cQ T ˗0cʜIS p%z)QHYR D IQT fjpԘQHE fr]RRKG%@a٦[e$ٿcF޾A都P2rFRgC$DiRtӕ,zM,?Wx(΅㱿%\IsȣTܺw@QJM,v'H=.ܦhyBM{!@wAO reP ݃Vhy}'aea@!,~BHTqP‡#*thċPAQ=fIIl˃BxIsQ8Y |" IPjfES2HDS`Uo$sTC$ ,VOGqV۳&vڳgP(H&) "(Y!먞Q",bDvըlP1QQ/ٲe7emQWaC4RO֝pTƑ *= lGChso%x53 T?@߷?xt8#[pv!,8P"*P >`pD/jf!!\\5$QDE@HD@2pԘQdHA̞=BrQ+W\ @Q H9ϫM":ʨQ? Tp,AMcl-*R$Q(MRHB;*HP [ɳjիrjwϭNk2xn<ʼ/ag&ۛUV`nEaD.*Qm}aM>\w+RKfVX ؓvN$ܬ ܒpRiVx`э)aRN-,։GW٠ 16,7D {;ӻFX{^|i`@!,+HPBD‡.Hŋ 1j(p@ NHȒE\ɲK#Gq Ȋ5 8"Ϗ=%F6 Y0)BWjH S$<EY2H] bUVHH W^F$K Qcز- [$oGa5+؂bBU_~nkQ*\t# iſ#%@'N0* ^۰l̓/R7h0]>jປ[M @'Z.(#/[j_ǘ` gΦsK(c 7Qj(V" D:us#SHܓ[E1H_o\`x#a/4ύt!Q(Aqt 4@ A5x 9(A@ڭRtToHhb-jGo @1ABJ6 @96 )GF374FA&t@ ߐg&_1*8'k—!qr`um ߘgAtdVA{FtLiuH2>vڢq* =~ oHܜ 9H~HvPj>$ʞo b& 킒f^굷(B\{iИ_뵁bX.wi b|0Є |ݦ i]%j+豂^X<TwvV")LLD*sa(PΈ:4CַE^[zhnfxq9,w )Bm $ Hӏ/| l#JucUJqBwa"B#%"5,q&>Xť8#Ͳ:cn[xҹl!KL+:$";/KZYe\GƩ /mai&/Aȁ/A/~.~/\~P/{-jQv))H:=߅iW;۲Ф>? hOR(9AP= #0F(q'5 ތF,RBpI\[Ho-c1aNNb T{z [4m MLzܓ**C򺗁՜9)hNlQćYoP*%qt #d$L1vPЎb|SBv{N$=خW48N=o(G)G@,L>2<yF>V"~&JMd*!Gy'!%f"!|C¨L)$n1 ˉa0#@#0G2IsL:k3NUJ,U\󞸩6~ @'2<M(_iͅ!8,-H*\ȰÇ#JHbC1NԨ1G CZ\!Pȓ(S\ɲ˗0cʜI͛8sqϟ@ Jt%I+ztҢ- @ӪXjHu`ׂ=9|,J^ͪ]˶۷pu`ݹxU˷߿ +6-Wǐ#K.˘3cZP*g̈́"MiaO^ͺװ^M[g*&u6Ͼ+$;Z;[УK سk ݷ 呌Z?j(V"hnPN*/5(dh' C E0O^_kGz| $8 A(y!1ЉhЊ*Zċha<^;(*]>(@2ٝ~ލF$;XPuNd{ei 8 )HFYdA!H98)Yyq)! "2H裣(DA(PgfFy")kZeAQ@)@7J(Z}Eޚ }P"YH(ʷ̒9ʧkvw9"DKHwimZ*e exdo' `s|M+)AY)3$gIqƢ~l1FkrBNy0㤾Ik2RKo| cD+g n'GyI2uAH%=ʧ X]o gwvzybjш$\(xZ|@jbmr 'ܦ)%+2jQWs5*%; b̦9Gq?/AI=BqF`Fx7 QX! ;*XZ%&ݰd^ LkS$&j8&]RѺK]*i5q8\nMU}(:3i8AuKLs~4 !,nT! \Ȱذŋ`bGBZ5ըQ6EQ;BXҤ͒(RZ $8BR(˝o5s&Ï?$5f#8칰V2^"GG[ T( 1nD2 Tz],,㍊1!",` H*\ȰÇE@$Bā \ȱ#Ì hF!Gb,d˔,ӣ͛4Yϟ@ JѣH*]ʴӧPJJW f-`ת`Ê+6#ϜgӚ]K![oն wnܻvm[AtL8)LhT\➐|,Aʘfnrߚ;rMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkν{µ/Ny*Ϋ_\˟OiVc#_AX8!N`AHXv(a)"jH P%h@AA݈ RYch?R@VdP@ x$q(X*BEHeSKhU0Dj{a_&1B@VLL& eC&CdGμ8;>;/A6RU'IkQ J` ;2S\Z}= 6R kMR~wvʸ]=Θ ރӍAcJ s.ㄷ=ۖ[NށCكKw]jEF.kt NyCw7A.)N:"H 12ČA#Gx6 i<G9wTHqG$>H@ o"vzÑ(dIH>x%7JD4@,NB)Jdܞ(B>R[42iGꮅ;d/KZnU|HFaE6h(Zd?|b.HI_ʒ{AHOe!A~-^]/h_="Oz㞼>}@KWP{Y@i{S L=~AO I@AKZGjEIAzMi{] EHmAjQSiY:Ө 2țd!jG|ZRT U#˭!ĪVzŭR`ajK-T(*jU`r^Zm|V*J*^A 1^ j*Zir1Ϝ^QH`V .cQvp]M9QɶF ۮsnR[ַĭpR$H4gE ]xT!n> Oz!m_A2ݟt/PIFFwE݋Q#itF W;_ړE;g{S*Nuqu;6=Wh _pt+8JЛhDLA)/rOVj't\)1F>AZ:䃢հQj >٤EIO) +H5*ge5뭛,hVB2>uLO(J=gl+>\ZYϨ]|J? υmT`2zV Dojn#,tM\? .L#dO煶|dP^w]oED[(e=8z@7@5]է'}#=w VlMZ5qlV،6"YxӹwW>m&pfm/(s?c7o3yaN͙|zd+\þs:|[7&Dce+I'_Éլ|t7F&kUzoʼm5p~v9wCz8p}]탤^ˎ8(ƯF@m-О_A]Of7m~>Tҷ'EP]9W ȯwl@7ү}e}+A4e"%:F7.Y.%sEcEVc!_IT0)I $WwrT{iTDU+XX&PKBCPI2$!U!p6v܅JN"8$ B7kY7xs5LI\G8=@4ǃ>xtBvEiQjqÄ`[vy[%*aM[ aO$nHQKI _~O8I% 8(8PoPaXOfŊFNT[x y 8^XOӈ^HJGzk7K[vXvYR#Ft@uZW~ujU'8SZE*XD H8sꨐodXsu!`rZD I8Y%[DCY(ZoxoX5&iZL$G y?:i+tN>?UE$"`b(C YHiHH?GA)U3"ҎQQ@`)`?IIf*9Фj$>$]@Yr<"u)C;syᗀ9L#Y;VW8Y9ri6ry 6yEٙI4ʲi.J)=i.$ٚ9YJ1dB*QIH‰YNd0 ə3i)H0 q̩7I!0)޹ʹy)TP1yA扞zў퉠 DTLV٠ٜ| Hɡ"J՝:(:)02Z6zі8B!,d H*\ȰÇUDHŋ %8q#A=ǎ$OY%K0c\hr`M8)|iΜ@>IL9WӧPJJիXjʵׯ`ÊKٳhӪ]˶Wp{;WHwݫ׮[|]8+^̸1Ð~#< eĕ ^VYe˕~Yc|װc˞M۸sͻ qē+_μУKNسk}Q<ӫ_@'8=Ͽvaxh& 6F(Vhfv!Y l#~!&6A+&C/(#p%U8#T1V#A?(ݨPF$lK4 PFUQ9eL/FVJ@-~"her fNZ Ԥ@=&YbAΩXk>iO^H gB>jP1I*Zeiv (%J:Vmȩ[-JAqjꭸZĊcvݚ6dAŲ%6쳲%{a]j;)*&,nH+[z2g;EŽ~բbTl뜿,XW)1LS c0cӹɽ+"0,̻ٜ`={ܜ=+14471r[:#rPS;\w`s!}Z@Q:He x|n;o(JY+׼t ) y`aWiN9c4xZUϱ?zTśA.;%TN:RН5Ao7G `6!@T']!$|Xp1d~Aɗ_J-`0i/>.2YE@I)D7jcCp|!X,(H!!`Dd!/bz77 .MQ΂46!bG?2F"փ⾄ oMGы!UV͇QbBFDAY dC,ȲLvJ!FQpb$B0xL…RYZ41CV*rӣXiKTr!:e075 P%ҕK"BжfVDybGi&{>UFg]\2_ Zu|rd]dOSp+!TBЂ:9|D'Jъ.$aL",Ӊ3><LRZweߍ%L8M|_@,iJ':Z?-@"YTL-E:DO5$lRP`EZGѣf?+ a09(Ȱ׽5G``_W4Tֺ .=S("_(+K6t,hfYǢiBz& yBC6]ݓ(-Z:FpϻL1"lZ3挹,EZ@+(Cʸy$(PD +)J`QЁ:l."R8/$_s)Ne#8SJ=knťLD5ټO+<6z=h]x dqģiL<[ԇ.b:2}ezHu$LVQG~P8>e~EiGw#(a? !%4%mdהO<!eAuKĂB"9 [gPPSTT%kL"MXDN0](b8dXfxhx&Yl!,d H*‡#JHŋ3jȱǏ C:4pȓ(S\ɲ˗0cʜI͛8s,i'Ay IѣHɦ*JիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCE NLjaꈤWˎ:F M[ bƓ+W|sQ(~Nسk/;dGO-__{B8?C)8?}4@ ,߃198Vhf h~a砉J!5u.(4H݁  !>(dva6cIdPDTd@j9hb%eBgb&BIF(A**fdfwbww%Gc#r9PtQJBTgR}NJ a=CABT*AG ܨ%b ܝz+P:v v*GSP@f$AmR;-D-D"jѥ6nA*B޻ҹ9LEsdQJVǒV1\4:LP,36MJ|:-*?DZj%!.4MOm#H@f(H a-1X#xg{y7-7h}م͵U#΢mĸ9kb9-y 誣U9a}8׸Cit/h~)|7c'YGl%Wo4}!g,$<H*\ȰÇ#D ŋ3jȱǏ C0A$S\ɲ˗0cʜI͛8s괈Ο@ JѣH*]ʴӧPJJ՘=jʵkC^ÊKٳhӪ]˶۷pʝKL(v˷/FLÈ댢Qq&H/ +LώM#ҨSN_#<=T~+;!nٶ`R!ީc,%xLس'mrh{w}=AۻOTT"w& 6igʕ߅Uau($"Z&eUZM&,sB(8 sPchR9xcP$)c8J'FLJx#[yӐB)8e$MYp SlX |D&} `KZ@ DX䢐n_Fj)OWZY壗vʐt&]vBY鞪:b@!d,s0AH *\ȰÇ#JHŋ3jȱǏ CIR(S\ɲ˗0cʜIs%8sɳϟ@ JѣH*]ʴӧPJJիXjM !@׭`ÊKٳhӪ]˶۷pE"ݻx˷/~ L8ˆ+^̸ǐ#2B I̹ϠC7ZEӢSoװce-۸s_<M|}CNسkνË|ӫo{f˟0! ,5|'Hp`*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳO~ JhϠFg"Mʴӧ!BJիXjʵׯ`ÊKٳhB]*!!,88H*\ȰÇ#JHņ .jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ *@ tшOJR)իXjʵ+AZAz]˶aTV uڶݻxצQtD۷0Iq69װ㐍Kk)ɘ3+[sزt^>ViLT0Q]{6HH {> N\H#asMGDPH"ky?߭؇o{㛗~Odz ߟ6x߀ ݷAAQWtƜs9xaU B!6y"Ev6(3B(1ug/%4 1(FB}ף]Z7TOFBGe`>4#3]fM:hga5$)cIƈ9gfc(6g]v9gwYBz(Zi顅RUޘR ~Gֹ ƉS`jj담~u뮼֥g!2,!, H*\ȰÇ#J80ŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#K~d.kL ϠC a鹙O^ͺװ {ȩo9ه p ;$q |nA1|UZq'Pew_A_B)Tځ!@6!BWG A]XӁ) xM"JcD8& H:GqD߄%ЍM.=Rؤ@L2TA/nU"䥑Eh%LYDeLf閐n)EZX\yPi/bA}T_+PDO'Gi(ٸg(-駠VZ ߤbX@Z@yjgfhC^LkRB2.dI.+B5BF,!Zb;ZqY _ Y^f4F/z@"ԭ@ؒT8_ 䕮^LB)PH6nG&?2Rc,*.aiCd@5\3 C-A ]dP0C K]TOmaW/mUyr+._&5$q]@I q`{R SMxtAZkwM0+o}V68ȥAhaVJ*48臻7.к[B'gנ79>{3!WEv]yA##E͗ē<#w<*;4^,,> Nt+ HYC};٬ W♬4tU<(n +~ A6A|9L %||IHT(- CT cIaLW>n *T@dCްD]Ah2 Ѓ 1QRv>%}.w Vq7C% A!ш ؗACDan `B) eB.wgbe[* :Ѓ)x-TzNN#EN"ROy$pdl_+D vb Uޒjz_`U66][ ց2)Nc[3J?2'֪4LƲ,r+E'D#ͮkk-55%NVgmӬFxqነb S* q!-6.s> >wW$'|6HetthEĝ9݉!ͭu5ǺVԈ*'~ED>_/2vtS5[Q}Z"Ӣ8V2l@zW+m[-c[.@jcu5 rKl eh`Vqv,,&]❅ȘEڦޯ9Ƃp Ѽ|GF@.!E?*7ОGƣ ڷ5E癷 򄞫 0jFl@Τ#Z |М7^C 쐡3bXXJ͗qXӊSAaƜb]n}GVKb^`!X_oJ!7=(G9(Ᲊ\BQ`j{]-܉iQ;ӄ~M!4נ]oĈ;77~7.7s=vm?G'{򶊢<tÿ@d?S(~\HcP&!}c'\q<¦R dSƣ@bHfqsg '|[a3 "Q"q'#SP?F 3a)`[6GBXu*vN/H؄K{.E>փDr!x+=b!(X2P0xw8X2ȉ%ъ6cȈ'! ⋳x8}&3121#!/ ":Ռ"1%=Zpi|QtXc80b`b}6-s(d+樎SMA7|(荞c0=;v6aXyi긒ہ *UD*.g30.'99s/J(AZ8k 3|"ls Q)P" 2@cЉRIUI*8X))i9_pі[IV8"rirI!4IU){Irɖ걕0Ĩ{)rǕyg󅗹*EYZ4e%43u mգtXl kИSQyIZ/A:9@f3 3'ʼn%y,I>ɛ)C㉞YNHѝ⹞I9?!؉(wٔ* b `Q9x )iw ZiI!\YU()"b!ar(%1MY)V (?.Z#`-J)9pK%C'KdI9g*@AY)4Y oH *!Rs*|c!{Л}︧Z s_l4 -(Z(:uaH0c%QT! Ĩri9W1X%+)7ɪ:ȫE~( yŪizTؠB) ) xŢ1("ډ R,IZ(C!8&.:?_: [ʰ戕 (_ZK5sX2 A6Jx,_:1&K|I)z!6[)ۯEZ;8˪J5<ۘ]9 Uەj%B-"xѪ ٪0ٍ1>88-IͩIݙOi^ȇw`&!z.;H Ήٸ9xʧ:ҲJs{Jz;ѪY'sy'Vi,痧2('˗ +S^Z9SAJ:mO]*Vy[[|/D{:jj; 5ј ?~1~7*:*m煞l }"TI1[ ظe 죤ZI¢nk5[ uĊ:S4JLR&'FGĢ=$Z!  莵B:j3d"{Mo,* Xqu|C9_{~L^ xPЪ[i^ꠇ)9ǴKY쥓 ʑm,}b Ӂ!X:(YcԪ< $a :2>SP|-@b?rѥ2kC֏LGqsAXqrmP×  b  b j I`(`9ٙ  Fڎ{َ qو؆Bڢ` T1H g;MԢ&h}' l@| gv-ao[b&QfT!+m!֍ǫq[Pј4d-\ Mڪx' DY=l)Ғ]~/Xӻ|?/[R$Xx/GB=^R:(=ڸ[YX{Sm;!" zͱ_j| ݐrA;̈́\N ZO= uj AQ ~s  ՝o+t釯kx(qFKs9-R޳Kƙ]%p#B@ܛh\\a}>'VR|X JRS..N*n1%Ҩ 0NE>3B/֦5b_iq!Ȟ|Rb.ݓmeqݡ _=`mfӪQ`ڋ=pNwGӁ^Eeyr1%:E~b՝c9*(E y~,a(73ގffs.FS+~2qLU/)-,RT`qQ[oi bM[sv܄Nv";wÝ@pB3׀&*!u3 @ :0 o1 Rԣ=IURfz Ǝ*8@R[079ܿkPSo,7$;M30/OQ@ EP@ >X1FT81A1~PF MDRJ-]SaQ. \U 'FpP42Z !OI&es O IAL"s`R UHuCTyVAdU`ۇ@śW^}Q$:tG #x8-ILxdJIz%P  V( qK$3ھbάg%"/{C~tw_ޏ6R8ɏi~}!+0٭} FadH$A{a0E+UW$A ePRHv%2ˡ@l%QuXҪ8"St vq}BٝA~qL1rfh? ] G1dKcY<ꑑSpGrH:/va2RD) 1qH@X'QY, Х!!$szstG2P% JP@4e4G؋27lG2Fi4d`!q!e?(0brfT\CH*Ѓ ]h 5xgpm*-H6!` (OY62g!Bd< U7*]47AB`u7=eS%bUN#t7VY&G=rx BHtm 8Wn䉠ڃ׈vt~_E;RPs hА.q"Q*$lψj@=A@n"JڪL~Qiit")4NDͭ*ouY0}Zb+L*qh6tTWT8A64{q؃qQ_R^!GtkjYܥExY[J{)m2\P8X+ ڙam$KZ>pqMd%fhvMlj>ak xpjCW~9fYa7-DXF3-b*f. bKDccAh~ve!%AlfeA׊ufFIVTj6iNZdF7Q"FZ/"ax21z" V"MA0Gak _O(4"E<."}8z%@"}g@b] ۆ]ok t2LBdd=k}yW^O$Tq&(|,v1| l0.Ⱦ]MMsZ򔬡5>"ya} m6zWK+HwV !s,꛳]+PtcK|iX-b5G{+ g#p}];.J]&A ZtJV2!T[呦yy/.wio{)gu]\[3]h5S^ZnYo@ }Ba a/8l'}.Rg*~3dMM\T7{tk?QC 8h>A+-X Lh.닰>q5;<ѺÈ2Q#?,5| :gQ`:VۤQ61ء";$T7%, V+B7*l7Bo$4=ܽ$:] :KyC@B4; 5 6lCC[COS839 #݃1^ӊ| фZED`JuѠ: QX n!ČSkV] QQUΏ ZeUS-UZYPգt ewUXVMV U[= b=VCyXJaURVd%ׂ! 'XVtV(u% fӈ  }《2 -OL+ @-p_X :pi LXeS~-|ސ*س(ءț0-K|' r؋=MȠȊQYmMTΤ-- ٜZQTѢꍺLZ|%uPHSP. p]%=ہ R@aV V闿]7y EܴmՁ%.Թ]܍ܵM rPTu؈ hݖQPMɅۅQ*M\3N1"HSY| a"'!YPߕA+X(8 ,ݤ܅ԁLޜ[܅N^ݎ+HZB@s^\߲T)/e&Uޠ 0X^%<]_) URQoEQn} ͽ[W ;I QW$[\uFA@9;aWV $a V[\\n7''\T@L_!ZLQb'10/=c5`^>1E34"L8 iU WN%byd,2 4])cU cd}[c TqQUc*Ef[udfIK\9]֝f1 ba.{ d>f̽%.R{Uc|Vеf-=cy1f~efNfYT\s^&Q\pη\fAX}gO giNSMUƝm>:gH]gv6 .^|}Ly8+ʘ@9"K0͕Y?ٺS|t, _~;+;+j= r$CtRKDLGiLݽ<1[%Bv4eCH5Ikݍ{κVOI!{>N Ŵ>&QRh h\ KRJR"}jlFl ͉TKdH 8)I`#J@^Ԝ^-9^$ 4ݞIՙڕ8ۍ~nq覿mtX]Hk~;R8R◈}f( b5 65=û,]\[S L6ѣ(cNHr Q`pT&л"=+ Ѝh)DlkG^ŅqZP{1 S]nMaygfu)rU\*PUhzV҄ܡn( M\^-3Ghwwse*:EU+ ;엊-TYubBpSYgDudQ"ɹEQ7XT֙PI2bhweu/ ZֽXq5_=W=kL6j~vCG Q*i0%|2w_((HwymDx"綠3} ӡ{JBTmR2U[}wG> M=q0Mr_aolX=7u5$-@ʾ=nYBhV8L`H{ն3ΑVݝ{eTZ)1ZVo!npbܠU\^v : 9'cO#OhjfJOhq=?jWXޫ>yOInѨW%2#](>VS&%K#(A)OR"hģX*:C(L$ #|1>¡ᾌvIR!!+, H*\ȰÇWŋ3jȱǏ C\(Ł%OFH0ȗ0cʜI͛8sɳϟ@ JѣH*]ʴ)ĒJEIuUXjʵEQYV벪׳hӪ]˶۷pʝKݻx˷߿ LÈTǐ#K>x`/lyϠCMӨS^ͺװc˞M۸s}Cߠ#.xCē+_μУKߊ|س;ËO72G/@$ Ͽ`H%[ 6F(!y@bx>($p%g@+@/(#_h8He#> "ih$L b(E-:V$HcOtY]bՔh*E&>}y=Xf |搇lnYA1ΩwAjԨApI)AdiAzp)T*Pq=)HzꬿqO~iܮC}yC)*PduGƁ Ee*-q^+Lj:۬@ +йL;[֤e^lAɪ;oBZE ^LKqŸA#kT2S'[*2ʰEʌ1fX8?@ #==2 yrʟ66A}4dՙZGbBƬ±8碹IH䂟])B A^d44Pc$& X:=&ɰ3bA !H !x]$Im6l- 4 " _ A}D@ P E$!{ B6m "gGཐlqcAT|hCб&q$ pFN`@Pe$Zģ!bA=.1$H`]?w&?2`FLSݑDpByXʆ]4 $ޏ3Bh $\bI@H[&N bIg֦KyH'3$yO(&lg]?zBz</7sw§FCOjV?`"@l$(O%LF@D`t c*j`z-.E"DNj6҄|,}mY4&4թZrz@%B%L0u#Z д ajL{mz):Q}u:aЋ**~Nk}Hk6+hP"KA4u#~E otI̱EKAOTpuH7UYڬ6֙i: k W:Ԃ".O֐W}{:AųHJz4uZl3Y|0#֪]Bw&],a+Ȁ!ɓ Vp=o]vɇ5vTb֗26Ra حX^$8=s/ Ҷ̂ʭ)ܕ /i}H6ִnaG~iɂ(ъ5cn tE ot=Qv{L{ᛐ5(=~H0˰dGhVL XM[} =&qkiT'F;ș%Yz-%GH[!g_F>Y+TԌ(Y'eDҦGsU,FmJ D-iq'[vUb0z.ȹ 0}O j"{G/cuCb ᪆ȝ*34CyF[W79)^n$ca{2XPa"E,V.QQwۘOR{&xx]{/&ԏY y,_޻vX񎺠bЎ"}x3,6'ṚY%cꘘA\dXA"@^D>~-gO]`ݒy?|]{{f0!|gcorYCTo5n ~1UMHb*MJqO{ c5†nQ\rb#FQj7'E (ѕG^(h-xbuu1ve`(}ecT*Se1hǔP%j/xxWoA}e@[,XlLWT-0?X6v:NcG(ZwtMQlA}BFqFX(8dF3 O7s}WPe_׆~6=&pQtq;2uct%mO0H0衉nHDž#fAli=+8-9KhY\CuX_A`w8Uvw犪1F1himdLjvV7% aVHU)JŁGhd(sԲ QɐS@MVa4Gi(NV&]h h zh?F7HET6)6'`:I-y#y>twєθz'p1a5IxWP[5BbH"ȖQ5qYYQ VSIqc{fᗂ9Eyv&*CAhy4Z%K>Qnb#/YA*VNi1,×IF!51{&I|$r&ms)ڹٝyq,ޙ#Yn8晞X-!<,5 H*\ Ç#JHŋ3jȱǏ CIɓ(S\ɲeG.cʜI͛8sɳϟ@ JѣH*]ʴӧPmBJի'aʵW F)ٳhӪ]˶[SʝKݻxWhܾ"/È+^̸ǐL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ"&񷣪:yLOâ5N:s¯kWZq]c>Pv Gr= f}{HIFB@4A $R%ht`D_w ATxB П($A+AHW@~x)t(:5UYI hAأDeMx$h ._㌁-deJ^eI2w_ncP@g_Y9D^pf_NvbM%sʨM%HyR(qIhaaPvs>ji~iI~Y)r}JfjIІ׆n*JQ秾n@fZ԰(Z{Ϟ{eM=!ײU+% 撃E efPÊ۔ATn_9 tb4h".Wlgơ  W#lI,;V2R/,4L6D;gA@mH'tGD/Ӈ {!TG[X[f_w-dD_Zhڶl;ܵ؟xNwjᵽ޵s㣍{mvC dݖxaziM.&홺ΕYwpy+;f{A+ye"|^ؗ+c{Ҟbus[oWݻ?Gѯyު+LYr3SKH*1 #clu<e; MP~|ZUAg*𞒸q9u9"£|*5 f›lY_Ar{r9n D I״P0(Y]mbn0sR]1!cI/P @(:^dJ?!!BG7$vhȡ' ,Ș$0Ql$TʥƼ0!Ud׼׿Nn2]`M/pyђ Y$2!-[9)e ( K匹$0f-LL~M(` ))3e|KvE[Ҩ)Ƀ36B&9R@Ѹ3YQ  _q0 V4tEcW2U!* CFGP2?PF,TD^t$ ]F5JR` w3R}I;Ө(i7)MgRT%Pn^i%!J޴ME z-Fԡ}jZ2S'Xf˒Ru"hNTF4 sAaǤ~kbч2RQ_Rqv(Z}$--\Zx|[%Fl"Yv^"ٺ*;n-+&6 !<,# H*\ȰÇ !@Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳgA> JѣH*]ʴӧPJJՋ Dʵׯ`ÊKٳhӪ]˶۷pʝK'x˷߿ L`ˆ+^̸{@L˘3k̹o:V tӨS uCɥU˞M۸sͻ Nqӱ+_μYKN}ΓcnvoSV1ӌ^hx"u?AؑI#YK-@%! $DSE[&EP:IAV P4@H P@:de t)КA ٤|X!agd]A1iriN⩊)ZK&ۧThtDeehP5z%yV"Q+KVB+`]#E;%TFJ:"G'"A@Xa6޵mk],P_^' %ޖ{XۺkҝwD-KZ#3M-2xꕶE $҄z<y,-EBS3HHߴF& k#fRr#ْICuOc0=ӦX5 tQvLSD{k@t]!"!QށC[w L`u85/,8aݕ'(I+_ :yU$g)x*KD}RΪD~@7S(l>^^GUзIW]*EIOXūl;K t9}Nb@%a>D iBgDy`BDSIG v7{ZX(m4|_ B> "T%"*aD&: z"qz(*ZX̢!ҷ-JgC^ø*hL[$6nDCI@/JE*iT&:+dBTǔ1cI$/+VJ,rd&rI"BdQx`dA@)ش=e"}ѕIEY^e~NfdxKTK7:%2aK[4'9a"8sElsAD-  6 i̦s"L?鐀F#lA 兄 }̲(jPe*jQ@Eb#k 9PyIAڐFDKcۨhڙ*N*#櫈La"(IlԪrfS3iDTʫVR'2ְ%w(Z i.U8[ ͷŭ ̫K=bej²AJ*$tCk Fs6-O"f+hZ-Ŗ1`C֒))k?,}!XmU[ mo8\i-_(\n)mG+ݡw)Tbj# 5i"5PQK_$l!Q}(> KlJ5̉ OPp^ "BO8%/H )ù8'FE84%$qW"[ܘ(vNW2ՋlX15։ulW!4h R-FFd G6o@(OEzΔw-HWHya WeʜO\YFQH\5 eg.'LSJduƢ)x(?=sM"Ս9fQ}cxo_K!Q KfU\H}M%WD{ɵ4l ׵*Fe4lunb^+i{*!<,/ H*\ȰÇ@Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիaʵW ZD geӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ("bHb(>wAc@b(D0h84Ƞ Y1 9?1Ah )P eHtL2 )_)@Q(d2h*8(YdIfHn v>HLa`(T(o)1$+AID".](sVBI΄fجu)U&I&TM(k`NX=K!lMɨ!imZx&f nTq)嶱[qbbfiHLrȡCII&IY+~!{ø0ODiKu<&v~ B" n+PB,,!<, H*\ȰÇ#JHŋ3jȱǏIR"(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիX.ׯ`ÊKٳhӪ]˶۷pʝ ݻx˷߿  T$È+^̸ǐ#KL9*ʘ3k̹ϠCMҨS^ͺװc˞M۸sͻoɧ NƓ+_μzΣ4,سkF+9x>R:Ab*#*%|QGւF(6`fvᇥ5$h(F'hZRԹX@ѸbV6 b'!'7FBC AM>>n/&|~PrWNOwo94Ȭ>B]Qݛ?Tu^|;͐')GWAZg~3@tπ t j?SWy02 A:8$INXudM0X U$gR-+uDy2 x@(f9ai3&M*s &# 4HutĈi$=DcKL8Ckr| h}x` rF>!/DMR@dJRHƑ'aֵHX$9O {( -c,*N2"k$ȵ"0gL,)ba9`p֔H&9K!{\DcKnʄq&BYg4]9v><_8E U2#}lc$2oh)%%pN\<\]I"PdN% -5_ [#*(,~h5GwZ3{ gx'nZHVh\`GʲzrE{d'Gn4K"hHKMZ+^.v!,+ H*\ȰÇ !@Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJUjʵׯ`ÊKٳhӪ-`۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6 P<(Vhfv ($U&b(A+$D-@(8(X@2CJEC>hߍ9)SeAW^)d~R"qБ$*ck $I B)fzYuP5)ɟr "/^noviX%Б!T3vd\Ъ *R,Ti\R(dKڮp2 +2{w8cȪDT,] QfZcxD.UƲTת7ʐEkx +)$qP|lJ.ћvvE<.dZԽrvAޞБ|P"l[F!CU+)ڎRh*O..?S/]WRҌe SYZSx'JY@!,  H*\ȰÇ#JHŋ3j`Ǐ CIɓ(S\ɲ˗0cʜI͛8'Fɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#K.k˘3kw'E$CBA M^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(VhIu!^m};ua\h"~"V*xEZ%&0cZDJ(>!jә"Hf@O6 iPHi%yQ^\v`)dihY  1KUIdsBT'MT)V9hShNvԑh*iF ꨤdu5K2#ԑJF"4kiA"[,N%bJEڨE H.4-U!r+.W`j;ж =nEgk*FmDp-3pB JHn}u8$SUhX2J աU|_--%sk"GD$sHW5]G'Pg8 3=4@n6bPn.btpEC΍+2 x ts"#0 'N -7r(L6hKWqSx@-_HUM7ޕa@{A]c8)/߷o8dgzVa_.tqZHҹd~8) H]UM(W|}snBkBN"`MyQuEw@ҞH=ąA0B(Pn(Pm(.}kbHä vmc*~?× NU¢3A΅!)a1]H*ʄ ! ,: H*\ȰÇ#JH3jȱǏ CIɓ(S\!0cʜI͛8_ɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6!ᄬ^@ y~(`w!.tv  !#+h(%jȝ<(d)$&~*@D7R( Ŏ/BQ$HL#8F8#+WI)jb/I4F%f$Vj%x-z%s2yz(ibI$0H$PvKawS桉=xO:hw/MAQ(ew"A+bkA;@nIx~hav+! ,!=_ H*\ȰÇ#JHŋ3fǏ CIɓ(S\ɲK!FxI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(aL*!rA@8<@)DiH&LJ6䓈Tn5F DJq46rfL D\$AeJAHI'+(m)*(QdiP̉D9 )4i:(^OhwN: f@"J:Z{R"kB(J`#+@; Ji~ 鱜ڬF(H(Ybe\9-$k(9nYSnLoJP) fA@Q4<~>Ʒ2e2F,_q! ,}H*\ȰCJHbD^q# AVIǒOBDip#0c8f͛8Q&J EjH(Pk"ujϏ ̸SSBU4@g"yakHu"XxIE߿ LC+yweKLYNR+k9rϠA_ڱҨS^3װYW(m!,2H*\ȰÇ#JHq!3jȱǁBe`I'?\ɲ%ċa(S̛8s2,92:+ JQF*]tiώޔڴիbʵ HRHu@ , ۘPʝ-ڰ Gԛdȑ|&/Mtkh3nΚ#KLU3k̹ k+Z$ȇ=H4\ϰb~DZ}w7J%6n ;jCȆp))2ï4߾s#/dvQ'=o #\&MϟuAgc z@xwU1bȤ݆vZAtQzF_ ~(Qu_Ȣїj{!+2 D @)%Q1Y:^y)eY+:%K%w6Ub%⚀ CadHI䊁f'Q~u%z(f inF&$a!AI%{ F_b"l*a^t+U&+-A4䏡zfN%qy!dje& *f*:NTRJ$֋lo:a+i&Ң2=*eA_n2$lh@!(, H*\ȰÇUDHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`b\!ٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#Ka2K3k̹ϠCMӨSĬװc˞M۸sͻ Nȓ+_μУKNVνËoOϾ{y"yOgϿ?(h& 6F(Vhfv ($h(,0(4h8'@)DiH&L6PF)eG>NzVUeBa`edih)jnٗri#҉瞁%矀*gj衈&袋H 裔bU٘aZ馜v駠*ꨤjꩨ.ꪰ*무j뭸kjQ9 ),1K,RVpMԆjI6He4nפQ2$oa`eO]j+o0W+a0G Cqj)Z]ؑ\'crqʢ cZ@_zd`$r0M"H+`MJ֣tܘ!d#0 g2(l@UsBcG@Xkz#uAmfOovte60wHoCpluSL ~*c>Jf/NFnDHXG[`(~٣S+w_XNOg?_ªmݣιλY8]٤ ϸ~Smyw=P">=:k\`nA@e@D`E ujs.Y= T򃰃}S_!,=P H*4B#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjMbׯWKٳhӪ]˶۷pʝKݻx˷߿ LÈ8gƐ#KL˘3k̹ϠC-1cI_=M ]| 0 ~R7oe#_μУKdسk~8ʿOJϾ=`O߯nPoy?d(h& 6F(Vhfv ($h(,0(4h8<_@)DiH&L6PF)TVi@]\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘c^!!,@ H*\ȰÇ E(bDb"ď7:iË%-z4)cAQpI@kiӠH!-ʌ=YɴӧPJJիS7ʵíUU=8aلcz]˶۷pUZw~%wjs_&V1Ṑ#KL2`u/I9zfWlE= 革/Mj-gн۲:[N<ȇ*I Q7Ngu옜 Sr\:bejwyˣ>}{o(}F׀&ԁ 6FWBPah@baVfMXQ=bf0xn(:(8~CHj hgoJԡ!g BvՖe,)k]urI!e^z1!&xЩםN(ɢxy']{ژnTgg6( j%"8 VyA馜v*YYzZ"B i nЊpLQi:ebUZjkqk}FS'Mݹ+%K`l5Ryk\*LV\zde^ -TgLG%/lfɥ{gfC/O& y}.:p G.<s5hUf,'c(ۘb7\ 2+r>s|R* 3mItb2ɑaVdW5j`qjp-w igEPS)ZXr7h{\MvZewq>.rA騧zl CE@T{A;.̾{'{ C [ t@`}A}L}߽@4BOk_{Wܟ7@ɍTY(X* ` :$+ ܃@6H|H AB#ףڧA` H!%_("T YzK=iCq!C !|%B+* 9L^1bF{2Bт [#D72uM^aeDB?;Bz(A|à14NmEtGA ԆI'MU "nԔ- V@vխlj&ƕhVQ0$0 ;G{hbuz&6~m *.vݞak͞-?ڐ3mfE+UU(6cnO:Ȧ6=mn[ A=0\Bhm2Ȩ4\aGM|'7fJГv hz ^Ҝ)^s/Mr2I#|BUP500AYUw %LFju JPU{z[ʯ$`gJ!o 3+0icjulRD b:ϐ5.iGf>SH+P2 eO12$\Dw: KSNJ_vqQ+BT~YS N iL-!g :Ď-}Rnȟi׽ZG< ZѣLk0yUQߵ,1뮪U0^`ՆS>z`1y5cٶu|vir YmP^ϕ~g}l3t@z VDɤ CPVOuct5SJ<_~8S0^׃:~Ýq!A~.E~f|A4VQȷ{ư>A^7HMQדs~Ew_nr5}pM>[aV1ɻV]cpڳ.&^g:PtG5.nTgjS\v|W| Oûi^FM̂^ :>!wFy 3c]a;_ŷV>lwylۏV}\6'ܶ>fV};ʓ/OWĭpw97?C=.&!Rɇ6_r#M=KMIRnocfVutaVHLcYmfxIWwdDkwP6L 5]oD D-)gdBVxswuL$IĄOHNhH^eGd`A0u&@vugQzdu6$=&YUacpV21NŅ7yL~xLZb`8enH0$URg׈LjOUr6qXA䉒qS!WhRhOdpqmwRq^&ԇ]>JcTlhP3- 685xɨkԌC8))E_ZbgVDv4y5e4`I)txx^g@D()(VȇzWN4ITB6Fh)(!ȏwxSsdƐ"92x#*)بT?$2s8Sjdalz行.Xȋ&BlAe[d y^]BW+Y `)#sA Ly+D9pidosɀ͑qM1IטL%hV(TXzBYihJtIU1,\ !Ag PUFNe9 A miR>DNDVB%אi1o҉ kf\O= YpW r cIHVz\% 5k'>Fvd`W&|$|VYhmFxR9dj8jxDyCb M+ֈƆ!؎rmסLJ~4lVmBE/ 4)sf'iHU~<`^VFΧ^NTU|T|ģ7i~6E}'P hWJ(^PQ:eSy:F$AmꌥGM?%Ćr&kWx VvRzkb#Gn xh@n6j7FبyJc`Zg뇤OYuW6~{ć[QOEJii~OE~'Zg*U~u@j婤Ī[ڦ%HgFBnCkwaԪHwτ/k$~Zm1BJ^dub ;x k^y_W]J2ژ!Q`7wJj& ۣ'y_űױ~ ȍIu)$YQzSd]TwvqY`ER~P*\?j KzUAʤFQQ?X[bi$e g>:]e[YbNJrl|Vn1kmik݆xƲU۸J* d؟:m"e҆c{'|$:kKY *D֤xvMfg Y8p5rA ,7|0孽zOLP^So*\u}ڥr h q7ڶڊ{Z{ֶ geLj bHDm@<)U}H9L©\}S5K*G[EdMW]N\;B̝MYJz+ƚ(ijgR,PX,]䋗xR:R[RKMˁMJ@Fɏxk=F-!ڌ M\(UeKJ܋[sF׬]W_,Jė:o[Ɯ-%)Ǎ;h2ltxulå俥G=<3!U4lYi۽d)Gگ=q]g=ޑ6囷٥Ǖɫfw 6nT&kʽnwTȣ˺'ۖå=ѣ iMZ)'޼{ԵFkg0'&+w͘rN佄lm8mG=ͲhLS?YMW+{}wN~:ΝbzL[dײm~淍ȇ|mlv~ }^5AwsHٷ 7ہ^Χܵ|~kYJp }C2y iM˭उ̠Izv=N&[u>urAZ:|Vͳ>p NrȸHkNj3 b]\u^;mg:yjL;24YCcTbam Kܲ,[MG-c/k!:C~A_-Z-+9M>j%$Id|.x+^jnbLZ~bk;Yoݓe;\3X%j[m;v ˢKKvTw.}GɶH;HZjdOդ^c5`<:}N\e{lC%NmЏy)|RT5)//?w lί0h)gȅ-}a 4A.DРà BxA=~RH%MDR%A[|i ÖyLqIŜ,- P=elҜRJE(ȟ[VժӬH?&re̙gղ|*\n} V޺wX`…MR1⇉@Aqd'O\83d )S4`١fɜ5Lrʥ1ތQcӴ?F-;wO#,eҗOxj +g #bK7)k4^x͇Sbs_NP;lzMG+k맮0*@*/DI -C?1;$" $ÌD*SQ4,EdW ET2cHhċ|Q"F ~L(ң!JQS; 1e+4/"S*W3h`|L7lnG/C4PA/0.C3/DG*tBjkBE%M+C'=-N2G/%OTM4UUW O9Wbk͵_ YXLVUfY[o´SRŰRJ(+]Sw@I:}wr\ MAJwƯBwzj?6bUZVYʴpV(]5 >ɔ-UFɂy2K?L)} f(7sqjAZSi:몛6F0CU^Fw\OCUz2@v0M}>wÞ>W1/2Ͻ%}@OĹROsvނ?AS.k(]ڳ{i,.O t@˙~{bCyp4$L=0E4 YDS UWiol$"1i%ژdD2ˀDUkDYs(66"Z-Kg%Mb1i)dy5HvMn 95=Gȹ?#&gIj@pr JM$4AXʇ d.Qһ{cـ(;d|3b z& wfї4-o;Wbdc:4. N:I>crψf9Y#:\_w>mҟ雥hAmf ʃRBB xpAP"9)JxEn mdrSGAHqOJ?YQ~7% GSYO$ºsԝ9oL&R}sǡzIJdwǧqi>b̢`5D X}:f[%뗚cc5zծ^+^8FyFip]*'60MI IB_))1GYneHŲE9@eedQ+U lSe#;.6 TM{sx;mb$%q9?)Wc&S dmtX:K'$вrbǪEn^!X̹\,ײQ*ysdg}Y̸DOb5_CC.4X(Yͨbh]qM6UOyTq&mvv)\iZZOSy4ăIgnX$q?ۃ:_|4wB-G5b.6 j}S֟.?>sVtoE{ev+nBkyҕ-MmW0-etw=SĎpZC [+n+|(L8kFw;+3==h=yG|tn3zllI>|% KuBB#lU7/N&xdZBPjV[ZL'10zmlV7$\Z#3zbo9WW7h.㧿]$ʓkڠK/~@OƇg-٫oʴ0= B1&⭔Y)s@ls, 2DQ)ÙqC! Pz kA (3("<ԕr H z&B@ ;2(oA䫡Kq?i&E3W; .C\׈"2c0۫5S?44Z-1ts`s9ADκKܛۺCĀ3$ ;9BA3E)&_)=zQLOEfC5<2Ԕ\ƥ384kS4S(8{iԸ^cLa)JJ :6ĉs6Hb`#!@mtGi֨2t:BSKn0C"|E[h [D7c|DŽ9pa Dd?˜-L> TGHnQq&,GG>,18ĭOCĴ}԰IUDqbJ:HF -jly%ɨ$l r&9Ey2p2@y'$Gpr2-c\TK9*FKsˇp̗+JD2d3MKD왓NC8hLsB+8=tBy!8D#K (ĆTȈ9$џρcഹ&Z ϰ KWдǯPdtK(۝%\&4M.L Cx 6g ZLboD¬L? "ѫ,C!YdsI'$.҄-+Qɸ -D iP_|- 5 DPKKtEZc{Û;CK`\rBN#M34?I}QbL"RjF*D#)ѢMKMdO?#S0VAnrQB6>U Ce"7#T(Q9 OED*RJJAI\B_SM5 1**R/Z -RAѪ+:%+:R+B58ŸUNeMɂ(, K`?2mĤD]eI.'ݹz:{d@ܧv OgHZOx;6%n4D2{ ]+:}ͼ~I|4 +̘䰷#,|Mt$,T aJˊԳJTYQ؏L?xB2@AjZhsRRr=Ym 5٢͎cF)*Di 5נE<Ҭڭڮگ۰%MR۳=E۵@e۷۸[s[Tۻ۽۾ۓշUl@E@\5Džȕ\wt\O,a=H@;ML3Խ[3#ŹX86Z[BE45,U͛E9|F 8}D=K5>B]Z`MO;_F $3 %R3E\i]^w]O  Ҥ/&fQa>3"EżCtݦ}⋵'ƌ`(ۘ 1Fc4+ע;Ak$ UݕX0־:Ӣc=TF:~I0?D/V"P cċAeb&PNnb1DR@#QPfA d`HUlȫ0Ok_+eEbEeZ,2X&_;\䤧dLB{\VNt䶘,Ae0qcbEg{{dp`U#?fns Vm>gvn.DN~Ja"B/Ov0$ tT_u*%h%Feg6C~6">Ma^ԗ70׀^SUgҵ=锔\>|3?]ACjMj8Aj dj}\eVcnV.jjsF9?^D(v-La((Tnk.QǮKRvb$aXK|bFk- UD/E|>`ng|<<5Q6˲fY3oGDn0E5[=nW+/ݺ0^fQdN-dͅ%ݴ%, ݂knRo E^=k^չN!\\]>5;g~i1?M\n=eNn _$[ SQGpXQLNކE_y2wVg`?`frnNbXg_gGlu^N'PUP6jh )w6 72UON|`y <?x~wswDu'C|xorwhɩhq7eC^N2\wbj~SRzY\Bl/nWv u[l)-YW6wȞV)R{SaG>lTyUjd =p:|keLշ&Pk>Cnkٟ}s5|3V\o-qwƽh+Q/Y OgY;!p_ @Q`o%/w үi$PD0  &<eaC$ !.,hjbB#v ѢG K $QaG# dϖw'Ξ"XraNRiҨQ( U+ذbǒ-k,ڴj"۶WJXW˷](oϿ` ! vx\J~0qɑb 3ТG.}6jՇ=j<;JeOٮo:cݨdo͔jMmnN$sѝSn:gK{aڽx_~»Ƀ/eli7 x *QCQQ]5!F4P]KZŠAF8KqDЇn[)xM҂98V;#wחyw$^%GXz%N&}vYey&ijwralG[ALX]~f קR%wg!v'lĩ9)ZziXtaٔ{Y\Uٞ^)z󝅞WAٗqG&z+kHl*P,xbL+j IŁԫoviwU5ka*;.B_.%_қ*.摺§|0 璉yoM2-T噓` Z(%|2)Ku\'Y,k7k*|3TU1TO -싽=ՇiՀ<5qQK=5h2#haT{5aI1:}YP'8a6qOu-.QЦqK.mf{݉+^f;I7vzf[~huV9衋~䣛~:'; o>;W^Տ׾;'e+۾ ?|!,@ H*\ȰÇU8bŊ0\!PF+x8bȋ%LdA+39 F/cDO*8ѣH*]ʴӧO9 JӢPW`=8V] ~JٳhӪPZn)(̄{K@ È*^̸aNl\3KusLb)8^ 4Zi1U,9vʶ]~̻]F}GǍL4hG:7>uxbޝhixOb$Z9k\}Ͽ?U5d`_ 4 `_5Gy=([MQ-xt bgh@XxVU AFh@n9Zf^k>B !9/2PHy fsSƦ%:]xTMۘc6Ob F)眊IPWɣeEH矀'0 X ~J`niHXC#)CZi ~(Rq Iǧhe5Wxdc VqEZp&{T"KE̺ISr 觴a^z^$ҷeU&覛eg QR%*䨀5UD=UkHqx,KAazXNf*<)iy뱜)\ّ<2wuPJikjڐȅE+s7ֵ͟p/mNp et~ؐ'쥑BrVI}B jpͪ3ʻ y8,l'.7#X5T7@lﻟ|!OdEpAHhϽBP{#4(?*`o D o@o@?qG~<g"$[Y!#Xǃkн~[(ȰBRoƒ^UdX&-aϲAq/&"X! 1w( bg=$Џ!`E zˢ8&~ 0vqY$@%K$#ne 9( 0f 89ɿA\&W<葐!$H J>!,`Chχۧ7i.P&\8NT4[.3R f0IT.LXI?r-tHVT?@yG̟rQdTU$„8 Pu;'nG<#6okUA?O{F NUk]ׄqcH$p(JLO};\G)Q0" Rn h G&G7FK)`CX?H(#I΂vZEgY99[̵I )V1"-%bOKBEmw8\wܷz wd/">i!/cVg\9uO\=!Y@xby`YYM~.{H:c4HK1S~mfY{}!f;o νb!J,%c]kXB@`Y'I4~g&{ : ܅ȷNβ-{F*R:Ze ftٽ|5^LvpwA\.π&eZfЈ~ `9ѐZ2H[Ҙδ4D3%G*ԨNuaUs1gmL}otM^!kؘ61ѵ̎v,jy҉n% djÙNvk5UMw; !,[@ H*\ȰC*F|HpD)jbǏ-|hȐ;R ˁ*_rtY1cƋNɳϟ@ JѣH*]ʴӧPJJի :kAbٳhӪ%9d۷6U)TK2Rf[q a*qNk#1e3k\'?AQ>Yef2le˽7@WF(8l)|_ɣKNسk߾u!7@Vcy˟̞{O>SzPÝa ߀% PJ_|FG:5@ZaW $(&,:5[RYa8SGe? _9h&n?[a@:V(DE؁Ve](!fӋL&Bkj )'lmiWH%|]7^q&yHٔJtiHFB-vXjjlZتE#a)F9gB@)=9+QΞT2k^뵑Ac|+be{둹"KмK. ApAU@+50A 3 0M|`Fw|iA,E1P HNUދ_mX*(7R0AB0z]+*䄉l~qƐj>awEm>Mդ8uh/^0:LNwlv=2\ Qf Kq(<#F9Y.'瑯\VJre2׵孑&Ww."\BS(L:8otY)7Cߝ!7֬8YR|F- @59J}/!"az53APrtJ8^z+l*jS?!q-5qHrA:} zsnHNѱtzc tfX~5~&.a ЁCI^h?n&X2O(3qyE|a/oRkm%hdk#D _567t.Cn+ߘ6H G嶺hy4( 6/][xnt(a2\)$Z9k[NEYzx1*eޓ 2 ܇t]ix0h֜[W:A=e)F5hTTDTrι IXL33j/OJb})?g/=q>q %9oe TZZ$WOQ( d%^O{=E|ÞDΩYȌ_jC׾#(~~ /8Xxx   6x؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄N!RW!",` <H+8ȰÇ#JHŋ3jȱǏ CIɓ(Sa˗0#DɰD[Fe@OX ) Ρ5@i|(UE@ ̖- ;U&Nb Ĉ"YkG};؃q56[(JKM&LP:1\ȍK'w *1FO [5jleʅ+ !(,M1<HTÇ#JHŋ3jȱǎ+ ȁ%O LIRdK/U`͛8sɳϟ@ JѣH*]ʴӧPJJՆ%g֮ܺWÊKٳe֥WpʝKݻxkA̷ÈkcX˘3T0gϝ ~LӨS^2gEqFڭsޝS%λ|U|psȣKNدv=clË/^yӫ_/trwwؖɬϿ OhAHPQ(H@:! hb"bRaahH+hщ'EGvLhaBCdcMf\DdjKn)&]aVy` %8Fk)_Z%9瞹qx|*hQ^v!y9(/gEi{9Uvӝz*jJTV騬&xz:V*сa+A&(UTīF+mjNkmE4 Vح@^+.‰Z㦫.[Pfᕫ,l'5G,Wlgw /n$!,>-HUT8!ÅFDHŋ3jȱǏ 3>`I$M\ɲ%A5aYKsL9qM" T(џHV9QA7W **XjU: գWꕫٳhӪ]˶۷p㞍pܻ-YY M@1 È+^@/d FΌ@˗}7pZf!E]6ְ_}4Gi_ !!,!2,.HU$T(!‡8#jD 7I@6&Srcbb5jըTqQc|9%HL`'шE d&(@hX $M&YJUFI)^R$C4IE`P.LT @".BjR@Sc !Η9.jӯcu0 !,(@P@+AÆ WD$(`ł AHɓlL:ɲ$9ըU" @'$/ 8̨1E"AiL9L/6(RH atӒdmڌ3ԡ&~.SgIBm׷dXH6BMmZRqR2u&Xjdڹ& %.XFjǤ@#"u'eD:ʩӖ4<[g`8,`< !,#HP@HB@#Jb`E"f@lj 9BD(!Ő(SDf"0'B`Q8Y = IQd Pk $jsT$Q|gO`ZUJ QGI%$+$F0nϞoF6%RRI tmL:uՙ.ڼ"Eγe69j`N; ^: 싲if\E65)*ݸշiճr ܣ5(T2Ź=j׮m;UfLo`//0ʀ!,3@Hp  T`‚#J8!ŋDH񠈂1"4HrI!OHI/Y6(͛8AlSgΕ*{8p&A ]ʴ)FN HhBS9ס]65Ѳ$B^5%_U-ֽ9`Ⴌ(Bi!6.`(#PY2c4ŊH @ e@{#3LHYdPD>]iݥK d n6>Iu+`dğ7m{&wrQS;n5QY8B'.?|?>{1n^dSy~p-~=zV(gaR΍]%m#B\sXuPTq!i+){5p"I{E}O"B!, "(p*\ȰÇp@EP`@"0~x1bG(IH+!!$DPUr3(|BA"s(Qd3 O܈Ԩ<"է́_$5Bx `ŝX'4W5TJIҾg &ӪܫY }8uճ;b2 :*V$*S/åH.Eiew΅K7yJeowsсPFZ0pSFHL3kν!Mۓ & ' !, !HA*\ȰÇ#D"D1\!PG~8ą# " uઁ,E TUW]AB$<XVH+P-Ӿ{.( l+M(j ZVY~}Kh˥ n7`>"Y0̥H*em5oyϤGVh]O!4]՜:;7 4Qn:iʕ5H*M 'm۽Ҁ=M6&ф !,4>B b!† #JH+j&;qEƄ%%:Y@+ nɚ8#xqE7sR aFE ep!D2u.5Ԛ=%>=hɗ'ST)M]uZn1Uj(ГiVt,Mc6qd%DWD0) L1(Vb54$# ,gFMsk9xYHH#'MZcH\A2*wQK-DˣRfTأ Q^p_#ԏpd  nxGYF7u͇uek wHlW 51bB sErk!NFFlnށ dD(3:g!gbDc7]v_`E+ާ~!5rɇ嘣M86Ҋo n]<6P[^j֘hg)]b^f*IWZY&,QvK2kН99aBkP [g[.Bz+6K-:l閰۲ ܱ+2+bT@!,2>B`TqPaÄ#JLB#>$Ǝ/PG 3>ldB)CƜ9qoBIcE? Zr I+ .x&ȣO{JMxR=U$iƮST86lXfzT;qWh6B,)۵j-al a !>yQ0ks$PDdȤ^M װO1큙IJ9̙?p;bq`&[$b~jݺDRj:|y[lRq|!,B+D\8 aH!C" :|bŏ *A!PDp(V/cB@IHBY8LOR> A0Jb„9s*$M'RBgE(0.u)+$Ql`IjϞEpZqQ "9{?vWa*ZKݻigIa>:j( Y&NfZ9F(=*Vq醌2Q*#< $>r!N}-!,B+D\( 0۾(ٳKG9e A{-^t`\hQ n OɊȥۘ1U;Mif(٦8+V_FyDdfNt0M$37gN0J7Q{h/[Q@s; 7bon{v}SG}@!,}(EH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳh (6۷pʝ{m[xk޿ 8=8#[@!k̹glB0T=A\?QGjT@A|lP~ܶsƌ"3=zB$kMͬ&7䭉ڵ5pT@}F5|nApMW&هDNwI(B^!aHP (Yp(Hl݌@u`y(&5`$N=XdcA>r`n[A-jqH&VfJGJI' T%X@m" Gk$eAB(gu;fe@_rDI\~ɝH=J*_ @ *무&h !,@p  *  a0aņ %bqǏxȍNr%H Iʍ5'?"PxJRX!YaLHUT> £NG!m&(HBSN=r ҕXaU:NdHi%%tTߍx*&u)׵ s" ɘCG!^*VqAF'|ug@Tr{r4)wEǢ^F x3 !,@p W$(bÇ .4( C l(pˆCI B*9˅Fd%sT$Q܄%$#GJtG"(Q4<: Bχ>3Ԩ1=]JS^w"aF("@QHtmWFw ]M!,x5HPE\ȰC4@ł3jtxbą7I$I6 i5de% !4RQ8Y = IM$5)C>=:RNRX!љIO^ J5cRRM ز+XQ׬R2H>e&Q}Ԋ+OZ GIpiGeX`gʎ,Z@+SS+J7(~ZMIE@xUlƊs2#?un0p@ɒվg/|;7 !2,oDP!p`AHȰÇ(8Q A".Ǐ9RHɓ(SdӐVCV*c:DBC2o~\5'" @($6 3¨1Ȑ"3W~3RAzYujԨgV*8Wh$"غxKqVXBr޲h = 0QJ%sv*k6Q2:t';;eeb5J%ǪjQƱ4R1IO?,zwisb\/车N]#nϴ@'CXR@!/,_`-H*\ȰÇWB1ZȱǃPHF%S\ɲ˗0cʜI͛8sɳΐJѣ>G Z%H* SUjʵׯHՀKY(aZl;=KW&Ʃu˷߿a)t^L0OŌ#K9˘3k\1χ?B3عWhki9pFXG۰AbD8bȓ+_FZ3N}!1#vݫs;QF?  >`/^~ @6Tx%0  H ]T`mhQ t(BJ W_{DA @!0@; 4(v a{ht5@se"AE9@;VytP0`#AQǡ@ZBP! 8袄Dh%NqݽI %s4ƛTZ9#t2i򣎐i)HPdDw(A?"Ay+W T_y !QA%H%&%MuoVf#^Wnݪ9JGTu^7QknB"s2Kl{n.-hpw(`@{]cĹ 1oR8lcH#krGP3쑑f^Lr`kt[faI(\ ;+jҝ*ybz)/]&-;KЁ'(m~.DdnI*2ƄKݎ r]谔~ЏI* q: e&'ݣuN}ު)Ws+f{DTH Fe*@εy)Of,zvJ@oTHˋ<, /,h(*יf YXdU HM)B#c`W+zSɢ|F%GTϦ8G{Os 0Hc\!!dA(W75K{%dYZD>Uk_BEjQ ͡L{#1 =j~Է! mTZ#W!3vNTmDf4!: :AT# ,qӊz ~)>t\Y{N1T dֲ;T)W LD*2cD2lї 5됇]FTGhʙIH5;i6M4ГluY&$Ϝ>hE)&GvTAdHBK6;SN~ -77 Œ&lWB'ʓͨF7ю֤hL"JDThF!8,_`-H*\ȰÇUEXȱǏ Cb1ɓ(S\ɲ˗0cʜI͛8sI@ϝ@ Jtϟ2K YSJ0}JիXj5ׯ`+2:'ҰAǢ]ROpʝKݻ<޾ 5e#^̸c|Kyrȿ+h@SqШS[-UZa$۸seAZ `!∏{,nP9]-:0(H"\GjԪQݻS`|A`T/&YcD|)I%B&j I'yZG(2 0g@ b ho1* iu!()IEQ揸+%h<6Y*t պq2R+uW&{:u"! +:{ȶ7$*mGGH_~*kiPZ' X\˨edJB2`_̩q)y$~4vaEZ+-;^$ T+[ˆ9תVo; j6v<\'rw߸%*o qhIgq~hbŋx퐌DL['t)'*c:0qO҈Ƽ]p" ѵf򇣰!N ^,fNl"~Ka o^@RKek"*ﵠk`ǫ,+uAM0T/ 8wi 'T:!kf+].lJ 8 @ԝ]Ɠh{$Wsx (^"P ZʑA^pI&(: (X!^ASV%|M)_*݋̉+̓1)k?Kd"0^"|>gƖFndT+"DGY<"HqCbu0 `AxG(ͧKRWQ$A#D:=y4%B(Ȋgb#xɷH8ɔN|-+cr>zbLU2b2e58hЀm6dL;9ir!cBI)Ѥܧ@N MBPӟ;h8JQt !",o$H*\ȰÇ#JHE*fȱǏ CIɓ(S\q#,cʜI͛8sΟ@ 9ѣH*Ub`S.}^(uիXjeׯZՌ 1@`Ӫ]˶۷pʝUHE˗ ނh @ˆ+^̸q\V#kE0]! D3g:c^!+SSzk5,`׸sV]pU߬mzqQp#ЖNױkL&>;FϾ$g鳻Ҿ>Gܾm&ZY߁ F$}a!,oP!p A *`Å"&\Hŋ TAAW)RdN.E%c z)$Q7I@&]$C*Q syEBYS͞4)9(FJ[2- ԡR1VݺəRJu2¨1l߽xdY~]̸q!9,o H*\ȰÇ#JH+jȱǏ CIɓ(S\ɲK+˛8s&T1PO?cZ(G "ɴiKF+tJ˥ZʵIVzK""(˶JH +7-#[uQF7  PxJ:LeRhL \؝LdbWmcDoY@ôeC&RyJ~}^~>ƀ!$,=B(H*4B`Å#JHŋ3jQÇ;I$(M&LR˗0%DqɳgD5*YLb * X`S3TSSCNZA6\"8aذ# D-U57@>"A/Qd &V]jǪ;Q " BQ{ x [~F*Hb3ʱh~ypa@cs#߮d qڛ5{+i˥Uv}{ٙkww_ˣA%V$ZFΙjK[f1رCx̨ՕEweٕYܙ Tւwbaa!9,>!T# LpE"@jƏz Y$G(SdJ "HS̍5a >WjTD'SDJ%<")ZQ "+T2J3e@f()`YQ|]UdTQ%R,Wɥk/J$~V# ;]+9hՒ2n^z(,m^Fy*1&m9Ȝ6nU 3;€!,BHA**,b !HD 6l(cƏ  I@M, $-_03#7s\)O.SԩN1 (Σ%3 UCe+S7b5O(BGv,ȮUkJP=VD6\`1 !,NT!  *\`ÅF<ŋ<AA=bjTIVPF`Qd`I#JRJ`%e5樜8G|S(LHi)MRE/&s)CMV5 P S@ڑ!mb\2IA+Elve?;2 !,P6)HT!‡#JHŋ3jȱǏ : IɓGL(b˗լTYp-\1!M6390@Aऩ'ѧYdsI! J(H]5,Qg#D$o"E.d`z 7gIZ$K#.Qc`.]$(o: oe$~c>[eί>&C*Ɇ%旋&ҴWW@+ cUYo,f),7hcoIV+~;Ԉ۳gVT_!%,X 'HHȰÇ#T#"  \b`NjWXPȍ">zK9H"pR $P jTQVF`iE$JE0LURV (HJ:*HJ:լg$bɎuJ*QqfZͮw YHFII.Rr_.僧VD2m媨rVbGE5߇~zlfwh*;nܞ98[`f"=!ڴެd@!,IM&H*TB`Á.Hŋ3jȱǏ -J1ɓ(S\QK,cʜIf‘0mϟ&q TÜ!W US`S9&Z*ЫXєXdB%!oR u[ È3LƄ_R|G% #Yec2ƀ6äuyj!: ̘n>$:tYAG"|/f6[U7 wiߧlMyqУrY5A*ٶ^%(%Wy̙gn-z͇q%1fťNtVL!,! ,G9HU TÇ81B"$^pqcď3I኎)eɗ0cdCljiLB"R$FEe5*RAӮ]GKj,SPJ"ɋ(` &kvԘB%SLڭq;&ٲb-_cԕL胘 < dH6XZfc T5u]F90Vܸ?\vvNP6͞o;ݝZQFU(cm.xÆޏ$~EGoUvgT@!,p.&H 0Ç#JHŋ6dǏ =nɓ'I,(`˕0cJTqdƗ^ @2K*p*4]ZA6iD0BՁTaB@֮Fe5l΂D[%%ʭx"!KTQ E"۷s2(HׯZlZ6n+!; _dx3\dH1F98޽ʵɘ^{cǥ7U(=F:܋ Z8vW~yg'ٶ[ɎU L203E@gxR@!,G_(H*\Ȱ JHŋ3jȱǏ C&(ɓ(S\)$I0cʜI˚8sɳ'ă7=9pBX1@ЄFJi4R7UD|:WV"<5FH +w(F ߲ L(2I!&8#KJ"ܸ‚/5EQ#l_EŊt 5#:/fرG}8qiؼ' ,QWrG3\.1 ȃ ]|TiOtUGW~v>jm!4؂5_m A T! @VF|!g"C!6!,/&H0Ç#JHŋ6ȱǏ nɓ%I,(b˗0#R`3t"fȞ=RFH: B:0KH u(F YH]`ޒY5ZaÒ;*H~6-\ƜUmc$z=k2-QʨvC#9ߓHFbv.=j۽+ݭ5( @j| %$ŊWF5Տvg\d%wкzf\`~ZM9+ 2 ! ,? *\Ȱ F0"BWLXǏ EII7*9R Up&I (h]v$G= Z.)[)1eGeL " q/[xI9C `$0F%>׺G$(H*‡#JHŋ3jȱǏ CIɓ(;82˗>TsAeB\qPEK?{i(̣E](ҧY u * ^U g^E!aدpJWZe K6h6BW$|v0{fc^ s 䪔 VF2yv,.깰_=PnV۴sF!, HE \ȰÇ &"W\daG-(dɁ&EfC!8(VV0Qd :f@R7G!M! J̙8jiЩ@X4i_*5WMBL+[d6hٻ DpY"!1`< =>12}4/C[[; D3!ȑ Hap G8yyNsbt:vR#@9_x󟍳gBϒ dH9́=A*$LӁi HN .UFa֣IySBTBǩ3$gtS?gY`nfH?cn3D5gy%G\;²/4ԣ ĮfB lWаNHJi^xWȯWOꖹ]#({{Nl)R9 av\͝3 VjP*Ȋsfףj~膳Mx 0soKpo:Q$Ze'^NoB DW܉ED_UH/Vi> P|Aw=-W*fw?'w,"xzяN& ]l]zQCU_ZOdȥ]o-c䬒;['( (^) 1Xj,!zQ-ΑdxniEKHf5do{-~ 0S Pf?a6hD~}].\A{'~ ܛ ^oHU+"f6W%0nU jW6~-/qac W!.~(r-Jx޲qPccxND#S7UGWDpTUpTvffLU)DvBsL=Jq777K)ob? u.tHC(Gc`U8g>i3=2SL7rRZ5kjY"k=rYZ~ ]NOT7H!ODFIه%ONhX7Uc]hx$] FD`Ia6ʼnLSUN"%~Yz[ƈ2Z#Q1P芭Ȍ$]Q|R]G(}И:W=7 )42r<΂-BcVI-XVsB#jݲsIXn6 ghtjEG9,>Rp$E%ّtDSx56)CoEgg-sE6>MƑI4sÏe35 G+4Gm>o䇁5@SWF0$CZ9G`镺C,IvV=yEuiu"MTT:+t@ ?іpF % BRaA\9A1I =ey>A2tRQaKJCsOqy!ٚ2s0Ušٛa/9Y!4$h)& iYFԹty1 dܙ1Zh4j@D!,/1H*\ȰÇ#JHŋ3jQ!$ɓ(S\ɲ˗0O"88S`͈#cɳϟ@bhB*]ʴӠ7JJիWWO-tÚތ|0wW$>М `H_u:E]O)d_CTQQ5ɗWA!O$F4!eщih`!"Ț]4Dic%.:$`O^$CU.xCWbV^)dihZX$eH%\!}-!|Tl'pj衈&J%XF6e}ީnX*F)UyR7%*BQ9jP j TI:(Š&{*dA(c(dZUʪG-r% b@l+% nM eM^pWL.D{Wd5\+ZJP+_ _&DAV|pBPr`l2)+6@*L{*H+t Q (@˴º(A3 -PI>rÎ͔vb34ʀkw j&GlEi'i1R-ձB@K R DtCGqPJĻs-Þ2*.W8^BNW+SI !X&Fn6 1ALq7_T׉[NWs{ [*̋^IkR5wjtPǾ Rx6DYm$Ϩ=I Je蚔FӨ"ϩv냡Y۴"vTTQ]ci&+dNŒIJiN[KUݒb%2$5ClG ķ<pmK%lj'M<Fd3 !,$<H*\ȰÇ# ŋ3jȱǏ Cy$S\ɲ˗0cʜI͛8sT ʝ@ JѣH*]ʴӧPJJիU{#E]ÊslѲfӪ]˶۷pʝ[ςvK޿R)xÈ#Mh.C sBv՜rFvLizF(tPQОSs@7TD `oG}en_)l|(y_O~[$3ee4EN_TFA :dK7P1DCx̅zC#>՚F'B@+V@-bCX8rQ"S~bB6zcB$$V) mț5IIXf\ې])AVihl^ՋmUftix瞀}МoKIk-袌6(FޜVڟfv駠*kHꩨꪬ,E 무jۑ)믥@^@!,RH*\ȰÇ#JHŋ3jȱǏ Cfɓ(S\ɲ˗0cʜq͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐBL˘3e"L鞓O^yװc˞M9SMkݺ 7?μУ_Tr:^-(Yf($ȓnd!ZTaF%an4&PIc㐑r&ٲ/C^$#Y8P|BNEdmDel&A,4&CiZW*f^yީ*A RGNC;BLdL4ԏV袘VHzܛiP yфfBQ3  zBٚѮ yzؐ@вJtRkfm(-bmkrnZ4i\wnoջV,[]1 ٽk' olLl2"W\p,. |67Vq̖%M4] `A|TÅ4)]5^-[ZMWĶXu*d*NK=3j5ƾhC}W,ٴr ߈4҉[csnA+g7>ni?عGǠnMFpo !,\AH*\ȰÇ!@Hŋ3jȱǏ CIɓ(S^˗0cʜI͛8srϟ@ JѣH*]ʴӧPJJիXjʵׯ`ZE سhӪ]˶۷pʝKݻx˷߿ L=+jǐ#L,rU(XܗC=o`ѨKH6װbH`햷o Nȓ+'{9N% vgv ERz[ }&8_{FŊ(cB D_@Hʁ\w~ Fah߃(f#rx<."pR~5#gVeIdpeM^Yf]ބ^bQfT曟IWT!g,1/HA*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗œ2 ͛ɳϟ@ JQ &=ʴi5NJ*QUTjuׯ`ÊKٳ3U e۵KݻxZVܾy+$ˆ+^̸%`$ܸrĥ=ײϠCݱsUf1DEG $۸sͻ Nȓ+_μУKN;!a,%\H*$aÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ ٰУH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶T#KW㘺x&l(`߂|È cw%F8r;0ˠnM,ƥS^ͺk?!,p Hp*\ȰÇ("ŋ3Fh@$8#E'MvDReH%ER#Ę0g欹E8m6(OH]|iiѧ<.*MQbJjמ_fҼH@8WkXVu/^ LÈ+^̸ǐ#K. w`3k̹ϠC,ӨSAPfb Tv=yLô Vͻ WǍO|󵅛#|ţSŸ@?kH5B7ߟ?Bh'*`k_YXe`_U!_fiaPMa" hQz + Rn]2QlT BuExYb~L6PF)މa~-R9%fri`&%Acnh&&BkԦnjɦn 眨qV/u8/e)Џ=bB~OA<@@tKxEB靌v駠 ݨەzKؑz*B|*(B2FwMc1@B|qK p-Cܮm|+ Y)VKn[+fVjQ߭A (ACtAsh֮"U@ЕBd(,)lBtH&IZf (GI39@TIP&\lYH!qrR PڣI֑ )!g\)f:IjZ Mo ̦8˔3I: ΁04@<z&Ğ:|S2dgD ԟ-A2O" j %I'Fz3'DPI )FRjΒvu)K/*Ӛ LsjҞT:GcЏ~ @QTէRԤZ؜El1W ձ.Ƭg*BԪ%Iq+Rd͈]EW U!IXXD`%lB X"hb!+>IJE 0م bA؈6)p= dئ aMخV%)bXΖ!ĭC;QU6-_ ҫ6Bʉժ r "پpu*C\N>צL%Ls|vBi"BЊtnuu.T+Vib{ҟWݯ^Gv`ZK3rnfR%Ʈm9EZjw M1IhĶowc ?q< 'x|,&gmx!\BxE0v xm}3طսP5efOl/s>> D`&8! CcݮT*}d"r;`x{`؅)zy=7bj/595NJtj ,Fsr U8_Xl;oOwqI1?7_{zǫ׌Hg/jiwIz߬up]}ccOO3g׺vؿX7lWxꛟOow3X4͝;p?dYwcW2wr iQ^ye؁ "x|gzi}'}}53~4UIPN8]UvXOXEH` xkX@kXpGV_y @9aCkVWyYvё!(x8|IUWFxVfr'pboN-Gl0VR%.U[WZj?EXEbK&d xH$j^E q ](1Kd9_9Q \9h)y)zmSm11"6Hifٗ a\i <ZyIt і qq 6 HsI_XvZGclHgWUNEiU)PjtX h]9sjMDԑIkٚ;#֌ i$V[(՗j唡oӗbᔞ tV9YfUYNylIe jh5Yn'*`VgY&Pb]ő#*lOHEhF22z9 fɕDS;1mAu IpyN\R@pٗ\"$3:$ѡa)1k_ʜmIZ6 }! SeW@@ ԑH& zNRHZ2 9٘kHԣ 1:Ah%g81i ciڬanV9ZzbZ[[e[ ʢJXfiC[AzEՖ_YRɭx%\a-ɒy[ g{aXy|jֈWǓ œ.{1ɉynJ%aز(;4될[5:<۳A{eJVPp*k~/{!ѩIT%1UZ\۵^`1FY~~(lK| ضr;4kJxz{K \y88.h[ ˷mW+dn~+NˁP8Z cs@)S2+KcH[Vw;NN 7+R;q[JZXtۍ \+;"CvԻ@cW7'X1J+eK׮[KC[2[++;N#6aub{k %K6 AhJc*){X4Lowv@%JًA|T Ĥģ)K닗:UZ@@]< qhQ9<[Nv{*n`z@pکۢOP-Ƒ8{Ȕ,]L cp?\ɞ|< l0 M\ǟ|^|ʬzHʴ<`\µsʣ,Ǽ̒ʹ,̷8úyμaɫ \l /ig<\|Χ#!,WH*\ȰÇ#JHŋ3jȱǏ CI&S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯFՀKٳhH˶۷pJTbܻx˷߿ LÈ+^̸qb#KL˘3k̹ϠCMҨS^ͺװc˞M۸Bͻߞw<3 ǵ+_μ>8tg8{q?gӫ_X<ҷcwݳG~?g1_Շi%A x6GFXQaQ6Jiig *VB+8Xj8.hY~HЉ UލfBH&169TViXf\v`)dihcpƩurix扑z!, H*\ȰÇUDHŋ3jȱǏ CIɓ(1J42F.cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊK抲hӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠC=%iO^ͺװc˞Mmoͻ ^37ȓ+_μУKNسkOaowOGH>1ߝזA&d_VhJvxPsUM(Fa,Aq,E<X}6^U$GPhqO2)%SBUU8N\v%zW %~c~iaEilp)&xܝz矀*蠄j衈&袁裐F*f:U $WGZ:J*)h:Ek?[w6vZcAzS\6촤f-w+ , &cV=$UI;$dl_Ȧԯ@4k'AKHUJNE$IMj|Lm!_԰,ugn݉C ތA3I+2Fd/J2AK'PG-T7@(T[U \Mmhl^ :tXa}_Uױk.v/@U6!U"31z9ZT: v,i.Y"4ʮº^ zUkwnzѷ6(+D]@N~*j58>ϑ(h=/w2B"zd=dB Z#! $Ȋ2զݏr 1bVDIA*h 3_uDԝ@( SW`A40fP{#AbB./=P !5|B",RIQ@BI"qWS龇5Q ɚ: &q -5LI7!ʒ@.ī#3:͸)ĖC!s3&Hf5bĊ%PϞj@r949J!ʄaUQB Pz*DE=hh4q' Ĥ3$9@@2P5B (DӈRE GJtQLj4gNaV,HK# %@ HUӉΦ^]K?԰qWM%ZٙV"e[P'ΫfV*U*!`Ibݺ0ĕM405S FZvEe*K͊6%*jV)[\8L{ D"!j'iUe[u:=O5V(-*#rQ^w{L;K喴i Z Y.&$`(,4b0(۝2aZ5H8 *z?8p=4n1LB 1Ū' 1kx7SkX 6=p#bHn& WP. .Oe PxlY,ydwy]ZěN֠U݁ >t{@ȧ-@ D@-M g A -hI[?mMKЧ9=BZt;j)BC"Й%HƼhHWЌ569נpҋuAMmX_֑F+ؤ6JMn8:UDH|p}Jv6FX ^V 1&BCW9b^ 3GzQi#`y>꣕iu;]R@zݛק:j]?Lt>>F(=gA.t+P }t?bZ૮FhC 6 Kf]ؔ;9͆?=鹺z+j 7\+÷xgq~ <.o܇ s >?yQ:^&ν}O{Vn;C.b&*9I:ۉuA,:hz9IM_jaQ3k 8uGyx׶\Vy&~ Ey9k6)[th5vR8Gyg+HuDjDgB Hk78mJEY :OBbWb`&UARTW3EqrU"tW V}Jo'b!iojR_&5UR%rQk`CX}jgRZtr\nPYh/aCrVH9X8rKh`?f%r^#JtsXwUL2" ]UUu|Fx˖DcBɥ5G^5UMҒILgWUN8^΅rM\U,δVG(Ȋx%芭h%zeN\5N8JcDq˧Nxze2q!c)DTMfȏ(l5x\BY =v EtDFG;41i$Y͈E6G0"T"I~HeV#1448 X^ 1=}T!ℕ'&]q9&KRÊwh><%wxi 縖BP%~5&E#gׄM%„L%Gޢa2"2!ufuPs44\)s|&RCAAjBbRNUC(H[R~iUxU'}ehV㇐%O_{S}Gc{{h|IeD%a{j}TFX.tHnqZ)' HwBIw3ؙ SIC&#m: V,8x>DbsG#v6y,67m k8l["sbrhW$ &b"cR&fogxqjf"pjvpffTeVڣ)~Pou%W39^&dWHrwz%qTGs[b ק{T}ji |G(dc8v"f צڡV^ꏡr'Wbo‡(ygB}U2swiZ^h]2G9OQق8]xcrUJ꭯Zhhd, ^媮tE (t(%$Wү*h&s1QA'3綰ݪ;,7IP{DjbZy˨;:j7F Z \ZiQ&ɗfs]ic~8q'UkjF~pvW6pՕopB=PY@۳] U_Kn:n6pF|V{o%|9~k;Wv?Чiqz@lbe*lk(smg 9]jm%9k1k &ES'j +skѺ/45˻|P+)蛟K˂({sŢ kmKEP)(grz Xg8$bv6[&6~GfKDUT{s „z~7}yR~ *Lo`~NZp}X6Jz{N/L}dܴxWy&v:bSBbQ2ұ1guG3O܊yyiy:Bm{RQ\Yvug.xf+aLxkZ9^Wbh\F#lnxlgcزux1?`,eRjegMcAˡ(QBrgHpΫD\\2hh6lm enmǀ]Zy(:j|<.W㗵wmXΕ!'R qݑ~KjbȮQ,% 귮s쥥3:\Q3"uuz~Q(5޹W ^pG!uIN.  t>k+ AlEaEj^-ͼoŔ-kDw)jixˈlwTvWƄ-Sn$~JϽdxb(0DH"F aEcB $ ɄR%KC*XfG-?'B1ud9L MxN9x=ʂVBEp)P]y4i֭Njn-D}X`… /\i{Dd(5q(=KbܶlL,^z 3iCo\0vTO>mw@]7Qn_eV圣oܻ BkhAʓߞE$u0uPT}:7?鰇tKA/l ̍0 Щ,B.…6,0€hBPT@gFoƈ.E+D `"1[L=KTot/ QH # ./g\ FT mL 8XZ. t< 3-2@4QH T:E1RҳOG%TSOSFm+lRU!=LUnY*HZsU%_=N.T0Tb+WUB"I1E]Kh]ھ 8sRPݝL773Cɷ}LP zv 4?2Ha0mȱx2!8cȇ+6@.!ebY A{bC!b0Q%h6R@\Ȁ>? %>兟n(+y8(%>Ic=XŹmxÖofbk"]ޙ R9K/떇&X F]@ tiO= ʮL8cwc݀ 7oA Wك␦7qyByJ߀O(~?##籀HF^=pS ׾^ qzr ,1Y\*WJ,K|%qv8a'w9[K&rZ AHnOnB3* }RbBX&67s$qw h>;:ˌhHCd{Ng@neWCȃtU-iGu,c50zzZ< ٖ̅Gӵd-=j>0չYŀa26d9ֳF{u!#iev{TЈSj׿ԣӝW+7,01#BmFws~m}6|]rZiuvuq<c q,yۏaHO'lFڋW,]02U WHW:_^,[0^BPYףD#]Fu!N k붖{ +IhG|Kx^uޥ[#h w **`_\.IOp3Iij)GUwb{* ~)=X ɥ=V]K  &msyJٽi[= P3r^M`|}ϳ=X?3#:sc>S =ٺ>M@=;!Z2#+9%4<&4ҿDdA+9A#B ECH!ؐػҰHϠp>ȚdIdtFIɜXIX FDʼ20 #YJDp3@Ԉ8!Z,ʱpt T4HLɮI=@IJIL|@,4gLʂrr 9[.r6)'ҙar䀐KLty9YA72͓Ii#k6T};ݤ"rԑ̟uZ6Y%sQO\8i̺KѬ9Z՜8ꔧ3NDMk&޼[i" J 2|B"1PD:ME˚+Z,r/%+ Pu+,?$JI+  uB$ĺ"kPPHPmє϶Q!%TQQQQGe*0D"#,E/}$%,ɬ:]N&"&C5 .Y"'sS$Z;ŗ,>-5 JbӶ=E\=5/`ka& )D}'-R$;SRˉJԊNr1Q?uY)!q@C$ꌗ<-1 `^uC 2cZݫY LIh=*"-dbV"rRbK=5˟@i! 2 iq'U?m ke]~uW)SXi-!5sB5M}C N3"o:u0uKU 1YzSdco.PKYX؞%21Bu0ҥD՗-2I%F}Y2UΪ6t%J-ZES=ȧYذ=Uᑪծ+‹P䉙hQV(˖bR'*RQ ;JTĪ ݈R([ɥ@l˝W[-Gl\Pǥ\oq 22Å]he\")%& Ѹ%Otېp{^6ҵM8+d 9hJ2! lU_ aߕ7xL= 8wk=UG)Yc =),$X5b I+b &~@cd!b1J@,;1 8J lr>I>nL3^/ 2c.=3$Pc/cJN ?d9B 5N4CC'd<,te6TOXBl(pQA^ðFX3e$ C \f<ُccvZhfhbä4FpH $n2s^NaS+oEIޓnfzc{9FgTPfg>S>Z}424GFe_Fee6a&v6^W&Od_љ$rm="(/[O-9ơQM1!i8%;Eq~εS勴Y$-n9/RL7 uKDHP cA +0$0J5C3^, ѧJUq X??2#B 'j_ou`:aWu*hgvaKel7gLH K$wm4kN pvxN wc,?FڀP83A)-8%r0*qW_y18<y>dW !!.A46E,?dmyOO<$SF5=)W:[&w\áo֜&7:z/"9[ Z󋞧$YzPwگ&.O<+z=B^I$w}(]#‡ß C: DJ׭@ |7'ͯ]\׿M);Q+%-q D} |J ]?G(G8Ŭgu,mI([ #3>ӨbVy VT"j Di&FrDҺf**,5Zw`*1zGPVtaE _ӆ痷%PX]lOnf۠Z{/ t+ <0|PU!=5lEEUeԏjE4?e˥LE,2̗W625,A1dǭU!53AImϾIT[ʛ3̝费=]'aO'YVGqw:\ާ\gWH )ݘ7̴ݓ=vyftyo O7?4\sc~~:9J 몹G]W;U MP=<ȭ|B~p/o7E;3_>Wt?5C26Av?AZwE2D] ='+ 2dVBvkb0!ؓCk }b0 R@#D # 吂 d_8:M~7"X!2$܅bt115RLxl<9E)sǯpE&tN eR(>D.y|$$%=NrZVǸ 2)xNrٹ\kjYR<$J4)K9WiX02KJ!ʼC.g䌚hXsD|S86 pNn9Un%fIKnF[;΁?dRRJCPjJ I b!J uX8! Jzf*K*%qT*J$tXb(DA+ɀ9)VP TԴS2-f*OYi$QC1zH#YrD!*"gGՋ?\IQ "яSGCMj SUUV+`8f5q6.1P.S"d7H %A@QXxF4P( ~!l=7> L|Ҷ5hڊ'mkSo[ 7].(N4Q+] a[l׹uo[RIYIIGX [KLR6ݷmNITvU؏o`G´ ~52YIePmY*L!~[bV8&< $b?dQ BfuYyE^4) 1["j"ŰB$x)YkTIKHT1>Q+sC`;L [`vwȜP2 ,Z4@! fu̦g٤ViP‡-xh2̇t*詡*Reu(HϓIA1o.!oi μ3.NZ^,]seޯh5l!O&VҖ^Qao[7XضTS <7 ,E8/w'[1N8TFXn?پ[LziďJH3qq7M9Vr|:ԸL2]Ā=W$eb7L9U }SL-44i%iRp0uM B$'Rq ` fKHMބD ^ 7  ,#;f?!!& 6aa>SD6`+QO"M PǼa`\DĤ>O *a jV\f!UTYޡ^,E"Ƶf%#$DPݜ"* PbPXP+B*(&^J*:j-"P$Dc11: )" LP|P."7Y^,)2:b3錋(@ 9;D$9A(@8jQԣ#:?@@&@6@P,AC :EAED#FfFnlD( M( ,A>uJ.J$\G&bdM*M.*!OX͸DNVIRM6$>=آB>uأe$eӠ$#O`B$@SpM$@GVإ^%#CP%^tL=c"d@@=*?jb[=0fEdfjb`">FL=^&'>Oi6fO,jfbJbE:D|df&n&ou$7)VQDG6BXqe'$TޤX @ybs$75FhA\fF)Fh(h;hBf6@*Lj锪&.&@ک晖h*iң="i̅LL>LBGN%A(&KVGyާKFjL.Fy=$J6'H:jLTFN%Lg 9$@;Gveu6XV*~MG+jL*I*AꨶdD袒k&@*A kJ>+A뉌&L0,j;kۀnBm>|(f(OcnkCf'B>b O`h栮ii*AA=h*C#c鈾hN,bi6TlJJcڬCiζg^&9,;:m@kcfj &B0nx.zhϖپ&!-:sf'K[$uE~:dbl*@fAG.GVNA$P.u'vXzj%HB@n+ujf+r|nANΤ*}.H⭄bF2.].R/p"kᦧj~oݎ/ӊ욎Ŏ&n-Vćo/nRi~oעlZiEfhC;d")!ǂ0~^#Bf0KΎoܖ 0/@䲯c,ehg*C(*pE\LFD 2Ĥ% .s6WPjknjOo:*Ts S$B@?'pΤ&/MFW`4WRpq#'gc>l$ o2'g6ҬKL䕆caۢfUhSgh~r@(+o-#v0d2&Zf8hvf|Nmgn,_dj2ߧe*wDL)2/lEpʎ3d/6c"d2O>ssl'?E0vS"&(M6'EX%#$@+JA/AH3뼲X.F{^ҥ.F1@Bg'FEJӧJti8x`^̚fR- B,Kp?䫦o.g=7XjnkkL( }6%dCUMD|d <#<~N@x|n@ /Mr쾄x{AxI+҃$;9ʤ Os|nHjg[gsL"[yDjH@ @8`A&TaC!"@1fԸcGA9dI'Q>Ld+Y D  S N<@Ek&:5odteR0 2kS\2vgAA*4hjeӴE \\,-uߴku(`Cu1`@MVb?)8nhM mrLSƖRgٷqֽwo߿}9@‹ <_C'|r1 @J}ʏ;7]yr?8s tIǿ^ЭqO8 ΩbϿPй(rp8, `4R%l'4 &4r&@ckHҶJb2z3k*YRMƵ22L122*N-Lj<7礔3ljNL`TK*<+PtSG/:%4[S]y_Ո hͩ؛ԁ |/BX"Ą ĔZ"b؋NE;=ou.4ECdM]d՝\8oC"`XZ_n3sNE2שxڸ&* =]N@Fy/Bb٣k]H`6`_/駡Zo :_pM쇴 mzv 3λ6 /ß~(VHq ;\ <#~q"s'{ wp!;OHAAy߁렕2{RFoR>(y˔'xHhO_ٟ-Sg v'c&M/1Xb@:dZ 8(<ǥ@٠AqO c| 'HgLvۗB}1^<}.JH[E)NXؐMJ`9Ҽn#{"fmm?6Z*TjJG)y&QaQ77j5dbTEE.P`:įr2䐐p1NG7ZX>yn,j'qaP Cbr>ON 9M~1r *HR CŽTGHPCҴ5)< JyO:tq( YF/r)eyHR|TX9YsǁpF*ʖP|OsQB!ԆJJf.'6|ht&zRE'zR>4PCmO `Eh:%%,ܬfXJ+9&ߔU%s UpSՏ@;BP`峠!Kr Wk!hYj3.90Px/mk-ckM&2bWKXu ͉j .3 v2~_ܫ:qE,jC"z)E(bX vbEDVb]T+dEBEFSյuҚtfZ`Ԓ< UQaCޣ"D[O%dE7O`{'t2u vc<}wDNm]255ema3bLRЄ)1hKL̘m2G04GSdQQn[!?!cl)rhSM)Ŋ:W'},d!rf3YE\U\.N¢ɖF.p(;jsE\eM|392&y܊[d1rx%>g浬NsX ^#Vƫ& Oж."1L*j 0Mk5$%O3M4ax2(K'hKN&ഋ^D%1C8˛vO7##r:D:e4NV{4C9ӣjiN 1˜*X9L"m(ɝ*Tr& O&E% *LB)2\)nTɭW|4YDA)KLdR ,Zt΢  Uآ0_lLR%cd r(?@ ֎_ٔ kb2+"$ ._4v@dCHLEʤ?c_#g.959c<@6z2nufiQZ4 Ooi:g2lft3m"i/ߴq> QUM&lp3/cxJXNggl3`j)#Tߦv2%k"bsƲ6;&wh6pìP͘O^a#Nd0`Z&;C@lY6Rq,dC<B8tN?`fC>ZpUԊ=twr[(D,d2hT.BpwrD5 hxdHmBazE7HNz'FC|/ !<,z H*\ȰÇ+xHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ+CNTУKnj`سk^r8sOӫ_Ͼ˟OϿ_׍A& 6}Vhfv ($h(,0(4h8<@)DiH&L6vP TݓTVVf%QX喼 mYi>Mlepْrix|U ~~Iq(h(!<,b (`*A #* ŋ3J "ŋ!<,C?S#H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNس+ςDËOyPΫ_Ͼ˟O>Ͽ( iY h& 6Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F:!<,!<,!<,!<,!g,!,!,!",!",;ssh-tools/cmd/bash/ssh-diff/ssh-diff000077500000000000000000000171151467604715500176510ustar00rootroot00000000000000#!/usr/bin/env bash # +---------------------------------------------------------------------------------------------------+ # | Title : ssh-diff | # | Description : Diff a file over SSH | # | Author : Sven Wick | # | Contributors : Denis Meiswinkel | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : https://gist.github.com/jhqv/dbd59f5838ae8c83f736bfe951bd80ff | # | https://serverfault.com/questions/59140/how-do-diff-over-ssh#comment1027981_216496 | # +---------------------------------------------------------------------------------------------------+ VERSION="ssh-diff (ssh-tools) 1.9" # shellcheck disable=SC2029 # # Some colors for better output # RED='\033[0;91m' BOLD='\033[1m' RESET='\033[0m' # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [OPTIONS] FILE [user@]hostname[:FILE] There is an extra roundtrip to the remote system to check for the existence of the file to be diffed. So if you are not using SSH Keys you may get prompted twice for a password. Use "CHECK_REMOTE_FILE_EXISTS=NO ${0##*/}" to disable that behavior DIFF_OPTIONS: All options your local diff command supports ( except '-r' ). See 'man diff' and 'diff --help' for more information. SSH_OPTIONS: -4 Use IPv4 only -6 Use IPv6 only -p port Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file. ENVIRONMENT: CHECK_REMOTE_FILE_EXISTS NO|YES remote file checking EXAMPLES: # Default ${0##*/} /etc/hosts 192.168.1.10 ${0##*/} /etc/hosts root@192.168.1.10 ${0##*/} /etc/hosts root@192.168.1.10:/etc/hosts.old # Side-by-Side ${0##*/} -y /etc/hosts 192.168.1.10 ${0##*/} -y /etc/hosts root@192.168.1.10 ${0##*/} -y /etc/hosts root@192.168.1.10:/etc/hosts.old # Unified ${0##*/} -u /etc/hosts 192.168.1.10 ${0##*/} -u /etc/hosts root@192.168.1.10 ${0##*/} -u /etc/hosts root@192.168.1.10:/etc/hosts.old EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi if ! [[ $# -ge 2 ]]; then echo -e "\n ${RED}Error: Not all filenames given${RESET}" >&2 usage exit 1 fi function supports_colordiff() { type colordiff &> /dev/null } function show_header() { echo "" echo -e "Comparing ${BOLD}${remote_host}:${remote_file}${RESET} (<) with ${BOLD}${local_file}${RESET} (>)" echo "" } function login_successful_and_remote_file_exists() { # shellcheck disable=SC2154 if [[ ${CHECK_REMOTE_FILE_EXISTS} == "NO" ]]; then return 0 fi if [[ -z "${username}" ]]; then ssh "${ssh_params[@]}" "${remote_host}" "test -e ${remote_file}" &> /dev/null else ssh "${ssh_params[@]}" "${username}@${remote_host}" "test -e ${remote_file}" &> /dev/null fi RETVAL=$? [[ ${RETVAL} -eq 255 ]] && { echo -e "\n ${RED}Error: Could not connect to remote server${RESET}\n" >&2 ; exit "${RETVAL}"; } [[ ${RETVAL} -ge 1 ]] && { echo -e "\n ${RED}Error: Remote file ${remote_file} not found${RESET}\n" >&2 ; exit "${RETVAL}"; } [[ ${RETVAL} -eq 0 ]] && true } function diff_files() { if [[ -z "${username}" ]]; then if login_successful_and_remote_file_exists; then show_header if supports_colordiff; then ssh "${ssh_params[@]}" "${remote_host}" "cat ${remote_file}" | diff "${diff_params[@]}" --label "${remote_host}:${remote_file}" - "${local_file}" | colordiff else # Pipe the output to cat after diffing # # test.sh fails when colordiff is not installed. # Reason is that a normal diff returns with 1 # when files differ but colordiff changes the return code to 0. ssh "${ssh_params[@]}" "${remote_host}" "cat ${remote_file}" | diff "${diff_params[@]}" --label "${remote_host}:${remote_file}" - "${local_file}" | cat fi fi else if login_successful_and_remote_file_exists; then show_header if supports_colordiff; then ssh "${ssh_params[@]}" "${username}@${remote_host}" "cat ${remote_file}" | diff "${diff_params[@]}" --label "${remote_host}:${remote_file}" - "${local_file}" | colordiff else # Pipe the output to cat after diffing # # test.sh fails when colordiff is not installed. # Reason is that a normal diff returns with 1 # when files differ but colordiff changes the return code to 0. ssh "${ssh_params[@]}" "${username}@${remote_host}" "cat ${remote_file}" | diff "${diff_params[@]}" --label "${remote_host}:${remote_file}" - "${local_file}" | cat fi fi fi } # # MAIN # # # Get all params from command line # params=( "$@" ) # # Get last 2 params, store them away and remove them so only diff params are left # remote_params="${params[ ${#params[@]}-1 ]}" && unset 'params[ ${#params[@]}-1 ]' local_filename="${params[ ${#params[@]}-1 ]}" && unset 'params[ ${#params[@]}-1 ]' diff_params=( "${params[@]}" ) # # Fish within diff params for ssh options and extract them # diff_params_index=0 ssh_params=() ssh_params_indices=() for param in "${diff_params[@]}"; do next_diff_params_index=$(( diff_params_index +1 )) # # find -p # if [[ ${param} == "-p" ]] && [[ -z "${diff_params[${next_diff_params_index}]//[0-9]}" ]]; then ssh_params_indices+=( "${diff_params_index}" "${next_diff_params_index}" ) ssh_params+=( "${param}" "${diff_params[${next_diff_params_index}]}" ) fi # # find -4 or -6 # if [[ ${param} == "-4" ]] || [[ ${param} == "-6" ]]; then ssh_params_indices+=( "${diff_params_index}" ) ssh_params+=( "${param}" ) fi diff_params_index=$(( diff_params_index +1 )) done # shellcheck disable=SC2034 for ssh_param in "${ssh_params_indices[@]}"; do # shellcheck disable=SC2184 # shellcheck disable=SC2102 unset diff_params[$ssh_param] done # # Getting username, hostname and filename from command line without using grep and awk # # user@host:filename -> user gets stored in $username # -> host gets stored in $remote_host # -> filename gets stored in $remote_file # if [[ ${remote_params} == *"@"* ]]; then remote_part="${remote_params##*@}" username="${remote_params%%@*}" else remote_part=${remote_params} fi if [[ ${remote_part} == *":"* ]]; then remote_file="${remote_part##*:}" remote_host="${remote_part%%:*}" else remote_host=${remote_part} fi local_file=$(readlink -f "${local_filename}") # get absolute path to file in case it was relative if [[ -z "${local_file}" ]]; then echo -e "\n ${RED}Error: Given file not found${RESET}\n" >&2 exit 1 fi if [[ ! -f ${local_file} ]]; then echo -e "\n ${RED}Error: Local file ${local_file} not found${RESET}\n" >&2 exit 1 fi if [[ -z "${remote_file}" ]]; then remote_file=${local_file} fi # # Finally diff them! # diff_files ssh-tools/cmd/bash/ssh-facts/000077500000000000000000000000001467604715500164035ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-facts/demo.gif000066400000000000000000002557331467604715500200350ustar00rootroot00000000000000GIF89a1$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$HlU$UHUlUUUUU$U$$UH$Ul$U$U$U$U$UHU$HUHHUlHUHUHUHUHUlU$lUHlUllUlUlUlUlUU$UHUlUUUؐUUU$UHUlUUUشUUU$UHUlUUUUUU$UHUlUUUUU$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlشت$تHتlتتتتت$Hl$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$Hl! NETSCAPE2.0!9,mHp*LpÆJHqŊ/jqǎ ? IrɈڐZjeJd`\LR5qsO@u9УDMtӢPFm:ԫTZuתC[kEvYhϪ%v,۶oE;m\oʽ;.ߺ} LῈNWanj?nLYrd3WƼY0g˚AŖ4YҨ[FMtVT&{5ٲkm7nڿo;8qÍ+O|rSף׎vݳ.wc[~oß׭秏~'`g `6 >oZpfv"H&*%#\3֘֍6:> BIF&J6NTVIky\%utdbeܑw^h'zo9i 'v9ib j c 6 2褑B*i^fkڅ. 㪪ꫮ 묲:[Yޘ(:)lkll.룔Zng~frj-t'x~knޢKcbj{oYi𔽡J¶6G ;k;loq ,r$$"m)lULK36\8 =3neKV¦+-W-k9(ԾR=uVӕ[[յ=`bӇĆ*,3mwx߭u߼K^&#x/RN6D[|M)wq{^覓zꬣ鰯챷^Ӿ5|e?#hv/ʝ9_}5/~+\{zK_'L$,t %A . 1X RP`AXFPD %(MA-|4І8s@H!H4""0A&6ЉKl!(6Sd El1\"(Z,H)QD&\B@=Hc )BL iHF"rld$)JR$5iIN"2*4 HBR[@򕧌%,g)ZLH&jeDDND/t4#!0L)F|&1%JgѬc,ZqD9mqtg:ߩz̧<~g@ u)*mXZЕtXL j!,aC_PnA(WiBb %JUЕfp0MKeҚ+iNqzRƔ; jOG&F!z4jIhJcIΧ.DS7IM$uL$Wx$d k4zT"cX*׺65wk^׾կt1[h BԅԄDЋFY-,d 4EB X>t,CWv74i.qպ}l}(^SwLWBg-3[vӜLfEUu&bxUl%/}[΂S.>Iw/x;׽ez8ұl`hkYъ,h1>V&%m~J0!IZ83 (m%.GԬZ] ;VĭDm`bժvT êbAޖ!&nMFr{t^ X&|L)[5D`͂~d/`Ԏ>Xݰ9<:AbJVnpn%ps:ϼs֬NW݋طWgЯӠ>QԡFSUZհnuI-Z֧uq V0.3)eEv33{e`3@BUbphǍrBuSxXD1v-AcQ[!y|MuՊ4&{McGr«++ ҵwAC9G.rfךɷgv|9v[^ї'8*ym^<tB/ґ3}FOӡڋW:ɷs'x>~]f/{.qp{v;WӜ6y?t;A|%Cg|/+3PGu|O=}Ɂ]w;.염zx >a<-S՟g_TOOm~_?O;}H(їWȀ8FWwy~Gׁ"V(*' }2X 98.x>Ƃ+8BX{7&%HȄ$؄PxD8FXTr<4Yȅ6=Z](^_kWhlnhKQqrvXxHԆ|~؇}7x[hXX؈d~8m8xzyȉWh8舋8d芬xEHx艼؉8ƨǨw̸XHH8Aژx؋8Xč؍8g(X͈hH먎eI)q؏ tшiyIjɐn Y"Y!T89.)5+,&I' B9D=y<6K7ٔP)R NiXE]9\稕dXSIOhIQl:ieYb xzٗzEinjɔqipYW)_Yy|鄒9kmyי懙~隖YY|i yY_'ʩyw٘ ɔs6)ɜYeٞڙiùꙟD9Y99KziKٟZc):֠ Y!"Z١* 4ʢ : j<$ʝ5620J(JZ;MPZNzVHjEzZjW:Jdڣbh:`\[^jlO*gzcjxڧYtn*]Zpj e:|ٝXjz:Wʑzʨ*)jJz *~jj J:Y٪*ZvڬʫЊ:HƊԊ Ѫzzê캮ԭJz::ʅ گIZڰU:[i {o;*h;&$/1kʲ6z)(y>+|2D+!T?8˳˴:JY [Ak0KJW+BM{bK^۵xhF;lKje`;N[p;ZX;knɵx;ia{tyK)~۷Gmo˸+~i[; )ʸ;=鸒kK;u+ۺ ;ۼ ҋ[&ǷȻػǫk;+ިݻ{;[G$+}|k{=[ |ۿ  | ,e{̾;X*G'l$%<1(|J-+ܴ8!L"=:uدkν>> BIF&J6NF RVII h#p9_y1&I_lp)tix|4" (jhfjt`騕>*iNji^iMQ@L 6`m*kڠjV򚫯 l|V llF무Nkm&Krz+.ےmV&b?齜oo1jdͩVIUW1|n #ϗv)r,_14l7ì;=B4A7 Y kku`-vdmvC,0EYdF +͕)7-x߀>xnx#+.yW>y_nycWLiAļ4.joٰ-{n{y@-J ‹7Š7;=S/}gwoW.jn@)s=~-"PÇҝlPkG@cpL Ё &qς 7^Ѓxga.sVZUIyy۟H gy[YW($:P E&RVD.jE] 15#T E5Q}юrMG:uc G?qclHE6##JR̤$7iIMv'CR UgDL\Z0!?rԥ0{y8T.Câd!2} hZؤ6iv47 Nr<:NvW@JUd-F .Kg@*ЂKMAІ2ԟh?%JщZF3эz HCJґ(=J(l)bZ:ԡ,o) MgzS괧; *PӢΔ->MPT7j[h*ժRQTխzժ]W*ֲaEXֵլm[*׺*Qwͫ ׾ޕP_ ؽUXCZ lA4zMBBKώִEfUYвVulO;fpZ5!+"pZP`nB\P׸Mu]H-_Mzo|XȚ׾|%-WV o[N7 .`EA(8uGQBG\F@0[mJق76qw ^:< FN2\d&#Jn<(SȍUHa+`.V h@F1]2`-,_efv;Q}pB YsAЂ D3ю4'}JsWҖt^]sARgcQCP󞣻:2Ga-qj; _2 3zl DEC]fkfg dۦ]Nm evÌ3!a.;KNQM/m}Kgsjnjθ7n'FTM1G'y]By.EMs ]-hZͯ-mmW;tDmҏۥ;PozԅspyKj|*J}WRw_(kQ uuk!󙹣X͉sTOx|*g3wBħܰ5_}-l҇P93mQ| % :^-e_w5O;߹džw ap:?Ϭӝy7g*mhc?c-aĥ?{cgP~w^'[xR' x\u~U_ usGyꅁ:׀jt\MWjHzqeUaDž<؃yEw[BFxHEuJ؄NPR8T_*Z;XZ\؅^`b8dXfxhWuQn`!<,E ="H*\ȰÇ#JH"E18P#G3(dǑG,i˗0cʜI͛8sɳEW:Ph" 4PG.5곪իXjʵׯ2?= ʲhϪ-طpʝKݻx˷߿4+അ VT#2S˒+kϠCMӨS^ͺuE(#m .`q 1Vb\lٷK aXν{Q3-@A/LJ@~}N顖} 8AއA ܃lVhaؑA]aU}!)%Pt(S`e8Jq4gn7̑(@_vij!G6IZx]NJTX喁E0vv0@&HlfC?tisxg!,~ "H*\ȰÇ UB@b"G;f(#ē(S\ɲ˗0cʜRm @@>hOAy\ʴӧPJujHWIbݪU_Kvg˪]˶۷pʝ;2+Gu-ܿM Iga^R#Kf r˘3k̹3T$ \QT 끯(Hl. Ŵ.u#pK--ֳc^࿋NкWKgK{ÿ7_<۹?R'T1\n7*Gl :5ۄU5܆D.$t nWX0B~1ָЃBhcu܎@)7H&鞊J!,G+H*\xSC#JHŋ3jȱǏ CI$GQ@˖&cʜI͛8s!̔= )`ѡH*]ʴ)I(U@u9U*U^ӯ`R\q@ЊԨQrk'aTtdoOpuD-3}?U(B_}) 5zoF q`QHaol!qA/2ָԄ]ቷyax!uMכ- Y(dJ^{5#vQu_]́ih;%&! , +I`T*\Ȱ!A 48Pć.V̨Ï Cb\Qɓ WR A:(c6dE@h Ś4e JU aӧPJBJVRt`٬ ˎ5gCCẝKwDBr˷ѕ~.! +T("FBmRZ1ܸ ǀM4A*]-.^ZYǖæuR޿qq.Y38fgCË7zvT WYoa F)f 5|m`ew^Pr yH*=(OVՂ*B&ȡx鵧IġvЉܭ։]3H]Lk{=R8^B٘X hdOF MN)Vf%FWC_Bc|qf]NAsʄTug!y|Aw~'C*hBPH AJ'h q:| B jP ((2hj' k_ 찪2(d k샣9hCгӆJ kHb(J.Ȫ.+iλP5E"k U%d.Ъ,)0I/2o~+ *J- qA;ID:k+K Raӣ4TpCBi( 'K)CaRa{gɆ> 2‡bsYs=,2s(8Dwh" 9xo;a abĸ${ &H2񍯱P(y(xC81"#=AP|= ЍOG]"#E@n !'>UpL<rOzCRI|rmS^t(^򗕡ݒ 0f:Ќ4IM !9,+H*\ȰÇ H @ʼn'V$b#Iɓje'cʜI͛8sԩb`O? ݩp@D*]ʴӧPJ`T`թXThW_ rJٳh9`ۂoʝ)]cߴ+^Kb܁&~8㓃 NհinϠ 9霞O-m'1<Ț*Nˤ-jsy\aWx g~?or fP0BV(sN2@AfԪQF= Hߏ`ԘQdZ}A]z߃lwLX]4!1 '|ѵ hw^|PTeG"IHH)>>v4xRF>ŝyQ -z_Y4FdA#:dSH7_]C gF(P99w衷J7wvf&54gZNע]Y}[i"FZՒ= mBe%fF[)K}QYVeןX"hY vfzMFB+W#坬UjZ_'#ܒ7;W8!+,~3H*\ȰÇ#"4p@3jȱǏ  Iɓ i #˂.QʜI͛8sɳϟ@ %bѣH*]ʴӧPJJիEԊׯ`ÊPٳhӪ]˶۷pʝK ԛoݿLˆ+^̸1U9oʓ3k̹Z:-i PîQqkTYw\*Vs_j%,ό``NfzBA}UH AۭA6{AHz"z߃u_[W(QǞ!9ՄLUh$&$ؑK`fGcaЋNЄ@ ʤ<5D!q^AIpAY"69ddb =AN% mYR62ch ɐ5FDfAl9zՠ`@rez )o"mu@R([H{rXPju+lDuWlB7N%J V;ɐv+ U!,) @@2H \ȰÇ#JHŋU0ؐƏ C@cH\ɲG"VIfM6sIQ JB1F*%sӧǘJæVj]e#س6UE˖ԶpI 6ݻxjE~ /Vh)ǐ#KLu(V3Ge`gaGM 踣2fT[Z4 yuk̛w=ڴ{g~-PvT:WUzn=⤫w.׺Z9f㳎Z=&UW jۿyͺ5w!,/$u A"$ !QHŋ3jȱLj!N HNLYH/Ul L6iެrO@cdQ+)I"jhTBZ~ܚNB^~ +׫U#o=ܺw Wo_;x/~b; y˅3G D *:۪^͚i[[CD q'ԍ@ Mvw'wχG(Uek.[4S EP/|˧?= _?}}緿Emxh& fUFAр VhG*aB"ԡ@J(Q$RT&"#!hQl'y*d}Af4~@E^PFّ  &9:e]QYu5)gf fxjl™ԹsY'?ڙhfTE D&袌6@E֍FOVuVe'fu݉/:5z"ꨰ몮kTQ@"Ep*^vig*T,*S"B[2-wem֩~ZS}V֋)+pk00m*B@ipgFU+|-dz*(rJ$ <3: Nq\hK\U%tRw&WW\o`g-va=gفZj>*-tה jrcʲʴ,xN7*3g,gmꛑZnL[+؞R:mzǮ봻n>F?U\/Jz#B9#ol<;S߼[=s_o/~䟏B%Zatokbr[ 4)A$4H)By`)bhp+H/@  MB&d(| Ɛ3'@(  H YC2)D"x"FAQbEzB֌0#IYV6 CI!G}(1b0TQpl1 XxI`#neJ&RXq"%1RVD*T򕮌#o8VqK]*`"i`V$\MFNѓu$рIMaJ״f0mz3!0 NmgѹΊ4Q,DޙK#ġ@$ )*@IJf"(BQW$>YFyJD Rf?2?4pf1RsaFPϢh;9 ZУ5}}""; Nw"Q DB89+FiBj(r_UbXI>իkZźVc5[VUu[׽(J<:7fbm,Mi 8:V%mde3r%Rks& G{R(UEMF V':т-$4Rc#kZĂ'm1B[o"0sKCl1JH*ĻiPMEr#]DNnİoN7rR6w zk-l?= [$~n=U֧R AB)N41<`Rwnebv(\bj$$KhV+LE-~C9rd2W){@\M 4f,!6Hͪ`SㄬIe3ܖ$|rLA8Nt,/Wǁ'MJ[3WL{ҠN@! ,,H RG D(P#JHŋ3jܸ0F6$Vɂ&Ȋ++a Lɱ͛8sܹsCJѣH xԠ "JJ*QOjʵWjKfTY L۷p0"۬u˷߿8`dKǐ/<0}xW͑Cu,颇 >ͺװZޙ9ms ͻk n4sԻ ȣKD6iR>@ /<s"$P?(VV09!"0  I6ӀY)B!~ EPh!1FR )c|bM"~QhcD"4ʈ@V4 C"f(P5F]{A7#X"b\|.xd6eS"1 W.g!^haqI 9Fp{"ńwi*f;Fgay@7*Pz8ꩨj`!,<G,H*\ȰÇ#JHŋ8aǃurȌ(S\ɲ˗0cʜI͛8sɳϟ1UѣH*]ʴSD uӫXjԪ@\ÊKٗ`Ϫ]˶۷p/H `n\`˷߿ L9"^̸ǐ#KLڨ3 jP^͠CSp@Y([@A{QYa`ۇaEsD'% Q֦aܹ# >( ?Ⱥ;B(_ѧZ>Y񻉗pq(\[ \~dP݂)*{ 9xkrF{5~AW~6#C"@dbAu(.:f$a~b)LV DH"zcoyc\e!ŔjX&}R碊(J@m %>8(jꩨDګ*'j++ !,:=/H*\ȰÇ#JHŋ8*c:i 9PǓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH!PA*JVjʵׯ`ÊKٳhymڷpʝKݻx7*־ -È+^l0qW@e1˘3k& ͠& К$ ŊqM "Cἓ mƭZU+5pY?>y]GR֭/71>n?6Zg{&vj^H~ GJy r "@%ŠB8|[D)*c_ZԡK 1;XEo֞mA%E2NAh@A!vY[i izI9W矀*tU(C|袌6Uz:jW@!, y,H$Ç#JHŋ3j1!C Xɓ(S\ɲ˗0 983͛8sɳϟ@ JTH*]TO FmJիXjʵD+ JٳhӪ]˶۷pʝKݻx˷߿ Lű Ta?LY+,/c̙fɝCyæ> :qi԰c˞=ؤA Gަ[0&`B@FN=@ɹn "CܛnOrLO}u(7\?{qc']y߂qEs 8)M~ f*4Jxwy$jHz䠉 wGt T}(Pqx~'㑢 :՘ӍA2Y (%0bX"ߔS*)R^GTRH`|-ESZxLiwB眊(R o+狒>馜*ꨤjF<>#!9,P XÇ#JHѡ ȰYD6YD`+ $5oŊDȐRJ&)Ģl"ړ(=a(NE\MQoFYէU] p,1eykTc:tњb=+*om wH7efZ$ !Q 5ĜSDA2ð`qj{7DXb8P\Nd@!,9J,H*\ȰÇ#JHŋ3TǏ CIdF&S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵ+E,T Yg]˶[jʝK,ݻxo޼CÈ+^ܐ BP2\! D3gAc}ӨO^JG͞;w Z@׬s'=-)G(6c+hz*aϳ8 9Gu=e+>w?%::Fg/'Ei[~8 7AEo Vhpȹp淜  ! HQs%._0(4h8<^^@!,?H*\ȰÇ81ŋ3jTHɓ(˗0cʜIs#7kIB< E9(VGEEtӧGJj*XZ$utW 4Y^Rs[\t;֭]jTz/Tpůy^pWuKN T3ҥH4vLiQFK8#24fظ#MgNȓ]A@!,(H*\ȰÇ#JHfŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴE+ BuJիXF5_%",ю];plʝېDt"W`߄" † T `ըǬFa`eG oQd@y)aH"h;0rdR"'pvC(qnٹ3ѠIٍ7`zأj&澒GxhԍVY5[@Z_w/@dʭttu)6J WPcQ@{EVYe=|{=ziW_bPasNx&F3_`We Tae8T 1M!,&HHB 2t81ŋ3jqǏ -98`ɂ'C\0%˗0cʜr͛8s󣚁?{ JѣETӧPJJUJjʵWL~K٣AϪ]˶PnʝK(܂w W`ߺe >8/_+^8g Fn@1E@9#gB Mv2 E_6qQMwgӣ(‘Fo bVny N)8I*VhH"}+1nT O9w潋v QlFMaPGXTQdQcg& n$cB}KpT| "9uT夣 <0b$m-0i ]#RkQJ,jVq;f].>V *0z.vSCTtA C?$`C!,6$T!*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ (N+*]ʴӧPU&B@CU%QTM9ՠю]˶mP6 YۚBnTH ,x(ì ~#3IˣdLW熀#F QO'N ϰ[`fc[tiHRb3kX0j˶INsFWXx}SwW!Qޜ[/OqH?{=w Eʩڃ!ric엛pAad.sfሟ@_9|,EcA({5AIvP@!!,K4+H*\ȰÇ#JHŋȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊR hӪ]˶[g!P]*T Suޕدq ǐ#ds@iIެ@=  4gO ֮WM{TQV;&#Eq̽5F}zw+n )῍/>`jENlNO'5P֚7v߂y[ig\y 2hD5{vpy\M(J',7\tcW@"a{Q t4h(=NKV9PavY d &j^*`AI`Wlz9!/,+H*\ȰÇ#JHjŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*-bҧPJZө" @_F U ׫eŊJPYjʕ u Қ+@K(H #^5QD0Q$0kF0Ly-,n$Fzu+9c8{=jLڳm.d]VHVfrpqLjH"*fU7}_- sFǜ3oLrSso o5J}֚x !gXb)Ǡstf&~&yM*D#A(X;]( GG!,! ,KH*\ȰÇ#JP )jȱǏ CIɓ(S\E+DT! qɳ'G3քϣH|IPМJJJՖl `B9V`Y5KJطpB@ܺF;*(rF$+F0L] KI$,#!5(Ξ(iرQ =MX/Œ$ ϣ/]xţnLʵgOL|yf=v+w+/z$G˻g9GOrĕ<&_IHXwvi߁!'*h7F]o%^g'wa`l8jhBuVqWP#[@(dD6.!,KH*\ȰÇ#Jb U`8Pď CICn4ɲ˗0[V,(#J1sɳϟ@ds@i ]ʴD DpTX  ^WjTj]˶'H};Lݻd;*CQ&(*D2j.Ux)(FAB  ]2nޭuC(|81kP bg_lm;ͳ7:(BO|^pk]@v7з( rNw]jc (.ZWፆag1hN( |w8h(~h-@2F!5%Q"@)gaP@! ,g H*\ȰaA+JHŋ3jȱGb$Ɂ*>Ҡɇ+cR-)ϟ@9jPRD B B*AH u(`GEXh P(2oAKZ"!5(~<*Ca;-ǣDܳᘍD@2 _lEn[%xჯ B%$unhc"@϶ʍ+8qd{n.;ݳ| Ciw$ u쐩vPV{tC19@mW!aoikA|(n 9Tϥ'u!N6n#tU9Wۊ$wb4"D)֨p5 'Mf{nW*wRڸV*;p݅.]=)|w !<,m)H*\ȰÁJHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sܹQ @ PA%)ҥ*UիY-Ԋ$r\5," T+v(2oi Ԩv&(VhDa'ʍ;@`P|;(}麅Ke2>WqØ 0Kd2jG~]0໸J[1eq<|!ٸnBjySx` 3_!,.HAj*\Ȱ!E "C3j|7I 'K0J,B@2s&cTAϟ.wV)p8 B0F$p4SGD*)օHHuQH:eJRC>z[0ܒd FgWPu50o"Mv,U1NLy㍙6!,1N+H*\Ç#JHŋ3jȱǏ CIɓ(S\ɲ˗0c4bMks ?S8$JKD BT"X!+U56@^"[2i";j/Rct8xspAn:F81] ,o6hyѓxfxAtܚz5`-+>}5Qco$.N+ϣ+= !%,".HA+#:%j܈G*nI2"<)PA(c D0̈@AsQ?Ib5*@7 "A)QdH 5Ĝ=y"5JP ")Tg0UYʦkѷ2}:oUsFh:ܡw"YWҳ}Iu N;{M\^TL0 "٦͛h}*ԯZҖw6}رV? 5nRs sI} emg7\wo!!,>H (BHHň.ȱc':鱤ɓ(/9jJ-S, BS`ϊ@AtQGY!S`ә J(2W*3h$|%5J)Y >-Yc[cLJֺq{Š;,L*WV:8TfˎJ+ϑژݫRZ`QQEEscpʛ~ uOvmtܸVMM6Ew;s֗9J¨1OQ&S9{*׫7?yvgH 6A!!,B `AU L8P6PA3ZbD*>jI$R /!BYR $P̹jTϟ" : H")oԉ(VbM(ƤIbJ3m:U6YBRNi_n* K,lq" kIw:;}G *%IcZm9csR2D`!l;f^(QИzeDN0^m'! ,OH@+ *\ȰÇ b"Ń UbAFBF*@\YBV]YB m. >WJtTQ-AӧFJ ã<R(VMPp@$JԶc8w N$H" a7(6~*۪Rԋ+XbG=+2Ju[ղBP뵴цF<5nCY;j߷\_7 i^ ά)~njnp9(5̲n]V !,XH@+ *\ȰC 88@ 1XPÄѣ Sd@]DB5@AA'U @E "A)QdJ%ӰUHj֮ &dT!u6X4 HX: ߱iVTU%Qa"K9ԲJYaQx:pLin;-Cxŕoױ8.ӭmI^nK)O|Ǵn e ͬr2 \S! ,F4HXÇ#JH@ETq@%4رȐbBȓ*NIs"4A!!$PMjTӧ"@jQHd݊``\MUUjڶ ZIɨ Fu%C+1 IxP'o!!/,!(,O,H XÇHD H1E9:d"S\)A6,@(8E)g  $|EfLH$]΃A{FJPJO 驴+MWڴ4 гV\ԫâWn]Wɔ]PKnFrOF0 ?1N+bgΔ :k°r&!,afAXB!JTPÆ3Rȱ@:l(ɁPP 5%Q/#@fQdp$sK/$p'NRczb(wɓϥN"ќIbQa=;J|EeNP3B@k4mǮ#`'=8a ! ,{.H \ȰÇ#JHŋ3jѡŽ CIɓ(S^\1p/TI͛8s,BΟ@ J4̢H*]ʴӧPJYgիXpAZÊ;(H̢ EXpujx˷Yi|۷*΋KLe_1A@@ΨSkXV% f<}g; 8ke0DZڅbNQ`Ï$l>т2E1n' y!T7{7@g!f()xxۄ̑A(yo(coߌ8]@Ɵ䑨i!$e ߓTV!d\cbd]9ih#fpv5PiYى|矀*蠄j衈&z6jR@!/,? H،2p Ft81Ê)fbG-(r#IODȗ.c9Sf˚8o,N>C6X@zi#U&*PU^fJ+׬UϚV_V{.ڷrލWXlUvVp㲇uL2ȕcdΆ/L& Ɩ}p6A۰qî۠n7ď+myˑ7yթ_>ïOӫ_Ͼ˟OϿ(h& 6F(VhfB ($h(,082h8<@)DiH&d",PF)TViXf%}`)~`dfh)tI$Viy^9~i({Pȷ@6UjXhGS-HJsFA D(t嗜q\ڭuTm6* ũ@lt@7)^@*ѱ7wrW: om{!Qy][[hj5y 7hR<gN Īje =,KB3#Tg =,|{Zl*2 )Uoo8wث4)^=sϽ2ӌ SdjUBAJ1(J5+l}QNDAsSV3VP㦋XLxiЫ>ĸR_>mX9$lA_ ]½mho1pAX/W= ~W0Hp ]d*I gvmR킀L.'Ȱ{=[զI05]Fݰ6#֍" 6O,M< ~ @Rvp{ᒐ1(e!RF-9!2!!pgZG({dSF,@TtG`%Ϻ8td (Ib@Z c *( &C⑧s^)AwbÆsh3HDIug9Y TLRFN-V$J6Wn/͏t-Eq<]/1U|ɼo-o/7$׹;qa#5 t6]kN2|V햾F3` aN 0 ]\] "#|YJ޷}ѼVϲP5`\{=j D(v.O̱6 @b,0TS8CjT08=%Ktس\T_[Mf!nb,V/*7s{UNq{6q)_S6ctK^VL2Ollf?ksg~+D"0'l IE|8W)ScCPa.[Ƙ5+/ӠyJli1Ǩ:⴩W {M)ŠvLU^vMb<ښ [ۺ3!2,n;I! AT >tȐĈ1Z(1cǍ ?j)dE'M^T1˕/[œ)fȘ7igϏdHѣHaENFIJuiӧTjMj5)ԭ`vE5Yc=6+Zkۆ#Vv˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνË}Oӫ_Ͼ˟OϿs(`TQh& 6F(J6`fv]~($h(A,xYXb@zcVCrVv!g,!d,!!,! , *H*\ȰÇ#JHŋ3J G CIɓW\ɲ˗% #̛8s괈`eO4w J(QLӦmrhի "9HӠ̟XÊ@NӠڤ㒝KG$@A Z D[~#U!Tr@}-WALtFŊB@M˞=1/gxa+d:!o#D(T£֌WoUJ}!q iBup7W AkGO)$!d' Vh !B`Q1dT&ڄqVdS^Tm(kuNdH(l߅/YM 4 3DdQ8 )NcI"Q%(dRa)UM(V&l E)gaP6Y( TgsIog~꒝qf me-%\BjPwޙ'UЙ3B E ꪰ^740  Q+F*lx!'VlC.ly }z.Hb@! , H*\HÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗$œI͕Qns⪞@ jRfHVD*sӧ#jJHPjd`WV BJ,ѱJլ۷)e8ݻ~~D V u/ǂ L2:D*0ǀ6,Q lvs섨Ue 4۰]5qE-a[۠Zb ֦ߣom=(ᶪ;Ͼb$P@/ۦsϸw͇@z!x`E`^_!XbT%X(cq'(mDރn! sD\z͡Qȇ+tIA5jHPu;†,:Pa(Vtem9Ri!V&MZF}\ʕT7cn9!(RI%!%fimnID]AVcnvIP奒ji(dT!盤2:kB$a}*dwᦁ SNQ,c>gA*G-V5y m^t7'ڊ2]@өZ«%R@$Z7{=z;PN JB-<ƢFl Zuޢgz/9P.Xo rlP^ G7or[*):ʛWXQ?'̡B ]-B/_|ұɐf56Ȏ|ud'D#}ؖktgt}?M+2Z`0H]l}UboL½Q>dޗ/btyn\=gx^K.RzgaC2מU=ԧjwCm 5Gɂgӥ$6Zݧyˋ<zA7gCxa"ՎcK*7*,2MW6/=+6h=)Ƨ$~*&;~ ]24ڢyu@T/ެnw|EJmر`:j}BxkRP2.qCy#cGh) Ex>=c%ʨҘӛPi+TN jўک 'kImif &Um7WSƉnjf ; o .u] )F{P$ks:uoմ&smLR"R&L@x٥jFFVj 9+d&"2=ͲU!݊dxZԼp=XpgP?q7EXs am.$QhZ4O*T@6}{3G@1 @$8^E쒕eS^ 䗥LW.}=Me (46=lDk%8 `lɉ,F;Zsݢg9#n҄}| NP$]( 2.N,'O3B= ] ZnT%V , rJ\]񩒃ʝ1>TtjѷPG,NaOp F8oҥt&3YRߵӔI[~h-'pꇣ;*R$m{BX.ǭ^M_;>ݥ•PDQY)jDlsn2{47fstfԏ\w-v<(HjeGc\ By#9ۋ3{5ilsAOSI{D׼tI8A _Ȗ˶R:Ȼ3ʵO."'O(j{cܢ'nŞ,yLi^Jߊ)WpY\TC6?MRP b}-B0iwH3J\Zf͕"wV΄բ9% Jihg+I76ŴviVX#$5D^%w.-WD64?sGpBcg{Z͇Gsl ebU|7ndG6bC4#BcWToRSLxee*T0pLJuMayD08= G84N:vol$.<{*7),.W4Ts\#d?%~\rETP>eXN8]{/_(tJ7GZ[XK،Lmg%FXu^A'}y'4))A%bRy6e lГw(o#7:Rcfp4UscfS"Xf(CX'_W]kqfI%_J#Hwex~r~$]w2sh@&2h7A8 l%HuHig&WE?HyJUT4IxhZFaOslR^%cE5em}ǖU4s}MXHƅKcwhvZ/XX3~iQ'l@!TކbIǂm3oM&f)>5ys-ֲfGEwk4jWu'285TZy;U9s1*=~hP(9s9P(hhGdvgRwB4ӆʈ JiJ8>'K8>!%)@Z.=ӂnbj.eiÑG8xO>)|( E5ZEz}ȎՂL)%+N`azba>UrPcH,ϗo|WeBo5|R7u~dǣuU+iO z%FGV0Ǥ~fBq,lʫl:Xƒrd45׎L:$| ,uqGUdBڕmXV yT2+ƐVkly)Y$Ȥ3@f|U; qR<@V>ᛕԀ@g=sP*SXQY눵 P`bX|j)ms*h@d[ +ڧĥmgjatvdNr|#J+s[ Y%CȭO25?MvMowX Nы#H+):o9hN FXx@iYGe[j87tN֖+2MXȃyGJ3p [2Q:#*5H`IDJ{D`<"Ԋ"cxFKj!`bJS ef4O"X,$,nmUI(T>䨤x(j)Қ 9?{zʝ <MhCB_h_" 4!n( !, H $Lh!ƒ :8@ !jl!ǏCJ|bƉ'Mʔ(_eM*oI'ϟ6}sPl&=ȴ:YA8Xj*ׯ^f;VlײhϪ%ە`U߶ Au醵[^~|p_|auWǏٌ8`傗 f|p@@Lri̧5C^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v7Bd)fhiejprix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l2@,?E$2̚ 7Ħ *aL4)&8#m)ɳ@W!=ulXDAYu[}fot=PW.8wM-PYMFĘS[ctUo.\θA˖@kzݛ䰓.oӞ7%k'M{%qz uM1@ d|]}\mcϔ̶jw>A7w|mF?m;lǜݙqۉ}  H $M{gk %&kY(l;T8>u{@8!Ά3Ԃ6!̓ P F<X "I~״hankMzvO ػ5/ K7 Vyucb|(6 9@nN!HAbώQ!G6dZ<ۙ,r7C$i"+ Jȼ̔л0ED a Rb2f:2LM3GjD56F(j)|fSp nN&&g)Df'9yQMq'>g#59J FB Q*qH(M|v#7TgHQ)/"B z4*L%Ażf J;msc Fa>r.!L&O H4l;S)mF^MMWa yD:Q2[عꓞ8dVN&ͭBaU%gcE{$Jf)% 2?"#QhCEQpt !+E뽥"@@a*YJŭх4r/QmŭB;>")kMX[[!W=Hf&LKk|+ϐ*lp(Xt$iZykƮ=+ v:&<]/Od7I&x%9)Vv& V[ z.X0jnO{nQ@d.tۈ .!$BƐfp.<t@Y;1b(A;ǼPUɸݩ튴t&4g~ c QҸկ@ JbU<MK43aWx*]uɶ9wxDŽ嫂LM>楙V b,6)BjC[Uخ#6vM٤ @^[<]/m.d ݚ 4y5IxlY_պUgH[fo]pl}/G' з-ty3Z4V3+o+`+2ad*fEКlܔ/ϗRTg>3}0GzEε{9v.uUz%BY0ROw(JpkCeVR)|nrW@KbϾ{;>dKYc2cg*~ % Ԁﴁ)qdq17u{>=_#7هl,s>g#_̿dž?t.Qm?C7ƙkFk7>n۬·{||AWQIg&b7ywAWDg?#5E7Dcy@D<2CzQRSw=uIDzz;TÁ'.X;7d HT x@gCi釂8} GbP,+K{G!|98§AwDU ZeBceFQZ?3 pH2 ؀cy;CaFghzqb11f6 l1C5E8#Sy:J0`hLw| 3WUv!&l҈0qT#s :2xX2!, H $Lh!ƒ :8@ !jl!ǏCJ|bƉ'Mʔ(_eM*oI'ϟ6}sPd&=ȴ:iAuJӁS ׭_ ذdϚMK0kۃnþ5܂u޵ʷ_yL*Ztfb1!\2A1 lȠ';MӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhf{l ($h(,0(4h8<@)DiH&L6PF)NiVV\"e`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wڗb,PE1b(!0#!b(l,&72;@3'lA'Hִ*+RW-,s  a̴a;1F3E_ZMֽ3Uc0b ݔUE=vm*Fmk8A$ ZͲNaܸFHxz wcܡOKzH P{_~N.Ȣ^b@QR*|NA(eK~W $"A ύ@ԽMP >|qG([[hB[ZWO{ $ AH fB+ȧ $c A@(?b 1#@L8?2|ceh+sZ^̸CCx|g7,}s"B mM4An|\&:e_赻yn(Daf/xd(`1`ڦ8 .}D+b7F=䏲BϋA:9J0ck!Ntb|ŏQ}|*gǴIωwkݎBzG9G*$nĄ#viMy(Ijb~(¹o҅l4c< - ºQbz%¦VD@y[qpxa&iϊU@2 y(-GQ($H ⻩Fj= yԣ =1No%u JRkhXJԣc=oz˜l>N5Qazª"װӫZgpG !,ZH*\Ȑਆ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@5BJѣHY4)Nk6JիXj95'_*ْQΪ]vbS$ ɶKnM Lrݿ TnÈ+^̸H_Y5츲)c̹ΠCPZS.$հcw,biFXz Ihē+_:-[ MP8U!Ojk|}ST7eh[?C %$~"X`{ aH $WkU{D+V)(((A(1@(*c-F5d%F @%ZX ~I % eb_ĈV%BUdQ)&h"jTwB=DTלh fjn(r9@,* E}%)#BvIb3haUhc y.dbSzjPY&+ Ѻ/`xHx viIV o $^ \b'A6\ nKz2LhߧR7gS֙ ߬rٮ˨,4JS_O&׳t. 䊖"-C_Z/HmeCmJXb闲JBp^6n t{+t-l:u3f bvw]]4vqPQeb'婕 Bj{5ӌPӎnUZCu~ӢB“77Dq@򨬠oGZӼ@(dEBgCcowEa \ PңHix**`1@ beaTZ4Y`JڜAQ"ns>E2 ^Azʭ%i]Cا:qض+!Z=ridn>A ;v/|-T[t0d(4fŌ:r8'CQ,u@b̞D- m#K Kɋr>LjxD#yO~;!UZK"朣RiQR%ҋ";)]2ו ئ!>Qe9;S$H!\&.eb+qD#E eh4!Py>R+_Ԭ!sz(ڠDz7 o=YVU2 /[JVӛ2b# v,ABB*&ЍV/RNbIq zZLt]R[׶ 7{:OTL Tg%@DZhvntea"V ,m}Nס Į]/ҔG"-,K\-3بTMFUc#[!<,'VH \ȰÇ#JHňfȱǏ Cz"ɓ(Srܨ˗0cʜI͛8sɳ> JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^8/Ɛy*L2C3k̹ǞC-ӨbNͺװJZl'ǦzwUAٛ`KB@ꤕGAзp~Iŧ@Ö\IYECDeRkMw~at?Eց$?$o?cKY`aAY1y4Ȓ̂njV$9]y` _9= OdCR:1DFL$e`>ik&D#Ї99XA=FoR2]b+(Q#;ѿ8*o"UZU7Ae VA4@0v@d)qc puŐ}iưيmI\h>itK:20)21r+Q%aiJt|{Hr85%b 2Qb@(SK@ld4f"_1ydr˚MRD Hbʡ`w(`e.Q9M%N)Ood|z^b#P7H*4aÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳO 6@ЛCy-X̥6)&}9jQj(2gӒ5װX*`c oO~z zA!s ]NQu(Hz?'IHD wGx|HUV摶zXv Q}A0x7BiSvcp5Wd- D|vxq.eV.$J $@LV`CMIؖ deUISC.W%Tf؈,EiU@!,BDGH"TX!A FѠD/:EA~1bɑ"O$B03|9aL)[4s$Ϝ%dS`сG$]j)RJ2}J5jթVbZ0i׋^~Xe%b[o-8ۻp˗ŮuJ:ba&.`くDl2⿘3k̹gǖf<ӟS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,#f\@A2KT2'\q @(.:rA7 |lu|1 @w4<+>kUK5'P#Nt[6.G!kllvujl: Q >@~W?E ;:ӻ+>H?(Ǟy`Fqm(>4jG+MDr強<JXCYFq#+any !f4p9 jdUg, lX\, ~'Ĉa4$.i+ׄv4*&"1m>F!,"dHIThaA Jl8aň#*tG vQ$H!O9ɒ-/h&ƚ8_TϘ0Y2$3(£H T`SO2*TRj5+ׯ^*=tVDU۴iknAw\_߶;,_:']\PA!7~L9rɖ3c̸ϠAK&8z`i^}tװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(0,̽L8 xs@S3<\/) NmNK@N3}j-PG'.H@f2l2H B(cmgwm6}mݤMFV=X6j2 kv 4Fz+NA.A߫PjG| =J݋N.{ۖo.znϯG료bn.^7)k?^߯K ;xޖ= D4@go6^C߼7  ZhQP̠Pw!,HP  "(HÇ2t"E XQĂ;2<(G$+`ʒ! D&MVpQ$?"EfDEn4L$NwlPDI%U@5$5MQ-!"Q?n%5d4ed'YQ0HQ8r[7` @@(i"#\t*QS-nG %E2""\Zuj J<;zjtG],fR"\CqPqŭ:y‹K?2k7S| %GT C v!,!+, H*\ȰÇ#JHŋ36C G:irȒH8)JcʜI͛8sl(`O? %8tѣH*]4O F-8`ժMjʵׯ`ÊKٳhӪ]˶۷p2zU`]w˷߿ LÈ+^̸ǐ#KL˘3kތ]rMijN^ճgHW,`9_U7eTwhǁ+_\,=1׫^;B_|I RFЇNrBӢ{A$X8%‘e<IPOz9ѧWQoXmDZ2eo#5=t Q:g1Nye>f~Z`NE!rR_ m: nI65܀N.-BgBp'Yq&4ie,vB/l_{$qM$KΕ.,(@k)dE0/ֳSzkB.TJF75v[:XQvbͼXrj+`]% ;\v*BBk4eHثc=c@Bu#%N%"y427 Q9Xol7%Nr_[O*WAL3Z iFF훓Ϙ9EGg3ՊlEg%tgCG8Ìt<cZԤZMѭ$ZN3$Te6c rZfHk-1Դn_x}f=oF:-LfCGa6ԋ>凤TtJS +M+Pa2&곙VԎi3mlg %X=nRn M!t΃L'xkAXˑq62.̻9i#޵lZc4'4 Te|fUt[ukNdy%Uhe~uLz&i#Gm6(OuWmkQhV7g|0)HVm Ճ&%bo=u#3o\yZsHDXlrST~'TW7{XWaJx58'|+ZYpb{pxzrWjV4N2]Շ^*6yZiɶz>-w fGg#qqx(B.Gz_g_yqsR}0?G(2-=5l{61d`nz2x-H*6vFX8xE3ahv؈m'g8no.QոD\eHW7QAH{WwUqtWwCH|NJꥅ|( iwV˵>Jx&QI}t9VՅ\Zx/~VdX}ga*!{GNt2))b: x*8g'k-y&IȔazULs؅\G59*Չ`&6T=ŎkԍiD)t-C1YB=y"vvs}$eGuI?fĂ2їlwlцh&fzxUh[5jRYh#dEssqwv']8i9UWUFi ׹F*kqm#F|HrsI͉V6tU&1 tgU闙e?Kp#hn#O6)IH{S"yR&ezo Z iZ_xHZ'- (r~zC7q]9Nt{lXR;@:JtZ9TZi94_.Z'}ɤ!Ru0f1v &yt}W[`y^lY9Å)V8VY{zz)$vAqȃ9wl4t@ySfTvکJu89՘KfWYvtN7Jn7wѥg+MGFZ7uhfFyLT^:YmZY51~1yym 4y3fUv(6QZ.9SgY BA52W*x88rq{;ʓw֝{ ۙa^)CTT:j[$A:6.~:]ez]愎5Jo/;Pf:Ck:) ogrG+ |eԸvm9PaְWv5b Gxwc)rRTz3w{y ɶqH(GjlW֘ZG z뷕IPZp QiSWވ2H& ѪL ӑ%wWzqc!ؤ-{_; GXhkgL#xټ7!Y|*kr ˼ܫ3o\y?2IY ÛLa H.z櫥KɆһs ɴ*ʴ׊j64l;ӊ|)(Vv):T.&gБ6E*$dnȲx;e $ޘZꮦg/;f)ᙔ4*VרM7h)Kʀ}<7ƹr,\ſA D]WǢCVT:8DѭE̸tDf7{ܙ%!7vY9ݧ'Eތ}N1틋[\ʦ]&7-[y:&ɟ[s)+)&Fe Ūȫݛ*N+SR/^SmEKqx]I㝱rȁeD޶)J⬲6u*idG#ƇlߨZ|2TSz<-R1:at;צ+ z~o>.YuVݷa*)@8W+0;۫-_l^YgA%.ͳ~$*rz+yU9Q؎I4޸M= Nft|"؎__thk.ISXg;*n ۜ^zoxNĐ^ >qɘ]d4z: q{qKϽulߎ}=gıތ|'ƹ׉(N.ϹEL&֎{~K&,򐾇'Vي\p*-6 6҇aWnE=ibW{3uv>%Wߖ=bAǝBgNR{+&_OX nhB]JPlի NӼ(r^TC ^ӽj)+JFMWύQќnΏK>l )>? ` oO-3!&Ԟ>$vkBj@("(@ >+6P@9F@#jIEtiQB,_FD1M wSO!DK>}ԩҢP^ŚԡLr`L(H xYb2TkVĵhM-õp΍ۆu%R/\ Y7(1Bȗf9dݗco)G1zkԆvJkf{udT}m4ܢ[~nvsCNΙ\$@{^z+L`)-~{u"VъԊ c$] " MP\xƘ,>/rƋcE : ?!Fe`_UHȀbWDͱ&䛡H8O},1  jm^M [AT$e:0GuF3򊡬"WL.Q5%&f4y+pRI\IlKQ ?I>AoY, SS'LG.UiK3kG/ =]6W+| J`]%o9t{- -ns3OnNZ+v58(BHszB{5_S~Ig۹fK@>}lä|SCSƴ,q~7iewB@?rw0H3~ TP<+@(@C@[¶d@狿 1ߣ z @ !!,9*H*\x@Z8P"E#>D(`G\(`ɂ'CJĜi&̚ sɳϟ@ JѣE$]jPiSU jԫZVSr5,ٱ_łͪ-ԷpʝK]j5`_ L0T\1Adž#KlXV^`gk˲=ٴݢ^}h֯)˞Mm|vtAą+_>禍3NسkνËOٻ櫷=;}y2g(AAp1XFH@B(ᆿ! "ሷETD"H)X6D9= Aڈ7N]!$F^XOf`b= mC$H&m&q9m!_YW٥BEa)jbi8t(t&TfiP\n=x:ݥ=ɪ=ڝj+iG뭴!,~B*Hs‡#JH"1^(PcǏ=ZIɓ(S\yPH7ɲ͛8sɳϟ@ S$QFe5(`ӥ&J'`jWVFjphɐ-v @(8Wܺҕ/AΒ!5@TevXM XpBخ἟<Q;c|mʓWF{.b{n<칑պj_CN9ـ! ,~@ U D( !.p"EHPqF CH'$!,D` $/_BAjT͚FE"?"EQ2!_F@қ6&`U0Z 1T^tRPD)hRK8ԁP^E2JPV&Mk-D%t/PBL%Uq:y_ׯߚ¨1Ƹtضh|"cnmIz! ,!H`A5HP+(ņb"aǁI60DiZnR(Hld5'U" H")mF@T=&dΤF2%Cj ׁ]N9(V6Y (fu $V`%u ͘i "V)+R{&h˪< 3%L:]W*Rb\ɪ+T Q͋$siDV<B@ТFtiQ"A0*Qdj%DMJ :lV2 $FDAR٧D"w1mnukU|͒2V`ct@*+R]t/յI'g, a*~qQȣ̖m]ɪt5YnáHMM/Cl!Ӝq*0v  1sAA zE1 !,!(H"8ȰÇ#JHB +jȱǏ CIdA5UD̈qJ+^ِC̨MLdGH AըUB JDd:Lׯd*"eӳQG%-W^ɐ@ MZiZ6i Э[`+*1ZRi r!Q *Ndi {L8aVJ chZkꯐR$K)dȺ'n5 !1)Rh׮Uz ލ+ au!,zDHIhPA #J4(b`ł+N`Ƅ">^H$(Gh˗0798 8B ςDA $F%MjTQ~DUdJ'U (RJ&ꘫYIi%Cj :v (h:T/G$v#I\1 2]$AU;]1#&J5.]v5hO׀GI+yFmldQVp= u n9=ZthRGGXUl$}g}U`O3.Ͽ! ,!H` baA !3NL(QǏ 3IȊ < yJAH )(6W JH$ E0LѣdB!L$6Iݜ@)C2J'4 ANS`یAS$Q6[Z iӫRڬ*R@G5 ѮU_$qzwoJ^L_JkH4̛ҸX!(ضғ'S)0 ++}z!,4(H aÇ#JHŋ3jȱǏ CIɓ(S\r + 9cђ O8{ 5 È4&5A҉@Au*QW@H`hɜA*WIa$Ua͒:KMشԪHνU`b5Il] 0UH*ZW 7"56jپ).[l>)rdi1ltź& \M uŢQrD/ e`_& )I6b@!,!,+HA+P1B t(/b8PÆ'rIIlڸ$A.KB@̚@)HjTϞFE8t$H=pPĜ94 6 QA\:&ӗB @FiN$m ړעZG"e۳,LV3 S2Ǭ,Dx*V ޷.ڧlᒜ9kMA'`HmpTӣR*0Wz-tLH/SiǙy.߯Ao (酱+VΡ;.&oTS ``A!,(H*\ȰÇa@VfǏ C8fɓ(STA%]$(B͛8sɳϟ@ JC-c2\!ѧPJJիXjʵׯ`ÊK#Ӳh93[۶MWtj,_L6eIoߢ+ G >^HZ $?E(V" T9,c#Em2v$ҨMN# &O)[m%7^<+Ag>(ǗWdH/oHPs>@Zƿ!f sEVܗoyށ]WAn&ihaUfzV1݊yxbTJA+QNu%@`#VBߐQiA."T@!,(H*ځpO0xcdH.͈V,@".꼒q[0wͣ:k`.LP4,@k̗+ktG+\0oģOFX}tף`_T ݂Zm<%c\|Q-o!Y^r]Hu(c!*\i ^@W!C ~(sGR@!,0H! !>T(A 3QǏ CIɓפL)f`K/DI͛8s<(b`ϝ@"T!W4jБMtjէXjJP ]-8ٳhI^-t-թiʝQiBt2hPp͛P*ÈupǐE:9pȘ3+P]ӨS\,UNboسsc ߙy,i= '\䟤664\6UʀO|F6ӣ`#`^ $GAjT"@g`FH _ BT}HD (|(߅Ebd188袄c7{%Q̇čal8|4H^!# >(FF9q ~)%M!)t 1DU)#;Y>pR(,"z}W )(H X hlNj{H#q_!Fi(cdjrFЍ(PhkZެ3Zh6k'6+^J[!Zk`ھkAv+EKnV!,0#P - T ÂYA\8ŋȱǏ CXqLAǠȗ0cʜI7ksbΜE@\A@*:qS*JjǛRdjV`D:ӊK >*۩_qz$şs>Ԯ߿VX̕0È&hG&\kԊq:LϠH2ィ^lcYnٸu[R(baw-ЗWzHDo"lxP@@Fŏ?jT'/ "0 H~Q) 1(gvKu8HI:!o " IR8 w'ʶy․R1x(HDF_%$kc䔽I-V(Rr&h`lYݑ*ɤݷ!1 K)`Xj'nߒ.9(o^.墹Xy1(P0h}:Q"W来ꪪ꫰ *무!,+H9X'Cth=Hŋ3jȱǏ CyP@E\A UlIMjJɳ'L?gIơY]D?JJի6ʕФ`KƜ]˶۷pʭ ZwOܥZ2߿^-֍xj`>fiRƘ3eAAWDy'h(DD=(H\^5UQ# ]z)釱 .|: C^#n6ۺy/dq'5&@[ v(Hb};GMD28ǑAqGo h1nٖygH9ԝp rwMgnl]wn8xȕ^W]}(k٘(}U|-$U6(c %SZD1Pa&eU x&Y1p"dVIN!$,!,@(J1H!谢ŋ3jȱǏ 9IjN)(ii栈zj裟IAIfYq駗 ꨤ)!,BD+IH"TX!A FlhbD 1ZF!n(1$LJ'=fLyreG%%Pț6sY3˙+!HAPӤOFm *BF*SUJ {U:f.M˔mٳnʽڵ\tnZ2#D.pǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËO3WAP ߳WO~"$o &ѱBPZ V!@i(H@&1 ++@/(qH PB8Ԍ@"g#6HJGaa= eA'"1FBJ<Sylj9ʒ0)'n50ʍYs&m&)h 碰Uyy`2j)kiF&f6 {z)ꪣ) HUVꭜGxh"q&G ^)h6keD6%׆I.+qƮ!9,(P@5 *\p  UlHŋ W0#F6A d5E # DeK$P@d(V7ss!$?"0LQRFtP$rFř@φND0ңc\83̙8vUgŰAݤSGDٗϹ,&vlEVjş +;*,FVz 555sE(63j` %jug-20U,= ;6XZ!, b Ç W@xMB1AH )@ Qr%D$D 8Y1H(9J3'D3U&¢:y&YC.B!JU&M[oԉ0(P })؎p'!,BD+GH"TX!A FlhbD 1ZF!n(1$LJ'=fLyreG%%Pț6sY3˙+!ȦAPӤOFm *BF*SUJ {:f.M˔mٳnʽڵ\tnZ2#D.pǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOsWCP+X*h&]Z1HZA 4aAFtŠ F@(cB*" ~a@/cB )+Ab7hdq4dq*dOVI)&J*)HX)nQ9dc[>pƖ@eikQe杀f(ji6矇6,~"Vل%vَ*ꨤ*]!9,C H*\H`C F$8q`E TlѢƏ?F8Rǎ(dH&K$yG8[LΟ(*BJ5,W,ft:m xp+Юߢw{ÒBnB˾!і,۶.eÅɴӖ[ ũmǡ+(.T2(f,r˳*2hd¬gz.DiI2YE7NGڭ5 l)Qk.`-6lPmHZ mxf5ՒX2y-tnbܔ܈3!,! # *\xp C|H0@@Pdă#Q HqeJ$`"AB7$qc͟ję'M(2Lx"P,=:Sҝ(Obu iPDh3ٍMejTU"IkSڄ+ێ7&R0r˜i(+֡>,6+JwkxaZQrլyMSU2CvX g֘qV-.oMԵ!%,!<,!# *\ȰÇ#JHŋ `ȱǏ Cta`IF\ɲ˗ YI͑% pϟ@"JQFJtTOJJu(2ƌ"ɪ`\ʕ(hӂ+p]jίr]-1LآYKy^̸b۶#KviQ:YURXI lrʳq#< b}rm<&0tr]C~{S^S:G7;/7CeF˟O:gOAXC _&!Ƞ}!<,!# *\!jH⪊#@2 F>BI$DE@0tIaJ&I<3Κ(LigO+&$Ο/2̛iTdӯ,wJKɦ)Cܹui׆![5l·[j8ڏxK30U4 WǐH1E0+l?!<,!# *\!jH"&BCj$QQ `QcF2#3qyХϗdx,sƈ5e$5 R:_(%ПU:sFY$SOYQ:sfǴ#I3kW^PM:3f_,; $Ȭ V|#NdaU ɠCNxxM)^zaѡ_7 !<,!# *\!jH⪊#@2 F>BI$DE@0tIaJ&I<3Κ(LigO+&$Ο/2̛iTdӯ,wJKɦ)Cܹui׆![5l·[j8ڏxK30U4 WǐH1E0+l?!+,!# *\!jH"&BCj$QQ `QcF2#3qyХϗdx,sƈ5e$5 R:_(%ПU:sFY$SOYQ:sfǴ#I3kW^PM:3f_,; $Ȭ V|#NdaU ɠCNxxM)^zaѡ_7 !, H*\8`C F$8q`E TlѢƏ?F8Rǎ(dH&K$yG8[LΟ)rifZx皳oDZS;b[q5 d$5=@й\;#P@ד0䩽euM[C_)rˏ[V}AMRt .l4òYCL ,@DQaE~QNYΙe2$T8JsG5ζBz\2$"<^B25ޠP}|81{W#2duȱ՗-0VrTxGMט݋$҄v^3~> Ap#}=lsX˕yardZQcīO$u&^Q {gjȠV| :wSG>P|'Oĵ#Vʑ_LѬ "nx8hBHdJh\pz>iB, ]}eאEY4,0z!;TzIszzǤC* s| fYK)5}2$sI]4kb:)QpJ.-,>0 (5ZLl췰擋SQE&?0çy­)N QY\!7j~Ȅ)X=w$aq E}'_9rqQ@y4t|OA [| JAZCM/>j?+x a#lHj 4ɛEL"NǼ)F7le{ST\{4G404Y5j<{G40UU, _zڍ}H{>$C?B}y26,LWP9LUJwdBHICnzL-_%kLEEjh FSOqTB[ yj]ǠMG#rE2? =~:+% V?=5G*=r|v6(>cDSF=&9Wi3 wL6Q#7(Σ@Bl]2c3YջխUvqKz-E 녙 i=D lM =r=zѳ<]}'nvMךl<oMdkؔ]ak=۝Hmؑ$ԮMq`½(گǭhl ?՝EI-:SMBi=]}߾!, H*\H`C F$8q`E TlѢƏ?F8Rǎ(dH&K$yG8[LΟPߣn@޻ͼO6<玫x"LS{=縿4y:wv_@7({>v^E6_yNwH;~7dO 9kwz1.H'e6+&Bn~&EC:b\x9]{ A `"A#jxJR'"mb()mt "r\S@/ÖwFevlǻ &@.HL{ſMJ[SVF0;* Rf7Őo3@ 2zid K#HMZ!)<He~Y`o "exYJ2 S 3ŷavSu,FKkSJ%1伦5|󛭬'd$d2&;DoB,c@J:7|($! ,:}H*\ȰÇWAHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘B̹ϠCM騏.s@ z꺷oC]'w-|cjt TnHCW~;JD ;]P#M OnwCw~`+x.EWuoŧǖ} eq'^{Zq=u!^!/, H*\ȰÄF48q`ċ `bnj3RHңƓO 1%K+)2&ɑ8mySO(a4i@*]ʴSjjA*`*lױ_˦=k+ڰUʍK\u՛w:h L01+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6 NF)TV9!D`\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸eʫd ;P!Ka -nM쵽AF-ߚ-APJYneϪ"庅=ː*o 7@'l*\ظ[6/kHDħN-eD^Qqx&qIY'D=؞Sì>7MYϤ36E %Wt~hus>v|(OPSo߸ެoZoѿ/2tGͬ'kfaCQa|fWz^_w:"niaP'JBeq"}4HvYޖs^Xӧ.6J}$gVwtir@$wKKW(N8y5y1l֤L?܅MNT^vsdv(O&jSbVoF6@(}7j> qJCfXcw={8JrVIkf{҃"q[ Qi5?h5Gc~blv^L14ԄDalTpKM:zdaO3Otwe'O$bDO;]k'){%qV8zSRUEw?Z?oQ7#U)65[~϶S'{'wyP5_M Hx(!(?SqUeWcc5exV7lRmumf@H{KU5Nwn`5iKnLtlu\JxSw&x]MxͶMX=8aC;lTi:ѕD5'pG(0Ko06ʃFb('-inQeNdlwEq:qC 8Tf>qR-g%vK$+T8h$[Mus2 wIK]l7ATxJdlfV(&QFjȔƔFaӆIcgWde)Efu9eWC&3QvC s+sxgrtzwh7vbiQVQAzJ|WD&_Jc7ܹSI&8x/m*UEcxr0QA1ww}K1X*k3c AiY3H~ȏj=U/'ze'C.\JEifDyٵm@t)b<ҚwOa55xxdW`*UIXRf79(yjwcw[DN4vsIu(gX=9g>kCԤH ZxlTscC=Nx~w+p+2lYĖU>؄2CI5H p$c8rC(r KZ #l3wr(JC39(#d:lM*rm'N"Fv'\GX B^:Awo(.e{Wg눇s'0c_4x<X'2S'$:w~mJ)EIazPC3bV/Z*:04:x)!<,8NH*H`ChDZx1F !^HKnxȗ=JIP˘!qҜ2e˓ ѣHҢsA:@jJ*WWf:6,جb>mvۨmᾝܪ Mʷ_b LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼[hklr. @I4E!H\*[x;JHyծ /v.ɛ[*++) B)IPRViPVEXGe)Ж`(f-G&b]bԦ~k&b iՖXgKbtݘH&enH!u4(~Fjr}Bdݜf'vjA> yёqJjƪKNTlV5lfMyB +CpZ-&m}{gkAAIX-Jл슦cRD]ZTۿ4%Ѹ9mpKD ]m1U [ Vŭf%KF$CqFjݳ;<,_\ Tr!?mR+VAݖCRӤ,/8 y}uX֬adHid-v-轐mgyxC/]gh5EdWdkv߰t{>PRY;>E#P I"Sg|h״|CzWj+o?r^TjT_Kv\w>nL;4@Db O}i y S{LghVCB !5,{>H*\!aÅ#JT`ŋ3jȱGP>Iɓ(S\p˗0cʜ !͛8%&O> J4bȢH*]P(PJy`ЩXjyuׯ`ÊKٳhӪ]˶۷pʝKݻLw˷߿ LÈ&5QX"ybG<ͨ1c(dD3RYxzrŢg# [3)sX6'vi(|͛3nx!~'^=BG7pȟO: /2uu\@!!,!!,[kEpA*$*B B,8bE1BÌ9Z8HITrʃ#]̚&;ތfϝ?(QZ%MZKSO"*CX6]tk+Vz:iX]f=[5mVjrJW]x͛[q[wp^V/bm2,2dB-3'篞kΨ?NڢhNÌ6gmh{uݭ{= O+U޺9笡'y|Kbߞ;/+e_x_㛟/>;.Hf ~ "p=ڂw[fXnam#Hɥ[e']gQY\ۥ{AXb٧L7XAB'Pe\t\j)ݖndi)UU ٶ&h]ι%q]|٧`S⒈6u5vy hIy^JJeB)除F"*vhk ꇼQbU*y#|賓*ⴘA^I#3%ir},33ogД@<s I-4K7ʹ",.{*c cvZVzݖ#l.W5zMskc;:7s$*+0  &7\zS|l ;Asq㔓NRsSReu4N)|h{h-G -G%ο-P$kuGGCn宐kZC$̛ۓߪw?d%" uSIbuh?}`RnO@ˤm0w3N 7(A v0-NL'c\꥜ )Hat>B+t7DFh·+/E%ny]RxD0шyySD'Z1Wll;M0C֊11cL6:Ts_'Gzwl>Rh~qď!)i|DhA8QL]JŒ $$'IMJdC"JND;DjSŊ2Ee,a\R)e&y9^ ˘_ +VLJB3 ͯTs*MjV䒙W75 vS:g9:5Tj ?P29ϊJSF1 zrԡ=@%]gJJmLgJӚ4+-EzSi 8KΣ"tPSTԦXͪVZSTjX9Vt f]ASRpjZO5w^j~ TrY4"@X5\l*5M$km,_SٗV=ztԂbYғ3)eo X*r-95N.6ՙk5qRԚԥ\:7M*t Z׹; Sh]r7e([nahL*> }OԠ.i :~(P;X=(QiJا׷5q9;ٚqǛ7tm4<:nFؤ2m㢸 xŎwհC{;XE&Tj6UP*{:ۂ&0rvٱs_/syj>P)T<W]ĞyRjZ*g̻54\/pMf>P^f!ùɈEN fSS`;i6vCu# pK-QԒr^>d{ٱ%-it¹nn/zq=ζn6 @}EKԕuo|[ ƞVwjq9,^wKq22T )ùkI=NMR۲>x&6}cQ\F`K~WɎQ8vD: jBVŭ! YWuź8藎:Omb=I-N^Ԙ3mlN+ s}- vғ^Z8t)g"-(~/=ķnSt3'ps*-`ߛ7>?<[os 7{P“yI+P, ԓ:}/|fξDgt7TGlJs'D,kx,+lrq_^~wO@fVkUWyhFwfzz_a(f^U&mN0GN~(5jrUp/ׂ7HxW{׃>Wu+blwnRKhQ/_Rb-5YNGkA&UK8z &TD5~YLeovUM%b^b:ZYIt{ttjiZvH )Q[FlHny [uyH5~%<vW.f ֣TJwqS_UQ RuUĉKyE誘jua5Ɖv~w}ن t^7X:I *ԨO{9OʩS3u{V6WzrX[^E&egeo$WECFSz(+xiŐcXyw`1u=yq*d{*:2xyz[& B霬ZKq}\lvEk?aIBU7 z+]'Vˏ: UtPq+t}w›`;ƥ|uBʽ䋌AiIT?+Y~먊˰ۿogf#^f6yP_< l0YɇZmvFuCYAVj*([UtRS^3i|9Þx,T\)|OEk+SEY9_Sjwy@ŀ\_cFfF yZhLc+llҘ$8]f]HzmǷpiii<r7P UL1PۥrIȖdTv|*G{o5\x~Xeʸ0d9gZGx/7ƈŭyXƬˁTwunj'ԋSH@bs3T} w kugs__ylW&v·q  ckp z| di=i9}YjFTxOl?hڦ`^li?yѼLt޸MmlZ>ƾLüF8G渼 Ţn6J”խڪ.ǣF ijBN[{ąyOs fVh3zia HrM˖+ot߄N+!ƾX~8VoPz޾^ײe(Lߞ) SҍOZ=ᅱ[m\' \iD=NmJko$R>{kNѻ]z>ZqLVי'=vo9i]xȍ}_@Ͻ{کnP xZHg d^Jh[ݗ6Nv<}v+dNv'g*ھzowZ(l߃4Yw"Xv}yﻟym/ fww E%>atH=vdK;R}Hާo޵:gzՊnƻy]2~t|agRPM`]4ߪ'as<;N< 7 M[4ABj0(JA &tx"1GX~tL5męSN=}e@Ih˘GFITP%pA2e*9ͦ E*,M\+T\uśWnYq{smәFXb?+SRY `Sȅ=E+vT b^6!dȏW0Ƶm}x`g/sM:<gis?1µnլ&F%2& W:j*TճoTզ&W۹tɢ^+I- i?TB )D(Á%(7@LТNz*F@J%7, 2:M#6"4r\k 'R&VP"rjJK1H1$'b\"RA(?8i3!A=3(Ӫ;t2e?"hZB*Mʊ|%NtTS򼫐,p<&<SYJDIŲF,sգp=<5YeW&h1u6ڝYœF]6\qq[UCZNvmDLBw2ެy5S(C7`,Rhi pԗ+mc7`HЏBMf,o NˬE&8gC}i_Z#ilgص)<KINih*& l).6nzf7EbgUrcۻzEMHDMl_ y2O 絅τV_I3 WY]'.훠$VpԢo|'>}Ū@q'剘qK#;"q ɹ9vd?f$ F a)1I:!QkFH.-]ڸ22+ɠ|M־~f騬&/l, y&IM\qfWNͨ|_LaHeV٩26(dos:Q?/BY/ Ez6Y&DQǭ]J?ڊV( ZXh;h.+jFŸAC;-y'2Ô~4@:+5DS,[ j͐sY>ĭZʠ*^W/ZxFR!`S4s2 3Tk5|! ^=WOvH21d%5p\"R#(N6|$p^\%r&Ac(yL!'.W60CnMT`*LԑCFPlZe:'Ft0/+sj$9@ Г ņX>+\d: g ߋrt=S"r;SY[U3EԷ֋Id7o /Eu@l62Dnn]9KUp2Q2[{nzKcsv-iuֿԝoGK>qP vX90gIN ݒ4J!P\Fz"@JC'C@[CyEyj4CbHC _FZVK2Fey3Ğa-XQ!c9# ۨ^ +>D6@kpٔфj"A q0 K>$8W1IS|Hqar CiJ78?j.jDi8 #N9{+0,q9,85RJ} բ[,{Қ,?/NI1 +s ,zSƿJjɓ$"Ҵ̌ zq1cT8iA)7 zLي(oL ܰ/; m;"aY&'ASsllCD٩GsFK@[`2:ZAr09${&-M`H^ی 86Q<*D-!+92$"@ 㛰=+II6:$;N9U44H7M28фP P,zKBЮ)ӓZ=}xTM3waL<&EOu6Dc UM8H̑Tٜ];IuzZ ّ e4R jVErbV,8摨a{ +CR>EpDt$/يm9IQ(Ӵ%3=9;:I-iYuCȀn{XsXI.a19rΏxCY샤YЏp>HƓ5,G喭cl*RK,ZK8! H?zP @8KKx-,+ ZT Vk.ᨋ [˭q rU %!,L,d748a+ uR ܨ |\rR,ԷI:ݐJe@#^ /Z=.QmU)A姱}Aߕ "چC5?5VUf \I\0M.jqWŸƭ@ŋ Ja_,Mi LXY0U/έPӁ:T^Rɋ>2‰oDǒN/#'ժa)g,S}m!eHnJ W-cӄ^a]J8<8I+QnV.j`JLAn^a J*S% o-ېX9``Sr A)@5e!̔kq qg_KN"?\)Մ ZTO$`UKHQn(+$Lq !fTk6ь =ho>/Ba(-cJY=Zs Ӟ-r©SCc`Qldglx#-Hulخ5ڈr1[#~ɹHomߓ,g>/V:c75^,qm S剑8O!V8%T | # | Contributors : Denis Meiswinkel | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : https://code.ungleich.ch/ungleich-public/cdist/src/branch/master/cdist/conf/explorer | # | https://serverfault.com/a/343678 | # | https://stackoverflow.com/a/8057052 | # +-----------------------------------------------------------------------------------------------------+ VERSION="ssh-facts (ssh-tools) 1.9" # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [user@]hostname For further processing of the data you can use standard shell tools like awk, grep, sed or convert it to JSON with jo and then feed it to jq EXAMPLES: ${0##*/} 127.0.0.1 ${0##*/} 127.0.0.1 | grep ^OS_VERSION | awk -F'=' '{ print \$2 }' ${0##*/} 127.0.0.1 | jo -p ${0##*/} 127.0.0.1 | jo | jq ${0##*/} 127.0.0.1 | jo | jq .OS_VERSION EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi ssh "$@" 'bash -s' 2>/dev/null <<'END' | sed 's/[[:space:]]*=[[:space:]]*/=/' function _os() { if grep -q ^Amazon /etc/system-release 2>/dev/null; then echo amazon exit 0 fi if [ -f /etc/arch-release ]; then echo archlinux exit 0 fi if [ -f /etc/cdist-preos ]; then echo cdist-preos exit 0 fi if [ -d /gnu/store ]; then echo guixsd exit 0 fi ### Debian and derivatives if grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null; then echo ubuntu exit 0 fi # devuan ascii has both devuan_version and debian_version, so we need to check devuan_version first! if [ -f /etc/devuan_version ]; then echo devuan exit 0 fi if [ -f /etc/debian_version ]; then echo debian exit 0 fi ### if [ -f /etc/gentoo-release ]; then echo gentoo exit 0 fi if [ -f /etc/openwrt_version ]; then echo openwrt exit 0 fi if [ -f /etc/owl-release ]; then echo owl exit 0 fi ### Redhat and derivatives if grep -q ^Scientific /etc/redhat-release 2>/dev/null; then echo scientific exit 0 fi if grep -q ^CentOS /etc/redhat-release 2>/dev/null; then echo centos exit 0 fi if grep -q ^Fedora /etc/redhat-release 2>/dev/null; then echo fedora exit 0 fi if grep -q ^Mitel /etc/redhat-release 2>/dev/null; then echo mitel exit 0 fi if [ -f /etc/redhat-release ]; then echo redhat exit 0 fi ### if [ -f /etc/SuSE-release ]; then echo suse exit 0 fi if [ -f /etc/slackware-version ]; then echo slackware exit 0 fi # Appliances if grep -q '^Check Point Gaia' /etc/cp-release 2>/dev/null; then echo checkpoint exit 0 fi uname_s="$(uname -s)" # Assume there is no tr on the client -> do lower case ourselves case "$uname_s" in Darwin) echo macosx exit 0 ;; NetBSD) echo netbsd exit 0 ;; FreeBSD) echo freebsd exit 0 ;; OpenBSD) echo openbsd exit 0 ;; SunOS) echo solaris exit 0 ;; esac if [ -f /etc/os-release ]; then # after sles15, suse don't provide an /etc/SuSE-release anymore, but there is almost no difference between sles and opensuse leap, so call it suse # shellcheck disable=SC1091 if (. /etc/os-release && echo "${ID_LIKE}" | grep -q '\(^\|\ \)suse\($\|\ \)') then echo suse exit 0 fi # already lowercase, according to: # https://www.freedesktop.org/software/systemd/man/os-release.html awk -F= '/^ID=/ { if ($2 ~ /^'"'"'(.*)'"'"'$/ || $2 ~ /^"(.*)"$/) { print substr($2, 2, length($2) - 2) } else { print $2 } }' /etc/os-release exit 0 fi echo "Unknown OS" >&2 exit 1 } # # os_version # function rc_getvar() { awk -F= -v varname="$2" ' function unquote(s) { if (s ~ /^".*"$/ || s ~ /^'\''.*'\''$/) return substr(s, 2, length(s) - 2) else return s } $1 == varname { print unquote(substr($0, index($0, "=") + 1)) }' "$1" } function _os_version() { case "$(_os)" in amazon) cat /etc/system-release ;; archlinux) # empty, but well... cat /etc/arch-release ;; checkpoint) awk '{version=$NF; printf("%s\n", substr(version, 2))}' /etc/cp-release ;; debian) debian_version=$(cat /etc/debian_version) case $debian_version in testing/unstable) # previous to Debian 4.0 testing/unstable was used # cf. https://metadata.ftp-master.debian.org/changelogs/main/b/base-files/base-files_11_changelog echo 3.99 ;; */sid) # sid versions don't have a number, so we decode by codename: case $(expr "$debian_version" : '\([a-z]\{1,\}\)/') in trixie) echo 12.99 ;; bookworm) echo 11.99 ;; bullseye) echo 10.99 ;; buster) echo 9.99 ;; stretch) echo 8.99 ;; jessie) echo 7.99 ;; wheezy) echo 6.99 ;; squeeze) echo 5.99 ;; lenny) echo 4.99 ;; *) echo 99.99 ;; esac ;; *) echo "$debian_version" ;; esac ;; devuan) devuan_version=$(cat /etc/devuan_version) case ${devuan_version} in (*/ceres) # ceres versions don't have a number, so we decode by codename: case ${devuan_version} in (daedalus/ceres) echo 4.99 ;; (chimaera/ceres) echo 3.99 ;; (beowulf/ceres) echo 2.99 ;; (ascii/ceres) echo 1.99 ;; (*) exit 1 esac ;; (*) echo "${devuan_version}" ;; esac ;; fedora) cat /etc/fedora-release ;; gentoo) cat /etc/gentoo-release ;; macosx) # NOTE: Legacy versions (< 10.3) do not support options sw_vers | awk -F ':[ \t]+' '$1 == "ProductVersion" { print $2 }' ;; freebsd) # Apparently uname -r is not a reliable way to get the patch level. # See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251743 if command -v freebsd-version >/dev/null 2>&1 then # get userland version freebsd-version -u else # fallback to kernel release for FreeBSD < 10.0 uname -r fi ;; *bsd|solaris) uname -r ;; openwrt) cat /etc/openwrt_version ;; owl) cat /etc/owl-release ;; redhat|centos|mitel|scientific) cat /etc/redhat-release ;; slackware) cat /etc/slackware-version ;; suse) if [ -f /etc/os-release ]; then cat /etc/os-release else cat /etc/SuSE-release fi ;; ubuntu) if command -v lsb_release >/dev/null 2>&1 then lsb_release -sr elif test -r /usr/lib/os-release then # fallback to /usr/lib/os-release if lsb_release is not present (like # on minimized Ubuntu installations) rc_getvar /usr/lib/os-release VERSION_ID elif test -r /etc/lsb-release then # extract DISTRIB_RELEASE= variable from /etc/lsb-release on old # versions without /usr/lib/os-release. rc_getvar /etc/lsb-release DISTRIB_RELEASE fi ;; alpine) cat /etc/alpine-release ;; esac } function _uptime() { if command -v uptime >/dev/null; then uptime | awk -F'( |,|:)+' '{if ($7=="min") m=$6; else {if ($7~/^day/) {d=$6;h=$8;m=$9} else {h=$6;m=$7}}} {print d+0,"days,",h+0,"hours,",m+0,"minutes"}' fi } function _last_reboot() { if command -v last >/dev/null; then last reboot -F | head -1 | awk '{print $6,$7,$8,$9}' fi } function _cpu_cores() { os=$(_os) case "$os" in "macosx") sysctl -n hw.physicalcpu ;; "openbsd") sysctl -n hw.ncpuonline ;; "freebsd"|"netbsd") PATH=$(getconf PATH) sysctl -n hw.ncpu ;; *) if [ -r /proc/cpuinfo ]; then cores="$(grep "core id" /proc/cpuinfo | sort | uniq | wc -l)" if [ "${cores}" -eq 0 ]; then cores="1" fi echo "$cores" fi ;; esac } function _cpu_sockets() { os=$(_os) case "$os" in "macosx") system_profiler SPHardwareDataType | grep "Number of Processors" | awk -F': ' '{print $2}' ;; *) if [ -r /proc/cpuinfo ]; then sockets="$(grep "physical id" /proc/cpuinfo | sort -u | wc -l)" if [ "${sockets}" -eq 0 ]; then sockets="$(grep -c "processor" /proc/cpuinfo)" fi echo "${sockets}" fi ;; esac } function _hostname() { if command -v hostname >/dev/null then hostname else uname -n fi } function _kernel_name() { uname -s } function _machine() { if command -v uname >/dev/null 2>&1 ; then uname -m fi } function _machine_type() { if [ -d "/proc/vz" ] && [ ! -d "/proc/bc" ]; then echo openvz exit fi if [ -e "/proc/1/environ" ] && tr '\000' '\n' < "/proc/1/environ" | grep -Eiq '^container='; then echo lxc exit fi if [ -r /proc/cpuinfo ]; then # this should only exist on virtual guest machines, # tested on vmware, xen, kvm if grep -q "hypervisor" /proc/cpuinfo; then # this file is aviable in xen guest systems if [ -r /sys/hypervisor/type ]; then if grep -q -i "xen" /sys/hypervisor/type; then echo virtual_by_xen exit fi else if [ -r /sys/class/dmi/id/product_name ]; then if grep -q -i 'vmware' /sys/class/dmi/id/product_name; then echo "virtual_by_vmware" exit elif grep -q -i 'bochs' /sys/class/dmi/id/product_name; then echo "virtual_by_kvm" exit elif grep -q -i 'virtualbox' /sys/class/dmi/id/product_name; then echo "virtual_by_virtualbox" exit fi fi if [ -r /sys/class/dmi/id/sys_vendor ]; then if grep -q -i 'qemu' /sys/class/dmi/id/sys_vendor; then echo "virtual_by_kvm" exit fi fi if [ -r /sys/class/dmi/id/chassis_vendor ]; then if grep -q -i 'qemu' /sys/class/dmi/id/chassis_vendor; then echo "virtual_by_kvm" exit fi fi fi echo "virtual_by_unknown" else echo "physical" fi else echo "unknown" fi } function _memory() { os=$(_os) case "$os" in "macosx") echo "$(sysctl -n hw.memsize)/1024" | bc ;; "openbsd") echo "$(sysctl -n hw.physmem) / 1048576" | bc ;; *) if [ -r /proc/meminfo ]; then grep "MemTotal:" /proc/meminfo | awk '{print $2}' fi ;; esac } function _init() { uname_s="$(uname -s)" case "$uname_s" in Linux) (pgrep -P0 -l | awk '/^1[ \t]/ {print $2;}') || true ;; FreeBSD|OpenBSD) ps -o comm= -p 1 || true ;; *) # return a empty string as unknown value echo "" ;; esac } function _lsb_codename() { set +e case "$(_os)" in checkpoint) awk '{printf("%s\n", $(NF-1))}' /etc/cp-release ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_CODENAME") ;; *) lsb_release=$(command -v lsb_release) if [ -x "$lsb_release" ]; then $lsb_release --short --codename fi ;; esac } function _lsb_description() { set +e case "$(_os)" in checkpoint) cat /etc/cp-release ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_DESCRIPTION") ;; *) lsb_release=$(command -v lsb_release) if [ -x "$lsb_release" ]; then $lsb_release --short --description fi ;; esac } function _lsb_id() { set +e case "$(_os)" in checkpoint) echo "CheckPoint" ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_ID") ;; *) lsb_release=$(command -v lsb_release) if [ -x "$lsb_release" ]; then $lsb_release --short --id fi ;; esac } function _lsb_release() { set +e case "$(_os)" in checkpoint) sed /etc/cp-release -e 's/.* R\([1-9][0-9]*\)\.[0-9]*$/\1/' ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_RELEASE") ;; *) lsb_release=$(command -v lsb_release) if [ -x "$lsb_release" ]; then $lsb_release --short --release fi ;; esac } function _runlevel() { set +e executable=$(command -v runlevel) if [ -x "$executable" ]; then "$executable" | awk '{ print $2 }' fi } function _disks() { uname_s="$(uname -s)" case "$uname_s" in FreeBSD) sysctl -n kern.disks ;; OpenBSD) sysctl -n hw.disknames | grep -Eo '[lsw]d[0-9]+' ;; NetBSD) PATH=$(getconf PATH) sysctl -n hw.disknames | awk -v RS=' ' '/^[lsw]d[0-9]+/' ;; Linux) # list of major device numbers toexclude: # ram disks, floppies, cdroms # https://www.kernel.org/doc/Documentation/admin-guide/devices.txt ign_majors='1 2 11' if command -v lsblk >/dev/null 2>&1 then lsblk -e "$(echo "$ign_majors" | tr ' ' ',')" -dno name elif test -d /sys/block/ then # shellcheck disable=SC2012 ls -1 /sys/block/ \ | awk -v ign_majors="$(echo "$ign_majors" | tr ' ' '|')" ' { devfile = "/sys/block/" $0 "/dev" getline devno < devfile close(devfile) if (devno !~ "^(" ign_majors "):") print }' else echo "Don't know how to list disks on Linux without lsblk and sysfs." >&2 echo 'If you can, please submit a patch.'>&2 fi ;; *) printf "Don't know how to list disks for %s operating system.\n" "${uname_s}" >&2 printf 'If you can please submit a patch\n' >&2 ;; esac \ | xargs } function _interfaces() { if command -v ip >/dev/null then ip -o link show | sed -n 's/^[0-9]\+: \(.\+\): <.*/\1/p' elif command -v ifconfig >/dev/null then ifconfig -a | sed -n -E 's/^(.*)(:[[:space:]]*flags=|Link encap).*/\1/p' fi \ | sort -u \ | xargs } function get_facts() { local function_name=${1} local label=$( echo "${function_name/_/}" | tr '[:lower:]' '[:upper:]' ) local fact="$( ${function_name} )" [[ -n "${fact// }" ]] && echo "${label}=${fact}" } get_facts _os get_facts _os_version get_facts _uptime get_facts _last_reboot get_facts _cpu_cores get_facts _cpu_sockets get_facts _hostname get_facts _kernel_name get_facts _machine get_facts _machine_type get_facts _memory get_facts _init get_facts _lsb_codename get_facts _lsb_description get_facts _lsb_id get_facts _lsb_release get_facts _runlevel get_facts _disks get_facts _interfaces END ssh-tools/cmd/bash/ssh-force-password/000077500000000000000000000000001467604715500202415ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-force-password/ssh-force-password000077500000000000000000000026531467604715500237260ustar00rootroot00000000000000#!/usr/bin/env bash # +---------------------------------------------------------------------------------------------------------------+ # | Title : ssh-force-password | # | Description : Enforces password authentication (as long as the server allows it) | # | It became quite annoying googling the SSH options for this every time | # | Author : Sven Wick | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : https://www.cyberciti.biz/faq/howto-force-ssh-client-login-to-use-only-password-authentication | # +---------------------------------------------------------------------------------------------------------------+ VERSION="ssh-force-password (ssh-tools) 1.9" # shellcheck disable=SC2029 ssh_opts=( -o "PreferredAuthentications=password" -o "PubkeyAuthentication=no" ) # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [DEFAULT SSH OPTIONS] hostname Enforces password authentication (for password testing) EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi ssh "${ssh_opts[@]}" "$@" ssh-tools/cmd/bash/ssh-hostkeys/000077500000000000000000000000001467604715500171545ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-hostkeys/ssh-hostkeys000077500000000000000000000053751467604715500215600ustar00rootroot00000000000000#!/usr/bin/env bash # +-----------------------------------------------------------------------------------------------+ # | Title : ssh-hostkeys | # | Description : Prints server host keys in several formats | # | Author : Sven Wick | # | Contributors : Geert Stappers | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : https://unix.stackexchange.com/questions/126908/get-ssh-server-key-fingerprint | # +-----------------------------------------------------------------------------------------------+ VERSION="ssh-hostkeys (ssh-tools) 1.9" # shellcheck disable=SC2207 # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [OPTIONS] hostname OPTIONS: -4 Use IPv4 only -6 Use IPv6 only -h Show this message -T timeout Time to wait for a response, in seconds -p port Port to connect to on the remote host. EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi # # Command line Options # SSH_FLAGS=() # shellcheck disable=SC2249 while getopts ":46hp:T:" opt; do case ${opt} in 4 ) SSH_FLAGS+=("-4") ;; 6 ) SSH_FLAGS+=("-6") ;; h ) usage exit 1 ;; p ) [[ ${OPTARG} =~ ^[0-9]+$ ]] && SSH_FLAGS+=("-p") && SSH_FLAGS+=("${OPTARG}") ;; T ) SSH_FLAGS+=("-T") && SSH_FLAGS+=("${OPTARG}") ;; \? ) echo "Invalid option: ${OPTARG}" 1>&2 usage exit 1 ;; esac done shift $((OPTIND - 1)) remote_host=$1 the_hostkeys=$( mktemp /tmp/ssh-hostkeys.XXXXXX ) trap 'rm -f $the_hostkeys' EXIT ssh-keyscan "${SSH_FLAGS[@]}" "${remote_host}" > "${the_hostkeys}" 2>/dev/null fingerprint_hashes=( md5 sha256 ) function get_fingerprints () { hash_type=$1 ssh-keygen -E "${hash_type}" -qlf "${the_hostkeys}" | while IFS= read -r line; do key_data=( $(printf '%s\n' "${line}") ) key_size=${key_data[0]} key_hash=${key_data[1]} #key_remote_host=${key_data[2]} key_type=${key_data[3]} key_hash_type="${key_hash%%:*}" key_hash_data="${key_hash#*:}" printf "%10s%6s%8s %s\n" "${key_type}" "${key_size}" "${key_hash_type}" "${key_hash_data}" done } for fingerprint_hash in "${fingerprint_hashes[@]}"; do get_fingerprints "${fingerprint_hash}" done | sort ssh-tools/cmd/bash/ssh-keyinfo/000077500000000000000000000000001467604715500167475ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-keyinfo/ssh-keyinfo000077500000000000000000000026631467604715500211430ustar00rootroot00000000000000#!/usr/bin/env bash # +------------------------------------------------------+ # | Title : ssh-keyinfo | # | Description : Prints keys in several formats | # | Author : Sven Wick | # | URL : https://codeberg.org/vaporup/ssh-tools | # +------------------------------------------------------+ VERSION="ssh-keyinfo (ssh-tools) 1.9" # shellcheck disable=SC2207 # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} FILE [...] EXAMPLES: ${0##*/} ~/.ssh/id_rsa.pub ${0##*/} ~/.ssh/*.pub EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi fingerprint_hashes=( md5 sha256 ) function get_fingerprints () { hash_type=$1 key_file=$2 ssh-keygen -E "${hash_type}" -qlf "${key_file}" | while IFS= read -r line; do key_data=( $(printf '%s\n' "${line}") ) key_size=${key_data[0]} key_hash=${key_data[1]} #key_comment=${key_data[2]} key_type=${key_data[-1]} key_hash_type="${key_hash%%:*}" key_hash_data="${key_hash#*:}" printf "%10s%6s%8s %-50s %s\n" "${key_type}" "${key_size}" "${key_hash_type}" "${key_hash_data}" "${key_file}" done } KEYS=( "$@" ) for KEY in "${KEYS[@]}"; do for fingerprint_hash in "${fingerprint_hashes[@]}"; do get_fingerprints "${fingerprint_hash}" "${KEY}" done done ssh-tools/cmd/bash/ssh-ping/000077500000000000000000000000001467604715500162405ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-ping/demo.gif000066400000000000000000014773631467604715500177000ustar00rootroot00000000000000GIF89a 1$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$HlU$UHUlUUUUU$U$$UH$Ul$U$U$U$U$UHU$HUHHUlHUHUHUHUHUlU$lUHlUllUlUlUlUlUU$UHUlUUUؐUUU$UHUlUUUشUUU$UHUlUUUUUU$UHUlUUUUU$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlشت$تHتlتتتتت$Hl$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$Hl! NETSCAPE2.0! , [ l'LÅE1FqNjA~($ɓ!QLrK-aT)&͛ 1RD3'Ȟu*(C>jtL Bu*5TXju׮` KvٲhϪMiTᾭ:7jݸtu{]~ۗ/۵+N̘ѡ<}Lyʘ/kyΠ?Mzȋ~׮cO=[vҸO{B'eUP _Ρ?g>=:uدkν\ϫ*<٧>_zd{rH!5SL8-M F`NaVVۇfh$Vh"( 0U-fq7:> BIEN@PK"m&eTNieX^e\ne`~)fOR9UYן~ ~Iߞoڙ~]nWhw&jy':B@M*)#ڧv*"(j衪 ᩤ*r6@6Ŧ"l.c}F N:6-=Rjin螫nnFY-Vט*v-VJ0[j K밵/oy_.:^z褧nꨯz밟.;볿^{n{.<^|'_P۵@̳V޵H/ugo#3އO槏>^?/o۟70We"  B 7 nЃ`9A ,EXBPZ˚\xAІ5l u@!C"CDbxD&щKbE*NFa.j#/1*g"ר6~i#8q[#F豏||GA$"HF.+#JJҒhfN^hq1ʜR1L%*WV"\7{^.۶r| &0I_Rz5jf2Ό&4)jR&6nr '8)rL':שV L<Oz>}@JPnAcA ʳD#JщZFч"HQT%EIAjRT.UiKCҗT0JqzӚ> NS$DH=RTyթ"}*RJթZUXVUn_*XBU HBZzTHpk\*׺o\jWu;:yM,b{uld!XJ,f7{ZlhAYҊEQ>vUm?]ڈPm爫| >Mqw6-nm/JZؽvnU- *U y0^[Vs Zpl Xkx wE@[;WvC` #3aw1Ga.Żb.e۸8uc>!H򁯻ۂ6{%>WgzٟbgKf.h>5lQ+:tFb X G TYJ&C5j T?ąճc5XNgFj:j=ԛFuOOիcMYZԭƵu]k^ߚԹkbÆsEQcvs܆"t&@M3ZEXP;0K9h}.aVs|~~8QjΑ.0aM҄N?;\`^Մ+rJX+(Y)G?VVrGq}tH?҉t3Nzп[K{(CwP :ec9[{ Nw۽x>pl#8AsoPY'vnPldm߶NePOеvrwueP~hVvd'f8ln؆pTgW@z^`zpjau^t^RWhrUo!VXiaXhȉu8؊UQѵzh\ep͆(]dj(rԈZpa,ƍFaxc*b):hZPc3HBXXx+6wG8IYIwthِxwƐ}]9{ix؍H^"i`$b&y(Y#!%ɒ)ْ496)8: <>y?@9BY5=IGAIu% 9PIVYXy]JycFɕ4&^9&,Ifm9rYqyptWYٗ|~%i٘7ɔJ9IiٔYHə)iYI 9Y9ks ɖ ƹxIiyɜ9eyיعg 9)ٞ 9 ɚ^9Z|&˹ ڠɠ):ږx剞#Zy"j )-1z35ʢ򩞰\8BZ ŘHؤDzNڡRSzwzj\[]aUJfZhzh֦yoʦt:v*xyzڧ9;J=*.j j O Jjʤک]b Z:zo9:Zfʧy~Zʫz Z{:sʣʨΪКڬJUʩ꩜jJOڪ캮 Zz:ĺگګ:j K ˬ*"$ &(b۲,۝ +4;6k57˳9;[=[`/F[H+Q';K[)LM;zyVX{%:۵@Ba +eK\j;ZprKQ[P{tRvrF gKi˶k[{۸˸[k˷z۷E[+;k+;n{˗۹+ۻKK{[ԻkЋhK۽Z+k{櫪߻˾yKkӫԛ pX㛾|5+˿\ɽ"l(K#.<|7:@98 7ݿJ}KfFG\̉bR]gmQS;pMZDM[]`qrni]hփ ؄#|wvy ʋؔ jmؘ]ؚ}ٛ-!ӕړצؑ58ڢםMղ ۜ]۞=ں]Ҩ}ڥ=dٶ=ہ܇}-ˠM®=ܱM}q]}] =o==ߡ}= n<n *.m ⹺&)~*'#3^2_0n>@hf^\qrnȻjW^z^\8舞霞䋋.碞N箮K^YNNʶj*뱎 ,~N.^욞~^nծڎrj>^\N$NӞJn~?>̊ }g  $&oc*?8'7O4o.>o9o"K/{lP0/S? XgJM_]b_Dof_->j]`LpG{eyY~[/^_lxO|k_?Kz?dn=OQ﹮IY ?¯o_oҿ_>O3O{[ۯ5oد|@ DxPaB 6PbD-VxQcF=2DI$JyҤH&WtI*eڬ3'MX\I&t2J(r!rK/A/L2 *dsM7ۄM9)*2HP=$@ 83RH'3MM3M=SPGOM4UJWUUV_Q@5Y UQZW^]]%vع\EVeevYL TiiZlնm6\p\p5]_Ew]c^vu]z5_\Qov`n F`^`- 8'gW]u^35CVoIWe_f,ag~akfmSv9hYI褑.iFiѡj'ƹs밿l:V{Ψ>9n^ﮛn~Xnp-p;_\q|p#wno-1|sϧ\jѫ|rKG}0g|_w=g.uOμA~tw5'&sg^7Lv֧꩗zC{C?y}>~<{{׿ O}+`ݷ@20}8VU2? vP`-8BK'|!h*,D8CIuCnЇam8B%&qMl8E!VY;!qnы\b8F8Qg4'Hԓ 8G1q/_G>rяc 8ȏэ|# E*2K9IBV2V{#&>n҃%EFF>Dd*KJTH(IMֲd.(K^Ҋ)FSD|KfҐ.qLillfars1W9N2D'i3|k9s2le> N~3$IO DA΄z߾~sŨE'Jv4Zh_.KYVvkcԢֶ )mnE[Um[fel[׹] c}VWnvk 7Ejrj׼νnzM-x־˥2 _Բ׺p{/ox;_Wӡ-%LV8' o Fϴ- YDqb'7q.rbk>Fmc%kv>xshFYH<6t96WЖ*5}^GƝ^4m=omt)JCeiZӐ>ujL׽٫YvcMa7{ҿuW-dgW~V6]m׺v%mhOVՍ5n/;ۡYu{R6]K{_wܺFxN;-po7 #>rV<GO⃓y yA>󏧛7uM>qL˅~E72Е>%;wrWG/:ұcw]?{Îq)^G v}lK;NvuW#wչlϺh>xw1 >Ǚ{⥾kmzO{HyOu}nxϳ>GzzS^{Sw}|GHz[ WmO=/|3}xΓ__ſ}އ?dG_z!3@??c @ʼn <4?,5A ܩ@@A9@kA|d#)4dB0I'L2 t)*-(L%&BB$B$C1+#BB%dC.4B" B:1A8T6>\CB@2BCBL94E?C>,==dDCDC;UI݁OtPN$E2CKDCDR,P|DQthE[SEULŋZtKEXEEC1CLFd!,@YY!b#1B *֨31 5+$xFtQǐ#Q,J*H”i2J.qμI#53XCcΌ9tHRE.tjSPfJէ]+5t؜eZmʍK\sֽ7o߽~_Â>8qŎhp+2_f1ЂňA ^5׮cÞ-6۶s$B 53|wƉ+OЗ?nܴ5@}s.>ϫO^}׻xϏ}߁"؟v d0 1ETH@qXF "H&*.cLAd <@)dV%J6NF RVIVfZv^ J* c8(Qhՙxީg| !B B"z蠋&ʨ>*6jib:njj6ꩦZꪤ*뭶Z뮴+h,lPAc"(I$EfTbMmԭNnGzҟ/.nK.%Bmޫ/ oEH6g1h/l(B\30C-6a{9KNILv2 `&@ a8sAnP ! AЄ#3B< gXBʰ8SCЅ E 0K`& Q`xC^!Ԍ".r^ #c d P0% Y 6 Q~n=+ 6Ȑ\yHB6Ґtd$!D2!J4Nf&&d(Ay?RbĔ,&QU+?9QR%-ui\AY<&p4Nc4IM-Z15TH6Cmj5 g7 NrFL9͉MvjӝTg;NzMlXa~\*@k 0ֻPv5T\rD!yU\]E'jQbԣFe mIAiRzG0eLWJӗԦ5iNoS@PwJԟըE jRY:64mJ24U l#*``X:OfYArl$GVr e'GHr*kYdh03 lpS%Tﰡ mJ7΂3g΀B9ƈNgY ;~Bi6TZB!&Lx; mG-RԦN5/qVլ~Uy-MZ#ٔk^׿|a6v-lf#ʆ]i[n6m{jA C4jnjSlaFd :M-p~ p\j$7'nŊK7qkܔ3B4)"1yQ>򕻼0WyY./yq>@yy.XHX@ 9M*Vcܱ@o\{ֻ]_7{ڽuw} b;նhwv|`է.ůa#+򗷼Nyo<3?w^=Cջ?=[?׫'۽fyY-lCӜfzޙC啟Ueo~/So}_?@ײ +_ϟg??O_|xX~jx^ ؀H ؁ȁ$(8(؂'&,:6xf5x5<;hf@B8DXFxHAPQP:BLP^؅`bd8fXhxjln؆prt8vXxxzt8X~Z6x8XxP0-0 h(YZHP8ӊQ(؊8(ȋhHƨh،8Xxژޘ]XȊZ؅~fƄ8V߈3؎K8E(GЉc0 HPV(Hy9 ِȐ8Yhy 9Yi"$y,-.833Z(Z 8@AY숅P 8Y3Fɑ29BXf6HP >y@c8 蕯3XX<;g&:C`xqsɗuUHY鈘𨘊xّi9iYIy ɖp腀Ɋc@fII` ؛B8 cʹٜ9ԙ6Y ׉ؕ@I@ CYY` @] UXMif)iY?ɟZj )٠ :ZzڡʡU hf9hoD0 /JBy6:HH7ڣ7@ BDFEG:KLJ3)L 2dg7dii>؃@`8:3rupZwyJ}{:89؈izʨڨH*:* zꨦZz"ڠf& c 2ڥ/J=ُtzȚʺڬgYX(O ɛ2f[3ܚȊV j:鯩X([*{۰ +ifɐȭ 39I9B Y ,["۲G0;4{\_ZЮP@[Jخ d Pг[JʢAfFh[ڮWT3_[[ `[h+f+ؚSmpKr[okq{Ok$P @ (K @۸{ 7:H@ 5 K۴KΊkHw)˺NM +OzED;Џ  [{ȫ2kR˲fi G;Qkd+{;߫[+t껾۾湼ړڦFX"~˿˼<[ۿD JjZ̩+) \"Z|!*+< 39j5L99܉12/]:ů/_j¿S㫷}襃G^?yHz_~WEQE V&mq5Devt"#($f⊘a6ڋ+8n8R7>#@c+ IFM2)%PNiU.eY*y]ne`,,5mI(annRgfrINiRzԍ~*(TA"Y.(>hf6 饓fjb駏pJ驤zj* ꩬNj:Er:lb,ETKbrYdvR{٠ m*DniQ"T.noһn֋ p񓠜 G(#LVU,%*a9W2*.sKR#dHQVF @Pb~ΌwjߴM/uޤ~J!yԉ΄!:Uz<{c?x)L(AOsS-DkvsCyьna iE1@2hAHYQ3cqa9PG5Fj9)Ow :C5*QԢ.EOJUNժRͪS*Ta *4(XRd/vngn2a=+^W {| ^ ]aX&j,c YHV]e_m ]JV-r'U%k2[ PSt[t]9ǺҫsG=TC}_O{йk{w-g<+ Z}{^7<x-#O[|5{tXC?Ӣ7=izZԂ3=?V[0<̇s^Gr_?w<|O}[>׏)3SOۿ/8hWY'U 8{xXbW(D~XKaX(X+؂ǁ,72X4x#Hr׃?~PH`HhQGHXO1JMxW(QxUVYQ8^~dP\x_LSh6؆Z(rX]Xiwn`c8I `MЈP聞1aO8@ 0f  GDGXD8XH QPHHDc1p(hHG(BhP``,KX㎗H븈8ȏ(؏'iH 1HȂ'5#YAD#ȃA!!2 Vq<pXFy?ĒK1LLQ 5AiXxKN`Y'sK!3yH8hi((LIDvihsxt rz+II~Iusp9ȗI yiyVW1H0(QP ȃ5" b 4)X)r@i)8(LH[\))yȋ9Ii3YySA9,#vye%*ZQ0 C0Q=ۨ,xKϘ$GD0ИhQ@ TȈ%:%A()!$ڢ(*0J8***&ȣ7*IB>ZH/2 X1R&Rf)fhZLA9_ ؚzW朎Ijvzx_ `̸@LKP7HcQ٠Y9aBy-ȩء.Hz'J]ڞcYשzJ@ӓY`AL#݉˙TѨ8B79zzRa*mI^y&'ԺkiA(ڈǯZگMѮPѮXijtI ;۰ b& 3Wa'ʡ"ԩ -+/KD10˖ɲ6;8:{>۳@KACB{DFLN˕p*RU Z\[2R*JDj\zb+>]+:p۶vz$W{t۷~nQ+Z]C;KF[kn8-{{ʉyKs[ܪzk*c[e{»XJ(;S(R+[/8F밼:J˼K2ؙ?ʾDXܒA;({#]ck-~* tjKbY:X|%Þ۸8Һx¯뽞Q-̻0*Ÿ ʡJɟq˳;FGL"P$lgJilştᩞk` FckBLcIDipqܛi9/,V8K$#3|ZLSŻ„,y4̭ a:ɀJ h˙\@ɤ\R\[lŦn왎lɭC^.|Kl`i|t|{ƬzlǴL:"]|Ulͨ|Lc,|̣\ݲ,Eˋ˶zy˲ ϳ[+̻ϙ б, <7ٌ]}=#7EЄ+ m5 ]*, $2=4]6~{l;]>7-!,=UXjTPṔ5+!qtH6<8MI6MD䁖'Wʄ9S%̗.o$Θ;Y\PA*MʴRꐔ&FmJukTBvKKDe=ٷhA;c]Zwk/^uj Ll#^,aNJ!3~L9rɖ3c֨BƁ#VPE1E+x ā1kP?s@Lڷmnݯ|xo}..ȝG?n9ϥYqo俧ߎ~xw?2cз_{j(`rWۂ58`l 'o2N!jRa n8km"+:-p1("8j( 5hEdBIQm c5$j=IMBIM)eUj%XZYY&&^c%bvge a c Jh.Bi褈A^jiN~*.$Bz Yjji'ުk JDTlEɚ kiZKQvE~m][f)h)koޫoZ/L  p #qNlq7|1K1 1!##A) 7ѦE3 48K>߆'uMߏMxr;>b x@%ba @;l_;{[;c_|/WO֏ong ~׎b$PR (0ʂ@ӒrrDB@4 ƶ ]V5"Upي.@ fЂ EfMIk AAHQje(Q*dak |BC|C!񆫡 $EFDhi7;@qqMIA!FlQchyS |gUm UB됴[!)ld9H w$L&R]d[D(lJrHY`.2q.)яZ08-_wLs .GKR̦MOFa818ML:9h@+0LxͲFYBzhE}Vs|K:y ]^ЊZ(F˙G%aC 0 -d" xHxF dAQu|N`MӞBolGKقJ6cSRԝON5 TQ(U# hTj7-*P֧Ui*YhVieXJVyըuZ[U%0@` $kE-t!d@ :r}hD3jtUhh&Ғ45-E=[=̲q4i+f `M 4 KlMY.3rKj5VMtVGQwaCr H6mm̚ ^7kv-/[;~׼X\_W}{[spDlV5f@sf6Is2&E)J [؄sñB47(+ڻ:PpwuE%2s[V&CF&Nk:*2UʋզE9cNaŌf1g55Es<ޚYipYъ"6y<@6kt,!\*t}iLwӥtA}&zkԯ϶U?h6[.[ݫjՎ_V5M=lw5+Q=1mF15 "EC/o|{t[~oz;Ki};ir/4EcҮ\%WuMv᷃8#qw|]!9H|QXs0zpk laSШjՂzgS Jw+2w@~ڧEY{`Ջfsv=gGoiziנIgA_z@F8j-i4@4E9թ ):ZPY$癕)ȹ=.biXI jNiڧ*fʧ{~J騑j{zj-JٲJ nʨɉ- jʪYʑ Fo:#٤ȺQ07*Q@Eʓړ3 zٺd=7ZzjanIeid:Aj*b:P bij-[,ZC /-msٙʱ )۪7ٱ:{ʲ ;1'[ʱnjiX {>(*C@+:'I)3KRKUG;F '+E3 j?7!ӟБj;ڟ!jS`3 -wI[$Z$+ӣ*H:<+?@ =+A>˹FJ>===3 RZ*J^Z$ۺ[`zQJں;[ dKlZj±s ; ˩ꐹɮ~۽Ki* kɾܫ;jj7k{z9먎I+ K L쪿;ܲ:j;I." E٢j`l@CD JLEJ0S[c m/ 9T: b `|@@#ҺA,.қKs))K~<Ș6Kȕ+.ȉzմ㩨}|-H+Ȑ: h*9 H.,ɂʣɯ|P1Pp+ckhU˨kQ; z-gNz뢓byBۼNΠK`Z=QKsCj蜰̵Χ\;:jyc 9XJɰ ڬɘXzgs}-Y-$˼k=̋ޣ-3b&.j@-c*캇wzrr Ic0ѓ9#JV|ԽL<=AF{O@ G. \a挽no>l-㰭^^~>M={aLν=l|,~]Nړ=nlN㎾qlbN.Eʵdٽ}j^~Ȟʾ>=?nMފf^̞n=>yٞ.N>^>Nn=\dm~ 1C.=? *,.02oa N(?8-u:@?N!,<,H*\Ȱ:YA#Eu*:rdI"QRɲ$ɗ.M9$M!&\S O:9Ã&)ӧJիXjUᘃc&,d1VW1Ys@%޿~ ]_Lj#JrA61|ٲg?P AMP:5jPn-;6ضgV!fjجWw q_z  PVW/P|ѓ{˟O/A"H`'P H0 Vxޅ<=8~hP#")H"x*y@)Qq!\rKN$PFuRΧX%\FX+chg9f&6~p)@(Vch!lyZHiJH.&zBjНIn^i߉}YiXQУ꫖ kхbin˚NL꬧G}:+Vfꧧbj.rzmW#Z{.e*X gp9/Kj|,QG0&Z;,[*kVr9ۥ(ZK)xSL|;tFoF<㍪J3/i_vݳ\-Zvն;'#N8s˭42{ff9.GՇ'~"L#UGnD/n9:WEyy,X:bn>nt~l&ol.<^.3ӽ޸YKsWWK.F,1lFַo TwXa_7#H@* lVȿP`t4BpG AJ8ΰp3CP /T BPqO(*qGAg&:]L" $ (.nq ^ #.Df˘E0X\#27uDHh5ďd 2H={AiG6A$iJĒ"&It"AD9R Ĕ\*xT\$ ;R%wIғ#ɩ0GYe%yFҲ &AYYZzin&De88ʁ\&/%)I,SIE%Rъp'iWV9'0*N9PBҜd?pm8ӹχi'efŕMi~ٶhқfV\n6S|dE^?<*Z*Į̃%*S:PEmI*Vu$?˹ǭ>4idB#E bZPU<9:Wdī$VCBXׄ6)Y:3EehZӔlfQiz hG+fԫ3SvkeaIK[5b>(nw n" #nH&*ЍtKH!<,@HdP`C:8q/jxNEAqȏ@|߼7 f]XөҢ.PCZеКI>HKi>+]u{@PbCNކ6-lł`Χ@ٖ-}LmJ`G.݉(X6rVd8^r8n_ HȲ F`hZ9Jd$5KdM"-ȃH*9sVEK,3gP)KaOQMAbD$h~f.4 3L&n 'AyrL:S <@ݶeVs.=կ P~ٹ}NBg.,f\]E;ZX}S`5 rǣAJغ"e7gM"by4*Y{6MT 6)ƱQpn 'yӍzLŒcKhN׭4Am(l cn o|;54i{j;4Zm=pqϸ7񊛚 'x+(OeWq?,qۜnvcos% {N&gz-/MgN#z ~`ǾhOә^aGPv]v-yLjO\ƚ~)!/a3ow;~EқOcx7٢b~{^! ,@bAdsUÁF:Ya#0@l \ɲ˗0cʄq͕5 ͟@ JM*CPZB1XcP*Uk*PTKٳhӶdA-hݟwa8A5QUTÆ#^L@s#Kԁf8튁+ 4hѧ)Uq'kPmdžqͻ :fSÓ+_\ua7?@D2Ɵ?hϛWBqN8&eqhO `P d]yDA&a}anvԅxq(&$_ %\b騣J^A"&)YF6)]~5T-m!Dv`dLcab$ّB;杼9ޓi}eT(LewHp%Fe&Rz& whmJ;TYGh=~xd*鬴֚`+!lk*o,Yz6v[҅79k-ή(t٠<*[`9[-1P D[+*t,grd+l)T뒑|■1oKVW\mHblQqBTܠyYjLjRڲf,L'{91L"Fї".}PG-uY `})[;hρƮMm`|6h =tOܶ`@{Ub}7Lh X1.wD9q u.\2L9tP>T죣A箻dŠkP6BT|-O AQ?a9Z+c>VC0/?n 4򷸊g=<LJD{':0&4PB; gP5Ag$,{ ǝ %@KgC}("KJ8FL"ؒP\xŕpQ%WdėqXBRO{cb_H:$TR',MɿxDRP"XAC:L%Vd(#)JHvLƷB"e?%o9*$Aa 7Bay;;f!<*D܎dNs+:%LoĜAj񽑅ipJQ5@ Gq;zIBC8E|d+9J6t 5$CI`~*׻7R/\~z9fAҖ{YeGi%uKtڒ4&_Oqx*NԦ:`2I9(I֏PͪVծŦ'XJֲ{gݬ8Mpkx*׺xͫVj*z `vMbX:/cKQ )l![z hq1*R!tj!ubvlgK%1Emwۥ֒ pKW5ix.' !,,Hg uJXpCV!:|8ŋ3jȱǏ CIɓ(S\嘉k& ff1ϟ@ @ENTJdΖLEF-q*ƩVP]b٦hӪ]sg;m\lIɒnIop]̸ǐ#Kzv˘+ybg=71IQsT=[לn ErCͻ N%_I&w\cϟLbuų,2wu_ѻ*ˎM=˟{l3_gcwhkxI扷G g_}Vh!Fљo $Gz!Y^hۊ*X1xQ85~rg()H䑽f1քEinQYm]ҔR]Y6H暺}OitH!?\խ[z$lvɢx:TNR:lٞuxFƤb$BfXܝ%jFʙ*EJTV^{rk&d`VNtdcHҶ%m.KjauIIvQ ,E V!l1[?9<QYH oؿ!apK WT2I\"0C@@Pr2 i< ;=4&y<ӑ2Xgy95Ptb7MvG47EeC]+#]w&MַQ_TE.fDW7.ҿn{ٛ<EWl,5G7dZn!G1ij7^/q_$7g=M1_E҇T=FRwCtϫo觯/o &$ !,@HAТJ#JHŋ3jȱǏ CIIb֜\ɲ˗ifA0;,3ĝ${fz&ь ɴӧW \TTNzjUU)Adj,Q fʝKݻxW}6߿UlP0`nE^5<!OL˘3kf)ϠC[\$McTcb¦ܵd ʞͻA|,.q$OHf| kƪ]Mr{=Ʒ\~c{5ާߢf[nZuy_FY4^ (тfaOUr$HtI5щ%ZhnLG7&2^'X iAJF!A XГ-wV"12X`I^eW9٥bkH+M$YIaHUUeXZXfhXi5iA> )OI`ISXRxXθҪ믢]ְPf lTalZ"9@0FqAb+P5F#k׺%@* ԳDӗԭ>!n׌ܾ/d/\LaM n9 bW x/g.Ydu! o4(,8Љ4&$ 6}ocGcO@CFfSVi(Fδ@_f"V̵Ik zq%[XmaaEvB(dyQZIY%^@nP©dBnuJꪬ꫰j -Y */m@Tz,AԬN *$ƳQ{ӵ:FAYQLbvnLvK+  o<*IA)<@`oA ]ǰMqM!{!,#P(cW\oO5ߌP3dsmUV/P 1#q>cBW+tAESDEcg5AGݙEV0xd,{q:kݽW 8s#3׭zv߽w~|+hh lڐaoO_+'}'`"8 &h~~ԟF^Ana '"#~($h!Xb+ƨ!C)X B#8c:r9YȡhqEA!PQI>QnM VfyraUߘdihlyf#vxَ5! ԧi)hQG8B2| xhMj_$~bazR)N꣍jʪz몪Ϊk +:PDz쪐lB>gBX\]JZ~gZ.맺沋n+ke `$,\ri\  ?iCl f K(*TZ2P],c2* 23qۜs:s@,R`Q(viP;nRGMUSwm`+df \4 (LqV*୷jS})+>,i9ʘz9塖ycSy{Zi oBذ= =eY~fۻLP&ˇNzn}7Ͱnvm 藯~ۓϾ?}&@$1GxjĚ2_  zҎ,BҤta[ Qx7[J)HPM}c i "nHĿ:,!6QI ׺(."щXbsD*ˊO(Ϩ0@;Z-$[$"#K(2>dc 2?ꑐL$"GE6|$#II;BҒd%Nrd(A9Lґ? [ #|̸H #M3-K.rIL[OԥzfQf`)`R#a{8^&JR t{ϣx-DRcGi&$R1R"H!Mᄨ\f뫗k>Ѹs_/؊NvBl`1. E52;*VHqfMǻdZ v-m넬ccmn.>poy)IJ|o+W%GԻ1M{FrheSyGθɬ񏛼8ʗَO{]z@ mazFѡBx2N4nryXx#?$h1(dWըI‘<`791/;m"vQz ~rm])>VJx?–zV #9yΛ?rїbuTbsֻ 5NFq]Ě||QBps_(}i&}]/{)}oSt[~ڿ~GIs(/xǿ?*]]HetFuw'~StPahRnj6}wh6^6^V_| Ha{H_`&kvjVwjyt5agwpgw%gSaxH8/ဠ^ (8 6_GeF'eh"vufvfƗb8t(qf!X6~Wrwpl~xllr_tr7!G9'xs~s~h8Ȉ(s&\F !{VXdև6bvek\Fr$v^X{x]'}{&،X<^nxxJbmG`%xyvpň5e&ViT8zdXؘh6gǏXlV'y7/Fh9Y[fc yy_ YCq8jp(f.z29 kYx4<ٓ>@sX&"ic'pۇLyMgyxAYVyXR1&I*ْ,Y9dYfyb 7If*Gjtُ DǗzYk9GwX)٘cٕYr#mYZw=hSY:9Z,8qEɚ\Iٛ9X皒Iȩu!,/,H :*\Ȱ:#JHŋ'B4`G3(fIcs˗01\9p&8kɳH5> = `тG &ʔPJJSOjʕ+~Xe(۵۷pʝKnìbM׮߿{8@l&LL6ǐ#KL˘3kYa 2FtӨ^kaM۸sͻЬz5<ȓUj8qɥ~+){x^ҳ'N8v80Nd mO'?BAHHD 1(B DoB@! zwadbA+>D #QcTZU! 88E&d`h >(I㕐!1\H)6嘐` k&p]9bBvJ*7$a(~QXHLFF*]G(fQp9JkJ9I.)OfF dMoXP:helJe&~:n=Ÿ化0kmSDJe)_avV+!(dҫ$,C,!,!,! ,,H9` FTȰb‹3jb ,8`Ɂ'#b) M1q$= PFUQPJݸ@׬_`Yg %v`[očPA+V/A ̷FT\1Adž#KLˎ^{3\݆Y.hӢQ>]d+–mf箽m] N#^~y^?:Zد[fy0xʝY_Ͼ˟;ϿT pj&H}B(]Vhfnuț$hce](xфA#u3FWd c;c@#_ E֠;i4PFY-RViA@A[^ f@Dg"b@o9Pti'AP @{z'BeZ(i"[>ڥe@ ԩja:iꗰf8鬔j~٪l*P[::lʉAq5k(Jj`j[+NJkJf[FV˥$;){gpWl&kZkA&lv[, q0(1l<|s@!,,H 9`Â2"D+j1Ǐ 8R`I'S\i%J*[|93&͛6s93ϟjhA@ʴhӣO "UJիXjR @@fmYi׎m;mݸtUW^ LADx0わ F8Y`e3\lAn9MӨS^ͺװa۸sͻi93\{d1'l2rʡMnc\sџ7]}{ӳ(}l` ^(2*jrZGaA EA]HPv@nB)d8HY&D#^e )h Q(G.IC&i<8JLhߍ2ڸ_E\c`V%YHƘcPH%V)PIňfBEb{X2g")9 N喓_ %'iiꜤorꫵ n!,9,H Ç ń*.jȱ#ČAzIE5&S\ɲ˗0c\!P̛8sȗ4Iȟ-X1☃Jm PD@@+QXZVʶ+QdH;iUj_B@uoVF6 ζmƝTg׭Y 4lKJm$ywQi8O_ߓm빹7`ل*6p-z5hDQjۅ:HHa)rXl YH@gQhqۉH2#DIhۊ.s?&PR 2GT&vݍb`Gq!a)БX$x}<pe)zH(&Jo*y2 !,9*H*\ȰÇ#:sA1JȱǏ C8R`I'S\˗0cTq̚2sɳO6 JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۶A 8W`ݷx8`߂"0TO]̸cF:($\mo{_GM[!o}&wW͝_z H݁܅7aZ0 IwۆkEuFq|!dA^gcp'!Z)@Ur(R&!rHI)OA$X!,*H*&nܾwpה7uسkν-@Jsļכ]=%o}& k"D B!ATX]xrq؜r!syx((90(% aEG{q(DfcE&.WDNj@@]S2ir\xRZc>_$R(Ndp)grV^sZD, 蠄? jF+(jRF*zdHZfڒŧWk'G5iiꀧjt9fM+J+lqˊxB{Э`gQc嚶v vn@o^ / p;Aq / H2*(Lq()h2+ܲ1[3L̳@?Q!= (71:SJﲦ0l]ˋI1)k6l1lgG4NWެAHuJ- >.U<}tdOwv/K.T:*@<BJKw@GtAI_֑NJ=e/1HAM? NԽE2~ A藑E C81ϵN~ؿ &Nf Yʃ[H?R1A`ba!I75B~8_EHИWD:9H`%n6ݠ.$bh"EXZg1Fa](q=Q(bZD HHq*+!qem 3$ BZä%. ; BD@78rA '5IZіbVs\ &+XAaL2f:Ɯ%4IjZ̦6'bj,W@!8,A(H*\ȰÇ#sĊ3jȱǏ CId1Q T ˔0MʜI͛8sɳϟ@ JѣH*]jSDILJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKMW+P/k0\v+^̸ljBL9d/_D7Mڦ^)ak_]ڬQݗ7 NqB88$<>j+؛$#EP&Ξrt(ґN C/}dWzM'_|ч]_xG),AGT\H((umxZ 4u ^`@waHb|ه(ݘ[ 9EfHY$u%8 JG"եhiwq @'~H)h Q܍rV@!<,(H`"TÇ#JHŋ3>3@@쨱ɓ(SDr˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ*ES@D[+ʕiCjꍨoڿg La+$<~c Ь>tϟ9o^ZKCzqbU׮ %i$wWZo ysdƽHsãe7~}ouO>r'r+?`5 !,(H*\ȰÇ#Jŋ3jȱǏ CIIjN\ɲ˗0cʜI͛8sɳϒ+~ JѣH*]ʴӧPJJիXj`oKvX)ϖ] ۷pʝ1Atj5߾ n 1Ȑ # KdȘ#BL&q̠^/) B&ݹհ+5v͞[lW x+zHLs"xfiww1NhE|qE^Xrak ! ,(H*\ȰÇ#Jŋ3jȱGb>Iɓ'U\ɲ˗0c4b͛8sɳϟ@ JѣH*]ʴӧPJYsիXjʵO *«ٙU =˖kx۶.˸c,߿"1 J! D1QXA<  "A3Qd@&5˨ fQH$EjTԸ wsߠs^=JcϮ-9T.͛h2?0o'GX:e棜Ii1W[ir@\׍B v=8b"dQ\bȖgAF&"{/dm3Fעpvc_@vZf9U@! ,$H*\ȰÇ 81ŋ3jȱǏ CIɓ(S\ɲ%.cʜI͛8sɳϟ@ JN/zDӧPJJjˊHWaWzU,ٳMՄ=QpʝKw*Q I$}j0Q{/` ǐ"3y21(o`$Q=ԨS2תc_Ҧ ';cG9.r@*ч F:F$c"g.ۺkoE2X92f;dƒ_[Ɯb͑<'m5{ ԗfek_(Q zc 6q f c T"~ˡ]"Xfabu7iߌ!/,HP@WA†BxŊ^ȱF$xI$%Oj%Q I(27oē%KFAҲ(R"LY3'ΧSS.Hիt>au0ĠH|iuV$u΅2@bێe TsO!%,'H*\ȰÇ#Jp ŋ3jȱǏ CIɓ(#Hyq˗0cʜI͛8sɳϟ@ JѣH*չ2˥PJJUO 8կ([S ͒]rZbْ*ݻx"!ߎD@A0QX%N,*_}Ly˘-"x`Q(&Ψ RFf2`IM("!=zq`!D.8\5ʮ/+'e8꽆Y!Qf}9Kr1yx*5Jy{GE rX{1`Vo`Vچ!6Fz؇]PW9f]bT08}Y_58T@!,' HcIXp#JH"A3jȱǏ CIҠ Ti%ʗ0cʜI͛8?ɳϟ@ qAD*]4ΦBJիXjʵׯ`ÊKٳhӪ]˶[.ʝKݻxwT LÈ+^̸㌁|ǘ3k52q 3p\SFSWP>gkͻk"@g"?nHC5Uꢢ ;HG0L {ߊdGA`udMG)߁!a_}%`[JRH(7`n*uaX`~QdxyGZ#cgx H6XP{%LBuZ'WC1ɑ@eh#'G>v$JO( _[~DeUMՈY">9I٠tHP('4MnHطg4-JИ$٧7v(חij̽q67 礬!,&H*\ȰÇ#981ŋcpcƏ C )'ѠC"4c1IJY1UX6eԮ[6:Ь`U9AFБݻ -߿ t]#"&rqB3LLSD͘C|PqAآ+װǞW2۸sӞPf}u%08 μsKNu'.}= wO|ӫ_o7݊˟Oz_Z'`uu!T wX  F߀f!u(ֆ (hbh(NB~bDFBEu9 ZAXݎ>TBwJ%r|5 yiDdBLEbJ@ ]%ٖ*)X %KA)ti~ | AQОEh'J(CTiFRDb~v7Y^])(DaZ(Z(F.J&D2*ѯ-%INmɊ-.i;)Q-kDf髍^k@*l6J@NФE+b,VkK{WÚ:+ QGnD?,KĊEWQ \(j-C,K/J)KT3HFh'k4j.'\u .WL-e+4CA?'Mlݬ2_Sm҂Em q{mj(.luY}SM-EpO7LS sQ͐voݨ<ϛil,.dRyK򰤿&+|?|U s{2.kV-M+LQR |>bz]=.*-,׫j= 2YQ $_AoL_4hb&+ cT>. gH3ht/0 !(,6(H`:*\Ç@hp ŋ3jȱǏ CIɓ(S\ɲ˗0IP!@1YP O*DLѣH5B@ҧ!tAժ ӨSj)Mj {UQK]mۣh62۱~˞0ٟfimY|FN00Lc!,(H`A:*fÇ#JHŋ3jȱ#F+ '1HY`K0/Ŋ&MQQBY8LϞ@AMR6FTO2( 4)PFmTʔӨkUN> QmQ[>IaQM8s%.͹X+G $À! ,P@`A"&< XP ʼn#XqF3IID@2Q``͂H܉`Rd|CHjꄂ &QOFsOAfI$]c:T9GA3PU&5s,Κ=XugX}f(ҧcc-xε: )ZIXLSeXur⽘:J-^ /7neoo'RlxA"py@!?,8P XAp Æ!>l0"D5+Z@5JHɓ(SZ$,Wb5s(0'$ E0 )2EIb/DMRb0šC"'W.a"ySGXJ hѻF ϶l aӠcHhQ>j Omi>s#bDKЫ\/"YfM-~>wIB]b/ɨA>F0i8Kc]QO= 䔧fP:PZ-ͣ'B->5EA2/= #@mK=w;+X}ml(E杠 $8ٸ?lA*+4@l "_ua^ *xI[+[0O{4=/l =J)X@ `E#B|;<"'4 c"XXM[U PXjQ PC]2}$e׼pM0r/TlLI2@5. DXO .1(T5k3ͺ[ Kմs~ lGT)ȓ+g a`s Dΐ<`ߎPL(;N^ x{ j(y)G>`4_~(=Z`U:ȓEuIuPЀ!B^ X)ǐ)X\qމ(ɨcVZFx G: ddARJ"JeIeF8~)Ca@U^Z&[B&UA]cN9Udg枃#ЙzBHiYAV?bhc^dB.{EiC*6xc"Jj_k?ڙi?j-]+[IDtJF.+V (A6kmf:UR#DʶZEFk뒬ZE.-$_ڷ"E8;/=˒xlݫ0cpYWq&JMѨ/ p$Օсwqн,mL80@-=\@! ,3H*\ȰÇ#JHE@Ǐ CIɓ(S\R$0cʜI`ǚ8sɳϟ@ JA*]ʴӧP"JZu=IDNk͛] jRgkd[ [4# ,PkA|k G 3Dʩ~-K1 pLށ†DҰgiX!ظ)k-3&ico^n@[`ʙkt߷ I$#a_OP{}% z"F5hH"m]aD=mYe 0ތ罗"Bdc̹^Ay DrG!GE6yj=XǤ@/b^D%SP)՘N'p&V.UӔ矀*8eR䐉:cFg1>馜2GgN!<,I H*\ȰÇ#J(A1H@/RIɓ(SF3@`lIe͘7gܩϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐBL˘F0 ̠CMӨ~N k֣^y۸sͻ',ȓ+_sÛ7'0b709QX"^ĽEf]5>oOy'}`]_|XQf :8~Y}'vB!S GU8"[("QH'#\z8 ~ 5 x6աGwJbu yДa%Tv)_\zVA٠b~fg!%,I H@ IȰC F,8bŠ1 ԨGCIɓ$A\ɲ˗)a9&aM7 $s`O? }(fѣHMʴӒKGxJիXj%®`Ö*ٳhF}6YnʝKݻx{߸Lp\+^̸#KLy.ʘ3klC=1AS^J5Lvz"/;Q{l Nq+_μ^KO}֫c`ƺ0-ڻ` ʔtϟ3FA ׀&(ʹ& `AH[1Rg! >I2ԡH8ۉAa3,h#Lިh 4b*h$C=wx7Ya!IL4aYգA_Bvf?JC &P FQV'A{@=I-t@kyU+I,$զAџUa鎔Y)WUꨨ,biWҨqyjXfkW30!QŠ($Ryէ,5Ҙv Շs%eYzK?fhƫ;-S @[P+\v˒&!7l,A GĠID,&2dC"Wp(T@2t2UZ# R22D'rAQ?G ˥>Dn.8l@ҖV-@SbP )i&V-xܮ5K;T5BDێCPCo,KK8͂;NMmz[6{S١={xD?;b14ڽ}<ѧo:UP(>pڏ ->܃)|'b#oR嶚ϾZÛhE}L࢈)8'H@`I M D CH†!,P H*\ȰÇ#JhA/jȱ F?@P`-+;d9S-s|Ifϓ?) JѣH 9`ӂO2jè*jWR:**جg5[vµaMJݻx˷߿ P@P̘ǐ#KL2eŖ3k̹1/ ӨSJzװcΌqロgͻۉ _Lжȓ+_μУKNسk\{xoOӫ_Ͼ˟OϿ(h& 6F(Vhfv D$8J(J@ b0(4h8<@)Dy |"XF6(dQ+NXf_|/qDH cjc`dKC a%As%H0ik9?HC=0D qY&`oRB|6jiAiU@iP٦=1*@ 2Љ %Ы:*rj"10"*ТE!Գ{q\).E>$uِn-IQfC+j+5.DpBaf:QVwa&P1CB(AW% A 0APd"J(bdB(:OS=CQ"&!a{=uP=I5F%!A(@\~5^Yr3$Ƌ2DDTA@l@ ܃< RH,Ix'$H"q̀MAгD/AA".kWX B om@]amhC @x-PӋ  lͺAS/Dھ=P޴)+,@L l@\BW/~Q r]ؕQaǒ8( H (ełHb2)b7ɌT)D!)@"!A!qTմj+@қ"P ]EZC@5 Td@4"Kq41IaEgE`bG3ri"֬.!I&0%@Q2H.MT];c l`H/K{($$]z $IW^8W= n|x@X(`w,i& H"u% Ap.DqA8L]EJ D BdJ3KPbvD5fV &"` $Gc!`+S*) mc7t&MS?{4piGyV0GR0]`%+rh?4u  G=D5=OQ 5EhnX e" Iz~I_M\߫k+MOu̪ E6 7cy&x걜"4B(wijS='f)+O!Jdr'܊"E@khD'J˸).BPQx&KH"ɥ(@0=-Nf#%D,rR=uS>P 8#ڑ&qUtW^RUKzNMd,~Au 'Y{]tg@ fB6cCy;>ͽHuvα;nvֶqs"^y5mz{O;'N[d/H@!, H*\ȰÇ#.sA1sAAnHcɆ"T@˗'G,H !̙!c)fNkt9ԧģH*]☃O F-8W f-*֯Z6:BЪ5õn-;W \qW,ߦ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(VhᅻEv ($h(mdIAR?8[ >) 8!ɣCJ)eiQF9$٣\bNi<[vcЈP`)gh_!T3s*蠄j衈&袌6裐F*)~b)cL yЗjebDdƩCjPqCj@(ik~b 챇yy>$&elI|嵹A-RVB2 )2J:ˮF֯ dB/4J2*k?.x' 3pRUIlqrʫ2F.ʊ l#Ü۫A$Im683W{QD" 42 S'9)J'$4Y(Pӷ]+\r kYq*-߀߆,yCcC.)ܖ#:A'C-y)a?TcO|.=K6W9/پtq+/kW_raϯHX$:Y>}/"7lR=H(LaLB0 7 !.,1 H*\ȰÇ#JHEufĨǏ CIIcD˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞MەeS# Āp &w=n tI^uRש@P1)8CJƵp ǝzQwXQ畃yIЂFg|D!A@:U"AHЉ"Rӈ g!rcQ!T72ԛ@&_y7FIX_}aH[=cCIĕ(&c`Sihlp)tix|矀*蠄j衈&袌6(sT>*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무jkT4:R@!<,} H IȰÇ#\hB 1JxPĎ z8@ɒS~ɖ U|ɲK+oBgL ѣ TDM B]:TN9N5+V^2 [,دQF4UpEb`ݹx˷߿ LÈ+^XwFnL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟Oo(A@&F(!|PLhfv (∡!`$,0(4h8<@)9!WD6PFR8UekX&HJ}^-Tcë̪ƿ. Wy\r\h1B.d:g4 )*,$+46?3* TX!r75Utd-RnMP2;%5 Mpv=ҍw1x@~cj'Pu3ޖg會ƨw/[y礗nSxꬷOzGy箻~ԐCoC2 |?/ԛ|F}u!<,T H*\ȰÇEP@0^̸P@ (ȓ&S\Y%K.[#ě5CYqfϜ ciѣH*5*f@N6cjWb%֯ kYYâexV۴p.}6׷rmX7ݱs Lء +^̸ǐ#KL˘3k̹ϖUApӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6FEVhEv ($h(,0(47֨<@)DiH&L6Y=NcMIXf%lPd%c_*d*6f lf7Nb]DRgJyPoF@pga|B6g@&J(VOCpf:-4z\8I!ᄚ.%AV8Dd:l*kA'u~ku-2 )(t,qFx\@<ˬ*H44p~K޲ےA^G9,Zo-"묾6Jj&pne+È0vf񊬩 Ʊ+;Bk32>Sl/3$L7-bT-We@!,72H*\ȰÇ#JHŋ !ԈǏ Yɓ&$˗0c옠JP)0̟.IJT"H*]F8?a PjW J$hV5qz6ݻx? @_A(K$P3IH'DDfχC(HLK p-۸MF!۹XMxWgo6μyНK4yrسD[YYkZO~u˫_i7O[~w^mι fWu5(!s=%kMvYy($hF]! , 0H&hWB BXŋ3jȱǏ C$cɑ(S\ɲ˗0cʜIM-ByJ(>DpУH*ybPaJիXZÊK٥F"9SMʝ 5 ݤqRѫ^i ,0."8i`K 㮔__5qsӇ@YװcMm@!,,@ Hs‡#JHŋ3jȱc1AzIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL.k̹P>}94ӨKͺۣ$uW{{u.;{o$3_|w{.z[f{l@'=:x≲ Vb5JWﴯ1 D DQJDNEE=(=Зa(uOqhMEJsAԞGR`L L'pG Ћ`(2XcJ@P$NVtSB$TbFB!<,8UH*\p #JHŋ3jh@CIɓ(SL0B1P$8SeEVH©eD#،8Lѣd*]3gSBeڰU%Cj VLuiJIHͦdÊ5%XQ^kٶmٽ!n\SP%Q0ނzlWrFZX31ț)! ,-P HY!\ȰÇ#"#ĉ3jȱǏǀIb (˗0cʜI͛8sɳϟ@ PѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pKݻx˷߿ LÈ+vaǐ#KL˘3kxg>6chGQ^vzv͖Kͻξ  +g nH$>_N:_[[c=[0lg+d3}y@&?5ȓxZ`4]CMe~ ta.Mц2"Zd2= Hb-"AXF&_1)Ќ vMqEDAm_=TM$R[$P:Ql]Ս:)DWh:D&GdHPcePm| ћRJF4KaZ_w#1J՛ƕ֘3!=(A9QcF%Ceڮ>^$P.dc .TwV!Bz%,0 @Iku-qVkҫ.zml*F6TpTºoFq]Vd ?|^kncoWi,2\{c$~ ӈ.!2,@0!Hb8@QB@rA-paA jœ(SL2@$IdM&1dISfJ>{ yED BAIe'J9LRaNZ(WeL`XrK'Vp҄ޡnEjÈ,<@! LがC6Hse͊RJT(J L2W^T^=UH,EQF}V8,$;ER dRYՓ ,muLR0Lä[f-6u]D_P<񇒄Y{IMA {AXMC$D'bӇID}nƓ %VTCdpVkhQ5U=9^de%@A(ՓjU'V] a6Y 1Zr5"~ 9DAaEcK=h1肒bO')B -J$)N\.i2ʮcrcr갓*ABP&.JP6cP,4;  Zљ.Ajo<@'[P{#f X/$G+!lηb$Iګ[J!r@kTy@0yƺ*<@ C]WcWvYw9_@Tuu>7~F_$٨_}KРx$[T C;Ѓ$_idp@PF`Ws5S @:@НIH(a(IToDJ*5*@UEP'xO0FQ G\EF+ízI(%A/Z9XK=G|w4OʋQd6>$~?NQK@5gHc%%dj18 $Pv 2(!iaiX'zޖ6v $S"(ŸHqU+HXņj,tKD2Z̵>s!i]E| - lDt7KTƧ.>deF!$b HH$Fr܄DRXDh諤rC5ˌF%ɤrL~)/) C|HPS KF k(Ѯf:'lR۟ʢ =DaNjI=jr7XJ2b`c GX˺[:oؐmfh)1 Yz0dPiDvu/$L* /l P> DIFJ"Jg^6 b }T$HԬAQEd}G<ʂT%tLN<*NʪV僜n`M E>ࡥgBUϰ5%)Qr,MÒ։S Sjb:61!6,d H*\ȰÇ %`Ł/AII' DRZWl1eM2oܩG?yNi3ϐ*]ʴ1#u`ըR Ժ ר^N[Yώ]PmYVvu6\l捻w }שÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\JA_v)AWfeg\!qأvb0SclQ۝sg Cp ZРXAЋ Ai(CC,d*$DA>T8>zIej@&ĪBlkA4 C&YABi*+"ilMcr{ ]A~ʨC2Deb+%VgPPd,z6-A>W0it,yp}/e0\[!60ka¤M%^ZZ +LJϣ(^kͧ(dB(?k}">S=ZS 5RCpWYSdQ=!*]ʴSb D5(fMA JՃ^k0@P˖ײnK]=o]{Ӻ]P/~*^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\veQ|)f}hVEݙ!pua@ddf˜ıꐟs%`64BbFATA 9pjc(Dj2:ШҡФ*r!<,d H*\ȰÇ#JHŋ3jȱcD:CIɓ(S\q ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCߌ ӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_ϾK$-P7!g 蚁!eQ a8Gt$_f` хRЈ卂0bjǡxax*hq"A(\~3 idrJT_ TdA@gghP}R_as Fx'a18чE$܃(~ (p @w5FW_~"(2 )A" =ΖNK7 (.#pB(1xeoSJ)i9d%=.ܖl٥m&Xii@|榔DDh)k2j[ab*ۙRYТrZpڃڪ-:++Z@!<,A#H*\ȰÇ#Jxŋ3jȱǏ CIɓ(S\ɲ˗0cʜIMa"ϟ%AJ΢HrҧPJ*0RX"5WP@@I_ӲKVj؁p޿#=k1/트qF: Q1Yʘ#%̖aJAd#+ (dM> A(!!T$J=-.6.bfJFx-a= A.Pd\&ܦ!vuX҆;nqYVVXU,R/8%拈y @"0#h0D6 ˛woOH:,QԜͲ?B$2@V @"rj5TK 3\%[[ "HEP+m"ja1M 6@7(BIZTp嫻oɂ&uzJK`x !C@p;7 Y|adpx:AR\6f f0޸Qm LeNʫ٣}@Me @nŽp2MA׳ M\EůHG~y߿R3)iJX|NA`)9BEJ@Ȇ=ę B?2!zgZҚR(Z) ڑ)t 4! 6ѭ7Ǡ@#?WE #bqqcb(uNQątr.AoJ@S H3yi4٭ArzSW4\0)hB`>3KU,jfB2Uu![鿅(͂XrW=lik\XAњ H1dQ"{JGfq8 UB m tW1QEH*^"6˭E W%)NlG=< Zbkzaky M&[a@s- .tD'A,/BɬGHRX|!?~8و bBkp$h#E&[#Q~HNާ7w?A~4b'BЈFI!, H*\ȰÇ10`E/8@-f)dA(I4X aJUƄJevԙgH-yyhģH*]t̘O:`UJՠV]uֲP,X %+vٺxPn޻z LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\vqCHTfՉqZ,@aAdqfBz C.gwA(qzzhvG{V*eڐԣjyh ٝɪj7Bj뭸z⩺+,C;Yw*PAXBJi[Jt~kݭJ["y;Žؘ۬Gn& ZP'<0} @(6 XMrࣰv &w_c,qx= 'RPkJ:'7ugҗ =a GæpqJȻO YAB8 {mB\g"d8Tq $ 8 f-"Fp|eѷǸQm`HHsTI!"ע'E}54N` [2?Pzz":yQ%!lZ*yč%0e$`ʍg`&$Ʀ1ty*;qKBxCW{\ii<14#|#AbMҜbB8)h{6 y,e`g8xK+YIOuN\;yݼ:iq/QmQq#F7WoRpq+SЋX,E3*N8ڳT$ UC4=EbԸ!1'LR?eNjӉAy*aJbYȗ׻5&:z&rzֶvU+Wb忯V$[8X\!Ua'V*8}1Ru)*UJkKHdЖHjANo!}HB {mnؾ"r#LۺeWur]ތsƚːa.S*RSHr93<~_ f0)_SႇnPd&MپgÄ/W'krvkeW n0fSUW[#ḍsfD#@EWe[ "ƾ[@ HV&/b5yV>b.O~?ojRdz|H9!yoS6FPث\7fG2yliCE@NІ.| <1jV{ӯ~B7nto-YAZy Yz!&u͹U&%NPJnnk%#y7t.SԨ2rHE ]Sܝ w]n>6! OF=]r_K7yx!xTp{.m3-Iqv^O4Olp`fMڐk1iqszEa1ǖ3i{g cAf[;`s\Xʵ}LhgG=%I i\[[.]]-;7(×S -A<74 PIRZΟﴂI}b'DSn_Ԓ(Q2;ӗyqA}`zOzZ{}>/):gUw30{\ ykoƱw#F>RK_}}&~(j!FF~Hwr'P'w~W=saw٧TKc'g:tDiV3vfFzQT.yTVC?9"9z2"CcR_a.Q@8 gWyHmF|| aJNhkgdz'{qzmeN4emSUovфe6#ncHJoIgqZcXJ"4BWKM͖RkĀՈdh.G4zj&3Qg$udC$Vt(hcG@&=M|G9@cC`{Ibr3'^dF?gLi}(P!Y9OZeuvW>XXÌES@DEo@VELlSCx|tDO&Dp>dF刂EC'zXP﷎MBLdDdDHDII8B9nliNl:t/g蘐#xm!T ID!yDIHs'7lFF_3^6HI`]C- lFljZ䓮Ӏ5w6a&Z¥ZC*iDžgZ材_MYK'Vt@?_]oeFVe;&] ~0xrƁE&Y$B%.XfDlF?fl[~xee}* %X;wcB6whMcIvMgWZou*VfLxIGژuIzd6c*nۄ)< %EV4&$BPISx|7fIU Y|:m1=(z8p)J u$g{188:0F7~dG9HQ]fS*jhzzPoJ놇cmOي|:>ig*Pbt)䀛S&R7xhɺ9ugVG!tVEG{?Xu3AswyKv6wn:I_sCyklw[aU)nKybG®WO7IZqz糄{HSrf:MzZs4q^(ӳ\xF*$o[J7s4l&8yG>|AoezEcg82Ê*l$_ê i:Vo!:^˓zv&Wڬ@qt>t'hT{qOՎʹFrgfo^qppm oDǐкD≵9$XVN()Ù9^&b5]bYvN05{dSwzXزh*XʖGZsڥix|SH!gGB|Yu*<  J E9%l'\U jpI`$w[NY@ea%`ЩɜKUyV}wba8ckaIi\H뙝J!, H*\ȰC: %ѡŋ3j`C)$- G,2%˗.cHf˚m1g˙?<)TfQ0Qn\ʴӂc D}JՅkf(F~lfђ-06lٵmϾu6\[ ū{%nr \]NJ ۽J˘3k̹ϠCMtBQ T]԰Wn=۴q{u=đO|nУK:wuq['ӛW_m>OϿ(h`}v5(Vhfv ($h(,0(4h8< @9F.K٤E2TViXf\v)]9OySlp)ti睘EpY:Z(AZPBR:Fji)}~:c:iZ)*ziJ뮷묦+k챡a6쳦A0Vkf@~[ۭ{_+/ګ+,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'4A,PG-TWmXg\w`-dmhlM?n-tmx|߀.8n ů7G.Wngwpជ.褗:kꬷ.:^zkU)k;UH> {}`|݃}&aqF^o?@k ME(t2_ @o\b@4p t`S&*3"@ΔG'TQ2`X eR- :X {d8AHP*!F^Ŋ]B~*Yŀb@qqq#b$ BDIQuz#T8ib#>"kTFXP #CF:Dt4T $СNHJgy1!g&GR1|d')̥'w J[WՓ(<&e)H8!$p?F`$/-5)Q\e-&$a;yMvrdyzcƒHXg3Hc<ǙMz6꠵fi8kӘ:OYPs <ˎ(Lc+h̀jT^&0)Nyjh0=q,@c:锨Y~U=>q;*R!,E;~H*\ȰÇ#J@ʼn3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3kyqϠ#FMӨS^ͺװc˞M۸sͻ NV!+IμУKNسkνËOӫ_Ͼ˟O$(`x hrhEP XgA!4+qb9aX( !')(c c*I49"/%шD(B DPLDE'&(dpW"bj S fHDfhfJ^&%d.dRJ eg$t9(R+&iFfCR:vv`.$Y甛"!'$1c蓏*(R\'r ~ĥH<:jZGk.dV*EFth9@n+Z9(jnL QU4ú(oGCvX@! ,we"H*\Ȱ!#JHŋ3jȱǏ CIɓ(S\2#\2!Hϟ@F9x3'DG"RMO&8 ̈́W 4@V/2Pg&TaT]۞5QF!@ ~&;ma GEbHJNHqEVH7ʨPlY޺DFzr鐘7޿I xz1$d"?uwxحvhKkI{[Gs_ykSijZ#خv_Μ3H?Ƙu-WYjy `IEGV؅I]RVQn6~%^tbY(H)"U|#!,dAH*\x@!%,`ઁG L(  ':ȱG/~XPƈOXH\$9rK77Ŋ'OQhΎ;GI:I$BmxԠЫ;#zJњ,%T٨h*􈀧S>:aEBBfަ{Kq֞Q oE-۴ִ`jݫ5OSAv(by'Y͌)Zf ^Ϟ=hw.wڪ DIL4_i*F/Bǎrd@!,MH*\Ç#JHQC f$q`G?6 IҠHSXRcK&_z 2f͕8sɓ?0@B*MʔRMB*ՃR>u׮`^KٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(D,0(4h8xՊ:@)DiH&L6PΧD)@Xf\v`)dihlp)tix|矀*蠄j衈&@6裐hvcAPADir8)T4AJ}m*P"T@@Zج a*l+* ){ Ѩ$mAB+עjkA*P-i՞tl*2ʽ HP [Ѥ ᅨ+@ H[j"(ŧl[+,3T fo n؆")b2;IP"0J  @YCLn ='誣Z{m? O?{\*s޸fmII!ߊ+*{.;=͐B!+_{*LJ>82K( GmrƔJ|߷[umZ]6C =Jja˰r2vˡ}Ng]ίҦØ%o/tZR?%]OKw@;ܦWkki`AD«ȏ"$, qSAjt)\X P~9!rŃ[A 0.=,S@!,{L&H *\ȰÇ#JHŋ3j &X1$I%5p$Ɇ&j#JF> 1GF>\@R*}jdǥH,f!:%+QE$$QdFExtktpDƍR9!v Q("w`R/J|c\.GUhIMj$횩} ,w1e+\`QtRhQ$8sޢR lx5s=A1f#Rg`x{ GCWuH7htXt>BAuytgv ԞdqBE$_!ADXz}"PaDVG1E(jqٕgve| (o a%֥wTA&ю vUl)w)SOxlZ&N. eRiE䔞jcq *TSqiZP@!,A[!H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘ ̹3#xވ!膫FCbZ(p@=MjAj]z hЬogL}PQ 8 !t՝;yh̿jyV ;4?j(R׷>Ys&{E0Jn@|g!c _i v'`eMw(H$p\ii@I<`x&w]c)@F]{LWߐFHZv#w` !{nلu!GfxHЇi9Po=NFf `nMcەWrfV$ƹ`Ah _y'Zf٣&awk aq!@LYy]: {u1XР)6x7ƆM{Ј)Z|сfkf-',b]o!,w5%#H*\ȰÇ#JHŋ3jȱ#G(!(D1!ɇJ"y0 A"Ub<)Ӡ0IeM)IpǜB LR͟iMZ H d(V*3YF5f1D;" UVH2aT$GS"ڬDapiEQ$ț[ SPKe!C Z0xJrrf[3f]pRn Ws@VF/מ@)fK$V!,7#H*\!+JXAH"Ǝ C2Ƌ(E$8 ʗIBɓ"$Qd(VG& $5"H:f1>9+S:"ae$F:(gXnցbݻa˞O ҳ j(PgcJ:0G$UGa>K,?Z;#H$Pǖr4kQ lfanx8+Է++`d\#B \ebz"ևS%({ tj0RHϮ[;u$UatY{-9׃=ETPD!u_Rr%m-fCQU!A"H֗c.d0bO1@+(]X}I6#A-!8,qH*\XÁ"xHŋ d`"pHɓ!\`Ȗ'T MnYrUǟ!_ȳјG$Mj*Q2 UiM$LEjH@[p $ Y6¨(` B:4REۃu '(9&n֬CVrͩ':CQ XU>MDl$TD@蘒vN8Ĥ|@%7%[uB;Fa@!%,|qH*\Ç#JHQa*jȱǏ C"0$Q\ّTDVG LMI:ɳ'B>(A ]ʴ)!IJjuOE HĊ%(+SpfemXݿ G5+x\3ٽ:X`CY($Fƈ`rDΝE^[8]Yayꂚwtܷl_~Q|/H9óeN::Vz(` [ohF'._186g4чG!,|+%HA*\Ȱ!HJHÊ"8 !,}3H*\ȰÇ#@Hł&Ď CdEH :Yqe$4Xō6E(VpdsLтBDI$@6ĨժR"$Q)%&5$RUybͺ0¨(?ߎ@MUώAnѺi/]b+q{ A$N<@Al1۝{v\P-&hz6R ʶ `€! ,}CH*\ȰÇ#JH"A$3jȱǏ CIIND00Qa\5@Y L0PBH-ђ8yFPPY)PiBFLsѳhUHfl̓k,8ᘴx 4Z6rqAb$({uj' =X˜SkT;8g쥈O`VHl`n=p\ 膛73D uɳkp2SBǵi_*Ƶ/N"$G"ϷE`IsW߂釀"^ aJSTPWau6'$>(8JPkŇfZh#H:csaZq[gy!qK6|heNJp)P )CŗR[)ɐ2^Y:#W5&>Twybi%)H]gCwZ)k|cѩSJ|rSJ5"4p-_IWLN"" 'nIe% }bQjs^ȒK9ctEVxtU,I*Q*I bE{,"Adi);]:]xNlP By6|PYx@-X P߃Um[߹-2%׌r{*eԮaћLl󂲍W+zO-{rW"0_[ iO_y.ASۄ-7Tn6-7Anw=u'#W%l IsژFlAқ/P@bm@::C^5yOOdG6n0ucےO.=a D@0y, 9-1[Q"3N4Qa.Q%%\P kנ(NJgdr$AL!X6„𞉩'aM!"tr~j*"G1*UlS-Od| YSEZV82RYQINVP#A;Z:Q(hJi>z͞NCѩPsЖqERz|hHN(.h &)HҁgjJXTNudQFnY~jBbhO?կK@k^XPFI6䪊FpZҵIjnXHDDV5GIJv$khY\`"R ԂV`muI{E"F-d 3urv$lh؍HA;jܕiC`MjDO*h;tA`ʙVv5JI;٠ZZ؊љ5%C aPToEG )NSa+I(Nqz3a۶8flluĪx#!+,/H*\ȰÇ#JHEPf4Ǐ CIG&S\ɲ˗_ʜI͛8sɓ&@ jQ ѣHD @(JիXN0֯`ÊK耲hӪ]˶BnʝKTR.`߿ Nw S?&̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿbDA @c`XP F wՠMԡ-Q8ӂ"QWH"W5Va/:tb?RdC?IH 5ITB,ai]GaeB3"a)^t AR@{fARzɐ(҆yHU'Q)PP]@ITړ?= @G/=k /)$@&A d QD2jnA+I:E@P ݆;.IdD:;5 myU0k[Ddw<Nt!l2"jжI2)2r;[d=س,$GWpP %Ff4k \guAHZldde\+-5 t'vx!<,/"H*\ȰÇ#JHE(@81Ǐ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴDNJJիXjʵׯ`ÊKٳhӪ]˶۷p5qݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνӺ7$%jC3F8h~=WK!2x4 JJD)vx%P E1P@] %C@f(P (O~Wԋ4x4TWx9jfaF<>Dd8Hѐ&AbDAxC@Ee6D$ @ffvA-R}A6%q9Xח~C|I[#%`W"DFthhDi&$vzd}/ 0s ՕA^蒪ycz/ê?.*HTu!y&4)+zҢH` dklIFTvH Pnj$T-nZ[뭽7a/HcAkF.mK-?-lܻ`+D3Aw /+NQ $,M1L2L;3mJs6lxUǿJҸ\R7ԮS-RUKFPO cS'&M].zvc\P r^1 vB!<,@xH*\ȰÇ#JHń.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËW &D@9q(RG>1 ў~^N HJ ~ U(r@F!.Na H cB7j|C6Ƙ$D w@BZ A؟AB)i&FkLi(\!,@xH*\ȰÇ#JHń.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkν_ #(Ï@ųo`FwHD8~Vtf_"^MHCB]hġ@-PZ"5ڨP@X8آ}B͘B8FdD029C(ia}4^$^>a<ɐfN4&BHyn)gLGv8g@!",@H*\ȰÇ#JHŃ.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNukν+3J@{Cr~cQÌg_E Qh`A`A.Є)h!AT!jx߄Z$"O#F8P5@'P`5x@)Q}bFȡ>NcPj Q5 A8YbI\ibE>A7tј!<,@H*\ȰÇ#JHń.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسk=n#g1[!$~֯OeTe_ y8P|R4(B Wq84 1")c`U袅BPЈ8A h@.nra ь5"9P6xb#Fl`b a9%%:8(g@Ef^Bn"D~hZ`$9f 1 \Nh y|7d$Ay")E fޥyA(8*jAJv7hf~ ꮼDkCjdJ,Я0@>B,x2m!$,7H*\ȰÇ#JHŋ!`ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊK2ٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟O}ck!qCQ`VA5`C 9N @ ay#p"m2 A+ء6*QG^d,KXAd,Fiц5vF8bFc2#!ԢZ4%3ft9Px9\™cAbFwh89'CVYA8hCz)Enʐz:Ic6 #K2:^ʪ*n9f~jg@!,'@H*\ȰÇ#JH 3jȱǏ CIɓ(S\ɲ˗0cʜI͛8seϟ@ Jte*]ʴӧPJJիXjʵׯ`B Kl£fӪ-v۷pʝK]H"ߩ{KÈCL˘3k̹禾>`RHZucf8;=}Pc?l 0tQ@]S!* 5< 3,k UEgYXNhkH@)YKZ "6`铮nW v<"ȕ  L!$H6 (+R`2jM5ۋUհv=A\Ef ͝@ uh׻+~E=81/@z)ȑ̃_Ŷ&`.2(| _ TJwL EJ6e== s8ٓEl[vƀVIDl4VxaBb&u AF+jCb@H SSCc*d/$[ŒbBЗ Y_=R֧ĐQ$CEq=21p'j d:H'kAmDCŨ8HԀIhc WAS;)Uǁ/JO0T~KH"G<(DШ Dc*`Jfl;7,b ZRjKZ\ahC,kXa̾7i!3ӫ̊)&C0&=Fσm*v$)rzI 6&A%yb_V5mQAғ)FӭzѩR6%^Sw sn0mL9w9llujjzo풪HޛHOwT_Է)m/EqE$M)VT'I-D($>Hv WK JՐX*pWDŘI.6Lt% ]N@L"HN;MH@!!,7H*\ȰÇ#JHŋ`ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ["/!hk}'2E`Y&YF(fĄrU-7^f(RhF2(d8 "FʉU#IFA@XLI*i1V)C9(Ox%BB_.@9eNc/fBM6i2 iy<*.E1Гx Ei(RCn Y ꨡ**Щ! ,}MH*\Ȑ`JHŋ `ȱǏ CIɓ\F/[ʜI0@)iɳ'LjUIѣ "]ʴӧPJJՙ@ׯ`> K6᪲42̊[YeHWV="Ac ХB@ZZ!WS,uXQRMЧKlz={ɤڅtŲ ҅8f<5=((xIذy6uB PXH˨#z<$pS m_oYgd!;pMOnr8ͳ^Zzjpq\[6x#[αNK|X'ARziPMae]FT%R≕W!~zT3Sb9$nsDVawyTYAbt uhSdTP6d'25SIZxPee 4Jg 9T[&CmSCl[mMH@ph%H ihLi-Rc褒rj'))Q0:gxJ*9j5jVZ.XkVZ#j>jH0P\^(Һ&A$ Fm)&e&y)* vh@6[o؁Zlp'pjq5a!<, H*\ȰÇ#JHŋ3jxPMǏ=YPdI(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNFֳkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@BR@EP !\DNDtymdP]eP_%E^ a&Ar.4FdՖwVIYFԚ"6@"gk2QI*2@N XJק*PAzef LmZ+RDJP;,!JmuP22a[PXKpnt+\.@랫/:eET$A2KKѷcEo`н9L-6c@$e 4krCc/,@YbrBkts(y 3TP@W5š?=.g(e|絎U֯Pc s\#sUi͐N6۳J7MpC4uw'=7tl};(0͂gr'N(cBK̔[⍗> ;(~9)oN$&KBk{{KkNJ޿7e:썣@yl;^  $o7; Cvn$pnp78'>^=ɍM tV%{жq?}` Bس^g^MT`ՒY˞}ڬشs.vn@!2,7( A*\ȰÇ#J8 ŋ3j`@ %Lɒʖ0~SQQY! E#ь/҄ӧG-01ҘV6P*ׯPuٳND{,۷p^=!<,?)H&HȰÇ#JH$3jȑ CIɓ(S\i,cʜI͛8st˝? (H"u љHD(JDHz@SUJ QbYf]*REт0rkܲ\{םph.WL\o.~7ftVtIN?C,An!.,@-H&IȰÇ#JH"1"Db(CD!;F(@K/]t%A!qD ?, Ά@,tѝ>\)Sc zbԠ9 %׮<(gCZE1u"pU _L+,Qm.Eㄈ1Εg iޓGb5܂_r&)DiH&䒔 QLF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkf|Ŷ%pB䦫=;ꖆ\@+BP$4/ +L@$!?O|/w{PDl̊@LFã(,#42dB7[B9 V=7l"4D+=,Q@Y393BjBPl4_'0V'lK#ĶavCcAv@|cAA 1\Pe8`Ӎ!ߦ-Pi yC $/^mdym.4}벹q댰/]{dk.*N~mPk1\||}E/ώCw';Eo-AKAwO΍_0 2k J6@fa\{S@ li+d=9jQBo.@RV6".Wv9Zb8tI#s ذ.D b2ŊL XƊ@{BdYAԈ/5 D_P (nѣ7z [gv \ @>~AdXES;$A#I0tG0+H L/:˔2O2lQf:" H ËFef dzb 1:@ID hS J_6 v/)` I!O;'ND0\3\ZXe hX E>|e I-Oy9^ED& m;UJ(`ЅDN\0@gBkqZà0Dl 7A©3!LvRTgD V0Ө 1*(¿)Űhw)l:JrBS&v\l$)2 $pC&4 $i3;hÁduj@0`Z3Ě 5yy<>=cגx %>u[ҺQ_N=D. #ztɆOS] I sAT. $%$e/"s"2뺷n#=$:|!q޵,PpWgN'P^7B0V7YJ[\;f5CdWky )F \1LGo1+Z|Pp,\WB}oq͟i0t`W?G Ş1EwrfVm/ 2 ,/ l@-q7q3'fxr!180+fo$_f xlUh_Ӂ%ÂT'xMhepA@ x }Cp0Wy;1!%&QACf2!9}V7)GGɃ|d{5znC8w-w G60E)/I6^cHI{ /+)Q0 0 TWt^DtnbS(GI8 \iBg}dTdfCtIr}c[r'0Y!HH~~h.efn, !woQ @ )5Wit S%y1>Y2xyCS4Ǜi/i.x qHP572/&Ʌy/`C4w:'66}6 @RT>E G UCB qU ٢)F##  ì`6Gw;*o@v;:3c@c'8@<pgֶ1ZvvǽmFV6y]K4i[[4ބAkyBԴo^ 5 N=?n8KAv?}K6~PKyQd/Q{.RkP'>_溒iEWcFAjׅ@u^-PDHA  *=2sAv^$xYBgOBD49m]Cr=fbz,PyXF!4(pҋa"mO2 c(M(8^ǭE8bN1'\ 3q[8fH!\C@;!p={E$aL tO^fL!"Ԉ⹗!qS|H3Ɩ%΄bJ9!WF%W$J5$A.އ&z A,,R~b8FH@8\5Zew# YT X@)QQYP(9Б=8ȥA_9~I`&FP%%1*QHNr:db`eVOKg 1Jr`%ʓ-hvĬjҪMik 9 n\T.p{ YYRᩬMa9PS&AN\T (aP [w/fc"rH(qLz@1W0#PƒG#"sAoQ]tHCˌ BmR3[mbJHX?u?94!u3VɶDaѣxۭzd:M߂nU^@@! , #H*\ȰÇFHŋ'hA@!2,  @$ "HQ /(pE.r,( ǏR,QDhQX Adq"g1 d[p\p K._hB%:܋~;^xXrJ(k`kǖKvsh ֠O$MZׯ7;0퐴KNcnװ nZ̸5عGĭ<]{Ix f?_Vٳ\/buZ}׿! ,!d,  @$ "HQ /(pE.r,( ǏR,Q!) ]F@w~D@ 6 ^B8P) Dw\gbD_B6P-ԓvأCAͥE ԓ BƣlQ 8P=#p Y* a@h)d U#gH͉ݓ RGl 5d"I,azaEYR`-H*g}kW@G^Vw qYQ!mkhAJzJаq D(A;~͵{Yj`f?Bn3Z"c5#փ#$ :@Bm+rB %@ l@FaPSMA ,[ŶP<(c = AinA63T-=-L ѣ\4'0 z )d= YЅښ-bzm7-dkCB-ؽ0 &=`-AldHP@,+I{*f$9 f~8\ϙGKy=("3 @+c(^~\@@ 4qjIP?* IJswC"ZwB7Y֤aL!-H@Ȱ4 +Ɉ TA0Ef򍩬  '<` BkJJV))Z$,'F P~/EL݊5" q"^$2a QأfLvGȑ@(/#vq+)DZA@EG{d/~G{1Ȧ4jAs*)t >!a@JB*)`|epse :+laA:ᅌ "EYy(Bb\$(!4(` ?xAjFl :+N*ByFQfHkp$:1[׬&ZBkH[eW#Rd|ЁrXA W@5fyzيMiq'+$eBZ()L+x4L9 {QB@" bˆB~ctD?<Ad[ %̱ kĘlFuvQ2Zz8NxpEbiDpXR*UU_P)7N.#7Wʒ?I(ط?f" Jm}#ߎB"xFAVwFrH ` BuDۉOOCZ"#V̶P9]YRY ߉sO86R !kc jO&ҒX>6Hz8˵) 2 lPۈ +7Y ᨍmWSr{]m{̐5=7ח-5z]bi!,! H*\ȰÂJHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXDR(I!$@ 2zl#[[ĊeKV|%xˆLǐ#KLs̹ϠCMӨSf@!, *\ȰÇ#:0p Q (#A)F2aIB@qFS@͓[D7S!К>C'ʁf" pՄGi*dJeȟS y`XB ~hp`R$ʤV`@!$,W H*TaÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMt߆Nbk &$5ٶsͻ"< G^8P@ _9(VG }BvȤ_?MÛw?3=)dHOAJ///4Ax8sC,lH)5ܔ͟f\!H C+-{!-Q@"*N;=4H@]([Ma_U6HϦTWmlD },LC'}D]4-Iuݷx/>SB= ŊK^R?@k^˅;tdTlNҶzAWe㜃>(;m ҿ?T|CW.2Uw$<.MFO]? IlcP##T"OL/(.9w s`H$ &ĂD O"n_7`bƒ, vX !'ІX wԽm 8ٰxD-Eԛ »nBHļ1rWbH+FbAyIY,uQ02}Lb#}D` Xh;(ؼ-҆HjD rb 0v \E]e4ʂAP $ $wWT,9O+Eƅxp]WGm>ȵeR2[0RG7.k_(h@Ff.,HB #NEd /. bjW21ьeC"'A,Oړ&d'Vi0\Δxf9GʳY) h26/~f .LTܳn:My[`IOO{#k%6Q*dwPET9D-DUuեZdTAƥ~nw_.5*5(4؊3$VGHfO L:}Լ]i1u ؑU 3CvػvvpuZ!_ )k;ev.g]gM))Jn{ZVSmJ2[nP7ȅB2# fHՒ Wk E+] lڲYy!HP|b{ 3"weVWrtsDT9s"@Y!nkҼS {i}0mt,=UH!^m yt>cMTk#зeA(}2䥐fNJŸͺoyO݀D]SmCIVlRL6f@<GuH7ob;_ 7i%N-QKx] T7kj9!hD,i$8u`3GzDL6N6~GhD.5&(Swp瀘|G2/E8rW|TQP\guQ~'h~n 5}q9T3qxKVgg{r( ~$9|snaxl臆h}SY73Mm0FGŴMuwv86a$OHM-:ϴ.:tEOٴ-XuH;xa؊}uwCHUE3>2Tے:xCrEvh,䌞h6^~L2AWM@EGhEg6ULUFCF<|Jgdh_TDLৈ TV'ǏeGh5| D`BeDđađFUIRFIJTFywB|e/ُi EsDEdՓvjE@ł#tGOjE_@_n#tRRkG?TiQ$B<0 !,[ l'LÅJLH1bE'ZܘƎ PdI(9~\dK*_ʌIeM6s9SgO7ՊѢH*-JJZI.**իVbݪS]r ٲhϪMv۶pʍKDxݫ/߿~0oa'^l8aŏ)6VLʘ/kyΠ?MzNU-i_F:hVs-wԱWmݻ9k-8׭?^7uMr扦/㷟]k_(~w-Xd).hVv^Q"H@mͥxu8s.Ƹ2H65^cYڑFjL&NF RVI}u"mXR)~U݇W筹^,.eȡ5n&}{g} Y zl~]gBr4ACc qHjS d}EVꫢꡬ뭶*Q_T:x6VuPH@aj嶬bJ-kn螫nN@o)r-Z:bfpދkp \)pĔJ0?vP DjEBT,ʩ˵L36~r-j&H/FNG R#c;!c "kZa*^gmGkn͠ܮ x͗m7Uv%9g/oĜy琇~袗:rȝv~ ~+߮{;|/̳22MiOߛ~\.NB%?mf?韟cKVrɺ_#5Lh@6# R̠7hA vlGBn'[J¯0|aRC# [$D*Օ.Q;; Μ'ъC̢-z`8/1dLՈ5p<871:h!9yHH>4H%M"H:&JZ̤&7NbRe =IRL*WV򕰌,[Z̥.w^& [3<&2f:Ќ4IjZә lm20l}0gΏL'%O3 'D'ы>A7Q2T(-HMJy^'UiJҚ42)Mc̄ҧ-ypG%P]]jeQ9U6K=g Ӯz5UejIz˰aZ9Τ* &pKMq&lu5&J{%_׏!t&>dž9՞f+]oĒuMjWZ^B`kקU%/qv R{)T^S l^2Ѝtrt*T1VlRyҶwa ա>^ֲ@h+Xr&sh9{Wn[h[չw|0T#Q [! {=E %1)sjB x-,BEW0vs,w]m?Uwq-w ?/!x VlpKٖr1$s\ \$Ε`k-yxγf7xzwnu,Z Pv7 FvIpIW֯3BU8(>jToזyWsCLLϺua3]آUf;C.Ԥⶱ>rl\F:׮O+A@ɚ63d' 9̸.nQٖe폅NM.쯳Ϲ+Cc Z+~Wc{Ԡn|gf>yh JrahZ₥yc.gP/}C.=z~/O3)ңN[$WuoUs]nZqq?(ʹq Z}΅ܻ8ݺy9ߵ N[~>[)_5bũǶGus9+k浼7G^*z[>dөU/YiwY֞Ow-gjbM[zϥͼOk|nwt5VxK'XP Ɗ긎! @K0e 5Hׂ58W1dKcXVYYhwTK]`Ɏ_@ d(3> At"ْP !c8T5}ENՐK>EWxN^tJ9]1ؔ@lД -II0LQK[1H0){@tW4 $0$@#pzK9tن Mw)Un& N&9Lh Qe\#uvB!%i]{iL]84u S]ɕ)[1x^IK|HKfY4jI|avɍF9M@-YT-IHP 2ؒ㝸 nFA2[@7)ng\ L8Ք3Py-*Ԛ5zdUK> gs|O)rp%M`@n*OUPt4ĕO̵XKdY׈Z}Z`Ep:ڜZ~{j^舂A脄XRU_tt!`jbu:B&vzc UXmmV8N:j))VjrLZuYMruzcgeU1B0V兯BPAәMbapBT٤YPdOʔ\KZTxwT4 M) URNne0[`Ŕ 6Ka>SdK>4XZ ڮ毿TE*|T46Y0DLSFNQBTF)hzL3OUzR]jl{e5Y$|uPGnVjH@ 0Z_ 2:18Kap{KoeX2U(m٣yzkicPL#VY輽伹>ԫ[K9fzPc XKR$ IK[\' vx;PX1 4Qn&_IƋ i3Hqf\Pi!ԸHrKL Zձ M )TEWG{Kka XU DĔh*Q[1Q5'^WXz; uKk{ {L:R˼XKX^Kf .أjoKp%K㋋r\MP{Eˤ;,gINX1Kh OH 䊆ĠC 2ˊ[@9PL¹) y P~NDêh%,̹6 t[촨eBLV)3XyIK][%SUΜy$l k*\䧺d!cƥϯ$[N qכKkK YL&K@zDȉLtbYȺ[V LudjKK)7ꫀ&e E %j7o|\[›QK˳ @W>,hƵcLA|c|`WmE E (N{ÌxȮ޸,-0KH cf^VRoYP^{Ɯ IHu ]q|kzKFȶDUj]m+%,#Mz﫵T K "KAZ ?+N{cU&e-X]jIx; jhYdNpY \LeT5.Xėٰi3[{xL65jP`Ž؈n^u K M)I>[5 wO/;N_ny\R^">*wN꼺♊ KTIm*QؿAwAhK Ŋg:i_L$Kڎ=@K Si'eI0.OKX.^>]ƵD\]ȪmE̗"KgūeIɛԾ伶y1&jR^^&1rĵ!2U=n}϶ܸˮLYk_U@ Dz TiX[YKJT Uzy".|@i>X{=Mj?4ZT#?P Ђ>նg~c%9EsǷփj]S&mK)O{OR ͠VlK.U nR_y@X`Kɡi?]KQ@ [G÷H j칖Elm+ŕNbtHuO Z`|A@@ *(X%pa+V[@iFM 2bH @B@ !@@7nPPEETRM>%Fb!CQZDZ 1 dP«  A="WmM,m l4ޤc&VK_9BTt'-7\YhҥM $!@($׵r6 (r),8FAg l!Nd,C`udH^uNځc<~}W]*y^˸ꋌ9C! -*& (|4yp5OD1EL* ^ ·%Gv*j(HO QHx++J JHL$H S2+0/R 4BM! f33?ܬ35CeQGK ܔ+6HR045$? pPL,KHU.u(d2N -!3 Z_HXG6utLVVZe\sE7] -bWAΒ(pA=?j7;!l_*s׃s?%2U>?%*auG&fŵ\)u֪hM9f- ft&j h`B&,9iD,,_]8^: (j6 5)xHY?~)a[;ࣺ^:pE jT(KNh8I!dt%M6G'Q(\k؊q-fThTTP-nbμH׹J{vX&$q|oA6C%"Y'#?>ya/=}QhBO-T H®T+(;ݒJ@d_G'79DL+(vA:QH؂F6(SI@pP TPLh4O B`aeN[؄ -p}G,]zSLJ~ڍA0%8sB\@h#!l$Ip`f^M2(e$V\VeHvM( xr071vAb0$|"A^m&I8U吸Ji(PdjK{⠅e!B(IK\5.ỵ3ߒ1MY&p-6^B@-PcJF@Jvo5NӰ}פڒ$aRYR ]!@-`: v|!Y.ZGb!x6k#?g ?AHG','!DC])B2!ߐCFzM۹TuB%U@3bl!}$Eɋ]Q8>ra8iDKQF9HϪ IBCZ DX5I(3dSD$1ThX66Ze"D-H.9zCxH Ayx$XDlƩ+.Cph(i^مXc N<$q`flFIcJ ڇ0l+e4& g8qR\#C@( tu5._01$P悄5%Gu *䳽d&ސ#E1h/,$ABb1+ Ut+yܲ!esKj$ s ’$x%%Ei[3(@:1Tb6pɆY^m=ke\;w~ֲ΄Nl r_ %e|3F[fDd^lWfE%d+"EBUdj->֋:RGeAu\[G pjǡMVװ1,?OmuE6ƈbԦvy=FWڝz bֱ K_Mt-)I}MoIwQpZA&iZ+Liۧ4@&roY'Gy" 򔛆-y̡E[0ۄx醱n<ټsi޺5uBsp72i)fP`;\˽"G`oTmfW@H^O+X'!#mxEG<8}K3Z[_r|n1ctiIX-2{.Wf{>_yQH]p޻| _MvT^_qÇhnL;Ϡ[jP"nSGڗpëH>?տv/"Cz`xi.Ӵj#s@#< | cӃ;_[;{1@2@50y5M8@>V>!(>$X{یK!$"D¥8kc,J qI 34:*$$i2?ۼA8q>u3\QP":=BC2~ӄD41B,57 *Ă1"6L1T>FI L48M ͨ ظ!PA)89X;.\,9"ꂈ8`t|! N3,QK`ʖ"!>Tl>dzaZ܋v 2 ŏ JB.(GA/vAz$*"< JҀD TqTDttG!s,$Fs<=E|\L(EbCLTTț|?t2=<;có(LA@Pçx E T;59 E=,PS$F.,98,@|a4I#Ct7YՑfˈQI+C)%ƣو?U:F͙L DR\L߸xFJ8TNOIEp)z,#G@nTP )UҐEAӗ9rR+l+ZĹ ]4}Al (K[:4QlKd% RcAd-R0tES*usԌ@.r @j#'RIS@D, W CG֝؃4ʜLě ؚL] rE͗HEK\E m٘҂ؔY-ș刄dՓ-țEZLMYD40HfDRjKEGDΨ̬5*'1UjKۦT'h/S!#=]T [dO 1$F$"QIQA~BD\Yٌ[" L 𡘌lJmJٌw55[D%ͦ$ɈQ}Y6'9 -%+"\} T8EdOBF\Y sOMJ$HmK8y+-ާѡ߶_ܭ_Y_I R]%E4`m#G_KE~_${i$Q^‰J=-ߖ]nK8,b] Ʃ< L9;{ҍ8 |K)Ig,$-Ǔ۴b#\RbljZ̽ƫ86 b>~@bEPէ<ߕZP#B9 ]' &H%'KߥUƤ_J&< U. QNPXW`eJ~,5Xx#4ˆ*c0!e hdú4u  d_G[Ɉw_T&o.c‘|]tK{dXAf٪yd6gYAi~Jc{nKc_M)U{vO. KJ5\ݟ`ڞiN͒-UZZ6`3HFU&ǧL?TIUrĬTǖf͕H顐J|DFF"p鷠ebdĥfUU!2jR̪NEDpDxýK$KѨBJ&Q _4ɽO g;nFӢ PnS,2B! @mфp4 Ӌ)_ZQE^.Z)`O&QNՙIU3Лc.tqH%WCϾH]UYB}WE.{ML=x;R>NE372 oSh3BZ#x3ެ?y iH~R`QsJT]S B G]1 ;>WդaҦ[Be䦅a;'yɀ=n"mQݼy,MwVRlEEY\Hew;UڄY5qW mfM!S#A)BFf<P1&SF%IWi\ġ$/E8TIzHwl 09fqW!X`.aǩ?>AJ{>vAdyLY`= lGWsw{Xdy-iK^{Pu2s42.^fA d fT OS8ԾQF,~Gv{D AfZ^|Įm YiLi0 O!`?=DQVF#W̶_̟UUMstm'B^7$@4ȐCHF$8f†5!Gj̸ Qrq% 4(sEE|xF 43ΤJ2m)ԨRRj*ͬNkWEєSX1Bd Sh˶rU ٧pӾ] .l0'nDi3,K&U|C+K rǥ%Dh Qd| Ko®v4ܺw4d%+%0qLtyE_m:ڷsG U-RXDx˃'0=ǟO|-OID_m4kj=V^_ʶ`Rf5&Vu IxNNTdBA%;, ;b;.xP+1cr"Ӎ48{1H I=^H.9UDթE^Rx%YDx 5_hI:.ԣhIz\x)w&IeM-PRԟ2%za)"ǐΡi4 {*A#04ME.4c9[!䪭j_|:ڒq'hxdQEDTNmR POǮm}* +kM5b;Ǡޏ'tDε*ljuV*_;1SS7P73䨊 R M'@홤-$MK'TRTvƧ}4PE*n+po+AAW$( <*H *sI4m+ez4Dzm}Hw%wcD3 0-AӊU߫Cjd=`INkn5/"ν[)ҎB@b)|gYju vsW=@  m D@0$vqO?7QIVSS)?ǽv'{2`vT*l|vdL+sҦA&$CT. >/ӆF"r[#6BF3`J vB*.l61S(1Cs ; &8+f]S,! "ЂSṫ< ! ;CqN6l 9"VT@V H( I*IKfR%QF îb V HLM\,7J F!7̇p18IA#)( bHC?j5Ґ)T1G4@'ŐhuZk #*"s)PX%ʃ P_ )P1B4gq!oԀzRt4,ZȸEqzR&/a!;qV"MD ;4~.7RSTiG7A5*iCb"u 8e&`'dLƃ pB-lyxK ևd$@[fquf"C7 XaEѨ25 jZuiLt &P Fo7I1 ZBpِRHHP} 7 o\k2C7"@LFW'}HNQºH)EJ@7F yR.g QGlB֋V0&"o|T429L_M i]uȮm*T%e:_kwtfZplFyȕ!$'?=AX1+%lV6U^cŖ!r3pj8/HA@32! prj[$+<*ћ!2ADܛha41 z&^ZJF$yʤĩ;rINrz,]I_!Fi A@fRFvZAP W47)+'*QXRe}*%9i+d?Z+%CVJ Bit![J|TJxB*S!#" 0,GVr#+U5aoGYqHL:0'9AHRGUjNfE(WQ&~qK)g/!Le O$|Q8['*b2%oEB*Fґsr$ȱhIQf8,]BßTV"nP9% 4S=CC)HZ_b1PmC̵;'eY}kI TwOْn+gؿU|!af1Lџ#YܰCc`޲Al!` g?$ڦ2sB*y߼df](Ed=3ABS[;(!8+ٿĊf0%>g? w -c CㅎVVu(GdV*UGP0518*E^XL|W]%!]=9aKһ\MNHHh +䝓Ps@AAXٹZt8]TD&G(m!.%W/mᵽLTk\SNHhL|LPs-BM!QMVñG͎Lw$C$ $EMm\ll\# Q LN\OiFiE#FQP DhUW ,Ꜩ0̕I0\MC D}RQIl𐆆(ICl]*M:jAmFHzMW*iE|~0i`?I-A0 *_ 1)1c*9tYBۜ>vM$C PD㙰FbK^A:L/͎ ->ZфQaJ]!@rZfKecBBF\[(]A/%1琴#J)Uds,&Zr*4)禆k_<'Q MT,=]ť*\* IЭN$+h4rR/*0nB*Ev^!aEC9S஢HeF# \H#mҨ&(Ka Ԕ"鐂`.Mc0M9T1\1 I!%[ƗL=P]>PraZRT%-(-/EaаCI`,Clux}Pfhg@/-AcjZȞ` Y|bdҮniR"`DlAMСsQTs]E**=r%wWK8(ř0@._pj0zfT0iU 2oYeSm1ZcHf#{.D|8¡H-4ի!i}wp()Ebhݗ]Dm[pae Zėy_:MF&rMW\0h ِZC(L|,PdL{So)B+apgFȠpbز0 (pZ2RZ3!2U0$}hK0|L#qbhنDQ\It*IڮMG!D[EԮ;9'JN&0\,0 ߑ&p(- 2IzfO )PaubyC9EHM1- >) r\@# f;R3d݆^ c,R.j1Х]ryA,@*PN6iӥ-Ju ]d*F + 5˞`ĨeUpaX5\;2-R(Sj *uldc-PUrbHžwljD(L7KDxN벂PE+ g%RxSHx][KTgq/FS@vpWkYtwL2MOiC!x/PGnwy(}2f{U&UXWT7|x`˛k3_ 8*S+tO N(w 6_ I]* . XVZ8V,VH^{Sy_* 8լcw^Է-8Xgc8OCЁ'IjrE1BvW-Ј6aL}듷9ThBYv_6z/L,S=E.Oft9m!79W:`zr~n˞]O,g+dv5xQ*GM8HͫSʼnR9Dm?RMtβK#+Z2ve뺵c^:XDnp7R6F8:M'ԠxtA {IEWij<9wĸTͅN|>7_:M՞qmp1ZDG'6|OK>4=A5=QODZж~xz{r{g;wǀ>C2s&CYC]hb'~u9{\˾Kzø[yuDB#ԫΧm鸨c뉣ֽ_'H֗2x+݇˪wXB%޿=+=- iL @?+PB~[3>.‰XK! !B$1ދ +. 72D68! !]r#?iE2;\+B? ,'Ų29'GɧbQsOk$24S14z8+P®d ?SODN42A@c4+J*zH&NO8iI#u{*D*l@}jWbu=۩J n(ٔDvJ#\I`ġ*=,iJcҷ `Og2_XYe2L7Jop]C1A2,y]**%JRDh4͢Ƚi u"G@4IlH8/(*$ZH8GтuHS%oMWHKJ<"bKYKPdl$|Ĥ&*p&+(ur% JJn>I`K>/e> K"ʠ H(BIid)Ae&kbV5%X(K$o=Kډ5eymOG24yIrr((Q|x % BK$n(/r|ێ KD)ы UP51X$U Q갏D I;Qmkt  )}(#`7=f+e` R]2h6.UC8zFLJK:)0՘;.+Q GKhSkiғ+azxq(/_ת=n[]nrm-!geA*5ʗ-;D-Y䊨1mfOe֥Zs|]֝vėJMsܩ<{(DTWf!i0s+ƋB{!&D2>V}$cL2e0NHSnIaA(T5\řqZ~%/ȔXY䨌Nk,:8KJ)ЖR"40~104I»@i7AP1O'[22S {kҜi/tarВwd~w)54v4VST4RXv͕{b[6h뤴ki-ܧ*-Ytgt5O-G ;'QmG.PgΜm9 I$祧ꬷ2Mѓn~PxמNMLH/XMg ^%q$۪BA ;!Kƙ"-!DxX̄201WY򝍆bߡˈ)"8VD"b:Q"E2B@+` ĂX0c,VA\:1v q1w$Bl>eKTdD2INgV<P9rdMwy h J$3(J\H@^iI}d C寖7*]Ě22)!~M)#4dJRo}T4GBQp Tc L^QO4g2d)AGo!U)TLdhAT`JR Lsђ8Ji>a0`TɊK6Q@Ӈ+;UHVW/̧/@SHLJ6DYy[RO\[͎؊RxU;1LT*أG6]js{ZɫZy gyQvgflBrUR [ \G;\5~-mY7s [eǤ6Хbs寀.R]JmtԼ9s|Ke@Wo>*߲~RǐCa(_"jebu T#{+NPE-%rvm1vtɆp w<)$g^0'zvLkޙ5yagH^MhXnLy rF^v}I{)k:ܐ*8.r{f9[}b/*{?m ;J"_Gu7~eDCywhC{xL؁ V}t}XŁ+w1nd!, H*\ȰÇ#*l'ŋ3jȱǏ CIɓ(S\ɲ%V`I͛8sɳZ> Jѣe ӧPJJիX7*ʵW[r +ٳhM˶۷pʝK"źxZDd*È+^Lt-㊄KAǓF̹s\›YbLmK^ZְcgMu+ٸs wqPO`r-F?Nr[k#5&?yl_Aτo$鏴/P uG( egF$`Ha\CQ-=߃qz!X %FWbGM(Pw,>T[78bF$bdVuP]IK:݄!I\BE)_  $I[ԥBY"#M'5id]UfAox&Hi'cCorgN{(Mv4Bv)補F CW  _!h'E#ꪰBiCz(pkr "+"U סfjPa&WZl> oSmD6筯-ҠRa[.]6c{6Gsvro0G-;о !hCCwѷ JlmP `}pSe,A![/B9jPasݑ&H2䱃'}Lg&e1>DEE"IB! sNd,2~'GXW +*eĎ\a FrWtHmhl M:A;tSA4]΂#neOBmQ;D92H͉6BG9BO:BG.]EW97KMWL9V_sg6ݡ5;[K}J3T@ }|75to@{aG&AůZ@B[+Ib!\r@u0Y]N4)\H Y #O>n)1G΄r|q׫- bGvh"Ex r ,!\I !Y^"HpPT_N%kaqD#'Q|rTH8>$yG$䂲AZvɬ%4 "O#Kŏ#.`M Ĕ4#rO|J*Si/YDItG'eEÆPLeVL_.,fr$ (y&[9FZ3#Q3Fݫ#5*f$Ǜ Y'ॱtU 2gFWMٳ0T.˙&@ v҄r(?#OlۨHG=c'8DΒnICĥ(QWӞ˧@EJkDͬWLTA )i:SaG;)Up$C>])VӺɌ'Ԯŵx&(ViA* ՠ8jTCQl}DbQBD#r!+]fÕU B XFhDV$Y fXkMAu֔Zt]N".zDAm WU Bz+juLrW5UE(ȄMi@u<"*(;v/q5Z{=7]Aw++.ZbJ:* *m/r %wD L-t0!GMAeFB%;"wbݐ8#=vH(Mbĸ]/k=I*\L#P2C$Za02,Ut Ah H`R0JgĒa3Ub";09~J~B{x*ߝqȚD+ɑ|%dfLdqn@E7Cy ` C cjPz]ꫪ%5*AP[%}5)Oi\1nh:;i33BlhWחM ͕U{ jVH4ip;(_Ħ-8u6Vw{2'!~ovɴ;KI\O?PX@9<6۟zMnө LJWIsT͑tjx6yQ#J1zymV6Nu>Sp3'H5Q'(dW#G;$}#1+,)ǂ0hw Iyc@2X?}s<-'9a}K#Q/X4([Xbx'RUcdcgN{>Kcx|qwVHqﴃ2YM6dtSՆmgohGIFWy:QA0؈-G8.;5alg†d煞(gH1BRx2/UjH~BP/苖UBaX Ċ5 g-4€:aȋ4\SJ~X )^$HmL/]kGARwUz&FVDU xgHvc@|VU=2\n ),xGfqM b}hYEB3%N%Y5}(;sD6{ᐫhuWV:YEn=YRqKy?(jèKavOJ+6 lkAQI@q==q~O]Z}%XVS(P%dh:Є NNy/A.Ǘh56!tx;DstEG2bz$4}!$G+?WctIɛ՗As=ܸ0ɔ#8m(\~rFXwhrdIai*7UqqV4јI'xbI{_=h&KABBO֒Dȟ+I 2%PijRM|jblhb<"0~hoigL!yyxA_]ᣇFDiqeFZցVڥ% !"CJIkZcqĵ:Ur:GzA9¦C' 2磣Qfjk~̈FUQ!rm5q;'w(+xbZY[%T#Zyi7]:RPiJ&J\!hTȭ\qZILzU'<46Wlf\bf=?:[j I +H! ,!} H*\ȰÇ#Jeŋ3jȱǏ CIɓ(S\ɲ%A.cʜI͛8sɳϟ@ JѣHӧPJJիXjʵׯ`ÊKٳhӪ]˶-Z0_.dݻxk0.߿ ,o]^"Ɛ#C+˘1>H9ϠCMӨS^ͺװc˞M۸sͻ7ǾD"ȓ+_μУKNسkG |ËOӫ_Ͼ˟Ow]gh& 6F(Vhf ($h(,0(4h8<@)DiH&L6PF)TViXf\veL}VbifzlXCi)tixNGgOd_q jZ0yhN.Rh*) )f)lr榠*iZҤ jꪬ꫰c*k}j+MݪOk&(A6F Vkfvv⦫+k*nE@! ,yH*\ȰÇ#Jeŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËXK! ,q H*\ȰÁJHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(nE& 6F(Vhfv z6 t`(,%(-(4֘T6"c<]D'B4P>ҴcGYБH61TVyVf\v`)dihlp)tixe|~^gj衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무*뮼!,;y!,u9VH*\ȰÇ FHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУK سkνËOӫa˟OϿ(h&_-h >(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tixgQ!,P H &Dh@!Å#JHň ^8DH2$Ē(S\Ȗ0I0B̙1sɳϟ@ J4(΢H*]ʴӧP:Eq UP hԤjDiIe2uH&ǴfmxA="@b5-ݾ&[d SP)7^3梖nT3:M^Ms2P{# Yjָs{ap+lFM/g~v7x]`o\>"?H3ˮ -߻2W$RmT`%v_kVh HMЁ($ZǑVbEE(z8}g7Eߵh$)94e7*YUm N1'Cv u%QTf$YQ x\{g'v }r:Wj6dJq{5$%]h jfE]XfxEģh*ef#R&Ŋc"y&[T1F}td├쫪v SGv- f;k FV_7*ƲkvX-K|>,Rl1CJw!v5~ZFvKNT '/"V=.B926jZ ;%C+ m8>1`}'9hS^Q"e~sbKiXujcd/QSzUl5[0pJ5r~;A|z㋞뿫.쥡lnUQֶmW 24()4'ϫN>ՓVMO|ϴ-.| QN|ТF X)u? ]V)~,"|M`gW훓H7n~tsI0r*źhiglR*. iwv>pGL&:PHD"NU(n_H2&1KDcE"oĢD+x#G>я{ICWı$CF‘eG 7QPCST6}JQzgu $_ǣ—nJUFV-64sxsDpk@بC ا v  Uvl0KfJPD@Y0RyؐmTxh倈9y;w&SI/y*uyeRTQ0UQfUydSuzz8BLЋ{sŘW_%Xj¸W!jTHNPwuH `}g d KeZF  Y\ hnՏX7GV &U]ѕ^iqw\9j\!7QT@qh4n18`:r'6h0:hVrJyaeuLXWIIc$; MjsI{N{IkD`  @u dD6 Ӏ*Ѱ X n q@P p@K7yD@TQFp{H/%SVĘڽ %8S!RWQ.iiiJYMHkrq\s|Jg@|N` ` ¾V YT0 Q 00L\@ ` ְ*H$wyĮ g*Rgzz/Ɂ + nq* k,/٢" |d(:ٲK+w#܏ |,βK?  P0 S@ 0 U}pu qY 0Cà k US^|GPLXSy+p[ƚwҕz/-iZTPy%<}Az=[|sk*yP |H,դǿ5 0є qZ B썛P ^8K`@ Llfݶ$(]Jx8o X]Iա +qkQ,'ŢQ ڢ+5 Mh5ͮB ,Nx p\LK:FUi ܸP ōw}Y@ r`tp<`E"EngӒpFv"šZłSRlRuZy2uR]э{)nerǫjO)byNMȅ O'-F`; vo S`Kn= : pGfz_\ [PToL$k_pؾb~ƅ ̠MZ0 -]TTyN#oA(\ M|G<6`B`P&vA=ΚљbCOmpK0`<( Dk HĮC PDoCo E~֞վJϞ>D͎쵀Ҏ n֣4p~^ /On>Hj>)(!^B,8_D+ˮ([0[@0CR`a-yRQ(VOWLo\_/Zm`?hOgPno6LNuT_vA~AQ(ygp^?{o}ioYueQOboz_O/O_Xc{ <:x3;UmS13q_'&21BA8aDb/&=ar*a@ bA F` % 41";N,1$ā#$i aE)9h(A8ScɚRT&ExRM>řaR,ӫMBj+WL5ִ7EjElٸQ DŽ3/^… KWYF2iqK [wrc)!^,ʜ>ULQ3!f˒(gڵm8[ܻ+n 8uw.Zv ~L*x+v.xZT=RnL/1<_Tow%NȦC@\/,&"Ϥ"`Jt+ r/Cj6C1EWdE_1F4/d1GwG LH#D2I%"I)J+ r(K/6d2m&M 3M5dYJ`ݤN;tQҜ(4PAk M BPMPGPHH/4SM7SOoOG%T55UUW-3V_5VPV[WV]w5 !,P H &Dh@!Å#JHň ^8DH2$Ē(S\Ȗ0IBL(1sɳϟ@ J(BF*]ʴӧPJmjS RUF:֩SfXV=[T,׫٢j&\p-^[.gxF#LlcfvԡD-OLZ$OT5JG 8m]ͻݹM>pY|xoeJ<[aV#"ow5)R1Az-0D#n~we5$\d [ J(Vh`zaRZ (NnmwWmUaub|@fGPEZ38`B)Q$YFf݃*S)YR18RӖrIJ1G#C!y$gn)g*m睍s|b|Pi$|tjD^T) kh{jJY('(%i@_6hRzcNk! F\> $L*&D%o.bWM\f,aI;)O^_0ik6B,wjLĺ*X欬*‘l{lĆ 1g1]S-yfML1[q.ẑ\0X ;t06ͬZiwe_mPyѡ 3Ehy?3c d'AHERc+POr\ )NR %-.̤/7̉d&N.$)Lj39GzZ-)3e*/YVB4ǩ@ *P=|"g=):@ h>І2 =ωF-ъz4G7:ҐT(=JMҒ4-KW:ӘT8NmQVԧ*?SըCgQzT&}>UVԞX]AVծnb@JVh=Zֵp}\J׹ڵx^׽`Kر 6Mb[e(b%UZ֡e!rfCKњֳEiEֲjcKֵme mD UM.r2΍.tֱZjvj׻xKVE/uW0Trj? zЧon+w/+N\#5ƕ׻s1G,د5 PFa"nguYgǗrCLy=rdS&9M2ld*Orf hA@!\xt aMn3l^yw.g>w5 P/6(L_B8' iJ?Ҙ%iNoҞ5 pA ș[аYΰ~cMYۺָTltABӫU-򐹼e-_Y~Mm&wRk=7mr/lVNA z\<<5OcG0N6oSPbx5{ Ers:ٵ]7&  `3Mۼ8yugzR#PH}[F/{HO:It;}O/9ԧ.7 VAVjy.'v u2;EjY[=W;O^lVy;~sN[򘿼Zs eoc]>7Uէ߻Q{ۓg5W]-^^p?̧5\X }G_E#iF!/@7X `-V4+XъvBbc`D~~wh~EGW姀F$'!~(؁PJ~pG1ga0!A  BAE8C(jHT(Sh Lh> UHZW[x[h(gj8gȅno]؆mXxzQrha(}^bc8huEQ73F8w=YtB?30 0 P>2+4~BB+8>()ĸ=B"6H/XBΈ7F"=H@h89X!B0U*@X90'4_XX[:#'B34s <y= 1#c>iaACYA%#3=,' qȊRY1GCiBd83㱐K>q3L^"N鐑”VRTNiY92J3Wyk9d`Y\ 6ђ8 (.9;Yl@A٘,dВY9,HPiL8_Ӗ]9i3yrg iIYI9y;ٗh0Y%9 9LiI *9~م7ؙD|qd 1(V DV&)hA85ovab! 8%|BwD/z46c8H:h)idHD$AK&YPCeRVOc#MPQ% $T&nƙL%pΩgx޹g|geo:裎FNjgZCJAi%R 9Z檨"%Pi@M)HE]klE21kB䬬^+bEB[T+nVl&lF+fb(Hڥi/{)lF븉i 0LPMJ<&"|eE0 #cL> @%/u\k3B@ZlIϷ7!D|߾b,AQ`M*&KAz1IV2 F\_BN\3#9TS " jQ ,oyѬfHih."$_P2io%"l 0V@Ӑib!AH=ECdOun GVr@'Znj+ > vZJ*٬IHm:a6U$R5*(Ũ8mʎ*DB WLM+v`eТhJMV PYWrS־Z_7L*UQ ʣETqFQT֯aE4Ԋc)g evI_T9%YY2 gUC#:jJ}B&+{i:f xԡq#,M j6wijBMj U$ /oHO)běMrB4 HhoGѓ\{TDGrMRXH.{M>D[2) !gC!w-q[TT$^*RkӁui/n͌#dy8m",aJꭥޤ&b*oׂ_L:&Bc[0oL?9R&wL qz8;2`WdɩdAMU#B%ӹ&;),lYĤ옄<ȁ8caTq|TYƤQ&Q7oSu'ӨV^AB$ {4Btg"U<.ʯ3U4( >nApKlA (\g$ C]@k|fX"1)fH , cŖNRAj/[8\.1AL<@ۻ7h U#_7Ílll%ːk eӝyN1!v-l!U'uRt &W!I5ekr 8amsV~2Sw$s5Bi%68۳fC,crxtr0xTGradbR$KW.,weaDGak h{)D7a+EENbd50WC'h``z N%tE|8h,28yox}xXy'] 1z1m;##P{h9U+ICWQ=Y|A24 8z(buQsXF}kMF* J1gGa$DJ4J>a*(Hwpȣp81uBx!q hyPA|o{v&d |[`I#MqR{MxHBY7Mx5攦#ywcAGQyV9UB&S斑%@ >&%,8J[Qt6~Z)] gB;l"(5Y !~/tV|GW=fh禺eVY[fZ/w:?*V"5'Z3'dCS<*9%ASKC׋~*jKWyjfjhLg|xcxzc*OZфUFBȅXĊOC)%b:*>$&#;|x.ue)gcr&wLjd )SHtQSx.iJ*u{kÀ([.ܲ(Mni|r]Fo:`D@+M24`3k;< u3Osj$7 7= ɷmh3&3Iq~A&퇥1Q}f٨]7wgd4+3=_Ee˴E89-7G"<T,.iHP=Ti1v|xkZ. 03,9 1jLRy2ǼCr.A$~sTyje/D| xˣ d ̪ed6ܢ@*N]́/Cc}E&b8oavSOV`%:75h`y&XՃTKKɺǩ~l إэ{ I~f.(sE蚿"ǰԠ%zcC+8;h]fd@7l,!$f H`cWSr4vD/taK>l`:)p0fSyeڬ݂*ʫ,l|h,.WC۬?104-'] ()L8i+(~%Q&lK!'<-WqѣhPʥ'o#n9v?a~bj)F*,.6ŵnT/hNpJڐ[?q }93PXN$$꣞S>#&+%>>R}([9*7σZ EÞtDSI`?SWW#$ q@Xl~f@$ d?_^~(\*DqK9dSU"f'bS̃'^#2g0&ތ,*+VKcM'56 &D=el ]mQzж=Kۮ*de>Khd׮Jw ˙nI,Z-&~ g3|M_xNFI-{~YnāA$Νn=Qt$ޛs8j~<Ȑ=K:g2CEU}3lgZLdU7E%(m:rL8G?J}@-~5θK\|ar,|՟znބɨڂ25(xS$=kU͹a@@Q00( 4q ^4@B~0" Lp̐1
}2u}9ӓ]^sZ ѤA׶iEMbz5wYp =Lwז؀Yh8f“3cc=J0拚f'ԛ&X حMY`2;ksf%5tITPƿ_lI­N}J(k֨Vg#I3-0*Vx7 A#<]aMj8A9@(ƙ@ A+{J:C j:b SۇջpBIEl#5%xb[rmO{lSCN3kƼM8M28 /;%7 *a ݒAq/#Qw7خ젹,:SZAƝak"i<&Qߩi2)DթMv dOU,j0{d1GЃd jyj":DdOPC'k c"%dS&;9LbDfRL}fo;؁8dr~ JTɄ dӜDg:m2G5b;G<w= Li}d'O OH;sb,I-y]:%J~ggcɚ&L6 3hHIQ3hN Nr/d.o,eSA֐f5yJxqiD0vZ8ڒV%a!4 WZbYʬ[TVOA5b_ӶTz\ + AeM_˷5] ʮ 1;u6ֱ,h䗮dn}۔..&ƱkdUZ֮6Z2g&,) ky=قrGy$O8&9G%t Z$F+DūQ4 m K.mvJkVORw8G[;`'QdAHlkֈ ^ U{ (X40ίw̋+4g"Ir7zwjѦWlm_;oF81iUkaя55>ֱNxE.V.%_"Z(*wZpqϼ{H]6NyЅy BP"q>I7JΎؚ͐AH0.N>sFPO_U H++f)%X$0UCO55|I!rg{J^tpG2.zϱKӱ,W1?N::پ-nB r$\ _c2(m`qMxrMFzt٧URW°cVe+HRr6ZRG`(1{ %2 3" l֫$}û(aA`+Ah8#TKsAؓ@c¡TU'Q%a1й@:pq +/a@8043,34]1ឌ>( fC>d, ?FDCS=} <ʸ26HڠHzOh 1 : $H9{:i,žQByBZZVs8YEӀ#ìk?dZbƱ1@RAvJ(î8¬P75SG5dژ&Nfş9Dơ-8F-8c$ ( 6ҫUDA+ܓq .aө;4pAF+-O #˳H߂VpŠ䏠ʼn<6rS1%d9DЈ$붭+a(+`Ca yI;cL܍pKp D&I,0YƆCC0@ĹER6t8-h>\dI Z ll"4h;ݑR 4Z#.zCB1@ MHփ;ʨ>*$2 0H- TDù|N&߼6Xr@"VPPsh :Qc„ wcLDNc h 0̞LNܐX ЂP"(z=[w>$+ShȬDX;qL E̋pLS76!7qH# B$[d\ |Z/#ȄH!= WI8H-X&uWN:.\DUP]GX)Rd8i-ǂE$V 6$p5]]mO81(Fk7 q:;ZR BݡqqKňԺ$Hh='$ߔPѯ#33-Cq{]Y#bͣ=)[J+R͏ KÒS!찈8H[ ̩V*a_MT604q LjW]JESI>+ՎWi+zNq)BZɢYX aۨ .B0xHS ]Sd۩XLAb󦄴3TӬz>~?td|vsVERi!҈ʼn]/ K[<6T] 61e4ⓞs>z#waF[L=nVDQkylџ YS_g6l1DlMl @fnٕ >SyKJض zb7'S=^ ~W޹]c*R#o`dR~B5|a]N1/D2[*qֵ0vۮ B{ K]out&YHciyHs[g8#sTxɪ+qeƇ+'ţSon=)RC̥[S](N)aTW9c&QBBF_Fř/ͥLv!j5uyAgdzKdHL8XDȝiHTbq!#QJ9eMPbXRISnMNV\0$fJ`FWMmL_6@fFoֹ%}gQP]I!HS}6 vR'L8x i!fke6h{A҉^vj]G {d#u{r㨧xgkri|Aր%⤥iy+6{.VBD4Gp;!f]VR^[T2L(EOH ܩaWl<# s;{%m27-=M",Ģfдͮma%3P{N/|D]pa5Gnm3a۫sfg(7:a-rJE 1/Ԗ;Eǜ{n̮4鎗mڞ8%Pd!솋u{䩍޸[[*xtWs0vI iJDK ǚÀWQ$c\{6( |4Ydҗ- n{,QT崆,)#T| Жr@4T.:NoNࢉ;F!|^F':hM%-_$/M!C'SF+5*3.yr?MR'_܊$*[jy_[X21@+ϊjE!cu'} i.IoQ-pEFgvȳLv+&EJ,yYF6q^|k-1om-. }rd>EƵmk#&+M)ɋN|'hrIH-yӻiWnZ J3X5NZeƺC03S=֡2c8_ w4Eixԗ'Y'|'N3;ULE ͗Y^3kxI]aO!S49D8:bjr(FjSgE bIRɬۧ [zsv)%ݗ/ wV//d7x(ǭJ3 ?, u8u,sSat4Hn~a53=v-  ==gZ>>ʽ1HPXI9jGzA3ɑx|7AI$O9TCum{r{uL, _ VG8<ݡّaE`<E\EU 2(@(O\Lٕ r  ͨno}6߽`,MYcf样m~!!dȗE^K |\!bH ֡!!  Ԝ̌Y"ϡhae"%~V"&f&n"'v'~"(("))"**"++",Ƣ,"-֢-".."//"00#11#2&2.#363>#4F4N#5V5^#6f6n#7v7~#88#99#::#;;#<ƣ<#==#>>#??#@@$AA$B&B.$C6C>$DFDN$EVE^$FfFn$GvG~$HH$II$JJ$KK$LƤL$M֤M$NN$OO$PP%QQ%R&R.%S6S>%TFTN%UVU^%VfVn%WvW~%XX%YY%ZZ%[[%\ƥ\%]֥]%^^%__%``&aa&b&b.&c6c>&dFdN&eVe^&fffn&gvg~&hh&ii&je҅_fkl[ݦ&nnfnofo'ogŕpgm&gq5[aj B-(DBFtnwuw'Cg-,y*zzgzyfD}KBB'ҧv'L'CB B(0(ăJh(^fVbhjhrhń肊zD-{ONE(LBبB ҨB.2i:6>F)^f)nir)zv~阆))`)CBii \g~)LjFK(*%B8VKL*ZjFdj*Cpz꣊jv~[Lj0jJM*,** +j&*N)Jk:kNRB*XjƛA0D*(`DĽDľ.Nk2D.*DDnY*@((C լc~,쵎, D(OGhǾb(L,ެξDfD2D.D"i'~ &mLX+ff*:쌆mN+؎vmMND,gYi*ޭr%ɖ-m`hE**+ ΄FmMTi ,.Ž’n*޾j.nުn.֮.ޮN{(db^F녴)Nk㲭E .JeoΫ)-pFԬ`YfjZ-._6/ooEhꨘ֧'gByJp/;Xs'-PpgpWp3p;`KHyf G0+p0 pF0C0W0Cp 0w_/3q;Cq?qW1~'r}r'wpp c gL(q7 G'D@Q/d8Bs,frBe0*r̓d1pHr$%%%o2 /$!{(2)wr)(*)M**w2* K,KA2j0 ur/֛ɲ>q 7 2#@F(34kUn@@A6gDr03s@((B;B`8C\<3E mbQ^3Q"͐(3B/s]D *;;/:g(D99C;K3_i 鑴 I4JJt&t&Ix6w37GE ww:,TEC(TPD?-s<;K3xe4p'$5_ ?hC;TKEĉ8S7FfP3GAxn}Ƴnw_.ADzTE4FOzsJKy~/97S97_xa632hDhx}|BĘ;3(yPk}j#Gó;{q?7cu7x'C[7z?S:\w6is+DlcK7RVB7 C4ЍaDUM\t*@yvLjc6bQz ۭ7{sWam8EX7t0+WHm뙐7i; QnK3YNWG9FioQ}n GHRDL) 9I. TM9D~Ie-c]]%0{9_Ɛ9BqŝxsΌГ#5SH&fuӈ;pINx'jl t';Iyڳ ! , H*\ȰÇ#JHE(#XȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXgʵׯ`S":`ٰhӪ]˶۷pʝKݻxBX1߿ LÈ+^̸ǐ#KL˘3k̹!MӨS^ڧFc˞M۸s {wس Nȓ |qsϕ-ˣjEG!y 8RL?BWV}!g `q >(wLh!EE8T%(4Qv$,0 hb4hk |3ft=2NCHBPF61)PViXf-$%`)OI,vy6\gvV曇 T,! |g (H"砷whT"F*餔Vj饘f(~ ꨤjjq\jJ*kkը|Ю+rc&,4VwyZTovѶQޞv^Q٢bns?[SJٚ`mew̩T+Ylzhګd2TձKgѹ\nu /I}L^Դ'\M+6f.Py\NCW!ݪsLw׆) 6L>ۖip7fstm:߭hws-x=>k7G.Rngvo砇٢cf騧ꬷ-nfr,!DPB–b*1uG=5X,|,x3K2E)DleDVcuq|ltw9q*`Z9c$A#kt`Ǧ5#]Ydȥ'PvcMJ 4KW4YDEaAd-&D!#[ʗb BℏLfJf*bό4IjZ1$6nz 8IrL:v~ @JЂMBІ:D'JъZͨF7юz HGJҒ(MJWҖ0LgJӚ8ͩNwӞ@ PJԢHMRԦ:PTJժZXͪVծz` XJֲhMZֶ\*55X+^ 5]İ^2ϱ lZ}e 7dI)KځV ]gFZV!xHl 2ۊeV5nY²<')K@&y 06urBv5\ #SX* x]&rəCL|KJ%"Ḟ! ,H*\ȰÇ#JHaQ*jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺkP^v a!gN[l N\k#_gIcνËwK}%j߹|Cw.:?}Ͽ'h.A%tREڄBgnY:t zh@(Y*bv-h[H8Vێ9@)D&&bH&c!dwG>ɝRz'FWVyi`)&)ihlp)眯EIxcz矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+aeDnSv+k,l'0K~9 WlgLToT!jR"|&SE%41 84`6 :|Ama7BPG-M4Xg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/oj>A*/ҾO Hԙ(#tL!Z'ȺN !,AH*\ȰÇ#Jaŋ3jȱǏ CIɓ(S\ɲ%$#I͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËO+_Ϟ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤj]Jh!%, H*\ȰÇ#JHŋ3jaǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@JRУH*](ӧPJJիXjʵׯ`ÊKٳhӪ]˶۷p^ ݻx˷߿ LÈ+^̸ǐ#KL˘3k̹QMӨS^mSְc˞M۸sͻ 7+ ׅ_μУ+ʯ(QB@r@ӫ_Ͼe%KR0LR0XhE! V_FuVQqfv(Ճ($h(, Q.2Bc8<@wcDiH&L6PF)TViY7bx'ȥc~)didCA}GlYv橧[tBl (A[ jKx$CiR(J顜=Zf馜v駠*ꨤ*\din**무j뭸뮼+Q8&leF+wJfv+k em+kv޽rkCKѳ6+ 7lpG,Wl<q ,2l(,0,4l8Ya|Ҿ)<> FI7NG/,XgP/d[-O~mvnhC,pǍW8mraKwpb Pۆ'{&xgxW^6o[w砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:'H Z̠7ظZpPjP?HBz''TH BT+( y4›puypD0 D+X#!A@x1!DN\ C*8, iM,)@hDa#y ; 6ixH.> #G@lYq cN!BH(Ғ CB5H xs#$$c$#D+M%M$ ʲҏ%,)Jғ0J !Ii CּbfINAN&Rkzzfkd!, H*\ȰÇ#J|aŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ+JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ <È_"H̸ǐ#ۭE˘3k̹ϠCMZBM^zej ݺl(27ZM:a 10ݢi#|U\5}7n!%4\ѷBڲ?ϿEL g`cIU .F(V(fv|($h(,0( h8<@\BiH&L6PF)TViXf\v`)dihlp~)FGgDީ|hgyjhK8[N8`kd_f馜v駠*Djꩨfd꫰*무j^뮼a k&x*lD>+QEK-G]Vv+k覫+k|ZKr+WUoSͺTpOаDBpI۴0_BH0h@j\*ǜS@U,8\(:X>-DmH'L7PG-TWmXg\w`-dmhlp-0 vMעMpon'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:^+Za M@4AtЃ$#(ps&! Wh5LąaRB 7ԚCI>Tq=H#wDp!4<$ )F JѣHӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKÌvjE߿TÈ+^̸ǐ#Kv$˘ğ3m/VQ0KWzYT`6i#,rj 00M&hj2}.4ֻFg%$o]`Q7P^ O'淙q ;&l u]FXkVh_v ($h(xy*ND_0(46Ԇ9@)DiH oI6PF KJiXf\v嗃 #dihlp)IIxڤE[ əv՟A`31堈6裐F*餔V Rfn~*ꨤjꩨb꫰UjR+/k%K&6F+Vkfv;PB5ptLZG DK/ԧ|"ڛ\G,R@gw ,$l(,0,4l8<@oМmtB:tJ离PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o<8Pծ 9oG_g˨B}*A~iӊ@W[k CI!@ i_9(X1 R,pٌj&8j,`CW1Ёlx`gb0l"TZ3U a4 `udć  JB!r˄DaX@c02E tHbg#ČlchU5f( ! ,/ H*\ȰÇ#JHE.jȱǏ +FIɓ(S\ɲ˗0cl`8sɳϟ@A JѣH*]4ЦPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻxf, LxH(+^̸ǐ#KLXO-k0sЌ#LtX$ ojUtTC-aGfRۦFb{/>(@qBp >ap6;:7b;/88>P0N^ÎH`9.y:PB*HN(GPhy|#飌EN;+AR> /<0۾?b~/zCI/wط1ρQ~09 pscHQ>d$SQQ`WQ8a@?n V` @eA "H D2 +(0tl?L)B'}H04OOW_ZDMLG=$]\3pݵdʹ>;vmc5=Mvx?4[aH}L=5 ]3u~9T`!ON^d?յ7|_!,  H*\ȰÇ#JHC(!XȱǏ CIɓ(SԨ˗0cʜI͛8sɳϟ@ rѣH*]ʴӧPJJիXj:(ׯ`ÊKٳhӪ]˶۷pʝKݻxnE߿_UÈ+^#ǐ#KL内q"l 3g>~9aG?Rת):b Xg[48G&7 {.7%CNËH8!vͷL2 cv:gROw (Z h& 6F( FaD]vYh(,0W^4hV <@)DyrF&L6PF)TViXd\t)|bJf앩lp)t"wyRz矀*蠄FE&袌6裐F*)Nj)ye駠*ꨤjꩨꪬ꫰*무nid2t(\5g|"kBFWQ"1llVmGؙ2}VPV+ZŮUD؎+d{WB oK,l' 7G,WlgwN 2g*W)ڪ(,xZ8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗ns-A*.;+z[>d*o@ /B~)伞PA[oJh}dlm6[w)H/Q?)iGv@(FQ0@f.Aw?uZ v <(%?ȯ~(~0@o4wVvtH} !%,/ H*\ȰÇ#JHE.jȱǏ CIɓ(S\ɲ˗0cBLp0̛8sɳϟ@ JѣH*=aӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿+LÈ+^̸ǐ#K|˘3Qc-qtҦOf)MDM6O(sͻ̨ Nȓ+_μУKNسkνËOӫ_Ͼ˟=8Ͽh& 6F(GᅍalTdk"h(,0a/H8<@)DRFLe_MF)fHXf\v`)dihlmA9fI|矀*蠄j衈&袌6裐F*餔Vj饘f馜jئ*ꨤjꩨꪬA 무|y&+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l3*A;3A?DmHW4K@OJ-E݊@ q#p(!!PH$1PlsmB|{j<6CA8e(( awA}c$ݑ#vFq ㋷dݣ\~{7ۣpw/n9)gz;)~,o㍄(MqvގK:ݭ#/P?;h7e8ܫ ( n$!#&  H*=$/~{\kTW t;_:7] pF$#"T B;*m| !2,3[oH *\ȰÇ#JHŋ3jȱ@CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝK]cmeߗ Lp#^̸cKl82˘3k̹ϠCMӨS^ͺװc˞M۸sͻDMR УKNسkνËOӫ_Ͼ{y˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨ*$*B+AT@q+$ԫFB"A@ -kT* kyB$n- @\Ep}k/ | BeW)X żH2ĤL\v`)di&PɡjpWpqij$駗{XٟI衈&袌6裐F*餔Vj饘f馜vhJv)(*RvAꇷƷg*AA@zTX![B]l1>K-^v+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|,߀.n/B7ng5 )AVid@!,( H*\ȰÇ#JH"B#XȱǏ CI(S\ɲ˗0cʜI͛8sꤘƝ@ JѣH*]ʴӧP^<ԫXjʵׯ`ÊsٳhӪ]˶۷pʝKݻx˷ߣ' LÈˬǐ#Kku˘3k$ϠwVXVШS~X:YƆJbBpNDizn(@qt 1St.#uQB=e#c;P{'[$5pd+U]&( 6F(aMhfv xSv"J^(,.U1h85@_DiHڐI6PF)TViN3^\v`)昒9wc@IlciѧٛhRTvIlikmgGUT!AF@  UjhVj饘f馜v;A ꨤjꩨꪬ*Kr*무j뭸뮼+k&6F+VkfPvMt:e@}" /ki,l' 7%FFlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngwo@"v馧꟣>@*0~W*{{; OT;A*15#@t/P2}g#zi gH BVaD#Ab(TZo (H?P $dgy @TV:Hb/TyV0mS1_e_ WV($!RrЅȊ hC2,+ HyJ(D}:bG.*!y $Ќ-ȸv& 5)юx<#`P !, H*\ȰÇ#JHC(3jȱǏ CIɓ(S\ɲ˗0c$`8sɳϟ@n#ѣH*]ʴӧPJJ*BVjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ L?"!ŌF,1p'lg?^:yǚS^ͺװc˞M۸jͻ NxƓ+_μCسkνËOӫ_Ͼ˟O5s8y?_AӀ!hH`YDYyBa % ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+kg@ ;)pA 7PDB*Tqxj1c@Ԃ Բ%YHL6YM87?#ϣQ4)FGh%=45#(SW=Jc1=b@w= )E@ H3B#`=u,rud =Z@t@`O3uGrP٬I=7G]7QyKDCGwnE6+R6ؗ84Qܽ v"HhNsTǾH 7㤤N+Ll6*Na#ϻCc8mH!?V /}#CF>ƌ>* !JW`4ؗf c(BR3b$;`AR*8,@C3yf`!CRPTUYU$A!wLX "al% ]b !,A H*\ȰÇ!FHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx ߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sN aw޾ exEO_9УKN+;νËOӫ_Ͼ˟@O>(h& 6F(Vhfv ~7F$h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkf܊@"vjkªpkTĊE;;S@3P&`@8,"#0 mɫm  (/!(@ی!%*%r/[l(C0s K=+}*t ܴHKѱ=5*F̱H b28)@x(`׋3 1+#T>*-9F{O!.,!B!<,0 H*Ç#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӡ 0@KyAyT?_݈[w[sH_A\GH@Q0RՈvjMm'mg6jnΉFh6f}NCHA^ͷ@a4c~ըgxd[ٷyD{WzfGA9!@(?niۇ# CÇ=<3r7~sh>7{?Vs@@k!d n@ f"dFq W" .XB#5(!,0 H*DÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPR`ԫXjʵk,^ÊKٳhF9IJՉn"98W`ݴx˷߿ LÈ+8fǐ#KL˘3k̹ϠCMӨS^ͺװc˖mu۸sͻ Nȓ+_μУKNسkν{ޱ OӫW~=R_-&Ͽ(h& 6F(Vhfv ($h(,0(4h8<WEPII`@L6PF)TViXf\v`)dihlp)tix|r5dB㋛ L E6Z;褔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+kg+|0+ 9̤<#l,1r\CE,)A/rɶ1683"< kd&팢4'FtFCT5APֵd}@ <_{đ}Ul]a: sBw{2߀UV>[p78ApBuoZ~?N߄7d=)BBUh[uNT7ݡwH}Cx*d'J">ȓB:#&$3'.>cH#2@!_گ!k'435(Cb@}!gV {Q~+H@HʃA$ B0*A ҆pE.| R danxC!+,0 H*Ç#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPKFAԫXjʵkS-^ÊKV"CS˪]eڒ x QnI)ň߿ LÈ+^̸ǐ#KL3b̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_ϾIŸ.}Ͽ(h& 6F(Vhfv ($h(,0(4h8)BA3FACktAKT0N5dEJA@_@`+f-3z-Ї }$H P᧽6 xf ckLAP\D@M*I8BC>&68gΔj:t: ;"V"dx*p_=鯇w7_8錿.|[@ 䜷>2z0tg4q̓]p̡t( Q|hp3wby@ Wȝ SU5p=!,/ H*\ȰÇ#JHE.jȱǏ CIɓ(S\ɲ˗0cBLp0̛8sɳϟ@ JѣH*=aӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝK.Wv˷߿ LÈ+^̸ǐ#Kq˘3o'+֦JyT-5װc"۸s놌zNȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F_oVhfv ($h(,0(4h8<@)DiH&L6PF)TViXBIE&W`)dihTjYn)lix|'u)蠄j衈&袌6h_>*餔Vj饘iF(pk.npfiƬj뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4lp6! ,Q& b  \ȰÇ#JHŋ3jPBCIɓ(Ma˅/ LI͛8s!ϟ@ MfgQG&5t`ӡPJq@TNm;cŮ1M݁qD_&%x@zBAbHXLy۸˙(R6V@}!/ Zd̦ Qd `*F8]Px@2j6`qV@ƎK 6uBx[ TnqÆzyɥswud7eEhQr !,(@  *\ȰÇ#Jdpaʼn3jѡ CIɓ(Iɲ a؊Bv"]A,У$ P"31!@SF; AQZ"(RSbUhV(H" $,\a}kԸdb]RP @jb~HT/UV Ξƨմk$pɆ ɨÞ /~GڧݎAv^zu[nl̂{q4Ȁ! ,; H*\ȰÇJHŋ3jȱǏ CIɓ(Se˗0cʜI͛Bnɳϟ@FRhУH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#K˘3k̹ϠCMӨS^ͺװc˞M۸sͻ y&H6 fIJ~ q KH)镕a9:ʐݛmP@!,  H*\ȰÇ#JHŋ `ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`D ٳhӪ]+۷pʝKݻx˷߿ LÈ+^̸ǐ#KJv˘3k̹ϠCMӨS^ͺװc˞1۸sͻ Nȓ+_μ[KNukνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&f'_Es.E,%+=V!,4$HWÇ#JHň /jȱǏ CIɓ(OfL˗*^bPM+o6igIv[QVk*F0U`W  `"31!(H" 5(RuGE$m5;vZQGʅ]vE,oXd3Nk&|7VPJ"YVoYx57jǥalɘjRܯ`ʵׯ`r|*ٳhӪ=Jv۷AWKg+vkl7oݿ;&(!@a<HD`ˤ.aiǠoJ HFb5Q vc(lyfm oLHXfͺ0R}oѳ5Jd7-s5Xqϧu㦕v휾B]ogWIpvZI Ax̑w]'Yedovhj rcyR][oc\Mhɽ`ŖC!!,>W HA-*\ȰÇ#JHŋ3jȱǏ CbD ɓ(S\ɲ˗0cʜi(qɳϟ@ JѣHrӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNkֳkν;w1#cO<{OϾ˟OϿ(h& 6F(Vhfv ($h(,0(4h84^<@8*AiH&L6PF)TViXf\v`)dihlp)tix|c*蠄n^&ӢF*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7< G,~aLw챂j$A#lrӲ@@37 ޡ7<СX"D#0 GFA4HD(2 )YBzN[Yt[+}(LDҖ vTk͵ZCh7m ܛ=J@E\3vCHF6I6+H}6v{}bd5݋ xޤm=@J[FׇBmdgSm Dմ~M_S |I!/,?^ H*\ȰÇ#Jeŋ3jȱǏ CIɓ(SFH)p%˗,I͛8sɳϟ@)ѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУK^%سkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0Q28F8(PYM(DiH&L6PdTViXf\v`)yXhlp)tix|矗蠄jh8NιšF*)gNj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlg̰qlm"TA',2T*A3T8sDH@? AAP4j@di"TӨ4RB 5HD5ThK]]5`=gW@W@4t5bO-v{/ԳAi7M@t7T)(my-zA("AMHLԵb'B-cϖ=@gyڌ_#bש{ +Y@2ѓ}3ͣdB_k? AVuZV?> flD?uI C쉮t[?pꓞP|qEǴnM2X@{sZ(P0tZ!h$-0M.,tÝɦiJD,!., H*\ȰÇ#JHŋ+:`ǂ 8R`'3r\%H"airʛ8sɳϟ@ -`QG]ҦCJJաf5`W_8@Y]ӊ]KYj};7.ݻv˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻo~ Nȓ+_μwNسkνËOӫ_Ͼ˟OϿ& 6F(Vhf^t( F #(;*( E.FEAYh6n,%?ֈ%F FE&$EB)dE(&t$hQ6%FW4eOreO2&З=UѨfp)'AdiP ̩gnIa})蠄j衈&袌67 餔Vj饘f馜v駠*IJꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫Iՙ֫,l' 7G, Egw ,$lb,'cʉ 4l8<@-DmHgL7Ӻʬ[- iV5aV T6ig6,x@}vzB-iKn'>֊7NݎG.Wn嘏W$igy褗n騧.n/o'79CNBr}}ABߐԋ~P羥#$M}'NB_gt: :'H Z̠7z GH(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:., (Y Rۉ$8Iv$CGdj{*ǼcYҖe؀1 DncȞM* R%)HRL^9WZ D 2m*ӛ7ɥS!< ĝ Y;"φ4=ϙOvQA? 2}t!'AjN24]B:чJ4ŨE3zюrDvЂt D+|t j8HL-R]*5'?%ZNN΢z9 GT'75?TZuXUUv5A>-0Vk`Y Txu!>["Wլ[!T0` X,[V z!F%HXUT kUgCfR1@B+D=i Ѯ kSVm Ph YguU,b=;U\.ꩀa @г>alAD*^ 5x%W&xKw/~^j T{X a#@v#3El;d=gfxs-0;;bsuė 6NbV|1f+>T +KL1B[1{<ur{(/qUWR!K*bjk0]|y̰fcgXx8pO*P03$ 1F ,+"d@Tm;5M7%1} KDxX>9Epf~]y(=tj.3W"*u.M'prU3d|}3VOTSvB cYY>7gٌNϫN -M t@mNsrbFq#=b@v G@D< ;6Md $' v,8D |9gŤtn4zCt7NqAX43K˵[]!HyVɁ, y*ћ~%E{@^v rWDMIx^LCIC wțm{x$]4h (_%cHGIOO7iɖȖNٖDy$`{wx! iw+(X ]ْYفyIE9(i ̇K0ŒMwhgčh= ɕxpthY"iI'%7ɜRùوɜKX{pyה h'9,)9ZY yh򇚋iY9{ %$J *&I"j 6i|H訢jtIa=|maKIFY !k{yؔԙc?)HʀGJnٗLهSjHd6J[j x +J 1uڠyq : @8:קL6ʞ'~O*?ht3:yj=h@9%lhz_iI.s'W Xvr!9jS:ګZvX2j'ڍ$Ӭis%@H 8 :=X*ɝub: H3xS|?E(MJįu % ZAhJ?J?ѧstxPA'Aq< R2;4[6*/\v`bihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&I&Hfv+k覫+＀FA,<''^0zY>,Wlgw ,$lۈ,r,P\>קrD#TeqG[dmLctPG-TWmXg5DIo`,[dmlpsLu-x|߀.n'7G.Wn9v_.Mq;bBM`ًꬷy;Dn/o'7G/Wogw/o觯/o HL:'H Z̠7z GH(L W0 gH8̡gų۱%tRȤ# GH P~mdJɜBH_-rыր1 ČX ҊԂFHFwl@h;1"zdҊ@ m4D0F*đPAD IT!%rIH` @iOrr" TiIVjRIQAti^e/eY_Ʋ |AYKI2s%BVHi:k$#YJT Dg#n gBp)gĝ2gAIyR<#nĔ:#bX]լ12u6l(Faof D&& RP$ԨB2ˁtW "l*D DYLt>e2Ξ %R$j3CjzNeRҒ))cZz8ŪVٵPD_ XeOm5I9`End>ɩLDhWujHƴ0@yucl2G!T&S OMk+BՇnV. f*HC1IXk9_j .Y[x','J%@v<'`MQܭ%S{VUaO+&T Ɛ dd9YNĪ%f{I;[dfOjF- L¼&:W%$7Ww%TdsBXmj*+r#+Z7 a@ځE D26H #d4HYFő#Ahc#{#X!"v0y V>$"@YM| 2ff@@<"$$4C™"7fo&gYE<@y?I3FCr$=1TSibb:FىrFB͊Qԣ(<ӵ"%HQ ثH5QH<΁3FaM\,&˅Q@ب&)N "LF,4'BFG;N(<:LWa^mX>퐖k&2|҅A@%MI'BjI+ĉ$| _ⵝhr<ݧ..1Yʵmm.9g$@Ď aqo5ң¥pRT&m'ݨ-"ԙq >5P p,zǐ03D G^5.W-Ln:å='jၷ-M =:͎ƺӭ#Y%m2ɒGð4}vƶ,VۇS=U]x7Hozu=_z.3vU|xl ݱbɫ kOR:.;GOvlux<:'<%8<&}0s Xz}3ck~gyのc{C,hbw|0/W<u}J;:9xHJH.8H:!,  H*\ȰÇ#JHŋ" !Ǐ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿$7LÈ+^X/Ɛ#KL˘3k̹Ϡ"IYzpk԰c˞MPVLZ1f(@qtv۠GCe$y"a Oӫ_^qOϿ(] h& 6F(Vhd^v ($h(,0(4h8<@)DiH&L6PF)TViXY`\v`):nI&cI|jp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼lSTl)UKFdZRmHI Y5kv+naka؞l+ Q,Ek 7G,Wlgw "l(2ˮ/ɿ4ls}߬<쳳?$sDmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/N;s۫<7֊A<E_=" /~⓯T@K>?/ A>@YA> _ "A ʂ A0Aq~_2 Ą@ Bp{ @Q TA k  34 ;UAI{xC&: <H"YQDSq1/dA+2pA̶ L"=yq6̣(=RL H`[dcy#t"ł0!vGrR!2\H$ŎA%N)V Dl* p="#rR %HSHHG6!!@"MT $H6!V1bv"Ǵ&g4@ZNy zNk s]Щ0OT:d7i2Pk!LT!3jQŎ CfT3$H?\r#ʖUœI$43X]„Fd50H$&84@Ԩ@ UUXQէ !-VŲh4lù!,> H*\ȰÇ#JHń.jȱǏ CIɓ(S\ɲ˗0cl`8sɳϟ@ JѣH*] 3ӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘37gfL4CP 6ͺS] ۸s.K{ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& ]-F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TVie^ ^\v`)dihlp)tix|矀*蠄j衈&袌6裐eVj饘f馜v*l rM:ꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlg* B@Uyr*֑}l4l% E# Գ?=#.CJB]3_D4CgL $@c$@ +@k촽#DP.m9%D(c0>doN䬌BTNAe乩D䃣9\NFA/@gl^ZFǯHx(z%bҠF lB= M?:x9m$c`:%)4ݻp&#F>uKRVᶽr\M'$汯qk\ʎĻ@? eiv 2R)Ph7!,? H*\ȰÇ#Jeŋ3jȱǏ ?B0@(S\ɲ˗0c`͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkν/)ӫ_Ͼ˟OϿ(h& 6F(}MhfvXWI($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*NA:‰Pa@N+I'I!"(d*+#B++)r@걷"0 Ɗ@뮺+:۱F,)Zۭb* lmkH; )< ۦ'Eql;EꥣAk'H0N ۼ*.)lKHn꯵bkpڦ4kNL0lŮ ִc Az'O K)zW;ٛnzګ}6[;&;Yt8:v˝ h\1CǦ&\!$ʇ)qN!(,%H*\ȰÇ#JHQb*jȱǏ CIɓ(S\ɲ˗0cʜI͛8#Bɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӎD۷pʝKݻx˷߿ Lu3D̸t@Lyl+kneG$A{MtŦS^ͺ3ÞM۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&$C^ORڎM.iXf\v`)di`Fflp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7P+; AP  d&f*"0#0 L( 4%P =(=,1PӜ@Ut@#0Fb/|5H !F#M@KtO=3)S@#L1t`?=F3j#1 ۀ2rF*XwQ3nW}8#N/7l1wQ:l%! ,H*\ȰÇ#JH"A3jȱǏ CIɓ(S\ɲ˗͛8sɳϟ@ Jѣ%# ]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx e߿ LÈ+^̸cKL9ʘ3kqe#MľS^ͺ묝_˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViC]\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+kZ+ ԯ@+N+*@ L"#0 pL(c e# C2BˣL1%[*[Lh"G@HHGq5G32t,c0KXI5H XC9N7WX BV!8,& H*\ȰÇ#J(ŋ3jȱǏ CIɓ(S\ɲ˗0cʜIfJ6sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷p"Kݻx˷߿ L.$@̸oYAS1/͒])P6`qF P5BZ]ݓ6QvB;D{_ΐx$ @m9WzνËOӫ_ϾsßO;_,jmh& 6xe9(V(aAhv ($_(,0$FOG8#Z(imbL!gt_dKTViXfNn^fbihl&S)ti3i|Xz)\*'1*iG`.裐F*餔Vj饘f馜v駠*>6JAL.dcYJQZQQRFu ^eNI{1,.iF+Vkfv+k覫+k, K' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx8fq.ᝮ  Qn"\NGniT:Z+Pb"0%R  {unf.)*Q<d9n;)r<P߾EOZ>WojoK>%Q1 o#MFRa$CR"V0! bH`LAp1!`BR $| WQDBP"@! GAW!zz?CP=&erBy1(c5E"1udA ftGCh !<,0  H*4`Ç#JHŋ3jȱǏ CIɓ(S\ɲ˗! ͛8sɳϟ@ JѣH*]ʴӧPJ J3hSqVʵׯ`ÊSd5^%uZo1&(@ݴxP`߼6`%(xM$*e ^b ˘3k̹g>JjӨS8fװc˞0۸sͻ N"IyУKN$cνËOeFϾ]Ͽh& 6F(VhW[\^D ($h(ZAH-i4h8<@)DiH&/.PF)TViXf\v`)diQvטfI2gDMFw~lʽdݭМgj衈Zg.裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸R{9ׯk6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8Bl<ëAC{ 4AG/BDI(AO-U^F@Qw @Se;{=f Y_6Y 5EKmYh u! Qh;UE4P[W]XUQRNbJ%`)Ii褗~T":Cos>#ziKzǮn@OͿeW-OdmbHnXoa>zwd@!,6 H*\ȰÇ#JHń.jȱǏ CIɓ(S\ɲ˗0cLp0̛8sɳϟ@ JѣH*-aӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿G6 LÈ+^̸ǐ#KLB3k޼vϠC(:.-m{װ}BM۸sn Nȓ+_μУKNسkνËOӫ_Ͼ˟O߿p6(h& 6ᄑA fVԗvM($h(,6a74h8<@TF iH[I6nTViXf\v`)dihPm1f x|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨu)嫴j"뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8ʳ_+?峗X&YbfDtvؤ[Adأ]6}dkd<]_6c 7MvC7ׄ.bFv][6܅YƝ֕eߙ]iS!,%= H*\ȰÇ#JHE DȱǏ CIɓ(S\ɲ˗0cʜI͛8ifɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#K69f˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿEh& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤj*q+1n"ȶk8+H , (dB+BDHH(`;ʵ + +˖R+ml.΂+.2[nŴ"qmlh;.#vᆛpojmg8 01D< xab,) rs !FPl@?[t!,3 H*\ȰÇ#JHŁP.jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ :ѣH*]ʴӧPJJիXׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+`s[rسkνËOӫ_Ͼ˟O7u(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViX҈Y\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6˞ F+Vt7%>!).m!; )1 Q㺇/P H22J;o~FElWF/Lhp+2 K^F5'"' 3&C<Z\1,],0(4h8<@)DiH&L6PF)TViXf$`¥ ihfElp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k莋H n1K@t^."/+2  & dpDHL$PP02LG^oۇ sH(7<2 24|3tHB'cL( %'1Q\m1 ݕI@!,0H \ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJMeիXjʵ+0QׂH=˶۷pʝKݻx䘾 LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNz$ֳkνËߜ,yfϫ_Ͼ˟OϿh& 6F(VhfǡO`}($h(,0(4h8<@)DiH&L62*TB T\vE`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+VkB ! (dk.cPx.o|↫[_ o /{`} \o0J<ߗ놻0;rkn7;KJ)Y~(| pk@Pnt)t@bͭ@c!,> H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ @/WʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸s ~ >q U_~:&УKN}cνHދ:Oӫ_Ͼ˟eK}`(`h h& 6F(VhfvᇷmG@Ae,0(4h8<@)DiH&L6PF)TViXf\v`)dih&]lp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫g"H PB(cK BC+ L( G;V/:lo 3r1S|t2*< !;)ۛŤrیrl1)Cco ?aN-n(rңu:WvX#apJ /OXT n !.,15H*\ȰÇ#J(ŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷p#ݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνQOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|m!"0 )1 EAHHJ)+fJ(+b*$"G8@>"YI%ä5 dԝmb-ٔ+ˢ  M$P9qAEZb(GqՁ2Ԋq!H/&ش#Ukm )$zװc˞z۸-0 !,$H*\ȰÇ#JHbC3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ J(F*]ʴSHJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻxu߿ LÈ+^̸c}KLʘ3ϠCMsҨS^ͺu\Ϯc,۸sͻ Nȓ+_μУK{سkνËOӫ_Ͼ˟O1_ (`Q (S& DF(Vh&X]! ($h(,0hFh8U#A@2cDiH&L6PF)TViXf\v-=dihlp)tix|矀*蠄j衈&袌6裐F*餔Vaf:&T駠jꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,IJ%AP*ÕH PB)dBHL2+2 *G`$l4sl>E02 1@C|(kl3))r%# ,FʣMH̜tIΣDrBޏQ{M3}e|2*f wE*F=|6Z[$"c&GM*XA)%IR*=N.n,PzdINS*.|Wy&˟OϿ(h& 6F_Vhfv ($h(,0(4h8<@)DiH&L6PFi"RViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+F@f[pmp5P 1nFݶ-㞋Dn~ /{+QITK@pP۽&%3 UqAԭ dp!qA0DP(d<;C8( ( `dBY_'/c=t3(L3)>l 5\\SO]A--z6#^Јml |5n GR-|4!,A  H*\ȰÇ BHŋ "ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ Jѣ ]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sލv" Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@@D &&`L6EQ<)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vk-vJ]m-8$PHd@MDvn4dk{l0(c0ADH@P1Jn/|p K2< );r~%0 /S4o$Aӗ33LJ,#07F!&L _(1@WMtG 0~K#O2Lo0)#}w\&JһQn+򴶿;o~!2,A H*\ȰÇFHŋ "ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸koͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<>)dj0ېH& APF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+‡D@V)e%`DEa[++n9 D; 0c H2 +( d-pä0]*)dٞU~Bhiآ))BFFr 2J)Ӓ񪢰"ᬣB@)FlŖm6jBʩ*(n\jD`1n@ZVf!,0 HÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴPJJիXjʵׯ`Ê;3@dӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKe(سkνËOӫ_Ͼ˟OϿ(h& 6F(VhABQ\y}b$h(,0(4h8<@)DiH&L6PF)TViXf\Ja`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv:6h8JE#@Q.n|k b@1+!p З+001 G{CDHh1)2 "[ױCL)S@Qb|H@ B" klpc H2Ť\< `ZcgBlr¤(L) \"cqWr } 1lq^9's -lh{Lsʣ@-]Ǜ`{Y# JCR<6|s]'`#1 Gp}b1@N.Ci1._@!B,4 H*\ȰÇ#JH"3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@(ѣH*]ʴӧPJJիXjʵׯ`ÊKٳh"E۷pʝKnM˷߿ LÈ+^O!3L `&`ˉ8`MNJނ%'tM/mHm @߬ ;ȓ+_μsKNسkνËOyʦϫ_?xt˟O;Ͽh& 6F(Vhfv ($h("ET.Ƙ)T2(:@)DF&$H.ISqNF)TViXf\v`)dZhlp)t֩\v|矀*蠄j衈Fic}0BPugFj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&٢6섛d*ڳVkm\4^v+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXgJ)lLcsmhg Vl-HB%2Pl-|hm.A|'HPnyBPlk痳D^h[>A{{6.^{e Ky|c}xZqύFYK!,) H*\ȰÇ#JHq!3jȱǏ CIɓ(S\ɲ˄ FyI͛8sɳϟ@ JhF*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻc˷߿ LÈۼ(Tǐ#K:je/+ؙͬ}xMF(S^ͺk_˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟O'zISnZ 6F(G`- ($h(,~tQl-("#8C@)DiH&L6PF)TEXf Wݨ`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgnq"+!!bf 8f^*&0 ;L4)B★53)E S+_ulԋZ)bUFIJ.^H'f*ԧOQ[,b(Vhfv 2_$h(,0(4X6<@)DiH&L6PF)TViXf\v`)dihlp)tix|UjQ>㠈^Uh6 餔Vj2-馜v駠*jJꩨꪬn E*무j뭸뮼*+참V{&6F+Vkfv+'"+WUGRהMl}ּu̐G@bpV7,T Nl1A\1To ,$l(,0,4l8<@-DmH'L7PGmmRWmV uB`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL@H@$ch; Zn.,j]j~#M'd b͂UCdHC$D`dtâu !!$b)8&_I"9E( !KLb)84)ְX!A1Jdb4#NqU$EGbG0 c0# ՘F2=R ĎmPiv!C=iE '9F g!#"ʰG#7QfE%2(:" L3!]Z!(,  H*\ȰÇ#JHE3jȱǏ 1Iɓ(S\ɲ˗0cʜI͛8sܙR$ϟ@ Jѣ(ӧPJEtիXjʵׯ`ÊKٳhӪ]˶۷pʝKFvNE߿ LÈ+^̸ǐ I2b@b̙$Π'EX5kY’9-S銳 k V^3&8z9a(/}%ߔ1VWx]vMF+T_28/07Ͽ(`B h& 6F(4^fv ($h(,0(4h8<@)DiH&L6PIqe_݆\v`)[Uihlp)gQix|ii \j(eޡ裐F*餔Vj饘f馜v駠*ꨟ:ꕂ[J±T zt6d+\:֫DxPjl[&ۤFKעImfv+k覫+k,mlSz 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.JA;gSѮh"7P D0}v[~:2OE@ls<2(d0<@/o(ד( ;n2Od?~ zhH@;<GO=$\5c $hO~ܫix ?9d&0@${lW:I` *zQؠ?3DޯYvJ^? /N؞Tؽ~ݟdH'I8LAwxqMA( !,>0!H*\ȰÇ#JHŋ3jȱǏ CIɓ(Se˗0cʜI͛8sɳϟ@ JѣH*(RNJJիXjʵWQ vc؂aϖ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μsKNسk0:ËOӫ_Ͼ˟O>|ߟ?(h& 6F(V(fY Ea%(,0(4h8<@)DiH&L6PF)TGbXf&`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv뭱]| |(K6Ԓ!/}FDD L0P < ӧ/+2/^DH<!1![){2yHx/1aB(1H {;S,z La4CKcG+wza!,>0H*\ȰÇ#JHŋ3jȱǏ CIɓ(IBHɲ˗0cʜI͛8sɳϟ@ JQ+LӧPJJիXe#_JٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ +pȓ+_μsşKNسkνËwOӫ_Ͼ˟OϿ(wu`HAF(Vhfv ($h(,0(4h8޸`<&%`Z@! ,;H*\ȰÇ#Jŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳOJѣH MʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿j#LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkν. Oӫ_}<˟OϿ(h& 6F(VhfvL[|!ga",0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰U*무j뭸뮼+k&6F+Vkv!!Ag}$|.z!F,9 H*\ȰÇ#JHB,jȱǏ Cfɓ(S\ɲ˗0cʜI͛ ɳGJČ PJQPPJ U0D0+WÊKٳhӪd۷!Kݻx˷߿ LÈ+^̸ǐ#KL˘3k+ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,z}PvAh8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k۩g3ԯ@nʊd)@\!ՅT1(cpaTqE+LJɣd2+8A\%1)A&PV:ke(lrr<5g(2 A z55'sS<H!ysWWoL [Q@-5$ڽq":3V0="U+3Uy!%, UXF*&$h0aB5"ԡEĊ-RԈqcƏCvɱ$H'MTreʗ.cɲ&L7mƬ̞@AIgQC*TgҦGHuEUjzΘ1bFY3Y1_͖E[j]-\uoܻg;oῄkxlĐKF<ٱ1+.i?{<si|;,ЯS tmcY׍]uoڲo^͹fߢ+|CV "T8kA;?>ywn?>sOo=㯗郷?(h~6]sJ]DbDwaVmXZat#ru)rH!/(b%8(Ҹ9hc@(VhHdL.dP>)eTNieX^e0^N dBkB&C^s2X'ywIv򉧟z)蟃J衆*d1B(C^wZjhrijj**PU P뭶j@ёan)lkll.l>+mRd[ & 0x#)Fٹ [h+ko&.x~+pk |p#/ `[rI(0FT:Ԓlr(r,"U/s4+ ޵n; (؀8d]vkѰ*6tN3tPOmXW5\_]oovlp s9ƘbHʀ,xnx8C@έd΁'-ymڣN訟0.h@.@ л0'$'7ϼ ~-Jtj{}F?ݧ/+.?ڴ1-[QD9L *:Z!A!Vع<g ԟB0&L! WXBn&h2!WcAC@!>&A+!Hv(/h.bq`"BZa@76DH9lMe#)2dԩ ?AR~ (@*ЂM(BjOhlJD-2:T(E5jQbt hH?*ҒMHUjRt0miL_*Ӛ.LujSt@iP*Ԣ)RԦ:PTJժZXͪVծz` XJV"azg 5J]k[7WN+]VU|ݫ`Vհk^ Kؾ֕ul`ղ,fV6xldYpKEm\ӲUj^:[23t+=@uap'+ܲhe*\cܾ6ӃZ*]umsNw.v^.wۅ-z+zuw;_f7o~U}^Nךּ=+jGQb*$< wl, ⱲBV(N|⹎ 0rgL7.STGXz<{} _ `#>气U3\2.{yl_m(WD^EG3m^Jd[ufWf*'1^5\5 =/UGymWSUk3ww^-inZ_Qa(pbq]ΧH]USl>l[I/է!fɥ2jj6lu|3ʯvpgXj]:IFuOu;ڣe8FԼ8(̜yk/XHa@kךD5GReqϰܽu.WO'/Tq |z$8җtZzdy͕tc޲ƎY.Qvێ[ùP ޛ]wvەUo~pEz[q1m3r;7/Vʗ2[*<[ '&^U|G*u%߅]?#yo|#oO[׷-WR;%>W~e[ BvuWS%2/~ʝʶr2Nlglu_iGw t{f+jq'=.WxfVzW"|4bfpwbEy7=farUI$i^w_Z&r/h+hracw['X%hlQ\"WqbJlFvvf6=k~lUnV6llXxmWmf1kGvdocghn:kֆE]e^ckvuDŽ~Ve_trڧTgeqi@gFhoVUzWv~T7]u])XhbuFwFg5_bEifixSuOeQ(nY]%QzwU祋88j_WXFs|UϘUHU_֋Ve&[XxluTHcTTUHcȋ؏(z Y0=iP[W ɐ[IO~*P'XjƎ[U]X\ih2ɏ ӣ`p =y ?b Di>= @J3j8VyWYhZV@HЕ9CT»ixDdی 8%Z Upl[QХ@;icT뉯ƺxF"@0C<=VL]m*=~x[ѥNM*^͍]U*`\ꕏz]*`^5ݕ Se فKUrw ߢZiYA5̵*ޭt^mgZx|UST,D{FV}5}D{aU]8U<=As3DA7><-TVl(G.UZ[zPUrNed~ٵ`_V⣽{&KnNZ"{]L m,q\aTuA  _՝Me0[и eY ţƙkb]?ΐ|=l][T~xc't!^;WP@+;=^\+oĩTPAK5䴉+5*͡ғ~CV>-M҅K{sZ{HdڜkUkokx-T1\CWkXU5HeB qܬTU 0̍ֈj+jθ;[ؚ}e҇ .8D/жZƀ.zj,k1[ &_z ufFoUIf٥KsZ]i /ᅤLȶ i.WkN9*x$+M^MI46˨e Vz빒& UpB\PkLE0¦RI _J%0/U\T~Յ@8‚ 25 +>ĘQF=~Rȏ2$B$+``ʌ1Fw; җ{{ |d"L-XOMu=#e֬i `ҹ5V6,SA .n<0I(Je=Zhb "(JL('WީLQaX@-֫hLsR%H F a"AE ݻ>T¤>'fOz nkcz%2@˚C+a슣R>0 -TJL2L#& c ˘021T > '*jYG3Xa(%ClFDE6ZM+e(:5[kHXtTbewXQBQ#\)M-_ͨ:Ѝ $ek窃Z1 ΅zr<М< UIBz2)-Sz]OS -= IΪ΂%F\  ܎[m@JeFi/\~/rNף”0&=:Y+Zʐ!-q+€ucY(uT ae,JWeǧ\4Ql*sPl-0 uy Ϟ'3t+hHaQ(2j&l1˼xG]M} pU*JJv4?d;?PBԑ!.@ 8܇F!%y_>rhSS U zN a{=A 訁TSj1'cΤtD8f! ӓXh{8螹 E0UB_(Cza-@EC22~GDCB3i>gB8]p"M$ lH@C nkub|2ꔥ;Y8z9IDd" ,XW(/[VAv IA#&dhCA dG=dYȒx[Aza˛H{5 MQBy"󈨄FPvȅ|2124EpIbQ 11Hv>5U 2&9q+R~#E$zAt|60y>MB3Q}fmehHE6iӤ&*Lz/ ;>2JrC$!LHEJߩ),5gJ*ZǠՉ>dHaLW- ʶ ʩij1 `Nqwi2٨L 3V4|UAoQ>dK(Pq!o,yY8e}pS:K|R׻;~g˥ `>D A6AE܇WX#Ը1%3VR tT$!KrL҅ D/ZB;xgg5+ܮv(h +r\Gԃ70[:+o׿jY5`L߫`y\Hky /эвiR֠$fM$vFJ>ZwZQZ ÂZ0ڶ+?&!avB+w:Oa 7B)!jʦꈑ=01SL,\Vpm\aO1Tr/;ΠnrBuZ0t33sC"Ϥ>Vt%=a!җt}YZӟuzOԧF6 կukZ0U}:ɷvYҞ.i~=m %v;kg7ŏyF7 * #r݇Nw?`J><3$uFo]rqa&ZIǜKU'ؠqCN Ic{d#캇oA16 zk$}WޖLGȔ^(쨣Ha`9N@*+y!&>饟A]tׇ[ P/"F叧qsI=&\" #;> fýrZ<-[ ]/ += th3ƋS9{>S9|i ˳ &G`LO3:bZ=\+G4PA@ԉFKjQ " =QhQ ;@!5ҳk:733ų*MKʟ:-m jБɖԍK<AҌ3t, :=H )H<=%к+M>'0SųS ES?\ʤ<5- -R/l2&"ҋA"jt1ǭr5B<]Q{{JLN=Xl2:8=0Um9:NeY=U[űk!PVN9VOֹU͌PjqbE'l,o=Mcjx% \RE0VmIA3؂W-с3u45؈ ׈͌H 3Mu{}ׇ}>IBLJߣTLYUesYb2B \s:'֠R Į] tZñ Jbre:VaR=Zmgu3[PG<=WZ+ٟtUx-QXcBPKD['D˅ңkSuA]4O|#& ً\ []E]@%A){eO!ᕹ5;1ᅟS^E(SaG%N2PE\`YI:|>[J;TFDn;Q̸E9`UGcCp-cHT#!\FT߂HZ+FmfF\øA\#2^_]%c2&Y; 4;y-]F3ɇ#LW HXVD ب6!5Sv5$1[@9E}B-dIiŒ 6;:eAXxAT c2E= Τ2T痋NNϔ{l-=,5:o4|T.]t ":לU_YFZS˔5 ЈhY=NPv%چ]  v#UnIյd|,ӆNIZe ΫYEYS j YdHiM U^PWm4%&cZmF;Kl® RىW]?HV_ѥdQq[jKITc6砜R{jfjxCK?}ӳ\|R@u&n)UߔA$q2N9ڛi|Uz=d:Ζ܉MXlIv<; [h&)~DB5nj\4a|Άv$pCtIWyNwfm# ;[ ox3@Lo7E%D"Fh\ڐJYb&:N_&K%$Ie͢F4'Pq$@d 1_n3?rvcEa4SI=f3gA\;rb<ktZ8zH@ Dg!I xtF {I;CdB_>[?jJX74/`_t{@{@/L' 򅢰[ _[xt]^OzWZ4r%Ru;C^Gmߋ8t$C/N_v@_ [L*yWk'.="~@/ﲇ=2vGG/xe6 VH9O۱W0ptmwuotLF7q1tq~A2`xq_o#^Gvuuu_/OZ7cy[7v_)x 0(W@8y wbNv{8=u7yvhJA䐠 'wu]oH={w ךQTPDG qtGX߉*!7Y#*g|^L8gt7{M I `:إg6 W.qև}biz-O` qԘȶc $0^WX6v_>R!V[-4G("A@teaujCm Aad@ xmTG! XȘZgH(c2dI2XЅ>%*rq$M5hVT@ArI$Bc i֦BAobğVA@e$X=e9(D9\1EpDIpf琅:Оe|gDd^k9@=O%$P aDl4) m@ QkC l ĩ!":ҢZ\he ^ƭBRзICW-CMZPB- AB; bYVeoGAPk-. ']Ky@^1ǏYb4"}{6i %2thD! tqC238NoJP'-( $h2J i S%T)GiZsS#5)ZVa;؆@tA  >5~8Jcn߶\X+vd0l ?nB3kF`N2S> RMpILn*FCLX_?AREX ISc EaW"DD`$):H-pz&>#̹=r6$T4t&X7pAny<-'u><49)fqA=f1XdS$$'ԬxFyzD+̂2PJLdm$.d#-B©O.:7?\tiYFv?%X QǑWU/!oR8 D]+iIJ2}d2d朼LhW{̤$u)/ ILHj9cHwFҘRbr66p>$ a) I#u\fRkdHp*"#,* ;;\r) {[*T@>&r W>F [.$@9 iOKHw(mȫbm&b(41%)&/v&؄JJT2tউWHq@0, CQrYi@z+b#3DF A1,!ՙpg@ "=4Wwqy\Ū LsvxRաr7$3W@ n rH}y.Rж*Xw{Г6Q!2Nbї%GG,lxSiVlhE)ѓci$̥ZiXB!ͮI1ǡ !kGZzTjXאOJgɨbrZa4m?nB:Y)ЊնV„hp[1{.@Yޚ m6~\ ۂB;gLLQACb"A 'Z ,^kߥ]wSfy c9=8aF[?JJ7q] Dm7LYA6|SOCҬ쟔vȶBi!8VEsu5|4ނPcAL \NSê&ڗsD9 3As"Ž_O:ix18\HumG6֕s5=Ip?2H_ۑ j}doPaTNnSRa_YCLhMRUCZU=M.]Ch8Z\U.٠ u8Q \2IVUHuGGBPA TɄŠvTC`SԑDya%N̠ )sD}_zZ{$iInK(ɣ6>.`.Q[QYt ^ o>Xɕs$OA·_axŕf_Q#w(GphJJk%MPAWbDA򐃺nލXx WĐ%ޥyZILBAK%E_RU>VYVюx%HXs-4ş:D*㓺d]@ T$եGV")FF@`D`J;ʀ†$6 UlS[(-@ ']IC㢦]XLi+V`V \"-b؁AJⰾ>ٓ_DVm^Ӧ(-A՘ZUaOlg..>itƢhŪ|2MpN|JWAe.J<~nITCBDZ(C b\C|8n+3nCH# *BlJ|f Ҝ*I C*Ik~t)Ϋ6ʳV@tMsCԱTTQ@ImQQYB"ҬnKtGIP4DYr]DI0uHMs3dp*OtC&R-Kq7ZO%K8uE'gH3hb?jAvTD5)5V1,=r[l`3c͞i4vKrbL CpO6'coc (:uf:)E%$e(jDS]K Jw ;GHv0M/uRagKBrAd07Gp2H<$B[ZjtTB$v|7l~"PCN岴\) _x|ox1Os y/061#/d pI3+8ϸ/Ax\pxe)y2sH㝎Ck{鑫mp?70_q`q訔u}pIX6Ojn] ;esXc՛75:`3)[\yO:TNmD ,o!sq́T_gNRv38qڇX0I/+@2IHw)h5:6P۰O;C㙻k;˸A; {v/{/;H¼;w<;jORm6YDp򆶈 D_97=zy;q;"|ߦ;j%K9ħ̻ǡ<č|]yGۂ+U#0Ŷ:/o7.jѹv#ݻ eT~˷/D</hDM񏄘Կk=P6@@5fԪQ H*ᨁB@X+&Ըčb"BG"q"AOjtX1$Ć"5᪝9"0c4\(VgN$3NBANiѥY bJ([*J,ב$y1a٘5~Ei)Ǵkr+LFɖ(" YlߍP6FHd/> !fЍQT_# Ҁ; ]l v戌%zf,4dl5s&M5GC8ݤ%m\:[;%j~Y{y?ysi#Dd鳏H@F/o# o9'pSPC gc.)?Lx3@sQ$E43M#$ B!VFL>MQ?M"W70S1!)Tɞl1GބH(ଲDtS.K&[8wKNbt(D < 3A3-tBO7]26SS-rJV`5Z152 uL]cMVemYԏjH0~ƴ,_zq|sMWuم$:)GYP&}?DX:nRvƮ!٤J "G0iU*Hۋ:Ŕ TU.1R%ERi~qΙ4Gϻ:iHz}2Som*zE4VzJ$DoN݌]TYV|[**"Ȣn-љ.`Mˌkf23,ͺ.jkmnk UVĀ4-%ۏ=]u[˨oMwUOye%o O["|2 ulH; OUH|Ph#[g'| F2so2C2t3!lh@nqk C@$\BpT\hd3t*_ىF%}~[;i=+S:2d r)E@D)NSm0&M|"6}-HxMmtu!8Αulmx4QvZ 4D/ZqT8K#HIN%1IMnQ'AJQ4)QJUt+aKYΒ-qK]/La41Le.t3MiNմ5Mmn7Nq49љNut;OyΓ=O}?P5AP. uC!QNE1QnGAR%5IQR-uKaSΔ5MqS=OTE5QT.MuSUNUUUn]WVe5YњVmu[WΕu]W}_X5aX.uc!YNe1YngAZю5iQZծuka[Ζmq[6eKR k3)pR=r 8wu!uiYwMvr7}.y芷.zWe/}[BC$$oo">=F=ldlXv ^=Xv#l#XIp)#}11l_N17 c.nqclx21o,b>6q+d%/KlVREl,WH6@+b x2`H-jx4oͤi3dܘ83fl3U>>6s=?[3"t@3@@TAh'4>ba&TB7B-T#0!0tC3C9B/TD+DGDQD C;DOE5Ec4ECFWTFUEqFa4GEEu4FtDTH_taBGF=#v"J5^HJi#JJQZ6AThNpLQ4E2BE42'4TY$B NdP Y1VB(@uIQQT"*s @Q1uPt SN! u6RݥN4'"@bڴ*NKUG.e`hRgVu@Cu64R4u'E8cTsW9NMAc%`P{KQ4N5C'U-NyDW#C4!LeU#Yҵ\CX"0uQ[kTU,o+n'_5nݣYpV[VUMm٢7nW:7hpUBr^e_6b5TgRUuWT Xw^54bK@Ut"HCI#eunuaxB ?Dwt6ꤽjw–DT@!@@y*ؔL}7YByyyLl##;p9J`R~yBrER?r7_YQV?tWxiR/uAU  TV]Ub7bT6!6a ,xyՃ7dطM" x#hqed귂HRtfև5s善g6p[yNYq/8жZMuIcYwj%RWCxS=C>I^ׂւoY8ɘ#ֿHPKX 72csaS)Q98d><0i֐c˸SE:@cK'4WA]a`)9ͅkǖXۥ}y5 9yqkby#VgGeEPygz9\9#Ę9^9Y>ǝ㹞υBC_ `7:`T),9 a92Cz׹UzY](: ! , H*\ȰÇ#JHEt.jqDž?4rɓǠ9BGdHcdP\/^TZB@tH ӒQud9By%&nd@kx|F Cq)蠄j衈&PI,裐F:sJjiE^馜v駠:TjꩨKsꪰ*무jn9G}*k&6F+Vk{++eykBƵfiJ{FۦQ~TbAS0y[Cvg/wB0`10%zqc6b-xQ%+aCJ k8uCG{6oU,([trSOt']m9֕ٹm\<p=i6|I5pO:r׬v p݄no7G.wLZ7-2i76r%8κv.׮X޶H[/p-|}c'w@L4H@7|w7A GHB= 1B$0,/,bZ8%ĆYdraa'DMŰqxĈqP -?41܆..NZH2hL6pQq̣HJ~cBAD|"D쑣 )kq$IhrsW,*!s$$A)ʰ,7BɡԒ+J-s( ye|1Dʖ*kym3, RWR 6n*f?ΙSJA |g@LtndL>דNN&m`@: 3=pgIφ~tD":1!t4QPrBG{AQ9kRrTq)BFAL%AЋ9ԡ 9ߦ Ѭ\4L>эZsl;i" %#9@sn Y,7*XgJ*qUA%޶Vq}~=G)bU1c:Yҧ9,dXҧ\_7sYԱjG "^J9%I 0yekr0a Q(35oe֖[ ~ǛpiqS}mti F+ZT!a G+wՁ:V ekA+U& N}KږA.?kUR\OLHyRRϳQ,@;]wIa!\a*i}XZ8%@[~bͫ@}x$">Qf֗ L X时Nfzk:-!0GIAZP yدL@gX&þ:/ .qLS?3 M:'7Q)wɕ }ileRKXO s@4oΡXPWa$-]#DWfvw"b*@0ݰb\j8oX n%kHQڗ H@ЇNHOҗ;PԧN[XϺַ{`NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwO{|͇;|韻ѧ>(rW&_%4,?w?ۏw~:Vgo#1&'a& ؀ W  `NhXqHX h"$8(Xq1*؂,.80X0?AhCX@F(IHHxJL(PCT8MZ\hXUWYȅcv`kv!lKуazx{|~((3HhwȈy(}X؈u|qQ( !ahC؊x8qXȋ\HA(؅!AaAa"L !xhըȎ(H񉠈Ex!xxh a9 !H  q8)99iȉ)'o*؉H092Y:;y<D9FiGiAI().)PQiSU9[]yT`IbɕfgYXٖch NYM9v);mȆ|~)}iyIyɘi9٘YY yٙ9陨IXSI#a y雹)IiȹٜYyYwwږIfoI ) ٞ9)i`ZzE ڠXZzڡ Ch!,=H*\ȰÇ8q/XcFA IA)J-_9I͛8N= hɡT*)NJJիXjʵ+C+P,ٱeæhV-Zkzy-ܷkʵܿ LÈ+^XYn > 2 'f̠CMӨS^ͺװc˞M۸sAKf-w+_μУKgDZËOӫ_Ͼ˟O!oA8~ ߃F(VH~b߁fab#!0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰Ƹ*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8@<π"qn@!2, H*\Ȑ #JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@rУH*]ʴӧPJJիXjʵנH>JٳhӪ](aʝKۺxu0޿ L(^̸1DZ#K,Qʘ3GϠCMӨS^ͺװc˞M۸sͻg$*xHƓ+g|У&. &}tIoOt1OϾV#/d9(E5T& 6F(VhfP (MG(,0(4h8<@)DiH&L6PF)TViXf\v`)YThlp)'&iV')蠄zdT6裐FVjG^馜v駠*ꨤj3"ꪬ꫰*무j뭸iek&Y_F+VkDv+@覫 /JkP,l' 7G,Wlgg ,%=/(,0ǜ2\Aа;3C!(|]JdrUM#tw UOd|%2G=-WA&/+(  ]Ct(d2(2݄mJl2J yWߘMF䑯y8ې]x t]u'ݜ#xCۗC>ܓ߾sv!7|_x7§!A>Jr/B8$1xͺ库~=OYDo>~ ?dg)Ho1[W7õ.TIK%r!-g 琢̊:d rΣA{:bB0,Y gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.w9/ ,eAa*1f́(>$ZbNL(!פN~yl" %mj᳂"hDِtnLgIσb D@I?| @Jn"gF1~3" m'D Jb(F"Zюz HGJҒZ !,DlH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\)˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسUËOӫ_Ͼ˟/(~EЙ}h!ؚז~'VQ!!)h 4ȡB,VA ah("B3f@*!e 5j#CK}HByАb Z7Hg AZ.4fNfA`BЙD韜8 xfGh76XPoFIcbkp&|IPajPљ &i= h`.N(2 )(Q  (d2Ʈ+mK*&$Aį&DB!,b( ;ƴycq⯬l;7YѶpUjAgl͒QըpiBˊ+Y϶lŲA(D>f T# ﻫ%{.p ;|kc1衢av2G+.ъ,z۴Ņē .(ʮk !d\(b\bcm#a2?ʇs6`=Y8h}Yj v [7/.0AGh;>Եcoin#;հ:j/4;Tov|e:^=YGʸ}M;Alÿ w,ү HL:'H Z̠7z GH(L W0 gH8̡w@ ZH"HL8Az)$U'EqLdH+ZZ![+2Ƈpq g4H,BH9ZƎIcC H-!,H *HȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗$kI"8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKjBp6Aۢ-AKeڵp zڳ*-W䖐#2g7sG˕z6p͌Ƹճ!nN7-\L|(n"ܠp M00;G ~FY$@}+\pa'o:{ A{gm 9`DJ a7aCQ(d+݈ą4H@4J(H -X2 )$!R8x"c@ 19 H8ycH, HH$8Иp8v8ʩ-v fiؘ#! s%V(V9ex)]褣-nuւjbinssTu1m"\jmGuA׵eVm둶&~v .[kܶlK.};/ KжQ̪f12쬻*&#4p{r0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|h߀.n'7G.Wn*lT^砇>L^>G:OT;F;A;E!_1P@!,@ V * 4$J!!`"I,X˃$Ix G3_>,($Ǟ1O5QPD@ $$51J:e ֥KFtiR5;"jڷMv(JɎIZ;j0qέhxFqc·UjvJkױcC>ZK$d:FŠ騧]>*v/i]vY+11J(ߧKqsT}oUd7I.c !" !,B!Hp*\Ȱa# r#deIOTq@tyPAS)"ͅIFi@ @8Dup(VVtI$"AQ'QFA;gEpNiv VitA+(c TTZRkJ%,cdwjͻUpBV^\m0uȘc֕QKB2+C"0L ٻ>vJl&s۹^Y1cJu¹vzmB̀&sAwk&C$٭f]UX-PX_Tm^JYeu MhCaD|iF'"BDw%ъQ/$b#hNQ#@YB&!8,;sH*\ȰÄJHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ7#JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿" LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞JH7*ͻ Nȓ+_μb7&98aسkhIEh`BoQD + q{?^GIh_@ tmbtTW+PJDDH@!n D4B(x҈D!)RȡB1剅'.VΈHa0^t;(-& 2(9{^(lBrhf{`ai")@n")A7JN $]rآ%ДG& Ot H9$E)Q~R%Z=U+V@!%,Aa *\ȰÇPË3jȑc %v91$S:00@)$͛ Ξ/ĉ HJ$ϣGul3iRM"%XG"d̨& tQ,&\˖cYi름2'WdބLC3щF(w]>mD8cFwX^GctL+ Xg ]X!,AAH \ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪM`ۅʝA 2/ݿ7 LÈ+^8oB4.˘9U熖G8z~`ԧIŽM۸sͻս[5Ɖ+_μy NسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)Di@w^HFL6)%ILieO!,=^*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJ9jU#կ`ÊKٳhӪ]˶۷pʝKݻx˷߿+%È+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ NȥzMμУKNسkνËOӫ_Ͼ˟OϿ( l T`A )BZEV\ `V"tp @U B%p"q $"r6Tp 2*0葐8 )$)ct#%(c$qHRƭx(DH4IP%Q$uhnI)0VD>L^{64 !i"MdYy(f$Eљ bBZ=99!<,H*\Ȱ5b BD3jѠ=Hɓ(S\QA` )3̗,sɳϟ@9MF*]ʴӧPJJիXj(kѯGmJٳh: Y-AjʝKݻx˷߿>!lpAÀ+^`<r˘3k̹ϠCMӨS^-װc˞M퓖 *YD<<ٹ ]on ,О$Ou}nӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6YyNFiVsRViXf\v`)dY Ayr^J@ t&Bla&hܹ H@ 1(\(yr'ex!"0 )q*)c9JP!ЧU9ifpBfkM @ iE0JE1:hZ(c* y' Z+HT&py"*R٬a[ʫ y'J D@H,*j(fiO"lZsBϞ1l): m k&Pd!Ѫݚjd1BnJZ *p1d6U[ʋn1ZS 9[)$;;k 0H𨐛mխZ _`1 25 yF l\mɋ' r4P)9vm2 70¹ l+)OLk͗Z>֠eI*J $gyw2 &q{WIn۬hU(v#&( ޢ8aŊ9;9)1豏nV'*`@gnuAQ x0KC0E HA?ƔfLP~{I$BdLeKTvݎ]ixAgC~CkCGuꬷ.n/o'7G/Wogw/o觯 ]eͺBP@W Ā! !,!,@weH*4aÇ#J ŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ FpÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞۸sͻ Nȓ+_μУK>0IaW$up@Y/0(ɏtLAr@нGv x|zpw8~!`*2ʇh@DNH B(cB |hLB) aH"]H"|P@A ֤+&")dpBZwX$%S{9h!Ba$אb `|"#J,"ڢy 1{8- 秶@55䣜F _CЉ*y$a&^GdL,(_QY:i@zB߸$H{y^ᅂz8xiFȧkQt( G_ZLbb/v)-qYm-ٟo#t9#A'+*:%}i xKS ݋ އī4Ɗjf۪ 2L~v)j |ר Yybͫ 1Cҭk}ڳ{h#*w QH!v=OGQ4vJf?]߁9N7N騧ꬷ.n/o'7G/Wogw/o觯DTeעB•+@ Ā_@!%,?ZH*\xPHC#Jŋ3&Ǐ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹H>MӨS^ͺװc˞M۸sͻs޵9pPR B((qk_ÎıZT2cI%Ȕ-:uī2j}F2qpx8Q@GoT_BZRf$VuTt((IPM.@؉S]k^BgmQuyruMhU`BvYAYJ7WC }^&zD}+vv"nfhdU׎%5 !cRK@aJ*]MM eyLUd"n(RY^a'uB>)菏@Vʕ_EwU$UY귗Z2ʆV~`YeW&QKN1+SzU6E-+MYg:9CB-`݋,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|)߀.[\k?i;T˘Ó_T9C@! ,[Hp *\ȰCJ$LHj` C(R!K\RIWYlX1e˛8QgK(MHҧQ6 |0ѧ k"T$FʪgE@a΄: h"5jڶt*)StE*$[,g"XQQVB`QVB`Rx~x* 21c ~jbݚ]|Ԝi*oBU1,;vIDGTkIB vjMNR=W2Y}+OaTSL(I atP̭ZcEgxm'PD!r!'l=i-+]TV~ agZVqEsC`Q1Y[jgՙ[$Abj\. OA]! s7_N\B@)bj͵AP6ȓqPVեeaVvj7(%EUƚ@MEN7Sux ]]m9afe[6j^J5ؔN99sJέ*, vӯzMD-f 9;\ut]FM'Šզе+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-7EzSA*w-Wf@K!,n % B(ȰÇ#JHD *xP Q,IĎ\ɲI-T鲦͖ɳgŅ!#H0AĐ>*}rӤD@5Qb53ӯ+ KU(2gӎi&͌2*wlJjЈT| `jPY"V( UHvh3Ol*v@$1NuݩGzPh6$*в+8nH ) kt-$st:QVV$@;\`(7RH4JV@ E\iA%dPt%yx~[jAPډ%dۆ|iGbמPepmnHPz&&X3FAkYvd"Xp ]9?|VvWBhG9[Io(eUu]5%o(ut^AcZTE% 5THFfpY'}zv^BD!eYWq'=[q9Vra䫯4t+DI*pl-d6k˩CmεܮvLJ覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-t{mAw7-٧. [7O8q+J!%,>^ H*\ȰB6#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,"A0(4h8<@)DiH&L6PF)TViXf\v`)hcY@X"0ЋW@! )R('App.9B Ċ{.ApFeNBF(-*PAʐN: j'ɺṡP*nAYg"(4 B1J9af*."L[ T&⎈Z,)'Hȉ/*B@j:ę+y(Wlt n'c*&0J p+Т4"qrУ$YIX3c`@ ZHb-y]@>?UlC#)[PH 0Qd:5 i@ҥF.w[iiO=ə"ܷܨ볽۫k'k˪{0rRs"QϪ tugMZ^.;0ykro:~sҸ"(h!ت }'ı@l+ApoaZVfOօ!nB9 BX4EPi}2B3(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (GR19Pʶ,'Y̥.w^e 4`~7 !(,H*\Ȑa#JHŋ3jȱǏ "Iɓ(S\ɲˏ^z)!#ެcΉz H< :ai`Z*ԫ )֯$5*سo>L2CpK $ d(VHYRx/QdF,܈?5SݩHuop3J8jY(Y`c$RL\$AHn4L=\$bGrZ0Z7/Wzާ{:N]{dⳌ|nrXSL-(AxVjwl چnQˡ8J̑HF%tpYŘ%0dxPL .r=&dtѴ@DB@ӓݔ^ٱ]`1uXЀVnؙTh%iTa7*r帣t(dBX4hos1~&{wwW&@gᦛI)t={Εgԟl*#t"$!"w't꒣ݣg]yeGeX\|ZaA TeAilg^Պe 5;]yK}tmEG}QhVifɖmU7lk' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|z߀.n'7G.WnT;:myI#kP鏷ҊACTK N> ;7/w-AWogC!,H*`Ç#JHŋ3jȱǏ CIɓ(S\2㪖0cʜI͛8saϟ@ JѣH*]4&PJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνË6Oӫ_Ͼ˟O|ʔ?EbP21U@!2,H0 P"8Cc:C&t=th G"W=pIA (R$M3҄g$zyS G{ #KH(ZcDH.e:t*P$\gd( \U_yVeq`٤H>`QA+  VpT -LV̰&/^.;6 1a#90 !,H 4Hj!BH (JPF,T`C~LRcI*7zjQl"9QdF*%Hu,()2O4M%GEI1B5ҬM؛VN0 Qm"x@3 4[qxhN?(rY%ި0"ϹX! ,~H (! DhÇ#JH"Q3jȱV-a(S\ɲ˗0GRDMHSB9o J@σETR)RP6<*GH" AQJvֳ\"3j׶xT\wrĊP+$am+R)x(yJpRĴHƠ]KLgn@J PF-pL҂-o 2`kaHP:=*7+@2I⁵_.[jA&@BٵC%Ѭѣ{}ÒalJGE1|d!fq%Ao˅@ɱu\dkxWv@pqWAN,>XM pajԍHq}MUF1J>).fŖg\ !j4ybyB^6i||v[n6>w\j Tp@iʩT9Y]Ⅰ9UG}!a$:xX`ƥSBϙ$A%^ \fyVjIZ\P^+@ZdIrC;ABtK5SmCK>tm+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀X ,2V2+! ,IHPં*\ȰaB :H bGjH#9$ҤK!_\Q%#19'–<}$DGbt(;z F5阅AOsİB[: GQ`|;pՖPF%(W!xWA % _,eDFSbK7M$yWYeUQ7 kqVuMܙ ~-ggE8Jfֽ*=9*J#8<0xm \l۪J2nk!&An\%Vsq!t t eV!masd]^Q,umƛXahbe%f_D)(PIwHRX"AAXiHF+1xcnq$p ]V8Gqf9Gc m~ yRlF^5I9ZiNi[ZNDǚeav!HB6VTSjW\H Z2 +p剥vkAXHj&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@[T |2!,OH\#FÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#Ka˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nl"\ )w&oI':B: %V>Yٺ7O|z~!*wSsH PB(dpH AQG~r`"ƨ( %݁ @X"(Pya(cp! yW!YWd~"{):B"1ʃ:hceHP^Wv%Mj!vb@Wie2%ZN:LP| nH\|)uoW$a- I̩wH1ev"$!Q%ZevZeuj-BUv`uU[rXY] Bzk"ՒP$t, , 0JIir~] ~-y>VL$vܩ 1V(Xrꮷ&r?ajxS顾J;J,d (c*z}uwof}0w4A^d"h&#hc^ y]PO[|P8Ph_sT#}7G.Wngw砇.褗n騧ꬷ.nVM2!2,GPk*\ȰÇ#JHŋ(Ԙ#BA9$(7cː/G,9d͔,s 1 &A?"@ӧJZQIjj׬\ ,ӲcM'۵jeVn[s{Wo޴ >KYÃkxH˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)evLiXf\v`)dihlp)kBy\v~AUb'B)蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+kAdB+ok,$J' 7G,Wl1}_w ,$l(,0,4l83.β!3DWVgH'L7PG-TWmXg\w`-dm6=Bk䮺UٶA1p;=P~H0@_t8Q0gO]onP7PE'n>7w Q-AWi[~P =t|7B,zB~A{晣.s`î2S@O_4R='?g'6d}(0U @A" Q 'i cȟ\m B!%4H r†yr2ȜUwZH`hX^cKrBk7?E`(8KF&JW"BPT*m~3ˆ(Lh GᮦFǺ%'Ƀf^)M uQ@SC[#(9 iR;8%m>6Il)P~OxCG֯>4-uK_~;IVΚ_NPU3{֜\8@|wT*L'O'{ޓإd-gѮgNXZPe>tB͍*@aõ^4q-K00(&/JW,(0%-Q̪B¬p1DJǝ miNprMgHNS O89a}{P(9fՓ!v}K Q R_n}]'-pH]kO ݤ̍m.ݰ2J][//nƥP dv vmli~ĺ2|۾-xnwOI±`:]u>`gDq`8YMj+8ЫZ5o Z?%pY\z'˜=x5D;w- *}*RbGC]JqxSf i;eff9l˝dkIT-!=r,%lT; tO{ϱ!cL7K7Bέq  Gnǁp_ Y8uy߮}/k|U* u %i L\sŖxBR:Ȕ2}7!/Te1 . 9?{ wD^4aR<6;ESi(O5a2.Ċ۹fm?QВ>w7!W]#=3UT9͎}k"Dzsu^_HϊM11D͙+8=rIg݂zjY Wi62qWD쌼P'az VּS` bϿjw*g|-U+j1O=roHރO⇻O;mϾ{OOOϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8X( M׃<AXC( GGh;hI(MRqV=}||h'Lą{Zh%M gpr8tXvxxz|؇~8&xX!,E@k*\ȰÇ#JHŋ(Ԙ#BA9$(7cː/G,9d͔,s A1 &A?"@ӧJZQIjj׬\ ,ӲkM'۵jeVn[s{Wo^1{\Ä^ƐcL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PFRViXf\v`)dihlpٚr@^Bq򉐟x*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkf(B+k覫F`k,l' 7G,Wlgw ,$l(,0,4l޹8ˆ=-DmH'L7PG-TWmXg\w`-Czm-/6Bk+@s 69w͐cO'pvEq/g| mi]ywz 8੿}QܪoN3>vKD;5_xBD;şy͸߾Q>2PSrSDFOIhw6laBWҬ0'!Ӛ8ͩNwJ@LJԢHMRԦ:PTJժZXͪVծz` XJֲhMZֶp\J׺xͫ^׾ `KMb:d'KZͬf7z h6KiU{պUkeۏ?$hnYKmpiw&!n@'IUHsV"!+ ݁tEP@!,>xr!H*\ȰÇ @Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜIb8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS8 !+"X*QĎF:! | kB0ARw^t(V޿pf:jLQڗo Q&Enxֵ( qg+HDpx1g([7 na@nkAߊȝQ"aXlDt\Gcd\TViXf\v`5B!,GPk*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OG`?y߀h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXfn^)dihlAp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+oku.D /&DXT.K bPr.vo1,뭼I@Һ[/P (rA /TsŬs<(2; 1!CD*W@q 85_0*cr( P<ŧ3 BxClB]7NMQA"ҊV$mnKȱAD"s\" s\X!UHuKM/HY'!,E@k*\ȰÇ#JHŋ3jȱǏ CIɓ(S3F˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ@Dhh& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlPn)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+kA ."䮶8ฬ.;λнB$A;nKHQTq -HD2 +L2G1(ḄD1Hnr3H$ ̤L؂ȣ$/DO_<ˤ tK)OO3V@]S5-H<}-ȽǬZk*xu0 @ W<w`8 $]3GS8q'mF=-tCo-ApV iC;(l[nG/}Oogw/o觯/o HL:'H Z̠7z GH(L W0 gH8̡w@ H"HL&:P**Ċ ,vq^ #x-gc55i-s1ԍ$wKx=JcBXdž !Z!Z| H-IJZ򒘔$I0r h$$I2LC:Ƀr t+JR̥.w^* ՋI@!,?i!H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘iA l |@`UIQE@4 ꃷ :Ϭ0wg[$͑5uY׆9t ?jsrΙ3"uK~NzQɐoz$9g]uׅ6g9\y )nI(1tH 8JGTHQ(~%YSP (qJ{ӁhUH8])J^Y]azvQ 6hb&&`A\Hrt SwxYY(Г5#4fSA)$vPygfjZ2!,  0@*V1 bAV#JHGbňf4`G i$FQrT%H"aXnr("Fԟz("O0e#UDFr;@\ސ%.؟SK&ia*iS:IVfeAUnyXFyNlp)0&(i(_A8\DaJgOO6*F gP*jyPe*YNET轧oG%DmFVrv;M9ӭ *o+JD؄SHs-PPSdQ.$_GvN0b Wcgܱ=9 ҙ\hv'rrN '8$7>BP;;s >JmuXW5Ru_G`-d궪p:YAdS<1D"Ё\88u7 b@;H>$-Jʸ#r,L駗~].޺갧>:zgA ,ǔÓkq'/3oG ]77aYdkIǏO?v'7Lѣm; sƝ R$7 @8BVЄ KoaLPv6C·τķqTI""R9NGc{O H5$u(6p!`(Ďt> t H 4H" HAJd$#IHGZ$IJr2&5)JNr *IF 4H,C ,H. KIRDzIsy򒬌Dfrq/ ʞҙD0ir8&IN^> H:1Lj`:Mvq͹E"1g.KsJ!hrF"~tAG`Scl4E4@Hx$٨8wiM"hNJN}ӧg\u,Hul[47#yWzsyq܂r\I;_}&VC0iIGDTpI;('/LP+ԏNb-H?:sϋlDz&YP{Y:U 9*}^6,KSdžwBp& ;p }nk395k~A{WWxs1lX]pr|,pqgVPo5' nOnwG*"P9Sr|--_\Z{viO$O{57mE>o)( th҇%n'y5=7׳u6ɸ$:zr wH&#f}N kR-H;' m[D,aaeת@+oCB|7Kw=6$.}쇏^fReNzĘ o:=Ͼ)}+}K7ŏq'V$@+O{s5C;'vvz'vsdܔz 8f]YgTaEvFM'xt'uqr̔~GW{ZP d@gW[NyGrꁁ:G~HKgW xQH8X0/gpHu8aPN7 p hH2HqaJa@hSntihf\smAz'I'Il`7TofvH83I03xL*'KU,Zq7; ɑʑ& t֋9jvmrKhұU_7];JFk|PٸGkW[r/Vw@T? JKi`:ay&b[;rTp,)'mqRbvfR}˨Ip=?qhQh"ghQh^X(tenqgg5l(fG;46腶ib O;X `|VHSCGv9L<\&H&IP0a[Vecdm_wt WȏxTW"i!GH* Gd#ZqakbjbcCd [Zu'"Nw\:^eQPa~aOش`\Zkf6nR=Kq*žYQ(oInfI0CpRij ,ڧ'N8gIGl=jPFsWZ@isqH7HP]swUZ[fZ(0If[yſo:_Wo@?Ņ馌yfUh6GkS{VJ~T4'mca\闆+j?!KB0c4g-`uo N@lVw[ȤI:^ ͮv顚vTM՘/ڛNĿ^>ZiJ ӖK~\6`5]*ڨWlw/}ܮMjʘyI &V:hDsiՎ+jh&A;"Ҏ)>Ю|1p4FLJ:"u>\Z߇G',.aqA"lZ.ω ү!^BDCNj^Lmv,h/O` 'Ӡ#|iOoB[u *m qֻ>%˘4ЉU_O\_=&NRA+e1^))\q9#~!WeHVF]Hq|ȎVK?n6i_Oa DhAB 6QD-^ĘQF=~"#$\Xb<I]>DH"IԩҢL) 5"NM>աTUV5T҃ (L!_hW.DЭŹWśW^y-:_3ÿHv=A'KiPLY4g|iU {6ls&Pl)jZ0ӓi/Ι`k^;ì1 -('jO"я{?B"$ٌ A~#"L/ w{.@ >ª4 1CTk2M?;o#5z0~Q"y\I8RHQϲRE#0!2E^L4${0!(’!J>10AA霒3$%)ZT΃@30Y3o>S@H$D{4/K1S##?uCPuUF,)3UY]bz0 ^oW-1KPYC1zT0"\41M̬Z0d[|Q@Q m=NM&LC7:4H_UQ=܃kكV"ҘrB6`QV!jfZ/bYY+B9jfb/ zmiY~UwR2X|rd|lj3[ʘjC5lH*EuSNn/ 5'O;N Y W;bbYtY"zjh^aү.J 5XeovLv#rwcNI.t-A2ƣ:}-l40"ԺHYЇAձ=) I:ؐuaxW[ gִ5qMU,¸8'4gz U/ؤ5( ԥ\XivRhAPJ=i'Wә{ZrbM;՛lIjF^Hm_՚MZdd*ID*NGCܡJ;Rf1XSA~ W|%C(C]$<\lA߉/4Mj$XG &f\Eԏ;/y86tH{Ah4=&)(FD)N?zĐ|8P'Y;/X)@T<@l Y <)KG6Q%])uR)%RdՔ-ThfE"ԋf2;?^Ժ5A?ءV4VU=Es?˘9GFV{PCҫvk;Yv6$Sj9Lz*#+$ZִmlY dlH]L.3*me7Aoq]Cp]\r,Hb `} IBwya}>u"Vg='b! ׅś0wVS9AiǥvJB:;ANEqs?k {m < 'ӺBҊۈH$z@AK8 g$'[50gAn-6AH7 F`}Lb8w\?b:'v3{S 0#a4BXSzD.{@Pv9":02l:Ì7G3rʆ(J$,`I4G3$$XfTƎ`qcI #0P'$0Es I: OY!ySKf\H PO"krxLҸƄ !$ĈD{IʦXJ(MGJg@Tj̖ I"Lڛk) *E;{,U<"V˟(M= l$8LS5]Sd6224|!u Hpό#[GYɱLYR;%Ic4Lu G$OŐxm|K`GZ;MX G(.LH"+s\ollK(0sͦ͐O@0IJ;ĉ!\!%RbLM#ёC4;яz!jA=` Y7'z7H,ē`9  Ȇx3BHpvL@I(H>x)]ITI]>h1 F>#0CE\m@p)'CS K4E X vDCJIL1y ̙-c:ȨB-+H 'Ug{< ; jQ7$@sR y^M!v){MԵA(NR\tVsCjMEiɴ#(Ba?x=; зԊ $;}<ł /H/XX{$s:0 QqY'XB?L(4o1 M =QuF4ّL`8ͨXŶ$řYD,'C$ ""F *#-$HGچ;1;"gWRY, @\磉;LFf o&[Z@%4YZ(K\0ګI4$$م`Mդ݈];MƐmZDŚ9ݽZyPK񐌛-ԈJC :!_O;C{ R4$E`Hɐ0l^PI@Њ,)=ٚScD`҃p[ NL^n6 ҦHq3eHFl)3^TW$ӸSmb` Za٢I\V݋aC` DУc2Y6O)cU4lj9 >}SW"ĺKeջ30u\Q)K ,̥/m}'))wֹXe@]]z97V!(27oz1wWˑ%B UрMT=Xᵁ[ۄ| я+?/jfXyOc<#爈d0$0'uT S@Y/W'%!:cT}z]~Ij YT'Ji0WV>U(jG> h0"Lh@'Rh"ƌ7r#Ȑ"G,iBO\qdJɘ2ᘘ GUiF,-j(ҤJބ)1( JC"fՇ ¼EnVe[u:}S`؛a 杨.ʶ}.ldj~K ,⊋9y@*1lgK,k7uƜ(ݎgOpݫ? Nțk[emx`D}Op϶^+*t'>7Ǐy$HOۨy]FEFA25`u9ǒr-\vE!H6bBV Q"QAiUEg]E USvE.]5ُ13vȘKF&ƘC.!jh}GRi(}Ȣc4R _iKP^]][`e9U!qBofVFl  GdgkgJ\oEtj!|jjhbz_ zNʛlvIso&ajW 0'+ThKlE 宲DKWn^YsDؠfز&!Y&(A~KQ7;PoG E  W$1G&F<O;0#]Do$K}%1A|bF{VjVAnxVA7B):'T8Ηn[Za]y'`+I dsLtM`SYK d5nV-uslG5ՖzMn_lQRO7D7b8"$ܺ !ΩG*P@ltiAxn0Mn$9C\9lەSdw{ u5/l^PXuj~J^gSCTP]om[ðջN.E{S%~Nƻ&ܳ.³$|ҎiJB(kG;ѱD"& Rs:(\s@Ѫw$,ߎF( l|fX/X R-h%Itri0 J5p]ʊ*27kbʅс ŊTN`I GQяC(ě sb ũ_|$7N"#2= g(W(d!|fEI_nu51vQn4`D"X?*Ddu:i";(fO,2!+V g.LOJu `z~u͓:9g˔er>*pl\nA ^B ǒ0R5LSG˺^fXEƉQ$F$*-pa n{dCmS$ML%O"t`(HQ$SՉۢ4"H#SmN}[ZYG}C7 b2YVzOfH@[: 2b A%LNBkHPSrыT,q1bUFaX(v4\TPRmNIo;! n5-PY U jd- w5da&i[z bC)=)bxUUCz*>Ν(ݙ앬bNiR0UI(SDƖZ]̂\EBCRNbnਚߩKH0EGӨ> mѮ 0X Be[PQn$\xk9hI]7FF3%QEV R_&]B:kHLl`|8eO7Y=Y\TzX+,vz=i m27`REa|XHϳOeF(v{\m(S$¤0PeRpENG]Hq1GBE# C a ͍.t0݊d`A1o-J!ljSNY f~a}h]Hn$QlCVB1kP挛qUmj-'sĒ&+XZB.]{%2_+&V+ܞtָ pVA"B+wfd=Ƶ2 r#(n=hВH 7ano%(dG{, `V$Ö# 60@A3Šb$.Ή@B#/2d/K1;^$Ff;BFvG~$HH$II$J$lJK$LƤL$M֤M$NN$F$O$Pb$G%QQ%R&R.%SO6%TFeTVUfǖ]Vn%WvW~%XX%YY%ZZ%[[%\ƥ\%]֥]%^^%__%``&aa&b&b.&c6c>&dFdN&eVe^&fffn&gvg~&hh&ii&jj&kk&lƦl&m֦m&nn&oo&pp'qq'r&r.'s6s>'tFtN'uVu^'vfvn'wvw~'xx'yy'zz'{{'|Ƨ|'}֧}'~~''((&.(6>(FN(V^(fn(v~(((((ƨ(֨(樎(())&'΋ VS/NFiMU)j)I^if)>~)ix#6a RU!J n`aF җnjĢO*ijHj N Yjzؗ؍*a|X*oꠢ/J]*X"jjBȖ!*=Ѯ*,vF;LIJ:D&ij.)9@P@@`CX@DBeĸAN+Ok~D+kGC+K^k+ʫl-,:l.lrkv+Ċk"fjN2l@X,Ħb j˺l>fDrrAm&6-mӎl2N^".bf-~-R-Vm~"Ѳm&-ڎ-K䬴#+m~ƭ؞leD.nB-i.IXkb*.ڶB&mD-f D.Кnꢮ^D.H2"n&.bnzn;eI;ޮ6/mR2.nr~/>onbZmv@(@ЯدzmE6.F-˭[D^F40Dد.g܆/G|k0G,pH0oQpRp ϰ p:^k #&+mp>0*".pN2okpkqz1nQ0EpqَQ 3Fܱ1Aq  ;"2*r/! k. C!Kr$'%/r&?%sn˞0DcgNpBrDzCrKjk²vU$/1(r*kqnI0p 04'0 S364k5ss5Ks7G6 c45-;m;mn175_g<pE$31: 1@"(q7t03G(DH4OEW4F'EkEstFr:n4Hr'#p;+;LDK쳾Et4NDN N@O4!@EQQg#hq F|EpUVTDUu\@hqP#w X5ubBUu5Ws]SROD^o5V_wL*BeƛGz k R*di"idjHlAhB:P iߟj6kvX6qj6jlk6l\JMdN B5z)5'T75e"gOuES6.6#\~*edx7ywz{fs՗:wvw5~6̩EvqxvZj{^|I6n3= ~pDu/g&lxGpviFe?KrQC_ 8IxFBFAظA6 xI $E Qgxy5+9m_}=Cw$v$Ig9QN5yl7.MV9踦܄kg{`._jg/Kx NDtoDlCuuE@D@z[vA`:wAx;+!{zZ57zHuNےKwNx,͹([:EЬ{+aSỽ z{$RgQzs7Tm8;8~ET|:6: KvtU;hqBr[)ڻF;lGxxE9S &Y䷇u8{q-&9 zmp qxDgIhɇVD'xdQ)@X$Av#B=d7q=|$Ss@Bo>w>}~v,>>G垴j{>ǾIʾ߾M>S~>ȸ?I>D/8?MxQW_Nb?wrp4;|e??ǿU!, H*\ȰÇ#JHŋ3jH`Ǎ CIɓ(S\Q@,cʜI͛8sɳ'J(IF*]ʴӧPJJիXj Rׯ`ÊKٳhӪ]˶۷pʝKݻx[+߿ LaH+^̸ǐ#KL˘3k̹ϠCM >m_˞M۸s}568*B9:̣K^s9C4P8;rţ_Ͼ{O3k;߀h&MP߂Vhfv ()Ey$b,0:`4h8ȝvfM؞Њ ٢ZD 䒆XRAiRdMR"$`ؗmbRD%Uhp)rix| (mjO%袌6裐F_XU.&(Jf駠zwnJꩨj1fNj뭸r*N>š+kȒ4Fj'^(GdVkyYQ}wfn7Qbx{_w[x]t'ne/WW~ږg'w砇.}䤧ꬷRn@/RN|nXͩ֎דIiIOۋ9߯xS ϛ$*/=dOc/zݟ :vykZQ#@?OBHc[ z WBH}j E2)J! gH8̡Z0HBqViHh< đtP kD&әF.P^h)2:a 8Sܘ"V5ڊ D6;IR+Kktk6:A$@BEn`H ٿPm%|ó @8VŌ>1c"!H-Qbd&J`>H@@2Qbcp&4yZ^''\,bM.V ! QLR,S|Ƅ0+΂8(@.i4 9JVA09Oe3K(G>^f. N$3eJ RufdT2IhfT"$J6A)⋡ATQj&DAqRSN=)EHJVђKzvuP(2PT,,E6V<$5e8GtdfBs +3@9$_̑P'XVk/$3~Ϲ t3Q )O>[DtNY"UKw+UKmOJ%q\0%iKZͮvz xKMz|Kͯ~LN;'L [ΰ7{ GL(NW0gL8αw@L"HN&;PL*[Xβ20`ny/olI+R Y vțk̹s&V+64A}+>kmɢLI i^z";MW ӦBh6~H 0Z05~gUS |&B:i`,~Vt+fWَo-]gv h^z#UMz[%"[l %kힻ=v65Y̎\iy:tBp:K*2d"__Alk$ !,!#} H*\ȰÇ#JHb3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL)ʘ3k̹|dM##M^ͺװc|Y۸s㬭 Nȓ+_μУKNسkνËOgӫ_Ͼ˟OϿ(h& 6F(Vhfv (qɤڈ(,(0@ݕc\£D%FIDH&L6"TVWHVv`)dip)tix|iߐ~*蠄j衈&袌6裐F*餔Vj饘Rf駠*ꨤ xmji*무j뭸뮼+k&6F+Vkfvjk.GXoX  XyY/A{m$P@6*k G<(\( pH 2ɣarKO`,Ȭ qƤo"'Dd˱"(9423\V2+IxYL6}39'm"h\k;__jp>̔9ߔ0 #\pA j@,+13*{݇^o 7|Wd:Wogw/o觯/o HL:'H Z̠7z GH(L W0 gH8̡w@ SH"HL&:P׻)Z0i-r`|H-2Vg 6*i|81E4+C<_! ,J%z H BIȰÇ#JHŋ3jȱǏ CIɓ(Sn\˗0cʜI͛8sɳϟ@ Jѣ!PӧP/2JիXjʵׯ`+N86ٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸cKL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h&`s,F(Vhfv ("^eh(,0(4K6:@)DiH&L6PF)TViXf\v`) ihlpc!Ixgg|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠je.Go@&JJCs*5gjgd)ٜ!Q@ {g¨DQ@K $+N,j(X;JHp@HZB9Bƹ""jn;H@@Z+c.ԕڼd{mK!@Sி*x1DL@kl&)U -ƻ"a+0 +0˯K@w q Ԡ,9}j,2Y2 56ܰ@,DO 0ߞݴI5z.FjV.򩔲A1Sh牮,Dy^Rnc.Q@!,'!H*\ȰÇ#JHŋ3jȱǏ CIɓ˗0cʜI͛8siQ%ϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h{xH+bA-h3֢G5#B;6c'΄DK$B!,'?H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜ @͙8sɳϟ@ JѣH*]&ӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&p,1FSAR '6)%Y0j ddK^flԖ մ&s>TpTәyP:PR:Mnkz`/E&ħS|)E",iE|ࢯ.[aKkY{(Qkv =-+"BNn}DA,A 5$`PQ0 Gi>|SZkBpJ|rnlnq.Ck<K+I0$đ6)PR-Aq AVKjHX[SٜP֣p8ozٲLhܫMrkem~5 B/30/ܣ Kg^&5!asފVx{'3Մ\MB(ƽv59yY_֦ǽk34i"䨔! bvH"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.wB$E:@)+H0!2r1h@jQBE9gzE(79r"$ gCMSAS匧>`O{*e=I~z(Ctt UC$ZRhDЇҢ+Aġ]Gs̕~ UZҽ [9bjZ !,C'} H*<aÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sDP Ο@ JѣH*]ʴӧPJJ'իXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dih^CjjOpZdUxYSCrIӝ~*(N|j衇"hɨASRiZiB")GSMZ&AZD P$S⪐!k2Pr ;Ь^j-N+Н-KFJe츿Rn nF:yg.BJOQ(LLG ?oBI\[*ЮyJA+),P5,gw2ɚ.P!  $QF/*q0 䳜)ēT dĪ"=P^ 6Je>,'(B ݣDDH wR?b9B)c;P@>@*]> JMm# !0+C>Anjxķ߿O ͚Jy£LcܸOW}@}g'ֺOZ67OmD1H U,v<)"U, >O60A`||B25o*ȩ4~ӟ7>'Qgn*ܴ|j}{ֆ/z ! G V6o0ڇtŠ8o]hF2XO㕹*PMKhf<^$w$>D~ IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.w^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:vOe#e+c [B R(DQhjԢAᐏ:DM)T@ꊁ hdѐL )S+2)Hu.!OBĩ jE$"u0eV"UPIHXYuI,* V{lm+s.+ܹ)T]! ,' H*\ȰaB(#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳ'CJѣH*]ʴӧPJJիX{ ʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿:LÈ+^|Q0ǐ#KL˘3kD"͠}~Mz`6:yװc˞M۸sͻ Nȓ+_μУKNسkνËO]˟OϿ(h& 6F(Vhfv ($h"a,( ^.<@)DDF&LDPF)TbXf\v`)dihNp)tix z矀Tj衈&袌6裐F*餔VjW^馜v駠djꩨꪬ꫰*무j뭸뮼[;S&\j6[&FK"+-KU=vY^- b Y;R+k,PW۬PnU T{j;mE"(qǛDDH@PrV2.2H Ps,{L(f i0B.w6'A c]6[&h( 88(,UpAvC sxZЂTP(%YŶOr3U/ގ-QS,HMP\xP@Loj48NNFd|yP5"y.!~(Qி5PAw@@X(6NƱ] 66bBKyIɮ?7/&+gmZl̠78 r a`t&(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (G9J_9A 6o$%Z!Z eAl!D[R fEtِv0ėLH2 cęCY@I)W,@6y9́XS ,7Y+j$LfMbT4_Nuv @I2}Ί=$Bwʅ(u)]Cʠ5z:X $ !, H*,D1^FA~4Ȓ(Or˗&aʜIF8c꬘ҦG%k *t@(EʴQGTiҫU:UTbժ+V[φ}JZpâe \i"%;ߵx龭5\B1cKŘ ~ݜ2[Ϡ%JӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix$z矀*蠄j( 6`hiH(B$v꩜|jꩨaj*무j뭸 +k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<쳩ߨBm-L7PG-TWmXg\8D`-Jqfٻ SZlM`m|& Pn'7G.Wngw砇.褗n騧ꬷ.KKxz('d&*k6SAk[VkP\v+' A覫+k>Ղ;l,l' 7G,Wlgw ,$l(,0,4׬Dj' e+ jLG-TWmXg-trNg`uЍBhl;op-=Mڍ|߀.u'tP/G.W.ۖ@w砇.zFn騧M˕n3Xz{m+|n2=8w/5)sRk@䧯5o X 1) HA:̠7 z B  CL3C@%[L6 p vA(Cpf?$OP UDBDd~E$&((-\ p:lUC{hE7ZyzLaRq)|EDrihOE8 7rȁ] p5Q /,ӓTJ O eȚ9DYI+|I,Q| I0iˁ(OJ4FI,˹d)H*[ЫԦ#F/Y!gĂDpT KsrQ.ӵad1@iar3 MtBxLcƤM^P˞b8yfM8KH:} BK!0ԡ.͗ɣiAZԠ4h?Z$K?&`K]zhh6jՅ@;QՅੇ/@tG1W{U:3,bJX"áh}fa#{zʬ< ZFvTȰ&DUmA"pG;Z{| lbkĸUqg:C R -`um*Ul h/zO2 `TNSh˦J @p$T ]lsYZ =~Fás W Pw_Q^v֮}gsLΖ*rL_ ݭ@pb6lPBM׏q(¶`i\Ny ^-)e -&P]`]Tvl#tg yk߁49ʹ]:;_@/,W028l8(4`5unWQ+0@Hk\U[uz(S%T6OźzfkM(FAKRP!o_LuZKV#NՍdH᳑¸ }BY^AXTꖓxʺ}&ڎ÷i)ԛ[4 I0CSz[9u".4gj_w ɥ rg2 7NB/MD.Obs/m\5vO/նө;-pk+g`Cro}f׫NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;ЏOx_~}O?՟~y>hꯨ 'qx5 (؀P7/x'퐁 Wfrg8$X &*,؂.0$cw[v?g1h%_!(,# H*\ȰÇ#JHbD3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pr(!ݺx6߿ LÈ+^̸ǐ#KL˘3k̹Ϡ MӨS^z*|_ p0Żm =w N2;سkνËOӫ_Ͼ˟OϿ'[& 6F(Vhfv ($h(,0(4h8<@)DiH&L~V]I4)NiXf\v`)dihlp)tix|矀*蠄j衈&hTH,裐F*餔Vj饘fZؓvZ*ꨤjꩨ*-꫰*+1謖҆"@Vk&6.XkVkfv+k+k,/i4l+ZN>qG%塴 ۑI /"$o믚+R? 1qnũw\FiPPD_= jL˘3k02ϠCMiN^ͺװ{vM۸s6jk N%#_μУK\9؁Zν;;^v<ӫ_ϾϜݔ|ڿϿ:Q RwXX~z F(VhfI nI $hR,0(2VWBHԨB H*\ȰÇ#JHŋ3jȱǏ CIɓD˗0cʜI͛8s>dϟ@ JѣH*]ʴӧPJJիXjݪQ\Êm eٳh"H˶۷pʝKbٺx7ݾ +È+^̸ǏL˘3kΠCMӍ ^ͺװcU-۸s NqONμУKN¿^;z.rykϫ_Ͼm Y~'JF u HX!Vhfv nd^ xVzh,Ո*(4h8:b"DXF5bL6䓱 #Q V Jy\veKK~)dVbli$ii_iChF1Y&LəBI]*Zw)FPL 4i5&D4e UEKK$BH^X+^.j]ΚIz~K'!Ӯj3A jXf߈N"$v[ٷy%I!<,C H*\ȰÇ@Hŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOBHϾ˟OϿP'H& 6F(Vhfv ($h(,0(cqh8<@ɠB"UcH&CG.PF)TViXf\v`)dihlpAtixgH矀*蠄~^&Ls.VT EH8V&ԧ>HT*&骬VtM*무bj檦/ϣ |DA .+z"Jt䱀. HliN I.C暩.v˭,jDVb[h˭ 'âz 1 ɳϟ@ JѣH*]ʴӧPJJիXj] ᘭ`*)ٳɢ]˶(nʝKnx Y} LÈ+^̸ǃL˘3kyΠCMӅ#^ͺװc*۸s] NQONμУKNسw{,ӫ_ϾßI{>fEϿ J b% 6F(Vh܂(LmH(,"H_!!8(W:W@)D\E.AK&PF)RViX%+Yv^#ԤP4Btf1HPlV$k6tg|Dg'O{vX 9`)m1J@\BT(P4U:u)UZ8uhBTZw!fjB+tG4+e멼uf*nv]Ѫ6묋e,A=Ϟm @#} K(j̎;/)_ F ߆wD\A tVkQWB< ţ,lq1+Lʛ.;[У$]&}J4KS{dC9WP@!8, [(V$8pC #>TqĊ)jѢnjC~rȒ(I<Ҥ˔,cl s̚87BI'ϟ6mjUPWF&:НLJJuժXju׮` KvٲhϪMv۶pʍKwŅ2ܹW߾ Lxˆ+NxƐKLyʘ/;%sϚA֋kiTITjkV_'47{-8}'xs䵙Gw>n׭޼w՟O>xY>:_~맿>9yF (`b ! <@UPU׆v"H&HbC4d~W^ڍ6:> B9S4hQFBRӝdsV&SXvYmZ`^difl首e©m&sYw٧gwjv&zhy"($A2*Q "i*)~**L%jQ.䔳F!kk*l#C$б:,>+mNkm^,S୅PRRJ޹av޻+֫TlpH(A*:gS;FzPqHM-ĝJ);2L6νB E|`HkJ4|OWMSg-wuqa ud6`HpCAxw)7|[z8OGucg;\i\ Ġg.z騟:{$^{꬯*O'?3#S/}/2^)T{3y_>;9?ehtYMkf;@@ a 6ȴ6̓ lZT—ٍ8WhoJt YB4q a spL>aD& @$& 1L|*NnQȗtc$D11#dFȟyh<(:MG>nDO])ʓX合,$" F*򐎄H$JB K4In!Rzd'9HR򔒴)WV򕰌,gIZҔȜ.w^ 0IbL2f:Ќ4I`2ȥ`lBaQ*}3̦ҙ9vaܔ;ysg=}M$SB8e9΀"5&Qxs.m^t]hEEьBU˕R0%I3ѐԝ3EKORƔ'D)TfBMPZTF */-,픪R{IU]vS&Rԭ2*J̲o5+[LjSܩ4Qib&׾&׍bWӠX{` vAKZ5VB5d35kcKsH]/צ6[Dpj[a՘]fny:Ѝn1Nd\۵h&kπ:Tr5@vMwvWBM;%U^UPм”WpGZ]uؽ.z͈.%K Kp+`utB`KQ0U"\|MSaJjbx #ojdžv bsW VBn _QX5N`MxcLd$v'k尦׺sVߪyjA+OXty6+/u;^vP.L2 5:ucs{)d;B75Tlk9nR^;I,^zK֭wI/~U1\{b yо\rS cd9.풟hCۘbH.ll~vS ފBw[ ^bZ߽s:W[˻V6O6ԡ*;m ;-{{T:ycv{V//-aw64zk>ڜ`6mK 2W\,~%Tc4t8Cms{8Kn{nqLv>{Nw_r4uo&7)7B*hVBQ5={o&F/ГOCkѭE^dG+xW>d_XMlv>s 9ŋJڳ^k,벴a3E!Kh׾T`KKH {)^m~ſi?ցO%if慜U֜´ 6h8MuwM)y) L !yY J@ba eZEL@ h0 IW"V TK׈LW`*vʔ+*t59IԈ?#4V]jL\jRQXPy9"GmxR._xGL&zt9Q (TʩKPK[ZO嬼Э(:ڭqyŞ@\ jڂ25MJd ~g0*zp e(!sNQ 7eDZ}jKgs2w-5vE% UٔRA6tڴb\ȧ WiHTȫ+JIH6+Nx]4j&ߗQjY! %P0oUgE ʲaZ,K8ȫK)Be inوjN%K:V`¨D[M89jqȖu| MժلykRyrI_D9@0\5[PD\tH Hcz2p880ƸP]D@)+yմK (!`ڟqY p7Kط({P*N*KtˁNjĝK; Y{jZkˡDdz*^2l KIB&!3xg-%}ZP.|乤d[Hd=sMɵbU0t\K[9k_o DžeňƽTPߔ۾ S sM܄jH\Olt F( Ltɯ9Ű6T7W6 ź þ$kLz7̎*L {P,BlZ u3h) .N 5oOjj_WZT4Y` Z BQ1Z>OP `r4̋ZF lzV7M!XM(o>֤̈́sZQkU./P>jN[V` SYU^ Ty >FMUR GKKt\4hL̜Ы Nk` a`B⅖ԭVh` H g<:X]5ڧCN"֕t()KkLWK֛ULY ÙQ]KK+IJkҜ |0MKsXH}ɔ>zƻ_Qh_ٵUۻzf̪S&O IdB0l Oݠ'lFJ\ˣ ˯ b֘$09F˭[<ڄ]IL|mZclGm'b)tx{n=On0 L{mJcʼn0똪u}uO[pڔQE݈+%Pȼ|rxCK4QeJ T撊FK͜9T P<ۆ:NWЊ&۬$仞 ʯ, RKeu^>^8Kf}5kIFjΖ9 -dbU PmY C.ml-!MP]P@bNjI2lnd@\Q[?i&)c ݗ)HMƪ5q&0}Okk~T P!m 6EZ,6 K;9LhGgŚ9 ” N0uKs'欙N-!C9GKz툀WHjViO0KVLF3M 3$<_/k@/]YU~ Q\Te2/˯ް9 #)³ N]߰z$ r¥K,ߘ5]sC|PJWK}DRDMoH4V}URK\GXz9 0 Rk|nGQ0 L<'La@@2p  "pX‰ #^ĘQF=~RȄ @h F(OZE$D 4-y꒦MF1ԠO)i0ˇ ԹԩZN]0+Ie͞E@XB|ֹ m6XZ*Pn^ud``|?YLbI8-A-Yv50֫Z^pDM ܼFVNdϤ>hT B^U #@ n=Yvai1wtIܷF$\Qw<[{0@3~-/Bj<ۈ!<ڂ c/:龄4~"euBD-:& :kG:OLP$L4# 2;ZkvX!EV 0Mʁ4mV 2J`Ž42$贋dg,4,?$N;˥4T€_hc}Kd&+Y+00 2ܦ ,X8[޹Ϩ-LZ)8(ore$J3$)7 ҴPl]' Z4H}Ն,&b ئLRf ɗt傐Y S!5EinQv莜“ _~Gx>ݭ9sfd"35ρL  3oA,"+4x$ [/8M [ZT'$C-&X)-S$@9am/";IT!Qmş$alyM4aL`A֤$La([V(e'9R/ͅR 2 d2\uR$NU)A2%,9acxFTٔ8K5Ne/Xm Me7űaL2_IH!3BL -L ]>62!F L"~ ) Ҝ& Xe\̜ҝBFcMlh=g7f9LKޖwM>t4|gD%MpsA332eš]:Œ!BIEtD#-a;ˋ1!!ˆM'S"tP :OiR*E5I^MGq,yQ=PP$jA/ípu( qF:Z%՘JV^U.tm~`%#إְ&b>ld%NֲlfR֞hX*W5Tfh"{vRc|,PemhO;[v}j,bַl;\w2I^ƅnt)͋ǹ7=PB Awt;꺳e]3Z׽{;_BHHjVga/}- k5|^T6p`ӂYZ |(yPjnobpFq'BXl@[ئ#2Va\X5BØށKr'l8ZIѐw[ 7%xPH<QLk _.Z@cf)gMy,ԈU:$S/w@y;&rI#IɅ%C3tk # $ tB4 b,؂ 7֝R=OuU&uyYS3lDOW˚ rT%魲ƶYz:7s[ubqUEX]]]Hw&?]g+D(Aմg$бD:1I| pǼDVɝ_ߵVŹhAE<|Q]lݏjFdarq%8GNύ,!gG[y_8my6|?yu;@/m~*_U4诬P|&ynyR-1\S=Ȩ/䭏P: ,/ ? "?S?#CRA:#P$M4 j  ( 0{/z Sq&:7ľ| Ga[c #/,7\ X?Bi6 ̵/# lQ>J/ A6H@<:@)803<>(C9C@?22x"C뾖ō6cU|˵`R/˛9*`Bk'<)0aAʿj@_V̿qp;ЄNa1xSC!z eR)QpPH&oC<"Ãk-(<;JbSF\);b;ۣ`JfEhU<9(ˢX;4uTWU֐={tG#9% B4-1%ŕ, e0\4V_\AWeVw>G({O$5j̹ )o _5/v!_ Qnyr'x)_g`sҨN$s=yXDBCrr )6ĎN͋lB֎ e7w1zb|©mӊ 7?z$8{)$n5.6 $`` ` _|1ϹKuD`,~\@v{#~[#嘋wHG-7:]tW ї/  '~-&1ו X ϝ#avH\B{:*[*FB @@<`!Ĉ'Rh"ƌ7r#H"ԴPEA)bYce +6iyS'͝ID0`Q#"Jt Ĝ#iNvJզV:*v `ͅ`K@Z1kM$D$8$nڲ`QZl2̚7/̲P A-CFb@A FDꛬ "vNVk@dB+'` 8!Ά.@$_I9V$KlOJ}RFj~A$bǭg@ A(׀A&Bs$z!$j_*ZE]I26cX},UQH,b$bXB9J$vQcH<XYhQ|FT|v!&m~Ai1juޗsfsQHeYTs[EƭWE$BJ+YJOe^iWdj]X{lTBgBߌj*EdRtCEJ;( L axIQeW8rz$H(xDRXau6Xlm]^%Q)PDy+H&!u %bhe! *M#@b;!G'΄"( iqa_%6"S`2cURfCn-¿DQp}bA6dC*:2i(1b&X!#Y2h 1@u'#ʂ ~#GJ1I8a'4+}i< Ɨ 2[F"Mq;/ ի/d❌4kXD7djS-`$9S 1JFE/=k xm=HQRV瑤R#]!ec&Vg!Vϧ$+^J$jtTH^AiP=Q93Uh} _b[ͶZL]8Ȏ0l"H&۩}$4؁r؁"d\a%ׯ!`` B M^b2$&0/ABLO*&ov܈(tAdndlR/8T}j`- GF?5Hu*hb{ʗ !3&HEBc /!+i[@Tt ~5NWUw ;E)wDֺ24fpʼ_DaenkVgifP@i<GlkBźt8D!XR VIk$TATc,'oL.&ЅT n,e[2,(azĐǦ&np~Ÿ.-`!V4q-ɷB`wU(->youxS릉{YNO"<$7:3cz3d&l z4Mdը!.̩ޞSr8~'tu,pQֻ69VCCuImQĢ pExʡ薼e$4 R@?{e\VcFz^FMG\a*WAlc7vu:h?{uЇ0!v#HiAK N|dEշMļ$zN1XT@EzLD|`Z8F k[[Cف̑O-AlB4Zx&ʤFq}nx6݈fmMoUr$@r^Hu lDMN<ȅC=V~6@ŕ߮ƚ9$!R84G&ሄ|T]hIA|T=[:y %!m_dotið6*",vDYDMEWr#ޟjѭ 1ǀS]a,qQ_o$|I]ȟH7L ֯TNTOF9#|$ZAjZīh$bEaI$`0 Lnx'TPp a`܋IY䆌w\𤗒VTHR4%b^$A.n #2`c|8.u9z`P&̆%)P &h)L_񘙒">jDi_)^/9)b*v*@}ihEX޹fin*jFԑh"i^obh e4bt j+/5z>=bꐑgѠd\>b(S)OFd+lBiAx td[0#п+~jR+E BvYyC_2b^R`HDA0^jUm߅<Bt&hV,GV-XrΜ]>-E #dT-D8 /-:Fh v2&цQVUc &fն&(Mć@n`*@ flikAгE)y2 "iLkGđ}o4skt:q,3o'ja2q07!DpvD]sDh,. 3A12oGmy16!b9-. C5+yKmo\G.KO[Qݍ)giN'qAƔb8ę EOc\4#D0E SA(^n:&0VgmYWibXk:nӮt(lI.mD$uZuv 6-WkLP v^86[@&#t`k%l^D]UZ5eW*N/Eۥp0b؇cO*)wo3wBKB8nnu0r_߆ gǦvkcZHnRO5/]7rsvQA`h xxEyHnbk>L, AF2,4 _xjOOnx:8Պ@%QgcTFn/$X8n0;qEx 9)RGXZ˅8ԙ XQκm $Jꀤllr. A BM|@+..zJu=E0aj:eo}S0Dby l8lop6(C:S4|:s׸n'7Vāǘ筳ʺEzH5Kсh;r8Gdo?o,'w2OR,y7S짴kns=G캻'Wtr{^P,=eqV{/="l{ُGOSӕL.IlS,Lܮ$1+d|ӏ$ ["1Dg ðc)89v'Ob?hQ(:TL3a?+Q0@`P &`aB>DpbĆ #48ÁL1bI%QB\Xp#QVHa˄_n4dʛ?KTCBYB41#L 2iSgҐ@a&zNMKJu:QvU6%ɞ_2}خvt2ھEJozb8v1[:v,o奊-K|f;tiӧQjm@Nn AŤMjVS[sYG6(v Ҏ{Gb?ϲ NеM9qRϾlZMc.!}\K-6)m4?,PO ۓ 3Dp2 .n1 e3)F(h4hjnѬO6$C3 Y!lsM$LѠ(1z3Z O?t˱~|#.zAOk6C#%!EKR M)614hF/ej C-< "p5$ٌD4MsHK+D S#B4 9 W7R;UXg" 5!Delc+vgM Hj;EE}UR.W+%TZrK\tH5C@Y/^#j_em UB8^/n}o99F DoK)Ua׀,oLe3|π(C_7#ߍf e&)3䎛jHXd_J6@ᜤnm!$ xujχ[ N@` C>ՕT-nXRKkQt9nT-(fG3uV#oRf $ԴZqq9+nÜJj?ōFZu4xom <cotIeu"w 6ף>o$f,}͢edUug|{uAizo'5n~R;EF= (ANnȶ̩fr\Dum~)L@F%jy#[h0U&t ¨zb ./TTҠc.SR( gsɘ OEBN{2P`7?Dd4Zu*lE|k:X_~7F4;e!U%iLdCݍ_ Z T5'G@9.B2N 3I8͹D/d ;sioDMj9)fgY*[.gL\N;l\wLpC`5{Bf0Qe3QH'ܡYs݈)V'-9dQrE,[HQ1qzWԕ-Np_t"]&'m2JR)QD({E E VL&04QGuŚ* +J(uqPm >(͞6Td U5kiUŪ(m%Z5U(體IJ=kyC ;`-^ u.- _wVZ I,gKڄk!Ϡ`Yծjj[Zh+B[R moka-o7uB!2D 2RIljʡPғB)iAd71ĩS7[  iE; `[c5l` "P `/>!AiZ]F=$CӖ lv$ /fqq V(iA D% d% lB"(0+ر085cBLpB6A1 K]g9+yeT\g q-l`j<6 _ ӶK!#[`EBϙӝީ $P) .Qv4ʶpJ<9-Gla΄#ṋ(6R(9. l dt,6l`; MY;yuuIlWPhڔڞѝp/|-&HY%Le4r1jcl$ǿ-6f&8Q!{zYx\нeG(_ f.e#F6M*y< A]gn/+E*9ўv-6r%T k a}G ?A9 tǼ/Uw·@iCҋkX~0立( YL6wa-[|}G%~GQH7hBԁֶ:J{n{#qX! ڵ0= b!]I*f?#o{SO^N0on6i)SNOxe,ABQLˣR0.HM o" B=du@ & @*Z/ Ϫ0 0lLkxd p Š 0 İ 4z p BeV;pPB00 0 1p!#+1qO9A1EÂJ0qQ1cýL5͈r8D+)qA]4A(BT(40/TC]pB-A+B=TD+74EAt P:ef*iFm4GCJG ѓ2GMEktGGhXAIXAJTJtJ! % @N ` LŔL4LT t @ K+-̌뷜-!!ttOOuTP{PPUPP Q!RRu(65S9u>} 7@$/Y!} ;&ۜD  hPGCl+Fa!V$h %݉Q⎪c@d'>~x^O}2p$#O7;␘K9> K>)3tF>4ެF"ndޔ}K?K5L`? ,,1(L}r$+M]5p7%PGϊ݃0 LzPOՂރmL^pu1/~hKdub4y!N+ýF: n~q N9 d2€@c,h`… :|1ĉ+Z1ƍ;z2dHH 4YFs(Q 2`f•t\䪔g"HhȥL:} 5ԩTnԉt`NX(x4"B_k5ڵlۺ} 7$k0phO&BJzz7Ō;~pA\6+͜;{ (GW2-p^MlL\_.r) !b*GX&de"*j^RvS\jt>Ԓ*+Jmbf@RDd !i ܍2Ɇ]n$!Or;J@ c6g~8B Rn?\5RvC& q"?1KIoHUϾ[Ϸ?FOGg3Uo pH ?A \M5; ?p$, O.y*d_@!,Hm*\ȰÇ#JHŋ3jȱǏ CEZ"S\ɲ˗0cʜI͛8sIA< Jѣ)ITӧPJ tMVjʵׯ`Ê;)ٳhӊ4;ڍʝKݻx˷߿ L@#4JظoeȘ3缬ϠCG,ӨS~Xuװc˞mfҴsƭn[ȓ_УKN-Fν128 BϾ˟O{Ư(hU^ 6F(fvYXԂ(,0(4h8Nub<_$(f!H&L6 %ERNi啡U%;n`)<^Hhpƙazri'fީib*6T6裐F*NyN" aj鄚na )jꩨz'~(j+jn2w!zѫkf kV:xXIY{B5m ׳*lyخ$l[Q+!~]/_~+&:0Ao Kǜ9& }[QLQ{L(vZ]\vL1P1 > ޏHDhFtiPF˦P\TZSU{uٳq+ѫmgItD dt{bݩi2mɮ!Ҏ0kgKn?n|ŭ_ޘE砇^N` :\$l7FĴ@\'@G/Wogw=o>⟯/o HL:'HA!̠7z GHB+ծ(D R^'|S~:V q@ H>imn!AvD* QQ=xYxUHƷ05(9#xn E1㊧G'A 2 L"ARE:򑐔!%G`j&I811&jP)L&yY{Gσ|Nh.wK 4Ib.}L2d2Ќ4IjZ̦6MR Tf8{W! k8<$ObY'Ӛ΄BLF[.TݜZ@ 1ku>En͡ƄhDƄLh0kQ\^m(3H?miJhdBPĥ6ͩNwiϝgGJԢHMRԦ:PTJժZXͪVծz` XJֲhMZֶp\J׺xͫ^mҽPEyTk5MdOS:c:!tvR:6VܡHc2,BKEξ#h7{!SYE'F=L(-lnW‹bYeaْZqk+<}vZuC֭vZ+lVT (xuF䟩-8n7H|BE.kݢv#Xdweft+?lUd}Z7#g quPp Tâl2oAL:Ђ֠ D;U XjئR8!T @x) dL`W 2ASsrDUܐWjQ3q7t "p10:icN>D1f40 %,J[ҘN{ӠGM$[UOMQ1)^㚎H@a;6$Dž.6eÑ׬*FlꗚH Gam4&Hh6+-k .w$ aݲe𩇈Q{EaWv}cֽܦ#9qEr 3 y<[!+,:@P`LȰÇ#JHŋ3jȱǏ CI#J\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʕaʃKٳhӪ]˶۷pʝKݻx˷̅~ <+È+^̸C>v3+;4Ӱf̌ہM:ҨS!M7 CGNHݭ#_U8У_t.سw}k.x晣O_Z7DϿ(E|FW`V,`t>(VhfvE$&,0(cq hMݨ<#|5(dIAHD_Y\EEaQLVY%haYӒH `eL Bݑj)@udnBNXrbx;uNgVk_NFZz&*餍B饘fzПZiFv:WwBРj\FC:*+Rު<+*PITLlV5۲FKVk~^6-DִrBěrE[{ ї.zoV+L[ lbN͋P ^˴^gq_ W$CDPjRʫeAʊrH_7,˪b|2L4Y9hRF}oIcZCP_c[WuBgZڛ^8So?ovԴ9mF K5強Xy? qxGR\D7_6z=UVc]袃vx/yꬷҒng=ZcF#aI~oG/W)okp9o觯]m/vo H7A8:c *J3AN| @@Lz؃ -O)Ȅ2  %œlІ"YG` ` x2 (G.ĉI Z=*VG H22OfLFx(hlH:Ey#x% G@rAqPF:%#$'I;RGf$T+ ef;KN))P$cx+UJH)JzZJȗ ل!'fI9N>/T!eW)Y.O6G̪pu!qt OٔX.DgE)$dD4Rj[Y!(NID+TS-KD2SEF&X_ HG4)JF!!$JgʐҐ3Q)NiJfBLhCҖ3FP9F X&Ə1QXSC5" [ZJ׺xk ׾ `KMb:d'KZͬf7z hGKҚMjWֺlgKͭnw pKMr:ЍtKZͮvz *_|=z|é:IA:SL`Y v\GAj! _J & nx*P F|%Il (1U O4H+ڡc ;< F62I09krA(*X,`3VcN66p kæwxR>π,B[ΆNKEg7_vt"-€!(,> H*\ȰÇ#JHŋ"ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ( i A 6 p TVhfv ($h(,0(4h8AMa;(DiHc1daTVSV%e\veFXJP_ihlp)tix|)~*蠄6 DX)0P:hRA(DvaJ FeKA*Ѥ* zi>jGJ,O%@ -Vkfv+k覫+k,l' 7G,lNlgV ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wny>zPn堇.褗nrê:1˵4{ǮC;|7>!7AO+TQy@so{N/o:*I+@&p` (v0a4( 01tc8ء@Qb%b H*\ȰÇ#JHbB3jȱǏ CIH&S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJ*@Tjʕ#ʮ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺukc˞M۸sͻ N Ɠ+_μУKN]&5BNӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+kdxK䯾l' 7vW@Pqgxq\<(,0,4l8<@-DmH'L74DHj츈K%usa|H_ DB{7{ǖ{ !<,P6H"DÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KLeHd%$P| 9<IJVZsgsFm[Я?~Y;3ܠa|37~IF}6'!,O7H&DÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL^Gy /YMzT7YQ PV=3LѮټ>25ͶCv-4h+SwfiԪ׎IsEJ:p楋M<΀!+,I=H*,`Ç#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠC g@!,Q5HDÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL03#%$P| f/?FAḭ/-v閧a Z5hF[_瞽p;DntKC|xɀ!,It(p@!AV JEjhq"pl8Q G>,9 Ȋ* j$u0eC(A~X!8G13D9TN< Xriͦ!W{.3B@!(,@"@ Ç#*"ŋ3jHqcQd@'OTȐAV` 6K*$$2?ADITK"5 8ol8QϾ3; |Du܉'~8!,@"EQc(\AFE!HdE!CVH J`aE$9rDcÇ#'\ ]tIUҥqQ$U%.D @z<)RDh*g!,>HH*\XÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺuM$`v4lH Oأ-( oyD2JvQڎm{߱cO7걟nth{D2~@9(z7owl Mᦛ1 tev8хFS@! ,=a*\ȰÇ D! ,!!,A|G"EF1*`Æ@XxI$FYFE@ĉH!G,cLH*\A #JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺ ~MbPm[lMs8ߦ#EyЀ!+,?@A* $P@eaB2!hq!Q  a%Ċ'e0(6,ؐɘlӤD$, YpChgD8w)%QWmRYŠB,9م4Sg!,!,:`)Rd CCF"I(21BԨxQ )0É3OGR >9sSЈ* Td͡/#Fi҂GuUH At`*|bE%w"xeW<|i5 !,?}@A* $P@eaB2!hq!Q  a%Ċ'e0(6,ؐʘlӤD$, YpChgěuD#QWm.p*ǘ>Xrhϳ'RMiR`@! ,!,@ @*\P!>$Ŋ\!F/pQcL)(.Oj#AH A%+$1GE5@D G%@i[tE(Qd* V \zOS$2YD@DRZIzkkЙ,3LU I!,:/ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟O!7(h& 6F(Vhfv ($h(,{b(#JPh8A<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤA5DPǝ, ] ъw*ܯ4Js>4g\@!,; H*\ȰÇ#Jt`ŋ3jȱ#G$CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺ51ce۸sޝ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXfe[9ۖNm"]@!<,;\@ JHQ`D#Pcŏ:I$/ H 0 91LH .G dQ6_B'KHFES`UL &EbsN c"!z#NRq (βvݙkɱbRD0U߾vC pIu~]kł  !<,@ @\(0JAJP\qaDC$QAHrBY)SGDI$<DŽd\pT)=Ш(d8LW.;Tf-Q&Rn\($$JHhM Fa@!(,@a PƒPFlC#0XPŏDIȊjDK Fp  $'4娟cXD0jfOV8%Шp( F8u`ϖ3IЪq"yCAk]8s؛)z!QVj(_5Lj$I[ !,?  L0C JHŋ& !+,@H@ 2a#*D8PXHQ =IR`FG5F%˄ 5sJ")I$^d(Z\,U"SљQ68LקB=uf.:˙=&uْ\$$JHٕx%Βs|Qa@!,8H*\ȰÇ# "ŋ3bǏŀ)jɓ(S\# )ZiK)H̝@ Jѣ'o"]dϦ)@JիXj=tkA^ÊKٳhӪ]˶۷pʝK.R[]|íՐG =~]Xr e$ȱse]><⛣ n^!VYmIxYޘAߢb?vMRp8]#*WS?bgzm|aAHˏi`4Sy&iqCRȞT&tL4P q`nPr)fbAI&fYayuYAE-f6\ RO@G\p*&P%@=)SEA(G\z)BVD`&ad!F&q@DE9DLBl^EO:Q8hQXw8@MfSO@yT] jd(Qs7anE6+CRJ%B$A%&qEH@f5ƑLP܍!X3bEA]fmq(=n% ]~;)i8ٔ!@B@0'ا@@YI@2ɰ4@/@\@6 _NY65l-Pe*@g&&ZM䏯y9Pa2A$@"t@l.L {A[д"cl#`(FP;`^¬X (BTXo{ѳ7B&1A&{A3=F;`.?M$`,i[@3%VQLlMp( "c0(sSgF׭ Of;J%6ZyH1[hH{ ,&M$r{:aܦ-$?_֔\1m)ۜ$"> Z\@;$>x„ sRtIT n M`l;@|E wZ4%3v%iýMFv06[5(Y *c4ԸSO)%נ%Axc,a+0@MƔ[|\nZ*] Tpc1*<#Hi`!V;p5Snuc(%-&爚cYBb@.bZ&,G2`A;]Rd``:%&dw;hbHDFR'MȦ&y;Ѳ:S8DDϞ>6c|;uwɃD6I#ʺr)1:?F1Bl.2U \ De'hTƙLcĆsDžD1Ӆ-ͰY.KPg$,ș:EXBÛJXY϶0g2vqZKRJ@cExѨZOƞ,(/Tغl"/1'64vAX+ċqUR݉fT*`bKBXF*O }i_:Ts!(61K !"0I0YRra.HnHG!XѱL谤BkS 3R',D̔4[0--ZӠF.}[4WVհgMZָεw^MbNf;ЎMj[ζn{MrNvMzη~NO;'N[ϸ7{ GN(OW0gN8Ϲw@ЇNHOҗ;PԧN[XϺַ{`NhOpNzxϻOi x/>!?,@H*\ȰÇ#J4e!3jTxqǏ;Ir#(%VT2ˏ"_”Ifʓ'[ @'<:ӢK$EHt`QP.%8f>]Vʵ+ϧN=s`$[ҬAu@۷cm_ LdwŖǐ8`KPjʜz C;ӲU Z X\[|=Q6 4myNȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix$Xx]zj5(z9z_EUeH EFYBhՕ D:ʨcD:#*+fHL2iTbp"RDJhl(JV;cm¸,3jhy']))!9,5 H*\ȰÂJHŋ3jȱǏ CIɓ(S\(%]D&A#"YL@ `(AD*-fAK6l*իX*ח1ܚHњMDڵpRKݻ*#tُ^2:Èl0ǐ#*ҷ3{?Q =%iFnWM@϶~,; N\rȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp9eaCc9 KCtE'q` B(c8 )$2>j_ A"""+Hd:J$LHTZE+BN"ji>*룶h)>+ (HDDƚ,lJ)Q!!,>IH*\hP Ç#Jeŋ3jȱǏ CIɓ(S\ɲ˗0#FI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^R] ]Ӯ8뙺)V07: P6A?#0 ׸L|1ʏ"V%;yE2yQ)}ƃ6G~PԵqC]ǟqHbu_sŠ@RhuVVP8!<,@ @\(0JAJP\qaDC$QAHrBY)SGDI$<DŽd,)pT)=Ш(I7JESinz*3AǖOUN(ʶgyqHuzVeWRR# T\Ф!<,@@ @\(JA Jh0""HB=bD PɒA# @娟cTD0JfOV7X( F8U`ϕ2IЪi|rě^тe(sZ'~m9t+vvTK#M59RG!%,=e"D00@! 4H É3j4bEJrƓ(GEJYIj(&"Use1LfIԦ@UH pQ "$+$5[F0$QEj*Oda=U)L TM]}1d͢41T(QFMa*$‚ 1,hd@! ,=@@*\p`C! ,@H*\ȰÇ#JHŋ! ԨǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˖iGZʝ;0I(t˷߿i La(jx!VJ 8MsnZ`kE#m腚"@޻Q{~}`ܞQ~ q$O0r·اP~:x5jH :w/_ugF'_D-h&%j1d~5F~@Zxǡu$ڀ e]D.@vx] @ Ѝ %@x@? GBYEYh䝇E&'Pb]H+l@)݇Wx&6H{"v♬wB9_e;vBaP*qz)|%&$8 p@0ꎭ#t rXA@&oCXW@chZ.Q;mDItvv#Vc t[j;#njzа5ZYh 9{8;t]ܰ D0)f߆z" @"cA$3A"{_1z8eқYd«@M4aƯ@J'*3clczMu#iB l2s㸎b6l}x#Էf6&oa%b@`vEp@Z0.A?m}iq-]m.PaQ/hҹ@ⲝ 6v=6F[(hm9EEO?~@S 2)Lll!ьA H `?fOZӞq$kUsM֠648M6' !|[B$"!%1r$DP&Hʴ6͹~. #X bz!K?)͛)s_N$}\hAVՠ/eu+E1TJc5JWE`ըӓsiNzт]8vEC"0:7EDD@4yH u"C[۬У SD ꌵK閉$mG0ez6 F{9~hkR{ U%od?;q^N̢sQϻ1h[cނzc(N<C "GX7mrh䶓y!"kßF{!򼼮[zL{0zĆo#\Dljo|l 3l>V4اmY4{T>Fbaz٭_&<#sA;urGjV|^&}'Qr!r8Lsq}q!h(H<u)Hgq,Ht^wׂr38k{G|'Q~Bဎ=H ,g(Sbqn'+hbhful&q7}pTqX؄ufp ф'erhvxxzSQ|(ᇀ8Xx؈8Xx؉8Xx؊8Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ "9$Y&y(*,ْ.0294Y(6:9!ɓ:)@9DYFyHJLٔNPR9TYVyXZ7!(,@H fIȰÇ#JHŋ3j# CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ =bEdUQ MJ)&MC5j+j% ٳ'NT+ڷpC=qǸx>d{3޿7u`a ^Ɛ#wMr1AJ̹Ϡ#M颔 e8F:DŽ`ejj}f N<[]y y:\ I=5ËO&sV& VBo<j*za HVWJZWnXfnwӀYDWr]rhxR4!G܅"HQjDQ'`~ y#EXxBT~9o]$hS"@'eY6"FfB*X%*h#M4&pFh6$E,ބۓu;%DyP[XvA^zAoQxZ`.jfMn&0 ,J뫘X^#e*RڢVzIUk+K5+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngwz.褗n騧ꬷZL1睴>WPݥG~;A8 |'oH<ַ/C=ڷɫ8H2{H(9C y9cup? r{_D;ßёow9AnUD$]- !,7H*\ȰÇ#JHŋ !`ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]*Rc$LJJբӪX Bʵׯ`B KٳhӪ] 1Flɲ{±#TJB"Kd,(dcFid~<3|/FPXF֚cMvMA%-;!Gm? ?G2P7 2>5LVR@&=o!*> bݷˏ~~gԏ89T}& @>瑂%AI!(!EWs/A!ԡMIi1ትMHE!2%ڍuMcV *wxFBJ[B=aZPNwk}e`mapyQI`cyP?)fVct@TtXziܐH颟@7gLYYp.: Xyr}.(}n㨥:SjSa:[y:)C6fj ڏBK=ۓm fv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wna:Fz@rMxzKg{nd2(d.;࣌(cvG;)Bώ߻G[9A=Jӎ+H,ݓ~d{ ʏڽCE7dzdg;04P5mWQ }^x!6, H*\ȰÇ#JHQb3jȱǏ CIR (S\ɲ˗0cʜI0OFdeO<{DPD?fR(J*DQF*uׁQ ˔կ #$,ˮnU=I[ dJn\jKLhkJl!ǘ_2Ukk @_h̨%z1԰'2<;A_%}PE @ē<и۳Vrz,[SO&s'%} g~Q7xcA}`\Zm^g&߆Nۇv(~&&H~*U AHQ 6@5GicAᄌJR'$FF)Qg@P(eWH?J"\zbi['o-d!qPQb3RAwbg䓱$lj衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<ŒD]F'L7ӄY!,;9SH*\Ȑ #JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹< pNPfhkc Xʪl޶]uݾnm($Ǔ#I0j(2͛ # !5UQR:Gv(H#N{G8U!v 8JE0JzAG  (QNJۍ](tcPX!ዛp C܃!7al]}עv2rE`ql"6nUIju>=yq;!9,H*\ȰÇ#JHqb3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s>': ``Q>*]JgP$ի/LWUrٳ Tp(ڷXJ p=v_>S[cIb2-#sLxX.;-PK{9M11P4ͻxD+6,K|RN.({/0v_hr;'% 7~ݝ߀mF nP<ͧrV܅Y`v}$h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+*q rwP~"ly.%]mKO5- QHD0B2;JIo"Q !/H;JLڻ( r%qW,p,h$1+ ?gc!,AH*\ȰÇ#>"ŋ3jȱǏ CII<ɲK R͛+ɳϟ@ Jѣ=wBʴh:jt)իXjʵׯ% ,ʉfӪ]۷pʝKݻx˷߿ LÈYL̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($C1tp9Rq+bpŴLUqIGъ:CIrP 0AGE.dW2TZdKo'rYrYg&WiX>řy$rb~c[x.ףj苼!,G!,OH*\ȰÇP ċ3jȱǏ C6D E\ɲ˗05BMi!= JhFFDiMLDuJ#ɪXC^%%WŘd RaǪ]cW]ʝKסɺkԋWTo 5Tˆ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfvf&A_]EIHn(d*:($)dA@[&d5(;N"H4"eTv(l9 =ɥYi=9$qdD坬lbaW(nK 7e9!,@ `A*BJHq" FP! #:L(aA'+XG%)"3$p"$HH5Q D@”G1FI(9>)rQFFt'g%RV8jCkVnjqW;7yT̑0ʆR(d1Gh7!a2պPdd` \gkIխʍEjZE{ύA95:t)o0Gru,$p7jo); UO!,9H*\ȰÇ!"Hŋ3jȱǏ CIɓ(Sa˗0cʜI͛8s$ eϟ@ JhHVF*]ʴӒ-JJի `Jׯ`zL ٳhӪ]˶[=ʝK4.ݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(bdp UAކAtaX}DF@uۈ*@,6qH 3Ψ+IJ$DH@M*HG$L: 5"j쨣cl飐6"RD*9Oԓed&>z@pԑl9Jx9W f$$c(\ŦD$w1f#o6ʗH2 )-Zpʚj*JPKf"@Z@!9,A/HQB9ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˔"x)qC4 F ΅ &0ы8{ y4"Φ *QcF `(ΎJ$o@VRd0&l؋s=9*[(qu ֭}J 5&Al*~ӥϐ~;X3fpbGA:Y2Դ=qmWsSЅIE{`f]k}ukе)V{[n.Y|{q;"s$/Ԇ ~?O~}߿Ā!,1 84 A$ERaਁ$rœ 4y 0K*$$7oFp`G2H$P&]iӘK̉N~ IiM(o.eעiLzUQg[OX՞wF5̸qc#K<p!,9!(0AB ZaDd&X) !B$2BC$"+3LMRc8d5Q MR3("HZBͫ6s&:U=GEAl0$ J=:5VX&E`@(J幑$Cgier?*l\nֈ G Ԭ ҁM%žMvD9!,7!HP`*,a`C>\(pNp9R @IP""ǐ#l% s J$(2GzIN# a5*QW0TWI"8fAPjۃ<~6,SA-zժ[""Y5(WŎZze^e6# 3,Q^ _ bF.XŤHm,iWWs;4iZ(m ڬn2.ӥNϛ6^^0 !,E#H@*0a BHCP< #ƁHJXȉzHr%@ $7sL`@ǠD'Q$.(  a'B)cJH eQ6e- NH֠o \Q:]4*!2U`ۭ+*(Q\ˆmZ9PVR\'F- 1 XJ86I/:]ȤHumhyXKf4w:G'45ĪbBmS&ZC\9pMT!,8H*\ȰÇ#ċ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴN )z贪U:ʵ+A#D@`V-aí^X`݄w!ޅzܿR[@h8|}L(b5&XQV vef*bژa|bn^>{mZLlj?X#WHW]x: ,-B|v>}0`K P}B'-7]V)_I%A-Qy9T(MFP"hMD~H$ E"'dm!e&e W x&9Ƞ%Z7PuHXyX?vg65frCVyP]Sv\~hVIYC]gDf2H}+.[Jy$AiRy&=F~ehGAڏP"y;g+lWB%0@@($QjU@I*Uzl:Ч~4evYpUZcI[ZYVr ږ"$@n)b!C d^nBuvidHDBT6o-zTfx qHIB`r |@DժI s+{lD|sVrRh u>o,BEV-,]wY%@!sU+Kfwi&I_E}9P2_jb gxjhchJzה~xR B&-9~1UއagdH'.PzZV:= $YdW.Ho Ekcڵ.Sq&5PU Q2qKYDb?kZJs\I(KA`sG`lն -; B6Qda$kq{z &/v¼:hRuh2m"lY@aYA"ȑkr& ܪ +[IHg(!(3 q$4QBK(,^Qkd<׽,bȂ2> D `DDÊUF(! -@k?~// Wj!)X$(`Z@ -^k$^, LO& 8 $È-5r;!#%>Xudn*&%dA(:JD&f1[AfCL83(26vv5cat'mAK$<0q:<S"^nŹB ! J%i<(K% CuO>T9%&)45dLq^qrK! ֯@{ZZN"\4LۃtnWdk؁&עʮPJXxw]akw )K`񒶱#QZa+!zFݕ ADZX }lnX7<Ȍ-=(cpv]Q27\rǶ-F~jg;nw(eIŒ"zR_!ܢPl91F)OJAN鑛P楅qg֝QnׁLGHQp.(w':-zdAq'gߓ(C rqVT!8!`U&E*ABDA>.B a>zB/aqH@z"!`D)P X;=Xfxdh؆nxYU9oxv~G8g(o1XqqoQ\dv`ȉX~qu8PMч61Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ "9$Y&y(*,ْ.0294Y6y8:<ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnp9tYvyxi y|ٗ~9Yy9E ''x9 4y,Y/!,/ -H*\Ȑ!!@Hŋ3jȱǏ CIɓ(S\ɲ˗0c ͛8sɳϟ@ ѣHHK*JzDR%u+Dze(Q@cӪ]˶NѦⶮݻxc= 7_ \0pA|D`X`c[*uȘk@j/D[jRӐ=@_h 峨s#-Yo{kG%ȓsT]%J=P:ZRW wJ~x{'xe+~"d<}6wk.O┠y( DSemYM͗MrahR ZcvExAFFsFAEMZ0B4"l!&Vڇ$aۊQ4@ >u'mFcey/ibЂ*TD5vTVeބ"KJ;&@uc<YHhb}ZqlrBKh(m4fC@giIieoEmFY5B )Џ2EYժ7Yf!M^5GhFa$H׀i'WYy-BiD0FKE$u$AB*wmūRd@"._TA+ܴ"D@VK0C$ſwqR,2! ,/H*\Ȑ!#JHŋ3jȱǏ CIɓ( "Hɲ˗0cʜI͛8sɳϟ@ JhQF*mbӥD9ի0`j*ׯ=ٳh;ڷp5ܻxz7(XdŪa{uԆvNVj̹-״XA0KgD Ȯc˞M[鈷k.{  8\VDg-3ɺޭ fz 7ݬh / ! ,q:cX\}owAWfP~YU^J`'Af4!ET"/,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+VkmEU=ީbgd@#bcZZ+*HkoE.H@P/ S{J bjV+!C7ڞFDlq [b}1r&)pU0۷&3¤3˥lBG <[z2! ,7  H*\Ç#JHŋ3Ǐ CIɓ(S\#˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵWJٳhӪr۷pʝKݻx7 ߿ LUadM!,O@H*\ȰÇ# D ŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKN3PDx޹^;HRh~z zGN0Lc0w(2 Hy 6vd }BB 6(b a8u&f"ch +Ҡy=V!2!eVce)8$Hv^XM^V!ec)Y@!,MaA*\ȰH@0@8L EFP#B GQr /c~8(FL$?dJR.TJRL6Y!9gP~f$J0þ(QzQ!-8Yibu Nq4aTHU˗+˯6&[>7^ͺ-kUlضsn{`@!2,I?!!H*\ȰÇ#JHŋ3^!,,@!H \ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣHD0ҧPJJիXtׯ`ÊKٳhӪ]6"prKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿVeEP ͵ jH P H@HcW!t["v!)(c dihቭ}E *أiAڇ!`(dhڇ渊ajZ"YܕVƆg!,?7, '!H*\ȰÇ#JHŋ3jȱG! ,O@HA*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjagWP"9V`Ȥ]K"QoI``Xk%5 oY!;Yy(8(G%ab2|΍,+ϖ&Plqop}+K ,hْfZۭ +[b@!/,!,j@!!,O@HA*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXj `B]FXvX ~ZeNl+nE$];IvMP^!2*/lF; qEVeXX"pބr!fx4$)[ů"4(p`E!D  '$H24qLH+DG9rU?GpIH\~dxѢLHH6'ƒ>H% E誯 CZ-)I aƝK.Nb! ,O@HA*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXj ]B +)_#DR$Y Z !,j@!, + H*\ȰÇ#JH"AP,jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkν;dÏ/ӫ_ߕ<˟O~bϿgSe& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihl9n)tix@gZ~ce|!0!*PB+pJ(&@)2FAj)+Hx_: ݩ Exr+y)a@) Klݫ"1mz麣z~ʩ|ܮWf!2,@G H,*\ȰÇ#JHŋ3jȱǏ C"Iɓ(S\ɲ˗ GœI͛,e3 ϟ@5JѣH9%#M'C! &siB1>"ٰ'TKلb:t[M ^K e-kЯg+Z&iuڏ KprAmx9"ꁭo2!`[xtjpo>T̍'19Aʵ;D=_3vlW|NKyo$o+A F $u}t3A!DBavC aDh;-@cLVwXXBHO[EGLBnVҊ%YctvcA"Y'O `g1dI(P(1-!(wֵ0gB Hkչ* @biKBԀ'>!v}Nh'%AZtHXFu6B%eaE5gESH"VT$(PS6$rMj)VbnBB s%iI_.cBM$֭J+$?Cr)dtHf B .. cUjvGoIT٩p%tgP9S93{]3AтdzPqlyLibQ)II+[ uZB3ĝckK&E iA7|3v-dYnwŸm-ѨUe2D7GT)~GkHjSeYkRΞf:؎ec @ID,g`: NDr!ѽ0%~Ilf ,tJ'liZR' }y GPKÞBt# T$ *QE`CdAW*V}1 P,A;|7ahȸ ̑dQBlx派L*oUAW+EpVa=HhL.SBǛN|@DDXNk#YdXnm!OIJRL΅8J1mO| Uf@Lg"H$$4:a8 bҒDGE#OW,Ǩ;lKx<%k3.MlksN)^H es+)h(@ ܂"+A ,hABܓ>R1G a(𴭐zDQ[/=N3@X_ Ӯ-RyNI&pMj$YEF.[`KgxF k 5$YݸS'= ОZ4 w+B} T5i5,PcC ~ KKw'!,U7J/:Z_Bf'5}C`:nL~#f& ,dOv9qG9N(vB oxb^vo #X(.Zt#0U_]/;;$C`` B $7 +0[XAVw e{tQ d 0 ad8yI/k /d@RBˏ# *+(A\imè8x_rJLi93cH@gZ+/4T*Wn?:o3iѿj^%T9Y: ̀<Y͂s5Tc),HRDM,L\u$`W }K'IhNv74$$H1BhQLr3'RtJ "lZ@ aKfs ^TލguZ 7a FrpB}w#]8 P I  e"vѸ8)|-gMOFI5;dn,Ia<4o1CbC\ @!,a˽_\>(vQx!WyB*P˛^!"Q,hd3 KXQ=SX3VeLj@T*iZ1YEA )HJ<\iBdnHJ:TJʍJi=#4!%, 1*!H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ7e'*~Lˌ@,P}+%@P !8@n4!!aPX䠇 }߅uхMA8TZ1DB~*%2J"N(A!AqP!xaDAHUsAXPVjEBN:YЖX`dD ^HlҐA@IYT;%"[~Xr8 T_zRƧA~!c )y$JHgQ)c,^I=Z:X`z Ayb8)*Z8fgCA¢%&f&"Q*- KF%AkY"e2VmئN"X䬄zlYnFE&DkVQ\;\*ğqbۮKJ["C4F[9 [ {F y h*)gtr &YNl\۾QEգ銤PN3K:c>#R*yiCt[6*A8S9zc$=(TNo3sg=xڎc?܌HL:'H vF}4Vb ":󿙔P&asX0"H {2Ü' w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (XQ6p&/5 LAtdtF;D,B)+dA.X;=X}P 2I/Ļ>E>^)yH?k{2_Mgc aAo%H0@TP#XHDs\?d3RDBp&!̉^*yi"AFyډ|ä ~:e0$4̊UD+JKVlbR5f""ƌ*jxvEq(t ! ҒD2NaS4qq%4>~ @JЂE&І:MB#jRͨF7QXjcG4OZr8! ,!<,JH *D80‡>HqbB"VĈÎGIGFreĄP2.dI*KXI Quj9AɓV!$Q Ne 1Hy" 3L& ɕLC+Y=]Q\mz2-Ц@=VK.ňu[/T!<,JH *,``ÅE h!!R ) (AZ$,3%16U.sK(/𬈒TJG&I8Oꌈ$O$@@ɨ&l9O~͉&UVRQmtycڊS!6,NA*D80B:|Hb‰NXQbQc@$U(VL SJ(PBsTDD0*$$9*œ!5Nd|yP$ͬd*DɊ)Jfi*E>dxPꨬ!*8 *MNp0A)"+0 !,!,NA*``Å E !Ë )ZDI ! Dʌ Jld M JK9 4IEXZ겢I%qT'|jTTFp!WR#\5jOjvUh%Muj0@ A(1 !8,@@0H*\Ȑ #4aŇ.Z܈0A"H(S*Dbʖ/c4)3҄RϞxN0@$ $ AKY03jmr+G<ؕĖ JvUVd%UۗGm(fםB[5,.l{bbr>`ADž+ڹ4ׂb##Tt )']vxnLoUyQL<+AD9iVD,4skHzw]#JdTA8l[Qt_nAg@!Fq_A MvCt'$AŤ|i^UDvA((MDӊJ'hZFA4c gNTY!eJgw%RmY7ޗ(1}|"DLrNeBv' 4h5[Y8UE=\ץo,e9"M=ĒSjl4})8RNF&'Sy^q8C}ALU@5g]1vmkibE9+nLZ$.APg}VƝ@6 \N7Q DWPF`#Cid'µ躥Et xǫL !,>P,hBܬ}VG^H@qm5brMfHİL*k/du*#- tOUgN@DgPB7StYZ[L 0gg&IȒh!P"p9MW]=E;زn묓5 J (  c5R-_NF/h [Ύ١+3`=z-QH-ykф(# ,B+*(C6sM )(G(#@6#Hm P1k @ sg *"0/22H0ZR{ IfjUQGB$L" CH;% BΰOXAV؅˄X7x'+J򈩤$2:(uꄤa項(qbQ:YWyUvEqCH#lQ݂5D @.b"Mz4հPfe`I?2f=$eF Jx*3 l=UZ%30[g¶Ku#$ȶ6: K~)Oj6$>I&R,եŁr%Wak gqBF&HMbc$QPJ G\bFT"١ %Kr, aN1988/Mˬl+ۿY>ZfrGkfo_"_H6m[|L9{m)"x>;RrwϽ7u~czOo;PO[Ͼ{ OD~@!<,%?H*\ȰÇ#Jaŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]z"ӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ )ᅆAB9aeMBܸbc>>,r2篙/&a遧Y^s972ssclptͲu&NJ'~y{?P?ZAi7~= tBiK 7*E(!Rf!A~![daI!fH A=7b" )ZycA $BA;tAxֈGTC( AJ.TFT%T#Fu?b Qhm [+ ) ӕ.(x|" A)PҕtDrƄ_ 8Y9}[02RhiQ JJ%F~W:J6뭸뮼*Tkk&RаF+XNkfvk覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\wuA;4_bhgXTvo2t6)2 zWyvbl/}ޤ$h7)H,>Jc4*HDDBgyR9ߒ;M᪛yzҹް(iΣN7_76Jouho ^!(,NA*``Å E !Ë )ZDI ! Dʌ Jld M JK9 4IEXZ겢I%qT'|jTTFp!WR#\5jOjvUh%Muj0@ A(1 !,!,ML2HÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKwKPP/Wzfa$^L%QF=̗!A L**L Q|Eg&cD@+!rM]Şvd o&ONra6}U#GWT J$\PeلHe5V\HR@!+,  H*\ȰÇ#JH"AXȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËKO&1_Ͼ˟OϿ(X\& 6F(VhfP…r!<, 2 H*\ȰÇ#JH"A!XȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËO&#_Ͼ˟OϿ(h\& 6F(VhfPv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|'N@APiXph~*`!JHD2)c}:P|uJ@aJJ!0 + *zqūHĪ+F0ʥޣ9)F{*"+}z- @'o}5* K>ڨ0`!,NA*D80B:|Hb‰NXQbQc@$U(VL SJ(PBsTDD0*$$9*œ!5Nd|yP$ͬd*DɊ)Jfi*E>dxPꨬ!*8 *MNp0A)"+0 !$,?7: H"HȰÇ#JHŋ3jHǏ CIb% xLɲKP^A@A)̄+ Jh$FM4ҦP|*NEQbʵWP9p׊TϪ] 1Qc5]n&I2B0~{WB  ŐC&K'(%*F"-\@ȨS'%Lj~J8D;ށJօ[Ecտ={ g7f-E0@A`J RE_!~8-}& B}1ԢK! "nwcai#m 9Li5)~xENYObJB/V9\qyOZAkQ%xP<}"xiG!8H@᠀ ChjEƎPEl:ʑvnfzݡP)!b~%:kz !EDn䨙%WA @NM &1.zv+!!EbVbf(as/h#MZlЛ-D+WWi|A BVP (_ղ  @ |36+ s_yq -$Vlg>S1] QlOS;P|@ bDh5ܮݖse. =h$Ʋ&D+]hm@;JP  0Zy~5gZ ל@VlA ij!|k4T ; //}B#$#lAD6?߼է׳>'{.Ck2@@O~+[ P:B6p "m{@iB0;J E-RlN%j ĆQB@1( q: bKBtCdvȚ@CE! K=ԉ'Is"D&2$ @T(% ( "2mf|APk62igj%M0T U`; b 4DE H@8x/R+H  DL4:8##ˆ.p;&0E(| ^Ns`ΔmM #uo* LND "tX1'TQzQ-q0\CXAVˋ#)+"\uK8fFF1UJ9;0GAĦj\S! 4\"H ը #@TթBkNUS{`fKH-Ȉ)YL Zt7?,)YbMmp tf_C%prBt(4Zbod &jfFwg.dAS 9]ьgE ߟОziA 1ѧ i{R @jk($'ajFa!aj(~ڀ߅TTj5}+v Jmx$ʸyچMbUnZv&8_ '_]!,@ H*\ȰÇ#JHbC3j|eǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkqËO8ӫ_Ͼ˟OϿ(h`\ 6F(Vhfv ($h(y !HxYwf 6ffei (AiH&dzE.$LMTViDQ@\ЖIfT,2YmfCn~$@Q4/+ZycL8 %xg..0P:|zyPnn+nB) 6eлJPM9j|D]['-PNZx:,#]qfoǼle C:I!6J2>.X^lM5o$Y"Tr!/[^լ0m8Ejh<,r 'IIy20GnRF>*nrxFVoD83 H-h ݖ8Eo|Aw<3%H$ox.[$@ PԎɂ픥+Q+iΕ䤝 1rQ&40YA-LY7' X2I |:IU('#≂eTA,&%< )I+ $R6Jl5M<ZYBY$#Z@P>ȧN; m E+Aj3eR%a'}KcJul{~ (wB3p9"cS)t¸G άs%\7/<!я2#Au><䧤vu]9pFy(jAZDpvXelHq3,l lR3Va é9QDocR{*ʆ-b6V,)[\Ef&0\{.I%FgwQfm2k\ia=W)xΓtm,=>(iBm&İUs 5)ĀEp##KyIJgіub*)MH8 7H Z=u6ɩls^0Lcs-1PvʓH_iENp5,8XpTfDT-sXsU0)@@;GY`΃5oX3 gD4-H57d8 Ox=# "+X+t([XmEZJJb005)Lߖj!pHd<9! Q_ [GzSc̊)}fBH@-i ym#r4-: oٯuZQUtXD:]yQg$ q`lwւ`fNfd(S*MTɷpo?;gn5*M`J̏G)R7'H<[Zdi1hPV` i=|(JuA*Z4݇-Ieiuڥo3ȸXCE>r}};8ލ3Cӊ@$-sYD ³qyPhcܹ.{ lw YHh){r꣈>Ha>'iB%ݡ`t  (R;kMh1fe#~kǘmq 2䔯&BUY#˖]R=j13A@g7qq]Hu7UEC0frBE#FxKs.3n06>MI&*FL 3JO3{UnyUeT*ydW;,UsF%GWaeR zMxFhՀ*Cd$hF@>"\^Cբ %ER`iPzW^V6CXBnY8VDvz@.C1ymM}JObS5yvԈ{L%Q9Y҉3P\1Q1fm}HyqʂdD^eFNNH4-۳OD&8"#U8HEHwpT?Dl>~s?CHdBs FH2rrc1"xvx9gI>oXs8ŠQ 几eEaRň0X,+,4*wTCLFpȃ+q0HI 3 6)T:XR2"#Y䌖GUNC?k{tH.M FXTedMyCdiҋLOw(Gh(I=oqIx|x0eS|r2PLXbɷ q>.08D'DI*UE^Vy()nY%qFr<ԨnN]_xBFQlD!D$x.^ِ_%2)OuIQSkw/Y8y藬)_f)7-7'\Z4"II3t٠ɔ I)$ɗWҙQGb`YT z& J%?=Fy1JlBF$:' 6&De$%.z20GbJ$!,  H*\ȰÇ#JD 3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨSFIJ>+۸sE{ NȧBI\УKNMՑνË7} .!y+lPKEIATz#F%Pyq9( :ąq]UaV*(P+ؐ@&Ќ3*d`AQ B$FZ"JI+q1yTc REQkG\)IT[DP D⚗J*'i(_(DUgXx:C}t%AV9ikI9 QyY"QѧEVNZ:$UArj&)F\i \FJe*GȦBGbj4X&[ޒ 0'fղgDS(MFI ޻E 1@$rv&XD$l1K*,>U$ı-}8$兛vA!iBUqykT:ll@B?(ި-$T6'MUPJ\rU1VK9kMTÞ9@d_wCoLV2NLIw ME]NYδ\7Eݐi-RϴJ O|QoM< }35,:WBbϭ?t IBL"F:򑐌$'IJZ̤&7N6шo$JOZqL YJ6b سb=Ez7WEe#["KĒ \uQX͎3@ і C6s620Xj,Wb09O Ȍ`?љ +"ٝWݐ$@J52eNJAFёf1 !<, 7* H*\ȰÇ#JH"A3j4aǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУ;#k`νw(ӫ_Ͼ˟OϿ(` h& 6F(Vhfv ($h(,HF4h8<@]D&cH&䒡G^A9 -RA1SqI+ yyID A^&0f!1.yPg%Eѩ|i!I @r(]&dŎE%f )0ZGZYОuCi* )G@C`@ZF$ĢȪNPqj'[f,IImEƮWBv-AȾ@@ g(i~Pnʛ"[tѮ\횫:"L@ v/y+1I,޻&Fs0 *7j\@ |pi\Z sq6Cee)  KF9FT$uX4/O ya֊aT2Pf#,a'N6DDCg4_}Tͅǭ^KvOy`κRs8MjiK\ M n/o'7G/Wogw/o觯/o Ht!(, \2 H*\ȰÇ#JHŋ.jȱǏ CIH&S\ɲ(dD8se lϟ$o DP'ADԠRL*|*jKR gn!1Յ5 *Vਯh&є*jU-ݏaxS'P-h]y+IŐ#K5WLo{ zM,Ys:FͺTw>X3lz i+ڰr &@0$| zK%I9!mw z3 Z:$)1?jd|9FS#f5+I7Dt6AI t2̜i{ kYar"Lȏ@s" TvvN}­wE$ Sr !\aC: es9fԢ1't*!l}{AA57ZstwIbp,v¹鲂 ,fThe jPTw%0'aj2e](s8ӗDJL9O+B|̓8 za̓ZDʸ:}6-[?MH =&uKb`W;Ix)1z1;cE33TNPiAHJЖ3?7TrF9,efCx%UY)Z LB"@@B0 NxT^NA'n}Qę"62jbF fE{Ze;K J^nQmAa} h`2,`\A׉NOxǩ3ZRΆHh5wζsig)0s)haHGƺ<#3AAn]$U0@'Rn}!vH|+<(c a.j&fyxK{"ݜq vUa+ V0߬dh$޷NQA?(ΜX;+OKsxoxYVH?6MlH9"djGTސW}0aGB5Dw|Uo<IC'픿ֆm[/PEzԘkZ|3?qNl=83̬GA0@^0 A>^dn3M&8E"KZA{/i}Hh?{ϼZQy%UCT[K9;8>t`QUU'xzQ=[67 {T\&kD~I3(&(}P=!!Y!ZK1#5'9RGwC3WI$ot}ɥa6tN$`40y8'>׉FYbnEO >m?hXGe#}/cەsgfPg0 m!c c2e G@{<}<H f38\#ẉrhqrGtj[2D9@8 jCXFMBYwKguzhDe4c< #D@eJw _m#W%Y:e=3('~ !"!c:ID:isCf!~푋'qzrrMcPJXrdWWl\ʥ>3L5q/sSVr72fIpIj7SEa\  Fqnn6y8Vqǹz73.P?Sq:@~)ǥ37Ln7bJ`i&&EMڤ"1LCwԪBƮ+gjj+>xb`8Df*SidDH $cq< 0qqL+XCq9 гT*J]ǘ%9اκ8ȪczmhRD 郤Ʉ^[+P2/qeZ|x3d 埪QWVv3R#cUiJT?HUdTDCPHg@`OM8w${cd\)dy72(Kx;VNWM[v:ye8ZK|ebLXWf Lb7ghVIڨ<ګu7k"<69)%;q9Gy3㔡d^|zWSI@~353srG 枷Fpæ4 …X;0G4 ^饚G۟KHV:BJQ*v4 EFZ47#k  Q6_[t*`93+' `69<>ء<%7pj&㳯aɆlDžBat;BB+Q72Ǧwi05KP"G}ZCkk36S\3 MX`TK=L9[E9(Ŋ3w~UGe[F+3cgsEƈ% >v72J }(Q97ctЛu \ vT`~))5)QPgza{yKSTEv40 m4sӃ[}> &a1W=S<;%7:A?9UJw _zL3{C̺˂.d038p3Z4u1vLj}Ǒ+q4H I$םm1YۡzbF?o[U͹^39 \b)m80&i\2}JpAp}[ԫ̒M3̜ԩ'ˀ7<b'g9f;A%蝎8c~縊~2XyybqVVyJ-pUƾK6Zzyvj LJm!A -[lCNubLaLjdm1"QE0AO'i'_*r,޽YA~PO8Y!$B :G~EX RG>=e[KwP!ɤIt4m4_j.vS9Te =C?YAM<P\DpO1rO>l,fTeMl5WEMshEL:OJh)[؞L[]LE3C/3ыmtS3[ȟ\/ ŧT1K4TWUVJdUICLH>BrT3?.<EZua@@b Dp&- nqh!1 4`1Fb$H%MDRJ-]Śz00G"B1*<1(5"s)AyFl4shաZ8UNVZ JT-Zw.wg8q9;`yVre迢]b6Ͳ2jΠiƭ<of׵%%ۢy 7ܩ2H&7d\ЁL8WNE\W)dz^ PHu/Nu^8BШiT)?հB,B%ެM8),CED%<ќ3RO!賌# nmto3ʎ"3V;*%#L"4 *U0 Ўɥ 1 @=#LS&T­̋JHpB:'O "2%I.dQ┖+_"dZE8R2Ґ9!h9Mv+KhBČbwTHRDQ$cbϸ1ndCX2'("r $Hıp7jUI<*>R^CHʐ7ĢyV$QFqRT2Ms׎nH)VLJFnĤy0S 6(aՑGCYkZ^G4*H"7kՖx Yخbv#`-ZHڎoro+aI!WYhS'Y?KyWr=*QYy niwjHʖսo|\dzWl'ߑDIdgFo&4Bjfr^py"]`#'UE eJSk"-f&Zr”𩶊d$|%vH Ce ={Go5ӚCm6̥Y"?,>!wt"Hļ[VLV1}Xݵ+]nckqL\5Gz&sE"aF{`~OBWV7Wҗ. Mb $< ~ceTӚ)dͪN-1=kZ׺U<I t_1j"&n;OFXaRm9Z$5nɍ9RnT& Z"go&WpHݾ}WW.l=p+XA gӢ*ӕv:ֽT']Xы)IQkp-O\p@{Xh`AuHd2$nU\rLsiCGDb[\WyiЦ_v<2!+jOʎmViБ>sK 6wHN۠Ym~s*޴,۾WYSE`UЗhק' Ȕ1/9׾[J\w$*HK8$Z'"_{ {rH$Z|RH+Ngd+3B:e*k ۯ|G/>p}c+Vؽhs[+NA;IL K LR@ ԉ  SA$0 TdA7C=(@`=ф!$B㿿`4VpB@ ' B+DyYI 02Y#n#>>02+:4`BAV@I$@۞;3;D.B8;tDK.?h$$>0 > 9 ( AyR4Sl6$)AV, tA5A}B^ESLBh h#h>"FѰYQ;K.STy579-)n_DEVE4QG`˿@ DAT?LVŁǯ QH> Ȳ5.tDHh) . PCL*aӣ"YE e )Ĥ qK41x6=*b\N0`G8 %4=PXt 1?-pL+Ϛ^\  ʔq J& 0 b@G $0*He|T6\'$H>@C`P3! tGuc-2hN(I@c U廖/M1, ӓǹN1MxQ̫CxQXyAd'(TV-M˙Wz|0K"WU|5EO }M*pʓyzJ b?X̮DMq|=ЉQIQnkʇmD Ҷ4H\Z1O`:;91 ҎtٱH쓴p@ Jstm? ( L:uC%11ȏ4{Z p֕ʪUZ\T M 1LXEG¾8AL0GNY81c}.| JJ "$r%^l\zYZI:G؊m dtEݾm^\ttEQK:#I!N;\߽[MWR?T V?q[KQtKS0e;| !`awtayD!M `Q!',ĥ 0$BAP]MzBIRn- B /.;WX^;V RѾJM%͌#jAv97m c;]I%xV9N>Vp>V" 2eJYk.Y%jUfS8@A&`ܹ2`tOtJ{2?AK/zH?RA%.k VZ 00A_ހM =.8* -( $`|gc >,fl dbcbiuE P6`3$l5KBa>A{U#v@&o=*1- q8#cҬs.|hh=9a#Ӕ Fu-)1VeD29FhƤp-=5(s.%l⸋6;5%J9kT rE_E;- &Q2C$A-et|U^b 9 Y0t]`0DnlTʛqm0aR0<aXN޻.Q5C**AP3>S|Nݛ2~ Yh4XVf4e\ 3pM d$3!$s̵QdNз&%g-40p AfXZL7XGW7]j c]:_-KE{1n_L;(ܳ?G/~Բ'~AfM5e  nmS1F@KFtLȸajUhV{oI7ZxoǴ_iP$ UUoڦF8 q IVwXyD* <6i>_uV(@?wHVxiy`f~j Ak@ XDq%|$Ò!pY_0nXiA; >ݡ\ ث RFsZvoي䥋P"Dz#6}є$z N£+|TQZwg?ȠQ'h:ϋ4j۷:mwzܸG6ҦO?ym xIs 5yC%ҟ9 ;ʽcuPo?;zAK߾Ԗ!NW׹-IA99{f,)Dl & nqВei%N!dqPiXCp0qaf8FdJܝ2MZأ R,"{SKB;MY tE."ymp#Io%t3< (+h e)6zɑfHE j$r:/*%8 e#>fM xzH<e(y!5_0C+ T0"QN Y:L'd͜@ L!,J0"\|IM7,/3fԒ3!"FjxDŽ ̃<ƊEѺ܄t F`ZlEfV5C͊e@lb /=.g$Nw{$GʱWO^J A@:$Rưm~eXR#Byץ(mg3ѥВ|!f:.N)pձT}YwD;lo d#htݚ:nVYNiU7\k/MiMmW֮{Ė\AQix+HdvykLޑC.>HO@<)1K;:HS?8 x+_B9ci~B٥,yW[ۊr9>yɦ<:e3:zLu$eG:bxM ŝz݌hL?uT\y)ɽXamNƕ]V٥(ٝAu``i BywA m9`DmLٸ؝hFdMbW9yQRDH^5;(J%vDXAI|ьXͩmU1\$-MddJEE Xq`ᬨj[q\!qMaPQL3%6R`؄ȁO"HKĐ5Q܅\ .Dl P=jd DA=I^6^S}OajZϩR$@V+wJDiBgnOɖrP$2* )!&y>vr‹"U [rLjBh*Vi*錀D!N+-lw D>i+)\ B2@HX9:fRj}ҧIܥCfg:̢^ܓQ&ѿxCzB >E(NXjbjBj"L܅V# WkM 2k2DzDb,ЮK!} LrО)θ vԊfn&fNn ^m^,V:t!++TTlSHbF#C>g-Xi E&@⬂DEѭBiM -Il2T!^禄䞮`ĵBv6ܻWiZէ!@F]"]0DD{"@2RF݌*eit^͖D~͔2I" 3=k`f@-DcDdGp EHXxcGdG2,0@`֦`|kB  v ԯCqfQ l0t(AxDp0Ad&SnU<@(lFnwD&J/1K(\Ҩ˶(לg>aC@yŝ + "6'XhBB-V#'Y PʌN̐Yxl;,fc^! YrA1,O( &a!!C1B&VSE'#KLs1@<4 GA&)Dm5f^L&CZE]^@+fR+A3ZEn%IDisASsSQ8C/qԣܷ0UıjM jG"׶1Z8ItVE,-*ƶ DZ@`De,G.ȢeRrfsP1Cτ>d&%ُ"b?HkV[gğWkUfU-T/Rrhݏ. w*Sl@ug؉+#cX˧5Cha^H 5.l -2׍몈HQ!r7lT3j@x$U w<eƍXA<_3?{$IL+h7#gyި0}^.1`zEdGGD D|y1r3FqtΎ'߶iAg8$K7 ;/v "ED&( qaFLs i+[FԀNB'/3mItKE/WDymE+^XPn2gExbh+()8_'ZQ0;Dg~[%$wJĴ%@J[ Rzy"WoHcn"G9.\lwFzv6+ D^&DaI۽fH"qvh 9#qjѢټgS:l&hO#?!Aip  D#Z 79{GoP*Dr' {jAo1KPlar8A2Pe70gOWSowf05)m'}8mpaùY)"Law̖GTCƜ..|=?xwgHۼu%E 2IKVHuȽ59m:7K{b͔Vbr N5%6 [*MQó->.>SdyikV ~m Ggf]7*Bx'/" oKAHyIl~3ſ]t{D6ة(EX8X3SW-+eAAgϣ/"ys7@0d@<daE1fԸcGAF!ÃYfzhK :ilZi1]HEdP\(Qs#PL8;NScD-Nm[o~RQeLj(%#YR4@*RH#D5 XA&#|)0Y=?{0q CmhQAV9,AV07/]𢂋I1%NW tHE! .B b[zuױ?䑡mTѬ["Ue{Ng8"; $HV>S P@!¡`R %jL hP+Π С Z/#H ʤJRQ 2HZF ? ;; #d )QrJG-! "(3ˍDqBΓ(:=ưl(T)nM|L>3ZN!*- *?4G!Ͳ" S(K7b|O3) J AU("ʋ1b}"PKTL)2T&4d)PHYVFJTH @Ru&N9=:ލ4 ^BW!cOQu<4Ѝ M"aq)nHcNH+wMVҕd ZlLQG[- S|h|՞sh:Fu/؉\dCyF1Zaz6mX!l2_ڽzᦸXϘVyR6I3XA3ڍ ԩnIZ8B$T !m]J5#J((s"vk|* (֝ jpgwKЏS,!#\5J]>=T(VYs' Un᷽ԝf.ᢕ|;'a1AH679ѵy ٴ49~dwԆpvxއR)onӜңޙ#(t a@`1";ݢ0; `8*҈nLoҴ$H)W[CB{dċ0^O!eFqIeL^d'w>jSakIdF^ԙ\.Bje*gO9փXyDž bҊQ\R ;hEhs>MNf9LXjL)TN"sU48BM>#%H 'T ՎbNJV׉"a8}~nrUV`a3MvTr}ucgCG&̷ $Q@!Dխ~e"e2fo-pD1 %ĝFFU[h,ՊxExI"(d*qEBC$t(D"* R N V\>hgD /ۊL4gmS.r{ajG\sCl`3 nFQ4x[K {:𖲹L [$d#fb(rbsdv;/Ecڧ]zmo`RuvmgAumnáH;F-  {meكc4nB"Itr2<ײY+=.<#쭑Ř@yrIɆ|@ф\2jκ2ޡ4m%P3sA}-O)+,='ˊ0a3_0g9*YMC6@ 0DڌE#6QL|m >vAlt!yuURH2ȶ$sU.tx 3^iT;&%AOZ3 xX\AelEYجIi@̨@V{}FS{&åxg,Fr2 )z~.Nwe;(EBnhwOƗ5Z`¹u[A2;f7+d?_bȜ:+Τ*閜㒽4HלJ]ᶊwK(!J5zӽ )Q!!B6, /CK3؁\^Uʢ[Tq1KD}ܰWj_&d.dWQX^ yH>aw~nNߒ+5(oL&T֌zO!8Bجf{n R~R*@B fGʢjخ#pMjw84Кh&Jo6-$*kzj#GůƺBlBjp4}.ˆcϒнр 6"xb`* p/pp/v`m9s(h HFN h ~ 6'4`j&d'6pQ.*b1;B."8D`o-m헢L \2O v +5@ A'21 /!)&*! -L.iXN/&LLfhXj9 NVGbI"Pf2kRM)(N!$!`DB'/( i&-2!q& (1(/̄lM7Jf0-F)zEr6h TZRFKW LhGt 3[ҚXwY†n4hl (FA:t&5m5-B"2!2_( bcj4 w*ͬ/ZnTJ+ 6hwBW&pzich̩2tb)PqOʘ@$ˢ ;dsOb9x>"o1#\* =?Z?Sp$=\B(m 3#jJ6(ZC Eb8T)E,|0$B1Hp !qJJ| e #,\I=Ob D7(] EO8IfE!%fr%($ 8tmPŚ0L~sΨ B>3M0`tp:o [pUM7-~ !./8.v^.LUnRc-+$>{ ᳾;@Lt<)u!Q3uLB vh-n fGZnJpJ$41fĆ.Gys{lQ6NMkQǂ i!" rBSԻz *!\YMsr.ZDX*`BJ+C&jb#0C $2AR4/b/Nl3_""O\fb d5J O$m`!l m!Fk&%"CLЩ؄""g 5bVR$THUHF\'%#Fm'dP9CTyK`- `nF 1d3$c'0yvDŅ{ɬ9@Qk\3)؊Hc/+b*K9Ya:;z" :oyAb-"O醄: z?$C~8:z:m 79/:gc: [I3V {%{)+fxpڲ9[ ḳAܖ[CMQ8Y:h[;e{im:4CykyH:[H㹥{{G-Z\Y':R~[;_' rB!NN "$ C@"j>&\ !r™4v9<*2-\?K|;"o׹ZϜKl(h bף"f=ۙ!!@H\ $}Կ]ٝ}SY"޽B ~ ~^>'^#=15}ӱ@\- Cb׻X>׳p @ `@c6>5k[ˡj#; "\]1׿?~y%>+?㽿+;]7RQ==K^oq_y ȀB7>]q'%?)-?#(]<$__€Th`A &<`D ' bō9jȑ$KBc0Li2̙4kڼ3Ν<{ 4СDqx¤WH)I&Z4֭\z 6؞"=mɇϲu;6ܹtU7#[y%*#]+V l%cNl͜;{f89fh3+,M%Gn:rԯeצH"MH\pWyԫ[;fуOǽ'.7ӷgsۿ3EB9Qxʱ' #)_N8{ ^\j~@4߉@@- H(B>B#;*#? R&%S.Y%W6%[R[2c(`Igv14#~ h]8_%*t$w cc&(^:ڨ~j)vV% %J3ͧZ{4ފkX5%^*'J{,^ؠ⒌f6bnm}zM}n枋|Ί\V9г #cɐoZUЌ>Sp‹s3PqK~)qWK KLiT# {2%8oLs͘*^\*6 'D-3 F;mN?=' DMU4Po͵} ;S^Wun%@Ws,ZofiB xxkF-aϷf"7wE:yg%N*ۧ.u^0{ :^<IJL Gzz?q tӼ_o4~4Qabi2 )"o[dH-;GpB:W⑮b1 $ Gv4 _8G^z47HGp n8rGCqQ#7Mۢ@CvdLr6Ѕel㜊 s0YfH#¹qx'Dj l`>BJBlcR.6@8Z횸G' )ó$ZO Kϴ iZ>0/CؐB򏼌19<kEZ1iمoR^"4ٙ9'Ħ77SK*I Hvd ^7ߩ@v e;q&<9R,n\e~ [b8}vvo'쌙; Q\z(gьjt nճ#qI:ڥBi2:= (K_ Әt4MoӜt67Xϊv-iOԪvmkz3 !, H*\ȰÇ#JHŋ3jܨǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ Jэ*]ʴӧPJJիXjʵׯ%M`ٳhӪ]˶۷pʝKݻC˷߿ |U È/MʳANJ#KL˘3k̹3B # ڳӨS^ͺװc˞M۸sͻNȓ+_Z^УKN뵟cW yËOK8Hp.leNED轤CwT18Ai UHI5AQpaE^bC8VdV(U.ƨӆ%(@)SI iH7JL6hOFRVٓVf%n`ed6XXa %l9ۉQtix|6Ea{''^Eb&袌N4hF*itcAe97qn駠zY4 ꪬ *lHj^뮼R$InD+aZ,Fp*h֩uM>rWjj9UTGokc۴} g \'mqT!,0&0"4&DIrl}IrKNH`J1E9LR( <EtPOSu*䯠o!rTLSO_$tIa>ӉvAJvPksASo`OM[߀d1b|>ֽ!nox/;E W~WՖgroޙ{.e禧hW7붡׎V%ڭog7G/R2Og[sS7*|g6Gt|oDSϿSHR:T>EغL})D@r`&XҬB!t5|JR8Mp%| ]ª 5at'!tHD`a %"P*ZXlBŦ 1` vAhL6:zN U7x̣(/Q(#W]8pR0u$I c̎IKʏeF)TAW@@UzH3_0Z3qȖ"<&6eqibf1-@a/2q32ͮT&2jDS8P9k Έ'96%N33H>qΞ^M:$Z* >De"˕h#d}ţiW"zLn:IXܼG;JgJӚ8)mD(@ PHMjy2bm1*T3ѩZXE4%U4~XձhMZס5e}k-Δv}[:ĕLbgxYy#u=`)aAXs}2z^ﱍŋ@˰s٠ Ygx=`9Z[ ކmHUGR+Ѽ6 q\V"It9Z.^T]7*2'(+M/ª{Kͯ~s7| E2~#`[o͚7a=JugRNv@(6b8αw@L"HN&;PLePՂiEG5\]@,2s?UB,67IJ$Lg4pH5=];~NAmFЇohTz <1uG,GZ մW>I!ȫ[)9֘k^Mb>!";ЎMWv4n{7~-r~4 !,A H*\ȰÇ#JHŋ`ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիX"ʵׯ`ÊKٳhӪua۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسFËOӫ ˟OϿmՖh&K6Ԡw@gaHMM 5 bvI V =xq6DșP[;^B>rdAK tB'c5$YIZ#u fzON$%e[EAw9l0^Crۗzbg̱yw#bfKw䡀f$'f^iꚕSPIbiaʪYi+}& ZIhC)RkF J9kAeb+ml6g߂ЈmиWJްrVy@/|p s 0Ss\1!<"l 4.ۆ;)ͯМD LH7tP'MVc-OOW䦵N'{ѥڞmoiEJ+xw;z ^!>1NyWN[9k9{:荋^:鏛:o篏{UmK޷;)xP@ |AwtByw;~xϷB?w~;  AJP )A VpApD!We?φ8kw]xG P?L%:P|H)ZX-z`H1h<@ύ_>o>~ $ )BL$"F2򑎌$$')JRu%-I> HdXD*mF}J2\^DZƲjK[%,9`1fɄf1jNSȼ5Mav e8 Lq4g:ѩv3~`z`ؽv]Э(ELǎZec/k٤}|KڷoSf@g=hBfVcZ30', SH-;VvkDȾw|eW//vqa vUp]zOx]7#c@I-9G.ߘ)]?ֶ̇Mۼ8y{nġkMtHowҏ3FҥtjjP֝~y|V~l ұcu^~;vȝz> w]߻x ?x7>_'yK򘿼#u>s߻7zmW>H5#麽eA_7 '0 [?#k?~?Oˏg??O?|~~B.ZC4s&) ,(R59Sq3?"7"Buc27*8t%؂,'/()8X9867=>7X^5_1  \Q3LQTxS![hZ*_(\]ebdbglh8mhJ8N`|x1# G"%wQOCyJ.hy8@Bh*-!ІHH|X؊\C558F5Ȋ(zȃ]Abw"gxx(4H؋XXhظڨȍ8~ #2 .Hw"wȇ $w̨QNx(8x8}y(&pᄚ& y /Ɉ`x(9(X&)(x =9؎Ǹ%┼Q&3U VR'(OA$蕦,$X**#dŸ8sU,i3Nt) CvY h" ђɘȇ" H`KQiq)R&㎘ؑ%x'H#)i'ِKI7# jٕ %1I ꨁ 큜 ћY9qfc! $AII~ٗ9a9g3dCў/YZ`*9s)Z5Hf49w" g[z |؁ 3/y,{8P HH*)%zcAs!9(JH əX!={!I!)'cJ0HP h- .2x))R,|)cQХM#pa!ȦEBsi~"ʒx{%{> ٢ !qHpꡱh|A!;ω3: IJ9z*# "4@{9Y6Kq!Z IJ5ZR|*|86zR2rXvJC+񙱮1Ч+ש!* d1.220;6{8:<۳>@UѲB+$&YD*R;T[V+ -\`[;fkbi#IQ,KQx`|k;!{򯈻R;c0긙9zaMjQ/ʹxᷠ;ssh-tools/cmd/bash/ssh-ping/ssh-ping000077500000000000000000000304651467604715500177260ustar00rootroot00000000000000#!/usr/bin/env bash # +--------------------------------------------------------------------------------------+ # | Title : ssh-ping | # | Description : Check if host is reachable using ssh_config | # | Outputs 'Reply from' when server is reachable but login failed | # | Outputs 'Pong from' when server is reachable and login was successful | # | Author : Sven Wick | # | Contributors : Denis Meiswinkel | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : https://unix.stackexchange.com/a/30146/247383 | # | https://stackoverflow.com/a/33277226 | # +--------------------------------------------------------------------------------------+ VERSION="ssh-ping (ssh-tools) 1.9" # trap CTRL-C and call print_statistics() trap print_statistics SIGINT # # Some colors for better output # RED='\033[0;91m' GREEN='\033[0;92m' YELLOW='\033[0;93m' BLUE='\033[0;94m' MAGENTA='\033[0;95m' CYAN='\033[0;96m' WHITE='\033[0;97m' BOLD='\033[1m' RESET='\033[0m' # # Default SSH Options # SSH_OPTS=( -o "BatchMode=yes" -o "CheckHostIP=no" -o "StrictHostKeyChecking=no" ) # # SSH Flags which get populated later # SSH_FLAGS=() # # Defaults # ping_count=0 # How many requests to do ping_interval=1 # Seconds to wait between sending each request connect_timeout=16 # Seconds to wait for a response ssh_seq=1 # Request Counter requests_transmitted=0 # Count how often we sent a request requests_received=0 # Count how often we got an answer requests_lost=0 # Count how often we lost an answer quiet="no" # Do not suppress output # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [OPTIONS] [user@]hostname OPTIONS: -4 Use IPv4 only -6 Use IPv6 only -c count Stop after sending request packets -C Connect as soon as the host responds and try reconnecting after a SSH session ends (e.g. rebooting). Useful also for IDRAC, IPMI, ILO devices, Switches, etc... which don't have a full shell environment. CTRL+C stops reconnect attempts. -E Exit immediately after first successful ping (can be used to trigger a follow up task like rsync) -F configfile Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file ( /etc/ssh/ssh_config ) will be ignored. The default for the per-user configuration file is ~/.ssh/config. -h Show this message -i interval Wait seconds between sending each request. The default is 1 second. -l user Try login with as username. The default is the current value of \$USER. -D Print timestamp (unix time + microseconds as in gettimeofday) before each line -H Print timestamp (human readable) before each line -W timeout Time to wait for a response, in seconds -p port Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file. -q Quiet output. Nothing is displayed except the summary lines at startup time and when finished -n No colors. (e.g. for black on white terminals) -v Verbose output --version show version information TAB_COMPLETIONS: Ubuntu (and maybe other distros) already ship shell completions for ssh which can be used: Bash : complete -F _known_hosts ssh-ping Zsh : compdef _ssh_hosts ssh-ping Fish : complete -c ssh-ping -a "(__fish_print_hostnames)" ENVIRONMENT: SSH_PING_NO_COLORS if set, no colors are shown (like -n) EXIT_CODES: 0 No requests lost 1 More than 1 request lost 2 All requests lost EXAMPLES: ${0##*/} -E hostname && echo "First successful ping. Starting rsync..." ${0##*/} -q -c 1 hostname >/dev/null && echo "Host is up!" ${0##*/} -q -c 1 hostname >/dev/null || echo "Host is down!" SSH_PING_NO_COLORS=true ${0##*/} -c 1 hostname EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi function command_exists() { command -v "${1}" >/dev/null 2>&1 } function get_timestamp() { if [[ "${print_timestamp_human_readable}" == "yes" ]]; then date else if [[ "${OSTYPE}" == "linux-gnu" ]] && command_exists date; then date +%s.%6N else command_exists perl && perl -MTime::HiRes=time -e 'printf "%.6f", time' fi fi } function get_request_timestamp() { if [[ "${OSTYPE}" == "linux-gnu" ]] && command_exists date; then date +%s%3N else command_exists perl && perl -MTime::HiRes=time -e 'printf "%i", time * 1000' fi } function print_statistics() { [[ ${requests_transmitted} -eq 0 ]] && exit requests_loss=$(( 100 * requests_lost / requests_transmitted )) echo "" echo -e "${WHITE}---${RESET} ${YELLOW}${host}${RESET} ${WHITE}ping statistics${RESET} ${WHITE}---${RESET}" statistics_ok="${GREEN}${requests_transmitted}${RESET} ${WHITE}requests transmitted${RESET}, " statistics_ok+="${GREEN}${requests_received}${RESET} ${WHITE}requests received${RESET}, " statistics_ok+="${GREEN}${requests_loss}%${RESET} ${WHITE}request loss${RESET}" statistics_warn="${YELLOW}${requests_transmitted}${RESET} ${WHITE}requests transmitted${RESET}, " statistics_warn+="${YELLOW}${requests_received}${RESET} ${WHITE}requests received${RESET}, " statistics_warn+="${YELLOW}${requests_loss}%${RESET} ${WHITE}request loss${RESET}" statistics_crit="${RED}${requests_transmitted}${RESET} ${WHITE}requests transmitted${RESET}, " statistics_crit+="${RED}${requests_received}${RESET} ${WHITE}requests received${RESET}, " statistics_crit+="${RED}${requests_loss}%${RESET} ${WHITE}request loss${RESET}" [[ ${requests_loss} -eq 100 ]] && echo -e "${statistics_crit}" && exit 2 [[ ${requests_loss} -gt 1 ]] && echo -e "${statistics_warn}" && exit 1 [[ ${requests_loss} -eq 0 ]] && echo -e "${statistics_ok}" && exit } # # Command line Options # # shellcheck disable=SC2249 while getopts ":46c:CEF:hi:l:DHp:vW:qn" opt; do case ${opt} in 4 ) SSH_FLAGS+=("-4") ;; 6 ) SSH_FLAGS+=("-6") ;; c ) [[ ${OPTARG} =~ ^[0-9]+$ ]] && ping_count=${OPTARG} ;; C ) connect="yes" ;; E ) exit_first_success="yes" ;; F ) SSH_FLAGS+=("-F") SSH_FLAGS+=("${OPTARG}") ;; h ) usage exit 1 ;; i ) ping_interval=${OPTARG} ;; l ) SSH_FLAGS+=("-l") && SSH_FLAGS+=("${OPTARG}") ;; D ) print_timestamp="yes" ;; H ) print_timestamp="yes" print_timestamp_human_readable="yes" ;; p ) [[ ${OPTARG} =~ ^[0-9]+$ ]] && SSH_FLAGS+=("-p") && SSH_FLAGS+=("${OPTARG}") ;; v ) verbose="yes" ;; W ) [[ ${OPTARG} =~ ^[0-9]+$ ]] && connect_timeout=${OPTARG} ;; q ) quiet="yes" ;; n ) colors="no" ;; \? ) echo "Invalid option: ${OPTARG}" 1>&2 usage exit 1 ;; esac done shift $((OPTIND - 1)) SSH_OPTS+=( -o "ConnectTimeout=${connect_timeout}" ) # # Getting username and host from command line without using grep and awk # # user@host -> user gets stored in $username # -> host gets stored in $host # # If no user@ was given on the command line # we just store the last argument as hostname # if [[ $1 == *"@"* ]]; then host="${1##*@}" username="${1%%@*}" else host=${1} fi # # Colors are counter productive # on black on white terminals # # shellcheck disable=SC2154 if [[ -n "${SSH_PING_NO_COLORS}" ]]; then colors="no" fi if [[ ${colors} == no ]]; then unset -v RED GREEN YELLOW BLUE MAGENTA CYAN WHITE BOLD fi [[ -z "${host}" ]] && { echo -e "\n ${RED}Error: No target host given${RESET}" ; usage; exit 1; } # # Output header with optional debugging output # echo -e "${BOLD}SSHPING${RESET} ${YELLOW}${host}${RESET}" if [[ ${verbose} == yes ]]; then echo -e -n "${BLUE}" echo "SSH_FLAGS:" "${SSH_FLAGS[@]}" echo "SSH_OPTS:" "${SSH_OPTS[@]}" echo -e -n "${RESET}" fi if [[ ! "${OSTYPE}" == "linux-gnu" ]]; then command_exists perl || echo -e "${YELLOW}WARNING:${RESET} No perl found, time measure probably fails (${WHITE}time${RESET}=${RED}0${RESET} ms)" >&2 fi while true; do # # ping only $count times or forever if $count = 0 # [[ ${ping_count} -gt 0 ]] && [[ ${ssh_seq} -gt ${ping_count} ]] && break # # used for -D and or -H option # timestamp=$( get_timestamp ) # # Doing the actual request and measure its execution time # start_request=$( get_request_timestamp ) if [[ -z "${username}" ]]; then if [[ "${connect}" == "yes" ]]; then status=$(ssh "${SSH_FLAGS[@]}" "${SSH_OPTS[@]}" "sshping@${host}" echo pong 2>&1 | grep -oE 'pong|denied|sftp') else status=$(ssh "${SSH_FLAGS[@]}" "${SSH_OPTS[@]}" "${host}" echo pong 2>&1 | grep -oE 'pong|denied|sftp') fi else if [[ "${connect}" == "yes" ]]; then status=$(ssh "${SSH_FLAGS[@]}" "${SSH_OPTS[@]}" "sshping@${host}" echo pong 2>&1 | grep -oE 'pong|denied|sftp') else status=$(ssh "${SSH_FLAGS[@]}" "${SSH_OPTS[@]}" "${username}@${host}" echo pong 2>&1 | grep -oE 'pong|denied|sftp') fi fi end_request=$( get_request_timestamp ) time_request=$((end_request-start_request)) # # Output "Pong" if request succeeded by login in and echoing back our string # Output "Reply" if the SSH server is at least talking to us but login was denied # if [[ ${status} == pong ]]; then requests_received=$(( requests_received + 1 )) [[ ${quiet} == no ]] && [[ ${print_timestamp} == yes ]] && echo -e -n "${WHITE}[${RESET}${MAGENTA}${timestamp}${RESET}${WHITE}]${RESET} " [[ ${quiet} == no ]] && echo -e "${GREEN}Pong${RESET} ${WHITE}from${RESET} ${YELLOW}${host}${RESET}${WHITE}: ssh_seq${RESET}=${RED}${ssh_seq}${RESET} ${WHITE}time${RESET}=${RED}${time_request}${RESET} ms" elif [[ ${status} == denied || ${status} == sftp ]]; then requests_received=$(( requests_received + 1 )) [[ ${quiet} == no ]] && [[ ${print_timestamp} == yes ]] && echo -e -n "${WHITE}[${RESET}${MAGENTA}${timestamp}${RESET}${WHITE}]${RESET} " [[ ${quiet} == no ]] && echo -e "${CYAN}Reply${RESET} ${WHITE}from${RESET} ${YELLOW}${host}${RESET}${WHITE}: ssh_seq${RESET}=${RED}${ssh_seq}${RESET} ${WHITE}time${RESET}=${RED}${time_request}${RESET} ms" else requests_lost=$(( requests_lost + 1 )) fi requests_transmitted=${ssh_seq} ssh_seq=$(( ssh_seq + 1 )) if [[ "${connect}" == "yes" ]]; then if [[ -z "${username}" ]]; then ssh "${SSH_FLAGS[@]}" -o "BatchMode=no" "${SSH_OPTS[@]}" "${host}" else ssh "${SSH_FLAGS[@]}" -o "BatchMode=no" "${SSH_OPTS[@]}" "${username}@${host}" fi echo -e "Reconnecting... (Press CTRL+C to abort)" fi # # Don't sleep if we do just 1 request # [[ ${ping_count} -eq 1 ]] || sleep "${ping_interval}" # # Exit after first successful ping # [[ "${exit_first_success}" == "yes" ]] && [[ $requests_received -gt 0 ]] && exit done print_statistics ssh-tools/cmd/bash/ssh-pwd/000077500000000000000000000000001467604715500160755ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-pwd/ssh-pwd000077500000000000000000000045111467604715500174110ustar00rootroot00000000000000#!/usr/bin/env bash # +-------------------------------------------------------------+ # | Title : ssh-pwd | # | Description : quickly echo path to use for scp, rsync | # | Author : Sven Wick | # | Contributors : Florian Sager | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : https://github.com/usrflo/scpwd | # +-------------------------------------------------------------+ VERSION="ssh-pwd (ssh-tools) 1.9" # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [PATH] FILES: /etc/ssh-tools/ssh-pwd/targets ~/.config/ssh-tools/ssh-pwd/targets Just pust some IPs, FQDNs in there and they will be shown in the output as well EOF } if [[ $1 == "-h" || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi SSH_PWD_USER=${USER} SSH_PWD_PATH=${PWD} function get_target_config() { if [[ -e /etc/ssh-tools/ssh-pwd/targets ]]; then sed 's/[[:space:]]*//g' /etc/ssh-tools/ssh-pwd/targets fi if [[ -e ~/.config/ssh-tools/ssh-pwd/targets ]]; then sed 's/[[:space:]]*//g' ~/.config/ssh-tools/ssh-pwd/targets fi } function get_target_ssh_connection() { if [[ -n ${SSH_CONNECTION} ]];then echo "${SSH_CONNECTION}" | awk '{ print $3 }' fi } function get_targets_hostname() { hostname &>/dev/null && hostname hostname -A &>/dev/null && hostname -A hostname -f &>/dev/null && hostname -f hostname -I &>/dev/null && hostname -I hostname -s &>/dev/null && hostname -s } function get_targets() { { get_target_config get_target_ssh_connection get_targets_hostname } | tr ' ' '\n' | sed '/^$/d' | grep -v localhost | sort -u } while read -r target ; do SSH_PWD_TARGET=${target} # # Check for IPv6 # if [[ ${target} =~ : ]]; then SSH_PWD_TARGET="[${target}]" fi # # Get optional path parameter # default: current working dir # if [[ -n "$1" ]]; then realpath -m "$1" &>/dev/null && SSH_PWD_PATH=$(realpath -m "$1") || SSH_PWD_PATH="$1" echo "${SSH_PWD_USER}@${SSH_PWD_TARGET}:${SSH_PWD_PATH}/" else echo "${SSH_PWD_USER}@${SSH_PWD_TARGET}:${SSH_PWD_PATH}/" fi done < <( get_targets ) ssh-tools/cmd/bash/ssh-version/000077500000000000000000000000001467604715500167705ustar00rootroot00000000000000ssh-tools/cmd/bash/ssh-version/demo.gif000066400000000000000000002314301467604715500204060ustar00rootroot00000000000000GIF89an1$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$HlU$UHUlUUUUU$U$$UH$Ul$U$U$U$U$UHU$HUHHUlHUHUHUHUHUlU$lUHlUllUlUlUlUlUU$UHUlUUUؐUUU$UHUlUUUشUUU$UHUlUUUUUU$UHUlUUUUU$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlشت$تHتlتتتتت$Hl$Hl$$$H$l$$$$$H$HHHlHHHHHl$lHlllllll$Hlؐ$Hlش$Hl$Hl! NETSCAPE2.0!,n[ծU;[[!4p`B!|H1bE!bqG 3ȏ'K4rK0Sl̗7ksO@s ПG"5tSPRHuժX 5׮` KvٲhϪMv۶pʍKwݺxw߾ Lx0֊9&^q#K&v,2bˊ1S9s͞CsiѧI3 iװ_ˎM{ڸo{ N|momΩ֢ױfuే>ћO~ᷗ~w|  ؟!} 6HV&n` bFX+Q5SI袌0hc8#;c<飐@idHU(2UXUgXaTNieX^e\ne`~)fdifb(vj>9uNvyj}(o&ghh.h>*iet(Z*rRة!j*"*j~ڪj+Ċs٢ln"JB+R;mVn뭶f+nХWR鮙 K,tMj0' 7G WL1A9j+ r*!*,,s3'5,t%=kߎ4.tP+5RWMOKE*bMfj=/)-}x߭w|w߀-8dsmOyNnccx㒃N硗>褟nzꬣ꯫.{>{gλo'<#|3N7dHGa&*щL|HňV\bC-vDX/ьe #5QpE:Qic8G=hH@@ )B򐆄 )HFґD#IFV %#iHKv,&Ơ - *?U|,cIYڲ.s]0Ia<2YKVD Q")MPB ϼ" lVӛϤ&7)NksD8YNr 'MTt$fսl.|Kڷ~[U{p4Ͷ D4I9-<6@ `5$p'`$3 3X&NqLWlS*n_<61w\c+ũ WZ*JC5ZQO2y DyMAJɋ!*.GRM~׬6n3LRp]-1a֓^v993Z,z&!jI2_j} !>p+\Nz55WVը9]-zMq]kR׶ l_N[#{n]hӺ~v}mdC@$W#n$XwUF e$pպ5rћn3;(J2y . Ts/+ÝN-087<] TCg(h!"=5zey] :Z0=aw@utH/zҏ3F *>yhƮtoAn. ,vBjݐ^z=bFs.q۽x_~^|3u x +Z, h*ɆU۶Đmҏ~.=MO-سW{l߽|TCA7啓#7tmJRRʕ~%f~OuITbEן? ο_`(LX!i%qwMU`%6utR'u8Hx Xu^KVfde}7+؂,._ahk6hXaa8Xza?VyHpHŃ7|zNM8PHWXxZh{O'Yȅ`_hbH^tp wImhpR$_E~n(z|~؇(Ic6Ȉ舕,nm؉SwwZ9Ŋ:؊U\iheH]x8gØ،꤉x8pHx֘بThވ8(xx明㨎帎;&(8XWEtQ(Ȍ)Xix ُ  ) Y ZwpԈؑ؍X&Ɏ'(.0ْ1U"y 8:Q 9)E yIJHɔFٔITGIdžyȓ\ٓ]^rF/)fɒhYi9jٖlgH`YbyvxYZXKyNR VY9 ٘Iiu{vIpqr)YI9I5ٙ陱99?N9ٛYIǹ d)93Uٚyɝٝ9Hy։ꙞRuɛ9yiYgʞ*H**J: S ڡJQڟɉ%)*z٢&.)I :;ڣڠ:ZzBjI NʣP0ʢ/)2z3[]ʥ5:`HrRlnʉ@JH*KZtzJsMڦ~z7 E4z`jZ_^i(y{v *zZاڪwT:**:ꨵJۆjz z̺jϊ zƚ*}kJ zમ䊕:*:zگJJ+Kڮ:暮 ˮ ڰk[:*%9*˱,ۡ+[;˰9 87ڲ@BK k&{'J۴CA;=y3{64{:۳]< [{ŠT{R"YLnp۶qH h{jkۭca+X˵[Zz۸xȶt+;h۹ڭ;kkۺY;;{K+;|a˺ǫ΋;;qʻۻݻ9b{[TV ۼ{ {囿N%ۿ !,=H*\ȰÇ#JHbZ1hǏ CIɓ(S\ɲ˗0cʔ`͙8sɳϟ@ Jt!G &-`ӁOJJի0W_(hӪ]˶۷oKWֺx˷߿Lˆ!,m!,)یYfUQ!B!C 3ƒpƌ9jKsѢHU(ӧN|ԙUR݊kL*j:sԦfӢ] Um[gʍKm]k0ވ|6d5&p_È+NxƐKLyʘ/kyΠ?MzҨONzְE tfĘ۶G=FL… i8\sMNfsJC)؅VߞzڿO<яO~ῷ>߾`}X`BG^>(!b*Flana ~(b$hb(bVQE&`;MTFdUBIa!)S5ܓENRVX* ֒Ze`rdBTh&ipI" 00hI( !C!D袊6裎F 餒VJjm3  5 fY܀G k&+ l{6k>Ӝ+cy0@$~}ѩ+^j榋+#{.h@TipCe j*?| 7s|UY\q#O,$A H8_&> BY+ )c zFV&u2+m`aZvВk=6p}6mhKF֚ +`~-VaTь/x?.y1PAJ?ݎ+@fJDLAay(:֯o\:èۮ;\;|reP<]cLOo}_}eƒ< BDAt* ^ß]?mx{?O ᛄėAAF(hB Y* vCA R̈́<_T!.d cH( s@q^%DD&.N"D*>XE.rR+J`T !YC_ :3qSs9w#G్z d ȁ"-#"MȂŤ|!)ERҒ%#@j`|d(=Ɍ} =:OӠAm{* hD :уV4]C3z )HG*Ғ&M)JWҖ.)Lgz0q8]hA6>eCX1ԡHjQ*ԤKSԩZW*Vjj^ +X*ֲfM+Z URESJW5r*^Vu+`+ƕ lb XUeldWlck$4ihGk~n hM+>Պﴧ-l_K[Ɩ%mpY$D pSָEnhk;V7mt:7x^M/z[^}|_׽/~[_޷|[@~Z)XnЃt>m60D wWä]5la` Nq`bMb;l8Nwrϭxɜ\ٍ5ܠŬ0@VAb Ћ-bN'zӈn=b-1)d ?h:|Z#g:Ԣno:1aP_afvFvWŒ.2k{vmqFavg{Vozvm~7A f9:&> @ю!=q! V|h,7YŘL+yKZ#mL5Ƕsr<@·<<9я.t+O#Exxn)k?MOH۸豎k\[X%"[Ūc$U?bOי͐gE{qIgj_񯋶o#sInmvOϽQΊ8gK7pc}_?憐nc:fKgF1Z~7GsLttOw Pt t 8( 4I~upyZ}G['>9GZzuwzWGzυfd@ {'gDxHJj'>47x_wh01v %iFV\H06Zbv(ikjzwDŽvxxzQvZ&#5 b-؂Z)(z@uR[k{oqOLJ؉8g8zQHZkgyigz@ka+(ggvHyEi ZF؄jZ~7˨،ؘ؍cyf/va7.gǃy∎׎y񇃚\p% `[f oȁx yDwe\g[I[& b4kz&&y(8{I]TZG8}lc!y'{*<ٓ>g  'vZ 7tL dk[R[eEXZmgg'wx,em7[\Yfyhyvjpr9tYvyxgPvyٗ~YeFYc! ,<(H*\ȰÇ#JH "^qƎ?VIɓ(S\ɲ˗0cʜI͛8sɳO QcQ?*]ʴӧPJJիXc y+G_KٳhӪ]˶٠[v֫ۻxR^; RpJs"{p-EXrW g~Ya焟A#P 6`褎ʞM툃 .ol78` Tn9 F a`u fߎ<;޿7^mD|PT >_90quX _F؝~ާRt` {hbI!(axvf8^,b8(:@ԊBi7}dS! , @A H6\ć%*ĸQcDIɓ(S\ɲ˗0cʜI͛8sX#ό PDɴӧPJJjդXj=UW_}ZKٳhӪطn*;WnֵxA@RHˆIf*BB1Gq䃒B 36w,R4ϖ9xs30G=H qM7g ʆdE&_`sDnT.w߷N~dxO]>Ͽ~ 釟!(~RW^w'|ǒE߆v~ ("y 7!R^8h58xր)Z^.*٣>:!,A=(H*\ȰC+ ć3jȱǏ CIɓ(S\ɲ˗0cʜI͛8siE>)JѣH*]ʴӧPJJjȠZʵׯ`ÊKٳhjbڷpʝK݂*5޿| 'Aw8B t eNPb1PCҋ0͖!j1>nF̝ oNLx_\ ϛKw``ud'} 0~PΫ_Ͼ=( @#.]zXyނxCe `B>QDA@"A#2G("ňJ-aC=dz7?2@K&"Wl4IJhӅE:eG[dA]n&Yr"S~" HTDdIW}aAzAw"%'Bz(c^ =zf馜vtQZ|jL]! ,& 4B"LȰÇ#JHE+ dȱǏ \#pD1!S0aK_IM @@BB>*]QÞ1:Q&X#ș *կ`"X0ġװh. !pm!U;fտYҭkk`},ocK2aaz |; :"]ؒmf͑kPx!!̛J0WpqD1%}Ml dqͯϐ<Кht=70_rwL?C(4( PD @&@P շ҃%`GW JQ DX$P!qFCjJ@!_hؐxgJbKzbDK  eԊ42Af]&f` JeY Ia6裐F(Vjb~!,(H*\ȰÇ WAP"-bȱǏ CI 'LJ.YXI˙%sɳϟ@ JѣH*]ʴӧPyARjʵׯ`ÊKٳhӪ]F+NlKL1k7ͻ{LÈ+^̸1Q:L˘3k̹ f;" w֪cEM۸sm4Tɼ Nȓ+V@)ثFν; v`{ _>L}Nk8ۀ X 2߂>`y pEXp}$"A$r ʔщ(H1hЎ(BIC&idO"Q2y#WJY%YZߗ`čp)l~o gAsTgl݉!`Ap (iA:Q Aiʩ }IEP P j譸6h"Jzdic QH첧:u:K*hv̊%K+nK{n͛EKB& ą6\fz)걧Orw r"L,r-3o1,:Ӭ*{Z&:%l-PG+@u:6r0iխY'=մ/ͻN%r^yΡ7ON! 8ib\:'L_ˇ{~|Ͽ~_~HuuDt5׃`u]uH9!bUe"i7$h(DGy+%b4h7m5裎=l?)d!L6i('XXfYb=ǥ]JWdZDA&AyqW#*AgGY }8${:✌BC:4碎V bФMiP樤jꩨHPfNAYyj뭸kԊ-E#kE롆.khnJA8tp 2.v.n[ѫed$Ci, nlbm>WChB&È$.OTH*Zq\S]E` E찇2@("J8B 0G}\$ X|#DAĎ,"HF^)c%IBĒ/Lvr %(GOR$I.j2\%*eJrde)sDJ֥Kݗ±Q8l2C6!jRd!6XCmB2^ 9s 9' CG!cr`F$B$ID @UPĠ8'LʏD'ZР#`L^iKD'Dҕ!-萘7)N+bS-^>ͩPJԂ9`|1(I2U*-2/Daծɩ@ jUس(EȊ|(ͮv Zp5wKK.N=NQ8s\h+277y_&Ĥ afGՂL &Ȅߛ /Gܾ݄1'&W08/WvݱL"HN-PL*[Xβ.{`L2hN6pL:xnt>8 !,Ck$H*\ȰÇ#JHP 1^,ƊvIɓ(S\yp.a |90f͙2hO"\ 9TgѠDɴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx!Г/ΛK7È+^̸ǐ#KLnU,Psg<-4ӘSvp<[6 -;0noȓ+_μУKN:ebsN^?u粧uϿ"M6W-`m}$k*Xafh[ZH*x 3ybC+gؙ6h3#j4Z}@)DiH&+19AiQaiqI J ti|xF@rFV(X6JAjVaj馜v駠Z>*ꩨꪬ꫰>*@eꬸTkA@zPKZXlAlBhVkf~l!, -H*\ȰÇ#JHbE+,jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵW*f,(@Xc^q![oa8Wݻx˷a fppK# j(VGDcFEFˠcB2)Cx`kcʼM?ڶcM$ҤQ_Q8R fN}!nl4}bpû[g8ZP\_O0s7x9+QYpr _M`q5`=(%XEHv ( hH*! ,a ^"tH*\Ȱ@#JHኊ3jȱǏ CR!I'E\ɲ˗0c,`͙8sɳϟ@ JѣH*]ʴӧPJJիXj#_ -8i@! , 6%H"ÇU@Hŋ3jd!,m!,5M(H*\ȰÇ#JHŋ3jȱǏ Cb\!Pȓ(S\ɲ˗0cʜI͛8sɳϟ@ :$ѣH*]ʴӧPJJիXjʵׯ+ٳhӪUir۷pʝKݻx˷߿ LÈ+^̸ǐ%;y Y˘#k 5U.+Q*Hw^iHUÞM۸sͻwE>`ṏo ΁CAN`HkGbA"ӫ_}B7[m:|^&xr A *(w|R39 xs@y0Nas8@wtD,*$Lx`PF)唬tVddTv V@!,rH*\ȰÇ#JHŋU`ȱǏ CIɓ(S\ɲ˗0cʜIM ɳϟ@ JѣH*]NMJJUjjR\ÊسhӪ]Kr ۷p Z87]w!--88dǎJx몁PKx˘3k,0)!,8(B@Pa#JHŋ3jȱǏIɓ(Sf˗0cʜy&͛8sꔹD; T$ѣH*ҧPj4*ը=!͸5կ`WR K,ұfӪȱnʝGt˷בN 6nD[W(L(FZhEEg݁"! "1gD_e(("]4`(n`d"0͗ᅣaH))߃c82HHē"rЀ.ex!Ht"e+HDc=y+:hIΩgEɝpVٝ#fg恨˜g}m&:ZzCI"[j'b%0"wa @'Wxv$ Պjްfk첲F+ԢlfY|&wk+ eݵ䦫.U)Zk! ,D X!APqN" B(0Ê@7f81$I 2\xeD5-WI͛8sɳϟ@ u)s*]ʴSEWF8eA*fժ`ٳ@=]˶۷pʝKݻG!\c`AĊY-^̸ǐ#KvVgѫ_IlϠC\YӨ8X;Qc'EɛvA+̝ ^;m'K@h v;ËO`Ul}AEݫOi 2Zҝ'f! m JGRB0&`|[tY*L•ؘԃ,wy#Z+h8V#Zđ?i6"pkGLDT#TW啎99|;9)KUBV9F覫m\a39kk ۾6b@1B!M OP1O_SCq\3=,5&3YֲO/A3N@aܘmBT3\5tNMuYS'}OD]8Um3m3RPUp}0,r71mH24R~k]}WL5o9{^%ِ~V1O-gz^w{8ؽ/>c>|o\Ӎ'?Ah|4IjZJѼ6)UrK6IrL:יygIz'>;wL@JЂMІ:D'JъZͨF7юz (CJRV! ,=B)H*\p@ U p02ȱǏ CIɓ(S\ɲ˗0c ƅ5gɳϟ ZPĄo]ʴӧfԢʵׯ`ÊK,Ȫ95˶[[VJۻx~[עŭ^KÈ+)ĚR/L6ڭ̹R)^FٳӨS^v;xtTޝrtف \UpKNO:faw۳?0BI @!` G !&߂@߄g!퍑}Q(bbAA0J{Ѓ#Hac{d㏣(8AFFd!yВ (Bʊ\v7%`D @暋! [vHʋE'^_{{ʖvho]>VffUrt§]W`{[IʥLyYH QLIj8(.^)PxGFRPB++GPvSކ!,=)H*\(PA*Xq"#JFIɓ(S\ɲ˗0cʜIL); Ts0B6 JB qԙ RPJ#Ć>e:PNTÊKٳh EOٲUK]!~TT)ƧJLxůq˸!Gm r-L˘3;Ɉ{8Y1wQ԰cڵdOeͻowvqr<2CcNNrWA")ce'J^08yѧK_Ͼ/dA󓅰AAHDPPğAT _ FD(p8w`5#.Q& ƈ(! P=H"A9N4v8@ _= #H)d,)!AbhAf~ T*"Ev}b'Y"c^ihY'fij*)Tɨ([z検5(qBAuA-Y)HѪ\ kZ Srhe頭ꄮf%)n*]Hdvh( *ئt%fن{҈#)ҺKP .Tnۮ,!,=F>H*\(PÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0MyqE@!,=PH*\8PA+ XС@1>l1EIɓ(S\ɲ˗0cʜIdȓ7/Ts0gB5 JtGH{"Ԉ0ϢPJSG)ukUZKٳh@[OݒVݻT5*ƣ $Èe& 0؁aZTačk̹/#s\!`A^]"ᑂ2˺j/3(;Hڶ N\ȭiyp{M:]x2E:S*Eg6~Hd{COdAVh!HDPPDA (aM  A !BD (8`]+N(J('X"5:8*5@58)"cx*)БDvyP q)I )cT9 jpJ5gs&P8g&H() V(U@ncmiif IpF8VPjiHkBQhbئ{)Ve Bzk-&!*$A*P~K.nw"4格zʢAkR8lA["H‰j cnh(V@8q !IIt+0/JBި ,VJ"Xo"]*z#~NL\/dc=*MsW vB/M۬MvQ- &b %7=.I-%a^6Kkypm.C'>:ۢHORP%ܻ/OS'7|G/W_g#ک[3\ʻ2P$q/fF!,DP H*\ȰÇW(B`EJ,xFUlɓ(S\ɲ˗0cʜIeǚ8sɳϟ@ JѣH 4TaSIJJիXqn4d`K 둠׭f]6&ڶpeQ-ɴ"|t| LÈ+^̸v2˘3kRX6DyYΨS^)ߎ.X۸sͻ9U68dE+_XfNͯ69ËOUŁ '8?q"uc h:G`~&8xkm]H+w_bmեvȒ($h≜02C 4A7ڈD1cu5:#@Pi@ ŎN(*R( [֘` !h"IJ(t6֥[Gģ@Bdg^*('u6h[yH4idi9)Т*j[dHiP V⨰ڌid)kar*Q*ꕤ()P,B epf6@F ;#Į(ז+F:+A.dAY"[/G@o(~*ǾM3Y,|* ,si)l٦3ܳ_ˬ$_LӻeP/tTG\Vf65[Ȩ4A{yPi,0v}p,% |kMw߀㷥 'րbCd}G ǔw,x$ru㡷 SQl< ?9̋(|WC'>ۜn[/o??v/o߯ NocDy 'H uS],z <-$# c70 B8eo> !,< H*\ȰÇ#\!PA1JȱǏ CIɓ(S$f˗0cʜI͛+-h@cF@ JѣH*]ʴӧ/5իXjʵׯ`ÂzQٳhӪErۗ<{:VaܷxQilM{ È+ ŐQ"8Y`ef6x9g@AztQFR=jTAcDm$njMʵa Mtm֭W?C^{Q@$Fލ{ c оN}#G|my ^~MF[)t mfxyvXg݈IaVh~gq(PvX)t`amV_ވA!qf4F>wmUIe%P`fNel;暞vpiFܘp!~*蠄j衈&袌6裐F*餔Vj饘f馜v1 jX!,z)H 0Ç#JHŋ3jȱǏ CIɓ(SĨb˗0c@͌"fɳϟ@ &QB*]R Ӎ D-3ԧ"U Pu\bKlO6f B``[5\wB(H j(VGR$$##1w˘3c @ϠCMӨS;挐B֪ú:aQb {#VMȓ+_0BŜg#a5 !,?$wH B <1ŋ3jȱǏ CIɓ(S\ɲ˗0W83͛8sɳϟ@ 4#)cZ ҧP5իXdU)ׄP%TԘ! ,-a&H*\ȰÇ#JHŋ3^T1Ə C6XQMD)˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhn%IR۷LU:l%ܻx˷߿SY/qBXxĎ 6%'d(3kf8 ͠bY #,P5kơc}di7$#nߪv^5xḲwMB-н_{70C[q2f]x`]߀<Wu}F 6]i^`vt hZAAW]"O!,' 8P@$bÇ#JH"*jp# *(Ǔ(+|xʄ#;LQ3,I̞@5AIg"GB$$P< \ŕ(\ h@3LQF9t Ux5Wb%`ڧf1),TQ.+QC9`V1j%bM&@B I$p\%A|4Y{Y%CjXm`%PXze{ŴfQmTuo#-(}&6:.[@aGd`q hwZ\–sm}&gF&QyXBUf1>!+HS@!,r @UH!‡ JHŋ3jȱǏ DL@Mȓ(S~tpʗ03t8s!ɘ8sI#ITAG>uckyrwS1dHEv=>iU<\R7Zzt vy@w R57]x W}wxcVz!$ε]ňXA(!h|Ɉc~7񘜂D J"! , eb*\ȰÇ#JHŋ3jȱCIɓ(S\ɲ˗0cʜI͛8gB%ϟ*!DQF*]ZQ(ӧPJ:jԜ!,A CH*4aÇ#JHŋ 6ȱǏ CIɓ(S\ɲ˗0cʜI`8K!,y9H*<(BA!HP"Ć1X CIɓ(ST!˖0C1̚1sƔ(b E?8phB:*]ʴSJA$bVAp\qX or]g[[Zp.A K#Z[ϊn'F|X@ Kn<#Zi1q>} h̖W7.Oj<{¥o&+uz/E@TNPyC2.0 P F?H(H{]`(H*=SHv1ʀ!זmwrZduđsE|uPhz퍲I{l@yf &)~ Ԟ1 A,RPv AށW$׉d{MdocW(q1߄T)d@o ĦYe"z:`jX2$&eAۭ8P&rܗy^hr:) r.Lc](y* )ݝx^| MIAG$(UcD陃9"aH$Jylq!V{A('v&WovNZdg,؝s&pK&gR k. $*o)K Ǽ6Kwjrnʲ"r0Y|gK#NH#=!S R=u9L\'t2HnBCl+AhwOle $ G؄R!,m!,l9H*\Ȱ@*F<¡ŋ3jȱǂj48ɓW88ˌ;$b_ɳO[XQѣ6&=T@ \YU0jj͇7J3,*j]P[jKx-VrDsqUw.ߗrziLƇ ~r1a&ZA  x e AC@Iڶ5E7oQB!:i G2{v1DE=!i-<7MhM:j5buiH .)O^dm$EnjqDz|7]1Hl' `y(s@'_ow"x nc ]A0h8"N< Rx{#T] PWL¸+v~ wh+Ɖ#>]0B!vߠO=sŐU'e{g=h_[P@Hd h`!'PiQ vhjHb6`&:g2Z~1Bѡ v׹D>Gك ݄McD:h@qa`ECDe_IјA xh%%MhiU5؃o^٦&aa]\rhD'k9(sR$iw>褛ቨqL\>ha!,8 HP*\ȰÇ#JHŋ3jqCIɓ(S\ɲ˗0cʜI͛*ɳϟ@ JѣH*]ʴӧP ҠՁUjʵL^ÊKٲ"F<۷pʝK. "k߿pF*8ީ Fxǐ#Kx˘3kV&qƛCMeሕ N]|[Y?3+HT`GF AFFQ=ȑPqAB @Ph!HT=!A!64!5:tBr!;(dxP3FNC>2i%4*_)#59Dg.))%@ӓd95-)|#P'&Jt9ѡv6o'.}Hv&m zj ꫰zF&(A.YjkL$_2lzulCInxѭ ("K&-\Vmxn+\ZmC֖t.DK +fkM @-G^lz7pB QI_ƙiQl(2l*E/g4l8笳{tZ1,DmH'LMG-TWmXg,`/tdmqIp$l!,}4H*\ȰaBW8PË3jȱǏ CIR'K\ɲ˗0cʜI͛8E3ϟ@)'QGM*ӧP2-2Վ-jzJw구ٳhӪ!p "a` 8ލ (H0UäD.$##3 )2HjoH>#@93oWc̰+of,pu 7aÚY)έv א,8\ϽE6,5n^['-2e7 \lݟC8̦p"Lrl_hVk%gf}'`Y^-r~Qe Jؑx,Yw@%P^im&U"]w\+(44Ze[^qHXc\ve_TxQr!,}1H*\ȰÇ("ŋ3jȱǏ CBT!ɓ(S\ɲ`Ł$[ʜI͛ rbʗ>y m3&*thСP5>JիzTm:X%vڭ%&x:6pٳGE H>w߱~~(?e@!,m!$,m!,9H@*"T0B Elhŋ3jxECIɓ$Մ)P%ʗ0c)%͛8shӦΟ(%\ѣH{V)Ǚ3G2贪ՏK96z*׮`:س5nUVRhQ@s3>.߿L$Y[$ލ"QƘ3k.O{RbK~xW#.e3E:i @遠5dE@b T3 mO(VǓ%HfWt=fRdFhqPD ,DઁD:r}w˽=2W]zRoDrqe'g݄ uWaA]v9"+EQ |xbQAht4$F&r@L D]e'av-ToQt TieR9DufݗK!Pz%!_s¡9'Q @y?yT~e'rhIv&RFz'}JD2-Eb駠VdgsjijHf-I)2xk:܌gnk!,m! ,m!,2)HBÇ#J`ʼn3jȱǏ/ dE\!I 8%Hc iʗWଉqhK;c2LI)KxAV@# LpЫIH A6(Vo+wEQFlIr l1J__Yfk8.Xڜ^bP`yq>9n270U:N;#Q,ֵ?~|`56Pt z%A!,I)H*DbA*JHŋ%F&Ǐ CIIA<ɲ˗0cLqM5dsgA}zsDD:RMNzriMW6(5®zKAVd"a` M[ $"0U߿ ÈEQFFx7/y ۹f00ǨKf]72ڶ&c:5չ?ڞs6]Ƌ EݽgerM/Znʼnk|ІJx1)]..}\bhpV[WrսA6]} lI߇)ȚH'^G!,& HP "Ç#JHŋ6ǏՀpa&MTё#BUI#."a`  $EFŊSRXDU$cF!EfQEW~xj׷\򔘔RMYmU$pʭXyNVVRY XS6g.u`H" Eb(h@Ύ ={iӼLWSK5(_u蹓$<%8}Ϩkք>PO!,m!,B9HP:l(ŋ3jȱcF5C"DXPɋ$I&ƗqVi3#Ά*Tٳ̘ ]UZӞ<-F%TbJVLf54ֳ#uEԨEt.҅bCvK׺wp1XTlx!l8F8cDfa` @'Yfg\D $DŊmR4dF.|Ν? TY9̱#hZ`(ksi ~sclPUw/}{dUQwo!GJpj9(gE!)ueV`z%E@~Fv!Xz&`s Dw^_66g\z!^U}hgQȖvhxƦ#lHn7sZ[h֥s>5 g>PgL#ԠYcxL ) i$@hea6%G:Fv< nZZgꦯ.DgѠLIP*g:u+iJXڏV!,w0H*\ȰÇ#FTb`E cF CIɓ(S\ɲC5;I͛8sR"dIѣH* ӡ̥PF1 >bʵkɧ^ÊK,Ҧd5˶mCn㚽lZxݻtc]v aU2^l3Œ#Kx{e\|pcv[Zad7 s1^x[ &|bUkU^.`)d#y3b|궙n[FFiYC55dȤP6vU"VZic_?&g8%c8iEK&e]ZKc!,m! ,">8HU0(B‡#JHE ȱǏ CIƒ(S|0cʜI&nj[Y$ώ8qfC3Xӧ;Y d3uT!LpOH  6(VgӒ*$o"!3.]R`VH̢K_D0J$xPLl#5v^|z;ݺuS3[|tlW^CFiym$IMNMy kH՜sZu \U;źس={|%_־;yqHE@ mq Ave- D JHх qh6P=X$A"V@"f5P*ы(i5a `6am:FcHDiѓ0h\A9΄&TRxW8HHa@! ,m!,m!,m!,m!,=.8(P *4Ç#PD'^ȱǏ Ctqɓ(S\ɲ˗0cpPfMo3"lzhKH A(Dd&K>hTeWT"(Jv`Q&պV`V0vۨHu ,Ѯg!E\Q dTµL>*qBqu޼I.ǫf{2@ף!Cv U.Xo;0E/\dqCv=@ xC lv(aϢ"3ѺxG{WizGT^q} ]"f^Jvw!,>-8@ *4Ç#Jb`ʼn3jȱǏ/Iɓ(S\ɲK]8s`̗8sJd3N "Pa+HI@(NIzYԫ @jTRNBJVXP&%gOQ I ZvءoBK+)O$Ol}Xd@٤&ZM-o^uԘaQF0)ȣ}n7'w;0(p\'&ht1@.W ?KP:_Y.xsh繦%~=]| g_BNGvٍހy$@ݥSe%@aC!,k9 H*\ȰÇ#JHŋ3PaqcƏ CIɓ(S\ɲ˗0cTs@2sɳϟ@ JѣH*]ʴӧPJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻ 9W^LÈ+j ŐC889e@Ayd(CEi$Sk+}VPޝR6#"Pk`_^vitμzF3Fـɲ[?TzA3&hHF4BoP(ɶvԝD2~Fnט@AwхA('PF}a]4Za{(ȣHȜr3*^BD.D(K6ɟC cCIu%4~ Y2db&&:pB {^-Hb4't"^ԭC֪k]>].Jo{k*A!,m!,C H*\ȰÇ#JHŋ+ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹9!-8DQ հ}Mma6;셪Vq˛\@ORbqnU[_u5ճg~}.=y-$}e^6 b`Az Mw?!ajǟ@ FbQcdRk!2\YPkm#rpБى֚iXPt!)tna__aN9bCƤAOA^Q.Ga-ir2W)J)Y;HAZQZ hITِh"fhB)Ψzf-zxu֛)j"2dZJS1KD m[^-MV6XH@Pm~[KIC7i:vIi>䬽'֯K)JCObI@ȶcѻf*xc 5̦FZ& z*HL.M ՛sE˜'S5(–.m.65"ƚI-Ak b$J:vA-z(uAQŠZ6AlK6b~j]7 DM>!z"}xIJyABiu"ʎ{zkg样`,w0Q}]D)_ΛGbBKnSřE녩XdbU<#b WR;)ac86-U7nG=%e.yz,NF&pEb!fkv[.&RLu h, 8Mt8xvh<,׉#;,76kp i.}t8;4GG;iB:k~2^ p?SGm=vBb'uf x 7w~BwMsh^kiN ahۛأl{_im?[tmR&䡖5jȺӫLQ< nzCj\+/A ZlNȄlQ\9O.ªVVj.YKuڮoG"E-#`>S| : .o{- +O'ANzSs)ǻvtUVQ:^̐scAyzcW֭*tȣ>7W!@݌=v{ח` ]bޞq^ud!oW侤_l ߉ _e 4\׏y꓿ClR>ȗ\(z|އ^~Qp.WC$#')N:YYF* xMR&,*wqAtA8#tDfGD+x&(FmSA1h;҃#RwcD1BTtA1jB16A3(RRQ!6h&DcicE/GgWfp8'&Bc%sBIhr('Ht5?C 3z0#p5n4ˆ"a)(:4&5@bb>4 ֈD3SS5c@{&;WAC8|CdI:(9!7mB3SD.pHr:OhYe3!j'!Tc0:o7=FabC%/!q S y扽Vn(ٷp<('{H gBC.A7 ic68+PuB86:9u0 *IĸGʅO~8O'|),k雰YJ|popQyE&!^_iu t#y|2Pa%8ftxG*Dd_fq׎xb=A)뙠)N~tLDtMq\!zel# z Cg;u8V-/yHnk 4d0zjg*B3{2H XCaC{HVË1DTbRdh#я.Ylڦӣnr:tIXzC~Z!,'K*\ȰÇ#JLe 3jȱǏ + Â&S\ɲ˗I̓W@yϟ@ sQ$<ʴӧPJJ*UVjUuׯKSfӪ]˶#ɶpʝKݻxe6F)j+^̸ǐLJ!,2\/H*\ȰÇ#JHE.jȱǏ CIɓ(S\ɲ˗0cʜI6sɳϟ@ JѣH*]ʴ$ΦPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^,6@#K qŧSb|2T(CMia :#h=\-S(cͻh76J^̣KNسk^:w޿`wI{yϫ{|ͺ*}oy~(h& 6F(Vhfv ($h(b<!,A+H*\ #JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJի*`ʵׯ`ÊKٳ/]˶mG(nʝK]jF(Wa_ Laˆ<1Їp;nɘ3󔬹ϠCMӨrVi԰U\v۸B@ސs ȵ_|oH"1'ONv嵐j~ۏ+?^to޾>߀tQ`օzV(x=Hv5@u(W=A,萆.(22"8!,m!,m! ,m!,m!,m!,?0QH*\  2HŁXeȦŏ /5$(S p#)UTr IR6 F/Yٳ(EdH4t"fU/ʵ`Q/ ҵͤ%UTY]sɻKΥ'ةdei쨜C V)wC/L٨ʘ3[0 !,m! ,m!!,0o  D @Qh ).|0BD /X†#N qƎcpK)sJh‡)=$81ks&BH&9tgBfŪB! ,m!,0 AA ŊC6" HfTŋ&tHcD-3 +6dP#ɐ'*D!K`1¨WR$F4Ym Ɂ1jС*$rIHDhўMVfڀ!,u,H*\ȰÇ#JHq"*jȱǏ3I$Q&S\ɲ˗0cʜI͛8s "ϟ@ JѣH*]ʴӧP"J5Տ>✪׉\F*ٳhBdVC*\.rZm"߾E6*x¬xq 8!Jl<ϠCoς-yaGM0ikioinY[&|@ݭ,Ιԝ@u @ ̋DuY6Ljp=@ꋩk8@)( ݃ڕ7[Rf^RcB!bvY+7o ė}YYAk'of]&Ё (=o1eaC#BRBe}Spb#AvPtqf&5d%AfJ(Y@odqq2B}9}v!d&I""݈8#D@$!|A4ʁeU(ʷfej2:ʦ6*Q vbmd aY999+Ngf+- hAdAf؞nc9lHawci)+82`H(S :ێMC[cP][clsoݝx^I}Ya%J]93:\lq#S-بy'vYdg56 J$Oh`T4=uP!,%AH! \ȰÇ#Jeŋ3BTUVHɓ(S\ɲK^p`4,9`QFj$@@E)E EQd݊@O#$ @HUbیc\z+W ^5K IjE=8*UX*: SMuiϷxXqc?^-/ং?]Ϫ TSTֱV F3ŔMUZ\Azi%#B/RUB'Pʈ&X-V'ш{IB+&d$1P=C]EC6ib"dL:)EZr!,00H *\ȰÇ#JH"3jȱǏ CIdG&S`0AI͛*/~ԉĖ> J(Ex&HiD!b5*$@@E+("ɌKv$g"!9T[TIa:%Tn CJZlIItQ Io_h#)5.aYn] FRyd2ccv$uv rؽ!fTY]q(!oŗKF:@! ,$` H*\!#JHŋ3jDeGFHɅ!O\ɲ%I.cʜI16sL r ψ0uV)4aA-¨UXEI$@ #ScFKh|U9T[Z>\(dHMnJJ IqzgرylGj6b,V(-:8a[[z iҨ+c̄UڵEd [J:v}j⠍/ }s}8i4[`Jĵ˟OD#_ !,m!,0`A0UÇlD@ ($3#R I… 8D/!,T#Q%KdJQ(”q(;*9Ҥ>|)bљ?jTɞ{j$UW*ՊΓQX̴5lkQl*"Q2njR̸mŷXP`. ! ,+!H*\ȰÇ B!ń "xq+ (%LlHfT˗ I(8ȓ? l%5kB r(% \ɐ HgjSV:4IuBRG^URRMBlJ dԦCM `*C[mPI4l6ˣm `Ì4p@!,m! ,m!,m!,m! ,m!,m!,m!,m!,'/H@A#JH#6@CV3pɂPB,y%Aa0Ě3sꤸ0B$;[v\0QFRI$@ QdFeJ `^T)DXK Cרa DzRmZu먰yB(KߵQ3ֺj7SIY:u` #֬ci!jjܹ{Ws~sYO% vhtQƍ, B4سkv! ,m!,m!,/AHP DP0‡G%d"D (0$AbرઔW Q(S_YƁQX`II UsՁU iQU@zM$ڄԬFC m!݇Fq&yuD+pQ׽C:Uѻ?\Z0d="j/$ MH0QxS >h:)gӪ-k]iy gc6Z`r@A= QkOfT1[ `(HCNқq^D>z2!B!*vi=~ፁf8by{eW-~ "Qy@$!1(M#YU↊(7:}y1l26GYoUuG&ɠj^5%xU^9 /&iXq&)gBZsybpu}i eNq}2gN~G)=ybUEiXqZިՙ驗eb[*FTz"NjjiʪLJaP@!,8! HP  p@$"!A((DpGV $A#dQF8PGÍ3)% RT9SP{ؔ*QdXʋNWFI'YYVQWdzw_k\3!ށ}J)Æ7|o4gLpʱ~.Y$",ڀ!,m!,m! ,m!,##`*\ȰÇ#JT@E-0#Ł3G'\YdJ V*|)aH4bYN$AѧĜ "0 H@AA*XeJ#ӃJ "A@*2Ъ9T誁L͎2U+ll˱H%5"1w]85p$~ϦMK ĮS# +^B!X0g*յ֮N%\x-leI_=mW/d%;j3+†#V:}ǒ{Tl JT˯! ,m! ,m!,DB8LÇ*HQa…1 ƃPL2p"@ȅdhU#IĜt4CC(D?Jӫ25 %]gEMǶph-ƻZP@q^ -YthֿG> e&0灞+2A|S{mÛ.\:gU@4Wxxs/|-bDɷmM (6C˿vQ,I+u6SPfO{x~{X]NK&C!xKonZSemi-B!9=7!IUD`\7C)DH@HD +2 ;甋1 Y#c8 Ob`q$RQ[FSӡR2%Pbne8!1J'}cy9ډvtC 0MAJ2MA42cH \ȰÇ#JHŋBȱG>4bI! |aQ"W8f͛8s.ܨsa-GB Ǔ 9SfOdpHjӋJ:LRQKU. hC$`}UCv,؁S* υy"J0hnlaɖWEa& ʵ?wpDÛcŘ"dV<`͸X@oOǎ m#ܭa덡V>Õ3k=6pӉw{k :€!,06A!H*T(pÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜIfB!,m!,m 8P5 b:Fʼn^ȑaǎA8B$=Tre˔ c rfM4Y)ʟ!:TGDչT$SNz ψ":j>a٬#2T[lʝKݻxDF߿ LÈ+^̸ǐ p-S֧瞑CFtBQSk냬c}vjѫM]n_sYǓkE\ПKJ0س^aU?|A __> 5˝/QyiE'W~׀ օE_t!!Ja&H&!'W2"&h8y _H=6tFnY]2%dzs_Yiy&kI\Txd|9{ Z(y&bxeY&F>v'vUj٩d5AY}Z+qycPb@}56FGJ+{RIF(eJzK%pLkʅm 퉗vuGv%2ܘD'l7;|^K*[w1A.YBƤbdΥ|3"cvuI-@SqkWH zL4/P{LU?kO t-ohli.wų`-j7Ἑ8o7C[og7ח@d_HhXjlz᫨̲l5]nU2%X? "_V\c|@Y Q_ʟ~_?>%:MDQѭwUۯF 2Xf U,Ë UQP@s;]8(Ռ`@Hp' B.aa8C74*MnS6q0lA[s791ZaH*ZX|4Y]:ra\8/&D˄˒V@N cfozǗXQ i?: Qt4# w[.^&ZQKe|bAnNo[E11\H32"WE OxtR[  P1>lP_k{WFpX/vc)Q?Ő u0<Ę+6ζ:7 v+B<97|yi`mҥCmzw:ўfRsk?Nz3ԯ2t\0.'xc_%ٍ<ɷy]4Ry|-ecZN6bœZy ok{=][ּ-+,e]&q_ˍuG;_ou).Uƽ}RIhn1{~_牨itʞ 3?1!=lMs8jNeKz\)OUhs}REM6gZ`wu}vm8|X2nEh0BKץ\B'^(Xwm'*8$UqTȗYGzuuwDW}6wKqnQ~8(fЧVwGxƅUxxQd[euv_jD}w[5{$k5fe{7{!~؇7lw$^z Qda.kUHd1 blM&Wna{Ft(a<~OH5Im2wmъDhD9eJ[bDnUQ$NhexIpwV8HJJEw`?z!bK6l8WpnrqasW8M27s ;Q4ghׅIAugEvav~XUzxNU]LFLs"فH_wjXm7PFhw1xKMzg_gX1rz/\Dd6Jhoⵈ[]J quiM_i8_rjKyhhi~k˔nrw&W|QU&e!FhbPWeRWuXs%FI( XaZ8h#HYMHbJߵXiؒDUAٙWQubIetgwwh[OʸQ~/EK؎ؤWUm`䌽y~udArY,]9em6tYnٞY''ytqQe70|g!d}vo碿ח%IY臓 )\N[U$ YZX[5z|@菇hHTn%{NƦhe ky٦KfzxkufH \iye#06h_ENU5Lygً!U`EK?vN?&) :aXW bǝeqxnF?b{*eƈK:x)cHY(~mKjkttba`kE)mYu皀mN?y!C *tZGq[iC |y<uck[yg9 kb)z1EG|Ą% MvLhviT|{W]69^& ~:YT@ˤiis OrxS&KM$#$ \ jhg~E0)bZX~)SI,ULl 8wP!چ|joz:IZuX XVGsf|Wcui9)ʜHX8xvXk5)A:~  +:cjr-:cI6uyig N>OkING[ZY+sZ:9ke݋:kUj_i,LyrLJ{؅Q;\txOī TK}&;]J{I P(; Ö{u'< ]˸'8C ý(~tA9#h~VJ*1GLfֺ|mӔ3xn9ًHTm,t)8eP5rk qLj Ԫ/G"(v~% E`/UDPP %Ff#Ptҥn{Yh LjW\jõ˛OF;|m;Ď+uϼnolWQ}Z$X'qH^Q AQā1͑c\Z+I"me8Gľ $aɃYceaغ&F*F|ț"=ջ!wI6Sw!qi|gXkJI$$^ql̷,u(~Ќ3i<'@B>D^F~H|2JNPR>T^V~XZ\~ld`b>d^f~hjlnpr>t^v~x|~F~^jW芾Yې>J~阞难\˞#n^~ꨞ>撾~ۤ>^~$M踾"h! ,F H*\ȰÇ#JHŋ3jxPEǏ=rIɓ(S\ɲ˗0cʜI͛8sɳϟ ( E5TҦJիXjʵׯ`ÊR¡&T[-ٷpʝKݻx˷߿ LÈ+^̸ǐ#KL[1 ٲϠCMnO^ͺְv6-rvlo5 Nȓ+_^A53(}guקkbw ;~>_Ϟ4)%:`u$?#~ʫ]{ (-Ȑ V j^D!v,]( P@GK&J -B(*4c _F5v@:`ACiE dD7"]9Uㄒx\v`)dUdh1QXn)tgx|ygbg6h&J;2dVzۤ2aڗ)JXnŦU4D姖꫰Ԫe֚g2juf{ڗ&l=KQ Qk)a rkڣ>I[.覻'2kRwr]+Ndo]o"]Pc=Qz8hQA埁A"`}f(!2Ɵl&؅fjy+v7uqxu-(PcM@"vh$pFގPF)ey'$JitmiАSePr`Iei`8PeiCi4P|jIBt*t{> $AZ䕌2'Dp1xezʐfV"אp>jmy8ە*~ūBidѯ9$  WkܖцfVإD#^[mݘ2ZUUjˮ ]^%!f- ˩Bh*Jƅئem#+j;/yoEleQ-㒄ol!oԢY|-H߆e vًUxPׄj r9ТF{s]r aѺ;tȦ-Gˉq!ͷwy a3θ':4ǔWl{./Y:>k}z+̲n;;%C)5 Yor|@?/8SڧM{bb-~!,FH*\ȰÇ#Jxŋ3jȱǏ CIɓ(Sʗ0EB`LhLȜ1"t90 i(K(G BSO,- VP9J6#Ѓc$"p*5jp,˧-ہ]\Y;0ǐ &*PV-cF8 Ƞ '8W32V86gӰ>8zձstrfߘ>Jf!NΜ"˶Hn<^ t _Lݜ wO@խ.\$JAun>5Cxc7^| `E'؁CV؜ qWVj-T0-7 hy$B TZEEq-FH3"SأP ~aW@F'YAĭnfqXAtBhTsM 8tVޮzXY`mXʪ6iJ J(g- ,ضڗXK:fz"DwBIkGM jM;ذ +qs1S@vRgqf"rͱ[X0(8:/аܗ=wsELǵ,6R'GiUg5HA[aGrh3+6lݢr]Xݡȑ7A!,;EH*\!#JHŋbdqǏ FIɓ(S\ɲ˗0c\H7ɳkcGBS&%tЧTjĎ;Mj9J#B*Zm(P=.=;q[@wN&˸c80 awwS/p{O%_|kJ#q7HI Ep EI^5aDbQh(>X,@+@WT@#~A(dK$ۋYT{1olOViMc[ XvtAvTa$C ._~9P~٩XCZEá&E-4A gA b.hCx qJ %ʘyYP **Mr4PZ(g ]J5(K‚9hE9Uliꗚ[hA7N]Ykss~J&1fcu=b_YŗnTnJǯBB/`tźVSfm DHDs|k]Hx2#\\N1#\jՑ[eI,pjP3|&CV+]2NZ"m2"*ZArҡB4;{гi\nK@"'\֮LFBwx{ ZyմCRbf=3QӬmj{sIm~b9Q'B~F㶧6 :υHtP7C &949}tVzЛK"ʿ)ɥǮ/O*7H5Cro+FA )#\֗1uPp)NGp*$p TK2!I 3HPbMs!F1 8@ːG|4-.-L,4ȯ,IBu(Qa[Q>y/11\Ɣaq(C\chE:2)ٔ#|d!%@0qaHGk#IKzr\EԣV3%GLܒhr:I!y Tc8aq:H+u"eL8MqSIf6ѕAܤY= c&7Eq\ds:& Iwަ &}|& ЧX_{ς3 !,DH" \ȰÇ#JHŋ3jȱǏ C|pɓ(SV,˗0c.p@D Eϟ@#Ҍ2UB=Y )fЧPpԫXrtZ'ҁ \+ShӪ%蕪AKjJ 䚷߿OL'W+(`E]LY-͞~E\ϠCcTN|ro nM۸?[Y~eq^w]Hj]%Ёd]=h4y%~?>eϱmOrI9iHf՗f uFPz Q(ad B^i&ۇ$jw|'\AxWc1@7t ~9sϓK8xur& o/|wqmV]`˟پ`2}`AqT`FDF@aeA2[fxрP'Pvf" .gЃeϥbb4X/֊{wd5!H(B |_B~uxQ(Zuvx%Z;B;uc&% gHB$'5DemVEr!YVO(^JWfeh*oh')a ^ uGeDx- )Z顽fi8噦,,YIhe:Z˖IئVZZ(*%ʎheg#%_tlk[N^꾛^+z!.'IPOpYNZ@! ,m!,m!,m! ,m!,m!,B@$@ "HȐÄJX 1d5Ƌ-&$`1S\aK.f+gڌ0͉ FؑcПH*QA*iGub=uŗI#T:!NhxeģtRTruf޾˴ˮ*w])K-٤)P^v6eW%_揂|'Fdif\l0:)}f琕vOȣZoўh fUOʵޝ}58)%N%~uGҗVZ,x&ŤV+X!,m!",m!,m!,@@ @ BHpÄJ<` f,j" <8C'=\91"BH%(M6C^QϣH}h@J)seJQM&0R&:2a٩h1(Mߚ-Bu} ڄ 0CnJ{؉UcBNfPf8v3<>8`J%CX-/zYuS:94q[m>(&W'ۺbqɣ4[_{t KeL?5AD>1LgMV^mKu|KeuQMmQ+Ԉdj%҂ͶK(8C^1LA#}>bލc8J0X6褐6xI(W^M6dBFՏTIP5Zy(Ig|N6ٗry%Yen3zI#jb)\աvbBXXIatFŘ痃z蛝e`v'ZERb/FtW )&Fk6%];jx>-DsT$hryKB-Z^-G?v[G!,m!,m! ,m!,m!,D@$@ "HȐÄJ|  f4j"^$!&ȲKp!/sfN$D]t)P> :$UO'sA,/\q$Sy^]ؐcFT(̗>J|Sݶ.Lމ {„Haįۮ, Bn)mS8XRh?^X"G-uf*y.1A4O@v'fK"ʇr֏VwDf^}p UJDZPe}5]WV& RVRF1g幔_A<מG H#w8jx"A͵kH @c7"C!őOPfH.5vXm%8iXhdL#PxI XjG)`~"'7|& r%zUFZ^JW R2ꦒm&j{w;栦pVjHb jN\N.*,zh/ڒ UO"kwf6S@!,m!!,m!,m!,D@ @ BHpÄJ|` f,j" $X%Ȳˈa 0(8leǏ9Y&8XE{]ʴ).`UpӫAi\*ʄ\=F0$WwJT[25-XQ*Ʉ;zjUz ~;(È'er.>v֙^ynU^% QTM`Yd9fBҠJ=:Vxpn׺B~7ނeW<>ٹԛ.4wznM/^#w5M>Nw0 Q咀wp '[J½W'TnǐzaWK]KIE"N$P,'Rw~ [|9E0 +(B2I(mc9F<)z8#X.iԄ(d)9cBXHjyWOmFP>>.!, X^ ^5)fdd9(]*ɦQy-ch6ʒw6g*BHSDvYzēO9khEcqڛ$rN(4[ i(kɊ-Ki[P׶gGז!߶@ū9 @@!,m!,m!,m!,D@$@ "HȐÄJ|  f4j"^$!&ȲKp!/sfN$D]t)P> :$UO'sA,/\q$Sy^]ؐcFT(̗>J|Sݶ.Lމ {„Haįۮ, Bn)mS8XRh?^X"G-uf*y.1A4O@v'fK"ʇr֏VwDf^}p UJDZPe}5]WV& RVRF1g幔_A<מG H#w8jx"A͵kH @c7"C!őOPfH.5vXm%8iXhdL#PxI XjG)`~"'7|& r%zUFZ^JW R2ꦒm&j{w;栦pVjHb jN\N.*,zh/ڒ UO"kwf6S@!,MH*\Ȱ!A#JHŋ3jȱǏ CIIHN\#DZʔr͛8sS%QԬϢHOӧPJ9Wjʵׯ`Êe@R]˶۷pLQܻx˷o pÈ+^̸ǐ#KL.SjyϠu5ӨS5Fք{ZykոsJw.;P`ZfM\noCgYhӳkνU6Hӫ/mmO_؟5 [W߁&Pu VxfYUN7@ d`ǝ$j[0TUjFq#arNL6Zo#HaT~`Vx_dehXZ1֘g3WIg^uנ;!TbF!9fJ@:NES~* ڕZT*XꅩsS*͖H9kGPo$%[1D:.vۥ2՚qABlwV)E{["v*3 |d!KD 7l*w1[8BӨpR8 F 4rT΋#mřsR\ڼy:E3M ЧNJ1Eua'd1[u}1t; )wdK k|mm4V2J#.98&E(W8W+Ks"*+ @lQkW!.\5D_,kc3:V-t9ݪ<Зv{D~Qwdd^77iT~A>/{沢2 h^ˤmePwYVĤƂ/e-V1XftC&ZA Mh>4^3 *1o!c(=[ZEB8.b2DasW6'8Et"œpY7$LY SAnDYIU9Fnc9H:R,9#4rIT$#Lb TNe,1iUZ%H÷2HRĎ%iKಒt%*IYrɄ)9%LXÌ"/!"KTӗ\U9 R\zJR7%hu)J.Mh_RҒMt+bdtj;2k]\3||9f#7Ҭ1N))< U!KRS1X؇^q)`>B<c  ,R/wtAv- a\ Ni9w "=ngɢ >βXEpb@"{ί\5+ET{GBK9JA{<ct=gh^XϤ"@ȃcf,06 L| 4ОYa,p " }ﳫla7 ֥11#6El{ [m hkm;& gﰉ{u{A߆<ֶ_M@M#NoRx4г5*h`ً!-93uk^wcI(B9`y)$_c>Ý5U,SW(~(Ն^^fV/7=桝ebǚZ4?qkenr+ O>t륨N隒nuslC˥k6g:3={;LK 4E?N铎F%7$З8R>пd}|/?]xƖ-4c~ ק;K{~ƞ?#z~u#4__ׯ߶{}Q{cb?z=yr!&cM4 43F1S6bDy ER3eo:Q73j!4:c-$E_h(A;CyB#-3EhRB.'9b gKD7CrYh3<7)QH" 6x{Ɓ b65K3؃%CB=ӄK4rp*۔[nMWp17s=V6o(r6\{,҆fȆvX_}86/y((bR1= ^xu+<: 5H؉8ZXX2(FcQET7m#xHZ6XqpH%facfyJq #8CS&PZH$E׸kQDBJdi 1eL1=4XW؈zȈ U8]H Y ӐT)CRh\Hy6"i6O(M؏;hQk((g^3=e4JHh{hH@i"2S7IthCIɓ;YEy.7yE&RvU(Yt،n$wmg>[UGm䆔Mp |o9lb57UTB1EiYgDFgs'E#jjF-uw:ؒe(̹Ϡ]dӨS^ͺװc˞M=oԭw޾4,7TЕNRֳkgËhOI%~?s}`'K\gϿd*߀hg 6U=(Vh}Exv`}#~h(,5&0ָX@!, ;%H*\ȰÇ#Jjŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊK,fӊE۷pʝK݇_!,}!B?H FHȰÇ#Jh ŋ3j܈Ǐ C,Q`ɑ(S\ɲ˗0c>"S㨚85"ɳO-ĹshÅsQE FI < ®JOz5>64[![d :0.&/ )R}-zkեZQO=\ڿOKt`߷;!S@*bטt~:p4Mqs&`җvZnڃ2t]M qf7/a޸>͒jMF>)揄!,}0B1a*\ȰÇ#JHÂ3jȱǏ CIɓ(S\ɲ˗1)͔5o$Isϟ@ JQ̩RN0ԡP>zׯ'aYby=dۦA!,m! ,m!,m!,y!.@HBHȰÇ!"Hŋ#`ȱcB(AzIɓ(Sq%1.cʜIc˚) QW9'ѓ-(tM QåzzAFq\Q&K%3͇k ̻4/A2L&P֭ac8VDcL ±&jjQ+m:!XiV1u_ԸPv[O3 $#wy3ϣC$>IM[Cॿh/p/Lyx3^.{e^ǖr-^I'q!gwgх'SϙēUryX^}]m2b^HW5ixQ@!,m!,m! ,m!,v!1MH Ç#B"ŋBȱdžHɓ(S\1 ˆ^D M)\Is Q9I0h¢%GJ `S]JT:pMDFr KդV9ERiı u>PȲ/;p$ܽst{Ud+" ''Ijrƴ-'he$7ofIげK_ \p$f/L*F =鶴ExyEӨQP8Anj"}o!BNQ7n$nz݇ڹs׎uwңGy}[nWEnPyBawUXGn7ŷ)4^t'F]vMh`XrMCQv7zTXiH wR0"^bgPpHTZ !ey*yAVceyҔՖM^6iIEy!W=֙IzTar)ٙQ@! ,}0;Ya*\Ȱ‚#JHŋ3jȱcBAz(r$Œ&S\ɲ.c"baĉaϝ@DѣH*b@! ,m!,]!!,m!,m!,m!,m! ,m!,m!,m!,vBOHA*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲA.cʜ&͛8sDQ>40чPZ"ӧP)իXL2ʡZsUXXQ4%TҞTF@RrM= H I,Y$^VhȽ+*LwCV7qf+Bֈ &<%cN%'L-&غGԧK|%E.A$?[%:cG jBpzs^`w w~T@!tfb ||/N-Ȓ|u8!,:4"O!H*\ȰÇ#JHŋ3jȱǏ CR Ɉ&O\ɲ˗0cʜ0͛8sɳC>LI3 ! ,T !,m!,W!!,m! ,8OH *\ȰÇ#JHŋ3jȱǏ CIɓ(S^˗Iă6m9gA<|h5B*]TbPJ2ħZeP 5ɒUA ֡v|4QX\"nj"3(5K1O}&(Y`„8^„m2vIc&.)FY4dH`uht (Xp+ܭqcZ &bwKO)Qoqjٗ-!Vflܶvթ{2w섲mb1Kߧ5‡)`oi^~$7}tJ!,(41` *\ȰÇ#JHŋ3j!A;Iɓ(S\ɲ˗0=ƜI͛8sɳϟ@ rѣHFHʴӧPS"8!,8OH *\ȰÇ#Jlaŋ3Ǐ CI"(S\ɲKVr˂sɞ@ Jt䘢ciҏJ!FaJЦӫXjXqׯ`ÊeTFMtKY-zbڙ ݂,K0-(Fb5xQz?EQ=&5 ߒJc.nxS  n%7;nL$L,2gRhѥ yk”I rbʹyvDM$(/M݁4lX ˻[oUQMCG߂ݗNP28RH! ,m!,m!,m!,m!,m!,m!,8OH`*\ȰÇ#JHŋ3jȱǏ CIɓ(S^˗YœID6s9'ƒ<UB*]ȚPJ2ħ!}R=U!P]MFNF_> 'VD8&$x# ѯ^E"@2pZu3K1ѧ, `ˇ.DkذMƃpHØ &8ۢH8trjH̦{͜BW4L0Mbx)o>=ݹݣN|ֆsk^M҃O^F]h{$7v4'!,:4K!H*\ȰÇ#JHŋ3jȱǏ CR Ɉ&O\ɲ˗0cʜ0͛8sɳC8!,X!,8OH *\ȰÇ#JHŋ3jȱǏ CIɓ(S^˗Iă6m9gA<|h5B*]TbPJ2ħZeP 5ɒUA ֡v|4QX\"nj"3(5K1O}&(Y`„LrԎra6;~$!鍍1 wk<{M44.IXdnZи@!@AnX02HU [jn4zYJo~1u{B$߀WtK%TG!,m!,m! ,m!,m!,n[rծUP † k)D(q!ʼn+*l1"F;^1I Q,#ć0t(%͔7+朩cM>wqeʢ'˟OoF:*ԪXjV^ÂەײhϪZmKw]qֲ߻ Lxˆ+NxƐKLyʘ/kyΠ?MzҨ7%ְ_ˎM{ڸo{meܥq׽V|櫉Kدk} Aϟ'W/_?_ g 6(} GFH bȠBy"_zhb^b+nb(,袍05WA@DMA"dKAגm1VP>)[T:YeWNiXre`~)fdzYfgihB4`A{yڝvz~ 蠂J衆Rv+E.(u4xUJ饖:7iM!iN)jݦ gjjZo燸/k*,5{9&""*mVKԨ@-j)nS4P肛;.ڤ/P+o+0O[plp<`Y_Y1 ,r$lr(rʄ)dj7:̳n,CMG̶lL"uS"5nu`KuT?K_͵imMlMl <@4qGI’dF(yMf!C8JjR)e+8 R$Q+b)ŦҔ|e+oKo-q Wì%X_RdFh)YJK(h撕q3)S$5YNb愧;Iyڳlg>\эF4c)_1hµEFWZ-Fc׶ֶy}(n[UmrkQ׮ e[K䞔xmm5N(-m:%ymB }_ͳ=tzN~_7}0 K3a[xp=a'oDT:z{ Sn%( uǯDcXMEm\ӧ(2F54F[BR 32ɚ=rfWe^w\%1kG⢬z^]C_MX4QDr)*V~cm:6X{VNp7UESkx牶( b,Z[-|bcuCaӮm˜Qbcn]hܳք4f2knwߍ$\܏ sgMd, O'N4˶.}{=nJ8Z']{le7nͮ =`}mö>p-JsB-xX=nS{Gqm- {iu֢,ٰZ-i_Z7{;kQ{LW6vQRh~Q46^utj{XxXkOyTeXxr6FV6UprpĖ#tZq5vz'Qnǂ2@\Eu gDwsG}Fk%Ve[#tZ1RN(gECQ1WueR3uI8nCqEcWfzl~efKȀivh8pd'_}X^7zIGu #7gB_WfFhUň`Rx{_7Wv#vQZ5`WvU@6R& m6\Hy6{lϦH^'Rl SxvFzwiڵeZfeee3XUdS8n:0o6܈tWX9K37\fWui XibeLek%w=֎oTEiiU\Ə hQP^z')RCŏ8wXhuTYU  )X TeHX,UtWz0(S?9qYCyFyHiY\Ȓ&vQfQȓq;ق֕dh '%9hꕉ`G=EUugXE4:XsSX\]dIWwRxUQť^iU9Tjk'OUr(Xv 3&gUI4ՙ-(pMU lyS{Y]|sEfCTuX0vV9_X&UUU 7"W) Qqi/P5Y9U~f9V8pkt߇?^V]ZQrSyQ婄HɞY|3R՗QRs7YfA UUfzn RG{#Z}enVa֢JxNS5|hQda~]TU?hx&sPr1fhٖ*\*hSEiUo&9d=hZXHT@OkUq^QskH]fWg^:XQ&kMTXxSnGަ}ybG{6kWyzAVeJ!Q0s:cnP*e`z?JQȨox[ǩˊqqEFc ׫&R7[o7z#ȁx|:@iẪex.g9VR0b%Q"xxkcxWpfTưNUb֧8sV&ngH$+ou}YoRNrV *xo4ZQgDŽ@jzjzՉ X|)tnڤhPa|GtŗG3鄛؀|s+ 6pwzc:К5~̶ggc/V3sw=jWz{vYg4ƏW|屍&|具 k&GE~&8%۠xsL^J/̸UZ0y*R; H˺dUa&:t*\BHSڛ[[W(k ۋSZdnuھ;cG[E }E}W]rEʤ[n@g|s[fgٳEFȨ{p~Y})<gErrz,*_eƜ:~'rV >>܇wS ʒRQLׅKtZxcb"0W 7ʸ]`\UlxQq :E[VY,t[skcx!UugUr9ɂ oIQ{pjȪǶӋs"6x{|U*rHQ WfQQ5lWzyX_ڽ܁zQlm5xQ[wFSEE6JYg0*^IՅU\wue]UYnX+e-l.N-!mgݹi6tTڂ&eU‰aӍDZ!՟gyU-֑nN#PNv~(f:iq<>>WbhGkbL4LÊ艾H:,WwfVum\ڶ-UŠ^^]{Dޛe ,Q㜾ێk߱ޝ=L4|d.^־;URhݤBՐ l {aM~iNc© h(f٫͂pzM'Ȣ}\GmbbMȾ,&(݃o3hOШ>A 6`h*/_5J8|ԽSKð'[X݅7=E_Gt)Zl ʁJ_Ǩ[SFI7`T@1D0@! XJ<,0@B <EDRJ-]T9LeIs`Ν"m pF:ETRKEmq1O/",Q UVnUK J+Dje[pT+FuYV P[q9B*6!H 0!`^mZ薂ՒFZj֭]n%ɐ ArvW=b?~$ZfZ$1+˛ -웬ʺ%G:oy?4m%CmZ|ǟ_Y'H9L{)8/B 'B /4*8㶃'*Vr% E? W $νihP-XEв[lp Ydqyk TԩnPRHBѼ[QL*#&|K#q(.QBӢ0GSYK@=O%+aI{J3HᴴQI4PkT ZpASOER*--XSu(9i@ǥ$8KC :H(Y9#)-eKղődhм,QVoISV;E!/9v(maNƵ~w_7 G[J\= 8%ز2UؓdI\"d%qj9o[ xGc)Քgd|@ĒJW>uҹ)̲:X;Ri醖::/\V &V:̴6cLvmK'b2nݳ4;\Xk/D]Q oUߤr{%`ʈ 8O[R5dpBo1{3pW#M]f=G7* j#}{.4؋l=U v4ܰYz-6]+lZzL6cΰ,ćJ·p~a 3&4G=1D*N H>>*Yr?M1!3 LA$1 TtVĉĀЮ™Bd"a'RM^2e9Ctbpd W{A$3QbD͕%$t $ i嶳6Aj*"o5Mxs֎ =^w{CɷLo1Nr/Ir_˱n.#+u dd6ƒq<$C>¯_4LAG`\ H-d 5Jƒnxa"Y0EFE-ȯ|,ENݬS+/u p :MЬFW-?4v` : #7`\V9 4%R4+2s嚦FD xvM+8AE~v4DEPP2{ R# U"xR~T|hFEOdLP!DNerUKǨH Fm.j % uǻ5f !bP)K:dK;"Y;^VABP5L{Ue`MlTYF˛._HDV׫ݕ_j#S1m O#MmoGZYj9n^W?oSYn62Jmkj[cR&[<;y*JT }%+cݪV{ԭ1jyid!*Lăi'aKQ:gLLܢ/mPS*Ŀo%fqժ&( L*%>N$"`lHlJm[$疵i 'rg>tv^6Gf#'>ro$h~z/8b,@$gN*M91(mꥮln +tx,6ǹ)A#j_~ȞYɨ͒=1I:+?!>twUN`}/R<y|dK43 2R=Imi``hċvhK, C n go5 ɖT "i#uG+6Y<[ rKJ># #l ȨD p?Q Kvdn9nGRvT] <-W1Qr )sST]8|Ijx՛$yTr[q)5DD3fPQdr*X*'ʿ{Ҕ8pInՅNrά5;ֆ]} 9$;=o$h1]*)X酘:S7 *HE%u*VK=M* Դg7OUV-%oo%VH#wW^)J~KC?Rc@B~QԛGG[Pd0:0أ"@`<1 ->< Jiջ>@$xAA$x1Y!?K1G> ⫐ !<" > T">+''TBv*2 *IW>6;wCDu;$$A L%t d@= cB  <2A3+!'kĶeZ;ķALQ;T!y=<"#s; 'bIDE֋"X#ZABC(d {]>`A<*):fc$,FC=E>(.#$3t3[z{|}෌$2+!#0k AWA~ȉȊq-! 82,2;*)sp#*% Q :13|4l{@lTEsF$JD*J4[: @sB? Jɩ 0<9< CJ@ž#j"Z""H|XgH{4FҰFLbK K}2kBw84Zasݠ% | # | Contributors : Denis Meiswinkel | # | URL : https://codeberg.org/vaporup/ssh-tools | # | Based On : http://www.commandlinefu.com/commands/view/1809/get-the-version-of-sshd-on-a-remote-system | # +-----------------------------------------------------------------------------------------------------------+ VERSION="ssh-version (ssh-tools) 1.9" ssh_opts=( -o "BatchMode=yes" -o "CheckHostIP=no" -o "StrictHostKeyChecking=no" -o "ConnectTimeout=16" -o "PasswordAuthentication=no" -o "PubkeyAuthentication=no" ) # # Usage/Help message # function usage() { cat << EOF Usage: ${0##*/} [OPTIONS] hostname EXAMPLES: ${0##*/} 127.0.0.1 ${0##*/} -p 35007 127.0.0.1 EOF } if [[ -z $1 || $1 == "--help" ]]; then usage exit 1 fi if [[ $1 == "--version" ]]; then echo "${VERSION}" exit fi SSH_VERSION=$(ssh -vN "${ssh_opts[@]}" "$@" -l ssh-version 2>&1 | grep "remote software version") echo "${SSH_VERSION#debug1: }" ssh-tools/cmd/go/000077500000000000000000000000001467604715500142005ustar00rootroot00000000000000ssh-tools/cmd/go/ssh-authorized-keys/000077500000000000000000000000001467604715500201225ustar00rootroot00000000000000ssh-tools/cmd/go/ssh-authorized-keys/main.go000066400000000000000000000153731467604715500214060ustar00rootroot00000000000000package main import ( "bufio" "encoding/json" "encoding/xml" "flag" "fmt" "golang.org/x/crypto/ssh" "log" "os" "os/exec" "sigs.k8s.io/yaml" "strings" ) var usage = ` Usage: %s [OPTION] [ ...] Collects info from authorized_keys files from every user it can find OPTIONS: -j --json output JSON -J --jsonl output JSONLINES -r --rec output RECUTILS -x --xml output XML -y --yaml output YAML --version show version information ARGUMENTS: file authorized_keys file ` var options struct { version bool json bool jsonl bool xml bool rec bool yaml bool } type User struct { Name string Password string UID string GID string GECOS string Directory string Shell string } type AuthorizedKey struct { Name string Directory string File string Type string FingerprintMD5 string FingerprintSHA256 string Comment string Options []string IsCA bool } var Users []User var authorizedKeys []AuthorizedKey var Version string = "ssh-authorized-keys (ssh-tools) 1.9" func printVersion() { fmt.Printf("%s\n", strings.TrimSpace(Version)) } func getent_passwd() { cmd := exec.Command("getent", "passwd") stdout, err := cmd.StdoutPipe() if err != nil { log.Println(err) } scanner := bufio.NewScanner(stdout) err = cmd.Start() if err != nil { log.Println(err) } for scanner.Scan() { line := scanner.Text() // skip all line starting with # if equal := strings.Index(line, "#"); equal < 0 { lineSlice := strings.Split(line, ":") if len(lineSlice) > 0 { user := User{} user.Name = lineSlice[0] user.Password = lineSlice[1] user.UID = lineSlice[2] user.GID = lineSlice[3] user.GECOS = lineSlice[4] user.Directory = lineSlice[5] //user.Shell = lineSlice[6] Users = append(Users, user) } } } if scanner.Err() != nil { cmd.Process.Kill() cmd.Wait() fmt.Println(scanner.Err()) } cmd.Wait() } func get_authorized_keys(authorized_keys_file string, name string, directory string) { _, err := os.Open(authorized_keys_file) if err == nil { authorizedKeysBytes, err := os.ReadFile(authorized_keys_file) if err != nil { log.Println(err) } for len(authorizedKeysBytes) > 0 { pubKey, comment, options, rest, err := ssh.ParseAuthorizedKey(authorizedKeysBytes) authorizedKeysBytes = rest if err != nil { log.Println(err, "in", authorized_keys_file) continue } isCA := false for _, option := range options { if option == "cert-authority" { isCA = true } } authorizedKey := AuthorizedKey{} authorizedKey.Name = name authorizedKey.Directory = directory authorizedKey.File = authorized_keys_file authorizedKey.Type = pubKey.Type() authorizedKey.FingerprintMD5 = ssh.FingerprintLegacyMD5(pubKey) authorizedKey.FingerprintSHA256 = ssh.FingerprintSHA256(pubKey) authorizedKey.Comment = comment authorizedKey.Options = options authorizedKey.IsCA = isCA authorizedKeys = append(authorizedKeys, authorizedKey) } } } func main() { // CLI flag.Usage = func() { fmt.Fprintf(flag.CommandLine.Output(), usage, os.Args[0]) } flag.BoolVar(&options.version, "version", options.version, "Show version information") flag.BoolVar(&options.json, "j", options.json, "Output JSON") flag.BoolVar(&options.json, "json", options.json, "Output JSON") flag.BoolVar(&options.jsonl, "J", options.jsonl, "Output JSONLINES") flag.BoolVar(&options.jsonl, "jsonl", options.jsonl, "Output JSONLINES") flag.BoolVar(&options.rec, "r", options.rec, "Output RECUTILS") flag.BoolVar(&options.rec, "rec", options.rec, "Output RECUTILS") flag.BoolVar(&options.xml, "x", options.xml, "Output XML") flag.BoolVar(&options.xml, "xml", options.xml, "Output XML") flag.BoolVar(&options.yaml, "y", options.yaml, "Output YAML") flag.BoolVar(&options.yaml, "yaml", options.yaml, "Output YAML") flag.Parse() if options.version { printVersion() os.Exit(0) } files := flag.Args() find_all_files := true if len(files) > 0 { find_all_files = false } if find_all_files { // Get all users getent_passwd() // Now we have a list of users // Iterate over each of them to // get their info and authorized_keys file for _, u := range Users { authorized_keys_file := u.Directory + "/.ssh/authorized_keys" get_authorized_keys(authorized_keys_file, u.Name, u.Directory) } } else { for _, f := range files { authorized_keys_file := f get_authorized_keys(authorized_keys_file, "N/A", "N/A") } } // XML Output if options.xml { xmlBytes, err := xml.MarshalIndent(authorizedKeys, "", " ") if err != nil { log.Println(err) } xmlOutput := string(xmlBytes) fmt.Println(xmlOutput) os.Exit(0) } // JSON Output if options.json { jsonBytes, err := json.MarshalIndent(authorizedKeys, "", " ") if err != nil { log.Println(err) } jsonOutput := string(jsonBytes) fmt.Println(jsonOutput) os.Exit(0) } // JSON Lines Output if options.jsonl { for _, authorizedKey := range authorizedKeys { jsonBytes, err := json.Marshal(authorizedKey) if err != nil { log.Println(err) } jsonOutput := string(jsonBytes) fmt.Println(jsonOutput) } os.Exit(0) } // YAML Output if options.yaml { yamlBytes, err := yaml.Marshal(authorizedKeys) if err != nil { log.Println(err) } yamlOutput := string(yamlBytes) fmt.Println(yamlOutput) os.Exit(0) } // RECUTILS Output if options.rec { for _, authKey := range authorizedKeys { fmt.Println("") fmt.Printf("%s: %v\n", "Name", authKey.Name) fmt.Printf("%s: %v\n", "Directory", authKey.Directory) fmt.Printf("%s: %v\n", "File", authKey.File) fmt.Printf("%s: %v\n", "Type", authKey.Type) fmt.Printf("%s: %v\n", "FingerprintMD5", authKey.FingerprintMD5) fmt.Printf("%s: %v\n", "FingerprintSHA256", authKey.FingerprintSHA256) fmt.Printf("%s: %v\n", "Comment", authKey.Comment) fmt.Printf("%s: %v\n", "Options", authKey.Options) fmt.Printf("%s: %v\n", "IsCA", authKey.IsCA) } os.Exit(0) } // DEFAULT Output for _, authKey := range authorizedKeys { fmt.Println("") fmt.Printf("%-20s : %v\n", "Name", authKey.Name) fmt.Printf("%-20s : %v\n", "Directory", authKey.Directory) fmt.Printf("%-20s : %v\n", "File", authKey.File) fmt.Printf("%-20s : %v\n", "Type", authKey.Type) fmt.Printf("%-20s : %v\n", "FingerprintMD5", authKey.FingerprintMD5) fmt.Printf("%-20s : %v\n", "FingerprintSHA256", authKey.FingerprintSHA256) fmt.Printf("%-20s : %v\n", "Comment", authKey.Comment) fmt.Printf("%-20s : %v\n", "Options", authKey.Options) fmt.Printf("%-20s : %v\n", "IsCA", authKey.IsCA) } os.Exit(0) } ssh-tools/cmd/go/ssh-sig/000077500000000000000000000000001467604715500155555ustar00rootroot00000000000000ssh-tools/cmd/go/ssh-sig/main.go000066400000000000000000000072431467604715500170360ustar00rootroot00000000000000package main import ( "flag" "fmt" "os" "os/exec" "os/user" "path/filepath" "strings" ) var options struct { version bool namespace string keyfile string sigfile string } var key_names = [...]string{ "id_ed25519", "id_ecdsa", "id_rsa", "id_dsa", "id_ed25519.pub", "id_ecdsa.pub", "id_rsa.pub", "id_dsa.pub", } var usage = ` Make ssh-keygen -Y simpler Usage: %s COMMAND OPTION OPTIONS: -h --help --version COMMANDS: sign create signature check check signature HELP: sign --help check --help EXAMPLES: %s sign file.txt %s check -s file.txt.sig < file.txt cat file.txt | %s sign > file.txt.sig cat file.txt | %s check -s file.txt.sig # Sign multiple files %s sign file1.txt file2.txt [...] # Use another key for signing %s sign -f ~/.ssh/id_rsa file.txt # Use a public key. Private Key for signing then comes from ssh-agent %s sign -f ~/.ssh/id_rsa.pub file.txt ` var warning = ` Missing command or option! %s --help ` var Version string = "ssh-sig (ssh-tools) 1.9" func printVersion() { fmt.Printf("%s\n", strings.TrimSpace(Version)) } func main() { exeName := filepath.Base(os.Args[0]) usage = strings.ReplaceAll(usage, "%s", exeName) warning = strings.ReplaceAll(warning, "%s", exeName) // Exit early if there is no ssh-keygen binary, err := exec.LookPath("ssh-keygen") if err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } // Find SSH Keyfiles of the current user // Use the first we can find usr, _ := user.Current() homedir := usr.HomeDir for _, key_name := range key_names { key_file := filepath.Join(homedir, ".ssh", key_name) if _, err := os.Stat(key_file); !os.IsNotExist(err) { options.keyfile = key_file break // use first keyfile we find } } // Set of flags for subcommand sign sign := flag.NewFlagSet("sign", flag.ExitOnError) sign.StringVar(&options.namespace, "n", "file", "namespace") sign.StringVar(&options.keyfile, "f", options.keyfile, "Private or Public SSH Key") // Set of flags for subcommand check check := flag.NewFlagSet("check", flag.ExitOnError) check.StringVar(&options.sigfile, "s", "", "sigfile") check.StringVar(&options.namespace, "n", "file", "namespace") // Switch on subcommands, then apply the desired set of flags. if len(os.Args) < 2 { fmt.Fprintln(os.Stderr, warning) os.Exit(0) } switch os.Args[1] { case "--help", "-h": fmt.Fprintf(flag.CommandLine.Output(), usage) os.Exit(0) case "--version": printVersion() os.Exit(0) case "sign": if err := sign.Parse(os.Args[2:]); err == nil { args := []string{"-Y", "sign", "-n", options.namespace, "-f", options.keyfile} for _, file := range sign.Args() { args = append(args, file) } fmt.Fprintln(os.Stderr, "namespace :", options.namespace) fmt.Fprintln(os.Stderr, "keyfile :", options.keyfile) fmt.Fprintln(os.Stderr) cmd := exec.Command(binary, args...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin execErr := cmd.Run() if execErr != nil { panic(execErr) } } case "check": if err := check.Parse(os.Args[2:]); err == nil { args := []string{"-Y", "check-novalidate", "-n", options.namespace, "-s", options.sigfile} fmt.Fprintln(os.Stderr, "namespace :", options.namespace) fmt.Fprintln(os.Stderr, "sigfile :", options.sigfile) fmt.Fprintln(os.Stderr) cmd := exec.Command(binary, args...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin execErr := cmd.Run() if execErr != nil { panic(execErr) } } default: fmt.Fprintln(os.Stderr, warning) os.Exit(0) } } ssh-tools/cmd/perl/000077500000000000000000000000001467604715500145355ustar00rootroot00000000000000ssh-tools/cmd/perl/ssh-last/000077500000000000000000000000001467604715500162735ustar00rootroot00000000000000ssh-tools/cmd/perl/ssh-last/DOC.md000066400000000000000000000061161467604715500172260ustar00rootroot00000000000000### NOTES - The ```-?``` option requires ```perl-doc``` otherwise the full source code is shown instead of the trailing POD only - Documentation like manpages can be created with ```pod2man``` or similar tools ### TESTS ```ssh-last``` was (except the strikedtrough ones) successfully tested on the following systems: - FreeBSD - DragonFlyBSD - OpenBSD - pfSense - 2.6.0 - OPNSense - Guix - 1.3.0 - Slackware - 15 - AlmaLinux - 8 - 9 - nixOS - vyos (Debian) - Parabola - systemd Edition - ~~openRC Edition~~ - Manjaro - Mageia - 8 - Arch - Alpine - Fedora - 34 - ```dnf install perl-Time-Piece``` - 35 - 36 - 37 - CentOS Stream - 8 - journal not persistent - ```dnf install perl-Time-Piece``` - ```dnf install perl-Memoize``` - 9 - journal not persistent - Oracle Linux - 8.7 - journal not persistent - no Perl installed - ```dnf install oracle-epel-release-el8``` - ```dnf install perl``` - ```dnf install perl-Time-Piece``` - ```dnf install perl-Memoize``` - 9.1 - journal not persistent - no Perl installed - ```dnf install oracle-epel-release-el9``` - ```dnf install perl``` - Rocky Linux - 8.6 - journal not persistent - ```dnf install perl-Time-Piece``` - ```dnf install perl-Memoize``` - 9.1 - journal not persistent - Devuan - 2 - 3 - 4 - 5 - Debian - Sid - journal persistent - https://micronews.debian.org/2021/1628949223.html - Bookworm - journal persistent - https://micronews.debian.org/2021/1628949223.html - Bullseye - journal persistent - https://micronews.debian.org/2021/1628949223.html - Buster - journal not persistent - Ubuntu - ~~14.04~~ - Too old: sshd logs ```Disconnect``` in other format (and without port) - 16.04 - journal not persistent - 18.04 - 20.04 - 22.04 - Raspbian - Bullseye - Parrot - 5 - PureOS - 9 - 10 - Pardus - 21.3 - Trisquel - 9 - 10 - OpenSuse - TumbleWeed - Leap - 15.2 - journal not persistent - has logfiles - 15.3 - journal not persistent - has NO logfiles - 15.4 - journal not persistent - has logfiles again - void Linux - no Perl installed - ```xbps-install perl``` - no journalctl - no logfiles - https://docs.voidlinux.org/config/services/logging.html - ```xbps-install rsyslog``` - ```ln -s /etc/sv/rsyslogd/ /var/service``` - /var/log/messages - log format of OpenSUSE leap matches ### REFS - https://www.golinuxcloud.com/enable-persistent-logging-in-systemd-journald/ - https://linuxconfig.org/introduction-to-the-systemd-journal ### TODOS - OSX - https://stackoverflow.com/questions/334686/how-can-i-detect-the-operating-system-in-perl - ```sw_vers``` - older editions (10.8.5) still have /var/log/ and could be made to work - ```cat /var/log/system.log``` - newer editions use syslog or some log command - https://stackoverflow.com/questions/43382825/where-to-find-sshd-logs-on-macos-sierra - https://discussions.apple.com/thread/7910499 - https://discussions.apple.com/thread/1735247 ssh-tools/cmd/perl/ssh-last/ssh-last000077500000000000000000001376011467604715500177670ustar00rootroot00000000000000#!/usr/bin/env perl # +-------------------------------------------------------+ # | Title : ssh-last | # | Description : like last but for SSH sessions | # | Author : Sven Wick | # | URL : https://codeberg.org/vaporup/ssh-tools | # +-------------------------------------------------------+ my $version = "ssh-last (ssh-tools) 1.9"; # Die Implementierung dieser Software beruht ganz oder in Teilen # auf Konzepten und Ideen, die mit freundlicher Genehmigung der Firma AB+M GmbH # mit Sitz in Karlsruhe (Deutschland) dem firmeninternen Python-Skript ssh_last entnommen wurden. # The implementation of this software is based in whole # or in part on concepts and ideas taken from a Python script called ssh_last, # by courtesy of the company AB+M GmbH, based in Karlsruhe (Germany). # ************************************************************************** # # "You may sometimes find that others have made # more of your ideas than you have yourself" # # -- Tim O'Reilly # # http://radar.oreilly.com/2009/01/work-on-stuff-that-matters-fir.html # # ************************************************************************** # Divergence to the original: # =========================== # # 1) Perl instead of Python # # 2) Works on a broad set of operating systems not only the latest Ubuntu # - Major GNU/Linux distributions # - Niche GNU/Linux distributions like guix, void, etc... # - Major BSD distributions like OpenBSD, FreeBSD, DragonFlyBSD, # works even on Firewall appliances like pfSense and OPNSense # # 3) Uses systemd's journal by default and logfiles only as a fallback # when run on Non-Linux or Non-systemd Linux systems # and you can even pipe in the logs. # # 4) The algorithm to reconstruct SSH sessions works differently: # # Some distributions, especially some BSDs, do different privilege separation # which results in changing the PID during login phase for a normal user connection # # https://security.stackexchange.com/questions/115896/can-someone-explain-how-sshd-does-privilege-separation # # Relying upon PIDs is therefore not very robust # because you can't map login and logout session afterwards anymore # so a different algorithm using TCP ports was used instead # (the port stays the same during the whole session including login phase) # # Also, finding the logout timestamp is implemented in a more precise fashion: # # The original version fetches just the last log of a PID # which sometimes creates a false positive # when a SSH session was not closed cleanly and the PID was recycled for another SSH session. # # This implementation therefore uses a counting algorithm # to piece together a SSH session by its Accepted and Disconnected logline # # More info: https://utcc.utoronto.ca/~cks/space/blog/linux/OpenSSHDisconnectLogging # # 5) The "Known" and "Ignored" mechanics are implemented # in a hierarchical filesystem manner instead of hardcoding them into the script # # 6) The output includes some flags which give a hint about which auth type was used: # # e.g: # # (C) sshd authorized login via (c)ertificate # (K) sshd authorized login via public (k)ey # (?) sshd authorized login via some other type (password, pam) use strict; use warnings; use Memoize; use Pod::Usage; use Getopt::Std; use Data::Dumper; use Time::Piece; use Time::Seconds; use File::Basename; use Term::ANSIColor; $Data::Dumper::Sortkeys = 1; # +-------+ # | USAGE | # +-------+ sub print_usage { pod2usage(); return; } sub print_usage_full { pod2usage(-verbose => 2); return; } if ( defined($ARGV[0]) ) { if ( $ARGV[0] eq '--version' ) { print("$version\n"); exit; } if ( $ARGV[0] eq '-h' or $ARGV[0] eq '--help' ) { &print_usage; exit; } if ( $ARGV[0] eq '-?' ) { &print_usage_full; exit; } } # +---------+ # | OPTIONS | # +---------+ my %opts; my $show_all = 0; my $colors = 0; my $debug = 0; my $show_fingerprints = 0; my $show_cert_ids = 0; my $show_host_in_clear = 0; my $who_mode = 0; my $use_logfiles = 0; getopts('acdfilnw', \%opts); $show_all = 1 if $opts{a}; $colors = 1 if $opts{c}; $debug = 1 if $opts{d}; $show_fingerprints = 1 if $opts{f}; $show_cert_ids = 1 if $opts{i}; $show_host_in_clear = 1 if $opts{n}; $who_mode = 1 if $opts{w}; $use_logfiles = 1 if $opts{l}; # +---------+ # | REGEXES | # +---------+ # # (default) # # These very likely change further down the code for different operating systems my $matches_login = '^(?\w+\s+\d+\s+\d+:\d+:\d+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Accepted\s+(?\S+)' . '\s+for\s+(?\S+)' . '\s+from\s+(?\S+)' . '\s+port\s+(?\d+)\s+ssh2:?\s*(?
.*)' ; my $matches_logout = '^(?\w+\s+\d+\s+\d+:\d+:\d+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Disconnected' . '\s+from\s+user\s+(?\S+)' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; my $matches_cert = '^(?\S+-CERT) (?\S+)' . ' ID (?\S+)' ; my $matches_key = '^(?\w+) (?\S+)' ; # +-----------------+ # | DATA STRUCTURES | # +-----------------+ my %session_ids_counter; # Self-created IDs # from network port and count of its occurence # in chronological order from logfiles # # Example with Port 1234 # # - First occurrence in log -> ID = 1234-1 # - Second occurrence in log -> ID = 1234-2 my @ssh_session_ids; # List to store Login IDs in chronological order my %ssh_sessions; # Hash to store all the data we parse from logs my %last_session_at_port; # TCP Ports get recycled after many logins, # so store the last session to a used port # +------------------------------------------+ # | SUBS FOR DATE AND TIME STRING FORMATTING | # +------------------------------------------+ sub str2epoch { my (@args) = @_; my $str = $args[0]; #my $now = localtime; my $now = Time::Piece->new(); my $year = $now->year; # YEAR is missing in syslog timestamp, so add the current year. # # Example: "Aug 23 00:22:05" -> "2022 Aug 23 00:22:05" $str =~ s/^/$year /g; # Parse Timestamp string # # Force localtime instead UTC # https://stackoverflow.com/a/47722347 my $t = localtime->strptime($str, '%Y %b %d %H:%M:%S'); # If the timestamp is in the future, it is from last year. if ( $t > $now ) { $t = $t - ONE_YEAR; } return $t->epoch; } sub str2epoch_opensuse { my (@args) = @_; my $str = $args[0]; my $now = Time::Piece->new(); # Parse Timestamp string # # Force localtime instead UTC # https://stackoverflow.com/a/47722347 my $t = localtime->strptime($str, '%Y-%m-%d %H:%M:%S'); return $t->epoch; } sub format_seconds { # 1 year = 31557600 seconds my (@args) = @_; my $total_seconds = $args[0]; my ($hours, $hourremainder) = (($total_seconds/(60*60)), $total_seconds % (60*60)); my ($minutes, $seconds) = (int $hourremainder / 60, $hourremainder % 60); ($hours, $minutes, $seconds) = (sprintf('%02d', $hours), sprintf('%02d', $minutes), sprintf('%02d', $seconds)); return $hours . ':' . $minutes . ':' . $seconds; } # +-------------------+ # | ignored and known | # +-------------------+ my $matches_data = '\s*(?\S+)\s*(?.*)'; my @ignored_files = ( '/etc/ssh-tools/ssh-last/ignored', glob('~/.config/ssh-tools/ssh-last/ignored'), 'ignored', ); my @known_files = ( '/etc/ssh-tools/ssh-last/known', glob('~/.config/ssh-tools/ssh-last/known'), 'known', ); sub get_file_data { my $data_type = $_[0]; my %file_data; my @data_files; if ( $data_type eq 'ignored' ) { @data_files = @ignored_files; } if ( $data_type eq 'known' ) { @data_files = @known_files; } foreach my $data_file (@data_files) { if ( -r $data_file ) { open( my $file_fh, '<', $data_file ); while ( my $line = <$file_fh> ) { chomp($line); if ($line =~ /^\s*#.*/ ) { next; } # Ignore comments if ($line =~ /$matches_data/ ) { my $key = $+{KEY}; my $value = $+{VALUE}; $value =~ s/#+.*$//g; # Remove comment from rest of the line $value =~ s/\s+$//g; # Remove whitespace from rest of the line $file_data{$key} = $value; } } } } return %file_data; }; my %ignored = get_file_data('ignored'); my %known = get_file_data('known'); # +--------------------------------------------------------------+ # | SUBS FOR MAPPING A FINGERPRINT IN .ssh/authorized_keys | # | TO ITS COMMENT FIELD (using ssh-keygen -lf) | # | TO SHOW THE COMMENT IN THE OUTPUT INSTEAD OF THE FINGERPRINT | # +--------------------------------------------------------------+ sub get_ssh_keygen_data { my $fh = $_[0]; my @lines = `ssh-keygen -lf $fh`; return @lines; } # Caching the result, so the data does not need to be generated again and again. # Saves further unnecessarily calls of ssh-keygen. memoize('get_ssh_keygen_data'); sub detail_from_fingerprint { my $user = $_[0]; my $fp = $_[1]; if ($known{$fp}) { return $known{$fp}; } if ($ignored{$fp}) { return $ignored{$fp}; } # In scalar context, glob iterates through such filename expansions, # returning undef when the list is exhausted. # # So, we use a list first # # https://stackoverflow.com/questions/1274642/why-does-perls-glob-return-undef-for-every-other-call my @authorized_keys_files = glob("~${user}/.ssh/authorized_keys"); my $authorized_keys_file = $authorized_keys_files[0]; if ( $authorized_keys_file ) { if ( -r $authorized_keys_file ) { my @lines = get_ssh_keygen_data($authorized_keys_file); my $data = $fp; foreach my $line (@lines) { chomp $line; my @columns = split(' ', $line); my $fingerprint = $columns[1]; my $comment = $columns[2]; if ( $fp eq $fingerprint ) { $data = $comment; last; } } return $data; } else { return $fp; } } else { return $fp; } } # +--------------+ # | PARSING LOGS | # +--------------+ my $log_cmd_files_dragonfly = 'zgrep -hE "Accepted|Disconnected"' . ' /var/log/auth.log.6.gz' . ' /var/log/auth.log.5.gz' . ' /var/log/auth.log.4.gz' . ' /var/log/auth.log.3.gz' . ' /var/log/auth.log.2.gz' . ' /var/log/auth.log.1' . ' /var/log/auth.log' . ' 2>/dev/null'; my $log_cmd_files = 'zgrep -hE "Accepted|Disconnected"' . ' $(ls /var/log/auth.log* --sort=time --reverse)' . ' prevent-grep-to-wait' . ' 2>/dev/null'; my $log_cmd_files_secure = 'zgrep -hE "Accepted|Disconnected"' . ' $(ls /var/log/secure* --sort=time --reverse)' . ' prevent-grep-to-wait' . ' 2>/dev/null'; my $log_cmd_files_messages = 'zgrep -hE "Accepted|Disconnected"' . ' $(ls /var/log/messages* --sort=time --reverse)' . ' prevent-grep-to-wait' . ' 2>/dev/null'; my $log_cmd_files_alpine = 'grep -hE "Accepted|Disconnected"' . ' /var/log/messages.0' . ' /var/log/messages' . ' 2>/dev/null'; my $log_cmd_files_openbsd = 'zgrep -hE "Accepted|Disconnected"' . ' /var/log/authlog.6.gz' . ' /var/log/authlog.5.gz' . ' /var/log/authlog.4.gz' . ' /var/log/authlog.3.gz' . ' /var/log/authlog.2.gz' . ' /var/log/authlog.1.gz' . ' /var/log/authlog.0.gz' . ' /var/log/authlog' . ' 2>/dev/null'; my $log_cmd_files_freebsd = 'zgrep -hE "Accepted|Disconnected"' . ' /var/log/auth.log.6.bz2' . ' /var/log/auth.log.5.bz2' . ' /var/log/auth.log.4.bz2' . ' /var/log/auth.log.3.bz2' . ' /var/log/auth.log.2.bz2' . ' /var/log/auth.log.1.bz2' . ' /var/log/auth.log.0.bz2' . ' /var/log/auth.log' . ' 2>/dev/null'; my $log_cmd_files_pfsense = 'grep -hE "Accepted|Disconnected"' . ' /var/log/auth.log.6.bz2' . ' /var/log/auth.log.5.bz2' . ' /var/log/auth.log.4.bz2' . ' /var/log/auth.log.3.bz2' . ' /var/log/auth.log.2.bz2' . ' /var/log/auth.log.1.bz2' . ' /var/log/auth.log.0.bz2' . ' /var/log/auth.log' . ' 2>/dev/null'; my $log_cmd_files_opnsense = 'grep -hE "Accepted|Disconnected"' . ' /var/log/audit/latest.log' . ' 2>/dev/null'; my $log_cmd_journal = 'LC_TIME=C journalctl _COMM=sshd --no-pager -g "Accepted|Disconnected"'; my $log_cmd_journal_grep = 'LC_TIME=C journalctl _COMM=sshd --no-pager | grep -E "Accepted|Disconnected"'; # # Try first via journalctl # my $log_cmd = $log_cmd_journal; # # or via logfiles if requested by the user # if ( $use_logfiles ) { $log_cmd = $log_cmd_files; } # # Try different methods depending on operating system # my %os_data; $os_data{TYPE} = $^O; $os_data{ID} = '-'; if ( -e '/etc/pfSense-rc' ) { $os_data{ID} = 'pfsense'; } if ( -e '/usr/local/sbin/opnsense-shell' ) { $os_data{ID} = 'opnsense'; } if ( -r '/etc/os-release' ) { open( my $os_release_fh, '<', '/etc/os-release' ); while ( my $line = <$os_release_fh> ) { chomp($line); if ($line) { my @cols = split('=', $line) ; my $key = $cols[0]; my $value = $cols[1]; $value =~ s/"//g; # Remove all quotes: "10" -> 10 $os_data{$key} = $value; } } } if ( $debug ) { print Dumper \%os_data; } if ( $os_data{TYPE} eq 'linux' ) { if ( $os_data{ID} eq 'debian' ) { # Debian Buster misses grep support in journalctl # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890265 if ( $os_data{VERSION_CODENAME} && $os_data{VERSION_CODENAME} eq 'buster' ) { $log_cmd = $log_cmd_journal_grep; $log_cmd = $log_cmd_files if $use_logfiles; } } if ( $os_data{ID} eq 'pureos' ) { # Misses grep support in journalctl # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890265 if ( $os_data{VERSION_CODENAME} eq 'amber' ) { $log_cmd = $log_cmd_journal_grep; $log_cmd = $log_cmd_files if $use_logfiles; } } if ( $os_data{ID} eq 'ubuntu' ) { if ( $os_data{VERSION_CODENAME} eq 'xenial' ) { # Ubuntu Xenial misses grep support in journalctl $log_cmd = $log_cmd_journal_grep; $log_cmd = $log_cmd_files if $use_logfiles; # Xenial logs Disconnects differently # # Normal: Disconnected from user root 192.168.1.101 port 48356 # Xenial: Disconnected from 192.168.1.101 port 48356 $matches_logout = '^(?\w+\s+\d+\s+\d+:\d+:\d+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Disconnected' . '\s+from' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; # Ubuntu Xenial does not log Fingerprint in CERT Details $matches_cert = '^(?\S+-CERT)' . ' ID (?\S+)' ; } if ( $os_data{VERSION_CODENAME} eq 'bionic' ) { # Ubuntu Bionic misses grep support in journalctl $log_cmd = $log_cmd_journal_grep; $log_cmd = $log_cmd_files if $use_logfiles; # Ubuntu Bionic does not log Fingerprint in CERT Details $matches_cert = '^(?\S+-CERT)' . ' ID (?\S+)' ; } } if ( $os_data{ID} eq 'mageia' ) { # Mageia 8 misses grep support in journalctl if ( $os_data{VERSION_ID} eq '8' ) { $log_cmd = $log_cmd_journal_grep; } } if ( $os_data{ID} eq 'opensuse-leap' ) { # OpenSUSE Leap 15.2 misses grep support in journalctl if ( $os_data{VERSION_ID} eq '15.2' ) { $log_cmd = $log_cmd_journal_grep; } # OpenSUSE Leap 15.4 grep support in journalctl does not work if ( $os_data{VERSION_ID} eq '15.4' ) { $log_cmd = $log_cmd_journal_grep; } if ( $use_logfiles ) { $log_cmd = $log_cmd_files_messages; $matches_login = '^(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})' . '\.(?\S+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Accepted\s+(?\S+)' . '\s+for\s+(?\S+)' . '\s+from\s+(?\S+)' . '\s+port\s+(?\d+)\s+ssh2:?\s*(?
.*)' ; $matches_logout = '^(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})' . '\.(?\S+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Disconnected' . '\s+from\s+user\s+(?\S+)' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; } } if ( $os_data{ID} eq 'alpine' ) { # Alpine uses OpenRC so we have to use logfiles $log_cmd = $log_cmd_files_alpine; $matches_login = '^(?\w+\s+\d+\s+\d+:\d+:\d+)' . '\s+(?\S+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Accepted\s+(?\S+)' . '\s+for\s+(?\S+)' . '\s+from\s+(?\S+)' . '\s+port\s+(?\d+)\s+ssh2:?\s*(?
.*)' ; $matches_logout = '^(?\w+\s+\d+\s+\d+:\d+:\d+)' . '\s+(?\S+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Disconnected' . '\s+from\s+user\s+(?\S+)' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; } if ( $os_data{ID} eq 'devuan' ) { # Devuan uses other Init systems so we have to use logfiles $log_cmd = $log_cmd_files; if ( $os_data{PRETTY_NAME} =~ /ascii\s*$/ ) { # Devuan 2 ASCII logs Disconnects differently # # Normal: Disconnected from user root 192.168.1.101 port 48356 # Devuan: Disconnected from 192.168.1.101 port 48356 $matches_logout = '^(?\w+\s+\d+\s+\d+:\d+:\d+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Disconnected' . '\s+from' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; # Devuan 2 ASCII does not log Fingerprint in CERT Details $matches_cert = '^(?\S+-CERT)' . ' ID (?\S+)' ; } } if ( $os_data{ID} eq 'trisquel' ) { # Misses grep support in journalctl # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890265 if ( $os_data{VERSION_CODENAME} && $os_data{VERSION_CODENAME} eq 'etiona' ) { $log_cmd = $log_cmd_journal_grep; $log_cmd = $log_cmd_files if $use_logfiles; } } if ( $os_data{ID_LIKE} && $os_data{ID_LIKE} =~ /rhel|centos|fedora/ ) { $log_cmd = $log_cmd_files_secure if $use_logfiles; } if ( $os_data{ID} eq 'void' ) { $log_cmd = $log_cmd_files_messages; $matches_login = '^(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})' . '\.(?\S+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Accepted\s+(?\S+)' . '\s+for\s+(?\S+)' . '\s+from\s+(?\S+)' . '\s+port\s+(?\d+)\s+ssh2:?\s*(?
.*)' ; $matches_logout = '^(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})' . '\.(?\S+)' . '\s+(?\S+)' . '\s+sshd\[(?\d+)\]:' . '\s+Disconnected' . '\s+from\s+user\s+(?\S+)' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; } if ( $os_data{ID} eq 'slackware' ) { $log_cmd = $log_cmd_files_messages; } if ( $os_data{ID} eq 'guix' ) { $log_cmd = $log_cmd_files_messages; } } if ( $os_data{TYPE} eq 'openbsd' ) { $log_cmd = $log_cmd_files_openbsd; } if ( $os_data{TYPE} eq 'freebsd' ) { $log_cmd = $log_cmd_files_freebsd; if ( $os_data{ID} && $os_data{ID} eq 'pfsense' ) { # pfSense announces itself as freebsd # but ships with an old zgrep version # that ignores -h and still shows filenames $log_cmd = $log_cmd_files_pfsense; } if ( $os_data{ID} && $os_data{ID} eq 'opnsense' ) { # pfSense announces itself as freebsd $log_cmd = $log_cmd_files_opnsense; $matches_login = '^<.*>\d+\s*(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})' . '\+(?\S+)' . '\s+(?\S+)' . '\s+sshd (?\d+)' . '\s+\-\s+\[meta.*\]' . '\s+Accepted\s+(?\S+)' . '\s+for\s+(?\S+)' . '\s+from\s+(?\S+)' . '\s+port\s+(?\d+)\s+ssh2:?\s*(?
.*)' ; $matches_logout = '^<.*>\d+\s*(?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})' . '\+(?\S+)' . '\s+(?\S+)' . '\s+sshd (?\d+)' . '\s+\-\s+\[meta.*\]' . '\s+Disconnected' . '\s+from\s+user\s+(?\S+)' . '\s+(?\S+)' . '\s+port\s+(?\d+)' ; } } if ( $os_data{TYPE} eq 'dragonfly' ) { $log_cmd = $log_cmd_files_dragonfly; } my $logs_h; # If ssh-last was called from a terminal, get data via log_cmd. # If data comes via STDIN pipe, get it from there. if ( -t STDIN ) { open( $logs_h, '-|', $log_cmd); } else { $logs_h = *STDIN; } my $log_count = 0; while (my $log = <$logs_h>) { print STDERR "Parsing log entries... ($log_count)\r"; $log_count = $log_count + 1; chomp($log); if ( $log =~ /$matches_login/ ) { my $timestamp = $+{TS} ; my $hostname = $+{HOSTNAME} ; my $pid = $+{PID} ; my $user = $+{USER} ; my $host = $+{HOST} ; my $port = $+{PORT} ; my $auth_type = $+{AUTH_TYPE} ; my $details = $+{DETAILS} ; if ( $os_data{ID} eq 'opensuse-leap' && $use_logfiles ) { $timestamp =~ s/T/ /g; } if ( $os_data{ID} eq 'void' ) { $timestamp =~ s/T/ /g; } if ( $os_data{ID} eq 'opnsense' ) { $timestamp =~ s/T/ /g; } $session_ids_counter{$port}{login_count}++; my $session_id = $port . '-' . $session_ids_counter{$port}{login_count}; push @ssh_session_ids, $session_id; $last_session_at_port{$port} = $session_id; $ssh_sessions{$session_id}{login} = $timestamp ; $ssh_sessions{$session_id}{logout} = '-' ; $ssh_sessions{$session_id}{hostname} = $hostname ; $ssh_sessions{$session_id}{pid} = $pid ; $ssh_sessions{$session_id}{user} = $user ; $ssh_sessions{$session_id}{host} = $host ; $ssh_sessions{$session_id}{port} = $port ; $ssh_sessions{$session_id}{auth_type} = $auth_type ; $ssh_sessions{$session_id}{details} = $details ; $ssh_sessions{$session_id}{auth_id} = '-' ; $ssh_sessions{$session_id}{session_id} = $session_id; unless ( $show_host_in_clear ) { if ( $known{$host} ) { $ssh_sessions{$session_id}{host} = $known{$host} ; } } if ( $auth_type eq 'publickey' ) { $ssh_sessions{$session_id}{auth_id} = '(-) ' . $auth_type ; } else { $ssh_sessions{$session_id}{auth_id} = '(?) ' . $auth_type ; } if ( $debug ) { print "\n"; print('> LOG: ' , "$log" , "\n"); print('> TS: ' , "$timestamp" , "\n"); print('> HOSTNAME: ' , "$hostname" , "\n"); print('> PID: ' , "$pid" , "\n"); print('> USER: ' , "$user" , "\n"); print('> HOST: ' , "$host" , "\n"); print('> PORT: ' , "$port" , "\n"); print('> AUTH_TYPE: ' , "$auth_type" , "\n"); print('> DETAILS: ' , "$details" , "\n"); print('> SESSION_ID: ' , "$session_id" , "\n"); } # Set flag to ignore unwanted hosts in output if ( exists $ignored{$host}) { $ssh_sessions{$session_id}{ignore} = 'true'; } my $known_host = $known{$host}; if ( $known_host && exists $ignored{$known_host}) { $ssh_sessions{$session_id}{ignore} = 'true'; } # Set flag to ignore unwanted users in output if ( exists $ignored{$user}) { $ssh_sessions{$session_id}{ignore} = 'true'; } if ( $details ) { if ( $details =~ /$matches_key/ ) { my $key_type = $+{KEY_TYPE} ; my $fingerprint = $+{FINGERPRINT} ; # Set flag to ignore unwanted fingerprints in output if ( exists $ignored{$fingerprint}) { $ssh_sessions{$session_id}{ignore} = 'true'; } $ssh_sessions{$session_id}{key_type} = $key_type; if ( $show_fingerprints ) { $ssh_sessions{$session_id}{auth_id} = '(K) ' . $fingerprint; } else { $ssh_sessions{$session_id}{auth_id} = '(K) ' . detail_from_fingerprint($user ,$fingerprint); } if ( $debug ) { print('> DETAILS: ' , 'KEY_FOUND' , "\n"); print('> KEY_TYPE: ' , "$key_type" , "\n"); print('> FINGERPRINT: ' , "$fingerprint" , "\n"); } } if ( $details =~ /$matches_cert/ ) { my $key_type = $+{KEY_TYPE} ; my $fingerprint = $+{FINGERPRINT} ; my $auth_id = $+{AUTH_ID} ; unless ( $fingerprint ) { $fingerprint = '-'; } # Set flag to ignore unwanted fingerprints in output if ( exists $ignored{$fingerprint}) { $ssh_sessions{$session_id}{ignore} = 'true'; } # Set flag to ignore unwanted cert ids in output if ( exists $ignored{$auth_id}) { $ssh_sessions{$session_id}{ignore} = 'true'; } $ssh_sessions{$session_id}{key_type} = $key_type; if ( $show_fingerprints ) { $ssh_sessions{$session_id}{auth_id} = '(C) ' . $fingerprint; } else { if ( $known{$auth_id} ) { if ( $show_cert_ids ) { $ssh_sessions{$session_id}{auth_id} = '(C) ' . $auth_id; } else { $ssh_sessions{$session_id}{auth_id} = '(C) ' . $known{$auth_id} ; } } else { $ssh_sessions{$session_id}{auth_id} = '(C) ' . $auth_id; } } if ( $debug ) { print('> DETAILS: ' , 'CERT_FOUND' , "\n"); print('> KEY_TYPE: ' , "$key_type" , "\n"); print('> FINGERPRINT: ' , "$fingerprint" , "\n"); print('> AUTH_ID: ' , "$auth_id" , "\n"); } } } } if ( $log =~ /$matches_logout/ ) { my $timestamp = $+{TS} ; my $hostname = $+{HOSTNAME} ; my $user = $+{USER} ; my $pid = $+{PID} ; my $host = $+{HOST} ; my $port = $+{PORT} ; if ( $os_data{ID} eq 'opensuse-leap' && $use_logfiles ) { $timestamp =~ s/T/ /g; } if ( $os_data{ID} eq 'void' ) { $timestamp =~ s/T/ /g; } if ( $os_data{ID} eq 'opnsense' ) { $timestamp =~ s/T/ /g; } my $session_id; if ( $session_ids_counter{$port}{login_count} ) { $session_id = $port . '-' . $session_ids_counter{$port}{login_count}; } else { # If there is no previous login # to this port in log, skip this logline. # # Example: Login line was rolled over by logration # and "Disconnect" is still in log # but the "Accepted" entry was discarded. next; } $ssh_sessions{$session_id}{logout} = $timestamp; if ( $debug ) { print "\n"; print("< $log", "\n"); unless ( $user ) { $user = '-'; } print('< TS: ' , "$timestamp" , "\n"); print('< HOSTNAME: ' , "$hostname" , "\n"); print('< PID: ' , "$pid" , "\n"); print('< USER: ' , "$user" , "\n"); print('< HOST: ' , "$host" , "\n"); print('< PORT: ' , "$port" , "\n"); print('< SESSION_ID: ' , "$session_id" , "\n"); } } } # +----------------+ # | PRINT SESSIONS | # +----------------+ my $output_format = "%-15s %-15s %-10s %-15s %-15s %-5s %-15s\n"; if ( $os_data{ID} && $os_data{ID} eq 'opensuse-leap' && $use_logfiles ) { $output_format = "%-20s %-20s %-10s %-15s %-15s %-5s %-15s\n"; } if ( $os_data{ID} && $os_data{ID} eq 'void' ) { $output_format = "%-20s %-20s %-10s %-15s %-15s %-5s %-15s\n"; } if ( $os_data{ID} && $os_data{ID} eq 'opnsense' ) { $output_format = "%-20s %-20s %-10s %-15s %-15s %-5s %-15s\n"; } print "\n"; if ( $debug ) { print Dumper \%ssh_sessions; } # # HEADER # if ( $colors ) { print color 'bold white'; printf( $output_format, 'LOGIN', 'LOGOUT', 'DURATION', 'USER', 'HOST', 'PORT', 'AUTH_ID', ); print color 'reset'; } else { printf( $output_format, 'LOGIN', 'LOGOUT', 'DURATION', 'USER', 'HOST', 'PORT', 'AUTH_ID', ); } # # SESSIONS # foreach my $session ( @ssh_session_ids ) { # # ignore unwanted data in output # if ( $ssh_sessions{$session}{ignore} ) { # # but not if user insists on seeing them (-a) # unless ( $show_all ) { next; } } my $port = $ssh_sessions{$session}{port}; if ( $ssh_sessions{$session}{logout} eq '-' ) { $ssh_sessions{$session}{duration} = '-'; my $command = "LANG=C ss -tnp state ESTABLISHED | grep -q :\"${port}\\s*users.*sshd\""; if ( $os_data{TYPE} eq 'openbsd' ) { $command = "LANG=C fstat | grep -q \"sshd.*internet.*tcp.*:${port}\""; } if ( $os_data{TYPE} eq 'freebsd' ) { $command = "LANG=C sockstat -c | grep -q \"sshd.*tcp.*:${port}\""; } if ( $os_data{TYPE} eq 'dragonfly' ) { $command = "LANG=C sockstat -c | grep -q \"sshd.*tcp.*:${port}\""; } if ( $os_data{TYPE} eq 'linux' ) { if ( $os_data{ID} eq 'alpine' ) { $command = "LANG=C netstat -n -t | grep -qE \":${port} +ESTABLISHED\""; } } my $error = system $command; if ( $error ) { # That is actually not an error, # it just means that grep did not find # a TCP Session with that port # so we can assume the user is not logged in anymore } else { if ( $last_session_at_port{$port} eq $session ) { $ssh_sessions{$session}{logout} = 'still logged in'; } my $login_epoch; if ( $os_data{ID} && $os_data{ID} eq 'opensuse-leap' && $use_logfiles ) { $login_epoch = str2epoch_opensuse($ssh_sessions{$session}{login}); } elsif ( $os_data{ID} && $os_data{ID} eq 'void' ) { $login_epoch = str2epoch_opensuse($ssh_sessions{$session}{login}); } elsif ( $os_data{ID} && $os_data{ID} eq 'opnsense' ) { $login_epoch = str2epoch_opensuse($ssh_sessions{$session}{login}); } else { $login_epoch = str2epoch($ssh_sessions{$session}{login}); } my $current_time = time(); my $duration = $current_time - $login_epoch; $ssh_sessions{$session}{duration} = format_seconds($duration); } } else { my $login_epoch; my $logout_epoch; if ( $os_data{ID} && $os_data{ID} eq 'opensuse-leap' && $use_logfiles ) { $login_epoch = str2epoch_opensuse($ssh_sessions{$session}{login}); $logout_epoch = str2epoch_opensuse($ssh_sessions{$session}{logout}); } elsif ( $os_data{ID} eq 'void' ) { $login_epoch = str2epoch_opensuse($ssh_sessions{$session}{login}); $logout_epoch = str2epoch_opensuse($ssh_sessions{$session}{logout}); } elsif ( $os_data{ID} eq 'opnsense' ) { $login_epoch = str2epoch_opensuse($ssh_sessions{$session}{login}); $logout_epoch = str2epoch_opensuse($ssh_sessions{$session}{logout}); } else { $login_epoch = str2epoch($ssh_sessions{$session}{login}); $logout_epoch = str2epoch($ssh_sessions{$session}{logout}); } my $duration = $logout_epoch - $login_epoch; $ssh_sessions{$session}{duration} = format_seconds($duration); } if ( $ssh_sessions{$session}{logout} =~ /still/ ) { if ( $colors ) { print color 'bright_cyan'; printf( $output_format, $ssh_sessions{$session}{login}, $ssh_sessions{$session}{logout}, $ssh_sessions{$session}{duration}, $ssh_sessions{$session}{user}, $ssh_sessions{$session}{host}, $ssh_sessions{$session}{port}, $ssh_sessions{$session}{auth_id}, ); print color 'reset'; } else { printf( $output_format, $ssh_sessions{$session}{login}, $ssh_sessions{$session}{logout}, $ssh_sessions{$session}{duration}, $ssh_sessions{$session}{user}, $ssh_sessions{$session}{host}, $ssh_sessions{$session}{port}, $ssh_sessions{$session}{auth_id}, ); } } else { if ( $who_mode ) { next; } else { printf( $output_format, $ssh_sessions{$session}{login}, $ssh_sessions{$session}{logout}, $ssh_sessions{$session}{duration}, $ssh_sessions{$session}{user}, $ssh_sessions{$session}{host}, $ssh_sessions{$session}{port}, $ssh_sessions{$session}{auth_id}, ); } } } __END__ =head1 NAME ssh-last - list last SSH sessions =head1 SYNOPSIS ssh-last [OPTIONS] ssh_logs | ssh-last [OPTIONS] =head2 Options -a show all sessions (show data which is hidden by the 'ignored' file) -c colored output (highlight active SSH sessions) -d debug -f force showing fingerprints (no mapping from 'known' file) -h show this help message -i force showing certificate ids (no mapping from 'known' file, not together with -f) -l try to use logfiles instead of journalctl (may be even faster on some systems) -n show host/ip in cleartext (no mapping from 'known' file) -w show only active SSH sessions -? show complete manual with more detailed information (usually needs perl-doc installed to work properly) --version show version information =head2 Examples ssh-last ssh-last -c | more ssh-last -c | less -R # keeps colored output in less ssh-last -cw # Logs from yesterday LC_TIME=C journalctl _COMM=sshd -g 'Accepted|Disconnected' --since yesterday | ssh-last # Logs from three days ago LC_TIME=C journalctl _COMM=sshd -g 'Accepted|Disconnected' --since -3d --until -2d | ssh-last # Logs from the last hour LC_TIME=C journalctl _COMM=sshd -g 'Accepted|Disconnected' --since -1h | ssh-last # Logs until a specific date LC_TIME=C journalctl _COMM=sshd -g 'Accepted|Disconnected' --until "2022-03-12 07:00:00" | ssh-last # From logfiles (order must be from oldest to newest) zgrep -hE 'Accepted|Disconnected' auth.log.2.gz auth.log.1 auth.log | ssh-last zgrep -hE 'Accepted|Disconnected' $(ls /var/log/auth.log* --sort=time --reverse) | ssh-last zgrep -hE 'Accepted|Disconnected' $(ls /var/log/messages* --sort=time --reverse) | ssh-last zgrep -hE 'Accepted|Disconnected' $(ls /var/log/secure* --sort=time --reverse) | ssh-last =head1 DESCRIPTION ssh-last is like last but for SSH sessions =head2 Output Flags +--------------------------------------------------------------------------+ | | | AUTH_ID | | | | (C) sshd authorized login via (c)ertificate | | (K) sshd authorized login via public (k)ey | | (?) sshd authorized login via some other type (password, pam) | | | +--------------------------------------------------------------------------+ =head2 Algorithm Milling through sshd logs in chronological order: 1) Finding login (Accepted) and logout (Disconnected) lines. 2) Storing info from the lines like username, auth_type, fingerprint, ... 3) Using the used network port to check for active sessions and piecing together old sessions by remembering logged network ports 4) Using mainly /etc/os-release to adapt for different systems which differ in logfile names, logging patterns, etc... =head1 FILES =head2 Ignored /etc/ssh-tools/ssh-last/ignored ~/.config/ssh-tools/ssh-last/ignored ./ignored These data will be hidden in output unless forced with -a option +--------------------------------------------------------------------------+ |# Fingerprints | | | |SHA256:ElgyEn5xPe4VlK5jJkqauRdAKNRHdh2tGHfo0m9/IwW Jenkins | |SHA256:5xPe4JkqaElKNRHGHfxPe4RdAKdh2tlK5AKNRHn5xK5 foo # comment | |SHA256:nmKL5s7/fs45312nvjhFSRTREa44r2hfgJHJG54353R bar@gmx.de | | | |# Hosts | | | |127.0.0.1 localhost # local ssh logins | |192.168.1.50 nas # more comments | |webserver # alias from the 'known' file | | | |# Cert IDs | | | |user1@company.com | |user2@company.com with some info | |user3@company.com with some info # and a comment | | | |# Users | | | |git # gitlab | +--------------------------------------------------------------------------+ =head2 Known /etc/ssh-tools/ssh-last/known ~/.config/ssh-tools/ssh-last/known ./known For these keys the mapped value will be shown instead of its key, unless forced with -f (fingerprints) and -n (hosts) or -i (certificate ids) option +--------------------------------------------------------------------------+ |# Fingerprints | | | |SHA256:WwI/9m0ofHGt2hdHRNKAdRuaqkJj5KlV4ePx5nEyglE Sven Wick | |SHA256:xyk5ZZZWZKnmKL5mYdk8Poy5eds7/CD/JEwqykMnlQQ root@n40l # comment | |SHA256:G7h9i5+NDU72Ae40gCkxyvDz/8BH+KETw7sXHCYr5w0 sven.wick@gmx.de | | | |# Hosts | | | |127.0.0.1 localhost # local ssh logins | |192.168.1.50 nas # more comments | |192.168.50.100 webserver | | | |# Cert IDs | | | |user1@company.com vaporup | +--------------------------------------------------------------------------+ =head1 BUGS AND LIMITATIONS =head2 JumpHosts Using a JumpHost with ProxyCommand oder ProxyJump, may often result in an unclean disconnect with nothing logged, so LOGOUT and DURATION can not be displayed. =head2 Unprivileged users If possible, run ssh-last as root or via sudo 1) Logfiles and systemd's journal usually can't be read by a normal user 2) ssh-last -w works only reliably as root, since ss and netstat do not show process info when invoked as normal user 3) ssh-last tries to map the fingerprint from a user's authorized_keys file but users usually are not allowed to look into each others files =head2 OS Upgrades If you do an in-place upgrade like dist-upgrade on Debian/Ubuntu, depending on the version difference, it can happen that sshd logs differently from that point on and you may have a mix of logs in new and old format which results in ssh-last showing only the latest ones correctly =head2 Log inconsistency I have seen cases where some sshd "Disconnect" log messages were missing in systemd's journal but existed in /var/log/auth.log. So, if ssh-last is not showing a logout and duration but the log lines exist in the logfile, check if the log message really reached systemd's journal since ssh-last defaults to journald =head1 NOTES =head2 Helper Scripts For convenience you can create little wrapper scripts like the following which avoids parsing too many logs by limiting the data only to the last week my-ssh-last +--------------------------------------------------------------------------+ | #!/usr/bin/env bash | | | | LC_TIME=C journalctl _COMM=sshd --since -1week \ | | | grep -E 'Accepted|Disconnected' \ | | | ssh-last "$@" | | | +--------------------------------------------------------------------------+ =head1 SEE ALSO ssh-keyinfo(1), ssh-certinfo(1) =head1 AUTHOR Sven Wick =cut ssh-tools/examples/000077500000000000000000000000001467604715500146465ustar00rootroot00000000000000ssh-tools/examples/certs/000077500000000000000000000000001467604715500157665ustar00rootroot00000000000000ssh-tools/examples/certs/expired-cert.pub000066400000000000000000000027121467604715500210730ustar00rootroot00000000000000ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAAAg8LME+FswVlVMrB4MdgCqFx08JrbDFLdOce9j3e2/ybgAAAADAQABAAABAQDmzblLFSpP8sgvF1hNuFVPFC3DdL9Cswu8/eFgzY5nb825Bw8UxCq/DgQm7AuuInFvON96BR2DsAuRFQywJfh5IrwpIdVNT8/waG67v6SYPfvYba3NUlki/skW9Ox6Ch+z6GBWi1oCXb2I5u4w9WM9TFvP7iXBWhxAOt9EQE39zTuJQlNUOW3+93ZLdcWO961gJImr9oaks3YyeDtIBYPRZT89Y1f25gBtVsiLWk+wiO3ezypa5Rhlu4Z7kznDwr5GJ9SZ9rEib6huUGhCn7fz1nN7qL9WyvMZq7qbv1/ToXW9ROMPRmi4MuCgJYyQFJFvQuHcer+t8SBwzKLrHCYDAAAAAAAAAAAAAAABAAAAB2V4cGlyZWQAAAAAAAAAACSFjZEAAAAAKavpkQAAAAAAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQC48zvKsJplnaLTbXo0263ABcXqtl9D0O+hm2jxhqoJ/lS77IAuLoDZwYnaWizYvOknWgY66svE5EkY8kspro4tzSgLG0r9kncWlfNNEJb64kem/K9kiHJLpBvmaup0ZUFhg5BcpNmhDhlU5fm0+NI4+qgRvYXbM1rys8nxobtXGOJIFbNf9GkwA7eHpx/J6dPrDZ2QxUBzEy07fiGe7viGgF1xTaNjIwNuVWu3oz+XXzEqMC0mXsVxalA0qT0ol2arROYNWAp6/qNjGlu5VA1tFGUi1gGwIZ3++yEmJerTSV6OHns2g4JGcDvVU8i0KWvyi2o0xmgUbRgABjMFWSWDAAABDwAAAAdzc2gtcnNhAAABAHt8Sv2cLkGSNN68gAkdl9xW2lOhWvQ0CzFZoHIsC6tVU3Qv8Jyyj9Tx0UZb7h+ZX5Bminx81++Ig5kis64//u6xafzwu2QDPPnxmduJTQJEFg0wqfkTMaWagkWlsT5SrSE+3AbpZ5qn9Tit+RSKiwLxqkQwf52S1mtZXiY26Pz8iLyv177wxOjPjIBVDD8slCnQaGxkJY5kazmDBNaQDblWMThBgo75cgL5ckTpYMGiuxJsmpF5zCaSmLvSfOJKJG79Fl6amjNmdD5B827p6YbT4BaH1AecxI5/HjmpbaKzI36mb/bz4G4Boto/R8e9RWsakVItvmjz8wm2RgFZ37w= swick@8470p ssh-tools/examples/certs/forever-cert.pub000066400000000000000000000027121467604715500211030ustar00rootroot00000000000000ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgEmDHw119SIC5DbYmdwvy2WpCJLwHEGxpqVlgZEV4A3gAAAADAQABAAABAQDmzblLFSpP8sgvF1hNuFVPFC3DdL9Cswu8/eFgzY5nb825Bw8UxCq/DgQm7AuuInFvON96BR2DsAuRFQywJfh5IrwpIdVNT8/waG67v6SYPfvYba3NUlki/skW9Ox6Ch+z6GBWi1oCXb2I5u4w9WM9TFvP7iXBWhxAOt9EQE39zTuJQlNUOW3+93ZLdcWO961gJImr9oaks3YyeDtIBYPRZT89Y1f25gBtVsiLWk+wiO3ezypa5Rhlu4Z7kznDwr5GJ9SZ9rEib6huUGhCn7fz1nN7qL9WyvMZq7qbv1/ToXW9ROMPRmi4MuCgJYyQFJFvQuHcer+t8SBwzKLrHCYDAAAAAAAAAAAAAAABAAAAB2ZvcmV2ZXIAAAAAAAAAAAAAAAD//////////wAAAAAAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQC48zvKsJplnaLTbXo0263ABcXqtl9D0O+hm2jxhqoJ/lS77IAuLoDZwYnaWizYvOknWgY66svE5EkY8kspro4tzSgLG0r9kncWlfNNEJb64kem/K9kiHJLpBvmaup0ZUFhg5BcpNmhDhlU5fm0+NI4+qgRvYXbM1rys8nxobtXGOJIFbNf9GkwA7eHpx/J6dPrDZ2QxUBzEy07fiGe7viGgF1xTaNjIwNuVWu3oz+XXzEqMC0mXsVxalA0qT0ol2arROYNWAp6/qNjGlu5VA1tFGUi1gGwIZ3++yEmJerTSV6OHns2g4JGcDvVU8i0KWvyi2o0xmgUbRgABjMFWSWDAAABDwAAAAdzc2gtcnNhAAABAI7HCo9S1CRvkol1DOiOebCII9+P5LW5j5FpnbAHQZlK5xfG/Dg6e6X4jxYwAyg1VBJOgMAi8kgzVyDrtY7JBDoTVPPMiLh10SLOwwnPklkjONVW1MntdEg8z81Kdbq1TlAq+SxymArVFmVs9NqWbcpY3q5sp4bhZ6XGq2Bx5XwCH1BG+B+GP2qU/nHcQWK32fK3DZYaTWYbsHogxPNrOdErEaavqBBJk/+XSKxMJjWT4PGjsqROFvEUbPFslMc7USGPS46cU+aNgOp/JPL6W9weH+7DmcUUpXIbog5qedxMTnszjQaBRSUHHq2BXrv+eOXmghtqFfv1QLpHRwWbry0= swick@8470p ssh-tools/examples/certs/in-the-future-cert.pub000066400000000000000000000027221467604715500221300ustar00rootroot00000000000000ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgdMSETNhV3OaJETc9NvcmN3fUTtDf6SV541lPlv8l0Q0AAAADAQABAAABAQDmzblLFSpP8sgvF1hNuFVPFC3DdL9Cswu8/eFgzY5nb825Bw8UxCq/DgQm7AuuInFvON96BR2DsAuRFQywJfh5IrwpIdVNT8/waG67v6SYPfvYba3NUlki/skW9Ox6Ch+z6GBWi1oCXb2I5u4w9WM9TFvP7iXBWhxAOt9EQE39zTuJQlNUOW3+93ZLdcWO961gJImr9oaks3YyeDtIBYPRZT89Y1f25gBtVsiLWk+wiO3ezypa5Rhlu4Z7kznDwr5GJ9SZ9rEib6huUGhCn7fz1nN7qL9WyvMZq7qbv1/ToXW9ROMPRmi4MuCgJYyQFJFvQuHcer+t8SBwzKLrHCYDAAAAAAAAAAAAAAABAAAADWluLXRoZS1mdXR1cmUAAAAAAAAAAJCrGjsAAAAAldF2OwAAAAAAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQC48zvKsJplnaLTbXo0263ABcXqtl9D0O+hm2jxhqoJ/lS77IAuLoDZwYnaWizYvOknWgY66svE5EkY8kspro4tzSgLG0r9kncWlfNNEJb64kem/K9kiHJLpBvmaup0ZUFhg5BcpNmhDhlU5fm0+NI4+qgRvYXbM1rys8nxobtXGOJIFbNf9GkwA7eHpx/J6dPrDZ2QxUBzEy07fiGe7viGgF1xTaNjIwNuVWu3oz+XXzEqMC0mXsVxalA0qT0ol2arROYNWAp6/qNjGlu5VA1tFGUi1gGwIZ3++yEmJerTSV6OHns2g4JGcDvVU8i0KWvyi2o0xmgUbRgABjMFWSWDAAABDwAAAAdzc2gtcnNhAAABAJDFYzdjhLoNzhktDuJhlaq574EsiEubJ3z8ElU+VMrsF003LoI6LlBryhwj8uglIZzrQiDrwwEHnqe6NiFr91ysGbJgSF4hnzZq5ye/sAYMw/JpSmTJg3cycnMcPNcXNeFoiDlG9muNfgpeoIEqAjzVc0fbHCRGuqvLTT8y9hxGGNFU3ISmJLbcIgdHB1mgAEs7Sih2zy4Cp1kyCZ3I/Bc+qO50IvFXhVZRlJY1UhfmOIGr6F1zuSsCYimmEs7STyA0fqCXITU4Lj+AN1/kac3B+ASmZyV5puEtfzqogc+g/iMaYNcNnr7FX7UXFug2AV9BhWbrLa+T0R0swUEGtwI= swick@8470p ssh-tools/examples/certs/next-20-years-cert.pub000066400000000000000000000027221467604715500217520ustar00rootroot00000000000000ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgR3GZzAC+KgP+1zk2PMIojpD9Qw83jH6aRcbgORbd/e0AAAADAQABAAABAQDmzblLFSpP8sgvF1hNuFVPFC3DdL9Cswu8/eFgzY5nb825Bw8UxCq/DgQm7AuuInFvON96BR2DsAuRFQywJfh5IrwpIdVNT8/waG67v6SYPfvYba3NUlki/skW9Ox6Ch+z6GBWi1oCXb2I5u4w9WM9TFvP7iXBWhxAOt9EQE39zTuJQlNUOW3+93ZLdcWO961gJImr9oaks3YyeDtIBYPRZT89Y1f25gBtVsiLWk+wiO3ezypa5Rhlu4Z7kznDwr5GJ9SZ9rEib6huUGhCn7fz1nN7qL9WyvMZq7qbv1/ToXW9ROMPRmi4MuCgJYyQFJFvQuHcer+t8SBwzKLrHCYDAAAAAAAAAAAAAAABAAAADW5leHQtMjAteWVhcnMAAAAAAAAAAF0rggQAAAAAgVzwaQAAAAAAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQC48zvKsJplnaLTbXo0263ABcXqtl9D0O+hm2jxhqoJ/lS77IAuLoDZwYnaWizYvOknWgY66svE5EkY8kspro4tzSgLG0r9kncWlfNNEJb64kem/K9kiHJLpBvmaup0ZUFhg5BcpNmhDhlU5fm0+NI4+qgRvYXbM1rys8nxobtXGOJIFbNf9GkwA7eHpx/J6dPrDZ2QxUBzEy07fiGe7viGgF1xTaNjIwNuVWu3oz+XXzEqMC0mXsVxalA0qT0ol2arROYNWAp6/qNjGlu5VA1tFGUi1gGwIZ3++yEmJerTSV6OHns2g4JGcDvVU8i0KWvyi2o0xmgUbRgABjMFWSWDAAABDwAAAAdzc2gtcnNhAAABALCrG6ZqRt1Cm9mhYw821/XkMR+KyERtU3u/RufJqJLecPX7NeaZAFAG3EVXKOmomMgnLiN8bjElZ2j/Qss/OgTlWlSCtv5mLxfNk56r0DRnZgPyd9sREoww57KpFAmprPELKTt4pqrPULF/YmDP6CVNbeOclsryJoP54SuVTq5EjrAlB4hzU0/4DgVsyyxxIrGXP+Q51Q1S7RtDWV7aD8ljiW3MLLFLploPZ9tWtGZeoLiSBCvoFId2VZUSguzaGdPrj1g5yK0RUaM6nSYhEVS/YqzEUxEdlpcnooBLfC9OkycKEgZDwfdmiLH7NKm3VBciL5fvpmwoIdRpCsKM38Q= swick@8470p ssh-tools/examples/keys/000077500000000000000000000000001467604715500156215ustar00rootroot00000000000000ssh-tools/examples/keys/id_rsa_1.pub000066400000000000000000000006161467604715500200150ustar00rootroot00000000000000ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2/hTtNC2+Oh7jRiq3l5jAFfUxcx8xZhNcuJV8ci67quIoLlsdPsuG7/6+1vg3GESnKozDfOntRdQMxRRdkiCNWGtDvY3BOMJ16T7dTrSNZnPkStpRkZguEqH3Zdey/ShSpgo5cWk0M/puq0KT8YBgH1669cQZyHIToXU0MKDwTEr0G3hwGuxOWw1HmXnh6yCeMtSfSspLP8YSZgw+S10hRJZxpZYPRhmZ3axJuprh8SdfDRpGUV21V6XJBc7ObrSml56DJJjvkpEOkIxPVllJDWhm2IxELd3Zh1yFUe4X2Halhpwx5KurUTDoUgoDCC1OFYX/w3oVqgywxGkzrg0zw== www@iZ23omxvgedZ ssh-tools/examples/keys/id_rsa_2.pub000066400000000000000000000013461467604715500200170ustar00rootroot00000000000000ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS7soyzwbigFruM8G63jSXqpHqJ/ooi168sKMC2b0Ncsi+JlTfNYlDXJVLKEeZgZOInQyMmtisaDTUQWTIv1snAizf4iIYENuAkGYGNCL77u5Y5VOu5eQipvFajTnps9QvUx/zdSFYn9e2sulWM3Bxc/S4IJ67JWHVRpfJxGi3hinRBH8WQdXuUwdJJTiJHKPyYrrM7Q6Xq4TOMFtcRuLDC6u3BXM1L0gBvHPNOnD5l2Lp5EjUkQ9CBf2j4A4gfH+iWQZyk08esAG/iwArAVxkl368+dkbMWOXL8BN4x5zYgdzoeypQZZ2RKH780MCTSo4WQ19DP8pw+9q3bSFC9H3xYAxrKAJNWjeTUJOTrTe+mWXXU770gYyQTxa2ycnYrlZucn1S3vsvn6eq7NZZ8NRbyv1n15Ocg+nHK4fuKOrwPhU3NbKQwtjb0Wsxx1gAmQqIOLTpAdsrAauPxC7TPYA5qQVCphvimKuhQM/1gMV225JrnjspVlthCzuFYUjXOKC3wxz6FFEtwnXu3uC5bVVkmkNadJmD21gD23yk4BraGXVYpRMIB+X+OTUUI8= dhopson@VMUbuntu-DSH ssh-tools/examples/keys/id_rsa_3.pub000066400000000000000000000006441467604715500200200ustar00rootroot00000000000000ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtRr15KNnY3mR3r+H+Cy0C0Wyow7gScBTXx+euP2RoO9xHurphg7rvvGENWTfOlk/qzj9V2+BbwkU7tZa7uRC0fLxodKKr+QTO2BXxRGdipkQpjdflUxeascMTEG6WOIsNfmn2+uaPapKNedpTE2bf22hHGlooDqqmFjdfFU17dBWSMKJ8yQCgOCFJ5DVM3c0/t+teShLkXmVzU0G/rKrZDXjKZUlS1B7t46NhgY99ATi/go1/hs3lNMQP+gpc/FM9IM6Y6eWXoS3F6nTbibavVdsx/qig8sbv6FqoEi2cDx2QyPlXjLCVlt2Z1kv+KhXX8fltjmBifFgiq/H35cZT hs@schlittermann.de openpgp:0x0A51ECF9 ssh-tools/examples/keys/id_rsa_4.pub000066400000000000000000000013421467604715500200150ustar00rootroot00000000000000ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDR8v5+P4jvK0ITa62f3HvX7hfHHscjkO/IHKklXGDGpbjqVj95E6Qg2afG7pLNP+U2Ati+E/9lzA6xuRz7/BFOn0zJLP4bzSnCIumMeTe+4l6VxkPxAd8x6MJ8rqN+PnyY7J1ekbruINv0vd4wnvH2q2h8qOs1y65WdzN4WfDJP9v4u4ySLji14/kcmIafJGIMa8bemvdmeVA6R5WQ6WY8A6TCVi8lt9SelPyRfNwbDmhOp6obbxDBct+oaCMFepSfwKxYJ8LO/e9srNx2vOcji1xDUT0YXEnY+DfBNiBDB/2uTOBuw7zl/w0k4V+R2s/D4nogwGgm0QevadAddx+QXXwzEyWWX1cuk3Ufx3zQkEDzV+x9E+ARJLU9Xs0cvhR0RmovBkqsaJIGwppPPkBO+9wrwjFN2NDx8rLUlIWQyPIjwhIbWpOzjxaIJLJkqQhF7onr90huEUFiW+Zjq+OE9ovls1ORYHPgH1Vd7S+J4jlNZEEDX6KJ7gOCk5yQK80H1cdWFuqPD3k+qKfOaRh89Xk2dv7y6TY+RB4JATUWqadT6kmmpKlqnaKe67yuE1KssDczl+8k+1eiNhSexdfmy9ny75Oav4ZyXBZLkya4a6Q2h+s7TAyPeh/n5Ixe5N8CUejBLx/rbeHd+Z3X67SNeLyTW+5nv48EqCT9qbGoGw== heiko@jumper ssh-tools/go.mod000066400000000000000000000002421467604715500141340ustar00rootroot00000000000000module codeberg.org/vaporup/ssh-tools go 1.21.5 require ( golang.org/x/crypto v0.20.0 sigs.k8s.io/yaml v1.4.0 ) require golang.org/x/sys v0.17.0 // indirect ssh-tools/go.sum000066400000000000000000000017421467604715500141670ustar00rootroot00000000000000github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg= golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= ssh-tools/man/000077500000000000000000000000001467604715500136035ustar00rootroot00000000000000ssh-tools/man/ssh-authorized-keys.1000066400000000000000000000010711467604715500176060ustar00rootroot00000000000000.TH SSH-AUTHORIZED-KEYS "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-authorized-keys .SH SYNOPSIS ssh-authorized-keys [OPTION] [ ...] .SH DESCRIPTION Collects info from authorized_keys files from every user it can find .SH OPTIONS .TP \fB\-j\fR \fB\-\-json\fR output JSON .TP \fB\-J\fR \fB\-\-jsonl\fR output JSONLINES .TP \fB\-r\fR \fB\-\-rec\fR output RECUTILS .TP \fB\-x\fR \fB\-\-xml\fR output XML .TP \fB\-y\fR \fB\-\-yaml\fR output YAML .TP \fB\ \fR \fB\-\-version\fR show version information .SH ARGUMENTS .TP file authorized_keys file ssh-tools/man/ssh-certinfo.1000066400000000000000000000012701467604715500162710ustar00rootroot00000000000000.TH SSH-CERTINFO "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-certinfo .SH SYNOPSIS ssh\-certinfo [OPTIONS] CERT\-FILE [...] .SH DESCRIPTION shows validity and information of SSH certificates .SH OPTIONS .TP \fB\-c\fR show colors .TP \fB\-h\fR show this message .TP \fB\-w\fR days warning threshold (default: 30) .TP \fB\-v\fR verbose output .TP \fB\-\-version\fR show version information .SH EXAMPLES .TP # Default .TP ssh\-certinfo ~/.ssh/id_rsa\-cert.pub .TP ssh\-certinfo ~/.ssh/*.pub .TP # Certificates which expire within the next 2 months (colored output): .TP ssh\-certinfo \fB\-c\fR \fB\-w\fR 60 ~/.ssh/id_rsa\-cert.pub .TP ssh\-certinfo \fB\-c\fR \fB\-w\fR 60 ~/.ssh/*.pub ssh-tools/man/ssh-diff.1000066400000000000000000000027261467604715500153770ustar00rootroot00000000000000.TH SSH-DIFF "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-diff .SH SYNOPSIS ssh\-diff [OPTIONS] FILE [user@]hostname[:FILE] .SH DESCRIPTION diff a file over SSH .P There is an extra roundtrip to the remote system .br to check for the existence of the file to be diffed. .br So if you are not using SSH Keys .br you may get prompted twice for a password. .P Use "CHECK_REMOTE_FILE_EXISTS=NO ssh\-diff" to disable that behavior .SH DIFF_OPTIONS All options your local diff command supports ( except '\-r' ). .br See 'man diff' and 'diff \fB\-\-help\fR' for more information. .SH SSH_OPTIONS .TP \fB\-4\fR Use IPv4 only .TP \fB\-6\fR Use IPv6 only .TP \fB\-p\fR port Port to connect to on the remote host. .br This can be specified on a per\-host basis in the configuration file. .SH ENVIRONMENT CHECK_REMOTE_FILE_EXISTS NO|YES remote file checking .SH EXAMPLES .TP # Default .TP ssh\-diff \fI\,/etc/hosts\/\fP 192.168.1.10 .TP ssh\-diff \fI\,/etc/hosts\/\fP root@192.168.1.10 .TP ssh\-diff \fI\,/etc/hosts\/\fP root@192.168.1.10:/etc/hosts.old .TP # Side\-by\-Side .TP ssh\-diff \fB\-y\fR \fI\,/etc/hosts\/\fP 192.168.1.10 .TP ssh\-diff \fB\-y\fR \fI\,/etc/hosts\/\fP root@192.168.1.10 .TP ssh\-diff \fB\-y\fR \fI\,/etc/hosts\/\fP root@192.168.1.10:/etc/hosts.old .TP # Unified .TP ssh\-diff \fB\-u\fR \fI\,/etc/hosts\/\fP 192.168.1.10 .TP ssh\-diff \fB\-u\fR \fI\,/etc/hosts\/\fP root@192.168.1.10 .TP ssh\-diff \fB\-u\fR \fI\,/etc/hosts\/\fP root@192.168.1.10:/etc/hosts.old ssh-tools/man/ssh-facts.1000066400000000000000000000010471467604715500155620ustar00rootroot00000000000000.TH SSH-FACTS "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-facts .SH SYNOPSIS ssh\-facts [user@]hostname .SH DESCRIPTION get some facts about the remote system .P For further processing of the data .br you can use standard shell tools like awk, grep, sed .br or convert it to JSON with jo and then feed it to jq .SH EXAMPLES .TP ssh\-facts 127.0.0.1 .TP ssh\-facts 127.0.0.1 | grep ^OS_VERSION | awk \-F'=' '{ print $2 }' .TP ssh\-facts 127.0.0.1 | jo \-p .TP ssh\-facts 127.0.0.1 | jo | jq .TP ssh\-facts 127.0.0.1 | jo | jq .OS_VERSION ssh-tools/man/ssh-force-password.1000066400000000000000000000003511467604715500174150ustar00rootroot00000000000000.TH SSH-FORCE-PASSWORD "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-force-password .SH SYNOPSIS ssh\-force\-password [DEFAULT SSH OPTIONS] hostname .SH DESCRIPTION Enforces password authentication (for password testing) ssh-tools/man/ssh-hostkeys.1000066400000000000000000000006311467604715500163310ustar00rootroot00000000000000.TH SSH-HOSTKEYS "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-hostkeys .SH SYNOPSIS ssh\-hostkeys [OPTIONS] hostname .SH DESCRIPTION prints server host keys in several formats .SH OPTIONS .TP \fB\-4\fR Use IPv4 only .TP \fB\-6\fR Use IPv6 only .TP \fB\-h\fR Show this message .TP \fB\-T\fR timeout Time to wait for a response, in seconds .TP \fB\-p\fR port Port to connect to on the remote host. ssh-tools/man/ssh-keyinfo.1000066400000000000000000000003641467604715500161270ustar00rootroot00000000000000.TH SSH-KEYINFO "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-keyinfo .SH SYNOPSIS ssh\-keyinfo FILE [...] .SH DESCRIPTION prints keys in several formats .SH EXAMPLES .TP ssh\-keyinfo ~/.ssh/id_rsa.pub .TP ssh\-keyinfo ~/.ssh/*.pub ssh-tools/man/ssh-last.1000066400000000000000000000304361467604715500154310ustar00rootroot00000000000000.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "SSH-LAST 1" .TH SSH-LAST 1 2024-09-26 SSH-TOOLS "User Commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME ssh\-last \- list last SSH sessions .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 2 \& ssh\-last [OPTIONS] \& ssh_logs | ssh\-last [OPTIONS] .Ve .SS Options .IX Subsection "Options" .Vb 11 \& \-a show all sessions (show data which is hidden by the \*(Aqignored\*(Aq file) \& \-c colored output (highlight active SSH sessions) \& \-d debug \& \-f force showing fingerprints (no mapping from \*(Aqknown\*(Aq file) \& \-h show this help message \& \-i force showing certificate ids (no mapping from \*(Aqknown\*(Aq file, not together with \-f) \& \-l try to use logfiles instead of journalctl (may be even faster on some systems) \& \-n show host/ip in cleartext (no mapping from \*(Aqknown\*(Aq file) \& \-w show only active SSH sessions \& \-? show complete manual with more detailed information \& (usually needs perl\-doc installed to work properly) \& \& \-\-version show version information .Ve .SS Examples .IX Subsection "Examples" .Vb 4 \& ssh\-last \& ssh\-last \-c | more \& ssh\-last \-c | less \-R # keeps colored output in less \& ssh\-last \-cw \& \& # Logs from yesterday \& LC_TIME=C journalctl _COMM=sshd \-g \*(AqAccepted|Disconnected\*(Aq \-\-since yesterday | ssh\-last \& \& # Logs from three days ago \& LC_TIME=C journalctl _COMM=sshd \-g \*(AqAccepted|Disconnected\*(Aq \-\-since \-3d \-\-until \-2d | ssh\-last \& \& # Logs from the last hour \& LC_TIME=C journalctl _COMM=sshd \-g \*(AqAccepted|Disconnected\*(Aq \-\-since \-1h | ssh\-last \& \& # Logs until a specific date \& LC_TIME=C journalctl _COMM=sshd \-g \*(AqAccepted|Disconnected\*(Aq \-\-until "2022\-03\-12 07:00:00" | ssh\-last \& \& # From logfiles (order must be from oldest to newest) \& zgrep \-hE \*(AqAccepted|Disconnected\*(Aq auth.log.2.gz auth.log.1 auth.log | ssh\-last \& zgrep \-hE \*(AqAccepted|Disconnected\*(Aq $(ls /var/log/auth.log* \-\-sort=time \-\-reverse) | ssh\-last \& zgrep \-hE \*(AqAccepted|Disconnected\*(Aq $(ls /var/log/messages* \-\-sort=time \-\-reverse) | ssh\-last \& zgrep \-hE \*(AqAccepted|Disconnected\*(Aq $(ls /var/log/secure* \-\-sort=time \-\-reverse) | ssh\-last .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" ssh-last is like last but for SSH sessions .SS "Output Flags" .IX Subsection "Output Flags" .Vb 9 \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& | | \& | AUTH_ID | \& | | \& | (C) sshd authorized login via (c)ertificate | \& | (K) sshd authorized login via public (k)ey | \& | (?) sshd authorized login via some other type (password, pam) | \& | | \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .Ve .SS Algorithm .IX Subsection "Algorithm" .Vb 1 \& Milling through sshd logs in chronological order: \& \& 1) Finding login (Accepted) and logout (Disconnected) lines. \& 2) Storing info from the lines like username, auth_type, fingerprint, ... \& 3) Using the used network port to check for active sessions \& and piecing together old sessions by remembering logged network ports \& 4) Using mainly /etc/os\-release to adapt for different systems \& which differ in logfile names, logging patterns, etc... .Ve .SH FILES .IX Header "FILES" .SS Ignored .IX Subsection "Ignored" .Vb 3 \& /etc/ssh\-tools/ssh\-last/ignored \& ~/.config/ssh\-tools/ssh\-last/ignored \& ./ignored \& \& These data will be hidden in output unless forced with \-a option \& \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& |# Fingerprints | \& | | \& |SHA256:ElgyEn5xPe4VlK5jJkqauRdAKNRHdh2tGHfo0m9/IwW Jenkins | \& |SHA256:5xPe4JkqaElKNRHGHfxPe4RdAKdh2tlK5AKNRHn5xK5 foo # comment | \& |SHA256:nmKL5s7/fs45312nvjhFSRTREa44r2hfgJHJG54353R bar@gmx.de | \& | | \& |# Hosts | \& | | \& |127.0.0.1 localhost # local ssh logins | \& |192.168.1.50 nas # more comments | \& |webserver # alias from the \*(Aqknown\*(Aq file | \& | | \& |# Cert IDs | \& | | \& |user1@company.com | \& |user2@company.com with some info | \& |user3@company.com with some info # and a comment | \& | | \& |# Users | \& | | \& |git # gitlab | \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .Ve .SS Known .IX Subsection "Known" .Vb 3 \& /etc/ssh\-tools/ssh\-last/known \& ~/.config/ssh\-tools/ssh\-last/known \& ./known \& \& For these keys the mapped value will be shown instead of its key, \& unless forced with \-f (fingerprints) and \-n (hosts) \& or \-i (certificate ids) option \& \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& |# Fingerprints | \& | | \& |SHA256:WwI/9m0ofHGt2hdHRNKAdRuaqkJj5KlV4ePx5nEyglE Sven Wick | \& |SHA256:xyk5ZZZWZKnmKL5mYdk8Poy5eds7/CD/JEwqykMnlQQ root@n40l # comment | \& |SHA256:G7h9i5+NDU72Ae40gCkxyvDz/8BH+KETw7sXHCYr5w0 sven.wick@gmx.de | \& | | \& |# Hosts | \& | | \& |127.0.0.1 localhost # local ssh logins | \& |192.168.1.50 nas # more comments | \& |192.168.50.100 webserver | \& | | \& |# Cert IDs | \& | | \& |user1@company.com vaporup | \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .Ve .SH "BUGS AND LIMITATIONS" .IX Header "BUGS AND LIMITATIONS" .SS JumpHosts .IX Subsection "JumpHosts" .Vb 3 \& Using a JumpHost with ProxyCommand oder ProxyJump, \& may often result in an unclean disconnect with nothing logged, \& so LOGOUT and DURATION can not be displayed. .Ve .SS "Unprivileged users" .IX Subsection "Unprivileged users" .Vb 1 \& If possible, run ssh\-last as root or via sudo \& \& 1) Logfiles and systemd\*(Aqs journal usually can\*(Aqt be read by a normal user \& 2) ssh\-last \-w works only reliably as root, \& since ss and netstat do not show process info when invoked as normal user \& 3) ssh\-last tries to map the fingerprint from a user\*(Aqs authorized_keys file \& but users usually are not allowed to look into each others files .Ve .SS "OS Upgrades" .IX Subsection "OS Upgrades" .Vb 5 \& If you do an in\-place upgrade like dist\-upgrade on Debian/Ubuntu, \& depending on the version difference, \& it can happen that sshd logs differently from that point on \& and you may have a mix of logs in new and old format \& which results in ssh\-last showing only the latest ones correctly .Ve .SS "Log inconsistency" .IX Subsection "Log inconsistency" .Vb 5 \& I have seen cases where some sshd "Disconnect" log messages \& were missing in systemd\*(Aqs journal but existed in /var/log/auth.log. \& So, if ssh\-last is not showing a logout and duration \& but the log lines exist in the logfile, check if the log message \& really reached systemd\*(Aqs journal since ssh\-last defaults to journald .Ve .SH NOTES .IX Header "NOTES" .SS "Helper Scripts" .IX Subsection "Helper Scripts" .Vb 2 \& For convenience you can create little wrapper scripts like the following \& which avoids parsing too many logs by limiting the data only to the last week \& \& my\-ssh\-last \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& | #!/usr/bin/env bash | \& | | \& | LC_TIME=C journalctl _COMM=sshd \-\-since \-1week \e | \& | | grep \-E \*(AqAccepted|Disconnected\*(Aq \e | \& | | ssh\-last "$@" | \& | | \& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBssh\-keyinfo\fR\|(1), \fBssh\-certinfo\fR\|(1) .SH AUTHOR .IX Header "AUTHOR" Sven Wick ssh-tools/man/ssh-ping.1000066400000000000000000000050771467604715500154260ustar00rootroot00000000000000.TH SSH-PING "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-ping .SH SYNOPSIS ssh\-ping [OPTIONS] [user@]hostname .SH DESCRIPTION check if host is reachable using ssh_config .SH OPTIONS .TP \fB\-4\fR Use IPv4 only .TP \fB\-6\fR Use IPv6 only .TP \fB\-c\fR count Stop after sending request packets .TP \fB\-C\fR Connect as soon as the host responds .br and try reconnecting after a SSH session ends (e.g. rebooting). .br Useful also for IDRAC, IPMI, ILO devices, Switches, etc... .br which don't have a full shell environment. .br CTRL+C stops reconnect attempts. .TP \fB\-E\fR Exit immediately after first successful ping .br (can be used to trigger a follow up task like rsync) .TP \fB\-F\fR configfile Specifies an alternative per\-user configuration file. .br If a configuration file is given on the command line, .br the system\-wide configuration file ( \fI\,/etc/ssh/ssh_config\/\fP ) will be ignored. .br The default for the per\-user configuration file is ~/.ssh/config. .TP \fB\-h\fR Show this message .TP \fB\-i\fR interval Wait seconds between sending each request. .br The default is 1 second. .TP \fB\-l\fR user Try login with as username. The default is the current value of $USER. .TP \fB\-D\fR Print timestamp (unix time + microseconds as in gettimeofday) before each line .TP \fB\-H\fR Print timestamp (human readable) before each line .TP \fB\-W\fR timeout Time to wait for a response, in seconds .TP \fB\-p\fR port Port to connect to on the remote host. .br This can be specified on a per\-host basis in the configuration file. .TP \fB\-q\fR Quiet output. .br Nothing is displayed except the summary lines at startup time and when finished .TP \fB\-n\fR No colors. .br (e.g. for black on white terminals) .TP \fB\-v\fR Verbose output .TP \fB\--version\fR show version information .SH TAB_COMPLETIONS Ubuntu (and maybe other distros) already ship .br shell completions for ssh which can be used: .TP \fBBash\fR complete \fB\-F\fR _known_hosts ssh\-ping .TP \fBZsh\fR compdef _ssh_hosts ssh\-ping .TP \fBFish\fR complete \fB\-c\fR ssh\-ping \fB\-a\fR "(__fish_print_hostnames)" .SH ENVIRONMENT .TP SSH_PING_NO_COLORS if set, no colors are shown (like \fB\-n\fR) .SH EXIT_CODES .TP 0 No requests lost .TP 1 More than 1 request lost .TP 2 All requests lost .SH EXAMPLES .TP ssh\-ping \fB\-E\fR hostname && echo "First successful ping. Starting rsync..." .TP ssh\-ping \fB\-q\fR \fB\-c\fR 1 hostname >/dev/null && echo "Host is up!" .TP ssh\-ping \fB\-q\fR \fB\-c\fR 1 hostname >/dev/null || echo "Host is down!" .TP SSH_PING_NO_COLORS=true ssh\-ping \fB\-c\fR 1 hostname ssh-tools/man/ssh-pwd.1000066400000000000000000000005371467604715500152570ustar00rootroot00000000000000.TH SSH-PWD "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-pwd .SH SYNOPSIS ssh\-pwd [PATH] .SH DESCRIPTION quickly echo path to use for scp, rsync .SH FILES .TP \fI\,/etc/ssh\-tools/ssh\-pwd/targets\/\fP .TP \fI~/.config/ssh\-tools/ssh\-pwd/targets\fP .P Just pust some IPs, FQDNs in there .br and they will be shown in the output as well ssh-tools/man/ssh-sig.1000066400000000000000000000015171467604715500152460ustar00rootroot00000000000000.TH SSH-SIG "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-sig .SH SYNOPSIS ssh\-sig COMMAND OPTION .SH DESCRIPTION make \fBssh\-keygen \-Y\fR simpler .SH OPTIONS .HP \fB\-h\fR \fB\-\-help\fR .HP \fB\ \fR \fB\-\-version\fR .SH COMMANDS .TP sign create signature .TP check check signature .SH HELP .TP sign \fB\-\-help\fR .TP check \fB\-\-help\fR .SH EXAMPLES .P ssh\-sig sign file.txt .br ssh\-sig check \fB\-s\fR file.txt.sig < file.txt .P cat file.txt | ssh\-sig sign > file.txt.sig .br cat file.txt | ssh\-sig check \fB\-s\fR file.txt.sig .P # Sign multiple files .br ssh\-sig sign file1.txt file2.txt [...] .P # Use another key for signing .br ssh\-sig sign \fB\-f\fR ~/.ssh/id_rsa file.txt .P # Use a public key. Private Key for signing then comes from ssh\-agent .br ssh\-sig sign \fB\-f\fR ~/.ssh/id_rsa.pub file.txt ssh-tools/man/ssh-version.1000066400000000000000000000004301467604715500161420ustar00rootroot00000000000000.TH SSH-VERSION "1" "March 2024" "SSH-TOOLS" "User Commands" .SH NAME ssh-version .SH SYNOPSIS ssh\-version [OPTIONS] hostname .SH DESCRIPTION shows version of the SSH server you are connecting to .SH EXAMPLES .TP ssh\-version 127.0.0.1 .TP ssh\-version \fB\-p\fR 35007 127.0.0.1