pax_global_header00006660000000000000000000000064136243512530014516gustar00rootroot0000000000000052 comment=25aa4eb54ddf73663650a62e84be1383408f2d08 pycirkuit-0.5.1/000077500000000000000000000000001362435125300135445ustar00rootroot00000000000000pycirkuit-0.5.1/.github/000077500000000000000000000000001362435125300151045ustar00rootroot00000000000000pycirkuit-0.5.1/.github/ISSUE_TEMPLATE/000077500000000000000000000000001362435125300172675ustar00rootroot00000000000000pycirkuit-0.5.1/.github/ISSUE_TEMPLATE/bug_report.md000066400000000000000000000015241362435125300217630ustar00rootroot00000000000000--- name: Bug report about: Create a report to help us improve title: "[BUG]" labels: '' assignees: '' --- **Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: [e.g. Debian GNU/Linux v9.7] - Python version [e.g. 3.6] - PyCirkuit version [e.g. 0.2b] - How did you obtain PyCirkuit [e.g. GitHub repo, PyPI repo] - Did you install PyCirkuit in a Python Virtual Environment as described in the README file? **Additional context** Add any other context about the problem here. pycirkuit-0.5.1/.gitignore000066400000000000000000000001671362435125300155400ustar00rootroot00000000000000*.pyc .eric6project/ .directory /.directory /pycirkuit.egg-info /venv /dist /build *.e4p pycirkuit/doc/llista_macros* pycirkuit-0.5.1/CHANGELOG.md000066400000000000000000000162401362435125300153600ustar00rootroot00000000000000# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.5](https://github.com/orestesmas/pycirkuit/compare/v0.4.0..v0.5.0) series ### [0.5.1](https://github.com/orestesmas/pycirkuit/compare/v0.5.0..v0.5.1) : (2020-02-23) [Bugfix Release] #### Bug Fixes - Fixed nasty bug when trying to save/export into a non-writable location ([7e26ff4b20](https://github.com/orestesmas/pycirkuit/commit/7e26ff4b20)). Closes [#58](https://github.com/orestesmas/pycirkuit/issues/58). ### [0.5.0](https://github.com/orestesmas/pycirkuit/compare/v0.4.0..v0.5.0) : (2019-09-08) #### Changed - Changes to ease the creation of **PyCirkuit Debian package** (thanks to Aniol Martí for this) ([24e5753604](https://github.com/orestesmas/pycirkuit/commit/24e5753604)). - Updated README to add the installation via Debian package. - Updated credits. - Improved software description. - Improved some error messages. #### Added - Added flag to execute Dpic in 'safe mode' ([ae008a50bf](https://github.com/orestesmas/pycirkuit/commit/ae008a50bf)). ## [0.4](https://github.com/orestesmas/pycirkuit/compare/v0.3.2..v0.4.0) series ### [0.4.0](https://github.com/orestesmas/pycirkuit/compare/v0.3.2..v0.4.0) : (2019-09-06) #### Added - Export to SVG format ([d46e8801](https://github.com/orestesmas/pycirkuit/commit/d46e8801)). #### Bug Fixes - Reprocess erroneus source file that has been manually corrected in the middle of a batch operation ([de1c9c31bf](https://github.com/orestesmas/pycirkuit/commit/de1c9c31bf)). Closes [#50](https://github.com/orestesmas/pycirkuit/issues/50). ## [0.3](https://github.com/orestesmas/pycirkuit/compare/v0.2.3..v0.3.2) series ### [0.3.2](https://github.com/orestesmas/pycirkuit/compare/v0.3.1..v0.3.2) : (2019-08-02) [Bugfix release] #### Bug fixes - Fix the GUI for Mac. ### [0.3.1](https://github.com/orestesmas/pycirkuit/compare/v0.3.0..v0.3.1) : (2019-07-26) [Bugfix release] #### Added - Added 2 more examples. #### Changed - Changed some GUI names and shortcuts ([0ec9b859](https://github.com/orestesmas/pycirkuit/commit/0ec9b859)). - Changed export icon in settings dialog. - Updated catalan translation. #### Bug fixes - Implemented a missed feature: when an error is encountered while processing a file in batch (CLI) mode, allow to open the GUI to solve the issue manually ([670c51e0](https://github.com/orestesmas/pycirkuit/commit/670c51e0)). - Make behave correctly when executing from a non-graphical session (several commits). - Fix regression introduced by commit [e4eab569](https://github.com/orestesmas/pycirkuit/commit/e4eab569) related to image zooming. - Make some MessageBox titles homogeneous ([eb4ddb0c](https://github.com/orestesmas/pycirkuit/commit/eb4ddb0c)). ### [0.3.0](https://github.com/orestesmas/pycirkuit/compare/v0.2.3..v0.3.0) : (2019-07-22) #### Added - Command line interface to process files in batch mode with rich functionality: selectable raster resolution, selectable output quality, intermediate vector formats, recursivity, selectable destination dir, overwriting switch, etc. - Parametrized export functionality in settings. - Added new export formats, either vector (PDF) and raster (BMP, JPEG). - Zoomable graphics with no quality loss. - Log output tab ([4251c0f](https://github.com/orestesmas/pycirkuit/commit/4251c0f)). #### Changed - Updated catalan translation. - Updated credits. - Code refactoring, cleaning and polishing. #### Bug Fixes - Clear image when 'New' menu option is clicked ([a98a4125](https://github.com/orestesmas/pycirkuit/commit/a98a4125)). - Fixed inconsistency between dash (-) and underscore(_) in Circuit Macros path ([27fc7680](https://github.com/orestesmas/pycirkuit/commit/27fc7680)). Closes [#33](https://github.com/orestesmas/pycirkuit/issues/33). ## [0.2](https://github.com/orestesmas/pycirkuit/compare/v0.2.0..v0.2.3) series ### [0.2.3](https://github.com/orestesmas/pycirkuit/compare/v0.2.2..v0.2.3) : (2019-07-10) [Bugfix release] #### Bug fixes - Fixed broken link to Circuit Macros ([2cb630f5](https://github.com/orestesmas/pycirkuit/commit/2cb630f5)) ### [0.2.2](https://github.com/orestesmas/pycirkuit/compare/v0.2.1..v0.2.2) : (2019-03-10) [Bugfix release] #### Bug fixes - Fixed nasty bug found just after the last release when testing the debian package: ask for an alternate location when exporting to a non-writable location ([3c57f8a1](https://github.com/orestesmas/pycirkuit/commit/3c57f8a1)). Closes [#32](https://github.com/orestesmas/pycirkuit/issues/32). ### [0.2.1](https://github.com/orestesmas/pycirkuit/compare/v0.2.0..v0.2.1) : (2019-03-09) [Bugfix release] #### Bug Fixes - Fix searching for dpic and CM manuals, and for CM themselves into locations specified by Debian package (several commits). Better reporting if manual not found. Closes [#27](https://github.com/orestesmas/pycirkuit/issues/27). - Fix potential bugs on windows due to path separator ([9192eae](https://github.com/orestesmas/pycirkuit/commit/9192eae)), ([b5aa03b](https://github.com/orestesmas/pycirkuit/commit/b5aa03b)). - Don't be silent when trying to export into a write-protected location ([6f0f891](https://github.com/orestesmas/pycirkuit/commit/6f0f891)). Closes [#26](https://github.com/orestesmas/pycirkuit/issues/26). - Fix erroneous polarity in one example circuit ([0b2db1fa](https://github.com/orestesmas/pycirkuit/commit/0b2db1fa)). - Fix bug when exporting to TikZ circuits from files without extension ([efebeb4c](https://github.com/orestesmas/pycirkuit/commit/efebeb4c)). - Start with first Tab selected in About dialog ([3115de6a](https://github.com/orestesmas/pycirkuit/commit/3115de6a)). - Other minor fixes. #### Changed - Updated catalan translation. ### [0.2.0](https://github.com/orestesmas/pycirkuit/compare/v0.1..v0.2.0) : (2019-02-24) #### Added - Changes in the editor widget: - Zoomable text. - Syntax highlighting. - Progress bar for potentially lenghty operations. - Added example source files. - Make main window appear centered on screen at startup. - Added menu option for fast access to Circuit Macros/dpic documentation. - Windows and MacOS support. - CHANGELOG file. - Contributing guide. - Added contributors list into the "about" dialog. - Full internationalization (i18n). - Catalan translation. - Code published on [GitHub](https://github.com/orestesmas/pycirkuit). - Package added to [PyPI](https://pypi.org/project/pycirkuit/). - GitHub issue template. #### Changed - Better and simplified installation procedure. - Better "About" dialog, with automatically updated version and copyright information. - Improved README. - Improved configuration file/parameters. Added version number into configuration. - Code refactoring, cleaning and polishing. #### Bug Fixes - Some bugs detected by early adopters. See GitHub for details. ## 0.1 series ### 0.1.0 : (2018-11-29) [YANKED] Initial release with very basic functionality. Intended primarily for personal use. pycirkuit-0.5.1/CONTRIBUTING.md000066400000000000000000000037061362435125300160030ustar00rootroot00000000000000# Contributing to PyCirkuit You are here to help on PyCirkuit? Awesome! PyCirkuit is still at its infancy and needs a lot of love and work. If tou find this application useful, there are some areas where you can help, depending on your interests and level of expertise: - Writing documentation - Translating the app to your native language - Finding bugs and fixing issues - Contributing code ## Contributing guidelines At present, PyCirkuit is a small project with little infrastructure around. Contributions are welcome and they don't have to adhere to any particular convention, but will be accepted or rejected at developer's discretion. Meanwhile, you can ask questions or send contributions directly to me at [mailto:orestes@tsc.upc.edu](mailto:orestes@tsc.upc.edu). **Thanks!** ## Contributing translations The application is fully internationalized, so you can translate it to your language. If you want to do so, please follow these steps: 1. Install the [Qt developping tools](https://www.qt.io/download), specially "Linguist". Unfortunately, Qt company does not offer you to download Linguist separately of the other developping tools. If you need/want install only QtLinguist, you can check [this project](https://github.com/lelegard/qtlinguist-installers). 3. Locate the file [pycirkuit/L10n/pycirkuit_empty.ts](https://github.com/orestesmas/pycirkuit/blob/master/pycirkuit/L10n/pycirkuit_empty.ts) and copy it into a new file named "pycirkuit.LOCALE.ts" where LOCALE is the code/country of your language. For instance for french it can be "fr", "fr_CA", "fr_FR", etc. See [this Wikipedia entry](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for a complete list. 4. Open the new file under Linguist and translate all the strings in it. The [Qt Linguist manual](http://doc.qt.io/qt-5/qtlinguist-index.html) can be helpful. 5. Send the translated .TS file to the PyCirkuit developers or, if you know how to do it, create a pull/merge request.pycirkuit-0.5.1/COPYING.md000066400000000000000000001052201362435125300151760ustar00rootroot00000000000000PyCirkuit is Copyright (c) 2018-2019 Orestes Mas You may use, distribute and copy PyCirkuit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, which is shown below, or (at your option) any later version. PyCirkuit uses also some icons and other artwork from «Oxygen» set, from the KDE project. These icons are under the GNU LGPL v3 license. See https://techbase.kde.org/Projects/Oxygen/Licensing and http://www.gnu.org/copyleft/lesser.html ---------- ### 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. Copyright (C) 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: Copyright (C) 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 . pycirkuit-0.5.1/MANIFEST.in000066400000000000000000000000151362435125300152760ustar00rootroot00000000000000include *.md pycirkuit-0.5.1/README.md000066400000000000000000000226161362435125300150320ustar00rootroot00000000000000# Description # PyCirkuit is a GUI/CLI front-end for [Circuit Macros] and [Dpic] by Dwight Aplevich, which make up a software chain for drawing high-quality line diagrams to include in LaTeX, web, LibreOffice or similar documents. PyCirkuit GUI builds a live preview of the source code and can export the resulting images in TikZ code, PDF, SVG, PNG and JPEG formats. More export formats are also planned. PyCirkuit CLI mode is useful for batch-processing multiple files. PyCirkuit is written in Python 3 using the PyQt5 libraries, but is largely inspired (in both ideas and code snippets) on [Cirkuit], a C++ application written by Matteo Agostinelli using KDE4 libraries, which is nowadays increasingly difficult to compile due to the switching, started in 2013, of KDE project from KDE4 platform to the Qt5-based KDE frameworks 5. A port of Cirkuit to KDE frameworks 5 [has begun], but's still not functional and its development appears to be stalled. [Circuit Macros]: (M4 Macros for diagram and circuit drawing) [Dpic]: (An implementation of the pic "little language," with support for LaTeX, PDF, SVG, Postscript, and xfig 3.2 output) [Cirkuit]: (Cirkuit) [has begun]: # Source code # PyCirkuit source code is now hosted on github.com. The project homepage is [https://github.com/orestesmas/pycirkuit.git](https://github.com/orestesmas/pycirkuit.git). # Requirements # As PyCirkuit is written in python 3 and uses multiplatform GUI libraries, it loads without problems on GNU/Linux, Windows and macOS. However, its execution relies on using some helper applications whose availability on non-GNU systems is irregular. Version 0.1 has been reported to work on MacOS using external tools provided by [MacPorts](https://www.macports.org/). Works on Windows from version 0.2 onwards, although it's not throughly tested. To install and run this application you need to have the following applications/libraries installed: * Qt5 libraries * Python 3, with virtual environment support * PyQt5 python bindings to Qt libraries (*see note below*) * 'libmagic' and its Python bindings * (pdf)latex * m4 * dpic * pdftoppm (from poppler project) * Circuit Macros # Installation # ## Installing on recent Debian/Ubuntu systems ## PyCirkuit will hopefully enter Debian Sid/Bullseye shortly after the 0.5.0 release (September 2019). It will also probably be available on Ubuntu 20.04 onwards. On those systems, you can install it by the usual Debian spell (casted as root): apt-get install pycirkuit Note that if your system is Debian Stable you will probably have to use [*pinning*](https://jaqque.sbih.org/kplug/apt-pinning.html) to install selected packages from Debian Testing, or use the more generic methods described below. ## Installing on older Debian/Ubuntu or other GNU/Linux systems ## To install PyCirkuit in you computer, please follow this steps: 1. Install the auxiliary apps: On Debian-based systems1 (e.g. Ubuntu/Kubuntu) type the following command to install the required apps and dependencies (tested on Ubuntu 18.04 LTS / Debian Stretch): sudo apt-get install texlive-latex-base texlive-latex-recommended \ texlive-base-bin texlive-extra-utils texlive-latex-extra texlive-science texlive-pictures preview-latex-style \ m4 dpic poppler-utils python3-venv libmagic1 1 Debian Buster and older don't have ```dpic``` packaged, but Ubuntu 18.10 (cosmic) has (in the *universe* repository). If you are trying PyCirkuit in such a Debian system, you'll have to compile and install it yourself. Luckily, this is very easy because it's a little program with few/no dependencies. Download ```dpic``` from [https://ece.uwaterloo.ca/~aplevich/dpic/](https://ece.uwaterloo.ca/~aplevich/dpic/) and follow the instructions in the README file. There's no Debian package for the Circuit Macros, but if PyCirkuit doesn't find them at startup, it will offer the user to download and install them automatically. They don't require building. 2. In order to isolate PyCirkuit and its dependencies from other python packages on your system, it's advisable to install it into a Python's Virtual Environment. To do so, choose or create a directory somewhere and __change into it__. Do the following to create the Virtual Environment inside and activate it: python3 -m venv PyCirkuit source PyCirkuit/bin/activate 3. Install PyCirkuit. You have several ways to do so. Choose one of the following: 3.1 PyCirkuit is available at the [Python Package Index (PyPI)](https://pypi.org/), so you can install it using PIP. It will download and install alongside the required dependencies (PyQt5). After installation, PyCirkuit code and files will be under ```PyCirkuit/lib/python3.X/site-packages/pycirkuit``` pip install pycirkuit 3.2 The former will install the lastest stable version on PyPI. If you prefer to install the latest development version, [download it from GitHub as a .ZIP file](https://github.com/orestesmas/pycirkuit/archive/master.zip) and install from it: pip install 4. If all went well, you can execute PyCirkuit by means of an executable script created under ```PyCirkuit/bin```. Test it with: pycirkuit ## Installing on MacOS ## (These explanations were provided by some user. I cannot test them personally) 1. Prerequisites and dependencies: 1.1 You need to have installed Xcode and Xcode command tools. Of course, you will need also Python 3. To install it you can follow [https://www.python.org/downloads/release/python-372/](https://www.python.org/downloads/release/python-372/) or [https://docs.python-guide.org/starting/install3/osx/](https://docs.python-guide.org/starting/install3/osx/). 1.2 Then you have to install LaTeX using MacPorts: [https://docs.typo3.org/typo3cms/extensions/sphinx/AdministratorManual/RenderingPdf/InstallingLaTeXLinux.html](https://docs.typo3.org/typo3cms/extensions/sphinx/AdministratorManual/RenderingPdf/InstallingLaTeXLinux.html). 1.3 The M4 and DPIC are UNIX apps, so they run without much trouble on macOS. Similar with poppler. Some useful links are [https://ece.uwaterloo.ca/~aplevich/Circuit_macros/](https://ece.uwaterloo.ca/~aplevich/Circuit_macros/) and [https://www.google.es/amp/macappstore.org/poppler/amp/](https://www.google.es/amp/macappstore.org/poppler/amp/). 2. Finally, proceed as explained on the steps #2 and #3 of the previous section to create a Python virtual environment and to install PyCirkuit from PyPI there. ## Installing on MS Windows ## 1. Install the dependencies and auxiliary programs: 1.1 Choose a LaTeX distribution for windows. I tested PyCirkuit with MikTeX. Download it from https://miktex.org/ and follow the instructions to install it. 1.2 Download and install a python 3 interpreter for windows from https://www.python.org/downloads/windows/. 1.3 Download and install the M4 macro processor and the DPIC executables for windows from https://ece.uwaterloo.ca/~aplevich/dpic/Windows/index.html 1.4 Finally, obtain and install a copy of the "pdftoppm" utility. It usually comes bundled along with other utilities from the "Poppler" library, although it can be found alone on some webs. For instance from http://blog.alivate.com.au/poppler-windows/. You have to put this utilities somewhere on your PATH, but alternatively you can put them inside PyCirkuit code. See #4 below. 2. Prepare a location where to install PyCircuit. It's advisable to install it inside a so-called python environment to isolate it from other python installations and libraries you may have on your system. To do so, choose a directory where to install PyCirkuit. Open a command line (I assume you have how to do it) and navigate to the chosen location. Then create the Python virtual environment and activate it using the commands below: python -m venv PyCirkuit PyCirkuit\Scripts\activate The console "prompt" should change and show "(PyCirkuit)" at the beginning indicating the environment is active. 3. To install PyCirkuit, proceed like Step 3 in the "Linux Installation" section 4. For convenience you can put the m4.exe, dpic.exe and pdftoppm.exe executables downloaded before inside the pycirkuit package you've just installed. Copy them to "PyCirkuit\Lib\site-packages\pycirkuit\lib\". PyCirkuit will add this directory to the executable's PATH when running. 5. Test the executable: PyCirkuit You will find some examples inside "PyCirkuit\Lib\site-packages\pycirkuit\examples\" 6. When you're done you can deactivate the virtual environment: deactivate or simply close the command line console. # Usage # To execute PyCirkuit open a console/terminal window, navigate into the directory where PyCirkuit is installed and activate the virtual environment as in 2: ```shell cd source PyCirkuit/bin/activate (for GNU/Linux systems) PyCirkuit\Scripts\activate (for Windows systems) ``` Then execute the program as above: ```shell pycirkuit ``` Upon finished executing PyCirkuit, you should deactivate the virtual environment (and/or close the terminal window): ```shell deactivate ``` Have fun! pycirkuit-0.5.1/_config.yml000066400000000000000000000000311362435125300156650ustar00rootroot00000000000000theme: jekyll-theme-slatepycirkuit-0.5.1/pycirkuit/000077500000000000000000000000001362435125300155675ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/L10n/000077500000000000000000000000001362435125300163015ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/L10n/pycirkuit.ca.qm000066400000000000000000001720451362435125300212560ustar00rootroot00000000000000:+X|C[4<o*UC)ZËüɖA׀a̍~W~dK>4,{>(dm~'^)1EB܀NiJll;s{~1'H~VnHF@jMM$Ozijx`ϗpn'Z(<8?ur~vĒem^~n9:nހ:w s C% Gd On~ X | ~s~ ߨcp ( u z vvϞ z  F |nB -O 5 җ 5| P [ a_4 nNZ u ~z4 #X ؝ ~Q ͂D < 0u #> 'Z . i =b EZ Qc˶ T 7m jT ɞ nZ )d   DZO }` r < y b: ը~ .-+ncrq)u~gnnѡ·ׄBΘa|  z1›QCGd"?k)%qt6,BY䩾!gQzi&Quant a&About AboutDialog&Acord de &Llicncia&License Agreement AboutDialog&Versi&Version AboutDialog`<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Orestes Mas</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Autor original, mantenidor i traductor al catal</span></p> <hr /> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Aniol Marti</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Paquets Debian pel PyCirkuit, el Dpic i les Circuit Macros, proves beta i informes d'errors. Contribuci al codi CLI.</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Guillem Casadesus</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Proves beta i informes d'errors en macOS</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Billy Andriamahazomandimby</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Proves beta i informes d'errors en Windows</span></p></body></html>

Orestes Mas

Original Author, Maintainer and Translator to Catalan


Aniol Marti

Debian packages for PyCirkuit, Dpic and Circuit Macros, beta-testing and bug reporting. Contribution to CLI code.


Guillem Casadesus

Beta-testing and bug reporting on macOS


Billy Andriamahazomandimby

Beta-testing and bug reporting on Windows

 AboutDialogH<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> s una interfcie grfica (IGU) per a les </span><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Circuit Macros</span></a><span style=" font-size:11pt;"> i el </span><a href="https://gitlab.com/aplevich/dpic"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Dpic</span></a><span style=" font-size:11pt;"> de Dwight Aplevich, que conformen una cadena de programari per dibuixar diagrames d'alta qualitat i incloure'ls en documents TeX, LaTeX, Web o similars. El PyCirkuit est escrit en Python 3 emprant les biblioteques PyQt5, per s'inspira en gran mesura (tant en codi com en idees) en el </span><a href="https://wwwu.uni-klu.ac.at/magostin/cirkuit.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Cirkuit</span></a><span style=" font-size:11pt;">, una aplicaci C++ escrita per Matteo Agostinelli emprant les biblioteques del KDE4.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">El PyCirkuit compila a petici de l'usuari el codi font per tal de generar una previsualitzaci, i pot exportar la imatge resultant en diversos formats per tal de poder incloure'ls directament als vostres documents.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Podeu enviar informes d'error via el </span><a href="https://github.com/orestesmas/pycirkuit"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">repository del projecte a GitHub</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Si desitgeu contribuir al projecte, llegiu </span><a href="https://github.com/orestesmas/pycirkuit/blob/master/CONTRIBUTING.md"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">aquests consells</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">El PyCirkuit empra icones del conjunt Oxygen del KDE, que estan sota la llicncia LGPL. Llegiu </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;">.</span></p></body></html> 6

PyCirkuit is a GUI front-end for Circuit Macros and Dpic by Dwight Aplevich, which make up a software chain for drawing high-quality line diagrams to be included in TeX, LaTeX, LibreOffice, web or similar documents. PyCirkuit is written in Python 3 using the PyQt5 libraries, but is largely inspired (in both ideas and code snippets) on Cirkuit, a C++ application written by Matteo Agostinelli using KDE4 libraries.

PyCirkuit compiles the source code on demand to generate a live preview, and can export the resulting image in various formats to be included directly in your documents.

You can send bug reports via the project repository on GitHub.

If you are willing to contribute, please read these guidelines.

PyCirkuit uses icons from KDE's "Oxygen" set, which are under the LGPL license. See https://techbase.kde.org/Projects/Oxygen/Licensing.

 AboutDialog <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> t el {copyrightInfo} &lt;orestes@tsc.upc.edu&gt;</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Podeu emprar, distribuir i copiar el PyCirkuit sota els termes de la Llicncia Pblica General de GNU, tal i com la publica la Fundaci per al Programari Lliure (FSF), ja sigui la versi 3 de la llicncia, la qual es mostra al dessota, o b (a elecci vostra) qualsevol versi posterior.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">El PyCirkuit empra tamb algunes icones del conjunt Oxygen, del projecte KDE. Aquestes icones estan sota la llicncia GNU LGPL v3. Vegeu </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;"> i </span><a href="http://www.gnu.org/copyleft/lesser.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">http://www.gnu.org/copyleft/lesser.html</span></a></p></body></html>

PyCirkuit is {copyrightInfo} <orestes@tsc.upc.edu>

You may use, distribute and copy PyCirkuit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, which is shown below, or (at your option) any later version.

PyCirkuit uses also some icons and other artwork from "Oxygen" set, from the KDE project. These icons are under the GNU LGPL v3 license. See https://techbase.kde.org/Projects/Oxygen/Licensing and http://www.gnu.org/copyleft/lesser.html

 AboutDialogJ<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Versi {versionNumber}</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Emprant:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.riverbankcomputing.com/software/pyqt/intro"><span style=" text-decoration: underline; color:#2980b9;">PyQt5</span></a>, enllaos Python a les biblioteques Qt5, de Riverbank Computing.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" text-decoration: underline; color:#2980b9;">Circuit Macros</span></a>, de Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Processador de macros <a href="https://www.gnu.org/software/m4/"><span style=" text-decoration: underline; color:#2980b9;">GNU M4</span></a>, from the GNU project.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a>, de Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ctan.org/"><span style=" text-decoration: underline; color:#2980b9;">LaTeX + TIkZ</span></a>, de Donald Knuth, Leslie Lamport, Till Tantau i molts altres contribuents.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://linux.die.net/man/1/pdftoppm"><span style=" text-decoration: underline; color:#2980b9;">PdfToPpm</span></a>, un programari d'<a href="https://poppler.freedesktop.org/"><span style=" text-decoration: underline; color:#2980b9;">el projecte Poppler</span></a>.</li></ul></body></html>

Version {versionNumber}

Using:

 AboutDialogA&utorsA&uthors AboutDialog$Quant al PyCirkuitAbout PyCirkuit AboutDialog {productName} s una interfcie per a les Circuit Macros de Dwight Aplevich, que sn un conjunt de macros per dibuixar diagrames d'alta qualitat i incloure'ls en documents TeX, LaTeX, Web o similars. {productName} is a front-end for Circuit Macros by Dwight Aplevich, which are a set of macros for drawing high-quality line diagrams to be included in TeX, LaTeX, web or similar documents. CommandLine:Activa el processament per lots i converteix els fitxers apuntats per <ruta> al format {formatID}. Es poden indicar conjuntament diversos formats de sortida.Activates batch (unattended) mode, and convert files specified by to {formatID} format. Several output formats can be used together. CommandLineZHeu demanat un procs per lots sense fitxers.)Batch processing requested with no files. CommandLineJNo s'han trobat les Circuit Macros!Cannot find the Circuit Macros! CommandLine0Fitxers processats: {N}.Files processed: {N}. CommandLineSegueix els enllaos simblics. - Si no l'especifiqueu, el fitxer de dest es desar al mateix directori del fitxer font, ja sigui un fitxer real o un enlla simblic. - Si l'especifiqueu, el fitxer de dest es desar al mateix directori del fitxer font real.Follow symbolic links. - If not set, destination file will be saved into the same directory where the source file is, whether it's a real file or a symbolic link. - If set, destination file will be saved into the directory where the real source file is located. CommandLineRS'ha trobat una plantilla LaTeX invlida. Found an invalid LaTeX template. CommandLineDNo s'ha trobat la plantilla LaTeX.LaTeX template not found. CommandLineMs d'un fitxer per processar sense haver demanat un procs per lots.9More than one file to process with no batch option given. CommandLineXNo hi ha disponible cap entorn d'escriptori.!No desktop environment available. CommandLineSobreescriu per defecte els fitxers convertits si ja sn presents. Si no s'especifica, es preguntar en temps d'execuci.hOverwrite by default the converted files if they are present. If not set, user will be asked at runtime. CommandLinetRuta al(s) fitxer(s) font de dibuix per processar. S'accepten comodins. - Si no s'especifica <ruta>, s'obrir la IGU. - Si <ruta> apunta a un nic fitxer i no s'han especificat opcions de conversi per lots, aquest fitxer s'obrir dins la IGU per editar-lo. - Si <ruta> apunta a ms d'un fitxer vlid i s'ha especificat alguna combinaci de formats de sortida, aquests fitxers font es processaran seqencialment per lots i es convertiran als formats demanats. - No s perms d'especificar ms d'un fitxer per processar sense haver indicat cap opci de format de sortida.%Path to source drawing file(s) to process. Wildcards accepted. - If no is given, the GUI is opened. - If points to only one file and no batch conversion options are present, this file is opened into the GUI for editing. - If s point to more than one valid file and a combination of output formats options are present, these source files are processed sequentially in batch (unattended) mode and converted into the requested formats. - Specifying more than one file to process with no output format options present is not allowed. CommandLine*Processant el fitxer:Processing file: CommandLineDesa tots els fitxers convertits al mateix directori de dest <D> (el valor s obligatori).VSave all converted files into the same destination directory (value is mandatory). CommandLineEstableix la qualitat de les imatges raster de sortida amb prdua (jpg), en percentatge. El valor <Q> s obligatori. Si no especifiqueu l'opci, el valor per defecte s {defaultQuality}% (definit al dileg de configuraci).Sets the quality of output raster lossy images (jpg), in percent. Value is mandatory. If option is not set, default is {defaultQuality}% (defined in 'settings' dialog). CommandLineEstableix la resoluci de les imatges raster de sortida (png, jpg), en punts per polzada. El valor <N> s obligatori. Si no especifiqueu l'opci, el valor per defecte s {defaultDPI}dpi (definit al dileg de configuraci).Sets the resolution of output raster images (png, jpg), in dots per inch. Value is mandatory. If option is not set, default is {defaultDPI}dpi (defined in 'settings' dialog). CommandLinelEl parmetre --dpi ha de ser un enter entre 25 i 3000.;The --dpi parameter must be an integer between 25 and 3000. CommandLinepEl parmetre --quality ha de ser un enter entre 0 i 100.=The --quality parameter must be an integer between 0 and 100. CommandLinenLa ruta introduda no concorda amb cap fitxer existent.0The given path does not match any existing file. CommandLinejProveu {appName} --help per obtenir ms informaci./Try "{appName} --help" to get more information. CommandLineSi s'especifica aquesta opci, el patr '**' concordar amb qualsevol fitxer i zero o ms subdirectoris. Aix, **/*.ckt concordar amb tots els fitxers amb extensi ckt del directori actual i tots els seus subdirectoris.Using this option the pattern '**' will match any files and zero or more subdirs, so '**/*.ckt' will match all files with 'ckt' extension in the current directory and all its subdirectories. CommandLine*[<ruta> [<ruta2>...]][ [ ...]] CommandLinerutapath CommandLineJ El fitxer de destinaci ja existeix.% The destination file already exists.CommandLine-UserInput1vVoleu sobreescriure'l? ([s]i | [n]o | si a [t]ot | [m]ai): IWould you like to overwrite it? ([y]es | [n]o | yes to [a]ll | ne[v]er): CommandLine-UserInput1taCommandLine-UserInput1nnCommandLine-UserInput1mvCommandLine-UserInput1syCommandLine-UserInput1Escolliu qu voleu fer: [a]vortar el procs, [s]altar aquest fitxer, [o]brir-lo en la IGU per editar-lo: VPlease choose what to do: [a]bort processing, [s]kip file, [o]pen in GUI for editing: CommandLine-UserInput2Escolliu qu voleu fer: [a]vortar el procs, [s]altar aquest fitxer: ;Please choose what to do: [a]bort processing, [s]kip file: CommandLine-UserInput2aaCommandLine-UserInput2ooCommandLine-UserInput2ssCommandLine-UserInput2 % % ConfigDialog ppp dpi ConfigDialog&JPEG (raster)&JPEG (raster) ConfigDialog&PNG (raster) &PNG (raster) ConfigDialog &TIKZ&TIKZ ConfigDialogEscolliu quins formats es desaran quan es premi el bot Exporta:GChoose which formats will be saved when the button "Export" is pressed: ConfigDialogEscull... Choose... ConfigDialog<Ubicaci de les Circuit MacrosCircuit Macros Location ConfigDialog<Ubicaci de les Circuit MacrosGroup box titleCircuit Macros Location ConfigDialog,Dileg de configuraci Config Dialog ConfigDialog"Introduu la rutaEnter Path Name ConfigDialogExportaci Exporting ConfigDialogGeneralGeneral ConfigDialog&Qualitat d'imatge pels formats amb prdua del tipus jpeg (percentatge):5Image &quality for lossy formats like jpeg (percent): ConfigDialog6Formats d'imatge a exportarImage formats to export ConfigDialog2Fitxer de plantilla LaTeXLaTeX Template File ConfigDialog<Ubicaci de la plantilla LaTeXLatex Template Location ConfigDialogPD&FPD&F ConfigDialog&Resoluci de les imatges de mapa de bits en punts per polzada (ppp):0Ras&ter image resolution in dots per inch (dpi): ConfigDialoglParmetres d'exportaci de les imatges de mapa de bitsRaster image export parameters ConfigDialogSVG ConfigDialog4Processador de Macros M4'M4' Macro Processor ExternalTool<Compilador de llenguatge PIC'PIC' language compiler ExternalToolNo s'ha pogut determinar la ubicaci estndard amb perms d'escriptura per al PyCirkuit=Cannot determine the standard writable location for PyCirkuit ExternalTool~No s'ha pogut trobar la documentaci de les Circuit Macros. 1Cannot find the "Circuit Macros" documentation.  ExternalToolFNo s'ha trobat el {toolLongName}! !Cannot find the {toolLongName}!  ExternalToolPNo s'ha trobat el manual del {toolName}!"Cannot find the {toolName} manual! ExternalToolTNo s'ha pogut generar la previsualitzaci.Cannot generate the preview. ExternalToolHNo s'han trobat les Circuit MacrosCircuit Macros not found ExternalToolNDPIC: Error en processar el fitxer font"DPIC: Error processing source file ExternalTooltS'ha produt un error en descomprimir les Circuit Macros: (Error uncompressing the Circuit Macros:  ExternalTool0No s'ha trobat el fitxerFile Not Found ExternalToolHM4: Error en la conversi CKT -> PICM4: Error converting CKT -> PIC ExternalToolNo s'ha trobat el mdul 'python-magic'. Comproveu que teniu correctament installades totes les dependncies del PyCirkuit.fModule 'python-magic' not found. Please check that all PyCirkuit dependencies are correctly installed. ExternalTool Error de xarxa: Network error:  ExternalToolrHi ha disponible una nova versi de les Circuit Macros!%New Circuit Macros version available! ExternalTool>Convertidor d'imatge PDF a JPEGPDF to JPEG image converter ExternalTool<Convertidor d'imatge PDF a PNGPDF to PNG image converter ExternalToolVPDFLaTeX: Error en la conversi TIKZ -> PDF&PDFLaTeX: Error converting TIKZ -> PDF ExternalToolVPDFTOPPM: Error en la conversi PDF -> JPEG&PDFTOPPM: Error converting PDF -> JPEG ExternalToolTPDFTOPPM: Error en la conversi PDF -> PNG%PDFTOPPM: Error converting PDF -> PNG ExternalToolSi us plau, assegureu-vos de tenir aquesta aplicaci correctament installada i que l'executable {toolExecutableName} estigui al PATH. {Please ensure that you have this application properly installed and the executable "{toolExecutableName}" is in the PATH.  ExternalTool"Si us plau, assegureu-vos de tenir aquesta aplicaci correctament installada, amb la seva documentaci en una d'aquestes ubicacions estndard: Please ensure that you have this application properly installed, with its documentation into one of these standard locations:  ExternalTool4Error d'execuci de l'einaTool Execution Error ExternalTool*No s'ha trobat l'einaTool Not Found ExternalToolL'haureu de cercar manualment. Hauria de ser un fitxer PDF ubicat a la carpeta {cmPath} o en una de les seves subcarpetes.wYou will have to search for it manually. It should be a PDF file located into {cmPath} folder or one of its subfolders. ExternalTool"Programa pdfLaTeXpdfLaTeX program ExternalTool&&Quant al PyCirkuit&About PyCirkuit MainWindow:Manual de les &Circuit Macros&Circuit Macros manual MainWindow Manual del &Dpic &Dpic manual MainWindow&Nou&New MainWindow&Obre...&Open... MainWindow$&Processa i mostra&Process and display MainWindow S&urt&Quit MainWindow &Desa&Save MainWindow.PS scale=2.54 cct_init l=elen_ # Introduu aqu el codi del vostre dibuix .PE D.PS scale=2.54 cct_init l=elen_ # Enter your drawing code here .PE  MainWindow<Sortida buida> MainWindow~<html><head/><body><p>Empreu:</p> <ul> <li> Ctrl + Roda del Ratol per Ampliar/Reduir</li> <li> Clic i moviment per a desplaar la imatge dins de la previsualitzaci</li> </ul> </body></html>

Use:

  • Ctrl + Mouse Wheel to Zoom In/Out
  • Click and Move to drag the image inside the preview
 MainWindow Alt+PAlt+P MainWindow Alt+XAlt+X MainWindow(Qualsevol fitxer (*) Any files (*) MainWindow(Qualsevol fitxer (*) File filter Any files (*) MainWindow2Informaci de l'aplicaciApplication information MainWindow"Tanca l'aplicaciClose application MainWindow4Configura el &PyCirkuit...Configure &PyCirkuit... MainWindow&Crea un dibuix buitCreates an empty drawing MainWindow Ctrl+DCtrl+D MainWindow Ctrl+MCtrl+M MainWindow Ctrl+NCtrl+N MainWindow Ctrl+OCtrl+O MainWindow Ctrl+PCtrl+P MainWindow Ctrl+QCtrl+Q MainWindow Ctrl+SCtrl+S MainWindowCtrl+Shift+S Ctrl+Shift+S MainWindowE&xportaE&xport MainWindow>Introduu un fitxer on desar-hoEnter a file to save into MainWindow>Introduu un fitxer on desar-hoFile Dialog titleEnter a file to save into MainWindow`Introduu un directori amb permisos d'escriptura'Enter a writable directory to save into MainWindow4Introduu un directori nouEnter new directory MainWindow Error!Error! MainWindow&FitxerFi&le MainWindow A&judaHel&p MainWindow6Fitxers JPEG (*.jpeg *.jpg)JPEG files (*.jpeg *.jpg) MainWindow6Fitxers de macros M4 (*.m4)M4 macro files (*.m4) MainWindowNou dibuix New Drawing MainWindowObre un dibuix Open Drawing MainWindowHObre el manual de les Circuit MacrosOpens Circuit Macros manual MainWindow.Obre el manual del DpicOpens Dpic manual MainWindow.Obre un dibuix existentOpens an existing drawing MainWindow<Obre el dileg de configuraciOpens config dialog MainWindow&Registre de sortida Output Log MainWindow&Fitxers PDF (*.pdf)PDF files (*.pdf) MainWindow&Fitxers PNG (*.png)PNG files (*.png) MainWindow PrevisualitzaciPreview MainWindow6PyCircuit - per Orestes MasPyCirkuit - by Orestes Mas MainWindow2Fitxers PyCirkuit (*.ckt)PyCirkuit files (*.ckt) MainWindow2Fitxers PyCirkuit (*.ckt) File filterPyCirkuit files (*.ckt) MainWindow&Fitxers SVG (*.svg)SVG files (*.svg) MainWindowDesa &com a... Sa&ve As... MainWindowDesa el dibuix Saves drawing MainWindow:Desa el dibuix amb un nom nouSaves drawing with new name MainWindowArra&njament Setti&ngs MainWindow"Editor de la font Source Editor MainWindow.Selecci de fitxer fontSource File Selection MainWindow&Fitxers TeX (*.tex)TeX files (*.tex) MainWindow*Fitxers TikZ (*.tikz)TikZ files (*.tikz) MainWindowsense nomunnamed MainWindowS'ha produt un error mentre s'exportava el fitxer. L'error diu:@An error has occurred trying to export the file. The error says: MessageBoxNNo s'han trobat les Circuit Macros! #Cannot find the 'Circuit Macros'!  MessageBoxTNo s'ha pogut generar la previsualitzaci.Cannot generate the preview. MessageBox,Voleu sobreescriure'l?Do you want to overwrite it? MessageBoxFVoleu desar-los abans de continuar?+Do you want to save them before proceeding? MessageBoxvVoleu provar de cercar-les i installar-les automticament?>>>> Inici del processament>>>>> Start processing OutputLog6Sortida del {toolLongName}:Output of {toolLongName}: OutputLogtS'ha produt un error en crear la imatge ampliada/reduda.Error creating zoomed image.PyCirkuitError\Error intern: no s'ha pogut carregar la imatge!Internal error: cannot load imagePyCirkuitError&Error del PyCirkuitPyCirkuit ErrorPyCirkuitError4Error intern del PyCirkuitPyCirkuit Internal ErrorPyCirkuitErrorXNo s'ha pogut carregar la imatge convertida.(The converted image could not be loaded.PyCirkuitErrorTNo s'ha pogut carregar la imatge generada.(The generated image could not be loaded.PyCirkuitErrorAquest error no s'hauria d'esdevenir en l's normal. Contacteu els desenvolupadors.RThis error should not happen in a normal operation. Please contact the developers.PyCirkuitErrorPS'est convertint: Circuit Macros -> PIC!Converting: Circuit Macros -> PIC StatusBar<S'est convertint: PDF -> JPEGConverting: PDF -> JPEG StatusBar:S'est convertint: PDF -> PNGConverting: PDF -> PNG StatusBar:S'est convertint: PIC -> SVGConverting: PIC -> SVG StatusBar<S'est convertint: PIC -> TIKZConverting: PIC -> TIKZ StatusBar<S'est convertint: TIKZ -> PDFConverting: TIKZ -> PDF StatusBarjS'estan baixant i desempaquetant les Circuit Macros(Downloading and unpacking Circuit Macros StatusBarpycirkuit-0.5.1/pycirkuit/L10n/pycirkuit.ca.ts000066400000000000000000002411561362435125300212670ustar00rootroot00000000000000 AboutDialog About PyCirkuit Dialog Title Quant al PyCirkuit &About Tab text &Quant a &Version Tab text &Versió A&uthors Tab text A&utors &License Agreement Acord de &Llicència <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> is a GUI front-end for </span><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Circuit Macros</span></a><span style=" font-size:11pt;"> and </span><a href="https://gitlab.com/aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a><span style=" font-size:11pt;"> by Dwight Aplevich, which make up a software chain for drawing high-quality line diagrams to be included in TeX, LaTeX, LibreOffice, web or similar documents. PyCirkuit is written in Python 3 using the PyQt5 libraries, but is largely inspired (in both ideas and code snippets) on </span><a href="https://wwwu.uni-klu.ac.at/magostin/cirkuit.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Cirkuit</span></a><span style=" font-size:11pt;">, a C++ application written by Matteo Agostinelli using KDE4 libraries.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit compiles the source code on demand to generate a live preview, and can export the resulting image in various formats to be included directly in your documents.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">You can send bug reports via the </span><a href="https://github.com/orestesmas/pycirkuit"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">project repository on GitHub</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">If you are willing to contribute, please read </span><a href="https://github.com/orestesmas/pycirkuit/blob/master/CONTRIBUTING.md"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">these guidelines</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit uses icons from KDE's &quot;Oxygen&quot; set, which are under the LGPL license. See </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;">.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> és una interfície gràfica (IGU) per a les </span><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Circuit Macros</span></a><span style=" font-size:11pt;"> i el </span><a href="https://gitlab.com/aplevich/dpic"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Dpic</span></a><span style=" font-size:11pt;"> de Dwight Aplevich, que conformen una cadena de programari per dibuixar diagrames d'alta qualitat i incloure'ls en documents TeX, LaTeX, Web o similars. El PyCirkuit està escrit en Python 3 emprant les biblioteques PyQt5, però s'inspira en gran mesura (tant en codi com en idees) en el </span><a href="https://wwwu.uni-klu.ac.at/magostin/cirkuit.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Cirkuit</span></a><span style=" font-size:11pt;">, una aplicació C++ escrita per Matteo Agostinelli emprant les biblioteques del KDE4.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">El PyCirkuit compila a petició de l'usuari el codi font per tal de generar una previsualització, i pot exportar la imatge resultant en diversos formats per tal de poder incloure'ls directament als vostres documents.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Podeu enviar informes d'error via el </span><a href="https://github.com/orestesmas/pycirkuit"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">repository del projecte a GitHub</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Si desitgeu contribuir al projecte, llegiu </span><a href="https://github.com/orestesmas/pycirkuit/blob/master/CONTRIBUTING.md"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">aquests consells</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">El PyCirkuit empra icones del conjunt «Oxygen» del KDE, que estan sota la llicència LGPL. Llegiu </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;">.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Version {versionNumber}</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Using:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.riverbankcomputing.com/software/pyqt/intro"><span style=" text-decoration: underline; color:#2980b9;">PyQt5</span></a> Python bindings to Qt5 by Riverbank Computing.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" text-decoration: underline; color:#2980b9;">Circuit Macros</span></a>, by Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.gnu.org/software/m4/"><span style=" text-decoration: underline; color:#2980b9;">GNU M4</span></a> Macro Processor, from the GNU project.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a>, by Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ctan.org/"><span style=" text-decoration: underline; color:#2980b9;">LaTeX + TIkZ</span></a>, by Donald Knuth, Leslie Lamport, Till Tantau and many more contributors.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://linux.die.net/man/1/pdftoppm"><span style=" text-decoration: underline; color:#2980b9;">PdfToPpm</span></a>, a software by <a href="https://poppler.freedesktop.org/"><span style=" text-decoration: underline; color:#2980b9;">The Poppler project</span></a>. </li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Versió {versionNumber}</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Emprant:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.riverbankcomputing.com/software/pyqt/intro"><span style=" text-decoration: underline; color:#2980b9;">PyQt5</span></a>, enllaços Python a les biblioteques Qt5, de Riverbank Computing.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" text-decoration: underline; color:#2980b9;">Circuit Macros</span></a>, de Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Processador de macros <a href="https://www.gnu.org/software/m4/"><span style=" text-decoration: underline; color:#2980b9;">GNU M4</span></a>, from the GNU project.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a>, de Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ctan.org/"><span style=" text-decoration: underline; color:#2980b9;">LaTeX + TIkZ</span></a>, de Donald Knuth, Leslie Lamport, Till Tantau i molts altres contribuents.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://linux.die.net/man/1/pdftoppm"><span style=" text-decoration: underline; color:#2980b9;">PdfToPpm</span></a>, un programari d'<a href="https://poppler.freedesktop.org/"><span style=" text-decoration: underline; color:#2980b9;">el projecte Poppler</span></a>.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> is {copyrightInfo} &lt;orestes@tsc.upc.edu&gt;</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">You may use, distribute and copy PyCirkuit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, which is shown below, or (at your option) any later version.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit uses also some icons and other artwork from &quot;Oxygen&quot; set, from the KDE project. These icons are under the GNU LGPL v3 license. See </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;"> and </span><a href="http://www.gnu.org/copyleft/lesser.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">http://www.gnu.org/copyleft/lesser.html</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> té el {copyrightInfo} &lt;orestes@tsc.upc.edu&gt;</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Podeu emprar, distribuir i copiar el PyCirkuit sota els termes de la Llicència Pública General de GNU, tal i com la publica la Fundació per al Programari Lliure (FSF), ja sigui la versió 3 de la llicència, la qual es mostra al dessota, o bé (a elecció vostra) qualsevol versió posterior.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">El PyCirkuit empra també algunes icones del conjunt «Oxygen», del projecte KDE. Aquestes icones estan sota la llicència GNU LGPL v3. Vegeu </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;"> i </span><a href="http://www.gnu.org/copyleft/lesser.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">http://www.gnu.org/copyleft/lesser.html</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Orestes Mas</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Original Author, Maintainer and Translator to Catalan</span></p> <hr /> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Aniol Marti</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Debian packages for PyCirkuit, Dpic and Circuit Macros, beta-testing and bug reporting. Contribution to CLI code.</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Guillem Casadesus</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Beta-testing and bug reporting on macOS</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Billy Andriamahazomandimby</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Beta-testing and bug reporting on Windows</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Orestes Mas</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Autor original, mantenidor i traductor al català</span></p> <hr /> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Aniol Marti</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Paquets Debian pel PyCirkuit, el Dpic i les Circuit Macros, proves beta i informes d'errors. Contribució al codi CLI.</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Guillem Casadesus</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Proves beta i informes d'errors en macOS</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Billy Andriamahazomandimby</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Proves beta i informes d'errors en Windows</span></p></body></html> CommandLine path Commandline argument name. If you translate this name, translate it accordingly into the path description and path syntax. ruta [<path> [ <path2>...]] Commandline argument syntax. If you translate <path>, translate the name and path description accordingly. [<ruta> [<ruta2>...]] The given path does not match any existing file. Commandline error message La ruta introduïda no concorda amb cap fitxer existent. The --dpi parameter must be an integer between 25 and 3000. Error message El paràmetre --dpi ha de ser un enter entre 25 i 3000. The --quality parameter must be an integer between 0 and 100. Error message El paràmetre --quality ha de ser un enter entre 0 i 100. Batch processing requested with no files. Commandline error message Heu demanat un procés per lots sense fitxers. More than one file to process with no batch option given. Commandline error message Més d'un fitxer per processar sense haver demanat un procés per lots. Try "{appName} --help" to get more information. Command-line error message. Don't translate '{appName}'. Proveu «{appName}» --help per obtenir més informació. {productName} is a front-end for Circuit Macros by Dwight Aplevich, which are a set of macros for drawing high-quality line diagrams to be included in TeX, LaTeX, web or similar documents. Commandline application description. Don't translate '{productName}'. {productName} és una interfície per a les Circuit Macros de Dwight Aplevich, que són un conjunt de macros per dibuixar diagrames d'alta qualitat i incloure'ls en documents TeX, LaTeX, Web o similars. Path to source drawing file(s) to process. Wildcards accepted. - If no <path> is given, the GUI is opened. - If <path> points to only one file and no batch conversion options are present, this file is opened into the GUI for editing. - If <path>s point to more than one valid file and a combination of output formats options are present, these source files are processed sequentially in batch (unattended) mode and converted into the requested formats. - Specifying more than one file to process with no output format options present is not allowed. Commandline argument description. If you translate <path>, translate the name and path syntax accordingly. Ruta al(s) fitxer(s) font de dibuix per processar. S'accepten comodins. - Si no s'especifica <ruta>, s'obrirà la IGU. - Si <ruta> apunta a un únic fitxer i no s'han especificat opcions de conversió per lots, aquest fitxer s'obrirà dins la IGU per editar-lo. - Si <ruta> apunta a més d'un fitxer vàlid i s'ha especificat alguna combinació de formats de sortida, aquests fitxers font es processaran seqüencialment per lots i es convertiran als formats demanats. - No és permès d'especificar més d'un fitxer per processar sense haver indicat cap opció de format de sortida. Activates batch (unattended) mode, and convert files specified by <path> to {formatID} format. Several output formats can be used together. Commandline option description. Don't translate the '{formatID}' variable. Activa el processament per lots i converteix els fitxers apuntats per <ruta> al format {formatID}. Es poden indicar conjuntament diversos formats de sortida. Sets the resolution of output raster images (png, jpg), in dots per inch. Value <N> is mandatory. If option is not set, default is {defaultDPI}dpi (defined in 'settings' dialog). Commandline argument description. Don't translate the '{defaultDPI}' variable. Estableix la resolució de les imatges «raster» de sortida (png, jpg), en punts per polzada. El valor <N> és obligatori. Si no especifiqueu l'opció, el valor per defecte és {defaultDPI}dpi (definit al diàleg de configuració). Sets the quality of output raster lossy images (jpg), in percent. Value <Q> is mandatory. If option is not set, default is {defaultQuality}% (defined in 'settings' dialog). Commandline option description. Don't translate the '{defaultQuality}' variable. Estableix la qualitat de les imatges «raster» de sortida amb pèrdua (jpg), en percentatge. El valor <Q> és obligatori. Si no especifiqueu l'opció, el valor per defecte és {defaultQuality}% (definit al diàleg de configuració). Using this option the pattern '**' will match any files and zero or more subdirs, so '**/*.ckt' will match all files with 'ckt' extension in the current directory and all its subdirectories. Commandline option description. Si s'especifica aquesta opció, el patró '**' concordarà amb qualsevol fitxer i zero o més subdirectoris. Així, «**/*.ckt» concordarà amb tots els fitxers amb extensió «ckt» del directori actual i tots els seus subdirectoris. Files processed: {N}. Command line message. {N} will be an integer, don't translate it. Fitxers processats: {N}. Overwrite by default the converted files if they are present. If not set, user will be asked at runtime. Commandline option description. Sobreescriu per defecte els fitxers convertits si ja són presents. Si no s'especifica, es preguntarà en temps d'execució. Follow symbolic links. - If not set, destination file will be saved into the same directory where the source file is, whether it's a real file or a symbolic link. - If set, destination file will be saved into the directory where the real source file is located. Commandline option description. Segueix els enllaços simbòlics. - Si no l'especifiqueu, el fitxer de destí es desarà al mateix directori del fitxer font, ja sigui un fitxer real o un enllaç simbòlic. - Si l'especifiqueu, el fitxer de destí es desarà al mateix directori del fitxer font real. Save all converted files into the same destination directory <D> (value is mandatory). Commandline option description. Don't translate '<D>'. Desa tots els fitxers convertits al mateix directori de destí <D> (el valor és obligatori). Found an invalid LaTeX template. Error message. S'ha trobat una plantilla LaTeX invàlida. LaTeX template not found. Error message. No s'ha trobat la plantilla LaTeX. Cannot find the Circuit Macros! Command line error message. No s'han trobat les «Circuit Macros»! No desktop environment available. No hi ha disponible cap entorn d'escriptori. Processing file: Command line message. Will be followed by an absolute file path Processant el fitxer: CommandLine-UserInput1 The destination file already exists. Command line message. THE STARTING NEWLINE CHARACTER ( ) IS IMPORTANT. El fitxer de destinació ja existeix. Would you like to overwrite it? ([y]es | [n]o | yes to [a]ll | ne[v]er): WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message. Voleu sobreescriure'l? ([s]i | [n]o | si a [t]ot | [m]ai): y WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' s n WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' n a WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' t v WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' m CommandLine-UserInput2 a WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:' a s WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:' s o WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:' o Please choose what to do: [a]bort processing, [s]kip file, [o]pen in GUI for editing: WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message. Escolliu què voleu fer: [a]vortar el procés, [s]altar aquest fitxer, [o]brir-lo en la IGU per editar-lo: Please choose what to do: [a]bort processing, [s]kip file: WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message. Escolliu què voleu fer: [a]vortar el procés, [s]altar aquest fitxer: ConfigDialog Circuit Macros Location File Dialog Title Ubicació de les Circuit Macros Latex Template Location File Dialog Title Ubicació de la plantilla LaTeX Config Dialog Diàleg de configuració Circuit Macros Location Group box title Ubicació de les Circuit Macros Enter Path Name Introduïu la ruta Choose... Button text Escull... LaTeX Template File Group box title Fitxer de plantilla LaTeX General General Exporting Exportació &TIKZ &TIKZ PD&F PD&F Raster image export parameters Group box title Paràmetres d'exportació de les imatges de mapa de bits Ras&ter image resolution in dots per inch (dpi): &Resolució de les imatges de mapa de bits en punts per polzada (ppp): dpi Suffix in spin box (translate to acronym) ppp Image &quality for lossy formats like jpeg (percent): &Qualitat d'imatge pels formats amb pèrdua del tipus jpeg (percentatge): % Spin box suffix % Image formats to export Group box title Formats d'imatge a exportar Choose which formats will be saved when the button "Export" is pressed: Escolliu quins formats es desaran quan es premi el botó «Exporta»: &PNG (raster) &PNG (raster) &JPEG (raster) &JPEG (raster) SVG ExternalTool 'PIC' language compiler Tool Long Name Compilador de llenguatge «PIC» 'M4' Macro Processor Tool Long Name Processador de Macros «M4» M4: Error converting CKT -> PIC Error message M4: Error en la conversió CKT -> PIC pdfLaTeX program Tool Long Name Programa pdfLaTeX PDFLaTeX: Error converting TIKZ -> PDF Error message PDFLaTeX: Error en la conversió TIKZ -> PDF PDF to PNG image converter Tool Long Name Convertidor d'imatge PDF a PNG PDFTOPPM: Error converting PDF -> PNG Error message PDFTOPPM: Error en la conversió PDF -> PNG Tool Execution Error Exception title Error d'execució de l'eina Cannot find the {toolLongName}! Leave untranslated the variable name inside curly braces (included) No s'ha trobat el {toolLongName}! Please ensure that you have this application properly installed and the executable "{toolExecutableName}" is in the PATH. Leave untranslated the variable name inside curly braces (included) Si us plau, assegureu-vos de tenir aquesta aplicació correctament instal·lada i que l'executable «{toolExecutableName}» estigui al PATH. Cannot generate the preview. No s'ha pogut generar la previsualització. Tool Not Found Exception title No s'ha trobat l'eina Cannot find the {toolName} manual! Leave untranslated the variable name inside curly braces (included) No s'ha trobat el manual del {toolName}! Please ensure that you have this application properly installed, with its documentation into one of these standard locations: Si us plau, assegureu-vos de tenir aquesta aplicació correctament instal·lada, amb la seva documentació en una d'aquestes ubicacions estàndard: File Not Found Exception title No s'ha trobat el fitxer Circuit Macros not found Exception title No s'han trobat les «Circuit Macros» New Circuit Macros version available! Exception title Hi ha disponible una nova versió de les «Circuit Macros»! Cannot determine the standard writable location for PyCirkuit Error message No s'ha pogut determinar la ubicació estàndard amb permís d'escriptura per al PyCirkuit Network error: Error message Error de xarxa: Error uncompressing the Circuit Macros: Error message S'ha produït un error en descomprimir les Circuit Macros: Cannot find the "Circuit Macros" documentation. Warning message No s'ha pogut trobar la documentació de les «Circuit Macros». You will have to search for it manually. It should be a PDF file located into {cmPath} folder or one of its subfolders. Message Box text. DO NOT translate '{cmPath}' variable. L'haureu de cercar manualment. Hauria de ser un fitxer PDF ubicat a la carpeta {cmPath} o en una de les seves subcarpetes. Module 'python-magic' not found. Please check that all PyCirkuit dependencies are correctly installed. Error message No s'ha trobat el mòdul 'python-magic'. Comproveu que teniu correctament instal·lades totes les dependències del PyCirkuit. PDF to JPEG image converter Tool Long Name Convertidor d'imatge PDF a JPEG PDFTOPPM: Error converting PDF -> JPEG Error message PDFTOPPM: Error en la conversió PDF -> JPEG DPIC: Error processing source file Error message DPIC: Error en processar el fitxer font MainWindow PyCirkuit - by Orestes Mas PyCircuit - per Orestes Mas Fi&le &Fitxer Setti&ngs Arra&njament Open Drawing Obre un dibuix New Drawing Nou dibuix Source Editor Tab title Editor de la font &Quit Menu item S&urt &Open... Menu item &Obre... &New Menu item &Nou &Save Menu item &Desa Sa&ve As... Menu item Desa &com a... Ctrl+M Ctrl+M Ctrl+Q Keyboard Shortcut Ctrl+Q Ctrl+O Keyboard Shortcut Ctrl+O Configure &PyCirkuit... Menu item Configura el &PyCirkuit... Ctrl+P Keyboard Shortcut Ctrl+P Ctrl+N Keyboard Shortcut Ctrl+N Ctrl+S Keyboard Shortcut Ctrl+S Ctrl+Shift+S Keyboard Shortcut Ctrl+Shift+S Enter a file to save into Window Title Introduïu un fitxer on desar-ho PyCirkuit files (*.ckt) File filter text Fitxers PyCirkuit (*.ckt) TeX files (*.tex) File filter text Fitxers TeX (*.tex) Any files (*) File filter text Qualsevol fitxer (*) Enter a file to save into File Dialog title Introduïu un fitxer on desar-ho PyCirkuit files (*.ckt) File filter Fitxers PyCirkuit (*.ckt) Any files (*) File filter Qualsevol fitxer (*) &About PyCirkuit Menu item &Quant al PyCirkuit Source File Selection File Dialog title Selecció de fitxer font unnamed Initial name of a new empty file sense nom .PS scale=2.54 cct_init l=elen_ # Enter your drawing code here .PE Template text. Translate ONLY the commented out text (line starting with '#') .PS scale=2.54 cct_init l=elen_ # Introduïu aquí el codi del vostre dibuix .PE &Circuit Macros manual Manual de les &Circuit Macros &Dpic manual Manual del &Dpic Ctrl+D Ctrl+D Close application Status Bar Message Tanca l'aplicació Application information Status Bar Message Informació de l'aplicació Opens config dialog Status Bar Message Obre el diàleg de configuració Opens Circuit Macros manual Status Bar Message Obre el manual de les Circuit Macros Opens Dpic manual Status Bar Message Obre el manual del Dpic Opens an existing drawing Status Bar Message Obre un dibuix existent Creates an empty drawing Status Bar Message Crea un dibuix buit Saves drawing Status Bar Message Desa el dibuix Saves drawing with new name Status Bar Message Desa el dibuix amb un nom nou M4 macro files (*.m4) File filter text Fitxers de macros M4 (*.m4) TikZ files (*.tikz) File filter Fitxers TikZ (*.tikz) <Empty output> Placeholder text <Sortida buida> Output Log Tab title Registre de sortida Error! Fallback text to be displayed when the image cannot be generated Error! <html><head/><body><p>Use:</p> <ul> <li> Ctrl + Mouse Wheel to Zoom In/Out</li> <li> Click and Move to drag the image inside the preview</li> </ul> </body></html> <html><head/><body><p>Empreu:</p> <ul> <li> Ctrl + Roda del Ratolí per Ampliar/Reduir</li> <li> Clic i moviment per a desplaçar la imatge dins de la previsualització</li> </ul> </body></html> Hel&p A&juda PDF files (*.pdf) File filter Fitxers PDF (*.pdf) PNG files (*.png) File filter Fitxers PNG (*.png) JPEG files (*.jpeg *.jpg) File filter Fitxers JPEG (*.jpeg *.jpg) &Process and display Button text &Processa i mostra Alt+P Alt+P E&xport Button text E&xporta Alt+X Alt+X Preview A window title, NOT an action. Previsualització Enter a writable directory to save into Window Title Introduïu un directori amb permisos d'escriptura SVG files (*.svg) File filter Fitxers SVG (*.svg) Enter new directory File Dialog Title Introduïu un directori nou MessageBox Cannot find the 'Circuit Macros'! No s'han trobat les «Circuit Macros»! Do you want to try to search and install them automatically? Voleu provar de cercar-les i instal·lar-les automàticament? Please indicate the correct path to them in the settings dialog. Si us plau indiqueu-ne la ruta correcta al diàleg de l'arranjament. Do you want to overwrite it? Message Box text Voleu sobreescriure'l? Save As... Button text Desa com a... The specified LaTeX template seems invalid! Error message La plantilla LaTeX especificada no sembla vàlida! Please indicate a correct one in the Settings. Error message Si us plau indiqueu-ne una de correcta a l'arranjament. Cannot generate the preview. Error message No s'ha pogut generar la previsualització. The LaTeX template has not been found! Error message No s'ha trobat la plantilla LaTeX! Please indicate its correct PATH in the Settings. Error message Si us plau indiqueu-ne la ruta correcta a l'arranjament. Source file have unsaved changes. Message box text El fitxer font té canvis sense desar. There's already a file named "{filename}" at working directory. Message box text. Don't translate '{filename}' Ja hi ha un fitxer anomenat «{filename}» al directori de treball. Do you want to save them before proceeding? Message Box text Voleu desar-los abans de continuar? The path to the Circuit Macros location is not valid. Please enter a valid one. El camí a la ubicació de les Circuit Macros no és correcte. Introduïu-ne un de vàlid. The path to the LaTeX template does not point to a valid file. Please enter a correct one. El camí a la plantilla de LaTeX no apunta a un fitxer vàlid. Introduïu-ne un de correcte. Or, cancel the settings dialog and PyCirkuit will download and install the Circuit Macros when needed. O bé cancel·leu el diàleg d'arranjaments i el PyCirkuit descarregarà i instal·larà les Circuit Macros quan calgui. PyCirkuit - Error Message Box title PyCirkuit - Error Permission denied writing the file {filename}. Message box text. Don't translate '{filename}' S'ha denegat el permís mentre s'escrivia el fitxer {filename}. Please try to export again with another name and/or location. Message Box text Proveu de tornar-lo a exportar amb un altre nom i/o ubicació. An error has occurred trying to export the file. The error says: Message Box text S'ha produït un error mentre s'exportava el fitxer. L'error diu: To be able to export with the new settings you have to process the source again. Per poder exportar amb els nous paràmetres cal que torneu a processar el fitxer font. PyCirkuit - Warning Message Box title PyCirkuit - Avís Please save the source file somewhere prior to exporting it. Message Box text Deseu-lo en algun lloc abans d'exportar-lo. The source file isn't saved yet. Message box text. El fitxer font encara no s'ha desat. The exporting destination directory is not writable. Message box text. El directori destí de l'exportació no té permisos d'escriptura. Please enter a suitable directory to write into. Message Box text Introduïu un directori amb els permisos adients. Error saving source file: Destination is not writable. Error message S'ha produït un error en desar el fitxer font: El destí no té permisos d'escriptura. Please select a suitable destination to save into. Error message Introduïu un directori amb els permisos adients. OutputLog >>>>> Start processing Output log info >>>>> Inici del processament Output of {toolLongName}: Output log info. Do NOT modify/translate the '{toolLongName}' variable Sortida del {toolLongName}: + No execution errors Output log info + Sense errors d'execució PyCirkuitError PyCirkuit Error Exception title Error del PyCirkuit The generated image could not be loaded. Exception message No s'ha pogut carregar la imatge generada. The converted image could not be loaded. Exception message No s'ha pogut carregar la imatge convertida. PyCirkuit Internal Error Exception title Error intern del PyCirkuit This error should not happen in a normal operation. Please contact the developers. Exception additional info Aquest error no s'hauria d'esdevenir en l'ús normal. Contacteu els desenvolupadors. Internal error: cannot load image Displayed error message Error intern: no s'ha pogut carregar la imatge Error creating zoomed image. Displayed error message S'ha produït un error en crear la imatge ampliada/reduïda. StatusBar Converting: Circuit Macros -> PIC Status Bar message S'està convertint: Circuit Macros -> PIC Converting: PIC -> TIKZ Status Bar message S'està convertint: PIC -> TIKZ Converting: TIKZ -> PDF Status Bar message S'està convertint: TIKZ -> PDF Converting: PDF -> PNG Status Bar message S'està convertint: PDF -> PNG Downloading and unpacking Circuit Macros Status Bar message S'estan baixant i desempaquetant les «Circuit Macros» Converting: PIC -> SVG Status Bar message S'està convertint: PIC -> SVG Converting: PDF -> JPEG Status Bar message S'està convertint: PDF -> JPEG pycirkuit-0.5.1/pycirkuit/L10n/pycirkuit_empty.qm000066400000000000000000000000201362435125300220710ustar00rootroot00000000000000 AboutDialog About PyCirkuit Dialog Title &About Tab text &Version Tab text A&uthors Tab text &License Agreement <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> is a GUI front-end for </span><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Circuit Macros</span></a><span style=" font-size:11pt;"> and </span><a href="https://gitlab.com/aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a><span style=" font-size:11pt;"> by Dwight Aplevich, which make up a software chain for drawing high-quality line diagrams to be included in TeX, LaTeX, LibreOffice, web or similar documents. PyCirkuit is written in Python 3 using the PyQt5 libraries, but is largely inspired (in both ideas and code snippets) on </span><a href="https://wwwu.uni-klu.ac.at/magostin/cirkuit.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Cirkuit</span></a><span style=" font-size:11pt;">, a C++ application written by Matteo Agostinelli using KDE4 libraries.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit compiles the source code on demand to generate a live preview, and can export the resulting image in various formats to be included directly in your documents.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">You can send bug reports via the </span><a href="https://github.com/orestesmas/pycirkuit"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">project repository on GitHub</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">If you are willing to contribute, please read </span><a href="https://github.com/orestesmas/pycirkuit/blob/master/CONTRIBUTING.md"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">these guidelines</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit uses icons from KDE's &quot;Oxygen&quot; set, which are under the LGPL license. See </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;">.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Version {versionNumber}</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Using:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.riverbankcomputing.com/software/pyqt/intro"><span style=" text-decoration: underline; color:#2980b9;">PyQt5</span></a> Python bindings to Qt5 by Riverbank Computing.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" text-decoration: underline; color:#2980b9;">Circuit Macros</span></a>, by Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.gnu.org/software/m4/"><span style=" text-decoration: underline; color:#2980b9;">GNU M4</span></a> Macro Processor, from the GNU project.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a>, by Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ctan.org/"><span style=" text-decoration: underline; color:#2980b9;">LaTeX + TIkZ</span></a>, by Donald Knuth, Leslie Lamport, Till Tantau and many more contributors.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://linux.die.net/man/1/pdftoppm"><span style=" text-decoration: underline; color:#2980b9;">PdfToPpm</span></a>, a software by <a href="https://poppler.freedesktop.org/"><span style=" text-decoration: underline; color:#2980b9;">The Poppler project</span></a>. </li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> is {copyrightInfo} &lt;orestes@tsc.upc.edu&gt;</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">You may use, distribute and copy PyCirkuit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, which is shown below, or (at your option) any later version.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit uses also some icons and other artwork from &quot;Oxygen&quot; set, from the KDE project. These icons are under the GNU LGPL v3 license. See </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;"> and </span><a href="http://www.gnu.org/copyleft/lesser.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">http://www.gnu.org/copyleft/lesser.html</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Orestes Mas</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Original Author, Maintainer and Translator to Catalan</span></p> <hr /> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Aniol Marti</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Debian packages for PyCirkuit, Dpic and Circuit Macros, beta-testing and bug reporting. Contribution to CLI code.</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Guillem Casadesus</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Beta-testing and bug reporting on macOS</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Billy Andriamahazomandimby</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Beta-testing and bug reporting on Windows</span></p></body></html> CommandLine path Commandline argument name. If you translate this name, translate it accordingly into the path description and path syntax. [<path> [ <path2>...]] Commandline argument syntax. If you translate <path>, translate the name and path description accordingly. The given path does not match any existing file. Commandline error message The --dpi parameter must be an integer between 25 and 3000. Error message The --quality parameter must be an integer between 0 and 100. Error message Batch processing requested with no files. Commandline error message More than one file to process with no batch option given. Commandline error message Try "{appName} --help" to get more information. Command-line error message. Don't translate '{appName}'. {productName} is a front-end for Circuit Macros by Dwight Aplevich, which are a set of macros for drawing high-quality line diagrams to be included in TeX, LaTeX, web or similar documents. Commandline application description. Don't translate '{productName}'. Activates batch (unattended) mode, and convert files specified by <path> to {formatID} format. Several output formats can be used together. Commandline option description. Don't translate the '{formatID}' variable. Sets the resolution of output raster images (png, jpg), in dots per inch. Value <N> is mandatory. If option is not set, default is {defaultDPI}dpi (defined in 'settings' dialog). Commandline argument description. Don't translate the '{defaultDPI}' variable. Sets the quality of output raster lossy images (jpg), in percent. Value <Q> is mandatory. If option is not set, default is {defaultQuality}% (defined in 'settings' dialog). Commandline option description. Don't translate the '{defaultQuality}' variable. Using this option the pattern '**' will match any files and zero or more subdirs, so '**/*.ckt' will match all files with 'ckt' extension in the current directory and all its subdirectories. Commandline option description. Path to source drawing file(s) to process. Wildcards accepted. - If no <path> is given, the GUI is opened. - If <path> points to only one file and no batch conversion options are present, this file is opened into the GUI for editing. - If <path>s point to more than one valid file and a combination of output formats options are present, these source files are processed sequentially in batch (unattended) mode and converted into the requested formats. - Specifying more than one file to process with no output format options present is not allowed. Commandline argument description. If you translate <path>, translate the name and path syntax accordingly. Files processed: {N}. Command line message. {N} will be an integer, don't translate it. Overwrite by default the converted files if they are present. If not set, user will be asked at runtime. Commandline option description. Follow symbolic links. - If not set, destination file will be saved into the same directory where the source file is, whether it's a real file or a symbolic link. - If set, destination file will be saved into the directory where the real source file is located. Commandline option description. Save all converted files into the same destination directory <D> (value is mandatory). Commandline option description. Don't translate '<D>'. Found an invalid LaTeX template. Error message. LaTeX template not found. Error message. Cannot find the Circuit Macros! Command line error message. No desktop environment available. Processing file: Command line message. Will be followed by an absolute file path CommandLine-UserInput1 The destination file already exists. Command line message. THE STARTING NEWLINE CHARACTER ( ) IS IMPORTANT. Would you like to overwrite it? ([y]es | [n]o | yes to [a]ll | ne[v]er): WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message. y WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' n WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' a WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' v WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?' CommandLine-UserInput2 a WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:' s WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:' o WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:' Please choose what to do: [a]bort processing, [s]kip file, [o]pen in GUI for editing: WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message. Please choose what to do: [a]bort processing, [s]kip file: WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message. ConfigDialog Config Dialog Circuit Macros Location Group box title Enter Path Name Choose... Button text LaTeX Template File Group box title Circuit Macros Location File Dialog Title Latex Template Location File Dialog Title General Exporting &TIKZ PD&F Raster image export parameters Group box title Ras&ter image resolution in dots per inch (dpi): dpi Suffix in spin box (translate to acronym) Image &quality for lossy formats like jpeg (percent): % Spin box suffix Image formats to export Group box title Choose which formats will be saved when the button "Export" is pressed: &PNG (raster) &JPEG (raster) SVG ExternalTool Cannot find the {toolName} manual! Leave untranslated the variable name inside curly braces (included) Please ensure that you have this application properly installed, with its documentation into one of these standard locations: File Not Found Exception title Cannot find the "Circuit Macros" documentation. Warning message You will have to search for it manually. It should be a PDF file located into {cmPath} folder or one of its subfolders. Message Box text. DO NOT translate '{cmPath}' variable. Tool Execution Error Exception title Cannot find the {toolLongName}! Leave untranslated the variable name inside curly braces (included) Please ensure that you have this application properly installed and the executable "{toolExecutableName}" is in the PATH. Leave untranslated the variable name inside curly braces (included) Cannot generate the preview. Tool Not Found Exception title Circuit Macros not found Exception title New Circuit Macros version available! Exception title Cannot determine the standard writable location for PyCirkuit Error message Network error: Error message Module 'python-magic' not found. Please check that all PyCirkuit dependencies are correctly installed. Error message Error uncompressing the Circuit Macros: Error message 'PIC' language compiler Tool Long Name 'M4' Macro Processor Tool Long Name M4: Error converting CKT -> PIC Error message pdfLaTeX program Tool Long Name PDFLaTeX: Error converting TIKZ -> PDF Error message PDF to PNG image converter Tool Long Name PDFTOPPM: Error converting PDF -> PNG Error message PDF to JPEG image converter Tool Long Name PDFTOPPM: Error converting PDF -> JPEG Error message DPIC: Error processing source file Error message MainWindow PyCirkuit - by Orestes Mas Source Editor Tab title Output Log Tab title <Empty output> Placeholder text Fi&le Setti&ngs &Quit Menu item Close application Status Bar Message Ctrl+Q Keyboard Shortcut &Open... Menu item Open Drawing Opens an existing drawing Status Bar Message Ctrl+O Keyboard Shortcut &About PyCirkuit Menu item Application information Status Bar Message Configure &PyCirkuit... Menu item Opens config dialog Status Bar Message Ctrl+P Keyboard Shortcut &New Menu item New Drawing Creates an empty drawing Status Bar Message Ctrl+N Keyboard Shortcut &Save Menu item Saves drawing Status Bar Message Ctrl+S Keyboard Shortcut Sa&ve As... Menu item Saves drawing with new name Status Bar Message Ctrl+Shift+S Keyboard Shortcut &Circuit Macros manual Opens Circuit Macros manual Status Bar Message Ctrl+M &Dpic manual Opens Dpic manual Status Bar Message Ctrl+D unnamed Initial name of a new empty file Enter a file to save into Window Title TikZ files (*.tikz) File filter Any files (*) File filter .PS scale=2.54 cct_init l=elen_ # Enter your drawing code here .PE Template text. Translate ONLY the commented out text (line starting with '#') Source File Selection File Dialog title PyCirkuit files (*.ckt) File filter text M4 macro files (*.m4) File filter text TeX files (*.tex) File filter text Any files (*) File filter text Enter a file to save into File Dialog title PyCirkuit files (*.ckt) File filter Error! Fallback text to be displayed when the image cannot be generated <html><head/><body><p>Use:</p> <ul> <li> Ctrl + Mouse Wheel to Zoom In/Out</li> <li> Click and Move to drag the image inside the preview</li> </ul> </body></html> Hel&p PDF files (*.pdf) File filter PNG files (*.png) File filter JPEG files (*.jpeg *.jpg) File filter &Process and display Button text Alt+P E&xport Button text Alt+X Preview A window title, NOT an action. Enter a writable directory to save into Window Title SVG files (*.svg) File filter Enter new directory File Dialog Title MessageBox The path to the Circuit Macros location is not valid. Please enter a valid one. Or, cancel the settings dialog and PyCirkuit will download and install the Circuit Macros when needed. The path to the LaTeX template does not point to a valid file. Please enter a correct one. Source file have unsaved changes. Message box text Do you want to save them before proceeding? Message Box text The specified LaTeX template seems invalid! Error message Please indicate a correct one in the Settings. Error message Cannot generate the preview. Error message The LaTeX template has not been found! Error message Please indicate its correct PATH in the Settings. Error message Cannot find the 'Circuit Macros'! Do you want to try to search and install them automatically? Please indicate the correct path to them in the settings dialog. There's already a file named "{filename}" at working directory. Message box text. Don't translate '{filename}' Do you want to overwrite it? Message Box text Save As... Button text PyCirkuit - Error Message Box title Permission denied writing the file {filename}. Message box text. Don't translate '{filename}' Please try to export again with another name and/or location. Message Box text An error has occurred trying to export the file. The error says: Message Box text To be able to export with the new settings you have to process the source again. PyCirkuit - Warning Message Box title Please save the source file somewhere prior to exporting it. Message Box text The source file isn't saved yet. Message box text. The exporting destination directory is not writable. Message box text. Please enter a suitable directory to write into. Message Box text Error saving source file: Destination is not writable. Error message Please select a suitable destination to save into. Error message OutputLog >>>>> Start processing Output log info Output of {toolLongName}: Output log info. Do NOT modify/translate the '{toolLongName}' variable + No execution errors Output log info PyCirkuitError PyCirkuit Error Exception title The generated image could not be loaded. Exception message The converted image could not be loaded. Exception message PyCirkuit Internal Error Exception title This error should not happen in a normal operation. Please contact the developers. Exception additional info Internal error: cannot load image Displayed error message Error creating zoomed image. Displayed error message StatusBar Downloading and unpacking Circuit Macros Status Bar message Converting: Circuit Macros -> PIC Status Bar message Converting: PIC -> TIKZ Status Bar message Converting: TIKZ -> PDF Status Bar message Converting: PDF -> PNG Status Bar message Converting: PIC -> SVG Status Bar message Converting: PDF -> JPEG Status Bar message pycirkuit-0.5.1/pycirkuit/__init__.py000066400000000000000000000036641362435125300177110ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module storing the application version number and other metadata in a single place """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # from enum import Enum __all__ = ["mainwindow"] __productname__ = "PyCirkuit" # Expecting trailing "-rcN" or "" for stable releases. __version__ = "0.5.1" __description__ = "A front-end for Circuit Macros" __author__ = "Orestes Mas" __author_email__ = "orestes@tsc.upc.edu" __license_short__ = "GPLv3+" __license_long__ = "Licensed under the GNU GPL v3 or any later version" __copyright__ = "Copyright 2018-2019 {__author__}".format(**locals()) __bigcopyright__ = """{__productname__} {__version__} {__license_long__}""".format(**locals()) __homepage__ = "https://github.com/orestesmas/pycirkuit" # The temporary working dir should be globally addressed through the entire application __tmpDir__ = None # Global variable that indicates if we are being executed on a desktop environment or not __haveGUI__ = None # CLI options class Option(Enum): TIKZ = 'tikzOption' PDF = 'pdfOption' PNG = 'pngOption' JPEG = 'jpgOption' SVG = 'svgOption' DPI = 'dpiOption' QUAL = 'qualityOption' REC = 'recurseOption' LINK = 'followLinksOption' DEST = 'destDirOption' OVER = 'overwriteOption' pycirkuit-0.5.1/pycirkuit/doc/000077500000000000000000000000001362435125300163345ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/doc/process.ckt000066400000000000000000000011511362435125300205130ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ ellipse wid l ht 0.75*l ".ckt" "diagram" arrow right_ l/2 M4: box wid l ht 0.75*l "\textbf{m4}" "processor" arrow right_ l/2 ellipse wid l ht 0.75*l ".pic file" arrow right_ l/2 DPIC: box wid l ht 0.75*l "\textbf{dpic}" "interpreter" arrow right_ l/2 ellipse wid l ht 0.75*l ".tikz file" arrow right_ l/2 ellipse wid l ht 0.2*l fill 0.85 "\small{tikz}" ellipse wid l ht 0.75*l at last ellipse "\small{\LaTeX}" at last ellipse + (0,0.2*l) "\small{template}" at last ellipse - (0,0.2*l) arrow right_ l/2 with .s at last ellipse.e Latex: box wid l ht 0.75*l "Pdf\LaTeX" "processor" .PE pycirkuit-0.5.1/pycirkuit/doc/process.tikz000066400000000000000000000036411362435125300207210ustar00rootroot00000000000000\begin{tikzpicture}[scale=2.54] % dpic version 2018.08.15 option -g for TikZ and PGF 1.01 \ifx\dpiclw\undefined\newdimen\dpiclw\fi \global\def\dpicdraw{\draw[line width=\dpiclw]} \global\def\dpicstop{;} \dpiclw=0.8bp \dpiclw=0.8bp \dpicdraw (0.375,0) ellipse (0.147638in and 0.110728in)\dpicstop \draw (0.375,0) node{\shortstack{.ckt\\% diagram}}; \filldraw[line width=0bp](1.025,-0.025) --(1.125,0) --(1.025,0.025) --cycle\dpicstop \dpicdraw (0.75,0) --(1.102094,0)\dpicstop \dpicdraw (1.125,-0.28125) rectangle (1.875,0.28125)\dpicstop \draw (1.5,0) node{\shortstack{\textbf{m4}\\% processor}}; \filldraw[line width=0bp](2.15,-0.025) --(2.25,0) --(2.15,0.025) --cycle\dpicstop \dpicdraw (1.875,0) --(2.227094,0)\dpicstop \dpicdraw (2.625,0) ellipse (0.147638in and 0.110728in)\dpicstop \draw (2.625,0) node{.pic file}; \filldraw[line width=0bp](3.275,-0.025) --(3.375,0) --(3.275,0.025) --cycle\dpicstop \dpicdraw (3,0) --(3.352094,0)\dpicstop \dpicdraw (3.375,-0.28125) rectangle (4.125,0.28125)\dpicstop \draw (3.75,0) node{\shortstack{\textbf{dpic}\\% interpreter}}; \filldraw[line width=0bp](4.4,-0.025) --(4.5,0) --(4.4,0.025) --cycle\dpicstop \dpicdraw (4.125,0) --(4.477094,0)\dpicstop \dpicdraw (4.875,0) ellipse (0.147638in and 0.110728in)\dpicstop \draw (4.875,0) node{.tikz file}; \filldraw[line width=0bp](5.525,-0.025) --(5.625,0) --(5.525,0.025) --cycle\dpicstop \dpicdraw (5.25,0) --(5.602094,0)\dpicstop \dpicdraw[fill=white!85!black](6,0) ellipse (0.147638in and 0.029528in)\dpicstop \draw (6,0) node{\small{tikz}}; \dpicdraw (6,0) ellipse (0.147638in and 0.110728in)\dpicstop \draw (6,0.15) node{\small{\LaTeX}}; \draw (6,-0.15) node{\small{template}}; \filldraw[line width=0bp](6.65,-0.025) --(6.75,0) --(6.65,0.025) --cycle\dpicstop \dpicdraw (6.375,0) --(6.727094,0)\dpicstop \dpicdraw (6.75,-0.28125) rectangle (7.5,0.28125)\dpicstop \draw (7.125,0) node{\shortstack{Pdf\LaTeX\\% processor}}; \end{tikzpicture} pycirkuit-0.5.1/pycirkuit/examples/000077500000000000000000000000001362435125300174055ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/examples/2-stage filter.ckt000066400000000000000000000031121362435125300226150ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ # This drawing is interesting as it shows how to reuse drawing code # This is the first stage of the filter # Starting from left to right In: Here resistor(right_ 3*l/4);llabel(,R_1) Mid: dot resistor(right_ 3*l/4);llabel(,R_2) dot { capacitor(down_ l);rlabel(,C_1) GND: ground(,T,E) } line right_ l/2 AO: opamp(right_ 5*l/6,,,,R) with .In1 at Here line left_ l/6 from AO.In2 then down elen_/3 then right_ elen_ then up to AO.Out dot line up_ 3*l/4 from AO.Out corner capacitor(left_ Here.x-Mid.x);rlabel(,C_2) corner line to Mid # From AO's output, move slightly up and right to start the second stage # aligned with the first move to AO.Out line right_ elen_/4 corner line up_ In.y-Here.y corner # This is the second stage of the filter # The code is copypasted from first stage, changing only the labels In2: Here resistor(right_ 3*l/4);llabel(,R_3) Mid2: dot resistor(right_ 3*l/4);llabel(,R_4) dot { capacitor(down_ l);rlabel(,C_3) GND2: ground(,T,E) } line right_ l/2 AO2: opamp(right_ 5*l/6,,,,R) with .In1 at Here line left_ l/6 from AO2.In2 then down elen_/3 then right_ elen_ then up to AO2.Out dot line up_ 3*l/4 from AO2.Out corner capacitor(left_ Here.x-Mid2.x);rlabel(,C_4) corner line to Mid2 # The third stage is a voltage divider move to AO2.Out line right_ elen_/4 corner line up_ In.y-Here.y corner resistor(right_ l);llabel(,R_a) dot { resistor(down_ Here.y-GND.y);rlabel(,R_b) ground(,T,E) } line right_ l/3 # Output port dot(,,1) # Input port (drawing it at the end avoids being overwritten by the lines starting on it) dot(at In,,1) .PE pycirkuit-0.5.1/pycirkuit/examples/CE-BJT amplifier in DC.ckt000066400000000000000000000021721362435125300236050ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ # Let's do the power supply first setrgb(0.8,0,0) Inici: Here dot(,,1) "$+V_{cc}$" above # Interestingly, the "dotrad" constant avoids having to draw the dot *after* drawing the line line down_ l/4 from Here-(0,dotrad_) dot # Collector circuit { resistor(down_ l);llabel(,R_C) b_current(I_C,,O,E,0.5) up_ setrgb(0,0,1) T: bi_tr() with .C at Here resetrgb line right_ l/2 from T.C Out: dot(,,1) "$V_x$" ljust } # Base circuit { setrgb(0.8,0,0) line left_ 3*l/4 corner resistor(down_ l);rlabel(,R_B) arrowline(down_ Here.y-T.B.y);rlabel(,I_B) resetrgb corner line to T.B } # Emitter circuit arrowline(down_ l/2 from T.E);llabel(,I_E) GND: ground(,T,E) # Vbe label halfway between base and emitter move to (T.B+T.E)/2 # Must put some (invisible) object there because otherwise the "move" is useless dot(,0) at Here Point_(-35) dlabel(0.5,-0.4,+,V_{BE},-) # Vce label halfway between collector and emitter move to (T.C+T.E)/2 - (0,0.15) # Must put some (invisible) object there because otherwise the "move" is useless dot(,0) at Here Point_(-90) dlabel(0.35,0.3,+,V_{CE},-) .PEpycirkuit-0.5.1/pycirkuit/examples/CE-BJT amplifier model (HF).ckt000066400000000000000000000017621362435125300244330ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ setrgb(0,0.5,0) Inici: Here capacitor(right_ l);llabel(,C_i) resetrgb dot { setrgb(0.8,0,0) resistor(down_ l);rlabel(,R_B) GND:ground(,T,E) resetrgb } setrgb(0,0,1) resistor(right_ l);llabel(,{r}_{bb}) corner A:Here dot resistor(down_ l);rlabel(,{r}_\pi);llabel(+,v_\pi,-) ground(,T,E) line right_ l*2/3 from A dot B:Here capacitor(down_ l);llabel(,C_\pi) ground(,T,E) capacitor(right_ l from B);llabel(,C_\mu) dot ground(at (A.x+5/3*l,A.y-l),T,E) consource(up_ l ,I,R);rlabel(,g_mv_{\pi}) line right_ l dot { resistor(down_ l);llabel(,r_o) GND:ground(,T,E) } line right_ l*2/3 resetrgb dot { setrgb(0.8,0,0) resistor(down_ l);llabel(,R_C) GND:ground(,T,E) resetrgb } line right_ l/2 dot(,,1); "$v_o(t)$" ljust setrgb(0,0.5,0) resistor(left_ l from Inici);rlabel(,R_g) corner source(down_ to (Here.x,GND.y),S);rlabel(+,v_g(t)) ground(,T,E) dot(at Inici,,1) resetrgb setrgb(0,0,1) box dashed ht 2.8 wid 7.4 at (Inici.x+l*3.15,Inici.y-elen_/3) "BJT" below .PEpycirkuit-0.5.1/pycirkuit/examples/Electro-mechanical system.ckt000066400000000000000000000024011362435125300250710ustar00rootroot00000000000000.PS cct_init scale=2.54 l=elen_ Inici:Here resistor(right_);llabel(,R) inductor(right_,L);llabel(,L) line right_ l/2 corner M: ttmotor(down_ l);setrgb(1,0.6,0.1);dlabel(l/3,-0.4*l,+,v_e(t),-);resetrgb corner line to Inici-(0,l) G1:gap(up_ l);clabel(-,v_g(t),+) { Eix: box wid 0.75*l ht 0.05*l with .w at M fill(0.7) El1: ellipse wid l/5 ht l/2 with .c at Eix.e fill(0.7) box wid l/2 ht l/2 with .sw at El1.s fill(0.7) invis "$J$" at last box.c rjust El2: ellipse wid l/5 ht l/2 with .c at last box.e fill(0.7) line from El1.n to El2.n line from El1.s to El2.s box wid 0.5*l ht 0.05*l with .w at El2.c fill(0.7) B: ellipse wid l/20 ht l/8 with .c at last box.e fill(0) "$b$" above setrgb(0.2,0.5,1) arcd(Eix.c,l/8,50,-100) <- "$\omega(t)$" at last arc.n+(0,l/8) resetrgb } setrgb(0,0.5,0) arcr((G1.c+M.c)/2-(0.2*l,0),0.3*l,-pi_/2,pi_) <- "$i(t)$" resetrgb setrgb(0.9,0,0) arrow right_ l/2 up_ l/4 with .start at El2.n "$\gamma_m(t)\quad$" above arrow left_ l/2 down_ l/4 with .start at El2.s resetrgb setrgb(0.9,0.3,1) arrow right_ l/4 up_ l/8 with .start at B.s "$\gamma_b(t)\quad$" below arrow left_ l/4 down_ l/8 with .start at B.n resetrgb setrgb(0,0,1) line <- left l/4 from M.end+(-0.4*l,0.1*l) then down_ l/4 "$Z(s)\, , Y(s)$" below resetrgb .PE pycirkuit-0.5.1/pycirkuit/examples/LPF - noninverting.ckt000066400000000000000000000006651362435125300233560ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ In: Here resistor(right_ 3*l/4);llabel(,R_1) dot { capacitor(down_ 3*l/2);rlabel(,C_1) GND: ground(,T,E) } line right_ 2*l/3 AO: opamp(right_ 5*l/6,,,,R) with .In1 at Here line left_ l/6 from AO.In2 then down elen_/3 dot { resistor(down_ to (Here,GND));rlabel(,R_2) ground(,T,E) } resistor(right_ elen_);rlabel(,R_3) corner line up to AO.Out dot line right_ elen_/4 dot(,,1) dot(at In,,1) .PE pycirkuit-0.5.1/pycirkuit/examples/Laplace transformed circuit.ckt000066400000000000000000000011471362435125300254040ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ setrgb(0,0.5,0) Inici: capacitor(right_ );llabel(,\frac{1}{sC_1}) "\textcircled{A}" below P1: dot resistor(right_ l);llabel(,R) P2: dot "\textcircled{B}" below line right_ l/4 AO: opamp(right_) with .In1 at Here line right_ l/4 from AO.Out dot { line right_ l/4 dot(,,1) "$\,V_o(s)$" ljust } line up_ l/2 dot { capacitor(left_ Here.x-P2.x);rlabel(,\frac{1}{sC_2}) corner line to P2 } line up_ .6*l corner resistor(left_ Here.x-P1.x);rlabel(,R) corner line to P1 line left_ l/4 from AO.In2 corner line down_ l/2 ground(,T,E) dot(at Inici.start,,1) "$V_i(s)\,$" rjust .PEpycirkuit-0.5.1/pycirkuit/examples/Motor-relay.ckt000066400000000000000000000015641362435125300223300ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ setrgb(0,0,1) Rel: relay(2) line left_ l/2 from Rel.P1-(0.04,0) { arrowline(left_ l/4 at last line.c); llabel(,"\tiny $i_B$") } corner ttmotor(up_ Rel.P2.y-Rel.P1.y,M) corner line right_ l/2 { arrowline(left_ l/4 at last line.c); rlabel(,"\tiny $i_A$") } line left_ 3*l/4 from Rel.V1 R: dot(,,1) line right l/8 from Rel.V2 then down l/4 line left (Here.x-R.x) dot(,,1) "\footnotesize Control" above "\tiny A" at Rel.C2 above "\tiny A" at Rel.C1 below "\tiny B" at Rel.O2 above "\tiny B" at Rel.O1 above # Línies d'alimentació positiva setrgb(1,0,0) line right_ l/2 from Rel.C2 D1: dot line right_ l/4 then up_ l/4 dot(,,1); "$+v_{_M}$" above line right_ l/2 from Rel.O1 then up_ to D1 # Línies de massa setrgb(0,0,0) line right_ 3*l/4 from Rel.O2 then down 3*l/4 ground(,T,E); "\footnotesize GND" below line right_ 3*l/4 from Rel.C1 dot .PEpycirkuit-0.5.1/pycirkuit/examples/Multiple-FeedBack.ckt000066400000000000000000000012131362435125300233220ustar00rootroot00000000000000.PS scale=2.54 cct_init l=0.9*elen_ Terra: ground(,T,E) capacitor(up_ l);rlabel(,C_2) A: dot { resistor(left_ l);rlabel(,R_1) dot(,,1) "$v_g(t)$" rjust } resistor(right_ l);llabel(,R_3) dot { line right_ l/4 AO: opamp(,,,,P) with .In1 at Here dot(at AO.V2,,1) "\scriptsize$-V_{cc}$" at Here-(0,0.3) dot(at AO.V1,,1) "\scriptsize$+V_{cc}$" at Here+(0,0.3) dot(at AO.Out) line right_ l/4 dot(,,1) "$v_o(t)$" ljust line left_ l/4 from AO.In2 corner line down_ (Here.y-Terra.y) ground(,T,E) } capacitor(up_ l);rlabel(,C_1) dot resistor(up_ l from A);rlabel(,R_2) corner line right_ (AO.Out.x-Here.x) then to AO.Out .PE pycirkuit-0.5.1/pycirkuit/examples/Sallen-Key.ckt000066400000000000000000000011461362435125300220560ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ In: Here resistor(right_ 3*l/4);llabel(,R_1) Mid: dot resistor(right_ 3*l/4);llabel(,R_2) dot { capacitor(down_ 3*l/2);rlabel(,C_1) GND: ground(,T,E) } line right_ 2*l/3 AO: opamp(right_ 5*l/6,,,,R) with .In1 at Here line left_ l/6 from AO.In2 then down elen_/3 dot { resistor(down_ to (Here,GND));rlabel(,R_3) ground(,T,E) } resistor(right_ elen_);rlabel(,R_4) corner line up to AO.Out dot line right_ elen_/4 dot(,,1) "$\,v_o(t)$" ljust line up_ 3*l/4 from AO.Out corner capacitor(left_ Here.x-Mid.x);rlabel(,C_2) corner line to Mid dot(at In,,1) "$v_g(t)$" rjust .PE pycirkuit-0.5.1/pycirkuit/examples/Signal_conditioner.ckt000066400000000000000000000035631362435125300237310ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ # SEGON AMPLIFICADOR NO INVERSOR AO1: opamp(right_ 0.75*l,,,,R) "\textcircled{10}" above dot line down_ l/2 corner resistor(left_ 0.9*l);llabel(,R_b) corner { line up_ (AO1.In2.y-Here.y) then to AO1.In2 } dot "\textcircled{9}" rjust resistor(down_ 0.75*l);rlabel(,R_a) ground(,T,E) # SUMADOR line left_ l/2 from AO1.In1 "\textcircled{8}" above dot { line up_ l/4 corner resistor(left_ 0.75*l);rlabel(,R_1) line left_ l/2 "$v_y$" above line down l then left_ 0.0001 En1: Here } { line down_ l/4 corner P: potentiometer(left_ 0.75*l,4,0.25,5mm__) with .Start at Here;rlabel(,R_2) corner line down_ l/2 from last [].End "\textcircled{4}" rjust dot(,,1) "$+V_{cc}$" below move to P.Start dot line to (Here,P.T1) then to P.T1 } line right_ l/4 from AO1.Out dot(,,1) "$v_h$" ljust # AMPLIFICADOR PSEUDO-LOGARÍTMIC AO2: opamp() with .Out at En1 line left_ l/4 from AO2.In2 then down_ l/2 Gnd: ground(,T,E) line left_ l/4 from AO2.In1 dot "\textcircled{6}" below { resistor(left_ 0.75*l);rlabel(,R_d);llabel(,\SI{50}{\kohm}) "$v_x$" above # FEM UNA INCURSIÓ PER PINTAR EL PRIMER AMPLI NO INVERSOR line left_ l/4 corner line to (Here,AO1.Out) then left_ l/4 "\textcircled{3}" above AO3: opamp(right_ 0.75*l,,,,R) with .Out at Here dot(at AO3.Out) line down_ l/2 corner resistor(left_ 0.9*l);llabel(,R_5) corner { line up_ (AO3.In2.y-Here.y) then to AO3.In2 } dot "\textcircled{2}" rjust resistor(down_ 0.75*l);rlabel(,R_4) ground(,T,E) line left_ 0.75*l from AO3.In1 "\textcircled{1}" above { setrgb(0.6,0.6,0.6) source(down_ Here.y-Gnd.y,V,,R);rlabel(,v_\text{sensor}) ground(,T,E) resetrgb } dot(,,1) "$v_s$" rjust above } line up_ l/2 corner diode(right_ AO2.Out.x-Here.x);dlabel(0.4,-0.3,+,v_d,-) b_current(i_d,,,,0.4) dot "\textcircled{7}" ljust line to AO2.Out dot .PE pycirkuit-0.5.1/pycirkuit/examples/Timer-solution.ckt000066400000000000000000000014001362435125300230350ustar00rootroot00000000000000.PS scale=2.54 cct_init l=elen_ Inici: Here dot(,,1) line down_ l/4 corner line right_ l/6 Int: bswitch(right_ 2*l/3);llabel(,\text{S}_1) { dot(at Inici,,1) "\SI[retain-explicit-plus]{+9}{\volt}" above } line right_ l/6 { dot resistor(down_ l);rlabel(,R_2) ground(,T,E) } R1: resistor(right_ l);llabel(,R_1) { C: capacitor(down_ l);llabel(,C) ground(,T,E) } dot line right_ l/2 dot(,,1) "$v_c(t)$" ljust #spline -> from Int.center+(0,-0.3) right l then right 0.5 down 0.5 setrgb(0,0.5,0) spline -> from Int.center+(0,-0.3) right 1.5*l then to C.center+(-0.35,0) then down_ l/3 "\scriptsize{charge}" at last spline.start rjust setrgb(0.9,0,0) arcd((R1.c.x-0.1,C.c.y-0.1),1.2*l/4,-45,235) -> "\scriptsize{dischar-}" "\scriptsize{-ge}" setrgb(0,0,0) .PEpycirkuit-0.5.1/pycirkuit/exceptions.py000066400000000000000000000114651362435125300203310ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing the PyCirkuit exceptions """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Third-party imports from PyQt5.QtCore import QCoreApplication # Translation function _translate = QCoreApplication.translate # Exceptions in pycirkuit are used mainly to display info to the user via MessageBoxes # Thus, an exception must convey 3 infos: # 1) The MessageBox Title, different for each kind of error # 2) The main message, perhaps as short as possible # 3) Additional info class PyCirkuitError(Exception): def __init__(self, message, title="", moreInfo=""): super().__init__(message) if title == "": self.title = _translate("PyCirkuitError", "PyCirkuit Error", "Exception title") else: self.title = title self.moreInfo=moreInfo # Image manipulation exceptions class PyCktImageError(PyCirkuitError): def __init__(self): # Define error message, title (if different from default) and moreInfo (if different from default) # call parent constructor with these 3 strings as params. errMsg = _translate("PyCirkuitError", "The generated image could not be loaded.", "Exception message") super().__init__(errMsg) # Tool Doc exceptions class PyCktDocNotFoundError(PyCirkuitError): def __init__(self, toolName): errMsg = _translate("ExternalTool", "Cannot find the {toolName} manual!", "Leave untranslated the variable name inside curly braces (included)") errMsg = errMsg.format(toolName=toolName) info = _translate("ExternalTool", "Please ensure that you have this application properly installed, with its documentation into one of these standard locations:\n\n") super().__init__(errMsg, title=_translate("ExternalTool", "File Not Found", "Exception title"), moreInfo=info) class PyCktCMManNotFoundError(PyCirkuitError): def __init__(self, cmPath): errMsg = _translate("ExternalTool", 'Cannot find the "Circuit Macros" documentation.\n\n', "Warning message") errMsg += _translate("ExternalTool", "You will have to search for it manually. It should be a PDF file located into {cmPath} folder or one of its subfolders.", "Message Box text. DO NOT translate '{cmPath}' variable.").format(cmPath=cmPath) super().__init__(errMsg, title=_translate("ExternalTool", "File Not Found", "Exception title"), moreInfo="") # Tool exceptions class PyCktToolExecutionError(PyCirkuitError): def __init__(self, message, moreInfo="", tool=""): super().__init__(message, title=_translate("ExternalTool", "Tool Execution Error", "Exception title"), moreInfo=moreInfo) self.tool = tool class PyCktToolNotFoundError(PyCirkuitError): def __init__(self, executableName, longName): errMsg = _translate("ExternalTool", "Cannot find the {toolLongName}!\n\n", "Leave untranslated the variable name inside curly braces (included)") errMsg = errMsg.format(toolLongName=longName) info = _translate("ExternalTool", "Please ensure that you have this application properly installed and the executable \"{toolExecutableName}\" is in the PATH.\n\n", "Leave untranslated the variable name inside curly braces (included)") info += _translate("ExternalTool", "Cannot generate the preview.") info = info.format(toolExecutableName=executableName) super().__init__(errMsg, title=_translate("ExternalTool", "Tool Not Found", "Exception title"), moreInfo=info) # Circuit Macros exceptions class PyCktCMNotFoundError(PyCirkuitError): def __init__(self, message): super().__init__(message, title=_translate("ExternalTool", "Circuit Macros not found", "Exception title")) class PyCktCMNewVersionAvailable(PyCirkuitError): def __init__(self, message): super().__init__(message, title=_translate("ExternalTool", "New Circuit Macros version available!", "Exception title")) class PyCktCMFetchError(PyCirkuitError): def __init__(self, message): super().__init__(message, title=_translate("ExternalTool", "Circuit Macros not found", "Exception title")) # Other exceptions class PyCktLatexTemplateError(PyCirkuitError): def __init__(self, message): super().__init__(message, title="") pycirkuit-0.5.1/pycirkuit/highlighter.py000066400000000000000000000263671362435125300204550ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a Text Highlighter """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Third-party imports from PyQt5.QtCore import QRegExp from PyQt5.QtGui import QFont, QSyntaxHighlighter, QTextCharFormat, QColor class PyCirkuitHighlighter(QSyntaxHighlighter): def __init__(self, parent=None): super().__init__(parent) # Variable to hold the formatting rules for each category self.highlightingRules = [] # These are the keywords and patterns to be highlighted, categorized. # Formatting rules for punctuation signs punctuationFormat = QTextCharFormat() punctuationFormat.setFontWeight(QFont.Bold) punctuationFormat.setForeground(QColor('sienna')) self.highlightingRules.append((QRegExp("[()\{\},;]"), punctuationFormat)) # Formatting rules for operators operatorFormat = QTextCharFormat() operatorFormat.setFontItalic(True) operatorFormat.setForeground(QColor('teal')) self.highlightingRules.append((QRegExp("(\+|\-|\*|/|\.|=|<-|->|<->){1,1}"), operatorFormat)) # Label displaying rules labelFormat = QTextCharFormat() labelFormat.setFontWeight(QFont.Bold) labelFormat.setForeground(QColor('deeppink')) self.highlightingRules.append((QRegExp("[A-Z]+[A-Za-z0-9]*:"), labelFormat)) # String displaying rules stringFormat = QTextCharFormat() stringFormat.setFontWeight(QFont.Bold) stringFormat.setForeground(QColor('firebrick')) self.highlightingRules.append((QRegExp('\".*\"'), stringFormat)) # Now the beggining and ending PIC commands in red picBoundaryPatterns = ["^\.P[SE]{1,1}\\b"] picBoundaryFormat = QTextCharFormat() picBoundaryFormat.setForeground(QColor('darkred')) self.highlightingRules.extend([(QRegExp(pattern), picBoundaryFormat) for pattern in picBoundaryPatterns]) # Format for PIC commands: Italic Blue picPatterns = ["\\b1st\\b","\\b2nd\\b","\\b3rd\\b","\\b4th\\b","\\b5th\\b","\\b6th\\b", "\\b7th\\b","\\b8th\\b","\\b9th\\b","\\bHere\\b","\\babove\\b","\\band\\b", "\\barc\\b","\\barrow\\b","\\barrowhead\\b","\\barrowht\\b","\\barrowwid\\b","\\bat\\b", "\\batan2\\b","\\bbelow\\b","\\bbetween\\b","\\bbox\\b","\\bby\\b","\\bccw\\b","\\.center\\b", "\\bchop\\b","\\bcircle\\b","\\bcolor\\b","\\bcolour\\b","\\bcolored\\b","\\bcoloured\\b", "\\bcommand\\b","\\bcos\\b","\\bcw\\b","\\bdashed\\b","\\bdiam\\b","\\bdo\\b", "\\bdotted\\b","\\bdown\\b","\\bellipse\\b","\\belse\\b","\\.end\\b","\\bexp\\b", "\\bfill\\b","\\bfor\\b","\\bfrom\\b","\\bheight\\b","\\bht\\b","\\bif\\b", "\\binvis(?:ible)?\\b","\\blast\\b","\\bleft\\b","\\bline\\b","\\bljust\\b","\\bmax\\b", "\\bmin\\b","\\bmove\\b","\\bof the way between\\b","\\boutline\\b","\\boutlined\\b", "\\brad\\b","\\breset\\b","\\bright\\b","\\brjust\\b","\\bshaded\\b","\\bsin\\b", "\\bspline\\b","\\bsprintf\\b","\\bsqrt\\b","\\.start\\b","\\btan\\b","\\bthen\\b","\\bthick\\b", "\\bto\\b","\\bup\\b","\\bwid\\b","\\bwidth\\b","\\bwith\\b","\\.n\\b","\\.s\\b", "\\.e\\b","\\.w\\b","\\.ne\\b","\\.nw\\b","\\.se\\b","\\.sw\\b"] picFormat = QTextCharFormat() picFormat.setFontItalic(True) picFormat.setForeground(QColor('blue')) self.highlightingRules.extend([(QRegExp(pattern), picFormat) for pattern in picPatterns]) # Format for PIC variables: Italic Red picVariables = ["\\blinewid\\b","\\blinethick\\b","\\barcrad\\b","\\bcirclerad\\b","\\bellipseht\\b", "\\bellipsewid\\b","\\bmoveht\\b","\\bmovewid\\b","\\btextht\\b","\\btextwid\\b","\\barrowht\\b", "\\barrowwid\\b","\\barrowhead\\b","\\bdashwid\\b","\\bmaxpswid\\b","\\bmaxpsht\\b","\\bscale\\b", "\\bfillval\\b"] picFormat = QTextCharFormat() picFormat.setFontItalic(True) picFormat.setForeground(QColor('red')) self.highlightingRules.extend([(QRegExp(pattern), picFormat) for pattern in picVariables]) # Commands and format for M4 primitives m4Patterns = ["\\bchangequote\\b","\\bdefine\\b","\\bdivert\\b","\\bdivnum\\b","\\bdnl\\b","\\bdumpdef\\b", "\\berrprint\\b","\\beval\\b","\\bifdef\\b","\\bifelse\\b","\\binclude\\b","\\bincr\\b", "\\bindex\\b","\\blen\\b","\\bmaketemp\\b","\\bsinclude\\b","\\bsubstr\\b","\\bsyscmd\\b", "\\btranslit\\b","\\bundefine\\b","\\bundivert\\b",] m4Format = QTextCharFormat() m4Format.setFontWeight(QFont.Bold) m4Format.setForeground(QColor('DarkOrchid')) self.highlightingRules.extend([(QRegExp(pattern), m4Format) for pattern in m4Patterns]) cmPatterns = ["\\bAND_gate\\b","\\bAND_gen\\b","\\bAND_ht\\b","\\bAND_wd\\b","\\bBOX_gate\\b","\\bBUFFER_gate\\b", "\\bBUFFER_gen\\b","\\bBUF_ht\\b","\\bBUF_wd\\b","\\bCos\\b","\\bCosine\\b","\\bDarlington\\b", "\\bE_\\b","\\bEquidist3\\b","\\bFF_ht\\b","\\bFF_wid\\b","\\bFector\\b","\\bFlipFlop\\b", "\\bFlipFlop6\\b","\\bFlipFlopJK\\b","\\bG_hht_\\b","\\bHOMELIB_\\b","\\bH_ht\\b","\\bInt_\\b", "\\bIOdefs\\b","\\bIntersect_\\b","\\bLH_symbol\\b","\\bLoopover_\\b","\\bLT_symbol\\b","\\bL_unit\\b", "\\bMax\\b","\\bMin\\b","\\bMux\\b","\\bMux_ht\\b","\\bMux_wid\\b","\\bMx_pins\\b", "\\bNAND_gate\\b","\\bNOR_gate\\b","\\bNOT_circle\\b","\\bNOT_gate\\b","\\bNOT_rad\\b","\\bNXOR_gate\\b", "\\bN_diam\\b","\\bN_rad\\b","\\bOR_gate\\b","\\bOR_gen\\b","\\bOR_rad\\b","\\bPoint_\\b", "\\bRect_\\b","\\bSin\\b","\\bView3D\\b","\\bVperp\\b","\\bXOR_gate\\b","\\bXOR_off\\b", "\\babove_\\b","\\babs_\\b","\\badc\\b","\\bamp\\b","\\balong_\\b","\\bantenna\\b", "\\barca\\b","\\barcd\\b","\\barcr\\b","\\barcto\\b","\\barrowline\\b","\\bb_\\b", "\\bb_current\\b","\\bbattery\\b","\\bbeginshade\\b","\\bbell\\b","\\bbelow_\\b","\\bbi_tr\\b", "\\bbi_trans\\b","\\bboxcoord\\b","\\bboxdim\\b","\\bbp__\\b","\\bbswitch\\b","\\bbuzzer\\b", "\\bc_fet\\b","\\bcapacitor\\b","\\bcbreaker\\b","\\bcct_init\\b","\\bcintersect\\b","\\bclabel\\b", "\\bconsource\\b","\\bcontact\\b","\\bcontline\\b","\\bcorner\\b","\\bcosd\\b","\\bcross\\b","\\bcross3D\\b", "\\bcrossover\\b","\\bcrosswd_\\b","\\bcsdim_\\b","\\bdac\\b","\\bd_fet\\b","\\bdabove\\b", "\\bdarrow\\b","\\bdarrow_init\\b","\\bdashline\\b","\\bdbelow\\b","\\bdcosine3D\\b","\\bdef_bisect\\b", "\\bdelay\\b","\\bdelay_rad_\\b","\\bdeleminit_\\b","\\bdend\\b","\\bdiff3D\\b","\\bdiff_\\b", "\\bdimen_\\b","\\bdimension_\\b","\\bdiode\\b","\\bdir_\\b","\\bdistance\\b","\\bdirection_\\b", "\\bdistance\\b","\\bdlabel\\b","\\bdleft\\b","\\bdline\\b","\\bdlinewid\\b","\\bdn_\\b", "\\bdljust\\b","\\bdn_\\b","\\bdna_\\b","\\bdnm_\\b","\\bdot\\b","\\bdot3D\\b", "\\bdotrad_\\b","\\bdown_\\b","\\bdright\\b","\\bdrjust\\b","\\bdswitch\\b","\\bdtee\\b", "\\bdtor_\\b","\\bdturn\\b","\\be_\\b","\\be_fet\\b","\\bearphone\\b","\\bebox\\b", "\\belchop\\b","\\beleminit_\\b","\\belen_\\b","\\bem_arrows\\b","\\bendshade\\b","\\bexpe\\b", "\\bf_box\\b","\\bfill_\\b","\\bfitcurve\\b","\\bfor_\\b","\\bfuse\\b","\\bg_\\b", "\\bgap\\b","\\bgen_init\\b","\\bglabel_\\b","\\bgpar_\\b","\\bgpolyline_\\b","\\bgrid_\\b", "\\bground\\b","\\bgshade\\b","\\bhoprad_\\b","\\bht_\\b","\\bifdpic\\b","\\bifgpic\\b", "\\bifinstr\\b","\\bifmfpic\\b","\\bifmpost\\b","\\bifpgf\\b","\\bifpostscript\\b","\\bifpstricks\\b", "\\bifroff\\b","\\bifxfig\\b","\\bigbt\\b","\\bin__\\b","\\binductor\\b","\\binner_prod\\b", "\\bintegrator\\b","\\bintersect_\\b","\\bj_fet\\b","\\blarrow\\b","\\blbox\\b","\\bleft_\\b", "\\blength3D\\b","\\blg_bartxt\\b","\\blg_pin\\b","\\blg_pintxt\\b","\\blg_plen\\b","\\blin_leng\\b", "\\blinethick_\\b","\\bljust_\\b","\\bllabel\\b","\\bloc_\\b","\\blog10E_\\b","\\blog_init\\b", "\\bloge\\b","\\blp_xy\\b","\\blpop\\b","\\blswitch\\b","\\blt_\\b","\\bmanhattan\\b", "\\bmicrophone\\b","\\bmm__\\b","\\bmosfet\\b","\\bm4xpand\\b","\\bm4lstring\\b","\\bm4_arrow\\b", "\\bm4xtract\\b","\\bn_\\b","\\bne_\\b","\\bneg_\\b","\\bnport\\b","\\bnw_\\b", "\\bopamp\\b","\\bopen_arrow\\b","\\bpar_\\b","\\bpc__\\b","\\bpi_\\b","\\bpmod\\b", "\\bpoint_\\b","\\bpolar_\\b","\\bpotentiometer\\b","\\bprint3D\\b","\\bprod_\\b","\\bproject\\b", "\\bpsset_\\b","\\bpt__\\b","\\br_\\b","\\brarrow\\b","\\brect_\\b","\\brelay\\b", "\\bresetrgb\\b","\\bresistor\\b","\\breversed\\b","\\brgbdraw\\b","\\brgbfill\\b","\\bright_\\b", "\\brjust_\\b","\\brlabel\\b","\\brot3Dx\\b","\\brot3Dy\\b","\\brot3Dz\\b","\\brpoint_\\b", "\\brpos_\\b","\\brrot_\\b","\\brs_box\\b","\\brsvec_\\b","\\brt_\\b","\\brtod_\\b", "\\brtod__\\b","\\brvec_\\b","\\bs_\\b","\\bs_box\\b","\\bs_dp\\b","\\bs_ht\\b", "\\bs_init\\b","\\bs_name\\b","\\bs_wd\\b","\\bsc_draw\\b","\\bse_\\b","\\bsetrgb\\b", "\\bsetview\\b","\\bsfg_init\\b","\\bsfgabove\\b","\\bsfgarc\\b","\\bsfgbelow\\b","\\bsfgline\\b", "\\bsfgnode\\b","\\bsfgself\\b","\\bshade\\b","\\bshadebox\\b","\\bsign_\\b","\\bsinc\\b", "\\bsind\\b","\\bsinusoid\\b","\\bsource\\b","\\bsourcerad_\\b","\\bsp_\\b","\\bspeaker\\b", "\\bsprod3D\\b","\\bsum3D\\b","\\bsum_\\b","\\bsvec_\\b","\\bsw_\\b","\\bswitch\\b", "\\bta_xy\\b","\\bthicklines_\\b","\\bthinlines_\\b","\\bthyristor\\b","\\btline\\b","\\btr_xy\\b", "\\btr_xy_init\\b","\\btransformer\\b","\\bttmotor\\b","\\btwopi_\\b","\\bujt\\b","\\bunit3D\\b", "\\bup_\\b","\\bup__\\b","\\bvariable\\b","\\bvec_\\b","\\bvlength\\b","\\bvperp\\b", "\\bvrot_\\b","\\bvscal_\\b","\\bw_\\b","\\bwid_\\b","\\bwinding\\b","\\bxtal\\b", "\\bxtract\\b",] cmFormat = QTextCharFormat() cmFormat.setFontWeight(QFont.Bold) cmFormat.setForeground(QColor('DarkGreen')) self.highlightingRules.extend([(QRegExp(pattern), cmFormat) for pattern in cmPatterns]) # Comments are displayed in gray singleLineCommentFormat = QTextCharFormat() singleLineCommentFormat.setForeground(QColor('DarkGray')) self.highlightingRules.append((QRegExp("#[^\n]*"), singleLineCommentFormat)) def highlightBlock(self, text): for pattern, format in self.highlightingRules: expression = QRegExp(pattern) index = expression.indexIn(text) while index >= 0: length = expression.matchedLength() self.setFormat(index, length, format) index = expression.indexIn(text, index + length) pycirkuit-0.5.1/pycirkuit/imageviewer.py000066400000000000000000000214431362435125300204510ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing pycktImageViewer """ # Copyright (C) 2018 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import os from math import log10 # Third-party imports from PyQt5.QtCore import QCoreApplication, Qt, QRectF, QPointF, pyqtSignal from PyQt5.QtWidgets import QGraphicsScene, QGraphicsView from PyQt5.QtGui import QPixmap, QFont # Local application imports import pycirkuit from pycirkuit.exceptions import * from pycirkuit.tools.pdftopng import ToolPdfToPng # Translation function _translate = QCoreApplication.translate class pycktImageViewer(QGraphicsView): """ A viewer for images compiled from circuit macros source files. Being a subclass of QGraphicsView, this class handles zoom using the mouse wheel. """ # A signal to inform of errors conversion_failed = pyqtSignal(PyCirkuitError) image_changed = pyqtSignal() def __init__(self, parent = None, maxZoom = 5): """ Constructor @param parent reference to the parent widget @type QWidget """ super().__init__(parent) # Initialize the graphics Scene-View pair with an empty pixmap # First the scene... self.__scene = QGraphicsScene(self) # Initial image does not correspond to any file self.__file_base_name = None # Then the pixmap (initially empty). We maintain a reference to the pixmap, for easy access self.__pixmap_item = self.__scene.addPixmap(QPixmap()) # Then the graphics view (ourselves) self.setScene(self.__scene) # Set operation mode (some options set up in Designer) self.setAlignment(Qt.AlignCenter) # Image appears centered if fits in view # Zoom parameters initialization self.__ppi_base = 150 # Base image resolution (pixels per inch) self.__max_zoom = maxZoom # Maximum magnification factor (default = 5) self.__max_steps = 10 # No. of wheel steps required to achieve max. zoom self.__wheel_steps = 0 # Initial value for wheel position self.__current_ppi = self.__calc_ppi(self.__wheel_steps) # Initial value for current resolution def __adjust_view(self): self.setSceneRect(self.__scene.itemsBoundingRect()) def __calc_ppi(self, wheelSteps): """ This function calculates the image resolution required to achieve the desired zoom level, indicated by number of steps the mouse wheel has turned. @param wheelSteps Number of steps the user has turned the mouse wheel (must be bounded) @type integer """ # 'ratio' could be precalculated in __init__. Doing so here is a waste of cpu cycles # but allows for more (future) flexibility, as we can, for instance, use variable ratios. ratio = 10 ** (log10(self.__max_zoom)/self.__max_steps) newPPI = round(self.__ppi_base * (ratio ** wheelSteps)) return newPPI def __clear_items(self): for item in self.__scene.items(): self.__scene.removeItem(item) def __qBound(self, minVal, current, maxVal): """ PyQt5 does not wrap the qBound function from Qt's global namespace. This is equivalent. Returns "current" if it's between "minVal" and "maxVal", otherwise saturates to one of these two limits. """ return max(min(current, maxVal), minVal) def clearImage(self): self.__clear_items() self.__pixmap_item = self.__scene.addPixmap(QPixmap()) self.__adjust_view() def getRect(self): return self.__pixmap_item.pixmap().rect() def setImage(self, fileBaseName, adjustIGU=False): """ Tries to load a PNG image from disk and display it Args: fileBaseName (str): the file name of the image to load (without extension) relative to current dir. adjustIGU (bool): Whether we want to adjust the size of IGU viewport to fit the image or not (default=False). """ self.__clear_items() try: newPixmap = QPixmap("{baseName}.png".format(baseName=fileBaseName)) if newPixmap.isNull(): raise PyCirkuitError( _translate("PyCirkuitError", "The converted image could not be loaded.", "Exception message"), _translate("PyCirkuitError", "PyCirkuit Internal Error", "Exception title"), moreInfo = _translate("PyCirkuitError", "This error should not happen in a normal operation. Please contact the developers.", "Exception additional info") ) except PyCirkuitError as err: self.setText( _translate("PyCirkuitError", "Internal error: cannot load image", "Displayed error message")) self.conversion_failed.emit(err) else: self.__file_base_name = fileBaseName self.__pixmap_item = self.__scene.addPixmap(newPixmap) if adjustIGU: self.image_changed.emit() self.__adjust_view() def setText(self, newText): """ Displays a text string (in bigger font and in red color) into the viewport Args: newText (str): the string to display. """ self.__clear_items() font = QFont() font.setPointSize(22) self.__scene.addText(newText, font).setDefaultTextColor(Qt.red) self.__adjust_view() def wheelEvent(self,event): if (self.__file_base_name != None) and (event.modifiers()==Qt.ControlModifier): event.accept() # Accumulated mouse wheel steps, bounded to certain limits self.__wheel_steps = self.__qBound( -self.__max_steps, self.__wheel_steps + event.angleDelta().y() / 120, self.__max_steps) newPPI = self.__calc_ppi(self.__wheel_steps) # Do nothing if reached one of the zoom limits if (newPPI == self.__current_ppi): return # Get the cursor's position and translate to pixmap coordinates scenePos = self.mapToScene(event.pos()) # Now find the % offset from pixmap's origin. This doesn't change with zoom percentX = scenePos.x()/self.__scene.itemsBoundingRect().width() percentY = scenePos.y()/self.__scene.itemsBoundingRect().height() # Now perform the zoom by converting from PDF with suitable resolution # Set working dir saveWD = os.getcwd() os.chdir(pycirkuit.__tmpDir__.path()) try: converter = ToolPdfToPng() converter.execute(self.__file_base_name, resolution = newPPI) self.setImage(self.__file_base_name, adjustIGU=True) # If Scene contents area is smaller than current viewport size, center scene in view currentSceneRect = self.__scene.itemsBoundingRect() currentViewportRect = QRectF(self.rect()) if (currentViewportRect.contains(currentSceneRect)): self.setSceneRect(currentSceneRect) self.centerOn(currentSceneRect.center()) # Else, keep scene point under cursor at the same viewport position else: # Calculate the scene coordinates of the position which is (%X,%Y) from origin newScenePos = QPointF(currentSceneRect.width()*percentX, currentSceneRect.height()*percentY) # Calculate pixel offset between mouse position and viewport center offset = QPointF(self.width()/2, self.height()/2) - QPointF(event.pos()) # Then adjust things so that this scene position appears under the mouse self.centerOn(newScenePos +offset) except PyCirkuitError as err: self.setText(_translate("PyCirkuitError", "Error creating zoomed image.", "Displayed error message")) self.conversion_failed.emit(err) else: self.__current_ppi = newPPI finally: os.chdir(saveWD) else: event.ignore() pycirkuit-0.5.1/pycirkuit/lib/000077500000000000000000000000001362435125300163355ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/lib/.gitignore000066400000000000000000000001211362435125300203170ustar00rootroot00000000000000# Ignore everything in this directory * # Except these files !.gitignore !README pycirkuit-0.5.1/pycirkuit/lib/README000066400000000000000000000004631362435125300172200ustar00rootroot00000000000000This empty directory is automatically added to Windows PATH variable, so it's a convenient place to put all the auxiliary programs PyCirkuit needs to compile its documents, namely: * m4.exe * dpic.exe * pdftoppm.exe (At present, these programs have to be manually downloaded and installed by the user) pycirkuit-0.5.1/pycirkuit/main.py000077500000000000000000000151011362435125300170660ustar00rootroot00000000000000#!/usr/bin/python3 # coding: utf-8 """ Main program entry point/function """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import sys, os, inspect, platform from os.path import isfile # Third-party imports from PyQt5.QtCore import QCoreApplication, \ QTranslator, \ QLocale, \ QLibraryInfo, \ QSettings from PyQt5.QtWidgets import QApplication # Local application imports import pycirkuit from pycirkuit.tools.cliparser import PyCirkuitParser from pycirkuit.ui.mainwindow import MainWindow # Resources for translation from pycirkuit.resources import resources_rc # Translation function _translate = QCoreApplication.translate # Function to ensure meaningful settings def _check_settings(): """ Check if config file is empty (deleted, first run, etc.) and if so, set reasonable default values """ settings = QSettings() # Start updating the "General" section settings.beginGroup("General") # Import ourselves import pycirkuit # Find absolute application's path applicationPath = os.path.dirname(inspect.getfile(pycirkuit)) # Check app version storedVersion = settings.value("Version", "") if (storedVersion == ""): settings.setValue("Version", pycirkuit.__version__) elif (storedVersion < pycirkuit.__version__): #TODO: If upgrading we can remove the unnecessary entries, rename others, etc. pass elif (storedVersion > pycirkuit.__version__): #TODO: Handle downgrading, perhaps raising an exception, showing warning, etc. pass # Check the stored path to LaTeX templates if (settings.value("templatePath", "") == ""): # Add the relative path where the default template is located templatePath = os.path.normpath(os.path.join(applicationPath, 'templates/cm_tikz.tpl')) settings.setValue("templatePath", templatePath) # Check Circuit Macros path from pycirkuit.tools.circuitmacrosmanager import CircuitMacrosManager if (settings.value("cmPath", "") == ""): CM = CircuitMacrosManager() settings.setValue("cmPath", CM.default_CMPath()) # Check the stored path to the built-in examples if (settings.value("examplesPath", "") == ""): # Add the relative path where the examples are located examplesPath = os.path.normpath(os.path.join(applicationPath, 'examples')) settings.setValue("examplesPath", examplesPath) # Check last working dir (from where the files to be opened are taken) # This one will be initially the same as the examples path. Later on, the user actions will change it. if (settings.value("lastSrcDir", "") == ""): # Add the relative path where the examples are located examplesPath = os.path.normpath(os.path.join(applicationPath, 'examples')) settings.setValue("lastSrcDir", examplesPath) # Check the stored path to built-in documentation if (settings.value("docPath", "") == ""): # Add the relative path where the examples are located docPath = os.path.normpath(os.path.join(applicationPath, 'doc')) settings.setValue("docPath", docPath) settings.endGroup() # Finished updating the "General" section # Begin updating the "Export" section settings.beginGroup("Export") settings.setValue("exportTIKZ", settings.value("exportTIKZ", True, type=bool)) settings.setValue("exportPDF", settings.value("exportPDF", False, type=bool)) settings.setValue("exportPNG", settings.value("exportPNG", False, type=bool)) settings.setValue("exportJPEG", settings.value("exportJPEG", False, type=bool)) settings.setValue("exportDPI", settings.value("exportDPI", 150, type=int)) settings.setValue("exportQuality", settings.value("exportQuality", 80, type=int)) settings.endGroup() # Finished updating the "Export" section # Save settings for other object's use settings.sync() # Main entry point def main(): if ("DESKTOP_SESSION" in os.environ) or (platform.system() == 'Windows') or (platform.system() == 'Darwin'): app = QApplication(sys.argv) pycirkuit.__haveGUI__ = True else: app = QCoreApplication(sys.argv) pycirkuit.__haveGUI__ = False # First try to load the Qt-provided translations (used in some standard dialog strings) qtTranslator = QTranslator() filename = "qtbase_" + QLocale.system().name().split("_")[0] if qtTranslator.load(filename, QLibraryInfo.location(QLibraryInfo.TranslationsPath), suffix=".qm"): app.installTranslator(qtTranslator) # Then load PyCirkuit translations pycirkuitTranslator = QTranslator() if pycirkuitTranslator.load(QLocale(), "pycirkuit", ".", ":/translations", ".qm"): app.installTranslator(pycirkuitTranslator) # These two next values are passed to every instance of QSettings everywhere in the app QCoreApplication.setOrganizationName("PyCirkuit") QCoreApplication.setApplicationName("pycirkuit") QCoreApplication.setApplicationVersion(pycirkuit.__version__) # Ensure meaningful settings _check_settings() # Parse command line options, deciding if user requested to work interactively (GUI) # or to process a list of files in batch mode (CLI) # If the former is chosen, this call returns with an eventual file to open in to the GUI # Otherwise the call don't return and does the process itself. cmdLineParser = PyCirkuitParser(sys.argv) fileToOpen = cmdLineParser.parseCmdLine() # Start GUI if not isinstance(app, QApplication): sys.exit(_translate("CommandLine", "No desktop environment available.", "")) my_mainWindow = MainWindow() my_mainWindow.show() if fileToOpen != None: if isfile(fileToOpen): my_mainWindow._load_file(fileToOpen) else: my_mainWindow.on_actionNew_triggered(fileToOpen) app.exec() if __name__ == "__main__": main() pycirkuit-0.5.1/pycirkuit/resources/000077500000000000000000000000001362435125300176015ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/resources/Configure-General.png000066400000000000000000000104421362435125300236040ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYsmhtEXtSoftwarewww.inkscape.org<IDATh͙yXT?8 E? 4hFhmLƸV5$fQjjm5%55bǸ$YTTe6ffY MD{}f9=+!B~$ +Ż)5O>d&)Y,9??? 2P;#<ԇbb::QB876cƬ2[6"g7 h`@P $I" #x^NNΛ$>.PDGGw2d֌̌RRx<ҙ3ѣGm"9f̘z'**J(|~i}yyǗ/_.>KwL&Ӄ]RDTRPUHā.Y\0r& `P8byn]P$''%%%|HHaC!ʁj fvL }>|>?=hnMd7/rS»"ccc3t:-Á?}GA &J '?ύTp (C\\ܽ~VG(|uQ#F97w|N:x[ie?<LKK-11c2 J"  %^!_|酑٣ĺ:.W^^RB w1hРQjR'**xM<, |nшV%>>~PnI. ͆jі$0$%%r x Œ /ԩ}>~?Vj-t¥ q I8p`ZJϔ~SEAbxo_̍fj56 ͆lPxٷ$ JN1//o˸qF8q^g'Oc;2`0P]]EÁv{}_r=D?򝁏4mcǎt:y7hjbE?:'l3˧N7@-pP%''w7o^Avv .u~^/``0UUU])++;vŊ6Vd-״6P}O5k#G?|0A0fIffmݺuv{9v}6I@YYY}gΜNVVV"+F3F׮])//oGvfr$ Çg,LVe~f3R ±aÆ^P,m~SF͛WqFJˎb1[өt_5~YZrs?_p|UCnnЛ)Mo @ϝ;}Yj%'OUԑKUUUƍWսm۷uE5 Z,֞ g;6ֽ{w#_5ɓ?]lllo[_`E/ ۷o;p`סQۛ3.ݻ/::Gxff"ڵo ;VE:X|3g r?DJK-JR~~~(;;]`h'LRKW ҵk !Y ,Yv!4qO@ٳgjΜ9/+JeKqX,}~fϞ ⣏Jk >>t,?O[yС}oJ@hϯ1cƄzX@ot1a8sL%K]y~ *talN JC($&j# Y1k_}bfѢE2e#555P(ENVٌ5ҥKYt}(>>NR)pXm%?v7x =ǎpدER*/?Kzz(T*`0Di]vlpePM>g={UVp`ڰ {`ӧOի-K.]R___\A{%sg'e:BMuƺPի7xΜ9u::wINN`ذ(+;z{vXTYYYɹE999'N^%RASŊbgX5krjn@ 妩j^u[ ̀nwr B$$ti~@< ѣGM4aÆ())aMt0YVygz͛7UQQ6ͷ>i1b0ph|4zVFDTb4jF" q;eʔ?۷z66 BϞX``0m۶G \B.$ :W;$ ^G |6@D^ !)C[[e"ɚ6m~uzwYFՊjjȢEP(ݻyMu䫭6Ma_0LZр맪J+IrL@4&MwO]PU7Z/(^=3---kמ[xΕ+WSOC!*1 $%%Q]]ݐ 7iG-[9Xt( 7 Bnɫ񏏗$IBi񥉉I+J:>2lmnW֮];{ĈرtſGM;Μ937''gȚ5k`РA;}%uuu"O^}uzPT:]$(R)HJ'22ǍKT B`jux<^jjˏ% /]*_`Sn.::zPSSEEE۴zd֭\.WhҤI 2^l٪"xiϞQD:v-"BFjh u9FŅڄZ""Bɱcl I{wjs}u(++s"z`T*inn-_OΝ;vvcCeώ+TU~&AQR)V>_CDDEX̻!#SR׿Q䀁{}RIII h۶m;~?|?(RUb)Gz^RcYXlfl6dXTW(ܐ.葞ҮlTNIܻiӦh4ZZZN+ ܹ39\]'~w2MQq@э޽SuQQQ@SSS⼧9z;іS,>9r}>_uhXW\3ͣ]R__۲ew5Q"^R-8C/_t=lzhT+V, ÄaVXlzΟ܏.]r[DF ԗ=sL?>cǎoڵk). n ^~ySwٖbr\@X_mr7o~sڅ '?>ZyH_)ʘ9}?47+[=yS?][#wAhn>,or^/_?7窽I/nw:xyq`\[\}wC rݍuG}_)r;5fmo+?/">-N1yx?gw߼+hտ1eC2zfI1\S·:[M)|P|\JfФQ>~46P\l"4+/c`w7ݳUgբܙ7~"*nA7o_GZ3Q}}.v9~)_U8hzEWcl?S9|yvy𷺚joYQd)C`Cca :?Om dq${ߘڪ6%o*tV67eO&a~¹;ÉW3$MhM/dA̪& w40bw[eWnO(FvW0Z頃Oe|>|RKMށMzଉZefbUp>mNEH/VJw>+<|l4 ʘ\0a,vˁ1E%>8%&}Pːݿw=Is[beMk ^#:^݁_cAw=*6v{p}11%puvryy EŽSws52_Q1mu6 -HWS0G5,?Լ\dz-?;M4?-9;ҡ*Hl :vrjbgW'c77$V mK:3Z_( X,©FոL>f%#9&v uSZ뛋x,ϚP{aW6Fg 6ʻa *IB2$)YN"Zb― 3[uEJkz0$TxLTm9HRlMG{M濜);ƞTԏ 윷Aϖ x>oәl(GٸSf7Nm@jDX.̠=k:A7$0\S2*=@"H["'a|<ɰ*'a8}3 rbR.Й=E<6{;p1x܅G<?)0Ǔ@OkC&@EgG<(+K7n6wO<gM?tD߳tC籅RҋE=6&7X)bNRw|%ta8Bv3%CQilpn,lB9.ǯ2OaØglk3J3=%|z E9EKSbFpЪ5}{7Q͏S9XpN'$rR<] KsrICt~ZQ̹z^ii%ѡɺ5Y(m=ҡgY0(40^ǡLz/H>Wo ]T!Ty`H2#&=|3;ܤ6F7ӈT`٧iFF lچf6eܕ,kD5\;z%1'?UPxȕ3&]:}٧տ3ut7fo!ɆSC:gp7+3ӁBK?Z^ʴ>F,Wk{AwgHʠwK&O@LAXۗO%& z;UgǮȧ!0Xk60m?MIcoE+#MOg^H<{;@t<6/e虄~%9QoQ)R/ _x<\ޕ-5=Ҋ~T%9ϲ;9gt' F"ӎ݁d6ȸ'K#KE]'sIm$^ܣH"1߬RnY'wxv퐦PF iJD 7ZCyU0xc)6QZxjf}Z8xţ_1^ӽ2v2^i/2/%=[Clq0LᳶjV mBdG2KuԦ#p&ݶ}(p吪l# ǜ;g<0ƮG3ƨ8m:cp'u6ՅᒓCpܞCb aDs(GswnlO;GSQy9Hւx'%1#eMuXOL=٢DƝ)C9/=E!# Sɰ(Nc 8>vR_6v[;D1ёQIk*0a'J^;Y AU~TCUcO3(`tTa :i5|tIu*ˤ'Pb~ ub列R@D<3 ΥSmCCׂY(պIpr5qjNxR\fj#WO?!G֪< Cl;[~\U_Odv;DIQGUO>ž:)GU]|rQ>e9(T~p(T>iɣ%룟n񵾃j_OploD4q7sO=@6>}̙ ڃ,zY7f lkG:TkKUAӠk?с@שxT}: ';C)ZFO/2?ucn7 Q/:-yA/Nk'& CfTC[nm֐2&XYՓl{6ٵq׾~|}7فKy2_$WgN~JHUHҝrL4h8]tuߎ6&|aJ =Ra/SyN̻Nw^ӛh:`So iŽ#VV[{T|qLb.J?Nv0ځCmvfAGwC<2y`{e w8|6tLռ],nk^"`Oً5q' E֛m~w:' gJ*5̧[o߼XlEׯ.og].>Gg=Sܞ]xGfyXvdat"uMd5*߽;~!a8|A|b۶jz^,Ŏm:L{pCO?,|l5F^>Z1Ļw-O|jc*<ݏt%i<kߟ}|Ҵ.5l1]O )~ճ& lzćxS3_e=a8k-Zt WgwM .cy.sMuog`slAC<.|Y c`h-Ɖ~)X7T$풮@w@Ԯ)~FN A'n, O!6 Xj2 ;w HDbgb*{M,] \ys hDi~M+lo*ȶI+A6ciNG@KlS(eeQvŦG,*(;!N3N] */%i ڧn XM-QAl *OJLP7RAQi%0Y~) Jv8F0S'<,d6K _{$qbjjgmJ/WVPT&44F@Tǯ5ҙgMA0k_LSy(&~7{5ٕ[S[w YrJN=|X 6,َ6 |~;ت7K :b 6Ac[[;6S\u P!B%*6pWr.MЉdh,aRuPHPUԀӻ.!":"x;R˝"$Sbuu}$Uq8%$s6gR# xDtܢ-AERGa0FQ]^eU;q0hP"4{ѩ b75(Ce#ϷTm 4Ajd8d+R (L qǥ@`L۩U0Є** 3y"eD0; XG@O$[cQ)*<׀.6u@K"A? SЖeݨ<]#Sgw|+Y20`7ZH'0XQtad)-*cpzQWKJ sT} ܩ\g[j˶,xɩ2 |P\ec͐衣{wjbR| &4" #,ʘx!AbN![/Hڳ?}/VUzMz>[=ԧ5g{q 337R7hi7* hʿ1TDPcX]ε)b\υp|=6 ZB.'Uf U6 .`qw,i]7~`Z2oQd$@oG50ė<`lϢp|YTl9w11J&1U^Aq"7"*!Gy(_a z'c KŤLR;5egeD^\>dK㗒< RH&nZ-DzJեu1KkWd# c*V`pm\aT~ \on *25JxTUr`3RA;j䢥H"w4mNˑJ r S^ n3\S֤Uے"]jr 1I++P&XCF:5Z+)T ҍ绍xP)4D5rMOYjj̪Xkʥ [Ru:!X=Ww˛,|KV} <5U$G9M=&LFt;I'sܹ:w(kpSC'VVn219`j˟kVSTͱ>i`T Ӷ{.ܷ*|gZЭ$U]b9PŠQUW]\ kNZx{c:/jnUcpuQ E':dM\ą#犉8 kXESd`eUp2h[ZXYxUխ ܯ t |Ր賉C&e'M , qκ̜uJOwIs[h}ǿ<PV´&vϹ :vJmrk;j2]~9rWyE1+ٹ+u gmѲFNwEu+sX2WXd\9bpCeE.+b&tTI TR%^uG.Lⲏ'֩P]pf\rVLUڶukېMG7>$Lir׭{Gʚ5=K]hX_.VXwY85u-Kكe_NlA$d6 [*kX5bӦag Xe /|jm" +WB#PT1n@R: ]ZW^w: *e)|w3cg̓.z1] 7Y&"31NeuD+H SӪNB:T镩'OEL px'#:Av 4AR{w70VESUe|%6MUJEgXn3S"uo'U@u, ̧47c἖ pBŹűXGVCU6 LUu;.NKfsG܆~m;星h&b'BG.XBgSA .Вrݺe:a^ ^O_fVД7Z~)#AbIhxU9_36, :g} P67ri&hبt2 uu2DLz&hʜgD@.33_"m^6gmT3Ha,_(q)s XV/W=u9E+)%:˴ꌳn6U]F!(㓍92nbZLgm֦+VM!zo QmSFؼZ3Lњ^7dWeU*CʞGiEM&y(AMq. ťX(8DZݼ̑rθ'wuN1c@YʉMs.U|a&G^ PxFT++ZeY*2O$ptfS럳_kXT  T ܺ>EDIPrG\t=njvi-k<>ǂ >Y.-F|/  3fY+E4Q'4,ܝ>/-# #Bj`L{&( 0홠՗cRi3JA,8!bw2u1n2!zb9QZD h>+ mR t H ̈́Y"X2I(}MɄbڴͬ; !G_5+px-|&"4b֮(ZAP4E#'(zVd#^HcWmd/|6`r.i2LJhX񙔈~[]8Wh)Һq):++]g;tƊS%4/ΊbW:sLH "S5$S!=1y8\\<8FKI`H5ˆ9B^E_m J"b:An-na\P/.@D[iyZr~V)H JR%BDYՕ \)"E;7 -]Yϋi$PA0 X,DRwdޙ~e&niPEiinyaֳ6+).OK r LAlOiS׻V̗-˲cfŗߦ-ߔs^-lSFؼڂ@LcZ 0EI OK*7&X JƦޭ$vAάI~`k^A&D?tޘܔ&(`5?M}cSot^VLiΎH$UL8`7um_Ҩo#l^nMcbiP%Y&S!8$AhGEY7YHZVĜ50) S ]YL7 ;עAY !g yˣ:%5F92AXɐ22\ zBbn1e_(m]b.'3Lɔ}-p Xҧ~OaR$EFwtlL(ZGf$KeJ$Tbh-;4(&Vٍ*cJ| S~`]Av*\"-K9K ^fyuXδZRh).X^#r ;-`zNMj4dJ> ˋ$'5FYp-9PpTz-SŅMuOba)rZlUqi Ym-B6Fՠ=aTTRdӀfĂ%WA1aJ8À*ۯȳᚦsVeC3ʷlM$\@n& $ēUޕ?bQsj̰ %Pp uYԘʊ2+>mUNEI`Ro4kp VJ/4Vv}eU.O?$L}JDJ>\jƧFb[簶^JqùUA!O[#Lcpycirkuit-0.5.1/pycirkuit/resources/Configure-export-image.png000066400000000000000000000042061362435125300246310ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYsmhtEXtSoftwarewww.inkscape.org<IDAThklY m%,Bmh Z]]5BLW%~X$hL ( \ B`r\[)̺zӹa.LygڥO''s3}?ýILbe?q_N6m 0+Bis9\XX87oy9!S@m[[۹Ꚛz0iF'ضm,zB@<.'u޽{fSSӇ=ZiD"hFw~fME4w.ee BEE+W]jspxi4=d3"2Ӧ;~-\HO @x@ 5-  ]u9ihnDP"̛7Hs˲#`L"?.c tbBqDpE  T@JD.R__ɓ'Y|9{z%'. yj1Гjj(aJL`'8ɏ#SJt4R*++%bA "R(V^R m"6m3 ۶mA8  9SH Q"w;Sz֭MKvk-t!MK|JD:OCxB^ׁk@k d\+)@)^0 4,h4J4޽{|7(++K/))ٳKFx>Mob` Q^^mi$Rww7^S& dvjkk_ظg{)`=>puIwzyҙoܼK)@4^h:gpD`'-\G#Dc1b!ii e͚5b۶ض-J)QJɁDDĶmb.N(Ķm ɻǎƋ"෹ TBWWׯ_0wÇggΜubIGGG,jYXBSnB!ܼuS9=wvO῭VEE1 b  ey5Ӳ6܇~/EK޹sض}mB&Y {=?v}w M| raY~.HꞸ'cbN>19,6w?.x{څ:C4 ++7`*g_߶yjٽQK5KOBo}{y±H4ߧcЍ85sth5O^ݜ:7<ϷEQw莻stQԪKRAе;oSʜz6A~>zI>vVW>_#yEl3q}*|Ybnz*??JsmbVnGɷ2ŝn]_~{lO}#0)=]#^?3 عYl}#f{?Z繶}KR7s'\mP~lKMwLD]:~g_I=nϗݿ3G[}9ꦮ[aK{LVR~~%YJxsIxbtr\/{R;I0kt|du =Ńo'T *i |ly$~@6/z>T-cdQm_}T;>n^Cٝgqhxy烢=/sf#ۺBF 7d3{ ]=mGʞd8?ߌdb(\{Gc_uQ˚d{ "^:2t_n݅_џs;<o˚vBHU;!T;Ћ$i7_lߘ9 U{xPҴoucޒ(BcR3Py|:˱HQp8Q?Ga{B$a8`?WT8kh=q?ssQf6MyP4B"|3n#Ri\›P#<37?pmhFQ=Q9{\My<} nc!n#c>7O՛& ՛&Xz#o7՛'H>6 ~G)} 24G~Vo$lMb=H Tit# ug!+3_I}E#)??'2̥'}UPD28Efy5hw;vC , .= yBW[Dl\'Ɛ Tk{Q%OBZ[{זˡ 0o>LY3MQcJ t.pj(R~J8J{ugz50Є|ޓ`3epAz5.`Qn`yMPP6%, ]tZ{ny?Nt]5][)Ą"h| oוD4K i13U13)NgXxSGnW,']J ^4yN?ޏl열I_Thip** Ԟ/n?n''FScwe<.tGLOKH*qz 繁jfVW`Gc Z3nFR4 w/_N H" OsBd=PG=OQp_3LL#$ K]ۗgzs)}f]Jޤm2]Vf?7F@ m"`yⳡ&ď c6oA]!/Wa´ Lʵ~"#-2i{>١f}x>NW:]_"{ OPD;Q37<>/O x.j9^n@z4h=W`#t}|hJ =µO301]Eqfyo!;# K6dn18sY}C3$?aHRCsMYc}lsK}@m ~3GY^xƏI9Y9 >)ٛR>39[)+v7߇Ʉm| ʇE>078$~N>/ʇcy)ȇ s!BAOB}^I}{w~*?o|hJn< QW|f=-(E_qxEq<.H?N]d߁SCߠ/I[gߤ/ ,v'|_p$foLфC)mq)@!̌GoA~<0OM n=J#Q܇AO9>DrpMRuI_Q=_/p7iϳ2T-!R6e}XdsEߦ $fY ՠ+G|xK>3hY̍:X̗jMRuR7Bp_7IC79kfo l9{Sh"y{#wֹZP In q_s%7Yg{L_ _9[C1 %1@@ cЍ??_A&_p6ϲE&[4a=5k¾$m1g0#!t|'0pO_yhȦP g8RDD][4(&! 3HxST9P6ʗӜOs@rÞAy#þI4$(NI<2Ul?Gw bw?M7q wޮ]هǒ m8X0F.җl+>4ְƢϹ&X I,zdH=ɐvt" CFzB7'7{i3}6{\=CK4d<~Ėi.624w 2 PoB`䙿gG0 9)i܄{ux,Cf}MhF1 dH4jcI(6?w5~mek6 {>+둳WE~EII_ߘf~m<;7cfp>ْ,nBEIASP OOgXɈDޑܯaFzKH<Eu9¾zkx{ޣ\r=z]BԐ?ϻ޿.min?2̶f.װ \|(F/ *N-!X%9 oe{"h¡ }ť &~8 3! %C_K,ك0 ^6ng!a0Mރ";\lBRPug4;>r uͲ,kB睦>oVTWG_DjG)/ Hᎂ2xcY9 *$Rs{|׀6KpW2Tޡϴ?Esg=ζ<}l86O0@|W^EͅOg=_:G zokqǍ}ՊRC>g|>Rn]L1,ɑkUBHՋՓ9YLIC@/>/G@eOz#{T#>.Mjy ŭ*C/d (gs;D+8WT! m#\-!w|/ P #WBңGS9&(:Y)fN{AM|,m> Hs p(47,4o.4o2zŁz+MaGM5xc3(+Mpe`(&wAeGƣo$-zSGS /$WD8&޿(Y()׼I0x&^țVg\w?Җu_-D:[x >47c8~r`mOakMt_Ꮫ?٣ }ywm#j1*Oy컇۲?3e~^.'4-7[7'5?yx~H?'X_$-D[t&;Ku.1xpBX<"o?eAepcQ*|fduӹxG?Fz싸C{1я sfgG+~w|iPv\bSM9o-oBWS'P_$Hޝ](rf˼ktS<@yٿ\0<=;ExBD5Eu6G==ؚ qʝe5dzX<_N_pzi#9u n j=rGp9ꥠ9@oKk(XJ[_ڗGVO:t.k6G۟ϭ,;#':K᮳=E')S| q~fj40{[+rs1sI~q1 Z=| }͚_/?瞻⹓8)vA.gO۰iXZ{ @O]fMtO %M[|GDUg~LLUPYju`Sȑ~PW_rd=SyŃ_㡝 RICC)s-yPR:ޟJrvٔ־@@ѱ -(DBsO 9"b V+)~nsG"Vup<ϔPcQB:˜˔KHxJmtՉNW)u{+') }ϼt]8Iuyĩ3ap_3 w[Q[>rB*cûF +}OrW^|O(/=*牝Ā's>yĹB{{5y2qsU?(㱼?|Jߟ54/^U 5¼|HK"b^I xp`߿,kpKy52y2ys/󚟀 *ty52y=L`je*%@Wje*%$tLPLN^]p^HF~<._3?Wv҅Dr_C"ͫ?KBӏZIg3^ -)Gb<7SmOߠo gvUS>&jtpiLѷLE6 ka"c6!,N#:[;҅R)WQvM-8ZkGA諴+ml!LvDSjུp!{)UJpcYlѷ0wZYuҖl$=N\ PhUY ;iYI#w6\wVtaÉY[oAl{BlD~G$"G5Q cU]~6`.nF8[}m‘!{@=D<傻gHWà@k;#i%_+Ǔ(u|n\J]{Z(KUax =fAYH° \S6h- \ɢyX cG?m+"LpiI1l:R3Npj;U poxԠc:ّRHVџۇeҠ7ւIpv8UD[*uBzk0&? +̡ƜrusP~-;F eŇݍtBaC*̓FQ㻔NGT$]Nrwpqvb{wjP "(=*xB _DžzyH1Us})j)ur8sכC2O): 7NRա$`J:IK~URjyżmꪬzF&hpT~hMԎr+^M^D_A:;TC"F4uɺ2,'9d]lޟ& K+:pU>6&dgFѲi!TfUUX9aH=0;2i%wH)}9|F8i(1 7fjtt0qȍ?"uc2u9#? AC^qϲԳ1 w̰[55.qcώae/Q/9z#eq糱؏Db/k"  y }H5Wn۲,h'N.h*=-ݹ  }NɶyD:ycb^0b:^X*fiƀCzoΈJ",">$gMg(iz^oWXflzs -6ͼ679N`B߲s=J]۩uQڡ3=an^,71.u{ݐ|US&?i͒ w0.̢;ﺸiws4tZف;H-:q.eWUf%EQB3mwĚ*rF6ir>ٖ–#[=О僠я4y㚡CL4}, y|ƍh,fǪgl gf^? -#eT'T]U,Zd(6b,hV3*X-9!E4U!kSm{ˆr\ڄ[WAc"dv芦œInc5gIdQ'^`H]bv*LsedYJDŽ>wS@.1{s,Ÿ>lq1+|+#[v:-Hα`9IkQVkVql3v8NZ-9:)El)LZ$ӭay:0k wV]&dX.wbTSY567>*V;Lm{ZzHmߍe,n{|\[ɍߒw8596kXc.N lvn,`ͧ68XaTEL[ueuFoOż 2 [>/X5ޕKFkr:`D1aL-'7\{zmՄ3E-U`!:CuZ!r$y4r lq=UlgpMS*TY>8i;Y@,f hSMas|T:F.V{BEc$wvHSsR(XwΊ)!?``.SqIE΁8\KQZr,BNj$-:ȋh ,䁽ktl.1el_μrpЅ =vYu`q^hmWs4j GjHշ=wFP/ 3(ICŏ  UJx[Wawu HYYik>Y dfiRzjŎ4duM4h/n:@cNVǻj-gMtiuge2D^QƒOEXO!Jb_y+nX$k{~KV`JS lǶPzCOD&e"e;&)*֋v6zcMCye,qΰᮄbIx":>~$2 T\E1)ĖOt2UHvDM${ޡ`Uytc95ǹʇ.I6,+ ܦvҎq:u 6˥hZc(wy{3';mClꔆ;c *^Pq4.Sם smƥöCyAvK%3ZlVC8'='Ǎ˜qiuax Sg>Mm׵ .oLitkɟt %Pi&=g d[u^Erf+J(1I.\\@[yGEb-J\-jwq|jAb#+FLN:YpڧҀ89mN_3BGr=YR\SbenX_#`^Gܺ[֟4ւeآ=v=,wQ7V2nGS!'}a]Z!k8KX۔8Y ';{|6ÅfZ y<쮰XN&H3G q8kqdRQ_*FNdRcalHTPc#9G=,xx>un;Ѝ?0W0D>.[`N. ƓeEޮNyK60 CK=C]ڊ[P(9m/Sx^>`)[&[%3 z{'8YմG0+ cbs@n^٥,';nw^nC'J'mz ]!I,0`H(GY-T!揷xkOI㾬F#w"vᤩY TzuG8PkG]y%pxyH0@dFщۑ&$ٱ2AT, ԣ S-Ulfk#7DV(z/V< 8᥷TUCZ*4<#F9EM`}sy ϖ5%|9A8QU.qV)Z X[kdxUU4BkFSImkv<.>gQX*R5FV|цu/x)N<_Lm圜 vLx\Qn~1")eq@8z"W^l *95+ϵ=5n, b KQ.QVLTۅn(Ӛ839[f.LmSe}qܖ0Xm "2`NE1'Ƞ|il㶜Ck6wq5 iH ;=#݁&l}QlfF,rքA30/`FPH@h;#Ր^K<g5q[bY@;wbmt3V>ռYg/uJfh>(x;?$q "A-L &N~)7x`Q n(_BjR)1tzknrW"k"83:[\5гu-fH'8t0jewa10-*5o9C:YQ:7,8IK$R#!D:Dd0j?hH=2 Uinfu.cs'3b]#㬊j-b;@PpYb14CiB%2HB8A MfL*+e$3-8-9.1mcC=ڱ@2hҮw(9L:ʡk[\\֫rj1.1;:4s:F˕>reuIh$;ɦm\ k_ERpN*q.Kax68G5A1 i>%YN:JMJ)CXx󴳤r߰ګ%|AqOZe]K}O"HӾ CBNF}QIlDRq4bs0`[wZa4ՆsilMPM9Rœ~J!u7 ѢYm GQ S2 RM" Er,Y[ô6 ;T[Zj8'; Sh@%a:Z[52h&G^NƷm'yjҝDKĜhvo;PDmtWK 77=ҋ٤+~P7 aEF@SVS|8,C'ՖPZu}"-d0-jD͙Ә Ȳ[:VPr"1w|wPO%tANtwmJ"ʤ8a$kCC]c9 4komOg{ Xµ (`E:8~@BO@ A=UԓJArThSg&u3挄,`RH?'@3g.h]'Harc76^&Ҁ v7쭴[lf!fzXħza(9[of4:JL<lG=z,xp>F q1vKKgjMcЦƺӵ2E H/hBMy(c&qF9 fdg񫀭T]p/( ǚ +h<аC2ˎ"[`12yui!@1?e󌀧o'O橬k{8kַ|fԦe8Fc]X0Qmu@T[ueWiOQcH9)k(cl~@5Ȱ"͌ I'5=ΓP\0e5o}MZ!0CxqjyRo{{6O6v5C3*NMrm5?mw^#H [DF7 *ְZtK\t`Xpa-at*^ֆW'kSh9;UuM%[Ta|n8w:ˍzU 5  #Lxmpu B,n:iwX tYNk`wOuQMa=v/dK!!]yKi#K>Q@,ӱF׹K[ Sw>0s YD"oHiڥA5S78؜=iyxsӃtFwDw}yOY+yrV6?[dѓ2T>˥搻D2[LB{~;KD:OZoU7[t9UʂPn3LbVx5o^V LőߗN<\͡'৓URVjP !z,Ɲ~˜ P\:E[pپp8G+]C77 Ri֯\ ُ^nlTLWuxAW>{4#yh5[BsJ[:aR;ZӀouzbh,S˧@]aJK@҇ D6.q/{=7n_l/=nxmoA4yIO(i ^:~ȳ 4)xJXM#/I+MvI;D?}?oU2[&)a]Ӈ I8mBz>Շ3sN\jW3}LgbyNNQÄ`ZxGp%[zԯĆC>s{_ѧYCKDq^\r cuZ$e}mm69XO{z!nrlTxCܨ):,ŝNPP!Y vt=vL[q۲7I>~q}u_2/5tx%@]yuiYZUNe~]@|h7N ٲ4 giW8uKz ;9) >oi;[($+y}->҂fqyJj7(+J1^zOV-u5`a’-"h?_fi6V%9Vl-ǍOY8># j1b)9zI6mx&B ydŃ^iuI!ՃhؓFYh\q[7*!u<̤}x夫kR2N s.]CTww}I&N Dͧ]cj6貏,ŎbYQiZڸ/ta3՛@Ve]T8]M^mTD5o? S˷ |JQ۴:fעzuwdbd[Ԋ I!_3)Fy߶ʼnT(%:O?'yY+ *-3rz1着׍S v4pOhT\v-U9l޻_nrꭴ²ܧSKs638 9{p1VČT*E1`K95h1 ZۅFbRr_0 $l>E9_r faNMLUdoo5c3 ui!_G%^qGyCyzLGK$?hVOꢣJ55"K+;lzsD+s9~ZMrKJL@1'Է}{xln':]7 8?y|}q1娫Zva< + )p+][Af,jkAߍGҤ)S|>56WKc$h,5;ȆYߘ¹s\e\9EQWȦOPM3>!KK}?꡺*vu_W3t8m e'N'G"-S9M̳QUGM1le_96{IP AXk[޸-zu҃} 4sq*9k"iMKc%d8iGjuBo~w۱M>Hʱ76LޫR]2d_z.6KSEm3v1%A}Z [1Vᆳ|u ۆG2'ȻT1jfW g,}qAT 8~NЍ+  n{Q[I7q9A=AI34'`azO PL՝j{O4v8!=ɺ9o[cp )jXheBkVO >m)W6ՏO#5́1Km/M F^.7'/U.{옕,Oe9mw#@W(sd*C]AW+I drc3ǾMɩ^Weg'Urro< OYcvl8= +ͬh%B<?1@7y5>Nf/|ϼ /P#"ݼ\kWʵ `B[?,Qen'W >vkz|Ikxr{-VQm\f9dÒH2x0**&~iIء7{bݎ :+#x&ҚMa cp:H՝٨"sΨR4rr S3Ki)e<}1%3|^Ĭ1< 0dssU>~pP7 yH ѥmU$vP8*:(i)^)g+Nv?fɾqXߋ=\y9),W) q?lGj7hS0HF$,xihZ Gܓ-=8t9aw}` reR,/hG8p2*erSDms(48j=a39&DVE{@fE3590N|&\ dybS!ů`\L6R0[ |qb;˃}.﫹!Y=F> ٻ$Er "R np܁&꺾u8}1 ԙ܅ikR\E.H:$h:.?g 2nfRе[q dZ?Yp"|>fȉ/ΞG-yk!H1sֺHp峖̶ rR inG@DeeqnUG/-SX6ݯAx 9YJ.EG a 4U lhW2$z^OcQe ;JRfFi l{ԉ h̉QԻܜӭO^UGɕ*;M=WFj$6YdTz "#Aa5`!1t@VP`׸ƏKF=S4gBbe/L+&a9`U4p# )'lC~`ur]isRVFUf~ 5FpVFBLD$B{m~H(V.ȰdD Gk&,}o>ųh)Οab]Seȋ+y9%}E2o–GK C>h ~W[.Q0ŕl%zitRDPo>Ewy1'z`1P"|&tUZTip5! LiI,54b;uy0-N?S! bFB{N$ж)| ЇHr\<^I*{rn؆*hp09Aê SsnL;t8= 9Hr=-TI3Zɿl^p:D>0f'FHArW@b9}{wW9DXF !+xw9YS>:(+OiTQ+!sh;@| =?z̍JGR?'ɕR-0'@/gZ׷?¢ 8qeJl~ˎ@$ƹ}c{\#Ѹ52"5aXUԹKyHFȡro[ut." _YϹbtu^_jȱKv[zg.R2B4G&\C-ejeJRi?#B!p Z6G+yW ~3 ȯ?$ѹрmӑT 7O ="1No$;Z15˫wZ1rݛ IϤ2Rz,y!4w})r.bЯ>B@_|'@'{\ :ݮei=Jҵ l 7)>`^I 3E==˶ 䩍 ŏw5c"#qk4b7n` +=pf226 p@6泥\ي#Mk@ ƒ8 $In⋴I\jI;{(|ź#J)GqOB4+ ,m` YRשtmEy$j}}T9ED,sH1rV,XHch sQ֋w:1\+Bv;USH 6d9?P)}jC@r,:eUMYWɱzOZ]~O J9ӓ={HpP[ q'u?ԃѝF*e$ KU)-Ҟ%$1By4݋nb#9Wԍ5XF ; (v:zFIGcw oGuӇ$C}R߭rSנx "hR#q ym@m'jd]Hær] >jTb,ʋxFd[ZL@]$/=.S xG'fFMrCQ|1+,h6d=0UFlu kaGDu$t>~J_wZ8AԺ0qIj8Gݨ;v`9jw[9B+5b|6iN7sʽNFUKl{C M79VcƎˁU`' ཻ JC?0q6z8ƕ̔1tX &WL%e&ؼ->۲Q9(SՋB'G i4ndJ^+Mfxϑ2)Em|x_=ĻEė)bnum0=2n ^=)k=w%3B_'`$gTdN 4}e-z>\7Jv+csJS<5KKŤ3XMJLkV9܄#>j6ĕA&k3:F nmT thG }5'Ă }{~|lhqY-X%I^|[A iPܨ#ꚵ#<25*SMɩC` .?zʛtiJ8|9{<5{!]c4^>k~0! -+'J P![,b[: -ni]FNGߗ1&Bj8}m3QSѕflGa@H b[bU5Y0gLo;ש6 x#}‘y]#rIժWռnϰs8)%H2ʀ"y"5ڀɱ1[:l÷t4^5U.YPS,+_HNs;R*jX_&@pᑈ+lз:(F+좕 w:IOࣶ rXf4B䴕yx@W6='~=N4749*o,\X7 ͎ȇnR$8Qdw w=]J @"B#jNB%D+2_n`=xseiϹ^҄ 4YQT "Ṝ3BA -:_L%4(|8'6UOx4"d}N3 )^עn}J2mnЍ.6IZr`P=D"n,=dC$[N!7լsk6#NN 3{5&o y(ƢfHv5/dƬq $b3~9!i`e\;>QK(,C&!ZAОt(SD/ĂMX<Ȃv?8XZ=uǀM,\XBDp `QnjHDߎdd<cZ9kZ^ⱟUcPi1\]ˡ^%& ?\@3(c$&%hH#+0D:3V{&,nsIf5C)?~ʓ3RwW,ćFh’%}~^ӛRgПM5-Qgl>5zϤb' 4] dĘ@)N-<}"OcB1a>) )P@ ^B=YKq&xDor%wQZ҅i֋QDɀ]{s8qӶ> gr|I$5?v@k3HMa>x~iu Ϟ R3{zyu<97t=\xㆴ$F6C%BwY &: 'yYFŦY;K)蠞 Hh)at^j.T ˁ$?*5p Cׯ޴G+TB,zì #bn)}]X^CA)e s8 RHdޜHvhqP1&d˙\;Xvy%x̓k"Po_/Y)Õ }&?؃xqC ˑH546PfgpetߌUX3e?W# ,UtK%Ƹ2佤Kyt|DhbL qMgZL@7X"ccV,򙹝ln,,]Ɖuw]7"r)_bgo(Hj ;^СP,X$EА_ƍ],G r]+N!^Mȝd4ڮՂHN"pf6MbJP6!g.7ڇY\2>{n뎺;" [!é)OigtAAb)g@ֵ1H03MD:"Jm?yJ^A CƹN4b~p\P-sЃ jpn%Bܼc).WsɌJnlj~j֮r[Sٲ#lDװ\%92T)sJRӘwɞ I#EOKu Qqˌ#u/6\%9Ϗ'Q*eyE8[DυTmH^wH m?p׻V^14ũF!~w'7֧$p%sHUP0sK^;YkMD󧦓A<]P(`nhe Ŏo@@cAr~$!xg/ѲEACDeݬ 6z=h౟%y9ƃS:L(Qk"!KvD%>$3u'+QF-C4jbyVڃ-i7o! GZY|; P#JR\TgGqYy] } F!ͷ+k rmJ1}85BV_1LWa콼;&,6ħRKx[71[# )ĔM్(*Ix%8ϒ8k}߿dFt+FEZX`%S\BRݶ8=kn)/2a^}TwKӈ2誛˴s\E}eZk9ѳ27P{b7 [&apێ@02+c:ujEsmX>C}t<:,CXRuAVbb^ \{Zp-l}SJhT͓mmYM$)vub0G}9͔e➻(Ԅ@TЭ@`@r79/Ԛ/[~ٛx ,8>?_\!Yu񱽴F$ GK¤ 'qo2t>=I[(P%oYC>>M=rNJ:Arx`jBã6) J'Us&à^GΘkr]g4\f0<Ʒr 4>bd\äg9ls^PBImA֣dǛI61nPrdyceyiMܭHT L)l=~pHuN=9;|mJDuLW5b20.¦1r1)~[ $uL7˾D^8vtמHљ&SAf^̴7c2>eZE=/_zڻ]ŒGNx_)1s8ȼrmL钘3ٗJiK vO+$CB1ظ J lo̱|ZLI%a &uCYRImܺoe2pl#wLMݐqrm B) FT 2ou)=χDN겎QkIԊsPŝt)˓}eMJ"p.-YQ큲$AiVv;bk3OB|mNb_5%*rJ5A i 'ر!Ƥ k S>4:X@>sIkC{%hߞ>/ 7vKɭaYcxcӊ >dlj8r Sԩ|gn 5}bn=zf/37NnmԹIp,&?Wva&_ (9GCyS8_ [T//l<-qC_/mbW_nG#aN/OcǥK_Ap?t?oAg@Ua?E?Wޯ#.ȿ[A\?iϺH@8񽏿Q4 g0ÿ14I~P؏5motq8pvܥY;~u؍E?qW{?tu050ک˅~kkc`[Yo #K?,*"_PMcMzyz/)E$'Z` CR$]G;7cH2({L8 aW?//ϯz_X7ch' }c ^ .$[u8PFP  J /T" ́s)H~=y1F~q=.c|JJPPa8hF&|Cm[7q $F}fiH@ͽe^VWG|!o'P%9e0]?Nb?~5mDw&oł7(iD4q"]z M7'p' x?A}C0PQ7QtI9Dc Mq4*WX{ɟj^US ]Sm˨sh<'v/KD%wG_1]jx?uY[VɀEIfQ'/]:?J>LQ,wblaڀ Cy%78lL槍wn!8$8P86=P @?ſTS Ji8l+ߡ[c4Iu24+HpKb9Ş2qz+%g% uDnP5x(+(P௫-p~P W OL5a^t m$( HE\Ԧ$} i?{#`/W|Ync|7 wɗhH;#@m_M^ ވ8O{MhMDO.jD&qFZ4pͺHf2 vd!>`@tboe;ZSy}Ql_ X+!M`ۘv\Rh " @~mg/![ E_Knߏ q "Q \AAy4&X)6S(/C)]ۢ ŶG0x|BAg l5ۏQ&F#bwfMiOP`@ۨ|i& RKj;OcV~oxc7Z$mEo"ri{ `2ۄC, cFl!pLlǠ5P h/f)E3  P_KJ4[ }p=Tۦ6<:?6>r?ܖ߰mp7]`xGIGDM?TVPؠ a1{ N>}(ke@Z#v͂Dk1pT34X4Z $ +FP F|vmnBa}o@Q@ QwnD#3F3Ӿo\WD~_}lp]6NLخcoJG)|@u08lw9 *.| ~ Cܼpo0柀$Ar[ HufFp+1E0U|MR ͑ Qn+|wrMtQ݊h81Gt0Hx2\d[ F r1_e :["nHIƁ[T [MH4/)ܟq1#~$o^u/6Fafǻc쌠7&p c9j\Y`!!l(cӀ{S^@8K;/NNEA=Ȉ@(ڔk8pM_~/@b@$!׋wS "/mE ~/Aދ^DDeA ˲@m q@}+m|7$Br17Ŧ&Z Q^>UMgF$%:`R]{UoC9D& F)T{M0%mma%T( PTPn(QPMNQ,E*"yg7AWFMECu*Reڌ`[xK&lYjiA,0Bŀ < (!ԉPrX$䇷/ǩ^,vթF@Ǘ9W!E`̠4@,t+IIg sŁVآ' M. !2uP Ӱ!KQ-ʮ0 jLAbQ3,5HD9ߺEcLiP&An&b;V~:g^>6 q@}ق>ߙp2wE<,fr%PȇE@Έj%YM>SkF8 +0i\*d:8sl,VZ`F'Y}&Ȣ2:VK :-h)3(Ga1 R"uЃMX'UV*VqHUoOJ($'&#V|iɠpY*29$= ۧ@Yt 'qJ9D2Nxy vEH]IN 4 h 'YbEI 9 -u(29 c].3W`GX Lf8ڒe#,px0>r/ƒ\)ypbk[vdlElA ^DXr!0Ƀ6RHaZ}BK-Cͥ3({ٔXS~`KKD}F@9( h K@`;I·0z PN %*\s , | [*C*}M 0ŗ ,뽖0H{ R3*"c4IR }B=havF^GrPT?ta=w @z7߅4G q L!|DČ#/2e!DىC)KYHu%-|qZakҮ`~>c3E@j"@zu[mN\Y^t>U7^ qTx&NBB.+r/˲ֲDm eF>(Ϟqua@j!äHdP1`CpaqFh{LO ʢEVo @.j7Ƨ F$nqYSk"L[*bLsQ<&ƶ5eu(`TNGq\uTuHO+=>O_/+> Ii$ٝP4]||80#Ʀp*ȡD1Oʼhse gyF I"rr)K޺y]8޹QO] q(K Ih:@ۢJUbĆ"HH0 ["9=g̙ kSY+͋AMSLhU:;3}}f9-I4Zuu eԨ}'O&ޡ rzM0^]h65 Pшn6\߉D]=R |֏P!|uh‘A'͜938S"? ep;MJ29g{[1b*;Vś_@ h`#obrV$WO j (_{O}E,)ą!b6=IΙqX)d>[kBaB&ۖSU,bz {w ;UD2Il/&e"RD[Oq XKY(Uasze 'WQ-lm%e1pgU1P, w׆h zZ̲yPH" Ȥ !@@{RA|ϞGDLop:>  ?͓"*8c1!oj07:,Gb /pC>Z2YDÜ.ЭWh4W{Q#(Ep%MsШ x .1=6tl,Ϧ {t ENXqitDu8>Ў0n/ye{f7vDhIENDB`pycirkuit-0.5.1/pycirkuit/resources/application-pdf.png000066400000000000000000000031451362435125300233640ustar00rootroot00000000000000PNG  IHDR szz,IDATxڵ$Km۶m۶m׶m{cO{g6;7kb=eč]d֭n8蠃q.8q L{Rҽ\ χ`$0\QpjEG(@(S5}b'dY$L?8P8Əu l6vy],B p  iP0dD\YB0NBx<ۍHJ4fE 6ʞ^ Gc1$l.d$] 鄋&sDFQ Xu#p`ҭ)tM|ɄT2.2>1΋B@-"y)i[O!En<%K$@蝋.Ylj!vCh"x\yŷĉk#J(h+bѼD\&qr*yݱ0395 Br`.G$DmDË2*_CE9:J4Qg r#$D QUC裨 k- [Z7`4l\ hZ:$^_~Qan-+C3a[_x uj槎 655S"A(ܧxNAܹh} [Ggիb*lX[6oVZEEz}OxIIzhh;ATR FUK(N>UXPp!Szp&Z<Rt55?>dhЪ3r:a6UٓO>< raϜ &-P/i5s>ehѓBٜmf5NH/ca>0N3+++1y(bt:x/#sC";Aab~g4BٰQ>Pcɐ!3[^/((P0qb)>TӤ6.ʷmi C-vݵ׾QTT!ޥcq8ƥhl+4-[pd3/~).H+zaab~x(*}d٠Qè<+)9=#4V\gkynuYvG}GRRtrȉɓe.byC]jWЎߣ\MIENDB`pycirkuit-0.5.1/pycirkuit/resources/application-x-cirkuit.svgz000066400000000000000000010540411362435125300247410ustar00rootroot00000000000000ْVv&zoLr:0HfH O_-)132^k{l}7 >}w?<]G`^.~??HYMO?L4:/ߗp< jG}_~p ~O??p??2A:5ʚͺeoooɔE%}}g74m6B4xI8?qemEagIcR?ͻCc?+N .|uJڙ}]KcC$?uEm6QЯ!q?hwNo !o]?7!g6`#o$71P̛~{~/d]t1 :An_߿alW 0D`BD=/WC4 ;~LSoW?گ˰.Kr? ^[?&E3Tm+Z|vr|٢)o%=YfF]tO+aC?9Df^Hk 6[4Z/_$K*ğ׿$O~?տ~D尟+h뻍+~{%C?ߤI9˻i_z/M~}7#wBמ,O%ʳh(}_W٤o,5[t?]:[ ~߼uվ9KUBy>gFwk_v\J>UojD ZZ?^`[0y)w@o?? ? F7~BInԍ?M4c4=ioӋ~#)%h pk4\.P.R.+]_v'EeɦwDS9e6ȿz[sezM&1AG8A#}#i-#&e?~_Դ߀Wp ~o[{zQ sB_ ɢX.N0Lf)8eٯ/obOwkO .;^w0>(_P_0T5dſќ vP} lL0EGQ;wQDBHZmA}!e~][2/!RYeF[ᅇ"(PtXUQ}'? ^t&-rIYP0uml3w릇6e 8Ċ~m+6C͒Z2$}30֌"xxZ]ڠQp9vmEB79ne*چ#y7+c]ϛ4tZ&^{ iGgK͢A.(1S$7EUp[bt#xqg- QB3)%)ˣheST}lAEOu-BcTGxp :Zu|5QXCгr\xЬpyen2w~9GJG5&1A9xIvv2I\?,SO~iEF:?o@d>I{GdԑN6Ws&ٜ"h9, zw+WYe׉jqH 9.gu!#84Z"60:mpx];ﻚWs 'fC?ԤYs߶\O#~ҔPfXcU:oOxBXD@&q҉QtSBYVwKAkh}i w)7t;L6Vl+d|Wb-x&z)?hءF/[A{E 6 s|oYA̽7yn GQZCǗC9fμung#Q؛+KBEkzQ@c a:=İV5bɧ+"Z\M9~z/|,녴Aoѱ4wc >nA%PХٳXy(ƥNP2m[˧GWkn)T&7O 65#}[N-R8ֵӇb6ݘXl۟3# ݻNm#YNSjQL:ʟ"w9S-4$[ZKmH߱'g:x\6j̿T"6Cp4vzuq[La zWԿhTzġPuX;\zD,Cdɹ|m}w%NQ܂Goc9nPԠAV. CZO8vx c7V&@_/o%)Ђ1*Ȑ jr3*Nݫ{-|t mF*W[FbqFt[?VCa# k:?M_`y݀׻~B6*r\# aruņ`Z^-òUݥ:%jP9 4DNȕ$iyئ'1^g)|^{b xlx Xz+Zǃ.]mM,5qHگb2 >O`@8|pb G> Zļ=e)6pp"4>$Uֺp%d}&m8oAgA/MA&?ۯR5 3Tx|_@\\\:qyA:mPZ@ 7Xm3'7=mF+/5~􆫒p';) WZK2ЏA`27dG7=I9ykW>`Rltȅ; ;ۑE} Pj T}Ix[-/+5(.ɇLCޥ5˯Sm!B\[J%m)1~);Zl|\\ㆧ}@@e+Kݱ[ $aj$GZІ*hoG%]t9O_0ؒc 8+ fTnߡ>h'L󒮻C6!}4V;bG˄8,< f7;-$EB}Yˎ\[qxR R:3tMPzYڤxY~ug_>rTˑua=P\Mbqf)J l4!ֺq% h8/?dni6ӓ  HhFeiYL"=h=F!;-à,Q{s/gʔ Iu4Y>`ć5@Wh[p)Io95bStS a1;ލ`}F0 Y2C˸R*8#Q/doɰͳ)<-aDb.Z7:8b?)0ŽnxT< ZSvUUH[FdWS %FtwfXXoW 0@G+ѴGw7flh\'zo[p15#c}b'_G:,H XuAwb uKE/BO^JcQH)1Wح4yZiQY]V~^>8pb2M*qp=̘Zgݓ^Hv{WoR50]/ܺ6,rQ3z%ZOX(>xJc(Ay;VM KU@/tl֎v}sJ<N8=61n *X/r5oC'6lv}R.j0t nU?·D@}j|(S7xpXh_K+S]?Yۂghik;d!aK^0 w,++A&g>G~S6eG4.!|Ņǿ1vF]BWfzTȤ _lV0ˍn0GM "jX^=]Wo~d.`>>B1'L]j֏_F6'gqt-ԥx#L~:W_X.b V[B +Z2.a}lcžKŋx8K)]cƓ/:Q@z~FOHxIQXi' %T|#>ttu]ܫF0%EܫDޘgb F&Us{EM;(վO*nV~jk<<k}9id.H# Ë)0 `F(f'e80J=^M'U:nk]HI2;e>RSgç_a/Wp~oɲw/+vN*} Zsg=-eJ ]yg>G[9Py*EA=7s@N!XQh82&&H^A?HƭOoX,$UxM4}2ʇIR!BB4':џ[$mY#Z be+ n -2p1iܟSN'&r` l.Yɝpeyss>R\>co'6~ K4J+]Vrܞ&fؓ ).03!yG΅@* -7pu͓$ƹkf)bزy5rU@F6 "rE&ͶnuDF2ףiB,UuBtbd<ΎOWÚ*(4phFk$_$V<}nIZݖ:r%,ZyW F)lKoao$Dr4IB@*]rsg#M{ҥw NyRO)Mݓ!t|Uh'xy,Z}sK EQKel$n{.Q4-!k%u(bӘN3i^ YFWb+sEED5`36>8kO !4%yTw+~{DF H$_ao _/WdǴTQHet[np ^#d9½d;"=]0`A1mo8l#ّd";>>U.x"{UQ0VosN Y*ShaBcDDt5'p1^=DT8X"{B{*hgn(d <. [nSh>Ok OQn^6ya`4\FsHr{ךOH1)1|Au n2Y(-~e:1k澍B;j, +,*PsϷ,63z:s 1y֒<0Ko 8x>O8wOGo8q;X ̙T11ZR'e Q0r>͖WE vRRGIBb>]qTen{,Gc[=+BBӔE{e.^Z%vJN;W-:%='U%|qraY6nظD <U5/< c8!8'F˴#J3K='a(qޱוwziHaW@ `ݝ^lSԱܚ.bL)?9(R8H~] gJ ɂbwTZaXuFd~OTjAzޅH$gY$p@;f6R#5bֳnRRt,һ+{F@7]&J'H$*T.^ލ@haPKˋC桢q>WC >g޷̅a_{!jF%KWOZ\i(ڰ=-f$-kKIeشTGђl0X db{A&?y=N5|߹@E ]X皯GRA0 ^c pAs>&;ƾ0EHKCrH]{zDC2ǒLÊ~cD^a-'\4_`j`nF&L]] K ="JΣu$I5qLdN5"ż \zk)K)Co%uCWEˋq99U%rBM+"{""I;,EK\I瘝"EfFt<hBKGÛ&͜H w:&$CãDY@϶[h+1ء_\fQ;ۡ)152>*Boo2AJh5~GZҦoڊbheYxr of=gY|Ư9ǻ_~BjMXMaſt뇹%oz c`Ƥcg+}7Qs]okݻgKaUSQl$@3vk>ir=*ʷkm96s:mR ?-0L`F)R%U(ڱ-a;3Ybe!_%fp <G*5Yʋ F.<@"C$g=wh'*H_mL@;1{?!#\mY,i/oG|Ԥ_) =K{Q85>)ϔO,-G.)g^!a  9(BGEVễ0|y )(Z7=0g]p]T¢c/4jBe"[8`ϕqW9a.\li֑W* k&|Rթ*UG'|h ]Ss>Hp+/VhYgK*O] a4s9Yt-]i U_@u|4s W_sDY&/UipI1n@8?hzl7г5Qd4}Ŷ;]rYuČ[K4r007&Ho`J>4(+!`a>B`ԅĕ]_E Faԯ.D#!" .k>[.N )ϯN/2lEMJ>oPReL wvT3*;b\\lDڋzsK`~;xR ɷ,HCQX1k9ϼ|OSgl}wXO-+ZG!UЮ\_%E='աCovULW6yk!|(6Mhn6ܓ!P)^%vQsxLYm_ 4Vgue̚fU\쉪>дg\SR߇%R>b=@E{]X]ynGﯿo>"=,=Lǽ֚E]u):FKOb\fŹ}Bm,\볆ŧpEIy'Czs/G/b [~>z= LlI ~Hpi5FE\D=az<"*U@IV}ypY;4=6B_򕫹ËM+.$o]%AE4%yY]$]lNgS٫TQ]~Rۡ^G@=0dUqj[c2. ;wϥXP3ZpLviF#FoC+%pTx.U־8-{1WҎp3! ZbP /`ՖŠyIfʶ;.[u {5?=]Lt>$zybx3P(v}*FgG4[[}x3OV8Yr& &b{>F?k7' !f@+G7(RPzve(g\,#bӶ٠fB`nAvоaqqQ :H*w ›4Q4(SfEܵ9O4׋ﶼOм CQ],|-`ez5o8orn^]}TbI[Y 1'&3步P^nQ4>Uz)qIG(P|~3lϙB$(M(t3џv7K*X+iNƹ%w" ?=k !juHXpgM? sP9>MX `AV,TⳡXimJu`pkOɣ/dX'[d'ު9<`R P[,WbQ"qʇrUFG7Ysh#l 6ВnqyV<Y乽O#eAU^R}R1r[x`H atLJ-&&8ظNm-q l#jNhpƊ[3 l;(oN}6[ΔC>Px1+I1Gԝ7ڹ T (N7hZL $!W{~v]xK,a0,K=uڐpIs#u1/XBL%"DdɍvݲP9@vA⼋t|* yX1lDg&N-}Y-h+"2U7 _89k Liphey?L#X4ˊl^\J{^lT"W3uzPx#\5-"xkУ!hKq'KNu66kEK[Q$3- >r Gcmq1iT]Ԡ,W^%Hg*| ",R:lcvPpWr1odˡ {Nl)G5VyUBǘtP`;{<"oyV3$sjg޽l[?4oC ʌ-?rM&|Y,sYj9Tov;8Ȳ:/ŠlauU( Z $TnilG!sTGw ,sk'O[ \<m 2:y/ %6R:f6? y`fQD4ļ$x.SP-xFG8ttN$WƙHN^QBJ6]^%3D1(")s5p:T:݂{xo{ǠѧuTEmE3kG{kZŤ"BC b(heB/ >..R̨m)eE|tnm T >^~Gm1BEٌ'7k&vB\yʣM≹+ŋ^ei×>Jە q/R?c\ mGb}9wR* bvJvן/ǘ ^q ׽Ja30TLo7u{(~X¬WB cLjkQ!Vo0/q:.~rA$rQLqa%V4i$@\cr<^ElͶϲO[3_ g') e=e?cgwV y5{HA6x%g0nxq8HŮ}5|(XϙjDn-j zɸwWM)PN8?kۇHVs;۬㸐z}℀hL3^~ UGLcr3W%# ?{B"B xt.zTj%&PrC:hlt"'hU#ncMo\yr /`@!xU*jg@a{adrx5t+ F@3e久屃Ô" S{;w~.3xD]XB,E8fm ٤&$; X#Q>_Llmrc*J$3Ƹ݂\77<f]yZj=xZC\QH>d%;jxwlɔHvWXo0=:+x}􁲷r 3 0}E\As*C:h-,y遒Έ lNcI@rNHbc&0{{ 7cB!!Sl/ϓhXOyh=|epy$;սX5q8~nv$)bnYv Keغ΄~o򹠩8~zF&Ky(}A7Z5$'`ĸl)(˛i3[9e$) i h)w| ϷW}~w*o```Sy< Tx&Q937^tk oelfR٧[m nA}1C!Nzg%,mB/Q=ɟky{3L{}ɇ+g|]tRr'E7jdZ5K}{@v ?guߍ@o݌/0;*jsevȅsI q/"dQ'*9 hsw #>jN Yxwdt^-D1y0p;ycc%V3Lnlp:ST\%|,%37{bOŘ?Պy(/n`YiǼd"(^S듑%?]CW n<^8 e 1<ΰVٯIX zM``O2"n]/>Ueqn/[Y ·BOIJr0d:r`?6[b!}yH邖nh9x 4^'F.v&kF݄i;u`+YxnPy^W BᨐߓοRJ,u kQwah2|sb7$sM&m9>oBbwg)7+mJ~و$ZTEQJ, ڍ=ȋBx>k43UM/15.Ͷ$qr:y*yvjaj.:] KC6dkY "11A|PTum tc6INii1-FFAoVp+:GdGXWEȽWWxpxDв(bmkoljLKPL|]Ƭeg;M_HU5ll]'r;_c9dvޑ,W'5\ik̛(X"&tʠ ȑm wYë3T:){L \Hq2\5#<5] 7]MSv&9{gVգMy"e|!8h\@Y_6Ckv JF;gvJtz+;mF,qxsIW*:7cP&,ގCח'뷃Im}Q72Bٴ`6ŭ cEyѧ)NFm s$cMG5ql[jtE>IƚW-+:(-2!5Na\GUّ 1/Wj¸㥺,:AFژN&bT hSf'27%;G/v1,|Xfj^rg!>7^f (hUpuAc$ 4J2P0  u|t-@lxd L۷弻HFf&yۡyFo&iK Ą֥\(Ljⷌ>RС>LKڔLoZx}-PN9yh0.@؍Vq@U(cMrѾ?wؕΘ!eׄ // !׊ά4p3oP*FJib(n 'HlsbE)];wU^?缰*0o^t+t3( MqohЛ|TȕĐQ}HUw;Wzr*GGucCRsXQH ջN\Tfw Υ4z!OK_*ilr2`QTD+<2 SGT"yI&pl-$A0Cst|WCѠgE/o[;& g"_w𪧳dWv=ɤB*z]i@9"}^f[;4KWN`*r[SVidmI)䨯?{ɂ匓,l"҅IA0 51qwX'qC?ڲ$Y34/&Ȍp vP Q+#EJSG?@oN@H6 BMo͇cG |y(/E0@1w]&,K%0,x;2 ,\V:GuV4#>հ$U$^^Zq|Q3baޯXZP|ϵ6_%jy"0Kω&dwS5MϽG 0#%gBpUB+ ZQ ۍ ъ s?a-IQgLMezɸ)"]py[=,}L N"?:~`k)/go.a޾WCfDz>$T0. !¶I.Nʠ B=m' Y] |[é u2qG*`)ec4r4ƌ8jpy-?z'~\u3"dzPu;!C@x~?_sqjƱ,_7:waViZJtDC~84 >6WF޻Vuz>`ýS@JrE.Ώb~rHK~t)_/y+! yμw_⁍EFqÐ8u@܋{LWZ䡾Q,@;'=޼웩qкN"8fS$M~>Z8 $EDCf}&4|s, FPެh] >~d\í5% _sxN>F?#ݵ&>@1$\#7yQG2Q}] ^VG[:Hշs`skuO^y4Z𱭊P &SC%Oͷ$vFujٶ̵Rw`0{lQvB)"4{cZ8C4^UgDݖ韱Σ%\tRKxõ1Itg5٫1c@U43JnÊ# oPW?xKtXwgj|8Wr{2 o&ґIv%,Y=rG3%j@u7!" ) NF#!KhAH"lE\k ՖUs/o#>WE4 M9E<+c&NْNZ93x4BRgWYo$YBiZh.f ]+C״An/)JH|{H]Of˗.HU;IZ/1$3@z aHF>8G?M*pN.X ;1ȆP`Vwh5M7͗ zt&yH$0 $pkt(4BA}B.$E}n)3/.l[IU;~-Shjw WyrTL? ZRt8M()WoNYAP`1Dyu jHyZ$ON 1A?h಄^lX[f4 Ԯ_ֶGGƢ2A=5tJ3p6ISО$*5ͽ"dK_gu==)^ɖ e]+xOKU滫?Npnv kܣzWq2#*]hZZ!'߉MtYu?}=fNKʷ7%cVL@ N-@T:>tf<_1(4JHs|k{T:/.#f3?aj~/w:oI_#3)/4jPXwWzL18 @gHOJrJ.6r' |JP7@H-u5}(Z7ob)P|mdƠ*#%Dɖ7U#/NXuaڒ‡w4YԤS~9ZtF=Dt΋H J^IR!>A_ۋ8Zz:'~]p8-pFAIU7ڮeFXOs'tdPVH~MijCnBC<p L=D}c>p^҇㛆ASߤG~*w-_U?ml%XXnme};0sz/ԟV,Hٔfi`o[jx%6$j3jr7Xu:NbzIwDq"_ {V8ƏHo\KA.wcwSY,Ey"D@Hіܚ ?d=7i8Entg3>omPQ&z~I%]Eo9hzE[g!:rM]Efy>{#kh ߂Rc[GX D egq/<%p~$Gq@q%-^g֠1Jc=:W)|{wkHK tX/[0w) Pс:7CqP:G2 Z ĸL0O9"Kĉ@" xIbUȣXj>[#YEjÿ括EsIMaqY8-e$1_DD5l)]ː相9LV(H'~$XG(IkCHGcV&lu}yÔ3(F#9S̼Bj-MϜܨ#k (@}%pC8hDˆI!Pֻopj_s;8M}$]3a_!գT՚?S5B)&^m9xG=wUʺ-!} د= }Zc/ȶJ8D:70oFR2xطWmO ; ZS>C*1w2~fsڠ73_<=XW$Lya`?9o*~aN 2E({٘#35cT0rQrE9}CZC˫'A$$ Q~\iO^꛰r=KqI(4"g)=G~&/E]J?p9x^dOm ?S>icYÛÆ>`hI05|?/i9VHz-.@I`?D]Q%g#ZĠ%u=޲bqb?V⬴3tQXkOC<ɍi$=0p^s/L[wfHve^5G˸PX$/ MQ2HACܸa^!ŗ.w̒5V;o+bN*# +͠0ҒjD¯ d+{<5E{ ~Tl@8vHyHF*wE(b}{17iOX i"x+iͱ㶀hӖ{$YQzmgbs~HlDSNꋆ^s%ײI͖̎YơZU'گMF%ϱg+ܪ bdE>u{G)6GlOVHVUW\ЎY.cfhEeMLGS;C-Mma{΢E d$J[HHy?p2,DU;I2Ջ"_MY{§o2?1C/ o4V}~|_\;esx`gR6[ Ÿ'Ohnů "'$w82ްQeodLXpv5RL5Y7!'N'7y<h*+*R|!=HI4E1?!ir:ѯb5!yB$mE|_!#YmFYE`|ik<{ !Kz)4jϩS2uL<Iy`쑍3~fʲc%PZ̿"[wB/,$͟{$&s"G[K.xSf#kk}R+qC>cǭ4_SkhF|vy 8{EL>,D?m- Pˎk4mk02d$~J'IzW,%k-|XL[7g^4 I29}7ځg񙸑g M /V764%ʋcV=q?(^SoMO@\W4ǼlnK!P8 : owEPMe(6@t/kg b6~Ze'K$>8쌬aKLaSVDC9$`(}4П}:b#05h>G Cܟq~HrTe඿u,K*7OͧHfn#~KC5QL,)mF6þ2=u7܏+h$J9qIW:֘3(m~1*&qtzly)A08HzА fIA|#qǗFq'qW* gUCq)~偘SQ7>x׬2~gKA~eE"ޜ/Co2ae\3G[H.?e{ 3FbQ2_1wSc/V^KC+4{lv|0ZC D]z(G`vw\ 8l} ޵>,–>[6"`A4cgilZ%Ө%3O6_O~Kl7p}qGaX5iw65 b~)&w;$UCɂҭ$մM'\&`-Nm-[`nqsa@zMs27ducBͷI N1RN+h P@VaJ]h~ {d>3wfhO{Zw2=q#STZ׆?1O4yn%fw3-!P~kv4,/ސCATsGVo-U ӂQ!8 ǴxY$K|,NNeB6UN7`H9>Xbti}gО{[z2bZ$W#sX٣O%@'Y HLʆiKϾɷ [֜0)V}D?6ox$o"*W Ykٝj:i>ŪsuK&ʹLeb7#;I  49ˋc_mBͨX lb-noY-0@Y/#9y+Ғo%Kv !z{]ZHNlpFZ At٤Ty@\^e x.J)LD*XPqr5It0TM/;/˦ΕdRn?exmjy^dc4@Zu/NSMksBl,\b#We7EW[NOjDQ7뒄AI|09 6ܷbPto h-:BL$|f61BcR鐅;Hk{9qRڷw48O6Ԯo4h}xlZ[xE##p{: ;?npEJ)vfrGQ2{ƒ^\mdA5}@yU 'gUT1ffhbs̆_hŽ _e(̼grz+2|4.YkvضvcLU81Tqj/q597x㛭F*)hK|H iـJ$*4-|*e&2,L0`rQ:}-4G2.%;m[KVZNXr"f5 >·mFbA^˹OvMխWkq́HSplmt)ǠRK{E2fyON$L)w7Hf 8'KL66qgO`6 p&pf=tӱ1U+ivKԾWiXP_.I*J{LLvpuwUr; b{`$&%RѧY[E\t(%BM͔?9w#R(Fe䖀c>kݸ^{l 0lH'%အfji' ǹ3OkK"PKo& 2.hE~WQ>"H88}_.aEsxIE_r7hk>X ~wZxG'abh64q8lc"$Lç64))})N,HPO7zF~惯͵ͿR%i="w <5r,9%A+3Ov_UL[25jڊ`x oJ^Ȇ{,e‡z}km#HO8.mxQeٚvZ$ADkʓg5og衇Ьv˜ ڀ,JWIy|De<4޲Mwcqxqj  "&Eb:e16 vW->&i[傀6\\Z Ŭl04lXH%vQ7إ1=tM$@)őT_241,$7"C v]*RIF?Vc -!rϳ{U0r6_k'%Kj $Һߠ27w>+K "t~?Nusһ\;g&#oid%57 h=z,8j";"[KT/F׈g{bόZCV*Ub?hȚ?83 _.x^ k >)38df'FF۳ /aVo~qnMkX8~r5jGP<C<+-7G1J>JLP^t|v֖Nd`fՂ|F(34a% q}8R آ9dV8^>@WEzJׁl۲m40j pAKX3l~ Rʦ_LJ˟^/¤?}kJG"lhҿFĻf+=ҒZiDR}!ޥhf/懓Znu'1PWSy2LD8&W~\<^'dJCyDz>~N[aiB[HסC7عơJ1 x/()&VDD0TNd.*Y eeqǼYҷ!۟E3P*8mHGqd͈~읮b- *xHtC/ &q_?Г@Dϒm cҺ:~* Ӕ<3!;~77G y>ӶmeB6[tTg5H$o;/{A]r.ʾ{Yv˹`w=n훷﷦Fج#zR۷,X͒% rYL^JN |q$VMEP6#(=I 䢅jC,OŠyDȞ8]fu/40-{nCC{m'ET_?5$H:ZS/L v}``lѿL/5RKڼnr yVO5VM >uXm=TZ TwyC2CZ*ע蘝\*|KH.48o{ϾqWo$kʞAHD Wu~$h. M,\EHy3^4DQOo,ϹU*8˽pI#YQJMLmL.?ˡuZ繐ڃqœzo=ffLZиN?;#K,&݌8GyAqSbϔ=M_bV/c؁m91EbꭝȪU: #b5f 3!oz?F)rPAEc@_R*S `j!7onlFi]RҚ~wlMEY~ʁ+ey㤴D>FH%]-}ڼ, %q:8Dnn>UtfNk@䳽ik#E/6׵%/G=SE=B_T.L>e@X"޳I`(YD\hz_eݬǭ\HO>[~.2;[=w{P~Hњ^;g:6{sll_Q\(!&LK1`wr+OzN}$CctU?MSRe2Ce+swe~5 вAs*ށ*lZnhR9I)#^, |o=zoh ZR]sڒ8goxD|>up>7n$GiK hxd42чi9Ov]T{buxp݊'yM[^9-D4:|(MsIwL9UMAC:t* Q.允e6|8qNp`-ѣ@0OKG@ t03 s )N̷ִa"7JajYVub& Uۉh˯؏ѨK̫aVQHnk'~Gp  H=" NPf +8L1T|ska\vzPY$/&bn8-n$d)s 1RM8u"/uPNMCöUYi\?[;>O0&9`Nd܆%p̿wTH  , KwcQ?㝰5;Pf-ц{7=l?5'fFa-e3V]cVD̗tt΢L!Ƚ1#g^$\X|?=30&,.w4s^MYѧ Oki5^2+. Z& o䊸DUQ;8N7Vr ^^{!مS=;{wO!yE›pZ:} zQH0Ȱ3D'LomH@Y--ޒ뽶Gf`?GzznyJe̷/^ ȑST_Oll hxtE˔.9#˻H1{,XĊU/8RG/Tģ7"Xo Oޚ2 }zy+Gy+QU)I@IId:23OY_ݸJ0 M.0Ƿ\4r!0\=ߵ5 ޼="Hr˾'7E?$?<{@N~guǷGWL~N.FƯH44Cfs^N^߂Tkbe倫E-2 TZK<)T}o W,Pح/+c0+bAmyeҘn~E\}n%v1x8jvq>Q3GJ YC$ok%MiڮJreKEzd>9<{f(YZ;J)Dqy$xJXB 0&xn7&R @fV4uXS^M^<?WV'dm9<I*&opr¤`Pݰ$9DhIWzl3}n2׎u3z1 y E9%zf4(ƟL90klBJR)_>+K) 7ZwAYo*^q`9.cS7<y NoL5x]LjCwEI'˯YG[C[62Bhz?/ȑ$g-:dҵM08r%/ͼT6* PMKϯtEԼS"ڐVwqn_&l}mʌ_)dUq=4F,>Hn"x@m3%H\r"ӲV"/ϹU5b4Lk,l̎pCMS:>Fx%:7a|!ի 01 P>Rg<(<ik l$yz_ٰλ߭tJճcꖫ_ۢ37kYEѝ򤃣T ۺ{Wsʹ8GVml`&_9=5獏TC\ F.Td֥zjԞn٥'_U太D U„xT8698  ܗ_._}AXyl_M? ]Gܧ.XK]J䡿6EBEe9|6Y8\3UB@qn.X#"Urɨ"g&i}k0FOZhQ «@JoAuIU4"tdiٕ¬bieӴ1CO*֞k-_ ~O$ʝ\ʦzuC_c& $F!/EEg |SJt؝)(F>4js3ݸ=PY z<ӳ)tᷓ)|E_?U#K!mB-d aTY=t+u x>Ga>Zk"z kpNlt>2 "_(S󽋄f T g)>j;^Lrswp2uz~WC-29;1ɋ&k+S, O~%Wa#ڿڑAGW Nw>>m^t%E+QTmO%뿴3cjzv-0!g$&ж dShq/f;+Kѹ ^[ߗA*yH*z.3807Q\%Upu(GFf=,+3QE%{PS`"Q 3e @w a_XkŽ+,ncRI u>4M+!a1uҦ=`-ai-ى7~׹ >j6F0^ J7-ـRao MGu" ZdOy \!ŏH& Qc=dQےu_|Y_{!4b#~O,n̕A9"2(UA֓,q>áN@s=VÎђk YWICtif_ }qE/x7y R/G|YDW?էV¹z| jg,DܳDԿ2ez"1/\Ô93n󣬻U0߄zƸi?8JXd|2`tȹ gCB:[as+"_R/8XCc wSԵ1Q90`)ntYA~ R+chnxN>%'뺽:H vIPMFے ؓ[Hw/!=@.8 dCܝ/NAl, {KIcEh *0PKRq~zA[ڟє Ћ'wL: ,3(38z QEߗ(t(ۑxVn| /Epkno]sB;"x*:&̫Bz 9 ( x,m }<]*(">\Em!cLBGrZ9%09o8`i'2GkЂ׌؇Gek" CK\SKrP # (O@%V45"1ۄm5G~m[ׂX!c-𛁩sm]} $H9݁HhC]ɇ[(5&L:+ WV>~%ĺ^I\C>.Z*8;;|h#mܚ6[wN@ub)"4n{=eM0Ľ~3Oo e`QWs RPe l)sp7rvͤ9NJaӛTYImq{4(Sia!ua"2z< G+ S $q %qp\Ǥ]dzp'd[ R|#+Z쁄BژVҵ:'~'uh,e׫oX8Q>bWw o.{g4$WHc̿%q;h ,w%KS\_z͋ˋR9F6 1_çY ̿uT: Mv,Cz[,J߼G>D1Zڴ4?1gp p6x%hMIUT Lτ~4~ҤOhNRK<Ĉ/j,eSɡOpn1Wzd&ʗɳDUb%K*27)yؗ(ETqn ^ $d[uZkE[8c.~>RvF>Yo}RqVϮ:O0]b^@G 6E,P?c_W8B$|($/' 20-XD;&)a`ǨQ2hunu7Tߢ7`#&jd;Isrrwݦ ĕ6fTk1Lw{8o|R s|8]>3JCAcl `sU3m^e"i Y܃? x NfKbʷpZ ~ ߭KQRITD6([2Il2:׆%IW\rv{뙸6_K8Fq__5&vOFJ_7uHA?/|\?~Fj,&>hӎZ'cEn*.TAo, +dpH*a1E z'w~\rlDU#iS;0eŐo7a5)[N0fT=O"?u zYݼE;D{a#ٿה=V#y#ճOBztL`3I ^>Ph+u uY?}2/JVy2oz@e9K?ї l֍f9 uPkc o6MSGNȥ?T'4c $ƨRu?zi56b4ߗA2;[_wM%8* SJһrkM$J(_#൛ G!>C֤Y ¿E-qX?ODCƺIuw6XTzIG)g73Jv#1^-4S)l}~Y#QuY&!ew bEE.q +$p'lM q`="t%@5/jqp8.&_ 5w_=|* W#Ǵ5}_cD)\gCϏ2wwkk cI;- y s^r:JטV^WmR: 2B)XX=9sS\_c}X|?L8l3Oꑋ 7ُ-aGdS hS؜x%cb8^gQu%#Ij ~ӱIί )TTldDSjf\39.W򪀞lnK73'R!y9Qۿb"ͻ~tѩea4>⤴!VY(1[1 >"]-)=}޼\JK>h_sPmz&!Ta&`2"ʴCwg<{7<;dG1WY.M,3r粨^Nz}g]Q{CQq,p /icXkBjTTVWy<%XZq_XӂrJrsȁl\G8xRtñۓfd&f\S[[o=|fH>fh j7呰C-Sfń45T GAFԳdhΓ. > tׁcFUh>J?c9B\bsQ$ѯ_  ymgAMuo g->^f2B9E+Ӝ9ܷwz_}VpLWP ի|[hk\j|iR= ͻ.'8<Ny"H: & fdo}UdIKL9b ~i6'9d1 nN=Yѫ+!? _R| G{OFgya"ƀn@ 2^NI&J֖2)qoq/]i7os"US@uNppȫ{Lhڧԩݗ[}OKFL76\ dAc)wo[xyRϺ9# \ke0-6KЁR$唼g\N4t8b&=TPټ܋?u %x[$Z Y8|[crhf΅ ԮC;7sRv!7[0s'* +lo V;J4ƽ`v{.T_"pY D&c.4]85K~ Ѵg|P&ʓ `}Wt]DIDx7R},CK߯M }J A_cWw9C#ZY.Vd'y7f wpgu,h~uWslpۨN20/MiD$_Kj$aV}?z~uDL}mj>CHӺ.&YCx(u #*J4)vMgf1_ =4W~E4_5&pfϺQu^Z۞滋|b͌5-,%g3Ghzέ0fheosA3ΗB2Z~ fM] DȺTjP ǒ %4F1D!,J"zE//YHxjMx^[er'%ʙ`LwW? ӵ5GaE"1dlzi+)pH1;>*<;LzY" 7WKn?{O|ə;͙5 ؀:T>X4=qDPx"0e?( h`lB'K JxG|߲]I z'ں4\ds&R_CGד&єҳ#ck~!;qa9M6i^UY(7̹ ,D1"O1:Jj懧!=v(aG˴E8LL}Zv]jURDu(A!ReURLA5%މ9(sp_ 3$ ,B E2~"bd iۡͮ+sRӰZ&p\HIHDƥ_ `5XE:^${i͑CW uHu> 3}E%NHLnY6 DT }6Ʒ>11چ@@;c[w!4T  DhyX|lb2Y/VL VxX!C0Wb#I=fz~MۂC2-G 3_8m{8"qQٻ8Y96AtXI F.,Ocl߾Ӫ8'#8Qۊ}%o2ћq۵j(Dׂ׋PSֈr_KCሂMLp'[Hy!6U[via8ЯQO pij'8':?bؽ"hmQ޼+AzyL1YRfLvίE>T%R M|7=nCKv8I/kWgh ^Y yL Nbiļ# 2hȌ*!W:fJ2D.nih2 R+dnjF+`OR&{H!ζՓViLl&ɳ̉Nk>-F{̘QQb]X?#,~( G}vYGaqiNi^o VS%!m}Q7XG.?&J֫ӣʱlj3fQ{$h~ՐL͍0J q'"Am:IŬ]ʵi\|z7bZQ"Mp,PәV{-8AF0T쐽NQt͔הy$p)K갥n442K$!MN[M ~2M'f*@եbT1,cerZ~pHct=w -hOXO1RO>S 36 -'n'^rH$&`d߰H}N8B_rq[>+ im.)F?CZ^q"~=>A[f|8X èIbR776ٲ l& Zb"،0A 6A Y2i/--`1G=teNB:D  %ocg!'Dw([x V+ mdhDLK ЎA2hS+ +~ R~mZ8[0W"buf&Bt؋ Px`luWLO*'Wu@3CaΉ߆@ڮDb7g?G:NEHCDʔ 'AIhHܩ fGj65R[rp=0*B2stz B(z&ΐcijEMu$.f9w~S!O^V>|wh?:@Gz:+f#LoxW4C=[bۂ 1mg-sy!/ ?"IVgcnyGb*QbrGXzR rJ2%n˥v,I_"Jmw-}E<JM߶~\W>8s˿MdV@2EXG<$۞T]O4rIRt{7o}N-Aܲf}Ƙκl2ӲiI7F3 -JN$c=;9rt~e//$ޤ"eQM} SzfTSf $W9N5k˺C 8K{!*zvhl$}xШ|w#{ђS35++WrG5iHzb~>2S})i*sxn7h=-ii9-Fy0-r-Jv'heD*h+xf$`W)}a|[l׺yRXf΋a7,ݗ›9L:+b 8p'4H 45uSv6"۴GZ=\ߕis4%_O_^MRSvilqXYd5G6ϱ:+՝!DLwuk4Ĭ*&@/GNhsx_kXXI2I$JA o%?)JH0ڸc2Kҥ a O.*|'R=nT0,EǍ! 59ꥒgDb sz&4-SMBu1GƏ`v|rƂ'cNnɓ֏)`wY莒 XqQ,78$7%._ Wy:i N7Oz߫ 7_x#0@c(N1rr=r kA[BedzEX5KgW)]?MCXnpVsqŃ٢(J}_&2Gг4/(tLԃdvʙoN xǘ^i[&0'X]H-F(mQA3lfZ\ק2㒞yw/N0/__IlFC^s@ \'ZWAD>O2V,-1KqmT;K7s> hE~W AH"oM\|-/øu<,5frla}Iwi;=~7²JBe23jUNհxŞU誤r n/4f^PL]-X{cʤQӺr/V&9bjXDJdȏ./ۺB(p'' 8.j@$Z=5⩿ T?U@jmY>(YK4C!kQ+9?3RB`Njviag 򽍗BUaR8HbY_E_P}5҅9- 3630!ii8/SX5qE>``U=tgdG^&\7%^ !^MY:8-=88ۿѩC;PU\\,Au&ԇL#Kx/֦͏裧`a1mlbóCGj2njMRJ4qD"mU c>l0%o6i"nO?T4c{DDsыYb'~ش6a~ea:O$9%x}_[YCOFkp?dW>N4 nXyηBC^3xYXu| cIHrt ־X+=436TN:ar2J0cOk xٱt~5:٠DITx'Wwd='fqc뭛vщ:ebMG눦6kֱ D)30PwQZuH`N^3-jD2`ƛSxpQ`vD?ͣ54PH;oًU5r!Z-v}%4FX\_x%PkMɓe13mu;lsDl$MXآ(xCaȚF<ĩC d_ɀ'6\nnԍpԜVy_rS*(Y:/=)$iiUeSٰV\Og|aۛ+9q%v"•FX6fё% an~;B:R>}=*eaps9.ԥzv8tĒU_tƘz@Vs\\yYLa%o|9t>+^ʊY ix=BelGTnkfQ|#7Q~0 B=N\l_e`$p1Lb5ܳ @._Uty&!\ $4E ۀY󷆯qN &ԋeB[>" إU O>:~~dc0=[m^] ?q˓%U$Q#=%D`[q(F:čS?4ufc#{6>is3BW)) T.>ʹqLN:xBt0M#Y̘y/x˭ 8IPʴ7NTq[>W;绍CfF^(O.\]7}HrUس%F8`+釞YLD邪$zYE.]1kJA<0"c0AF\-bosV>-LztJZNTnW1Ь@5{|Tw:}f2rwҞs¾A+C_1vZ,* pHC2F0T;לʐk4QXM?7v7xG`W9z ?jXej~V Ev g\Td/H^/d6rR3C)&h>@ rǚ4v]Lk0mgTWr,aX|r(e%.o˷}d]A&%֋frzu5S>=MΈPvlQ*VIݫh3ߋ8/5Q_gnXVԍ\bƸO%T@w*zspb%ZD|/ ƏNC+Nw<=gK4բ&qP=Ss~ KIvwIFzP.QվBwv_pk?0S0 @g":mB/ ^/<ו6f1srD0p90?ia=èfB#8؇Цvcuh0SѲC'kŎ]}KlQabzilTyH`c-J|<*p\1&_/M;<3k9Kbs>eVu'tI⊞|H쭴=!x>~.|"d;%#EoUKI  !h (|Nnn'>Y7eL<>:i̷\IV% sTc K 5-pqC}A4Yb-͍>h!3{!.lc}'h=ѿtjL.Js"}IXGDs96@q<#7+:6W9T{&-ŏ쎪t fqrtuY6!zSz p=x4'D4#}BapRBqR祭ΏѤR%E}u4*+dqrॵJ:ߍL*]/M}ůQVW&j!,I#CW-%5ʳ Rg#Õ#WCcA}+rѥ!)sN Oݿ"ӆsՠ0t½(R?7~_L8,6F-rãO?WJRt~7a2y\R#?ݤy%{(r8ғWzf'}wv=557dFs뇣K@{j1(J`7jyA/¹Y NJ5)]{CކjJtkm-ƣ5FS&>D|WbwWavtJ/*= $p;N{ȘKu0٫Q5k[^< nćĈͭL>s +6>Ӛxq(YU0*+׳jR}nNso7T3uäUI'TycZ{lPW!w/T6^Jά*p״+DQ~fF̨xhq_ۥFvJBSTer[$R{NpEXsּSw;o,N|4-)MxX<) YUOZeo+GXmU/k(/ /݉wZRxul/kD/ rX,BȮ߿qΒy.} E}5f9B9}򗽱Ӂp%L}reARQM\0z?שe5DPh(]nG!F;bO(7oXRۼISUhJswܶ8T ?!GuzSGy%W8hA&:&[6<-#ǿj Myn4=P6U7K=İ_`)[WikNvLľĊf?di~sd?9{I6:$ B'G_FiDŧ}tC ! >/dއ_~| h3r;ѥX(QN˒mt\1yN b{SޮG{U)HQ%h BمK3p\SZ^PVA8Xxp Q78tyFXe4b{BKQT8YҾOp]ӟƤOfhT9'R(kHhFH__vQ>OV`徝E}RK0^!DIDgVUOH*Pd@^ 3xRIBTd_ZTFaZK}8-'POXSu:3J CA\c.%&* H!3|Lh{pA]]^ZXVX}E T&q'J2,F: ]`#2 PXUSmU$#2<8_-v5''Gh>@z [XqT r EHo ͆,{uXG7D~iʱv(@ys47M"n+C.a$uO&6{$:18+߸P@IgB`9K»6c]Pc'gޔ!l3¨RF ZZ |oZFx Gz!U|DMT)m#IjR=&U 8~B %eP'TDjA^ڴ~jaCPd3jI[ ax]Ё;`\/C檝ƨ+[hgqIٙƂrK9lыPӅYGQ$3ƫEtX`!jGtƧ/+7UJVVܼ xW0(M!Rmpt82f(L#C8J`ZBqPܥ`j;&1)Ord)%hZbmxgL[wj /f,B@>(Y7Ua258?M'hq3׬!uZۿnTi$L99}D*pr&[46,m^*}!,g,r˪䉪sD**8.E]uIi#zkW,1Zy=qTrUlRhDa %vC6Նb%KabR:iyϕ1?\)xM}I9s^ȜS^{ !@)GM`fU1+C$/nR+SddT{cTTWa_O ܷ |=mh\ RvG;w9B'JXk(Xe8g'graL_Ă(2J9he>%^*>m>b;- wD6/WӲ&,MhG| j#[=O&5_ڇү ׀vR-8>.C:#H~y__z{w`umĞt% :B'&rfmɌOOMu>mLK?8Kl,*uCv /"(x)Yif#nAZR7~d-+\]&jg>_QS^T1_ m5sgLK/k&ʋ(yPWo-1eыfqPNO^{/12r,.%JE|1Y+^ՙsw&pVJRq˸"@;}<ZYAĕ8ncCqQ:e+&Rux>S)WPɁRa;8Ǿn"%ԪУ}}nqq5ŋfq)o@#n} ރ-ϲ&>lT+IJ&UE>:_kd- V_^V*7%(ʵ*+ 9nVqoZ->T6^Є3TR+ gQLHD'uCF:[ S(ҞŴFVڬA%:>mpP~`) Ӻ2p.]U>1v%OJzJKD٧Cku6P^"ڋ_}6YŠdGsIR]_e64*5[_4d)ZD!_ϟQ1Gn-_Zra:9t '7|&բ匚~+7yhHBhʠT"k[_uD{k)>/7k cT"-8॒m,!K%(BHxqrst%[$BvdK o.ndEp'(zFh,oIbi n#cP$C,g|2o?-zcX YBz +t(&]>*peos۟e^Bd1u笮QdX#r.Va':nrپ@ujvlYc2ͧxӯRA&@Q4?" |bELvֿyphg&-afp~:Wy.:}Tz& U^bFWx$씟ѝBP-Ds?>ծ_\Puo|UN@s:CgZ =SdY~z_Y 5r]>ޚNȞ8z gkcIT*˲ >͏ѩhS3VNQ`Q+\Jf+/ S mv]_GRX!3&IϩF,z!k%3hieS,Bj>vX( 8]AKNm=ID{ t ?2d. 5rC>%DS"Z}S,MY;XxY% 7A aJMVXTu2`]P6'XY:xElyi?Iaʕo_b+}Ekq--C-kM//x/$z*jr-B vQ.;d=}iS꫓+|a/6hPp *V/ȗK1M?4BRkjʰُ2tƋ 4ndz$ojy৯xNn=( zYyg8UX_ɡpO_|$/"yۈK?ƃC\Qӽ P u]O0=5 I}*LPfT-gG@BC28ᘚ"k =8!^ZFC`{k$xq2ɉޖ_Ȼ<*+ `l]/e!t#G~~c7~{俣}4T/]g37 fLFp"%™B)=n ?%RxɆŽĐ",w a QTJa:({h-~*v)ZϮ}NX2cmoކO8G)#Oŏ*o wԝe 4L#ݮ_5Aښ'ŭgj2u9RbM"@Oo8亅.WPMor iM1ŝQG!_$M׀UUMе>V~śńU^эB8i>Y\P{XiPY窎 %&b mmjP/ȒL\^(Iߩj- +|tŤ 4 ]IBswXNL b,@'щWj.6/rZ/;M%kf0UY~F>YRWO5:F{6Z{#p}6vWl`ڲQ;PՄl0ﯹBC$Cg\vm"䍍D+VbwDOY]7&ЁؑaWrrνwJLL~!,R 15CLy5%@v1-GߐmR; "xēiu+y8Lމ^ohUg/2򟕹[3[X_<wpo% ɴ_sd7!Zas HY#X4:!Q9Mνҏh\fQ诹saNE[]XZi=1/7pq:Ƶ~۵i\|r Ta)Sp>9Uރ1pMJ{fac\g,CmUk֥pJd.|eW|0 2+qX:ā5=T緀=װ:dlѿ`&ܫC*ǃp_]XI\l_ڪ5Vf+y1i}sXxzSϮV3'X<ޡ0Opг9 W ZG* :szXͫ->X*`h{EĹCAHV7g}}dyݫ~:0LAͷUeX%0@lD鮵b5x!D۩ f}#p&i/ [T 0Bw!#6CjUa.Rǘ~ 63Ȼ+=]>z`x{S/J\j$'ǜ9Aha7шՂ&@@;Uݠ<2X\PZ&p}Jꐑ] gf~h - U7@h_ojV&I墱rCωl⟁j4l֥^&' @ow" CNt1*F{2*fԮB8R ?#yP*:<.'4ط>Z'??P_}񵄹nMzK!eaERo`֑]/l#oZ|25K FÞ(]d-@{G:K/Ո7>?-՗=?[tjV4XmG0,+#&3"T.ߗ*JL}hXs4djй{j(+y~v\|H!(h<&Bט/>lgQ`#ͳ87C]TA5"=C_ DmWe_fM+u2ㅍ(?:"fvY`Ӂ{{E<3Iō#rH=493S/­wO+oS,@jMɼW+ˊ@v}ioLJZC@v32^ 5 GŕeMAK{d dGa8,̕p`;gsj|O1}O0Ds JUG&ҋB}L= ːgUr.,>}1vl}vWGU)w hel%;%Q:4w%s9HhEYQ*D 7eRל̐^^G#}bm7 OlЇ΅ {=GN']\itLGˎںp`Y͵w ~+g¬Ni51떵5YDu%V4}7P4}nefu$o*tG#]C~'b^%ׇHT|}2_&G00mOo(\-z0n];rT- +Wr W_\{-ɫA6)h q >ޣJMQ1Õ-.TS\C챆nYso)MSZXf}'r]hm _WR?dg-EiFa$0rC:d 69 -B;\1u&=RbmZV ` >:R ՚\˂R F{]!7m|8yF8y`Jp/vNk\8ר?d PjFFxWl0o.rV3=f|'o ّWrvmm;Q,cI #= ?dxbYϸNݭSF=NXԝt<Ǟq$^K򏍶 WCBKb:Xi0 OWXlvt"B^nL8q);@8%rϰ kUfIZ;e _vu_1tZN{w|4C5mQDz jQNA u_Y̏(.cmz~ psJuƒF)&ULGذ)~W=~U=dmj}ɇh՚fNBPCC~xLEfbׯi$q Bg}m^GS4lClJWHiRg>gt=ʴ?u >JJ(&ncytS#I%,q`<Qg"HMmXZBD9ζަotiɳo'-TZgqھJOu1Diٔ ?WIzRY5p cvL,Fm)۽u 2K@)>`kJ곶 2Tߵ Z5KB1p82A-( JZ)WGjk0|898|LhUοFY βGq u7>jذ8 Ѷ[b_ڍOkUۦ kQ:oqGh(0Y=%ԏ-P4B-jgB_"0I\:{; Yԑ(Ts25q?q;>,KvB#)XM_w5 86~i8ƀHgD:<'K~hcuJw} HknO X/ 3s\YAE"Li5#NcB|ǙDUz܈V ϊBh]5ey4t/=]2pj^xN_G]=ur1{vH a\Z UoeX?tJ#yd/!V{~OP t#͘,CL.m!e4 m|~*+h1kBboS]8;: Q0sXw;s5D&NwAå! iQԝrx?Uc%K⛮x|%V up9AFv:zIPa*dsI i>|7 G@˿z7>M 'Om̷ɾ ^pe`Aѐxv<1Vز{9W"׵1s,U >%ߚ3PfO7(aShw/h̓T{oj,rIRTըK'郩)=aL?=zOaiݵMM WwwvtfBP3w>PЃ\g|qNo/Qϖ@|gs+1g!c0vZBѕLQs X.> Cu/+gNv3,y~:l4g X գ=W]Jku x'ьK]\(+bc/z7%ľ.X|{9S& 0$R֝e?~[#jVҿ AqO~oWT83+֓$61tQO]J5'ގР\>y8 Ws 8sȘdLeVZikCW{vw"@]FSQ`$]%eT=ٱ`005V>է^Ľgg3儖8E8ɼ*Sc M =WJXT@vas3hmqRH?`ƒ"7DQGf+m1(ږ.(~}YiO~nIe*z2ɑ-Vk2J0˾޷E4G%pV8 b =bÅGW.U@3}=,_KiRz ĺZm]t> ݑ%.7̯]輥=NJP/~d}Plil 8Fѫ w?!XPjyV1!MDzWn]!XpZBأSt n\{_?^B*jik߮'k܅;Pڃ|-ÀlO~eY{B?_dgZ_~ȃx}Z>oYNjEk!`1'Ç_?*2%i <W,T9v760SiKdoITP㣪c_+%w5y9$m'1zv|Z 8/Um ]a0w.Hwx?Y,;sꃏG*p9+(+mǚߩ|'g`cU:^yUςI5rj`ng.eCvYXs޹EZ6KUi\xoy~9]ΔTC,}8E䃁 Brn3u\SJ1tvL׆աMŞa_Z.ib*%< # _c3m5&%5!zW&ѳ\Ɯ=l`c?ih3soqɯ7@͐ zPQGc,@'+|t~=V~e̞|yvFwܲm&?e"!ǯE%~?TDBZ &0\{ivlB[v#lY}󨮊Csι8s~4>{ %qw ;N LO]" =uaϬT |@>ſOtR8](7 o:K\X#VpZFײO*҆t*u˿#ɳ }p37!-X~|6R^ٓdDpeԺUL J!U #Bcj2l6)նESYKE/;pi_uȍ1Fݻ̀A$}t'0b6 # mX<(X]L1j%ʁr0&begHER!b[_kvtrjem7FBGbx.{mkŸEƘD8y-HU IKxw=l(lg>rhxX{Aʾ g';OEb{R3`;:tT.7LJ-sڛɮ<ՔAaj) +aA_b%1~t@IjRw@sz<'A44HcHd1IJ)ٶ ;k$sК3|"PԿ Z lSOzۺCu3fMTt*^ ýudO_ lP ϔ&q?|J]Req&¾S&OGbWZ- ꐎs!AuQP:֔I|'';CB3fzMjGcZ~@Ϡo!z |DyV45i+;r5#gL7[bg va~11R;bXlK%,~fpŦrYX,TZL;GqxDo}Em͒E~s} ZZu!G_S Iۘqzӏ)EF@I_{dt=|zo+ĵ W|7u..éxhK #꾤`\խn݉OfZ+Ik$U毹!l^x* 2bbHavF>"ϫW`? BD-a2zݿtS1o*}.4%" ,['r 󌐈,)P0D+ã/&DyVPJ|D>yѳ>A[G}7ӦqF.ma=صB夢#>SmhNIkiJh9 _8caybO/' -T4Vմ*XN{Y&HWҵ˳A[ܶpT^jشӞxĈ20eOA |0k²_Ն`4UxFt7/#tQ'iH<URyhtsE"ÕĠC~!t1&&awd*>eǷ_}N@󲬕.۳) ҨÎN氤2ߧP=ArA\~L岓:T`X\5H^4wG9i0+w P7YU'nBR 8rZ-A5aV!0[z2Ԅ l*V~SLK&ZPȲ8s]/o0b_ߑ!2?ΝP=a_0{z OV<۶E8MYM$^`|`ˌM%շuCgޅ,>~W$vOAr_b&T=Z)ۗމHL,oʤ- 2{a->ttrݽ=pS OA%֫h[EƃoPU='5 J`ݬ|]݊m$/8 k Z^}4e7f. Pѩ汇l{*Q5UW96"wDI_0c~}a״?o闢j[wlǖe3+cs7aٽ ԇ|]Fq (B_{(eIZ9摯1X~20yZTsȭ0G -٢KQ{g-s*aOQԝz`MBugau.3?2JT6v .c@sneӏ2b_X&VVc?}Å!?UްFeC>*ܸtQTyʌS!k$^ɋf~pKrcDt|OmXs$ D8CfjǑ "<U+a {{z~!1YQ<=b5FAkηhx)BP5*☲RehaήG0Mͻ55R`})\<lWe\渺9\+@Oa ձ}$[6e|Lg49!at弰XS/X0L-j+>2*?u aތeP#Ase!ԮO'0xWI[LL-UvRHW&K{z.=g o N .$' !z?뗗IR ff}üMxƕaX flHQY 2 h,^"t|ԏA$@ػqxR 5_At*RE`/搪V. x +@e[j1p su+X+߆x&^qSDJn"y7<瀭ihns@=F,_T^4 +wǟgrk0352cطM֧%zufuDOd~} n"ӮbJ&"n:AॠވH]9O|Mg;&IO ~Xڊ%kLJܠ*lP>0%3: c1mQ)qu veRn !8NuՐz}Ʉ߬'\[DÔ7M&>^q.:ʸ*C6Z4hZIS oR]vedq@{|XGnt22@8Y!=!x1 ,/E/A=  ʘU\99YjM.`,L%S N?2>NTFzڔ Fxlsrܺ/=M]oq%v;V]%Ԓc?vGΑ=n'L F憻*2'O~vOڳeLsI$g]ȶ XڟK¾rYbt6ITbeAFDmd&UrƿL gj?pBˆ^8A[5 A0jUgGnZ7k28h{9E+080j|Mm=e|teƴʥ$6[ qP7>u5w}a(F?&:wry)W";23mM2w 7W+ q#V$ >F9fGLK{+`*o B =4:NSO怟t(y3%d'iJh(9T1d70hpt5v}n^SDg `hpȵ]r$Ly%xoIFP:wau4p ¼s7B@>!jSI@ ~1av,'CRdžWNBD8T^= {PVfI SN-5pXne66^l6 S){] TE'ٌ[cRԑ; ƟuqdlްZ︷T0բ545`I"ݏOݍtaȂs6Gq|5^R/37&2$R_PIm\hyZG`6T`O>dWuA_o %*p˰nՉɡ#|'( fȀ]9 2q uشt9Q³E'T3Ȕ!c=,s1t +ZD^*(w:TP7sSYe)[}FШmd\f}d9ql \HA$)cX {'J N]8rg Ynx|\[D;0^b.Oᖚ Z+|fC2F׆o﷣f_Yr.)NRptaGT;/{ ޒ{X3Xa׉j uT\e>AW >i.`Qe*cI>qaT =B{aٻ*!}B2T@lXхX'"zS-"@,v '8R )S?:I@NlQxE˔bEq:k72IltkF ZIA7eɯݿf;1h-xUOX^$_QPX /6^WqLO]Nٺ/ڶ:#nC:}:f+C^5:viΩy1qP- 6wQ ^5Fi/*C$nj_dhQ`--T;Ou",Dg+F*G1cw݃ڌ>n 0Aկ ķJJ#S#(~>3٨sQ6>/)9-%hbh]n1 sIl \\\oR$پ`+tчv!Q]OjL-(VJ]=zL Ey}k}PT=/XɂS#^&A%a}D8rj?}=G2?07?%<_I-*_l32m KRϯ5 cLnYoH|jjhIc$61;drheϬvL83椚Bs9ϊ : EV UƳ9,tϣjHp)iV.5{?_ԩ|y NKyS8ڛ4a7G:SPJM)xd1Oc\k^r#'odp?+vD|cr6%6Ǔ7ݩt} 4eh6Ӭ؏_н'R3 &X-;Vy7mBualh. ǵw`Q᠅+r(|ĺ!}):z]aa>ṝ!c]<yhn!4pIKH+$𸳍޽=mΟ`~i]Yͳl9SC)>~ G$I$2D,FP]OQkѲf6vC%6R>g͋Hapꀬ_Ke}YSq2"[20n=>kNހÊ9"C^zC z.635x}4`H{HADg 3q-$x2Hsυ~Yhp;R z;kj""OQgGC}~Ѳ`XN2vQuK7zfHH>63$w۽+V2e}~w)fXM_#LR+F+m'~j2Tu>JxCCՌVjC -zePcNkԂcgoh}c})P?zU~,r.1l6IެfNvAڥb[>04dX#%~5>5Qa")<;=rb;&_Ư<芓D5Mcs&^۔لфm|lq/6uT FK?eJzX49s͐v KrY[C+oԊ?;"Y~GI*qVr2M僡0ʟ'*ȯ)& gJ:,Ʈs'R"|I|W I "HZ˽[I$~cs%e0ֵE^ E cY<`L3)[K)ӡ2 cȘі.>.|O`̧X8UIy{~РxWFJLјxP4S/* {?~/CYU?.bHUp{?b[)'t+s OWkXn{tH_c}5ւR"i~eDQ ~oij;z,=r&YFťi௱zxGe|;bؔc$X?6;en~~!(739c%l'5Nٱ CExp^ZM}df &T+E;X08cB3(g|F 3zrY諐x.{F<|h UAUE9`\咷vR*՟z() g̏Oc!]xe|ք$*M%DXZ2||$p` '_<2ox/ԁzM.=.2)gN8HH#3]g_eX׼."Il=NZS&쑲m,-<1؎^Z4Az7i2S]۩4 a _Z4#~ jr]rn{(},>F!Z i GM}6jTԯk ƆE`df="6 47VUތx;nbR~k|lV^ - rpٽz@"zV?X'-w~ͯC2n_ a~)!XEKO4QT/wu7 &A1K|٩U{P˧uaL.F_D= Zr8r0GY?[F__Ҷϫ )*Wǐ5.1QRK@Gix8]Q/zTֱSk`ǑtҠM,=#Sjj_C.e[N71d78ckfiQ\ :<}>GEŧǨA*UMD^:RJv5Vc8bv;x s'߷`vWO[.(UzBAV 6ʏ/7ىe0v~Eң8-dž,u|ec IWSq'*MG=Q˾L^*S™Vaqk>\`1T$yCطATN h_arJ(|u<uO[}3uh M5u}5a `:1>u#+%CGH3sngHo0C~;5Wڱ;c> ~g3.Ĕ& m8%Dj,0/y*BDBmaR7QIWތ6\ӗJRr'ʍj!\VLb; 5) ޗ5DKR%[IK|SMGW6 `JS.lHHj{fd6X Dx4yCD7K>DGHq@o6Jxe@m=DCzGV1UFg>f>mi7ʜ _3p:Z [{-]zx^!{3N 5&ԕ1RH#&h ,vDe&|\w5(0Yo֘TA̚Y 3i݄^~;CnAe B5z[] ҡ%Q_2 No=a jpңT]ߔCW^plD|TPao`Q쿗8T9&eǁsA}ڗ{ D?#(Nw-pjw{ůp'NN0Mp޶ n,oajN5y_6g&K7vxd@g:ջXEuV4_<򭼻m *?)KWBbS"Bؠx=_㥏gb`,ٟ%jݡ={r*~ "-M[=ev8&.JJ!y0oi5W>e ?gR8䎯ob$ jPN}6yam5 z ՓxUx>$aGBKmP0ewc&mpG. Su?Aӵ.mAˆHo3!['x 5P,P$y&p-l}4f}ݨbzwB`OE;[wRc^)44++]<$%>\G눦='< r[r1xڵ+MGz7Enxߘ@4iټve.~oj&x%4}Qyԟu&< ܁5HVOi_OD Ln]o0t]2x̩qha_"Ra4db2UdW}rd56̟v}[4Qg6h3JݚI(7u&AםUP0'y ED7d;4o\`y5Ɍ>O_Nf]{Ѝ?I38(yۢE!`u¤X"!h?;m^n3_ib3D nCA_|*X[@@d}7.ۘ/z45#g@f O:'"A{m9-&m}h {} 8f-#T].jk5|ĝe\Kӽa [F/ytig="kP'ۆjN612J*K#-+ƑXUdh<Ь=*@P[ ]&V*M!+u%'Ms\>(ҍӭMCߝ0K@p.J_ÊV؏11UyE\d }Lf)"uOǾc<1F~A&aK5_e?tpUu|eNCz7c?+u^lQ [)}_20P;nƇ5wB%6JP>X&{F쬑LnhqY[hk/w֞*6XXnv".wş\&(!(f%~a-zεQ \I o DyLcVy.`iZmp^k@JL܀vDsk=5^$xx Yws`CF-tA͔`z4o_ M|:{c; kbj-V'G,~h@E<;k,GX]nRD_j? Jӈ|*5.Seo} LjA-)I233YҖS`},+%Ri_Vee#"(ˡ`3V{Cv?>t"gK7 W݇~9exOtSdRj_C}TQ.vhZA݀FwZ}%+,Hc 9;3H~`]V΂Є%k#4'J@JVh>W+%HfɈJJ,z?9-8VF횈e{U_'O%Ïk .QL4ME1=~@%aC"$8(eϤw uaz9KFGryo@*#xZ1+7YuAp{>Ozԥ"xLŇqrUwY9[~.8 lO63HGXse윏+#C" rjbEwZވ:i/! }֩ߜkU"^si^4KʞtMuyO(I@L\'a{&VgO#R>&6Nʨ]և"/weߝ ?656]fTHmoidlweDW G32ҙ,?d`P$GfD)h*$::cWrcpEZtj9+wK5O_,f %HqE q { Ð>3S+N|_ݽ$9{r9S|K-&;zn{ F'}DI4d=βO'X6<>oLewx}I}'o:ዡv.Q\o8^/˾[nGG,vx5i8nZ0;(lxCa*sh ADlA d}ӠT™I%|IPI#۸~$^0G|3B9rS2kܯXf_cX ?EleT/vmBUݔq߇ ; Ӝ:Km`"ʹͦJ `Ss 94{n LʰMښd֏ 0Ek $ueM=~*%LC~X<I=A#ϑHxkù?- WdNohXMJ y٣7f΁|k/w AYP? dCebNXP~Q[;`t f؞phL97'Tx좐wX K#ۏlɟ;{ȡ:. g) >I=C&Cj|0ԑW/y^u %"GǨRUaW/S a(3Ȼ~!콏mR#Mp}F sG\$~ m2pP2("a9ޓQX0ZH79zB U Fj1ɗ['olPϿ p>814 tl@%kfCGb/TQ4vQJm/כjqJLSv#)'BW%lC-L"x%M!yU'œϲD`ywCB`o:H"~b$J=S;Ȅe&~ٷzx W-۞ *d;&cl9+=6"vuu+->Ql6%ߣrw p;uS4_bSHL2?YA5S8g.w"sq`>itmnO魳U,n")Y:\Aa!Ǎe+X mɼ+=澞 Le 4ow+&rDxZdaȳ=;qÄ20ǐ!/˱~#>m+ԗ+;/RJc>x:߃Z>z -qC8g K*괛fKM{koc`.#.1Ik6#J3:5\~+T_Wğˎpkc9Yvf'_ k&z+΍С׫DQ<?{4gA/'>_ؼD z⺶WOxoū8, ٹiWDUY}ezsO1F p| %G^Y(^̹CC"3eVI[geEԏw| P.vB?\TCRD!J|htD=?M!KvY;YZj7;y~.w1gR*IPCe9O-/cx}vmuS{-z(uXs\\.ԨsxҒ!d%karV p^ћC (@"v^aK +{m3G੻G؋nuz #jiLͶ1Qvֹ-ijSOxK۾8E[SoM<\$8)aO`[l~\\LF2-8Jz~ub>;oC13xMQY zOCjlP|t5R Ys ,nzKgJ$T8?";{|c$U>=27!UƤg%tnڪxҟRR!#7 ȼp- .ޗ{I6b^``YCeSB1j'xSPN ;>e>//H!$\s!syta;o^DO_ ?Sb7q^i.?QoR!zeA7;:?Z_'o ʒN5"CǙlxvƺ c4?j@~ 66j8/c,GSX3qyYƇde?Gw+5zyPH^b/|3 |$BTqAɔֺ[ Cmkcso3?>k籽=W5() ް윱3~iNTZM 졬sH|+DSN[N^ |;rM/xv2FݶW|g_ko#㋎1L۩WZ;iڊt~|"1=Z.IO6Qcv7^2|)(*H[_ѷ.aVZtAx;Wb_i |>Q[K1zuF0X9dPWaM{&5֠@c#75ذ/s10 4` Cte/m_U֊"gFvu {=O#sW"~@9Eys9n&<`#V7^?><7ú1혴# ᇯBl7ƘIQ[aOAE Pq>TocY|k]jB|1٦IK3~SBǴd엟]G[B EX nnCɥx[Xtw`d5of{u?sFL|IX,ע|^ίXGrEofc?ksmڽ'Jq$3l*n_l!CqQ?Ŵ {?҇zcg0Nŷ7QkƑY8H{}D!0:\e 4Gf=Z;Z^kYZy~n/caxJs0tN?^f2; ha/|>W\P:=kY@[n|2ԻדzW U{M< bqpoHbBff;"[WHLO`#UB([Oo'k*+^oP,ZT֧O/]S^mۿR3m>LT냥N4XlX`Si,8K̰OKސ8pш\Lq.UvЩdzpB 1֎1ga hrnӃ3(1wC1GƀPUoz=B)°ew3t%:);$6W`}.2t]ziPa$4r.iZ?J.KN|& $R[Dm 0DC1J8=ke.jȽp a`qMQ!&zɁ !?ڣS;@&Io90>H[׿s`c,} vwS v6xݍټ~b׋/H{kQ3#w,Ǜ4kղC'QҕR:+!ls&/t] ?]5 g(M/Zk[im5wHC@g6SZUVǶ|2 ޴$8Xwq^-ʷl蒖Ϗ7/}@R0kC*jo!bWw`N"2 qKs )ҳ<7ߗkǰEwZF+63eC{=fPmc챏w i. č]Sm1Yz}ďJG [VȲ 5E pr6;2JIK'5~ 2fK - ><^%J[S/c@[Q`u yׯA~$R ? : acp02{!@\$V#QJ!눈Px;$lh&ՙ||߷W8;lS27 BTOU~wlZBPK<-٦қ^ hIT3G5m y'Y%B-?[# =v>Xǜ^,S[{B t~~2+Sls)'9cx/VFr>@PEP, ?OERǬiXqx}V+,ݨBbz98N}9~Z|NiAl35ȍr"88{({8VT`/O̷q U@)Wy|!g(֛b4=rMUo5R'6#wPLon•vtBK9YlYOF <wv毤){{Ϋ7 |W \a;J K߂Iɘ䐁x)ܿ~7]s?Yb_F-lg.C]7}u^NxeVyg~wW$};|_$vphLm?ɯB x)E{菫0%i&N>2Wu^NfޚŜJDtaag'䃚Z57NSydHj%?](Ht6ڔ;$~ĺX&kZLrE?Tߕ>'>.ƿDgp]1V\)td!7w&!j5_َXӓ_lXwrd#3["P﷝ 4@;'=pӏӘV]ᷦ6`wB'{9?"Ouk sUF#l ^|13]/*zv72!yP +4~|R Oq:b߽E^N{=Z[tD1]CAo=𵀇L8E^ v~AUQX?k?YƌPJDId8pg<=SSy>f0/Z$B/+ǔ \9PɭRgi hֵGcQY`іSħ.03wIKOP[/Pof2&5OrK>z]A,b|la:v9'G$ l`Q8'fwf$ 3l/1$yU`+9h_dͶC (>RtX~ۼBj 0PPWgfp"A87os&A4/I%܏<=U7 h=QdC~}{ ׵^[vr%@6V{19<>Qh|Ez}_$PqAl8<A:f"Y*mٗ`h:jo}— ŗR\k~0P:-h6Lqd젦+^fP/W%?~rT/wY:?Zۼ.-\b^WXn_ɳPKoU|ߨhn0~PG _J!}M?9*}qr % xy{a*FiFŦ_=J="2/v ^?Է>HR 0{\Ň៍r؎uQdh[Q)luERu+ El|O>x ͵uh ĔUp~%")-{9ObYSh.豣@STY>yUz3H P-X* Y#_V\?_9-yF 1:Q?S5=0|)Be= dt/~i2V mz}^ 餖Sd岋'?SK*`G8{}𥵼_<5<>=>5ӜBWޏU;]ky'ܡb-];I΀2HSo{T4%ƴol&~$嘧:Y kXlW [Q~h?$W^ޚM9-(c,cs%Scuk̀m}Qn)+xQ>!{MM^}+)Ј΍{иx̍ u>tAU'i:'ýF$;Ar_jВ^ݺ$i~"tJB.{L+셋3*%VOt c}l Wd^l|^˦Ўū@I*֎AAfrF[k7~C|. ,"^bq-%ٰDҍ^0fy*[6K:Ú+` IW;b 6y xN=*ˉ#T$|ЁC_Fa"[Pi e``e \4X]MVfYyI~Ûm%b#cG}!JX)kN G:ra@.J{P܁^ER[^ .eߵꬸr}8yy9 '㤞>q1:"U?MR(޵;J|Z|-iw3ϟqy5fxwmy6 8]q?+ꗙXnv!ϡ_dJǡiqr \j\ ? O.Ah XNƴ5>3Xu;+ ^p^~m+-A)GGQyEWm%Oypo}0cIMG1`_Yj_yު7l}.c) _),330ͱkJύ852=~_cңd0{ Fꐑ/0WҒ ՛=htSZǛzl;ǐ06&z-^m1Zۇ笐Ɂ  <ےW+RE*aȯ{c_SXlƿ'+g\O{=kdt1MXꞰkrVՎ}y2m,fN mZ-Pӟ_ tu=C99X$LoE1"ZF :uET ~arKIO۠;0>؃&]%!9viQI¯mR>mm5a''܋zp0S9u]Sݘ縡Kvx- u>qi&xB?|:@{gl27D[%ї'@ T1GĵZi<'ڢύTPp1da?U2D9زFҐPE߮#"WR0T0^&hL`#4zTm-{ӿ&QpeE[;)*ߓb8r/R:_cou+N"k]ZcRM6C)A流^iDmsT8>B=43]P)aX׏@׊z'U-p]9_&`)n,QR0y5 %Y0(dE8}P;#Ij\4Gؘ@]|Eme^tt0V+u\VE3+t ̱89۷::'>]wk" WC~FҪ&;8ܵ~ u%ǽxqgm!{A*2'K—fƿR4y4Yöm[Ƃa'-LA[w6Xs=o,z~v\m0 /qwGemxl4t$[[1}K\.\6ߵԔUE@xWMenCg5NtȄ};G)@B﫸N8 c_tv.@?%^G>MLYՁ`΅]ކߎz\tK+G=+]|;aq͝Q67LnzP uIov,dF]wcc6jJa=D g!_T5xe@y=5°x"yWCQw ޔĈH~N ƗLآ-{Xm1 K|%E3"R7ޚwb1fj~֤ 2 1K=--Ucay/3gB.xKvBz콽U׋o,HكjJG:Q`ڑѕ3ANj.d 8KcÌA#&Ӈ?qlx8Z[ubؘͪdRE!8D0hP;ahzPt`lH$ƙw3ǰ5};ViD"/{%xb? $$?Լ Z %z7d=%n/v׍ү۴I]F _UӤ[dvGGYhS:USyޡoW ( ԑ2121%eAI۴ ڒ܈^KY65dęm-'{1}iఘAsvXmM_vS4DFKfzT2~eӈA⭕8}F LyT8, :քkI{qRRtepr8а!'GF=)kyPoP[ވC0P$,ED^&ÇM4֐95WgBC:Hg79 1&%DgQUEi4.jM8( &S!=Tw{)9 òU]>bķ=AWU~Ht&w}xOA1,ąDeWP;͜ 8)d5=bk-Ϸvq!%ӱ^[,H΅EͼP-c>#(k3ȁ[#icl`t0=5jI a퉎Lz[؇NWd"u32PoNegxd0@=#uLG: ރf /.5Qj.q%(Kl ΂ˊT}COmؼ }GeMw \KX,1uŷ i;䛜;~AWW2o֞|ZרF']XW.̝yψgFbP;UbIX$V*Q̥<θ35HrŌQgbƊ['G.iu+k8߀?$,N<y"ٓ^})>zL?\RR46w!E0'|CPzoV M~FڬN-'n4T,!b bSAݹ~3_R@F"7O4u_uO[V~f P4];AE!'&rh}uRI b+Ļ5,Z1:=h|3QF$S}{BY$$f~MexD4c&xvB<G؅1@j.tf|lhǶba J=&f,яj#,p>`>ȇYĶlnȃe*xs]3rZR=sEcVvz/{ɍX״2Dc6$L.IRNxT `D$W ت ;)!zE}2Jfݱmd "F}u:MU ~bt3|_l̓"=o-ødžuU($6JwiFZ;QF< ?BH{8~,#|iOڕ +e8j`"rMG[OW<>m teLDMc>48LJء; _0>3ݖ&Egy3 /XuTm,!A+wokf+0=GPv-"Nï*+)3q_c,d绂27_Ldb~tuYEǪW;#:uF= lzOP {CKD{ Zgra%Ϝg|¤*n*Dy:o :Y^̬Kl}n{oQQ4Q_zCkrw]謶\<WzW35W͘F5A8g+Aa#z R+Kc% 2PPL_ر` v@L2gAqdy: L?sw{wMD0)^C%S!U4Z|G~nsutC짨j_~ Pb7RDf VQqRyT&]G/UWX6 wצc\/TC?Ꙍn e$@Xvg@'^;H]05_7aҵIu6,)|6LCWn$%ڹI$JDhg~Fï;q62 WrSCcۇ[@ cDW0[=(Ya16[Ol6OZ&JMHI(~1:R rռ}Yr`V3!QbRG֙?a׸@A7̡;El =0Vi(I @yaQ䁲کC":E0eHWhD{\0_ɔյeK`a/DžHX KևLM =(47zQ&\5L C&'X4bMB[}r5{dvp!Zz/#<^_s Ov}֑ڹ__-wiFGma=A _ˣPa]W"?D+g4_ ]HZA_!AO[=#l+ʫWh$uжГY<*pk:{eBXj?lyڢ0Sv&; AػtщR.|B海H;d~Fx΅Y'D"Thv9̣@)?y((b/j^qhnJ;ETl.<j:! 4<2nxm|!1q1,"_U++>)U$BuDϊɰ.c/`Zh7)I>C)@bؠ[sMЏPW1Ev~U_D:[WDjRdʝAY ؕ p[*]^K'Oi9:oUQA|sd2n{UXrz7 DS)GeTjo;m,ab;=❰ð{b QrxŞc4̰KmWh/]?*ZCb[GxfEW\GQ1|EJE~ m5ZiqdC/;M8z] wVy< bT pa CXV V(Cδx%o~A{UHƘ-uN"գ*Sq4ޛAVrː옸c%k(#a\3T:Ŝ3e7sz@ j4Жſ?KlљQ]e>m]q㌛DR*0O݃Z{?ѫ=G.c(=U*&uZy"qCưl Q`&o%=59h~omd9i>dJJҘAo~ ^#S; }}5T>]/ЭQŭY2% 9' -\;׷^r/+o%Q7A5!ƚY!R9=6cV ?HA5EV;F{9Z:;xhV {Uj$S=8 `׆AqK3QMKc &nk[Q^"rH}ٷHsGX([N jbj{yXС9SvyppdşEQdTanRK ޙsm W~( s 0=R*x)%y~:nCеC #$6=:|񠨛Ākr&O ! mC,)?Hӟd[鹿rjۇ>CC b) ss\ .,n9{(W[M65/ O ,۾嬻ۆtGaTvEUeUWtȸ}GR4@ ij_z@!E#5 S>\r~~JU,TǚdC, {"Ւ mdz93Q졜sEr%^gWQ EMۘm=a@iiᯞ_Ѯj5d[6VDv`SI)"B@.+ ިJ3w;zs~`||(SfuC6tR TIWшgQ *^JE ~"q̪ \.r1M~+UG Z` 0#ul:+RV E%z1؎mEX2+d}B>O#;Źco>LLe Q_k#aM&\9/\2=hS >l w]|fgl EQuP/L ! |ae,Pc^b?~ItCGJqE] 'ŷ\ NPpɄτvL'E>`|5ҩTXhqkr R6(&ZK@AV2g}g-x5ravtuZ rr7CO@sT֚ a73X,p"=?\8 X DQG( toNqf=rikʢ:ػϧ04HKǜoadlT#».Jw&)n3VG6(m yiWwT6,Aog%>H^/׭YRYVuu.ixn'ȟ8.WjEKU'3voYM7~sQ57eةRůJ2c[K7}٥Z^*p|_ 'w%e7DHt:RyyMIEqiGԧ_>gysm-EB"Ve__T) -iE[J^ms/O0|`fdf}(yl<%@EF=38J#6-#qՂĨgQnx1[*rR"ݩ"`B!;GfO~IƠ~:b˦%?YqƬ#x:%"8A¼޵2=ұHs1?ӮKFsPmݚ&钂p^8&dڲh{ q!Äc#Ldw3raS8p^r&\y_0eωC@#b,nh-_Z:EF:\u~eE6+egkl7w;{ƶ '`z< p(3.e\og Enc]X;KfȲ/lqM, Em*:ۇ,D`읚2DHdEyX?dfHrPB9 89{ s~)ȟ[F7.O4\m [' R2T>y@ wm՛T 8%V:z*)1BџoK]yOuὶ&~)W9~ۤUo[Y¯BOIJr0d:r`_k3ISfQ xyY(eQ=NZ(L9ĈCA8{i۱*Y8\`ZXE'w,ӃIv}v7t.~.v滥^Pc[Ҵ4^f. I 0XE8H"hgjBb?en+U~?x|ݯ.M.(!EeL柧,_d*W9nyiiiF˷g~,{s`:7 Ǝ]Ƽt+]B^_ /g,#<yQ [Eq".T9\@rM|nILDCoO PK:r1Ӽ^FѤJ8MW2Uk8< #bR4uGh{̳Lr=O0Ŧ"a90gЎ+ +X`Ai#[eU%*^[G$¼ {`>5odWe<Ԭ4[ e'7KfBLf'>a >:={iY~u%5?}g/UM(gݫ&s1 oŜ +*s{p cX3.bwZ\`i(]6ߙpX(ߢF)eB6Z}1~~@XhYLsA9/hgfD(^H|4Ə,[?+pt%q>QF$gN@ϧThssN#-Hl4I'Ez]"ÃjP&uZFjr~"@,}$"nxw|TT8Xww9ډqߋLfwL&Q#|?dMO>8=lsG#,'4+k|>͸4ޡ%Gxy!67S~] &~ VmzƗ 2#Y7Mudߐ5hSQ/ `7XcS:H< PN|=ңsޗ50!N^0}Nょ q+vCÕeT^%7ƵSBM_<9\|Q/F ;+9¬>$ffU;orCgc|Ѿ0/$z/Ա/nH&?ܱ/dj TxW)W ..A^zC"<͂-%9& !,oB*u=N;7>Gj׬}lޤî2 Y ;,g`.z?×x Xp RTÈ4(cbI1|ɿ8I1О9:|e&ÅY>tU6j[1=1u9|F~,5Ȇj,@̖!_9O#W}d }~M%1O~ ÆV([&ΞQ4_2a\Rܲx#cIYЇ2]t˾Tw bdUeJ4I{Hf##냒cn:FHܙ.Qxt93/qYϬ?;al!kw&sdj4wUfisB, + 87eo7֞L޴&u5MI`thFqXioͰlVDc_Wr9Xe$LCُuQn #|y97ocU 6[xHӘlMtC++Hw?v0t3^E6 &LL{^[r6s$Bza_)B/O:J)q8-r~[dwSPDQIρƋxy62:f:- fޝBc߬"C=I*rY{P |hg^b~/< j\XmI9R?tUU7Ba]uP)*lײtDbvLHS_#H:moa\R] ~ e#mP'WZ1*rJt)Y3sc\;̘F ,35P_q/rj4*:נ1\%(|L:>_ r 6S \2Jsmۧ伻HFf&yۡyFo&iK Ą֥\(Ljⷌ>RС>LKڔ7-<Ѿ(*Jdb_HUw;Wz|*GGucCRsXQH ջN\Tfw Υ4z!K_*ilr2`QTD+<2 SGT"yI&pl-$A04ז--&ɚ~2HC 3>%A1GE6p )KL9FSK-m;!u|;v4@/ȗQlxxswۅi²=PsBq˼(r89ax4PaE[?AiA3S NR_Er %\aQWJ5qm=# \89J\j]ym)2 S:8m A7UC!! + qS>R~)WUn-DP  0b$muلOܾ_=uU>:uQk?v"`w m;Ky~_p%-8SOIztY?0ݵqƔc7X{mo_z+!3"=Ck*̃EYJda$~'ejQd wN_X]Xdž~{nӮQ-:8oK2J19ft\cF5 =mn?L2=(!h{Z m%Kw/U7` nG|P.;{ ;\Е?+nlR:_Ԯd,/;}69 Cq/~-K0_whcjF`ExlxFozA:M6ٶrht7 QӐcJ؟oαk,uCy>v{2_4^Z+bGs,0|8Dtr|%%ɋ:r,e*Vo0:A:G[{ :ΣO ۪x~ 59a"0*z8Zҏ{9^ȿ|{@Jbgn!\_m\+%x_| gem?^!*(`eoY |ë ضے:3yya@}^}"=nNb35&{?bL5Ȼ3 R۰g;ԇCo>8R!l<٭Ε ÛɃtd` v.i< yܵǧ8bIic=Dݪ zHz Hi:[*WCe\sodƈU1h&9BSxp522ʘ`{5sV m4G5 fVPڠC״5m K.ߣ&Raׇ R},'NgҶVK .bǯD?&gB'Ƹ=bOӮ=J'\m(/V$ÎF/oL}.;ԯ)1]4h~CD.M󥆅^!]렴I1%1   GGn)8 IzQ|[gmJ xpw<4VRS̯:|8ڿSk g*_Uyj9 +{t: [ťs!vr|RZԘA46=䖯 x gwfrtMoP-X!$*?H۸4+̒NwJ^tPDV8d|4 ص"pP ѯޜ/q<0CcfVm5 εH:b~e ذX3oiv]}m5&Ee{k+w)Fg-U"8W1*r]i"xʌX wMShk {'4meE%;[̖b;/)xZ1^-8&SL| Ĕq`(!E,mvR~TԎC-(g<~e_t GH5<>Rb-O 5zG~9o$X~RFz2--TڕG,Tr=dSBo1C鸅ֺyKk##4Uh1H5/$Oyv +Жd>믙&C]\֢5$'3t^E"\(Tzkʏ~iG^38!J$'o3PBqR{Z Ͻ\ftuN+4ylKGf zpկ)MͻpM~ך?ܐ o,ۢoNp|0h ִ(/W꧍m}S} ˭mL}cb/}fC[B3֊E)¬^9#m썱v _T Ćb DmfQ PM.uKbqBDIR/1Vp(N[+a  09{)acyw=h;RxTZ)?ڒ[S4 &wԍnl *DC91O-Mp,Dg_NQOc O7tod -<[P`xC^jxlP=6Ar(c=L;,.yD[¯ucr;(.{cĿ_k"Fil^ùGBG"%>on!i} 䞮:]` Z18T@t"j\㷾/F/Α ~w+>1. <S8q") ^ҨXsh"0H@bV"+.2{\Ran;d\NKY@1 w6Q'AJw2d&n~=. :RIJڢ%ثU>gj [!8D]g0匃) f^cj5Ö&gNnԑ|}\]>Ғ|Fx8!4_aDA(e7 ֯dOr1ILeHD(U&OWB(E<׋»?O(UJY#0uV=\QkeVin9 +swNVdmTO-JE]7_\6aō8d="OU;I<S^;gbXg[xéL,^6f>L*&->h6@QNB!-kD„?+FY/bpMXI]3SU#?RnT.}~uܢ1Eٖ L?c6:9lpѱv'4 S+#I~lf㯷32"TC$}~_Ur82E zP\s<-!Oɏ! pNl J0CL)}@i;yǡ:1wxki I^Ѯ_ F6?h =_ɀŋBS7F%z R;7.wXW|`{/j]<_Λr7 sgJ3m dk_B=*Ͽyx/û;[0z8P!"+Rjҭ脤]w8y^McD*~|JZsŸ-`|"ڴ=IVrT)^ۭ휬*.C|G\ɵl;yp"eaqVoj k39EQ's8 x2G>tѧv]@g%̓i,=UUU6e֤X%ZџF))#a}/ldT!&Ŷ0ڿu'I?Oh!mc!Fasj%-_"o!'#35 QA=ū A"WyS,$O%%|DK6~>B~50hy_߾hq03)_C' S4ׄe;@ S8ftpdaȀJ`- R$%Z#5e#ͭo C1ݲCN!ߎGafx<{kι VQTo4. 9Ğѳ8 m0!|dthu^tOu֮f&,V DD&jlٜQ֮N^oKe4աtk_^oa+9DcFLID q6kzxLdv=Mٛ` QR7-,K5AO5SgY/!o?ras}*a, j,)I5Y7!N'7y<h*+*R|!=HI4E1?!ir:mcCHڊ4ICF`-'Vnx v*B%Rh\S!).d"y&=P#gP tC'GeJ⡴Ev?^ XH3?:cI2?HXk1LX/D*'\JG f"7:VX}|L᛻5%h{F1OD뷵'BG.;yJҴUFl #ïȐٖU*Y'j^1Sta!3m%V"ߜyA\''K|=߈>knVgF9(4oko4MgXaU/pA'8A7 i2no=8 G$kh_&Β[ikʍ(lU^zAxk x ??=`Lv^iH:8 Gj=4ssc_J?!b`iئnd3{-SwSOOtuc9a01v*Gcyb7^:MpQ̖g m$7g|i7zz^5JpV50^9o[_|I?<<ٯ,<{HޛshM&\>**Dds IW'[l@iս0ʗao⟏!k$xZr^cC烡$גnb&@?O+k"]9weec`ݲ_hz);kD=O%nf*F/YOe~z,[bK웏; k "̬MIX{N1!|ء'Htn%%p~Ш|m畑uyqrLYM; :+Ŕ(e$_qWL["-y]dk_{`1LK9hޥ4ĖGyPm?௕(BKMzBE1G U *HD Wx-WsIJ){Zq'eԹL=),%*ic_צvwIE6vM UQi4մ6'TIv%;|U|[t dJu3.I)4Qɷ rl}+ EF :B#$@g&ms#4-YH^@3ƺ'E}kZxIi@H&LއɆήeuPW$:2"WS*zlXdLbg&w/ͿKzryR=W+l\URMĘѣm !2rK~ѣ ;68tHc|22W [& Wdi6]bimQ1Ƙ qbc!0-:F_b=Tksn7[6 9+)U$SnAOӲI0U,8in[4F-RԹU"LdXxLh2-lQK*A#gYajhLkDzUvuS)a ""L O'݄oYQJeUsw;^@B4wk >Wj!1`T 3Ds-LD22€EqVF]:2񼯥8ߠso 5&}B O_CH +>}Zjie\KdawڶP82.Dk<|oOیo,6s>,!~[|}ӫ)g9כA0SNObJ /!ěM=9ٓ0AnL>%D@"51KYk3<#r&`<,_^ݗfܹR=Vc[Ce,w>S//da9c)RطH>DBJs9~ś: x*DkWX4 )>EPEw`Q,$LCXs>2`^-bTKn (`hWp;-֍/ ͆tR`v˜p~;_1>CID! 8Hj*)6_wuE^.ό4ޮV4gT䍜ޱ%ozÍ =yމ)Xpᗁxޚ%{|t }`CΩ`9&N4ڈYH;|jKAK\yH)7蜂lĂK>I{Cz8ng>\ +ZB,BGF%Dz6_wE` iK梦UM[l64v!T wT ^<K^rZ Ec iOˀ/]$aTYV2I$њdY͛hFkv8z540?í6 ԫ<>J["2KVo٦Ļ1Rdl+O(3֘M`W \.ſAub" VdNgB"Dn}Ǹ_/9jy= nsk@ I~DTqvvSő,RCwdKpXkS27ǟ%YLQHU@Љ`CͼIEDKUq@, wGT7>ڷB2"0ܷkU9)nL6!..#y$G|!H3;?J%k;lþ3CaaTF˭U-R?L;:@W;@5+/x"O%k*3VɊ1 {5K~1صI47\%UKfKq= Ŭ58oLE [xDk)D0'E2ϯ#Zr nrY$Sӈk 2[h(qՂ3a%Y.P/nmť5Pfq&T2o9z#O}"C43%st8K>Ӣ0Fuȹ#׮KB! jc,RaCߺ%Dya F.צkMdI[Zw{TgeAA?'3թnp.RzW;<r' d7U,7þ-'_ZBMdGDzzlO"ɨ5nB\]5) _9 ?:( 2޺ʀ|?c0!If&pkd={j?. o>N Ѷi k|7B}prU\mBnliJ ,Q́ݩ6]!YE+Y9,L*AX@}_tN)vIalQ 2+tj/{`CJt"=_@6Rmٶ~.0j pAKX3l~ Rʦ_LJ˟^/¤?}kJG"lhҿFĻf+=ҒZiDR}!ޥhf/懓Znu'1PWSy+ v |E N=QB^Am[فjF$'jM}=Fi2gl)պY%2ɛ-Kr3s=s@Ka/Eo3Fr.]fA;g׎V<+Ź~Mkٱ{ɗ`'/g Z - "{%͕! )^;*^kgߦ|l7(%fL\mL.6K{O8b~JJ^W;$-hm{S>ORQ7#/r`({/swy`yWJF wZo^4hZ9I )Hk}j>o9:o\yZR]sڒ8:;T:?犨g[Dn(Ei!m,hLDd441iR'LD{.=.RB(qI:pSN fM[VZ&rQWL;կ$+|?<6 _2{ qFkG= `!a+h`a}c@3JXҧ 0&w W *n2j;''+>,(\U1 s{* @-˔p|޼n~ HkXAy\9C❔du+,I.n 60a#~=>`|7Д9Sr08Be.sPJ"/{Eׇ6+dxc6UT@3W2 *jg+^ieɧ] %Kשo:]poQy1e N.DQݟJ|,*<&.89ہ,CCo3kYq݆7PTQhf}C܁:5n1λ~ݵw91 wJ{ ܷWWpn=B>w{3seno-7zYW: ^~h2"-H%RuYUX)8תp.oKF^Bێ|XWЛ7X|6ct@.K ỲPD{c|NcHs JXziY9%swE~CU(Nx\ 7T5lEd` ŔZKuyȄWٶWmjچף_ QcK& >7NAi5 w|0H} Z䚻T;sJ)& PҚҪV[iDo`͙K J1܋[@xYll9]l!JAS="'eW-'N-j-F-ԍ r_o3ѹ6)ަЦ:ij0R)ۦ|*TJ% (e}q,mJCKAu~Kہ4핟[E1}5Cu1hz?I@o/C)(EI:zvq?)b*Բ8q$$+;ʱ5u>pL)KD^^CnOa cr\HYscT#Otk2a$Y>c&Yyz]yۯ~7[iT-WdR3ײ )`;G"2)Ay3Y%J>0*ۦ,xEś#35ţEt䢎pcV_`ukb5hmbWbHb(EW gfQQYԸ$зBp_~b4hɢ!-*UVVZڥЋwLQ*L4#rH`wo$ #\AInƛ A6x!cģJG'TW`V?iŬ_Lv([-]2o7>MG_F]n|>-0ύ)z]&1M*3BӮ`1-yRSo^TBqYHd(7zj*`XH|pwC}[jQ3x_Fxua z]õ14ՐiׂYUD篟AD7 F*tU =,f rk]?:`5$QmxR{,^o~M(5MؕGfA;6}xA$:y@ʵL_0)1ԜٜDն_mO /Eg?Va2'iQ%ue%\oi^UVp%>I;2heuis+0\=]@#l{`9S~I'jV^vZͳ.`D@$ 45<3eZ}a)ǧF\_)bYA T mYdCD?nh^>)q[~+9IJ8AA{kT4;#>';%% ,GUwyJͩ~t 3ݭx5a:7Mͅɑ;Y;4vq?F =$DO9,C,B?r8y %wP! t+\)roZݫ!R0c[x{}U7c^Cq^b9Pb1x21 k NѪILE`tY/["reE})8yQ'D_-Ɍb(Z^@MQ.yui.mdS |/._$v[D6ɞE!(:mdF.D\eX`kv3 cnf&pY)q, ạ #cYh}Ԁ ~e_G~s7cC:Lh>yy:D aH~ޘcEcI BGbZ9D09kQ[N"TUZfG@KT]|WP5+_V66,ۄo5W~m[UPc6Wڪ=$))فoCZGzc.l+WZzRxsHzzw-Ě2z9m( I]fU= CFNU5|FN>`i%mNih]qA-~{]i1o16]=$7Qͼ %45N12>se$'a%z'|E?/+lBmi16̝DdQ,S*W/+^}ltvAR]cnl"OL e9g}7|(a>, 0{" 0Fb;{K-Fuu'ePE]mmćuGprSNx]C;;N*#y؂5"a%׼8¡L8 )[*(n(.L8}5us㯓-Ʌ(W{!8P9o@ @4H:Ʒ1tΆe 鳤ve1|5 >'9u͔×M8mFd n?pj,zG}: WhqKu &tw6e@|slNr Ce?  #mu!F.{i즯/0s-WE‡Vۮ7 ="Pͻo"ٕm,= Xq{lc#&(o`_J^]~ .)a )= Ss7C|5,OPdeQg[K< +ļ3kR[UWMwrܦs 6bި*5Tsjo5h*i1&kt87جLa=HJY{KVaX\`vy"Gnnqu\{OjKlH7-z?@:͋ϣP /Z*)hɆ+S&e|ǂ +*W ^ү0fp|zaUl|1FSʷ2 9geO+'[hf5q$@}vT?qk(p#]:L ~c^J H`VDSoq5B$ [uҳD9o99),]Ms$&Kꉹ=\wD~ \H|[10J5hc^R8Ctki"[N\4-^׷_'6V׫GJT2]uyRf'kk ņJ=p"[͖?W~zud9,Z SC ԝ$g-t0UL'tNW.FjqEe&Vs,8^\e^V'_X\r?L:pBdX0tnsd^/#~!=x0_T/ᒜX@<{Io_/e1|6h-4'ٗiY=F*"_B=^o$dgA'paAyoZv)/)!|򉀉=d {hPYb{POY  GZ]\b Mo16]y![,\_HAA|u3!%c::r(Ed;ܡ[ ya¿voS5R u[* Rq\CLl3EQL~ Zd<泲.wQ]#MeJ9*qr]:/}Pޜ)T߰&I턳3 Gtg h(۹ eS'" ʄoM:L[,ٿS}EGHdkZ8[Z խ Q0z]hg6:2 !4RZ4Hab~/ ˅-Sgk!kYݓo߬ ߠϿ#(rP*? NTEX̣ScL\R+P2tpg6Xx$5TaK&amԲ&V󛂉 T9dY}eY?հB"1gTOPA'M1 d8:BWxqZo=3lP3 n/uOrSҕKaν`SV d8T$T gznk{]_ Z,|&{Gt^aO u~ڻ;ڵ59]ֱğ:5sbYs4p5)Eùo9ra> ū38YprIK#ѿ/_E1I?r1!+1Bt/=`MA"J[±MhUX]$vH[uHdNLY _Dcl1ʣ.\{d~989%=o7? e v%CŅE<1ٷBgIU`38 NL9j\x0ӗyо:?]Ne MuJqT^hg(kjc&K! em !-%J_*齡i<$wڈ#&= 6R_MNy?>OVk#ܼ9-8т=|"J 3 Pv&3[79e)/S dQ <>aW UAPLz*F_r]P j?vyP}^jy`<|(+ACyG2P_2Y> gl<)o1"e.6PHFfe9C5*WY>1YE]}57V4M{y? '#U4tGtv̷_@ěӦsR5(YtĒԓd8:{*DO !c!fuv|Y EI5 /> 2M{asJy}6abՈ'&}BK}9Ż>S큫0 قŠ#<}kaԏ4)|lnb }W o5oDӛk|ɢ|nmxgP*Y1C}ʘd\9u ӡdd$W 7,Hc[%mސbOv?%^ w"mnn7CʚDR,trFwA,wvz.P~SP$>Ɵ|5>>c>$\p-烊:iB&?@ψ@Q 4dW/ paj xsDm ?X,l+;lݦfZ:dǏ~M;&@6*&9ҹmT& oX|) ɸ6Fg9cM'~xw-ej,>PAQ '9q au ):.i@xubŷ;Fef.h5RelutA6a>0ȸaYׂ@A'*Ot0Ϫ*Qd4^P\ӕT#qíOQm_KE'jxg}#2[eM&Eڠ&)߆NBlN9OjrE[ZoQU46❻ ^v3(Wɠ" ArNiCגb5+$>^*⽄;H(:1&nW#Kܗ: C:Ex'2)c'-n(r3 jwUKzKJ>1QQ(*I#6 ^10쾛L\irYu#)rGF( Y5=91*KV$ =]ػ{!4o MG3bxujQߡ(ހ؇`Jg{ߡm!_#ߺ-=DSȥu~, PyӶFC oh,e'rJ{CyLeR뛆;0o^iVCQ!Cej|i} dm2huYf&nvr1nxqkH;l -hު%aHHC.'qw(::Em 0n94AP,DH9uu1 YYgBhmR\!Q\64F>bjݻNTה׎k C~m'9nˈv8/3k)@YHiTIsN|iļCrf$h&6Ȏ fm৭LʹE ?' J%2z'f }⯝:UR70JDTosCفȜ3^ %d LW_=*Ոn#J ^Cl`@p̘ŏ[)U>)kU+j21fwefmHŇp1[M{כR@m-_yjcwpd4cɓ"F>|#x?#ws9Ks=se~RƟ"V~ejs(ȲFSdcOJ(ůа a b|CK"?/V(tdCo{/l ŒģڣALQvFzF# `.Vf{=ώK3{>\Hr&6/G#:Jf'f8Ub %ƯGsz;wJjy(V L*B/ZzGVt¦)A=l=*`Y֖Q)YV'(OYWiZ{W|_6ԎL$(7o*1*5<4:) /|Z-,)rJֺtuQ(y$SDq[筗 (f!@#֙I1}U{;`D;e]'r%e[Xc&_ʕǜwO+ƗԵ)5?#4/\kltasKG|Ѭaok(uVNAp^l'.w(;E${UZJ×fӻ9\_4$ #&iUMKU) W(["|qJIۋ!O8;s|NvBct 6Iy`\'0Kz_9Xl"Ty=-=Zmܖ{nk)z?Q&|8]?hw2A`kok"5%Mh7|'^/t%K}o>XwKS؛E*EIQ2Z~诃b| sX`^\!~'͏-Gzbӝ1(ouϕ Oчo 4OZ-EA>`RPv_6חjC`p/X> lo^cEZU0}@L[ EDPpR`l5G ݋K;VmFth՗^/|2 #UZFNjh(&a~!u )m_ߖ@}a"whB@\BK'%R/Ǒv51a, V+Gں `ꨦ/t)"1LTH# QTZspӎ3`El=9I5{"jo!uqf~ripBF8:ۓk4=i;+?{؊ ㊲xd qp$,Mb ɉ!{yFxGBӛt >q>$"Axh>ڱ9CljQb;߁R!, šg 1A u}/Mz4:fE7VI!R6^m߶Cff#&m( 'zlRx 9yٺB3SꂋnƆ?Xd2LX_mw-}IQ+>\"-1J\uC~T!#T xf-b &#|dIbL{wuuZ}3k㙑 Sq]A7w2#.iVɗzԐ[/c]?dE-3f2zG7~ [iZ]zVר8B8ﲔlA$ͦΚ"19ZH]d?w,s} ꇷQ+*k8bVawqJoO"}`4Ĉ"խϕ΍Lt+ G@3|lqvSuɩ@mw1<:gW| TiG-MHFQ<=(fw NMﻯ\࿠ x4VɯՍɉHޢ̥(L> J}}9Jܣ}~6 !Ǩ㮍z_l,qĤ9dU9TL()m.2OP\(Ӟ4C(BV򪸢;8=y7+兏.8EiR:<qȬv>+[jN6[4pٱ՜{njbq3Ip?;tzP? ZOF;xr_ כ1rdh<oCd1pdI'ŚqYRf㩛*XYH wE>rJ(j䓝//vq)],׎g,DprwmV#uRQC]c \lI[E2D d(jѲv2rpzY;Eퟸ9b;ws%Yg4 )U=-ƙ NY@=_ dz %voP.*dJ$D k~遳Dh0+(7u^8DܸUr] MySO$щs˴r% .N;I(> Mm8m$Ny_ W%טP#'U# *t+ɗzJܭE5d"Qp=BT!obS58t[Wˤ 6GMU74/U5\xҞO xƈYi[:԰'&a]%ш- naΰըNy"'%=E C`]'.[$u+ ¡UPn0!:G?dU-B( *o]ǖ@  &Șdrex6VUT2@`AdʽmӺ :J˅ck*%ڸ@_/*J,MEekkM6e9Tq ǜD Ov*l$lL,gzExVBX dg\ė2.TI]&rJ0bOk,'y?]O!b[ؽTXAw|.Ƹ e99gWčc^NN(lz~^G4-D!}SSPF[u.|}c^W+JtOniW3>!Ko5у9eI<"g 9ރ 83~ݡEhţ[K1{Zb$fo{1v D}vorٻ>R"nQ\ d +Σ۩,H(FÔłs ]Ziu;y;"@V@H22=ƥ+qa ,ؘc~hoaW: jWa4JfOiHQw犯yrH>.Teaps`9!i{FvLRd`٪3[s[:f.OYW93>dx']=z8wTm8nYM[` B5N\li_K2pd'q1RgݠdUWL},<CR9(h8@Y7 ^H6Z4L -no tR~*C w"dw>Tӳ _YXbj Q%g|bd^H"CYlLzJ~1fʧlL?zT%+H T=s2էp։}"6bMa$ 9LTzHP$R-6@BU 7ŸSv؉(IKct\Nn.$yaS3 ēQH3\;LHlMf켗Ld~۫ 8)PʲAVJx - Ɖpu}D嬍^Q(O>\=g_p=vY.@PHI 4A+vrRӇatqK$P ZQM78bTi=;@m{ß#tcY  aۖd7{_5ю-^3F 9&[xIk:hu%R.4lx1lbkZ%uxf}~ ,jg~^PNR7rz ZÊ >Uf*ROi牽kChy wmAIfڤMި|Rkz$GmRv<(8W[W#ǟc F>:sr8YE|e5j"0t0q;xn~-4n?U@C)K:tѼtF; Sd1DLƸ-ldyHF0`*gd͸]<2*sVΤm~NUxV!}q(p[zY8B 3-dze.Ţ#ס=lm,=%s"SJ]y#&AD.3OMց-Rூ \/iɚNg?&*w1h6I!ك`E y\/7bZэS"H0wxa?QjHSʁ/N_kt~.}mUzqh8gC*NxiNΣ ܛm$Zf# PUW-59XlH}*U쒉vJIómfˁШ7\ymMy4cH+Vdʴ7zNg%+|p枸id28A5.܄7bz$-*RZ0_[DÉ֜A"扗;s(~[J֟ČYwv=͵%VdBs # R~ף(}}K)wSxCU_@xىԬ. e\`<۴]]n%|0~-јI݇FToy{~q]hkʱцΑ RH#E.t͠Bf{s~B6y5y C=r~ 0\_ ۙ|~чfr % cWU$M(o̟x[O=y̫P-ctӑ<9S= T6s Lj̺O7S>^E!{AϼdVDhOl fwh.98W6F1EUFX^z)xԉӏNبz=yDk*oI׆R/V?ekcRFe\܌j$2fvv%KQHsҝݒoa)믯G@'jSֆhdx,Q(N}qL^$سo\^t0Ŧ8ΜkUPҳƇxƬAMҤ7i>/3 ԾVQ;Rti Й5nWg@8tn?@ׁTR `|۝@y&1՘7GOۦMmnMlPVrEuY# r2c hiӟrC~7.>y&as"CHS<-R՗Ԧvoc:Mw[{<=b_e)E|z}H;v*^2׎}CV}sP$@$Hȏbfއ>;K7t l!EMW>Ա.pԕz ]I}-%7d)o";ܽ#B0h[Y)^ot cxZG nWsE@Fp\JX?LQ$]r!% SC:HpCG Vݣu/ ^J$n2r6d}tg§<w 33 7_a'4ٮ$BnEC "~Gb4D9%Kb]Sqf}. {e7+qMO<8aM{ݱߋ׵ iPuNż3/$f}v ʘ%J5uq5dcp?̚/9_%Wp5Y@*fnFy':[2 7,›J=D4C w}?D@XeO֍$;*/\9/Fg~٩J5AP="em0L;'t@kYAoJxhTӫ$K5Po %h t.O21 MRwU>h'Vuuqǩk %)HTR!b",A#W]/x$sYxdc% FIQ'!\:^qz.}}͝3$*;Zw>MrBPURH~B aԃzFO@@&%sCRA\6/$sIx=jp NVQ K=iMQl߁lMJC~\cɩLDj^U^SCN(gx#z\ڦX%lTH8ҮH!"DI0B^נ4V!z%x U] kui}px4>]Nz0dhqT FH5񽗷5yg K7Gm|͑0euߜC2?GLvu'J,!Bd_>llA^}2~qnJO8D.*WYN r6fNW6t!fLdJ]S\gsƿNLg$ƂC?`q~z߻Im븹>[<>c)] d //pqhέHFUW?X@\FvN|L{AԕbMXd0h8ҹPe?cnoaդX[$b(R 'w rۮɪ[FU*T83uu~7 ?92oh׍> %b>QďWؼ,}T=xbyH%SOQl;$\3>f jQ){ Hc\s@*s@2wSCabz)0)jZH29(s)IkB? 0= fCcUUWvQԏH'bVo^|XFXulHwzX 3x0 G̣1k[uJv7}7R$TL9Bȗz۷$F/ο,Ѕ@]c#,|AtɨhjΛ椹 >Ԃ -Ĭ䍎y%bg%ϋ_KB6@l9CU"o}|-դϙɸ) 6s8{`"!.?y61:UUf]~`NCpPb@]S -nWQeHZϩIOWn=H=#9Lw$g|7S^T jh&;%W5#AEpߵ׫%i",zqL5JJww j[J@Wf<1q9H(jv*@g߽S{UkbߑY+Iy'^TuJUx{axyeI S;ߪBemSsb-UG-q>cOJߏ vp &#ڄ\jpξ57lM(<xMN뾏{d a ld7<.9UƑ9CY2~~ &#p?N*%(*#9nZX[$aIE*UuA}xt5WBE)C3!>("Qqb೯JW:[ /4!%<)ğ@7f+mҡ_8(hpӛrʼ,+,؟3|GWdծK,Y^nu_tz啶zwݗ.kp&<]ۑ"ڋgÕ;~ԁct# ݢR*'o>2T W&@Ul, -,E !2s @~kÕ{q=DV뒟#?h9#}F/MP^d/|0WG䞸{CIyeɋ8xM##A ՈǨ`h<&pCR͠T0mϴ#| 7_ޟVl42/ K7ElS@XUkrڍ$&NTX.~!n)rFs18 ٝACBI(`1˴^Aka 0`o6^|eGMkI+{.CF Wxʾ_Ôk(4Oq! ^߶:T!.ŲKpW$GKvXS0X2dZw=0,n?cY-+!uBEwl;l+)Vh j-#POĎh& ϰtG6jSG[2dOXQc59IT2˲ .͏)mpӍpNd#bYwn(\JfR 'w)~7CWn%!m'x٧$ҀőOACbN?XZ9ĪC}>vM(X$f#׎:ˢ,=^) xQ{`4f?}KD=G- 08fJe `|wsJ6n:.`J_WH1doBcenX:6r0Zs M(Yv)WBXA(fM=R ڏjY~nrhCo L0\^/Tّ+o啹b/@MN0^gL& \e7JGʤGT< %znCn niA |Ӄ ^I܈ty]g`xJsL  A%Q`┧v-*)I>MEO4_CƓ'Fn vC!*$]72T-0V ոDžq#lD#Gt2ȽNVE@JcNrs4>I3f+ Kݿθ|,z|<8E\Aۗ7Ih' 0{4KE[j)ӓV)Lm*,P'T-D@@M22T]y?cPYe zX(< GR?@yhT<bsc|`&#̈́Ce%p1q$?_╛^zb^Ra0_-CX"JufS!` }CDC)Zhi֥03QkB4zT8 k#;@nE95" ;qtJf.7A˃2 >=~oUyvVkC x6]b~oGH_$e g!Wmx >8P\7ЅGCvfdߔܫ9$6qE ~$<ܬa yU b H(;ۣBܪ?$M;*jzUK~X׋ĄQ?S_0A}qbƁmdtfUڅ9/N?Q?BIdU߶R=ۻHY݅{/M jWOP5Bj^_O9P6~cunCk!efڹ烫(&]?@-_뀓}c1#oȩYd.V/=>'M%jTdwF#<YRqfsZ{؛_"i8q ϭ~kWL$`=ݔ:y2gy.> E $T{r9n, o~4`%#-zrn$0toa%'[li)1Ҽ5X ,1+4)3$sd|u?`~ T<8޷s! gAOn Ž#F51Pz:DCMXXۿs$ xoMMC&w13iЦ0W}_n-e }.̪hc3C_:ŪQ['y-qm4f~]| r T~A)c#8<V`l4 ӛ/[dHȦS"a'/L_ɰg$o }Ǿ=>T&Xg26?0,VhQޱ`ru ;I-hVn/[D=ӁMJ1a`%M>19YC_XN"o./vTi t*j?9R,wZ9Fԋ\)IۚXo`W޻:pZ ]LL%aR!%2w;9%/z&n凮YpHޫ Osi/9*\|\nQ1<13RG>ﹺL֦6^cI;=Od3*5f=s9&B$5}=o"`$9U ,L!? ` Kd{_-p0yhiAZϺ0BY_fJ%])}dGZ-R-[kP@/ Fl>y\]TR<% '{q /VS[OaM3UQ^KXj;J&( )JҸN\AjY9&cp\]l+<7>JHv_S#uCsѽ:qRlVxI?74џa0_Nတ;/[aU=vփu mFLɃKhRS)@3@NŤr9Ԁ-!y~NUDB I2 _HبƳ_K&r tu~</@l>bQdPM Jp2D*{+=Q%`108 cO%vr5J]GsްLD~2%bz3ߋ/xs]BXg!Mp3g G)RHKxMUpO+P~C,@n,ɺXbXI9ť:-7t`[;Ϯn~뾀)gB/)N5z-kDįe ƶXQp4:nefuuɿFQ+A#Q}'cV%;xEl?3"QB,aUb&=#rN ]U߳baՆ.M0B [cԧ`~#%ʟm7 m3BD.2Ys~Om!9/շvM}|7_H+ M[Qr~WMM q=;K}A}ͰfKxr&9:Z܇ ;aVשE@2%)>Z@ˡHmgFO ^`ϼNݵUF-Nt< 9HzA+e$p=b^b:)0 0%fF3?mBRA^n!a\ V^SVqJvϲ gWVQZZe=;Ѓh*-ws\4q׵\ i$teRπ kb1v\N%Y>Q\Xko"+ڲ#2bYń{t[o1r~]؅sɌj}ɇ`ՒfA |՛>!+ۜBwAd,ߵ3*0-?99b=`>ǡ246Y,ć3UgdJlj~ +C݂0PU_ʰ! 5?qjo0{y*N!_!jDɏ1+VVyiv]<ӂ{Oo klYo;-TZ'8[N9OƤVϯ,7ʮkgJdꅭH (SdW|wǺĖ]-3F &DJy\[̤T$M7vGo^]q#\.f] ߀QR5z `p)ܞE*˖]5Qo?njXMr,KĒRvcICp5,Yi].2 \Q` \9%B.e83 fGYM >P:2".pD[yW$kH[}7'e}ReL9+?:LHxb-Mn9M hH%wnP]sDdODvBiKqt[BQ p 'H _TWEWI@۱cL;Iwaobܙ)9iya堯C"Hէ14l yʽ&t3gDm M܄4ֱ LAhCNlM֣<"> 9}~p2L|;AD? {?Ês 7u_T-:ϗh9??jEVyĔ 'V0s7O4cc_yQ}i?'cEP,M"&h7I7h=GC!  Y¼(?Ŋ<\Itߵ ө(^ˋ2 քi݆WH__tp>;ΠS6mdL9QuѓDnLz0yt\&5F;9mYOkva7\s̫i65Lbo7r`!*D{Xi 5@ea_ehUT n[%YD!$LVimR)ͿOYLO.$~L`%s(*|Yb#'*`6iE, eAgbkFK,8 `0™.9nLE,| h[§Ů_ެ+>| YDt*EӁ';-tUbTCMH <fCF9A=~( 3ߢ`Fj**@dX۩&5 PCHH?] 6f$ױN?^ѹ/Iǁt3yxX@zkJ^;7ϸjf֠6ûX(a}VamM+O .gI ײVyZe#7Hliq#Tg+xGb;QkGGOcXhu tYꥨIP bww!T5 룺`I*ކ1z2KےRZ53TZ kf#[Q 7'a3Sy O i5[-:D!#V&zY*ڬzcɥQm>`fr |O=Ľ`3K8M!d+vUOǦKԏO6s+#lzH ^As3bmRJ`? sd ֡b.JJ,jayrC3dVi Y|a8 .XVT*мxaGYO@hkUhK[x^{q]ugIbbpo:!: CnkFj@@ PY)5[zx!բD#_Eg8d!b#`#_wǡŶw@eޜVI.{̺z]gFTeKe%9Fĺzo}ݱɽ[c|^\Pa.TfĂUPm |Q%"C~ti=э8r240'˾(Sߵ-qw4\bkL!'렦8,XU/\h[Ku VP"3e׺*G075VJKǵط 'ܸ;!XZv1[!smkp.F b4S 5nE|w_Y"Z o{óI@`4wv3ڦ 9Ɛ8Kw(9)k6$x< GO׮Xoy#iQNyJ@+e]B೙o1j瞷=R-uG#cs&v#8WI9*8Ed HV=1LVV}ou1Ïa1W{6e;/Vi` [Zw^MlCI̊2 hPL=Ȣ.u2]=*:t!e-N,1}*yʴY5PkAR[|?R֜7cU=/3{EsOҸV!?;;q؄k\B|[fՇ8<Ǽ;)sP4b_q`sH/K*Gjc bA2C[]VYqd¤СlKaf2!G>t!HcD:|~[*sMOe>q-t{mъE"wӛb yջ2y>b{' ]nM- GcyӔs (T?E0 K)nGUxfsQ]7XO6  +E͏ѿw4GT0,מmY}uG6G^jhһ4\EAK_Vń5?dCC$;F^ <" =^Q2W! v\EosF+6QU!p |iH"Ӥ cZYlLu.*ޭMSt~g%qPnRttV?g_QF=%.)]>)D}3[7nE>Pyp5/jjTW}_˒wG^h+_yp88H]]\ kE:}1FKpl %tգ6J%d]/_H;SgBS]M9aXoQߦgCCsIѧעRA}%ppYCJZP Z"BٽLz2P,pR1ӵ̛heGCT"/ɠ;:N_w 94ď(zXb5dv؛r5/rk13ٞh<;mb49926Kc_eᙨb7̰.Lş`*H GE)iwQ -{j#AwpNH׼{~$dj&.(7{8RZPL_TS^ԉ*;dt쿯facp Ʒ\$zMÌZHq&WaTpSxBO֚o0+8uq g~阄J[9,G8EOylViH5ƍ& "qM;!Ħ5I%s_hەaa8`N9cB7H9`-(OJZH~;uy3@jL=CچYF`eSO>WA5>\4^v6^. `2.wǧ43x.R r0؋2GwpXu6a0mٍ⁣m,zo(|NBʑC15q#]Xjhq~[0`ûMVn0ШYLHbظy޽`.)y205?N=iM!2d08*M[jE|[U_kϦ{0ehJ3<F'þ+Ôl?0J~W[[m}$C(^]kGrf]2aD̰ 5k-$ksDX A#jUhc9~.b|dbf/]/9Y ~]QKSstp * 8CjJ3y`>SFHFK?B+~}K99szC\_WwgҴV YQ4+ʹ&b @UhJ̃},BғS~rYˇbT Z x@zUC楁MeC&U} B([4emT})Bҷd)cї\[gC1Rˇr ӕؕvU̜Ya]bdm)RP UYѹVmx#;.R)J"QyAk*9<+ R5w͈;;3͗9bC[_B.6ѩ}L:i\lebN-e FQZv!t}%}ӃC~{} Zzw,yGyh,;F;G_! p샯 y_Jc{N_K]Ƃk]T>茭̄_0WDdA;ÕVJ % ܉;^|2! 26E"`藴;w~(z{a8a܈b#+zR4 `rMt~u/p!Kk{Giފ0 .^P{?=g`C^9ffAJ ~U8A[cw:4 ځO#|b|@/ioú{qMX:v%Ct x^Stۥ{^>A_[ D7CةUtIT_;KϊRr ի]ُg"t"sX_(:/Xs"~{>*xz;οulB} j>ނ-8`0Xh/m{DoΌZ/QX,IZó |~@Dk?zNlt 4C5xӧ5C\o?lKC1 HmDHݏ8G-Ħr:ڒDf HS97U! "cQyy(ЈO䅎$y a/ pZOt)G^M1D)\ x6z^dأwrû'腚0 hHGnuk]߄/{aʓ`m.LM5+Vmgx[wM]q3v-SqQ#0s]INd#dOx$WВԸOQishrr^ ][51C3vm[Wq#lͺ,#Jg .K,r?}CM!H5 )_ѠLِ16=֢MYtbV Ttqx0un[B৲ԴDA$Qhs_L2E"#bNϭ8WiA΄m|2mL3]JqqgiC %S{9|_vRSh]?_f- s'1&>yvI}qvhUU]%&nAK6(™a)ߞE5oN\-oʟiA Ɔ#aU2:R4`f,<2{79F}!)YsQP[TM#IBۙ`zc]Nhx)ˌX `0M #h"If3^#[?}Av kZ.N@k\=|_+@ O L`5}$[1e|}R-={K+E3A`:[9QOveUyuMJqbQ[ uy;Hj8UG.C/I8+5 )#<0u]F8u|L6"_AH;P^.iG߶̀V!A"1:40ggҀz|VDƂӭ/ .  5"鳩TVGF%p{d?ZQ k7 *|rK|[EIDFmud1׺_wΉzu{UA>|rgz#+ '`g }a4o-Zrz.> H8omLKlΕ2W34t6̉s_C~KX¢0jj7&:pn:ATQK~'!fRfOdAT9-k6lFBܤRlPو9QK^L8^b9WKne"~ULxȗ|ON,=Ѻy,Vw|0z}|-/R@׿Q|n s"P:AشgVr~닟s:f\an+euqQ];5\ݕ_t83`a2)'I׾k| ~9[~-Z?qdFGi `z P/For֓-(0 tz*wQlFx[PJ"rPui%-8RUizB#yfM $ഥ/Æf=dB9o/Q&&哐h+G6inw0uZ* UYvWKĮ*-_hC |^3q\QGfSeo+מQ^EgEs@2aUz iy'zV;s^߰U"5jﲣ(&"$½ T եO3/Ep<\OqZ(JW8~ eDb @> t Sg=vYl6,ez;Bz@@!Vƻ* wc6`'eYd+ʺ~}e==DNu~D >i5:O(O?N[B)i^5(P0 H- IW(z{Vω}ra gT'ۇ8.Oo8"x\!|Q8Znc >[LXg|s{CTT]tkѨT'˽LnEh,ytqLM6 p qlV =HA$999[:eut: M穝gdr\i:$kgY)f|l4hˬ>w:׆oyTYj)^+~@ ?] Gp#z^ ;Q;J yQ 7jnLlV: 9+Vُ_~^QI>~Q܈{9G}+Ri"LCA̦Y[dtel)IX9FiOq}R'}R:N U 3 ,Wk2ʭ뚞帗n$AlI.br>꓆VYn˫po&` ^lǼǒ,!'_?l-#̲Ve*>ְJ5TTVG2åu߳|9i`XAtA7 c/S֜Y'9Zߺ mTb.ڛ1.t]I}gjh뮨 enH ߔ0r$pTv:廔u?j,ípᐱ{tCf|g(4J&A0E0R1U0RSZiqDm׻$gC nsI BZ<ɷ{Xv'P_rR<2uh՜F,{ޫQ* g/[׵hM>涮YL(|YG5Q82I ϑuᩩDhY$;Bn,IjHN5ЦÂLfdq~rd,upA$\P"Qȇؤѯ/V->9 BZfA* #l~hM[ ׇ [Kf`?'F*s}EEmHU#Rho^&mzL27lG%z>7N/xT'ؿn=YnGiQ$K> hQriRyOkf[i6]# :@v%.")]sgcȜG_:U'F.uP9 ~^ v(̤g4chw$T{uY4-2@Azo )LzC1sHwׄ1wT THa !ɽZH]L` _/P_dM03Qt?B5elzn k,Vꕖ!dYa$uqfP/-~B53eOJd [Qʾ,-W,£og7d$D(tB&`+`?R&&ms`/5 ,TkbC%z0CX90#H~#* ^Z&En3!XfMձޮ&l6Khq(n~"/g( Y]Z@'T(6+ YhM֯w**A6b fXX.ܪb{#7cZ\Lk(`QIV<w)Z9*:4Py2muHSb(fi(w0mt[M<ʰGkn @ݧ55gC\NpHeKΙ=Tej|_!-]>D~|f95ҥM9R5 Zޖ!ޑs?Lh[Hƛ~}sWX#4f[S;=)P_{/ pDm' vy8m.xt<j*{$&5BniVdrR{'_T}H Nr44y\^q*XoTԚ\.>I]K^%k*ߖlrOUbߧT|쬲OzSZ3c-30=A<~ϡlsX)\/sj&i￷^ar>[G֪i-2w|ƒ-f+WR,^ykB<he!t>R{̭;E P!`V>sOIbLUiꐡe*j%\`{zz&!mqԃ H~ce@a)ʃl4*@ ŝaPE52OPPD/L(awvj;#Nvy^G(y^K_!|/z۫ތϛSx82BXIvwu9]e3'D 5eB Sji)C?br/{!븀 :>KcȖJ9_y`GDDka;4ޖԙېyݐ,q˯nBz^<'E}޽;| [|W5,0_rg- ߗ"[h ݲȤqt t/nb0Z:WQo*E:%rTXXdfƳw {1sPS6*<1z"QJ>3ɌkLshXP2r;;ڿ-w9n-ڲ )9\B"ڰ2ޡѠDNU4c0PkuCT2ͬDIBiv҇N h!|t[J~ 1iFDLx>C۫vOH nP$d޽mjS?<T){ gr@R|͏!+r8@:@q^\s=5d Fa>EK T{L@4K4zO%y9bYc3 &>[#%۸չ!3D*269]jk;Ul8}} ͭ~ 6H0#زHL$S BG?jDg Vdg>(h|/\V əJ.Jn)bZ`j69䏤c3S)(Orݻt%_%ͷyS>j`2kU^4b]!h:8`8RuT- ! ,4d5JOReB֨N'_?i}%CAǦ(#쏠f]UL_zl:qVNo3 d> 0xX#!~>5AfByv&:vP^ٻb'~z3kJ aphqJ/g~;gb|eoZlH4GtGcF˺oN dikyM^۔YMtlq$/6qT FI?G2%=T,zTiz휙fH;NF%LM VmG>|Ζ@5Cx_NêXWύ牄Jp+򫋳N67{f9B"~lmh^1o0殄9~gw܇ەS@rڜ4S9>$-LGX}!ђ qJ@RÌ/NC,0ߝfx*;)~81r1o.Fi ?P])􍖹v_O{ɫ:+M2UhTG%at81.,6&Xem;q~vgM-`$+-vt qMU]"yLӆ\狑RKX(L!َ2? Mt1 A|ӳV egK*R g qq&5-go2 ?y5Lu02UřeN֞h7]/r_b __WАE/gÝ)h32 {ыH~[ug Y;:y]:u$'/7fBhGfvC3e쇀1-]]p]f<)ĘOOA`tO`Jx;נJLhMQ0h.J {#?~'Ci?bHU q;;"9+Y !GsڕHBrj+ Lx/*,6nZPJ$7ЯȫfJιC{bha423NsZ CxdG.:L4!P = g6Q}qK|B#SKWꡤvP1? <#\jo>q^@z9}4G՗]4Mc%j JTZ !H*: ҷ9:HZCbuvA]SvŢ/!Za9aGM"ՃEW&~n5@6rvφ 9Q8^=r̿| \ a=+/8{n<~ uu x[(?_Z\~2SB $J1K˳엞i6_n@4OzPŸ/9F}϶߽Z>ecv!7&ђW(cv]Oazp SEו|~^eHW)PCbWxDsIZ/ItyxRYrD#LbTE"A̡=ڼSˍđ)5rg}^}.e[Fwd8ckfiQ\ :B!` w8y$RHt $@3fX\8RɓMc[{Q:%4 r1~)֭/]aڞq0C ohͯ նD'Vc׉ѓLe?Z !eLz!y#{b=m8aI{c>~k3.Ĕ-& cpJ(˳¼䩜  QVǷb]K޴~(Hx3Zq=O_"IM(7Nb8fȎnCd=b |YC$>d+wio]ʱ<Q=^hʅ)4]i~cmOT,Z’wcF0o@f)hC7n F" ^PoKݢ7fâj: zSͣ2uL,λi=#Cvjo=ez^\IC}-,Xm=a>lZX)A)Y۽7F7=uڂI;~[ˇF kƂ@Ʌ+0Tq 8v s0\d;M"m"Yy X!PlRDGȷ >5T(RL70|j-C-ѣL6sJ$8b0Qlu'QG'^ ѵ"/Nljpm3},j#ђy1a W-cb\[Q̯q__6>3+˿f}9#/}}7o:.ƒ\\г3,O)h[7^lx,k!qPRx ˇy .VO+n~)(kI[8y$ C9i׬׼Խ+4["WGUI`~` -AYCDPzݕC9+TL8?%77oΌtNc"?CQ( oĴ}> 28I޼6w d[&¬K5n,?L0eq`/*@>rڝmD1)<ڙp]YR0qDL]p'A!9$'+kp%waH퇰pIUMo`D IwֆMMo$vO#<;WYo.U]Fd";P󮠆z))s{JDs?C#@'? _F=9oVkσx;y D#"E&ISXIAV+&[E6'G3 {q! =x=lD'ld r˯/(vk'`ԁ_wRjPA"PHp{hΫI&Y|E 72kRbn"0\T2e{ķh*߿ȸ*+(=F'QZaF*$q@yU~?e0@l^$nb`0 x=mFc쬝C"B.F*ǖE p vfvKooK!ggЙV" rvǃ}NNы՗ϘkX]No<ޮ䉅?l%gMB~5Irᩏ,PL&Ku_yvGP"!4=!1HIdookCZ"Ҕ!`v!g_.5-o&!m^6_V"-/$WGvt& MAn)O x}[@.*m z5]!}lzWi搛. 6T?I38k)y]E!`u¤X"!h?;m^f4"ߢU>q3 B X3Nug\==R Fko {t9Lb?)n1+4oBRw9V[5E_%/㚛 /d2B9xͫKmYDb|,0}phXJhc#,/2:򷚨@])0.obFӭeG!fbEYa٤qmR`W1m !_aWr1"=4 j9n/Į_V~ TrW*0ypRDUQ<|3ʽ;,%}>k C]=>W4Aษǡ'—9)_9} wX=9RɋgFvf/g/'ek|OsԯTgy硂}LvX=udK**uYseA8t<Ձ)_k?H sGYVCQYԶw~]χ,Yr?PfG(m.5nﻻ,˙$!.C?C8 z.m9Vއ ]rݍL HYS$,cXX uZ\e‚/dVoY71t|WHc~( ~sxOC0[|}/.w**$M+<(մV+ڼ@ubzН5e,.m4BS|c$ dsj|Lb%7i,QIe@'8'$b*3SI8c(M&p‰^(tɩEǐ HS|H2[gRjo-kX`RQxלA <xrVEax8̠p>vMuKE@ŗߧ8*lh; pV>_۫8N)5Sj:#ґWz\;ve`T$^ءUZCQioD-;Be7suFהeZ븪>'#}:?seOxoѧDgl켯&.0 P f K'x~e#wL'eYڏEv/wԇY}q:neFvFƆHj}gkFw@z4. BP = Ȍ(T<WDQGg Гϕj@?a:X;9u7o x/ eY(g "Ҫ{Xr&\$^#kDl0c?8/2v17a$n޺sJ5{%Ɒ}ߤ_|ߡyQR= DQ(//=&q}77>*^vR߉ãub(y D9⾇} l_?~ /yĒk_ٛ[?~Cwʦ7d2X"!?HȚ5H)K9f4(spROA T':,;73񈷜OrFqUGnA`J&^|KDgzKT򧨃 t xJ{׮MJ=v9!ry>s Ni8 y*l<8Xo^G즞D{ )q؍fS^IRWP}$>$OCԓ3h$=b-9~8wzMPsJ_4!#[uD\:0se ~IV&ؕl/M@`SqY~ 2c΍? o є]+a sd-@] tigk\uq"6 3TLэn2$pȬdž:r/%X0\"Py *u=HQ|ve~9U]Q<+`!;k[H28FA59/ gǿ:AMs(jGt}UCa I( Jao$9zB +g5ʉJPDR5ɗ[۞GohPϿpǺ/;o4 t׬i_ k&CGb/TQ4gvVHmϙכ8()'B[%Z&DaKʻCO)d ^{:H"~d$J-S[Ȅa&~P:Lo{mR!Cx}<6);dC]Iiqh#b[WNF1kOsP{CVa?-܁v~ b4v~wv|4Vfb3 tY3}?Nd. . 7GY񗤊C=6=K~sb@z-cBAyo3yZ'y&6 1?Sm OoO鬳lU,KVu .y֠0АCcB1u:L[p2JnSC/U Đgf[ۢ~hk"םN W\OI<+y&09!8H,|S_lH)9-؃g{H@^7SIi,h*Vu 06FىZh| ;Ỳ)X'ܞH-~k""I]5ݒe['wcl2bTyhFVIx >~ט:8: <6ws?GGMf+}>e RҳCU\Jqw'D{)ڻPz ,e_+eP|Dw#~Hf|, zdn'B/I=xqMz}{0%";3΀̋+P})xq'iJL< v 65Q8EY΄Ky_k|4?BDaO e,/& -Zb1Wq\Ȝ]XĴ·q ^T1ޞSlk?-]E'_@-=;^zЁ'ݣequڰ,9mU#B=D}gó5eϠT=>"v^UCǩx~j!8ۚAk5?NVv{qXQC /] %IYH!v"z̷9A@0ns"$Ie1LYKP0~󌩮;㯲}`\XߞWn[gXvXPGHa*-x@*rS;(k4,_E"W)TK+N^ |[M/xv2 H#;[%ʊ_}<{' YsVa<2>Q} 3I;B.:0/bsM_C-azn\\fmYĈ&ߙa=vSfm!jK tJ{wGo5ɩP2.ɋLo n!IFʈh0[1@8'ƬGe֠=j﫚ӓfTb(Ovиφv\h{;I䯝WG>90A&f,j q_5bT 2Y65H ön$~]D!0:\e 4Gf=X;>kej!gy7PH疽a>Q/ind6>fDW=o,_s%BIee_[&ͽdN'7#tAT(gM% [ll^"Ԓ4i\xƈQ~$1-M'-H`#*!G7 ٰBT݃Ek9 Yky̫u{WjNj}NRKCm+l,MuǛxIv)pun34Ir=:Nץ4: CN69cH@Fs; cy7sd U5qꪗ#$wM)-v+ۛ-.QE!DA8@e'u#OR #1OԨp@sGeթm<9<|Lt0,:qu|,L=P̿,&S%wabR5RҰJ8f(DѩBmX [JD}v ^@i92;ᅫ)uO̻iOb׋/H|wMO|-Ǜ4ihֲC'Qҕ-P~U9TeXZ6ӟjo->҂ !/Em ̯m4dh?~Ӓb@y}ϔ|j .i9,I YTOpkj lsS!(842=_!=)s]v [#-BCf1hW07 c}ZG?c谯wi.M čMSm!;}ďkjJ͋fdY "X'Z2JIK'5~Rq3Z<Q%᭱#Ay-(ZLx {,yկ^~o$R ? :acp02{&@\=$V#Q_IDDgV[0di,3 dsL2b4q}_aD(|Di{ Im @~2)*`T>:vxu3xqF Ť.!Ţ\Ќy µ{_rbX_|<>wng,??CobjeR]HϯЙ{}Swb5|/=$gBP/[e HhH~gtTj _p/ޘe¢&7Befy< Mc6po7ѻQ M|?ٚ~w *n!\}R' s- E嘗vM:?DJW%-Tp.Vwͬ=ҖܬW%50 mQ#V 6Ǝp#Tyƥ&Po_ݱ#(WXqUüE0Y1O]Diyk^88\#QSBrI\ܺB8/?e3wl[+&"U;t" {7AD|IෘTDs31otER{q콵5߽St:L r#zNymE['cEd| UPr&"n+hz}LPCo U{~Xm9cb:xc p8.#b]bΑu<μKg?^ٚ{q:)`4H_%p*}҇8/*%l.y 6'%C~Cn^MbGopސbXCQdEsz "KD\6#\l57_az9Y Y/b7W$}=|;m8I&' =0%iFN>2Uu^fޒuŜJDe~vفJKyY.'o>)]P}s\C2 b4YX`>0PhR4}SA4)PqKI6} {[=10'{K}ˠ{:ְHʆه5Qӊ yتe;ghdx蹰{5;W+inf dUAHdL r"~d=[#T轻{^<}1 0Zv:LFq CP$ ZɹDybdaS^@\|] #r%ӑ){FLI{{0|. B-c5+`3&AWnB(dbnmuV^8=웷=㷥d}]g#zc\_4k^9WOt'K?Pa~L60AU7sL<ئ8[XiDY8܃^Fqjdlu8me[L/5}3SY_^}~LzI]xY0)O6jU"~\)j:gپu߀;"{gT&ѧa'YS~T}r%>|wf%8$* H\EJK\`>5Il2x*؉7!΂Yp}LVXܵ}6rÖm6CTѽIbn] `q\؉G(bm[|/%ARjj<3|.$;]13rcHrWkrà5geP*#'sqD7*,ur=gq Bf< 8w[3Ux";:7Z֗¢P3|NNQ|xZAeG4ǿStNm6>pJU ?a@ZB~:RJ ?rxDx|&w.EekLn65~C$%ӛEo <NԱڪdzdRL5~#BjKr~MCeZ)w 3j@>iWLy \{4rMl.uN mSoF4X`t6"aS{lHD<Y :k^.{uM<#B^bic*2kv݌*O5k?n&ܟ1=ug:O+q@,Е } BY USIՏ{wkߎ]|yXw.lZK^n/ HWԼuJ.hmY,#мPQ@&^Qx{=KEȪXs\C=i?ҵ=< ;JK: XJ`v< l2p Oū,Jm:#Z] seM2F=WMb?b"_j'a9o|ħy{`y+d: /ޫNWty7 z% pvQpJ[iK@6c2 l yaQgu7,W`K(8Hjަ45Nw'ܫG1mYQ 8}!K(\S$ܒ*mZlQW۟ytcRyDhlcwg-`+i}ru8nh_S +K8쳳Vi$w/J|πpQxcQ;3ft9^F2G#ݢO%ͭ]'`giβ.?lO:Epa63+CpkT-+UC|;a'ިnTCk^Υ@+M(-JCQWX7-y⟑qyS;5kK::[Ν)}0l236U#gy'79H xՔtE9SyV; =| 8u+t4C+{m=6D:u령VP?(+s2+fA9a$XOeso=n'E"4qѓo鉧G\-9Z=2z\39O&ge_YpSZIDG@;0 #SbBݵ16;w,@H+H>&˪R赥W޴]I,K:097{_WH>J /vK8{z\΅O5)3i̪99>bA;zHȲF65۟wwGRG"ҠidzV<1A/L`uBJ,GmR6#WԺ,\zP{SQn(a6M7̓${|pZm vID# F}w=)He7I|ac,GPΕ9|`{Sp2] ebHw`SwꚁkwSK`KN YCc; qXwUqQƐט0v;D G*o{gкy qn{O&w 5fsH5&fz:Σ*! .琅ѢR'yǮ8N "˺'=n!6`q4G#C]h2*i[6y3k#8x:QT:[qWt}P13CS T\@;Ϗ,£ûE1B%# 4CW КR;8d 6TwI+׹wĔ+ XdL 7)s67ͫXD)/KZ !*6=R{RNLT "–ǀ6m _+oHԥjtj*O> O*Ij?*ND¥ikFl(zU[59;R*ByʣHYU?=WQC#͵|`ޖ17хumXPМj$~dc?1ȃ+ `%{U̬w&|t$8Ze*?WK+cٕZmu+>&:`=_;|l }ӨOnx ?*H^!e{>'6aNjl-ؚ]aԑ.0ύ+ *l>;w2 wb&Cri!ey-W֏T$8 ]p/1+*^$ɽj~ )BYl{l,F7~?yGgݯ..2?:^fUQ.B[ZnOw,?Uœ0ů*GWP 4/O=r!lf?oF?rhfJ?{p_p/I@(C_}sY?g/x{?4 (JS4Cs(W݉?7 ݝ/pQVL|?4s%Oi~{]dn1꯬.lu`p/IQx~ #3͠ПqWN??I~߷Cgr|A/3ȿ $C< ?4g~?`σ_G 8M_NH#š?g3IٌA@Hbco}4ߖSWo&?Zs_8Ŀ9S0uU/S/70L(}ןI#ߠ?%~C #yqi~_>ٿXW~~ˉz*՟?_F q7N_x~!}w(߽FaB1{:oz_S'DzvOdeBO'?s#3'(oI~~C$DY݂LBW)c _Fȟ t/31ϸ "N[y$h+b.ӿ<~-?n8<y NYZAXwWmYD?UgTY~4L:#3? u<__I/#?'W#6AI/#b_f鵆? Bgt?鍟z+TK]sGM)?YLjPk %ȗ6F_ʿ4kFic_?FDuT guju&rwfR~S'~,iW5`gqf ,پSS?eٿ7߭Viot⯈WkSK5wKWĿ[ΊL9# cn"Y0,cI15p7dc9y\~K>o 3cYcK Q#~;у-R~͛eCΔCuq3CX&e dKz7Y4ypX~QB05}dߓːHo$H֚k| h˼\rq^}[Ē2o1l״Ҟ G1r܉~zS:հ k#%bwAz!6'  }0h)שR`F8p3+{zԋtX!;1<ӡSDgn8`ɓ-bTtZ~-.|<^,[ &6c9>yHnwUQn"OXON$І-r )}y"mW&%:{J%,W,ACzz1ԗ_A4}};y Ni3K"yU,Ҽ{Bw7uF|V(z޿q"ʜV;"4ӈo8cw #^֍C,.=bcf 7SF7d(4f,3{)U,R8k))fy&Lmyí0b _wrt6H ;Kٻ<ی҇!˳DCd^laMOM7l=|(%V)acD goXep(ۡDe"'v1@%!*[:Q+wzqsRoW_.`{6!^[\n=IyǑ$莂Iobl/p"ٜѴ"qY36u:o1N >[c ^.?9VBq|j/o9L {,Sjp0,C_sI*N&Ҥ$̪Z;s>Douw??gؐ,zDOVz-ĕ8c{8[P|A\I6r_C?jGK;5U>qykM!#B,sMJrU\=q T)ky3,ԎJ^} c,ob(8i;) \KﻎFDpRmh DZl[䂓[O^T f-dW71oK !- bSM::!|`󷃄R$82(c˨72Fb€qܲFJ",# L͖Ihri21mmƍ@bUge_ 14n<Ζ ܆ɘ3N/fe¦2i{"IK{-3/Pسy#q "d۬.B &7<5TV25#*f;-vLNKԷ~n̫Z vwfC!{7/0-8SUnbzS"!j} >gmɖRd_U}HZLɥk.[9Oq0$Ovz%cZH+Gi ?$Z߫@)" K΅ c,GW|G_x_ph];i["o-^YЅ[yI] |@1f}opn.C WuLrIY jTt Cù"=m廗1[,b(i}jS u/fHg^eLY+Qg?LP0> qm_SpI- z=)4&|{2Ԟ`|6KfC&l?oaugئl^A Sl sdV0[>CX7.-C8mk[1Zw}) HL9Bg|`Lo,8M/npRg :0-d|\R}b%(wR+#(.%bCf5D4/!G Xߍ,9FB]| QVʳoٱ3_D^b76VYN>E\.[F_ NaBߑ [Oeٖ* V9bm':Kfwwl58d#+%>t3c1<`A_lAt#Ӓ._bwN_(X3U78o5Ù?e+RBC KĞrV˸]6 l@G* ,o %kR8qf7zq/Aڷ-oS/L_uː'qxk&ϓ/K@LroיOc³@Ϛ a0P'bg1?;*|Ey˦-<0FQ\rRSuRj]J*}9ԼE7sn Ryq6u=ucS AɺuЃ)*u.:6}(`?~QVXnhMUF* Ajcq,W^*y?S>i7Flu)b2an[GXGҠeP ډ*rK."@j\j&}E>Aez"\ C1o~f)':ȅ){$#&wJh9/?ULDnX $o8oN䷵hY:Ex#jBF6確C6^_H7!cE cYB^H׌2&־hTK^ ~󎊶'QFq4DA_=k.%R{և=t81|> E|&:h~qcGYA6,ZjAqW[`RWkV)Ԕl2O٠]V E۹tI rюMTe>"omWѨk \(@'WQ$׉^E" S142/vHK}aj"a޺ LOq;&gy\A޵4'سFR{CĐ,ucG&x^ůxJd)Xu艋Z]yC8Pj01<` ,sL"c*V=z^Xt* "e_ %}֭;emY*[,V'}۸ƿ{e ysWnp®t z?rЕc2!M3FߔɁE%X4s.I"zCwuMrGLryoijk`s2@~tU5ng~[eG<.\ &U.9Ef$;=Ȭπ<2ۆ5B_63MGƗk2o)A'{p/kX kJ evHXuiE}t!{r{Z^ D.W q}ءs1)ݩ=^䱜ppc2~.5*b/C\lMzUm<9" h3JCƏzڻB\JM;Ev8T$ ||_o߹{Hz /}ocs lSE9R+W~3kӰe\yki(]"4-@!=#>?/Ʃ'+ߞCZh+1]=EMm{A$ggSqP[H8mn-W0B0tYzλ旵Nm]E*  xNG{))8yғ4.1K (FĩqwA}v6b $S")no>Au@8΄io~GI[?0yB\$K͡ƫi>D|(8tm} >rQdS59$"&-d/|z#^vÛPC-^\ ;qww ?T*tjs#/g`۰ERL6g-(Tn&x՛.3P\XX W/ʹq :rs S|h<aOLqQ_ABL=aBP< |k N?E€ʇ-۠Q.AQ`{&Fv[&Ԣ |llH:{ E)Z:g~lg=Ⱥ*(+UQ(q-jܦ%i8DI p ~{!PH]p NN涰 X,iH#lp` ـs$ƎIŊaWG`n8<|95. )6y`pϗF~w{N=9ho~zx9n 6Nid6΅ g$>~^r9K̞)Aٙ$:^u}`"R!*ѭEQm,L{l}& @%D*Yb6z T q~*~?$ovkz-r0Qgc8VbΓy\4h~tIFKW9`QT>8b`I 6B*,8&ayGe!G(r #u-=OA.0r$2k/2Zx e|M'b)2\c NUu] z[䳻rzˈm{[;ʑzE|4~LK{p"GogLЋf _"O;f]*kȒ>0`10 [G^yzWScp+Gylb1"<\.Lq#o_񟎜m*(uz ̙ccjZRjwVY (Cr.匎;6#3o LsQK EfϕKM<3BU?tiIہI<@R/D~}RKZ6툓g`C ܰ1:.BjF"P>]s2~DԼ%J7r.ӪZˍ#0&J^'-/rAq*hp%~j%H,P5]@˭#/ADyqc&abp7`% /+0JW?Rm rp{&ڈ\chj$S>MXϢ޸k#1~0^s4{a=  {ٗp,BU45YSޤ7]0Bn /PK!π:ҷq4I޾[%0 \zW}Fϥo?©ÓuJ WEK~9n`eCL+؛eݗ @;ۻ6^تN3fxFI˜H0׊ž~zZMpDG um}" sEzIll&)Nϸh Q$*E Z,Vgk7 9 *L|d5!,kx- [y˟4gXD\Ff>IG>04%96|=Ež&.^Nh)x n f x|őZ›h6q"<% YVUFIJ{JEd2~&ףovU 0?FՂwN|{߰5&E);%Ru2\T3 Z|ý)+LK ˆ.(tSD)a>;?Kٵ{+EFa"tO*?m|$`6}PC ӷ)`n5]%GnG}zd#!iL  T4_2Z-E&0Zb^D9.,g-R7n4)`)r3r ?};(Kgp؟!3-sc+F ܖ$GP@z~]R¤]l,X  8`>rs+2N8W0A;0䬴PJIgpR(`n1.ԽBIĘ-wV *~ЀF6Rqk>^1~5 Pz6!F9t]zW}VP6 Npr*CZ;gzf宝$`Fn c[O3՟8A^'LFzoz6m(5*$UZYٙm)=x,DַIk"%ࠟJ2rmJvAMs^ԛ,FiDxEGGr+ *So.,3\ |ȠۡfnB 9|7f>qSFm4rPUo̐~FߏJ>4(+!^\B^ rv]||RRԉ|*cgu؆w0A~Fʩ/hA@)jNyS/ƦyH7˜@J߹Upp`q-E~lDl_8zIub`N]|){لg$߲ yVX1oL6㯂 }KOy G״@ }/tqͿcw|y Tau|1V2?${ _} c+E{5miJ#l0x'c{(S.k"N $HX]?<MKSa`sOeΊliVřP!/M;UtZ.K|6ft~s;,K>K/n|aWr^isqvvPFl"t.(I"M֟n u /V0WҮ7@dk2f@cI# 1"B@%4 5^J3Vwrsyb|I^SUµ(wO?14p\.5꫋ڥKU3VMٜK ^ҭXHgCƔ֥u^V6{#i[d'ަ92O`PG,/0VbQ8CAy.#9Yr+?l пi[~BhID\DyT*W+?}">?qx,Qw3XYq_>J+)P%l{ aDLZ;̯8`"ut,/0d VNSNJD;VZX8d;My4{K_U{w0){)1g!b|O^( j;L $a WUA۞zwcHI ¹z(~!7~Kx;pS#Ʉ}޳vݱP9BL߇xTnHW 8 `ݽͱVM2kY[,̹-Z9YN;ep [99 LaE4C\,bY"9ir8dY7ۅII?Џu{R_ԇZ `g'} A[{q_r껕=~RN ,`; -W7~ɀŏ+MhWw72& jt)g c" 4(H1;%32ռ(klm9Cq-AK6o;Nc:0Nc>}"zAd C=ϵmɟƟTZPr@O_/% ܧ{6Y\B}Q!&MFYV.,b?m +dN'r&$y]|*δEwOI5§)?JwP'-s p;uT9xWsU CDZQ1xqvE^>&-0 ]rP2ʄ[7P..Shl,C杍 v /|9ю9 i m%SN}q= v9R!]ObeeS4u-.!N^ W1 KUѪ+|M*,bIOU2P'#u/ ?X;|-i|Zy| R4L1o8dJO$W{O\l4.K^xT)H!*{HPXBCq?S#C] j",VJB ik1!9ǥV{_Y!Z%>#~dyHT۾ t-:._]NG|xކ8i'IcFd5<=Zl~,{?JbIi>b.ٶA 6{5`El܉f7^%a66Z$dje.pPP0ǨWL\x& 3^tGM7K2PK3DңL7꘡GS9_p՟UO>-A_RJaW\pMFaZzXLjXўd8b|'?7|Vؾuߍ@a~V]Y]*r_\\wit>uR^pA㵜HEh ۲?T̒0қ`TPpj8~[nGl!BPS不=mrk +|dQϬ'suذY(k}i`Q}5YI^ ӎy,E eSd֞%ݫ*1k  x+pX @̄ fVٿGvTAoy  jB~[u1D}U ~R+09#݅I4!+ą]帘}`+=|g;@\b#){yY% 7S=O >(6F,x\ C?y3ɡ`[; I#J O6ߙJ!yu^/plRj%إ4ȈT8 !_^gK`ReV!/U] !#TMpUzGYgf\?HfԵZL,t/mdߍi =Xf|JӃuQ,zu^_/9͉-ֿtr6@߲|j*V,$%'|}4qdr 9b (")7mh~u@{bdP ^~7#>>o6$?Cxl8k.@FaV蟦T!ρ=*dgs(n+0E0C܊$H_^@_;<ĽbA38Mן?'*]nG ;ndBz;7 MY4sd`x%a NC`>6%9o2uXXi>T[?2dž?MFo'!0Z\\Qth 2duK@l di#Aaqjddaɪ+X _QzQt%7G3~W$ '҉3K[v7yPsK):!f aɺ_/g[y ES6"PrbYF%\%f46q,9 p-!^?}U9/)b$;7+.w G{~<,@$kV6amh/&XOn>ιSCa%f:eT 0ss%q(>jW,*bs>9c9C؆!:}GI[kMIlByuq4N%)m:_sB\wy <z:;YwT<(̨ty=q֢}qGE?f)'HHvpŧWޝVne_L"o {\384L >m*Yd[ ="FfT=X;a5tar^ ()" sgG>=.5WAOO\?ݗt`CqaTc-u^3c镲/ xyorNq}R#Ɛ`p 1T:]SFo=C&+_x,>zmͻy P gu.m{ AoݯBv|2YV\vտ~n6hfޕ.@izq[ v]0̈́O}KV-c CKsO>Ldk%2@8GLU}Cr{/feNwz 7Vga&ǶR?sɳ. IAWY3z:$UzfluN;e0`{'6Wh+@0.X* gJL:#N_Ҭ ywX2x>/82 2}䷴!zLa߭h^Aj??HG ͜tb+mssM.BWL2ZOC AOq 1U@B2Y^bYfPa>/WrFz`YTszT0ΒNeH> &@ N0#gs2zKNQq+]j^ǘUbahV]ҩC׌ɀ[_r(pS t}?ْ6_e٘T^yI՜EGyzm`R ~5Dx5)X_:/8 Z)O~9NÈ.( SzNKztiA_/qQƢb-AFC 4'o\_'>D.uZpҾM2o4}j ~SGۇz:SҶ!3Π %QkNۋҒЭXQ\K>ryroZ".{o^ҐLvɎ*V`S{2DvD LgD?Lg+?SV{i:K4jj( OzUdGfއ)kĮ)nILSOyļ:k4=\}0EW7j%ԔM9R& 5HUrR̃yeȴ9+ISm-"?PIweo$t?au.s\5bx9lRu71r:9ڿ')˅^kvYb5y]m`4)V@i~gƲF>,G*qÜa,FlӾHIxVMKVo[JC>t2<tFV4gX(0 H"6wiT:Bv]MPu^SGCm(cj۱iF>\2MF:u=;sUy5DTj^*߾c#́b*զ UhnWH}*)=Ut؋t ,X ?qÛ2r~˅C1@d@-܅z0w2ٯ^S^^tD)c9͙yzH"gϼP[i,ɂ2u~V WFۼQ̉^8 <3q{ya ?=O-?Gw~Yܽ߾ixg߆yi. @ZU_eGʌwE{ÛJ⾨RqW w10p 0nV}U^Ȫ#8dT_$[LyR]"%ZH}UeIriyd\bG IAዠ͋?H'íNr4/ere0r!)-)zzQ%Zd͉7R<3'Z$lmX*| n>ZJɝb~j\M^h"O\5L;mBARTCȁb'c4 սSp m倒dcu*3U` BZT)V9nɜ_h,; nF1cAv2Y>IU.qb۳T+K &PEꟽUNei*W |^Y(?H{x賓K%rI\IJsb6I~9~! ًL}?|~}ͯ7=<9Ze-`` <,ԍD):/i;d'lsv[ުk1AIIF;耩gcFٯ@b ?c/y\~bN&9jZy/?ݳM ՎChDW _暎?p9!'z/tFϱEa)r0`1E{?Ḯ @O^)oY  $%)P#l7#ygȴAq}De Xx }_?⊀X"[0,}#@wa$^L S}@i7zǣkˆ1INկePX|e[_ɂ~$L/, 2?̓wظKt b[I/zƿyq {&X /OPQa"O)#}`tמ-G鸓dWkU?ڍWM J Z NwX] 2+UV3=j+ ,5yҔG"'U8U]AeϡcЛ+X˃1quQ!sX26;\ɝ{4Sii\&˪/ande(Y7KwY?]d{>>,n_Ч746XV$_7?~zƐKah[.G)VBd#eqMy*՜ X!]d5jaI{i=A{>Hm}O1?䃧rkV4k[6mqӛs,h/`>v_H㭸Ԉ=q$L|C6R/s~(k/in5$UϏ@"+G ={ӯIc韑:'FЦOT7cTmi^o*X2C f1v .7ДѫF(_a@JׂGtv/sq-j&X ݕo;k-`CYES0b ҸMg]mP|?NU A~;lO3{9+6mŅ=+]y{ϑqMJMi xJہ@+PzaH'jL/!Y60@p әGC($N>&!Mk*E4?oTxf=bw-hX_Sh xlCi"͓#@w#&Pn(G}a{ yovQ01H!=9CA?o(XoG22Cs&x]KuQ-'}=z.L/]zdwc!/r~&KT֥1׾6L/G_!b;g_"#磖<>&Z]sL/Պ7a#cvܼuAT7KN$N%s~ߴ8F=s".2:xb]_sh淩F`LʄvÈxtZCqf>eNL}B'dY?COw/ @'لPQȽTz|[M<[v2sKJ7N⑾ +Ӣ(Ǣ{!S3^/g6Z $ìw܄,al~NB>ddic0xXGmA6hc2B36=%11"Fٶ\~ˍ@ȗƏˆ.77O,Yjoi|O ~u _k-ck ?C#ǰ i|j) AwP! D<إdugpGFNT(neڦO$]+U^"i RKCR*h^8},N^mAEIV`)>>XiG6dR>k:Nڠ'ՊYI_/2WJ|*s{&NAhxTWLZDXw\Fq- HQԜ$@عOzBS䟍xo)U!\TP/0E۰xěT/Da'ϴz(К6"//Q[ݙհ؞ɤ96[J,]:~~rxȫ&flXl}6͏ج œ?T 7y,&v;j!E߸TT}@_E0#xmИ I(#tXq|E=;b|=CH' rWu(ݹ^8uռZүQډ±沪_ $d&Ai~_S< GjGğ*Ӫx#ypI(EbF,8Vf_R5tcµ{Aૣyk RDVޒ3O-:"0 Ee$i!Ǝ>}IK 6"z߻6O'c3Wrǯ0O7^5Vc_J񧫆iJ"! hqIGٻo[QBS˃IyI8 q ) Ѯwǹw/>^vj%fcᅪo \=6GX0oxаMzA.tϼpA%&V'.$xRe;!tqң\S8]46 ,oL'bo\(/B|}HܡvC1u擑Q7*768jx~yFWIǖ َp&PJ})6Z&1j'i! }'P@y;gg e0m Nv]gqEZ'\T3r1 F8+$'7 pDDѝ7Ǧ̙ `9|I iHk<غ,~XdW-Rrxjabh'lr9p\Hox)wefeK%A-źya&gYB8cFn9:ǯ")x] 鯉&vd74rMItHT[yF0G[q@\>I\5xtwbF}iY3mh"_\m3p@:BOH*_P}:>E41 ]ັHQ0as1|Ѳ7>K~٢F PgI@PE Ƈ“_6Yʓ@>'^AH1t&/eMe_><#B,_<#>Ȓn:gV?P;?J4g"-''Y] 2\~j) Ȥ0mlgu2AM,LTJIJT gd/.s6/kbkDi #oȹ"ԥH CK H[K _H Uvqx  "&Ebm4 uW-=;\ҶK,kqiYLa{hN"&n'*Kg{i!@1%Ԙ34qXm4G*-C<~]ҭńfV. 1C&`~>~)Ssh ݞ !dI@eujO皀I=i-7Ms%'|7`K1 6A@Uޮ`QXC'Q<3j - -DWK)Wt_UܙLBxyV fttu-)OID$X{?ݘݛo^~:e7D7Y :~kr˵&|_<3A\F Qv^<-XLҨBEK$Tv0qZ}Vi+t$Iq}xVA$=b]@+H68p l5`' fߺIkt>QP\mF"&l \HD=܍z~"L K^^Wj;ʨ~.EUTo_^IYxa.}bO"4gvgwh }a)ޥ`v'si[I }*4Kh"rnY%/{qB4GD+C_ ph8_ OZ)<~^pFz y9 ukZ .dzؠ qXiqb9ADkr"kF~PVf<L\!X%sK13]R误B--gj󤨚<N+]H/T55.7d^H9[ h"0<ܐ| {[? } xU*9Qmh9ί52&-(ۢn:/՟!&yt+:{oad-·˾dMm /.) Ne),~L`Fn5sBb"xHY' \H@OS1bcdgxZexL&'Q~utyh?J׾g3&Gȟu2Ѳ^{P?]L/k; ctx_1o^.jbxGJo w {,PXtg>ģ~5+,|.>K5/qp^nsx6i-{cB"m+e~CR5 D[ 4ae1c..BڛzP\"~.ܚ|F[RGq̣X/Ɍ:Fb)UWb|^w w0XRRb46_wS9OSѰ"^(Pxd?b)gJϭ[*Y 1ĔqC?ڎT*UR[mx=MNVc4k;Ko1`)i!`uL0[bEi_RZ~t\ ,?2˾y)m qy ga5}ƺ, ݥ&8Bow,fNo@䳽{#E )c.kKT;z~Yc Ro{P=ýp" tҳl|Ų~Eqasլɝ&jh.J<gvQ$]իQ![SdBF%|K!]YfF6~^dhK[E_D/T)}&ўv:$\Kꁇԭ@Pt'<ݶ3[{ܟ%ǭ:&&lT7k;ݏ̙HZVx/#urڎh,=_e+ʼ޴U)$SֈQ ? QPQ{WEI+t$ O!BN,yCNc3xucFUD].wFpEL8>/q'Ol+ zǬ^J6<<~fgD'kwKi sl3\aSY<ﹸvr -LϽ/頬BF7{e@FePs&޷.Ĝ_3>(k!JweuIIJ8u( mbDjmzXs l{e@TX/]9xm%W'ݑz0|^+zB. 5UEuĽ>VMKEAF*q($KV8dWb\&T6$!UY-ޜ* z}'ؤHψ1kOtj~Y7 O=zC_CҐmB +tQbqo_ׇ38ꅽA0lp'h>@`~Py|vWeMI4/wŎP&ytpxn9$r#]򢇤 3wP_L_wx!BS G=`+.7Cc X~Ph!aϑd*sku`Cny/2::wZC>6b焫G1H ˥SPkD{cOgLs JXiYy%swE:ɡ*(N|| 7T5\Ed`"?)b89gba0>@e씚zkJ)&LP֛Ү֯ӈ3Gr J1_@,qlls/جGփzEI&ϮZOXЯ(\wS72JXr?䩿fsmrqئ=:ZvʹtnRmb+4]늼YZ Ç!^~H_^1U۴[Yqp.y:&j7Fq`P2eO("|9}DINc(2#Ƽ BmA~J%YэQ}Ka3+Zr׉HV/}qÿG̚;Ч{^A "3YSuφn|iUOZŤgrײ)b;JO2ɫAu3^͟K¨>xlն7G4e3f*_1ҭ W:*ÍY9["SEE[CJ]ZC۹~*ar{"Bf)%M{'ePE %AO`0AT9qKaoo\Xh.D"p<`(K $C,Ux"pe:QgICW'r?$ʖD .wSÇQeWOssM.}ra2iWg홶1-yRSvsA}*8W,B6㮻 7'V0&9R,)-hN/bИ*8Vbݛ/OF<Ӊc:-^$tFbuM֢UUDg7LD`UO$6 F*tU$~aX*fr{]` 5$SmxҚXRgš Q>k$~{bWQo(9'kI7"!.R'`|v̐rsTq׼;ȞЯ^>Ztf{*@fR$/lěKxW|dh֎tԄ pb28KKȞ.`[u0%]˩ֳW>]vx ld6 ;oasWԇR6nb*ygl(5yw񀊉aQ^l F83C, 6 s׼#fWD%@a~R/¿l' 4{m\S@R=*TCw%l{vc*ua -m] -)}M Yyv8)?߫ɨJ8AA{g?ũVivFBN{K+Xv6+C:LSwQax/L[%ku7nh'~yg;K;3OsŎ6!US[Ej! LcXƒ`G=T2}%t1EnMkx2;x?DJpFܼv)x/ޞD_U WAsKj,O7Ɩ?nkR&S <z&+rJL$c[(S- P9p$elAЖsAl#gqv$&'9 >ۏ#'e&"B%e9rB_sv(oKVfZÊ&K2^o:0y&\WH_:t٫#?¹xK1O"P fl}Akt2Ð%17Ƅiϒ() _ŴI`*s֢N"+TUڇfGi"@KT ѷ\)B宠bk,G0=?|;Ji9mREb Noxum[UXc-7WMUU{HRrƣ9Q! *\rx^ij{' h*هH{"݉kIdִ$uUF[y6:=jiv-oCd)5qi]}pGoZ﻽^Ea_  JVzW)sƾ&lߥ|ho)PBunXSzL ( UNNO!C:/6"!_i1/;(6lKyĪT//^IVs: )wWXjSw5S?{S0fÀO}:A T/aDaCb?C-fu'ePE]mmu#8)'i.Vz ág_QWAzZl:0Jt5/Nb/0( "lbs.ekãY Ϳ߱|zt2 8Nvr-C\cz#\Bp}Vhߖ6gJLj7FW~lYq !K*=aWQ7]!ss]Lm)o+"{q[."ZlDzv4֩౧TB7/\_0Y|sDb НYQxыV-}쒼n):f%cQ qGJyIY=>ƭ/Ft66)B,n1qz-¾8B>]s3e0 E9=LKw~J-`y-kXF6%3_=qz'b2;Hb]lS +p6͝ fU}YLuFDYざjgV8666;SYO5RQU\&2 ޳@Dϭ0܄jV8/| 7ܢ*1n] -DE$`Zht@%LB4'X_3vlx]%8fppL>B)p^k3'ٓmVCxnCDZqEeVsK,8^ZR2e]=V'XZDvL:pb~3Fކc?:G9{R܃G\O玭 s67olޘب ?uPپ_E/٩e4!b|( >H!?ڣ[6iNӖL{;?S nt]b=K_8$gO]huډ'&Ó&DGRۃpR _],*Zi\q.BUH.Z&N }Wz4%K==#>/jPP)~ v=L[Mu|NJtN{t#k+a2@?/L7houH;l1Wl+7J=[ĩ;tϙ,Yلg"PD=2/hX̺@E*v4نA˔"rֳUD: Ay7o>r%V&IsY܅#}z(_eԑ'" ꄥ&Qf-߮bD"}6xQBVsuYңu=Xo, Ua!V ^B[k&)NWL[u|/1rt>|l:$z{ͺn%C+PSD5Dfu:&`8z6Dz)?wfG"QSc]Zd&f9Uu9 &vR{Qg sQly~a$ Pbv3_.7hNcɸuPG3⛵*x`Q"g{52\;&|{*lXSw_&7eAh녞g":gULxs[s(O`c29ݫߒu{2?N ׮%ܯyD:%~/kk7 ^ǘ גR2Q?ᛣ߿ xZ{fo' n\" 14 {^Zx=/4y n#by`Ҏ֠g$u5m3(%gl Va6u5YWbm}tX!) 8 _Lcb3_M@h:m4yr %p(+sqs[7{%7p><*WLt'ʼG,z(.l uξ/ ܖvׂ&5p3`eRX"Aكn3~Rr|w[~I[iZ!7 _uLhV9fد*mCcaefayEuuңDJ"cARΑxpxb2n# nTTV$nyJ6lZӂ-:@ia~ oJdFx@X֖>Dӭ",3#+HXvŅ0_RO}+Es>vyhPy.Gy`T<|(+ACyG2̥PnX Iym~~j3s  'ncE\l$7#% /("h^F*Ukqr@[R4u~*# ?2qB۩$g>r*kOz |n6z2A fbWI4F(D߉?Klۋ[~5L/t^E0+f*F7}sO˹ާnAx:lQC `l+R)Ι@kQN헔yO濩AYK9H'otNrHyog5 6EZM :s@ȧ[}I#1C•v9E;T4 x"'}_Ό@QM4ܾ FX=l ҙ B~XV|(MFҪ>Ro8#g3蚺;gZtULsdۨN2ް0xSqmI$Jǚ^O5<ZlIwͪY|#@Nw\,u<C&"RQ$3nDӔ6o؃G*i5g(da(ҔSy֐#N2+=V~y>x$ {qi+DFCN^Ds$(-T>W4{v#—: s( Qp}Qx!;xGB{-xl 1gCl*f0"}dIvBj,d[42lxta\ b<Z/VX#q$݀tOCX0aؽzoӶ o^Frv}Rdt}, Py_1lߍ~1;tSsL4X(Rk|d*@T]^4ǘ@8rNE2Vŗѷ(Mf S(č{/X|7zÿbq(kH;l/\4oՃtмd{-=Ϋ鼭nhed@tcVG/2I^.~HV8PRʛ ;$[JMvG.XJqaIN(0RF4~oR6 ڿ30~n K,UDN*^H2gC)75Xܐil{23:LHGm &kj$7uQ_Cl`Z@p̘8 Ǐ[)W>U+Z21fwr|6AZ|1[M1R@m-_ycoh'%|$LFFJ 4b({tRNV; 9YdY#)1'%Grh؅! ƥ] E;6E\yafTKnQ (o2yZKcQ-JGk|w]6+ biHiw.97g$ajx,7 k7_k|E2JC渾~!9~1+Iώ60{>\HYz&_xXF0PV+>ZTJJ%`u?#VܫիU牢_"ҏm$Z6}H!bqgW Tj&j6di[^*:-G}˜QT"]X?#,ê~+4OrAE1&5\P~WE-)#+j!"my>J@1Dɂ{=,86J}T3/>@d ֙I9}4s;`D;m_e[ؠcè\ƗcN38ӊ %um5 ӹseq;l5xn(՗ r07,iM5E畾^l鉯)%6e|7RDZ[奄{|i&oy5IHcIH0bV}ò_]N9:̏p%gTN*=^BttIy`|/26z@_,$"udDڟݭs~tCjx ]R~½) MB"ܠT( 8(1>A,UI//z-=!\weN4YsXf mcg!#%w([| VKcltp$L  Ў2S+ +z m㳀?RDUgjo}{ѷޢh N ,`:}Oť(+9v*]zKELXzfdK;5͸ρbv'&QɛRD%%J9.pJH %W 5| =p KEJ9ЇcJVɯe~ifCկzP"+MYtw]r"L~lRp;GJPQF l&pA FlKj}8ZgQي rr>xd q6t$,M.r/="J{(ᣜ&#Ͼ:;ml؏"AxqtA?6gmEmJڃhϭ2xPۿQ;*ybViQB"}0ZJbF6JsF&|y O@3P w^COz.T]jjJsx__%QI 1jh@2aFYA1E[pF}of'h㽰Xɥ)V`W!b}&Atq8WtLx"eMrB(xj΋awXY7[>-|v}]֐yTR1FXNmuf&'3z~t??#hvl?{njbyGIE/-݇;t{zmYO;M;'SWp?Fgo?\dkR }]$!|#1U|,+$cMd 0w)"z8/ogi/ɒ`er\鼞sbNI9^Dc?xѷu%@klq`> {pJުaˆKN0>̏FG;xrY71rdh<\oCTlxU$kcݼl]fi4gM {YH $E>xQ(&X^ %YX[E񶪑:)(t8pEł%e}# q+Hr #m/rܷC'ICz]_I(.A_{#v]\GV93ua謹qu[AGpP/V7%Hkd,I_F~(qq0/4RM=uͯ{+n7$˱ԇީO kñt~tFc 3l ~9ؿ-(m[tHƯ*}3>Z\ߟj!(^xt,_T5=6SunTjtU &HApeV7NH{tڸn4ߢӊ$3ǎS|.t#N؅W3! ٤dĮd|qHxl싓 feW([Laf^jRd{IEexW4 ΂xmOlPdt:'w .[ɱv5vTzf$04]xbdQGG:i! q21sd[.պ2_P,0Ǩ^bK8lYz̉)80 0};vzv?ϣ F@L:7%NuwB;HXpyd'1'Fb{ËAާ@ݞMh{s&G##e"%J@\a?N ` AS& ~RU} ݨrͻ>1ohixĜ~@5YE57 FGB80.Q iԯktFċd^E?_' *^V3:}zXG]]0WÅߪ8iqMܜIXFHo\==``RhT-߀1f^-3j, _G.JVC\x{2o~+f1=#Fh^=ܽ5NoRo$O$#ɽKpϚNB#/;f5q_ J\䠠)`ԆFw+)kSύ?B0= 5;zy ;xC]/~y>TW+3__ϯqE&4VI@b; -|gaM5I8>U`RPhmx^^}}7 > aYd7g_5~ib{ c{LW*!KD%\hXw59%c} ذEGW?ZU꽹hzXD2ݼL7'tjJ/ .QfJRN犝cy}` Sߊv͒s #V-RY9=\?u{gM\$νxTv/鴍7mav>_|8G!:es|0xB}B 1stXaavvqS _[m^@fB=هQv}yhk#yi7]LwvT_v3ᖠ-Փ!At>T:dOe?kaN64%t9^5Pvٹy7r. b2^eUơ,ITO₞> $V <>~cx_|"lƬLE-^sX0gKZRwkPQHMlm 4#J2p!TbD*:xۤ:F(+%i&?%[dDa\v1et[K8bӹ4HI笫%~T/KoAņwbwGb˫Jo1Ws7g Ϧӳ;Z"^44Dpq.ͧ!o[+ח9r$vss*5CR\فTC>_MnQVP*p  bdV*6?s+2q]vYUdCv>CujU ;Giy}owx~ ݺIu|]n+AGcJa2ꄡt>3|)A$K&0xtoU22-%(MRwROp-<ЪS$_LSKe? BbC.~#]-$sxipDc%rFnIQ' \nqZ>.u}ͭ_%*=\w>P{R4HvBaԣzzOOs}RB\T6/$sAlÔx=q jWxfq6|RÐUXgpj0ZWDTzPdvs}b_u|A챤C WSח  r+Tȸ4>QGnW*iR#{}P\]*rupz`o@2z[XqTiXC$ ۊUdoiy{uJ#23PaE>쐃[\;Pho/'y2 ؇7m&R)ٯ_4_N6*i* 7*n>AS{4bT.9Ӓ'{U7kq#/jJa/>J&IT*bKQ"cZܮMezBE_90K:Rߘ֠h\Az 3k R.g\=Ck-"e.:<>}|"P!,2"FbQeE Bܿfp(CP$.גJT&G 1yaz+~LH)_Yf<-(~uFk9+R|@ :f6 ٹLؚBh ..y&,2Fc?a`:5|zڍ^`ϛ J]5^K)7ξ)Μ30.N{OX o;̕p`mX^/\7N!mvU<ǥJc`C[`%\?~mv)dKyb;!7?ZnބKHѣr;MmovIKG4b"5~V҉DR:399-1 ~_K:}GˆO]Imc;g?>")l] ~T]T'C <1׾3*}? =TX 4- ݲ()!0 zCeqrXcmZ;-y+bNIe2k1v\~\4[ꪡGV7Ӳ/dGƾeg5G:[o~"tEu_+-O|Hڷx33Wק/4wJocóL]=e U񵔓6FP'&*EεpkѦ,sh#U\8/I⍂jfh)w(iNH\P|ECBt"u3N0u Oy"<Fl_P? Ϗ Qp㡆kVSzGFqr3e)Y#IƂrnWV*J6q!A2F@m%"z t[-!`#WNN /Zwk6O[K7[ ˫0,vpGoB>Q*nMu`טNaGa\Jٓfp狳C?wb_ML. Gk&^csq<&k'puG>B~Ƅg$ G?3$,w0-B6P?kn%lPbL ^2"anIb!֍TBLѣOWN^sY/TE>63""ҫ'6Z>٨%10<)rI tR֏lpjP~ug)cw^U66fyo Pj[X%m]t_ڴtTtvGj'*7w VŠGJR1R{hR/\IkƯWL(Ĺd=֚+,z@F?9:Od[pG⺣6tJ^7 y#tN&<:iʋػrIBݟA ՐǨ ]"p]RMT\0ﴏ#Wx 7_>FI E'?}׋X+H ~ 4y5I<[ZIS#iW+f+ pFd6`w-# X= R{4 '+܀;$10_A `^oV^E|eMk9I+;*CFglsWx ʾ_k8%zI%#]~,ulwB+y'B g8K_Vw,8] ZKbE}vCa?Ӻk Ik7KAq4v$jN( :Ł%mM)s DdcOiUѢH/BH]Ƚ_:屷=:TeKEliԣ .Hz)FIAH)$V0=`ZU}s~kX#F']5)%N+sPp M 2tDz Qi|B6! <;NޫjϿĿzSε0jDijU|»#ьJŵtщ#PŖh ϰtjSGS0 OXQ}18c{IP2M6Ɏѩwok=VEFaj=MWL^ԠNS m J# C,NGqp#9B:o-ֈPIU !>vM[(<,MpPk˸iR&d.Hy)Pg$b}Kt5 y88:0zJd`|wsJn.`J?G-P0d8Bꌐ#enH:61|JZ͹Q2Sle+F*aZLajYb}othr-` P_ة-l+s+Ğf-1O_O&6 \E; Fʠ*Bk[T02? (!͗b+!M:>8}/BAة{zTETƿ8enNJm}}O~W#7ڞ)j KXxQv7U;Džq=M%GOSVV" 1٭ 's 9kW?$곙m?{\~w=|mܵGAT΢@&IJ/}$P ~V:o1N>L8}fpKLezB*0T JD(kIF&ؗ)p<+!=˔!Yꇩ`/%[Ccr֜]1xq2{;i&X*+딷|^##;D+7_t_ikl糚?' f~Tޙp"s̚B*>nd@lj xEKaz˂Gl5{>9?⹨w*p0=Vz8v Jsݢڵ+Do9e5p](=:o c|85n揄dKeAa?o- AfH]9bf.ÿ=d[,!i@.|0 wj _ZUk*sL!BBaGxxpv-.ٽ;6͗]3tOly .c,v~.0;ғKMvNbOYAvzUQ*c>dBUC Hlέ8~>lBZgV *]n6lP CO.6]|VyE1*;_oPFu2!WdW;-CK۸( :zXխ,>XSozsysE}t,?*e' h0֯& t|`^OaZMƻҲ* Ve'&55kOݱ wם,^e􍁙nЀ,y~(J|\way:G۾;obysx {UQANHs!7r8~ sbyK\jo/4bਅ {K}%fn1%2w$/׸nfiWsH֩ dBoо/򷼪9*LnP181G(D_aς,`I9##(m5UUJo!mc;?Od75f}תK] HjOT;T2ga^hbpD!{@4z1̃i=u jV˼P2('v"["%wqEUJQ>Wbh7Ռ:T'Oߖ*Hd/_c &<jI:bK"8k kl@I A2"B9S`ƕ[:#oY2aृ8O(Ud/@?k}R74ZP߫?߭U⃔'EfÂ_wK .uBG̽\{ q?ZveΜ=u M@QJ G2w5R.}5KKȞJq?Y5/."Xc%}@?Xpᛊxm \eoA+akhLKǏ?FJ2fzzx}"Ld Ƭ8 cOZ;{ +\H&!Mw{!Ys1Kqd &r-HKx˦FK`4@9V TΒjl(_3KY䑝J#&Q`JހnRRoBr؀ 4sy6Gȗ~IV?b΋||JsTbCW&4*m!c @ :"a艊S^X*}ark*5='_'Ò{Lg%RR>`Ԁuv.ŅY^.Yf{QJeE2Z){ ̐]&, #B=Z[ Ɛ9%@x/>(G-־Yvw iʙk&z'%t@u+~tYnS[l(8G HFO9^cf}D/'U/oO|WB ?}d{[.JOُR~Wb/u]` &{ ۏ[m[~/߈@q ,#?̦'RiX K\&&#W`=d=m_PIip1BER1=hosx-faUB)K%(5_ƪf1"ȇ'Sqs?nXIzKp{CzMl m1Rs[DNbtȉk}?LH*Dr+J-磮;\߿vW{G6}_NzRso564S"̡k}@}-fKx4Àk-L.'dGf96(X_O r,=C d0x/0o^֫Eyf M_H:ǜi"^ F< \P~׊A ̣)~ÌAT_okS9&2s>D9.a w-zhڍog^BWT$54W=Yӌ42QǺ-*rmQVALk_0~O%[UC.cmz~ pxJr1 uLtR6nR;>[w5J4}/53}ߦ|8OZ733q)(n^חюԀ hə`TCCc(/imiT3MZȔ5~~|ԫ3U%PEtSx3ɐeSiƦ <6VO1?t7Y5 lXЮ9LITbIbvcIC>*6n;"uL{wE&_#>Z_uV4;Wg:}`R ==^~/"s^2r8lj6]4/*{tZ ~F*[ޔC紻m~O׹$obXҶO^(A8h~EjXv&VU#᧖+b-;& ŢЁnʫt;NE&8Vma2L4VQ s 'z@#2uy2|a n*'\ ٙpw~0txЉp̱_4$.1e̍'Ry#r7&C98ѳb2u}Xxw V".98 ؿ[`*М)Pc2~,@gj( _RU_(+6nr"q_깪ח-!VXW?6`7=Dzm5rH`zLc ;&7e-imw=ڈ7rlo\uN)v%Oɸx콳S67iaH=D/!(t8/7xe|  !-,s;1N $ m0Ep q}ctb\z,+(GFP`4NЇ1'WpW-Q6d`(9J]3]J+Yڍ?=V)/8ۭI&kZpm%Mu PQ=sуɼ5_y>Ek{d=8sEqO~6<&h@$)ʗ?8",MG!6VѕUp_@m|AqW%b"|Joڌ`˘4rSjWPY*31PAH {@=]!ֆ2vp?/q˂xӮx4@~*RZ[/38JT'_Ha_kq]%݊_K5mIY3j=u51 ̑(lx^e׈Q4ŻvD&Q4"@]F#SQ`$]%eT=XINLUjoq/Li9e"Nd^se|V#2У%vi_T+=.:ӧ;FΰR-t=2ANcIz@5 CpWpu_i!-G|x!ƟQ#[/Vk 2 J0˾޷E4ԣKV8 b =bÅW.U@3}=,_#KiRz ĺZm]t> ݑ%.__{yK{:L_0MM 9#á4@yKyX:އjja`kyT(`Koc6-6{p_7\b { >F (2ME7'ߟ(_#h@o@[U}Xܯk~nH-7i30UxW=j3Y@(O.eCw 9bs"-%*4g.@8]ΔTC,}8E䃁 Brn3u\SJ1uvL׆աMŞaMMKXJw HbZٚ+ 1vw[*X0|),ٛ(:\}HeݙgxUz$BHT(K?O( ^AYnš)Ƃgތ~(塥$KĘa^ mvU[ix5L"/ANXi~r^—HwjB>mxL}4m`}-v@7 r۝qyXܼ^45#G|MNޠ/oT֛ :膎C?YSq|,c|l`p-&hS .JدIZT؏ǔR }h,t5Ρ0` εgAqfWoV)$>i7–7i.9src㗖aFwoQD:V0iÒ8~K;ZF 𣴔6VVу0hZ97f W 84 RW(*ޢŃw4͆| i" e&Gn8u/9{: f2?u1vL(iH& ;J{Aشϼz+҅yi1 S]{'RKk,Y{tʅ<`O`/]{ٟ_+jˀZP 3&>O$"|E=pj: joH a`I缈ZߋLKy8u% +)KҐcwwShH_ՆbY>,FǨ]I2z3(. b1em'Qv7{]z?c0|Vv݈'5gLzF>;Q!Kx ד:N}Ucf:qhL<PV3_tuyT0j&,WS<7{_BZ@ Oƕ9&/Q J<ߣa^h&hC>ﱟLjeSѧ 0µa5KB~ lCqUxa5m&~]Jޯ! d{MV(>=b/KWi @}Jvש'^U԰Gtk9_k{bd"]xLm0ۆ4ڶq 5kLT K>(.'NO~Fn>5i2(:Н#ÜuĂ v9yMge yPV) qG;cB_K39m`L( ؗy|8G* ]]^-`SK. xGFh1⿊T&s0^v6`l ^, c,#U$6isy*U؛4wX5&m7,䀣_iX_Q d V9 ><-OQRAs3)Mlio'w$TSa|&s/}hGԤ86xNhH'hd$c6,o S,mWIX\z AmCkߗ:ǘA?@6\ ہtm .&wnoyif縲>J㙴'+|%'+ė3UOBdTfFsI=hv9&#F; "`UX$CU;SA\Ѷ9^ÛOh/gkuG/uR+T !ίcg&N" =3#ss 1gov 8b@9b0c$Ü*|cdL4wam1OMIu%5LCQ.h,M>kU~9(Cnl t=7S!̪x7  YZ?~]$++AC.i®d[*!_8HC uQP:֔I|'';CB3fzMjWcZA(O8:/LZYZDxv"֌m;3S,jb iGb wHŰؖJOWO-`3>?fgy,bBPi1~P.of1~?W,9X;D6e^z5Ő y7bp ^mnYN&un曶x[%MɹvZ-y&H[vډOf\+Ik$U毹O{T*A$du'm^\eh\gF 9ppZ* cBV$hM(BaYw47p <CGFIܲ*I1PsW?=k`2|2LwPdܪTQ߃p0(4칩ze1%=ZXY)~;+8R"Qb.]l<#F&]".DO^jK?dK(E̫T0eQ `![X l:W.vg}fy.CfV(d\}.%}DW H, ,Q#3?npAFx=Eb4 --$!U^-iKR_O 2lH/gD,`YOzZ}7!D߷jPB$#ɣgA}LnM̄,*GG`jsV?'*(|ᔎ}(=z<,P.XUӪ`9L`kogokcsBncy{]`$#F݇e' ]dT&,uYmvI#[Wy&02pT{?JF:-'TPҴxYE-%fW-iD?NBMɦgƈ#iKܛj?{#Vɖ/])됯=z-3weG?5H]gS@AQ݇raIeZ?OzD布0,~岓:T`X\5H^4wG9q0+w P7Fvs~!]gX:!jkSt ^6sQ=Z4s,|"x.,/x0{;xΦ:t&&. Sj:>78X`-MйXcϔ!\ d%ikuׄHJ$?;_y/<h93Z`CouX p ښ>Z-A5aV!0[z2Ԅ l,V~SLq"RUNH-(pdY.s7iEZ~ڞot/Qq=х'@vm",&ov/HaˌM%շuCȆgޅ,~W$vOAr_bF.3ۖh:fYV:7Br7,bsJ ^|x`i>E(pT |TplH]Uq ,d iEi>N/^&OW}mKnRkwc'=2ؘ! vĴl&` E@^{=m\ B#F4K`v~K UI~AdDTI ]̻%H%_~y%H4[>qevq=bT|aSu~BXo-n+>ԕHc ~Pa-RDY J&wуo_e0ۛ/j`w/yeIf)UY"nAэ7(aHϚ%nVXqsn϶sڋmy嵆-/+ qټB2ThC6E:w~MU]&Q̘/^S3lL{N_~)~.N'lY;?~q6x|f>rCV.n!Aί=UgJ\BQv-,C; *Qct|&߲)U,)+U>-y!&Z "%֜˙GJ sGi󪰈"|ztRoΔʘXc-1%U9{~GcBul`m+0:r^sE&ᖏh~S]h廵{]B7G=H\Y>'ԮO'0xWI[LL-UvRHW&K{|.=g C]IN*_B׉IR f3 ydە <+!° 7̪lHQ KH^/Q:b>GE `]L4 Sߤ_T[;f&ιz YvJ{5胬[OfoɭυQY,ɻX0Mm >.᧷XGLm[_X睁 nH-TuvP6os /2ؽy)$|C]V,1_;xXfRȝ8u8P `K7AbB.,YpmKiLۗ}ոlDkϐT+ѻLg$[{;`d f2!VkhbT?x|q&- S9SGst|.O^%mF8 ^q._:ʸ*C6Z4hZIS oR]vedq@{|XG#nt20@8Y!=!x1 ,/E/_A=  OW1g9U\99Yjᶍ.`,J,g۝~e|18gh[ s[3t!u_z*ĕ1(yM ;)Zn/oq%v;V]%Ԓc?N[;~&==nG Fu憻Ki2C`jk $6OP{ r\oZN3B/rR"9o1lpξro(`aY@V~?HTL>)z({\GT'#VwGO/d\?s̀:PƎ I1R sw=ۭ]9Drхlk $l"åcQ€zVL|}l=n 3BYe)oKȘp ,dٌ߉/ c?U'<Fm ߗM7fMm/Om/^di tPSC̘VcqRFO8ך 3_Ws܇aK}as'.W[ar%3i . _nl}.&``4^V.pǹX$<  yҭ+`*oIB =4:NSO怟I:gKQ~4wz,9T1d70hpt5v}n^cDg `hpȵ]r$Ly%x7qycy#(`g0ĺd V?4p ¼s7B@'$Gb}g?ژ0MQC͍!Jciy1 Cʋ?\p(H+) 'mb8N,R2y/6cy$gc2~UщA6VT,uNa:26XoXb-ZC[w[ }0բ545`I"OݍtaȂs6nj+͇k,_gn. LddOI&PQm\hy\`6T`O>dWuA_o %*p˰nՉOGN7( fȀ]9 :lffq~;FMF(YE'T3?B\: ̮邬h%[s zPiDMe1Qۨɸg[j6h)}!6|{6<:΂̍s Huߖw/Xv@S* U* ϿNTsmEk*7. f7L.`Qe*. }èr3rՏsP\, g7zDbM5Po5B`c=ydH*Ib$rbۍ›VQD`NϱLK/\1\v.ٖQ:Hfx^ҝG&`kuT'(`'>DSc wޛLGǼG,!c<}\؈?b/!_mRxff`,|r}Ѷ62tt91s( ?[ :?xuVJ9%ID| Ʀb^S@eBSD~*xu!4MxQ%7{4GP<53fSnnpx|k~/a8w> .p>SsTJ ηQIx @Ɗ ˃L:}OsIKwO}$ZwpLt}αm0<gmwJ λ0#qZB ݓwVtSwwެkj=5M 6`.Iac˒z\tɂc-^n%am@8rlڿ cSmPugKx~/3?$w&؝iKXx~icrc@8 D"f@cM\E]- 'A '-#!1GՄ͓~Hjt4n^F\G$%(tg=|y T0mG d> 4%3bVLjϬu{PQ<]NFw[OTş n1#@ntT>g!j*% a)&%GdC3ޖ4cl#Ҷu5`K#<@2oRXuy+e𦃽+b?/^E?M=ͽjP3YL A/e(ft7pf@A}|S?UP돓_\eӘpj(M>ÈjMDLvV\vqN~usol!&g~&(01=t;ԍ/&: -JaerɓZwh?)s8YXtgaC9z0;S֧\Ef< D ^'A.0OM/aƭ^81E]mo+ g=l%Fqgi>AHšxtD,A B Xݿc`&SqF9 C4JS05=YH4(}lg%%Jpc,%YuT A-;'iҽJɲ/MfղC,tz7s!_DXlSd*y3] _y^#72~_^kĀt)uںCrIԼM ? % Rtz礿H4 z~j܍kWt&PV!cc'#i:AP #Tc+C^ܒq^qq>?\)ܽYUڠDΠ'iQL'lԿ&VB(Ҵ TA`@|^oon{]Ժ5Bi^˨>BwuhDH4_cTp U I#'\9VBaw9Cwm1xG m/BQ4hkM͊~KfDzfn`?7oߚ!HbXfUs𾼇AGk? ?G"I\vA(w(8u >ԤAV:dpxInH_|n;IKD=NXNf|Czz2xLЭJW@?P&3I˒z9yQ,O>X0He3)چ_ՆAw\,XOA'v-/ h<`hˊ7(DKNО^kTIc .Q$lhKsHȶ޼mjS`hȝYͳl9UC)>v@sE_nB赫I삝!1 caZ̪>ncb5G") ^WtpiV*6 p[U=y1C0K3n6B_Ra X[OOPbX1Cd^,sHAoѥ\{ὄH^žGuݻOO/S+DԾ1Ͷl&#*%S;T"> lÇ}B ʑl,ex yod_*& ?&GI>V3$wݼ+K2.i~eL&*cVI#B/l?5TGKxK}VVj} zP'ReB֨N'j}%C=UQ(FٝpB_˃ܟ_@68 RU'۷Ad> 0x^Y#!aXfByv":6P^ٻ+N2b5&4nSAœz^V7d ]EGTdnU3pI *lbcFI+ uCmb-WHi8)M<7ߡ$N:Glkcŏ#yZ?6L%; )G"-GΙi_1dT _Rʷia܊_ȧXMWӰ*ەj*s=P nA8$(*lu^gTHҏ߃SE'|+KK9I "HZYIafFs*w6`zU+Ty^ cY<`fx*XC;xe {k؞\A 䗋QZ -F\bȧ=U g&v*4*#ߒWI}$~N&{ En4VYzD__f0 b=Bos|a1>FC}.|AڼHiCH)* VJ)ls&:?I FIib2ֳ9C3L -g>vUwAʎkq:2l#k'eZ/OqЯzh@믯+hHעPԀΔn]_>RFZd#_Ns'=N IK7Y,|$-%YଇЌ{!`psm\Y|D'1SP,]2&<kPq|Mi% ؘhIQ0h_ :GI9~~'Ci; 1It*8{HY !GsڅHBV^(UXl>b5H_)W7# s.):ٖ}ҬPP~n"d2l±i^b?2[en~ afrJFj> ݲc) (=J=7ej &P'E9X08lC@3(ttJ3zwPU.y aNR!ꡤvP1;.78K/z9}:7G՗4qO[Z Yq *<׿^@YĦigRJM8HH'3#6eXw D_o:ekM}C.Ej`9"x=hĢ5Luzq.vkDEAo2kA-\KNю?}|tsu䣃>fEyC*jZa9aGM"ŃY&~?!Y'CˆR8^=r̿| \ a=+8{N4 uu x(?E-B؇BfJ;D)&}ySu9M& }K] ੿ɡeP_VwU)k-= ؅蓚DKng? P)o ?Ef=*F]Wv|Ay!E^]#&jJzIb( ˳=EǓ<#a ~,8.O)v` M5HR#wە뫯=ԥl _ܒ<3^Jlr_MXwT`[|z zD{>uH{qWdJ);N3XNRx'SOTm&ڿf(m=.E8DVbUfP ݯ5([žf0vno0Na y;SDex|Y]U֤)0ѣR*MG=A:^*S, 2̣)oC.I&.D r1CF e CQx0u)s~؟eL!<&ٛ Rm0J `z=YT:B#ongHo0C~WjMZ=1QdBqbDZuk'8%DYPa^TNp(bt]˥Nﻡ~(Hx3Zp=O_,IM(7Nb8fȎ*Pzb |YC$>d+wio]ʱ<Q=iʅ)g4]iT,Z’wcF0o@f)Zh#at7I DjtW}>+;R7ٰN7:v1C֞vhyob&[]˴מ!z\Sm_=e<ػ{k"F(a p\,'vDiF|\w+q^15ţfҼv܂ʮ B5zK] ~C Mrd&ߚmaBf;*ezM=7%ѕ:a"M>h*a㰗fr0(C*YdvDb_/$m(QcF bc>uĖy8tb&#kGoj|d^`i?xzU`BB?j`$j$lLΗ,5jaȀ4Pusq V4P7m̮˫zX鱳r&OtuWRP_$7V[Oh"V?y :4SLER0^f zt=o@AkM$8b0Qlۻъ(Ftm !nu7GLBck}w-vBuOO>푊h4k ?11(IA׸/UXY^}Aabο9nK_}d}6ug ˩$) "MM[=e v8$.JJCaBӊ'_+~c ?gR8䖯ob$ jPN|6yam55u/z ՑxUx>$aGBKmP}LM!NN Su7~O˟Nqe Z7'FD:K'8ȫ.(VчbR'ɫ7҆S@fi"̺TQbzwL)#{PQoqSwRs<\?q#gӜy2#Y  c! ">B`O[-91/|Si=jVV_<4$@),3ɿi<~ffPj961v"\l6G>(m|u|4S ݐms7Е%ܒ;^0$CX $psS&7"͇ͻ~QfmCnS_ׯ$vO#<;ʝHݭKU#2yWPCdz\~vzJ|ܖOPv3uH>/w؟/ʜkσx;y D#"E&ISXIA+&[EV'Gf3 {ڗd|" =wآ:.ld rLޗ5 E?P0nE`;)5`z(A$n8z w~pG޸|'Zj/,> ,b|+w)1+y ?b75^I:Z&aGƍWYAoFi'8CU`FqLٯDG5!4mM+bvK8dU!ƫ[ 0 1(ۙͽ\J ^)@'Z.-x;9D/V_VfF*>kt]dƧ~z%O,>:bk7 3$=>3C1U, 3; BD<Ҭ`h~WoTT"%Ng/}#LhHSم ]DK g[L C^V}oLV+OR;:^7ǔ'WF<ƾ- K:F}BntdIcE64sMyd*!6ElKj϶^my)]fg=~Ϗur'ZJ^(zQX0)毬nnY^-v&lH(kOEkք,__܇i Wfd[D$C7ݻ{4Ѡ"3Iy?ZuYtz˱\oDEN2i߰y~!Nn^{.l\d  z)`)AIJLH#DZX}=Hd'W= `)軔 uTM8 :{K2'!= Bp^e8*Oү&/q~4/?4OQVRm 24bgX.0frC A ߸//BlÉ5fGrn"Pebٟ.ДH@ߨ\_WB781&kwӼ܎`;o#u _Rg~ٽ>>h }|uܭrg=x>g߃!,l=@7-s jkԣ|54MHٯnW7ω}>5zudG**븳ʂp$xՁ)_3E$,T+!TjFnsָܮyޤe8ۥ[-w}w%x9SB>egg_/J[Nad:s\6#ӥ3'6Vee#"(ˡ`3V{CvG ?:3)}|CEw ݳCz?ne2ny 4纰E%t08Wʸ4̿[@7xk%/I:| +؂ErŧgLpmcfqGjƔ*wQbI̟Ǣ234癩Z!K>GTRխ0Eo7hm5|0'!>;7Ii%lHEƴ0.~ rO"LI VGǢ3Jm=jO~!w8nδ+V@Zů.fTlU4n.š\W6q%Oh~9gP-uNKz4F:؊p]: [fݗ:F ܀,bpj1,񨨽ᲟFUдƒRMKnͻ'sRl_뫍8N)%Sj:#ґz\;cyHC!ꡜZCQioD-By7+:U뛦eZ븪>%#}:']>ޫ.);#(;mˊ!y9aAc,ai>vxdY*&RY"E-=ߕ Ltp2pt0(s#3h)h*$::c4PqE>tjUh]k3 D/P}= e)g "Ҫ{rIHGֈta~p^d/S+N{뛇^c [e~97.J-&;zn; F'}DI4d=βKG<~7_47'컹RN4uC1+m] o)n[^/˶L یG,vx5i8n>`+aDW6 !EU09 U"k d]ӠT™J=%|HPIe7nb=Ƀ'o>V\L+:/F!,Rɟ6 6 ]Px5{1sCyqy6q Ni8y*l<8Әo^G즞D{ )q؍fS/ZSD$m.+s(\tVMa7ScP$$d<~G6 Q5%ǎs8ZȜ^05E2FQg| [6̓~ 2ɂ>Ĝ-QY+`x f9UsncP $feX~dK%P]y~zZI :/k(CFam*F78dVÃ<{v /%.0A')î a_6 ^16AaHθ"o~J4)m4?&%,K,C4A1xD7 {Y5 ҠqZFA\TM/8QNT"$_nn{A="F~lz`F(]m+ԗ++ /RJC>x:Cič}UO/6.! ?%nW$0:Yx~XMK #kC%qN\-PuNJ+eGx1,DYmIWB1Gk^{s#t*`$n/o0I'k{| b[ыb P!avE.@δMU]&^r?uz2}'x9z=fg;m1_944)R*'SCA=zU !}̋h kr=./xv:f/o KB#z̷Ё`2@Q׈q3)m MR(Do.6o#㓎'Xx 6Gx+KWNJ" u2Pޒ!,+/}RHCzCߗ, [$TڟWa-ʑ*JZ8xb\o1v%TuH[L6/z4+D-o R>&w(/ <B7lο㧴v~S`푄I{.ʗ{5@N<6 3З1/c!C(<'mߣ`@%8}3l*nl", ME쯬9.}Ҍ4bڞ$N.kON3LE-d~/!-#Z#|:C,c]EOy3gB@@pfz»x/f"(AE3J3쮬E#vf]huMЊRc̖57_I7 \^1<]#K 뇩HgիJt*G;¤u[j\3wng^,ά,>qBq'Xh^u޶ _ 'hk=1it oUjbIqqr}_PŬ4rme&cw ;ycsX#třWVT1N>꫹{ ouvϧż7Rm[:pZyh4PNڒs;ж̝m.S"6imfKFڸtB[%eO0o62R_jF˙~uqlrR!Ms\d|;HiV*ew{|-UgVYyXJ< $]Ʀ]3ZhpnWѰVbHQ;:ˆ.DdK0jgo~i0f ۞469e 0`TG!pZ(Rၦ63_i~w{Z`~vc)5;趻m֐:y[QGwjzrR^Od`YP1s‘iI% $5F/[`5Z4wo+Af-jB2cQoT+}CYw4>JB~n(8bLl#ֲ >WkMT3PO}|k x.e1ؒk#CF[2Ա:'=+#^Xz+aQj "*cGk6GwC^SӸlWm3:66Iu2T?#UJ5ݹcMrTKcjxl[XS3C(XVJYLЕ$e]V`Ug'hb]$u[4rw;ʬt}{dΆLuSV̌iq ۻQύGg@|/[08xݒk:\l]-o3ff LQ^"Q~vlvZ>UO9!V2m4) Yiv<$̮)u'I?*$4ZB5Q%ΗA( =r0[GuW0ؐ1A z\ ˴uiJ.M2{JNwC/zӲuۛf8{.941IGUf|MI ag"d}ejj9Y[NSZgRu@_n3#u{Z5pQk̾A'rbɱoXs_VzጞM,nHD}/s㰭dzF$4|Z"+ OSﬗ5c킐㊿ pr(VnXMs8X]cpK\*C(jIoR&v!m*㎠]ϫlu*׆7YU]#=,UM6ٜF45*a<:7gxq2?tV'agNL31+m'ȝ o4}aѯ]g9\3$i8uSo1XdMmsp1I΢!R$m4vb"iO`*CQq8P%u M|>^!e]%^Msn/0 )T99$f+L=kZ3dQe5ȊW?Úvc{Xp9Ԃy,畡IgXM"4nW%ֈ̓}6rv(!V[֎B#Y6ZFjpNcM٩%̐/VwTh嵢lU2/N =oy'3Քv-C|έ8n \o$<41:&p,joZ+I6= 7Vܵ[ǃ7;H4,ݣڳZ "<Ǔ]gxNĎr4sj$lSE.s-?j=Da\h%Js^VQ$ҵ7!N=c=* T=g}cT1oy=7&jrb/xZ?Β=??(-Dwqc0Pwռhwî.qlGQfMiM_fSgiu]l-U-NZzֱh mG'>?[1tLq치@}iUEPɦLj7Ctrm>'v6c[xqZ595'WW(̈ޏג7an{n-O7`@Eu➫T:}spz+1+;QFqMG"`yFHM'NbIV=_.u֝Z7wp>:޳d0G6ɆZHx_]kyZ\fi"%YVw`oTdi킔cYng]Z%[QΪ4VYfQʕM9WvZ%wx({>s ¶f UHU8^xj4MO^7:ֶ[.uNNlV#z>ް>@uϵpԯO3oĤnD;leWZJ,t/f[EE=``:A8L=j;$ (.4f}~ng ]nRz;fac3c<]Ij:5rӝ*30r &yNSkL1>֙-}pH .0gF}جQ9Fi4(K(|*ĖEnN͔]dI)bNEqmT5U5yN)hXg+{SzATNdVDRN~UsXW]ٖmjzgӵO 8fW[-̠e@34z/pS: bc 3,nWqsv~50ɺ-h/ )e.x5Zdsq߉/ꕤ|ХھX/\>Zuo̴lf6wz\w8>orisU,Nk/&dcg=fm8.k=3ѧ[&Vfu΀꜋i`5C%ܖqcw)m׊;#r–͂^dcbT˵2X1Q7YgaDGL7acmv4U۪6xg"ei*-qh`xpcmPe)d5c5|ipn,oN]_ZYp䁭c)N|0)*2y|F)9bj.`oǻIM q>DdkЙ+'WZq#H[M` +=?nݩ_T},J `9Icw ^&]Z J52T?8MNa @x-ЎO4vveqOQt5+w՜sLBKr_+A킳,n3g`O^UvQk>o[4G I9 \Er5z<AlSȻD9ByIjl,fɣ0lɞ9s&'>W bKA 䔧J:X-fe`Q^sҶ=m3~!b&i+g,箍Գg]9mknѴV4zf=HF`2I339J ,`EN'cwG^:KtPz<9%xj;qLJšLkpw)/ek{jECEQ2z`pɆ):(CN9b4Wϵ\D͚n[ӊ1ap(KdVyH&e%"b:ʪz%:UVNạAכv[ۣ*8t [dnZp Liv̺dc9aF~oKESv{XX}ӎNRuz;NX;+ y҉ꎫVwǼ^-O(-?k"+~F> o /Rm _G7h*RB<['-r o-bYR#{HUD@s-/ U xm&QBpӍKYv~0O4^M󄽝`jevchG>MއFOLym̷Ztڟ{ObEj]su75@O|\}jgX VZʧIKD/9( r2$/4Hbx(cOT̂JD:"0'Jț7Po6z^d5<$-"[aL}tC0>ƿBY*?!*2ncƁG2֑mk|Yӷ޳Lm_Y K20 c܁:p<)X[GuSQso6X`y[f7y @\8IzQ9G< =oI|Guu,R9A"щ'E4Hh6 uTRQ$ LYx@"U ~]:K1*\t%@0.h1O&ys `Po ]be ^.e)J(ty0+Nۀí,ŜKk].g! C&X@`AS`> _-KY" [ퟀ0 ǽ_^9YМ Dd^u_ "r/ kt1hNۈIt,1Шxժ_zKx"~hs!LIc/?D*_GpDFg9v/:F,Ke7et.qm@dS@Q] 9n\[: `GzWU6%8iнd DI[ɒ ثFv:>b1~#Nb_S/4pg~H|RԘxee_4~]%^{]=EGT#S@&cg52(J{Y}A@@|]E(ޮ~lD@c"_'WW@!^aKC^<[T@; ,oF77_-`Y{%]~w@.IbX #hTt+C0w1Az=cQ^/B,/IU0߻S/I7m/qTUˡG!i@xٰaxVxad-Cx$]}jqpPa-<`p%ZKv te[6///%piy*Ꮱ[?t5h? M!p @?нp۟pQf1@.O1PǗ \_GMd=lf% ]*hG pE}x:kt_  jcEV)HyD e ^:J =?Q˶pxO_H٤ G~?YS`|p^Oh&AW{QV]I2 4N̾""={5".S}lEE\@䲳Lnj#4}Sø4E@\ Qt! VO@]4* K0!30e:sE:K#]#XC/KN!&? :Б3H/<#B7'9CS,ԟ@йLKj n?$"jSDU> $Zd@4|)# Ep.RD@Pge,'|9@2L, +dLӽ"O(k^bZW( /R/c|HNB/$,PLjDs0B=q ⊥ HˢIKO% ]$%%PV$`AN![O 2C2lq(C#n.9:LQLO]1%*^mHi(ބ#4V$S8xwyR 5A=MbխZ=^lc]TF>;r[jfğx|^vI޺o^ It(\b 'Z/M7LĺnңV#ީXsEcG)|lS: )K JM6)n~?]֏RHyVeޯēc)@r~kk)stҋ1k]g94ݷތs֬7w >{xnk&.riFMW+5, #: }8ywxCw" ܊+G g}GlOg#bCS"Q>[xOMO Jw'#{$ޥѪժwa"w!FhH9bxfƺi4XenMz㍪~nd~͝}=>w)QD?;ݪݪ~ʣ?8zD̾K]<\9y=UfV~VCqIneI,Oe"_Ϩdp{9kW$}},'~N>?W5+d>cZ>/'L~V|d L&p0ךLt͔jO.ߪ!OzcuY!VKpA5u%p_vwѸ}7i'k^Nw5(V;>zj= 5;JIWB}-{=34Cj.w} :,`NYل|MXD*5?9%Й0Gc8M|aV~_?1_e#Ѹ7j؏&P]/0{>+x !B'DvWS"G*5.<%5<ʌLwkӦx7)!^ShODm۽%'^Ƅ%mЯWn&;O_Mg1‡SEO!HRQ|uYBs&A ĈϧN?u'bȾÁC ^^ YF"!LdAFz D=y! cD36o 3 #koLJ|˯stc*Ż'/is?.p0ϳ-D`%|;+qt )yO]AKvmQ^Q͢u{ޓt9.pa=hJf^F4uD3D6=\Ʌgi@ޓNx\.IO(R»ӟ v?lϿM=m2"ʿ-Guȏ9 'Im&/ k?~ ?K4ҿ/ͿW0ޠK>O["//yz _VCϔ?S [HDʅo[wu݂X*) >K~[T^ƆR0n>odl>+7O"psܧi[)TuN `[&MĽq^ ^oѶxOz u_|:յ}>' ~jv^fyaBO~X. )zKd.t(Je"$ŝM"w^}Y.Yls:JvtS/[;]<}۟xu=riXY&@9o^öO?oE~R1]uJzF {5_QקR"+yuMw{g 6\\stY L_ݻ`2Bފ7YxYς%rпIպvuOQ[۫# VʉBt?{L Dj /ӓʒA]TG`oy'A@0 !`=pHLxџ̑A{f/#sYVK}|His"0_.g-\U{upFo}$kA/虳t.9@(oeP/KP- ͷ~^5>lF7S|Wm$ڧrvU0`KȢp9%Z훊]x楞W/@nAUܸ&ɳ7q/ 국sx_TƒoִqD45| 2+Օݒ~k|߲ o;~.zWф,\S^ j;678[CXOfBĚBwQi(015.íhv\j{Y}"{XSMP'ˣr̺7o9E]Q#&jVIZrCjDoK{hJ-%Tʪl@Mn37[> F:^ҵ$htimWntJTHCW;9S{ı!u|2/& ^2\ kZi:k'ưEuoNA]5Ws~etfBfw\1'!ò7^79eMVLg7TA7*[ R+G`V8 JGjhwى׏#]cQШ-۝0q㣆p],7nOӎ{S~*HNT2Kn殾@ a,{I"͚SfU=ivM{Vr\yYֺ6Y1Z{61}3=p W.4fb[u\}&ҪZX^zsy,Cc %W],4-1um57壤.ץl<_4̴bWSGl W)GJbՍ[9? XnmוHm$/۪rrT\mDOxK^LVw%m2Ou ϶amN>ɇ=LqNfq}.Tra26%4iJi*v>Iֶ(WyzӺ!ΐrVsѢVoV&k&Zuٺc:fz/D{FYw`&ַR19dwd)|\uꨯxqkzw95uEiV-35?zQp#^f-(Fv^yw6qn0ǭiRyh#cw4Mbͦ9޻ΙS{CAvN]hXt3nCOse࿸Z}ʬj&lW=FUOÖ:U$@ F)2lUcwnZ79$ⶳ-6xۤFXJMtظ#Fx9*ǎZ_Z?ZqҟVe&xZk{ݏN/9Æ9)"AGB5f/pU¬2Ƹ@UA+70Njps$Fk6z^G^u5:KTCe`\n%٨#@ۉZ[ڬQd+t=,31;jN\vqdwVfG)aEȜ[\$n54%n#sjH@5zqPpß4FƸeW|OZ=Ǜ%;1r!qqͣi%j25J؍ 6\Fz( & ooj:)h= U\wCMn+m]6y>;t餭,!;:Fqig030m;?kA_Y7%i=b[3k-ONFc#'Jc'ۈBjh{G W-7­\EA 0ᶖ窽Qny `59',=kqYfs㈽n~à0rH'@xq /ĩ] /lvlT0zh_.ZKK[AW-rQcX^ gQma[Mj'և3@2 C&q "-]޼!m0*؛$H#ɩX)- ʪtk)Z} #઼)V`vZCOI񍓬$T(pS+PY&uiclj |\]t2|S jZ>ʥ}n(<"e 3F͚0w@L$6KP6HtAD~1<!oߚʁSKѠt#4 P\tFrrC;0&Rzj14}9gnjҘ==AE2hO:wqɶd_A\nr6sjG{{2uEZǦ-P?ZXY5ϕܛLי ʽI%13c}A8*J]oɚ|9־wouO $Vƪu\TԮQW4lɶH:Bp]>j˄t*q6(wOcmZ[x04qY b!?Ћk $k=qBŠdbZ@;ThVS>%,(YVeBiӏ5y_09.Ǭe3v_2̉'_"Fe/q:7\߀ ^YlɈqo,A:ft{^Y_ 6|9Z^6T%o~K"euuuz9z`M-!& ӻ+IW+wfQtzkZiMk'41nBfh 'N{N6wAoja= >5q-LEhɲuT !<(a/@r`_1$w2H( N=8Nt@"UUWb:_ap<T^}ɡGN+9Rbji@'^K .aJ V"Z|L#FE/kچ*m어Lej^ׯUժD%-mcЌ@ *&DQyLi)t(|{|?gpɪӖh bߋO ZD kn:фBRQQ&; Enš5DB!˒uZ{rS f=XeLNEZ;FF &|z5wSUw~Rxp^!B4 i$cӒ>p 7K 3ZV{R*'i"",y`O IS}ǃ'?G/Gc-<'G!zySG x2| +2|Pt ϼo號t\_j ,,Ck}$ Pq~Shsw/>(U@l="f9je9Eq9lΔ%5eSX>`|$uq ѩC{5{UzqO$tjy iG{;Bo"ͽ̿¸}w60cl7(0@OBJ?o!c"P,8L*%.2*;- &Í$ei"P1g69@oKRm=»Nvo,:RwGn\*N5C-z|5!ǹ3輏]=\hkx}Ss'vHʚ7mNI9k>Œ;ğ JT{=@SC tQMb+\RugbޓꌱOHUgwV0<q@uiEk5f}Fao^ك `}iy_ հ`=Gۓl$O298+Vqn'B b؁.尒.H9":\*rC>j gzmdV*R q7_q^3^ץ/,Y4gfb0%MnҰ@}"]J4ܔeP|DoyJ>ѪPJbM% fL~LYlPSS>D9`!+⋡͊RV. Kέq859r+ Wvi~\+F/QurpFT}s{?fgY J=:#-5.F` gtaI NoCAZ; 0S|*\9Jpu! +í0$Ty;r,jh#:׿)u yv64]-dԷR&C,9TaUZ]w.q@ŅvH˾wssLX葾t ;Yӓֲ>5lnsZsr aip1t|b I :GrRAP^(;G~Fk&F` P7Uֲ?~`ˬcʨ [:լK|JT:jzQߕj-E}$>`r1ccF8 p bz}{w$ )0{h?Jjk;[ٶjTok%2b h C5m(UUzK5VAHXYxصA^]S|Î|j PA@  ,:\S fخ.eJ?`CahpS* \p: `xTϚu^X( |P9 eր?QrǛ"OޢGQrkYF:h7Fp6bu ǵ2m(fqgMI0816~9Yvg4=HE'hR?|QS %X]}B@,a0xOk|1A0j~s!r:e±3Y_g }Zesiԩm\1I.c =}O[+mC&xʿ~5MlTae=d)]œSӪ heԯ+:P_ʽ&SC[#JLj`1#~E;t)j]US7^+'bEvm0)j= QvXس)ܒ؀Ҷogz pL(mHj#;#{75"˪:r*ՂAܖg`E\vdw0\-o>fSPʹ<yxz;nwd$K ĝtePFӣV\Xf\M:ec3_\ jo_~$Hh$2WC̝F<X#ٗbժr5g$ѳ$}-stO`l&֑m4쫓7gj-= ړ9MYKg!0gTWdIK8RGҳ5f”Hg"gګg!%+DY<C$I3&:CA4- `3w^TRڑ,>~iůQf MMJFy Ko'y־ydW͘$j%.q5h(K"- z|%܌@BWb]DE[@1w#nTHeMat/slhN\فusNG"_hJLw/ j=Zx;SmĶf.ˆ3۫SyV&.riCF=lS_8T=93:ʴ&14u/ftHIV  ,>ҁy"TSQSp~Ɲ0eEHIm(}Pq3j% t_6 XJ٪Pw7y2KF3}Aݸu7Ʈ=:-~ޯ A>*PD|3C/ _h0IB" ҝhbba'Q< M+T5QM"#r iAs/2DBK+|U$Fڳ.O2}%*oHK|dҍ5X2oxh=r9D'QX J+w荴ĥMN>[x:Y7)%AM"63Y%-l__cPVMUMDbׁ`A tOR"ƭldFU6TI\׸-ɨF0-795֍QiO{\t+q9νlw_>E'гAk[Z{ף4d^I_jrH2錖\zVχj \v6jIBȡ>m.3O[ԂPTv#F壈~g=WI-H| "TCI&ڊl:qI[1j4~T4w7e1r0K)פK"QvUҥ*>9>7LWTO:v4|D1eM Px\@Ru- Z{JT ݎMs ztq1ge$(( ?GurVO|,(gH+]hB5}᚜u#)5ӺBOʺ{ڐjX>9"w1pt;m/!j)Z!g-¶D[uc-FYu7>iڔ|j=UhPuS 0dƕ.6 sK%7]7+"7 ˌ|H^D[vf Ltt(jc/w 'Z0B{ҿз{"ު+.uYm{H?s2j̇Sv =GCJ}MHEs|ګcRL2jO(4p: vz BtCVkGo_")lY{yiM꽽S;ֽ/O ,wK7So{yzEk`\Wgɳ52UuWdV"sT~uJ+l8_T]z}+Z?- C:]K^A{'*2BՓw˪idhN@U&{$KA8LtΫ}JY~(O-"0db=Z`Cu$OB _6ַricm/R"Eߑ;g Q+;員Gp5cl&_EbraaJ|{f8V]9Ba;u]=nm7%n!B;6g)|iurUl9 t'LsrbsO9G_v? :x(W3[jbFAG\|y d:{w*Ͳ_JE/4Nb5H{X`DyؐPoq8jpo_;Z!{Tmc#|%cWs-6Lg(/ ޢ:^cu%>~r+߅*'5P@cJ27,Y^3ҭxKD'IT`z5}2kJo@|DYX|F])ci3*+RVpærLHd ;+ѫvfwytF.wF|1}U'E-Qpϓ ؒ>;z>.迷Yqɠ:EGKM%+KK^a(2>|e?J=6`{*嗧݅Nx.gPvC)ÖUsC!z 0x+F[%0;RgLnHR<*kRKSOx u~Vui^sat,`fE|>{F*^k]@t;;w&Y뛂 m@eOHKu>xpigen K9K"t[ Ksm=PP?'_#Pv綴b!biy_~ 96 $@6؏jb)l 5Ϗ[>n"7 Qsy ! D^E|CSvaz|FÆ9}"׀AGgY~%m3_s{1A-822yvͬ΋oTGQT\:Fkc|~lcjdٵma~$5rӳiq7{`BO. eN}|<1Yoh^8]>d<߀NW`wjV % Mqsq_9'"ٚ|p퓰$8wʄK\֝hzDۨ.7ڿF3 1r'7xFftX [ S=0ؾPon$Y%l?dT@/7٩FނF|jW}Wg?x0EBl[Ise "II)鯜q&+djX~tŗ5V"Qeɾ9+ KOa}LI3TߑJaݠ翋E {1MG+/AjD+Bm,lr5 $AuY3}vv#x.DH)k:\zxAaJspPbEr 80IK(z2JRSϿ?rE۔9Vap̼1م%/&\|̖G(r06:&JfXӞc1Lc~3+bL1 VퟭDz(-mGo:Ku7oqC|N;cW^UR&?c7p|6K. ^6((9`F{Ű9m|ޡJpױהOwoI& G?'3^C葜Le_p@W@XmchG6q/ c|7ȼFo ">%eOZ'қ0P6d0;6q<+EP=)h7y KQS%)%4G`+tYQVk~| Þ!o;l^V݉ *x:H7Iu,.Hdx%\9g7n ̾3T-$R?@3Z3 aisR>Fv"NTW6OtpYZF& !:e~Ar~_@E$%oP7X_ٸ%0 @3X^8LkDu=y-ny4LϦԤ,.ڊ,tPř-#(hKC}qcp*X@mybMzIuzA[h vVoIժ&A3Vg/S}֑nO>PNZXs/%POȇ8>@O{8lWƄJgymˆ )CJ RtnOKs1|]_Gw՘=TPs3^ םEpV΂it;ROcehd;)C$_V/:)މѦ>ehhovbxRrbuOO^AV8vp4E;S%4&;ܼĴoT~XV |rtSQ<1jZEn*;|)+ł{WYL][dri hΎVyyl0)V}Pqh]Ɯ_Eo*,O^d҉ NzsrKAko;~ͪ2=wKnWq7*sTt ߤMn:9~Sr0,'q ^u|xZn (gLv{e :rEUz|@TmYĽübf^?}6ik3+R![Mb9_[Pk}41c oEf]jһPr;2Lz aSsvAU8a5YPsMqBer,,olWA]Ů3/zAS_PnmWu. odyxo $ߩgʭ1HTjG#o{3*1n1+dy=K{9٪5S֙ri@f0;.r+PY4:^Ͱ rb&lں׫ꜽzY<㻫RU)-tWEښtJd `ȷ\,e^oԀg^TD5QJ4N&Qy}p]#5eM+@}4)XGM_١5Ǩ'ݕRF A8x[O3WhoI|ݧ AФdX~]i<^Tr˩gxrlV8?[͌KEwSAzZoK7#TV+71fgG-uQ' ^Ȃ rupairB#&`f'R{#o %fU'G>nD6[ν9tl;wl] vI#cmu6/0Yb=62(Kڝd&@C& y;g4j~2@zdyRgk+SbZv<25w;n^/8ุ?ֆ C|#A_ S]qzD]'aq#lv;}=X?hWb D5V,.D %0( ,1Ԝެpiv~xZ*O 2*pZ0 󄸌q?չ,UQ\n5_,nen7/E2{p*gy|dA<9\_ r/μau=׊7jfi➜+u7$0Y?D6\**ϝ;zdqAjޤ ;"䑛jhkrq3JCĻ-cj*r7^Z5qS!wvWo׶V9^gX5E,uW:N>bX&bY޵_[zOΛުKjh#:]σfodsdtxQG4nX4qx'vNJaۜۃ<Ů>[ubwОڤ+K9I7˒qO'6$V^0*C{wӘ](3Vj5[(kfZZ?[/_UֹgcįY/"AW*Z~ z7W,u.M PZƗEOudU)g?lf/Jb˫y,lU[1m!^AkcN] ݽlJvMǩWOdχծrǦhpr`(rFn._#~^A;cAP|8^=J<4x{%Mȑy~O'KiYI5gCE]a&.8l:Tp[N 6hf[di{'+hfU%z+2"*)fyNlguʃd'r3*_fzZj̽XsۥVw)56wmv?s +9IS8Q+2mb}ϯu׳rbGc|,U9kzLpSR\\;ڒwf]xd Q[_(>5,oZ쨐^2g/\E cٍEA͝}Tƴr5^w3s?֙䘲f[YIWSi{F үA*JXbLaPu͗I %Ic76j5ׇf>mTXw+=1ЎOZ]4.Kݥ׮$9)z*{=?'Nw{8z=mTw] d^NA-~jomXkRbwaokTV.*~:uw.`*qW^w,,Q-Nj_iӞ8 Yf >:M.s6uHvf'1Օkïq\N{߀ζ9!{ɲ1i.}GDo8J)!Ycûc]zT* cdMl׋0~RS-cJ ^ҙ&XU@k Jy1)Y}]hV-2향4vuZo$B9?Onm9>6I,rgdS]uFR?p[x%tOm(Q9kX{_׳XĨi+<(78*] h]:[sT\Z UcԞe݃mzg )/mb3/\Pδ6NdG Tz\rE=_דlU8#jdb}(x>l /[k>\nS6 ޠ[z#R^3.4.C2/aǾRYTV}_{c턺:}iu5iRoM XQ񚷮vQaoҩ Z]|i-nUZ/kCkCjC/zCDZBlBێzR,d[xw*+Wyd\ssi >~fֲx8-V >VƫҘRL8v<~E<3u1 }Jj\]T3ͷ+2Od!D]WH:uЦVY_¿(}[,)svlW eXql3c?MnrHKN#t;y[{}3jݲ^y92r*B9'^9=bUgw>VM jBS2Dp1#;9:in'YhrXgnڼdn3Î7}{(D̷[c.=Υ2 kv,*xdgꞾ1QzW=oe>7+;WWN ktӵ:; W[Y|][·7[ʤNtѢxp5;P~O4o^+4g*tڃN456Q+`NEuxY] `n4j^7e+LzY=Ԍo_#D=Wvuu%εQ;ǼVOmC[G{J]b1Zh @=Y{: r7TJ0;^r$sin@xu(M˦!DÊCϗ%7ƛ]kj[?-C8YP+UfA>(uv[*aSwhwR~4W djkYr0رkzXL:Ȼ5YDZnYjw:*KGq3, {4?CaN{K`>3HLV9 "D|Oa̮L[[Z;cW@n].sm"9y)nV&Kl}v^!pFrkNveQ 9/& G|g~]yvln/Wm+=ZXerN #xXoϽ~Ucy'зNjv)6bw>d8_UFV> : ׈E4h87/Z m\P~*Nk\w)v@Vm˾W$at3*bvx'_wN FάVe2j"+]6laȿ&vv཮UW+Ѳd%>/yv.bJ]BU_N"8(V[ڛF|hL zټSl:j+@64[l! nz3wbf{t28MmxodWGtӆ?X",8l0YHFNkMJ͉{\:d&W4JY01le!JZvb+ 'p''DتJ>Ցt*.Oڣn _/BvpldW{w{-n7:w=L"Ѳ> J!.tüﯬfU#oZ[L#@>PH@Կ,'fnܾ>fJ:Jk\O'fv0Uu *&-)w,PkgANy^iG]{~cO.=m+[8X;Q]n/w;Q#)uLIitp#gt %IdYWVlߟ|%7_Vz+X'^^_v;e߽_@|=_ ;:-o<9氞3OޞTDo.<+%_ G_~^Vp2.sgP_~B%>h~㷰/ K[2klDvEQ C?'յl} Wa >ŘB[kM sA4$ ԭ]#h􋙥B҂mŕxzaD˧gtu9ՙXA' 9,^8JB&.Iy Ftq.\(#X'( 5"榥!m$F6Io&7<(QU3BtvgQ[pwG}ድ mO0/`@އ0uKa\ Z X0|ZEZBmZS;uN#gd'?70bW:,&FA4?0q9{HK>jd[;1IvN辱 Ű#6hcgԆ!$:eL)t&v(u%X:` ,#c'A)1vHmH)f]HBcWX7ƃi-E6(LBf&BX2|QX'q 3m ^[B0T| K+ |mz"@8Ia-xS %eFagoF!90[ 6`KlQ67TZS0ijzRgZcZQmXft8"GRƈq8jqRlDmU/yl@'0 艓3T,ۦXMP܊)pvgxD=^g-`Iv\S 4W3Ck;QQ/o$>~|x LpXb8XB:[XcQ0ƋB@i(4fP`E8e>a"~2Ͽf5R D7G`j +dKЮ,bƏ#@D04 R6}@b, CP#"_dKd2O-4ᷡMA-jJd ,Z"@^[X1 :EHO'&8O '(HLP"G&8$DjFB5(&AJi2 lLń )QL5b8d R#e3Jh%?iBcREjIVBh^+͡VBVR:ŔP-){"TK=FC\jiXQK$־Ǵ@:I`%F+ANTD: $XN>RIQ'o* !n P%Fޚaˡo?F@yBҿ8D\sx Ry1w^詙w h-=ׅw$3$Bg㡉|Q̙Og?I!J=C卋\7a6ҋɬ=7o?(VчVaid~q}_ Na %~¿|['=N?}Gb7tc:Q2PaCƒ^'ƅ`!9 v;tiڢ?s 4z< }x0$!I E[yK<\Eu2B3l+2N`if-11d0tEى2aLu 0+S c֨}QOQ%u.tlo<6)l5)l5KKւb/*}"xn]:vר3=#UcT ="~6Hг1O4IiW _m]5i#Pջn(hM =ɟ4X=p` z2.@Š0E[#緒:lx(>Lɷwu@L( kg&1?*KWt\5x;\;r3J;lL(mt;1,.RHoJ|5)>֐盢?jҿ B1n|-,%EÁo\3x搰0og Xh(ZP/6;}s\,bnNDܞoћYݕ_n4Z{7!|R IQFYb7Jܔ(%ē-=Ka<(SCZ{vۖaɑ{[Exݘ=Rv=F2'd߿Lt9R̘)) "jn{hHi},V'ш$ZaB= "DS%cjdVNQ% "U@V4O o#/"ewM1Zj 3_)8 0޲, S-VqI$:!d(@C :<%9>f4Ow*i5|zx?HL8z#O7:5"*<4>GfA‘*}S{YRmӛfYn_lW>$D+BqS1 >+DA?S^|З2\rR ?RJKǽh>pafܱv+fQlӷòӅBFK5206;޲G- hX##}Ro>+ iZaaVTQ{S0vz~_[hf%0Ld!ְ &ԺL\ƀx2j1M^s7 ߼;cǔ b68LGv7їߌv$&$ qLsVM^nF2{?aL^QS!h tMD)=S t+$sl,DܾQ:#]k4RD8LjSLPF:WP# IG uA/9ZP#f=7[e"2>=ݺy{BXzz#ԧߚGfwź w ϛx|v 9=jssmb-̸;z-FI3iBf~$]8  N$ &D!SL;¡=)“S@)Z°ܡR! {vwT4 ZYwt1ݖ#B?2w{ђxn5Ϻ9Ɔ-rfSf"FW #a 4rA"tH7!cUvpOM4j_eBCEy h= i4PL׊H™g 3uOx@@Vo4zCmsz:s>c~{ \= XCq`'Ź;Gx;hLTze\#3[ o z<8<J&rtL{UAK W4َm&$zCd'Ԧ;ʢ5LwSnv}NJ·"Ϸ?;SluP$I&$Y8π  &>LjFE޸CB~X8)Dxh6~^ׄ\}I'3 =yǙ?2}zPSP!&z0vb0}|;w `x*!0?"&$z&ZOCXıYWw `R`~L/Ta"ۼ1V_n?-w)2!37bf8{cj>͇(qlCoUo/;_ߎ;(<_fOlnx"ow{[x>;> L@A3CXs̾S;g~4ÏxYW7ϭ"py9c66d[:p׉VF2,Pmx>rK賿/& w/psaVZ0#FpHtC2H[ $)J)I3:W=qՓB<ZX.RxSoX0uE1-0"EKGa'@0`fN)-D( ׌EYLaPQErd#" SR>VlR4|9ES)դw̺!1{"U3p@vm™R&FXb)[ceֻ^0] * ,Evi𷖿VLNDS{&: ۉU5*lh>kR"wl/C}1nK\@EkZSP0֧" 2ITNfԄvh3L*NH4 ) h3ƢC3LleLLةpގV>Da4a!f C.əRa#0T1Q4N#YU ( ?)6BBf 0Sc&yӅs"QgZ.0QAҘ}ي#F[:F Px')2aI()̑ODW &pogvhauGȐ  OaM/횤p 2|Е! l!?Ϸo ÝFٱ.#g6J_Z .ў7PO ]JA.9tQ? \oݽWY;, :Nɏ盢~:FCu% 1~}}uHs=1=aF[46[`yeGJBo0 gB~?h4S46KH?Ts@zs)ŝvsgx{7Њo:R/4#d<|Xzi:xh woЛ .oo/@K&^3>Ie>Y sX~0/𹏿[DҰs?ײ Ap~cM(ak}jH'A*@06]%PioޞȀ^|mPÏqğ@5h$ưok ;W!$$arO)}ostO~{$B_/oԑ'3g|XK3] o3} ż14ԣ8ovtoWH/$qK$ n$rH>1T@Z}< fLwAaRޟ?Q_Q}#D/lAߐRP3 BEL8XX x1B?g̾`r ]vv)6"o`C"}VLw%Qj>E /XbnXBi]1ѡ7mz2xNlsE jQ .L8 Pq0zaBa&#gR/pl7dx ~AGXg/Jqܺd olC+z#ئHt#)  Hţؖ!i~Օ ձ_IS#\g/ *?;e!#dS B>91=N!C/i?8p\׷al?_!Q&O{-Zz~ E&NX PLO9WưQF~`@7;Q$+֜U(V>Yj lj0 #ӿC3DYD ę%x9N? z|T0,?|n}}(gBߟP#΋N/Z Vک}Y1`d??0c_5R˂o3?~ ;/~4Sl[_')7|9l۟{BE²Ct-~٧!#lܜM$jz wny%!ݬg[ 7)n>\N@N0O__ J W!W*ڪ7ݭ|aI31dܬxɪzst>/YKdf7yCrrfF[~Pze=utǴfu5FR@aC%߾{>*/~aT(<`ݙnxW b*±Մxh虠f䋾&1co \Ӱo߫Rs09Nk?d/;̃g7!q/7 pycirkuit-0.5.1/pycirkuit/resources/application-x-pycirkuit.png000066400000000000000000000117451362435125300251100ustar00rootroot00000000000000PNG  IHDR1~sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<bIDATx{t}?3V޵+k]cLrxl^IRZBp8qzhrz iH#4J()iC@ 4)b^vCj,˲J;sovWg}̝~;*?iӦ/U+@&̪LSٳZ4\1+H[[ڎ3<{:@bV"׭[wE]t}OO) թ aÆ6o޼7ں  ׽ Id2yi:N } ձD~s\4MR`=k:H-[* F(¶mfff=y!;@"+ ȖeH$>kZQ{W B=>^6L-%Iu}֠m}-WW)5cǎ/-sn0'{bhnyILf"= c00RUN+qzJ)Gۀ*{dd~G_{n;6xߢ嘚|L&SF>i0MS҆\,*PJ²,l0 sڵK-[6kE4FR#Ghmt555L&-Is1uOAZm"FF<M6;bxwT2 s}YT8U2*)_&oȕ*allm`f\ 9|0{&H$)+L-JrYP(`]]];/850w#wΘڿ?/LyIL.1 idi0,Kb&d2ZZZ~jeY(Ql BXE44eMLLc]qo,zgy,Q9ۀBX ;^J2也Ç9s;9f%i0 sDrFQVXQG.]]Gm[ a&RضX4fffFEX$ ;篾g<Dp~mi;x |#ʥ ;O?~w9pඣOD8ʶ5[F`֊ݮi pydzz20(Z%Rȵ)v0~~6prDQ:'njEFHu{p=Z_Ql%d}!z`I'~|ڹ)w+"я/  T_JT)U$m(ػw/m@&)-ۇituuQ(ؿ?b1P(TLONNONd`Ϟ=,jmq_\+ہ!$X܏HۀM5rDž 3]:8N0q 8G,~/G :"|%aPC5tTILp֭D!6gg!*@#w'"ˁ!\WYKbèT-D".EzxN:t:LѮ%u8nXf l cŎ*#t$&i!0pP(V%ōsN P u2a? |:y %yg~\ӍW:ΘEG6m!rkk+e1::JPCR&h JavQ:www qMP(ZXBfխP%vXV܂,PCgg MfWl!Xa:W(}ʆx<ŋ?6X&TQ.ؤ^-|r@<()#t;:M3TA"Wz9gvF X X@Y8"15"HUg JˆFչ~<2GfzXX\^4#tSNwxȓ2k+1N?b&[jIc ,*IWPQFJ]YIdkK%zQ";GZ'UĎNz)BׁǙgt9*hr]_Oi<`3b؂,P~εk}!5gO^ Bj/nC=[|eĨt#_ 7̓'ke`p"yEBK57ZJCdT|BV * ow~^=tQW.Dn"WfhhUxF 188իfdժU><~dQ֊,V!zVd tx㢵ZqO}w’z;< 4i2 w d__ u}ؓFQ۶MKK \R$@{6eY݋eYl[{tς Άݹ n"xHtcȕ^?W?~yNň2;A P%?qemԥ#k"_kk+T K.%P Ϟ7/O*xחݿ'X'rHP D^sq?Jqh>h4z8%y@5e3P@#{MkeBJºm]-ƳX߳ ̀t!$D]#)I6dcn0Dq =g.ylvw^כCm&144DP`hh|>(91 9)vI:f``ElUf1q]cV$ ]/?,@)ߘ3pLEU -V]Ej vvDZ~תu2eo>l`6lLZbmpKl6K8cccE]䥨b@IB%v z|Jb D}J(,kQ@B9BZ_Y7aA@>P 'YWhg~eKGPVH$B2䥗^hM&=ϊ+46MSݦ7'ϲjyW@z FRn!] Y<针SHL!zjƧNL&= 'BG\efcmv$>r)-MX qZd f $_`}S4J"4D"B!:;;ˤjgΚӌ _lۦ`+1g)d2::Zm To:dS0 D., [U7ꁠraPAR&KO_N, ] 4ȋq9RA\.ݻXk+EF=%.'{E+σ yQFd۶D"RTF ډ6[8x0pf顧ra(Jff]X;0JVFc<coYo]@J?7MMMLOOGcMS;G0 с~Fx㵧bX~壝GBМ|-BFaAF9d't~XVש0gqS^ͳ|F$ m 4Piwy5kּv'ފԴ 2L&78p,KS;;mh_pSdIENDB`pycirkuit-0.5.1/pycirkuit/resources/circuit-bg.jpg000066400000000000000000000376031362435125300223440ustar00rootroot00000000000000JFIFHHExifMM*;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 95 C  !"$"$ ,"D!1A"Qaq#2B$3R4brSsCDT?a+f(ŝTjo10hTъȤH Jl6YZb{ǒ}[o0 mQo,ׯ%!;YdVcrI|5:M%dL{֞ec~DREᨪ%fU|,* /=jLu)3Vi'O՗;AGs]>Fj1rE x)#mǭ բm if[ ^TFFɮfF\Ãh僘x'V? rADG%_ּ/,d.i VL˻=鯾.8Z = "SZڄS#Ss+9ewcZ\ Ֆ@h-Dr*#Q1SqD;aPB$4xw?kpO\UDD 8TeprFX9ʊ_azQɢ5):8`M0v8GLh"A֦PMETv".,Kx#{Ҥl+؊w#hax/+Z#8oZ^nVD*φ)^1W7%Z5a!s"Urާ` +yW֮-S9c]Ƨ i[Hmֳnh#&?zY]OѲDp[)<7sR@ е(̱||ih>:Y@ ٧ `2[!n֓:Ũ}۸{䟇Q(8J$$1$U~'\1zQŌ`@>)Rv*Oҭ'*F0ƫPjhȇx#r:ealmg vi1S_pb֮|FK{r%$@'{F֏NFA*+CʜPP$F#{kc.˜L ʹ)=&[A BD>>R8aS )Fv4[2.,@Hr`+5$XASWiyh8gֲ,E.ب{9,0nBuHOUN8r}jV kPu]Crj~S\Z?an.57Yy? #={&Pnr0E Gjg Jw.1T]dW ` n0՝vL19SX7̙V5ܗi8COd jv{8ٹ`3U!~HV )EaG"n:U.`o `RL#8=$5=itdoȥc728 ibiaR-Đ'$![${Heijny&h'kL'@+лVi Ɨt+Jv[c|i]NYk!~1kj6!gGeIjO Τ"=6ХIs/(us:ǸB,e7 ܂;pqG !7+~!{LBKg,}zf4;vk7^h/>٨kK' jn7G1e?ʆE'7'+qF]A@L怺EܭϞ@26M~o^FIػ*GR=kfL);{[@N*]ĦYu9]&K#n!]4wp#.p(P]2Ƭ}HRUm#PbAROz) E_LYFFp}kף4qkS MWDT nVv,@-݂G 8bI5}V.㎴7P, )K,e!SYK YJ5t%5c+ɪxevD sJ)AoJėFdr@'҇kyc)J`H\YWq-r{6Fh~&޸毣ghjȺI#fi"^?M5~܄ NFg2)e:w9PyD:c&I+ TB:TX?:*7=F\,Aƕ_^P߮iԽ$AhxK% u El1YZg ^uW)CS?`[ڭs֭wܶ=k>ļ$/Ek8lt>!4H6:k.W DDwїLbˈ]T ǥJ650$jDȹ4i!Wy^T9٬R:m+ָQw*9t46[oQ8<'ᑙNPzq3*۰APprqZVf/2#yO-՛/T,x9vvGRe6٥Ti;+dԮ3 BdOjK* %BO][SFҮablnOcLN˧Nf_bE=x#1^^$ѐ,ֽR"GTB}:ƩvT)e)?:AGKJ̏ v$☕.6JGl~ .}͊ɓLI2H1ص+se+yzZ[^Rǔzգ@qv3[ҢEarN 4{chJ>ȯjV$y zV+jR6[r@Uhh4S޶FaHQw=g'9r.  6uNzgD72EpFN^zU2}wS)ieV1FhiӗQjr֙54e6лE7 rҼCiRi&ۼk9 Fk8p\*[xvF.[NܷO&^BKXYweٛ.%W's/b׏o1 4 6;_l Xݕy!(IL0,EgqlⷶFJ<0]C[m݂t<+Hюܚry"gMK>41K;d҃#9U#eb'$SR5Bx'8 2y?%hlVl7rqއZ҅qhZA,n|:^N#g|wB4S0p;b>$'n@7*{B>YL`95[\~R 1P9D`cdܴY(;e4->v}D&AQj#)RCWe-,rBq]Y?'EX r~TRZj֑+trm IF̹?S@}E[lV%̑iUD &54 Pu{# nA}gN+$. #ir gjx^dh ,O'ڪl U=uAk  /kby&ҙ`; RnFaW3I%;I099 `V[aE,d>r)1ۙ¶ Km+ɵ\u4& 4_h8/gK@sAQt'=HN$qücҙF AaW1'k1 \*3zTxqGyMg^ &1)GK*VeMhp&`6O;_ ŌzVi2V1m-AxW8&槮:Vr(}]}t &|l䀠Dd<y3>>+F 6ڽHAW0 jOq9j3y]wp $QdpT.rik,(n Zd2ar(4*#Qn"yLH/e!y;Oҋ%U$b6J XGQsWH F[oD^E F22 >zt3U$zр4~RtUAnO§, zdweMv}Ą㟥T2yYYTOa^cYN(T&:Q:w<`sVgfjz0ޣ9?DG2 !@f;[ ꛊgV-΋-̬ff" !Oʷlm# +0`m̐w 0M$ޡ,Dm*vFH>HP̣ `UܬIkcJ\6`Jj1JUz( ̪5sg{ #z⼶%;ճ^zI洤yy5i\K1ڽ~=\Jq׳1*{R#'<}**5܃EWw~{(׹]¡i$/+eBoMO;FDu#Mȣ184̐ʘ/5P'4A(`ZTI`c@< LZXՙF8(v«>W򝼏T=;Qƹsv8`)$r5o!T7v>\F8dW4lۧEVRxh :8;SQJ%Aۜ * Uq* Ki7dj 9~&BFwp(h1Am#f>8>ޔr9pϴ7n=hflݓް1ί~fQ([pGʙUOn!\ɸ9?Rf4 AqYZuMN 4h}38:+ |9b=&G*߭-,rI?Jf#KT&$S"Md1e J#{S񼤀H9u@Ij$,OaP`I:;F –1хmyC>$\&QUw*5pn_ 2dpO=f#Xp]^GpC+- 6ز);01I99NZ"Α+ rQ@a䍣s^\22p*#JH^]ܹcWg1aTy7 ;@gH3 yW}jYv2=7,NJI'?:ifQF/Ɛ՛ت bxoړӯgVM 9$p>XM7Q[\|~}hD ;Aԡ;ȪV> U[!2$o uvhV #`IqM$ Z+袶'$|kYy0:|Mgj:|H-&!td RcMijzr{y -1JTlmB;"ۉ0A?gͮK,1V%r@qgޟf'qnODQ؜T[iˏ(מ:BΘ[{py@U~|+2e/tڠO"pM[Áۡ¶"#,XΙ[yZ;dUe-{-"Ɛ)\Ԧ$"X$zMGC\j+v;T;qF֠MAI70$xWe  ҫm’y\H8a?%-Njxp1Z}*cRr?1;HrU{ѡuAROjxjA8q=3CVg?_Rxx9cBl! aDfBd8Eb_i: I9Mi!ӞcRxPOj `jqD,6onxP^іff$%d 9#7G * P(s/j%j3gX[.%!<=kO/<9cHcŽNA|Wi$|q,ZV6 0 t>!IqW g̈́_'sleo8ݏ0\˥7(oF~  doV59:;qJ܅$٠cֺA⻽A5o1PA_oLƻ[$r9#T53d<6ab;}xM[{b@f+w◗-nLX5TG U9P-;lņ|F3=e@$D o#+~4'a$c©q ܉HW]8$NO@Oq]uEqmaOL6 g==)lٮ#MA5ho\{B*à j;i2.s l y9?‘LhG3|:ZfK)) rkD$,Afm`rs{IܬN247;GE2|40GVGCHʉ SEq67U]CFJ3DHR# 42G0A=5i+ (qeI#SPIK2'r+d/lH<:{%?Lf8VF5ui^9(UcR9$hLKY4~"m܊rTp3JMӓMbĺbcQO:ϓ^hْ(*v愠oǺniw0Yv~a?Ρ`ܓ4&k,X `ɪȠZ gO0KZ ;xdf1J] gJgڣ5&V*mY;S6D(L$EU_řsw=DJ!o\K@gy6MjuHg`bqmH_jX/XCo.N=-s#%#*R52NWRcc`UW4"j  *Uj{PZM~ s4VAғ.$kxhK˄& XevcXFqTLoZ[r&Ȃ2eBAA$i{f\}hv)dA ';ՠ+%'~=^`e YyiYE4G~y@<# ͠>Zȑ`g'h_#i2F*ZKKwFوC󫵢<\Ml&)[P Å=<'L _AkxNj!([_JR16pO4ޛmr^Ƌ6+Z&Zٳүkj*Rj7.{ii#6[y|E\j Ysڤ#ބM_r9Wo(TH9]oNhdԹgMŇ=;Bǭ^Mϵ tBd3,@s( T7A[k:;HEzYnR}Pty+xIOP_Cۨu\*Q U q/ҫ2|hpUs$zZiwhgVa4qTϗEG41sgsIrA;ܴ0>T;.BQMi<ӚpvoqYZ}䲻H0:#gcqrj@bǓx%d ۈ\PZ8&G{F2Љ'jn#NL9A ȍ8?3&khůHr`ENn}U-a>4XagGzTTǜ r$A=jA&F(yˌUBwЎ(kr(N~BWy@N V4q21!%C3#]Fy5-$CC=L,u;MݡC 97uX94V>Ywc!5mN[?zpXN#?:ձ$[Ilm?KFwBy4+kS%[HvjPYNf-6",rJ>+;.Ozd!`zղm9e YrG4ۣ$yWQfE֓ :u;:TNC<)@QhYS\ޯ1ϓV'7'uʄD8#jXo>asT?D12 }09E]1$eB@M4z\a+BwT۽ÛHN`{PWqkP;k5gkvU\a ~UbC1h-28u0ry QN1LbO+u,j) `wWvX m'֍4` Xɖ9>եNZzGޕ0TE$0r/Ơ5-u9w[lۂ:]G;g_Ɓ7Km{cֵa1L֏Ma  |'j:53H#Qۭ%Āg4:#J*ltO"Ie<ס"HtF8A<|X 'nw{o]N,}S |3Pzʣ,WwH130DMl3ch'A})|,t7W[R+qw"f%ƩPk\U| Ufݻ$#QI5RsR*CDCyxPITTh1Fn.I\p-8v\ByL K'͵ikȶтz V8;L< h9 ¡l&Usmo)<1+tN=Ԗx|Օ?h }2?@*yxر,>|?"<R@H{@ Pݓ==f#օ3,OHgl~u pԞF ':s68!OsSm{ >!ݏSI^˹"9qfa8ևuxU eQљq˟֡sTH1Gō b&:TF 9銰# ɡU? Cpx5{y/`bK䲓p9Zp3GJ(Ţխ]2bj;JԲƐ S=N۹zR`,<2 0ϗVF^@J\E}ޢ$(cҋqȣ˻9D,SҧPq%!f0=h@\J5_J m5x`|gv39,i[Mt-ƙ|!PG$0Oeg0NùS=d$}+zI݌jSSVK{[oijD۞F1] mMB9RM6āvf\fn2A9j+Hr:IjF ]HUF WȠ8!'5H 9bH t1+VܺѤe@jVqPg,=Cvv$e3,ğz#soJ<}j,0408Lgq<{:[BX~S+'9/IBG+ǻ'4sPj**3PMA5Ž*& Lhj`h:#W٪j5٦D{V4bpjda(sSe$$Kp+qwn 1qri^.,cJkbK @ZGSEN]yx"1QRB*wiuz}:؜UfZUNVφ?NC{ɢG ;c>*1MGO=Os2;vZ=?V9 K#%NMh}V| ǵR$eQe1+z}lͷƽ8]jffSUz5j+ݤ96OzONŠgx`w=rH`zgHң|Sh#8l w9=b+KrgԐܦINsޮfKxpּVVxk )Oi8+sH `cЈ*>JҧCJqݱ^8UOÏOZ{U:%b\6Wa95[*Bå8y>}nv$@>{b_qJf"85e)5dA ʟF!CkGo95uP_VQ E {{Wuto&!nHߜ.>c [i0+/ oZW䁚WC=9$SPۤI@iAhIjڴIJ҉CwMSj=ڮ#Ͽ֪OңuSGMrRhW$A+W;VзjPiȘ)FcTBڼ r@g!Tξ=ho@ȠIП ݨMs҇n!\>g(db[PvOZKv&NWN։u^l'l}:Ev":gNͷ8hpu;i 1b=䏄bS{OZ {Ax=.9mMVؤgPX3ym~Һ*ӵHS٨5 G>ZֻRST~:ۘ~(z"eYQcyT޹^>q H;[ ՙdg&O~k /u$p1Ij־ [m8YTXifiWSqҷjK(0w ajdZ4Ytx=^M[K$%sҧ$3o#J"8j)nAȄFln[8}%͠9qVK2%#~X|juM!9.h1jc.> 1ңFY*+x;`I=_p:PHTq]ǷҬb;T@)uI}ÌzI;Ұ\Kl0jgS=i9և}i?Jn`dxy9t҃ᴶ,>=!誓lK#d*§[I5{X"ߟT $XB蚴6 CozHolΣHs&FF+XExؔU~iJL\дRSgbWfA,AL戺1Ff>HHE[~+fZLSjśGmgJ{q\ܶ@N@))bvҽhP'2nd-]@~{S-Rv1;JҌHDӻI{ d-~KPw3jH&(t)0Gϩj#vj?+:ҨĨe8M}qQͅ$J!֣bfQ&+un{&/ hOZiOOSKڽ$P5m ?]^']xK㊟V6BbvT[Vv.wz}#Ř867{u3vZvB;Z o4X(5Mq GC$llȢ"VMJXm J*դTDcj-[mU^[S68 ⷉ5W?r>4IauH v N2XQfIAIr$nR&>%aoa,]ؚvPCw=Y%|bX|܊4|ԦQBYI i|el"EQF=~UQRiV%ƣK\f85mV(iX>z tVV['A9bAjCRV19֔ؔƟf g=uOϧqXň=hr$EFqHөh9&P\7hJPҼ˂I9u-gF iwMn & 8 _(DCEE1\t]MZ9JRc*8u8~DU 1 Z^ƶy ^%˘4K %ܮʎ=s]q#=NGzw␴&cUHS' ?ma"8lyi 0Q4AK̨4B1 @qpqY:݉ P y" 8PYGS^ځ&x}k}$Wf8kcMg<ϯh[Mmn gcjSb]ñ4]2ѢHZUCZg37o.P4pK +z΍f[N**# kАInzLĞԶ>ە '[*,cVˮ)OSf{U4C;vPiS ǭFm^ʽkFs q1XP [$+Q=Ќ+R 6L=I6"H_J[Ź1M>"d$^8ވ%̛B@E'=hGc:ٟBfiJ>)nuhqfIq[jo"9w2 ʸSA5 PAFrEiX\d8܊\pUZ0**T7CTc-.wT|j5vokG݌ ]Vxk[ 3Ӻ|$c[x5Đ B9nsNj`0=+\^Nf$$Rkd|dฐJ(yT֟f:]3<) /rz-@@nM +cM$暽eghץ\c 4L0Ȭf4j pycirkuit-0.5.1/pycirkuit/resources/config.png000066400000000000000000000151461362435125300215630ustar00rootroot00000000000000PNG  IHDR`T-IDATx^ Csq,W*x;Isk޻7g3眼wu͜9s>庮vL Q!lltI<8Q8 J}n_rSG2T,ۭ@iccw:@ӶU4zZr9|K3hM5h`g\_ree%u[[wxGW,M!+ hM:Q&WDC ZRPT+и)Xd`S4P4;;cL}es^} 5U 2Γ^FA4X$_nfl jIf eRK =,4E|:~"V޷-շ#n n2 QVH"1%\EDy!!< B0(񃤄f,b82!&;a;(W H)NYm^TR213NŀPE%dx81'*L^ހ"7*͘@HjXLFDKST)KdWStX0|Vd ;ߟq'ݐϒMةMʁl*IVBARn"ou)Ӭ(!%`44C{ AI eAw"OXϿ֝`ᷛpKl4e>I KE0^]}dO?|'~[㘆m.C@M-!o8H_C5ug㩓_+~pǗKKK/̖ !$Tڙ%E.9HͶmGW\xo׉,KFK]dPBT&C7Ǘ?VgW?kןyd8GiW ڂzՖ5"Pz~ʫo`uvWД#3J#-泳|qvi iz ]$LUa pttxCWU {X ܏s e'o>{1tM Y%\r׎7qzT9*jǮ[Vm_^m[ѷoMZLy vȖ.PЌ8y\:;c "U P_ZQQ Dtx(u۱cǠGyd̙`$9[hԑM3m-uml0`@S_}uEfdf\dnݺ+.f0h#Gx /w} !GT =U=O}~XILsqգ)[YU hfΞ= =AхspoSq; 42zWmmm$C lo6la+Dd1h8d$c_$DSFQ! E"y#C n DżqUTWWյqFWdZaDSҐ6q02MZjSCh8uݍ2x饗N<… #FG@E"Ơ!K&Әl8CҌl3#ydM3x&W̙3G:t(LvX?[TFϑ -_O?EXp M"Nd(:F)@):r,LnJ#B#*qM<' ^ Cr=xr2БFnlㅎ{ڒLRB_(/EPIZ[Y͡#EϊY/s|ظ\)R]^4cDIQX8+p>qPf=%:d0©׽{"56m®aP{gQr2dșX:QK*% D+%i!p}:B+W7N6AܓO>/"tzSyS]j5RK-O Xcp)L8 C{=[l 'xF iOS})Grh$3!AZRC`?Q^bz &dCw9t0Ɏފf#iD SR ň ݒAs=ڃ>tO?3HxM~p!x"DBn'N"E%n9*&MmaUT{;?nU+G* \oƶmz?sРAUw҄ǩ}% :@#5G4]7DAleQ!KG}$AH Fd'g͚oxbNL A7!r bN(-SDZ~18VK%Rb0W4o Ɂ Cy]Sj={W9r_2S#/q \c݄(=B%QFݼy3Z|ȑ#G;w.ܒL>p]~iAyp .3ER_Do+裏=z G^~eiR#ȄTYRXEOlxUq\ʮ%qӘF丰)Hjt4!H1kI,"OiĈ? iGy8|Ijwة.@ h@6bԓM ? &FCpȞ/bAY@Ѵ(=}3$ݧ%nY6#;ͨHȒ={6633f,X/HjV˩GnИsrmܸ %anS-Z41a^auKY /*>yi}yKm yj#hҭ䑂?>N9 nfn\Wkf=U/S`3ZH uAX$(T7Xt m!aMB׌$AeyWpxhThe@̌޳W9uv)~w~K\K}Gp~9އ-2['HA>(KZ[^մF$JG8ٯδV(T$7[z]PD&-FkTo޼y4VСC1`xfp~44 0q`CCփ(TPG)BΊ|君NHTaawyM7a$Hm]w݅[[̔@줆|ZU^QYUWWQ[XY.;Ljde$L;dtLA i ,Ȋ藀xAC&=3kƌX[uUˤ\AJ;jjk%˺;M2>v雙9<.!*SIJyCGBZ͟?:> D0[qt}f.g[UFWv^$_;nZTLq}[YwFO8tϧ[">%Ar_i8e7u7-D<,ZT Km"fQSI! EyZ筓L쳿,O, eV $zhӫfxqXDdHTu3C Jtz K]x„}3g~C՝x;K\2I6cTأew:BG9+Lw@*QG%Qs u~-1EQCWGǢy7mٶp?紀AfK]uj"ú{G(9J}7:*?v5"ϼL&qagŏaEC&xKECAQ`A)ăDm{fd3$e~Z}{zj 4(_ċ>=1JroF);3_Ͽz/k Kf?L@&%ZLt+?4z.^bĉQ2Aa!v(tb,8vq3HDϊ&WbL`dd8ATԟyO>6;;60:$pBcBegilJn4Y<> d@qRUFu1~#Fs/u{}p]16B =4TU ?@"}<0L #m6wt4ȥȐ PFNg Tvgssrr|{{˗'vwӰ"c8{+R@p?{KTtۗZm)]ᯭfVg?h#7|Ed\)$ΦǪɩɽݾ\"lr[ 6=\vAJ,7o7"!@HOʼ#ZJٹXFNmtͶv䶠GȞ~ȡ14ilJD^ _>ځ1m.!KU"66-cj@)TJ`m.= Na4<|A5oP'edq+2!n6Eh`PPqH&V"PB?ms.W""<~=4n.JbV;Z! }yz{XVVY&\4iBATB&U2ߟ5ż:PETd7_UO8 K--} j 2('Cm4`jZb,FĨ\@ H4unOt,6<4_r:ácSoUkܳI\-Jxw7n@O?[%; Y= ~)JwN6N{<:nK:};:݇-L$7CDB)\x=x &Z!o~j#=j@IENDB`pycirkuit-0.5.1/pycirkuit/resources/document-close.png000066400000000000000000000027721362435125300232400ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<wIDATxڽhe_{yssns:ufNmЖs_a4$3@PŴH_S0, ZS6cKΩn߿yzDqI)/ I[|[[$Bƀm=Ժa [%N%x;;v>=օ ;|*e,J)O @z4IXjVd9˗p칃=CJ1)8Tϩ_b!% fNM{ K ݓ')T8*]$pǟJG V $!p)[%%lFϘjiڰr8U 90vbI%9Dj!zϟ':0z{8M*N=yo19y [RݾK(x-UVٛD ׋8^Tl&x&7*^5zq}-"EݎfE6b$pK2:4j)"`dTq\AcS'A,y/&nbjvRl=E0!dLp?Mdsֽѝkɚ\ƢM\ZRJ?\}t2fZ|/ƈTG*R;CLY`YBpxvp!Ιed5.p C<>7w7.h .&;`rrrSWj2{?tch< C/o05{6mx6n$^w0@Ƈ*KD;> \RRF`vx\斗s3g=uND MϰsFw-hUAgnBO4͌b޼yLTWJ|\.sQRR ޗ>`X9$$##ÄPVVapXl?XBL)DNWV<>ĒR&*O#i0&MyK&N#N ZfHl_8#v Ҹ@&TW'!Ze/Вv +uF;½{y>G5]nٶ#68 &UPYH95|c[ qCp wݡ}KUOҴ200 ፻S;H Lve{'H)MƍnVˡs߄̭/iوhw=_3w|K X Rvj[ĨIENDB`pycirkuit-0.5.1/pycirkuit/resources/document-edit.png000066400000000000000000000031611362435125300230510ustar00rootroot00000000000000PNG  IHDR szz8IDATx՗tdMdll۶m6ql'tlc'괭nUwjOw98[Wc}Wr]w=KF 7;9-<0//%7usC?وmVvH2.X"t7u#g r5 r1/Rt:VIћ}L8n9)SǗI9׿N mۈuzNEoS0 B!?\ta0k?{l;Ow7&=8\h-,5/R+Ƣx"\wLxbw3#=H\ nvr5ߘF~ EW7zwL鉫B\Pyq3KkǛ0d//9ԼEG,E7BS|7xv*g=E-i#//5554^`!F bQU٫Խİ^w^$x8z1o&1ĉ.cr___4t $G#77J4T4j6j# fj+g}뮻FH8DcV+kN^մUf*g<{BtU|$ƬDll,rrrPWWcxxxT`\ sאU']wr4L6sR>Ett4RRR Y!*;#,'ƺmox *oTM#Ȏzƙ3g}bl9AV] 0&/`rщ{k.DFF"99М`\lT. yh?6&9s56m܀ԩSb9oVޢw A_A1!XWرaaagN'a۫3Rq_}`'!rIV֯_m۶(++CCcl;ʫuq)%2g ϼO^brub-oغu+lD:vh&˓O>%}0w52{.݋B}9grJ;v;}+oim]G}Gy.d?MYF:?v'oތȧQfv.J^V]f h\xA(3tIs2 | ʅ)d'U E-}+/_I_S?GXS'*n'Y9i So2)IENDB`pycirkuit-0.5.1/pycirkuit/resources/document-export.png000066400000000000000000000024361362435125300234510ustar00rootroot00000000000000PNG  IHDR szzsRGBbKGD pHYs B(xtIME'jIDATXWAOGfva- ^A.VU[[P-pO=rN8 ))UAU&R^0;z묗5HQ;j޼]7yl0v!DUӧۆ "J2MnR)pz$'c[8 ě0 `Г?xv+91״=caee]]]CIYS!Së{^ea {x K$OK~~_V%b{{eAI 4(VWW@Vr\pqU$ 466BJ\}}}B=GFg$?{{*=3iUq@ [[[{7773 j)PE<&!;:B6ETB!](iZ:!pccN)pp6 T0)"JJPRq`0HGHS@VOT?_(X,U^!I}NV^&Va,prrR4kǁ @.i( (c L"d @ҲDҥw8:Wm$&DJid"_(1&G{{{&IpFӶlroy!: kkkb|||.Dtn;@ \@Ѳ5 dL淅_ '] "DT9}ގ]PKKKYÕ=w:!7"; 7xp,B2eYItջRR XbyOZs^ջ3 vw*+@F#~?I1u v"T>׳lʹjJwvODN7o~ǷXEJ)EXUEy}=3={^gy9T*X,1ܷ?uyBD(JdBͦ_ T@J AJSlzvffgBԮ~Νf9 K6!']\ WTl;p/ ;YIENDB`pycirkuit-0.5.1/pycirkuit/resources/document-new.png000066400000000000000000000026021362435125300227140ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڽ[hTW=sIc TBH̓V)B<ߤD)"ڂK DQZO-ATm!7zb.9gfw8=Lp_kuFR_"z2*؍A &8)Cc$KnP@BzGc7(g]kmkËhhӃ5\8,~W2c1uB*%jd3Fn&q1eͬ[+zy[__'r44,<b8!}U65m1=6z TSҾmyF,B@AdUg onEns9˂ht &䙊⩎|e "6A³*`yXq$Ȓ@]~X @/?l&!c<C[FK ЭDa& IXO0R dxX Z)d2DQH#ߕ>Y^8$%`-Mjq i hむ07{AIØ& 8I,*xj`gcƘH ~?,gXdI7zQn.4r-u 3k_,3L(i%Nڭ@QcV^Y PaQ2S0h wG~.RkJee%՝lnn]R)? ~ugtTx ;ИnկJ7{&pc N 8Msv`rHm ›崶r!|`tl [PY&,Sȉ0( +*  |h6}n=2(a,(t:aO*i3$Vhu]M@$ɭ {UƗ;{%PYI*"fddҚ8Nٹo_LJ-ex 2WY ~:2S{7'm]Bw?>>?sޣgGzUX,4`pFpwE^ K d%;bCTr3?߷طyqgTM>:pv}qS˅|C9Y8 "n׀&g$jH+IENDB`pycirkuit-0.5.1/pycirkuit/resources/document-open.png000066400000000000000000000034061362435125300230670ustar00rootroot00000000000000PNG  IHDR szzsRGBbKGD pHYs B(xtIME4HBIDATXå]]Wk}?I2CD[m XMi$4 _P_EJ A$-YĈ"#TIM Ȅ&$d&3w{{N*)nrgkk=Bcݻ377h9zIqei++v{yv'ok~m af(˒pHcqq>||mӿ=sLWoXDPUD5A V @.^hNC9|WƑդ7i9UZ 2=3c?۷o?{#|񩿞ܓٱ*,Ldh F✳?~bC`}߭^uȂd@{b~yjJ};v {P@ )G~s챿{a^qz0 U,FDkSUbLk`&kk}~<ر烴:w[@F`F1bfʥZ U5Q[-53r|9Ѻ 36TBu57q8pjزe{Oa){];pCW,ݴ̌рݵ+fa9GezzN@ۅ[ٱkeq?4__h0P bH,Gzlurn`1kRpnb]<EQK޶_||{'!XaD(FIJT@Q^EYb̈!P@Y!Ua%07EFň'>㿿D`0Xg5,"IX[K}.v ҟ%ZXʎ #]yst;hFyP zk d>e.w%"{͛qY[^g~7 NOX|/-;i8s -u|O>((#& .\Zq! 'PVL 6*2%D]w^_&V *ʘc d:I7@di <E4h[ %h)$S!Pūu,Zm3Rq^먄D5* $b3 fK)$ր-IٰCNm攏3-Sf!V "XTm'sJ$-JF l(,C 9B'n"dy|`JVǶ"w%\37Sĥm`> uq" 'ѹrfa#kljڝy;6};t tZsl,Y|fuFc KV]Ç` Eڀ&P8[cgA]T)BĿ|h>,d@GWZUBȵ^5X_c򁋉"$UOy ki^jdM#2r?F݇cöPScr*:Ny,-(:/y ͊QՊ}2РHj]_\# b.E%VȞ坱/:9[< ""*f,X4A``bf"1U<"b*M0AIMD$"v_CIENDB`pycirkuit-0.5.1/pycirkuit/resources/document-save-as.png000066400000000000000000000041501362435125300234620ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxWkpUonnCI v4EZ1L[V[0€JCˀm;@ mGej -Mt*㨥*L eZ0$%BH>rO=瞳w&65Ov߷;2c ɘn9< ͍GV knYE5H,j, Ѳ  HtGg6S(.."̛p rYCf:Z]>ϒ, ZJ#H&ڱX"fG?X(LRA^tu?jzŲ 9 +'P^.yYh&8ExnRq ;S$L1P5܃ γ@e@2-:w7{5va-5GBU6ᖕ+a1+3'f@OFa B.uC"FGqJd"6M0kz L˜ň7-<;:=SGPo l߸8䭕յ %a(MM z8`z4aW <{TR?R 4/O43m!]cPWЋӈk ~u>!L_)h/9X G{o@UU~huwJϐ);3wFYF3N4$4R<PXDYi]`^S))vih6Ψ:#P1۞x/> EH'I_#4l:oC$=u_}аP[|C/>9 ~iI eyZiSMCoN9¼.kxx4$Ȃ PъOtSq1u+ ^]1.Bi5' "ڎZ]Y95}Qw<2-HZMU.BpL5WDd<`u!9 hQt%a 'C׃K/0S]['=jO~z ŠV+8[I}k@X^?):50Mjқο0\`ⱊ/+0.saST, ,_ CZŗtܸyV(>2o3 ON( KS((N)x QKD-(dg0!#jj:   l@G$ +L"({4tࢢ8>|q$ +¢K $9_BdEdM FX_/z`V ǁ1Z2a]4M/I |9ߞv>46˗.}P־RU-E&ωP( Y+2Mv,^lULƣ?766~gx0 9=BjDП>(h*]2ѐC4wh4<"+츮빎(]a'/8"06}۱gxX`:Лap 壻f;4GTOD#K@4յ^xψȝL&5pgߚғCIENDB`pycirkuit-0.5.1/pycirkuit/resources/draw-text.png000066400000000000000000000011261362435125300222260ustar00rootroot00000000000000PNG  IHDR DsRGB pHYs B(xtIME 6qS[PLTEYYYjjjhhh(((xxxiiiddd\\\kkkppprrrbbbccc(((111222999:::CCCDDDLLLNNNUUUWWW\\\^^^```bbbcccdddgggiiijjjppprrrwwwyyy{{{~~~8tRNS#)?F! bKGDK%Ini=HzpZ$IS`o`Z`1/`6`2O`4` Cr_8@v,~NvTM' B,|0?~"_C8~?/5T&3>IENDB`pycirkuit-0.5.1/pycirkuit/resources/gplv3-88x31.png000066400000000000000000000051521362435125300221360ustar00rootroot00000000000000PNG  IHDRXc sRGB pHYsҼtIME 6K%dbKGD IDAThyT 5ZVIPLE ₥KL F!+([!`de@d߻((X(D5 ٜqOǗ,RPWukz6SJ1R)Mv"pL7GeBKXT8,]9B8-Bk3>+BqX)w -—0̆]eO n­ [+>/Pq# 33,ScMr(mGhAGc@xWj_ wB>Z¤l2l9m:-|U:3bh`-V6b@;eVSCAds#*PhZHIZ GNIN@Snc.pxߋP LO} <3SkZ tw0L`)Yv` 6,pDw W?R.1+] {‘JXl;V;"pz <D퍶O…1覰Alzp5&@_nm ?e&n3W@:BYma [ۄ{T`K=+|~ۋ^-k'MAdsv(l%W:h+S8P)5=`uZ S64-p8_i -.kbSnO'^' Q [0 5s9 _+,hwHfPl QoXH$ZAL9 ~C  MoTchOL-lxw\5U^1qTYA!.B8G8 R1 XNP(8Pyڸh^Ì> '+|l. gf RؚZ*U¾$jsC$ij^:U`_ 7ObF\sޒ 9с)1@+cAhA". 0@`G^Zkz3DǪ﷢28hB.o5c454h$>M,/Wz|w`px+E}` @)Qؔ޾#GV-L)[ Sx' 7J''G1VV mGFz&Zg R[ 줾6&-=YjlT4YuhaC%ziu@ M ܒч R>2m#zw/w{7ˮV]5Ըf 1"G5*0QQPׅo+ZY֣z-Ę{cˤ2˱a褃n ֈV"o#q@ *l<,~EEEƒ*Ud}#pYJ3k+V?rM?:Wzd_&VHB5brVfQ$ߍH:6ӴVf$;#*@v6lͰ&*t3*&Xh.1u/~~*>'0ߴ1}&Ihyv]SB $!0: 6zDr &-&?dJlMx2)Skr}d|L>0]~gų>';iM,tVN NY4V<6|]JFiwUPAp1Y[!p]Y!> l7߰(P]Ļ-xԹ5/X%~! `ˀqX&Х:Uhp1igUˮ94Tg𧪬Z)$SI B'$vڦ]+ysG]>:'0S}B# hrj+ҴD* Av [/evV}3+`U}uP2IENDB`pycirkuit-0.5.1/pycirkuit/resources/help-about.png000066400000000000000000000031441362435125300223510ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxW[lTEvv-ъHIH4<` b (1(>-.4b#.*;vwmz&)v /~ɷ3;;s䜳L#jLQB(qd00(A!Vc ƈ1KL c[JfOPɕV2 kCvTM O47&v.׼@2cKyh*M/jU0t44h`"@EO2WG8k2!#6+}pھLƁ }iXZ#@my-/ ]Bֆ;`XCJ3j:y|8GYؔ0$\!Pݳo:xtmp"x s͖!(C0zS>߈c8C)p5P B7uC""f{ԙ>ص{8Lݐ)"~ Z`0JȀ } OU8\Rͽ81w1­`9G>0xHD]~'QD-amt]Mƀ  {5f1F@XH,0"HHj-.P鬍q7 .* qxwO=3L,f:Ea41 A3;a۶4N|pZEآE:Ύ= : Rj(6opx+' c eE=eq"TܯzrFٗR6}JD*6"ޠ9iX%QWB' e EޙsdoC>}؀)&j' Ar MsUm5:T]xh>XsѪjDR|(R ׀eS E׆cF.:[F0p@ ri d^q1cDZ2ʃ0pbbpAsׅl5urw&g6ѵɅBYw 檇YpQ7? 6eO6IENDB`pycirkuit-0.5.1/pycirkuit/resources/hi32-app-cirkuit.png000066400000000000000000000030031362435125300232760ustar00rootroot00000000000000PNG  IHDR szzsRGB pHYs7]7]F]tIME ?%bKGDIDATxVKLTg̝ e:`)4nlIji4]a㪉1j]5nHMIlSct 5h BK( 2O܉E?s= ;L1;;sxqa|&tjOp\0 C..Cn{#xH/).Akk'nݪڳg;N™3glX4ZaiP]G"*~k `ܼyǎC:AssH$c(8{,N< C442$J<}Ӓ3v\r#;?=hzw8y3Lx$KR)K!LJbNNMJPrʾɃgii) FnXʕ+PS=_+CuF H"TUݻw6 辌20aGAAU]]GTJ>_'%X\\ĶMq=bo8̞ȠF TTT(j ϟ)$s Y)ʙhiiaNU= W ';44rCD۷P(DBJPj"XLb.Iw>(9'GZ)2d*\bI>ݳ Ĩ؝;y{{;|.T[v@YנAv+YsvxxXPuaxje(?g6"bhܹS/--I(ޱuȑ#bƍnB1ݻhkk3eDa:8sss##QR K,2A-΂i#iY,g\ڐ 133yN֓57g7$xm3P=rQ_P%󛩴PG|(F<lKsKTay}XLe1Q6;;+6'J[{?155r|55Y6#efL]vIR)x*{(//{IV.]}N6jPy_ P=&l`E6l۷Oش!:o"d*IIENDB`pycirkuit-0.5.1/pycirkuit/resources/hi48-app-cirkuit.png000066400000000000000000000050371362435125300233160ustar00rootroot00000000000000PNG  IHDR00WsRGB pHYs a aJ%tIME2b@bKGD IDATxYYl{{ls(!,b\r\ )*"!"+l^eCu\^``>g3ݝcfj"~Tj= w:zvMJObN4+WʎD@ \,pޱ EsZaayر֙3gb`6+$&[:uM: Vb+,3A@ľ0q> `CCS:oFI~Mq0Ka>|UVVa!ߞ") a~s inHzvKڟ%S)%[1NPsyfў4~x+^"Βy$/&~Z?]zMRU Stɓ'I-}74F*탴|j]UUqiv]՟#H8[CWϛ7RB={6Qb7o nѢET]NC)F7l@|@gWqxa`U>'4d^G:wH^9u4͙3@YP؀$$K &'B8+b83 {adaąK!|(CL9ƻ)qc8G K+W и1X4K@c0)5p4/I0"}2'ܹs`ɤN/7PIIrN!?4D!iKa |ҟ\1Ek`h0HPӧOaߞ߻ReKo a,mk.\Hׯ' [IW* rhb|k,6'E/&kh=ߓxӦMl2Ϝ9k$Hpď\<ɻ>iIL߿Onݢӧ]"$ '1Qqv ߀F\ğoh+?(#Mĉ~ƌʎ˅e.\@XeE:{,۷WDh mEX /!N~!L&9r\dd$2CIVXƍq\#ޥ!ǠT&>vbw;FL !ivUf` ߱hɒ% &sD5:'z% Ogbtk6Y0uQ}F1M[(T1*h:$@ x3X+*v_XG9P 'LcpƲe(';Ǿh SoӪ}U1kD JhSL' w CȒgo{a_fHY?B|;w.1CK.E M@ zen8XIS քaپqda'V; bBA}0CG2gBr7S8!߅\)a\ެgl}Bh JmBA,/)Mh6|N6ylj+V=miPLP@` cB &d21ΛDBmf}11DIHȵ{\=w\{VF*k_V2\pjٵkDzK5JlܸQZqоg?{drd"Be]x9r$=4e'/_xbkTW GUUQ1Μ9RJ(//yQկ )<3W^￁*ٳ-WyS~L&#|q|>̜0aݻv}+qe˖!#.!^HSKPP)?/Z)/j%U70r0u; }JqM3AxV<={T< ~mBO>]&rĉ- :Ԙ{3rӌ.rbue ˚ Ba[T_Euʼn2VX N=uTs=֭[m6tg]I篸1**.Eu6{ZhxV|74]\,#lvJB { bS]_\f2:! in~=OSdm ~}P 37 >k^Z屢^p#;wglZC&͐g-L-sijii`ƚs~5@2Ӫ!aN(/9wp~8F55gbUTIJ0}h ;h0X5cۄqW]yG1y;ou )tSWZ+,ݻwӼy̦\| .М9s4Gq#u4ex L8@Ŕ b9̒{:b*))<+ Qz>,Ubu16aɔj(JIe?CcRvZf Gh);PHXRpWTcm Jي JO@XJcX#Njժ7{-:tRrPiM5l[iӂ={Pq*/I l5jT93ڇJgұi^sM:M,ntttѠ&p bv%eGF~,\pD4ƦlM+ތK~"?,Os =,,\WWG'O)2e ?~jk/ѬY|.oϧs*yqəʰ-Q+J$b&ݞ1c;wNXѣTY~Gxv/rb 3EuY3@`m cJ0ʄD9ԬQo0}=Dhr.~JW8qQ;:)7'W+;,_d %ةyG}D*S1CEECTCw|&i\]|˯ +~YFUdFQ)1aXMDZ- %RScqփN9'M5K/QUUsT%.XZCaU\%2:j4VRv?X:Xcy.F@D\7Xwo:\_r(V,؃ :&X@c:p,`LK$9-ǭ Jkq? G+H SuMn@0&$5u&l/Q|<" US:TLF Ol8W%z ϮFQzkR8J9^DӠ+`@͠LD9{,ݻwUYn׮]KUG/XB]]] 8ʑ*$Wr# tFjYO쳧<!~-+ވ@9arsc{Z9{,"wou]${(9CW5\wqxϐU2\~BW IENDB`pycirkuit-0.5.1/pycirkuit/resources/image-png.png000066400000000000000000000030201362435125300221460ustar00rootroot00000000000000PNG  IHDR szzsRGBbKGD pHYs^tIME#;IDATXoWwfe]ѺkvX}!44II( E|?ʟJ[hD*ZV_ jIqS'm;^z3sÎ7k; UKt5wf9}s{ƧX,/,,szXt\.̌nM.9뮡XmNoihq{H3yk5ϯ:|lefDSI xY SզLVR._v&9[8 josb1XzzٳgGժv3̭qlLJ8j5=s:qjn߆nh|ɤ=#կ=x.{x[obmU c?<0 \TQk76r#v9E 1Л<{(d'l>H>i)bx3 S199yn8 ƹ`[IENDB`pycirkuit-0.5.1/pycirkuit/resources/new.png000066400000000000000000000017401362435125300211020ustar00rootroot00000000000000PNG  IHDRj sBITO pHYsvv}ՂtEXtSoftwarewww.inkscape.org<PLTE11-11,>>>+  &'''((**,///111227::=CCCCDDGLLSAVVZV\A`YjipirY˂݈݃݃ي֚ךܚhUw*tRNS "&47>?@IPpqstwZB6IDAT=rq{% :Fg :Pe*=QYC 0ɽuN g|@]}i?ɹ骖ޟP]td:gvN*_׻g,НtUUՕ@jHWWWe_lu~KUwwUf]uf|={XzbPՕDdNR5BD UDļ f_ !uo$6+ӽ?`Hb3O>͏~ǯ\8? dC^IENDB`pycirkuit-0.5.1/pycirkuit/resources/open.png000066400000000000000000000020621362435125300212500ustar00rootroot00000000000000PNG  IHDRj sBITO pHYsvv}ՂtEXtSoftwarewww.inkscape.org<@PLTEdxSezr ... 111sqhh[ZjNLcY~AW@ԃZZ[[[\]^7zcf6zil_rs-r-s/tLsabef,r/tAjXZ_`dghiiikkmrrrtuxyyzz{{|}}}~󀖯䀰셵捷ꍻ쏷鏹쏼ꑺ蔾ꗿ옼蘿BXYHtRNS $(;?EVF)ԩɴ CtN/̩4"E߯~"Raw +Pf(23 ,Ѻ6fb^a>m#aY`!pIENDB`pycirkuit-0.5.1/pycirkuit/resources/preferences-system.png000066400000000000000000000041731362435125300241370ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxڵW Xi,բd<2.t*a !bZU!QO"+;;!!(,8ݺzTP8w)rvv3Ç%b=\\(!\;q%RZ5?ώTJdh<TL*y]Ϟ haǹptrč7@ܿuh;Y+ZZZ!]$;qn%r3/אg xy{d۶o3܂r:d-0Ri'O@sss{Dykh2S #*j׮]NIIMtk=̟?7N>4<<f& 0cGسgO===ljyjǖ3KB$ ].6AQ(C>MMmP_JkuHl05@jj(]FFFHnOc.NDtEC%d\4įS1D`l]SUQQQ=D2d+Mmҋ cQk i1X٧Lu`xK9Tכ=<<~:,]ҫ111=;wfM` 5NVڳ'C9\"j#H'.C7ZIY3ZPz u1e hB''3F(V)0;Y}m?FG6Y@uGNtٺu")]\"""@헗X \ILRVU۔1Y9LEԥ2dy^Y L͎"/'^v3{)}F}&侉zVRK$"ޠ\ ) \b}͊? ŵihh&vttܖX`wnf(h=i4⏲Lrrr4ߺu>(jN:8a[.$cgn1g9~ 'ݏUb_HE(Ū&Q,scG'}{~taa)aLe'!]1?lĜIENDB`pycirkuit-0.5.1/pycirkuit/resources/resources.qrc000066400000000000000000000024361362435125300223270ustar00rootroot00000000000000 run-build-file.png gplv3-88x31.png application-exit.png application-pdf.png document-new.png document-open.png document-close.png document-export.png document-save.png document-save-as.png run-build.png hi32-app-cirkuit.png preferences-system.png help-about.png draw-text.png image-png.png resources.qrc Configure-General.png Configure-export-image.png application-x-pycirkuit.png circuit-bg.jpg ../L10n/pycirkuit.ca.qm pycirkuit-0.5.1/pycirkuit/resources/resources_rc.py000066400000000000000000011007771362435125300226660ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Resource object code # # Created by: The Resource Compiler for PyQt5 (Qt v5.12.2) # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore qt_resource_data = b"\ \x00\x00\x36\x69\ \x00\ \x00\xf4\x25\x78\x9c\xed\x7d\x09\x78\x1c\x57\x99\xe0\xb3\x63\xcb\ \xb6\x7c\x05\x02\x38\xd7\x42\x59\x21\x92\x1c\x4b\xdd\xbe\x12\x40\ \x56\x04\xb2\x24\xdb\x4a\x6c\x49\xb6\x64\x27\x38\x9b\x09\xd5\xdd\ \xa5\xee\xb2\xaa\xab\xca\x75\x48\x96\x1d\x27\x19\xc2\x30\x2c\x03\ \x81\x99\xe5\xc8\x72\x0d\xf7\x15\xce\x0c\x0b\x0c\x21\x0c\x47\xc8\ \x40\x20\x5c\x03\xcb\x0d\x61\x36\x90\x04\x08\x7c\x03\xec\x2e\x64\ \x76\x86\xf9\xff\xff\xbd\xaa\xf7\xaa\xba\xba\x25\xd9\x72\x62\x33\ \x8a\xbf\xa8\xba\xab\xdf\xf1\xbf\xff\xfd\xef\x7f\xff\xf5\xfe\xd7\ \xfd\xf1\xd2\xf9\xf7\xfd\xfa\x0d\xaf\xbe\x7f\xfd\xc5\xff\xf0\x82\ \xb7\xdc\xfd\xc3\x1d\x8c\x35\x9d\xcf\x18\xd3\x19\x7b\xc3\x0d\xfc\ \xf9\xb7\x87\xe0\x69\xc3\xf7\x97\xc3\xd3\x81\xef\x2f\x81\xa7\x0f\ \xcf\x8f\xc2\x73\x12\xde\xdf\x05\xcf\x69\x78\x3e\xc2\xd8\xe2\x4b\ \xe1\xfd\x83\x8c\x5d\xfb\x2e\xc6\xde\x7d\x11\x5b\x3c\x61\x32\xf6\ \xe6\x95\x6c\xf1\x47\xfe\x91\xb1\xbb\xee\x65\x4b\x77\xbe\x93\xb1\ \x77\x56\xd8\xb2\xca\xbb\x19\x7b\xdd\x07\xd9\x79\x5d\xaf\x62\xec\ \xe3\x37\xb3\x0d\x17\xbc\x87\xb1\x7b\x27\xd8\xc6\x97\x2d\x61\xec\ \x93\x37\xb3\x8d\xb7\x35\x43\xbd\x2f\xb1\x8d\xb7\x7f\x1e\xbe\xbf\ \x9f\x5d\x71\xed\x7a\xc6\xee\xb8\x85\xed\x7e\x16\x74\xf5\xe9\x0a\ \x3c\x97\xc3\xf3\x35\x6c\xcf\xdd\xd0\xdf\x3f\x2e\x66\x43\x1f\x02\ \xf8\x5e\xf5\x4e\x36\xf4\xa9\xaf\xc1\xf7\x6d\xec\xc0\xe1\x32\x63\ \x3f\xf8\x06\xbb\x76\xe8\xcf\x00\x96\x67\x31\xfd\xcf\x7e\xca\xd8\ \xdb\x02\x76\xcb\x83\x4f\x65\xec\x67\x9f\x60\x6f\x9a\xfc\x11\x63\ \x37\xdf\xc9\xde\x76\xe9\xeb\x18\xbb\x8d\xb1\xfb\x7f\x30\xc6\xd8\ \x27\x3e\xc6\xbe\xda\x0d\xcf\xe9\x9f\xb0\xc7\xfe\xfe\x2b\x8c\x3d\ \x7c\xcf\x22\xa3\xe3\x2a\xc6\x7e\xf8\x2f\x8b\x6e\xf9\x21\xc0\xff\ \x8b\xd5\x8b\xfe\xfc\x31\xc0\xc5\x2f\x0f\x2d\x7a\xed\xdb\xd6\x30\ \xf6\x93\x57\x2d\x5e\x72\xd1\x14\x54\x7e\xc3\xe2\x67\x1d\xfa\x39\ \x63\x5f\xdb\xb2\xf8\x85\x0f\xfe\x0a\xc6\xf5\xfd\xc5\xb7\x7f\x13\ \xda\xff\xf8\x77\x16\xbf\xee\xfc\x77\x30\xf6\x8e\xdb\x16\xbf\xe3\ \x0b\x39\xc6\xbe\xff\xde\xc5\xef\x7a\xcd\x3d\x30\x00\xb6\xf8\x7d\ \xce\xc7\x18\xfb\x69\x6e\xf1\xdf\xfd\xe2\x62\xc6\xbe\xf0\x99\xc5\ \xdf\xfd\xf2\x61\xc0\xcb\xab\x17\xff\xee\xfa\xbf\x66\xec\xc3\x6d\ \xe7\xec\xf8\x07\x80\xfb\xad\x97\x9c\x33\xb4\x72\x1d\x63\x5f\x7c\ \xcb\x39\xc3\xdf\xfb\x00\x63\x8f\x14\xcf\x39\xf8\x8e\x41\x18\xdf\ \x37\xce\x71\xfe\xfb\xcd\x8c\x7d\x63\xd3\x39\xb7\x7f\xab\x15\xe0\ \xf9\xd2\x39\x1f\x3e\x1f\x9e\x77\x7e\xed\x9c\x6f\xde\x0e\x70\xfd\ \x97\xdf\x9e\xf3\x9d\x9e\xff\x01\xf8\xbb\x75\xc9\xd3\x7f\xf9\x18\ \x63\x6f\xef\x5a\xb2\xf1\xda\x1b\xa1\x9d\xbe\x25\xd7\x6d\xbb\x95\ \xb1\x47\xbb\x97\x38\x97\x41\x7b\xb7\x7e\x73\xc9\x6d\x07\x60\xf0\ \x7d\x7f\xbd\xe4\x8e\xdb\x7e\xc7\xd8\x67\x7f\x0f\xcf\x7f\x63\xec\ \x73\x1b\xe0\xf9\xef\xf0\x3c\x04\xcf\x3f\xc2\xf3\xaf\x96\xdc\xf1\ \x0a\x80\xfa\x73\x9f\x84\xe7\x22\x78\x3e\x0a\xcf\x73\x18\xbb\xe7\ \xe9\x4b\xbe\xf8\x9a\x5e\x98\xb7\xaf\x2f\xf9\xfa\xf7\x00\x9e\x7b\ \xbe\xb0\xe4\xdb\xb7\x00\x3e\xbf\xfe\xa4\x25\x3f\xd3\x17\x33\xf6\ \xe5\x97\x2f\x3d\x7f\x1d\x8c\xf3\x17\x37\x2d\x3d\xff\x19\x0f\xc1\ \xf3\x97\x4b\xaf\x79\xf2\x4d\x8c\xfd\xaf\xd2\xd2\x97\x5f\xdd\xc3\ \xd8\xff\x7e\xff\xd2\x37\x6e\xeb\x00\xba\x38\xbe\xf4\x1d\xaf\x06\ \x3c\x7d\xbe\x67\xe9\xef\xdb\xef\x86\x79\x28\x35\x35\x2d\x07\xf8\ \x5e\x5d\x6d\x7a\xca\x77\xa1\xfc\x57\x7e\xd6\xd4\xf6\x61\xc0\xc7\ \xa7\x36\x34\x6d\x1e\x00\xfa\xfc\xc1\x2d\x4d\x43\x8f\x7e\x10\xca\ \x7f\xbe\xc9\xbc\x0a\xe0\x7c\xcb\x43\x4d\xd6\x79\x9f\x82\x76\xfe\ \xa5\xc9\xda\x0e\xe3\xf8\x80\xdf\x74\xfc\x77\x50\xef\xb3\x9b\x9b\ \x5e\x78\xfb\x77\x19\xfb\xd2\x85\x4d\xb7\xb6\x7d\x91\xb1\xfb\xee\ \x69\x7a\xc9\xeb\x96\xc2\x7c\x3d\xd8\xf4\xf2\xcf\x01\xad\x7e\x75\ \x77\xd3\x2b\x3e\x0d\xbf\xdf\xcf\x9a\xee\xba\xf8\x1b\x8c\x7d\xe6\ \xfc\xa6\x87\xfe\xf0\x97\x50\x6e\x59\xd3\xaf\x6e\x85\xfe\xff\xf9\ \xfe\x65\x4f\xba\x09\xe8\xe0\xfe\x83\xcb\x9e\x71\x3f\xd0\xd7\xf7\ \x76\x2f\xdb\xf9\xd0\xf3\x18\x7b\xd3\xe1\x65\x7b\x3f\xf4\x26\xf8\ \xfe\x87\x65\x7b\xbf\x0b\xbf\xff\xf0\x99\xcb\x86\x8f\xfd\x1f\x98\ \xaf\xd7\x2e\x33\x1f\x84\xf1\xbe\xed\xde\x65\x87\x5f\xfa\x00\x63\ \x6f\x5c\xb7\xec\xe8\xb9\x1f\x61\xec\x3d\x17\x2f\xbb\xf9\x93\x2f\ \x60\xec\x43\xdf\x5e\xf6\xb2\xaf\xbe\x16\xe0\x71\x97\xbd\xd3\x06\ \xf8\xff\xa9\x6d\xd9\x7b\xfe\x1d\xe8\xe9\xbd\xed\xcb\x3e\xd7\x7d\ \x01\xcc\xd7\xb3\x97\x7d\xee\xb9\x80\xa7\xfb\xc2\x65\x5f\xf4\x00\ \xfe\xbf\x79\xca\xb2\x1f\x4f\x7e\x13\xf0\xfa\x37\xcb\x8d\x1f\xfe\ \x06\xd6\xd3\xbb\x97\x57\x3f\x08\x78\xb8\x65\xdd\xf2\x9b\xee\x05\ \x78\xd8\x3d\xcb\x6f\x79\x0e\xd0\xdb\x6b\xba\x96\x7f\xe2\xd7\xf0\ \xfc\xcc\x8f\x97\xff\xe4\x03\xf0\xfe\x47\xb7\x2c\xff\x7d\x17\xe0\ \xe3\x33\x53\x2b\xd6\x7d\x18\xd6\xe9\x83\xf7\xae\xe8\xbb\xf0\x5b\ \x8c\xbd\xff\xd2\x15\xbb\x5e\x5e\x02\x7a\xd4\x56\x0c\xdb\xd0\xfe\ \xcf\x96\xad\xb8\x76\x19\xd6\xff\xfd\x8a\x17\xff\x37\x18\xef\x8d\ \x6f\x59\x71\xef\x4d\x50\xfe\xe7\x37\xad\xf8\xf1\xbb\x8b\x8c\xbd\ \xcb\x5d\xf1\x87\xfb\xfe\x00\xeb\xaf\xbd\x39\xd4\x8e\x01\x3e\x2e\ \x6a\x9e\x9c\x84\xef\x5f\x7d\x53\xf3\x0b\x3f\x06\xdf\xbf\xfd\x83\ \xe6\x97\x7d\x0e\xe8\xed\xee\x1f\x35\xbf\x69\xe7\x0a\x58\x8f\xf7\ \x34\xbf\xf5\x46\xe8\xff\xd6\x1d\xcd\xef\x7d\x65\x27\xac\x83\xe1\ \xe6\xfb\x2e\x87\xf1\x7e\xa4\xb9\xf9\x5f\x5f\xf4\x55\xa0\xd7\xd7\ \xae\xbc\xfc\xc6\x0b\x61\xdc\xbf\x5f\x39\xf2\x92\x7f\x82\x79\xfa\ \xc6\xca\xeb\xee\x82\x75\xf3\xde\xdf\xaf\xd4\x6f\x00\x78\xff\x62\ \xdb\x4a\xfb\x45\x43\x8c\x7d\xf0\xd0\xca\xf0\x83\x00\xcf\x37\xff\ \x75\xe5\xab\xfe\x1c\xe0\x3c\xb6\x6d\xe5\x1d\xef\xbf\x04\xe8\xe0\ \xda\x95\x9f\x64\xf7\x31\xf6\x9d\x37\xae\xbc\xf7\x67\xf0\xfe\x45\ \xfb\x56\xde\xff\xc2\x7e\xc6\xde\xf7\xf6\x95\x3f\x58\xb7\x0c\xd6\ \x51\xf7\xaa\x8b\x9a\x36\x31\xf6\xfa\x70\xd5\x25\x3f\x06\xfa\x7a\ \xc5\x8b\x57\xb5\x2d\x01\xfc\xbe\xf9\x5f\x57\xe5\x34\xa0\x93\x07\ \xcc\x55\x57\x7e\xb1\xc0\xd8\x43\x77\xae\x1a\xf8\xd9\x9d\xf0\x3c\ \xb4\x6a\xdf\xa7\x60\x9c\x5f\xfa\xe8\xaa\xb1\x5b\x61\x5d\x7e\xf5\ \xb1\x55\x6f\xfd\x23\x30\x98\xbf\xab\xae\xfa\xe4\x1f\x61\x3d\x7e\ \x74\x6c\xd5\x17\xdf\x04\xf8\x61\xb7\xad\x7a\xec\x01\x18\xd7\x6d\ \x87\x56\x2f\xfa\xfb\x0d\xb0\xfe\x4a\xab\xcf\xbb\x08\xd6\xf7\x6b\ \x3f\xbc\xfa\xc2\x57\x43\xbb\xef\xf8\xdd\xea\xfe\x43\xb8\x1e\x86\ \x57\x9f\x78\x2a\xcc\xf3\xfb\x3f\xba\xfa\x53\xb7\x78\xb0\xfe\x9f\ \xb6\xfa\x9e\x2f\x74\xc3\xfa\x5b\xb2\xfa\xbe\xdf\xbc\x0d\xf8\xca\ \x1d\xab\xef\x2f\x74\x01\x3e\xbf\xbf\xfa\x5b\xef\x86\xfa\x37\xbd\ \x78\xf5\xff\xfb\x37\xe0\x0b\xdf\xee\x5c\xb3\xe6\x3e\xc0\xe3\x5f\ \xdc\xbf\x66\xe3\x3a\xe8\xe7\xbb\xc5\x35\xde\xcf\x8f\x00\x7f\xda\ \xb0\x26\xbc\x1b\xc6\xf9\xc3\xf2\x9a\x2f\xfc\x0e\xde\xbf\xef\x3c\ \xfe\xfc\xfa\x5b\xd6\x7c\xe9\x2b\x40\xa7\x6f\xbb\x70\xcd\xb7\x5f\ \x04\xeb\xe1\x2b\xb7\xaf\x79\x58\x87\xf5\x7d\xd7\xaa\x35\xbf\xd2\ \x10\x0f\xc7\xd6\xfc\xe1\xd3\xff\x0c\x7c\xe4\xc7\x6b\x37\xdf\x0d\ \xf4\xf4\xd9\xd7\xaf\xdd\xd7\x07\x74\xfa\x97\xbb\xd6\x96\x3e\xd4\ \x02\x74\xf4\xdc\xb5\x13\xaf\x87\x71\x7c\xf9\xd2\xb5\xaf\x3a\x02\ \xf8\xff\xe9\xeb\xd6\xfe\xed\x8b\x03\x18\xe7\x15\x6b\xff\x67\x07\ \xb4\x77\xe7\xf3\xd7\x3e\xf8\x1e\x98\x8f\x87\xd7\xaf\xfd\x69\x19\ \x9e\x3f\xde\xb7\xf6\x0f\xbf\x82\xf9\xfe\xc8\xdb\x81\x99\x3f\xfa\ \x4b\x18\x29\x3b\x97\xb5\xb2\x7d\x2c\x84\xdd\xc1\x66\x01\xd3\x98\ \xbe\x1c\xd9\x5a\x13\xfe\xdf\xda\x5b\x70\xc2\x00\xc0\x60\x2b\xe9\ \x53\xbf\xa9\x5b\x4e\x79\x11\xd6\x6a\x65\xbd\xac\x08\x3b\x88\xc7\ \x4a\x50\xa7\xc4\x0c\xf8\xdb\xca\xf6\x30\x8b\x99\xf0\xfe\x61\x68\ \xab\x08\x9f\x64\x5b\x4f\x6e\xdd\x63\x16\x0d\xdb\x37\xb4\xde\xb2\ \x67\x18\x55\xc3\xce\x6e\x77\x0d\xb4\x72\x10\x5a\xf3\x60\x57\x32\ \xd9\x6f\xe3\xfa\xcb\x5b\x0f\x1a\x9e\x6f\x3a\x76\x56\xad\xf3\x5e\ \xc0\xba\xd9\x7a\xd6\xcf\x86\x59\x1f\x1b\x63\xcf\x67\x23\x6c\x00\ \xe0\xd9\x0d\x9f\xf7\x02\x4c\x1a\x7c\x3f\xc0\x76\xc0\xa7\x41\xf8\ \x5d\x63\x2d\xac\x93\xe5\xe1\xdf\x35\x6c\x2b\x7c\xc7\x4f\xfd\x50\ \xb2\x3f\x51\x63\x1b\xcb\xb1\x4d\xf4\xdb\x00\x1b\x82\x1a\x58\xab\ \x02\xf8\x09\x98\xcb\xba\xe8\xfd\x14\xfd\xcb\xc1\xff\x5b\xe1\x2f\ \x62\xa2\x0c\x6f\xc7\xd8\x7e\xf8\xbb\x1f\x6a\xf5\x41\x2f\x58\xa3\ \x0a\x38\xd9\x46\x6d\xf9\xf0\xcd\x23\xfc\x04\x50\xa3\x04\x7f\x4b\ \xd0\x6a\x0f\x6b\x06\xe8\xa3\x92\x3d\xf4\xd9\x80\xd9\x28\xd1\xe7\ \x2a\x7c\x0e\xe0\x9b\x06\x18\xd5\xe9\xdb\x95\x50\xe7\x88\x68\x07\ \x6b\x19\xec\x28\xfc\x45\x08\x71\x3e\x6c\x7a\x83\x7f\xb1\xdc\x66\ \x7a\x9f\xa7\x96\xb0\xf7\x69\xe8\x01\x67\x0a\x3f\xb9\xa2\xad\xa8\ \x85\x3c\xd4\xf7\xe1\x1f\x87\xc8\x65\x1d\x50\x0e\x67\x53\x63\xc7\ \xe1\xff\x29\xe8\xcb\xa4\xb2\x9d\x50\xc6\x05\x58\x8a\xf0\xb9\x0b\ \x7e\x71\x01\x16\x7c\x3b\x05\x4f\x1d\xbe\x6d\x87\x77\x27\x68\x4c\ \x79\xa5\xcf\x1e\xfa\xae\x8e\xac\x00\xd0\x96\xe0\x57\x4d\x29\x75\ \x25\xc1\x3b\x2e\xc6\xd1\x09\x9f\x70\xcc\x26\xfc\x36\x0d\x7d\xb5\ \xb1\x51\xa2\x52\x1f\xca\x8c\x12\x8d\x98\x50\xa2\x8d\x7a\x94\x75\ \x90\x6e\x8e\x11\x6c\x9b\x01\xeb\x2e\xbc\x4b\xfe\x3e\x05\xbf\x99\ \x30\x57\x88\xbb\x2e\x9a\x99\x4d\x35\x2d\x44\xf0\x74\xc1\x1b\x9c\ \xd9\x2a\xf4\x6b\x41\xa9\x68\xb6\xdc\x0c\xa8\xb1\x0c\xd2\x80\x09\ \x75\x3a\xe1\x37\x87\x28\x05\x21\x38\x4a\xed\x27\x7f\xc7\xd1\x07\ \x54\xaa\xda\xa0\x14\xb6\x3e\x4e\x70\xd6\x2b\xe1\x29\x63\x91\x65\ \x3a\x81\x42\x02\xea\xc5\x82\x1e\x8a\x6c\x02\x3e\x63\xf9\x92\xa0\ \x8d\x2e\x31\xe6\x68\xee\x6b\x7f\xe5\x2d\xb5\x08\xca\x71\x09\xef\ \x8d\x66\x4a\xc5\xfa\xe6\x19\xb1\x7e\x85\xc0\x3a\xb6\x3f\x4c\xf4\ \xe3\x13\x2c\x38\xb3\x7b\xa1\x2f\x5f\x50\x0f\xef\x97\xd3\x8e\x3b\ \x67\xdc\x6f\x66\x5b\x66\x85\xfd\xfa\xe5\xfe\x74\xf0\xaf\xd2\xb4\ \x49\x1c\x85\x73\x6a\xde\x47\x2f\xf0\xff\x80\x28\x5d\xa3\xbf\xa6\ \x18\x1f\x96\xea\x10\x63\x8e\x38\x8b\x09\x70\xf2\x92\x26\x8d\xc0\ \xa3\x15\x1d\x12\x57\xe3\xef\xb1\x16\x72\x23\x5d\xf4\xf3\x40\x83\ \xd9\xac\x50\x8d\xfc\xc2\xdc\x9e\x96\xb5\xd5\x4b\xf3\xe5\xd0\x7c\ \xec\xa5\xb1\x05\xf0\x7d\x61\x6d\x3d\x9e\x6b\x6b\x04\xbe\x1f\x81\ \xf5\x81\xfb\x38\xf2\xb7\x7e\xf8\x54\x40\xd9\x88\x7a\xc5\x5d\xd8\ \x22\x09\x65\x1a\x24\x06\x13\xc6\x3c\x01\x65\xb1\x15\x5c\x77\xfc\ \xb7\x7e\x28\x85\xed\xf1\x15\x67\x09\x3e\xc9\x4b\x17\x45\x69\x3e\ \xbf\x45\x78\xe3\xc0\xaf\x1d\x62\x5f\x76\x40\xa7\xe7\xa5\x0b\xb1\ \x1c\x61\xd2\xff\x36\xc1\xef\x91\x44\xe1\x93\x04\xd7\x46\x3b\xaa\ \x47\x6f\x7d\x90\x4f\xb0\x07\x3e\x42\x9c\x87\x02\xad\x70\x90\xc8\ \x94\xf5\x8d\xfb\xb7\x49\xe5\x50\xb2\xca\xcd\x89\xae\xa2\x59\x74\ \x69\xc6\x75\x98\x67\x2e\x3d\x54\x88\xc6\xb8\x74\xd2\x05\xff\x57\ \x09\xdf\xd3\x19\xd4\xf1\xa7\x43\x89\xf3\x47\x6b\x28\x55\x45\xfc\ \x74\x61\x5d\x9f\x3e\xbe\xba\x8b\x56\x9d\x45\xad\x56\x69\x05\xa0\ \xcc\xa2\x13\x34\x3e\xfc\xb6\x20\xbf\x3c\xde\x3c\xf6\x54\x78\x9d\ \x46\x70\x73\xcc\x14\x41\x1e\x1d\x5d\xe0\x64\x0b\x9c\xec\x0c\xc0\ \xe6\xe3\xc1\xc9\x76\x08\x3e\x86\x7a\x78\x2f\x41\xe1\x91\x6c\x82\ \xe3\xac\xc0\xff\xc7\x08\x4b\x3a\xfd\x62\xc2\xa7\x02\x94\x5c\xe0\ \x6d\x67\x1f\x6f\xbb\x46\x8c\xc2\x01\x5a\xa8\xb7\x3b\xe1\x33\xb2\ \xca\x44\xf6\x1a\x61\x95\x8a\xec\x70\x2b\x3e\xd8\xbd\xbe\x7f\xb8\ \x6f\xec\xf9\x23\x03\xda\xee\xb1\xbd\x7b\xb4\x91\x03\x3b\xf6\x0c\ \xf6\x69\x2d\x9d\xf9\xfc\x35\x5b\xfb\xf2\xf9\xfe\xb1\x7e\xfe\xc3\ \xb6\xdc\xa6\x7c\x7e\x60\xa8\x45\x6b\xa9\x04\x81\xdb\x95\xcf\x4f\ \x4d\x4d\xe5\xa6\xb6\xe6\x1c\xaf\x9c\x1f\xdb\x9f\xdf\x3f\xd0\xd7\ \x59\x09\xaa\xd6\xb6\x4d\x79\x3f\xf0\xcc\x62\x90\x2b\x05\xa5\x96\ \x9e\xe6\x6e\x7c\xd9\xd3\x5d\x31\xf4\x52\x4f\x77\xd5\x08\x74\xcd\ \xd6\xab\xc6\x95\x2d\x47\xa0\x4c\x25\x30\x8e\x06\x2d\x5a\xd1\xb1\ \x03\xc3\x0e\xae\x6c\xd9\xdc\xa2\xe5\x7b\xba\xfd\x60\xda\x32\xb4\ \x60\xda\x85\x52\x58\x20\x5f\xf4\x7d\x68\xc8\xed\xd0\x2c\x53\x3b\ \xae\x4d\x55\xcc\xc0\xe8\xf4\x5d\xbd\x68\x74\x69\xae\x67\x74\x4e\ \x79\xba\xbb\x5d\x3b\xd1\xdc\x9d\xa7\x9a\x3d\xdd\x79\xde\x59\xc1\ \x29\x4d\x6b\xf4\xea\xca\x16\x6d\x1c\xfa\xe8\x1c\xd7\xab\xa6\x35\ \xdd\xd5\x36\xaa\xdb\xbe\x36\x6a\x78\xe6\x78\xdb\x76\xfe\x8b\x6f\ \x1e\x33\xba\x36\x6f\x71\x03\xf1\x7d\xca\x30\xcb\x95\xa0\x6b\xdb\ \xa6\x4d\x51\x01\x6c\xa7\xcb\x76\xbc\xaa\x6e\x6d\xc7\x61\xb9\x71\ \xd3\x55\xdd\x2b\x9b\x76\x67\xe0\xb8\x5d\x9b\xdc\xa3\xdb\xa3\xef\ \x05\x27\x08\x9c\x6a\xe2\x95\x65\x8c\x07\x89\x17\x1e\xf5\x42\x6f\ \x3a\x8f\x04\x9d\x05\xcb\x29\x4e\x74\x9a\x76\x09\xb0\xd1\x05\x3d\ \xe3\xe8\xe3\xaf\x50\xa8\x05\x90\xe3\xea\x76\x72\x50\x1c\xf4\xcd\ \x69\xd0\xaf\x00\xd0\x5b\x7a\x86\x3d\xc3\x0f\x0c\x5f\xdb\xab\xfb\ \x80\x1e\xa8\x0b\xd8\x71\xeb\x41\x0f\xe3\xaf\x01\x3f\xf1\xee\x71\ \x81\x9f\x63\xda\x0c\x74\xcb\x2c\xd2\x08\x4c\xe8\x49\xb7\xb4\xde\ \x30\xa8\x38\x5e\x07\x0c\xc5\xb4\x03\xf8\xdf\xf0\x34\xdd\x2e\x69\ \x63\x1e\x4c\xa6\xa5\x07\x8e\xa7\x05\x8e\xd6\xa7\x43\x3d\xdd\x4e\ \x8c\xb5\xe2\x01\x55\x9d\xd1\x43\x4e\x4c\x59\xaf\x6d\x3a\x16\x8c\ \xd2\x0b\xcc\xb3\x74\xca\xfa\x8d\x82\x09\x55\x60\x85\x4e\xe8\x65\ \x20\xbe\x71\x98\x9b\x91\xe9\x3e\xd3\x9b\x08\xcd\xa0\x43\xeb\x77\ \xcd\x22\x4d\x1d\xbc\x29\xc2\x1b\x18\x6b\xd1\x73\xfc\x0e\xad\x00\ \xdc\xa1\x13\xa8\x35\x30\xed\x32\x15\x28\x84\x65\xcd\x33\x5c\xc7\ \xc3\x37\x39\xad\x0f\xfa\xf2\xcc\x42\x18\x98\x8e\x4d\x93\xbd\x67\ \x10\x78\x47\xc9\xc8\x65\xe3\x09\x87\xe7\xea\x9e\x5e\x06\xfe\x50\ \xe9\x44\x7e\xd2\x65\x54\xdd\x60\x7a\xfb\xe3\x8a\xc0\x59\x61\xac\ \xbb\x80\x34\x7a\xc6\xcf\x73\x82\x4e\x77\x85\xa6\x65\x19\x55\x58\ \x72\xbe\x5e\x32\xfc\xf0\x6c\x65\x30\x3b\x1a\x52\x9d\x06\xa4\x56\ \xd5\x8b\xc3\xa3\x0b\x34\xf6\x04\xd0\xd8\x0e\x20\xb1\x69\xad\xd7\ \x2e\x79\xa6\x5e\xd5\x2b\xfa\x31\xa7\x0a\x33\x64\x56\x0b\xd3\x7f\ \xb2\xc4\x76\x0d\xf4\xe0\x4c\xa9\x8b\xa9\x3b\x8f\x92\x0c\x8a\x35\ \x28\x49\x65\xb9\x4b\x2f\xd8\xbd\xe0\x2e\x65\x0b\xee\xd2\x5a\xe5\ \x64\xcb\x13\xee\x2e\x5d\x50\x0b\x67\xa3\xb4\xd7\x3a\x0b\xd2\x0a\ \xdd\xc9\xf6\x8f\xad\x6b\xec\x11\xa2\x99\x90\xd6\x10\x57\x32\x03\ \xa2\x9f\x71\xf6\x28\x39\x01\x70\x4d\xa0\x99\xeb\x01\x78\x63\x92\ \xa3\x4f\x63\xed\xc0\x2d\x76\x01\xdf\xd8\xc0\xb8\x53\x83\x3b\x02\ \xa5\xbb\x22\x0d\x21\xfe\x56\xa1\xb5\x30\x4e\x90\x45\xdc\xc2\x17\ \xfc\xc2\xa0\x15\x93\x03\x28\xa6\xc8\x91\x88\x2d\xe2\xcc\x38\xf0\ \x0e\x7b\xcc\xb3\x9b\x68\xfd\x60\xfb\x93\x62\x75\xe7\x53\x4e\x91\ \x1b\x84\x49\x8f\x3b\x45\xf2\xa7\x3c\x37\x72\xee\x4b\x04\x9f\x43\ \x6b\x38\x20\x17\x9b\x4d\xab\x3b\x14\x34\xe1\x11\x2f\xb0\xe1\xd3\ \x76\xc1\x69\x2c\x2a\xdd\xc5\x2e\x01\xca\x7d\x0e\x7b\x36\xcc\x65\ \x01\x9e\x1c\xe3\x8d\x5c\x39\xb5\xaa\xba\x3e\x0f\x33\x6c\xb2\xc8\ \xb9\x34\xd7\x79\x29\x13\x8c\x16\x94\x2b\xd0\x4c\xe0\x7a\xcc\x67\ \xcc\x44\x49\x38\xad\xce\x54\x9c\x47\x4e\xb5\xd3\x83\x5f\x1e\x10\ \xd5\x0f\xb4\x1b\xad\x60\x34\xaf\x25\x71\x84\x3b\x06\x77\x0c\x46\ \x7b\x91\x34\xe5\xd8\xca\xfa\x2b\x0a\xc7\x02\xff\xc6\x5b\xe6\xce\ \x3d\x6e\x6a\xe6\xdc\xcd\x54\xd6\x5d\x49\x38\xec\x4c\xc0\x9c\x1e\ \xbf\xd1\xe3\xf2\xd2\x54\x84\x7c\x9a\xef\x97\x47\x28\x04\xcc\x12\ \x06\xa8\x40\x31\x30\x15\x09\x8f\x21\xd1\x44\x1b\x7c\x96\x46\xa5\ \x12\x71\xca\x50\x40\xcc\xdd\x9b\x63\xf0\xf9\x5a\x1a\xdb\x1e\x68\ \x47\x7e\xbb\x86\xa1\xdb\x13\xc3\x0b\x34\xc2\x1b\xdf\xa7\xf4\xd8\ \xd9\x38\x50\xc7\x0d\xaa\x31\x1e\x1c\xf2\x80\xf8\x54\xa4\xb1\x06\ \x31\x0c\x58\x23\x00\x6c\x3a\xf4\x6d\x2b\xbd\xaf\x12\x7e\xa2\x80\ \xb6\x88\x03\x15\x08\x2b\x16\x51\x0e\x52\x15\xc7\xbd\x2f\xda\xd8\ \x07\xef\x2e\x17\x8e\x53\xc4\xe2\x6f\x08\xce\x36\xc2\x80\x4f\xb4\ \xe2\x11\x9e\x78\xaf\x65\xd1\xbe\x26\xb0\x19\x8a\x5f\xdb\x09\x7b\ \xb6\x02\x9f\x74\x93\xf2\xb5\x12\xbd\x37\x69\x26\xb1\xee\x86\xf8\ \xdd\xc9\xad\x48\x2e\x59\x85\xc4\x2b\xd1\xdd\xdf\x09\xb8\xb3\xe8\ \x3b\x72\x91\x1c\xcd\x66\x9e\xa8\xa4\x4c\x1c\x25\xa0\x31\xe5\x89\ \x93\x4b\x3c\xe7\x62\x99\xea\x4c\x5d\xb1\x8d\x77\xbc\xf9\x58\xb7\ \x1d\xca\xaa\xe3\x1c\x8d\xef\x6e\x91\xe3\xbb\x8f\x6d\x84\x7f\x49\ \x3a\xd4\x95\x75\xb7\x97\xc6\x89\xe3\x77\x68\xbd\xab\xf8\x36\xc8\ \xcc\x6e\x9e\x14\x7d\x96\x04\x65\x5c\x0d\x1c\x65\x80\x64\xed\x05\ \x13\xfc\xa9\xcb\x5a\x58\xbb\x3e\xd7\xe1\xab\xd5\x15\x5c\x4a\x8b\ \xe7\x39\x20\x9a\xe0\xf4\xc0\x79\xb1\x05\x5c\x22\x24\x1e\x10\xf1\ \x61\x23\x15\x20\x11\xc1\x21\x29\x85\x1b\xf9\xa3\x16\xca\x34\x32\ \x83\x68\xc2\x53\x68\x90\xeb\x0a\xb8\x5f\xf8\x0a\x77\x3e\x16\x53\ \x64\x87\xe0\xd2\x2e\xcd\x97\x46\xd8\x72\x69\x05\x05\xa2\x25\x4b\ \x48\x70\x55\xa2\xcc\x32\xf5\xe6\x09\x8e\x65\xd5\xf0\x2a\x84\x76\ \x92\xf1\xe0\x5b\x87\x28\x2f\xda\x91\x74\xc1\xdd\xb3\xe1\x77\x69\ \xa4\xfc\x97\x7a\x3b\x46\x89\xf0\x6b\x90\x36\xa7\xc7\x3b\x06\x0f\ \x26\xc1\xdf\x27\xc5\x5a\xf1\x62\x9a\x4f\xef\x2d\x0b\x54\x3f\x5f\ \x54\x3f\x22\xe6\x2b\x14\x33\x3f\x49\xd2\x41\x34\x7b\x8d\x1c\x4a\ \x9a\x28\x7b\x6a\xd2\x63\x05\x7a\x56\xa5\x47\x87\xa9\x21\xa0\x88\ \x4b\x9f\xe6\x76\x3a\xb5\x47\x9d\xa9\x3b\x13\x42\xef\x12\xfd\x9a\ \x8c\x07\x41\x4e\x2b\x5c\x9b\xcb\x6a\x87\x05\xed\x1b\x82\x97\xec\ \xa2\xb2\xbb\x09\x13\xa7\x63\x2f\x5b\x58\x2d\xf3\xb5\x5a\x46\x89\ \xc7\xf2\xd0\x1e\x53\x70\xd1\x90\x49\xfb\x51\x14\x1e\x67\x32\x19\ \xfc\x9a\x9e\x73\x6e\x1d\xc2\x5e\x71\xd4\xe1\xe3\xbe\x72\xf2\x02\ \x8f\x05\x21\x09\xf2\x1a\x1e\x69\xcc\xc3\x6c\x88\xec\x70\x83\x6c\ \x07\xe8\xef\x63\xf0\x1c\x02\xea\xcc\x41\xb9\xd2\x19\xbb\xe2\xf4\ \x58\x3a\xe2\xfb\x12\x9f\x0b\x5f\x48\x59\xa7\x47\x6b\x5e\x58\x51\ \xa7\x5f\xea\x92\xb2\xb1\x46\x72\x96\x43\x14\xa1\xca\xc0\xfc\xdd\ \x61\xa2\x1b\xac\x71\x07\xd0\xef\x51\x68\x89\xcb\x50\x77\xd5\x48\ \xcb\xaa\x96\xcd\xe9\x25\x82\xda\x11\xd2\xbb\x25\xfe\xa6\x8e\x2e\ \x31\xd4\x60\x77\x01\x94\x7b\x48\x3f\xdd\x73\x4a\xab\x37\x20\xea\ \xaf\x00\xee\x75\xa2\xd2\x1c\x8c\xb9\x44\xcf\xc8\x12\x3e\x92\xe0\ \x18\xb8\x8a\xd5\x71\xe5\xa1\x7f\x93\x2c\x62\x36\x61\xd5\x86\xf7\ \x67\xea\xda\x7c\x3c\xc6\xfe\x78\xae\xef\x59\x84\xc5\xac\xba\x62\ \x21\x2c\x66\xfe\xc2\x62\xce\x0c\x57\x5c\xc2\xb3\x18\xc7\x23\x44\ \x8e\xb6\x46\xf5\x5b\x7a\x34\xd3\xd7\x74\x6d\xd7\x81\x41\x6d\xdc\ \xc3\xdf\x0c\xbb\x44\x61\x0d\x51\x6d\x5d\xab\x78\xc6\xf8\x95\x44\ \x03\x3e\x10\x81\x51\x34\x72\xe1\x94\x1e\x18\x9e\xe5\x38\xb9\xa2\ \x9e\xbf\x49\x77\x2d\x63\x12\xe6\x36\x2f\xa2\x1e\x6e\xa8\x52\xd4\ \x43\x7e\x26\xd0\x69\xa8\x25\xa3\xe8\x78\x3a\xc6\x3d\x74\x69\x21\ \x0c\xdb\xb3\x4c\xdb\xd8\x0e\x14\x62\x39\x5e\xd7\x25\x5b\x9e\xf3\ \xec\x4d\x85\xe7\x00\x94\xc9\x80\x8a\xd8\x85\xa8\xcf\x38\x3a\xf4\ \x44\xd6\x1b\x4a\xd9\x0c\x2c\xbd\x90\x2b\x3a\xd5\x7c\x3c\x86\x92\ \x6b\x16\xd3\x80\xcf\x05\x50\x0c\x01\x99\x03\x78\x85\x69\xad\x7f\ \x0a\x27\x4f\xeb\x15\x10\x74\x20\xbd\x17\x2b\x40\x2e\x13\x86\x16\ \xba\x30\x37\xbe\x33\x1e\x4c\xe9\x9e\xa1\x15\x2b\xba\x69\xd3\xe4\ \x94\x3c\x7d\x0a\xbd\xaa\x15\xa8\xda\x79\x24\xd4\x2d\x33\x98\xd6\ \x10\x20\xad\x64\xa2\xc7\xbe\xea\x63\x14\x49\xc1\xd0\x4c\xbb\x68\ \x85\x25\xa3\x04\x1f\xb4\x31\xe3\xda\x0e\x6d\x8f\xce\x1f\x66\xc1\ \x33\x86\xc7\xc7\xcd\xa2\x01\x1d\x1a\x05\x0d\x1a\xf5\x4d\x58\x2c\ \x3a\x34\xee\x14\x43\x3c\xf4\xea\xe7\x64\x6c\x0b\x52\xc9\x94\x67\ \x06\xb0\x6c\xb1\xa9\x91\xe9\xa0\xe2\xd8\xda\x56\x2d\xf4\x11\x8c\ \xa0\x62\xc0\xab\x7d\xc1\xe5\x00\x43\xc1\xd3\x3d\xd3\xc0\x98\x97\ \x90\x6a\x41\x8b\x65\xc3\x9a\x86\x5a\xbe\x6b\x7a\x00\x49\x3b\xd4\ \x87\x95\x52\xd1\xcc\x92\xa1\xfb\x34\x41\x18\xea\xa2\xf9\xb6\xe9\ \xba\x46\xe0\x6f\x40\x5f\x71\xbd\x29\x03\x16\x14\xe6\x42\xdb\xec\ \x9c\xb0\xc2\x9c\x5e\xcc\xe9\x41\xbe\xaa\x97\x1d\xf4\x3a\xe7\x8b\ \x1c\xd4\x1c\xf2\x9f\x79\xa6\x3d\x75\x39\xcd\x3c\xab\x1d\x30\x69\ \x7d\x1b\x37\x6a\xba\xeb\x5a\x66\x91\x3a\x88\x91\x07\x13\xbe\x57\ \x87\x4f\x8e\xd6\xcb\xc1\x36\x2c\x60\x72\x1c\x8d\x57\xf7\x0f\x6c\ \x93\x18\xac\x13\xfb\x73\x26\x71\x1f\x85\xd9\x00\xd6\xaa\xae\x69\ \x19\x3e\x11\x83\xef\x84\x5e\xd1\xe0\xf3\x0a\x83\x2f\x19\x18\xdc\ \x80\x24\x59\x36\x6c\x03\x50\x6e\x00\x86\x2c\x73\xd2\x40\x76\x3e\ \x69\x1a\x53\x1d\x9c\x0c\xa0\x27\xe3\x28\x46\x0c\x50\x23\x9e\xe1\ \x87\x16\x05\x0f\x98\x30\xc7\x48\xcb\xda\x24\x60\xc6\x09\x29\xee\ \xaa\xaa\x07\x35\x44\x5e\x02\x02\x2b\x06\x44\x6c\xda\x34\x80\xa0\ \x90\xf2\xd9\x80\xcc\xe7\x3b\x21\xe1\xc0\x37\x12\xe1\x13\xbe\x36\ \x69\xea\x84\x91\x06\x8c\xac\x12\x72\x46\xe6\xf0\xb0\xc8\xaa\xee\ \xe7\xdd\x69\xb1\x22\xe6\x73\x31\xb8\x9e\x73\x18\x70\x4c\xa0\xf9\ \x66\xe0\x78\xd3\x38\xc1\xbb\xcc\x60\x77\x58\x98\xfd\x0a\x39\x2b\ \xa6\x63\x70\x1c\x89\x48\x43\xce\x3b\x65\xc2\x2a\x45\x46\xe7\x90\ \xec\x42\xa1\x7a\xc0\x38\x81\x65\xeb\x3e\x12\xaa\xde\x70\x93\x69\ \x34\x37\x79\x00\xb3\x00\x3c\x0c\x7e\xf0\xf2\x7d\xc3\x43\x63\xfb\ \x07\x77\x1c\x18\x1b\x1c\xda\x95\xab\x96\xe6\x73\xde\x80\x7c\x00\ \xd2\x72\x08\x4c\x17\x0b\xcc\x61\x0b\x3d\x2b\xe6\x4a\xf2\xa1\xd0\ \x07\x1e\x64\xc2\x2c\xf9\x28\xd0\x54\x91\xa9\xb6\xf9\x5a\xeb\x91\ \xd0\x09\xb6\x0f\x1f\x9d\x06\x06\xc4\x3f\xc3\x2a\x0b\xa2\xbd\x16\ \xa7\x98\x70\x47\xab\x6c\xcf\xae\x91\x3d\xc0\x9d\x28\x05\x44\x0e\ \xa4\xc6\xfa\xeb\x2e\x30\x8a\x95\x02\x50\x40\x6e\xa2\x64\x90\x58\ \x3c\xc2\x57\x87\x9f\xe7\x3d\xe5\x79\x22\x09\xa0\x9c\xf9\x9c\xca\ \xb9\xf7\x7e\x72\x93\x3d\x73\x74\xd6\xea\x2f\x2f\x44\x67\xb1\x85\ \xe8\xac\x33\x31\x99\xc5\x7f\x76\xdb\xd5\x99\x11\x9d\x15\xb0\x47\ \x62\xff\xcb\x71\x5a\x27\x68\xef\x95\x78\x1b\x14\x3e\x9c\x13\x0c\ \x53\xf2\x58\x54\x33\x69\x27\x7e\x1e\x59\x59\x8a\x14\x31\xe0\xd2\ \xd3\xa0\x14\x0e\xad\xd0\x02\x96\x5e\xb0\x73\x9e\x0e\x3f\x5b\x64\ \xd9\xf4\x88\x1b\x95\xc8\xab\x9b\xf6\x1e\x44\x71\x22\x6e\xec\x91\ \xab\x97\x1e\x40\xb5\x60\x1a\xc2\x87\xca\x6d\xfa\xd2\x73\x67\xc4\ \xd6\xcd\x9a\xc4\x4c\xd4\xe6\x63\x22\xde\xa0\x28\x3c\x52\xd2\x0b\ \x2d\x7d\xbb\xbb\x60\xc7\x38\x40\x10\x47\x3e\x5f\x35\x96\xc5\x12\ \x7e\xea\x30\xd1\x12\x7f\xbb\x53\xd8\x0f\x65\xfc\x84\x8c\x0b\xe4\ \x63\xca\x8a\x61\xe2\x90\x72\xdf\x31\xc6\xd3\xec\x04\xee\xb8\x93\ \x6d\x20\x08\x0e\x53\xbb\x3e\xcd\x7a\xc8\xcc\xb8\xa7\xc8\x67\xcd\ \x7b\xd9\x9a\x1a\x7b\xad\x65\xb7\x23\xfe\x2d\x8a\x7a\xd2\x04\xce\ \xaa\xb1\x17\x5a\x8f\xe1\xe4\x9e\x9f\x08\xdb\x58\x17\xa3\x3b\x0a\ \xb4\x0a\xdb\x63\xfc\xa3\xed\x32\x1a\xe7\xa4\xd2\xca\x06\xa5\x17\ \xb4\x7e\x4e\x32\x9e\x8e\x23\x09\xb3\x2b\x6a\xf0\x7d\x00\x57\xeb\ \x82\xb7\xe1\xf1\xf5\x36\xf0\xa8\x04\x3e\xab\x38\x57\x65\xa2\x5e\ \x4e\x15\x27\xe7\x89\xe8\x60\x8d\x7c\xc0\xdc\x3b\x81\x9e\x85\x5e\ \xc5\x97\x95\xd5\xdf\x5c\xbd\x16\x7c\xc5\x4a\xef\x05\xd2\xda\x56\ \xea\xe9\x20\x79\x30\x8c\x05\x0f\xc6\x9f\xa8\x07\x83\xf3\xe6\xd9\ \xce\x6c\x52\xf2\x2f\x43\xe9\x50\x19\x51\x24\x57\x44\xeb\x3f\x2f\ \xe2\xd4\x7c\xc2\xe6\x99\x1f\x2d\x38\xbf\xa3\xac\x37\x5b\xb3\xf6\ \x10\x35\x7d\x62\xc1\x43\xb4\xe0\x21\x4a\x7a\x88\x8e\x17\x1d\x77\ \x9a\x00\x1b\xb4\xc7\x9d\x13\x5a\xab\x15\x6c\x17\xe6\xac\xe7\x05\ \x7e\x31\x17\xba\xc5\x9c\x51\x0a\x5b\xcb\xc1\xf6\xb3\xc1\x5c\x84\ \x96\xd6\xaa\x3e\x8d\xc6\xa2\x0e\xad\x64\xfa\xc2\xa2\x27\x9c\x11\ \xee\xb4\xe2\xf8\x90\x76\xa1\xc0\xf0\xaa\xbe\xe6\x8c\xd3\x97\x5d\ \x43\x07\xb4\x5d\x64\xcc\xb6\xb4\x91\xb0\x60\x99\x45\x2d\xca\x1a\ \xaa\xfb\x9a\x8b\x6f\xfc\x8a\x51\x42\x7b\x3f\x16\xdf\xe9\x19\x86\ \x36\x1a\x39\x72\x76\x3a\xd0\x2a\x19\x7a\x3a\x34\xc3\x84\xdf\x3d\ \x6d\x92\xa7\x0c\xd5\xb6\x46\x1d\x88\xd6\x22\x13\x15\xcc\x81\x5f\ \x71\xa6\x6c\xad\x60\x58\xce\x54\x07\xfa\x6b\xda\xf5\x80\x5b\xb9\ \x1d\x17\x9b\xda\x00\xd0\x4f\x6b\x16\x7a\xe6\xa2\xd6\xce\x46\xd3\ \x9d\x6e\xf9\x8e\xe6\x3b\x55\x43\x18\xf1\x70\x4a\x1c\x42\x91\xee\ \x05\x53\x8e\x37\xc1\xcd\x7a\xf5\x0c\x7a\xf4\x23\xe2\xef\xea\xfe\ \x01\x4d\x18\xab\x73\xda\x18\x59\x3f\x45\x83\x09\x63\x1f\xce\x23\ \x19\xfc\x26\xb7\xfe\x67\xb5\xf9\xd5\xf5\x91\x0a\x86\x5e\xb6\x43\ \xea\x0a\x17\x06\x52\x43\xde\x32\x7c\xdf\xf0\xe6\xdd\xcf\x36\xcb\ \x2e\xd5\x81\xcd\xca\x4a\xf9\xb4\xab\x16\xac\x94\x6c\xc1\x4a\xb9\ \x60\xa5\x3c\xf3\x74\xde\xd9\x59\x29\x95\x24\xdb\x44\x6f\xd2\x1e\ \x81\x75\x87\x28\xf2\xbe\x40\xef\x4e\x2c\x58\x22\xe6\xcd\x12\xa1\ \x9e\xfc\xe9\x6a\x80\xd7\x90\xac\x06\xc9\x1e\xb2\xf1\xaa\xcd\x32\ \xc5\x74\xfd\x72\x12\xaf\xf5\xcb\xa8\x98\xd5\x32\x70\x6b\x09\x6b\ \x66\x1a\x77\x1a\x8c\x3f\xc2\x1c\xe7\x6c\x73\xc5\xda\x7c\xd3\xd7\ \x99\x9d\x6a\x7b\x76\x67\xfd\x72\x04\x0b\x5f\xb1\x05\xa2\x9e\x89\ \xf8\xbc\x52\xc8\x02\x61\x61\x90\x51\xe2\x68\x35\xc2\xb1\x4d\xd1\ \x78\x0c\x11\x21\x7e\x84\x76\x20\x7e\xba\x1b\xad\x17\x33\xd1\xf7\ \xe9\xd2\xd4\xe5\xe9\xcb\x6c\x2d\x9b\x27\xc2\xb5\xc9\xd6\xa5\xb3\ \x87\x18\x3f\x99\x94\x3c\xf7\xa9\x9e\x34\xaf\x7f\x8e\x4e\x9e\xf1\ \xe4\xf6\xe1\xfd\x35\x58\xe4\x49\x6f\xd3\x78\xec\x26\xbb\x80\x29\ \xd6\xe6\xe9\xa5\xe3\x3f\x85\x84\xf1\x67\xe2\xd9\xfe\x33\xe7\xec\ \xbe\xa4\xbf\xc6\xe7\xc3\x17\xe8\x6e\x6e\x74\xc7\x6d\xb0\x45\x61\ \xbf\xd3\x59\x94\xa6\x9e\xe3\x5a\xa5\x16\x6d\x0e\x9c\x36\x6d\x31\ \xac\xe5\xa5\x55\x90\x68\x9f\x38\xfa\x8b\xac\xfd\x7b\x01\x8a\xfa\ \xf4\x36\x4e\x23\xaf\x12\x1c\x15\x26\xfd\x7a\x69\xcf\xc4\x99\x48\ \x73\x67\xba\x44\x78\x7a\xb8\xdd\x6c\xf3\x67\x3c\x31\xf9\x31\xce\ \x66\x1e\x76\xb6\xd3\x13\x3f\x41\x6d\x2b\x3c\xe9\x89\xa2\x11\x99\ \xe1\x43\xa3\xbc\x08\x78\x76\x70\x82\x1d\x9a\x05\xcd\x38\x8c\x5f\ \x2e\x82\x97\x47\x5d\x4d\x1c\x36\x10\x19\x51\xf6\x10\xff\x46\x28\ \x0c\xc6\x73\x88\x54\x59\x74\xa6\xbd\x83\xfa\xe0\x09\x8b\xf1\x13\ \xd7\xa3\x74\xf2\x67\x9a\x8c\x7b\xef\x31\xde\xc5\x67\xdc\x87\x2b\ \x4f\x93\xa7\xcf\x6a\x26\xcf\x94\x2f\xd0\xe7\x7c\xd2\x27\xa7\xa0\ \x10\x6a\xe4\x28\xca\x05\x79\x1f\x52\x54\x94\x85\x04\xfd\xa1\x9b\ \x49\x07\x29\xd1\x68\x10\x37\x2e\xfc\xf2\xc4\xe9\x1f\x08\xc7\x18\ \x94\x18\x21\x38\xea\x53\x6f\xc8\x6c\x56\x2f\xf7\x0e\x9e\x93\x9f\ \x19\x37\xae\x18\xad\xc5\xb8\x7f\x71\x9c\xca\x1a\x22\xc6\x64\x42\ \x60\xe3\x89\x5f\xd9\xf5\xa2\x16\x46\x12\xf0\x67\x63\x4a\x5d\x53\ \xf8\x29\x14\x36\xd6\x19\x7d\xa4\x2b\x9b\x17\x7c\xa4\x7f\xd2\x3e\ \x52\x71\x85\x9f\x76\x5c\xb8\xd2\x86\xc2\x6a\xc1\xf0\x4e\x9c\x0d\ \x0e\xb5\x03\xe8\xfe\xe9\x4a\x40\x1a\x5a\x51\x71\x05\x52\x2d\x23\ \xa7\x77\xe2\x1d\x41\xaa\xd5\x82\xaa\xc5\xb0\x5a\xa6\x1f\xc3\xa6\ \x6d\x46\xd0\x80\xd6\xea\x01\x36\x5b\x6c\xcd\x73\x5e\xf1\x8c\x23\ \x64\x39\xcf\x84\x69\x2d\xe8\xf6\x04\x9e\x5a\x0a\x29\x07\x33\x1e\ \xd0\x88\x4e\xda\xe5\xdd\xe9\x23\x41\xde\xb4\x03\xcf\x39\x95\xb3\ \x80\x74\x24\x4e\x71\x57\x45\xc7\xe6\x0a\x00\x20\x74\x49\xc7\x97\ \xf0\xd0\x5c\x61\x5a\xdb\x1f\x01\xa4\xf5\xc5\x10\x75\xe7\x2d\x13\ \xe6\x6e\x8e\x18\x3d\xfd\x89\xda\xe7\xef\x44\xe8\xbc\x9c\x00\xed\ \xc8\x38\x44\x79\xd6\xe0\x4e\x75\x76\xc6\xd4\x57\xdd\x76\x4a\x98\ \x42\x97\xf6\xde\x6d\x2a\xdd\x11\xce\xb4\x11\xcf\x29\x1a\xbe\x8f\ \x99\xe6\x63\x2f\x39\x96\x8d\xbc\xe4\xf3\x86\xb3\xf9\x66\x77\x73\ \x20\xb8\x79\x3e\xbe\x7b\x7a\x69\xeb\x74\xe3\xa9\x18\xe8\x36\x51\ \xd6\xa9\x60\x84\x0e\x0c\x6b\x1b\xb5\xb1\xc1\x89\x43\x35\x98\x71\ \x6c\xdd\x2a\x69\x57\xdb\x61\x50\xe9\xd0\xf6\x18\xbe\x65\x1a\xda\ \x1e\xbd\x8a\xa7\x16\x3b\xb4\x31\xd3\xb2\xb4\x31\xdd\x0e\xf4\x90\ \x42\x0c\xaa\x18\x9f\x52\x75\xf0\x20\x73\x74\x86\xce\xf1\xfc\xb3\ \x07\x9d\x80\x9f\xf0\x68\xae\x64\x1a\x39\xdb\xc0\x63\xc7\x76\x7e\ \x73\xde\x2d\x8d\x03\x34\x6e\xf5\x94\xb6\x89\xd2\xf8\x98\x33\xe2\ \x56\x13\xd8\x55\x8e\x7d\x03\xa2\x6b\x60\x71\xa1\x53\xcb\xf0\x72\ \xe3\x9e\x61\x94\x0c\x7f\x02\x80\x38\xe5\x99\x1e\xc3\x53\xdc\xbc\ \xdd\x88\x27\x28\x20\xe5\x34\x9a\xa8\xee\x7c\x68\xcd\x22\xe6\x82\ \xad\x61\xbd\xac\x35\xbe\xaa\xd3\x97\x97\x23\xf7\xb6\xd2\x6d\x17\ \x7e\x66\xad\x67\x26\xaf\x77\xce\x8e\x86\x8e\xdb\x5a\x4b\xd5\x65\ \xac\x56\x56\x93\x8b\x5e\x09\xca\xf2\x71\xa1\x1e\x44\x77\x7f\x0e\ \x89\x60\x09\x3c\x76\x32\x9b\x04\xc2\x59\x49\x82\x1b\x19\xd3\x67\ \x9b\x54\xb5\x39\x4e\xf7\xe2\xb3\xdf\x32\x3b\x56\xdb\xd2\xe1\xda\ \x59\x66\xe1\xf9\x4c\xa0\xda\xcc\x1e\xc7\x04\xaa\xf1\xf4\xdd\xdd\ \x7c\x1c\xc8\xac\x14\x16\x83\x21\x50\x6d\x4e\xf0\x44\x14\xc9\x24\ \x14\xc9\x4d\x3f\x2b\x5b\x42\xb3\x3c\xc1\xa9\x63\x04\x18\x86\xcf\ \x71\x69\x63\x96\x89\x12\x9a\x1b\x27\x4a\xa8\x9b\x1b\x81\x88\x0d\ \x84\x35\x3c\xd9\xbe\x07\x1a\x24\x62\xeb\xa2\xab\xc6\x03\xf2\xd5\ \xc9\xcc\x73\x6e\xca\xda\x2f\x33\x0a\x46\x93\x68\x91\x55\xc5\x67\ \xf2\xc4\x8a\x2d\xbc\x7d\x48\x8c\x38\xb5\xf2\xe4\xcc\x38\x4d\xdb\ \x51\xc6\x63\x20\x78\xf6\xcf\x50\x58\x97\x92\x99\x0f\xbb\xe1\x6f\ \x48\xef\x7b\xe2\xd5\xa4\x66\x49\xc4\x58\x0a\xf5\xfb\x20\x10\xec\ \x09\x91\xe1\x96\xb7\xe3\x08\xcb\x8a\x26\xac\x2c\xfc\xd4\x8c\x57\ \x43\xa2\xea\x98\x66\xce\xcc\x58\x12\x24\xcf\x2d\x65\x26\x9d\xbb\ \x91\x64\xf1\x57\xbd\xc5\xc0\x9c\xd4\xf1\x6e\x9f\x82\x1e\xc0\xdc\ \xb6\x87\x36\x66\x4c\x00\xc6\x55\xda\x00\xfb\x47\xc9\x10\xd9\x02\ \x1c\x1b\x64\xe6\x40\x1b\xa7\xac\x03\xbe\x6b\x14\xcd\x71\x93\x47\ \x5c\x76\xbb\x7a\x50\xe9\x41\xf1\xfa\x38\xcf\x14\x30\xd8\x7f\x42\ \xe4\x0c\xc0\xe0\xbe\x49\x8a\xda\x04\x36\x01\x82\x76\x9c\x4a\x00\ \x0f\xde\x03\x1d\x84\xbe\x81\x89\x0a\xca\x06\x86\x1c\x66\x4e\x32\ \x3b\xc4\x76\x33\x7e\x30\x01\x07\xc2\xcd\x44\x1c\x9d\xaa\xd1\xa5\ \x28\x38\x4b\xed\x14\xfb\x8c\x07\xd7\x1b\x35\x93\x29\x91\xb0\x61\ \x07\x0d\xdd\xe5\x22\x1b\x52\xb0\x67\x1c\x09\x31\xde\xb6\xa4\x4d\ \x99\x41\x45\xb3\x1d\x3e\xf0\x6c\x10\xaf\x02\x16\xc7\x17\x5f\x1b\ \x5d\x8d\x66\x33\x7e\xfd\xb1\x43\xde\x63\x35\x93\xeb\x1d\x0d\x19\ \xd9\x5d\x6c\x7d\x0c\xd2\x33\xfa\x74\xdb\x76\x10\xdf\x98\xca\x01\ \xf6\x8a\xe4\xe2\x5c\x9f\x09\xc8\x26\xb6\x33\x45\xae\xe9\xc5\x10\ \x90\xc1\x09\x49\x71\x08\x89\x2f\xee\xee\xa9\x3b\x69\x5e\x05\x06\ \x8c\x52\x97\x76\x7c\xe8\x44\xe6\x68\x17\x37\x51\xbc\x57\x99\x58\ \x69\x72\xad\xd4\xfa\xe2\x39\x3b\x2a\xb0\xdf\x30\x7e\x1a\x05\xed\ \xaa\xcd\xac\x93\x69\x22\x77\x9e\x4d\x78\xb3\x28\x93\xa4\x4f\x93\ \x87\x9b\x00\x4e\x13\x67\xd5\xa1\x72\xd9\xad\x3a\x79\x11\x55\x73\ \xeb\x58\x00\x9b\x47\x74\x4e\x8b\xbf\xc1\x55\xf3\x40\xbc\x0a\xab\ \xc2\xbb\xc2\xa1\x55\xf3\x8d\x3a\xb1\x8d\x2e\xab\x8f\xc8\xba\x9b\ \x7d\xc2\x8c\x93\x5f\xb2\x06\xb6\xcb\xfb\x74\xe2\x12\x2a\x56\x6a\ \x31\x92\xc4\xc7\x99\x8e\x09\x39\xc2\x98\x74\x16\x2d\xdd\xe9\x58\ \x96\x33\xa5\xf9\xd3\xd5\x82\x83\x91\xd9\xc0\xf0\x27\xfc\x5c\x73\ \xa7\x36\x38\xae\x21\x09\x53\xa4\x70\x89\xee\x2a\xe1\xd9\x59\x70\ \x29\x51\x92\x07\x64\x01\xbe\x3e\x49\xfb\x00\xb0\x0f\xca\x65\x02\ \x9b\x93\xc8\x2c\x82\xd9\x2e\xa6\x80\x2f\x18\x6a\x92\x13\xaa\x6b\ \xfa\x18\xa8\x4d\x4c\x43\x33\x83\x36\xdc\xc9\x3c\x03\x98\x0c\xfd\ \x08\xfb\x87\x9e\x04\x46\xc0\x32\x27\x38\xb2\x40\xa0\x3e\x92\x70\ \x68\x20\xd8\x02\xf3\x2c\x65\x33\x86\xfd\x30\xad\x9c\x25\xa4\x19\ \x82\x4c\xe4\x6b\x09\x01\xcc\x14\x44\xa2\x25\x9c\x27\x26\x6d\x4d\ \x0f\x10\xb1\x24\x19\x37\x0f\x6b\x07\xde\x0c\x30\x4f\xc2\x4e\x5b\ \xe2\x7b\x28\xc8\xa0\x55\x17\xc3\xd2\xb3\x21\xea\x4f\xb1\xaa\x5a\ \x46\x35\x33\x54\x12\x86\x0b\x92\x5d\xd2\x6c\x8f\x23\x58\xd9\x9d\ \xbf\x14\xb8\xdd\x23\xb1\x80\x94\xb5\x7e\xdc\xf8\x99\x64\x5b\x5e\ \x8a\x91\x23\xe8\x93\x0a\xfd\xcf\x75\x5b\x90\x43\x78\xce\x5e\x87\ \x66\x17\xf0\xe8\xd8\x62\x5a\x81\x04\x04\x23\x8c\xb9\x3f\xdf\x1b\ \x79\xe8\xbf\x56\x36\x27\x0d\x3b\x7b\x88\xd7\x0a\xfc\x56\x68\x31\ \x71\x0c\xf3\x03\xbd\x2e\x2d\x21\x1e\x80\xc4\x13\xfb\xeb\x14\x24\ \xc9\x37\x72\x5c\x7e\x36\x8b\x92\xea\x46\x49\xc4\xdd\x78\x61\x4a\ \x80\xd7\x0f\x39\x9a\xd0\x41\x34\xc3\x9e\x34\x41\x82\x43\x11\x49\ \xd3\x27\x75\x90\x99\x0a\x56\x9d\x89\xff\x0d\x90\xa2\x43\x57\xa7\ \x1a\x4a\x07\x61\x42\xb4\x45\xdf\x84\xb4\xe8\xd7\x93\x80\x92\xf2\ \x92\x19\x6f\xb3\xa6\xc2\x25\x7f\x1b\xcf\x81\x21\xe6\x8d\xfb\xd4\ \x92\x7c\xdf\xcf\xe0\x76\x88\x96\x8e\x98\x87\xf1\x16\xca\xb1\xdc\ \xe3\x89\x6c\xff\x7c\x87\xe5\xa7\x34\x65\x2e\xe2\xa3\xd4\x4e\x74\ \x1d\xb9\x44\x59\x65\x18\x64\x10\x4c\x09\x45\xda\x5d\xc9\x18\xd7\ \x43\x8b\x27\x3d\x12\x52\x0d\x2c\x7c\x2e\xd7\x98\x74\x1a\x64\x9a\ \x04\x5c\xd7\x33\x7c\x40\x6c\x2e\xc1\xc6\x40\x60\xf1\x62\x96\xa1\ \xfb\x13\x50\x53\x0f\x34\x2f\xb4\x03\xb3\x9a\x8d\xf9\x25\x01\xb0\ \x81\x50\xa8\x02\xc8\x39\xdb\x19\xcf\xec\xaf\xe2\x55\xbe\x73\x98\ \xaa\x84\xa8\xea\x46\xa3\xd5\xc1\x31\xdb\x46\xb2\x04\xbe\x77\x59\ \xc0\xe4\x2d\x03\x55\xc6\xf3\x8d\xdb\x75\xf6\xdf\x7a\xf3\x90\x94\ \x69\x3b\x44\x49\x4e\x45\xa6\x98\x0b\xce\x1c\xf8\x0d\x2f\xc9\xb6\ \xd3\xf2\xb0\x94\x9b\xb9\x6a\xc7\xd7\xe9\x63\xb4\x28\x8a\x35\x9c\ \x20\x09\x5d\x24\x55\x65\x41\x19\xd0\x6e\xeb\xd2\x3b\x9e\xeb\x35\ \xc2\x9e\x4a\xa9\xf2\x3c\x75\x92\x13\x74\x10\x34\xf2\x9c\x6d\x1a\ \x8e\xda\x11\x47\x98\x4c\x8e\x5d\xb6\x6c\x50\x09\x4e\xad\x9d\xd4\ \xcf\xdc\xf0\x52\x9d\x81\x47\xca\xed\x40\x13\x3e\xe9\x88\x95\xd7\ \xc3\x8e\x3c\xb5\xac\xc7\x14\x51\xa0\x51\xc8\x13\xf8\x25\x21\x20\ \xcf\xac\x3b\xa4\x31\x96\xc5\x23\x24\x1d\xcb\x75\x9c\xa4\xd8\xc8\ \x6b\x89\x51\x98\xff\x9f\x68\x95\x9f\x52\xb6\x66\xd4\xd7\x54\xbf\ \xbd\xe4\x42\x51\x8b\x7a\xcc\xb5\x6a\x47\x22\x77\x09\xb9\x0e\x38\ \xbb\x56\x77\x89\x2a\x7b\x58\xe1\x29\xb5\x18\xf5\x66\x31\x47\x27\ \xb3\x8f\xa9\x3a\x5f\xa0\x6c\x10\x11\x6d\x67\xcf\xd2\x0c\xfa\xdd\ \xe2\x4b\x47\x40\x39\xc3\x1d\x4d\xc8\x2d\x91\x8a\x8e\xfc\xae\xdd\ \xdf\xa0\xec\x75\x39\xed\x1a\xd3\x2a\x15\x75\xaf\x04\xf2\x54\xb1\ \x68\xb8\x28\xd6\x44\x52\x5c\xa4\xe4\x81\xc4\x43\xbb\x5f\x07\xb7\ \x67\x1f\x18\xc4\x37\x8e\x6b\xd8\x71\x59\x51\xd0\x75\x40\x94\x22\ \x9f\x8b\x63\x5b\xd3\x72\x6f\x45\x5d\x32\xde\x4f\x39\xfb\x25\xcf\ \x1f\xdf\x5a\x7d\x95\xf3\x62\x1f\xd0\x7a\x24\x69\xf1\x5e\xa4\x84\ \x46\x49\x34\x41\xd8\x33\x4a\x26\x39\x70\xd4\xee\x7d\xde\x3f\x76\ \x5f\x4d\xec\xef\x5c\x52\x8a\x21\xd1\x31\x91\x5e\x21\x92\x07\x9d\ \xf1\xb4\x9a\x5a\x07\x2a\x3c\xde\xa6\xc8\x81\xd1\xef\x42\x77\x82\ \x9d\x02\x94\x47\xd8\x11\x74\x8b\x27\xc7\xab\xa3\x58\xab\x7a\xb5\ \x3a\x30\xa9\x7b\x0a\x30\x70\x68\xa3\xa4\x71\x4f\xe3\xd4\x55\x67\ \x25\xb1\x24\x46\x12\x0f\x44\x0c\x02\xf1\x89\x7b\x9a\x8e\x92\x7b\ \x3d\xe9\xf5\xb2\x9a\xc0\xc9\x68\x49\xa7\x15\x84\xae\x78\xab\x3d\ \x77\x44\xea\xd0\x08\x59\x57\x66\xcb\x1f\x05\x39\x94\x2b\x27\x1a\ \x49\x38\x81\x50\x1f\xe7\x22\x70\xcc\x45\xa1\x49\xaa\x47\xdd\xd0\ \x3b\xb2\xde\x76\x31\x92\x49\x6a\x8b\x87\x84\xf2\x65\xed\x88\x30\ \xf1\x32\xb5\xce\x5b\xda\xa0\x08\x14\x07\x47\x41\x59\x40\xe4\xd5\ \x0a\x10\x49\x3d\x46\x51\x36\xa4\x42\xd1\xdd\xdf\xa3\xb5\x03\x21\ \x86\x44\xd6\x88\x18\xbc\x75\x78\x7a\x43\xb6\x91\xeb\xb3\x64\x1e\ \xc2\xed\x81\x4b\x8e\x7c\xa4\xc9\x24\x25\xf2\x6a\xa6\x28\xbd\x49\ \x94\x2e\x42\x5e\xef\xc1\xcd\x0f\xc8\x26\xa3\x74\x22\x77\xd5\x61\ \x1e\x1a\xe3\x09\x2f\x90\x7d\x3d\x0c\xef\x4b\xd4\x0b\xe2\xeb\x30\ \xbc\x29\x8b\x94\x2b\x86\x10\xf1\x0c\x32\x67\x18\xb1\x49\x0c\xfb\ \x92\xd7\x36\xa9\xb8\xed\x66\xfb\x58\x4f\x43\x1c\xa7\x05\xc4\x7a\ \xaa\x30\x57\x94\x25\x63\x94\xaa\xb1\xda\x5f\x3d\xc1\x96\xf7\x7f\ \x5c\xbc\xd7\xc5\x85\x27\xfb\x14\x5c\x4e\xb3\x13\xec\x52\x1a\x31\ \x2f\x63\x92\x90\x22\x8d\xe4\x48\x67\x0f\x30\x9e\xf6\x3b\x29\x6c\ \x8c\x0b\x03\x81\x17\x6f\xad\x2a\xdd\xbc\x6f\xd4\x08\x78\xca\xce\ \xc8\x38\x2a\x59\x8e\x47\x49\x09\x41\x9f\xf4\xfd\x69\x9e\x82\xd3\ \xd7\xda\x0f\xbb\xe5\x0d\x1d\xc8\x42\x5c\x03\x98\x0d\x0a\xa3\x07\ \x89\x6e\xba\xf7\xf5\x24\x68\x87\x84\x54\xa1\x9d\x88\xa5\x2d\xb4\ \x5d\x2e\xeb\xe2\x99\x72\xf1\x79\x1f\xef\xf9\xc4\xa5\x5a\x3b\xbc\ \x31\x39\x4b\xd5\xda\xa0\x38\x72\x51\xbf\x0d\x4d\xb5\x96\x53\xae\ \x43\x8d\x9f\x6e\x40\x8d\x5c\xd8\xc7\xf0\xa1\x30\xb5\x61\x9d\x2a\ \x3d\xb6\xc3\x5c\xe2\x81\x0b\x6e\x88\xa9\xa5\xc1\x30\xb6\x91\xcb\ \x8d\x17\xe1\xc0\x0b\x71\x68\x3b\xac\x43\x8f\x43\x67\x30\x3d\xf6\ \x03\xf7\x1d\x04\x3a\xe4\xe1\xbe\xf3\x4f\x8b\x77\xc6\xb4\x08\x5b\ \x82\x63\x85\xa9\x1d\x50\x90\x63\x44\x88\xae\x5d\xee\xd0\x62\x6a\ \x2c\x39\x50\xd5\xc5\x9f\xed\x62\x25\xa6\xc9\xa1\x93\xa6\xc9\xfe\ \x91\xc1\x13\x25\xd7\x3c\x19\x8a\x84\x91\x0f\x08\xb3\x3f\x57\x0f\ \xf9\x21\x5d\x9e\x24\xaa\x93\xc2\xdf\xdc\x84\x2e\x6e\x08\x11\x2c\ \xba\x4e\x29\xd2\xc0\x23\xe1\xdd\x8e\x6b\x6f\x61\x97\x0b\x91\x73\ \x2b\x1d\x8f\xdc\xa4\x60\x6f\x3b\xba\xef\x3a\x3b\x11\x68\xbc\xb6\ \xb9\x6a\x20\xb2\xaa\xa1\x1f\x90\x5e\x88\x36\x99\xc0\x28\xc3\xab\ \x82\x11\x4c\x19\x86\xad\x6d\xb9\x9c\x76\xfb\xad\x9b\x36\x6d\xca\ \x1e\x86\x3b\xc3\x30\x8e\x24\xd8\xd3\xc9\x0c\x67\x93\x18\xcc\xe6\ \xd4\x50\xae\xe4\x43\x89\x38\xd2\xac\x86\xb3\x89\x46\xb3\xb9\xde\ \x60\x6c\xb2\x16\x69\xb1\xa2\x13\x79\xfa\x22\xaf\xe0\xaf\xc5\xba\ \xe6\xab\x8a\x53\x2b\x0f\x51\x4c\xee\x3f\x91\x08\x9c\x14\xae\x51\ \xd1\x37\x05\xd7\xc0\x56\xe5\x50\x36\xe1\x50\x48\x3e\xd5\x50\x0c\ \x04\x3a\x35\x38\xe1\x55\x49\x02\x43\x8f\xb8\x71\xd4\xe4\x97\x26\ \xe3\x7e\x9d\x0d\xfd\x61\x21\xf7\x4c\x8a\xb5\x7d\x07\xac\x4d\x9d\ \x82\x1b\xa5\x27\xf3\x2e\x31\x2d\x15\x5a\xe7\xae\xb2\xba\x91\x8f\ \x70\xc8\xcc\x84\xaa\xa0\x5e\xa0\x14\xad\x47\x09\x79\x7e\x0c\x04\ \x83\x96\xe3\xba\xeb\x72\xef\x5c\x67\x67\xc5\xb0\xdc\x16\x9e\xc4\ \x39\xe0\x22\x9f\x69\x73\x61\x0e\x53\x4d\xd4\x61\xce\xa3\xb1\x46\ \x98\xad\xcf\xab\x7a\x9b\x9e\xd0\x2d\x24\xcb\x72\x89\x01\x7a\xc4\ \xbe\xdb\x40\x08\xbc\x0c\xfe\xd6\x4e\x52\x64\x55\xe6\x13\x95\x95\ \xc7\xac\x56\x9f\x3f\x46\x9f\x1d\xc6\xad\xe3\x11\x62\x7c\xca\x11\ \x57\x2b\xba\xf9\x22\x07\x16\x6e\x31\x8f\x12\x7c\x77\x10\x34\x79\ \xf8\x3f\x47\xb1\xca\x01\x4d\x43\x63\xc8\x66\x16\x2f\xa3\x92\x3c\ \x5e\x36\xca\xc4\xf4\x5b\xea\x4f\xf6\x12\xd9\xc5\xb3\x44\x4c\x9d\ \xbe\x45\xf9\xe2\xcc\xcc\x5e\x7d\x22\xa6\x19\xc6\x1b\x93\xc3\xa7\ \x0e\x88\x4c\xef\x66\xa4\x83\x10\xa7\x76\x51\x81\xf0\x80\x37\x5e\ \x76\x59\x1b\xb7\x42\x49\xc2\x16\x8a\x08\x2c\xcb\x63\x86\xe7\xa0\ \x15\x9c\x88\xc6\x0f\x0b\x20\x79\xfa\x1d\xa0\xaf\x60\xb5\xfc\x65\ \xb9\xe2\x44\x90\xac\x6c\x59\xa2\x32\xa9\x0e\x6d\xf4\xbb\x71\x34\ \xc0\xc4\x16\x0e\xe5\x9f\x27\x4b\x59\xe8\x79\xa8\x38\x48\x31\x96\ \xf4\x27\xa8\x6b\xc2\x5e\xc0\x7b\xa1\x1f\xcc\x7a\x5e\xb2\xcb\xd8\ \x75\x29\xdb\x87\xfa\x7d\x0b\xc5\x07\xe3\xbf\xeb\xd9\xf5\x31\x1e\ \x9e\x76\x9d\x50\x27\xaf\xe3\x8a\xdd\x96\x9e\x5c\x2e\x77\xfd\xf5\ \x99\xed\x2f\x8f\xda\x8a\x6b\x2f\xc1\x2a\x75\x3c\x76\xcd\x82\xdf\ \x36\xf2\xa5\x24\x2d\x24\x87\x85\x8d\x45\x32\x1f\xa4\x4c\x39\x67\ \x97\x36\x23\xf7\xa9\xf1\x2f\xe8\x16\x26\xac\x16\x8c\x87\xa3\xe6\ \x69\x0a\x38\x9d\x07\x7c\xc3\x1b\xb4\x61\xcb\xdd\x4c\x90\x4d\xb2\ \x83\xb4\x7e\x38\xeb\xf1\x33\x6d\xb6\x51\xb8\xc0\x73\x49\x2c\xb8\ \x0e\x7e\xb9\x9e\xa8\xee\x46\xc2\xa9\x0d\xdf\x1c\xf1\xcd\x17\xf4\ \x89\xef\x03\x7a\x1f\xc4\xe5\xaa\xf0\x5d\x27\xc5\xa6\x8b\x69\xf1\ \x28\x06\xaf\x71\x42\xab\x44\xa9\xb8\x2d\x73\x82\x34\x4b\x27\xb6\ \x9e\x9a\xc1\x73\xb5\xf6\xeb\xa6\xaf\x07\x5a\xb9\x51\xbb\xce\xbe\ \xde\x81\xc7\xb4\x41\x5a\xfe\x75\xfa\xf5\x40\x0b\x37\x6a\xb6\x71\ \xdd\xe4\xf5\x86\xb7\xa1\x4b\x9b\x69\xa4\x8b\x95\xd8\x92\x45\xfa\ \xcc\xa5\x6d\x59\xda\x9e\xb9\x74\x55\x96\x9e\x9c\xb9\xb4\x8c\x98\ \x59\x34\x3d\x53\xe9\x6f\x90\x08\xcc\xe3\xe4\x2d\x61\x43\x47\xfe\ \xf7\x30\xd3\x04\xef\xe3\x73\x37\xce\x55\x63\xc2\xb5\x0e\xb8\x9e\ \x64\xea\xfd\x8b\xc9\x58\x85\x47\x84\x25\x92\xcf\x65\x14\x3a\xe2\ \xb1\x46\xb6\x49\x5e\xde\x81\xf2\x91\x75\x92\x5b\x1b\x23\xb1\x78\ \xb6\xd6\x49\x75\xf6\x0f\x8e\xf0\x1c\xeb\xc5\x8a\xe3\xc0\x63\xaa\ \xa2\x93\x0d\xa5\xe4\x74\xe1\x04\x17\xf0\xae\x00\xe9\x24\xef\xd0\ \xae\xf3\xaf\x9f\x30\x5d\xa2\x73\xf8\xe2\x5c\xef\xf2\xfb\x2a\x52\ \x96\x99\x46\xa4\xb0\x45\x38\x86\xce\x0c\x94\xaa\xa8\xd8\x7e\xd2\ \xa8\x98\x79\xbc\x8b\x15\x26\xd5\x88\xf4\xa3\xd2\x8e\x2c\xed\xcc\ \x5c\x5a\x21\x66\x7f\xa6\xd2\x4b\x00\x03\x97\xc6\xe5\x17\x6b\x97\ \x62\x85\x55\x7d\x8e\x3d\x6e\x96\x95\x48\xb1\xe5\x84\x58\xf8\x27\ \x79\xab\x06\xb2\x6f\x76\xe1\x8b\x59\x2b\x30\x58\x4c\xfb\xb3\x8b\ \x18\x94\xaa\xe3\x6d\x88\x1b\x58\xd3\x7a\xd5\xc8\xc0\x2e\xad\x9d\ \x2b\x1a\x1b\xb2\x9b\xba\x10\x9a\x1a\xa1\x5b\xe7\xea\x37\xb4\xba\ \x75\x64\x68\xa6\x76\x9a\xa1\x1d\x3c\x83\x76\x35\x3b\x14\xd7\x5b\ \xda\x3a\x36\x78\xf5\xa1\xec\xf2\x2f\xaa\x43\x90\x91\xe5\x3f\x6d\ \x5d\x4e\x7b\xdc\xb9\x2d\xfa\x88\x88\xae\x4b\x7a\xb3\xaa\x4c\xde\ \x04\xcb\xcf\x77\x71\x59\x63\x80\xa9\x77\xb4\xde\xa5\x18\xd5\x76\ \xf5\x45\x34\x88\xc1\x57\x91\x6d\x32\xe9\xb8\x9e\xaa\x18\x7c\xa3\ \x2e\x84\x41\x00\x7b\x4f\xcb\x00\x5d\xed\xd1\x82\x6a\x16\x1a\xfd\ \x30\xa6\x23\x7b\xac\x4f\x16\x63\x0d\x69\xac\xb4\x07\xc7\x3d\xaf\ \xe0\x3d\xc3\xa6\x9b\x5d\xb7\x1b\x78\x4b\x81\x25\xef\x42\x4e\xaa\ \xfc\x0d\xe2\x5d\xe2\x5e\xd6\xa5\x02\xcf\xf6\x38\xfc\x1a\x97\xd3\ \xd4\xe7\xda\x5d\x9e\x13\xba\x5a\xc1\x39\xaa\x05\x66\x60\x19\x73\ \x07\xa1\x03\xb4\xf3\x59\x6b\xdd\x92\x50\x79\x3b\x1a\x6f\x28\xbb\ \xe5\x16\x4a\xd2\xad\x6a\x4a\x21\x93\xf6\x95\xa4\x78\xb3\x76\xc0\ \x46\x35\x8d\x0c\xfc\xa8\x35\x64\xb7\xf8\x94\x14\x61\x25\x61\x5a\ \xc1\xc9\x04\x58\x58\x76\xed\x35\xc9\xe4\xcf\x71\xbd\x65\x22\x1b\ \x5f\x76\xad\x57\xc2\x72\x53\xed\x69\x91\x6d\xb2\x8d\x25\x2f\x1c\ \x76\x15\xa1\x3c\xb9\xa0\xb2\x2d\x90\x91\x10\x8e\xa2\x99\x2b\xc4\ \xe9\xc3\xd4\x4a\x99\x71\x2b\x51\x96\x35\x72\x83\xb2\x94\x2e\x1f\ \xa4\xcb\x6d\x5a\x23\x6d\x17\xb7\x29\x6e\x72\x8b\x96\x15\x49\x3d\ \x87\x5d\xa3\xac\xb5\x0b\xa3\xdb\x86\x3a\x0b\xe7\x0a\xb6\xb3\xc6\ \xc9\x94\x1e\x61\x24\x32\x2a\x97\x2f\x4b\xb2\xe7\xb0\x28\xb7\xeb\ \xf0\xeb\x78\xb2\x7b\xdb\x92\x88\xed\x92\x17\x2c\x37\x88\xd4\x88\ \x7b\x3a\x8f\xc7\x69\x8c\x45\x71\x1a\x18\xec\x35\xf7\xc5\x35\x63\ \x64\x88\x1c\xd9\x1e\xe8\xe5\xa8\xec\xaf\xf1\x6a\x5a\x0e\x2c\xbe\ \x1f\x28\x66\xa7\xdc\x5c\x46\xfa\x5b\x77\x66\x17\x7e\x29\x14\xdc\ \x3f\x67\x43\xa3\x0c\xe9\x75\x15\xbb\x49\x21\x76\x26\xcc\xd6\x90\ \xc8\x89\x0c\xff\xa9\x44\xb5\x69\xbf\xee\xb7\xc6\xd6\x32\xd5\x9e\ \x96\xb6\x95\x69\xed\xb0\x6b\xd6\xa3\x27\x0b\xf0\x90\x36\xfe\xa8\ \xc1\x0d\xa9\x35\x7c\x6a\x83\x8e\x81\x7f\xfa\x7e\xc5\xd2\x17\x5d\ \x08\x15\x1b\x81\xfc\x0c\x50\xff\x08\xff\xc5\xd5\xcf\x19\x3d\xb8\ \x2b\x7b\x38\xdb\x66\xc8\xbb\x91\x0c\xe1\xbe\x83\xf2\x54\xdc\x15\ \xb7\xfb\x94\xb6\xbd\xdb\xda\xd2\x47\x69\xa8\xa3\x81\xa3\xa8\x03\ \xeb\xd6\x98\xe3\x58\x82\x66\xa3\xd4\x3c\x3c\xee\x39\xd9\x0d\xbf\ \x5c\xd7\x26\x9e\x2c\xd7\xe5\x1d\x64\x5d\xed\x53\x3a\x5c\xd7\x36\ \x32\xd8\xd7\xa6\x59\xba\x5d\x0e\x11\x13\xe2\x86\xad\x3a\x7d\x7e\ \xa0\x26\x8e\x0a\x67\xa7\x4c\x1c\x9a\xf7\x1c\xa5\xdc\xe7\x4a\xa4\ \xbc\x72\x3d\xac\x59\x5f\x5c\x12\x7d\x80\xd9\xc2\x7c\x51\x4a\xf0\ \x3f\xde\xca\xa3\x09\x97\xb4\x8c\x0e\xe2\xfb\x4c\x6d\x02\xfd\x7a\ \x41\xfc\x57\x8a\xb0\xd2\x12\x4e\x6e\x15\x23\xb3\xc9\x59\x15\xa0\ \xd1\xd6\x2b\xd1\xbd\x69\x18\x43\xc4\xc3\xda\x48\x87\x05\x06\x99\ \x08\xf9\xaf\xc5\xc5\x4d\x0d\x71\x21\xe3\xcb\x24\x0e\xd2\xd1\xed\ \xf5\x28\x7a\xa6\x70\x59\x74\xe2\x37\xc7\x63\xdb\x9c\x0e\x99\x6d\ \x49\x6e\xea\x2d\x71\x3c\x39\xb7\xa1\x35\x37\x67\x8f\x67\xe7\x0c\ \x31\x72\xd1\x05\x1b\x68\xb8\x41\xe6\xb0\x87\xf6\xfd\xb2\x62\x1d\ \x5c\x9f\x80\x6b\x7d\x1a\xae\xe3\x01\x74\xb5\xc7\xb1\xcb\x64\xeb\ \x5b\x5f\x0f\x8e\x91\x59\xc1\xc1\x83\x1a\x22\xe3\x53\xa9\x06\x3a\ \x05\xaa\x18\xa2\x96\x4c\x88\xb8\xe5\x11\x34\x05\xd8\x1b\xd7\x67\ \x83\x34\xd6\x70\xaa\xcb\x8a\xa8\x20\x27\x9b\x4b\xbd\x93\x64\x35\ \x91\x22\xc1\xb1\x0c\x23\xe8\xc5\x02\xac\xf8\xda\x3a\xb2\x79\xf1\ \x3b\xeb\x72\xd9\x00\xed\x9e\xaf\xd0\xeb\x18\x88\xf3\x53\x92\x60\ \x1c\xd3\x98\x0d\xc0\x90\x70\xd4\xf4\x91\x5a\x3a\x00\xcd\x79\x82\ \xfd\x44\x7b\x4a\x6d\x04\x48\x83\x08\x5b\x39\x45\xfd\xc0\x8e\xba\ \xb4\x01\xcf\x73\x3c\x35\x30\x5d\x09\x3b\xc8\x06\x28\x50\x62\x4e\ \xe5\x39\x9c\x5f\x33\x19\x1a\x69\xd4\x00\x59\x12\x5c\xc5\x11\x69\ \x08\xf9\x19\x12\x6f\x76\x22\x75\x42\x6b\x6e\xe7\x00\x87\x36\xb2\ \x4f\x4f\xc0\x5c\x1b\xbe\xce\x55\xe4\x5a\xe0\x37\xcd\x8a\xe4\x15\ \xcc\x49\x75\x12\x65\x1a\x6d\x08\x26\x6b\x67\xfd\xc9\xda\x4d\x9b\ \x4c\xf6\x44\x71\x62\xcd\x0a\x19\xeb\x03\xb5\x71\x8c\xa1\xbd\xbf\ \x87\x78\x2b\x4c\xb6\x0c\xd3\xdf\xbb\x2d\x9a\x24\x11\x0a\x80\x03\ \xee\xbb\x7a\x4c\xeb\xec\xd1\x60\x06\xb3\xe1\xf8\xbf\xb3\x5c\xd9\ \xbf\xa1\xb9\xc3\xcf\x6d\xcc\x55\xd2\xda\x75\xd2\xaa\x2f\xd3\x3e\ \xd2\x46\x66\xf2\xbe\x78\xee\xa4\xdf\x22\x3a\xed\x14\x79\x23\xa2\ \xab\xe9\xbd\xd8\xf0\xac\x1e\x24\xe1\xaa\x2d\xbf\xca\xe5\x63\x62\ \x1f\xe5\x73\xcf\x8d\xd9\xfc\x73\x44\x0f\xf8\x9b\x4b\x75\x4b\xf1\ \x15\x13\xc9\x4b\x30\x6a\xaf\xd5\x90\x0b\x7d\x7c\xaf\x53\x0a\x61\ \xba\xda\x5c\x3a\xa2\xdd\x09\xa2\x87\x59\x6c\x53\xc2\x87\xb5\xd8\ \xf8\x62\x14\x27\x30\xd6\x85\x42\x55\x94\x3c\xe1\x25\xc3\xc5\x48\ \x1a\xbb\x68\x8a\xe8\x9b\xa2\xe3\xc5\xb7\x51\xc2\x76\x66\x59\x22\ \xaa\xa5\x16\xf9\xc9\xc9\xe7\x1b\x0e\x3f\xcc\x85\x7f\x55\x62\x5e\ \x3b\x64\xf0\x1c\xd8\x06\x4e\x70\x3d\x9a\xf5\x80\xac\x66\x0a\xf6\ \x8d\x62\xef\x6c\x9a\x9e\xda\x9b\x69\xe6\xb6\xed\x49\x46\x7e\xe9\ \x90\x31\x95\x3e\xb6\x15\x45\x54\xc5\x01\xc1\x75\x78\x79\x0f\x11\ \x8d\x1a\x58\x23\x05\xa7\xb4\x1a\x83\x02\xfa\x4e\xc6\xd5\x19\x61\ \xda\x89\x61\xb8\x68\xa4\x7f\x27\x2a\x2f\x64\xce\xe1\x52\x64\x14\ \x15\xd3\x50\x60\x9b\x7b\xcf\x64\x09\x8a\xfb\xbd\x50\xf4\x8b\xd6\ \x9f\x59\x75\x7b\x50\x34\x26\x23\xd9\xe7\xca\x09\x84\x09\x49\xe1\ \x05\xfd\x8a\xd6\xd2\x0a\x00\x91\xa2\x95\xc1\x11\xd0\xd4\x44\x2c\ \xa1\x7f\x67\x63\xe0\xc6\xd8\x30\x7c\x1a\x81\x19\x9f\x2b\x70\x11\ \xa6\x38\x68\xe9\x59\x42\xe0\xc6\x86\x47\x46\xf6\x66\x00\x87\x88\ \x04\xd8\x70\x02\xeb\x6d\xfb\xf3\x0b\x5c\x72\x22\x2f\x9d\x19\x34\ \x98\xe3\x4c\xc8\x16\x3d\x45\xb8\x3c\x43\xa1\xb4\x21\x04\xa1\x08\ \x51\xe5\x97\x75\x94\x85\xc3\x24\x84\xbe\x27\x99\x7a\x5e\x54\xf5\ \xd2\xa6\x1d\xa3\x3c\xed\x5a\x52\x4e\x9f\x1b\xef\xe4\x5e\x6f\xc9\ \x85\xad\x44\x88\xba\x8c\xa0\xe1\xfe\xe5\x48\x5a\x1b\xc8\x28\x91\ \xf4\x3a\x47\xae\xa9\xe8\x18\x52\x24\xf1\xf7\xc2\xec\xec\x4e\x49\ \xc4\xc7\x05\x1b\x35\x6c\x3f\xe4\x31\x83\x74\x87\x81\x56\xc1\xf0\ \x35\x72\x2e\xaa\x97\x26\x83\x94\x01\x7a\xaa\xca\x41\xc9\xc7\x87\ \xbb\xb7\x71\xd4\x28\x86\x5c\x33\x68\x21\x59\x71\x20\x7e\x41\x52\ \x23\x99\x19\x85\xa7\x70\xa4\x77\x6c\x77\x3d\xd9\x7a\x51\xcb\x19\ \x3c\x5f\x1c\x0a\xae\x77\x71\x4a\xe6\xee\xec\xc6\x1a\x0b\xa7\xfc\ \x88\xc1\xf3\x93\xbf\xe9\x6b\x9b\x92\x3a\x5f\x14\xa4\x5e\xab\xf7\ \x75\x25\x66\xef\xe6\x53\x9c\xbd\x0e\xee\xd0\x45\xff\x6c\x42\xf1\ \xe1\x41\x8a\x18\x3b\xca\x2f\xbf\xf0\x15\x05\x30\xd2\xfb\xfc\xae\ \x7a\x5a\xc9\xb6\xd4\xf6\x59\x7b\xf0\x42\x6e\x67\xf8\x1b\xe9\xbf\ \x52\xad\xc7\x76\x34\x4e\x3d\x08\x0a\x2d\xf8\xec\x8e\x2e\x9b\xf1\ \xa8\x52\x6d\xf3\x6b\xa8\xf9\x19\xa4\xc0\xdf\xc1\x0e\xc0\x9b\x8c\ \x28\x4d\x5a\x70\xb9\xfd\x30\x0a\xf2\x96\x9a\x55\x34\xef\x28\x6b\ \xed\x16\x35\x4d\xc5\xaa\x92\x0c\xc1\x49\x8a\xf6\x11\xef\x93\x54\ \x10\xb0\xe8\x74\x3b\xe7\x97\xd8\x9f\xcb\xa2\xcb\x05\xf0\xea\xc6\ \x2a\xd9\x82\x50\xde\xc3\x53\xf3\x4e\x06\x9d\xa9\x02\x03\xa7\xd3\ \xe8\x33\xf6\xa3\xb6\x69\x24\x42\x0b\xa6\xf0\x36\x16\xf2\x1d\x70\ \x3a\x72\x34\xdf\xd0\x3d\xee\x57\x00\x5a\x11\xfa\x9f\x85\xe1\x5b\ \x01\x5e\x82\x82\xde\x60\x0c\x02\x22\x56\x4c\x1e\x6d\x71\xe4\x8d\ \x93\xd1\xf1\x62\x15\x0d\xd0\x78\xe0\xd7\xc2\x5b\x3e\xa0\x11\x41\ \x59\x22\x2e\x80\xbf\xf7\xeb\x08\x63\x2d\x35\x97\xfd\x21\x57\xc0\ \xb4\x6b\xb5\x56\xc5\x73\xdd\xd2\x38\x37\x64\x02\xad\xe3\x69\xf2\ \xec\x26\x5b\x63\xe3\xf3\xec\xf2\x1a\x9c\xdb\x9a\x91\xd8\xa0\x79\ \xaf\x6e\xda\xd7\x80\x7a\xec\x4c\x51\xa3\x5d\x24\x82\x25\xf5\x6c\ \x89\xff\xd6\x59\xb9\x39\x9e\xd6\x9a\x92\xd4\x38\xaa\xb3\xba\xd3\ \x32\xba\xb3\xa8\x23\x91\x7d\x33\x6e\x74\x55\x2b\x26\x51\x69\xd0\ \xd4\x72\xa8\x84\x0b\x29\x94\xd6\xd5\x56\x90\x1a\xb3\x8a\x9e\x0b\ \x45\x87\x45\xbc\x41\xd2\x0f\xb4\xbc\x75\x18\xe4\x6d\xe1\x06\x4a\ \x57\x7b\x26\x39\xe9\x92\x6a\xae\x4c\xbb\x28\xae\x3b\x94\x1c\xa0\ \x55\x98\xf3\x68\x73\x29\x99\xbe\x6b\xe9\xd3\x59\xcd\x36\xc3\x56\ \xd1\x4a\x0b\x4d\xce\xd5\xd2\xd6\x7d\x75\x26\xa8\x99\x70\x43\xfe\ \x37\xa5\x34\xc6\x69\x67\x95\x7e\x33\x8c\x6e\x04\xda\x6f\x26\xb5\ \x57\x67\x3c\x6f\xde\x16\x78\x7b\x39\x30\xb8\x66\x56\xa4\x2d\xe3\ \x06\x16\x05\x5b\x02\x5b\x86\x32\x57\x32\x43\x18\x13\x6f\x80\xef\ \x97\x30\x2d\xd3\x59\xc3\xd9\x3f\x3f\x87\x1b\xdd\x06\x58\x62\xea\ \xd9\x5a\x79\x0b\x64\xfa\x8c\x57\x33\xc1\x35\xa0\x6c\x02\xfd\xb9\ \x91\xd1\x66\xbf\xa8\x5b\xc6\x95\x5b\x72\x97\x6f\x6b\x2e\x16\x83\ \x1b\x4c\xdb\x0c\x9a\x9b\xad\x2b\x0d\xcb\xb0\x6f\x68\xbe\x44\xe3\ \x7e\x20\xba\x9c\x28\x3a\xde\x51\xc4\xf3\x05\x78\x70\xb5\x39\x37\ \x32\xd0\x9c\x85\x82\xa7\x83\x18\x3e\xca\x92\x71\xb6\x1c\x0c\xfc\ \xdc\x23\x59\x6a\xf7\x40\xd5\xc5\x48\x65\x8a\x0b\xed\xc9\x68\x6a\ \xd1\x4d\x75\xee\x4c\xc9\x27\xee\x16\xe9\xa1\x5b\x21\xe4\x5d\x07\ \xc8\x78\xbb\x6a\xee\x36\x90\xd9\x36\x51\x50\xec\x23\x2c\x21\xce\ \x30\x8b\xe8\x7e\x6a\x49\x75\x04\xed\x67\x3c\x58\xd7\x22\x7c\x47\ \x46\xd0\x5e\xea\xc1\x62\xfc\xa6\xd4\x3c\xf9\x0b\x4a\x8c\xdf\xa4\ \x5a\x9b\xd5\x93\xf7\xc3\x85\x07\x49\xb6\x93\xa4\x87\xa4\x4f\x22\ \x45\x7d\xfb\x42\x74\x79\x28\x61\xe9\x4a\x6a\x2e\xf2\x9c\x58\xd2\ \x81\xd2\xd8\x1a\x96\x84\x2f\xaf\xe0\x64\xc6\x2c\x89\xec\xad\x4a\ \x1a\xc3\x3c\x4f\x2d\xd8\xd3\xed\xf6\x1c\xf0\x8d\xae\x28\x31\x1d\ \xa5\xfe\xe9\xd1\xfa\x02\xcf\xd2\x36\x6a\x7b\x9d\x10\x36\xff\x6b\ \x2a\x86\x61\xe1\x46\x70\xc8\x71\xaa\xda\xa0\x9d\x1f\x0e\x83\x38\ \x4d\x10\x94\x05\x11\x63\x82\x16\xeb\x5e\x87\x6f\x18\x40\x64\xdc\ \xa8\xc3\xd5\x2e\x10\x38\xcc\x52\xc2\x58\x27\x6a\xe7\xa9\xbf\x9a\ \xec\x35\xb5\x4b\xb7\x97\xa2\x33\x36\xb2\x11\xb9\x74\x7b\xad\x60\ \xe3\x48\xe3\xd2\xd7\x26\x4b\x5f\x9b\x55\xba\x3d\xf6\x43\xd6\x0f\ \x4d\x6c\x07\x51\x43\x09\x27\xe8\x8d\x83\xe9\xda\x2f\xdb\x70\xca\ \x6d\xae\x24\xbb\x14\xb4\x07\x4b\x74\x76\xcd\x6f\x89\xef\x69\x56\ \x43\x45\x55\xa1\xaa\x46\xd8\x95\x4e\x8c\x5e\x45\x22\x54\xe2\x45\ \xb3\xfa\x69\x11\x79\x72\xa3\x9b\x79\x1b\xb5\xfb\xa4\x3e\x0b\x03\ \x10\x14\x79\x33\xab\xc5\x6d\x42\xaf\x57\x5d\xe0\x5a\xbc\x73\x65\ \x18\x84\x12\x7b\xcc\x3a\xee\x41\x42\x51\xb7\x35\xde\x8b\xeb\x6c\ \x39\xb8\xe1\xf2\x4c\x04\x91\xc8\x95\x3c\x29\x5b\x48\xed\xf1\xe7\ \xf7\x79\x06\xe5\x38\xd1\x6d\xcd\x20\x76\x26\x18\x65\x56\xe3\xab\ \x62\xb6\xb3\x91\xf5\xc7\x4d\x34\xe1\x9a\xd9\xd8\x3f\x53\x85\xbd\ \xa9\x0a\x7b\x67\xaa\x30\x94\xaa\x30\x34\x53\x85\xe1\x54\x85\xe1\ \x99\x2a\x8c\xa4\x2a\x64\x2e\x2b\xb5\xc2\xbe\x54\x85\x7d\x33\x55\ \x18\x4d\x55\x18\xcd\xaa\x70\xbe\x5a\x81\x0e\xc8\x8f\xd3\x32\x96\ \x95\x57\xf1\xca\x15\x73\x3c\xc8\x6e\xe2\x5c\xd8\x3c\x5a\x55\x4f\ \xa8\x8c\x47\x18\x68\x8d\x7d\xe7\xe9\x5a\x3d\x99\xdb\x74\x96\xa4\ \xee\x28\xd6\x70\x1e\x20\x57\x51\x62\xaf\x2e\xe0\xfb\xac\x1e\x1f\ \xb9\xc3\xc8\x1b\x92\x82\x4f\x53\xaf\x4f\x22\xde\xc1\x5d\xaa\x32\ \x54\x65\x6e\x60\xbc\xa0\x01\x18\xd9\xb1\xcc\x49\xc7\xa3\xc9\xa2\ \xbc\x42\x75\x9c\x8f\x31\x7a\xda\x22\xb8\x62\x27\xa2\x8c\x15\x9e\ \x09\xca\x6d\x73\x84\xd2\x4e\x08\xb4\xe7\xf1\x9e\x6d\x63\x4a\x76\ \x99\x4d\xb2\x52\x75\x95\x36\xd4\x26\xd2\x41\xd7\x67\x55\x58\x83\ \x51\x09\x19\xce\x86\xa5\x3b\xcd\x56\x2b\x53\xb0\x5c\x45\x89\xd8\ \x30\x51\x53\x49\x15\x44\x77\x1b\x56\xab\x9b\x55\xfe\x8a\x9a\x8c\ \x3d\x6a\xe4\x1c\x06\xba\xcb\xf8\x96\xe8\x5b\x59\xd9\xad\x2e\x20\ \xab\x6b\xb4\x9f\xe4\x28\x6e\x05\x1f\xe5\xcc\xad\xa5\xb6\xb7\xac\ \x5c\x67\xe8\x23\x89\x7a\xc7\x2b\x2c\x64\x6f\x4f\xdd\xbb\x8d\xa7\ \xfb\x92\x3d\x56\xb7\x65\xf6\xf4\x14\xae\x73\x24\x19\x73\xdc\xce\ \x4a\x34\x5b\xf7\xd7\xe7\xc0\x17\xc7\x6a\x48\x06\x7b\x97\xec\x02\ \x75\x92\x46\xcd\xec\x56\x9a\xa9\xe7\x2c\x9d\x5b\xa4\xda\x45\xd8\ \xa5\x9f\xb6\xb8\xd7\x57\xbe\x72\xb3\x80\x00\x9f\x69\xad\xee\x49\ \xbc\x9f\x19\x54\xbb\x5c\x23\x34\xb1\x9a\x83\x32\x92\x68\x78\xeb\ \xb8\x17\x46\xa7\x61\x1a\x6c\x87\xdd\x35\x63\x98\xc3\x91\x33\xb9\ \x46\x79\x9f\x45\x1e\x02\x57\x8a\x43\xe0\x6a\x77\xf6\xfd\xd4\xae\ \x99\xd0\x90\x6a\x0e\x05\xc6\xed\x36\x0f\xf3\xf3\x6a\x7b\xea\x35\ \x97\xa6\xf8\xc8\x1a\xc3\xe9\x9b\xdb\x1a\x24\x85\x3f\x29\xb2\x72\ \x10\x71\xbb\xa5\xf1\x4c\xea\xce\x6a\x75\x48\x59\xb3\xfc\xb4\xa2\ \xda\xea\x90\xb2\x48\x5d\x3b\x7b\x75\x6a\xa4\x45\x37\x50\x0e\xe4\ \x6e\x37\xc2\xe5\xec\xec\x35\x2e\x05\x2d\x49\xcc\x9d\x8a\x12\x33\ \xcc\xbc\x84\x75\x12\x09\x5d\x92\xf8\x85\xd2\xc9\xd6\x89\xe9\x52\ \x86\xf9\xbd\xc3\x40\xeb\x7e\xb6\xb4\x5a\x8b\x8a\xb4\x9c\x17\xa1\ \x85\x9f\xa6\x91\x68\x59\x27\xbb\x8a\x91\x53\x9c\x08\xea\x48\xc5\ \x27\xd5\x4f\x5a\xfc\x9e\x4b\x97\xb5\xb3\x3c\xca\x0e\x2a\xb3\xec\ \xc3\x4c\x25\x66\x79\xf4\xa0\x32\xcb\xfe\x64\xf6\x2c\x5f\xac\x9c\ \x7d\x6f\x15\x3e\x77\xdc\x76\x93\xc2\xf0\xca\x51\xbd\x15\xf6\xcb\ \x5e\xbf\x8e\x00\xac\xb6\x22\x17\x65\x9a\x43\xae\x46\xfb\x87\xdf\ \x68\x71\x77\x35\x6a\x47\x11\x07\x38\x7b\xb1\x05\xb4\xc9\xed\xf7\ \xa2\x44\x2f\x22\x01\x01\x30\x78\x5b\xc4\xa4\xd6\x0a\x82\xbd\xb4\ \x0d\xeb\x30\x7e\x9b\x8e\xd5\x54\x53\x0c\x6a\xc5\x28\x9e\xfd\x6c\ \xb5\xcb\x99\x24\xd7\x02\xfb\x23\x3f\xc4\x90\x8c\xf3\xd2\x59\x6d\ \x18\xc5\xea\x51\x1e\x2f\x31\x50\x32\x03\x6e\x68\xae\x65\xa2\xa3\ \xc2\xac\x53\x4c\xa9\x5a\x8d\x03\x34\x9e\x2a\x5a\x26\x02\x1b\x35\ \x2c\x10\x3b\xea\xa8\x45\xb5\x74\x14\x65\xf7\xe2\x74\xc4\xaf\x6a\ \x50\xe8\x08\x4d\x9c\x31\x1d\x05\xc6\xd1\x4c\x3a\xba\x2c\xa3\x55\ \x93\x2e\x59\x91\xed\xe2\xf7\x63\x4a\xcb\xe7\x8d\x99\x13\x87\x94\ \xa6\xcd\x89\x63\x99\x6d\x3f\x99\xa9\x49\x4a\x68\xd6\x25\xef\x09\ \x6d\x9c\xd8\x52\x56\xbd\x5b\xe6\x14\x7b\x12\x99\x57\x3c\xc1\xde\ \xd3\x51\x8e\x6a\x52\x4f\x75\x2e\xd0\x06\xbf\x87\x4a\xab\x7e\x08\ \x8c\x6f\x90\x21\x99\xcf\xeb\xb5\xb9\xd7\x5e\xab\xe8\xbe\xe6\x14\ \xe9\xf8\x5a\x49\x0b\x3c\xca\xa0\x11\x87\xda\x92\xd1\x82\x4e\x82\ \xe2\xa5\xd5\xa2\x86\xaf\x4f\xfb\x5d\x7c\x78\x86\xef\xeb\x65\x63\ \x87\x73\x54\xc4\xfa\xcc\x5b\x9e\xc7\x84\xa3\xe7\x92\x74\x38\x56\ \x5b\x52\xc0\x68\x13\x21\x62\x69\x78\x9e\xe0\x68\xac\x34\x38\x1d\ \x73\x39\xba\x26\xbb\xe9\x77\xc8\xab\x35\xa5\xf3\x7c\x2d\x89\xd3\ \x66\x59\xdd\xec\x4c\x74\xa3\xaa\x4d\x96\x10\x60\x75\x71\x6b\x63\ \x3a\x13\x14\x3f\xd1\x17\x52\x69\x09\xc0\xc6\x14\x00\x3e\x77\xaf\ \x19\x55\xad\x60\x8c\x3b\x51\x62\x17\x03\xef\x10\xc8\x84\x27\x79\ \x62\x2f\x0a\xc1\xd1\x15\xd6\xa4\xba\x95\x3a\x95\x70\xdd\x2c\x47\ \xa4\x5a\x42\x67\x3c\xa3\x73\x15\xa4\xad\x40\xd8\x65\xa2\x45\x23\ \xe1\xef\x4e\xc1\x1f\x08\x7d\x8b\x7b\x75\xd0\x6e\x27\x3c\x82\x7c\ \x50\x7a\x18\x38\x68\x14\x2a\xa2\x93\x27\x73\x40\xef\x3b\xe9\x08\ \xb2\x19\xc3\xdb\x44\xdc\x80\x15\xd7\xe0\x19\x59\xf8\x39\xf0\x80\ \x3d\x32\x17\xc5\x33\xe5\xeb\x7e\xf6\x80\x58\xbc\x93\xa9\x30\xb9\ \x2e\xad\x5f\x39\x93\x29\x32\x11\x44\x3a\x6a\x2e\x7b\x65\x3d\x08\ \x42\x12\x5a\x91\x1e\x61\xdc\x3d\x67\xd3\x1c\xf2\x39\xe2\xf3\x9c\ \x2d\x09\xb7\x11\x0a\xf8\xf9\x1f\x65\x63\x8b\xe7\xbb\x5e\x68\x94\ \x0c\xc1\xe3\xf5\x0d\x4a\x43\xc1\x4f\x32\xd7\xa3\x93\x07\x66\xa7\ \xbb\x30\xf5\x1c\x12\xf7\x75\xf0\xd0\x01\x25\x1c\x6b\xd8\xeb\xc0\ \x8c\xbc\x45\xc3\xe2\xe1\xc0\x22\xf3\x82\x10\xd3\x89\x86\xa4\xdc\ \x44\xbe\x43\xe0\xf8\xb6\xe5\xe8\xa5\x34\x7d\xa5\x55\x23\x3a\x96\ \x64\x63\xd6\xf4\x52\x26\xcf\xb8\x51\xa1\xb5\x92\x60\x58\x65\xa6\ \x46\xc1\x25\x23\xa0\xb3\xf6\x8c\x88\x32\x26\x85\x47\x36\x8b\xfe\ \x8e\xd3\x77\xee\xbc\x89\xa2\x29\x24\x02\x72\x23\x18\x0c\xed\x53\ \xd8\x54\xc9\xb0\x31\xaf\x31\x12\x48\x14\xbb\x48\x86\x96\xe3\xf8\ \x17\x77\xbe\x13\x99\x03\x39\x59\x3b\x4b\x74\x00\xa6\x96\xec\x75\ \xc6\xef\xc8\x12\xb9\x13\xe5\x69\x83\x38\x2c\x80\x9b\x5b\xfc\x30\ \xcb\xdc\x22\x58\xa8\x1d\x38\x99\xe0\x7a\x99\x71\x18\x32\x09\x59\ \x94\xd9\xa4\x93\x66\x24\xed\x77\x4e\x47\x56\x44\xde\xec\x7a\xe4\ \x9f\x5c\xa9\xd1\x00\xf0\x5e\x16\xf4\x24\x6b\x7a\x14\xbd\x47\xae\ \x63\x11\x46\x32\x2a\x88\xb0\xce\x0a\x0d\xe6\x38\x80\xc4\x11\xaa\ \x53\x1e\xc2\xd6\xf4\x10\xd0\xd9\x1d\x0d\x02\x03\x60\x66\x39\x8a\ \x17\x9f\x86\x51\xd4\xd3\xd0\x1b\x8c\x4d\x8a\x4d\xe9\x71\xf1\x24\ \x99\x7c\x5c\xae\xc8\x24\x47\xdb\x88\x18\x5f\x8a\x55\x64\xd2\xda\ \x41\xa1\x63\xf0\x81\xa8\x47\x94\x65\x62\x42\x7e\x4e\xc3\x21\x17\ \x5c\x72\xfb\x4e\x4b\x85\x71\x52\x45\xb9\x01\x0a\xa0\xa3\x8d\x3b\ \x91\xa2\xd7\x77\xaa\x06\xcf\xe0\xeb\x7a\x26\xec\x0f\xb1\xe8\x87\ \x8b\xdb\x0c\x9e\xe0\xb5\xbc\x25\x02\x9d\xf4\x87\xc4\x62\x56\xf6\ \x2c\xd5\x7a\x9a\x09\xf0\xb1\x54\xc6\x92\x28\x5e\x8a\x67\x95\x95\ \x38\xcb\x3c\x8f\xc6\xd2\x5a\x9e\xbc\x20\x51\x6a\x7c\x26\xcb\x33\ \x9e\xd2\x3a\x79\x7a\x45\x49\x23\x23\x86\x22\xc4\x0f\x21\x5f\xeb\ \x65\xd0\x10\xb8\x4a\xa8\xc3\xbe\x8b\x09\x9b\x91\x87\xe2\xb6\x91\ \xa7\xa3\x77\x45\x99\xcf\x24\x3d\xaa\x96\xcc\x8d\xb2\x93\x29\x91\ \x87\x8a\x85\x45\xb1\x5a\xc4\x41\x45\xe9\x16\xb3\xb7\x5e\x6c\xb1\ \x17\x70\xf7\xa8\x62\x05\x39\x4f\x6d\xef\x1a\xdd\xb3\x63\xfd\x39\ \xd9\xe2\x85\x8a\xfe\x5c\x4f\x97\x6f\xa6\x6c\x71\x8a\x2a\x9f\x6c\ \xe2\xaa\xcc\x4c\x14\x32\x83\x66\xa0\x48\x21\x5c\x6e\x4f\xe6\x90\ \x94\xa2\x97\x92\x24\x78\x54\x59\x02\x14\xe7\x13\xda\xfc\x9c\x70\ \xb1\xa2\xdb\x65\x91\xa2\x23\x0d\x49\xfa\x30\xc5\xc9\x24\x87\x4e\ \x6a\x36\xed\xa8\x55\xa5\x92\x44\xa3\x42\x86\x22\x58\x01\x13\x09\ \x51\xb8\x77\x1d\xf5\xe6\xa6\x58\x52\xcc\xce\xea\x17\x49\x8f\x6a\ \xb4\x59\xd6\x29\xb9\x93\x94\x2e\xe3\x41\x6c\x23\xd5\x30\x66\x1a\ \xd9\x49\xfd\xd2\x72\x65\xd6\x80\xde\x2b\x06\xc4\xe5\xf8\x47\x99\ \x1a\x04\x56\x7b\x2c\x6c\xd6\xd6\xe9\x78\x88\x3c\x9f\x4e\x72\x4f\ \xe0\xc9\xf8\x6a\xf9\x99\xba\xb1\x47\x7d\xc9\xcc\xb2\x72\xf0\xc3\ \x63\x3c\xef\x4c\xc4\xf9\xd3\x02\x5e\x7c\x50\x4c\x20\x80\x12\x6c\ \xc6\xf1\xfb\x91\x8c\xc2\xd3\x6e\xc2\xee\x9e\x89\x97\x3b\x1b\xe0\ \x25\x8b\xda\x38\xb4\x6a\x9a\x74\x5b\x30\xb7\xec\x1c\xc3\xf5\xf2\ \xe7\xce\x1e\x33\x35\x38\x8d\xf1\x73\x28\x8d\x9f\x14\xb5\xc7\x29\ \xa8\xe2\x84\xa4\xba\x92\x84\xb4\x06\x51\x8a\x20\x54\x67\x89\x36\ \x66\x16\x86\x70\xe8\x73\xd7\xbb\x9d\x5a\xce\x11\xab\x50\xb7\x7c\ \x32\x7c\x24\x93\xda\xdb\x6d\x81\xc8\x2a\x30\x6d\x64\xef\x90\xe3\ \x22\xc1\xd7\x4c\xe9\xeb\xb3\xb2\x50\x95\x12\xa0\x19\xb4\xf5\xf0\ \x9a\x6a\xa2\xfb\x24\x1f\xe9\x24\x20\xe3\x4b\x47\x52\x38\xf6\x0d\ \xa3\xea\x47\x69\xf0\xeb\x30\x93\x17\x02\x9f\xc5\x3e\xd4\xc4\xec\ \x59\xd4\xa1\x8b\x2d\x8f\x2b\x0a\x88\xd2\x3b\x32\x95\x87\xbb\x12\ \xb2\x56\x76\xd2\x51\xbe\x89\x16\xa8\x9c\x72\x63\x02\x7b\xee\x18\ \x0a\x24\x78\x6d\x81\xc8\x0d\x24\x7c\xb9\x64\x57\xd3\x5a\xa4\xa6\ \xd1\x82\xc9\xc5\xf1\x04\x0a\xf1\x9d\x88\xd7\xd4\xe1\x2d\x23\x4c\ \x9e\x58\x2e\x31\x99\x2a\x2d\x7b\xab\x8f\x64\x15\x32\xe5\x0a\xa9\ \x25\xeb\xf0\x71\x51\x8c\x52\x1e\x26\xe2\x42\x85\x21\x62\xdd\xe6\ \x7c\xc2\x4d\xc1\xc3\xc8\x18\x5d\x06\x44\xf2\x8e\x14\x19\x48\x58\ \xc0\x95\x84\x36\xe4\x58\xbe\x94\x81\xcf\x32\xd5\xad\x22\xeb\x91\ \x9c\x91\x89\x18\xf4\x65\x62\xf0\xd8\xa8\xb2\x65\x4a\xfb\x85\x2a\ \x63\x2a\x31\xcc\x32\x66\x53\xdb\xa8\x0d\x39\x22\xfe\x1d\xd9\x1c\ \x99\x08\xc9\x2c\xbd\x82\x7b\x9e\xf6\x88\xe3\xce\xcf\x66\x3d\xf1\ \x3f\xce\x56\x4c\x6a\x4b\x3a\xf9\xea\x5c\x4c\x24\xfb\xea\xc1\xff\ \xb4\xd1\x40\x4f\xe4\x96\xc9\xe8\xeb\x8a\x9a\xc8\xbd\xda\x73\x9f\ \xb5\xa7\x52\xa5\x75\xf4\x02\xe1\x34\x73\xc6\x53\x67\x51\xbb\x32\ \x3a\x3b\x99\x03\x85\x45\xc6\xa3\x73\xea\xc5\xc6\xe9\x4a\x84\x1e\ \x0e\x20\x4f\xe5\x65\x6a\x40\xc5\x0a\x29\x8e\x84\x60\xfc\x0e\xae\ \x82\x63\x8e\x83\x8b\x84\x22\xcf\x68\xbe\xd7\xc4\x92\x1a\x95\x24\ \x90\xff\x6b\x22\x46\x5d\xde\x32\xc6\x2f\x3e\x4e\x73\x45\xd5\x68\ \x9a\x36\xc0\x64\x80\x2f\x85\xac\x41\x9b\x87\x1e\x47\xe7\xc3\x8a\ \xdc\x60\x4a\x76\x11\x02\xb0\x1e\x7c\xad\x35\x47\xd0\x66\xb8\x7a\ \x4d\x4a\xa3\xb1\x6c\x9b\xd5\xee\xb6\xba\xe3\x9e\x4d\x2f\xe7\xcb\ \x5e\xe2\x91\x35\xec\xee\xda\x86\xf6\xe7\x59\xa0\x92\xd5\x26\x77\ \x4e\xce\x3e\xc9\x8f\x4a\x8a\x6c\x71\xcc\x0b\x63\xd2\xb9\x08\x49\ \xc8\x16\xb6\xa5\x2c\x10\x1b\x9b\xc8\x67\x07\xa2\x6a\x48\xcf\x00\ \x2f\xb2\x8f\x9f\x0c\x78\xef\x04\xc5\x43\x4d\x46\xa5\xae\xa4\x24\ \x99\xaa\x07\x0e\xb8\xc0\x8a\x13\x3a\xc9\xe4\x91\x98\xe8\x08\x56\ \x1b\x7b\x2c\xe6\xec\x3c\x82\xd0\x8a\x8f\x88\x46\x47\x57\x02\x26\ \xad\x98\x32\x73\x91\x41\x33\xc1\xf3\x6a\xb8\x2c\x4a\xa4\xa0\xea\ \xab\xfb\xc7\xf0\xd8\x89\x70\x93\x54\xe2\x81\x56\x74\x57\xa4\xfe\ \xd2\x35\x7e\xfb\x34\x66\x6b\xe7\x97\x20\xca\xb3\x9c\x8e\x1d\xe8\ \x45\xee\x72\x29\x19\x93\x86\x85\x45\xfc\xba\xa8\x19\x21\xb6\x13\ \x9d\x91\xa9\x25\x94\xc8\x9a\xdc\x58\x30\xce\x3a\xb3\xbb\xbe\x2f\ \x3e\x5f\xd6\x95\x16\x67\xe5\xa9\xdd\x15\xc0\x87\x83\xd0\xdf\xa1\ \x7b\x22\x0a\x62\x76\xe0\x34\x3e\x85\xb7\x4e\xed\x3a\x75\xec\x2e\ \xd5\x61\xd7\x49\x75\x98\x3c\x59\xf7\xb4\x8c\xee\xc4\x51\xba\x93\ \xee\x0d\x8f\xba\x47\xbd\x91\x3f\xbc\x4e\x6f\x83\x7d\xd8\x9b\xc8\ \x0e\x72\xd2\xc8\x54\x7b\x4b\x27\xf0\x5a\x97\xd1\x5f\x94\xd2\xeb\ \x24\x3b\x6c\x7c\xc0\x33\xd1\x61\xea\x44\x67\xaa\xc3\xc3\x4a\x87\ \xdc\xf4\x8e\x62\x20\xbf\x35\x32\x3a\x83\x26\x97\x5d\x95\x96\x1b\ \x67\x04\x41\x5c\x62\xae\x99\x0b\xda\xfb\x85\x51\x1e\xf7\x49\xb4\ \xcb\x87\xb6\xab\x17\x49\x76\x4c\x52\x79\x0a\xde\x97\xc0\xd7\xc5\ \x8b\x16\xfd\x07\x36\x87\x95\x9d\ \x00\x00\x05\xfa\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x76\x00\x00\x03\x76\ \x01\x7d\xd5\x82\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x05\x77\x49\x44\ \x41\x54\x78\xda\xbd\x96\x7f\x68\xd4\x65\x1c\xc7\x5f\xcf\xf7\x7b\ \xf7\xbd\xdd\x79\x73\x73\x6e\x73\x3a\x75\x9b\x66\x4e\x6d\x1a\x88\ \xc3\xd0\x96\x73\xf8\x5f\x61\x34\x24\xff\x33\xc3\x40\x50\x98\x04\ \x92\xc5\xb4\x48\x9b\xce\x5f\x53\x98\xe2\xef\x90\x08\x84\x88\x30\ \x2c\x0c\x5a\x53\x14\xc9\x36\x95\x99\x99\x63\x4b\x97\xce\xa9\x1b\ \xce\x6e\xbb\xdf\xbf\x9e\x1e\xbe\x83\x79\x7a\xf7\xf5\xa6\x44\x1f\ \xf8\xf0\xf9\xde\x71\xc7\xeb\xfd\xbc\xdf\xcf\xf3\xf0\xb5\x49\x29\ \xf9\x2f\xeb\xa8\x10\x93\x9c\xf0\x89\x0b\xe6\x49\xc8\x0e\xa9\xb6\ \xc3\x03\xe0\x5b\x1d\xbe\x7c\x5b\xca\x5b\x24\x94\x8d\x84\x12\x42\ \x14\x03\xaa\x9f\xbf\xc6\x80\x6d\x3d\xd4\xba\x61\xc1\xe4\x8a\x0a\ \x5b\xf1\x92\x25\xb8\xa7\x4e\x25\x06\x78\x3b\x3b\xc7\x76\x9f\x3e\ \x3d\xf3\xd6\x85\x0b\xb5\x3b\x85\xf8\xde\x07\xef\x7c\x2a\x65\x3c\ \x49\x00\x0a\x1e\x0a\x85\x9a\x83\xc1\x10\x08\x10\x88\xa7\xa6\xa9\ \x72\x68\x26\x3c\xc7\x63\x31\x7e\xa8\xaa\xc2\xdb\xd6\x46\x79\x4d\ \x0d\xd9\xa5\xa5\xe8\x00\xc1\xa0\x39\x47\x4f\x9c\xc8\x8c\x55\xab\ \x28\x98\x3f\x5f\xfc\xd6\xd8\xb8\x34\x23\x1c\x3e\xd3\x2c\xc4\xe2\ \x4a\x29\xa3\x4f\x0b\x40\xc1\x19\xf4\x7a\xd1\x34\x81\x10\x49\xfd\ \x58\x84\x6a\xc0\x9c\xe7\x56\xae\x64\xb0\xa5\x85\x39\xcb\x97\xe3\ \xcc\x70\x10\xec\xb9\x83\x3d\x1e\x43\x4a\x90\x31\x88\x29\x81\x38\ \x1c\xd8\x54\xcf\xa9\xae\xe6\xf2\x89\x13\xaf\x5f\x93\xf2\xc4\x62\ \x21\x96\x25\x09\x10\x82\x04\xb8\x66\x4e\x4d\x7b\x0c\x4b\x04\x0b\ \xc0\xd3\xde\xce\xdd\x93\x27\x29\x9e\x54\x08\x8e\x38\x8e\x05\xe5\ \xe4\xcc\x2a\xe3\x8f\x5d\x9b\xc8\xd6\x24\x01\x7f\x84\x90\x70\xf2\ \xca\xc7\x9f\xd3\xdb\xda\x4a\x7f\x47\x07\x93\x0a\x0b\xb9\xd1\xdd\ \xfd\x56\x0d\xbc\x9c\x24\x80\x21\x70\xb2\x03\x00\x29\x9e\x5b\xeb\ \xeb\x19\x25\x25\xee\x6c\x17\xc1\xd0\x03\x46\xcf\x98\x89\xab\xb0\ \x88\x19\xeb\x6a\x69\xda\xb0\x02\xb7\x72\xa4\xfc\xb3\xa3\x38\x55\ \x0c\x39\x91\x30\xd7\x76\xef\x62\x94\xd3\x49\x16\x18\x25\xb0\x39\ \xd9\x01\x44\x6a\xfb\x01\x9e\xfc\xac\x80\x21\x7a\xcf\x9f\x27\x1f\ \x10\x8f\x3a\x30\x7a\x7b\x38\xb3\xee\x4d\x2a\x1a\x4e\x92\x3d\x79\ \x1a\x6f\xd4\x1d\x31\x7f\x9b\x39\x79\x0a\x9e\x5b\xed\xfc\xf8\xde\ \x52\xc6\xdd\xbe\x4b\xbc\xc7\xc7\x28\xe0\x1f\x78\x2d\x55\x04\x56\ \xd9\x9b\x93\x44\x01\xc1\x20\x9a\xd7\x8b\xae\x81\xe1\x96\x38\xed\ \x5e\x8a\xec\x7f\xf2\xcd\x07\x15\x54\x1f\x6c\x26\xa7\x78\x26\x00\ \xfd\x37\xaf\xf1\xf5\x8a\x2a\x5e\x35\x7a\x71\x8d\x05\xbf\x1f\x1c\ \x7d\x00\xb8\x2d\x22\x10\xe9\x45\x00\x86\xdd\x8e\x66\xb3\xa1\x45\ \x87\x36\x1b\x1a\xf8\x62\xa8\xef\x24\x9a\xce\x70\xc5\xe2\x12\x87\ \x4b\x32\x3a\x0f\x34\x07\xc4\x02\x6a\xf6\x81\x1b\x1c\x29\x22\x60\ \x64\x02\x54\xc7\xe3\x71\x5c\x86\x81\xf0\x41\xc4\x0f\x8f\x06\xc0\ \x63\xe4\x53\xbd\xff\x17\xb2\x27\x95\xe2\xef\xbd\x41\x2c\x06\x79\ \x2f\x95\xf1\xee\xe1\x26\xce\x6e\xa8\x62\x6a\x76\x1f\x52\xc3\x6c\ \x3d\x8e\xff\x45\x1c\x30\x9b\x21\x01\x64\x4c\x9f\x8e\xbc\x70\x81\ \x81\x87\x10\x1d\x3f\x9a\x8a\x9d\x4d\x64\x17\xcd\xc4\xd7\x73\x9d\ \xd6\xbd\x8b\xd1\x9d\x82\xb9\x6b\x9a\xc9\x9a\x5c\xc6\xa2\xad\x4d\ \x5c\x5a\xbf\x90\x88\x52\xaa\xfe\x4a\x3f\x5c\x7d\x11\x07\x86\xdb\ \xe9\x74\x32\x66\xed\x5a\x7c\x17\x2f\x12\x0e\xc6\x88\xde\x19\x54\ \x47\xed\x1c\x2a\x15\xda\xea\xaa\xc8\xcb\x52\x99\x3b\xe0\xaf\x43\ \x95\x4c\x59\xd5\xcc\x60\xc7\x59\x42\x7f\x0f\x12\xee\x03\x1d\xe4\ \xcf\x70\x78\xa4\x0e\xa4\x14\xe6\x76\xbb\x99\xb6\x70\x21\xbf\xce\ \x99\x83\xfb\xf2\x65\x64\x9f\xe4\xea\xba\x35\xdc\x2e\xcd\xc4\x70\ \x0f\x10\x0c\x43\x3c\x00\xba\xed\x3e\x37\x77\xcc\xe7\xd1\xef\x1e\ \xa2\x37\xc0\x1e\x81\x2e\x68\xf9\x09\x2e\x26\x3b\x60\xd5\x16\xc2\ \x72\x72\x72\x18\x53\x57\x87\x7f\xf5\x6a\x32\xbb\xba\x18\xec\x95\ \xf4\x7b\x07\xb0\xe7\x83\x3f\x17\x74\x63\x68\x83\x06\xba\x3c\x88\ \x87\xe0\x0a\x43\x2f\xdc\xfc\x10\xd6\x03\xf7\x92\x1d\x18\x86\xa5\ \x6f\x00\xc3\x30\x98\x35\x7b\x36\x6d\x8d\x8d\x78\x36\x6e\x24\xff\ \xca\x15\xbc\x5e\x08\xa8\xf6\x77\x81\x30\x40\xc6\x87\xc0\x99\x2a\ \x9b\x4b\x44\x3b\x3e\x82\x9a\x20\x5c\x91\x52\x06\x52\x46\x60\x76\ \x1a\x78\xa2\xd8\xdc\xdc\x5c\xe6\x96\x97\x73\xbd\xa1\x81\xf6\x33\ \x67\xc8\x3d\x75\x8a\xac\xce\x4e\x44\x20\x80\x4d\xb7\x11\xcf\xb0\ \x73\x7f\x46\x11\x77\x97\x2d\xa3\xa6\xb6\xb6\x11\x68\x55\xf0\x41\ \x80\x67\x6e\x42\xac\xe1\x4f\x88\xd0\x34\xcd\x8c\x62\xde\xbc\x79\ \x4c\x54\x57\xee\xdd\xca\x4a\xba\xbb\xbb\xf1\xf9\x7c\xb8\x5c\x2e\ \x73\xb3\x16\xe6\xe5\x51\x52\x52\x02\xb5\xb5\xed\x0a\xde\x97\xf4\ \x3e\x60\xb5\x0f\xb0\x58\x39\x90\x24\x24\x23\x23\xc3\x84\x14\x14\ \x14\x50\x56\x56\x86\xae\xeb\x84\xc3\x61\x14\x70\x58\x08\x10\x02\ \xb0\x12\x90\x6c\x3f\x58\x42\xd5\x4c\x29\x44\xc1\xcc\x4e\x57\x56\ \x11\x3c\x86\xa6\xb6\x3e\xad\x88\xc4\x92\x52\x26\x2a\x4f\x23\xe0\ \x69\x30\xa4\x85\x26\xc3\x4d\xa8\x79\x4b\x26\x4e\x00\xa1\xe9\x23\ \x12\x90\x08\x4e\x09\xc3\x5a\x98\xf9\xf6\xa3\xa0\x66\xf6\x91\x48\ \x04\xf5\xd9\x6c\x00\x5f\x38\xea\x05\x02\x23\x76\x20\xa9\xd2\xb8\ \xa1\x40\x26\x54\xbd\x57\x9a\x27\xc0\xe3\xf1\xa8\xe9\x07\x21\xc8\ \xcc\x1a\x13\xd9\x5a\xbf\x65\x2f\xd0\x92\x76\x13\x0a\x2b\xa0\x75\ \x99\xab\x8e\x46\xa3\xe6\x3b\xc2\xbd\x7b\xf7\x79\xf0\xe0\x3e\x0e\ \x47\x06\xf9\xe3\xf2\xd1\x35\x5d\x6e\xd9\xb6\xed\xc0\xf1\x23\xc7\ \x36\xa9\x38\xe2\xcf\x12\x90\x0a\x9e\x26\x82\xc7\x02\xd4\xca\xcd\ \x55\xf7\xf4\xf4\x50\x59\xb9\x48\x39\x12\x35\xc5\x7c\xb1\x63\xfb\ \xf1\xa3\x07\x0f\xac\x1b\x86\x5b\x0a\xb0\x82\xa7\x71\x43\xc1\x87\ \xed\x7f\xf8\xb0\x1f\xc3\x70\x0c\xc3\x77\xec\xdd\xf3\xdd\xa1\xc6\ \x7d\xef\x4b\x55\xc0\xc8\x4f\xc1\xf3\x94\x94\xd2\xb4\xdf\xeb\xf5\ \x32\x30\x30\xc0\x84\x09\x13\x86\xe1\x8d\xbb\x1b\xaa\x53\xc0\xd3\ \x3b\xc0\x88\xa3\x48\x8c\x20\x4c\x1c\xb0\x1b\x76\xb9\x65\x7b\xfd\ \xf1\xc3\xfb\xf6\x27\xad\xfc\xb9\x8e\xe1\x48\xc5\x29\x06\xaa\x4d\ \xdb\xf3\xc6\x8d\x8f\x6e\xde\x56\xbf\xff\xcb\xa1\xcc\xe5\x73\xdf\ \x84\xba\xae\x0f\x9d\x84\xa4\xcc\xad\x2f\x1d\xa1\x69\xa0\xd9\x88\ \x68\x86\x77\xe7\xf6\xba\x3d\x5f\x1d\x33\x77\xbb\x7c\x91\xab\xb8\ \x4b\x09\xa8\xe4\xc5\xcb\x0f\xb4\x58\xc0\xd3\x0b\x90\x52\x76\x01\ \xaa\xff\xbf\xfa\x17\x1e\x6a\x5b\x84\xf4\xbf\xc4\xa8\x00\x00\x00\ \x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x05\x1e\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ \x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01\ \x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x01\x13\ \x17\x00\x27\x6a\x87\xa7\xab\x00\x00\x04\x9e\x49\x44\x41\x54\x58\ \xc3\xcd\x57\x41\x4f\x1b\x47\x14\xfe\x66\x76\x61\x8d\x2d\xdb\x11\ \x18\x1f\x0a\xb7\x94\x5e\x41\x2e\x11\x02\x95\xa4\xe0\x56\x02\xa9\ \x81\x06\xf8\x11\x55\xa5\xaa\x81\x5b\x5b\xf5\x50\xa9\x2d\x70\x4f\ \xa0\x3d\x72\x4e\x9b\x1e\x38\x20\x95\xb8\x29\x29\x8d\x55\xd1\x10\ \x41\x55\xae\xa0\x26\xb1\xa3\x52\xc0\x5e\x30\xf6\xd8\x3b\xf3\x7a\ \xc0\xeb\xac\x97\x35\x86\x48\x51\x3b\xd2\x6a\xde\xbc\x5d\xcd\xf7\ \xcd\x37\xef\xbd\x99\x05\xfe\xe3\xc6\x6c\xc3\x30\x8c\x76\x21\x44\ \xf4\x55\x82\x19\x86\xf1\xb7\x10\xe2\xa9\xd3\xa7\xdb\x86\x10\xe2\ \x0d\x22\x4a\xbc\xd2\xd5\x32\x16\x07\xe0\x4d\xc0\x6e\xcf\x52\x29\ \x70\xce\xc1\x18\xab\x7a\xc0\x18\xd8\xc9\x24\x27\x63\x5b\xbe\xb2\ \x1f\x9c\x03\x00\x38\x00\xa5\x14\xd6\xd6\xd6\x20\xa5\xc4\x9b\xdd\ \xdd\x30\x0c\x03\xa1\x60\xd0\x93\x14\x3f\xe5\xe0\x1c\x9a\xa6\xbd\ \x78\xb8\x76\xe2\x2b\xfb\x39\xe7\x95\x31\xd7\xb4\x17\x3d\x63\xd0\ \x18\x03\x11\x61\x65\x65\x05\x5d\x5d\x5d\x18\x1a\x1a\xc2\xcf\xf7\ \xef\x43\x49\x59\x53\x15\xee\x21\x53\xf5\xc3\xab\xc7\xfc\xd4\x7b\ \x5e\x65\x1f\x1c\x1c\xa0\xa3\xa3\x03\x86\x61\x20\x7b\x78\x88\x89\ \x89\x09\xdc\x4b\x24\xce\x4f\xc0\x4b\x7e\xee\x02\xe4\xce\xde\x7e\ \x5f\x56\x25\x1a\x8d\x62\x7b\x7b\x1b\x96\x65\x41\x49\x09\xd3\x34\ \xf1\xfe\xe8\x28\x56\x57\x57\x01\x40\xbb\xb8\x02\xb5\x56\xee\xf2\ \xf3\x72\x5c\x70\xce\x71\xed\xea\x55\x24\x12\x09\x34\x36\x36\x42\ \x4a\x89\xa3\x5c\x0e\x7d\x7d\x7d\x08\x85\x42\x3d\xd7\x47\x46\x98\ \x67\x1a\x02\x18\x24\xa2\xc4\x3f\x7b\x7b\x9e\x2a\xd8\x01\x08\x97\ \xcd\x3d\x02\x94\x33\x86\x8c\x69\xe2\xd7\xd5\x55\xc4\xe3\x71\xe4\ \x85\x40\xa3\xae\x93\xde\xd0\x20\x5b\x5b\x5b\xdf\x7b\xfd\xf2\xe5\ \x1f\x37\x37\x37\xc9\x33\x0b\x6a\x29\x50\x45\xa0\x3c\x26\x00\x05\ \x21\x90\x3b\x3a\x42\x36\x9b\x45\xb1\x54\x82\x92\x12\x42\x08\x08\ \x21\xb0\xb5\xb5\x85\xdd\xdd\x5d\xdc\x18\x1b\x83\x28\x14\x98\xa6\ \x69\x5a\x3a\x95\xfa\x21\x1c\x0e\xbf\xdb\xd9\xd9\xf9\x70\x63\x63\ \x83\x4e\x29\xb0\x7f\x70\x70\xa6\x02\x36\x09\xad\x9c\x0d\x54\x96\ \x91\x00\x30\xa5\xa0\x18\x03\x29\x05\x22\x02\xe3\x1c\x4a\x4a\x1c\ \xe7\xf3\x50\x52\x82\x71\x8e\x60\x30\x48\x47\x87\x87\x87\x91\x48\ \xe4\xed\xfe\xfe\xfe\xc7\xe7\x53\xa0\x86\x1f\x00\x40\x04\xa9\x14\ \x14\x11\xa8\x56\x4f\x54\x99\x3f\x5f\x28\xb0\x96\x96\x96\xe0\xfa\ \xfa\xfa\xed\x58\x2c\xf6\x96\xee\x55\x9b\xcf\x03\x5e\x21\xc0\xd8\ \x49\x7d\x00\x4e\x56\x5e\x26\xe5\x56\xc0\xa6\xd0\xe4\xf3\xd1\xde\ \xde\xde\x61\x2c\x16\xfb\x70\x72\x72\x52\x9d\xda\x02\xd3\x34\x6b\ \xc7\x81\x0b\x9c\x88\x20\x84\x40\x2e\x97\x83\x69\x9a\x28\x0a\x81\ \x92\x94\x28\x96\x63\x20\x99\x4c\x22\x12\x89\xe0\xc6\xd8\x18\x64\ \xa9\x04\x7f\x20\x40\xd2\xb2\x44\xf8\xd2\xa5\x77\xec\x18\x38\x7f\ \x10\x3a\x57\x6d\x07\x24\x80\xa6\xa6\x26\x04\x02\x01\x44\xa3\xd1\ \x4a\x1a\x02\x80\x69\x9a\xc8\x64\xb3\x88\x0f\x0e\x22\x5f\x28\xc0\ \xf0\xf9\x88\x31\x26\xdb\xda\xdb\x47\x7b\x7b\x7b\x1f\x26\x93\x49\ \xf2\xac\x03\x70\x46\xba\x07\xb8\xd3\xb6\x83\x95\x1c\xfb\x6c\xab\ \x72\x6f\x79\x19\xf1\x81\x01\x08\x21\xa0\xeb\x3a\x82\xc1\x20\x6b\ \x6b\x6b\xfb\x62\x7c\x7c\x7c\xd9\x06\xf7\x2e\x44\xee\x74\xab\x01\ \x6e\x03\x3b\xd5\x40\xf9\x20\xfa\xe5\xc1\x03\x5c\x1b\x18\x40\xd1\ \xb2\xc0\x35\x0d\x01\xbf\x1f\xc9\x64\x12\x99\x4c\xe6\xb7\x85\x85\ \x05\xaa\x5f\x09\x9d\x27\x5d\x0d\x22\x44\x54\xf1\x39\xed\xfd\xfd\ \x7d\xbc\xd6\xde\x8e\x06\x5d\x07\xe7\x1c\xe1\x50\x08\x4b\x4b\x4b\ \xe8\xeb\xeb\x03\x00\x59\xb7\x14\xc3\x95\x01\xee\x3d\x77\x03\x3a\ \xb7\x02\x00\x9a\x9b\x9b\xf1\xf4\xc9\x13\x08\x21\x10\x0e\x85\xb0\ \xb8\xb8\x88\xe1\xe1\xe1\xfa\x37\x22\x3b\x0b\x8e\x8f\x8f\xab\x0e\ \x1d\x37\x78\xad\xad\x70\xfa\x2c\xcb\x42\x32\x99\x84\x65\x59\xe8\ \xe9\xe9\x81\xcf\xe7\xb3\x49\xc6\x01\xfc\x74\xe6\x85\x04\xae\xd5\ \xbb\xc1\xce\x52\x83\x88\xa0\x94\x82\x52\x0a\xb1\x58\xac\x62\xe7\ \xf3\x79\x04\x02\x01\x4f\x05\xf4\x5a\x92\xb8\xf3\x9d\x73\x5e\xd5\ \xbb\xc1\x33\xd9\x0c\x76\xb6\x77\x2a\xdf\x2b\xa5\x40\x04\x18\x46\ \x23\xfc\x7e\x3f\x49\xae\x31\x00\xc7\x75\x09\xb8\xa3\xda\xcb\x76\ \xd7\x04\x22\xc2\xce\xf6\x0e\xba\xba\xba\xbc\xa6\xa3\x54\xfa\x19\ \x1b\x19\xb9\x3e\x19\x0e\x87\xd7\xb3\xd9\x6c\x1d\x05\x18\xf3\x94\ \xca\xb9\x6a\xa7\x1a\xb6\xcc\x4a\xa9\xca\x77\x76\x4f\x44\x94\x4e\ \xa7\xd8\xc7\x37\x6f\x7e\xfe\xe8\xf7\xc7\xb7\x00\x58\xf5\xb3\xc0\ \x45\xc4\x06\xae\x15\x0f\x4a\x29\x14\x8b\x45\x58\x96\x55\x45\x96\ \x88\xf0\xfc\x79\x9a\x7d\x3d\x33\x3d\x7b\xf7\xfb\xbb\xd3\x5e\xe0\ \x67\x12\xf0\x92\xdf\x79\xaa\x39\xf7\xba\x54\x2a\xa1\x58\x2c\xba\ \xc1\x31\xff\xcd\xdc\xb7\xf3\xb7\xe7\x3f\xf1\xca\xff\xba\x75\xc0\ \xab\xca\x79\xa9\x42\x44\x28\x95\x4a\x90\xb2\xb2\x05\x64\x83\x7f\ \xf5\xe5\xf4\x07\xe5\xab\x42\xcd\xa6\x5f\xe4\xc7\xc2\x09\xec\x54\ \x40\x4a\x09\xad\x41\x07\x00\x4a\xa7\x53\x6c\x7a\x76\x66\x66\xee\ \xd6\xdc\x67\xe7\x99\xf3\x42\x04\xbc\x02\xd4\xae\x19\x7e\x9f\x8f\ \xd2\xe9\x14\x9b\x9a\x9a\xfa\xf4\xce\x9d\xef\x66\x01\xa8\x8b\xfe\ \x39\x0d\xd2\x4b\x36\x21\x89\x1e\xfd\xf1\x27\x5d\xb9\xd2\xfd\x91\ \xd7\xd5\xfb\x5c\x0a\xe8\xba\xfe\x57\xb9\x54\xbe\x6c\x3b\x8a\xb4\ \xb6\xae\x9f\x15\x70\xff\xcb\xf6\x2f\x0d\xe3\x9d\x1b\x83\x15\x3b\ \x59\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x06\x10\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ \x00\x00\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\x01\ \x5e\x1a\x91\x1c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xe3\x01\x11\ \x16\x1b\x23\x9a\x3b\xbf\xec\x00\x00\x05\x90\x49\x44\x41\x54\x58\ \xc3\xed\x97\xed\x6f\x1c\x57\x15\xc6\x7f\x77\x66\xf6\x65\xbc\xeb\ \x5d\xef\xda\xd1\xba\xb1\x6b\xbb\x76\xed\x58\x7d\x21\x0e\x34\x86\ \x34\x12\xf0\xa5\xc4\x49\x49\x9b\x80\x28\x11\x12\x20\x04\x12\x45\ \x7c\xe4\x3f\xe0\x1b\x1f\xca\x9f\x00\xa8\x08\xa9\x02\x81\x84\x4a\ \x5b\x68\x44\x2a\x5a\xb5\x56\x5f\x20\x0d\x6a\xb2\x49\x71\x53\x27\ \x6d\x12\x3b\x5e\xbf\xc4\xf6\x7a\xd7\x33\x73\xcf\xe1\xc3\x8e\x37\ \x6b\x3b\x09\x06\x55\xf4\x4b\x8e\x74\x35\x77\x66\xa4\x39\xcf\x7d\ \xce\x73\x9e\x7b\x07\xee\xc6\xa7\x1c\xa6\x58\x2c\xb6\x2f\x2c\x2c\ \x8c\x02\xe9\xff\x73\xee\x7a\xb1\x58\x3c\x6f\x80\x47\x54\xf5\xed\ \x4f\x65\xf5\xc6\xec\xf7\x80\x14\xc0\xf7\x76\x4d\x90\xaf\xbd\x42\ \x90\x75\x91\xa2\xc3\xf2\xf4\x83\x84\xb5\x36\x14\xa5\x9b\x12\x83\ \x85\x01\x16\x87\x5f\x27\xdd\xf5\x77\xf2\x8e\xe2\xaf\x14\x18\xf1\ \xbf\xc4\x5f\xc6\x9e\xa2\xbc\xeb\x7e\x5c\x1b\x81\x0a\xa8\xc6\x57\ \xc1\x10\xcf\xc5\x36\x9e\xa3\x18\x15\x56\xaa\x75\x5e\xf8\xd9\xe3\ \x00\x29\x6f\x03\x4d\xbe\x63\x9a\xb6\xbe\x7b\xf0\xfd\x55\xa2\x54\ \x1a\xd6\x0b\x04\x17\x7d\x1c\x03\x5d\xbb\xbb\xc8\x66\xda\x59\x7e\ \xb8\x4a\x69\xa8\x8b\x62\x54\x60\xb0\xbb\x48\xdb\x6c\x1f\x85\x7f\ \x4e\x52\xea\x19\x60\xdd\x78\x18\x11\x88\x93\xaa\x2a\x0e\x1b\x80\ \x5c\x88\xdf\x39\x1b\x20\xe3\x70\x36\x26\xb2\x7b\x1d\x27\x27\x84\ \xf9\x3c\x41\x36\x04\x77\x61\x83\x26\xd2\x6e\x8a\x6b\xed\x75\x7e\ \x53\x49\xf2\x51\x74\x0f\x0f\x7d\x39\xc3\xee\x7d\x23\x54\xd2\x37\ \x18\xcf\x2e\xd1\xb7\xbe\x88\x62\x76\x44\xbb\x6e\xb9\x6f\x02\x98\ \xcf\x84\xcc\x74\xf6\x62\x92\x0b\x5c\x77\xbb\x98\xf6\x8a\x18\x14\ \x2f\xe1\x91\x74\x3d\x5c\x1c\x7c\x9b\xe0\xf7\x97\x7c\x6a\xb9\x3d\ \x84\x7e\x1f\x2b\xee\x69\xba\x87\x95\x34\x89\xff\x59\x07\x4d\x00\ \x53\x92\x66\x6e\xa6\x8b\x29\xb7\x9f\x57\x17\x95\x15\xea\x18\x20\ \xe9\x25\x48\xb8\x1e\xc3\xd7\xb3\xfc\x64\xea\x38\x43\xbd\xf7\x71\ \x6a\x79\x1f\xbf\x7c\xe3\x43\xfc\x9e\x34\xa6\xa7\xc8\x42\x2a\xd3\ \xa8\xf7\x8e\x43\xb6\x03\x88\xbc\x1e\x3a\xcf\xb4\x33\x3d\x53\xa0\ \x50\x6d\x67\xe0\xe3\x02\x0a\xa4\x92\x29\x5c\xd3\x90\xca\x7d\xd5\ \x1c\xdf\x5d\x9a\xa0\xeb\xd9\x3c\x53\xeb\x1d\xe4\xfb\xc7\xb8\x56\ \x7a\x94\x2b\x4e\xaa\x51\x00\xd3\xc2\xb3\x6a\x73\x68\x2c\xc0\xd6\ \x67\x1b\x71\x53\x84\x23\xdf\x81\x93\x2f\x31\x72\xa1\x93\xd4\x72\ \x8e\x64\xa0\xa8\x81\x74\x2a\x49\x52\x3c\x3c\x75\x49\x16\xd3\x0c\ \x9d\x32\xe4\x2e\x76\x30\xf7\xc4\x83\x38\xf9\x0c\x7f\x7c\xef\x5e\ \x44\x0d\xae\x2a\x48\x23\x91\x12\x5f\x5b\x12\x0a\x1a\x77\xc5\x06\ \xa0\x2d\x0c\xe4\x47\x8f\x92\x1a\x2e\x91\xad\x84\x78\x81\x43\x25\ \xeb\xf3\xe2\x80\xf0\xab\xbd\x8b\xbc\xd2\x71\x95\x54\x32\x45\x18\ \x44\x70\x79\x9d\xd4\x68\x9e\xfd\xbd\xbb\xf9\xed\x5b\x43\xcc\xd7\ \x7d\x8c\xda\x46\x4a\xa3\x48\xcb\xaa\x1b\xa3\xd1\x11\x88\xa2\x22\ \x28\x82\xea\x2d\x4a\x80\xe3\xe0\x7e\x7d\x1f\x41\x67\x48\x9b\x7b\ \x9d\xbe\xf0\x4d\x46\x67\x2b\x14\xce\xf5\xf3\xce\x6a\x99\x73\xed\ \x17\x71\x66\x2d\xed\xdd\x1d\x64\x4e\x2c\x90\x9f\x86\xab\xab\x6d\ \x18\x23\x0d\xea\x55\xe3\x56\x6f\x24\x50\x89\x87\x0a\xaa\x16\x11\ \x8b\x8a\x45\x6c\x63\xbe\x0d\x80\x51\x61\x75\xf8\x18\xd5\xc7\xc6\ \xe9\xf5\xb2\xf4\x67\xf2\x8c\xbb\x37\x78\x7a\xe1\x24\x6d\xc1\x55\ \x96\x3a\x66\xe1\xe1\x2c\x6d\xcf\x5c\xe1\x52\xfb\x3c\xcf\x5e\xdb\ \xd5\x94\x92\x6a\x83\xf4\x8d\xe4\x62\x2d\xaa\x11\x22\x11\x62\x23\ \x24\x8a\x50\x89\xb0\x36\xbe\x0f\x83\xa6\x1d\x7b\x9b\x3a\x54\x95\ \xdc\xa1\xa7\x79\x7f\xf0\x7e\x2a\xef\xfd\x94\xde\xd5\x3a\x9e\xe9\ \x20\x39\xef\xd3\xf1\xc0\x00\x57\xbe\xb6\x46\x79\xa1\xc0\x5b\xd1\ \x5e\x42\xd7\xe0\x88\xdc\xac\x67\x73\xe5\x16\xb1\x11\x2a\xb6\x51\ \x1a\xb1\xa0\x36\x66\xc4\x62\xa3\x80\x94\xab\x5c\xfe\xf0\x5f\xef\ \x03\x97\xbc\x4d\x26\xa1\x8a\x63\x80\x3d\x87\x58\xaa\xac\xf0\xfa\ \x5f\x7f\xc1\xcb\x3d\x25\x46\xbf\x38\xc1\x07\x63\x8f\x71\x61\xda\ \xc3\x46\xe0\x78\x16\x47\x6c\x2c\xb6\x06\xfd\xa2\x02\x56\x88\x82\ \x1a\xd7\xe7\x2a\xd8\xa0\x86\x89\x2d\x19\x51\xd2\x69\x87\x9e\xae\ \x1c\x07\x3f\xd7\xc7\xde\x7e\x7f\xae\x7f\x70\xe4\x44\xa1\x50\x98\ \xf7\x6e\x65\x55\xa2\x96\xee\x52\x27\x32\x3c\x48\xf1\xb3\xdf\xa0\ \x7b\xcf\xa3\xa8\x0d\x50\xb1\x38\x46\xb6\x3b\x5b\xec\xff\x22\x11\ \x73\x73\xf3\xbc\xfc\xf3\x6f\xde\xb2\xfb\x83\x5a\x95\xbf\xbd\xfa\ \xda\xe2\xd8\xd8\x17\x9e\x2c\x75\x77\xbf\x3b\x3b\x33\xa3\xdb\x01\ \x38\x86\x68\xe9\x23\xee\xfd\xe0\x19\x4e\x1c\xec\x64\xd2\xaf\xb3\ \x68\x05\xb1\x1a\x8b\x6d\x8b\xa5\xb6\x2a\x5e\x04\x1b\xad\x03\x10\ \x86\x21\x56\x84\x30\x08\x58\xaf\xd7\xa9\xaf\xad\x71\xae\x5c\x5e\ \x3e\x74\xf8\xf0\xf1\x5c\x2e\xf7\xe6\xec\xcc\x8c\x6e\xf2\x81\x96\ \x4d\x12\x2e\x9d\xe2\xca\xe5\x8f\x39\xeb\xae\xa1\x0f\x05\x58\x91\ \x6d\x4e\x6f\x00\x69\xc2\x68\xb4\x1b\x71\x7b\x89\x48\x33\x79\x18\ \x04\xd4\x6b\x35\xca\xe7\xcf\xaf\x1e\x3a\x7c\xf8\xa9\xf6\x6c\xf6\ \xb5\xe5\xe5\x65\xd9\x66\x44\xad\x11\x95\xf6\x53\x49\x0c\xf2\xc6\ \xda\x10\xbb\xb2\xe3\x78\xb7\xb1\x59\xa3\x0d\x53\xd5\xa6\x86\x1b\ \x5b\x52\x14\xdd\x4c\xbe\x56\xad\x52\x2e\x97\xab\x5f\x99\x98\xf8\ \x76\x26\x93\x39\xb9\xb2\xba\xba\xa9\x86\xdb\x01\x88\xe0\x97\x1e\ \xa0\xe7\x5b\xbf\xc6\x38\x09\x0c\x02\x6a\x6f\x73\xa2\x00\xd3\x62\ \xb5\x8a\x82\x31\x58\x11\x82\x7a\x9d\x7a\xbd\xce\xd9\xb3\x67\xab\ \x13\x47\x8e\xfc\xc0\xf7\xfd\xe7\xab\xd5\xaa\xdc\x76\x33\xda\xcc\ \xad\xc5\x71\x1b\xc9\x5b\x6d\xf3\x8e\x9b\x6c\x4c\x85\x88\x90\x4a\ \x38\xd4\x6a\x35\xde\x3d\x73\xa6\x3a\x71\xe4\xc8\x0f\x93\xc9\xe4\ \xef\x6a\xb5\x9a\xbd\xe3\x6e\xf8\xdf\x86\x6e\x99\x68\x7c\x10\xc9\ \xa4\x3d\x1c\x23\xfc\xe3\xf4\xe9\xd5\xaf\x1e\x3d\xfa\xa3\x84\x97\ \x78\x2e\x08\x02\x7b\xbb\xef\x78\x5b\x17\x6f\xfe\xc3\x01\x62\xeb\ \x1b\x6d\x11\xa2\x55\xcb\xc1\xcf\xf4\xf3\xe2\x0b\x7f\xbe\xf1\xe4\ \xb1\x63\x3f\xf6\x3c\xef\xb9\x30\x0a\xed\x9d\x16\xd2\x04\xb0\x5c\ \x17\x54\xc1\x51\x05\x6b\x37\x1f\xad\x36\x14\xde\x72\xde\x23\x76\ \x39\xb5\x11\x1a\x45\x88\x0d\x31\x91\xd0\x9b\x9c\xab\x3c\xfe\xc4\ \xf1\xef\x7b\x9e\xf7\xa7\x28\x8a\x64\x27\x6c\x3e\xa2\x9f\x48\x88\ \xbe\xf4\xfc\x1f\xde\x06\x3e\xef\xfb\xbe\xd9\x69\x29\xbd\x62\xb1\ \x78\xc1\x18\x33\xfe\x09\xfc\x17\xac\x01\x53\x07\x0e\x1c\xb8\x31\ \x39\x39\x79\xf7\x8f\xeb\x6e\xec\x38\xfe\x0d\xc6\xb9\x60\x15\xdf\ \x5b\x86\xd0\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x06\x64\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x76\x00\x00\x03\x76\ \x01\x7d\xd5\x82\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x05\xe1\x49\x44\ \x41\x54\x78\xda\xc5\x57\x5b\x6c\x54\x45\x18\xfe\xe6\xdc\x76\xb7\ \xbb\xdd\x76\xb1\x2d\xb4\x05\xa5\x11\xd1\x8a\x82\x48\x49\x04\x1e\ \x00\xc5\x48\x34\x12\x89\x11\x02\x3c\x60\x8c\x06\xf1\x12\xa5\xf2\ \xe0\x0b\x62\x13\x8d\x09\x09\x98\x28\x31\xe1\x92\x28\x3e\x11\x8c\ \xe2\x2d\x12\x2e\xb1\x34\x62\x23\xa1\x11\x12\x2e\x2a\x88\x94\x3b\ \x94\x16\xe9\xee\x76\x77\xcf\x6d\xc6\x7f\x7a\x26\x29\xcb\xee\x76\ \x0b\x2f\x7e\xc9\xb7\x33\x3b\x3b\x73\xbe\xef\xbf\xe4\x9c\xb3\x4c\ \x08\x81\xdb\x00\x23\x6a\x8a\x4c\x51\x42\x28\xf2\xa1\x71\x64\x30\ \x30\x02\x28\x41\x93\x18\x21\x56\x12\x63\xc4\x0a\xb5\xc6\x88\x1e\ \x31\x4b\x4c\x13\x93\xc4\x0c\xd1\x19\x89\x11\x63\x04\x11\x5b\x4a\ \xb0\x66\xeb\xee\xa3\xb3\x4f\x9c\xbb\xbe\x50\xd3\xf4\xc9\x95\x15\ \x56\xbc\x32\x12\x0a\x6b\x1a\x43\xc6\x76\xed\x54\xd6\x4d\x09\xc1\ \x4f\x34\x37\x26\x76\x2e\x9f\xd7\xbc\x1f\x40\x8f\x32\x63\x13\x4b\ \xa6\x79\xb8\x12\x68\x2a\xe2\x9a\xd6\x4d\xed\x2f\xf5\xa5\x9d\x95\ \x93\x9a\xea\x6a\xeb\x13\x55\x30\x74\x9d\xa8\xc1\x34\x34\x68\x60\ \xe0\x22\xa8\xc0\x40\xce\x45\x4f\x32\x8d\x93\xe7\xfb\xae\x57\x47\ \xcd\xcd\x1f\xbd\x38\x6b\xab\x32\x92\x21\xfa\x23\x36\xa0\xc4\x2b\ \xd6\x7f\x7d\x70\xda\xbe\xc3\xe7\xb7\x4c\xbc\xbb\xf6\xbe\xa9\x13\ \xc6\x81\xfb\x0c\x7d\x69\x1b\xa5\x3c\x4b\x43\x89\x98\x09\x26\x38\ \x4e\x5c\xba\x86\x53\xe7\x7a\xcf\x3c\xf1\x70\xe3\xab\xaf\x2f\x98\ \x7a\x50\x95\xc7\x1f\x89\x01\x46\x8c\x2c\x69\xfb\xe6\xd9\x8b\xc9\ \xdc\xe6\x39\x8f\x4e\x8c\x8f\xab\x4d\xe0\xea\xbf\x36\x6e\x07\x63\ \x12\x16\xae\xf6\x0f\xe0\xd7\x63\xdd\xe9\xc6\x78\xe8\xb5\x2d\xef\ \xcc\xdf\xa9\x32\xc1\xcb\x19\x30\xe7\xbc\xf5\xc5\xd3\x0e\x8c\xaf\ \x9e\x9b\x3d\xc5\xf4\xb9\x41\x35\xf6\x70\x27\xa8\xb0\x0c\x44\xc3\ \xc0\xb7\x9d\x27\xdc\xa8\xc6\x97\xfd\xf0\xe1\x0b\xdf\x03\xb0\x87\ \x33\xc0\xa6\xbd\xbc\xb1\xf9\x72\xd2\x3b\xb0\x6c\xfe\xcc\x84\xa6\ \x59\x28\x85\x09\xf5\x95\x98\xf7\xc8\x18\x48\xec\x3b\x72\x05\x7f\ \x5f\x4e\xa1\x14\x62\x11\xe0\xcb\xdd\x87\x6e\x34\xd5\x44\xe7\xec\ \x59\xb7\xf4\xe8\xcd\x59\xd0\x70\x13\xda\xda\xda\x18\x75\xf9\xb6\ \xc9\x13\xc7\x27\x98\x66\xc2\xf1\xfc\xa2\xcc\x39\x0e\x9e\x9f\x39\ \x16\x4d\xa3\xa3\x92\x72\x2e\xd7\x4a\xee\x1f\xc8\x09\xcc\x98\xd4\ \x54\xdd\x75\xf2\xf2\xe7\x1d\x1d\x1d\x4a\xb3\x88\x81\xf7\xf7\x64\ \x97\x54\x56\x56\xb6\x34\x37\x35\xd2\x21\x8f\x0e\xf3\xa2\x14\x5c\ \xa0\x3a\x3a\x94\x1d\x39\xe7\x9c\x97\xdc\x9f\xca\x7a\x68\xa8\x1d\ \x85\x9a\x44\xd5\xd4\xa7\x3e\xe8\x58\x5a\xd4\x00\x23\x40\xd3\xd6\ \xce\x6d\x79\x08\xa9\x8c\x0f\xdb\x2d\xcd\xfe\x8c\x8b\x03\xc7\x2f\ \x03\x0a\x07\x8e\x5d\x42\x92\xd6\x86\x3b\xd3\xdb\xef\xe0\x89\x96\ \x07\x60\xfb\x58\x43\x4a\xac\xa0\x07\xd8\xf4\xd5\x33\x6a\x1a\xea\ \x3a\x9f\x79\x7c\x16\x38\x47\x59\xd8\x94\xf2\xa6\x9a\x30\x24\xce\ \x5c\xcb\x21\x14\xb2\x50\x0e\xf1\x88\x89\x1f\x7f\xe9\xc2\xd9\xd3\ \xdd\xb3\xc4\x6f\xeb\x3a\xf3\xef\x84\x9a\xbf\x78\x74\x6d\x1d\xd5\ \xd2\xc7\x70\x10\x82\x03\x22\x78\x0c\xfc\x73\xcd\x96\x21\x28\x43\ \x1e\x98\xc6\x30\x1c\x7a\x53\x3e\xee\x1f\xdf\x88\xb3\xdd\xe7\x17\ \x03\xb8\xc5\x00\x63\xb3\xe2\xf1\x38\xa5\xcb\x43\x29\x70\x9f\xe3\ \xbb\x35\xf3\x50\x0c\x0b\xda\xf6\x42\x37\x75\x94\x43\xac\x22\x22\ \xb5\x66\x16\x7b\x16\xd4\x99\xa6\x3e\xd8\xb5\xa5\xe0\x7b\x02\xa5\ \x90\xf3\x38\x4c\xdd\x90\x29\x22\x96\x7e\x20\x5a\xda\x60\xe1\xeb\ \xf2\x9a\x90\x11\xc0\x30\x4a\xd3\xc8\x80\xcb\x0b\xe9\x11\x7d\x06\ \x17\x0c\x4f\xbe\xb7\x17\xb3\xdf\xdd\x55\xd8\x13\x1e\x06\xf7\x38\ \x5c\x52\xcd\xbd\xbc\xeb\x90\x38\xc9\x31\x00\x02\x77\x31\xc2\xad\ \x19\x60\x39\x47\xc0\x12\x3e\xf2\x30\x78\x48\x12\x44\x5d\x7e\x27\ \x01\xbf\xd0\x00\x17\x00\x89\x13\x82\x51\x08\x44\x2d\x13\x61\x13\ \xb8\x91\xce\x12\x6d\x74\x5d\x4d\xe1\xc6\x80\x0d\x0c\x9d\x0f\x0c\ \x08\x02\x7b\xac\x35\x99\xca\x66\xa3\x31\x16\x46\xa0\x86\x40\x58\ \x48\x13\x2c\x30\x02\x22\xd7\x48\xac\x48\x6a\x2d\x1d\xe1\x88\x05\ \x2e\x8d\x50\x10\xe9\xac\x8d\xd3\x17\xfa\x71\xb1\x37\x09\xf8\x2e\ \x94\xa8\x2a\x91\x97\x14\x84\xfc\x0c\x08\x71\xe3\x78\x77\x4f\x3d\ \x33\x4c\xe8\x8c\xc1\xb4\x2c\x98\x66\x08\x3a\x45\x61\x99\x34\xa7\ \x31\x12\x0a\x41\x33\x01\x3b\xcb\x61\xdb\xb6\x34\x4e\x82\x7c\x70\ \xec\x3c\x9d\x86\x6f\x79\xa0\x85\x40\x8c\xd3\xdc\x27\xea\x06\x14\ \x82\x75\x21\x7f\x17\xfd\xc5\x9a\xf0\x77\xf8\x76\xb3\xd0\x4d\xc8\ \x5e\xf3\xe8\x23\x2b\x37\xfb\x44\xc7\x03\x72\x0c\xd0\x01\x68\xf4\ \x61\xbb\xc8\x64\x32\xf9\x0d\x2a\x4b\x6a\x58\x4a\x5c\x93\x0b\x18\ \x0a\x0e\x4a\x98\xe8\xe5\x02\xad\x82\x5b\xb1\x27\xb6\xc3\x4e\x01\ \xcc\x20\x21\x59\x6b\x23\x10\xd3\x0d\xa2\x79\xd3\x68\x05\xeb\xf9\ \x50\x7b\x2d\x45\x33\xff\x9c\xa6\xae\x67\x84\x00\x3b\x09\x70\x6c\ \x2f\x34\x70\xef\xa5\x5d\xc8\x25\xfb\x28\xd7\xaa\xd9\xf2\x58\x70\ \xd1\x02\x48\xd3\x46\x9e\x78\xe1\x35\xa8\xbc\x83\x1a\x4d\x17\x7f\ \x2a\x30\x20\x76\xec\xf0\x21\xf8\x27\xe8\x3b\x05\x84\x63\x41\x03\ \xaa\x83\x2a\x1b\x41\x0a\xed\x81\xc1\xda\x16\xc0\x75\x81\x6c\x32\ \xa8\xbd\x66\xe6\x9f\x93\x34\x2b\x80\xde\x3f\x01\x21\x3e\x95\x5a\ \x45\xdf\x07\xd8\xa2\x45\x3a\xce\x8e\x3d\x8f\xba\x09\xf5\x88\xd5\ \x03\x3a\x0b\x52\x6a\x28\xba\x36\xae\xaf\x6f\xc1\x70\x18\xb5\x9a\ \xca\x1b\x8a\x02\xbe\x03\x78\x8a\xb2\xfe\xfd\x17\x80\x2b\x27\xaf\ \xe0\x9e\x0b\x63\x95\x81\xa1\x0c\xe4\x65\x81\x8b\x45\xe8\x3d\x65\ \x83\x71\x95\x05\x22\x93\x54\x11\x95\x83\xaa\xb9\xdc\xaf\xce\x07\ \x06\x7a\xfe\x72\xe0\xfb\x8b\xa4\x46\xd9\x97\x52\x36\x7d\xd5\x4a\ \x44\x2a\x36\x22\xde\xa0\xa1\xbe\x39\xf0\x69\x58\xca\x25\x94\x08\ \x51\x57\x42\xdc\x27\xba\x20\x01\x65\x98\x0d\x45\xde\x99\x05\xaa\ \xf7\x73\x64\xb3\x6f\x8a\x43\x1b\x3e\x1b\xe9\x5b\x31\x99\x68\x7d\ \x03\x86\xd8\x80\x86\x29\x26\x6a\x27\x02\x0c\x41\x17\xab\x72\x0c\ \xcd\x4d\x12\x73\x55\xba\x6d\x35\x3a\x81\xa9\xab\x54\xf3\x8b\x87\ \x5d\x78\x68\x15\x87\x3e\xde\x58\xf6\xb5\xbc\xd0\xc4\xdb\x73\x98\ \xa6\xed\x14\xd1\xaa\x6a\x8c\x1a\x0f\x8c\x9d\x1a\x44\xa7\x9b\x52\ \x7c\x28\xdd\x52\xcc\xf7\xa4\x91\x20\xea\xfd\xd7\x80\xaa\x9f\xa1\ \x65\x53\xfd\xdc\x15\x0b\x45\xd7\x86\xf6\xdb\xff\x63\xa2\xc0\xe6\ \xb6\x19\x46\x2e\xb9\x1e\x3a\x5b\xe1\xc5\x46\x87\xd0\x30\x19\x70\ \xb2\x40\xa4\x0a\xa8\x88\x07\x86\x72\x69\x20\xd3\x1f\x64\xe5\xc2\ \x11\x98\xb9\x5e\x87\x71\xb1\xd9\x31\x63\xab\x44\xfb\x5a\x0f\x84\ \x32\x06\xca\x83\xb5\xac\x30\xad\x70\x62\xb9\x1e\x62\xaf\x70\xe0\ \x41\x1f\x08\x73\xcf\xd7\x85\x6c\x35\xd3\xf0\x75\xc6\x72\x1a\xf0\ \x07\x77\xf8\x26\x67\xe0\xfa\x36\xd1\xb5\xc9\x85\x42\x59\x03\x77\ \x0a\xc6\xe6\xaa\x87\x59\xfb\x70\x51\x96\x37\xf0\x7f\xe2\x3f\x0c\ \x08\x36\xef\x65\xe9\x4f\x36\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ \x42\x60\x82\ \x00\x00\x02\x56\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x03\x00\x00\x00\x44\xa4\x8a\xc6\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01\x42\x28\ \x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x07\x0c\x0c\x09\ \x36\x16\x71\x53\x5b\x00\x00\x00\xb7\x50\x4c\x54\x45\x00\x00\x00\ \x14\x14\x14\x17\x17\x17\x59\x59\x59\x6a\x6a\x6a\x86\x86\x86\xa4\ \xc0\xe4\x68\x68\x68\x80\x80\x80\x1e\x1e\x1e\x28\x28\x28\x78\x78\ \x78\x87\x87\x87\x69\x69\x69\x64\x64\x64\x5c\x5c\x5c\x6b\x6b\x6b\ \x70\x70\x70\x16\x16\x16\x72\x72\x72\xa8\xc5\xea\x1f\x1f\x1f\x1f\ \x1f\x1f\x62\x62\x62\x63\x63\x63\x16\x16\x16\x1f\x1f\x1f\x28\x28\ \x28\x31\x31\x31\x32\x32\x32\x39\x39\x39\x3a\x3a\x3a\x43\x43\x43\ \x44\x44\x44\x4c\x4c\x4c\x4e\x4e\x4e\x55\x55\x55\x57\x57\x57\x5c\ \x5c\x5c\x5e\x5e\x5e\x60\x60\x60\x62\x62\x62\x63\x63\x63\x64\x64\ \x64\x67\x67\x67\x69\x69\x69\x6a\x6a\x6a\x70\x70\x70\x72\x72\x72\ \x77\x77\x77\x79\x79\x79\x7b\x7b\x7b\x7e\x7e\x7e\x81\x81\x81\x84\ \x84\x84\x85\x85\x85\x88\x88\x88\xa8\xc5\xea\xa9\xc6\xec\xaa\xc8\ \xed\xff\xff\xff\x82\x38\xd2\xed\x00\x00\x00\x19\x74\x52\x4e\x53\ \x00\x00\x00\x00\x00\x00\x00\x23\x29\x3f\x46\x81\xc0\xc6\xec\xf3\ \xf3\xf8\xfa\xfa\xfb\xfc\xfe\xfe\xfe\x21\xf9\x20\xd7\x00\x00\x00\ \x01\x62\x4b\x47\x44\x3c\xa7\x6a\x61\xcf\x00\x00\x00\xf3\x49\x44\ \x41\x54\x78\xda\x8d\x93\xd7\x12\x82\x30\x10\x00\xcf\x8a\x5d\xec\ \xbd\x57\x50\x2c\xd1\xa8\xc0\xff\xff\x97\x67\x1c\x1d\x72\xc6\xd3\ \xcd\x43\x96\x63\x27\x33\x79\x08\xfc\x43\x1a\x17\x3f\x0e\x80\x40\ \xc7\xa1\x39\x08\x23\x96\x80\x0f\x12\x5a\x00\xe5\x25\xa1\x0c\x7a\ \x50\x72\x5a\xae\xbb\x71\xdb\x8e\xd3\xc6\xcd\x6d\x39\x25\x12\xd8\ \xbb\xa2\x85\xe6\x21\xb8\x59\xc5\x9d\x4d\x82\x5a\x05\x92\x68\x87\ \xfd\xfe\x00\x80\x5a\xa9\x91\x40\xe4\x95\x89\xe3\x51\x28\xc9\x0b\ \x12\xc8\x8c\x32\x79\x3e\x4b\x25\x19\x49\x82\xc2\xd3\x6e\xd7\xeb\ \xed\x69\x05\x3d\x48\xe1\x7a\x70\x91\xf2\xa2\x04\x07\x5a\xf0\xe2\ \x24\xc4\x49\x1b\x13\x53\xb7\x60\x03\x6f\xbb\xf5\xd8\x60\xbd\x5a\ \xad\xd9\x60\x31\x9f\x2f\xd8\x60\x36\x9d\xce\xd8\x60\x32\x1e\x4f\ \xd8\x60\x34\x1c\x8e\xd8\x60\xd0\xef\x0f\xb8\x20\xd7\x43\x72\x5f\ \x82\x38\x40\xb6\xd1\xec\x76\x9b\x8d\x2c\x7e\x98\x4e\xa8\x76\xde\ \x54\x4d\x27\xc4\x20\x42\x2c\x12\xa4\x01\x7c\x30\xe2\x3f\x7e\x22\ \x81\x5f\xf7\x43\x03\x38\x0e\x7e\x9f\xc0\x3f\xbd\x7f\x1f\x2f\xcf\ \x1d\x35\x54\x26\x33\xf6\xb7\xdc\x3e\x00\x00\x00\x00\x49\x45\x4e\ \x44\xae\x42\x60\x82\ \x00\x00\x05\x82\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x76\x00\x00\x03\x76\ \x01\x7d\xd5\x82\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x04\xff\x49\x44\ \x41\x54\x78\xda\xbd\x95\x5b\x68\x54\x57\x14\x86\xbf\x3d\x73\xe6\ \x96\x49\x1a\x63\x1c\x93\x0c\x54\x42\xd3\x48\xcc\x93\xd8\x56\xa5\ \x90\xa0\x14\x29\x81\x42\x85\x3c\x14\xdf\xa4\x17\x44\x29\xd8\x22\ \xda\x82\xa4\x08\x8d\xad\xc6\x4b\x0c\x44\x51\xdb\x5a\xa4\x88\xd0\ \x17\xa1\x4f\x2d\x41\xbc\x54\x6d\x21\x16\xa5\x37\x94\x18\x9d\x7a\ \xc9\xe4\x62\x2e\x93\xb9\x9e\x39\x67\x66\x77\xdc\x38\x19\x3d\x99\ \x4c\x0e\xa1\xf4\x83\xc5\xde\xfb\x70\x98\xff\x5f\x6b\xed\x75\x46\ \x93\x52\xf2\x5f\x22\x7a\xc5\x32\x2a\xd8\x8d\x41\x0b\x26\x95\x38\ \x29\x43\x63\x9c\x24\x17\xa8\xa2\x4b\x6e\x92\x03\x50\x40\x83\x02\ \x42\x88\x7a\xa0\x9e\x85\xe0\x47\x63\x37\xbb\x28\x67\x5d\x6b\x6d\ \xab\x6b\xc3\x8b\x1b\x68\xa8\x68\x00\x01\x83\xd3\x83\x8b\xfa\x1e\ \xf4\x35\x5c\x1e\xbc\xfc\x9e\x38\x2c\x7e\xe0\x57\xda\xe5\xf7\x32\ \x63\x31\xa0\xa8\xd7\x75\xfd\x42\x2a\xa5\x83\x00\x81\xb0\xac\xca\ \x25\x6a\xa5\xb0\xcf\x64\x33\xb4\xfd\xd4\x46\x7f\xbc\x9f\xed\xaf\ \x6e\xa7\xe9\x85\x26\xf5\xec\x71\xf2\x31\x08\xa8\xad\xa8\x65\xf3\ \x8a\xcd\xac\xad\x5b\x2b\x7a\xfe\xec\x79\x5b\x5f\xa7\x5f\x10\x27\ \xc4\x1b\x72\x8b\x34\x34\x2c\x3c\x11\x8f\xc6\x62\x38\x1c\x02\x21\ \x8a\x04\xc0\xd3\x7d\x9e\x0f\xae\xbe\xcf\xd5\xc4\x55\x36\x35\x6d\ \xc2\xeb\xf5\xf2\xc0\x08\x31\x3d\x36\xce\xc1\xd7\x7a\x01\xf8\xf4\ \xb7\x0f\xa9\x0a\x54\x53\xe6\xf7\xd2\xbe\xbc\x9d\xb3\x7f\x9f\x6d\ \x91\x11\x79\x46\x08\xf1\xce\x2c\x03\x42\x40\x41\xdc\xf1\x64\x55\ \x67\x20\x6f\xa2\xb0\x07\x6e\x45\x6e\x73\xee\xfe\x39\x82\xcb\x82\ \x68\xe5\x1a\xe1\x74\x88\x0a\x0d\x26\xa3\xa3\xe4\x99\x8a\x0e\xe2\ \xa9\x8e\x12\x03\x7c\x65\x1a\xc1\xba\x20\x8f\x22\x8f\x36\xd2\x41\ \x83\x86\x95\xa7\xc2\xb3\x2a\x00\x60\xd9\x03\x1c\xf9\xbd\x1b\xe9\ \x95\xf8\x17\xfb\x79\xa8\x87\x58\xe2\x06\xb7\x13\xe2\x89\x71\xf2\ \x24\x93\x0f\xc8\x92\x40\x97\x10\x05\xca\x5d\x7e\x58\x84\x0b\xc9\ \xde\xd9\x15\x40\x14\x2f\x3f\x80\xe5\x6c\x98\x26\x17\xc3\x17\x21\ \x08\x03\x63\x03\x3c\x0e\xff\x43\xd0\x5b\x46\xb5\x4b\x90\x0c\x1b\ \xf0\x16\x8a\xd0\xad\xfb\x44\xa2\x61\x26\x0d\x49\x58\x4f\x30\x52\ \x9b\x06\x09\x64\x78\xbd\x58\x0b\xe6\xea\xbd\x5a\x29\x9c\xc9\x64\ \x32\x44\x1d\x51\x48\x83\xbc\x23\x19\xdf\x95\xa2\x18\x97\x3e\x9e\ \xe6\x59\x5e\x38\x24\xe0\x25\x60\x02\xff\x1c\x2d\x10\xf3\x9b\x00\ \x90\x12\x4d\x6a\x90\x05\x04\xb6\x71\x0a\xc0\x05\xf8\xf1\x16\x69\ \x01\xf6\x0c\xa8\xcb\xe9\xc0\xe3\xf3\x80\x0f\x68\x84\xea\xe3\x82\ \x80\x1b\x02\x1e\x30\x87\xe1\x97\x1d\x12\x80\x37\x7b\x04\x15\x41\ \x18\x49\xc3\x98\x0e\xce\x26\x20\x09\x38\x49\x2c\xa4\x02\x2a\x78\ \x6a\x60\x85\x67\x05\x63\xc6\x98\xca\x48\xbc\x0c\x7e\x3f\x2c\xf5\ \x81\xe1\x67\x86\x9a\x06\x58\xbc\x1c\x64\x02\x12\x49\xb8\x37\x85\ \x7a\x9f\x51\x6e\x2e\xa8\x02\xf9\xd0\x34\x8d\xad\x8b\xb6\x72\x2d\ \x75\x0d\x33\x6b\x12\x89\xc1\x84\x04\x5f\x06\xb4\x2c\x33\x4c\x00\ \xf1\x08\x8c\xe8\xf0\x28\x06\x69\x03\x00\xc9\x25\x4e\xda\xad\x40\ \x51\x63\x1e\x8f\x87\x96\xe6\x16\x56\x5e\x59\xc9\xf5\xaa\xeb\x98\ \x09\x18\x9e\x02\xd2\x50\x96\x61\x86\x51\x13\x32\x53\x30\xa4\xc3\ \x68\x0a\xf0\x02\x77\xe8\xe7\x47\x7e\x2e\x52\x01\x6b\x94\xae\x4a\ \x65\x65\x25\x9d\xd5\x9d\x6c\x8b\x6e\xe3\x6e\xc5\x5d\x52\x29\xb8\ \x3f\x09\x7e\x01\x75\x67\x04\x0e\xc0\x74\xc2\x54\x12\xd2\x1e\xa0\ \x12\x78\xc8\x20\x3b\xf9\x04\x98\xd0\x98\x85\x12\xb3\x15\x00\x6e\ \xb7\x9b\xd5\xaf\xac\xa6\xfb\x4a\x37\x7b\x26\xf7\x70\x63\xc9\x0d\ \xb2\x1e\x88\x4e\xe4\xc2\x09\x38\xf2\xb3\x07\x1a\x1a\xe6\x4d\x73\ \x80\x0e\x76\x60\x72\x1d\x48\x17\x6d\x81\x0a\x1b\xe2\x80\xba\x88\ \xe5\xe5\xe5\xb4\xb6\xb4\x72\xe8\xc6\x21\xfa\xfe\xe8\xe3\x7c\xe0\ \x3c\xb7\x6b\x6e\xa3\x67\x75\x5c\x4e\x17\x6e\xd3\x4d\xfd\x68\x3d\ \x1b\x63\x1b\xe9\xd8\xd9\x71\x0c\xb8\x04\xc4\x65\x8e\x92\x97\x90\ \x12\xe2\xc5\x4c\xac\x59\xb3\x86\xc6\xc6\x46\xda\xee\xb5\x11\x0a\ \x85\x88\xc7\xe3\xaa\x42\x3e\x9f\x8f\xba\x60\x1d\xcd\xcd\xcd\x74\ \x6c\xe9\xf8\x0b\x88\xca\x1c\x00\xc5\x5b\x50\x88\x59\x26\x2c\x3c\ \x6b\x48\xfd\x13\xd6\xd6\xd6\x12\x08\x04\x58\xb5\x6a\xd5\x73\xef\ \x38\x9d\x4e\x5c\x2e\x17\x80\x91\x17\x2f\x6e\xc0\x9a\x39\x94\x12\ \xb5\x3e\x53\xd5\xc8\x89\xa9\xcc\xed\x30\xe7\x14\x28\x8a\x97\xbe\ \xa4\x09\x2b\x2a\xd9\xc2\x0b\xf3\x18\xb0\x0a\xc3\x7c\xa2\x16\xf1\ \x82\x68\x36\x9b\x7d\x6e\x05\x10\x0e\xa7\x3d\x03\xc2\x32\x8e\xb3\ \x28\x61\x2c\x93\xc9\x28\xd1\x74\x3a\x8d\x61\x18\x4f\xce\x2a\x00\ \xe2\x69\x33\x06\x24\xed\x56\xc0\xb6\x68\x9e\x9c\x90\x12\xd5\x75\ \x5d\x4d\x40\x24\x12\xc9\xad\x09\xf5\x7b\x15\x95\x55\xc6\x97\xfb\ \x3b\x7b\x80\xfe\x92\x06\x94\xf8\x1c\x82\x25\x50\x59\x9b\xa6\x49\ \x2a\x95\x22\x1c\x1e\x66\x64\x64\x18\x8f\xc7\xcb\xd2\x9a\xa5\x38\ \x1d\x4e\xd9\xb9\x6f\xdf\xf1\xd3\x5f\x9f\xfa\x4c\x4a\x99\x2d\x65\ \xa0\xa8\x78\xe9\x16\x14\x0c\xe4\x32\x57\x59\x0f\x0d\x0d\xb1\x7e\ \xfd\x3a\x32\x19\x53\x99\xd9\x7b\xa0\xeb\xf4\x37\x27\x8e\x7f\xa4\ \xc4\x6d\x5d\x42\x98\x77\xe6\xad\xd9\xe7\xcb\x3f\x3e\x3e\x81\xdb\ \xed\x99\x11\x3f\xd0\x73\xe4\xdc\xc9\xde\xa3\xef\xe6\x67\xdf\xf6\ \x14\xd8\x47\xdd\x7a\x55\xfe\x58\x2c\xc6\xf4\xf4\x34\xc1\x60\x70\ \x46\xbc\xf7\x70\x77\xbb\x45\xdc\x5e\x05\xb0\xd7\x0a\x4b\x0b\xd2\ \x64\x01\x97\xdb\x25\x3b\xbb\xf6\x9f\xfe\xea\xe8\xb1\x62\x99\xdb\ \x1f\x43\x9b\xe6\x54\x05\x72\xa1\xca\x1e\xa8\xa9\x33\x3f\xdf\xb7\ \xff\xd8\xb7\xaa\xe7\x79\x71\xfb\x06\xd4\x67\x54\x4d\x82\xa5\xe7\ \xa5\x3e\x3a\xc2\xe1\x00\x87\x86\xe1\x70\xc7\x0e\x76\x7d\x71\xe4\ \xbb\x53\xea\xb6\xcb\x85\x7c\x8a\x43\x39\x03\xeb\x59\x38\x09\xa0\ \xdf\x22\x6e\xd7\x80\xca\x26\x04\x84\xf8\x1f\xf9\x17\x67\x93\x24\ \x6a\x48\x9d\xf5\x2b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ \x82\ \x00\x00\x06\x03\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x09\x70\x48\x59\x73\x00\x00\x37\x5d\x00\x00\x37\x5d\x01\x19\x80\ \x46\x5d\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x05\x05\x10\x20\ \x11\xe5\xc9\x3f\x25\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\ \xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x05\x83\x49\x44\x41\x54\x78\ \xda\xed\x56\x4b\x4c\x54\x67\x14\xfe\xee\xcc\x9d\x01\x0a\x65\xa6\ \x3a\x80\xa8\x85\x8a\xc0\x60\xb1\x04\x84\x29\xea\x34\x8d\x6e\x6c\ \x49\x6a\x9b\x88\x89\x8b\xa6\x69\x34\x5d\xb5\x61\xe3\xaa\x89\x31\ \x6a\x8c\x5d\xd0\x35\xab\x6e\x48\xa8\x4d\x49\x6c\x1a\x53\x63\x13\ \xa3\x11\x12\xd4\xc8\x74\x98\x0a\x35\xb5\x84\x68\x0d\x20\x42\x4b\ \x28\x0c\x32\xcc\xf3\xf6\x9c\x13\x4f\xbc\xdc\x89\xab\x06\xdb\x45\ \x3f\xf8\x73\xff\xd7\x3d\x8f\xef\x3c\xee\xe0\x3f\x89\x8b\x17\x2f\ \x06\x7b\x7b\x7b\xdb\xf0\x02\xe0\x82\x03\xc7\x8f\x1f\x47\x51\x51\ \xd1\x4b\xab\xab\xab\xa5\xe7\xce\x9d\xc3\xbf\x82\xfe\xfe\xfe\xef\ \x7b\x7a\x7a\x06\xf1\x02\xe0\x86\x03\x9d\x9d\x9d\xaf\x2e\x2f\x2f\ \x77\x4f\x4e\x4e\x6e\x7f\xfc\xf8\xf1\x37\xf1\x78\x7c\x61\x5d\x43\ \x30\x32\x32\x02\x3b\x02\x81\xc0\x47\xd7\xae\x5d\xf3\x0d\x0e\x0e\ \x9a\x5b\xb7\x6e\xed\xc2\x3a\xc3\x00\x61\x74\x6c\xd4\x4a\xa7\xd2\ \x30\x4d\x13\xa4\x18\x44\x3f\xb2\xd9\x2c\xf6\xef\xdf\x8f\xae\xae\ \x2e\xa4\x52\x29\x58\x96\x05\x27\x9c\x7b\xb2\xb2\xed\x2d\x2c\x2c\ \xa0\xae\xae\x6e\x61\x7c\x7c\xfc\xe3\x8e\x8e\x8e\x1f\x38\xa7\x4e\ \x9c\x38\x81\x3c\x44\xa3\x51\x4b\xd1\xdd\xdd\x6d\x55\x55\xbd\x6a\ \xd5\xd4\x6c\xb3\x0e\x1e\x7c\xcf\xfa\x27\xb8\x7a\xf5\x2a\x3f\x72\ \x14\x4a\x6b\x60\x60\xe0\x2b\x10\x4e\x9f\x3e\x0d\x3b\x4c\xe5\x81\ \x31\x3b\x3b\x83\xfb\x73\x1e\x78\xb7\xb4\xc3\xeb\x71\x61\x7c\x26\ \x89\x74\x6a\x15\xcb\x4f\x12\x70\xb9\x5c\x30\x0c\x43\x9e\x2e\x83\ \xe6\x2e\x43\xd6\x6e\xb7\x7b\xcd\x19\x23\x97\xcb\xc9\x78\xf8\xf0\ \xa1\x48\x2f\x29\x2e\x41\x6b\x6b\xeb\x27\xb7\x6e\xdd\xaa\xda\xb3\ \x67\xcf\x3b\xa7\x4e\x9d\xc2\x99\x33\x67\x6c\x06\x58\x10\xb8\xac\ \x34\x1e\xa4\x5a\xf1\xca\xdb\x61\xb8\x69\xfe\xdb\x50\x14\xdf\x5d\ \xe8\x47\x22\x99\x83\x2a\x81\xfc\x1b\xba\x96\x01\x7e\x02\x6b\x0c\ \x60\xdc\xbc\x79\x13\xc7\x8e\x1d\x43\x3a\x93\x86\xc7\xe3\x41\x73\ \x73\xf3\x81\x48\x24\xf2\x63\x28\x14\xea\x38\x7b\xf6\x2c\x4e\x9e\ \x3c\x09\xd3\x19\x43\xc3\xc8\x01\xd9\x34\x80\x34\x32\xe9\x24\x0e\ \x1f\xee\xc4\xf2\x4a\x96\x3c\x7d\xa6\x90\x85\xa5\xd3\x92\x33\x76\ \xef\xf5\x5c\x72\x23\x93\xc9\x08\x3b\x04\x9e\x3f\x3d\x07\x9a\xde\ \x68\x7a\x77\x38\x12\xe9\x79\x33\x14\xfa\x4c\x1b\x91\x78\x24\xc8\ \x4b\xb4\x1c\x52\xc9\x14\x29\x4b\x21\x99\x4c\x4a\x62\x4e\x4e\x4d\ \x4a\xa2\xae\xac\xac\x50\x72\xca\xbe\xfd\xc9\x83\x8d\x93\x67\x69\ \x69\x29\x18\xd4\xd4\x20\x46\x18\x6e\x58\xf4\x17\xac\xaf\xff\xf4\ \xca\x95\x2b\x07\xd8\x50\x53\x3d\x17\x18\x14\x5f\x2b\x43\x83\x75\ \x93\x87\x46\x96\x94\x0a\xfd\x48\x92\xc0\x9f\x22\x11\x54\x55\xbf\ \x86\xdd\xbb\x77\x03\x36\xca\x0d\x88\xe7\x20\xe8\xbe\x8c\xb2\xb2\ \x32\x30\xa8\x9c\x61\x47\x41\x41\x81\x55\x5d\x5d\xdd\x47\xef\x54\ \x98\x4a\x3e\xe3\x97\x5f\x27\xe0\xb9\xff\x25\xe2\xe3\xe3\x58\x5c\ \x5c\xc4\xb6\xca\x4d\x88\x8d\x86\x71\xef\xde\x3d\xd4\xd6\xd6\x62\ \x6f\x38\xcc\x9e\xc8\xa0\x46\x85\x89\x89\x09\x54\x54\x54\x28\xf5\ \x6a\x90\xae\xa5\x0c\xcf\x9f\xff\x9a\x18\xc9\xc0\xeb\xf5\xe2\xf2\ \xe5\xcb\x08\x06\x83\xf0\xf9\xfd\x86\xd7\xe3\x29\x97\x24\xb4\xd7\ \x73\xa8\xad\x0d\x86\x59\x04\x97\xb7\x98\x06\x29\xca\x99\x68\x69\ \x69\x61\x0f\x98\x4e\xa1\x55\x3d\xad\xaa\xaa\xe2\xc1\xdf\x0d\x11\ \xce\xd0\xf8\xc3\x02\x57\x09\x27\xa3\x18\x3b\x34\x34\xc4\x72\x84\ \xc5\xce\x43\x87\x44\xd6\xed\xdb\xb7\xf3\xca\x50\x14\x28\x94\xca\ \x44\x42\x4a\x50\x93\x6a\x8d\x22\xf2\x02\xb1\x58\x4c\x62\x2e\x89\ \x49\x77\xfc\x3e\x1f\x1a\x1a\x1a\x28\x82\x39\xbe\x27\xc6\x15\x17\ \x17\xc3\x47\xfb\x85\x05\x05\x92\xb8\x5a\x29\xce\x32\x64\xa1\x2a\ \x5c\x15\xb1\x62\x49\x3e\xdd\xb3\x20\xf7\xc4\xa8\xd8\x9d\x3b\xc8\ \xd2\x79\x7b\x7b\x3b\xdf\xe3\xd8\xe2\xfa\xf5\xeb\x7c\x2e\x54\x5b\ \xa4\x84\xe6\x1a\x1e\x76\x40\xee\xd8\x59\xd7\xa0\x41\xa1\x8a\x95\ \x01\x9b\x01\xb4\x76\x2b\x59\xb2\xe7\xa6\x73\xf6\x76\x78\x78\x58\ \x04\x0f\x50\x75\x84\xc3\x61\x89\xbd\x78\x6a\x93\xc3\xd0\xc6\x65\ \x87\xe9\x28\x3f\x67\x36\xb3\x22\x1e\xf2\x62\x7f\xff\xb7\x68\xdc\ \xb9\x53\xee\x2f\x2d\x2d\xa1\xa9\xa9\x49\x28\xde\xb1\xe3\x75\xf4\ \xf5\xf5\xe1\xc8\x91\x23\x62\xe8\xc6\x8d\x01\x6e\x42\x1c\x16\x31\ \xe4\xee\xdd\xbb\x68\x6b\x6b\x93\x33\x65\x44\x61\x3a\x08\xd0\x10\ \x38\x19\x90\x11\xac\x0f\xa2\xa5\xb9\x99\xe7\x92\x1b\x73\x73\x73\ \xf0\xfb\xfd\x94\x07\x11\xd0\xc7\x06\x23\x23\x51\x52\x14\xa2\x0a\ \xfa\x8b\x4b\x95\xe3\x2c\x32\xea\x83\x41\x91\xa3\x2d\xda\xce\x82\ \x69\x23\xc0\x69\x1d\xcf\x59\x19\xbf\x2c\x67\xd9\x5c\x16\xda\x90\ \x0a\x0b\x0b\x31\x33\x33\x83\xf9\xf9\x79\xf6\x4e\xee\xd6\x93\x81\ \xd1\xe8\x08\x35\x9e\x04\x37\x9f\x67\xf1\x37\x24\xe9\x78\x6d\x33\ \xc0\x9e\x03\xaa\x50\xfb\x3d\x04\x72\x51\x5f\x12\x18\x50\x1a\x25\ \xf3\x9b\xa9\xb4\x9e\x50\x47\x7c\xf4\xe8\x91\x28\x9c\x9e\x9e\x46\ \x3c\xbe\x04\xea\xf5\x6c\xa4\xbe\x4b\x73\x4b\xd7\xf2\x54\x61\x79\ \x7d\xe0\xe7\x58\x4c\xbc\x65\xa8\xa2\xb1\xb1\x31\x51\x36\x3b\x3b\ \x2b\x36\xab\x27\x4a\xef\x5b\x7b\xf7\xe2\x8f\x3f\xe7\x31\x35\x35\ \x85\x72\xea\x7c\x35\x35\xdb\x59\x86\x36\x23\x65\xd2\x66\x4c\xf6\ \xf9\x9f\xe3\x5d\xbb\x76\x49\x52\x29\x78\xde\xd8\xd8\xc8\xfd\x81\ \xdb\x2a\xaf\xa5\x97\x7b\xdc\x1e\xfb\x97\x90\xce\x02\x28\x2f\x2f\ \x7b\xba\x07\x49\x3c\xbb\x72\x27\x9b\x8a\xbc\x3e\xa0\xb1\x56\xb0\ \xe7\x97\x2e\x5d\xe2\x7d\x4e\x36\xce\x6a\xbb\x50\x87\x97\xfa\xe4\ \xe1\x82\xc2\x79\x5f\x0d\x50\x3d\x26\x6c\x60\x45\x1b\x36\x6c\x80\ \x82\x15\xee\xdb\xb7\x4f\x18\xd8\xb4\xa9\x92\x12\xaf\x80\x85\x3c\ \x77\x00\xdc\x70\x8c\x7c\x23\xc5\x47\x61\x87\x73\x85\xbb\xa2\x33\ \x04\x62\x19\x36\x6f\xde\xcc\x34\xab\x85\x42\x65\x49\x49\x89\xcc\ \x2b\x2b\x2b\xc8\x80\x22\x28\x61\x86\x04\x43\xb2\x52\xdd\x94\xb9\ \x13\x06\xe4\xa6\x9d\x01\x1e\x6b\x93\xd0\x63\x9a\xdc\xd3\x49\xb9\ \x07\xa9\x64\x1c\xc8\xac\x20\x9d\x88\x23\xf1\x64\x51\xca\x2a\x10\ \xd8\x28\xdf\x7f\x20\xbf\x65\x3b\xe1\x6c\x36\x7a\x87\x1f\xbc\x25\ \x6b\x8b\xd9\x35\x21\xa0\x9f\x48\xb0\xe3\xfd\xcf\x47\x87\x1a\x8e\ \x5e\xb0\x6a\x3f\xf8\xc2\xf2\xed\x38\x3a\xc9\xb9\x88\x75\xc2\xd0\ \x8d\x1b\x30\xe0\x40\x5d\xcd\x96\xde\x5c\xd6\x0a\x2d\x2e\x2e\xe5\ \x5e\xf6\xfb\x46\x1f\xfc\x3e\xfd\x21\xfe\xc7\x3a\xe2\x6f\x22\xe1\ \x64\xa6\x2a\xbb\xb2\x49\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ \x60\x82\ \x00\x00\x06\x71\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01\x42\x28\ \x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x08\x0e\x01\x28\ \x22\xa0\xb5\x5e\xcc\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\ \xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x05\xf1\x49\x44\x41\x54\x78\ \xda\xad\x56\x6b\x68\x14\x57\x14\x3e\x33\x3b\xbb\x79\x3f\x31\x0f\ \x6c\x42\x2c\xa4\x35\xd2\xc6\x0a\x35\xf8\xa8\xa0\xa6\xc1\x82\xb4\ \x35\x48\xb1\x6a\x6b\x43\x1a\x2a\xb6\xd2\xfe\xb1\x1a\xfa\x27\x0d\ \xfd\x21\x58\x51\x2c\x9a\xd2\x5f\x95\xd6\x36\xd0\x52\x0a\x4d\xd0\ \x12\x94\x48\x50\x4a\x08\xd6\x9a\xf8\x8a\xd9\x34\x1b\x92\x34\x31\ \xaf\xd9\xec\x7b\xb3\x8f\x7b\x7b\xce\xdd\xdc\x8c\x33\x18\xbb\xc4\ \x7e\x70\xb8\x67\x76\xce\xce\xf9\xce\xe3\x9e\x7b\x21\x59\xd4\xd6\ \xd6\x56\xb9\x5c\xae\xbe\x81\x81\x81\xc1\x07\x0f\x1e\x0c\xe2\xda\ \x77\xe8\xd0\xa1\x2d\xf0\x94\xd0\x20\x49\x30\xc6\x6a\x56\xad\x5a\ \x55\x39\x3f\x3f\x0f\x84\x94\x94\x14\x88\xc5\x62\x3b\x51\xbd\x0e\ \x16\x74\x76\x76\x42\x75\x75\x35\x24\x03\x15\x1e\x83\x13\x27\x4e\ \x1c\x40\x67\xa5\xf0\x08\xf2\xf3\xf3\x0b\xc0\x82\x8c\x8c\x8c\x42\ \x30\xa3\xf8\xfc\xf9\xf3\x0d\xe4\x7c\xd9\x38\x7b\xf6\xec\x77\x18\ \x2d\xef\xef\xef\xf7\x15\x16\x16\x56\xed\xdb\xb7\xef\x8d\x6b\xd7\ \xae\x5d\x9f\x9d\x9d\xe5\xc1\x60\x90\xf9\x7c\x3e\x4e\x12\x08\x04\ \x98\xdb\xed\xe6\xf8\xae\xbb\xa1\xa1\xe1\xad\xa2\xa2\xa2\x75\x23\ \x23\x23\x1e\x8e\xc0\x0c\xb4\x9b\x82\x4b\x16\xa7\x4f\x9f\xfe\x36\ \x1c\x0e\x73\xfc\x30\x39\x62\x13\x13\x13\x9c\x9e\x49\x9f\x9b\x9b\ \xe3\x24\x1e\x8f\xc7\x24\xf4\x0e\xcb\xc2\xa7\xa6\xa6\xe8\x99\xe9\ \xba\x2e\x08\xb6\xb5\xb5\xfd\x0a\x49\x40\x91\x4a\x55\x55\xd5\x9b\ \x1d\x1d\x1d\xbf\x45\xa3\x51\xae\x24\x00\x52\x08\x36\x9b\x4d\xe8\ \x8c\xc5\x81\x71\x0e\x36\x55\x03\xce\x18\xc4\xf1\x19\x83\x16\x82\ \xa0\xbe\xa0\x7e\x81\xac\xac\x2c\xc0\xec\xbd\x77\xe9\xd2\xa5\x0b\ \xf0\x04\xd8\xa4\x32\x3e\x3e\xee\x2f\x2d\x2d\xdd\x53\x59\x59\x99\ \x83\x24\x40\x55\x55\x12\xe1\x14\xb3\x00\x63\x63\x63\x80\x51\x82\ \xae\xbb\xc1\xe7\xf3\xc2\xcc\xdc\x14\x78\x83\x3a\xd8\x1d\x76\x48\ \x75\xa4\x81\x44\x3c\x1e\x17\x6b\x7b\x7b\xfb\xe4\xa9\x53\xa7\x3e\ \x47\x75\x2e\x99\x0c\x48\xbc\x8c\x59\xe8\x5e\xb3\x66\x8d\x46\xce\ \x53\x53\x53\x61\x66\x66\x06\x22\x91\x08\xe4\xe4\xe4\x00\x01\x7b\ \x81\x3e\x2e\xfe\x6a\x53\x54\x70\x07\x66\x21\x35\xc5\x01\x59\xe9\ \x79\x22\x72\x2c\x87\xb0\x39\x77\xee\x5c\x33\x1a\xfd\x49\x86\x4b\ \xf9\xc6\x9d\x74\xc7\xf4\xb2\xa2\xa2\x62\x07\xa6\xac\x83\x74\x22\ \xe0\xf7\xfb\xc1\x6e\xb7\x03\x1a\x8a\xef\xd8\x35\x07\x5c\xf8\xe1\ \x02\x34\x36\x1e\x85\xff\x01\x94\xdd\x8f\x4d\x73\xe0\xe0\xc1\x83\ \x47\x64\x1a\xa9\xa6\xa1\x50\x48\xd4\x1e\xb8\x02\xba\x67\x1a\x5c\ \x0f\xaf\x82\x6b\xea\x0a\x5a\x1c\x85\x91\xd1\x31\x41\xd2\x0c\x8e\ \xb2\xd0\x3b\x22\x0a\x5a\xe9\x19\x4c\x60\x68\xb6\xb2\xb8\x48\xa8\ \x1a\xee\xf9\x8d\x35\x35\x35\x7b\xa6\xa7\xa7\xb3\x71\xaf\x57\x53\ \x0a\x65\xdd\x29\x72\x86\xd6\x6e\x5d\x87\xae\xfe\xe3\x50\xbd\x75\ \x27\x38\x87\x9e\x31\xd5\x9a\x40\x64\xe9\x3f\xaa\x9a\x70\x6e\x08\ \x2c\xea\x09\x2c\xfc\xc6\x18\x48\x68\xe9\xe9\xe9\xcd\xf8\x81\xd7\ \x0a\x0a\x0a\x40\xd3\x34\x4e\x5d\x4c\x69\x67\x09\x23\xd1\xed\x17\ \xbb\xbf\x80\x8a\x57\x22\xe0\x65\xfd\xe0\x8e\xfc\x0d\x56\x24\x1c\ \x8b\xa6\xb5\x90\x30\x9c\xcb\xd5\x0a\x0d\x1b\x2c\xf7\x91\x68\x14\ \x24\x01\x44\x82\x40\x24\x14\x45\x83\xd9\x48\x0f\xfc\x13\x88\xc0\ \xbc\x3d\x0c\x7a\x68\xd4\xe2\x5c\x95\x04\x64\x16\x64\x69\x92\x23\ \x80\x29\x67\xe8\x50\xec\x7d\x69\x28\x3f\x1c\x89\x46\x44\xc1\x22\ \xe1\x28\xc4\xe2\x2a\x0c\x7b\x86\xc0\xa9\xbb\x40\x22\x11\xb5\xd9\ \xb1\x9a\xc8\xbb\x5c\x8d\x7e\x90\x44\x2c\x23\x52\xc5\x0c\x78\x73\ \x73\x73\x15\x2c\x85\xa8\x25\xcd\x00\x24\x24\x9a\x2f\x1e\x8b\x43\ \x8c\x21\x09\xcf\x6a\xe0\x71\xd4\x23\x1a\xbe\x37\x08\x6a\x9a\x8a\ \x76\x24\x36\x63\x6e\xa0\xd8\x84\x6e\x88\x22\x75\x29\x68\x2f\xa1\ \x36\x37\x37\x37\xe1\x51\x7b\xbc\xbe\xbe\xfe\x9b\xe1\xe1\xe1\x79\ \x8e\xa0\x92\x90\x21\x91\x09\x85\x03\xb0\x65\x6d\x3d\xf4\x5d\x0e\ \x80\x83\x45\x81\x25\xaa\x83\x4e\xcd\xd1\x0b\x12\xa4\x5b\x1d\x4a\ \x42\x66\x62\xa6\xe3\xb8\xc7\xe9\x74\xf6\x00\xa2\xbb\xbb\xbb\xa4\ \xac\xac\xec\x75\xca\x00\xce\x75\xc8\xcb\xcb\x13\x6b\xf9\x73\xab\ \xe1\xc5\xf1\x63\x70\xf3\xe7\x56\xf0\x0d\x72\x40\x48\x47\xe4\x94\ \x56\x59\x6f\x83\x54\xc2\x48\x96\x80\xd6\xff\x3e\x8e\xcf\x9c\x39\ \xf3\x15\xed\x7d\xc9\x30\x16\x8f\x42\x5c\x0d\x83\x67\xce\x03\xeb\ \x2a\xd7\xc3\xae\xad\x9f\x41\x79\xe6\x2e\x49\x60\xd1\xb9\x4d\xae\ \xd2\x39\x3d\xcb\x8c\x24\x48\x59\x65\xc9\x0b\xc9\x04\x9d\x84\xf4\ \x7d\xda\x01\x7e\x9f\x02\xcc\x1e\x00\x25\x13\x53\x1e\xcc\x84\xf2\ \xf2\xe7\x61\xed\xda\x97\x00\x61\x38\x42\x01\x83\x84\x8c\x5c\xbe\ \x93\x22\x67\xc5\x13\x6f\x44\x2b\xba\xba\xba\x3a\xb1\x96\x0a\x19\ \xe3\x4a\x73\x01\x67\x42\xbe\xd0\x33\x8b\x32\x00\x7f\xa6\xf3\x41\ \x66\xc0\x70\x64\x26\x64\x2a\x8b\x84\x8c\x7a\x49\x02\x25\x25\x25\ \x1b\xf0\x08\x2d\x5c\x38\x8e\x4d\x9d\x4d\x08\x04\x82\x60\xcc\x08\ \xe1\xd0\x14\xad\x29\x62\xb3\xb3\x27\x66\x61\xd1\xd2\xeb\xf5\xfe\ \x8e\x67\x41\x4b\x5a\x5a\x9a\x82\xce\x39\x8d\x61\xbc\x84\xc6\xf1\ \xe6\x03\xb8\x45\x89\x08\x11\x33\x7d\xd4\x52\x06\x13\x61\x6b\x53\ \x12\xac\xab\x95\x00\xbb\x71\xe3\xc6\x91\xba\xba\xba\xaf\xd1\xa1\ \x82\xe5\x98\xd8\xbd\x7b\xf7\xb6\xcd\x9b\x37\xef\x68\x6a\x6a\x6a\ \xc3\x2b\x5a\x48\x5e\x4a\x10\x32\x52\x53\xfa\xad\xe4\x24\x21\xfa\ \x9f\x5c\xa5\xee\x5f\xa2\x09\xe7\x47\x47\x47\x3f\xc1\xfb\xc0\x55\ \xd4\x6f\xa1\x0c\x02\xa2\xb5\xb5\xf5\x32\x12\x3c\xd9\xd2\xd2\xf2\ \xa9\xc9\x89\x45\x64\xf4\x52\xc7\x2b\x1c\x0c\x0d\x0d\x01\x66\x55\ \x94\xcf\xe1\x70\x88\x1e\xca\xcb\xcd\xe5\xa3\xfe\x18\x31\x0e\x58\ \x09\xd0\x05\x24\x8e\xcb\x2f\x8f\x39\xbb\x1f\x52\x29\xe8\xa0\x12\ \xcf\x24\x16\x22\x56\x72\x03\xce\x01\xd8\xb8\x61\x23\x58\xc0\xef\ \x0e\x38\x95\xba\xf7\x3f\xf8\x9e\x62\x83\x24\x41\x8e\xd7\x37\x36\ \x36\xfe\xb1\x69\xd3\x26\x17\x47\xb8\xf1\x82\xea\xf3\xfb\xe9\xa6\ \xcc\x43\x78\x71\xc5\x91\x2e\x84\x9a\x98\xce\x16\x42\x6f\x6f\x2f\ \x5f\x98\xac\x9c\x31\xb1\xb2\x5b\xb7\x6f\xf3\xb2\xd5\x2f\x7c\x29\ \xca\xbf\x4c\xec\xe4\x08\xba\x21\xfb\x13\x04\xe8\xe6\x2c\x9d\x9b\ \x08\x60\xdf\x88\x55\x3a\xef\xbd\xdd\xc7\x57\x96\x3d\x7b\x6c\x65\ \xd1\x0a\xe9\x7c\x59\x2c\xa2\x40\xa0\x7a\x1b\x0d\x29\x6f\xc5\xa6\ \x2e\xa7\x9a\x13\x90\x02\xbf\x77\xff\x9e\xf2\xee\x3b\xfb\x3f\x2a\ \xc8\xce\x3e\x39\x3e\x39\xc3\x8c\x39\xf0\x94\x50\x2c\x24\x8c\x81\ \xb3\x38\xb4\xf8\x9d\xbb\x77\x94\xbd\x7b\xf7\x1e\xd0\x75\xfd\xc7\ \xc9\x87\x93\xdc\x3c\x07\x96\x0b\xce\x4d\x51\xa3\x2e\x57\x83\x40\ \x5a\x1a\xbf\xf9\xd7\xcd\xe8\xb6\x6d\xdb\x6b\x8b\x0b\x8b\xa5\xf3\ \xa7\xc6\x0e\x9e\x04\x82\x28\x17\xaf\x74\xba\xd1\xfe\xd5\xd6\x9f\ \x5a\xc1\x8a\x65\x97\x20\x3b\x3b\xbb\x07\xd3\xbd\x1d\x92\xc3\xe4\ \x87\x87\x0f\xdf\xdf\xff\xf6\x7e\x58\x0a\xff\x02\xd1\x7d\x48\xa2\ \x04\x03\x21\x38\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \ \x00\x00\x06\xe0\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\ \x01\x5e\x1a\x91\x1c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd7\x0c\ \x1b\x16\x05\x11\x8e\x6b\xb0\xdd\x00\x00\x00\x06\x62\x4b\x47\x44\ \x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x06\x6d\x49\x44\ \x41\x54\x78\xda\xcd\x57\x5b\x6c\x54\x55\x14\x5d\xf7\xde\x99\xb9\ \xf3\xe8\xf4\x01\x08\x04\x8a\x52\x3e\x4a\x55\x62\xa6\x10\xc4\x86\ \xa2\x12\x22\x90\x48\x48\x30\x8d\xa1\xbc\x0a\x82\x3c\x52\xa8\x06\ \x13\xd0\x0f\xe5\xcb\x98\x88\x06\x43\x0c\xef\xc4\x2f\xf8\x20\x24\ \x02\xf1\xc3\x47\x08\x2a\x4a\x30\x80\x96\xd2\x82\xb4\xb4\xbc\x9f\ \xe9\xcb\x4e\x87\x99\x7b\xe7\x3e\xdc\xfb\xf4\xe6\xdc\x19\x5b\x22\ \x1f\x10\xdd\xc9\xea\x39\x3d\x67\x9f\xbd\xd6\xde\xfb\xcc\x99\x0c\ \xfe\x6b\x53\xe0\x59\x2b\xcd\x8b\xc3\xe1\x90\x13\x8f\xeb\x41\x4d\ \x53\x95\xc7\x4c\xe4\x12\xac\x68\xd4\x55\x3a\x3b\x33\xbd\x7d\x7d\ \x66\x39\x2d\x49\x01\xbd\x34\x5a\x75\x75\x09\x65\xd4\xa8\x7d\xbd\ \x27\x4f\x26\xb2\xf7\xef\xab\xde\xa1\xfc\x20\x72\x1c\x7a\x4d\xce\ \x1f\xb2\x17\x9b\x30\xc1\x1d\x5e\x5d\xdd\x68\x36\x35\xad\x8c\x1e\ \x3c\xd8\x58\x4c\xcb\x01\x76\x48\xeb\xba\x1e\x28\x2d\xdd\x17\x98\ \x3d\x7b\xb2\x56\x55\x05\x55\x51\x06\x67\xf0\x38\xca\xad\x52\xe4\ \xc2\xc2\xca\xcc\xb5\x6b\x7b\x15\x5d\xaf\x86\x61\x64\x84\x80\xac\ \xaa\x46\x6e\x1d\x39\x92\x88\x57\x54\xc0\x34\x4d\x3c\x49\x73\x28\ \xb9\xd6\x63\xc7\x2a\x9f\x27\x4e\x00\x03\x02\x6c\xd7\xd5\x7a\x9a\ \x9b\x55\x3d\x99\x84\x8d\x27\x6b\xb6\x61\xa0\x8f\x5a\xcc\x9c\x20\ \x1b\xa8\x80\xeb\xaa\x0e\x00\x2b\x93\xc9\x13\xd0\x4d\xce\x6d\xe1\ \x30\x82\xe9\x34\x12\xba\xce\xad\x79\xb4\x2c\x5d\x17\x8d\x74\x36\ \x1b\x89\xa0\x9c\x62\x96\xe8\xba\x2f\x20\x9b\xe5\x84\x05\xa7\x14\ \x40\xe4\xaa\xcd\x9b\x39\x02\xfe\xb2\x6d\x38\x89\x04\x16\x55\x57\ \x23\x4d\x02\x7e\x3c\x74\x08\x65\xc9\x24\x8b\xf8\x57\xf2\x2b\xf1\ \x38\xe6\xd5\xd6\x22\x42\x02\x7e\x3b\x71\x02\x3d\xe7\xce\xa1\x50\ \xd3\x06\xf6\x4d\x93\xdb\x20\x38\x01\xef\x8f\xe3\x38\x2c\x80\x2b\ \x20\x11\xa5\xcb\x38\x8d\xc8\x15\x72\x8e\x46\xa3\x78\xb5\xa6\x06\ \xb7\x4a\x4a\x90\xe5\xfd\xa1\x21\xf6\x6e\x16\x17\xb3\x2f\x9f\x11\ \x67\xa7\xcd\x98\x81\x48\x55\x95\xf4\x71\xb8\x02\x1e\xa7\x14\x60\ \x3b\x8e\xdf\x02\x0f\x65\x45\x45\x50\x55\xb1\x0d\x97\xb2\xd2\xa9\ \x8c\x2f\xcd\x9f\x8f\xae\xd2\x52\xe9\x27\xe1\x91\x77\x8e\x1d\x2b\ \x7c\x42\xa1\x10\x13\x80\x8d\x63\x94\x91\x28\xe9\xcb\x15\xf0\x38\ \xa5\x00\xcb\x6f\x81\x54\xda\x7a\xe0\x00\x1e\xb4\xb7\xc3\xab\x90\ \x40\x30\x18\x44\xe5\xdc\xb9\x48\x4d\x9c\x08\xcb\x30\x64\x50\x9e\ \xa7\xca\xcb\x91\x98\x33\x07\x81\x40\x00\xb6\x6d\x33\x84\xf0\x07\ \x1d\x1d\x68\xdb\xbf\x3f\xaf\x02\xdc\x02\xe6\xf4\x2b\xe0\x5f\x42\ \x89\x6c\x2a\x85\x96\xbd\x7b\x91\x6a\x6b\x93\x22\x38\x20\x13\x3c\ \x37\x6b\x16\x9c\x29\x95\x50\x6c\x43\xc0\x9e\x9c\x40\xc5\xcc\x99\ \xd0\x34\x2d\x9f\xfc\xf2\x65\xb4\xec\xd9\x03\x33\x95\x1a\x24\xc0\ \xce\xbd\x84\x36\xa0\x88\x45\xc3\xe0\x0d\xff\xc6\x12\xce\xef\xd8\ \x81\x49\x6b\xd6\x20\x58\x56\x26\x2b\x21\xca\x3a\x7d\x06\x6e\x93\ \x18\xc0\x45\xe9\x8b\x55\xbc\xc6\xc4\x3c\x8a\xde\x1b\x1d\xed\xb8\ \xb0\x7b\x0f\x1c\x5a\xcb\x35\xdb\x13\xc0\x9c\x42\x80\xac\x00\x07\ \x30\x4d\x11\x44\x1a\xb9\xd0\x32\x2e\xee\xdc\x8e\x67\xd7\xd6\x43\ \x7d\xa6\x4c\x56\x82\x89\x46\x4f\x9d\x06\xcf\x64\xcf\x99\xdc\xb9\ \x76\x05\x97\x76\xef\x80\x63\x5a\xd4\xeb\x9c\x67\x94\xf6\xf4\xe2\ \x22\xe2\x73\x04\xa7\x7f\x07\x7c\x01\x7e\x1b\x8c\x0c\x5c\x33\x03\ \x35\x9b\x81\x92\xe9\x47\xfb\xce\xcf\xe1\x5e\x6d\x63\x02\x59\x09\ \xef\x82\xf2\x5c\x0a\xd7\x6e\x5e\x41\xc7\xae\x6d\x80\xd1\x0f\xc5\ \xca\x50\xcb\x34\xc4\xc7\x8d\x43\x64\xc4\x08\xb8\xe4\x77\x66\xeb\ \x56\x98\x19\x03\xd6\x3f\xdf\x01\x57\x55\xd0\x7d\xa1\x05\x4a\x38\ \x82\x50\x3c\x8e\x60\x38\x84\x80\x4e\xe5\x74\x07\x54\x2a\x06\x70\ \x7d\xd7\xa7\x78\x7a\xf5\x46\xb8\x63\x64\x3b\x58\x00\x43\x08\x8b\ \x27\xbb\x71\xf7\xf0\x7e\xe8\x31\x1d\x0a\x47\x4d\x1b\xe8\xbb\x7e\ \x19\x1d\x47\x0f\x23\x9d\x4c\x83\x2d\x18\x8b\x82\xb8\x78\x37\x4f\ \x80\xc2\x15\x48\xde\xb8\x8e\x4c\xff\x03\x68\x9a\x82\x48\x2c\x84\ \x58\x61\x04\x91\x02\x1d\xe1\x68\x08\x7a\x38\x08\x27\x12\xc2\xb1\ \x1f\xbe\x47\xd5\x92\x55\x92\x38\x57\xc4\xaf\xdf\x7e\x83\xe8\xd7\ \x5f\x51\xf5\x2c\x98\x59\xc0\xf0\xa0\x10\x34\xa2\xb3\x99\x88\xc9\ \x5d\x55\x70\x4a\x01\x42\x84\xea\x35\x1c\xec\x4c\x3d\xb6\x0d\xb8\ \x29\x03\x36\x1d\xb6\xfa\xc9\x5b\xd7\xd0\xf6\xda\x22\x54\xd7\x2c\ \x91\x6d\xc8\x05\x5b\xd9\xdc\x05\x68\xee\xba\x8f\x91\x47\xf7\x01\ \x60\x61\x10\xe0\x6d\xee\x10\x8f\x8a\x46\xe4\x39\x17\x5d\xcd\xfd\ \x96\x62\x75\xac\x21\xa0\xf9\x08\xf2\x18\xd2\x70\xe7\xf5\xe5\x78\ \xa5\xe1\x03\xc4\x62\x31\x78\x26\x6f\x3c\x67\xcf\x77\x80\x3f\x86\ \x2f\x2c\x5d\x87\xee\x37\xd6\x8a\x33\xc1\x40\x7e\x2c\x72\x17\x1c\ \xae\xa2\x0c\x16\xc0\x7d\x61\x75\x1a\xed\x69\x39\x22\x34\x0a\xd4\ \xb5\x60\x35\x5e\xde\xf0\x3e\x0a\x0a\x0a\x98\x50\x92\x0f\xbf\xd1\ \x88\xa7\x6e\x36\xf2\x5c\xb6\x83\xdf\x89\x44\x5d\x3d\x52\xb5\x0d\ \x7c\xd6\x8f\xc3\x50\x21\x7c\x1d\x75\x68\x01\xb2\x02\xc2\x91\x41\ \xe9\xa7\x16\xae\x27\xf2\xcd\x9c\x39\x93\x33\x38\x53\x22\x3f\x0b\ \xfb\x8b\x65\x70\xb6\xaf\xc0\xe8\x3b\x4d\xfc\x4a\x32\x39\xef\x89\ \x67\x7b\xca\x5b\x1b\xe0\xae\xd8\xc4\x31\xf2\x62\x2a\x94\xa1\x3b\ \x94\x00\x56\xc5\x9b\x14\x5f\x40\x0d\x68\x14\x60\x23\x91\x6f\x62\ \x72\x56\xce\x10\x24\xc5\x57\x4f\x0b\xf2\xb0\x6a\x0a\x28\x5f\xae\ \xc0\x98\x7b\xe7\x11\x0e\x87\xa5\x10\x9e\x4f\x7d\xbb\x01\x91\xfa\ \x0f\x45\x2c\x11\x93\xa1\x29\xc4\x85\x21\xef\x00\x11\xf8\x02\x62\ \xeb\x36\xa3\xba\xfe\x3d\x49\xce\x99\x71\xe0\x58\xdb\x29\x64\x3e\ \x5b\x82\xa0\x6b\x42\x0f\x01\x61\x42\x10\x26\xb2\xdb\x96\x53\x55\ \xfe\x18\x2c\x62\xd5\x7a\x0c\x7b\x77\x8b\x88\x09\x16\xf0\xf0\x3b\ \xc0\xff\xf9\x1b\x55\x8b\xeb\x44\x00\x32\x49\x1e\x6c\xf9\x05\xbd\ \x1f\x2f\x02\xb2\x26\x06\x99\x65\x22\xf9\xc9\x52\x44\x5b\x4f\x71\ \x0b\x58\x04\xb7\x4b\x9c\xab\xac\x59\x28\xdd\x14\x55\xe0\x61\x97\ \x10\xf2\xa3\x73\x7a\x65\x0d\xd0\xdf\x27\x9f\x57\xfb\xf7\xe3\xb8\ \xfd\x51\x2d\x6c\xc3\x14\x9f\xe7\xac\x05\xd0\x14\x19\x02\xcf\x6d\ \x1b\xe2\x25\xbd\xbb\x65\x31\x70\xee\x67\xf9\x55\xce\x31\xce\x50\ \x2c\x8e\x09\x86\x77\xd7\x86\x68\x81\x20\x92\x02\x7a\x5a\xce\xe3\ \xcc\xb2\x79\x50\x93\xbd\x48\x9f\xfc\x0e\xed\x9b\x16\xc2\x22\xb6\ \xac\x0d\xf9\xc8\xa4\x0d\x21\x40\xc0\xb4\x40\x7b\x04\x52\xd5\x41\ \xbe\x7c\x86\xcf\x9e\xad\x9b\x47\xb1\x9a\x44\x4c\xc7\xf5\xb2\xf7\ \xf9\x11\xc8\x6f\x81\x70\x12\x19\x3a\x04\x3e\xf8\xd3\xf4\xf1\x88\ \x84\x20\xfa\xad\x12\xbc\xf6\x09\x3f\xcd\x93\xcf\xfe\x96\xc5\x22\ \xbc\x91\x2a\xd1\xdc\xf0\xe6\x80\x38\x83\x63\xf9\x31\x21\x12\xcd\ \x6f\x01\xaf\xd9\x6a\xc1\x30\x37\x3a\xb2\x90\x1d\x05\x2c\xdb\x47\ \xd6\x62\x88\xcc\x05\x0c\x2f\x70\xda\x43\x86\xc1\xeb\xde\x3e\xfb\ \x5a\x02\x32\x86\x8c\x1b\x1d\x59\x44\xeb\x8a\xc3\x9c\xb2\x02\x2e\ \xd0\xad\xc7\xe2\x97\xe2\x93\xc6\x57\x68\xd1\x10\x34\xc7\xe2\x57\ \xcc\x7b\xc9\xfc\x51\x23\x28\x04\xae\x96\x45\x90\x99\x70\xdb\xf8\ \x99\x25\xa8\x84\xa0\x4d\x73\x8b\xce\xd0\xa8\xd3\x18\xf5\x12\xb0\ \xb5\x20\xac\x78\x09\x94\x0b\xf7\x2e\x31\xa7\x14\xa0\x00\x3d\xa1\ \x8b\x7f\x36\x74\xf4\xf6\x6c\xef\xe9\xea\x2c\xcf\xa6\xd3\xea\xa3\ \xff\x0c\x7b\x74\x0b\x45\xa2\x4e\x58\xbd\x71\x69\x74\xb2\xff\x1d\ \xe6\x44\xee\x75\x38\x3e\xd0\x8e\x12\xc2\x30\x6e\x2f\x9e\x80\x79\ \x65\xe7\xcc\x7b\x66\x02\x0e\xfe\x0f\xf6\x37\x83\x76\xd2\x44\xe2\ \x1d\x68\x05\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x07\x06\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ \x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01\ \x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdb\x05\x02\ \x16\x02\x34\xdd\xed\x48\x42\x00\x00\x06\x86\x49\x44\x41\x54\x58\ \xc3\xa5\x97\x5d\x88\x5d\x57\x15\xc7\x7f\x6b\xed\x7d\x3f\x92\x49\ \x32\x43\xbe\x44\x5b\x6d\x20\x58\x4d\x8d\x9a\x07\x05\x69\x24\x1a\ \x34\x94\xfa\x20\x92\x8e\x5f\x50\x5f\x45\xa4\x0f\x82\xe2\x8b\x4a\ \x11\x0a\x41\x11\x8c\xf8\x24\x2d\xbe\x59\xc4\x88\x22\x8a\xa8\x89\ \x11\x23\x54\x49\x03\x4d\x8b\x09\xfd\xc8\x84\x26\xc1\x24\x9d\x64\ \x26\x33\x77\xe6\xce\xdc\x7b\xcf\xd9\x7b\xf9\xb0\xf7\xb9\xe7\xf4\ \x4e\x2a\x29\x6e\xe6\x72\xce\xd9\x67\x9d\xbd\xfe\x6b\xfd\xff\x6b\ \xed\x3d\x42\x63\xec\xdd\xbb\xb7\x33\x37\x37\xb7\x1b\x68\xf3\xd6\ \xc3\x1a\xf7\x92\x9f\xe7\x8f\x1c\x39\xb2\x7a\xf2\xe4\x49\xfe\xdf\ \x71\xc0\xde\xc6\x08\x65\x69\xab\x2b\x2b\x76\xf9\xf2\xe5\xab\x7b\ \xf6\xec\x79\xe4\xe0\xc1\x83\xfa\x76\x1d\xca\xc4\xf3\x27\xcd\xec\ \x6f\x6b\xfd\x7e\x6d\x20\xb5\x89\x99\x61\x66\x84\x10\x28\xcb\x92\ \xe1\x70\x48\xaf\xd7\x63\x71\x71\xd1\x3e\x7c\xe0\x80\x1c\x7c\xf8\ \xe1\xd9\x6d\xd3\xd3\xbf\x3d\x73\xe6\x4c\xbc\x57\x00\x6f\x89\x58\ \x44\x50\x55\x44\xa4\xfe\x35\x41\x89\x20\xaa\xf8\x56\x0b\x40\x2e\ \x5e\xbc\x68\xa7\x4e\x9d\xfa\xb5\xf7\xfe\xe8\xa1\x43\x87\xee\x39\ \x13\xfa\xa5\xa7\xfe\xdc\x7c\xee\x57\x0e\xc6\x91\x9b\xd5\xa4\x37\ \x00\x69\xfe\x39\x55\x5a\xad\x16\x8b\x0b\x0b\x32\x3d\x33\x63\x3f\ \x7f\xe6\x99\x13\xdb\xb7\x6f\x3f\xba\x7f\xff\xfe\x7b\x02\xa1\xbf\ \xfc\xee\x23\x7c\xf1\xa9\xbf\x9e\xfc\xdc\x93\x7f\xb4\x07\x1f\xfd\ \xe6\xd9\xb1\xc8\x2a\xc7\xcd\x2c\x4c\x64\x68\x0c\x46\x95\x95\x95\ \x15\xbc\xf7\xe2\x9c\xb3\x9f\x1e\x3f\x7e\x62\xff\x43\xfb\x1e\xbb\ \x17\x00\x1e\x60\xf9\xce\xfc\xa7\x1f\x9f\x7d\x94\xdf\xad\x5e\xad\ \x75\xd1\xc8\x82\x64\x40\x93\xf3\xe3\x7b\x11\x62\x7e\xbf\x79\x6a\ \x4a\xd6\xfa\x7d\x3b\x76\xec\x07\xbf\x0a\xef\xfe\x14\xe5\xd4\x7b\ \x50\x84\x80\xe1\x80\xd2\x40\xc5\x0a\x29\x06\x47\x7e\x73\xec\xb1\ \xbf\x7b\x80\x61\x7f\x99\x97\x5e\xef\x71\xe9\x7a\x7f\xbc\x30\x0d\ \x0a\x10\x01\x55\x2c\x46\x44\x04\xcb\xfc\x6b\xb6\x53\x55\x62\x4c\ \xba\x6b\xb7\xdb\x60\x26\x6b\x6b\x7d\x7e\xf8\xb5\xc3\x3c\xfd\xa7\ \xd7\xd8\xb1\xe7\x83\xb4\x9d\x07\x01\x15\xa1\x14\xf3\xff\x3a\x77\ \xe1\x5b\x40\x02\x10\x46\x03\xe6\x17\xfa\x60\xc5\x46\x31\xaa\x62\ \x66\x1b\xca\xa5\x02\x5a\x09\x55\x35\x51\xee\x5b\x2d\x10\xc1\x80\ \x35\x33\xbe\x72\xf8\x01\x9e\x7c\xf6\x39\xfc\xce\xf7\xe1\x9d\x12\ \x02\xec\x9c\xee\xca\xed\x9b\xff\xd1\xba\x0a\x9c\xa3\x1c\xae\x33\ \x1a\x8d\x36\x54\x42\x75\x35\xb3\x37\x71\xae\xaa\x38\xe7\x70\xce\ \xd1\x6a\xb5\xd8\xb2\x65\xcb\xd8\xd6\x7b\x4f\xbb\xd3\x61\xf3\xe6\ \x29\xba\x9b\xa6\xf8\xce\xec\x7b\xe9\x5d\x3b\xcf\x70\xb0\x8e\x95\ \x43\x16\x57\x07\xac\x2c\xdd\xb4\xb1\x06\xcc\x8c\xf5\xd1\x80\xb2\ \x1c\xdd\xb5\xf6\x2b\xa7\x66\xb6\x61\xce\x39\x47\xb7\xdb\x65\x7a\ \x7a\x1a\x80\x4e\xa7\x03\x40\xb7\xdb\x85\xad\x5b\xd9\xb1\x6b\x17\ \x65\x71\x1f\x3f\xf9\xfa\x34\x5f\xfd\xd1\x5f\x98\xb9\xff\x03\xb8\ \x68\x14\x83\xf5\x30\x06\x50\x8e\x0a\xca\x62\x48\x2c\x47\x1b\x7a\ \x6c\x15\x75\x72\x6e\x84\x60\x18\x31\x6b\x52\x70\xce\xd3\xed\x6e\ \x62\xe7\xae\x5d\x3c\x7f\xee\x1c\x45\x51\x82\x19\xa2\x99\x16\x4b\ \xba\x98\xde\xb6\x8d\x5f\x7c\xff\xf3\x7c\xe1\x7b\x27\x98\xb9\xef\ \x21\xb0\x58\x03\x88\x61\x44\x28\x46\xc4\xb2\xa8\x85\xa7\x8a\x54\ \x40\xa2\x51\x84\x92\xa5\x5e\x9f\xe5\xde\x1a\x45\x59\x12\x62\xc4\ \xcc\x88\x21\x50\x86\x40\x59\x94\x94\xc1\x88\x21\x55\x84\x61\x98\ \x25\x30\xb1\x37\xe0\xda\xcd\x45\x46\xc5\x88\x27\x3e\xbb\x8f\xe3\ \xbf\xbf\x44\x88\xe6\xc6\x00\x8a\xa2\x60\x30\x58\x67\x90\x35\x10\ \x2c\x22\xc1\x10\x49\x58\xa2\xc1\xcd\x5b\x4b\x9c\x7d\xf1\x15\x2e\ \xbc\x76\x85\xfe\xda\x20\xe7\xc7\xd2\x9f\x25\x5a\xa2\x19\x58\xca\ \x8e\x8d\xdf\x19\x16\x0d\x13\x23\x84\xc8\xee\x5d\xdb\x79\xf9\xfc\ \x73\x74\x3b\x9d\xd1\x18\xc0\x68\xb4\x46\x7f\x79\x9e\x50\x0c\xb9\ \x7a\xfd\x16\xb7\x17\x97\x6b\xd5\x0b\x94\xa1\x64\xee\xca\x1b\x9c\ \xfe\xe7\x8b\xcc\x3e\xfe\x65\xda\xdd\x2e\x77\xfa\x25\x22\xff\x7b\ \x93\xb1\xbb\xcd\x9b\xf0\xb1\xcf\x1c\x05\x98\xbd\x71\xed\x89\xd3\ \x1e\xe0\x8d\x1b\xd7\x59\xec\xad\xd3\x5b\x5e\xe4\x67\xcf\xfe\x81\ \x7e\x7f\x1d\xcd\xf9\x37\x20\x04\xe3\x4e\xaf\x4f\x7f\x58\xe0\x7c\ \x97\xb3\x2f\x2d\xe0\xf2\x3b\x69\x38\x73\xf9\x1a\x1b\x20\xe2\x04\ \x18\xcd\xf7\x2d\x75\xbc\x7c\xfe\xf9\xc3\xfe\xdb\x4f\x9f\x3e\xfb\ \x89\x8f\x7f\x84\xb2\x28\x11\xa0\x28\x23\x26\x96\xd1\xe6\x0f\x05\ \x14\xc1\x0c\x2e\x5c\x5a\xc0\x11\x71\x02\x21\x82\x0a\x04\x03\x27\ \x50\x56\xa7\x85\x4c\x9d\x0a\xa8\xd5\x36\x2a\x10\x32\xd0\x02\x25\ \x44\xc3\xcf\x5d\xb9\xfd\xd1\x77\xed\x5e\xa0\x5f\x94\xe3\x08\x26\ \xd1\x56\xcf\x16\x0d\xa7\xa9\x2a\xca\x98\xa2\x8b\x63\x0d\x64\x9b\ \x1c\xae\x90\x00\x3a\x49\xed\x37\x92\x40\x64\x69\xa4\x00\x0c\x3c\ \x06\x45\x34\x1c\x96\xd0\xe5\x68\xaa\xc5\x5b\x0a\x85\x25\xd4\x68\ \x16\x15\x29\x12\xb1\xdc\xc9\x24\x53\x21\x50\xc6\xdc\xc5\xab\x75\ \xaa\x2c\x5a\x6d\x33\xa6\xce\xc0\x1b\xa4\xb2\xc9\x11\x89\xa6\x8f\ \xa8\x52\x96\xe7\xad\x71\x18\xd3\xea\x5e\xeb\xa8\x84\x44\xb8\x35\ \x2a\xc7\xe7\x20\x24\x7f\x14\x62\x9a\x33\x20\xc4\x08\x66\xb9\x13\ \x02\x11\x4b\x29\x0f\x10\x24\x19\x16\xb1\xd6\x80\x00\x2d\x49\xd9\ \xb0\x9c\xda\x10\x92\x43\xa1\x4e\x6d\x15\x9d\xe6\x94\x8f\x05\x18\ \x33\x2d\x96\x53\x9f\xa9\xf1\x66\x10\xa3\x21\x56\x7f\x20\x96\xc5\ \x22\xf5\x8a\xa3\x58\x9f\xdf\x54\x12\xb8\xa6\x6d\x27\x73\x4a\xe5\ \x24\x8b\x2d\x4a\xb2\xa9\x46\x09\x6c\x12\x28\x2c\xd1\xee\x05\x43\ \x0d\x06\xd1\xf0\x39\x42\x80\xb6\xd6\xe9\x27\xd4\xe5\x16\xf3\x9e\ \x6e\x99\xcf\x22\xeb\x64\x10\x19\xef\xf7\xbe\x79\x7c\xce\x60\xaa\ \x4a\xf0\xd9\x56\xc7\xb6\x22\xa8\x77\xb4\x25\x1d\x18\x5c\x33\x8d\ \xbe\xe6\x37\x53\xfe\xa6\x9a\xf6\xd4\xce\xc4\xa5\xf7\x15\xc7\x6d\ \x60\xd4\xe8\x0f\x3e\x0b\xb7\xb2\x75\xea\x71\x22\xf8\x17\xe6\xe6\ \xf9\xf7\x8d\x7f\x20\x16\x93\xb2\x27\x1a\xc8\xe4\xd1\xb9\x02\x72\ \xb7\x66\xb3\x61\x23\x6b\xdc\xc7\x89\xb5\x1d\xca\xda\x9d\x79\xfc\ \xfd\x3b\x36\xb1\x7d\xf7\x3b\x89\x96\x74\x20\xb9\x74\x94\x5a\x07\ \xd5\x73\x6c\x2c\xa0\x59\x7c\x66\x75\x46\xaa\xbd\x63\xb2\x0d\x4b\ \xb6\x8d\x56\x03\x14\xa7\xdc\x1c\x5d\xc3\x87\x60\x0c\x86\x45\xda\ \x80\x26\x9a\x50\x98\x38\xb7\x5b\x63\xde\x67\x41\xc9\x5d\xa2\x9e\ \xfc\x17\xaa\x99\xb1\x8a\x12\x54\x29\x42\xc4\xbf\xff\x81\xdd\x7c\ \x68\xdf\x3e\x2c\x04\xa2\x82\x64\x81\x14\x40\x47\x1b\xa5\x98\x57\ \x8a\x11\x5a\xa4\x55\x42\xc8\xb5\x5e\x35\xa9\x58\x5f\x63\xf2\x81\ \x8b\x89\xf3\x22\x24\xc7\x55\x4f\x88\xa2\xbc\xbe\x79\x09\x7f\x6b\ \x69\x8d\x5e\x7f\xc8\x6a\x11\xe8\x64\xc7\x4d\xe4\x9a\x23\xad\x32\ \xe1\x72\x3f\xd7\x46\xdd\x87\x86\x18\x63\xc3\xb6\x02\xa1\x19\x50\ \x53\x63\xa8\x72\xeb\xce\x2a\x1e\x81\x85\xfe\x3a\x4e\x8c\xa1\xa5\ \xb3\xbf\xcb\x79\x2c\x2d\x95\xe3\x28\xa6\x3a\x2f\x1a\x79\x0d\xcd\ \x8a\xc9\x1b\x51\xd5\x8a\x7d\xae\x7f\x32\xd0\xd0\xa0\x48\xa5\x6a\ \xc7\xe9\xe0\xea\x05\x5d\x9a\x5f\x5c\x99\x11\x97\x23\x91\xba\xb9\ \x18\xd0\x01\x06\x0d\xe4\x15\x9f\xd5\x62\xce\xf2\x2e\xd8\xd0\x45\ \x25\x56\xdf\xc8\x9e\xe5\x9d\xb1\x02\x2f\xd1\xd8\x3a\xf3\x8e\x39\ \x01\xda\x5b\x1f\x3c\xf4\x0d\x8c\xa9\xa4\xea\xa8\x06\x22\x22\x2a\ \x66\x1a\x2c\x8a\x80\x58\x34\x41\xac\x12\xbf\x60\xa6\x60\x62\x66\ \x22\xaa\x11\xb0\x18\x31\x55\xa2\xa5\xfd\x3c\x22\x62\x2a\x12\x4d\ \x30\x41\xd2\x49\x4d\xc4\x44\x24\x22\xb2\xbe\xf2\xea\x99\x1f\xff\ \x17\x07\x76\xb3\x5f\x89\xda\xcf\x43\x00\x00\x00\x00\x49\x45\x4e\ \x44\xae\x42\x60\x82\ \x00\x00\x06\x65\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x06\x2c\x49\x44\x41\x54\x78\xda\xb5\x97\x03\x90\x24\x4b\ \x17\x85\xd7\x18\xfe\xff\xb3\x6d\xdb\xb6\x6d\xdb\xb6\x6d\x84\xd7\ \xb6\x6d\x7b\x96\x63\x4f\x7b\xb6\x67\xda\x36\xcf\x3b\x37\xa3\x6b\ \x62\xbd\x3d\xf3\xe2\x65\xc4\x8d\xee\xae\xae\xcc\xf3\x5d\x64\xd6\ \xad\x6e\xda\x38\xe8\xa0\x83\x8a\xf8\x71\x01\xed\xf2\xff\xd0\x2e\ \x38\xf8\xe0\x83\xa9\xb3\xe7\x71\x09\xf2\x1c\x99\x4c\x16\x7b\x1b\ \xd9\xec\xbe\xe7\x52\xe7\xd2\xbd\x01\x5c\x03\x0e\xaf\xc7\x03\x9f\ \xd7\x0b\xbf\x98\xcf\x87\x60\x24\x02\xe3\xf2\xe5\x30\xad\x5c\x89\ \xfa\xe1\xc3\x51\xfd\xe7\x9f\x70\xf3\xba\xd5\x6a\x45\xc0\xef\x47\ \x28\x10\x40\x28\x18\x14\x53\xbf\xdb\xdb\xda\x10\xe4\x35\xf9\x1e\ \xe0\x7d\x62\xb2\x96\x8f\xeb\xe6\x00\xae\xdd\x27\x80\x88\xca\x64\ \x59\x24\x4c\xf1\xcd\x3f\xfc\x80\x38\x80\x50\x38\x8c\x08\x7f\xeb\ \xc6\x8f\x87\x75\xc5\x0a\xd8\x6c\x36\xd8\xed\x76\x84\x79\x5d\x2c\ \x42\x0b\x12\xc2\xe9\x70\x20\x1c\x0a\x69\x50\xb2\x8e\x06\x94\x1f\ \x80\x9a\x90\x9b\x1c\x03\x30\xf3\xbc\xf3\x10\xcb\x64\x44\x5c\x59\ \x12\xc0\xe6\x87\x1e\x42\x30\x1a\x83\x83\x10\x4e\x42\x88\x78\x94\ \xff\xc9\x3c\xb7\xdb\x8d\x48\x0e\x4a\x81\xd0\x34\x90\xbc\x00\xe4\ \x66\x99\x18\x96\x45\x13\x09\x94\xbd\xfd\x36\xca\x9e\x7f\x5e\x09\ \x47\x63\x31\x24\x00\x6c\xbd\xeb\x2e\x64\x24\x5d\x0c\xad\xd3\xe9\ \x84\x8b\x26\x73\x44\xc4\xc7\x08\x46\xa3\x51\x0d\x58\x03\x91\x75\ \xf3\x03\x90\x9b\x23\xb9\x70\x8b\x60\x98\xa1\x9b\xd2\xad\x1b\x1a\ \xff\xf8\x03\x29\x00\x89\x74\x1a\x4d\x9f\x7c\x82\xa0\xc9\x84\x54\ \x32\xa9\x04\x9d\x2e\x97\x32\xf1\x3e\xc8\xf9\x31\xce\x8b\x11\x42\ \x40\x18\x19\x2d\x22\x79\x02\xe4\xc2\x29\x93\xc5\xe2\x14\x69\x5b\ \xba\x14\xb3\x05\xe2\xd3\x4f\x21\x45\x6e\x1d\x3c\x18\xae\x25\x4b\ \x90\x24\x8c\x40\x04\xe8\x9d\x8b\x00\x2e\x02\xb8\x59\x6c\x6a\x1e\ \x21\x76\x04\xa1\x43\xf9\x01\x68\xe2\xb1\xdc\x22\xf1\x78\x5c\x79\ \xbe\x9d\xc5\xb7\x94\x10\x95\xb7\xdc\x02\xfb\xc4\x89\xb0\x8f\x19\ \x83\x14\x6b\x23\x95\x4a\x89\x89\x80\x00\x28\x93\x68\xf8\x99\x0e\ \x99\x2b\x10\x62\xd1\xbc\x01\x44\x5c\x26\x71\x72\x3c\x67\x09\x7a\ \x99\x06\xe0\x5c\xb4\x08\x1b\xfa\xf4\xc1\xe6\xc2\x42\xb4\xff\xfd\ \x37\x64\xa4\x09\x91\x66\x24\x64\x8e\x97\xe9\x10\x13\x08\xcd\xa4\ \x08\x65\x0d\xae\x9b\x1f\x80\x2c\xd4\x21\xcc\x22\x14\x4b\x12\x40\ \x4c\x20\xa2\xcc\x7d\xcd\x71\xc7\xa1\xa6\x5f\x3f\xb4\x3d\xf7\x1c\ \x32\xd9\x2c\xd2\xb4\x50\xae\x70\x25\x1a\xf2\xb9\x63\x34\x24\x2d\ \xbc\xf6\xef\x00\xb4\x50\x0b\x84\x77\xea\x54\xb4\x9c\x72\x0a\x5a\ \xfa\xf7\x87\xf9\xa0\x83\x10\x9e\x34\x09\x1e\x46\x21\xbe\xc3\x7d\ \x32\x4f\xd2\x20\x00\x02\xe2\x70\x38\xf2\x07\x90\xc9\x04\xd0\x3c\ \xdf\x0d\xc0\xc5\x1d\x11\x98\x33\x07\x11\x1e\x48\xd6\xc3\x0f\x87\ \xad\xb8\x18\x6d\x67\x9d\x85\xe8\xa6\x4d\x52\x2f\xaa\x38\x35\xf0\ \x68\x2e\x35\x5d\x02\xe0\xe7\xee\x10\x00\x1c\x1f\x7e\x88\xf0\xe2\ \xc5\x0a\x26\x43\x73\x7f\xf1\x05\xb6\x33\x1a\x16\xa6\xc5\x76\xd3\ \x4d\x08\x57\x55\x41\x6d\x59\xde\xaf\x45\x93\x29\xe8\x1c\xc0\xae\ \xd6\x01\x01\xc0\x7e\xff\xfd\x88\x56\x56\x22\x45\x4f\xc5\x5c\x72\ \x6c\xd3\x43\xc7\x4b\x2f\x41\xcf\x22\x15\xb3\x10\xc4\xbf\x76\x2d\ \x12\x80\x3a\xd0\x22\x84\xe8\x7c\x0d\xec\x98\x06\x2e\x92\xd2\x00\ \x18\xee\x04\x0b\x4b\x76\x47\x84\xd5\xed\x64\x8e\x55\xd8\x01\x44\ \x08\xd2\xf6\xd6\x5b\x68\x2c\x28\x40\x3d\x23\xd2\x74\xda\x69\xb0\ \x0d\x19\x02\xd3\x67\x9f\x21\xf4\xed\xb7\xfb\x07\x88\x4b\x04\x04\ \x42\xf3\x7c\x47\xef\xf9\x5d\xc2\x6e\xed\xdb\x57\x40\xe4\x9a\x3a\ \x8e\xfd\x7e\x3f\x62\xda\xf6\xe5\xb5\x98\xa4\x65\xcd\x1a\xd4\xb1\ \x3e\x2a\x79\xef\xb6\xee\xdd\xb1\x95\x30\xc1\xbf\xfe\xca\x33\x05\ \x39\xef\x35\x00\x0d\x42\x72\x9a\x60\x2e\xad\x47\x1c\x81\x24\xa0\ \x44\x6d\xf2\x44\x94\xc3\x8b\x11\x08\x32\x2a\xad\x5f\x7f\x8d\x9a\ \x43\x0f\x45\x39\x0f\xad\x3a\xa6\x4a\xcf\x34\x18\xaa\xab\x51\xfd\ \xf3\xcf\x08\x0f\x1c\x98\x67\x0a\x72\xb6\x23\x88\xfa\x24\x44\x88\ \x0b\xda\xee\xb8\x03\x92\x51\x55\xdd\x04\xf2\xd6\xd7\x43\xf7\xe8\ \xa3\xa8\xe8\xd1\x03\xe5\xcc\x7f\x0d\x6b\xa1\xa5\xb6\x16\x2d\x16\ \x0b\x9a\x5b\x5a\xa0\x37\x18\x60\x34\x9b\xb5\x1a\xb8\x6c\xdf\x00\ \x12\xca\x5c\x0d\x68\x10\x5a\x3a\x24\x02\x5e\x9e\x80\xee\x5f\x7e\ \x51\x61\x6e\x2d\x2b\x43\x33\x61\xb6\xf5\xec\x89\xcd\xdc\x05\x5b\ \x5f\x78\x01\xb5\xf4\xb6\xa6\xa9\x09\x75\x84\x6a\xe6\xa7\x8e\x00\ \x0d\x0d\x0d\xa8\xaa\xac\xcc\x36\x35\x35\xb5\x53\xe7\xf0\xbc\x22\ \xa0\x41\x28\xe1\xdc\xa7\x78\xdd\x4e\x41\xef\xdc\xb9\x68\x7d\xe2\ \x09\xd4\xd1\x5b\xf1\xb8\xec\x91\x47\xb0\x8a\x67\xc2\xd2\xd5\xab\ \xb1\x62\xd5\x2a\x6c\x58\xbf\x1e\x5b\x36\x6f\xc6\x56\x5a\x45\x45\ \x05\x8c\x7a\x7d\x96\x4f\xca\x78\x49\x49\xc9\xed\x87\x1e\x7a\x68\ \xf7\xfd\x02\x68\x3b\x41\xfb\x54\xe2\x52\x88\x00\x8c\x07\x1f\x0c\ \x1d\x0f\x9e\x46\x16\x55\xed\xad\xb7\xa2\x92\x82\x4b\x28\xbc\xb7\ \x91\x4e\xa5\xb2\x06\xbd\x3e\x55\x58\x50\x70\xff\x21\x87\x1c\xd2\ \x53\x84\xf2\x7a\x18\x89\x70\x87\xb1\xc0\xc2\x26\x13\x5a\xcf\x3c\ \x13\xfa\xd2\x52\xb4\x9c\x74\x12\x8c\x8c\x82\xae\xbd\x1d\xd5\x35\ \x35\x98\x3f\x7f\x3e\x64\x68\xd0\xaa\x33\x72\x3a\x61\x36\x1a\xb3\ \x55\x15\x15\xd9\x93\x4f\x3e\xf9\xf1\x03\x0f\x3c\xb0\x97\x88\xe4\ \x0d\xa0\x20\x72\x61\xf7\xcf\x9c\x09\x13\x9f\x80\x86\xff\xff\x1f\ \x26\xe6\xb9\x2d\x10\x50\xd5\x2f\x8d\x69\x35\x73\x3e\x65\xca\x14\ \x68\xd1\x93\x87\x92\xdb\xe5\x42\xab\xd9\x9c\x6d\x66\xee\xaf\xb9\ \xe6\x9a\xe7\x35\xf1\x4e\x03\x48\x2f\xe8\x63\xf3\x61\xe4\x3e\xb6\ \x30\xf7\xba\x03\x0f\x84\xad\xae\x4e\x89\x33\xa7\xb0\xb0\xca\x2b\ \x2b\x2b\x31\x91\xfd\x81\xd6\xce\x79\x28\xbe\xdd\x62\xc9\x1a\x74\ \x3a\xdc\x78\xe3\x8d\x2f\x17\x17\x17\xe7\x23\xbe\x73\x43\x22\x3b\ \x41\xc2\x19\xe4\x61\x62\xe4\x7e\xb6\x11\xc2\x67\x34\x42\x7f\xf6\ \xd9\xb0\x51\xc4\xe7\xf7\xab\x3e\x50\x01\x94\x97\x63\xf2\xe4\xc9\ \x90\xe1\x21\x94\x88\x33\xf4\xb8\xe5\x96\x5b\x5e\x2f\x28\x28\x50\ \xe2\x9d\x06\x10\x8b\x00\x30\x9f\x71\x06\xbc\xac\x62\x29\x3e\xeb\ \xe3\x8f\xc3\xca\x54\xc8\xde\xf7\xd3\xa4\xfd\x36\xb3\x2e\xca\xb7\ \x6d\xc3\xf4\x69\xd3\x20\x43\xc4\x2d\xbc\x76\xdd\xb5\xd7\xbe\x51\ \x54\x54\xd4\x21\xde\xa5\x08\xb8\x63\x71\x38\xd9\x03\xc6\xa5\xd9\ \x68\x6c\x84\xee\xca\x2b\xe1\x91\x1c\x87\xc3\xea\xc5\xc5\xc1\x34\ \x98\xe8\xe9\xd6\x2d\x5b\xb0\x70\xc1\x02\x64\x33\x19\x15\xf6\x8b\ \x2f\xbe\xf8\x1d\xbe\x7e\x29\xf1\x2e\x01\x48\x07\x2b\x00\x1e\x7a\ \x19\xe2\x61\x12\xe2\x61\x62\x7e\xe6\x19\x78\x28\x2a\x7d\x9f\xb4\ \xde\xf2\xf6\x64\xb7\xd9\xa0\xd7\xeb\x51\xc6\xc3\xa8\xbc\xbc\x3c\ \x2b\x29\x39\xfd\xf4\xd3\xdf\x3d\xe2\x88\x23\x34\xf1\xae\x03\x88\ \xa9\xf7\x03\xf1\x56\xfa\xfd\x5c\x67\xab\xf5\xfe\x92\x6b\x79\x05\ \x93\x93\x6e\xfd\xba\x75\x59\xb9\x76\xf4\xd1\x47\xbf\x7d\xe4\x91\ \x47\x52\xbc\xeb\xe3\x52\x74\x72\xc8\x89\xc9\x93\xce\xc3\x03\xe6\ \x65\xcd\xf3\x2e\x0f\xee\xd5\x62\x79\x43\xa6\x5d\xbd\x0f\xbb\x6a\ \x07\x93\xdf\x57\xd0\x8e\xfd\xff\xff\xff\xdf\xa3\xab\xba\xff\x00\ \x5c\x07\xc1\xb5\x01\xf2\x4d\x82\x00\x00\x00\x00\x49\x45\x4e\x44\ \xae\x42\x60\x82\ \x00\x00\x04\xef\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x76\x00\x00\x03\x76\ \x01\x7d\xd5\x82\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x04\x6c\x49\x44\ \x41\x54\x78\xda\xc5\x56\xdf\x6f\x1b\x45\x10\x9e\xfb\x6d\xc7\x76\ \x62\xb7\x76\x13\x0a\x11\x22\x05\xa9\xa2\xef\xbc\x20\xf1\x14\xde\ \xf8\x37\x80\x67\xd4\x97\x0a\x89\xf2\x04\xad\x54\xf8\x7f\x90\x8a\ \x04\xaa\x2a\xb5\x6f\x45\x34\x84\x22\x88\xd4\x22\x4c\x8c\x93\xda\ \x71\xb1\xef\xec\xbb\xdb\x5b\x66\x46\x1e\xfb\x7a\x77\xe6\x42\xa4\ \xd2\x4d\xd6\x33\xbb\x77\x37\xf3\xed\x37\xdf\xee\x9d\xad\xb5\x86\ \x97\xd9\xec\xb9\x35\xb0\xeb\x97\x09\x40\x5f\xfd\xe4\xea\xed\x44\ \xab\x5d\xb9\xf0\xce\xbb\xef\xc1\xce\x9b\x97\xc1\xb1\x2c\x80\x0c\ \x4b\x86\x81\x78\xb1\x9b\xa6\x01\xfc\x67\x48\xe7\x8b\x6c\xf1\x12\ \xcf\xc5\x51\x0c\x7b\x3f\xfd\x08\xf7\xef\xde\x01\x69\xad\xd6\xb9\ \x6f\xaf\x7f\x7e\xfd\xfd\x34\x00\xf0\xfd\xc9\xee\xc3\xbd\x87\xb0\ \xb9\xb9\x05\x17\x3a\x1d\x38\xdf\xb9\x00\xdb\xdb\xaf\x83\xe7\x3a\ \x85\xc8\x8d\xf9\x0f\x59\x4e\x9e\xf5\x19\x84\x01\xfe\x2c\x84\x7e\ \xff\x2f\x98\x06\x53\x90\x36\x48\x9e\xee\x66\x19\x80\x24\x49\xa0\ \x56\xab\x81\x63\xdb\xec\x9b\xa0\x79\x85\xbf\xf7\x4f\x8a\x92\x67\ \x18\x79\x7e\x60\xa4\x00\xbe\xd6\x6e\xa0\xd1\x1c\x33\x9d\xab\x10\ \x40\x73\xa3\x09\x9e\xe7\x2d\x6e\xb0\x2c\x03\xde\x7a\xb5\xc5\xbe\ \xce\x26\xe7\x44\xe2\x8a\xe5\x39\x61\x80\xc7\xc1\x34\xa4\x4b\xe5\ \x00\x68\x37\x34\x1a\x0d\xf1\xf9\x61\x0b\x19\x70\x6d\x0b\x56\xd5\ \x60\x35\x00\x89\x89\xc9\xa8\x43\xc2\x31\x53\xb9\x0a\x19\xc8\xc4\ \xd7\x08\x00\x6f\xb0\x25\x9a\x5c\x28\x2e\x83\x9e\x07\xa6\x84\x1a\ \x7f\xd0\xe5\x71\xac\x14\x8f\xd3\xf1\x95\x52\xe5\x00\x12\x8d\xb8\ \xf1\xc1\x9f\x1f\x1f\x43\x51\xd3\x99\x91\xd6\xe2\x31\x12\xb2\x3c\ \xd8\x3a\x57\x03\x95\xe4\x4a\x50\x0e\x80\x86\x11\x3e\xb9\xbd\xb9\ \xfe\xbc\xc8\x34\xff\xe7\xe8\x24\xa3\x19\xc8\x82\x0d\xee\xb3\x50\ \xd1\x8a\x4f\xa7\x81\x74\x53\x71\x02\x31\x75\x2b\x0d\xac\x00\x88\ \xac\x5e\x92\xb2\x5d\xfa\x31\x2e\x42\x69\xfd\xdf\x35\x10\x27\x0a\ \x22\xda\x8e\x91\x5a\x5d\x02\x59\xbd\xb8\x39\x06\x80\x35\xa0\x12\ \x7d\x86\x12\xe0\xd3\x51\xac\xa0\x77\x3c\x96\xa9\x32\x2d\x48\xed\ \xc5\xe5\xd6\x5a\xf7\x90\x4d\x55\x2e\x42\x9d\x01\xa0\x70\x4c\xf4\ \x35\x1b\x15\xd9\x57\xf9\x44\x99\x64\x3c\xbb\x60\x80\x1d\x8a\xc1\ \xc9\xd3\xf1\x75\x21\x03\x39\x0d\x68\x16\xa1\x51\xb2\x74\x9d\x06\ \x25\xe3\xa5\x06\xc8\x61\x0d\xa4\xe3\x27\xa7\xd1\xc0\xbd\xbb\xdf\ \x43\xaf\xd7\x83\xc0\xf7\x4b\xe8\x2f\x16\xa6\x30\x53\x5d\x5b\x83\ \x27\xbf\x3d\xca\x6a\xa0\xbc\x04\x4f\x7e\xfd\x85\x7a\xfa\x0d\x98\ \xb5\xc5\xa0\x56\x2b\xbe\xa4\x04\x38\xf9\x82\x5b\xc9\x49\xf8\xff\ \x7d\x19\x15\x6b\x40\xbf\x58\x06\xce\x5e\x82\x0f\x3f\xfe\x08\xde\ \xd8\xd9\x29\xaa\xe5\xca\x3a\x0f\x06\x03\xf8\xf4\xda\x35\x30\x4d\ \x13\xe3\x6a\xde\xd2\x9b\x9d\xce\xbf\x8b\x30\x8e\xe3\x5c\x60\xaf\ \xe2\xb1\x8a\xc7\xe3\xb1\x08\x2f\x2b\x30\x9a\x93\x2e\x73\xfc\x61\ \x53\xa9\x54\xc0\xb2\x2c\xde\x09\xb3\xd9\x2c\x1f\x5f\x00\x14\x09\ \x43\x5a\xfa\x04\xbb\xf1\xc5\x97\x74\xac\xca\xe7\x1b\xdc\xb8\x79\ \x93\x56\x28\xa0\xe8\x3e\xb2\xcb\x17\x0f\x83\x32\x89\x6f\xfa\xb2\ \xa2\xf9\x33\x00\x98\x07\xa5\xf6\xf4\xf8\x18\xa4\x0d\x4f\x4e\x28\ \x09\x01\xa0\x95\x91\xcf\xcf\x4b\xd7\xcb\x17\x82\x98\x53\x00\x28\ \xa0\x28\x9c\x4e\x29\x78\x16\x20\x51\x4b\xf3\x44\x2d\xdb\x28\x8a\ \x64\xe5\xc2\x02\x67\x15\x30\x9a\x80\x21\x23\xd5\x6a\x15\x6a\xf5\ \x3a\x0c\x07\x83\x02\x0d\x14\x20\xb4\x6c\xbb\x10\x40\x14\x47\x10\ \x04\x81\x24\x20\x2b\x4c\x90\xe5\x1e\x22\x28\x7b\x0e\x34\xa6\x18\ \x74\xaf\x01\x10\xe0\xa2\xa2\x38\x3e\x1d\x03\xe0\xba\x1c\x7c\x8a\ \x0f\xc5\x71\x24\xe5\x20\x2b\xc2\xa2\xd5\x4b\x09\x24\x39\x5f\x8f\ \x42\x64\x87\x45\xa8\xf9\x85\x64\xa0\xb5\x4d\x0b\x9e\x8d\x46\xd0\ \x58\x5f\x2f\x02\xa0\x7a\x60\xc0\x56\xf6\xc4\x0a\xfc\x00\x1c\xc7\ \x81\x31\x5a\x7f\x32\x61\x5d\x34\x9b\x4d\x14\xa2\x2f\x49\x85\xfe\ \x85\x0d\xc3\x10\x81\xd1\x7c\xb2\x10\xa8\x39\xdf\x9e\xed\x76\x1b\ \xfa\xfd\x3e\x18\xd8\x34\x36\x02\xc0\x83\xcb\x97\x2e\x7d\x50\xa9\ \xd6\xbe\xc1\x52\xb5\xd3\xfb\x55\xe8\xbe\xf5\xd5\x2d\x01\x45\x9d\ \xb6\x26\x05\xcf\x89\x50\xfc\x28\x0c\x59\x2b\x02\xc0\x32\x4d\x9e\ \xef\x76\xbb\x2c\x5e\x6c\x55\x4c\x1b\x08\x03\xc6\xa3\x83\x83\x3f\ \x37\x36\x36\xbe\xde\x7e\xe5\xe2\x67\x78\xc3\x1a\x8b\x30\x0a\x39\ \x91\x3d\xd7\x42\x6a\xc5\x44\xbd\xd0\x9f\x3e\x8c\x28\xb8\x68\x2a\ \x5d\x32\xd1\x90\x8c\x43\x34\xe7\xb1\x77\x05\x00\xdd\xf9\xf7\x68\ \x34\xfa\x0e\x95\xdf\xf2\x3c\xef\x22\x11\xf0\xf6\x95\x2b\xd6\x0f\ \x0f\x1e\xec\xb8\xae\xeb\xb9\x8e\xe3\xa2\x28\x5d\x04\xe3\x61\x12\ \x87\xca\x27\x87\x80\xe6\x2f\x38\x15\x22\x98\x30\xc2\x36\x1c\x0e\ \x7d\xdb\xb1\x0f\x0e\x0f\x0f\x67\x78\xd5\x58\xe6\x60\xba\x15\x3a\ \xf7\xd0\x9b\x61\xe7\x12\x70\x0c\x8c\xe5\xa3\xbb\x17\xcc\x66\x8f\ \xb1\x3b\x34\xfd\x47\xb7\x9b\x54\xaa\xd5\x10\x4f\xb5\x44\xd0\x23\ \x4b\x80\x40\x89\x15\x8d\xc0\x34\xd5\xb5\x5e\xaf\x1b\x78\xfa\x19\ \x84\xe7\x04\xcf\x88\xfd\xfd\xfd\xe4\xe8\xe8\xc8\x9d\x4c\x26\x14\ \xc7\xcc\x7f\x35\x70\xf2\x67\x94\xf7\x1f\xdf\x9a\xd2\x93\xfb\x43\ \xb7\xa7\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x0a\x6a\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x58\x00\x00\x00\x1f\x08\x06\x00\x00\x00\x63\xc8\x0a\xe0\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x09\x70\x48\x59\x73\x00\x00\x01\x8b\x00\x00\x01\x8b\x01\xe1\xd0\ \xd2\xbc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd8\x02\x13\x14\x20\ \x36\x4b\xc4\x25\x64\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\ \xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x09\xea\x49\x44\x41\x54\x68\ \xde\xed\x9a\x79\x90\x54\xd5\x15\xc6\x7f\x02\xb2\x16\x0c\x0a\xa1\ \x00\x0d\x10\x35\xac\x5a\x56\xc0\x05\xad\x80\x11\x49\x50\x4c\x85\ \x45\x20\x82\xe2\x82\xa5\x98\x88\x4b\x4c\x0a\x8d\x46\x21\x04\x89\ \x2b\x28\x5b\x21\xcb\x60\x64\x93\x65\x40\x64\xa6\xa7\xdf\xbb\xe7\ \x28\xa0\x28\xc4\x58\x8a\xb2\x28\xa2\x82\x44\x11\x35\x20\x83\x01\ \xd9\x9c\xfc\x71\x4f\xc7\x97\xae\xd7\xcb\x2c\x52\x50\x95\x57\x75\ \x6b\x7a\xfa\xdd\xf5\xbb\xe7\x9e\xf3\x9d\xef\x36\xfc\xff\xa9\xd4\ \x53\x02\x8d\x1c\xfc\x4a\xe0\x31\x81\x52\x85\x0f\x04\xf6\x29\xec\ \x13\xf8\xd0\xc1\x08\x07\x4d\xb3\x76\x22\x70\x91\xc0\x4c\x85\x37\ \x15\xd6\x1e\x47\x65\x9d\x42\xb1\xc2\x4b\xf6\xf9\x58\x8c\xf9\x9a\ \xf8\xbf\x1b\x14\xbe\x54\x38\x2c\xb0\x5d\xe1\x39\x81\xeb\x42\x38\ \x2d\x85\x9b\x42\x07\x6b\x33\x3e\x2b\xc0\x0e\xee\x14\xf8\xa7\x42\ \xf9\x71\x58\x16\x29\xbc\x77\x0c\xc6\xd9\x2d\xf0\xa1\xc2\x97\x02\ \xfb\x15\xfe\xa1\x30\xa1\x14\xce\xcc\x86\x5d\x08\xcd\x05\x9e\xc9\ \x65\xc1\x4f\xcb\xf1\x09\x6e\xb9\xc2\xad\x0a\xee\xfb\xe8\x5b\xe0\ \x2b\x01\x15\x08\x04\x3e\x16\xd8\x2f\x50\x1a\xc2\x05\x15\x71\x23\ \x0a\x33\x33\xbe\x2c\x86\x53\x14\x12\x91\x81\xbf\xb5\x63\xf1\x4d\ \x96\x72\x28\x6d\xa2\x47\x05\x0e\xe5\x68\xf3\x8d\xc0\x41\x81\xa3\ \x91\xb6\x47\xed\xbb\x03\x02\x87\x63\x40\x78\x57\xa1\x87\xc2\xf2\ \x6a\x06\xf6\x5f\x0a\x85\x0a\x8b\x15\xf6\xd8\x77\x1b\x42\xb8\xbe\ \xa2\x3e\x5a\xa1\x8b\xc2\xa4\x6c\xee\xe1\x32\x85\xb7\x6c\x90\x39\ \x02\x6d\xee\x82\x1a\xd9\x3a\x2d\x86\x1a\xa5\xd0\xce\x7c\x55\xb9\ \xc0\xfc\x10\x3a\xe5\x33\xa1\x62\x68\xec\x60\xa8\x2d\xf6\x05\x85\ \x56\x36\xd1\xfb\x62\xc0\x98\x1e\x40\x3b\x85\x65\xd5\x04\xec\x56\ \x81\x89\x02\x53\x14\xca\xec\xfb\x43\x02\x8f\x04\xf0\xc3\xca\x04\ \x41\x85\xd9\x02\xf7\x64\x73\x0f\x23\x15\xf6\x2a\xac\x50\x68\x9b\ \x80\x5a\x0e\xae\x10\x48\xda\xd1\x49\x5a\x09\x05\x12\x02\xf7\x47\ \xda\x4e\xb4\x49\x8e\x4e\x40\x1d\x85\x53\x15\x6e\xb5\x63\x97\x8c\ \x14\x15\x98\x2e\x70\x99\x81\xdc\xcc\x16\x78\xdf\x8b\x50\xb0\x0c\ \x1a\x08\x4c\x4f\x07\xc4\xc1\xb5\xd3\x7d\xbf\x8b\xaa\x08\xee\x87\ \x02\x8f\x0b\x3c\xac\xb0\x33\x02\xf8\x11\x81\x81\x02\xb5\x53\x6b\ \x5a\x02\x0d\x1c\x74\x77\x30\x4c\x60\xb0\xc0\x29\x59\xb0\x1b\xaa\ \xb0\xda\xc1\xe5\xd9\x76\x60\xa1\x0d\x36\xde\x2c\xba\x99\xed\x70\ \xdc\x44\x77\x09\x8c\x89\x0c\xf0\xaa\xf8\xb6\x57\xdb\xff\x3f\x91\ \xcc\xfe\x52\x04\x2e\xb2\x31\xba\x2b\x94\x87\xd0\xd3\xda\x5d\xa0\ \x10\xa4\xb7\x09\xe0\x1c\x7b\xff\x84\xc2\x91\x4a\x58\x6c\xb9\xc0\ \x04\x81\x3b\x04\x56\xa6\xbd\x3b\x22\x70\x8d\x83\x7a\x0b\x3c\x0e\ \xbd\xed\x44\xed\x8d\xb6\x4f\xc2\x85\x31\xc0\xd6\x12\xe8\xa6\xb0\ \xd5\x41\xaf\x6c\x11\xb0\xb6\xc2\x7a\xeb\x70\x84\x35\xfe\xb1\xc2\ \xeb\x19\x26\xfd\x8e\x40\x5f\x80\x17\xa0\xa9\xc2\x6e\x85\x6d\x0a\ \x3f\xb3\xcd\xea\x65\xd4\x26\x6e\xb1\x33\x57\x40\xa3\x10\x1a\x3a\ \xf8\xbd\x42\x59\x08\xcd\x6d\xcc\x61\x0a\x5b\xd2\xdb\x84\x16\xc1\ \x05\x86\xab\x8f\xf0\xf9\x82\x7b\x54\x60\x4b\x00\x3d\x04\xc6\x2b\ \x7c\x96\xf6\x7e\x9f\x83\xdb\x8b\xbc\xb5\x5e\x2d\x19\xd6\x6b\x27\ \xb6\x4d\x1a\xb8\xf5\x04\xae\x12\xf8\xd4\x41\xef\x00\xea\x64\x73\ \x0f\xdd\x14\x76\x28\x6c\x16\xf8\xa5\x81\xde\x25\xcb\xc4\x57\x3a\ \x68\xbb\x00\xea\x2b\xf4\x53\x38\xa0\x50\xa4\xd0\xde\x00\xbe\x29\ \x8b\x35\x3d\x60\x75\x5a\x09\xcc\x53\x10\x85\xc6\x36\x8f\xc7\x34\ \x2d\x70\x9a\x8b\x38\xdd\xde\x5f\xaa\x69\x16\x98\xa5\x94\x09\xfc\ \x2d\x80\x2e\x02\x6b\x62\xfa\xfd\xd2\xc1\x53\x0e\x6e\x16\x4f\xff\ \x8e\xc6\xf4\xf1\xad\xc0\x27\x0e\xce\x5e\x00\x27\xa5\xf0\x0a\xa0\ \x85\x83\x51\x0a\x5b\x03\xb8\x30\x09\x35\x73\x39\xe8\x91\x0a\x5f\ \x2b\x2c\x16\xe8\x68\xc7\x77\x48\x05\x8f\xe1\xbd\x01\x14\x88\xf7\ \xbf\x8f\x66\xa8\xf3\x89\xc0\x50\x03\xeb\x6c\x81\x8d\x0a\x7f\x51\ \xa8\x6f\xf3\x58\x1a\xb7\x48\x85\x1f\x00\x24\xa0\xa5\xc0\xb3\xf9\ \xf8\x5a\x85\xfb\x05\xfa\xa7\xd8\x41\x4c\x39\x20\xf0\x7e\x0e\xeb\ \x7f\x43\xe0\x0c\x17\x09\xf6\x02\x4d\x04\x1e\x16\x6f\x54\x63\x02\ \x68\x90\x4f\x04\x4c\x2d\x6c\x94\x78\x77\xd1\x5c\xbd\x35\x55\x04\ \xe0\x5e\xb6\x31\xe7\x8b\x0f\x94\x71\xf5\x54\xa1\x9b\x59\x41\x0f\ \x81\x83\x21\xf4\x2e\x81\x93\x42\x38\x47\xe1\x95\x38\x20\x52\x00\ \xdb\x02\x1f\xca\x31\x97\xb5\x02\xd7\x0b\xdc\x58\x05\x4e\x7f\x50\ \xa0\x28\x80\x82\x38\xbc\x92\x50\xc7\x79\xda\xb8\xc4\x68\x5e\xc3\ \x8c\xe0\x3e\x0d\x27\x2b\x7c\x6c\xbe\x2e\x9f\x20\x15\x07\xee\x17\ \x02\x67\xdb\x66\x0d\x52\xd8\x9a\xa1\xde\xe4\x00\x5a\x2a\xd4\x55\ \xf8\x9d\xc2\xbe\x24\x9c\x6a\x1b\x73\x43\x9c\xff\xb5\x24\xa0\x69\ \x04\xe0\xe1\x11\x6a\x95\x5e\x96\x3a\xb8\xcc\xc1\x9d\x55\x60\x1a\ \x5f\x09\x3c\x9c\xcc\x41\x51\x27\xfa\xb5\x76\xb4\xb5\x36\xcd\x64\ \xb9\x35\xd5\x47\xee\xbd\x39\x82\xd4\x94\x10\xba\x26\xe1\xac\x00\ \xda\x07\xd0\x36\xf4\x47\xfc\x46\x7b\x9f\x10\x68\x6d\x6d\x2f\x16\ \x18\xe7\xe0\x11\x3b\x4a\xa9\xf2\x64\x00\xdd\x0d\xa4\x0e\x02\x73\ \x15\xd6\x45\xe6\x32\x51\xe1\xab\x18\x80\x3f\x13\x68\x12\x01\xb8\ \x87\xc2\xea\x98\x7a\x4f\x39\xe8\x28\x30\xa6\x0a\xe0\xbe\x2b\x70\ \x4d\x3e\xbc\x37\x84\xda\xe2\x4f\xe1\x9b\x62\x46\x12\x97\x5c\xd4\ \x73\xde\x92\x0e\x09\x14\x39\xe8\x10\x89\xe6\xd1\x81\x03\x81\x29\ \x02\xd3\x1c\xf4\x31\x40\x1a\x2b\xdc\x63\x41\x68\xb4\xb3\x41\x12\ \xd0\x22\x80\x8e\xb6\x11\xd1\xd2\x2e\x09\xe7\x86\x30\x40\x60\xb9\ \xe5\xf9\x8f\x47\x00\x5e\x95\xc1\xff\xee\xd0\x08\xc0\x0e\x5a\xa8\ \xa7\x6b\xd1\x7a\x33\x9c\xcf\x44\xc7\xaa\xef\xb7\xa2\xc0\x1e\x32\ \xa3\x38\xdd\xc6\x68\x18\x42\xe7\x10\x2e\x15\x6f\xa5\x35\x63\x8c\ \xf3\x34\x8b\x35\xa3\x34\x93\x1f\x16\x68\x24\x3e\x4d\x2c\x17\xb8\ \x2f\x57\x90\xb2\x7a\x7f\xb0\xb6\xad\xc4\x7c\x77\x8a\x60\x07\x70\ \xae\x78\xd5\x2b\x9f\x45\x7d\xec\x60\x20\x40\x29\xb4\x51\xd8\x94\ \xa1\xde\xbe\xf4\x23\x18\xc2\x10\xf3\xaf\x47\x14\x56\x2d\xf1\x94\ \xef\x86\x4c\xae\x29\x5b\x20\x53\x78\x27\x84\xce\x0e\xda\x0b\x0c\ \x37\x4a\xb6\x27\x9a\xfe\x27\xe0\x47\x31\xd8\xf5\x56\xd8\x56\x0a\ \x6d\x96\x47\x18\x46\x7a\xa5\x26\x02\x9f\x5a\x67\x97\xe7\x0a\x52\ \x02\x5b\x1c\x0c\xb0\x1d\xec\xa4\xbe\xed\xfe\x04\xb4\xb4\xef\x86\ \x98\xbc\x97\xcf\xe2\x36\x26\x2d\x3d\x16\xf8\xb5\x59\x6a\x6c\xdd\ \x54\xbd\x34\x59\x75\x9d\xc0\xe6\x12\x68\x9e\xf4\xae\x61\x43\x25\ \x02\xd9\x7a\x81\x69\xa6\x75\x1c\xca\x40\xf5\x86\x0b\xd4\x4d\xb3\ \xde\xee\x0a\xcf\x0b\xdc\x92\xd1\x87\xcc\xf4\x91\xfb\xbc\x94\xe8\ \x91\x0a\x52\x02\x83\x04\x3e\xc8\x00\xf0\x32\x07\x9d\x6d\x23\x7a\ \xda\x77\x2f\xcb\x77\x3c\x76\xac\xd1\xbd\x7c\x02\xe3\x4b\x11\xc0\ \xc6\x67\xa1\x53\xe5\x0a\xbf\x10\x38\x39\x62\xc1\x03\x2c\x7b\x3c\ \xd7\xda\x3f\x57\x49\xd7\x90\xad\x6c\x57\x33\xa6\xb4\xcd\xed\xac\ \x30\x4b\x61\x4e\x2e\xed\xb7\x40\xe0\x8e\x54\x90\x52\x0b\x52\xce\ \x73\xe2\x4c\xa0\x8c\x4b\x40\x81\x42\x43\xe3\xce\xe5\xe2\xdd\x49\ \x7d\x1b\x7c\x61\x9e\x93\xdf\x13\x15\xa7\x8d\x9e\x65\x4b\x81\x47\ \xaa\x69\x01\xce\x1f\xe7\xbf\x3a\xd3\x42\x42\xcf\x8d\x3f\xaf\x66\ \x95\x6d\x95\xc2\x25\xe9\x98\x05\x9e\x5d\x2d\x12\x28\xfc\x4d\x0e\ \x96\x81\xc0\xe9\x02\xf3\xcd\x87\x8e\x72\xd0\x78\xa1\x8f\x8c\x53\ \xb3\x0c\x7c\x9d\xb5\x6d\x67\xda\xc5\x01\x07\xfd\x43\xa8\x99\xf4\ \xa9\xf5\xaa\x3c\x17\xf1\x5e\xaa\x2f\x93\x49\x73\x01\x34\x5f\xed\ \x06\x41\x61\xb4\xc2\xc2\x42\xaf\x03\xd4\xb1\x20\xfd\x75\x35\x81\ \xfb\xba\xf8\x94\xf9\xe4\x0c\x96\xbb\x52\x61\x7c\x90\xe6\x32\x32\ \x51\xb4\x0e\x0a\x1f\x19\x70\x7f\x4e\x45\xea\x79\x50\xff\x79\x38\ \x65\x19\x34\x8e\x96\x12\x28\x08\xa1\x96\x59\xd1\x55\x46\xa9\x76\ \x27\xa1\x45\xc4\x8f\x6e\xca\x73\x21\x2f\xab\x09\x38\xa3\xa1\xc6\ \x32\xaf\xa4\xfd\x77\xac\xc5\xd0\xb0\xc4\x1b\xc0\x5d\x56\x7f\xb3\ \x42\x6b\x07\x3f\x17\x98\xa0\x30\xd8\xc6\xac\x6f\x73\xff\x77\x15\ \x81\xdd\xe2\xe0\xda\x24\x34\xca\x80\xd5\x20\x81\x0d\x02\x77\x27\ \xf2\xc9\xdc\xec\x68\x5d\x12\x19\xe0\x88\xf1\xb9\x85\x02\x85\x02\ \xcf\xc4\x94\x42\x81\x22\xf1\x20\xa6\x02\xc2\x3e\x7b\x37\xcb\xae\ \x56\xf2\x5d\xe8\x0e\x81\xb9\xe2\x35\xd4\xb8\xb1\x66\x0b\xcc\x31\ \x9d\x22\xa5\x47\xb4\x35\xa9\xf1\x81\xc8\xc2\xeb\x2a\x8c\x30\xa6\ \x51\x51\x50\x8f\xaa\xd7\x85\x6f\x2b\xcd\x00\x5a\xe0\x59\xd6\xa3\ \x02\x1b\x05\x7a\xbe\x92\x89\x2d\xc4\x98\x7b\x63\xcb\xa4\xca\x15\ \xde\x32\x8e\xfb\x88\xc0\x1a\xcb\xb1\xf3\x99\xe0\x61\xb3\xac\xc7\ \xec\xe8\xa4\x83\xbb\xdb\x6e\x0a\xd6\x88\xcf\xd0\x0e\x56\xc5\xca\ \x1c\xdc\x22\xf0\x8c\xc2\x6f\x23\x71\xa4\x86\x40\xdb\x0a\x2a\x6c\ \x1f\x08\x3c\xe9\xa0\xdb\xd8\x2c\x7e\xd4\xc1\x45\xea\x45\xa2\x45\ \xc5\xc6\x92\x2a\xa2\xbe\xb7\x55\xaf\x64\x7d\x23\x70\x9b\x59\xd3\ \x4a\x85\x05\x02\x33\xc5\x6b\xb6\xaf\x2b\xcc\x56\x7f\x3f\xb5\xc3\ \x16\xf7\xa6\x91\xff\x72\x85\x4d\x02\xbd\xc4\xdf\xf4\x0e\x13\x3f\ \xf1\x17\xc5\xdf\x3a\xac\x57\x98\x19\x7a\xa1\x64\x88\x83\xbb\x8d\ \x5f\x26\x15\xde\x56\xf8\x48\xbc\xee\xbb\x42\xfd\x35\xf8\x1e\x85\ \x62\x13\x72\x56\x9b\x66\x51\x24\xdf\x8d\x95\x92\x48\xe7\x3a\xcb\ \x36\xd3\xb4\x81\x56\x66\x24\x3b\x23\x2a\xd8\xd7\xe2\xc7\xf9\xbb\ \x40\x89\xc0\x18\xf1\xac\xa9\x76\x36\x6c\x8c\xf2\xcd\xb0\xac\xee\ \x26\x2a\xf3\x08\x74\x33\xab\x2a\xb3\xcf\xfd\x04\x26\x84\xd0\xdf\ \xc1\x58\x81\x19\xa1\x1f\x68\xb0\xc0\x8c\x00\x2e\x0e\xa1\x8f\x31\ \x8c\x75\xb6\x88\x2f\x9c\xcf\x7e\x7e\x2a\x3e\x93\x1a\x27\x30\xdf\ \xc1\x83\x02\xb7\xa8\xdf\xb4\x31\x02\x7d\xed\x26\xe3\x8f\x49\x68\ \x1d\xc2\x79\x76\x5d\x53\x14\x42\xbf\x00\xba\x0b\x24\x1c\xf4\x17\ \x98\x21\x30\x3a\x84\x8e\xce\x0b\x36\xe9\x7a\xc8\x44\xc9\x72\xa5\ \xe3\xa0\xce\x0a\xbb\x19\xa9\x04\x26\x2d\x15\x26\x89\x3f\xd1\x0f\ \x95\x64\x4a\x7f\xf3\xec\x6c\xa0\x4d\x78\xa7\x05\xac\x32\xf1\xd7\ \x29\x53\xcd\x0f\xcf\x13\xe8\x6b\xc7\x72\xa9\x7d\x1e\x64\x7c\xb3\ \x4c\xbd\x3e\x30\x5d\xe0\x7e\x85\x67\xc5\xb3\x90\x3e\xe6\xa7\x27\ \x3b\x9f\x69\x4d\xb0\xc9\xf6\x14\xf8\x2c\x80\xf3\x1d\x74\x15\xb8\ \x56\xe0\x4e\x07\x13\x1d\x0c\x4e\xc2\x59\xea\xa9\xcf\x34\xf1\x56\ \x3c\xc9\x36\x7c\xa4\x5d\x4a\x46\x01\x9e\xaa\x69\xc2\x77\x55\x9e\ \x07\x80\xe5\xd0\x50\xe0\x41\x85\xf7\x05\x9e\x70\x31\x59\x5b\x85\ \x9e\x04\x9c\x21\x70\xaf\xb1\x87\x5d\x02\xaf\x59\x90\xdb\x21\x9e\ \x3e\x95\x09\x6c\x37\xa0\xdf\xb0\xe3\x16\x08\x94\x28\xec\x8a\x50\ \xb6\x5d\x02\xb3\xc4\xbb\x95\xfd\xa6\xa8\x2d\x12\x78\xd5\xd4\xb9\ \x35\x96\xe3\x2f\x10\xff\x1b\x03\x11\x58\x25\x7e\x21\x9f\x0a\xbc\ \xed\x60\xb2\xc0\x02\x8b\x03\xdb\xc4\xfb\xe9\xb7\xc4\xcb\x80\x71\ \xbf\x81\x58\x26\xd0\xa5\x3a\xc0\x55\x68\xa4\x70\xb3\x31\xa9\x69\ \x02\x67\x55\xcb\xae\x39\xaf\x93\x16\x1e\xe3\xdf\x34\x54\x67\x12\ \xf0\xa7\xaa\xac\xbf\x14\x5a\x8b\x17\xa9\xd6\x29\x94\x24\xa1\x53\ \x49\xae\x1b\x89\x0a\xba\x87\x42\xe3\xa1\x27\x24\xc0\x76\xda\xa6\ \x5d\x99\x2b\x93\xfa\xdf\xc0\xd5\xcc\x79\xd7\xf4\x92\xc0\x16\x73\ \x47\x5d\xf9\x3e\x1e\xf5\x3a\xc3\xe7\x27\x30\xc0\xa9\xb2\x53\x7d\ \xb4\xbf\x42\x23\x99\xd7\x0a\x68\xa0\x16\xa0\x9d\x07\x72\x93\xfd\ \x14\x6a\x9e\x83\x2b\x13\x19\x92\x89\xea\xb4\xe0\x82\xd2\xb4\xcc\ \xe9\x44\x2a\x0b\xa1\x41\xd2\xff\xd8\xe5\x76\x0b\xba\x5b\x15\xf6\ \x8a\x2f\x65\x76\xef\xb7\x56\x7d\xc0\x1d\x96\x80\x33\x8b\x2b\x60\ \xed\x55\x7d\xfe\x03\x75\xaf\x9a\x50\x32\xeb\x15\xf7\x00\x00\x00\ \x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x08\x7b\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x76\x00\x00\x03\x76\ \x01\x7d\xd5\x82\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x07\xf8\x49\x44\ \x41\x54\x78\xda\xb5\x57\x0b\x58\xcd\x69\x1a\xff\x2c\xd5\xa2\xc1\ \x8e\x8a\x64\x3c\xe5\x32\x2e\xab\xc9\x0e\xe5\x74\x2a\x61\x0c\x21\ \x95\xa2\x9a\x62\x5a\x97\x55\xf3\x3c\x96\x4d\x33\x49\x35\x83\xd5\ \x45\x32\x34\x88\x52\x6a\x59\xc3\x26\x0c\x5d\xb6\x44\xd3\x95\x74\ \x74\x8f\x44\x5b\x9d\xee\xb7\xa3\x9e\xd2\x29\xba\xfd\xf6\xfd\x52\ \xf3\xa4\x51\x1d\xb3\xcf\x7e\xcf\xf3\x7b\xce\x39\xdf\xff\xfd\xfe\ \xef\xef\x7b\xef\x87\x01\xf8\xbf\x80\xd6\x28\x82\x02\xe1\x03\xc2\ \x78\xc2\x18\xbe\x37\x58\xae\x5f\x78\xf4\x29\x7f\xff\xd5\xf4\x39\ \x8e\x0b\xfd\x8f\x8a\x7f\xa7\xac\xac\xac\xe8\xe5\xe5\x65\x1b\x15\ \x1d\xf5\x24\x3b\x3b\xbb\x3b\x2f\x2f\xef\x55\x56\x76\x56\xd1\xd5\ \xab\x57\x57\x72\x5d\x6f\xcb\xd3\xc6\x95\x2b\x57\xdc\x5f\xbe\x7c\ \x89\x52\xb1\xf8\x55\x58\x78\xf8\x7e\xbe\xf7\x5b\x6f\x3d\x67\xce\ \x1c\xe5\x90\x90\x90\xc2\xfc\xc7\xf9\x28\x2b\x2f\x43\x75\x75\x35\ \x6a\x6b\x6b\x21\x91\x48\x50\x52\x5a\xd2\x71\xe8\xd0\xa1\xf5\x03\ \x2f\xc9\xd7\xa4\xe2\xe2\xe2\xd7\xaf\x3b\x3a\x50\x5d\x53\x83\xb4\ \x87\x0f\x7b\xec\xec\xec\xcc\xf8\x4d\x7e\x03\x81\xdf\xef\xdd\xbb\ \xf7\x87\xb4\x87\x69\xa8\xac\xaa\x44\x83\xa4\x01\x12\x42\x74\x74\ \xf4\x6b\x57\x57\xd7\xea\x45\x8b\x16\x5d\x54\x54\x54\x9c\xcf\xdd\ \xf1\x16\x81\x33\x67\xce\xdc\xae\xac\xac\x84\xb8\xbc\x1c\xa2\x47\ \x8f\x60\xef\xe0\xd0\xba\x78\xf1\xe2\x19\xef\xeb\x0e\x5a\x93\x8f\ \x1f\xf7\x2d\xab\xa8\x28\xef\x55\xdc\xda\xda\xca\x2d\xd0\xad\xa4\ \xa4\xf4\x1d\x3d\x5b\x46\x98\xce\x49\x0e\xb6\xc0\x18\xc2\xbc\x8b\ \x97\x2e\x15\xdf\x89\x8b\xeb\x49\x4a\x4e\x46\x5b\x5b\x1b\x36\x5b\ \x5a\xa5\xd3\xfe\x04\x59\x49\x70\x39\x15\x15\x95\x59\x51\x51\x91\ \xdd\x9c\x40\x53\x53\x13\xda\xdb\xdb\x50\x5a\x5a\xfa\x8a\xbf\x9f\ \xa0\x30\x5c\x10\xf2\x87\x0b\x57\xaf\x59\x73\xd6\x76\xeb\x97\xad\ \x05\x05\x05\x90\x12\x89\x8d\xe6\x16\x51\xea\xea\xea\x93\x64\x21\ \x41\x4b\xce\xd2\xd2\xd2\x2e\x25\x25\x19\x39\x39\x39\x90\xbc\x90\ \xf4\x92\xa8\xab\xaf\x83\xa1\xa1\xe1\x12\xee\xd2\x01\xd9\x31\xa6\ \x3f\x2b\xde\x7a\x01\x61\x9a\xbc\xbc\xbc\xf9\xe7\xab\xd7\x14\x3c\ \x7f\xfe\xbc\xd7\x84\xeb\x4d\x4c\x13\x96\x2d\x5b\xa6\x3c\x12\x09\ \x5a\x8a\xbb\x77\xef\xfe\xd7\xdd\x7b\x71\xc8\xc8\xc8\x40\x55\x75\ \x15\xaa\x09\x15\x15\x15\xb8\x72\xf5\xc7\x56\x1b\x1b\x9b\x35\x5c\ \xe6\xb0\xc7\xe1\x8d\xc1\xc1\x41\x05\x5f\xd1\xe2\x3a\x7f\x95\x42\ \x84\x89\xdc\x5f\x02\x5d\x61\x66\x49\x69\x29\x9a\x9b\x9b\x61\x63\ \xfb\x65\xba\x85\x85\xc5\xd4\xe1\x02\x93\xd6\x94\x73\x01\xe7\x5a\ \x92\x92\x93\xb8\xd9\xf1\x20\xed\x01\x0a\x0b\x0b\xf1\xec\x59\x21\ \x92\x53\x92\x70\xd2\xef\xfb\xce\xd8\x3b\xb1\x92\xd4\xd4\x54\xf8\ \xfa\x1e\x6b\xd7\xd1\xd1\xb1\xe1\xf1\x30\x54\x01\x19\x4f\x10\x0a\ \x04\xba\xa9\x74\x03\x32\x63\x3d\x1c\xbe\xda\x9d\xbf\x6b\xd7\xae\ \x19\xef\x22\xc1\xd3\xd6\xca\xca\xca\xfa\xe6\x4f\x37\x10\x70\x3e\ \x08\x21\xff\x08\x81\xe7\x51\x4f\xf8\xf8\xfa\x22\x2b\x3b\x93\x02\ \x3b\x1d\x21\xa1\x21\xe0\xca\xc3\xc2\xc2\x28\xc8\xed\xcb\xe9\xcc\ \x2c\xfe\xae\xe1\xaa\xd8\x38\x82\xb6\xbe\xbe\xc1\xdd\xba\xba\x7a\ \x54\x50\x96\x38\xef\x77\x29\x72\x76\x76\x9e\x33\x98\x04\x0f\xd6\ \xc3\x87\x0f\x25\xe4\xe5\xe5\x62\x87\xbd\x3d\x5c\x5c\xbf\x81\x28\ \xe3\x21\xf4\xf4\x84\xa4\x5c\x84\x3b\x71\xb1\x08\x25\x52\x91\x91\ \x11\xf0\xf4\xf4\xe8\xa6\x5a\xf1\x35\x3f\xc3\xcf\x8e\x54\x4a\xc7\ \x12\xfe\x64\x68\xb8\x3c\xb2\xb1\xb1\xb1\xa7\xb8\xa4\x04\x01\x81\ \x81\xe5\x54\x4c\x16\x0e\x08\x2a\x79\xf2\xfd\x0e\xba\x5d\x17\xcf\ \x9e\xa0\xe0\x0b\xd8\x68\x61\x86\xfc\xc7\xb9\x70\x74\x72\xc4\x8d\ \x9b\x37\x40\xae\x81\xb7\xb7\x17\xdc\xbf\x75\xeb\xd6\xd4\xd4\xfc\ \x91\xce\x68\xf4\x17\x3b\x59\xeb\xb9\xe6\x8a\x15\x2b\xc3\x5a\x5a\ \x5a\xba\x9f\x17\x15\x21\x5d\x24\xaa\x3b\x71\xe2\xc4\x12\x6e\x25\ \x72\x8b\x33\x2f\xb7\xe1\xe1\xd7\x90\x90\x90\x80\xb3\x67\xcf\xc2\ \xda\xfa\x0b\x78\x79\x7b\x83\x64\xe0\xe6\xee\xd6\xe3\xe8\xf8\xb7\ \xd7\xdb\xb6\x6f\xab\xa7\x9b\x1f\xa3\x33\xdc\x82\x72\xfd\x3a\x64\ \x2d\x30\xf2\x84\x05\xe6\xe6\xe6\x17\xa5\x52\x69\xd7\xe3\x27\x4f\ \x40\xf5\xbd\xe9\xe0\xc1\x83\x17\x73\x73\x73\x7b\xbc\xbc\x3c\xb1\ \x62\xe5\x72\x1c\x38\xe0\x82\xd3\xa7\x4f\xc3\xc5\xc5\xa5\xd5\xd6\ \xd6\xf6\xa9\x96\x96\xd6\x39\x3a\x67\x4d\xd0\x25\xcc\x24\x7c\xd8\ \x5f\x05\x65\x25\x30\x38\x4d\xe7\x6e\xd9\xb2\x25\x80\xfa\x46\x67\ \x4e\x6e\x2e\x27\x01\x0f\x4f\x0f\x2c\x5f\x6e\x88\xcd\x9b\x37\xe1\ \xf2\xe5\xcb\x20\xc5\x69\x24\xb7\x81\xf0\x31\x61\x4a\x5f\x37\x94\ \x1f\x2a\x8d\x07\x6d\xc8\x64\x89\x85\xdb\xb7\x6f\x7f\xc2\x8b\x4c\ \x46\x66\x16\xe5\x7c\x26\x76\xd9\xef\x02\x75\x3a\x38\x38\x38\xe4\ \xd3\x73\x01\x57\x2a\x6b\x2f\x79\xdf\xfe\xae\xe8\xed\xed\x7d\xf3\ \xde\xbd\x7b\xe4\x67\x2b\x50\xff\xa0\x78\x78\xd4\x4b\xc2\xc7\xc7\ \xa7\x21\x31\xd4\xf2\x4e\x84\xbb\xfa\x77\x03\xeb\xfd\x48\x90\x59\ \xf9\x24\x5a\xd4\xb4\xe2\xf2\xf3\xf3\xb1\x75\xab\x2d\x96\x0a\xb4\ \xa1\x6f\xa0\xcf\x8b\x0e\xa5\x5a\x06\xca\xf2\xfc\x7a\xa4\x65\x21\ \x28\xba\xa0\x88\xa0\x1d\x6c\x5f\x7f\xa0\x8d\x04\x99\x06\x0c\x0a\ \x26\x15\xea\xf1\xf7\x33\x33\x33\x61\xfd\x85\x15\x0c\x0c\xf5\xa1\ \xa5\xf5\x09\x8e\x1d\x3b\x06\x72\x47\x9b\xf8\xd1\xdf\x3b\x3a\xcb\ \x3e\x44\xdb\xd3\x79\x90\xde\x1c\x0f\x91\x1f\x6b\xf8\x68\x32\x53\ \x93\xc5\x0a\x23\x2a\x17\x08\x04\x6a\xd7\xae\x5d\xcb\x4e\x49\x49\ \xc1\xa6\x4d\xe6\x74\x6b\x3d\xcc\x9f\x3f\xbf\x37\xc5\x4e\x9e\x3c\ \xd9\xea\x6a\x31\x36\x5c\x7c\x95\x75\x37\xdd\x67\xe8\x8e\x67\x78\ \x95\xcc\x50\x13\xcb\xf0\xef\x23\x2c\xf2\xaf\x9f\xb1\x05\xdc\x12\ \xc3\x11\x19\x56\xf9\xaa\x55\xab\x66\xd2\x30\xf1\x34\x36\x36\x96\ \x3a\xa3\x19\xf4\xf4\x75\x31\x6b\xf6\x4c\x50\xfa\x21\x28\x28\xa8\ \x9d\x88\xec\xfb\x5c\x8b\x39\xdc\xfe\x9a\xb5\xd7\x5d\x66\x68\x89\ \x63\xe8\x2c\x61\x90\x16\x30\x34\x67\x30\x34\x8a\x14\xba\x13\x7d\ \x14\xc3\x94\x95\x99\xe2\x50\x24\x86\x54\x6e\x6a\x6a\xba\x20\x3e\ \x3e\xbe\x34\x3c\x3c\x1c\xa6\x66\x26\x10\xea\x09\x30\x63\xc6\x47\ \xd8\xb3\x67\x0f\x4f\xb7\x0e\x3d\x3d\x3d\x1e\x6c\x6a\x04\xd5\x79\ \x6a\xcc\xde\xc7\x96\x15\xfd\xec\x33\xaa\x4b\x92\x42\x24\xc4\x0c\ \x5d\xe5\xa3\xd1\x2e\x36\x41\x51\x28\x43\xe4\x3e\x16\x4d\x4d\xfd\ \x9d\x6d\x9d\xbd\xab\xb1\x50\x5f\xff\x94\x4a\x6b\x75\x48\xc8\x05\ \x6c\x30\x35\x86\x40\xb8\x14\x6a\x6a\xd3\x28\xf8\xb6\xe2\xfa\xf5\ \xeb\x5d\x46\x46\x46\xa7\x48\x6e\x06\x97\xed\xeb\xa0\xfc\xe5\x9a\ \x1f\x4f\x63\x2e\x0f\x4e\xb2\xce\x17\x0f\x88\x44\xc5\x04\x74\xd4\ \xed\x45\x43\xb2\x12\x8a\x7f\xea\x25\xf1\x64\xc9\x5c\xa6\x34\x98\ \xc4\xaf\x94\x53\xa1\x31\x10\x89\x44\x12\xbf\x1f\xfc\x60\x6c\xb2\ \x9e\xa2\x5d\x07\x53\x55\xa7\xc2\xd8\xd8\x18\x51\x51\x51\x3d\x44\ \xee\x32\xef\x64\x83\x2b\x1a\xff\x4d\x98\xe9\x6d\xcd\xd2\x8b\xc9\ \x1d\x0d\x89\x14\x0f\xc5\x63\xd1\x51\x6b\x0b\x69\x8e\x12\xc4\x31\ \x14\x17\xfb\x58\xa9\xd9\xa7\x4c\x75\x60\x8d\x78\x4b\x39\xd5\xf5\ \xd5\x54\xd7\x9b\x3d\x3c\x3c\xb0\x7e\xc3\x3a\xe8\x2c\x5d\xd2\xab\ \xdc\xc0\xc0\x00\x31\x31\x31\x3d\x3b\x77\xee\x8c\x66\xec\x4d\x60\ \x0d\x35\x94\x4e\x99\xc8\x56\x86\xda\xb3\x17\xff\xf9\x27\x43\x39\ \xdd\x5c\x92\x22\x87\x8e\x6a\x23\x48\xb3\x27\xa3\xe2\x2e\x43\xcc\ \x37\xac\xc6\x5a\xc0\xd4\xfb\x49\xfc\xa2\x9c\xa6\x59\x33\x1a\xc5\ \x5a\x1f\xd1\x50\x7a\xfc\xfb\xe3\x10\x0a\x75\x31\x65\x8a\x0a\x68\ \x92\x05\x0f\x42\x27\x27\xa7\xfb\xbc\x33\x12\x14\x46\x28\x56\x13\ \xc7\x29\x30\x93\xf3\x3b\x59\x7d\x6d\xfc\x1b\x12\xf5\x3f\x8f\x46\ \x47\x95\x36\xa4\x59\x7f\x40\x75\x02\xc3\xdd\x03\xec\x85\xfb\x06\ \xf6\x47\x4e\xa2\xf7\x90\x9a\x9a\xda\x74\xba\xb9\xd4\xd3\xd3\xf3\ \xd9\xba\x75\xeb\x22\x29\xbd\x1a\x5d\x5c\xf6\x83\xba\x17\x22\x22\ \x22\x40\xed\x97\x97\x58\xa1\x0c\x7f\x5c\xfa\x49\x4c\x52\x18\xc3\ \x56\xfb\xff\x99\x55\xd5\x10\x89\xca\xdb\x94\x9a\x31\xa3\xd0\x59\ \x39\x1b\xd2\x4c\x45\xd4\xa5\x32\x64\x79\xb3\x12\x5e\x59\x09\x4c\ \xde\xcd\xcd\xcd\x8e\x22\xbe\x89\xbe\x2f\x27\xcc\x5e\xbb\x76\xad\ \x33\x99\x9c\xfb\x9c\xe7\x7b\x29\xed\x7d\x46\xf8\xe0\x7d\x26\xe4\ \xbe\x89\x7a\x85\xdf\x16\x56\x52\x15\x4b\x24\x22\xde\xa0\xb3\x5c\ \x09\xcd\x29\x0a\x90\x5c\x62\xed\x7d\xcd\x8a\x8d\xa5\x3f\x0d\xdf\ \xc6\xc5\xc5\xb5\x69\x68\x68\xcc\xe5\x26\x76\x74\x74\xdc\x96\x98\ \x98\xd8\x13\x18\x18\x58\xab\xa0\xa0\x60\xc2\xd8\xe0\x14\x92\xbd\ \x77\x10\xf4\x8f\x6e\x66\x85\xe2\x28\x86\xaa\x68\x06\xa9\x88\xa1\ \x3d\x69\x34\xe2\x8f\xb2\x87\xf4\x4c\xa9\xd7\x02\x72\x72\x72\xda\ \x34\xab\xb5\xdf\xba\x75\xab\x90\x3e\x03\x28\xd5\x6a\x4e\x9d\x3a\ \xd5\x38\x61\xc2\x04\x5b\x2e\x24\x63\x67\x1b\x6e\xbe\x14\x1c\x31\ \x67\x39\xf9\x7e\x0c\xe2\xf3\xac\x27\xdd\x8f\x55\xd0\xde\x62\xae\ \xbb\x5f\x48\x45\x28\x14\xfa\x04\x07\x07\xb7\xf8\xfb\xfb\xb7\x91\ \xcf\xc5\xaa\xaa\xaa\x7f\xe1\x26\x92\x51\xb9\x2c\xa3\x9d\xa6\xb6\ \x06\x73\xb2\xd6\x63\x47\xe8\xfb\x27\x7d\x7b\xa3\x7e\xc9\x02\xc2\ \x74\x82\x11\x61\x13\x61\x29\x61\xb2\x4c\xca\x65\x27\x21\xc7\x5d\ \xc9\x31\xb0\x3f\xfc\x17\xb0\x6c\xc1\xc4\x9c\xd3\xd1\xfc\x00\x00\ \x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x07\x88\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ \x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01\x42\x28\ \x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xd9\x08\x0b\x00\x2d\ \x1f\xb3\xb6\x7c\x9d\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\ \xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x07\x08\x49\x44\x41\x54\x78\ \xda\xbd\x57\x69\x4c\x54\x57\x18\x95\xda\xa0\x50\x31\x5d\x62\x89\ \x0a\x2e\x45\x51\xdc\x6a\x5c\xd3\x46\x63\x4d\x6a\xda\xa4\x49\x2d\ \x3f\x4a\x34\xc4\x28\x31\xad\x4d\x6c\xd5\x22\x2a\x68\x2c\x88\x4b\ \xd0\x62\x2b\xa6\x15\x59\x0d\x56\x94\x08\x55\x16\x41\x10\x18\x60\ \x66\x60\x18\x96\x61\x1f\x86\x61\xd8\x94\x7d\x11\x54\x90\xa0\x76\ \x4e\xef\x79\x99\x99\x4c\xa8\x88\x26\xd6\x97\x7c\xb9\xf7\xdd\xf7\ \xbe\x73\xce\xb7\xdc\xfb\x66\x26\xbc\xea\x15\x10\x10\xc0\x61\xa2\ \xb0\x0f\xd7\xaf\x5f\xbf\x78\xcd\x9a\x35\x8b\xc5\xdc\x51\xd8\xdb\ \x9e\x9e\x9e\x13\xde\xc4\xf5\x96\x4c\x26\xd3\x3c\x7a\xf4\x08\x43\ \x43\x43\x92\x71\x9e\x9e\x9e\xae\xe6\xb3\x37\x21\x60\x6a\x62\x62\ \x62\xdf\xc8\xc8\x08\x86\x87\x87\x25\xe3\xfc\xc6\x8d\x1b\xbd\x7c\ \xf6\x3a\x89\xec\x97\x2f\x5f\xfe\xc9\x73\xd6\x3f\xc8\xcc\xcc\x1c\ \x7a\xf2\xe4\x09\x89\x25\xe3\x3c\x23\x23\x63\x88\xcf\x46\xbf\xbc\ \x7a\xf5\xea\x4f\xc5\x60\xf7\xaa\xe4\xd3\x93\x92\x92\xaa\x9e\x3e\ \x7d\x0a\x5f\x5f\xdf\x10\xa6\x96\x35\xde\xbc\x79\xb3\xfb\xb5\x6b\ \xd7\xd2\xef\xdf\xbf\x8f\xc1\xc1\x41\x4b\x09\x38\xef\xeb\xeb\x43\ \x5c\x5c\x5c\xba\xbb\xbb\xfb\x37\x7c\x57\x98\x4d\x48\x48\xc8\x9f\ \xcf\x9e\x3d\x43\x55\x55\x95\x8e\x98\x2f\x4b\xee\x94\x9b\x9b\xdb\ \x41\xd0\x81\x81\x01\x23\xeb\x1b\x15\x15\x95\xab\x50\x28\x1a\x19\ \x2d\xd7\x1f\x3e\x7c\xf8\x5c\xe3\xb3\xc7\x8f\x1f\x43\xa9\x54\x36\ \xc4\xc7\xc7\xcb\x39\x27\x46\x7f\x7f\x3f\x74\x3a\x5d\x0f\xb1\xc7\ \xad\xef\xcd\x9b\x37\x6b\xe8\xd0\xdb\xdb\x4b\x63\x64\x12\xb8\x58\ \x33\x32\x72\x61\x9c\x8f\x36\xae\x5b\x9b\x51\x10\x4b\xfe\x3d\x3d\ \x3d\xe8\xec\xec\x44\x77\x77\x37\x44\x60\xcc\x84\xc3\x98\xec\x4b\ \x96\x2c\xf1\x6c\x6c\x6c\x44\x47\x47\x87\x91\x4e\x74\xb6\x16\x42\ \x23\x01\x05\xb5\xb7\xb7\xa3\xa6\x46\x2b\x22\xd3\xa2\xad\xfd\x1e\ \x06\xfa\x2d\x84\x34\x89\xb0\xab\xab\x4b\x7a\xef\xee\xdd\xbb\x68\ \x69\x69\x31\x36\x35\x35\xc1\xcd\xcd\x6d\xdb\x8b\x32\x30\xcd\xcb\ \xcb\xab\x90\xce\xad\xad\xad\x14\x42\x20\x8b\x08\x46\x5a\x5a\x5a\ \x0a\x95\x4a\x85\xb2\xb2\x32\x18\x0c\x06\xd4\xd7\xd7\xa3\xb4\xbc\ \x14\x05\xea\x3c\xa8\x35\x0a\x74\x75\x77\x8a\x88\xbb\x18\xb5\x85\ \x9c\x41\x71\xdc\xb1\x63\x87\x8a\x1c\xe3\x95\x61\x9e\xbf\xbf\x7f\ \x33\x05\xd0\x89\x20\x8c\x88\xf3\xc2\xc2\x42\x69\x64\x24\x34\x02\ \x37\x34\x34\x08\x33\x50\x8c\x34\x97\x17\x66\x41\xdf\x28\xb2\xd2\ \xd6\x86\x7b\xf7\xee\x49\xeb\x75\x75\x75\x38\x72\xe4\x48\x33\xb1\ \x5f\xa6\x09\xa7\x5c\xbd\x7a\xb5\xdd\x44\xc2\xd4\x49\x44\x15\x15\ \x15\xbc\x37\x59\xb3\x34\x36\x37\xb7\x48\xf3\xc6\x86\x46\x29\x13\ \x7a\xbd\x5e\x90\xe9\x51\xa4\xc9\x47\x9d\x41\x4b\x41\xa2\x4c\x35\ \x92\x6f\x64\x64\x64\xab\xc0\x7e\x67\x5c\xf6\x0d\x1b\x36\xec\x32\ \xa5\x96\x00\x82\xa4\x99\x91\x33\x0a\x0a\x31\x45\xde\x84\xd4\xcc\ \x58\xc4\xa7\xfe\x86\x84\xb4\xb3\x48\xbc\x1d\x05\xad\x56\x4b\x72\ \x76\xbb\x34\x57\x15\xcb\x51\xab\xd3\x4a\xa5\x2a\x2a\x2a\x42\x65\ \x65\x25\xc4\x99\xb0\x7d\x3c\xfe\x89\x27\x4f\x9e\x54\x92\x8c\x26\ \x84\x50\x3d\xf7\xb1\x14\x49\xbd\xbe\x1e\x9a\xb2\x62\x84\x5f\xff\ \x19\x25\xf5\x31\x30\x74\xa7\xa0\xb1\x2f\x0d\xd5\x2d\x71\xf8\x2b\ \xc5\x07\xd9\x39\x29\xa8\xd3\xd5\x49\xef\x6a\x34\x1a\xa8\xd4\x0a\ \xa8\x0b\xd5\x28\x2e\x2e\x46\x75\x75\x35\x04\x76\x1e\x39\xfe\x73\ \xe2\x89\xed\x91\x23\x94\x36\x09\xa5\x9d\x8c\x80\x2f\x33\x0a\xa6\ \x54\xac\x53\xbd\x69\x4d\x87\x23\xe7\x37\x42\x59\x77\x1a\x25\xad\ \xe7\xa0\xeb\x8f\x82\xfe\xc1\x25\x54\x74\xfc\x81\x82\x86\x5f\x71\ \xe2\xd2\x7a\x41\x5c\x86\xf2\xf2\x0a\xa9\x51\x15\xca\x3c\x8e\x14\ \x23\x05\x51\x5b\x5b\x0b\x72\x88\xfb\x26\xb9\x5c\x9e\x43\x6e\x0a\ \x58\x91\x97\x27\x3a\x58\xad\x46\x49\x49\x89\x70\x2e\xb7\x44\x4c\ \x31\xec\x7a\x66\xa1\xba\xaa\x1a\x97\xaf\x85\x20\x38\xcd\x09\x19\ \xb5\xbb\x91\xd3\xbc\x07\x8a\x36\x1f\x28\xdb\x7d\x90\x7b\x77\x1f\ \xb2\xf4\x3f\x21\x3c\x7f\x11\xce\x45\xee\x25\x0e\xf7\x3c\xb2\xb3\ \xb3\x49\xce\x00\x88\x49\x6c\xe2\x51\x04\xf2\xf3\xf3\x21\xb8\x3f\ \xa6\x80\x8d\x42\x0d\xeb\xcc\x54\xf1\x05\xb3\x08\x0a\xb0\x88\xaa\ \xa9\xd6\xc2\xff\x77\x0f\x9c\x57\xcc\x44\x68\xd1\x32\x24\x68\xbf\ \x46\x52\xbd\x07\x92\x0c\x1e\xf8\x5b\xe7\x8e\xb0\xd2\x55\x38\xa7\ \x74\x82\xef\xb9\xb5\x50\x15\xa8\x71\xe7\xce\x1d\xe4\xe4\xe4\x30\ \x10\x66\x8f\x41\x50\x0c\x39\x24\x2e\x72\x0a\xee\xcf\x28\x60\x93\ \xf8\xbc\xf2\xf8\x64\xba\xa8\xce\x2c\x82\x7d\x60\xb9\xaf\x16\x02\ \x7c\x83\xbe\x42\x48\x9e\x33\x4e\xcb\xe7\xe0\x78\xfe\x1c\x04\xaa\ \x5c\x11\x58\xe0\x8a\x00\xe5\x5c\x9c\x52\x7c\x84\x60\xf9\x6c\xec\ \x0d\x5a\x2c\xa2\x57\x30\x03\x8c\x92\x65\x1c\x4d\xce\x75\x8a\xa3\ \x80\xcf\x29\x60\x6d\x72\x72\x32\x15\x51\x84\x39\x13\x74\xa0\x7a\ \xf6\x00\xef\x05\x48\x25\x02\x82\xbe\x47\x50\xea\x0c\x9c\x92\xcd\ \xc5\x51\xd9\x3c\x1c\x92\x2d\xc0\x41\xd9\x42\xf8\xc9\x84\x88\x6c\ \x17\x04\xcb\x66\xe1\x07\xdf\x75\x28\x28\x28\x14\x56\x40\x5f\xf6\ \x12\x47\x66\xd2\x42\x4e\xae\x94\x94\x14\x0a\x58\x43\x01\xb3\x8e\ \x1d\x3b\xd6\x1e\x1d\x1d\x3d\x12\x1b\x1b\xfb\x0f\xb3\x60\x5d\x0e\ \x8a\xe0\x3d\xe7\xf1\x09\xd7\xe1\xf5\xcb\xbb\x08\xca\x9a\x83\xc3\ \xe9\xf3\xb0\x2f\x6d\x21\x7e\x4c\x75\xc3\xfe\xb4\x05\xf0\xcf\xf8\ \x08\xde\xe1\xd3\x70\x32\xe8\x28\xfb\x89\x46\x72\xfa\x59\x22\x27\ \x36\x39\xc8\x25\x38\xdb\xc8\x3d\xc1\xd6\xd6\xd6\x86\x13\x61\x2b\ \x99\x92\x43\x87\x0e\x19\xa8\xd2\x5c\x0e\xa6\x50\x7c\x09\x25\x00\ \xb5\xb8\xf7\x3e\xe8\x85\xef\x4e\xbc\x8f\x63\xb7\x66\xc3\xe7\x96\ \x2b\x76\x27\xbb\xe1\x70\xaa\x10\x13\x3a\x0d\xdb\x77\x6d\x62\xea\ \x05\x79\x11\xb3\xc9\xb3\xc4\x42\xce\x8c\x08\xec\x7a\x72\x90\x8b\ \x9c\x93\x27\x4f\x26\xb7\xd5\xc5\x27\x2b\x57\x1e\xa7\x83\x55\x4f\ \x30\x0b\xe2\x3e\x5f\x02\x4a\xcf\x48\xc3\x41\xbf\x3d\xf8\x76\xe7\ \x52\x78\xfa\xcc\xc0\x36\xdf\xe9\xf0\xd8\x25\x32\xb1\xcf\x0b\x49\ \xc9\x89\xa2\x57\x6a\xe8\xc3\xc6\xb3\xae\xb9\xb4\xb6\x62\xc5\x8a\ \xe3\x2f\x73\x14\xbb\x5e\xbc\x78\xf1\x81\x50\x6c\xa4\x33\x1d\xcb\ \x2b\xcb\xa0\x50\xcb\x90\x9d\x95\x2d\x75\x77\x72\x52\x12\x22\xa2\ \xc2\x10\x7c\x36\x48\xd8\x69\xc4\x5c\x8e\x46\x6e\x9e\x8c\xa4\xdc\ \x72\xdc\x3d\x6c\x60\xd6\x9d\xa5\x60\x20\xc6\xd0\xd0\xd0\x07\xc4\ \x7e\x19\x01\xb6\xde\xde\xde\x1a\x36\x0a\x3b\x95\xc6\x5d\x92\x29\ \x4f\xc6\x2d\xc5\x55\xdc\xbe\x9d\xce\x34\xf3\x84\x93\x1a\x55\xda\ \xb2\x15\x55\xec\x74\x36\x9b\xf9\xf8\x66\xfa\xf9\xcc\xd2\x0f\x07\ \x0e\x1c\xd0\x10\x7b\x3c\x72\x9b\xfd\xfb\xf7\x9f\x61\xbd\x78\x88\ \x90\x98\x87\x14\x53\xc8\xba\x96\x6a\x4a\xa0\x37\x68\x19\x21\xc1\ \xcd\x8d\xca\x33\x83\xc7\x36\x3f\x5c\xec\x19\x9a\xf9\x9b\x60\xf9\ \x7c\xf3\x5d\x3f\x3f\xbf\x33\xe4\x18\x93\xdd\xc5\xc5\xe5\x4b\x3a\ \x31\xfd\x74\x32\x9d\x8e\xe6\x48\x2d\xdf\x05\xa6\xd9\xfa\xe3\x44\ \x42\x1e\xb3\xd6\x66\x7d\x00\xb1\x8c\x2c\x03\xb1\xe7\xcf\x9f\xff\ \xc5\x8b\x32\xb0\x4c\xd4\xaa\x8f\xc4\xa6\xfa\x33\x02\xb3\x00\x23\ \xc1\x4c\xc7\x2a\x8d\x04\x63\x99\x91\x23\x45\xd3\x97\x18\xc4\x14\ \xbd\xd5\x4b\x8e\x31\xd9\x1d\x1c\x1c\x38\xb8\x27\x24\x24\x0c\x0b\ \x27\x46\x6f\x64\x34\x62\xcf\xf6\x84\x87\x87\x0f\xb2\xb6\xcf\x23\ \xb7\x5e\xe3\x3b\x11\x11\x11\x83\x81\x81\x81\x3d\xa6\x6f\x89\x91\ \x58\xe2\x47\xea\x30\xb1\xa7\x4e\x1d\xe7\xaf\x83\xbd\xbd\x3d\x7f\ \x82\x7b\x84\x85\x85\xdd\x67\x43\x6d\xd9\xb2\x85\x3f\xa3\x96\x0a\ \x5b\xe5\xec\xec\x7c\x41\xfc\x4c\x6f\x31\xa5\x77\xb4\xb1\xc6\xcd\ \x4e\x4e\x4e\x17\xf8\x2e\x7d\xb6\x6e\xdd\xaa\x22\x06\xb1\x88\x39\ \x65\xca\x14\x62\x8f\x7f\xd9\xd9\xd9\x71\x58\xe7\xe8\xe8\x78\x42\ \x8c\x33\xad\x9b\x54\xd8\xa2\x2b\x57\xae\x3c\xb2\x16\xc1\x39\xd7\ \xf8\x6c\x54\x93\xcd\x24\x06\xb1\x88\xf9\xba\xae\xf7\x62\x62\x62\ \xba\x58\x1a\x36\x15\x8d\x73\xae\xf1\xd9\x84\x37\x70\xd9\x07\x07\ \x07\x6b\xb9\x03\xf8\xb3\x9b\xc6\x39\xd7\xf8\xec\x7f\x67\x9f\x34\ \x69\x92\x8d\xe9\x2c\xdf\x29\xcc\x87\xc6\x39\xd7\xf8\x5d\x79\x55\ \xbc\x7f\x01\x06\x41\xf8\xf9\xb2\x87\xf2\x69\x00\x00\x00\x00\x49\ \x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x08\x68\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x76\x00\x00\x03\x76\ \x01\x7d\xd5\x82\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x07\xe5\x49\x44\ \x41\x54\x78\xda\xc5\x57\x6b\x70\x55\xd5\x15\xfe\xce\xf3\xbe\x6f\ \x6e\x6e\x12\x12\x43\x12\x02\x49\x0c\x76\x34\x12\x45\xb4\x5a\xf1\ \x31\xe8\x4c\x5b\x19\xab\x56\x5b\x30\xb5\xc2\x80\xb4\xc5\x4a\x43\ \xcb\x80\x19\x6d\x3b\x40\xcb\x20\x6d\x47\x65\x6a\x09\x2d\x4d\x7f\ \x74\x1c\x2a\xb6\xe3\xa8\xa5\x2a\x4c\xb5\x9a\x0c\x0d\x65\x1a\x5a\ \x30\x24\x12\x25\x0f\x42\x48\xcc\xe3\x3e\x72\x4f\xee\x3d\xe7\x9e\ \xb3\xbb\xf6\xb9\x77\x0e\x26\xb9\x36\xf8\xcb\x35\xb3\xb2\x4f\x76\ \xce\xde\xdf\xb7\xd6\xfa\xd6\xd9\x3b\x32\x63\x0c\x9f\xa7\xc9\x98\ \x6e\x02\x39\xfb\x3c\x09\xb0\xcd\x8d\x8d\x47\x98\xc5\x56\x20\x6b\ \xcb\x6e\x59\x8e\x45\x35\x8b\xa1\x48\xe2\x2c\x6a\x82\x90\xe1\x2c\ \x8a\x02\xff\x09\xf0\xd1\xb2\x20\xc8\x12\xf8\x0c\xff\xbb\x48\x0e\ \xf2\x74\xda\xc4\xfb\xa7\xff\x8b\x7f\xb6\xbe\xeb\xac\x0f\x87\xc3\ \x47\x67\x12\xc0\x94\x36\xb5\xe2\xd4\xe9\x53\x28\x2e\x2e\xc1\xbc\ \xa2\x22\x14\xcc\x9b\x87\xf2\xf2\x05\x70\xa9\x0a\x72\x59\x86\x43\ \x66\x8c\x1f\x3a\x88\xf1\xdf\xed\x83\x5a\x5d\x83\xa2\xef\x3e\x0e\ \xcf\x92\xfa\x2c\x09\x01\x5a\x4a\xc7\xc7\x23\xc3\x48\x26\x93\xce\ \xda\xb1\xb1\xb1\x15\xb3\x08\x58\x14\x81\xcf\xe7\x83\x22\xcb\xf6\ \xb3\x08\x66\x47\xd8\x3f\x12\xc9\x05\xee\x58\xb4\xff\x28\x16\x4c\ \xfc\x15\x52\x41\x01\x94\xbe\x5e\x74\xdd\x75\x07\x02\x3f\x6a\x82\ \xf4\xc8\x7a\xfb\xc5\xb2\xc2\x00\x0d\x8c\xef\x39\x0d\x2b\x27\x81\ \x50\x5e\x08\x2e\x97\xcb\x79\x59\x92\x04\xd4\xcc\xcf\xcf\xd4\x68\ \x26\x38\x45\x17\xb9\x78\x12\xe5\xd6\x16\xf8\x6e\x52\x71\xb6\xbd\ \x0a\x0b\x3b\xcf\x53\xc9\x24\x4c\xec\xfc\x31\xbe\x50\x7f\x35\xc2\ \xf7\xdc\x83\xa9\xa4\x0e\xb2\xb9\x09\xf0\xae\x08\x04\x02\xce\xb3\ \x40\x00\x12\x65\x40\xa5\xba\xe6\x32\x2d\x3a\x00\x77\xcf\x37\x10\ \xf4\x7b\xb1\xff\x35\x15\xcf\x76\xf4\x61\x2d\xad\xb9\x35\x1e\x47\ \x42\x55\xf1\xc1\x0f\x36\xe1\x96\x95\x2b\x61\x31\x02\x84\xc5\xf7\ \x9c\x86\x95\x2b\x03\x33\xd2\xcc\xc0\xf5\x27\xcb\x02\x66\xa6\x40\ \x4f\x46\x61\x9c\xfa\x1a\x0a\x42\x2e\xbc\x75\x9c\xe1\xb9\x43\x06\ \x22\x91\x08\x9a\x46\x47\x71\xf0\xde\x4a\xc4\xdf\x1c\xc2\x64\x22\ \x01\x83\x04\x98\x36\x4d\x30\x6b\x7a\x09\x4c\xcb\x9c\x9b\x80\xc5\ \x88\x37\x2d\x3c\xd3\x3b\x3a\x3d\x53\x96\x01\xff\x47\xab\x50\x91\ \x6f\xe0\xc4\x19\x03\x9b\xf7\x0a\x98\x9c\x9c\xb4\x09\x6c\xdf\xb8\ \x10\xd7\xdc\x38\x80\xe4\xad\x95\x88\xd5\xb5\xa0\xab\x7f\x0c\x25\ \x61\x1f\x01\xce\x28\x01\x4d\xcc\x4d\xc0\x02\x0c\x7a\xb1\xbc\x38\ \xc8\xcb\xed\xd8\x60\xdb\x7a\xcc\x0f\xeb\xe8\x1b\x34\xb0\x61\x8f\ \x80\x84\x96\xb2\xc1\xd7\xde\x57\x82\xfb\x09\x3c\x10\xca\x07\xab\ \x7b\x0e\x15\x05\xd5\x54\x52\x3f\x52\xba\x09\xd3\x34\x2f\x4f\x03\ \x9f\x34\x33\x6d\x21\xcd\x5d\xba\xb4\xf0\xc3\x63\xbb\x50\x57\xd0\ \x8b\x89\x98\x81\xd5\xdb\xd3\x88\x6b\x82\x0d\x7e\xdb\x75\x3e\x3c\ \xbe\x72\x14\x79\x79\x5e\x8c\x17\xed\x02\x5c\xb5\x10\x45\x89\xd2\ \xcf\xc8\x2d\x98\x8c\x7d\x76\x0d\xa4\xa9\x4e\x06\x6f\x47\xc3\x04\ \xb7\x81\xd3\x2f\xe2\xea\x70\x1b\x52\x69\x37\xd6\xec\xfc\x18\x63\ \x31\x89\xc0\xc7\x51\x59\xc2\xb0\x6b\x7d\x0a\xe1\xa0\x88\x61\xff\ \x0f\x91\x94\x6f\x40\x40\x94\x01\x72\xdd\xc8\x68\xc0\xb4\x72\xb4\ \xe1\xdc\x1a\x60\xb6\x88\x2e\x8e\x4e\x42\xd4\xba\x70\x95\xf7\x55\ \x30\xa5\x10\x9b\x9e\xe9\xc6\xd9\x01\x13\x71\x52\xbb\x4b\x4a\x60\ \xdf\x16\x0f\x0a\x82\x29\xf4\xe3\x21\x9c\x8b\x7f\x09\x7e\x41\x47\ \x8a\x3c\xae\x27\xc0\x2d\x3f\xe8\xa2\x6c\x5e\x4e\x09\x66\x10\x30\ \x2d\xcb\x4e\x9f\x6a\xf4\xa2\x4a\xd8\x0f\xd5\x57\x89\x9f\xef\xeb\ \x40\xdb\x49\xcd\xfe\xaa\xe9\xc9\x18\x0e\xee\x0c\xa2\xac\x20\x86\ \x88\x72\x27\xce\xa3\x81\xb2\x10\xa0\xba\x07\x91\x97\x1f\x72\x3a\ \x87\xf6\xb0\x01\xd9\x34\x11\xe6\xea\x82\x59\x1a\x60\x48\xc4\x87\ \xb0\xd0\x3c\x00\x6f\x78\x31\x0e\xbd\xd6\x81\x13\x3d\xf9\xb4\xd9\ \x30\x62\xb1\x08\x9a\xb7\x06\xb1\xb8\x34\x02\x4d\xad\x43\x47\x62\ \x1d\xfc\x01\x09\xa2\x24\xc3\xed\xf3\x92\xe8\x32\x7d\xcf\x32\x05\ \xe7\x1a\x98\xb6\xbf\x75\x39\x1a\x68\x6f\x7b\x0b\x37\x86\x47\x11\ \x5a\xb4\x14\xed\xed\xff\xc2\xcf\xf6\x7f\x08\x5d\xcf\xf6\x7b\x83\ \x84\x2f\xd6\x4e\x20\x61\x15\xe3\xd7\x6f\xd4\x83\xc9\xc7\xe0\xf1\ \x78\xed\xe8\x55\x97\x3b\x13\x7a\x06\x1b\x1e\xaf\x17\x7d\x3d\x5d\ \x9f\xad\x04\x02\x18\xbe\x7e\xfd\x29\x54\x5c\xd9\x80\xee\xce\x0e\ \xbc\xf4\x8f\x10\x07\xb7\xeb\xfe\xe0\x72\x0d\xdf\xbc\x93\x94\x0d\ \x1f\x9a\x0e\x14\x63\x22\x71\x06\x8a\xa2\xc2\xed\x76\xc3\xed\x72\ \x81\xe5\x50\xfc\x2c\xac\xb9\x44\xb8\xea\xf6\x51\x2c\xbb\xe3\x09\ \x8c\x45\x93\xf8\xce\x4f\xdb\x30\x38\x14\xb5\xeb\x7e\xd3\x95\x51\ \x6c\x6b\xb0\xe0\xa2\x28\x1b\x9b\xe7\xe3\xe2\xb8\x44\xe0\x1c\x20\ \x73\xf2\x19\x86\x81\xcb\x31\xd3\xfa\x3f\x1a\xb8\xa1\x7a\x18\x0f\ \x7c\xeb\x49\xc4\xa3\x43\x78\x78\x43\x33\x81\x6b\xf6\x87\xa4\xb2\ \x70\x02\x7b\x36\x32\x04\xfd\x2e\x34\xb5\x5c\x81\x9e\x21\x37\x81\ \xf3\x3b\x81\x08\x97\x9b\x22\x77\xa2\x9d\xdb\x2c\x8b\xe5\x2e\x41\ \x59\x78\x04\x5b\xb7\x6c\xb4\x23\x59\xd7\xb8\x0f\x1f\x9d\x9f\x02\ \xb7\x80\x32\x8e\x17\x1a\xd3\x98\x17\x56\xf0\xcb\x97\x0b\x71\xbc\ \xcb\x43\xe0\x80\x08\x01\x5e\x8f\x07\x02\xe3\xe0\xd6\x1c\xb0\x73\ \x94\x20\xe4\x19\xc3\x8e\x47\x87\x20\xb8\x2b\xb1\x79\xd3\x66\xfc\ \xa7\x3b\x03\x2e\x5a\x51\x1c\x78\x92\xa1\xa2\x54\x41\x7b\xdf\x52\ \x08\x25\xcb\xb1\xba\x21\x60\x9f\x9c\x35\x35\x35\xfc\x76\x33\x2b\ \xf2\xf1\xf1\x71\x34\x6d\xdb\xc6\xb3\xc3\xa3\xb5\x5b\xba\xb8\xa8\ \xe8\xd3\x45\xf8\xfb\xa7\xdd\xb5\xcf\x3c\xb1\x1c\xf9\x4b\xfe\x82\ \xed\x4f\x7d\x1f\x47\xdb\xe3\xd9\x56\xd4\x28\x72\x03\x35\x15\x16\ \x3a\x87\xaa\xf0\xc6\xfb\xf5\xf0\xfb\x59\xe6\xee\x10\x0a\x41\x55\ \x55\x24\x12\x09\x7e\x74\x73\x77\x44\x47\x17\x1b\x5b\x94\x92\x24\ \x81\x73\x4b\xa5\x52\x48\xa7\xd3\x0e\x1e\x23\x77\x08\xbc\xbe\xf7\ \x11\xd7\x8a\xa5\xfe\xbf\x15\x56\xde\x85\x67\x77\xac\x42\x6b\x67\ \x25\x8f\x01\x8c\x84\xf2\xd4\xea\x09\x2c\xbb\x4a\xc2\xf9\x89\x12\ \x6c\xd8\x9d\x84\xc9\xde\x84\x22\x2b\xf6\x4d\xe9\xf9\xbd\x7b\x79\ \x84\x36\x30\x63\x19\x52\x7c\x74\x0e\x1e\x9b\x94\xc8\xf3\xcd\xdf\ \xe7\xf3\xb9\x2f\xa5\xa1\x92\xaa\x87\x27\xf3\x1b\x2b\xff\x78\xe0\ \x57\xf8\xed\xeb\x79\xf4\x62\x3f\xb8\xad\xbd\x7b\x18\xf7\xdf\x26\ \x22\x92\xcc\x43\xf3\xdb\x37\x23\x16\x7f\x07\xb2\x24\x83\xa9\x16\ \xdf\xcc\x69\x37\x8a\x8c\x00\xed\x39\xc7\xf9\x7c\x56\x95\xc8\x0e\ \x9f\x4e\xc0\x1b\x2a\x59\x1f\x2c\x5d\x22\x84\x6b\x69\x8a\xb5\x80\ \xdb\x97\xeb\x47\xf0\xbd\xfb\x04\x24\x0d\x15\xbb\x5f\xa9\x27\x50\ \x2f\xc0\xec\xa0\x6c\xd1\x4d\x25\x93\x1c\x94\xa7\x96\x8f\x5c\xb4\ \x1c\x60\x5a\x16\x38\xaa\x43\x94\x13\xa3\xc5\x1e\x5a\xeb\xf3\xfb\ \x31\x41\x1a\x91\xb3\xe9\x97\xaa\x97\xdd\x7b\xbd\x16\xe9\x41\x45\ \xb1\x81\xad\x8f\x5d\x83\x57\x0f\xb7\xe2\x27\x6b\x4d\x48\x94\xea\ \x35\x3b\x5c\x08\x95\xf9\x51\xe4\x53\x00\x70\x70\x2f\x98\x7d\x48\ \x19\x98\x9a\x9a\x72\x00\x68\x74\x32\x41\xa3\xed\x3a\x91\x92\x25\ \x29\x33\x47\x0e\xfe\xae\x00\x4e\xde\x3e\x21\xe5\x4c\xf4\xc5\x5f\ \x81\xa8\x29\x89\x68\x2f\xb4\xe8\x39\xcc\xcf\x1f\xc5\x1a\xba\x58\ \x0c\x47\x06\xb0\xbd\x85\xa1\x7b\xc0\x85\x07\x6f\xae\x40\x55\x55\ \x15\xfe\x7e\xe4\x08\x81\xf1\x68\x75\x0e\xea\x08\x8b\xa2\x77\x4a\ \x90\x05\xcf\x90\xd4\x29\x3b\xb6\x08\x33\x77\x02\x81\x46\x59\x94\ \x10\x8b\x46\x11\x08\x06\x33\x04\x4e\x9c\x8d\xed\xbe\xce\xd3\x05\ \xaf\x34\x82\xd4\xe4\x05\x24\x34\x52\xfb\xb9\x02\x3c\x7f\x50\xc0\ \x58\xd4\x44\x59\x69\x00\xd7\xd6\x5d\x8b\x60\x5e\x10\x53\x29\x1d\ \x1a\x29\xde\xcc\x76\x80\xa6\x69\x0e\x68\x36\xfd\xce\xa8\xeb\x3a\ \x11\xe3\xf3\x96\x23\x50\x31\xdb\x9e\x85\x85\x85\x18\x19\x19\xc9\ \x10\x78\xa7\xfd\x83\xc5\x2f\x1f\x3e\x86\xc7\x1e\x98\xcf\x0a\x02\ \xbe\x7f\xff\xe6\xa5\xf1\x45\xa3\x91\x48\xfe\x27\xfa\xd5\x49\xf7\ \x9e\x5f\xec\x01\x99\x23\x34\xba\x07\xe6\x12\xa1\xf3\x6c\xe8\x3a\ \x6f\x43\x87\x80\x24\x8a\xf6\xfc\xe0\xe0\xa0\xdd\x3d\xf2\xe6\x75\ \x5f\x7d\xf4\xc2\xd0\xb0\x50\x5b\xee\xee\x7c\xbb\xf5\xe2\x43\x2f\ \x1e\x3e\x39\x9e\x17\x0c\x7e\xbb\xac\xb4\xf4\x69\x49\x94\xbc\x20\ \xd3\x0d\xdd\x06\x92\x65\x79\x5a\x9a\x69\xb4\x53\x9f\x4d\xff\xb4\ \x43\x87\x6f\x4e\xc6\xeb\xec\xcc\x39\xc2\xbc\x14\x98\x2e\x6b\x93\ \x93\xe7\xea\xab\x02\xc5\x7f\x78\xe5\x78\x04\x80\x9b\x3c\x2f\x1a\ \x8b\x9d\x4c\xa6\x52\x2d\x2e\x45\x2d\x81\x00\x56\x55\x5d\x2d\xb6\ \xbe\xf7\xde\x02\x35\x63\x8a\x24\xcb\x8a\x22\x2b\xaa\x24\x89\x0a\ \xf5\xbf\x24\x88\xfc\x08\x02\x83\x20\xf0\xc2\xeb\x96\xc5\xf4\x74\ \xda\x30\x22\xd1\xa8\x26\xab\x4a\xcf\xd0\x85\xa1\x14\xb3\xa5\x77\ \xe9\x62\x4f\xeb\x4c\x22\x74\x4c\x6e\xfe\xd3\xbb\xad\x00\xae\x20\ \x5f\x48\xae\x64\x5b\x33\x42\xe2\xfa\x33\xb9\x04\xc0\xec\xee\xee\ \x36\xfb\xfb\xfb\x53\x14\x95\x49\x0b\x2d\xbe\x98\x88\x58\x14\x8d\ \xc5\xe7\x28\xc5\x26\x65\xc1\xa2\xaf\x1e\xf3\x7a\xbd\x16\x65\xca\ \xe2\xbf\x0f\x0f\x0f\xa7\x29\x73\x52\xf6\xff\x41\x01\x8e\x39\x44\ \x52\xff\x03\x8c\xc5\xea\x43\x58\x2b\x6c\x4b\x00\x00\x00\x00\x49\ \x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x3f\x83\ \xff\ \xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x48\x00\ \x48\x00\x00\xff\xe1\x00\x16\x45\x78\x69\x66\x00\x00\x4d\x4d\x00\ \x2a\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x3b\x43\ \x52\x45\x41\x54\x4f\x52\x3a\x20\x67\x64\x2d\x6a\x70\x65\x67\x20\ \x76\x31\x2e\x30\x20\x28\x75\x73\x69\x6e\x67\x20\x49\x4a\x47\x20\ \x4a\x50\x45\x47\x20\x76\x36\x32\x29\x2c\x20\x71\x75\x61\x6c\x69\ \x74\x79\x20\x3d\x20\x39\x35\x0a\xff\xdb\x00\x43\x00\x05\x03\x04\ \x04\x04\x03\x05\x04\x04\x04\x05\x05\x05\x06\x07\x0c\x08\x07\x07\ \x07\x07\x0f\x0b\x0b\x09\x0c\x11\x0f\x12\x12\x11\x0f\x11\x11\x13\ \x16\x1c\x17\x13\x14\x1a\x15\x11\x11\x18\x21\x18\x1a\x1d\x1d\x1f\ \x1f\x1f\x13\x17\x22\x24\x22\x1e\x24\x1c\x1e\x1f\x1e\xff\xc0\x00\ \x0b\x08\x01\x2c\x01\x90\x01\x01\x22\x00\xff\xc4\x00\x1c\x00\x00\ \x02\x03\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\ \x04\x01\x02\x05\x00\x06\x07\x08\xff\xc4\x00\x44\x10\x00\x02\x01\ \x03\x03\x02\x04\x03\x05\x04\x07\x07\x04\x03\x01\x00\x01\x02\x03\ \x00\x04\x11\x05\x12\x21\x31\x41\x13\x22\x51\x61\x71\x81\x91\x06\ \x14\x23\x32\xa1\x15\x42\xc1\xd1\x24\x33\x52\x92\xb1\xe1\xf0\x34\ \x62\x72\x83\xa2\xb2\xf1\x16\x53\x73\x82\x07\x43\x44\x54\xff\xda\ \x00\x08\x01\x01\x00\x00\x3f\x00\xfd\x61\x2b\xaa\xa1\x66\xe8\x28\ \x16\x0f\x1c\xc5\x9d\x54\x0e\x6a\x6f\xae\xd6\x1d\xaa\x31\xb9\x8e\ \x05\x30\xbe\x68\xfe\x54\xa5\xd1\x8a\x08\xd9\xc8\xa4\xb4\xb1\xe3\ \x48\xf3\xb7\xe5\x1c\x0a\xed\x4a\x6c\x01\x1a\x36\x59\xb8\xc5\x5a\ \xce\xdd\x62\x8f\x7b\xc7\x92\x7d\xa8\xb7\x5b\xe3\xb4\x6f\x0e\x30\ \x09\xac\x6d\x15\x51\x6f\x1c\x94\x2c\xe6\x9a\xd7\xaf\x25\x86\xdd\ \xd1\x21\x3b\x88\xeb\x59\xff\x00\x64\x56\xe7\x63\x82\xaa\x0e\x72\ \x49\xa2\xeb\xff\x00\x7c\x98\x35\xb8\xc1\x19\xec\x3a\xd5\xfe\xcc\ \xda\x4d\x04\x25\x64\x4c\x10\x7b\xd6\x9e\xd9\x65\x9b\x63\x00\x10\ \x7e\xb4\xea\x44\x17\x81\xc5\x52\x45\x19\xe1\xa8\xaa\x88\x13\x25\ \xb9\xa5\x66\x8c\x97\xf2\x55\x7c\x16\xce\x1a\x97\xd4\x2c\xa3\x2a\ \x0a\x2f\x9b\x3d\x6a\xf6\x91\x14\x8f\x06\x9b\xb3\x8c\xab\x13\x4c\ \xf7\xa4\x75\x0f\xcc\x29\x33\x56\x8b\xf3\x8e\x69\xb6\x04\x27\xb5\ \x01\xa4\x4f\xec\xd5\x97\x3b\x41\x18\xab\x47\xce\x73\x5d\x8f\x3e\ \x46\x6a\xcf\x31\x8d\x72\x45\x09\xef\x78\xf2\xad\x29\x23\x97\x6d\ \xc7\xad\x0c\xd5\xa2\x6d\xb2\x0a\x69\x8f\x94\xe0\x66\x96\x5b\x90\ \x09\x5e\x54\xd5\x01\x8a\x46\xfc\x46\xc9\xae\x85\xe3\x86\x66\x46\ \x5c\xc6\xc3\x83\x8e\x94\x68\xe5\x83\x98\xdd\x78\x27\x83\x56\x8e\ \x3f\x0d\xb2\xad\xe5\xad\x1b\x72\xe5\x41\xed\x44\xbb\xc3\x47\x85\ \x25\x5f\xd6\xbc\xfe\xb0\x2f\x2c\x80\x91\x64\x2e\xac\x69\xcb\x0b\ \xa9\x56\xdd\x4c\xcb\xbb\x3d\xe9\xaf\xbe\x2e\x38\x5a\x89\xa5\xdf\ \x1e\x0a\xe7\x3d\x0d\x22\xea\xca\x04\xbc\x86\x53\x5a\xda\x84\x53\ \xba\x14\x8c\xe3\x23\x9a\xeb\x1b\x53\x05\xb6\xd6\x73\xb8\xf5\xc5\ \x2b\xfb\x39\x9e\xe9\x65\x77\x63\xb4\xe7\x93\x5a\xa8\x08\x5c\x0a\ \xca\xd5\x96\xe6\x7f\xc2\x40\x02\x93\x82\x68\xb6\xa1\x2d\xad\x84\ \x44\x72\x05\x2a\x23\x51\x31\x91\x53\x71\xa2\x9b\xb9\x44\xab\x1b\ \xa8\x18\xe7\x14\x3b\xbb\xb9\xf7\x61\xd3\xf0\xfd\xbb\x50\xed\x42\ \x24\xbe\x34\x78\xc9\x1c\xd1\xee\x04\x77\x3f\x9f\x06\x8d\x6b\x15\ \xbc\x19\xd8\x70\x4f\x5c\x55\x80\x84\x1c\x91\x93\x44\x8c\xa8\xfc\ \xab\x44\x0a\x02\xee\x38\x15\x54\x65\x70\x72\xc3\x02\x87\x1b\x46\ \x58\x81\xc8\xcd\x1c\xa8\xdb\xc0\xa1\xa0\x39\xca\x8a\xac\x8a\xe5\ \xbd\xea\x19\x5f\x18\x61\x8a\x8e\x7a\x51\xad\xc1\xc9\xa2\xf7\xa4\ \x35\x1f\xcc\x29\x3a\x94\x38\x60\x4d\x30\xd2\x1f\x0f\x76\x38\xa5\ \xb3\x47\xb7\x4c\x8d\xd9\x15\xd8\x68\xdb\x03\x9c\xd5\xc1\x22\x41\ \xe5\xe3\xd6\xa6\xe8\x03\x11\xac\xe3\x50\x4d\x45\x54\x9a\x76\x22\ \x19\x01\xa5\x2e\x94\x2c\x9c\x8e\xb4\x4b\x78\x23\x07\x7b\x91\xd2\ \xa4\xcf\x6c\xbb\x95\x88\x2b\xd8\x8a\xac\x77\x16\xcf\x18\x23\x68\ \x61\xd4\x1a\xa5\xf4\xea\xc0\x78\x2f\x8c\xf5\x15\xab\xa2\xcb\x2b\ \x5a\x08\xde\x23\x90\x38\x6f\x5a\x5e\xe1\x6e\xda\x56\xc3\x01\x8e\ \x82\x95\xb8\x17\x44\x2a\xcf\x86\x8f\xa8\xe2\x8b\x1c\xca\x14\x29\ \x5e\x31\x57\x12\xa9\x8c\x85\x00\x37\xa1\xa8\x25\x5a\x35\x61\x90\ \xdd\xc0\xa1\xcb\x21\x1c\x73\x83\xd7\x22\xbd\x02\xf3\x55\x72\x17\ \xde\xa7\x1c\x8a\xe7\x60\xa3\x93\x8a\x10\x0d\x2b\x79\x57\x03\xd6\ \xae\x2d\x53\x39\x63\x93\x5d\xe1\xc6\xa7\x0a\x06\x69\x5b\x8b\x48\ \xe5\x6d\xfd\x1b\xd6\xb3\x6e\xda\x68\xb7\x23\x26\xe0\x3f\x7a\x91\ \x59\x5d\x4f\x97\x8a\xd1\xb2\xb5\x96\x44\x12\xc8\x70\xb4\xf2\x5b\ \x29\x3c\x37\x00\x73\x52\x8a\x06\x40\x19\xc5\x19\x09\xc0\xc2\xd0\ \xb5\x28\xcc\xb1\x85\x12\x18\xc7\x7c\x1e\xb4\x9c\xba\x7c\x69\x68\ \xcd\xe3\x3e\xe2\x3a\xee\xa3\x59\x40\xe9\x0a\x8d\xd9\xa7\x09\x60\ \x9d\xaa\x8d\x32\x5b\x21\x92\x6e\x17\xd6\x93\x3a\xc5\xa8\x7d\xdb\ \xb8\xa2\xc3\x7b\x1d\xe4\x9f\x87\xd0\x51\xc3\x28\x38\xc7\x4a\x24\ \x24\x31\x24\x55\xfb\xd6\x7e\xa3\xf9\xc5\x27\x5c\x31\x9e\x7a\x51\ \x8b\xc5\x8c\x60\x91\x40\x3e\xdd\x29\x8b\x52\x76\x90\x2a\xe7\x01\ \x86\x4f\xd2\xad\x27\xe5\xc9\xfd\x2a\xac\x46\xdc\x10\xdc\xd2\x0e\ \x30\xc6\xab\x50\x6a\xa6\x8f\x68\xdc\x15\xae\xbf\xc8\x87\x78\x19\ \xc5\x23\x05\xc4\x72\x10\x18\x9f\x85\x3a\xd1\xc2\xd1\x65\x61\x6c\ \x11\xd7\x6d\x67\x0b\x76\x69\x31\x8c\x13\xd0\x53\x5f\x70\x62\x9d\ \xd4\xd6\xae\x99\x7c\xd0\xc0\xb6\xf2\x46\x4b\xa8\xe0\x8e\xf5\x9f\ \x7f\x7b\x72\x25\x24\xc2\x40\x27\x8c\x1a\x8b\x7b\x9b\x89\x46\xd6\ \x8f\xcb\xef\x4e\x46\x41\x03\x2a\x2b\xa4\xb6\x43\xca\x9c\x50\x02\ \x3c\x73\x00\x0e\x4d\x5e\xe5\x5d\xe2\x03\x0b\xc5\x6e\x85\xe3\x8e\ \x2a\x08\x18\xc6\x2a\x09\xc1\xcd\x70\x5f\x11\xb2\xd4\x60\x00\x18\ \x02\xb2\x35\x39\xef\x5a\x6d\x90\x23\x2a\xaf\xa0\xce\x6a\xfa\x52\ \x5c\x9c\xc9\x39\x3c\xfa\xd3\x92\x95\x40\x5d\x88\x00\x52\xf0\x4b\ \x0d\xcc\x6e\x30\x0d\x67\x69\xf6\xa8\xd7\xee\x24\x1e\x50\x7c\xa2\ \x99\xd4\xa6\x99\x0f\x85\x02\x80\xa3\xbd\x0f\x37\xf0\xda\x97\xc2\ \xb6\x69\xbb\x52\xc6\x25\x04\x63\xd6\x98\x5e\x18\xe4\x64\x57\x98\ \xd7\x53\x55\x7b\xc6\xf0\x65\x21\x3b\x01\xda\x87\xa7\xdb\x6a\xde\ \x2a\x99\xe4\x67\x41\xd8\xd6\xff\x00\xf4\x8c\x02\x00\x50\x2a\x64\ \x37\x25\x41\x07\x23\x3d\xa8\x7a\x97\x8d\x71\x68\x63\x20\x28\xc7\ \x6e\xb5\xe7\x3f\x65\x5c\xb1\x38\x2d\x8f\x85\x6a\x68\xf6\x73\x5a\ \x83\xbc\x9e\x7d\x6b\x53\x27\x14\x7b\x4e\x86\x8d\xd4\xd6\x76\xa3\ \xf9\xc5\x29\x5c\x48\x15\x5c\x83\xd0\xd4\xf6\xab\xc3\x20\x4c\x82\ \x70\x0d\x14\xbc\x7b\x47\x9f\x38\x39\xa9\x32\xa9\x04\x7e\xe0\xef\ \x44\x41\xbe\x30\x79\x1f\x3a\x46\xe1\x76\xca\x47\x34\x2a\x8a\xa9\ \xa9\x85\xf6\xc8\x0d\x3a\x40\x75\x28\x47\x06\xb3\x4d\xb8\x47\x3e\ \x50\x08\xad\x24\xbd\x02\xd8\x46\x23\x19\x03\x15\x7b\x6b\x63\x2e\ \xcb\x9c\x8c\xa9\xe9\x4c\xcc\x0c\xcd\xb4\x00\x29\x3d\xa1\x26\xda\ \x5b\x06\xba\xe1\x41\x0b\xb8\x8c\x13\xcd\x42\x44\xab\x3e\xc6\x3e\ \x52\x38\x61\x53\x19\x09\x29\x46\xe4\x76\x34\x5b\x95\x32\x2e\xe4\ \x18\x06\xa9\x2c\x40\x48\x92\x97\xc1\x02\x83\x72\xe0\x9c\x83\xf4\ \xad\xd7\x60\x89\xb9\x9b\x19\x3c\x54\xe0\x63\x39\xe2\xa8\xd8\x62\ \x00\xa3\x2e\x02\xe7\xd2\xa3\xc4\x4f\xed\x0a\xac\x93\xc1\x18\xcb\ \xc8\x8a\x3d\xcd\x66\xdf\x6b\xd6\x30\x02\x11\xfc\x46\xf4\x5a\xf3\ \xb7\xda\xd4\xf7\x92\x6c\x4e\x01\x3c\x01\x5a\x3a\x6c\xa2\x08\x42\ \x6e\xcb\xb7\x53\xe9\x5a\xd1\xb4\x30\x43\xf7\x93\xcf\x15\x8d\x73\ \xad\xc4\xf3\x6e\xc1\xc6\x7a\x62\x99\x8b\x57\xfb\xdb\x2c\x4b\x19\ \x44\x5e\xa4\xf7\xa6\xfe\xf2\xdd\x11\x72\x3d\x6a\xf0\x4c\xc5\xbf\ \x13\x81\x45\x26\x36\x93\x23\x04\x0e\xf5\xce\xe0\x0c\x28\xa1\x97\ \x75\x05\x24\x53\xcf\x42\x2a\x63\x6d\xb1\xec\xc9\xc7\xbd\x71\x47\ \x65\xf2\x8c\xd1\xed\x55\x96\x20\x0a\x0c\xd5\x2f\x18\x80\x06\xd1\ \xd6\x96\xcc\x9d\x94\x53\x76\x7b\xbc\x33\xb8\x00\x68\xab\xd6\xb3\ \xb5\x1f\xeb\x05\x28\x49\x24\x01\x45\x11\xa7\xef\x0c\x9a\xe6\x8a\ \x23\xfb\xa0\x7c\x28\x4e\x36\x36\x01\xe2\xaa\x6a\x3b\xd3\x4a\xb1\ \x6c\xda\xad\xe5\x3d\x79\xab\xa3\x46\x10\xa9\x61\xb4\x1c\x03\x9a\ \x5e\xf3\xf3\x06\x1d\x3b\x1a\x58\xd4\x1a\xa9\xaa\xe3\x9a\x7a\x06\ \xca\x06\xcf\x34\xa6\xa5\x38\x82\x40\x58\x70\x7b\xd3\xba\x5a\x5b\ \xdc\x28\x66\x39\x53\xfa\x50\xf5\xab\xe1\xa4\xa9\x11\x61\x95\xbf\ \x4a\xc5\xff\x00\xd4\x85\x46\xee\x33\x4f\xdb\x5e\x2d\xe4\x22\xe5\ \xdb\x6b\xd3\xd0\xcd\x14\xca\x55\x3c\xc4\x8e\x6a\x42\xed\x1e\x6e\ \x06\x38\xa5\xee\xe6\x85\x02\xc8\xb2\x63\x1d\x73\x44\x1a\x84\x72\ \xc7\xb5\x24\x52\x3b\xe2\x83\x24\xe8\x06\x59\xf0\x3d\xcd\x0b\xc4\ \x57\x19\x56\x04\x52\xb2\x6b\x33\xdc\x4a\x8a\xec\x48\x07\x80\x05\ \x7a\x9b\x29\xbc\x6b\x54\x39\xea\x39\xa6\x23\x5c\x9c\xd4\xef\xda\ \xc7\xd2\xb3\xf5\x65\x2f\x19\x28\xa4\x9f\x6a\xf2\x17\x69\x78\xd2\ \x10\xa1\xfe\x94\xba\xe9\xf7\x92\x37\x98\x35\x68\xd9\x69\x86\x20\ \x09\x04\x9a\xd1\x48\xd6\x31\x97\x38\xf6\xaa\xcb\x39\x28\x51\x38\ \x53\xc5\x0e\xda\xd4\x4a\xdc\x26\x7e\x54\xdd\xac\x48\xb3\x6c\xdb\ \xc8\xeb\x5a\xc9\xe1\x2a\xed\x51\x9a\xb1\x68\xc2\xf9\x80\x07\xd2\ \x85\x36\xe6\x53\xb1\x08\xcd\x73\x10\x63\x01\xc1\x1b\x79\xe2\x86\ \x26\x79\x4f\x43\x81\xd2\x86\x0b\xf9\xcb\x64\x62\x9a\xb6\x59\x9d\ \x06\x5c\x2f\x14\xbd\xdb\x5e\xc6\xa7\xc3\x7f\x28\xea\x45\x66\x43\ \x79\x3b\x5c\x7f\x48\x91\x98\x7e\xed\x6a\x42\xec\xe3\x71\x1b\x47\ \xbd\x3b\x6c\x41\x88\x90\x73\x57\x03\x9e\x6b\x37\x51\xc7\x88\x29\ \x4a\xb8\x90\x81\x8a\x83\x21\xaa\x13\x93\x93\xd6\xa3\x35\xd9\xa8\ \x26\xbb\x3c\x75\xa8\x66\x24\x60\x92\x40\xa8\xc8\xaa\x92\x2a\x09\ \xa8\x24\x51\xec\xdf\x92\xbf\x3e\xb5\x1a\xa4\x2b\x35\xbf\x24\x02\ \xb4\x85\xbb\xdc\x58\x02\x41\xdd\x13\x53\x57\x8f\x69\x79\x68\xbb\ \xc7\x38\xf3\x67\xd6\xb2\x2c\xf4\x45\x9d\x1d\x90\x2e\xdd\xd8\xa8\ \x7b\x39\x2c\xe4\x30\x6e\x3c\x76\xcd\x6d\x69\x51\xdb\xaa\x23\x07\ \x2a\xf8\xe6\x8c\xed\x72\xcc\x42\xa8\x92\x31\xdc\x56\x6d\xd4\xf0\ \x24\x65\x65\x4d\xca\x73\x95\x34\xa2\xeb\x3a\x5a\x4c\x5d\x61\xda\ \x48\x19\x00\xf1\x42\x7d\x6b\x4e\x92\x47\x12\xae\x62\x24\x15\x07\ \x3c\x62\x8a\xba\xbe\x98\x4b\x98\x94\xa6\xe3\xbb\x03\xa0\xad\xab\ \x3b\x2b\x68\x98\x33\x26\x4e\x6b\x62\xd2\x68\x64\x63\x0c\x58\x0c\ \xbd\x45\x32\x33\xd2\xa9\x38\x20\xaf\x6e\x6a\xdb\x41\x5c\x63\xad\ \x2b\x12\xc1\x21\x70\x17\x05\x7b\x91\x54\x28\x8a\x32\x54\x52\x33\ \x48\x59\xf6\x44\xb4\x5b\x6d\x38\xc8\xae\xf3\x92\x30\x38\xe6\xb8\ \x69\xf0\xed\xc9\x7c\xd3\xa8\x91\xdb\x84\x8a\x35\x05\xb1\x9a\x4a\ \x10\x44\xf3\xcd\x2e\x01\x06\xb4\xe1\x92\x25\x85\x4a\x2e\x72\x3a\ \xd0\x1f\x6b\xcc\xac\x58\x0c\x76\xa2\x4d\x70\x01\xc2\x85\x03\xe3\ \x49\x96\x04\xb3\x31\xc8\x26\x8c\xe5\x37\x46\x61\x91\x55\x47\x51\ \xeb\x57\x90\x2d\xc4\x81\x07\x19\xab\xbd\xb8\x8c\x85\x12\x36\x2b\ \xae\x23\xdb\x61\x26\x18\x8e\x2b\x0a\x0b\x49\x64\x9c\x31\x39\x02\ \xb4\xae\x46\xc8\x42\x86\xe6\x9a\xd3\x7f\xd9\x7a\xf7\xa6\x07\x5e\ \xfd\x2b\xcb\x7d\xb1\xd4\x25\xb2\x65\x31\x63\x38\x27\xcc\x73\x5e\ \x4d\xbe\xd3\x6a\x3d\xbc\x3f\xee\xd0\xdb\xed\x2e\xa5\xfd\xb4\x1f\ \xfd\x6a\x8d\xf6\x8f\x53\xff\x00\xde\x51\xff\x00\xd6\xaa\x7e\xd0\ \x6a\x84\x7f\xb4\x7f\xd2\x2a\x8d\xaf\x6a\x7c\xff\x00\x49\x3f\x41\ \x50\x75\xcd\x4f\x3f\xed\x6c\x3e\x42\xaa\x75\xad\x48\xff\x00\xfd\ \x4f\xfa\x55\x4e\xb1\xa8\xf7\xbb\x92\xa0\xea\xfa\x89\x38\x17\x72\ \x7d\x6a\xa7\x56\xd4\x09\xff\x00\x6b\x93\xeb\x50\x75\x5d\x43\x8f\ \xe9\x72\xfd\x6a\x0e\xa9\xa8\x7f\xfe\xb9\x7e\xb5\xc3\x53\xbf\xcf\ \xfb\x5c\xbf\x5a\xf4\x3f\x61\xae\x6e\x2e\x35\x37\x59\xa6\x79\x3f\ \x0c\xe3\x23\x3d\xc5\x7b\x26\x50\xf1\x95\x6e\x72\x30\x45\x20\x8b\ \x11\x47\x80\x9e\xfd\x0f\x6a\x67\xef\x10\xc4\x0a\xb4\x4a\x77\x2e\ \x31\x54\xb0\x5d\xa8\x64\x57\x0a\x0b\x60\xa8\xa9\xba\x8e\x09\x6e\ \x30\xec\x3c\x41\xcf\xc6\x8c\xde\x03\x46\xca\x51\x4e\x7a\x7b\x53\ \x9a\x54\x61\x2d\xca\xe3\xad\x79\x4f\xb5\xb0\x78\x79\x8b\xa3\x6e\ \xc8\x3e\xd5\x9d\xa5\xe9\x76\xc7\x4c\x9a\xea\xec\x31\x39\xdb\x1e\ \x0f\x53\x58\x37\x08\x04\xcc\x99\x1c\x1c\x56\xfe\x81\xa6\xda\x35\ \x83\xdd\xdc\x97\x69\x01\xfc\x38\xc7\x43\x4f\xcd\xf6\x8f\x64\x8c\ \x9e\x0f\x20\xe3\xad\x17\xec\xee\xac\x7f\x6a\x16\x76\xc0\x97\xad\ \x7b\x38\xd9\xb9\x60\x33\xe9\x55\x21\x99\x81\x7e\x48\xa9\x56\x0d\ \x29\x45\x61\xb9\x47\x22\xa3\x6e\xee\x3a\x55\x2e\x60\x6f\x0c\x92\ \xc0\x60\x52\x1a\x4c\x7f\x8d\x23\x38\xce\xd3\xc5\x3d\xa8\xc5\x24\ \xb0\x83\x1c\x86\x35\xee\x3d\x69\x08\x74\xe9\x64\x6f\xeb\xc8\xa5\ \x63\x37\x90\xde\xc8\xd9\x32\xa8\x38\x0c\x69\xd8\x62\x69\xe2\xf0\ \xb7\x61\xd8\xe5\xa9\xe6\x81\x52\x2d\x9b\xf9\x02\x96\xb5\x83\xc4\ \x90\x86\x27\x02\x8b\x24\x16\xf8\x21\x5b\x24\x7b\xd2\xf2\xc6\x02\ \x84\x15\x19\x48\xbc\xa0\x65\xbd\x69\x84\x8c\xc7\x6a\x6e\x83\x79\ \xc0\x26\xbc\xf4\xbf\x68\x27\xde\xc1\x8a\xe4\x1a\x1a\x6b\xd2\xdc\ \x4c\x96\xef\x27\x91\x8f\x40\x2b\xd0\xbb\xf8\x56\x69\xb0\x0d\xc6\ \x97\x11\xbc\x87\x74\x84\xfc\x2b\x4a\xd1\x76\x5b\x63\x04\x7c\x69\ \x5d\x4e\xfc\x59\x84\xc4\x6b\x21\x7e\x31\x9e\x95\xe4\xf5\xb9\x7f\ \x6b\x6a\x11\xdb\x36\x21\x67\x1b\x47\xa5\x65\x49\xf6\x6a\x4f\xbd\ \xcb\x0a\xce\xa4\x22\x82\x3d\xe9\x36\xd0\xa5\x16\x49\x73\xe3\x2f\ \x99\xf6\x91\xe9\xce\x28\xab\xf6\x75\xfe\xfd\xf7\x73\x3a\xe0\xc7\ \xb8\x1a\x0f\xec\x42\x2c\x65\xb8\x37\x0b\x98\xdc\x82\x3b\x70\x71\ \x47\x93\xec\xfa\x0b\xd8\x21\x37\x2b\x89\x14\xb6\x7e\x14\x21\xa1\ \xc7\xf7\x7b\xc7\xfb\xd2\xee\x81\x88\x1f\x4c\xd5\xdb\x42\x80\x4b\ \x67\x8b\xbf\x2c\xfd\x7d\x7a\x66\xb9\x34\x3b\x76\x6b\xb4\x37\x5e\ \x68\x7f\x2f\x3e\xd9\xa8\xfd\x8d\x6b\xe0\xd9\x4b\xf7\x9e\x27\x20\ \x1f\x98\xab\xa6\x87\x6a\x6e\xae\xa1\x37\x47\x31\xa8\x65\xe7\xd7\ \x3f\xca\x86\xba\x45\x9f\xdc\xed\x27\x37\x27\xf1\x1c\x2b\xf3\xea\ \x71\x46\x5d\x0e\xcc\xde\xdc\x41\xf7\x83\xe5\x40\xcb\xcf\x4c\xe6\ \x80\xba\x45\x9f\xdc\xad\xa7\xf1\xcf\x9e\x40\xaf\xf5\xc5\x32\xaa\ \xfa\x36\xa4\x4d\x8c\x87\xf2\x7e\x6f\xe1\x5e\xa7\xec\xe5\xdc\xf7\ \x96\x46\x49\xd8\xbb\xee\xeb\xc5\x16\xf5\x17\xc7\x2a\x47\xe6\x19\ \x52\x3d\x6b\x8d\x91\xb8\xb4\x8f\x12\x66\x4c\x12\x29\x3b\x7b\x5b\ \xc9\x19\x84\x40\xf9\x4e\x0e\x0e\x2a\xd3\xd9\x5d\xc4\xa6\x59\x14\ \xe0\x75\x39\xad\x5d\x26\x4b\x23\x6e\x9e\x21\x5d\xff\x00\xbd\x9a\ \x34\x77\x70\xac\xe5\x23\x7f\x2e\x70\x28\xf7\xd6\x50\x5d\xa8\x32\ \xc6\xac\x7d\x48\xac\x8d\x52\xc5\x55\x6d\xed\x23\x50\x90\xa9\xcb\ \x62\x93\x97\x41\xb3\x91\xb7\x04\x52\x4f\x7a\xb4\x16\xc2\x29\x04\ \x09\x85\x45\xac\xbd\x5f\x4c\x59\xa5\x46\xb7\x46\xc9\xfc\xd8\x14\ \xe7\xd9\xfd\x1d\xd6\x70\xf2\xa1\x01\x7d\x6b\xd7\xa3\x34\x71\xac\ \x6b\xcf\x1c\x93\x53\x1e\xe5\x20\x9e\x4d\x57\xc3\x44\x99\xa4\x54\ \x0a\xed\xd4\xf7\xa2\xa0\x6e\xa0\x56\x76\xad\x2c\xc8\x40\x2d\x8d\ \xe7\x14\xdd\x82\x47\x0c\x38\x62\x01\xc6\x49\x35\x97\x7d\xab\xcb\ \xe3\x18\x56\x2e\x01\xe3\x8e\xb4\xb3\xeb\x37\x50\xe5\x04\x2c\x0b\ \x0c\x0e\x29\xeb\x4b\x82\x2c\x80\x65\x21\xdb\xd4\x53\x10\x59\x4b\ \x0b\x17\x59\x4a\xb9\x19\x35\x74\x8b\xc3\x25\x9d\xcb\x13\xd7\x35\ \x63\xb3\xb9\x2b\xbb\xdf\x19\xab\x18\xd2\x1e\x8b\xc9\xaa\x78\x65\ \x8e\x76\x9c\xd5\x44\x0b\xbf\x73\x8c\x9f\x4a\x29\x41\xb0\xaf\x6f\ \x4a\xc4\x97\x46\xf1\x64\x72\x15\x40\x27\xd2\x87\x6b\xf6\x79\x63\ \xb9\x12\x86\xf3\x29\xcf\x4a\xda\x11\x60\x8c\x90\x48\xef\x5c\x59\ \x57\xa1\x04\xd3\x71\x02\x2d\x81\x72\x06\x7b\xd6\x1f\xda\x36\x46\ \x68\xb6\x7e\x26\xde\xb8\xe3\x15\xe6\xaf\xa3\x67\xbb\x86\x68\xb3\ \xb9\x1b\xb7\x6a\x04\xb3\xc8\xba\xb4\xa1\x49\x23\xc2\xe4\xe7\xbd\ \x66\xbc\xf2\x8d\x17\x69\x07\x22\x5e\x3f\xbd\x4d\x35\xcb\x7e\xdc\ \x84\xed\xe3\xc0\x20\xfe\x94\x8b\x4e\xe7\x46\xbf\x04\x67\x32\xb6\ \x29\x89\x65\x94\xea\x3a\x77\x07\x84\x39\xfa\x50\x12\x79\x44\x3a\ \xab\x01\xc1\x63\xfe\x15\x26\x49\xf6\xe9\x2b\x83\x95\x20\xf4\xf6\ \xa2\xa4\xf2\xfd\xeb\x54\x93\x07\x1b\x42\xf4\xf6\xa0\xee\x9f\xee\ \x3a\x54\x58\x3f\x9c\x1e\x9f\x3a\x2a\xcb\x37\xed\x3d\x46\x5c\x1c\ \x2c\x41\x7f\xc6\x95\x5f\x1f\xf6\x5e\x9d\x16\x0f\x9e\x50\xdf\xae\ \x69\xb0\xf3\xfe\xd4\xbd\x9b\x9f\x24\x41\x68\x11\x78\xe3\x4b\xb1\ \x80\xe7\xf1\x25\x0d\xfa\xe6\xb4\x75\x09\x12\x45\x6c\x31\x59\x13\ \xa9\xc7\x5a\xf4\x1f\x67\xed\x9a\xd6\xcd\x09\x8c\xbe\xe1\x9c\xd3\ \xd7\x5e\x75\x57\xc3\x29\x43\x91\x53\x1d\xb9\xf1\x3f\x02\xe1\x80\ \x60\x5b\xda\xad\xa7\xee\x11\xba\xab\x10\xc4\xf0\x73\xd6\xad\x77\ \x15\xdc\xb6\xe7\x01\xf9\x1d\x3d\x6b\x3e\xd2\xc4\xbc\xc1\x24\x90\ \x2f\xa8\x1d\x45\x6b\x8b\x38\x6c\xed\x9e\x74\x3e\x21\x03\x95\x34\ \x48\xf5\x01\xf7\x36\x91\x86\xd2\x3a\x02\x6b\x2e\xe3\x57\x0d\xcb\ \x44\xa6\x97\xfd\xa4\xa5\x88\x08\x05\x44\x77\xd1\x97\xfe\xac\x16\ \xaf\x4c\x62\x8f\xcb\x88\xc0\xc0\xe4\xe3\xad\x5d\x54\x0e\x80\x0a\ \xb2\x81\x82\xc7\xa5\x4a\x36\xee\x02\xf1\xd7\x35\x12\x8c\x30\x24\ \xe4\x9e\x6a\x44\x8c\x13\xc8\xb9\x34\xb5\xe4\x69\x21\x57\x99\x79\ \x5e\x84\xd0\x1e\x54\xc7\x19\x39\xa3\xd9\xac\x52\x3a\x6d\x84\xa9\ \x19\xc9\x2b\xd6\xb8\xac\x51\xce\x77\x2a\xb6\x39\x1c\x74\xa9\x9e\ \x34\x36\xa8\x5b\x00\x6f\x04\x51\x89\x38\x19\x3c\x1e\x94\x27\x04\ \xf7\xa8\xb9\xb7\x8a\xe1\x91\x99\x4e\x50\x7a\xd1\x71\x90\x33\xce\ \x2a\xdb\xb0\x41\x1c\x11\x50\xbb\x70\x72\x71\xc7\x5a\x56\xc9\x66\ \x85\x9c\xcb\x2f\x89\xbb\xb5\x32\x8e\xa3\xaf\x23\x14\xad\xb2\x9b\ \x79\x9e\x4f\x15\xa4\x2d\xd8\xd5\x9b\x2f\xd4\xe3\xd8\x54\x2c\x78\ \x39\x00\xe6\x8a\xdb\xd9\x76\xb6\x76\x8a\x47\x52\xb7\x1e\x18\x65\ \xc0\xf5\xa5\xf4\x8d\x36\x1b\x99\xd9\xa5\x19\x54\xfd\xd1\xc6\x69\ \x3b\x8b\x2b\x64\xd4\xae\x33\x09\xc1\x42\x13\x1d\x8d\x64\x4f\x6a\ \xa7\x4b\x2a\x20\x25\x96\x42\x4f\xb8\xcd\x5d\xad\xc7\xed\x88\xdc\ \x5b\xb1\x53\x11\x03\xd8\xd2\xc6\xc6\x46\xd2\xae\xe2\x10\x61\x8c\ \x84\xe7\xb7\x3c\xd3\x46\xd2\x46\xbf\xb3\x94\x5b\x1c\x6c\x23\x6f\ \xc4\x50\x53\x4f\x98\xc1\xa8\x43\xe0\xf3\x23\x92\x0f\xc4\x51\x1a\ \xd2\x6f\x17\x4f\x93\xee\xc3\x0a\x30\x46\x3d\x45\x70\xd3\xe6\xce\ \xa0\xbe\x0f\x12\x73\x9c\x74\xe3\x1f\xc2\xa0\x58\xdc\x98\x74\xe9\ \x04\x18\xd8\x40\xc6\x3a\xf1\x8a\xbc\x7a\x75\xc9\x9b\x50\x4f\x04\ \x62\x45\x07\x3e\x9c\x62\x84\x6c\x6e\x16\xd7\x4f\x63\x08\xcc\x4c\ \x07\x4e\xbd\xa8\xcb\xa7\x4e\x66\xbf\x5f\x08\x62\x45\x07\x3d\xc7\ \x18\xa1\x9b\x1b\x8f\xba\xe9\xd2\x78\x23\x31\xb0\x5e\x07\x5e\xd4\ \xf6\xa1\xa6\x24\xd1\x90\x14\x2c\x99\x1c\xd6\xbd\x94\x52\x22\x47\ \x16\xf3\xc8\xeb\xd8\x54\xa9\x42\xd2\x07\x7d\xcc\x3a\x0e\xc6\xa9\ \x76\x96\xe8\x54\xc7\x29\x19\x19\x65\x07\xbd\x02\x29\x3f\x14\x3a\ \x91\xc7\x41\x47\xbc\x4b\xa5\x91\x7f\xa5\xbe\xc7\x03\x8f\x4a\xcc\ \x8f\xef\x0b\x76\xc1\xe4\x24\xe7\x00\x9e\xe2\x98\x95\x2e\x36\x9c\ \x4a\xe5\x47\x6c\xd6\x7e\xa5\x0c\xd3\x2e\xd8\xe4\x7d\xbe\xcd\x8a\ \xc9\x93\x4c\xbf\x49\x32\x93\x48\x31\xd8\xb5\x2b\x73\x65\xa8\x2b\ \x97\x79\x9c\x7a\xe0\xd7\x5a\x5b\x5e\xb3\x1f\xe9\x52\xee\xc7\x94\ \x7a\xd7\xd5\xa3\xfc\x40\x71\x83\x8a\x8c\x10\x76\x9e\xb5\x33\xed\ \x8e\x1e\x5b\x07\xd2\xa2\x17\x45\xe5\xb3\xf2\xa5\xee\xaf\x61\x0e\ \xaa\xaa\x72\x4e\x09\x34\xdc\x7b\xc4\x63\x68\xeb\xcf\x4a\xcb\xd6\ \xef\x3e\xee\xc8\xaf\xc8\x1c\x90\x6a\x9a\x56\x24\x8f\x79\x1f\x0a\ \x7a\xfe\xe9\xad\xec\xf7\xc0\x85\x8a\xf5\x00\x56\x2b\x6a\x52\x36\ \x5b\xee\x72\x16\xff\x00\x84\xf3\x40\x97\x55\xbb\x9a\x68\xe0\x68\ \x1a\x34\x53\x9c\x11\x8a\xde\xb6\xb8\x46\x61\xbd\x48\x00\x51\x77\ \xe6\x3d\x80\x67\x27\x39\xc5\x72\xb3\x2e\x09\x04\x8c\xf7\xab\xef\ \x20\x36\xd1\xc3\x75\xaa\x85\xf2\x86\xce\x4e\x7a\x67\xb5\x44\x9b\ \x37\xe1\x32\x45\x70\x46\xda\x4e\xd1\xc7\x5e\x7a\x55\x32\x7d\x05\ \x77\x53\xce\x29\x69\x65\x91\xae\x56\xda\x02\x03\x31\xeb\x46\x9e\ \xc2\x68\xe0\x69\x05\xd3\x97\x51\x9f\x6a\xae\x95\x72\xf7\x11\x90\ \xfc\x91\xdf\xd6\x99\x92\x35\x34\x19\x65\x36\xd0\xbb\x45\x18\x0f\ \x8e\x9e\xb5\x8c\x97\x37\x0b\x72\xd2\xbc\x43\x69\x52\x0e\x69\x26\ \xbb\x9c\xdb\xbc\x1b\x17\x6b\x39\x20\xe3\x91\x46\x6b\x9b\xaf\xbc\ \xc1\x38\x03\x70\x5c\x1e\x2a\xa6\x5b\xaf\x06\x78\xcf\xe4\x76\xc8\ \x18\xef\x46\xf1\x2e\xf7\x5b\xb6\x4e\xf4\xc0\x1e\xbe\x94\xb5\xdc\ \xb7\x90\x4f\x26\x0f\x96\x5e\xa0\x8a\xb6\xcd\x42\x4b\x58\x59\x77\ \x65\x0f\x90\xd4\xd9\x9b\xc9\x2e\x25\x57\x27\x73\x2f\x98\x62\x8a\ \x96\xd7\x8f\x6f\xb0\x31\x1e\x19\xf2\x9c\xf4\xe6\xad\x0d\xbd\xea\ \xc8\xf2\x34\x84\xb3\x0c\x36\x3b\xd2\xd2\xdb\x5f\x6c\x0a\x58\xed\ \xdd\x95\x1e\x95\x79\xad\xb5\x21\x28\x91\x49\xc9\x4c\x30\xf5\xa0\ \xd9\x2c\xe6\x45\x8a\x67\x71\x18\x6c\xe2\xb7\xb6\xdb\xc8\x46\x1b\ \x9f\x4a\x3c\xd0\x30\x5d\xb8\xdb\x43\x5b\x15\x6d\xb9\xdd\x82\x3c\ \xec\x3f\x76\x94\x92\xc0\x16\x3b\x64\x24\x7c\x2b\x92\xc8\xa1\xe1\ \x9b\xe9\x44\xbc\x8a\x49\x10\x10\x70\xcb\xd0\xe2\xb2\xe6\xf1\xb7\ \xe1\x97\x07\xae\x40\xf4\xa7\x11\xf7\xa2\xbf\xad\x2a\xe8\x04\xa5\ \x72\x3d\xab\xa5\x52\x57\x71\xc6\x71\x83\x49\x5e\xc6\x4c\x45\x87\ \x07\x1c\xfc\x29\x08\x1d\xe0\x9d\x5d\x71\x95\x39\x15\xb5\xa3\xeb\ \x7b\xf5\x86\x7d\xc4\x45\x27\x00\x7b\x76\xaf\x53\x19\x76\x6d\xea\ \x33\x43\x78\xce\xff\x00\x39\x24\xf5\xe6\xab\x35\xcd\x8c\x40\x89\ \x25\x60\x47\x5c\x03\x59\x5e\x24\x57\x5a\x82\xad\xb9\x2d\x18\x39\ \xc9\xeb\xc5\x4e\xa1\x7f\xa9\x43\x33\xa9\x70\xb1\x8e\x84\x0e\xd5\ \xe7\xef\xaf\x27\xba\x98\xc7\x23\x16\x72\x47\x3e\xd5\xeb\x74\xa8\ \x3c\x2b\x48\xd1\x8e\x0e\xdc\x9a\x72\x79\xe0\x8e\x10\x9e\x22\x67\ \xbe\x4d\x02\xde\xe2\xdf\xc4\xcb\x4b\x1e\x3e\x34\xbc\x31\xda\xde\ \xdd\x4b\x3b\x64\xe3\xd3\xd2\x83\x23\xba\x39\x55\x23\x1d\xb8\xa6\ \xec\x65\x62\xd9\x27\x24\x53\x52\xa0\x8e\x35\x42\x78\x27\x38\xaa\ \x20\x1b\xd5\x32\x79\xab\x3f\x86\x25\x68\xf3\xca\xd0\xcb\x15\x6c\ \x8e\xd5\x56\x91\x88\x6c\x00\x37\x72\x71\xde\x87\x8f\x5a\xba\x03\ \xd2\x85\x71\x68\x5a\x41\x2c\x6e\x11\xc7\x7c\xd7\x3a\x5e\x4e\x9e\ \x1c\xd7\x23\x67\x7c\x77\xa6\xac\xe2\x82\xdd\x42\x83\xf1\x34\x0f\ \x0e\xef\xef\xc6\x53\x30\xf0\x83\x70\x3b\x62\x8d\x3e\x24\x27\x6e\ \x40\xa5\x1a\xdc\x37\xee\x92\x2a\xa2\xc9\x7b\x42\x3e\x94\xf3\x59\ \xc0\xb6\xea\x4c\x60\xb6\x39\x35\xd0\x5b\xc0\x5c\x7e\x18\xe0\x52\ \x97\xbe\x0c\x12\x31\xc0\x50\x39\xf7\xac\xf9\x44\x97\xb9\x60\xa1\ \x63\x8c\x64\xb1\xf4\xa3\xdc\xb4\x91\x59\xc0\xee\x03\x28\x3b\xa3\ \x65\x34\x2d\x3e\x76\x7d\x44\xcb\x26\x06\xf0\x41\xad\xc9\x51\x02\ \x82\xa0\x00\x6a\x23\xc6\xec\x10\x29\x52\xe9\x1c\xa6\x03\xf9\x43\ \x16\x03\xe3\x57\x65\x2d\x2c\x72\x86\xc1\x42\x71\xfe\xbb\xd5\x5d\ \x06\xe2\x59\xc7\x3f\xee\xd1\x16\xca\x27\x45\x9d\x58\x0c\x72\x7e\ \x54\x1b\xbd\x52\xd0\xcc\x13\xc4\x1b\x87\x5a\xaa\x6a\xd6\x91\x2b\ \x07\x93\x86\x14\xad\xbc\x85\x97\x74\x72\x6d\x0c\x49\x1b\xba\x11\ \x46\xcc\xb9\xfe\xb6\x3f\xad\x16\x05\x92\x53\xb3\xc4\x40\x7d\x45\ \x1a\x5b\x10\x8a\xbb\x88\x6c\xf1\x9c\x56\x25\xcc\x91\x69\xc8\xe2\ \xe6\x55\x44\x0d\xc1\x26\xb3\xae\x35\x9d\x34\xe1\x92\xe9\x0b\x03\ \x83\x50\x75\x7b\x23\x1f\x0c\xde\x6e\xf8\xeb\x41\x7d\x67\x4e\x2b\ \xb1\xe7\x19\x03\x14\xa9\x95\x24\xc3\x2e\x0a\x91\x95\x23\xb8\xa7\ \xbe\xcc\x69\x72\x0b\xb0\xd2\x67\x6a\xf2\x78\xeb\x5e\xd1\x64\x68\ \xe3\x0a\x99\x2c\x4f\x27\xd3\xda\xaa\xac\xfc\xee\x6c\x9a\xe9\x92\ \x09\xa3\x55\x92\x3d\xc4\x75\xf7\xa0\x41\x6b\x0c\x13\xbc\x91\xae\ \x0b\xf6\xf4\xa2\xdd\x2f\x89\x6b\xb3\x62\x9e\x79\x26\xb0\xe1\xd2\ \x99\xaf\x85\xc3\xed\xc7\x60\x3b\x0a\xde\x52\xf1\x8c\xe3\x6e\x46\ \x01\xc5\x61\xdc\xe9\x57\x12\xdc\x33\xc0\x49\x8c\xf3\x8c\xff\x00\ \x85\x25\x1e\x9b\x3b\x96\x02\x49\x30\x39\x39\x20\x60\x56\x9d\x95\ \xa4\xf6\x5b\x61\x45\x2c\x64\x19\x04\x3e\x72\x29\x8b\x85\x31\xdb\ \x99\x80\x8d\xc2\xb6\xd6\xc1\xce\x0d\x17\x4b\x9e\x11\x6d\x2b\xc9\ \xb5\x5c\x9e\x14\x75\x34\x86\xa3\xf6\x82\x03\x26\xdf\x0d\x90\xaf\ \x18\x34\xbc\x5f\x68\x11\x1c\x38\x8d\x9c\x8e\x83\x06\x9d\xd3\x2f\ \x67\xbb\x92\x4b\x87\x8c\xa2\xb6\x40\xa7\x73\xc5\x41\xa9\x51\x93\ \xd0\xd1\x06\x14\x74\xa8\x27\x3d\x48\xa1\xde\x4e\xd6\xf2\x24\x71\ \xc3\xbc\xb0\xc9\x63\xd2\x99\xca\x14\x46\x0a\x41\x61\x92\xb8\xe4\ \x57\x31\x27\x83\xc0\xf4\xee\x6b\x8a\x31\x89\x88\x0a\x5c\x0f\x2a\ \x93\x81\x9a\xb2\xe0\xaa\xf0\x33\x81\xb8\x03\x90\x0f\x7a\xb8\x54\ \x78\xdb\x71\xda\x47\xbd\x79\x4d\x67\x5e\x9a\x0b\xdf\x09\x26\x02\ \x31\xc6\x29\x47\xfb\x4b\x2a\xae\x56\x65\x07\xd4\x11\x4d\x68\xd7\ \xeb\x7f\x70\x26\x96\x60\xe4\x1c\x36\x4f\x18\xad\x3b\x5f\x0d\xe4\ \x93\xc0\x94\xc5\x8c\xf2\x7a\x11\x56\x9a\x69\x1e\x15\x32\x84\x9a\ \x03\xe5\x56\x8f\xa5\x31\x6d\x2d\x8f\xdc\x41\x78\xf0\x57\x38\xe3\ \x26\xbc\xe6\xa7\xae\x3a\xea\x05\x56\x72\x91\x28\xc0\x04\xd2\xf3\ \x7d\xa0\xc2\x1c\x5d\x02\x7d\x9a\xb4\x74\x0b\xa9\x26\x8b\xc6\x7c\ \x9d\xd9\xe5\xf3\xcd\x6c\xe5\xe4\x80\xa0\xc4\x44\xf4\x64\x3c\x8f\ \xad\x1f\x79\xc0\x1b\x33\xc6\x3e\x3e\xf4\x2b\x93\x13\x46\xd1\x3c\ \x9b\x41\xec\x0f\x4a\xf3\xb3\xe8\x71\xc9\x21\x75\xbc\x2a\x4f\xa6\ \x6a\xab\xf6\x78\x17\x52\xf7\xb2\x3a\x83\xc8\x00\xd6\xf5\xbd\xbc\ \x30\x9f\xc8\x42\x8f\xcb\xec\x29\xb1\xe1\x15\xde\x02\x91\x8f\x4a\ \xaa\x4c\x37\x86\x4c\x61\x4f\x3f\x0a\xd0\xdc\xae\x9b\x58\x8f\x63\ \x5f\x36\xff\x00\xf2\x2d\xc2\xbc\xed\x10\x93\xf2\x3f\x41\xdf\x8a\ \xf1\x2c\xe1\x4e\x72\x68\xc7\x53\x95\x40\x4e\xa1\x78\x03\x34\xce\ \x85\x67\xfb\x63\x53\x54\x3b\x96\x30\x37\x48\xc3\xb0\xaf\x67\x78\ \xb6\x16\x33\x08\x3e\xee\x00\x0a\x36\xf1\xda\xbd\x97\x86\xa8\x48\ \x41\xc0\xe9\x81\x57\xc6\x01\x04\x30\x20\x03\x92\xbc\x1f\x6a\xa6\ \x4f\xad\x71\x39\xea\x6a\x08\xef\xf5\xab\x33\x79\x5d\x77\x02\x85\ \x70\xaa\x07\x20\xf7\x24\xd5\x51\x84\x64\x1d\xa1\xb2\x70\x05\x54\ \x90\x91\x84\xc1\xc0\xe4\x2e\x72\x69\x6b\x89\xe7\xf1\x03\x2c\x28\ \xac\x17\x6e\xe1\xd4\x0a\x5a\x19\x64\x88\xb8\xfc\x32\x1c\x61\xb7\ \x72\x28\xfe\x34\xc9\x2a\x98\xc6\xe7\x23\x1b\x88\xc0\x03\xd8\x51\ \x6e\x22\x79\x4c\x96\xf2\x48\xa1\xc2\xef\xda\x06\x05\x2f\x65\x06\ \x21\x79\x9b\x3b\x13\xae\x06\x4f\xd2\x8b\x25\xac\x06\x55\xfc\x24\ \x62\xe0\x36\x4a\xf3\xf3\xa2\x0b\x58\x12\x47\x8f\xc1\xda\x51\x73\ \xb8\xa7\x94\xfb\x03\x57\x48\xf1\x0b\xb2\x46\x5b\x6f\x44\x5e\xa6\ \xba\x45\x0a\x46\x32\x32\x01\x20\xf6\x3e\x95\x00\x7a\x9a\x92\xc0\ \x74\xa1\xdc\xcd\x1d\xbe\xd1\x33\x10\xcf\xc8\x55\x19\x24\x7a\xd1\ \x80\x06\x34\x91\x0e\xe5\x7e\x9d\xb1\x52\xd2\x15\x74\x8d\x99\x55\ \x9c\xe1\x41\x6e\x4f\xc2\xa7\x2c\x09\xe8\x0f\x7a\x86\x04\x84\xf0\ \x64\xda\x77\x65\xc9\x4d\xd9\x1e\x95\x76\x7d\xc4\x84\xe3\x9f\xa5\ \x54\x32\xac\xbe\x06\xf5\xf1\x02\xe4\xae\x79\xc5\x59\x8a\x80\x59\ \x88\x01\x54\x92\x4f\x61\x5e\x63\x59\xd2\x4e\xa3\x28\xb9\xb7\x54\ \x92\x26\x1c\x1e\x9d\x3a\xd6\x51\xfb\x3a\xa1\x77\x3c\x60\x73\xd0\ \x56\xae\x99\x67\x05\xa5\xb1\x8b\x66\x0e\x7f\xd7\x6a\x7a\xcf\x11\ \x86\xf0\x30\xde\xa3\x39\x3f\xe1\x44\x47\x32\x85\x88\x00\xa8\x09\ \x21\x40\x00\x66\x8d\x12\xb2\x3b\x5b\x0d\x8c\xea\x9b\x8a\x67\x9c\ \x56\x2d\xce\x8b\x2d\xcc\xac\xc7\x66\x18\xe4\x66\x97\x97\xec\xc3\ \x22\xb3\xb2\x86\x0a\xb9\x21\x06\x4f\xca\xb7\x6c\x6d\x23\x8e\xce\ \x0c\x2b\x05\xd8\x30\x18\x60\x8f\x88\xa6\xa5\x1b\x6d\xcc\x90\xa9\ \x77\x07\x01\x0b\xed\xcd\x16\x30\x16\x4d\xb9\x24\x11\xde\xa1\x82\ \x2c\x44\x6d\x2a\x76\x90\x19\x46\x48\x3e\xb5\x48\x50\x18\x13\xc4\ \xdc\xcc\xa3\x0c\xc4\x60\xb7\xc8\x55\xdc\xac\x49\xbb\x6b\x63\xd3\ \x14\xaf\xe2\x4a\xcc\x5c\x36\x18\x60\xa8\xe9\x8f\x4a\x6a\xda\x31\ \x14\x4a\x88\xa1\x55\x7a\x28\x1c\x0a\x1b\xcc\xaa\xe6\x35\x8b\x7f\ \x73\xb6\xb3\xae\x67\x93\x7b\x0d\xf2\x84\x23\x1b\x7a\xe2\xbc\xb6\ \xb3\xa6\x25\xe1\x3b\x9d\xd5\xb3\x9c\xf3\x5e\x7a\xe7\xec\xf3\xf4\ \x49\xdb\xe6\xb4\xa4\x9a\x04\xea\x79\x95\x8e\x79\xe0\x1a\xdf\xfb\ \x35\xa5\xcd\x69\x13\xba\x5c\x4b\x1b\x31\xc1\xda\xbd\x7e\xb5\xad\ \x3d\xa4\xb3\x90\xd3\x5c\x4a\xe4\x71\x92\xa3\xf9\xd7\xb3\x17\xaa\ \xb1\xcf\x31\x7f\x2a\x80\x8b\xee\x7b\x9a\xb4\x52\xac\xb0\x23\x87\ \x27\x3c\x00\x7d\x2a\xf5\x2a\xac\xdd\x01\x35\xdc\x83\x83\x90\x45\ \x57\x8c\x8c\x77\x19\xa9\xe3\x7e\x7b\x28\xaa\xe0\x8c\x81\xd7\xb9\ \xa0\x5d\xb2\xc2\xa1\x9d\x19\x89\xf6\xe3\xe6\x69\x24\x2f\x2b\x65\ \x42\xe7\xaf\x02\xa1\xad\x6f\x1a\x4d\xde\x1c\xac\x4f\x3b\xb1\x46\ \x95\xe7\x44\xdb\x75\x23\xa8\x1f\xbb\x9e\x4d\x16\xd0\xdd\xc8\xa3\ \xc1\x89\xd1\x31\xc6\x38\x18\xfe\x34\xcc\x90\xca\x98\x2f\xf5\xcf\ \x35\x50\x18\x90\xab\x96\x27\xa7\x34\xc2\x41\x28\x19\x60\x17\x8f\ \x5a\x02\xe0\xb1\x03\x07\x07\x1c\x54\x49\xb8\x60\x63\xad\x40\xc8\ \x3c\x0c\xb5\x4c\xab\x1c\xa5\x5a\x58\xd5\x99\x46\x01\xce\x38\xab\ \x03\xd0\x28\x18\x1d\x14\x76\xa2\xee\xc2\xab\x3e\xc2\x57\xf2\x9d\ \xbc\x8f\x85\x54\xf3\xcb\xf0\x3d\x3b\x9a\xab\xbf\x51\xc0\x03\xb7\ \xa7\xc6\xb9\x15\x99\x73\xb0\x1f\x76\x38\xa1\xbc\x8b\x1c\xd9\x60\ \x9e\x29\x18\x24\x72\xd8\xf8\xe3\x35\x6f\x1d\xfb\x21\xfe\xe9\xfe\ \x54\x37\x76\x3e\x5c\x10\x00\xe9\x8c\x01\xfc\xa9\x46\x91\xa5\x38\ \x84\x64\x0e\xaf\x8f\xd0\x57\x34\x6c\xa4\xe5\xdb\xa7\xad\x45\xba\ \x89\x56\x52\x78\x68\xc7\x0c\x3a\x9a\xbd\x9b\x19\x11\xa4\x38\xdf\ \x18\xea\x3b\xff\x00\xac\x53\x51\x4a\xd2\xee\x25\xb0\x41\xdb\x9c\ \x0c\xe3\x1d\x2a\xc7\x20\xf1\xeb\x55\x95\x1c\x95\xda\xe4\x71\xce\ \x0e\x2a\x0a\xba\x8f\xcc\x09\xf8\xd4\x4b\x11\x69\x37\x64\x1f\x8f\ \x6a\xe8\xb7\x09\x82\xb1\xe7\xb7\x39\xa2\x7e\x26\xf6\x42\x46\x77\ \x70\x28\xab\xc1\x0e\x1b\xe5\x8e\x68\x31\x41\x1c\x6d\x23\x06\x66\ \x12\x3e\xf3\xc9\x38\x3e\xde\x94\x72\xc8\x39\xcf\x1e\xb8\xe2\x87\ \x70\xcf\xb4\x08\xf0\x37\x1c\x6e\x3d\x05\x06\x68\x66\x10\x6c\xb7\ \xdd\x93\xf9\x9c\x8f\xd7\xde\xb0\xaf\xa2\x31\xae\xce\xaf\xfa\xd2\ \x7e\x03\xb1\x08\x01\x66\x3c\x63\x14\x0b\xab\x39\x63\x18\x74\x65\ \xf7\xa5\x52\x07\x0c\xca\x47\x50\x39\xeb\x9a\xdc\xb0\xd2\xec\x96\ \xc9\x65\xb8\x12\x96\x7e\x06\xd6\x18\xa0\xea\x30\x59\x40\x80\x47\ \xe2\x06\x27\x03\x27\x22\x9e\x6d\x12\xf5\xd8\xc7\x2d\xe2\xf9\x71\ \xb8\x01\x5b\x70\x44\xb0\xc6\xb1\xa8\x3e\x51\x80\x28\xb9\xc0\xfc\ \xa2\x96\xbc\xb6\x9a\x5b\xb0\xeb\x70\xab\x08\xc6\x14\x1e\x47\xca\ \x99\x91\x89\xef\xc9\x18\x1e\xb5\x55\xea\x4f\x6e\x9f\x21\x5c\xa7\ \xc9\xb8\xf7\x39\x3f\xe3\x52\x66\x92\x34\x0a\xac\x41\xea\x71\x59\ \x5a\xd5\xec\x9f\x75\x4d\xcc\x4e\xf7\x20\x0c\xf6\xa7\x34\x85\x11\ \xc3\xe2\xf0\x08\x1d\x68\x8b\x7d\x33\x38\x1b\x8e\x3a\xf4\x1d\x2b\ \x0a\xe2\xe9\xa7\x7c\xe3\x39\x62\xb9\x3d\xf9\xad\xe9\x26\x92\x1d\ \x91\x47\x9c\x2a\x81\xdf\xad\x2d\x2c\xcc\xd7\x11\x02\x72\x49\x3f\ \x4a\x66\x23\x89\x4b\xf6\x54\x26\x81\x24\xbb\x53\x0f\x22\xf6\x1d\ \xb3\x9f\xad\x4d\x9b\x64\x31\xed\xbc\xe2\x9a\x65\x0d\xdf\x1d\xbf\ \x4a\x13\x23\x7b\x1a\x18\x90\x13\xc6\xe3\xf0\x53\xfc\xa8\xd6\xf1\ \xbc\xa4\x80\x48\xc0\xcf\x39\xfe\x75\x40\xe0\x1c\x80\x49\xf8\x13\ \xfc\x6a\xf1\x1f\x15\x9f\x24\x8d\x83\x2c\x4f\x61\xed\x50\x90\x86\ \x60\xec\x49\x03\x90\xa3\xa0\xff\x00\x3a\x3b\x9c\x46\xd8\xe3\x0a\ \x7f\xc2\x96\x31\x9c\xc5\xe0\xca\xd1\x85\x6d\xd2\x79\x43\x19\x3e\ \x24\xd7\x5c\xcd\x26\xe2\x51\x55\x77\x1c\x2a\x85\xc9\x35\x9f\x70\ \x6e\x5f\x0b\x32\xed\x8c\xff\x00\x64\x70\x4f\xbd\x3d\x66\x23\x58\ \x70\x14\x81\x5d\xaa\x5e\x47\x13\xf8\x70\x43\x17\x1c\x16\x2b\x9a\ \xf3\x87\xed\x2d\xa5\xa4\xaf\x0a\x1d\xc5\xff\x00\x36\xd8\xb2\x29\ \xfb\x3b\xf6\x30\x31\x84\xa8\x49\x39\x39\x4e\x7f\x5a\x22\xdd\xce\ \x91\xb2\x2b\x0d\xae\x72\xde\x51\xcd\x40\xbc\xb8\xf0\x8c\x61\xfc\ \xa4\xe4\x8d\xa3\xad\x73\x5e\x5c\x32\x04\x32\x1d\xa0\xe4\x70\x2a\ \x1e\xea\xe1\xd0\x23\x4a\x48\x5e\x83\x15\xd2\x5d\xdc\xb9\x05\xa5\ \x63\x8e\x95\x57\xbb\xb8\x67\x0e\xd3\x31\x61\xd0\xfa\x54\x1b\x9b\ \x8f\x13\xc4\xf1\x9f\x7f\xae\x79\xa8\x17\x37\x01\x8b\x09\xe4\x04\ \xf5\x3b\x8d\x40\xb8\x9c\x67\x13\x48\x33\xd7\x0c\x79\xaa\x19\xa6\ \xda\x57\xc5\x7d\xa7\xa8\xdc\x6a\xa6\x59\x76\xed\x32\xbe\x3d\x37\ \x1a\x83\x2c\xb8\xc7\x8a\xf8\xff\x00\x88\xd5\x49\x27\xb9\x3f\x3a\ \x9b\x69\x9a\xda\xed\x66\x51\xbb\x83\xc1\xef\x46\xd4\x2f\xa2\x9e\ \xdc\xc6\x90\x90\xc7\x1c\x9e\xd5\x9b\xe1\x96\xd8\xaa\x09\x62\x78\ \x15\xb3\x6f\x1a\xbd\xab\xd9\x02\x19\xc2\xee\x07\xb6\xe1\xda\x93\ \xbf\xd3\xaf\x67\x8d\x56\x4d\x8b\x20\x39\x24\xc8\x70\x3e\x58\xad\ \x4d\x37\x51\x5b\x9b\x99\x5c\x05\x7c\x12\x7e\x7d\x85\x68\x44\x09\ \x3b\x41\xcf\x1e\xb8\xc9\xf8\xd4\xa1\x3b\x14\xc8\xaa\xaf\xce\xe5\ \x56\xdc\x3e\xb5\x19\x19\x20\x55\x5b\xc4\x21\x8c\x32\x24\x6f\xb8\ \x0c\xb0\xcf\x1d\xfe\x75\x76\x68\x9e\x56\x8b\xc4\x0b\x23\xa9\x60\ \x9e\xd5\x49\x08\x03\x9c\xe3\x80\x71\xd7\xd4\xfe\x82\x91\x9e\xf3\ \x4d\x24\x99\x1a\xef\x0d\xee\x00\xac\xf9\x5a\x2b\xeb\xe8\xa2\xb6\ \x27\xc1\x8c\x1e\x0f\x24\x7c\x6b\x59\xa4\xb7\xb6\xb7\x10\xcc\xf3\ \xae\x79\x06\x30\x3a\x7c\x4d\x67\xde\x6a\x3a\x7c\x48\xcd\x1c\xb7\ \x2d\x26\x08\x1e\x21\x18\xa4\x74\xc0\x64\x95\x09\x52\x63\x8f\x05\ \xbd\x4d\x69\xde\x6a\x7a\x72\x1f\x12\x7b\x79\xc6\xe3\xce\xe9\x08\ \xc5\x0a\xc2\xe6\x1b\x8b\xb2\x2d\xe3\x31\xa4\x4a\x54\xa9\x6c\xf5\ \xef\x9a\x6d\xaf\x42\x3b\x22\xdb\x89\xf2\x30\x41\xec\x3f\x8d\x67\ \xcd\xae\xc3\x1b\x4b\x1a\xe9\xd0\x2c\x91\x8d\xc3\x31\xfa\x56\x86\ \x92\xfe\x25\x9c\x72\x00\x40\x71\xb8\x67\xde\x9f\x66\xc0\x27\xe2\ \x7f\x85\x71\x6e\x4f\xcf\xf4\x15\x44\x01\xa4\x51\xd8\x9c\x54\xde\ \xdf\x5b\x69\xac\xea\xf9\xcb\x8f\x28\x1c\xd7\x9e\x3a\xbb\x02\x42\ \x8c\x0f\xf8\x7f\xce\x98\xb3\xd5\xe1\x5b\x7b\xa5\x97\x70\x79\x40\ \x55\xe3\xe5\x8a\x7e\xd2\xe1\x05\x90\x7c\x0f\x2b\x80\x18\x9f\x8d\ \x32\x65\x2f\x1b\x74\xc6\xc3\xdf\xda\xa0\x4f\x10\x8f\xcd\x22\x86\ \xc6\x70\x4d\x5b\xcd\xc3\x81\xdb\xa1\xf7\x14\x9a\xc2\xb6\xd1\x18\ \x22\x1b\x23\x2c\x58\x8c\x93\xcf\xce\x99\x5b\x79\x5a\xdb\xc4\x0e\ \x8a\x3b\x64\xd6\x55\xf4\x65\x91\xa3\x2d\xf9\x81\x19\xac\x7b\x2d\ \x22\x10\xe3\xc6\x90\x29\xcf\x1e\x5c\xd6\xd4\xa6\x24\xb6\x8e\xde\ \x22\x58\xa1\x24\x9c\x7a\xd0\x4d\x47\x43\x5c\x6a\x2b\x8d\x76\x3b\ \x54\x95\x3b\xb0\x71\xf1\xcf\x15\x46\x18\xeb\xd6\xa0\xd5\x4d\x41\ \xa8\xae\xaa\x49\x80\x37\x30\x24\x0e\x78\xeb\x57\x8a\xd6\xe6\x65\ \x0d\x1f\x20\x8c\x8c\x91\xd2\xab\x6d\xbe\x1b\xc2\x92\x79\x5c\x82\ \x99\xf4\xc8\xe0\x8a\x15\x9d\xc3\xda\xce\x48\x38\x61\x9f\xad\x3f\ \x25\xab\x2d\xc7\x8b\xe3\x78\x91\x15\x05\x70\x31\x91\x5a\xba\x7d\ \x8c\x16\x2a\x63\xb7\x52\xa0\xf2\x72\x3f\x9d\x31\x9c\xf0\x9c\xfa\ \xb5\x06\xee\xea\x3b\x48\xd7\x72\xb3\x13\xf9\x55\x7b\xd1\xa1\x75\ \x96\x15\x95\x41\x52\xc4\xe5\x4f\x6a\x93\x80\x78\xee\x6a\x41\xc9\ \xce\x17\x38\xc6\x71\xce\x3d\x33\x43\x56\xcb\x67\xdb\x3f\x5f\xf2\ \xc5\x07\x52\x82\xca\x78\xc0\x78\x9b\x19\x00\x00\x39\x63\x42\xd3\ \x6c\x21\xb5\x91\xa4\x19\x0c\xe4\x92\x0f\x61\x44\xfb\xd4\x66\x12\ \xd3\x42\x64\xdc\x38\x03\xf7\x45\x62\x5f\xc1\x69\x3a\xed\x8e\x19\ \x10\xef\x0c\x49\x39\xe9\x4d\x69\xc1\x21\x8d\x8e\xd3\x9e\xbf\x1a\ \x63\x52\x92\xde\x78\x50\x4f\x6a\xbb\xb8\x01\x0b\x60\x91\xea\x6a\ \x96\x71\x44\x8d\x2c\xa8\x36\x6f\xc1\x6e\x78\x50\x06\x05\x5e\xd1\ \x96\xda\x66\x95\x66\x81\xce\x08\x03\x24\xd5\x25\x64\x9d\xdf\x16\ \x8a\x15\xc6\x0b\x95\x39\x23\xbd\x37\x03\x47\x0a\xaa\x0c\x2a\xae\ \x09\xf4\x50\x28\x8a\xe1\x94\x73\xd4\x2f\xea\x6a\x25\x93\x6a\x33\ \x67\xf7\x58\xfd\x5b\x15\x2e\xd3\x25\x98\x96\x21\xe7\x3c\xe4\x8f\ \xca\x3d\x6b\x16\xf7\x4f\xfb\xd0\x2f\x3c\x99\x39\xc9\x63\x48\xbf\ \xd9\xdf\xc3\x63\xb9\xc2\x8e\x4e\x41\xfe\x7c\x57\x69\xfa\x24\x1f\ \x7c\x8b\x71\x2c\x03\x03\x5a\x56\x36\x0a\x30\xc5\xd8\x0c\x74\xcd\ \x3e\xbb\x21\x89\x9c\xb1\x08\x14\xae\x49\xea\x71\xd0\x57\x20\x83\ \x67\x8a\xcd\x84\x5f\xde\x27\x8c\xd3\xfa\x73\xda\xcd\x6c\x65\x6f\ \x38\xdd\x8f\x30\xe9\xf2\xaa\x5c\xcb\xa5\x0e\x37\x28\x6f\xf7\x46\ \x7e\xb4\xab\x0b\x1f\x09\x64\xbb\xb8\x6f\x15\x86\x56\x35\x39\xda\ \x3a\x8e\x3b\x71\x4a\xdc\x85\xc2\xed\x24\x8e\xd9\xa0\x63\xd6\xba\ \xbb\xa5\x41\xe2\xbb\xbd\x41\xa8\x35\xd5\x6f\x31\x3c\x72\x48\xc9\ \xe2\xab\x2f\xe6\xce\x73\x9a\x85\x23\x90\x7b\xd4\xb7\x70\x41\xc6\ \x38\xa1\x54\x66\xbb\x35\x53\xef\x44\x8a\xe6\xf5\x41\xfc\x12\xd1\ \x8e\xe8\x46\x7e\x94\xbe\xa4\xee\xd2\xac\xa6\x19\xa2\xc8\xc6\x5d\ \x71\x9a\x0d\xe6\x0c\x8b\x30\xe9\x20\xc9\xf8\xf7\xa6\x74\xd9\x0e\ \x5a\x3c\x9c\x30\xe3\x9e\xf5\xea\x48\x92\x56\x3b\xf9\xcf\x18\x1d\ \xeb\x97\x18\x25\x4a\x90\x0e\x09\x04\x1c\x1f\x4a\xb4\xb0\xa4\xaa\ \x9e\x24\x68\xdb\x3f\x29\x39\xcd\x55\xf0\x8c\x17\x20\x9c\x73\xed\ \x54\x3c\xca\x07\xf6\x47\xea\x7f\xd7\xeb\x56\x93\xf2\x6d\xee\x78\ \xfa\xd0\xe3\x60\x72\x47\x3b\x9b\x8c\x77\xec\x3f\x4a\xe5\x92\xde\ \xe3\x71\x86\x42\xc6\x17\xda\xdc\x60\x67\xfd\x0a\x99\x56\x46\xb6\ \x95\xa3\x52\x7c\xa4\x0a\x49\x15\x45\xb3\xb1\x62\x15\x14\xbb\xb0\ \x19\xe2\xab\x72\x96\xc2\xda\x2b\x88\xc4\xa7\xc4\x1f\x95\xbc\xb8\ \x1f\x4a\x1a\xac\xf1\xa7\x89\x15\xa4\x80\x91\xc3\x30\xce\x3e\x1c\ \x50\x84\x41\x7f\x1a\xe9\x9b\xcd\xc8\x5f\xde\x6f\xf5\xeb\x4c\xc6\ \xbb\xfe\xec\xd2\x5b\xcb\x24\x72\x39\x01\x23\x18\x54\x1e\xa4\xf7\ \x35\x33\x64\xde\x3c\x36\x8c\x61\x89\x01\x62\xca\x3b\x01\x92\x7d\ \xea\xc2\x78\x9b\x4d\x5b\x95\x7b\x97\x62\xdb\x40\x66\x2b\x9c\x77\ \xe2\x97\x97\x2d\x6e\x93\x4c\x93\x18\xcb\xed\x58\xe2\x1f\xa9\x35\ \xa2\x54\x47\x20\x55\x39\x50\xe0\x0f\x82\xad\x2d\x3b\x81\x6c\xc5\ \x86\x7f\x0e\x3c\x8f\x89\xcd\x51\x66\x88\x5c\x4d\x70\x86\x66\x69\ \x46\x0a\x3f\xe5\x41\xed\x45\xfb\xc4\x70\x2a\xcb\x22\x00\x3a\xaa\ \x63\x96\xfe\x54\xa4\x57\x16\xe9\x3d\xc4\xd1\x46\xe1\xe7\x3e\x7c\ \xbe\x46\x33\x9a\x3d\xac\xa0\xb8\x65\x40\xa8\x83\x24\xe3\x81\x44\ \xfb\xc2\xc1\x0a\x99\x10\x6f\x23\x2b\x18\xea\x7e\x34\x27\x61\xc4\ \xf7\x80\x92\x7f\x24\x63\xa9\xf8\x0e\xc2\xa9\x71\xe7\x0a\xf7\x8d\ \xe1\x8f\xdc\x89\x06\x48\x1e\xb8\xed\x57\xb3\x5d\x38\xc6\xfe\x24\ \xf3\xa6\x0f\x4e\x99\xae\x96\xe7\x4f\x8d\x40\x8b\x4f\x92\x71\x9e\ \x5d\x97\xf9\x75\xa2\x45\x71\x6d\x12\x11\xf7\x07\xb8\xb9\x61\xba\ \x4f\xc3\xc8\x4c\xf6\xf6\xf4\xa0\xdd\x36\xf4\x0d\xb3\x67\x3d\x3d\ \x29\x6c\x9e\x95\xd5\xd9\xae\x23\x1d\x4d\x41\xc7\x18\xa8\xa8\xae\ \x35\x68\x81\x6f\x5c\x7b\x1a\xa3\x8e\xf9\xcd\x42\xb6\xd6\xc8\x1d\ \x2a\xc3\x83\xbf\x04\xad\x0c\xd5\x6a\x3b\xd7\x1a\x1e\xc6\x69\x32\ \x2e\x9a\x0f\x96\x73\xf2\xa3\xcd\x0d\xec\xb6\x6c\x1a\xe2\x09\x11\ \x79\xc6\x39\x3f\xc2\x91\x4c\xc9\x68\xe8\x47\x9a\x33\xb8\x7c\x3a\ \x1f\xe1\x5a\x1f\x66\xdb\xfa\x4b\x29\x00\x12\xa4\x29\x20\x72\x6b\ \xd3\x44\x24\x2c\x0e\xec\x1f\x41\xd3\xfc\xe8\x66\x18\x6d\x60\x72\ \x91\xaa\x82\x73\xb5\x7b\x93\x49\xdd\xdc\xac\x4e\xab\x32\x34\xb2\ \x37\x3b\x47\x01\x45\x32\x15\x7c\x34\x30\xf9\x03\x8c\x93\x8e\x47\ \xb5\x56\x47\x86\xdd\x43\x48\xca\x89\xb8\x0c\x9f\x53\x45\x95\x71\ \x36\x10\x86\x08\x37\x13\x55\x5d\xc1\x43\x46\xbc\x0e\x9c\xe3\x9f\ \x4a\x9f\x33\x44\x48\x52\xaf\x9c\x95\x23\x1f\x1f\x9d\x0a\x34\x32\ \xdd\x47\x30\x92\x41\xb2\x3d\xbe\x19\xc6\xdc\xf7\x35\x69\xa3\x2b\ \x20\xf0\xe5\x28\x71\x8c\xad\x65\xbc\xef\xf7\xbe\x49\x94\x23\xf7\ \xfd\xec\x53\x50\x49\xb2\x4b\x99\xa1\x32\x27\x8c\x72\xef\x2b\x64\ \x2f\xb0\x14\x03\x6c\x19\xcb\x48\xf2\x96\x3c\x9d\xc0\x03\xfa\x9a\ \x3a\x00\xa9\xb3\x7b\xed\xf4\x25\x3f\x9d\x4c\x66\x38\xce\x56\x46\ \x07\xfe\x35\xfe\x75\x69\x5e\x39\x0f\x9d\xf7\x7f\xcc\x15\x28\xea\ \x8a\x55\x18\x63\xff\x00\x93\xfc\xa8\x52\x39\x18\x24\x91\x9e\x17\ \x68\xe7\xe0\xa3\xf8\xd4\x4c\x82\x4b\x59\xf1\x34\x7e\x22\x6d\xdc\ \x8a\x72\x54\x00\x70\x33\xeb\x4a\xe9\xcc\x4d\xca\x03\xd3\x93\x8f\ \x95\x4d\x8c\x62\xe6\xe7\xc4\xba\x62\x63\x1c\xbb\x13\xfa\x51\xd5\ \x4f\x85\x3a\xce\xd6\xcf\x93\xf8\x5e\x10\x03\x68\xf8\xe2\xa5\xd9\ \x92\xdf\x28\x01\x2a\x89\xb0\x76\xc9\xef\x8e\xe6\x84\xa0\xc0\xfe\ \x6f\xc7\xba\x6e\x8b\xd7\x69\xf7\xa8\x77\x30\xc8\x59\x8f\x8f\x76\ \x7e\x61\x3f\xce\xa1\xd5\x60\xcb\xdc\x93\x34\xed\xce\xcc\xf4\xf7\ \x26\x98\xb0\xb8\x83\x6b\x0f\xb8\x2c\x8f\xd8\x00\x58\x0a\x60\xc9\ \xaa\xc8\xa0\xdb\x5a\xc7\x0a\x67\xa7\x4f\xf1\x15\x30\x4b\xa8\x08\ \x5a\x0b\x3b\x78\xf7\x03\x99\x64\x66\xe0\x31\xe4\x81\xeb\x4a\x5d\ \x09\x84\x67\xc7\xfc\xfd\xf1\x4a\x67\xda\xa3\x35\x19\xab\x1e\x00\ \x26\xa0\x91\x8e\x05\x56\xa7\x07\xd0\xfd\x2a\xa6\xa6\x3c\x73\xc6\ \x4f\x6a\xed\xbc\x12\x46\xdc\x74\xe6\x86\x4d\x13\x79\x08\x3c\x80\ \x67\xa5\x0e\x4c\xe7\x38\x03\x3d\x31\x50\x39\xaa\x54\x64\xd5\x24\ \x11\x90\x3c\x55\xdc\x83\x92\x2a\x6d\xdb\x4a\x91\x98\x06\x9a\x10\ \x06\x30\x1c\x81\xfa\xd0\x61\x31\xc5\x7d\xb1\x5f\x7c\x64\xed\xcf\ \xa8\x3c\x54\xdb\x33\x5b\x5e\xe3\x38\x28\xd8\xaf\x5d\x15\xe4\x11\ \x80\x92\x39\x12\x1e\x48\x20\xd3\x12\x28\x91\x46\x3b\x72\x29\x7b\ \x94\x8d\xee\x16\x47\x8d\x44\x81\x71\xd7\xf8\x55\xd5\x7b\x9e\x6a\ \xec\x80\xaf\x98\xae\x33\x9e\x54\x1c\x1f\x9d\x2b\x3d\xec\x08\xc6\ \x25\x62\x5b\xb9\x03\x26\xa9\x1d\x98\x9a\xd2\x24\x97\x7b\x6c\x7d\ \xe0\x87\xc7\xd6\x9b\x91\xb6\xe7\xcd\x96\x3d\x4d\x0c\xbb\x63\x1b\ \xa8\x4e\xfb\x43\x39\x3c\x01\x9a\xce\xd3\x51\x5a\x42\xf2\x1c\x80\ \x0b\xb7\xbd\x33\x03\x49\x3c\x46\x40\x51\x5c\xbe\xc8\xf8\xe1\x06\ \x32\x48\x14\x8c\xb7\x4a\x8d\xb6\xdc\x64\xe7\xcd\x2b\x80\x59\x8f\ \xcf\xa0\xa8\x5b\xbb\x9c\xff\x00\x58\x7f\xba\x2b\x73\x4b\x83\xc5\ \xb3\xf1\xee\x24\x90\x96\x27\x00\x1c\x60\x55\xc4\x09\x8e\x5e\x5f\ \xef\x9a\xa6\xaf\x02\x41\x67\xba\x39\x24\x59\x32\x00\x3b\xcd\x61\ \x93\x3c\x52\x25\xc3\xee\x62\xa7\x21\x8f\x23\x8f\x7a\xb7\xde\x62\ \x0b\x28\xb6\xb6\x11\xbc\xdc\xb9\x19\x24\xd4\x58\xe5\x64\x72\x78\ \xdb\x1b\x1f\xd2\x8e\xf6\xf2\xdc\xdd\x2d\x9c\x47\x6c\x68\xa0\x91\ \xd8\x71\xc9\x3e\xb4\x05\x82\x19\x6d\xa5\x9a\xde\x59\x0f\x84\xd8\ \x3b\xd7\x19\xf8\x53\x88\x36\x95\x1f\xef\x44\x28\x4c\x24\x45\x55\ \xb7\x5f\xc5\x99\x9b\x73\x77\xc0\x3d\x07\xa5\x44\x4a\x21\x6f\x06\ \xd7\x12\x5c\x1f\xcc\xfd\x93\xe1\xfc\xea\x01\xf0\x89\x4b\x40\x67\ \x9c\xfe\x79\x36\xe7\x1f\x0f\xe7\x4d\xe9\xf2\x6a\xd8\x75\x48\xb7\ \x67\xbb\x60\x62\x89\x71\x6d\xa9\x48\x80\xdc\x5f\xc7\x07\xa0\x6a\ \x9b\x58\x2f\xa4\x8d\xa0\xb7\xba\x58\xe2\x43\x86\x93\x6f\x2e\xdd\ \x4e\x3d\x05\x2d\x73\x13\xc7\x13\x23\xca\x25\x23\xf7\xa9\x2a\x8a\ \xe3\x52\xa7\xdb\x35\x32\x0e\x4e\x17\x02\xa9\x57\xfc\xdc\xe5\x85\ \x52\x63\x96\x1c\x63\x8a\xac\x60\x16\x01\xba\x55\xf0\x19\xb0\x57\ \x03\xd7\x34\x22\x06\x6a\xf1\x96\xc0\x20\x03\x83\x81\x9a\xac\x80\ \xe3\xa8\xe3\xb5\x0c\x9e\x2a\x0f\xb5\x55\xba\xd4\x1e\x9d\x6a\xe2\ \x7b\x87\x50\x5a\xc4\x4d\x14\x7e\xc0\xe3\xe0\x0d\x0e\xee\x73\x14\ \x89\x34\x56\x06\x16\xec\xcd\x19\x1f\x41\xd2\x93\x05\x89\x2e\xd9\ \x24\x9c\x92\x6b\xd8\x78\x68\x92\x4b\xcc\x13\xc2\xcb\x84\xc0\xcb\ \x16\xf5\x26\x99\xb6\x0d\x1d\xb2\xa3\x93\xb8\x0e\xf5\x58\xe2\x65\ \x76\x63\x92\x58\xe6\x88\x46\xcc\x12\x71\xed\x54\x96\x4c\xf0\x06\ \xef\x6f\x5a\x14\x5b\xcd\xc4\x72\xc5\x26\xc8\x82\xf9\xa0\xd8\x32\ \xc7\xdc\xd1\x65\x94\xe7\x1b\x42\x9f\x41\x41\x24\x1a\x82\x69\x7b\ \xf6\xd9\x66\xe7\xfb\x5c\x7d\x68\x76\x16\xb2\x9b\x29\x64\x05\x41\ \x91\x0a\xa0\x27\x92\x3b\xd5\xa0\xfc\x2b\x25\x27\x82\xa8\xee\x7e\ \x3d\x05\x5e\x08\x60\x8e\x65\xdd\x0d\xbb\x59\xf8\x79\x69\x59\xbc\ \xc4\xe2\x99\xd1\x45\x9b\xcf\x34\x90\x02\xbb\x47\x7e\x82\x87\x79\ \xad\xda\x40\x3c\x1d\xc7\x23\xbf\xad\x0b\xf6\xcd\xa0\x19\xdc\x3e\ \xb4\x8e\xa9\xaf\x5a\xdd\xc8\x91\xab\x60\x67\x27\x9e\x68\x93\x5f\ \x23\x69\x90\xf8\x91\x89\x91\x9b\xca\x32\x46\x2a\x5a\x4b\x14\xd3\ \xd2\xe2\x4b\x77\x06\x46\xd9\x88\xcf\x43\xf3\xab\xb5\xa2\xdb\x3c\ \xc1\x5c\xb2\x98\xb8\xc8\xc1\x19\xc5\x4d\xcc\xcd\x6c\xd2\xcf\x16\ \x04\x8d\x26\xcc\xfb\x00\x29\x5b\x9b\x9b\xc9\x50\x09\xc3\x85\x3d\ \x3c\xb8\x06\x9d\x1f\x9c\x7f\xf2\x27\xfd\xb5\x4c\xfe\x09\xc1\xc1\ \xf0\x5f\xfe\xea\xa3\xc6\x41\x6b\x78\x88\x8a\x14\xc7\x8b\x21\xef\ \xfe\xbd\x28\x5b\xda\x5f\xe8\xf6\x4a\x52\x31\xcb\x36\x70\x4f\xb9\ \x34\xde\x9b\x6d\x72\xdb\xc2\x5e\xc6\x8b\xfb\xc4\x36\xea\x2b\xd9\ \x5a\x26\x5a\xe6\xfd\xd9\xb3\xfb\x8d\xd2\xaf\x6b\x6a\xb7\x2a\xea\ \xb7\x52\xc7\x6a\x87\x1c\x37\x2e\x7b\x92\x69\x69\x23\xb7\x8e\x36\ \x5b\x79\x7c\x45\xe7\x9c\xe6\x91\xef\x5c\x6a\x0d\x59\x06\x73\xdf\ \xda\xa4\x8c\x92\x08\x23\xde\x84\x4d\x5f\x72\xed\xe7\x39\xc7\x15\ \x57\x6f\x28\xeb\x54\xab\x02\xa0\x8d\xcc\x48\xaa\x39\x5d\xc7\x6f\ \x4e\xd5\x68\x8b\x64\xe0\xe3\x1c\xd4\xb9\x67\x4d\xc5\x87\x3d\x85\ \x07\x9a\xb0\x3b\x42\x8e\xc7\xad\x5e\x4d\xaa\xbd\xcf\xb5\x01\xc6\ \x0d\x74\x42\xe5\xdf\x64\x33\x2c\x40\x73\x92\x28\x93\x0d\x54\xdb\ \x37\xe2\x41\xc7\xf6\x5b\xcc\x6b\x3a\x3b\xa9\x89\xf3\x48\xc7\xd4\ \x1e\x45\x7a\xf7\x59\xb7\x6e\x52\xca\x7d\x85\x50\xc7\x74\x79\xf1\ \x1f\xe8\x2b\xb3\x78\xa3\x02\x49\x4f\xc8\x50\x9c\x5f\x13\xc1\x93\ \xe9\x43\xdb\xa8\x75\x06\x5c\xfc\x2a\x08\xbe\x51\xe5\x12\x03\xd7\ \x20\x55\x0a\xea\x1d\x71\x2f\xd2\xab\xb6\xf8\xf5\x32\x8c\x7c\x68\ \x12\xcd\x70\x8c\x55\xa4\x90\x1f\x73\x8a\x1b\xcd\x24\x80\x07\x91\ \x98\x7a\x13\x5a\x69\x77\x68\x67\x8a\xe9\x56\x61\x34\x71\x84\x54\ \xcf\x97\xe9\x45\xba\x47\x9c\x34\x31\xe3\x73\xed\x8c\x67\xb7\x73\ \x49\xa5\x8c\x72\x41\x3b\xdb\xdc\xb4\x86\x03\xe7\x1b\x30\x3e\x54\ \x9a\x3b\x2e\x42\x93\x83\xd4\x51\xb5\x4d\x00\x98\x12\x69\x9d\x3c\ \xc3\xd3\x9a\xca\xff\x00\xd3\xf1\x12\x70\xfc\x76\xe6\x9c\x6f\xb3\ \x71\x59\x5a\x7d\xe4\xb2\xbb\x48\x30\x8a\x3a\xd0\x23\x87\x67\x04\ \xb7\x1e\xf5\xa5\x63\x71\x72\x84\xa4\x07\x6a\x13\x9c\x1e\x40\xf7\ \xa6\xcb\x16\xe5\x89\x62\xc7\x93\xdd\xfe\x1e\xde\xf5\x78\x9e\x25\ \x95\x64\x9c\x8f\x0d\x1c\xb3\x1e\xdb\x88\xe0\x0f\x5c\x50\x5a\xe2\ \x38\xed\x26\x47\xbc\x7b\xb6\x99\xb2\x03\x0f\xcb\x46\xc8\x32\xff\ \x00\xcd\x1f\xf6\xd0\x89\xfc\x1f\xf9\x27\xfc\x6a\x6e\x23\xf1\xb7\ \xc6\x4e\x03\x4c\x39\xff\x00\xeb\x41\x20\xc8\x8d\x1c\x38\x82\xd9\ \x3f\x33\xb7\xef\x1a\x26\x9d\x6b\x68\xec\xc5\xaf\x48\x00\x72\x14\ \x60\x9f\xad\x1d\xd3\x45\x89\x4e\xe0\x6e\x0f\x7d\xc7\x18\xa2\xda\ \xdb\xe9\xf3\x82\xcc\x55\x2d\x10\x61\x10\x3e\x17\xdf\x34\x17\x16\ \x58\x61\x67\xf9\x47\x15\x9e\x7a\xd4\x54\x54\xc7\x9c\x90\x09\x15\ \x72\x0e\x00\x24\xf3\x41\x3d\x6a\x41\xed\xb7\x26\xa5\x9c\xed\xda\ \x46\x28\x79\xab\x9d\xa7\xa6\x01\xaa\xcb\x8c\x8c\x01\xef\x55\x42\ \x77\x80\xa6\x88\xc3\xd0\x8e\x28\x0f\x91\x90\x6b\x95\xb8\xc3\x72\ \x28\x8c\xe3\x18\xce\x05\x05\xce\x4e\x7e\x95\x42\xa5\xd9\x57\x79\ \x40\x4e\x09\x14\xcc\x56\xf1\xb3\x34\x71\xea\x32\xa2\xe3\x04\x1c\ \x31\xcd\x21\x25\xa2\x43\x33\x23\x5d\x46\x79\xf4\x35\xeb\x2d\xa3\ \x95\xa5\x95\x24\x9d\xc8\x43\x80\x43\x1c\x1a\x3d\xbd\xbb\x4c\xe4\ \x2c\x8d\xb4\x75\x3b\x8d\x4d\xdd\xa1\x89\x43\x0b\x82\x39\xc6\x37\ \x1c\xff\x00\x8d\x75\xbd\xa1\x99\x58\xf8\xec\x00\xe3\x39\x34\xac\ \x56\xee\xd7\x05\x3e\xf0\x59\x77\x63\x21\x8f\x35\x6d\x4e\xd4\x5b\ \xec\x3f\x7a\x70\x58\xe3\x1b\x8d\x1a\xd7\x4e\xf1\x23\xdc\xd3\x3f\ \xd4\xd2\x3a\xd5\xb1\xb2\x85\x24\x5b\x82\x49\x6c\x6d\xe7\x3f\xe3\ \x4b\x46\xe9\x77\x10\x8a\x42\x04\xa0\x79\x1c\xf7\xf6\x34\x2b\x6b\ \x53\x25\xf2\x5b\x48\x76\x02\xd8\x6a\xd4\x50\xb0\x59\x4e\xcd\x66\ \x2d\xca\x36\x22\x2c\x72\xcd\xef\x4a\x88\xaf\x3e\xe7\x14\xd0\x2b\ \x3b\x87\x2e\x4f\x7a\xe5\xd5\x64\x21\xa3\x9e\x15\x00\xfe\x60\xab\ \x8c\x9f\x7a\xd5\xb2\xb7\xb4\x6d\x39\x65\x10\x20\xdd\xce\x59\x72\ \x47\x34\xae\xb7\xa8\xdb\xa3\x24\x79\x57\x51\xd4\x66\xb3\x45\xfc\ \x1e\x06\xd6\x93\x0d\x83\xc6\x3a\xe6\xb4\x75\x3b\x88\xbc\x08\x14\ \x3a\x95\x54\xc8\xc1\xac\xed\x4e\x43\x3c\xf0\x29\x40\xb9\x51\xc0\ \x1d\x68\xb1\x05\x59\xe5\x89\x53\xf0\xe2\x5c\xf3\xfb\xc7\xde\xaf\ \x31\x08\xac\xcf\x93\x8c\x06\xc7\x56\x27\xb7\xb0\xae\x96\xda\x37\ \xbb\x86\xce\xe0\xcc\x27\x75\xca\x84\x18\x44\x14\x92\xda\x38\x99\ \xd3\x23\x6a\x1e\x58\xf4\xa7\xd7\xf3\xaf\x6f\x3e\xf2\x0f\x61\x8c\ \x73\x54\x3f\xd4\xe3\x1f\xfe\x9f\xe3\x44\xcf\xe3\x7f\xce\x1f\xf6\ \xd2\xd7\x31\xc9\x32\xc1\x0c\x7d\x30\xc4\xe4\xf0\x39\xeb\x45\xb0\ \x5d\x31\x24\x65\x9d\x9a\x42\xa3\xaf\x40\x4d\x34\xb7\x7a\x5c\x61\ \xbc\x2b\x42\xc7\xdd\x77\x54\xdb\xbd\x8d\xc3\x9b\x8b\xa4\x48\xe2\ \x4e\x11\x18\x60\x7b\x9c\x50\xa5\x9e\xce\x57\x71\x6b\x18\x50\x3b\ \x81\x80\x6b\x35\x8f\x98\xd4\x67\x8a\x82\x6b\x81\xe4\x76\xab\x12\ \xe7\x8c\xe4\x55\x5c\x61\xb1\x8a\xe4\x20\x1c\x90\x7e\x55\x62\x43\ \x31\x00\x1e\x68\x2d\xc1\xc5\x12\x32\x87\x19\x38\xa8\x94\x8c\x75\ \x06\x81\x9c\x1a\x30\xc9\x1c\xb0\x04\xd0\xe4\xce\x72\x79\xcd\x0c\ \xd4\x13\x51\x93\x8a\x86\x05\x94\xe7\xa5\x4e\xcd\x31\x4c\x62\x4f\ \x2b\x75\x2c\x1b\x04\xfc\x6a\xb7\x91\xd8\x29\x0d\x14\x8f\xcf\x60\ \x77\x57\xa6\x76\x58\x20\x6d\xb9\xc0\x19\x27\xd4\xd6\x8d\x9e\xd8\ \x34\xd5\x60\xc0\xb3\x0c\x93\xef\x58\xba\x95\xc9\x96\xea\x14\x12\ \xf4\x39\x3e\xd5\xa5\xaa\x4e\xb6\x5a\x7a\x47\x1b\x01\x95\xe3\xde\ \x95\xfb\x30\x54\x45\x24\x92\x30\xca\x72\x01\xf7\xa4\x2f\xee\x8d\ \xc6\xa0\xac\x1c\x10\x9f\xa7\x35\xe8\xe5\x95\x2d\xed\x10\x06\x07\ \x8e\xbe\xb5\xe7\x75\x39\x96\xe2\xf2\x15\x77\xf2\x0e\xbe\xd5\x5b\ \xf1\x6c\x8e\xa2\xdb\x82\x3a\xe0\xe6\xa5\x18\x5d\xa0\x47\x3b\x67\ \x5f\xca\xfe\xbe\xc6\x81\x37\xde\x4b\x6d\x97\x7b\x63\xd6\xb5\x61\ \x31\x4c\xd6\x8f\xe3\x4d\x11\x84\x61\xa3\x0b\xc3\x1a\x0d\xf5\xb0\ \x96\xe1\xa4\x0c\x7c\xc7\x27\x6a\xe7\x1f\x3a\xb9\x13\x35\xb0\xb7\ \x33\x48\x23\x51\x80\x00\x02\xb0\xae\xb4\xdb\xad\xc4\x25\xc4\x80\ \x67\x8c\xa8\x34\xa4\xd6\x3a\x8a\xae\x23\x91\x9d\xbd\x4a\x80\x2a\ \x6c\x74\xed\x4f\xef\x22\x49\x65\x3c\x0e\x07\x18\xf9\xd7\xa1\x86\ \x22\xa0\x48\xee\x19\x80\xc6\xfc\x74\xf6\x1e\xa6\x88\x46\x38\xdb\ \xee\x41\x3c\x7c\x58\xff\x00\x0a\x1c\xee\x8a\x9b\xa5\x27\x6e\x77\ \x7b\xb9\xfe\x02\x89\x6f\xa8\x5d\x4e\xa7\x2c\x15\x07\x03\x03\xcc\ \x7d\xb3\x53\x9e\xfc\x0c\x7c\xc2\xff\x00\x33\x50\x7a\xe3\x1c\xf5\ \xc1\xed\xee\xdf\xca\xa3\xa8\xe7\x2c\x1b\xea\xff\x00\xc8\x57\x77\ \xdc\x48\xe1\xf7\x31\x1d\x33\x8e\x82\xab\x82\x10\x82\x30\x44\x4d\ \x9f\x6c\x9a\x9b\x33\x63\x68\xe1\x27\x88\xca\xfb\x41\xc9\xe4\x7d\ \x29\xb5\xd4\x7c\xac\x2c\x74\xff\x00\x37\xa8\x1c\x57\x5b\xcd\x1c\ \x92\xfd\xeb\x52\x8f\xc2\xdb\xc2\x2b\xaf\x19\xf5\x02\x87\x71\x77\ \x05\xc4\xcc\x22\x88\xa8\x1d\x0e\xdc\x66\xb3\x25\xe1\xcf\xc6\xa9\ \xed\x50\x6b\x87\x5c\x55\xd5\x7c\xf8\x0d\x8c\x55\x66\xdd\xbb\x24\ \xe6\xaa\x18\x8e\x95\xcb\x23\x06\xcd\x51\x8e\x49\x35\x52\x73\x52\ \xe7\x2a\xb5\x43\x44\x43\x9c\x79\xb9\xae\x91\x78\xeb\x9c\x50\x49\ \xc5\x54\x9c\x54\x1a\xe2\x68\x90\xcd\x04\x31\xba\x98\xbc\x46\x6e\ \xa0\x2e\x49\x15\xd3\x5c\xd8\x18\x70\x2d\x82\x38\xe3\x01\x76\x9a\ \xdb\xd4\x5c\x08\x42\xf4\xdc\x79\xae\x85\x4c\x16\x0c\x4b\x12\x08\ \x27\x9a\xcd\xb5\x8c\xbc\x8a\x87\x04\xb1\xc5\x69\x6b\x10\xc8\xb6\ \xd1\x82\x84\x80\x7a\xfa\x0a\x56\xc0\x01\x38\x3b\xb6\x92\xa4\x0f\ \x4c\xd0\x3c\x16\x89\xd9\x08\x20\x8e\xb4\x68\x15\xa6\xb6\x92\x10\ \xe4\x39\x20\x8c\x9e\xc2\xa1\x6c\x26\x1d\x55\x73\xf1\xa3\xc5\x6d\ \x1a\x9f\x0f\x6f\x8d\x29\xea\x01\xf2\xaf\xc4\xd7\x3c\x31\x2b\x74\ \x4e\x3d\x18\xd4\x96\xff\x00\x78\x7f\x7c\xd5\x95\xb9\xea\x3f\xbc\ \x68\xf2\x0d\xf1\x83\x80\x7d\x32\x3f\x40\x2a\x81\x79\xe1\x7f\xe8\ \xa9\x78\xd8\xb1\x2c\x87\x3e\xf1\xd5\x7c\x1f\xf7\x3f\xe8\x15\x22\ \x12\x3c\xde\x19\xc7\xfc\x02\xb8\x92\x07\x52\x0f\x40\x48\x1c\x7b\ \x01\x40\xb9\x9d\x20\x50\x18\x02\xdd\x93\x3d\x3d\xcd\x66\xc9\x23\ \xca\xe5\xdc\xe4\xd6\x85\x82\x95\x8d\x33\xc1\x2c\x4f\xcb\x14\x48\ \xd8\xef\x88\x67\xa4\x6c\x7e\x75\x20\x8d\x98\xc6\x70\xa0\xe3\xd4\ \x9e\xe6\xac\x46\x09\xc9\x27\x9c\x12\x3a\xb1\xf4\x1e\x82\xbb\x04\ \x73\x90\x36\xfd\x13\xf9\x9a\xe0\x38\x03\x19\xcf\x21\x4f\x7f\x73\ \x53\x6d\x7b\x0d\xbd\xc9\x3e\x17\x8d\x21\x18\xdd\x8f\xd0\x53\x49\ \xa9\x5e\xcb\xb9\x22\xb2\x39\xec\x71\x8a\xe8\x66\x61\x38\xb8\xd4\ \xe3\xf0\xf6\xf0\x81\xb9\xe7\xd6\x87\x75\x78\xb3\xce\x55\x20\x65\ \x51\xd1\x99\x71\x9a\xcb\x9f\xfa\xd6\xa1\x1a\x8a\xec\xd5\xc1\x73\ \xd0\x54\x48\xac\x31\x93\x9a\x1d\x47\x15\x19\x1c\xd4\xc5\x8d\xfc\ \xd5\xfa\xb7\x20\x62\x83\x26\x03\x10\x3a\x54\x46\x09\x39\xe9\x8a\ \xb0\x23\x0d\x93\xc9\xa1\x13\x93\x55\x3f\x0a\xe1\xcd\x43\x70\x78\ \x35\x7b\x79\x04\x2f\xbc\x03\x9c\x60\x62\x98\x4b\xb9\x80\xf0\xe4\ \xb2\x93\x9e\x70\x17\x39\xa7\xef\xd9\x5a\x70\x33\xf9\x47\x4a\xd3\ \x28\xc5\xa2\x8d\xad\xd5\xad\x5d\x32\xef\x9e\x95\x97\x62\xf6\xf0\ \x6a\x3b\xcf\xf5\x4a\xc7\x14\xd4\xb2\xc6\x90\xcd\x0c\x53\x3d\xcb\ \x4e\xdb\xb9\x1f\x94\x7a\x52\xbe\x1d\xbc\x60\x2c\xae\xdb\xfd\x13\ \xb5\x3c\xb9\xda\x32\x18\xf1\xdc\x0c\xd4\x30\xcf\xee\x9f\xee\x8a\ \xa1\x18\xcf\x97\xfe\x91\x56\x84\xe0\x10\x46\x07\x5e\x40\x03\xe7\ \x4a\x5c\xde\x45\xe2\x10\xbb\xdf\x1f\xbd\x9c\x03\xf0\xa1\x7d\xe9\ \x7f\xb2\xff\x00\xde\xa2\xdb\xc9\x24\xef\xb6\x28\xa4\x63\xdf\xcd\ \xd2\x8b\x71\xf7\xc8\xa3\xf2\xc0\xcb\xbb\x8d\xf9\xcd\x39\xa6\xe9\ \xbb\x44\x13\xc9\x2c\x85\xc9\xc9\x53\xd2\xa7\x50\x71\x25\xf3\x21\ \x97\x66\xd0\x30\x3d\x68\x00\x82\x40\x1b\xb8\x5c\xb1\xcf\x4a\x35\ \xde\x5f\x4a\x85\x0b\x6d\xdd\xc9\x35\x9f\x78\x60\xb3\x85\x7c\x07\ \x67\x99\xfa\xb3\x76\xac\xcf\x33\xb7\x39\x2c\x69\xeb\x5b\x4d\xa7\ \x74\x98\x2d\xd7\x1d\x87\xc6\x99\xc0\xc7\x7c\x1f\xab\x7f\x21\x50\ \x47\x24\xf0\x0e\x30\x4f\x65\x1e\x95\xc4\x67\x80\x30\x4e\x00\x1e\ \xc3\xb9\xae\x53\xe6\x07\x3d\x64\x24\x7d\x2b\x95\xb0\x8a\x7a\xe1\ \x49\x1f\x1a\xac\xa1\xdd\x8c\x6a\xdb\x53\x19\x91\xcf\x53\x56\xb0\ \xbc\x4b\x7b\x8d\xb0\x5b\x6f\xe3\x00\x81\x92\x69\xef\xbe\x6a\x92\ \x16\x44\xb4\xdb\x9e\x8c\x46\x31\x5d\x0b\xcd\x1c\xc2\x6d\x4d\x42\ \x84\xe1\x39\xcd\x52\xf6\xf4\x4d\x36\xc4\x81\xc2\x76\x66\x5c\x66\ \xb2\x6e\x01\x32\x13\x41\x39\x1d\x6a\x2b\x8d\x48\x72\x3a\x1a\x82\ \x49\xea\x6a\xb5\x07\xad\x46\x09\xe9\x5d\x83\xbb\x06\x88\x48\x07\ \x1c\x9a\x1c\xab\xb4\xf1\x55\x46\x20\xf4\xeb\x57\xc1\xfe\xc8\xa0\ \x38\x21\xb9\xa8\x27\x8a\xa9\x35\x1c\xe6\xa5\x48\x0c\x1b\xae\x39\ \xa6\x96\xe2\xf8\x62\x48\xa2\x0d\x1b\x74\x19\xe6\x8f\x31\xdd\x2b\ \xb9\xef\x56\x88\xdc\xba\x08\xd1\xa4\x65\xc7\x40\x6a\x56\xd2\x71\ \x9d\xc8\x50\x67\xa9\xa2\x2c\x84\x1f\x06\xd8\x12\xc7\xf3\x3d\x43\ \xbc\x76\xaa\x76\x91\x24\xbd\xcf\x65\xa4\x8c\xd2\x33\x16\x2c\xc4\ \x9f\x7a\x91\x23\x73\xe6\x6f\xad\x4a\xb3\x10\x3c\xed\x92\x7d\x6a\ \xf2\x2c\xaa\x30\xe1\xc0\xf7\xcf\x34\x30\x38\xe9\x4c\xc1\x67\x71\ \x3c\x7b\xd1\x3c\xb9\xc6\x49\xc6\x69\xab\x37\x8a\x1b\x79\xed\x2e\ \x0b\xc4\xec\x79\x75\xeb\x8a\x2d\xce\xa7\x10\x48\xe0\x84\x33\xc7\ \x18\xc6\x49\xe4\xd1\xee\x35\xc8\x63\x89\x3c\x38\xc9\x2a\x32\x6b\ \xcc\xdd\xea\xb0\x5c\x5d\x99\x58\xba\xb9\xfd\x28\x1f\xb5\xa1\x42\ \xc1\x66\x90\x67\x83\x4c\xdc\x7d\xa2\x13\x24\x50\x43\x1b\x36\xd1\ \x8c\xe2\x8c\x09\xba\x11\x08\x81\x2e\x07\x9a\xb4\x2d\xad\x96\x1f\ \x31\x39\x6e\xed\xfc\xa8\xe7\xd3\x1e\xf8\xfe\x26\xa1\xb1\xd4\x67\ \x9e\xfd\xcf\xc2\xa3\x1f\x0c\x8e\xdd\x97\xfc\xea\x3b\x63\x9c\x1f\ \xab\x7f\x95\x54\xf5\x27\x38\xc7\x04\xf6\x1e\xc2\xbb\xf7\x4a\x81\ \x8c\xae\x00\xf4\x1e\xa6\xa2\x55\xdf\x1b\x28\x27\x0c\x40\xcd\x5a\ \xd6\xe5\xad\x6e\x3c\x2b\x78\x37\x63\x8c\x81\x92\x4d\x3e\xb7\x3a\ \xb4\x81\x90\x5b\x85\xcf\x42\xc3\x15\x58\x7e\xf3\x15\xc0\x9f\x53\ \x2b\xb1\x7f\x27\x39\xae\xd4\x2f\x96\x49\x42\x47\x13\x95\xc7\xe6\ \x2b\x8a\xc7\xbb\x27\xc5\x34\x12\x73\x50\x6a\x2a\x2a\x33\x50\x4d\ \x41\x35\xc5\xbd\x2a\x01\xe7\x26\xae\x0b\xd4\x4c\x08\x19\xce\x68\ \x6a\xd8\x60\x68\xab\x3a\xa8\x23\x19\xcd\x02\x57\xdc\xd9\xaa\x12\ \x6a\xa4\xe6\xbb\x35\xd9\xa6\xad\xda\xe2\x44\xfc\x02\xab\xb3\xae\ \x7b\xd3\x56\xf1\x34\x99\x62\x70\x83\x92\x6a\x64\xb8\x61\x95\x8b\ \x28\xa3\xbf\x73\x53\x18\x9a\x65\x1e\x24\x8d\xb3\xa9\x24\xd4\x4b\ \x70\xaa\xa6\x2b\x71\xb4\x77\x6e\xe6\x96\x1e\x95\x07\xca\x0f\x1f\ \x0a\xae\x0d\x31\xa7\xbc\x71\xdd\xc6\xf2\xf2\xaa\x72\x69\xed\x5e\ \xfd\x2e\xd4\x2c\x63\x00\x1a\x4a\xda\x07\x94\x80\x06\x00\xea\x6b\ \x62\x4b\x8b\x0c\x40\x5a\x47\x53\x0f\x45\x4e\x84\xd6\x5d\xe4\xad\ \x79\x78\xd2\x22\x9f\x31\xe0\x51\x52\xcd\x42\xe1\xb2\xcd\xd4\xe0\ \xf0\x2a\xdf\x77\x87\x69\xf2\x75\xff\x00\x7a\x96\x7d\x3a\xd8\x9c\ \xf8\x7f\xf5\x55\x7f\x66\x5a\xff\x00\xed\x8f\xef\x55\x93\x4e\xb6\ \x56\xcf\x86\x3f\xbd\x4e\xdb\xc5\x1c\x43\x08\xa0\x7b\x03\xc9\xa2\ \xf7\xce\x47\x1d\xfb\x0a\x82\x3b\x63\xe5\xeb\xf1\xa8\x3e\xb9\xf8\ \x9f\xe0\x2a\x31\xdb\x1f\x01\xfc\x4d\x47\xbe\x4f\x3d\x4f\x73\xf0\ \xaa\xfd\x32\x3b\x76\x5a\x8e\x3d\xc8\x3f\x56\xa9\x07\x19\x39\x03\ \x1d\xfb\x0a\xeb\x4b\xc9\x23\xb8\xdb\x04\x25\xb3\xc7\x4e\x4d\x68\ \x7d\xe3\x56\x7c\xa0\xb7\x0a\x08\xfc\xc7\xb5\x52\x24\xba\x8a\x65\ \x97\x51\x65\x31\xa7\x2b\xcf\x7a\xb6\xa1\x7d\x14\x8c\xab\x14\x6c\ \xc0\x8f\xcd\xb7\x8a\xc6\xbd\xfe\xb3\x38\xa5\xf3\x5d\x9a\x82\x6a\ \xa4\xd7\x66\xa2\xa0\xd4\x66\xa0\xf3\x53\xb8\xe3\xad\x55\x8e\x7a\ \x9a\xa9\xa8\x35\x06\xaa\x6a\x2b\xab\x8d\x12\xdd\xa4\x39\x8a\x36\ \xda\x4f\x7a\xf7\x03\x4f\xb3\x86\x03\x19\x4e\x08\xe7\x9a\xc2\x8a\ \xd5\x67\xbf\x78\x60\x19\x8f\x77\xe6\x3d\xa9\xdd\x72\xda\xda\xde\ \xc8\x00\x48\x60\x7a\x67\xad\x0f\x48\xd2\xa3\x9a\x0f\x1a\x7c\xe0\ \xf4\xa4\xa7\xb5\x53\xa8\x9b\x68\x1b\x23\x38\xcd\x6c\x8d\x0a\xd3\ \xc3\x1b\x99\xf7\x77\x39\xac\x3d\x62\xd6\x2b\x4b\xa1\x1c\x72\x16\ \x04\x67\x9e\xd4\x90\x02\x9b\xb5\xb7\xdc\xa6\x49\x4e\xd8\xc7\x73\ \xde\xae\x66\xf1\xe4\x4b\x78\x70\x91\x93\x8c\xfa\xd6\xbc\x56\x56\ \xff\x00\x78\x16\xad\x6b\xe4\x09\x93\x29\xe8\x4f\xa6\x69\x7f\x06\ \x38\xdd\xc4\x2b\xb5\x73\xf9\xbb\x9f\x85\x48\x00\x0c\x60\x63\xd3\ \xf9\xd0\x88\xf3\x11\xfc\x2a\x3e\xbf\x4a\x8f\xaf\xd2\xa7\x9f\x43\ \xf4\xae\x07\x9e\xff\x00\x4a\xb8\xf9\x71\xf4\x15\xdd\xb1\xce\x0f\ \xd4\xd4\x1f\x5e\x38\xef\xd8\x55\x4f\xc3\x8f\x4f\x5a\x82\x7b\xe7\ \xe7\xe9\x55\xf6\xc7\xc0\x7f\x3a\xef\x9f\xc4\xd5\x25\x91\x62\x5c\ \xb0\xc9\xec\xb5\x36\x57\xb3\xa4\xc0\xac\x61\x89\xe0\x00\x39\xad\ \x35\xba\xd5\x5b\x2a\xb6\xd8\xcf\x42\xc3\xa5\x06\x38\xaf\x84\xca\ \xfa\x8b\xa9\x81\x79\x1f\x1a\x3e\xa3\x7d\x6e\x76\x24\x40\x3e\x7b\ \x81\xc5\x62\x5f\x1c\xb6\x71\x4a\x66\xa7\x22\xa3\x38\x35\x65\x29\ \xb4\xe7\xad\x0e\xa3\x35\xd9\x15\x05\x87\xa8\xaa\xee\x1e\xa2\xaa\ \x64\x41\xfb\xc2\xa0\xca\x9f\xda\x15\x46\x9e\x21\xce\xf1\x43\x6b\ \xb8\x47\xef\x8a\xa1\xbe\x80\x1c\x6f\x14\x39\x35\x1b\x75\x1f\x98\ \x50\x5f\x56\xb7\x51\xf9\x85\x09\xb5\xa8\x45\x09\xb5\xc4\xcf\x02\ \x8f\xa5\xea\xc6\x7b\xb0\x8a\xbd\x7b\xfa\x57\xd0\x75\x8b\xcc\x06\ \xda\xdc\x74\x15\x6f\xb3\x26\x21\x6e\xee\x48\xdf\x9c\x9a\xcb\xd4\ \x2e\x3e\xf5\xa9\x04\x63\x95\x0d\x5b\xba\xa4\xcb\x69\xa6\x00\xa4\ \x0e\x30\x2b\x2f\xec\xca\x09\x6f\x5a\x57\xe4\x81\x9a\xd5\xd5\xee\ \xfc\x01\xb4\x1c\x57\x94\x9e\x43\x3d\xc3\x39\xc9\x24\xe0\x53\x50\ \xdb\xa4\x49\xe2\xdc\x1c\x0e\xcb\xeb\x40\xba\xb9\x69\xce\xd1\xe5\ \x41\xd1\x68\x49\x9c\x8d\xb9\xcf\x6a\xda\xb4\x92\xeb\xc3\xc4\xb2\ \x1c\x11\xd2\x89\x9a\x83\xe9\x43\x94\x77\xfd\x4d\x53\x8f\x6a\x8e\ \x3d\xab\xb3\xf0\xae\xe3\xda\xae\xa7\x23\x1f\xf8\xa9\xcf\xbf\xcf\ \xd6\xaa\x4f\xb7\xcb\xd2\xa3\xe7\xfe\x75\x53\xfe\xbd\xab\xba\x0f\ \xf5\xcd\x47\x7f\x7f\xf0\xa0\x4d\x72\x11\xb0\x8b\x9f\x52\x68\x96\ \x57\xd2\x24\xe0\xac\x41\x89\xe0\x00\x2b\x57\xef\xfa\x91\x3b\x56\ \xcc\xf3\xd0\xb7\x6a\x01\x8b\x50\x69\x53\xef\xcc\xa6\xdc\x1c\x90\ \x29\xad\x46\xee\xc9\x63\x54\x42\x85\xbb\x01\xda\xbc\xb6\xb7\xa8\ \xc3\x0b\x72\x40\xac\x67\xd7\x21\x03\x83\x54\xfd\xbd\x0e\xdc\xd0\ \xce\xbe\x87\x3d\x68\x6f\xf6\x81\x40\xc8\xa0\x49\xf6\x8c\xe3\x81\ \xfa\xd0\x9f\xed\x0b\x8f\xfc\xd0\xdb\xed\x04\xdd\xa8\x4d\xae\xce\ \x73\xcf\xeb\xd2\x87\xfb\x6e\xe1\xd7\x21\xaa\x8d\xab\x5c\x3e\x02\ \xb3\x67\xbe\x28\x7f\xb4\xee\x64\x62\xa8\xec\x5b\xb8\x15\x07\x50\ \xba\x91\x84\x03\x76\xff\x00\x4f\x5a\x1b\x4b\x76\x26\x11\xb2\xc8\ \x18\xf6\xab\x4e\xb7\xb0\xba\x89\x11\xc6\xf3\x81\x57\xbb\xb4\xbf\ \x81\x11\x9d\x4e\x18\x81\xd6\x89\x75\xa6\x5e\xc5\x6c\x27\x6c\x10\ \x7d\xe8\xb7\x3a\x45\xcc\x76\x22\xe4\xc8\x3a\x67\x02\x99\xfd\x88\ \x4e\x9b\xf7\x9f\x17\xcd\xb7\x38\xab\x68\x70\x14\x75\x3b\xb6\xb7\ \xa9\xaf\x69\x20\x91\xbf\x31\x62\x3d\xeb\x91\xe4\x8f\x84\x62\xb9\ \xeb\x53\x04\x7b\xa5\x1c\xf2\x4f\x5a\xd3\xd5\x09\x7b\x41\x1b\x92\ \xdb\x78\x14\x3d\x2e\x39\x6d\xdc\x4d\xb8\xa6\x05\x07\x56\x95\xae\ \xa5\xd8\xa4\xb3\x67\x9c\x50\xe3\x58\xed\x14\x33\x79\x9f\xb0\xa5\ \xe7\x95\xe6\x6d\xce\x7e\x03\xd2\xba\x18\xd9\xdc\x2a\x8c\x9a\xd3\ \xb5\xb6\x48\x86\xe3\xcb\xfa\xfa\x53\x15\xd9\xa8\xcf\x35\x0d\xcd\ \x0f\x9f\x7f\xad\x47\x3e\xff\x00\x5a\xef\xaf\xd6\xbb\xeb\x52\x0f\ \xc7\xeb\x53\x9f\x7f\x9d\x54\xfa\x7e\x95\x1f\x3a\x8c\xff\x00\xe2\ \xa3\xe7\xf3\xa2\xdb\x98\x83\x7e\x28\x18\xec\x0f\x7a\x22\xc2\x65\ \x59\x9a\xe1\x51\x63\x1f\x93\x06\x85\xf6\x79\x54\xde\xb9\xe0\xed\ \x5e\x3e\xb5\xb1\x71\xa8\xc7\x0a\x1c\x80\x48\xaf\x3b\xaa\xeb\x93\ \xcd\x13\x5b\x20\x0a\x1b\x8d\xd5\x99\x64\x04\x67\x0f\x26\x4f\x7e\ \x6b\x07\xed\x0c\x2f\x75\xa8\x24\x70\xc8\x0e\xee\x31\xe9\x49\x6a\ \x9a\x1c\xb6\xd6\xbe\x20\x98\x13\x8e\x94\xa1\xd2\xe6\x5b\x6d\xee\ \xf8\x38\xaa\x59\xe9\x92\xcd\x19\x95\x9c\xe3\x9c\x54\x58\x69\x66\ \x69\xe4\x57\x94\xed\x53\xc5\x71\xd2\xb7\x6a\x4b\x10\x7f\x28\x19\ \xab\xde\xe9\x30\xc5\x77\x0c\x61\x8f\x98\xe3\x19\xa2\x6a\xda\x64\ \x10\x5a\x86\x00\xe7\xd7\x34\x59\x74\xab\x78\xf4\xb2\xc6\x3d\xde\ \x5e\x4d\x5b\x4b\xb1\xb6\xfd\x96\x24\x11\x86\x25\x73\xd2\xa7\xec\ \xf5\xad\xbb\x24\xce\x10\x33\x6f\x23\xa7\x4a\x9d\x22\x38\xbf\x6a\ \xdc\x29\x8c\x6e\x18\xc0\xab\xa0\x41\xf6\x80\xa1\x45\xce\xcc\x8f\ \xad\x46\xa6\xe9\x1e\xb7\x6c\x87\x6e\x5b\x38\xab\x7d\xa0\x94\x25\ \xcd\xa0\xc8\x39\x90\x71\x56\xfb\x4b\x32\x25\xac\x23\x7e\x58\xb0\ \xe0\x7c\x6a\x75\xf9\xe3\x4d\x21\x14\x39\x2e\xd8\xc0\x1d\x68\xba\ \x9d\xd4\x31\xe8\x6a\x8d\xfd\x63\x2e\x00\x3e\xb4\xd4\x09\x31\xd2\ \xa3\x88\x46\x59\xca\xf4\xac\xf8\xa1\x93\xc5\xf0\xc0\x2a\xf9\xc6\ \x2b\xe8\xbf\x78\x80\xf7\x14\x3b\x89\x60\xf0\x1b\x01\x49\xc7\x14\ \xb6\x9c\xbb\xae\x01\x3d\xb9\xa7\x5f\xcf\x70\xa0\xf2\x3a\xd0\xef\ \x3c\x47\x65\x8a\x33\x8c\xf5\xa5\x1d\xc4\x27\xc2\x85\x4b\x48\x78\ \x34\x27\xb6\xba\x2d\x97\x85\xf7\x1f\x6a\xe4\xb7\x90\xbe\xd6\x42\ \xbe\xb9\x1d\x29\xfb\x54\x44\x52\x23\x19\xc7\x53\x45\xcd\x4e\x78\ \xa8\xcd\x75\x77\x18\xa1\x3e\x01\xed\x50\x48\xf6\xfa\x54\x71\xed\ \xf4\xae\xe3\xdb\xe9\x5d\xc7\xb7\xd2\xac\x0f\xfa\xf4\xae\x62\x3b\ \x7f\xe6\xab\xfe\xbe\x15\x1f\xeb\xe3\x54\x96\x40\x8b\x93\xc9\xec\ \x29\x75\x49\xa7\x7d\xc3\x8c\x7a\xd5\xee\x85\xca\xc4\x03\x49\xb9\ \x3b\xe0\xd2\xb0\x5c\x4b\x04\x9b\xa3\x6c\x12\x30\x6a\x67\xb8\x96\ \x53\xe6\x3d\x69\x39\x10\x93\x91\xd6\x87\xb4\x80\x7d\x69\x3f\xba\ \x4a\x6e\x12\x60\x8d\xc1\xeb\x8a\x16\xbc\x64\x78\x04\x79\x39\xf4\ \xa9\x9c\xc4\x74\xc2\xd2\x83\x9d\xb4\xa6\x82\xe1\xb4\xb6\x2c\x0e\ \x14\x90\x3e\x19\xe2\x94\xfb\x3d\x21\x92\xfa\xe8\xaa\x93\x18\x6c\ \x8a\xa2\x4b\x23\xfd\xa5\xd9\x1a\x64\x2a\x9d\xc2\xa7\x5b\x9e\x49\ \x35\x7b\x58\x22\x8c\xef\xdf\x9f\x95\x1f\xed\x54\xf3\x0b\x24\xb7\ \x58\xb2\xce\x42\xfc\xe8\x9a\xb4\xb7\x36\xda\x20\x43\x1f\x9b\x6f\ \x7a\x9b\x48\x6f\x6c\xfe\xce\xa3\x48\x87\x73\x26\x46\x46\x2b\xbe\ \xcf\x58\xde\x45\xa3\xc9\x78\xca\xd8\x94\x96\x1c\x55\x7e\xcd\x69\ \x97\xb2\x9b\xbd\x4a\x4c\xae\x5c\xa8\x19\xf4\xa9\xd0\xb4\xbb\x9b\ \xad\x52\xea\xf6\x53\xc4\x67\x62\xe7\xeb\x57\xb0\xd1\x66\xbc\xfb\ \x41\x2c\xd7\x0f\x84\x85\x41\x4c\x9e\xe6\x88\xba\x31\xb9\xfb\x46\ \x1a\x66\x3e\x14\x48\x48\xf4\xcd\x12\xe3\x45\x5b\x8d\x7e\x03\x2b\ \x66\x14\xc9\xf9\xf6\xa2\xea\x5a\x4c\x53\x6a\xb6\xc5\x9b\xf0\x91\ \xb2\x47\xaf\x15\x6d\x67\x4a\x86\xea\x7b\x71\x92\x11\x5c\x1a\xdc\ \xb6\x87\xc0\x40\x9b\x4e\x40\xee\x29\x29\x62\x8e\x19\x9e\x76\xc6\ \xe3\xd2\xbd\x68\xd0\x50\x27\x32\x9c\xd6\x6e\xa5\x64\x2d\x5d\x40\ \x97\x7e\x7b\x53\x9a\x2d\x84\x8e\xa6\x52\x76\xa9\xf6\xa6\xe4\xb0\ \x31\x3b\x4a\xd2\x8c\x01\x48\x44\xca\xd3\xbb\x83\x90\xa3\xad\x13\ \x49\x16\x7b\x0c\xb2\x00\x64\x2d\x9c\x9a\x7e\x4b\x9b\x50\x77\x33\ \x01\x8e\x95\x81\xab\x6a\x48\xf7\x26\x28\xd8\x74\xea\x29\x9d\x30\ \x7f\x47\xcf\xa9\xa3\xba\x82\x6a\x87\x23\xad\x76\x6a\x3f\xd6\x2b\ \xbe\x7f\x3a\xa3\x90\x17\xd2\xa8\xc4\xa8\xcb\x06\x02\x85\xf7\x88\ \xbf\xb7\xfa\xd5\xe2\x91\x65\x38\x4d\xcc\x7d\xab\xa5\x71\x1f\x0f\ \x91\x51\x1c\xa8\xcd\x85\x24\x9f\x4a\x21\xe7\x9f\xd6\xa3\xfd\x62\ \xbb\xfd\x66\x97\x96\xe1\x51\xb0\xa3\x26\xa6\x2b\x94\x75\xd8\xe7\ \x6e\x7b\xd1\x26\x96\xde\x1b\x2f\x09\x1c\xbb\x1e\xe4\xe4\xd6\x68\ \x1f\xbd\x4f\x5a\x69\x92\xcf\x1f\x8a\xcc\x11\x4f\x4f\x53\x4b\xde\ \xda\xbd\xbf\x24\xee\x1e\xb4\xa8\x50\xc7\x35\xee\x6d\x20\xb7\x8e\ \xc2\x3f\xc3\x5d\xa1\x01\xe9\x5e\x27\x5d\xb6\x8a\xf6\xfc\xf8\x78\ \x8d\x4b\xe3\x8a\x9f\xb4\x56\x36\x42\xc9\x62\x80\x76\xc7\xc4\x54\ \x5b\xe9\xf6\x56\xfa\x14\x76\xf1\xa0\x2e\x17\xcc\xe0\x77\xaa\xe8\ \x7a\x7d\xa5\xad\x84\xe1\x23\xde\xee\xc5\x98\xe3\x38\xa0\xe8\xb6\ \x36\xf1\xea\x37\x13\xf8\x7b\xe5\x75\xda\x06\x33\x8a\xbc\x76\x16\ \xe3\x5a\x8e\x76\x8b\xf1\x06\x42\xae\x3b\x9a\x9d\x5a\xd1\x0d\xe4\ \x6f\x34\x58\x28\xe1\xb1\xf0\xa6\x35\xab\x4d\xf1\x03\x71\x10\x0a\ \x47\x02\x89\xa9\x43\x24\xda\x6c\x6c\xc8\xa2\x22\xa3\x03\xe5\x56\ \xb2\xb6\x92\x4d\x15\x4a\x05\x58\x90\x6d\x0b\x8f\x4a\x8d\x2a\xd5\ \xa4\xb0\x99\x54\xec\x44\x63\xc0\xee\x6a\xba\x2d\xa1\x92\x5b\x88\ \xb7\x6d\x55\xe4\xe3\xbd\x5e\xc2\xd5\x5b\x53\x92\x36\x38\x1b\x09\ \xf8\xd0\xe2\xb7\x89\x35\x95\x57\x3f\x86\x72\x3e\x34\x49\x61\x81\ \x75\x48\x9b\x8f\x0b\x76\x0d\x4e\xa9\x1d\xba\xdd\xc7\x32\x81\xb1\ \x58\x13\x8a\x9d\x51\xa1\x66\x49\xa2\x03\x08\x41\xab\x49\x72\x97\ \x0e\x24\xc8\x03\x15\x9b\xaa\xaa\x6e\x52\xa7\x26\xbd\x3e\xa1\xac\ \xa1\x25\x61\x6f\x9d\x61\xc9\x2c\x92\xce\x5d\xd8\x9a\xf5\x76\x97\ \x50\x43\xa7\xc6\x77\x0e\x9d\x3d\xeb\x13\x59\xd4\x25\x7c\xa0\x62\ \x01\xaa\x58\x82\xba\x7c\x8f\xdc\x8a\x8b\x34\x05\x7c\xd4\xa6\xb4\ \xdb\x51\x42\xb1\xeb\x59\x49\x09\x69\x7c\x65\x6c\xf6\x22\xbd\x45\ \x82\xed\xb7\x51\xed\x46\x3d\x7e\x55\x07\xad\x51\x97\x9c\x8a\xad\ \x52\x69\x56\x25\xdc\xc6\xa3\x4b\x12\x5c\xdc\xf8\x8c\x87\x66\x38\ \x35\xa4\x6d\x56\x28\xa6\x69\x58\x3e\x7a\x0c\x74\x15\xe7\x1a\xda\ \x56\x91\x8a\xc6\xd8\xf8\x56\xbe\x91\x10\x5b\x27\x41\x85\x94\xe7\ \x39\xa9\xd4\x62\x41\x6a\x88\xcc\x1a\x43\x81\x9a\x52\x18\x56\x31\ \xc7\xcc\xfa\xd1\x0f\x1f\x1f\xf0\xaa\xe7\x03\x39\xe3\xd6\x94\xb9\ \xb9\xc9\xd8\x94\xc6\x9f\x66\x8d\x09\x99\xc1\x67\x3d\x05\x75\xed\ \xb7\xf4\x4f\x11\xe3\xf0\xcf\xa7\x71\x58\xc5\x88\x3d\x68\xc8\x72\ \x82\xb7\x96\xed\x24\xb6\x45\x46\x03\x00\x71\x48\xea\xd3\xa9\x8f\ \x68\x39\x26\xb3\x50\xed\x5c\x9a\xf6\x17\x37\x68\x9a\x4a\xe0\xf2\ \x50\x0f\xd2\xbc\x85\xcb\x82\x49\xcf\x39\xad\xbd\x75\x2d\xff\x00\ \x67\x46\x88\x17\x20\x0f\xf0\xaa\x69\x9f\x77\x4d\x08\x6e\x20\xb1\ \xdd\xfe\x26\x83\xa2\xdc\xda\xc5\x0d\xc8\x38\x0c\x5f\xa7\xb6\x28\ \x1a\x44\xd6\xf0\xea\xce\xf2\x10\x01\x43\x8f\x8e\x45\x45\xdd\xdc\ \x31\xea\xf1\x5c\x74\x5d\xd5\x4d\x5a\xf2\x39\x98\x4a\x08\xe3\xa5\ \x1f\x52\xd4\x63\xbc\x83\x2a\x38\x02\x86\x75\x15\x9e\xc2\x38\x14\ \x7e\x44\x00\xfc\xa8\xba\x55\xfa\x0d\x31\xed\xb1\xe6\x0c\x7f\x5a\ \x5e\x1b\xc6\xb6\x79\x20\x5e\x92\x1c\xd2\xcd\x7f\x25\xad\xcb\x98\ \xc7\x0e\xb8\x34\x11\xa8\x4b\xe3\x09\x17\x83\x8c\x1a\x25\xdc\xae\ \xca\x8e\x0f\x3d\x73\x5d\x71\x23\x3d\xb2\x90\x4e\x47\x7a\x86\x77\ \x92\xd3\x04\xe4\xd0\xe2\x90\xb4\x06\x26\x63\x55\x48\xe5\x53\xe5\ \x27\x15\x7f\x0d\xcf\xe6\x3f\xad\x6d\xc9\x61\x1e\xd2\xc1\x8d\x22\ \x38\x6c\x0e\x79\xad\x1b\x1b\x69\x98\x09\x1c\x30\x51\xd3\x34\x1d\ \x41\x4b\xcc\xa8\xa3\x34\xcc\x42\x31\x0a\x40\xed\xb7\x71\xe6\x9f\ \x16\x70\xaa\xfe\x1c\xa4\x71\x59\x3a\xdd\x89\x11\x99\x3c\x50\x76\ \x8c\xe3\x15\x8d\xa4\x29\x6c\x92\x72\x0b\x57\xa8\x88\x62\x30\x3d\ \xaa\xd5\x07\xaf\xce\xaa\x6b\xbf\x95\x24\x2d\x26\xbe\xbc\x65\x8f\ \xf2\xaf\x52\x7a\x0a\xf4\x70\x42\x2d\xed\x82\x60\x70\x29\x76\x6c\ \x92\x0f\x34\x58\x15\x76\x93\xb4\x56\x7b\x73\x7a\xc1\x0e\x29\x2b\ \xe0\xe9\x74\x9b\x9b\x22\xac\x4f\x7f\x6a\xa3\x37\x38\xa5\x2e\x65\ \x92\x59\x3c\x18\x54\x93\xec\x29\xbd\x2f\x49\x96\x57\xcc\xaa\x57\ \x1e\xa2\x9f\x9a\x26\xb6\x6d\xa8\xd4\xbc\xb0\x4f\x7a\xde\x1b\x49\ \x81\xec\x2b\x3f\x51\xd2\xcd\xb1\x1b\x5b\x76\x7b\x62\x96\x68\x27\ \x80\x65\xe2\x60\xa7\xb9\xaa\x86\xee\xac\x45\x43\x63\xab\x36\x68\ \x52\xc9\x9e\x05\x33\x6d\x75\x2c\xa5\x61\x66\xca\x81\x48\xea\x2a\ \x56\xe0\x80\x70\x3a\xd4\x35\xd4\xcf\x18\x56\x72\x45\x1b\x4f\x67\ \x2c\xc8\x58\xed\xc6\x71\x49\xdc\x16\x8e\xe5\xf6\x92\x32\x6b\xa3\ \x59\x19\xb7\x00\xc4\xfa\x8a\x6b\x56\x5f\xc3\x5f\x5a\x45\x72\xdd\ \x49\xa7\xec\xd4\x8b\x57\xcf\x4c\xf1\x54\xb2\x1e\x77\x1e\xa2\x8d\ \x65\xe5\x9d\xd6\xad\x78\x36\xcc\x8d\xef\x4b\xea\x28\x77\x06\x00\ \xd2\x89\xc5\x3c\xde\x6b\x35\x3e\x82\xa9\x0b\x86\x84\xa1\xeb\x50\ \x09\x8f\xca\x79\x06\xa4\x22\xb7\x20\xe2\x88\x38\xfd\xe3\x50\x59\ \x47\x53\x5e\x82\xe5\xf6\xc0\xc7\xda\x81\xa0\xf8\x26\xf4\x78\xd8\ \xe9\xc6\x7d\x6b\x7d\x9a\x24\x12\x92\x57\x66\x38\xac\x6b\x9d\xb1\ \xc1\xe3\x63\xcc\x4d\x67\xa2\xcb\x3c\xa3\x19\xcf\xaf\xa5\x68\xde\ \x5b\x4d\x6d\x6e\xb2\x09\xcb\x67\xb5\x63\x6a\x17\x17\x53\xc4\x62\ \x5d\xc3\xb1\x34\x5d\x32\xd1\xa2\x48\xf7\x1c\xfa\xd6\xe8\x1e\x5a\ \xe3\xd7\xe7\x55\xa8\xed\xf2\xaa\xb7\x43\x5a\x1f\x67\x02\xf8\x33\ \x37\x1b\x8b\xd1\x6f\x2e\xe2\x50\xc0\xb0\x07\x34\x9a\xcf\x19\xe7\ \x70\xa3\xa5\xcc\x4b\x19\xf3\x0a\xc0\xbb\xbc\x2b\x7a\xce\x8d\xc0\ \xa5\x66\xbb\x92\x5b\xa5\xc9\xed\x4e\xab\x12\x2a\x1b\xf3\x1a\x7f\ \xec\xb4\x2a\xf3\xcf\x23\x0c\x90\x6b\xd0\x90\xaa\x49\xe9\x9a\xf3\ \xfa\x84\x99\xb9\x6e\x7a\x1a\xbe\x98\xe0\x4c\xc4\x9e\xd4\xb6\xb7\ \x3e\xdb\x95\x20\xe7\x14\x27\xb9\xfb\xdc\x5b\x0e\x05\x2a\x2c\x63\ \xfe\xd1\xfa\xd1\x56\xde\xda\x15\xcb\xae\xf3\xef\xcd\x29\xa8\xda\ \x04\x4f\x11\x53\x66\x7b\x55\x34\xe8\xc0\x43\x3b\x76\xe0\x50\xef\ \xa2\x69\x53\xc6\x0b\xc7\xad\x46\x91\x6d\x14\x8c\x5e\x7f\xca\xbd\ \xbd\x6b\x46\x73\x11\x85\x9a\xde\x20\x14\x71\x90\x31\x58\x50\xa0\ \x9e\xf4\x09\x0f\x04\xf3\x5b\x83\x18\x10\xdb\xc3\xc0\x19\x24\x0e\ \x2b\x1b\x51\x12\x3d\xd0\x8c\xf5\xce\x2b\x52\x0d\x36\xd2\x18\x03\ \x4c\xdb\xe4\x3d\xb3\x49\xdf\x36\xd2\x22\x89\x48\x5f\x4a\xe8\xd4\ \x5b\xc5\xb9\xbf\x31\x14\x4d\x3e\x22\xec\x64\xc1\x24\xd4\x5e\x38\ \x13\xa2\x91\xde\x88\xab\x25\xcc\x9b\x42\xf9\x40\xe4\xd2\x13\xc0\ \x45\xc1\x8d\x17\x27\x3d\x05\x68\x47\x63\x3a\xd9\x9f\x11\x42\xfb\ \x66\x91\xb7\xb4\x69\x1d\xbf\x1a\x18\x4a\xff\x00\xee\x3e\xdc\xfc\ \x29\xb5\xb2\x6e\x8f\x75\x68\x0e\x71\x8f\x18\x66\x9c\xb6\xd1\x01\ \xf3\x49\x71\x1e\xde\xdb\x5b\x8a\x14\xfa\x6a\x6f\x22\x39\xe1\x00\ \x77\x32\x0a\xca\xb8\x53\x14\x8c\x84\xa9\xc1\xc6\x41\xc8\x35\xbf\ \xa9\x12\x20\xe2\xb3\x50\x90\x41\x07\x06\x9a\x13\xca\xf8\x46\x72\ \x45\x69\x88\x92\x58\xd1\x5c\x64\x0e\xd4\x7f\x06\x38\xe2\xdc\x8a\ \x01\x15\x99\xa9\x5c\xca\x70\x85\xb8\xa4\x55\x89\xeb\x5a\x30\x8e\ \x12\x9e\x1d\x2a\x2a\xa7\xf8\x54\x37\x43\x54\x63\xc1\xa4\x2d\x2e\ \xa7\x8a\x77\x54\x7c\x02\x6a\x35\x76\x6f\x00\xbe\xe3\xbb\x19\xce\ \x6b\xce\x47\xa8\xdd\x8c\x8f\x13\xbd\x0a\x5d\x56\xf7\x04\x78\xb5\ \x6b\x5b\x99\x99\x0b\x33\xe4\xd3\xba\x7c\xaf\x24\xfe\x63\x5b\x88\ \x78\x35\xcd\xd4\xd3\x1a\x15\xc4\x90\xcd\x20\x42\x39\x6e\x73\x4e\ \x6a\x17\xd7\x19\xc8\x60\x30\x3d\x2b\xcf\x5c\x5e\x4e\x66\x24\xb0\ \x24\x9a\x88\xef\xae\x15\xbc\xac\x05\x52\x6b\x99\x64\x7c\xbb\x64\ \xd0\xe0\xb8\x90\x4a\xc0\x1e\x28\xff\x00\x79\x9b\xfb\x54\xd6\x9f\ \x3c\x8d\x2f\x9b\x06\xa3\x5b\xb8\x91\xbc\x84\x8c\x50\xb4\xa6\x2c\ \x02\x9e\x45\x39\xac\x39\x5b\x4d\xaa\x14\x0c\x63\x81\x58\xf6\x52\ \x30\x7d\xa3\xa1\x35\xad\x7b\x33\xad\x96\x17\x00\x63\xd2\xbc\xfc\ \x6c\x44\xbb\x87\x5c\xd6\xcc\x17\x32\x25\xa9\x2b\x8c\xe3\xd2\xb2\ \x1e\x47\x7b\xbd\xec\x72\x73\x5b\x3a\x70\x12\x3e\xf7\x1b\x88\x1c\ \x66\xa9\x3a\xab\x5d\x33\x10\x3c\xbd\x29\x0b\x86\x2f\x72\x15\x8f\ \x19\xc5\x7a\x05\x8d\x2d\xed\x40\x8d\x40\xe2\xb1\xee\x7f\x11\xc9\ \x6e\x4d\x0a\x2b\x99\x63\x8d\x82\x91\x4d\xfd\x9f\xf3\xcf\x24\x8f\ \xcb\x0e\xe6\x9a\xbd\x95\xdd\xca\x13\xe5\x07\xa0\xac\xeb\xb8\xd7\ \x65\x67\xc3\xfd\x68\xf8\xd7\xa5\xba\x91\xbc\x15\x5c\xe0\x63\xb5\ \x0a\xd6\x34\x92\x4c\x30\xc8\xac\xdd\x66\x34\x8e\xe3\x6a\x0c\x0a\ \xff\xd9\ \x00\x00\x11\x22\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x05\x89\x00\x00\x05\x89\ \x01\x6d\x68\x9d\xfa\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x10\x9f\x49\x44\ \x41\x54\x68\x81\xcd\x99\x79\x58\x54\xe7\xf5\xc7\x3f\xf7\xce\x06\ \xb3\x38\x03\xa2\x20\x11\x04\x45\x8b\xa0\xb6\x3f\x0d\x34\x8a\x9a\ \x68\xaa\x46\xd2\x68\x6d\x4c\x8a\xc6\xb8\xb5\x56\x1f\x35\x86\x24\ \x66\x51\xb1\xa6\x9a\x6a\xd2\x6a\x6d\xab\xd1\x18\x35\x12\x25\x35\ \x35\x62\xeb\x06\x96\xc7\xb8\x24\x11\xac\x59\x54\x54\xdc\x00\x11\ \x95\x65\x36\x66\x18\x66\x86\x59\xef\xef\x8f\x0b\x89\xa6\x89\x4d\ \xdb\x44\x7b\x9e\xe7\x7d\x66\xfe\xb8\xf7\xbd\xdf\xef\x39\xe7\x3d\ \xdb\x2b\xf0\xbf\x21\x42\xdb\x12\xdb\x7e\x01\x24\x20\xdc\xf6\x2b\ \xdd\xee\xc5\xbb\x29\xed\xa0\x35\x4f\x3e\xf9\x64\xb7\x8c\x8c\x8c\ \x11\x26\x93\x29\x59\xa3\xd1\x10\x08\x05\xae\x1e\x2c\x39\xb8\x3f\ \x3f\x3f\xff\x06\xe0\xe3\x0b\x32\xff\xb4\xc1\xdd\x12\x01\x50\x8f\ \x1d\x3b\xb6\xc7\x23\x8f\x3c\xf2\xbb\xd4\xd4\xd4\x87\x62\x62\x3a\ \x8a\x3a\xbd\x1e\x51\x14\x01\x08\x87\x42\x38\x9a\x9d\x37\x8e\x97\ \x1e\x9b\x36\x63\xc6\xac\x0f\x80\x00\x32\x91\x5b\x36\xb9\x1b\x22\ \x00\xea\xf1\xe3\xc7\x67\x8e\x1b\x37\xee\xaf\x03\x06\x0c\xe8\x68\ \xe8\x60\x40\xa9\x50\x20\x8a\x0a\x04\x01\x24\x49\x22\x14\x0a\x23\ \x88\x02\x11\x9a\x08\xa9\xb8\xb8\x78\x5e\x4e\x4e\xce\x9b\xc8\x24\ \x3e\xb7\x84\xf2\x2e\x11\x50\x44\x47\x47\x77\x1e\x32\x64\xc8\xd6\ \x8c\xcc\x8c\x8e\x06\x83\x01\x95\x52\x85\x52\xf9\x05\x01\x10\xf0\ \x78\x3c\xd2\x99\xf2\x33\x81\x92\x92\x12\xfb\xd1\xa3\x47\x15\x80\ \x06\x08\xde\x6d\x02\x22\x10\x39\x66\xcc\x98\x89\xbd\xd3\x7a\x27\ \x19\xf4\x06\xd4\x2a\x15\x2a\x95\x1a\xa5\x4a\x89\x28\x88\x94\x95\ \x95\x05\xcb\xca\xca\x7c\x9f\x7e\xfa\x69\x7d\x79\x79\xf9\xc7\x97\ \x2f\x5f\x2e\x01\x3e\xe1\x4b\xee\x03\x77\x87\x80\x00\x18\x4c\x26\ \xd3\x83\x5d\xef\xe9\x8a\x52\xa9\x44\xa9\x54\xa1\x52\xa9\x50\xab\ \x55\x48\x92\xc4\x81\x03\x07\x2e\xad\x59\xb3\xa6\xd0\xe3\xf1\x5c\ \x00\xae\x01\xf5\x80\x05\xf9\x30\xdf\x72\x90\xef\x96\x05\xf4\x26\ \x93\xa9\xaf\x20\x0a\x88\xa2\x88\x20\xfb\x0c\xc1\x60\x88\x50\x38\ \x84\xc5\x62\x79\xdf\xe3\xf1\xec\x03\x6e\x00\xcd\xc8\xc0\xdb\x5d\ \xe7\xae\x13\x50\x24\x27\x27\xc7\x25\x25\x25\xc5\xfa\x7c\xad\x48\ \x48\x84\xc3\x61\x82\xc1\x80\x1c\xf8\x43\x21\x1a\x1a\x1a\xca\x81\ \x6a\xc0\x01\x84\xbe\x0c\xfa\x66\x11\xef\x10\xe8\x76\x11\x00\xf5\ \x80\x01\x03\x06\x9a\xa2\x4c\x82\xdb\xed\xc6\xe7\xf3\x11\x0c\x06\ \xf0\xfb\xfd\xf8\x7d\x3e\x7c\x3e\x3f\x8f\x3d\xf6\xd8\x68\x6e\x4d\ \x64\x37\xbf\x2f\x72\x53\xc2\xbb\x1b\x04\x22\x63\x63\x63\x33\x74\ \x3a\x2d\x0e\x87\x13\xa7\xc3\x81\x3f\x10\xc0\xe7\xf3\xe3\xf3\xf9\ \xf0\xf9\x7d\xf4\xed\xdb\xe7\xe1\x47\x1f\x7f\xf4\x41\x20\xf2\x26\ \xc0\x4a\x20\xf2\x27\x3f\x19\x9d\xfc\xe2\x8b\xcf\x8d\x00\x54\x80\ \x70\xa7\x09\x28\x00\x43\x5c\x5c\xdc\xbd\x7e\xbf\x0f\x9d\x56\x47\ \x28\x14\xc2\xef\x97\x81\xfb\x7c\xf2\xd2\xe9\x75\x9a\x51\x23\x46\ \xfc\x39\x37\x77\xde\x7c\xc0\x04\xe8\xa7\x4e\x9d\x3a\x78\xd3\x5b\ \x9b\x0e\x8d\xfb\x69\xce\x65\xaf\xd7\x3f\x1e\xd0\x01\xc2\x9d\x3c\ \x03\x02\xa0\x4c\x4b\x4b\xeb\x96\xd8\x2d\x31\x31\x1c\x0e\x63\x32\ \x99\xd0\xe9\xf4\x20\x81\x4a\xa9\xc4\xd5\xe2\x22\x14\x0a\x13\x0a\ \x05\xe9\xd2\x25\x5e\x21\x8a\x8a\x97\x5f\x7c\xe9\x85\x91\xd9\xa3\ \xb3\xbb\xea\xf5\x86\xc4\xba\xba\x3a\x2e\x57\x5e\x0e\x5e\xb9\x52\ \xe3\x42\xce\x09\x77\xd4\x02\x02\x10\x31\x68\xd0\xa0\x51\x6a\xb5\ \x52\x88\x8b\x8d\x27\x2a\x2a\x8a\xfa\x86\x06\xde\x78\xf3\x4d\xe6\ \x3c\xfd\x2c\x20\x7c\x6e\x05\xa3\xd1\x88\x56\xab\x25\x3e\x3e\x7e\ \x50\xb7\x6e\x49\x89\x2e\x97\x0b\x9b\xcd\x86\xd5\x6a\xf1\x7f\xf8\ \xe1\x87\x1f\xd1\x96\x91\xef\x24\x01\x11\x30\x24\x25\x25\x8d\x8c\ \x8c\xd4\x72\xfc\xc4\x09\xde\x78\xf3\x0d\x04\xc2\x8c\x1c\xf1\x20\ \x97\x2f\x9c\xe5\xd4\xa9\xd3\xf8\x7d\x3e\xfc\x7e\x3f\xad\xad\xad\ \x88\x82\x88\x56\xab\xc5\x6a\xb5\xb6\x2d\x8b\x74\xf1\xc2\xa5\x0a\ \x87\xc3\x71\x0d\xf0\xde\x49\x02\x02\xa0\x1e\x38\x70\x60\x5a\x4a\ \xcf\x94\x7e\xa9\xdf\xeb\xcd\xc9\x53\xa7\xa8\xad\xad\x45\xab\x8f\ \x04\x41\x62\xc0\xbd\x03\x78\x6f\xc7\x5f\x08\x04\x03\x98\xcd\x16\ \xcc\x8d\x66\x9a\x1c\x0e\xd4\x6a\x35\x36\x9b\x0d\x9b\xcd\x86\xd9\ \x6c\x0e\x1c\x3c\x78\x70\x13\xd0\x00\xf8\xef\x14\x01\x01\x50\x46\ \x46\x46\x46\x3d\xfc\xf0\xc3\x8b\xfa\xa4\xa7\x0b\xb1\xb1\xb1\x3c\ \x39\x71\x22\xa7\x4e\x7e\x46\x73\xb3\x8b\xc4\x84\x24\x7a\xf4\xe8\ \xce\xc9\x53\xa7\xf1\xb8\xbd\x98\xcd\x8d\x98\xcd\x66\x2c\x16\x73\ \x9b\xdb\x58\xa9\xbd\x76\x55\x2a\x2a\x2a\x7e\xc7\xe9\x74\x7e\x0a\ \xd8\x91\xf3\x03\x8a\x3b\x01\x5e\xaf\xd7\x47\x2d\x58\xb0\xe0\xf5\ \x31\x63\xc6\x8c\x4a\x4c\x4c\xc4\x68\x34\xd2\xdc\xdc\xcc\x9e\x3d\ \xfb\xb0\x5a\xcd\xf4\xeb\xd7\x0f\x7f\x20\x88\xc7\xeb\xe5\x9e\xf8\ \x78\x6e\xdc\xb8\x81\xcd\x6e\xc7\xd1\xe4\xc0\x6e\xb7\x4b\x8d\x8d\ \x8d\x1c\x28\x3e\x50\x78\xf6\xec\xd9\xb7\x81\x8b\x80\x8b\xb6\xba\ \xe8\xbb\x24\x20\x00\x4a\x9d\x4e\xd7\x31\x2f\x2f\x6f\xcb\xb8\x71\ \xe3\xc6\x18\x8d\x46\x02\x81\x00\x95\x95\x95\x9c\x38\x71\x02\x83\ \x5e\xcf\x67\x27\x4f\x63\xb3\x3b\x88\x32\x99\xe8\x60\x30\x50\x5d\ \x5d\x45\x93\xc3\x81\xc7\xed\xc1\xe7\xf7\x85\xed\x76\x7b\xd3\xfe\ \x7d\xfb\xd7\x5f\xb9\x72\xe5\x3d\xe0\x1c\xd0\x44\x9b\xf6\xdb\x3f\ \xf2\x9d\x81\x8f\x89\x89\xe9\x34\x7f\xfe\xfc\x6d\x63\xc7\x8e\x1d\ \xee\x74\x3a\x79\xe5\x37\xaf\xe0\x68\x6a\x62\xe1\xc2\x45\xd4\xd4\ \xd4\xe0\xf7\xfb\x3f\x8f\x3a\x1e\x8f\x27\xd0\xdc\xdc\x6c\x33\x9b\ \xcd\xce\xda\xda\xda\xcb\xa7\x4e\x9d\xfa\xd8\xef\xf7\x37\x02\x8d\ \x40\x2d\x70\x1d\xb9\xb4\xf8\xce\xfb\x01\x01\x50\x25\x27\x27\x77\ \x99\x37\x6f\x5e\x41\x76\x76\xf6\xe0\x0b\x17\x2e\xb0\xfe\x8d\x75\ \x04\x02\x7e\xbc\x5e\x2f\xc1\x60\x90\x60\x30\x88\xcb\xe5\xf2\x55\ \x55\x55\x5d\x29\x2b\x2b\x3b\x76\xf1\xe2\xc5\x8a\x36\xb0\x56\x64\ \x2d\xb7\x00\x9e\xb6\xd5\xc2\xd7\xb4\x95\xdf\x36\x01\x01\x50\x7d\ \xff\xfb\xdf\x4f\x9a\x35\x6b\xd6\xf6\x91\x23\x47\xf6\x3f\x7c\xf8\ \x30\xef\xed\xdc\x41\x30\x14\xc0\x66\xb3\xf3\xc4\xc4\x49\x98\xcd\ \x66\xcc\x66\xb3\x6d\xdd\xba\x75\xeb\xec\x76\x7b\x39\xb2\x76\x9b\ \x90\x7d\xdb\xd3\x06\x36\xd4\x06\xf8\xb6\x8d\xfd\xb7\x49\x40\x00\ \xd4\x59\x59\x59\x7d\x67\xce\x9c\xf9\x4e\x56\x56\x56\xaf\xa2\xe2\ \x22\xf6\xef\xdf\x2b\x87\xc6\x46\x33\xc3\x1e\x18\x46\xd7\xae\x5d\ \x29\x2f\x2f\x6f\xfc\xc3\x1f\xfe\xb0\xdc\xeb\xf5\x1e\x47\x76\x8f\ \x66\xe4\x72\xb9\xbd\xf2\xbc\xed\x24\xe2\xbb\x20\x20\x02\x9a\xe1\ \xc3\x87\x67\xfc\xf2\x97\xbf\x2c\xc8\xcc\xcc\x4c\xd8\x56\xb0\x8d\ \xe3\x65\xa5\xf8\xfc\x7e\xcc\x66\x33\xbd\x52\xbe\xc7\x03\x0f\x0c\ \xa3\xa2\xa2\xc2\xb1\x61\xc3\x86\x15\x5e\xaf\xf7\x08\x50\x03\xb8\ \x91\xb5\x2c\x00\x11\x6d\xfb\xb5\x7e\x53\x02\xdf\x46\x1e\x10\x81\ \x88\xec\xec\xec\x07\xe7\xcd\x9b\x57\x98\x91\x91\x91\xb0\x71\xe3\ \x46\x4a\xcb\x8e\xe1\xf5\xb5\x62\x31\x5b\x88\xed\x14\xc7\xf4\xe9\ \xd3\xa9\xac\xac\x74\xad\x5f\xbf\xfe\x35\xbb\xdd\x7e\x14\x59\xf3\ \xad\xc8\x5a\x17\x72\x73\xf3\x86\x9e\x3f\x5f\xd5\x70\xfe\x7c\x55\ \x43\x6e\x6e\xde\xd0\x9b\xb0\x29\xb9\x4d\xb4\xfc\x6f\x09\x88\x40\ \xc4\xf8\xf1\xe3\xc7\xcf\x9d\x3b\xf7\xcf\x7d\xfa\xf4\x89\x59\xb5\ \x6a\x25\x27\x4f\x7f\x86\xaf\x55\x06\xaf\x8d\xd4\x91\x9b\x9b\x4b\ \x55\x55\x55\xeb\xc6\x8d\x1b\x57\xd7\xd5\xd5\xbd\x1f\x1d\x1d\x6d\ \xdb\xb7\xef\xfd\x75\x85\x85\x45\x1b\x01\x35\x20\x5a\x2c\xd6\x9e\ \xa9\xa9\xdd\x0d\xa9\xa9\xdd\x0d\x16\x8b\xb5\x67\xdb\xde\xea\x9d\ \x3b\x8b\x36\x15\x17\x1f\xd9\xd6\xbd\x7b\x77\x23\x5f\x11\x35\xff\ \x1b\x17\x12\x01\xed\xe4\xc9\x93\xa7\xfe\xfc\xe7\x3f\xff\x5d\x6c\ \x6c\x6c\xc4\x6f\x7f\xf7\x5b\xae\x5f\xaf\xc5\xeb\xf1\x60\xb5\xda\ \x10\x45\x05\x2f\xbd\xf4\x12\x0d\x0d\x0d\xa1\xed\xdb\xb7\x6f\xae\ \xac\xac\xfc\x3b\x70\xad\xa0\x60\xd7\xa1\x51\xa3\x86\xf6\xb6\xdb\ \x9b\xa5\x99\x33\x9f\x2e\xe8\xdd\xbb\xb7\x2f\x3a\x3a\xfa\xf1\xf6\ \x8d\x47\x8d\x1a\xfe\x78\x66\x66\xdf\xf3\x15\x15\x97\x22\xef\xbf\ \x7f\xd0\xe4\xe8\xe8\x0e\xc2\xda\xb5\x6f\xfd\x20\x3b\xfb\x81\xfe\ \xc8\x56\xfb\xaf\x45\x04\x3a\xfc\xe2\x17\xbf\x58\x7c\xfc\xf8\xf1\ \xc0\x99\x33\x67\xa4\x09\x13\x72\xa4\xd1\x0f\x8f\x92\x86\xde\x3f\ \x44\x4a\x4b\xef\x2d\xa5\xa6\xa6\x4a\x05\x05\x05\x52\x7e\x7e\x7e\ \x28\x3b\x3b\xfb\x5d\x60\x18\x10\x03\x68\x27\x4c\x98\xfa\x52\x4b\ \x8b\x57\x0a\x04\x82\xd2\xb5\x6b\x0d\x21\x9b\xad\x59\x0a\x04\x82\ \xb7\x2c\x9b\xad\x59\xba\x76\xad\x21\x14\x08\x04\xa5\x96\x16\xaf\ \x34\x71\xe2\xd4\x17\x91\xad\xf5\x4f\x40\xfe\x13\xf0\x86\xd9\xb3\ \x67\xff\x6a\xce\x9c\x39\x2f\x2b\x95\x4a\xe5\xb2\x65\x4b\x71\xba\ \x1c\xb4\xb4\xb8\xb1\x58\x2c\xf8\x7d\x7e\x66\xcf\x9e\x8d\x20\x08\ \x1c\x3c\x78\xf0\xfd\xa2\xa2\xa2\xb7\x91\x7b\x5c\x2f\xe0\x3b\x71\ \xe2\xc3\x9d\x95\x95\x57\x83\xc1\x60\x88\x98\x98\x28\x51\xab\xd5\ \x10\x0c\x86\x6e\x59\x5a\xad\x86\x98\x98\x28\x31\x18\x0c\x51\x55\ \x55\x1b\x3c\x77\xee\xe4\x5f\x91\x23\x95\x1a\xf9\xb0\xb7\x4d\x8f\ \xfe\x3d\x51\x00\x1d\x72\x73\x73\x57\xce\x98\x31\x63\x9a\xd3\xe9\ \x14\x96\x2f\x5f\x4e\x98\x20\xcd\xcd\x2e\x6c\x16\x1b\x1e\x8f\x87\ \x69\xd3\xa6\x93\x9e\x9e\xce\x07\x1f\x7c\xf0\xc9\x9a\x35\x6b\x7e\ \x03\x9c\x3f\x7a\xf4\x44\x89\xcf\xd7\x7a\xbd\xb0\x70\xc7\xd3\x4f\ \x3c\x31\x65\xf7\x0f\x7e\x90\x16\xdf\x3e\x8d\xa8\xac\xac\xe2\xa3\ \x8f\x4a\xa9\xab\x6b\x00\x20\x3e\x3e\x9e\xc1\x83\x07\x92\x92\xd2\ \x1d\x90\xa7\x74\xe5\xe5\x17\x2c\x05\x05\xf9\x3f\xfe\xe9\x4f\x1f\ \x5b\x1d\x11\x11\x79\xcf\xd0\xa1\x19\x7d\x80\x96\x6f\x4a\x40\x68\ \x07\xff\xfc\xf3\xcf\xaf\x9d\x31\x63\xc6\x84\xfa\xfa\x7a\x96\xaf\ \x58\x8e\xa8\x40\x06\x6f\xb5\xd1\xec\x74\x31\x61\xc2\x04\xb2\xb2\ \xb2\x38\x73\xe6\x4c\xe5\x92\x25\x4b\x16\x03\x9f\xae\x5d\xbb\x79\ \xc6\xcf\x7e\xf6\xe8\xf3\x0a\x85\x88\xdb\xdd\x2a\xe9\x74\x11\x02\ \x80\xdb\xed\x61\xeb\xd6\xed\xd8\x6c\x4e\x14\x0a\x05\x81\x80\x0f\ \x00\x95\x4a\x43\x28\x14\x24\x26\xc6\xc4\xe4\xc9\x13\xd1\x6a\x23\ \x91\x9f\x97\xdf\x0d\x85\xc2\x14\x16\xee\x59\x31\x6b\xd6\xe4\x5f\ \x7d\x93\x62\xee\xf3\xba\x66\xd1\xa2\x45\x7f\x99\x32\x65\xca\x23\ \x35\x35\x35\xbc\xf6\xdb\xd7\x50\x28\x45\x9a\x9d\x4e\xac\x56\x1b\ \x0e\x87\x93\xec\xd1\xd9\x8c\x1a\x35\x8a\x9a\x9a\x1a\xdb\xd2\xa5\ \x4b\x97\x06\x02\x81\xe3\x80\x59\xa5\xd2\x74\x88\x8e\x8e\x7d\x28\ \x3e\x3e\x4e\xad\x52\x29\x85\x70\x58\xc2\xeb\x6d\x25\x3f\xff\x1d\ \xfc\xfe\x00\x1e\x8f\xd3\xed\x76\x37\xed\xf5\x78\xec\x0b\x3d\x1e\ \xc7\x8e\x70\xd8\xaf\x12\x45\xb1\x9b\x52\x19\xa1\x2a\x2f\x3f\x4b\ \x7a\x7a\x1a\xa2\x28\xa2\x54\x2a\x84\x60\x30\x44\x69\xe9\xc7\xee\ \x5d\xbb\x76\x6c\xbc\x70\xe1\xdc\xf9\x7f\x65\x01\x01\x50\xa5\xa7\ \xa7\xc7\x4d\x9f\x3e\xfd\xbd\xf1\xe3\xc7\x67\x9e\x3d\x7b\x96\x55\ \xab\x56\x12\x11\xa9\xc1\xe1\x70\x60\xb5\xda\xb0\xd9\xec\x0c\x7b\ \x60\x18\xd3\xa7\x4f\xe7\xea\xd5\xab\x2d\x4b\x97\x2e\x5d\x52\x5f\ \x5f\x5f\x02\x5c\x41\xf6\x7b\x25\x90\xb4\x73\x67\xf1\x27\x83\x06\ \x65\x18\x00\x0e\x1d\x3a\x42\x4d\xcd\x75\x1c\x8e\xc6\xba\x50\xa8\ \xb5\xef\xea\xd5\xab\xed\x37\x7f\x78\xce\x9c\x39\x1d\x75\x3a\xe3\ \x99\x0e\x1d\x3a\x77\x49\x4e\x4e\x60\xd8\xb0\xfb\x01\x28\x2b\x3b\ \xe1\x7a\xf4\xd1\xec\x7b\x91\x93\xa0\xff\x76\x87\x58\x00\x54\x59\ \x59\x59\xc9\xb9\xb9\xb9\x45\x39\x39\x39\x99\x27\x4e\x9c\xe0\xb5\ \xd7\x5e\x25\x52\x17\x41\x53\x93\x03\x8b\xc5\x8a\xc5\x62\xa5\xff\ \xff\xf5\x67\xfa\xf4\xe9\x58\xad\xd6\xd6\x35\x6b\xd6\xfc\xbe\xbe\ \xbe\xfe\x08\x72\xa2\xf2\xb6\xed\x15\xd6\x6a\xb5\xae\xc4\xc4\x6e\ \xba\x40\x20\x84\xcb\xe5\xa6\xa9\xc9\x01\x04\xfc\x6a\xb5\xd0\xff\ \xcb\xe0\x01\x5e\x7f\xfd\x75\x5b\x20\xe0\xcd\x80\x80\xdf\x6e\x77\ \xe0\x72\xb9\x09\x04\x42\x24\x24\x74\xd3\x69\xb5\xda\xf6\x7e\x40\ \xfc\xba\x3c\x20\x00\xea\xd1\xa3\x47\xa7\x4d\x9a\x34\xe9\xbd\x61\ \xc3\x86\xf5\x28\x29\x29\x61\xf3\xe6\x4d\x74\x30\x1a\xb0\x59\xed\ \xb2\xe6\xad\x56\xd2\xd2\xd2\x79\xe6\x99\x67\xf0\x7a\xbd\xa1\xcd\ \x9b\x37\xbf\x55\x51\x51\xf1\xf7\x36\xcd\xb7\x00\xc2\xe6\xcd\xef\ \x3e\x11\x1b\xdb\x69\xac\xdb\xed\x8e\x31\x1a\xf5\x62\x30\x18\xc4\ \xe1\x70\xa0\xd1\x68\x89\x8c\xf4\x7c\x96\x97\xb7\xbc\xf1\xeb\x34\ \xb8\x7a\xf5\xea\x1b\xab\x56\xfd\xf1\x94\x46\x13\x99\xd9\xdc\xec\ \x44\xa9\x54\x62\x34\x1a\xc4\xfc\xfc\x1d\xef\x6a\xb5\x91\xd6\xc6\ \x46\xcb\xee\xaf\x22\x20\x00\x9a\x71\xe3\xc6\xdd\x3b\x65\xca\x94\ \x1d\x3f\xfc\xe1\x0f\xbb\xec\xdb\xb7\x8f\x82\x82\xad\x18\x8c\x7a\ \xac\x36\x1b\x36\x8b\x0d\x8b\xc5\x42\xcf\x9e\xbd\x58\xb0\x60\x01\ \xc1\x60\x30\xbc\x6d\xdb\xb6\x1d\x47\x8f\x1e\xdd\x09\x5c\x42\x2e\ \xce\x24\x20\xa2\xb1\xd1\x3a\xaf\x57\xaf\xb4\x01\x9d\x3b\xc7\xe3\ \xf3\x05\x90\x24\x10\x04\x09\xbd\x5e\x47\x20\xd0\x7c\xe9\x36\x1e\ \x00\x40\x44\x84\xe6\x92\x5e\xaf\xcb\x0c\x87\xc3\x04\x02\x21\xfc\ \xfe\x00\xc9\xc9\x29\x43\x5b\x5b\xfd\x94\x97\x9f\xef\xf6\x65\x02\ \x22\xa0\xce\xc9\xc9\xc9\x9a\x36\x6d\xda\xf6\x7e\xfd\xfa\x75\x7a\ \xf7\xdd\x77\xd9\x59\xf8\x1e\x46\x93\x11\xab\xd5\x8a\xcd\x6a\xc3\ \x6a\xb1\x91\x90\x90\xc8\xa2\x45\x8b\x50\x28\x14\xec\xdd\xbb\xf7\ \xe0\xdf\xfe\xf6\xb7\xad\xc0\x79\xc0\xc9\x4d\x75\xbb\xcd\xd6\xe4\ \xab\xad\x95\x95\xdc\x1e\x36\xe3\xe3\x4d\x18\x8d\x06\xc2\x61\xb7\ \xf6\x5f\x11\x30\x99\x4c\x5a\xa3\xd1\x80\xd7\xeb\xa7\xaa\x4a\xe6\ \x2b\x49\x72\x9d\xd7\xd4\xe4\xf4\xdf\x4c\x40\x04\x34\x93\x26\x4d\ \x1a\x3c\x63\xc6\x8c\x3f\xa7\xa4\xa4\xc4\x14\x15\x15\xb1\x65\xcb\ \x5b\xc4\x76\x89\xc5\x6a\xb1\x60\x6d\x03\x1f\x1b\x1b\x4b\x5e\x5e\ \x1e\x7a\xbd\x9e\x43\x87\x0e\x7d\xba\x61\xc3\x86\xf5\xc8\xed\x9e\ \x9d\x5b\x2f\x20\x7c\xab\x56\x2d\x9e\x00\x24\x75\xef\xde\xab\xcf\ \x2b\xaf\xac\x7b\x5d\xbe\x79\x11\x88\x89\xe9\x08\xf8\x07\xfc\x2b\ \x02\x51\x51\x51\xfd\x63\x62\x62\x68\x6e\xf6\x21\x49\x12\x82\x20\ \xb0\x78\xf1\xdc\xd9\xd5\xd5\x17\xcf\x01\x35\xed\x87\x58\x00\xd4\ \x13\x26\x4c\x18\x38\x77\xee\xdc\xbf\x24\x26\x26\xc6\x9c\x3f\x7f\ \x9e\xcc\xcc\x4c\x56\xad\xfa\x3d\x6e\x97\x1b\xb3\xd9\x82\xc5\x62\ \xc5\x64\x32\xb1\x70\xe1\x42\x3a\x75\xea\xc4\xe9\xd3\xa7\xaf\xac\ \x58\xb1\x62\x25\x50\x8e\x3c\xbf\xbf\xa5\xdd\x43\xae\x34\xaf\x03\ \xa5\xd5\xd5\x97\x76\x59\x2c\xf5\xad\x1a\x8d\x0a\x8f\xa7\x95\x84\ \x84\x78\xe2\xe3\xbb\x26\x95\x94\x1c\x9c\xf3\x75\xe0\x4b\x4a\x0e\ \x3e\x1d\x17\x77\x4f\xb7\xae\x5d\xbb\xe0\xf1\xf8\x50\xab\x55\x98\ \xcd\x37\x5a\xab\xab\x2f\xfe\x15\x28\x05\xae\x7f\x5e\xb2\xc6\xc5\ \xc5\xc5\x3d\xf3\xcc\x33\xf9\x2d\x2d\x2d\x86\xb5\x6b\xd7\x9e\x5b\ \xbc\x78\xf1\xce\x95\x2b\x57\x96\xdb\xed\xf6\xd0\x53\x4f\xcd\x43\ \x21\x2a\x31\xe8\x0d\xbc\xf0\xc2\x0b\x24\x25\x25\x51\x5d\x5d\xdd\ \x90\x97\x97\xf7\x0a\xf0\x19\x37\xcd\x69\xbe\x02\x47\x18\x10\x97\ \x2d\x5b\x39\x58\xa7\x8b\x08\xe9\x74\x11\x28\x95\x0a\x1c\x0e\x37\ \x09\x09\x89\x42\xb7\x6e\xc9\xab\xff\xf1\x8f\x8f\x97\xdc\xfc\x82\ \x24\x49\x42\x69\xe9\xf1\xa5\x89\x89\x49\x2b\x13\x13\x13\x85\xa6\ \xa6\x16\x94\x4a\x05\x3a\x9d\x06\xbd\x3e\x32\xb4\x6c\xd9\xca\xc1\ \x6d\x1e\x13\x6e\x1f\x57\xeb\xd6\xae\x5d\x3b\x7b\xc4\x88\x11\xaf\ \xee\xd8\xb1\xa3\x74\xf1\xe2\xc5\xbf\x47\xee\x4d\x3b\xce\x9c\x39\ \x33\x37\x27\x27\x67\xc8\x9a\x35\x6b\xc8\xc8\xc8\x60\xd0\xa0\x41\ \xd4\xd7\xd7\x3b\x9e\x7d\xf6\xd9\x25\x75\x75\x75\x87\xf8\x22\xd6\ \xff\xd3\xf5\x4f\x9b\xa8\x5e\x7d\x75\xed\xaf\x7a\xf5\xea\xbb\x50\ \xa9\x54\x88\x3a\x5d\x24\xa2\x28\xa0\x52\x29\x48\x4a\x8a\x27\x32\ \x32\x02\x8f\xc7\x8d\xcb\xe5\xb0\x4b\x92\x54\x03\x20\x08\x42\x92\ \xc1\x60\x8a\xd6\x6a\x75\x78\x3c\x5e\x6a\x6a\xea\xe4\xcb\x8f\x90\ \x84\xdb\xed\x25\x18\x0c\x87\x2f\x5d\x2a\x5f\xb1\x60\xc1\x53\xbf\ \x6e\xb7\x80\x2e\x3a\x3a\x7a\x50\x53\x53\x13\x45\x45\x45\xdb\xdb\ \xb4\x7a\x12\xf8\x64\xeb\xd6\xad\xeb\x5c\x2e\x57\x68\xd2\xa4\x49\ \x0c\x19\x32\x04\x87\xc3\xe1\x5e\xb6\x6c\xd9\xaa\xba\xba\xba\x0f\ \xf8\x22\xd6\x7f\x1d\x78\x00\x69\xcf\x9e\xc2\xe3\xc1\xa0\x1f\x51\ \x44\x3a\x76\xec\x90\x2d\x22\x42\x81\x46\xa3\xc2\x6a\xb5\xd3\xd2\ \xe2\xc6\x68\xec\x20\xc5\xc5\x75\x8d\xee\xdc\x39\xbe\x7f\xe7\xce\ \xf1\xfd\xe3\xe2\xba\x46\x1b\x8d\x06\xa9\xa5\xc5\x85\xd5\xda\x84\ \x5a\xad\x22\x22\x42\xc9\xb1\x63\x87\x6c\x20\x49\x81\x80\x8f\xbd\ \x7b\x77\x95\x01\x92\xb2\xcd\x02\x6a\xb7\xdb\xdd\xc1\xef\xf7\x73\ \xdf\x7d\xf7\x75\x28\x2b\x2b\x73\x22\xb7\x7a\x92\xc1\x60\xb0\xab\ \x54\x2a\xa2\xa3\xa3\x69\x6e\x6e\xf6\x2d\x5f\xbe\xfc\x4f\xe7\xce\ \x9d\x3b\xc0\x17\xb1\xfe\x76\xe0\x01\x82\xa5\xa5\x87\x8f\x76\xef\ \xde\x63\x43\x65\xe5\xc5\xcf\x8e\x1f\xff\xb0\xa4\xa6\xe6\xf2\x2b\ \xb9\xb9\xf3\x9f\x54\xab\x55\x04\x02\x7e\xec\xf6\x26\x41\xa3\x51\ \xa3\x52\x29\x01\x89\xd6\x56\x1f\x3e\x9f\x5f\x08\x06\x43\x44\x44\ \xa8\x10\x45\x58\xbd\xfa\x8f\xdb\xf2\xf3\xdf\xcc\xbb\xef\xbe\x21\ \x23\x53\x52\xbe\xd7\xbf\xb4\xf4\xf0\x51\xe4\x80\x81\x02\xb8\xe7\ \xb9\xe7\x9e\x7b\x7d\xff\xfe\xfd\x52\x49\x49\x49\x0d\x90\x00\x68\ \x81\xce\xdb\xb6\x6d\x3b\xb2\x7f\xff\x7e\xa9\xb0\xb0\xd0\x3f\x7c\ \xf8\xf0\x3f\x01\x03\x81\x28\xfe\xbd\x52\xbc\xbd\xdf\x55\x03\x62\ \x8f\x1e\xe9\x29\x47\x8e\x94\x7a\xaf\x5e\xad\x93\xea\xeb\xcd\x52\ \x63\xa3\x59\xb2\x58\x6c\x92\xcd\x66\x97\x6c\x36\xbb\x64\xb1\x58\ \xa5\x86\x06\xb3\x54\x57\xd7\x28\xd5\xd4\xdc\x90\x0e\x1f\x2e\xf5\ \xf6\xe8\x91\x9e\xd2\xae\x6c\xbe\x54\x4e\x8b\x80\x49\xa3\xd1\xdc\ \xbb\x69\xd3\xa6\x1d\x06\x83\xc1\x68\x34\x1a\x1b\x5a\x5a\x5a\x4e\ \x2b\x14\x8a\x1e\x1e\x8f\xa7\x87\xd3\xe9\x0c\xee\xdc\xb9\x33\xbf\ \xb8\xb8\xb8\x00\x39\x5c\xb6\xdf\x5d\xfd\x27\xa2\x7e\xfb\xed\x77\ \xde\xc8\xca\x1a\x32\x4d\xa3\x51\x71\xe0\x40\xd1\x8d\x84\x84\xae\ \xc6\xde\xbd\x53\x75\x51\x51\x51\x02\x40\x53\x53\x53\xb8\xa2\xe2\ \xbc\xa7\xb6\xb6\xd6\x39\x7a\xf4\x8f\xef\xf1\xf9\x02\x1c\x3b\xf6\ \xd1\x96\xa9\x53\x9f\x98\x85\x1c\x2c\x3e\x17\x11\x39\x72\xb8\x7d\ \x3e\x5f\xed\xba\x75\xeb\xfe\x68\xb1\x58\xbc\x57\xae\x5c\x89\x33\ \x9b\xcd\xa3\xae\x5d\xbb\x96\x52\x5f\x5f\xef\xdb\xb2\x65\xcb\xfa\ \xe2\xe2\xe2\x77\xb8\x35\x51\xfd\xa7\x22\x5e\xb9\x52\x2d\xb6\xb4\ \x38\x43\x97\x2f\x5f\x74\x3d\xfb\x6c\xee\x8f\x1e\x7a\x68\x54\xcf\ \x15\x2b\x56\x2c\x0d\x87\xc3\x84\xc3\x61\x56\xac\x58\xb1\x6c\xf4\ \xe8\x87\x7a\xce\x9f\xff\xdc\x8f\x2e\x5d\xba\xe8\x72\xb9\x9c\xa1\ \xea\xea\xea\xf6\xab\xa6\x5b\x44\xd9\x46\x20\x00\xd4\x97\x95\x95\ \xed\x3d\x73\xe6\x4c\xe3\xe3\x8f\x3f\x3e\xae\x63\xc7\x8e\x9d\xeb\ \xeb\xeb\x6f\xec\xda\xb5\x6b\x8f\xc7\xe3\x29\x07\x2e\xf3\x0d\x6e\ \x0d\xbf\x81\xf8\x5e\x7e\x79\xf1\x53\xbb\x77\xef\xd9\x96\x9a\x9a\ \x62\x72\xb9\x5c\xd5\x40\x58\xaf\xd7\x5f\x6d\x7f\xa0\xed\xbf\xd5\ \xe5\x72\xd9\x37\x6f\x7e\x73\xda\x85\x0b\x95\x8e\x93\x27\x3f\x3e\ \x81\x3c\xf0\xba\x45\x6e\x2e\xa7\x15\xc8\xf7\x4e\x71\xc8\xbd\x6b\ \x04\x72\x84\xb1\xb4\x2d\xf7\xb7\x00\xfe\x66\x51\xb4\x7d\x3f\x08\ \x88\x63\xc7\x8e\x4d\x4d\x4b\x4b\x5b\x02\x50\x51\x51\xf1\xeb\xdd\ \xbb\x77\x5f\x40\xb6\x74\xbb\x92\xbf\xd2\x65\xff\x1f\x40\x73\xf3\ \xf3\xae\xa9\xdd\xf2\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ \x82\ \x00\x00\x08\x86\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x05\x89\x00\x00\x05\x89\ \x01\x6d\x68\x9d\xfa\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x08\x03\x49\x44\ \x41\x54\x68\x81\xed\x98\x6b\x6c\x94\x59\x19\xc7\x7f\xef\xdb\xce\ \x0c\x6d\xa7\x25\x9b\x02\xb2\x2c\xb4\x14\x03\xad\x10\x92\x85\x42\ \x88\x6d\x68\x0a\x5a\xd6\x5d\x5d\x96\xd8\x35\x42\x4c\x14\x57\xb3\ \x04\x14\x25\x7e\x58\xbc\x24\xc4\x68\x4c\x20\x28\x1f\x88\x09\x89\ \x98\xb0\xae\xa2\xc6\x06\x5c\x20\xcb\x42\x60\xdd\x72\x11\xb6\x5c\ \x5b\xee\x11\x29\xd8\xcc\xba\x1d\x7a\x9b\xb6\xd3\xb9\xbc\x97\xf3\ \xf8\x61\x2e\x4c\xdf\x79\x67\xda\xa5\xc4\x4f\xfd\x27\x27\x73\xce\ \x33\xe7\x7d\xe7\xff\x3f\xe7\x79\x9e\xf3\xcc\x81\x49\x4c\x62\x12\ \x93\x98\xc4\x04\xa0\x65\xf4\x3f\xb7\x71\xe3\xc6\x5f\x4e\x9b\x36\ \x6d\xea\xff\xe3\x87\x0d\xc3\x30\xf6\xee\xdd\xfb\x2b\xe0\x42\x9e\ \x69\x85\x73\xe6\xcc\x39\x5c\x58\x58\x38\x37\x1c\x0e\x6f\xef\xe9\ \xe9\x79\xdf\x39\x21\x53\x40\x6d\x5b\x5b\xdb\xb9\xea\x9a\x9a\xa2\ \xf4\x17\x9a\x96\xfe\xcc\x7a\x30\x69\xd3\x46\x1b\x11\x91\x27\xb6\ \xe4\xd8\xb6\x6d\x2c\xcb\xc2\xe3\xf1\xa0\xeb\x7a\x42\x40\x3c\x2e\ \xe5\xe5\xe5\xaf\x00\x27\xf2\x08\xf8\xec\xba\x75\xeb\x8e\xef\xde\ \xbd\x7b\x66\x53\x53\xd3\x87\x8f\x1e\x3d\x5a\x97\xa5\xd0\x69\x88\ \x44\x22\x68\x9a\xe6\xda\x46\x11\x77\x7e\x66\x08\x4d\xf5\x45\x04\ \xd3\x34\xb9\x77\xf7\x2e\xa5\x65\x65\x20\x42\x45\x45\x05\x05\x85\ \x85\xe9\xe7\xc6\xc0\xc3\x2b\x57\xae\xdc\x5d\xb5\x6a\xd5\x73\xe1\ \x70\x78\x8f\xdb\x04\xdd\x69\xd0\x34\x3d\xd9\x1c\x02\x92\x64\x33\ \x9b\xee\x22\x32\xd3\xa6\x94\xe2\xee\x9d\x3b\xf8\xfd\x7e\x16\x2d\ \x5c\x48\x89\xdf\x4f\x20\x10\x40\xd9\xf6\x78\x05\xa8\x40\x20\xb0\ \x35\x10\x08\xfc\x2d\x14\x0a\x9d\x1d\xa7\x00\x0d\x5d\xd7\xd0\x75\ \x17\x11\x39\x9a\xae\x69\x68\x99\xf3\x93\x6e\x12\x8d\x44\x50\x22\ \xcc\x9b\x37\x8f\x91\x48\x84\xaa\xb9\x73\x11\xa0\xbb\xbb\x1b\xcb\ \xb2\xc6\x23\x60\x4c\x8c\x12\x90\x22\x3f\x2e\xc2\x63\xd8\x0b\x74\ \x9d\xe2\xe2\x62\x42\x03\x03\xc4\xe3\x71\x44\x84\xe1\x70\x98\x45\ \x0b\x17\x12\x0a\x85\x08\x06\x83\x00\x05\xcf\x54\x40\x4a\x44\x2e\ \x97\xf9\xb4\xcd\xeb\xf5\x52\x5f\x5f\xcf\xc9\x93\x27\x01\x10\x11\ \x86\x86\x87\x59\xbe\x7c\x39\x8f\x7b\x7a\x00\x9e\xc3\x25\x0e\x27\ \x2e\x20\xd1\x79\x6a\x31\xa9\x9d\xd0\x93\xbb\xb0\x6a\xf5\x6a\xfe\ \xf1\xc1\x07\x00\x28\xa5\x18\x1c\x1a\xa2\x61\xe5\x4a\xed\xe0\xc1\ \x83\xbb\x80\x99\x4c\x60\x27\xb2\x05\x38\xc9\x8f\x23\x98\x53\xa4\ \x01\x94\x08\x4a\xa9\x74\xd3\x34\x8d\xb2\xd2\x52\x2a\x2b\x2b\xe9\ \xe8\xe8\x18\x25\x62\xfd\xfa\xf5\xb3\x0e\x1e\x3c\x78\x1c\xf8\xcc\ \xd3\x8a\xc8\xde\xbe\x1c\x84\x71\x1b\xf3\x24\x8d\xda\xb6\x4d\x3c\ \x1e\x27\x1c\x0e\x13\x0e\x87\xb1\x2c\x8b\x98\x61\x60\xc6\xe3\x18\ \x86\xc1\xc0\xc0\x00\x67\xce\x9c\xa1\xb2\xb2\x92\xd2\xd2\x52\x6c\ \xdb\x66\x28\x21\x62\xf1\xe0\xe0\x60\xcb\x96\x2d\x5b\xbe\x0a\xf4\ \x00\xca\x85\xe7\x0c\xc0\x0b\x18\x79\x05\xe4\x5b\xed\x5c\x02\x0a\ \x0a\x0a\xd0\x75\x9d\x82\x82\x02\x3c\x1e\x0f\xc5\x25\x25\x4c\x9f\ \x3e\x1d\x11\x41\x89\x20\x22\x88\x52\x28\x11\x56\xad\x5e\x8d\x52\ \x0a\x11\x01\xc0\xb2\x6d\x22\x91\x08\x9b\x36\x6d\xaa\x33\x0c\xe3\ \x8f\xdb\xb6\x6d\xdb\x00\xf4\x03\x92\x41\xab\x1b\x38\x0d\x1c\x05\ \xfe\x0a\xfc\x39\x53\x48\xa6\x0b\xa9\x51\x22\xf2\x90\x77\x3b\xe0\ \x9e\x16\xa9\x53\x7a\xeb\xd6\xad\x4d\xcd\xcd\xcd\x4b\xc8\x76\x6b\ \x2d\x83\xb0\x17\xc7\xe1\xef\x74\x21\x4d\x4b\xce\x18\x8b\x7c\x4a\ \xec\x44\xa1\xeb\x3a\x85\x1e\x0f\xa7\x4f\x9d\xfa\xf7\xa1\x43\x87\ \xda\x78\xe2\x42\x5e\xe0\x1b\xc0\xd7\x81\xc3\xc0\x6b\x40\xdc\xf9\ \xbc\x6b\x0c\x64\xb6\x5c\x2b\x9f\x29\x40\x29\x95\xf6\xff\x9e\xde\ \x5e\x86\x87\x86\x30\x0c\x03\xd3\x34\xb1\x2c\x8b\x68\x34\x4a\x34\ \x1a\xe5\xde\xbd\x7b\x7c\xfb\x8d\x37\x28\x2b\x2b\x4b\x93\x2f\x29\ \x29\xe1\xec\xd9\xb3\x9f\xbc\xf4\xd2\x4b\x9f\x07\x46\x78\xe2\x3e\ \x4d\xc0\x0f\x80\xdf\x03\x6f\xe3\xe2\xff\xae\x02\xb2\x62\x60\x0c\ \xf2\xa9\xbe\xcf\xe7\xc3\xe7\xf3\x51\x5e\x5e\x8e\x6d\xdb\x69\xbb\ \x24\xb3\x52\x77\x77\x37\x5e\xaf\x97\xa9\x53\xa7\x26\x0a\xbe\x64\ \x76\x6a\x6b\x6b\xeb\x5f\xd5\xd8\xb8\x84\x84\xef\x67\x06\xf0\x7b\ \xc0\x29\x60\x3d\xf0\x3e\x70\x04\xf8\x1d\x10\xcb\xe4\x9b\x75\x12\ \xa7\x49\xbb\x10\x77\x92\xcf\x14\xa1\xeb\x7a\xba\x79\x3c\x9e\x51\ \xcd\x30\x0c\x5a\x5b\x5b\xf9\x62\x53\x53\xfa\xb9\xa9\x65\x65\xdc\ \xb9\x73\x27\x5a\x57\x57\xf7\x22\xd0\x8b\x7b\xf6\x31\x80\x77\x80\ \x75\xc0\x2b\xc0\xbb\x40\x59\x4e\x01\xc9\xb7\x67\xa5\xd2\xb4\x4b\ \xe5\x20\xef\xec\xa7\x9a\x88\x10\x8b\xc5\x38\x7d\xfa\x34\x5f\x79\ \xf5\xd5\xf4\x9c\xd2\xd2\x52\x02\x81\x00\xcb\x96\x2d\xdb\x0a\x7c\ \x02\xd8\x2e\xe4\x21\x11\x07\xdf\x4c\x12\x3f\x9e\x14\x32\x94\x53\ \x40\xae\xcc\x92\xb9\x23\x4e\x11\xb9\x84\x40\x22\xc3\x5c\xbb\x76\ \x8d\xda\xda\x5a\xbc\x5e\x6f\x82\xbc\xdf\x4f\x5f\x6f\x2f\x83\x83\ \x83\x62\x9a\x66\x37\x90\xab\xaa\xfb\x32\xd0\x06\x94\x02\x2f\x03\ \x7b\x71\xb8\x0f\xb8\xc5\x00\xe3\x73\x1f\xa7\x70\xe7\x38\xb5\xfa\ \x68\x1a\xe5\xe5\xe5\x28\x11\x4a\x8a\x8b\x19\x1e\x1e\xa6\xaf\xaf\ \x8f\xca\xca\x4a\xc8\xbd\xf2\x90\xf0\xff\x19\x24\xb2\x90\x09\xfc\ \x01\x97\x2c\x94\xd3\x85\x9c\x99\xc8\x49\x34\x97\x2d\xd3\xee\xf3\ \xf9\x88\x8c\x8c\xd0\xdf\xdf\x4f\xd1\x94\x29\xc4\xe3\x71\xba\xba\ \xba\xa8\xae\xae\xc6\xe3\xf1\xe4\xe1\x0e\x24\xfc\xff\x00\xb0\x36\ \xd9\x3f\x02\xbc\x09\xf8\x72\x0a\xc8\x0a\x62\x1c\xa7\xc6\x18\xe4\ \x9d\x73\xbc\x5e\x2f\x0d\x0d\x0d\x3c\x78\xf0\x80\xe1\xe1\x61\x6e\ \xdd\xba\x45\x4d\x4d\x0d\xba\xae\xa3\x94\x5b\xcc\xba\x42\x23\x11\ \x0b\x29\x51\x99\xa7\xb4\xcb\x0e\x3c\x61\xe0\xba\xfa\x63\xb9\x50\ \x66\x00\x2b\xa5\x28\x2c\x2c\x64\xc5\x8a\x15\x18\x86\xc1\xa2\x45\ \x8b\x10\x11\x2c\xcb\xc2\xb4\xf3\x79\x0f\x90\x58\xe9\x37\x49\x94\ \x10\x26\x89\x9d\x78\x1b\xc7\x79\x90\xfb\x1c\xc0\x7d\xf5\xdd\x48\ \x3b\x6d\xb6\x6d\xa3\x94\xc2\xb2\xac\x74\xa9\xe0\xf3\xf9\x30\x0c\ \x03\xc3\x30\xd0\x75\x9d\x48\xdc\x1c\x4b\xc0\x17\x92\x02\xde\x01\ \xfe\xe2\x24\xee\x2a\x20\x75\x63\x90\x8b\x58\x3e\xd2\x99\xe4\x6f\ \xdc\xbc\x81\xae\xe9\xe9\x03\x4b\x29\xa1\xa0\x40\x07\x34\xbc\x5e\ \x0f\x68\x3a\x67\xce\xff\xb3\x1f\x08\xe4\x11\x70\x9c\x44\x11\xf7\ \x1d\x60\x27\xb0\x2d\xcf\x5c\x00\x96\xb4\xb7\xb7\x47\x23\x91\x88\ \x44\x63\x31\x89\xc7\xe3\x62\x18\x86\x18\x86\x21\xa6\x69\x8a\x69\ \x9a\x12\x0c\x06\x65\xcd\x9a\x35\x62\xdb\xb6\xd8\xb6\x2d\x4a\x29\ \x51\x4a\xc9\x81\x03\x07\x44\x44\xc4\xb6\x6d\x89\xc5\x62\xd2\xde\ \xde\x2e\x4e\x28\xa5\xc4\xb6\x6d\x19\x1c\x0c\xc9\xbb\xc7\x8e\xc6\ \x8b\x8a\x8a\xea\xc6\x22\x94\xc4\x1c\xe0\xb7\xb9\xbe\xcc\x0a\xe2\ \x54\x99\x9c\x42\x57\x57\x17\xd7\xaf\x5f\xc7\x30\xb2\x77\xf0\xe1\ \xc3\x87\xf4\xf5\xf5\xb1\x67\xcf\x1e\x1e\x3c\x78\x40\x7f\x7f\xbf\ \xeb\x9f\x75\x49\x96\xd5\xe1\xf0\x30\xe7\x2f\x5e\xb4\xbe\xf7\xfd\ \xcd\x2f\x47\xa3\xd1\x8f\xc6\x29\x20\x2f\x5c\xcf\x81\x14\xb6\x6f\ \xdf\x4e\x6f\x6f\x2f\xf3\xe7\xcf\xa7\xa3\xa3\x83\xb5\x6b\xd7\x02\ \xa4\xca\x5f\x6a\x6b\x6b\x59\xb0\x60\x01\x03\x03\x03\xb4\xb4\xb4\ \x50\x57\x57\xc7\xe2\xc5\x8b\xd3\xb5\x90\x93\xfc\xc5\x4b\x97\xed\ \x1f\xff\xe4\xad\xb5\x1f\xff\xe7\xe3\x56\xdc\x4b\x87\x09\x61\xc9\ \x8d\x1b\x37\xa2\xd1\x68\x54\x62\xb1\x98\x74\x76\x76\x4a\x43\x43\ \x43\xda\x7d\x2c\xcb\x92\x60\x30\x28\xf5\xf5\xf5\xd2\xdc\xdc\x2c\ \xc7\x8e\x1d\x13\xa5\x94\x88\x88\x2c\x5b\xb6\x4c\x2c\xcb\x92\x91\ \x91\x11\x09\x06\x83\x72\xe5\xca\xd5\x2c\xb7\x39\xdd\xda\x6a\x37\ \x36\xae\x7c\x9d\x7c\x99\xcf\x1d\x79\x5d\x28\xe7\x8d\x40\x4f\x4f\ \x0f\xb3\x67\xcf\xce\xb2\x3f\x7e\xfc\x18\x80\xda\xda\xda\x51\xf6\ \xd4\x15\x62\x34\x1a\x4d\x8f\x53\x2b\x7f\xf9\xea\x55\xf5\xeb\xdf\ \xec\xfe\x56\x6b\xeb\xb9\xc3\x3c\xe3\x95\x1f\xb5\x1a\x22\xa2\x5d\ \xb8\x70\x81\x47\x8f\x1e\x51\x5d\x5d\xcd\xed\xdb\xb7\x53\xf7\x37\ \x0c\x0e\x0e\x02\x50\x55\x55\xc5\xbe\x7d\xfb\xd8\xb0\x61\x03\x81\ \x40\x22\x89\xc4\x62\x31\x22\x91\x08\x4a\x29\x0c\xd3\x44\xd7\xb5\ \x34\xf9\x0b\x97\x2e\xdb\xbf\xf8\xf9\x8e\xaf\x9d\x78\xef\xc4\x9f\ \x9e\x35\x79\x18\x7d\x13\xf0\xfc\xe6\xcd\x9b\xbf\x7b\xfd\xfa\xf5\ \x42\xbf\xdf\x4f\x55\x55\x15\x4b\x97\x2e\x65\xc7\x8e\x1d\xb4\xb4\ \xb4\xe0\xf5\x7a\xa9\xa9\xa9\x21\x18\x0c\xd2\xdc\xdc\x4c\x7d\x7d\ \x3d\xfb\xf7\xef\xa7\xb1\xb1\x91\x19\x33\x66\xb0\x6b\xd7\x2e\x00\ \x5e\x98\x35\x0b\xd0\x28\x2a\x9a\xc2\xf9\x8b\x1f\x59\x3f\xfd\xd9\ \xf6\xd7\xda\x2e\x5e\x3e\xfa\xb4\x04\x67\xce\x9c\xb9\xcd\xef\xf7\ \xbf\x1e\x0e\x87\xff\x8e\xa3\x12\x75\x62\x49\x47\x47\x47\x2c\x15\ \x03\xce\x14\x6a\x59\x96\x58\x96\x95\x95\x42\x53\xbe\x6e\x18\x86\ \x84\x42\x21\xb9\x7f\xff\xbe\xdc\xbc\x75\x53\x0e\x1f\x39\x12\x9f\ \x3d\x77\x76\xe3\xd3\x12\x4f\xa2\xb2\xa1\xa1\xe1\xbf\xad\xad\xad\ \x56\x45\x45\xc5\x31\xb7\x09\xa3\x62\x20\x14\x0a\x99\x96\x65\x79\ \xc1\xbd\xb6\xc9\x35\x16\x01\xd3\xb2\x88\x99\x36\xb6\xee\xa1\xf5\ \xdc\x87\xa1\xb7\x7e\xf4\xc3\x2f\x45\xa3\xd1\x4b\x13\x14\xd0\xd7\ \xd9\xd9\x19\xde\xb9\x73\xa7\xd8\xb6\x7d\xd1\x6d\x42\x26\xab\x17\ \x80\x17\xf9\xf4\x59\xc2\x0d\xf7\x81\x7b\xcf\xe0\x3d\x90\xf8\x3f\ \xf0\x3c\xf0\xaf\x67\xf4\xbe\x49\x4c\x62\x12\x93\x98\xc4\x13\xfc\ \x0f\x55\x5b\x03\x69\x65\xaf\xf5\x24\x00\x00\x00\x00\x49\x45\x4e\ \x44\xae\x42\x60\x82\ \x00\x00\x13\xe5\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ \x00\x00\xb2\x00\x00\x00\x31\x08\x06\x00\x00\x00\x7e\xae\xf3\x1e\ \x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ \x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ \x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ \x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ \x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x13\x62\x49\x44\ \x41\x54\x78\x9c\xed\x9d\x7b\x74\x1c\xd5\x7d\xc7\x3f\x33\xbb\xab\ \x95\x56\xde\xb5\x1e\x2b\x6b\xf5\xb0\x5d\x63\x4c\x72\x78\x1a\x6c\ \x5e\x49\x1a\x52\x5a\x9a\x9c\x1a\x9c\x9c\xe0\x42\xa0\x70\x38\x71\ \x12\x7a\x68\x88\x93\x72\xe0\x0f\x7a\x80\x12\x0a\xa7\x69\x48\xcb\ \x23\x34\xe4\x10\x4a\x28\x29\xa1\x69\x92\x43\x93\xb8\xe1\x40\x0c\ \x09\x34\x29\x14\x62\x5e\x76\xa0\x18\xf0\x43\xd2\x6a\xbd\x96\x2c\ \xcb\xb2\xad\xd5\x4a\x3b\x73\xfb\xc7\x6f\xee\xee\xec\xec\x8c\x76\ \x57\x16\x02\xda\xfd\x9e\xb3\x67\xee\xcc\x7d\xcc\x9d\xd1\xf7\xfe\ \xee\xef\xfe\x7e\xbf\x3b\x82\x2a\xb8\xfe\xfa\xeb\x3f\xbc\x69\xd3\ \xa6\x2f\x55\x2b\xd7\x40\x03\xef\x26\xcc\xaa\x05\x4c\x53\xed\xd9\ \xb3\xc7\x5a\x88\xce\x34\xd0\xc0\x5c\x31\x2b\x91\xaf\xbc\xf2\xca\ \x48\x5b\x5b\xdb\xda\x8e\x8e\x8e\xfe\x33\xcf\x3c\xb3\x7b\xa1\x3a\ \xd5\x40\x03\xf5\x62\x56\x22\xf7\xf6\xf6\xc6\xd7\xad\x5b\x77\xd7\ \x45\x17\x5d\x74\x7d\x4f\x4f\xcf\x29\x0b\xd5\xa9\x06\x1a\xa8\x17\ \xe1\xa0\x0c\xa5\x94\xb1\x61\xc3\x86\xdb\x36\x6f\xde\xbc\x37\x97\ \xcb\xd1\xda\xda\xba\x09\xd8\x02\xd8\x0b\xd7\xbd\x06\x1a\xa8\x0d\ \xb3\x49\xe4\xe6\x64\x32\x79\x69\x3a\x9d\x4e\x0d\x0c\x0c\xa4\xda\ \xda\xda\xd6\x01\x7d\x0b\xd5\xb1\x06\x1a\xa8\x07\x81\x44\x7e\xe0\ \x81\x07\xda\x73\xb9\x5c\xdc\x34\x4d\x94\x52\x00\xf4\xf7\xf7\x9f\ \xb0\x60\x3d\x6b\xa0\x81\x3a\x10\x48\xe4\x2d\x5b\xb6\xac\x2a\x14\ \x0a\x46\x28\x14\xc2\xb6\x6d\x66\x66\x66\xe8\xed\xed\x3d\x79\x21\ \x3b\xd7\x40\x03\xb5\x22\x90\xc8\xe3\xe3\xe3\x2b\x0b\x85\x02\x9a\ \xc8\x96\x65\x91\x48\x24\x3e\xb8\x90\x9d\x6b\xa0\x81\x5a\x51\xb6\ \xd8\x7b\xe5\x95\x57\xae\x0a\x85\x42\x3d\x00\x8f\x3e\xfa\xd8\xd9\ \xdb\x5e\xdf\x36\x9e\x4c\x2d\xcb\xdb\xe1\x16\xbb\x25\xde\x1e\x49\ \x75\xf7\x9e\xbe\x7d\xfb\x9d\xb7\xcc\xd6\xa0\x6d\xcf\x7d\x2d\xe8\ \x57\x57\x29\x35\xb5\x63\xc7\x8e\xe7\x2f\xbe\xf8\xe2\x2d\x73\x6e\ \xb8\x81\xff\xf3\x30\xdc\x27\x7b\xf6\xec\xc9\xc4\x62\xb1\x14\xc0\ \xd0\x68\x8c\x8b\x6e\x79\x92\x8e\xa5\x49\x4c\xd3\x66\x22\x3d\xcc\ \x0a\x63\x8c\x87\xee\xbc\x08\xc3\x30\x30\x8c\x52\x55\xf7\xb9\x4e\ \x2b\xa7\x71\xbf\xbc\xa0\x7a\x4a\x29\x47\xfa\xdb\x80\x2a\x12\x7b\ \x64\x64\xc4\x7e\xf9\xe5\x97\x47\x5f\x7b\xed\xb5\xd3\x6e\xb8\xe1\ \x86\xf4\x3b\xf6\x36\x1a\x78\xdf\xa2\xc2\xfc\x96\xcb\xe5\x98\x9a\ \x9a\xe2\xe0\xc1\x99\x8a\xc2\xf9\x7c\x9e\x4c\x26\x53\x46\x3e\x81\ \x81\x69\x1a\x15\xc4\x04\x30\x4d\x53\xd2\x86\x81\xe9\xad\xe7\x5c\ \xd3\xf5\x2c\xdb\xc6\x2a\x14\x50\x4a\xa1\x94\xc2\xb2\x2c\x6c\xdb\ \xc6\x30\x0c\x73\xed\xda\xb5\x4b\x96\x2d\x5b\x36\xd8\xdc\xdc\xfc\ \xe9\x6b\xaf\xbd\xf6\xdf\xe7\xfb\x45\x34\xf0\xfe\x46\x19\x91\x95\ \x52\x18\x86\xc1\x91\x23\x47\x68\x6d\xad\x74\xe4\x35\x35\x35\x91\ \x4c\x26\xd1\xc4\x05\x2d\x49\x91\x73\x0f\x31\x75\xbe\xdf\x4f\xe7\ \x41\x89\xec\x5a\x17\xb7\x6d\xbb\x22\x1d\x8d\x46\x89\xc7\xe3\x46\ \x3c\x1e\x7f\xb4\xa9\xa9\xe9\x96\x4d\x9b\x36\xfd\xf5\x3b\xf9\x62\ \x1a\x78\x7f\xc1\x77\xb1\xa7\xaa\x54\x32\x0c\xff\x73\x7d\x59\x54\ \x04\xc5\xf8\xf8\x38\xe3\xe3\xe3\x55\xda\x32\x2a\xae\x29\xe5\x5f\ \x26\x12\x89\xd0\xd7\xd7\xc7\xfa\xf5\xeb\x6f\xba\xef\xbe\xfb\xee\ \xab\xd2\xcd\x06\xfe\x1f\xc1\x97\xc8\x95\xd4\x2a\x61\x6c\x6c\x8c\ \xf1\xf1\xf1\xa2\x6d\x19\x60\x66\xa6\x5c\x0d\x39\x7c\xf8\x30\x7b\ \xf6\xec\x26\x1c\x0e\x93\x48\x24\x98\x99\x99\x29\x2b\xaf\xbc\x4c\ \xd5\xf7\x2d\x4a\xe8\x72\xbd\x59\xa3\x50\x28\x60\x18\x06\x5d\x5d\ \x5d\xac\x3b\xff\xfc\x2f\xdc\x7f\xff\xfd\xff\x38\xfb\xe3\x35\x30\ \x07\xb4\x00\x17\x00\xd1\x77\xbb\x23\xf5\xa0\x8c\xb3\xbb\x77\xef\ \xce\x98\xa6\x99\xda\xbf\x7f\x3f\x2f\xbd\xfa\x16\xbb\xc6\x4c\x9e\ \x7f\xf1\x05\xa6\xf3\x79\xda\x17\xc5\x49\xc6\x4c\x2e\xdd\xf0\x31\ \x0a\x85\x02\x9d\x9d\x9d\x98\xa6\x89\x69\x9a\x8c\x8c\x8c\xb0\x64\ \xc9\x12\x69\xd0\x30\xb0\x2c\x8b\xa5\x4b\x97\x62\x9a\x26\xd3\xd3\ \xd3\x64\x32\x19\x5a\x5a\x5a\x8a\xf9\x7e\x6a\x87\x86\x65\x59\x28\ \xa5\xc8\xe7\xf3\xf4\xf7\xf5\x51\xb0\x6c\x94\xb2\x09\x85\x42\x58\ \x96\x45\x34\x1a\xc5\x34\x65\xfc\x4d\x4c\x4c\xf0\xd8\x63\x8f\x5d\ \xb7\x71\xe3\xc6\x6f\x2c\xc8\xdb\x7a\x67\x11\x02\xba\x81\x04\xb0\ \x1f\x18\x79\x17\xfa\xf0\x2c\xb0\x16\x51\x39\xdb\x80\x83\xef\x42\ \x1f\xe6\x04\xdf\x58\x0b\xa5\x14\x3b\x5e\xdf\x4a\x32\x99\xe4\xb9\ \x9f\xde\xcb\xe1\xc3\x87\x39\xe7\x9c\x73\xe8\x3b\xe1\x04\x8e\x39\ \x66\x25\x86\x69\x10\x0e\x85\x30\x0c\x83\x90\x73\xec\xe9\xe9\x01\ \xdc\x44\x15\x72\x46\xa3\x51\x56\xac\x58\x51\xa6\x47\x1b\x2e\x5d\ \xda\x5d\x47\x06\x81\x8d\x6d\x5b\x0c\x0d\x0d\x61\x98\x26\xa6\x52\ \xd8\xb6\x81\xed\x58\x34\x66\x66\x66\x88\x46\x45\x58\x24\x12\x09\ \xce\x3b\xef\xbc\xdb\xef\xb9\xe7\x9e\xe7\xaf\xbe\xfa\xea\x67\xaa\ \x3c\xeb\xbf\x00\x1f\x44\x08\x93\x70\x7e\xad\xce\xf9\x01\xe0\x6d\ \xe0\x69\xe0\x3b\xc0\xae\xa3\x78\xa7\xf5\x20\x04\x7c\x06\xb8\x04\ \xf8\x23\xca\xa5\xe0\x0c\xf0\x3b\xa7\x4f\x3f\x05\x7e\x89\xbf\xd6\ \x77\x39\x70\x1d\xf0\x03\xe0\xb6\xa3\xec\x4f\x1c\xe1\x44\x01\x98\ \x38\xca\xb6\xe6\x82\x35\xc0\xbd\xc0\x5b\xc0\x46\x60\xaa\xd6\x8a\ \x15\xaa\x85\x9e\xca\xdd\xae\x69\x0d\xc3\x70\x16\x79\x0e\xa9\xa6\ \xa6\xa6\x18\x1c\x1c\x64\x7a\x7a\x9a\x81\x81\x81\x32\x15\xc3\x30\ \x28\x5a\x1f\xa4\x1d\x25\xba\xaf\x52\x18\xc8\xb5\xa9\xa9\x29\x76\ \xed\xda\xc5\xf0\xf0\x30\x83\x83\x83\x8c\x8f\x8f\x17\xad\x1f\xfa\ \x7e\xc5\x7e\xd9\x36\xe1\x70\x98\x99\x99\x19\x72\xb9\x9c\xa8\x19\ \x18\x44\xa3\x51\xce\x3a\xfb\xec\x27\x6e\xbe\xf9\xe6\x6a\xb1\xd5\ \x11\xe7\x45\xad\x46\x48\xf2\x75\xe0\xf3\xc0\x17\x80\x7b\x80\x18\ \x70\x3d\xb0\x03\xf8\xab\x5a\x5f\xe0\x51\xe0\x6c\xe0\x25\x64\x80\ \x7d\x00\x21\xe1\x7a\x60\x03\xf0\x15\xe0\x17\xc0\x49\xc0\x97\x81\ \x27\x9d\x7e\xc5\x7c\xda\xb9\xdb\x29\x77\x2b\x22\xd1\x8f\x06\xfb\ \x9c\xe3\x01\xaa\x2f\x95\xde\x09\xdc\x04\x9c\x8e\x0c\xec\xf5\xf5\ \x54\xf4\x5f\xec\xa9\x4a\xfd\x54\x29\x55\x24\xb7\x6d\xdb\x28\xa5\ \xd8\xbb\x77\x2f\xb6\x6d\xd3\xdf\xdf\x0f\x40\x26\x93\x29\xd6\xf1\ \x1b\x04\xa0\x89\x2d\xd7\xf6\xed\xdb\x87\x69\x9a\x74\x75\x75\x51\ \x28\x14\xd8\xbf\x7f\x3f\x62\x11\x31\x8b\x96\x8c\x50\x28\x54\x4c\ \x4f\x4e\x4e\xf2\xf4\xd3\x4f\x93\x4e\xa7\x19\xce\x64\x18\x18\x1c\ \x60\xcf\x9e\x3d\x2c\x6a\x6d\x8d\x9e\x71\xc6\x19\x5f\xaf\xf2\xac\ \xfb\x5c\xe9\x2b\x81\xdb\x81\xef\x03\x0f\x21\x24\x58\x03\xdc\x8f\ \x48\xa4\xdb\x80\x4d\x35\xbc\xbf\xb9\xe2\x72\x44\xc2\x9e\x00\xdc\ \x08\x1c\x0f\xfc\x0d\xf0\x33\xe0\xc7\xc0\x5d\xc0\x3a\xe0\x38\xe0\ \xb7\x4e\x9d\x08\x30\xe9\xd3\xd6\xd3\xce\x71\x1b\xa2\x92\x1c\x0d\ \x8e\x38\x47\xbf\xfb\x2c\x04\x7e\xe5\x1c\x0f\x01\x2f\xfa\xe4\x47\ \x80\x0b\x81\x1f\x3a\xc7\x22\x7c\x25\xb2\x61\x50\xd4\x43\x35\xb4\ \x74\x54\x8a\xa2\x49\x4c\x93\x70\xeb\xd6\xad\xf4\xf5\xf5\x11\x89\ \x44\x3c\x52\xb8\xbc\x5d\xa5\x14\xd9\x6c\x96\x5d\xbb\x76\x15\x49\ \xbf\x6c\xd9\x32\x5e\x7c\xf1\x45\x52\xa9\x14\xb1\x58\x8c\xa1\xa1\ \x41\x32\x99\x0c\x87\x0e\x1d\x2a\x12\x58\xff\x5a\x5a\x5a\x38\xf7\ \xdc\x73\xe9\xed\xed\xa5\xa3\xbd\x9d\x44\x62\x31\x91\x48\x84\x78\ \x3c\xce\xca\x95\x2b\xcf\xaa\xf2\x92\xdc\x53\xe5\x61\x9f\x7c\x1b\ \xf8\x4b\xe7\x25\x02\x7c\x15\x51\x3d\xe6\x1b\x17\x00\x0f\x22\x6a\ \xc4\x97\x90\x41\x54\x69\xb4\x17\xec\x04\x3e\x02\xfc\x1a\x21\xaa\ \x1f\x36\x00\x67\x02\x67\x21\x2a\xc1\xd1\x40\xf7\x23\x7f\x94\xed\ \xcc\x15\x77\x00\x27\x03\xc7\x22\xea\x85\x17\xcb\x81\x1f\x21\xcf\ \x5c\xa6\x16\x57\x10\x59\x4b\x62\xc3\xa8\x54\x2d\x44\x22\xdb\x2e\ \x0f\x9c\x45\x7a\x78\x98\x93\x4e\x3a\x89\x74\x3a\xcd\xcc\xcc\x4c\ \xd1\xae\xac\xe1\x25\x75\x38\x1c\xa6\xb7\xb7\x97\xee\x6e\x99\x05\ \x07\x06\x06\x58\xb3\x66\x0d\xd9\x6c\x96\x89\x89\x09\xfa\xfa\xfa\ \xe8\xeb\xeb\x63\xf1\xe2\xc5\x8e\x2a\x23\xd2\xd9\x74\x24\xb3\x26\ \xb7\x69\x9a\x84\xc3\x21\xc2\xe1\x30\xa1\x70\x98\x50\x28\xd4\x56\ \xe5\x25\x05\x91\xc5\x8d\xc3\xc0\x73\x4e\xba\x0d\xf8\x50\x0d\x75\ \xea\xc1\x32\xe0\x61\xe4\xbd\x3f\x0a\x7c\xab\x86\x3a\x79\xe0\x0a\ \xfc\x25\x14\x08\x79\x9f\x67\x7e\xa4\xa8\x1e\x08\xd3\xf3\xd0\xd6\ \x5c\xb1\x8d\xf2\xd9\xd3\x8d\x16\x57\x3a\xe7\xce\x98\x45\x47\x36\ \x02\xd4\x03\xb0\x6d\x21\x72\x6b\x6b\x2b\xb6\x65\x31\x3a\x3a\x4a\ \xa1\x50\xa0\xa3\xa3\x43\xb7\x52\x26\x99\xdd\xed\x68\xb5\x04\x20\ \x95\x4a\x61\xdb\x76\x51\x3a\x77\x77\x77\xcb\x20\x71\xd4\x18\x4d\ \xd8\x50\x28\x84\xe9\x5a\x58\x16\xc9\xed\xfc\x42\x66\xd5\xad\x87\ \x50\x1b\x91\xa1\xfc\x25\x76\xd5\x58\xa7\x56\xdc\x82\x2c\xa8\x14\ \x50\x8f\x43\x67\x67\x9d\xe5\xe7\x0a\x4d\xe4\xf7\xea\xe6\x89\x66\ \x57\xba\x6c\x21\x58\x61\xb5\xd0\x3a\xac\x57\xb5\x28\xd7\x7d\x15\ \xca\x86\x78\x3c\xce\xe2\xc5\x8b\xd9\x3f\x36\xe6\x58\x26\x54\x51\ \xe5\xf0\x2e\xd8\xa4\x5e\xb9\xa9\x2d\x1c\x0e\xb3\x7c\xf9\x72\xe7\ \xcc\x40\x3c\xd9\x06\x28\x29\xaf\x23\xef\x74\x3b\x3a\xed\xd6\xd3\ \x4d\x33\xe4\xeb\x54\xf1\x41\xad\xd3\xee\x22\x57\x7a\xd0\x39\xa6\ \x80\x0e\xe4\x0f\x9c\x67\x76\xab\x46\x0c\x58\x09\x58\x40\x06\x59\ \x38\x01\xf4\x22\xba\x31\x88\x35\x22\x48\x55\xa8\x17\x67\x20\x16\ \x18\x9b\x4a\xcb\x86\x01\x9c\x46\xc9\x12\xb1\xd5\xb9\x7e\x3c\x32\ \xdb\xec\x47\x66\x86\x7a\xb0\x02\x58\x8c\x58\x5c\x5e\xa7\x34\x13\ \xf4\x23\x83\xd4\x74\xda\xdd\xeb\x53\xf7\x03\x4e\xff\x9a\x91\x77\ \x78\xc8\x93\x7f\x1c\x32\x6b\xe1\xf4\xf5\x80\x2b\xef\x14\xe7\xde\ \x1a\xed\xc0\x31\x4e\x3f\x62\xbe\xaa\x85\x26\x94\x5b\x92\x6a\x49\ \xa8\x63\x20\x2c\xdb\x2a\x49\x57\xa5\x50\x12\x13\x51\x46\xdc\x4a\ \x5d\x59\x95\x49\x64\xad\x6b\x4b\xfb\x14\xeb\xb9\x25\x7a\x51\x22\ \x3b\x47\xfd\xd3\xe7\x5a\xbd\x98\x27\x18\x88\x55\x03\xc4\x8e\xfb\ \xdf\x4e\x7a\x29\x42\xbe\xd7\x81\xc7\x99\xdd\x67\x74\x39\xf0\x2a\ \xf2\x87\x68\x72\x5d\x5f\x4f\x69\x06\xfc\xe5\x3c\xf5\x17\x60\x33\ \x62\xe1\xd8\x82\x2c\x86\xdc\x50\x88\x7e\xfd\x1c\xf0\xb7\xce\xb5\ \x6b\x9d\xfe\x7d\x07\x99\x21\xea\xc1\x35\xc8\xec\xf0\x12\xf0\x67\ \x94\x4f\xef\x9f\x07\x5e\x03\xb6\x03\x9f\x0e\xa8\x7f\x07\xf0\x06\ \xf0\x0a\x42\x6a\x2f\x6e\x43\x9e\xe5\x17\x88\x3d\x5b\xe3\x7c\xe0\ \x65\xc4\xc4\xa8\xf1\xaf\x88\xc9\x74\x07\xf0\x23\x5f\x89\x0c\x95\ \xe6\x37\x1d\x87\xe1\x96\xcc\x93\x93\x93\x8c\x8d\xed\x27\x16\x6b\ \x65\x60\x70\x90\x9e\x9e\x1e\x22\x11\x79\x97\x45\x42\x4b\xe1\xe2\ \x35\x37\xd1\xf3\xf9\x3c\xe9\x74\x9a\x58\x2c\x46\xa1\x50\x60\xf1\ \xe2\x04\xed\xed\x1d\x65\xf7\xd4\xf5\xb4\x74\xd6\x92\x59\xf7\x45\ \x93\x7a\x9e\xf0\x29\x64\x41\x01\x62\x45\xd0\xba\xe2\x0b\xc0\x33\ \xc0\x47\x81\x55\xc8\xc2\xea\xd9\x80\x36\x2e\x71\x8e\xff\x0c\x64\ \x5d\xd7\x7f\xdf\x95\x1e\x98\x8f\xce\x3a\x18\x45\x54\xa0\x71\xfc\ \x75\xdb\x11\x64\x20\x02\x7c\x12\x31\x3b\xbe\x05\x24\x81\x27\xea\ \xb8\xcf\xc7\x9d\xba\x0a\x31\x53\xfe\x9d\x27\xdf\x2d\x81\xb3\xf8\ \xc3\xed\xe4\xf1\x93\xd8\xa3\xae\xb4\x5b\xc5\x7b\x03\x38\x0f\xf1\ \x03\x7c\xd3\xb9\xb6\x11\x19\x38\x71\x60\x5f\x20\x03\xfc\xec\xc8\ \xa6\x69\x16\xa5\xa8\x52\x8a\xbd\xd9\x2c\x86\x61\xd2\xd3\xd3\x83\ \x52\x8a\xe1\xe1\x61\x27\x84\x53\x95\xa4\xad\x8b\xf8\x6e\x09\xad\ \xeb\x37\x37\x37\x17\x75\xeb\xf1\xf1\x83\x65\x6a\x83\xf7\xe7\x95\ \xca\x9a\xc4\x73\x90\xc8\x5e\x89\x1a\x01\x2e\x03\x1e\x70\xce\x1f\ \x40\x6c\xcb\x6e\xfc\xbd\x2b\x7d\x59\x40\xbb\xfd\x08\x61\x6d\x4f\ \x79\x10\xd5\x42\x63\x94\xf9\xc3\x98\x73\x0c\xf2\x04\x6a\x93\x5c\ \x3b\xf0\x35\x64\x30\x1e\xe7\xf4\xe7\x6b\x35\xde\xe3\x38\x44\x02\ \x2a\xe0\x73\x54\x92\x18\xca\x9f\x29\xe8\xf9\xf6\x57\x29\xe3\xce\ \x77\x3f\xcf\x9b\xc8\x8c\xb3\xdd\x75\xed\x0d\x64\xc6\xdc\x02\xbc\ \x1a\x48\x64\xaf\x6a\xe1\x86\x26\x5a\x38\x14\x22\x99\x4c\xb2\x75\ \xeb\x56\xfa\xfb\xfb\x8b\xe6\x37\x83\x92\xc9\xcc\xab\x5e\xe4\xf3\ \x79\x06\x07\xc5\xc4\xa6\x6c\x9b\x54\x2a\xc5\xf6\xed\xdb\xe9\xea\ \xea\x22\x1a\x8d\x92\x4e\xa7\xc9\x64\x32\x4c\x4c\x88\xb5\x2c\x88\ \xd0\x5e\x52\xd7\x89\x5f\x23\x53\xd5\x7f\x02\xff\x83\x98\xe6\xbe\ \x87\xb8\x64\x37\x22\x7f\x2c\xef\xc3\x6f\x76\x5e\x1e\xc0\xc5\x94\ \xab\x0d\xb8\xae\x6b\x8b\xc4\x9b\x9e\xbc\x76\x57\x7a\x3e\xe3\x18\ \xf2\x9e\xa3\x17\x5a\x4a\xaf\x05\xee\x43\x9e\x1d\x64\xb1\x54\x8b\ \x1b\x7c\x15\x42\x96\x56\xc4\x0b\xf9\xdd\x2a\xf7\xf1\xa6\xfd\xfa\ \x0a\xfe\x8b\x6f\x77\x7e\xcd\x5e\x3d\x08\x74\x51\x57\x2e\xf6\xa0\ \x44\x6e\x1d\x0f\xa1\x9d\x22\xab\x57\xaf\x66\x68\x68\xc8\x55\xbf\ \xa4\x86\x78\x07\x84\x0e\x05\x8d\x46\xa3\x0c\x0d\x0d\x31\x38\x38\ \xc8\xea\xd5\xab\xc9\x66\xb3\x1c\x99\x9c\x64\xd5\xaa\x55\x98\x3e\ \x03\xa0\xbc\x7f\xaa\x3c\xa6\xb9\x7e\xd5\xe2\x16\x64\x51\xd6\x8a\ \x2c\x56\xf6\x21\x7a\xe4\x56\x64\x91\xe6\x07\x1b\xd1\xf1\xbe\x0d\ \x74\x02\x7f\x02\x78\xe3\xa2\xb5\x5a\x71\xbb\x4f\x7d\x77\xdc\xc2\ \x92\x7a\x3b\x3c\x0b\x34\x69\x82\xac\x32\xfa\xfa\x01\xa0\xde\x20\ \xab\xe3\x11\x12\x77\x02\x7f\x0a\xfc\x64\x96\xb2\x85\x80\xb4\x5f\ \x5f\x14\xfe\xef\xd9\xfd\x0c\x75\x99\x00\x7d\x89\xec\xb7\xd8\x93\ \xeb\x46\x51\x1a\xdb\xb6\x4d\x4b\x4b\x0b\xb9\x5c\x8e\x91\x91\x11\ \x94\x52\x24\x93\xc9\x40\x12\x7b\xa5\xb3\x36\xb7\x65\xb3\x59\xf6\ \xee\xdd\x8b\x65\x59\xf4\xf5\xf6\xa2\x6c\x1b\x5b\x7b\x10\x95\x02\ \x05\xb3\xf2\x74\x16\xc2\xcf\x82\xc7\x09\xb6\xcb\xce\x86\x87\x10\ \xdd\xb9\x0b\x91\xdc\x6e\x22\x9f\x88\x78\x07\x9f\xa1\xb4\x48\x74\ \x63\xc8\x95\x5e\xeb\x93\x3f\x57\xe8\x3f\x7e\x10\x79\xf4\xf5\xed\ \xd4\x4e\x8e\xc5\x88\x9b\xfe\x1a\x84\xc4\x17\x32\x3b\x89\xa1\x9c\ \x98\x41\xc2\xa0\x50\x25\xdf\xdd\x3f\xbf\xe7\x71\xab\x84\x65\x6d\ \xd4\xa5\x23\x6b\x22\xeb\x5f\x6b\x6b\x2b\xa9\x54\x0a\xa5\x14\x4b\ \x97\x2e\x25\x16\x93\x50\x80\x20\xcf\x9e\x37\x2f\x1c\x0e\xd3\xdf\ \xdf\x4f\x2a\x95\xa2\xbf\xbf\x9f\x96\x96\x96\x92\x15\xa4\x78\xf4\ \xd7\x97\xdd\xbf\xa3\xd9\x27\x58\x27\x72\x48\x50\x0b\x88\x44\x5e\ \xee\xca\xfb\xa2\x73\xf4\x93\xc6\x00\xbf\x71\xa5\x3f\x4a\xb9\x71\ \xff\x68\xa0\x1f\x3e\x68\x34\xeb\xfc\x7a\xa6\xea\x38\xb2\xb8\xd2\ \xea\xd0\x25\xd4\xf0\x9d\xc0\x79\x40\x35\x89\xe4\x16\xbc\x65\x33\ \x50\x40\xac\x85\xc2\xf0\xb1\x23\x7b\x4d\x6b\x96\x65\x95\xa9\x19\ \x42\xaa\x4a\xc2\xba\xcf\x6d\xe7\xe7\x5d\xfc\xf9\x2d\xf0\xca\xec\ \xc6\xb3\x90\x58\xdf\xb3\x0a\xcc\x80\x74\xbd\xb8\x17\x91\x1c\x21\ \x24\xe0\x08\x44\x82\x5d\x86\x98\xe8\xfe\x23\xa0\xde\xcf\x29\x49\ \x91\x36\x64\xaa\x9e\x0f\x18\x9e\x63\xbd\xf9\x6e\xe8\xc5\xc6\x30\ \xf0\x07\x88\x44\x06\x71\x09\xdf\x3d\xa7\xde\x05\xdf\x67\x2e\x7f\ \x03\xb7\x79\xb1\x6c\x76\xf1\x0f\xac\x77\xed\xaf\xf3\x5e\xd7\x9b\ \x43\x6d\xdb\x26\x97\xcb\x31\x34\x34\x44\xa1\x50\x60\x68\x68\x88\ \x7c\x3e\x8f\xb6\x01\xbb\xd5\x10\x28\x39\x31\x0c\x39\x29\x9a\xdf\ \x76\xee\xdc\x49\x3a\x9d\x66\x60\x60\x80\x83\x07\x45\x8d\xb4\x95\ \xaa\xa8\xa7\x6c\x55\x66\x31\x71\xb7\x5d\x63\xa0\x56\x24\x20\x5d\ \x2f\xf6\x02\xff\xe6\xa4\x3f\x87\x2c\xfa\xae\x40\x1c\x29\xdf\x98\ \xa5\x33\xbb\x91\x70\x4c\x8d\xaf\xe2\x1f\xcd\x16\x84\x45\x88\x55\ \xc4\x0b\x2d\xa5\x82\x56\xbc\xd5\xf2\xfd\xca\xea\xe3\x5d\x94\x08\ \xfc\x45\x6a\x8f\x0a\x0c\xba\x97\x76\x76\x18\xf8\xc7\xb1\x84\x03\ \xd2\x7e\xd7\xaa\x13\x19\xfc\x75\xe4\x32\x87\x88\x65\xb1\x6f\xdf\ \x3e\x6c\xc7\xf2\x60\xdb\x36\xd9\x6c\xb6\x4c\x5a\xba\xf5\x62\x6d\ \xc5\x70\x4b\xde\x6c\x36\x4b\x38\x12\xa1\xa3\xa3\x03\xa5\x14\x63\ \x63\x63\x45\x93\x5d\xb9\xe4\xa5\xa8\x62\x40\x49\x42\xbb\x25\x76\ \x0d\x7a\xf2\x7c\x11\x19\x4a\x7f\xdc\x14\x62\xfc\xff\x0b\x44\x8a\ \x7d\xbf\x4a\xbd\xeb\x28\x05\x2c\xfd\x1e\x12\x6b\x51\x8b\xa4\xec\ \x40\x42\x39\xfd\x42\x1b\xf5\xb3\x04\x91\xa7\x5a\xbe\x5f\x59\x37\ \x61\xae\x41\xa2\xf2\x40\x02\x9c\x3e\x1b\x50\xd7\xed\xa5\xf3\x0b\ \x27\xbd\x00\x59\x57\x68\xc4\x67\xb9\xbf\xb7\x0f\x7e\xf9\x65\xa8\ \x4b\x47\x06\x89\xb3\x50\xca\xc6\x56\x8a\x48\x24\x42\x32\x99\xe4\ \xa5\x97\x5e\xa2\xb7\xb7\xb7\x68\x06\x9b\x4d\x97\x9d\x9e\x9e\x26\ \x3d\x3c\x4c\x26\x93\xc1\xb6\x6d\x7a\x7b\x7a\xd8\xb6\x6d\x1b\x5d\ \x5d\x5d\x34\x35\x35\x31\x3c\x3c\xcc\xf0\xf0\x30\x53\x53\x53\xae\ \xba\x76\x85\x7a\x81\x2a\x57\x3f\x6a\x40\x2c\x20\x3d\x17\xbc\x40\ \xc9\x21\x72\x27\xe2\xa5\xfa\x16\xd5\x17\x53\x6f\x23\x7f\x4c\xad\ \xdf\x5d\x01\xfc\x53\x95\xfe\xfc\x31\x12\x14\xd4\x09\x3c\xe6\x93\ \xaf\x4d\x79\x7e\xe6\xc0\x5a\xf2\xdd\x68\xf1\x1c\x41\xd4\xa1\x2b\ \x90\xc5\xaa\x81\x78\x04\x2f\xf5\xa9\xfb\x36\xa5\xd9\xe8\xc3\x9e\ \xbc\x0b\x81\x47\x28\x9f\x91\xfc\x82\xbc\xdc\x66\x49\xbf\xfe\xba\ \x17\x78\x65\x83\x25\xd0\x93\xe0\x17\xbf\x20\x12\x55\x5c\xd3\x26\ \xb2\x57\x2f\x9b\xcd\x72\xf2\xc9\x27\x93\x4e\xa7\x8b\x3a\xb2\x48\ \xe2\x52\xcc\x85\x7b\x40\x68\xf2\x6b\xf3\xdb\xc0\xc0\x00\xa7\x9e\ \x7a\x2a\x99\x4c\x86\x7c\x3e\xcf\x8a\x15\x2b\x8a\xe6\x34\xb7\x04\ \x36\x4d\x53\x02\xfa\xdd\xa6\x37\x27\xcf\xb2\x6a\xfa\x0e\x79\x57\ \x40\x7a\xae\xb8\x1b\x09\x8e\xef\x46\x16\x52\xb5\x6e\x86\xfd\x21\ \x12\xf7\xfb\x5d\xc4\x0c\xf7\x59\xe0\x0f\x11\x82\x3c\x8f\x98\xe9\ \x92\x88\xe9\xeb\x53\x48\x4c\xc4\x7f\x21\x7a\x6a\xc6\xa7\xbd\x4e\ \xe7\x18\xf4\x4c\xd5\xf2\xfd\xca\x26\x3d\xd7\x0f\x20\xae\xf7\x27\ \x11\xc9\xfe\x10\x42\xda\x47\x5c\x65\xb2\x88\xa7\xf0\xe3\xc8\x66\ \x80\x3c\xa2\x86\xad\x73\x7e\x57\x23\x52\xfb\x93\x4e\xf9\x15\x88\ \x67\xce\x0d\xf7\x7d\xbb\xa8\x8c\x82\xfb\x9d\x73\x5f\x03\x51\x73\ \xee\x70\xce\x2b\x63\x2d\x34\x82\xac\x16\x6e\xcb\x45\x6b\xab\xa8\ \x39\xda\xfc\xd6\xd5\xd5\x85\xe8\xc8\xee\xe0\x9e\xca\x85\x9d\x96\ \xa4\xdd\xdd\xdd\x98\xa6\x49\x36\x9b\xc5\xb6\x6d\x96\x2c\x59\x52\ \x21\xc1\x95\x52\x28\x28\xb6\xe3\xef\xf5\x0b\x7a\x8a\x32\x74\x07\ \xa4\xe7\x8a\x1f\x03\xfa\x63\x31\x0f\x53\xdf\x1e\xbb\x9f\x23\xde\ \xb2\x5b\x11\x77\xf1\x32\xc4\xac\xf7\x38\x62\xcf\xde\x8c\xc4\x46\ \x18\x88\xc5\xe0\x23\xf8\x93\x18\x4a\x36\xe9\x4e\xfc\x05\x93\xce\ \xaf\xe5\x99\x35\x91\xa2\x48\x20\x92\x1b\xbf\x42\x5c\xd4\x20\x64\ \xfe\x1e\xe2\x20\x71\x63\x23\x32\x5b\xb5\x20\xd1\x7a\xf7\x22\xb1\ \x2b\x1b\x90\x19\xcb\x6d\x4b\x5f\x39\x4b\x5f\x83\xfa\xfb\x26\x25\ \xb5\xee\x13\xc8\xfb\x7a\x18\x38\x36\x30\xd6\x22\x58\x22\xdb\x45\ \x29\x18\x8b\xc5\x58\xb4\x48\x82\xc5\xf4\x2e\x11\x1d\xfd\x56\x1c\ \x04\x06\x18\x18\x65\xd7\xbd\xe6\x37\x1d\x3b\xa1\x61\x59\x76\xa5\ \x2d\xdb\x15\xe7\x6c\x59\x56\x49\xff\xb6\x4b\x03\xa7\x0a\x36\x22\ \xa6\xa8\x08\xfe\x81\xf5\xf5\x62\x06\xf1\x0c\x7e\x86\xb9\xad\xe8\ \x0f\x22\xbb\x43\x6e\x44\xfe\xa8\xcb\x10\xb7\xf1\x34\x22\x89\xb6\ \x51\x72\x3f\xcf\x86\xb3\x90\xe7\x89\xe3\x1f\x7e\x79\x02\x22\x09\ \xfd\x74\x52\x2f\xce\x41\x66\x8b\x38\xfe\xf1\xcd\x37\x21\xbb\x68\ \x72\xc8\x20\xf3\xea\xac\xc3\x4e\x7f\xd6\x20\x1e\xc1\x21\x64\x96\ \xd1\xa6\xbf\x2d\x88\xc9\xd2\x0e\x68\xff\xcb\xc8\xce\x9c\x28\xc1\ \x6e\xee\xaf\x20\xdb\xc3\x56\x21\x11\x74\xaf\x02\x93\x15\x44\xd6\ \x84\xf2\x73\xfb\x16\x0a\x05\xc6\xc6\xc6\x18\x1c\x1c\x64\xc9\x92\ \x25\x45\x57\x31\xc0\xc4\xc1\x09\x0c\xb3\x72\x43\xa9\xbb\x4d\xbd\ \x5d\x29\x91\x90\xc1\xae\x63\x91\xf5\x66\x52\x6f\xf9\x43\x87\x0e\ \x15\xcb\xea\xf2\x53\x53\x53\xb4\xb6\xb6\xa2\x94\xe2\x50\xde\x22\ \x6a\xd4\xfc\xef\x4d\xe6\xfb\x53\x5b\x29\x64\x9a\x7c\x12\x79\x99\ \x47\x83\xb7\x9d\xdf\x5c\xb0\xd3\x39\x06\x05\xa3\xbf\x5d\x25\xdf\ \x0d\x1d\x9e\x1a\x54\x76\x86\xea\xfd\xb4\x11\xa9\xfc\x82\x4f\xde\ \x24\xb3\x07\x4c\x0d\x57\x69\x5b\xe3\xb7\x94\xb6\x80\x01\x55\x74\ \x64\xaf\x35\xc0\xfb\x35\x20\x5d\x26\x91\x48\x80\x21\x66\x33\xc3\ \xa3\xc3\x7a\xd1\xd6\xd6\x46\x38\x1c\x2e\xb6\xdb\xd4\xd4\x44\x67\ \x67\xa7\xd3\x3e\xb8\x63\x96\x6d\xdb\x76\x05\xeb\x8b\x24\x3e\x72\ \xe4\x08\x99\x29\x83\xec\xc4\x14\xed\x2d\x4d\xf4\xb5\x58\x0b\xe9\ \x10\x71\xe3\x5a\x64\x0a\xfd\x66\xb5\x82\x0d\xbc\xf3\x08\x24\xb2\ \x5f\x60\x7d\x53\x34\x4a\x22\x91\xa0\xaf\xaf\x0f\xd3\x34\x89\x44\ \x22\x84\x42\x21\x3a\x3b\x3b\xcb\xa4\x6a\xd9\x67\xb4\xf0\x97\xce\ \x9a\xc8\xd3\xd3\xd3\x8c\x8c\x8c\x14\xf3\xe4\xb2\x0c\x06\xef\x87\ \x5f\x6c\xdb\xa6\x60\x2b\x9e\xd9\x31\xc2\x15\x67\xaf\xa0\x29\x64\ \x32\x3a\x3a\x5a\x8b\xe9\x6d\xbe\x91\x04\xfe\x1c\x91\xf2\x9b\x17\ \xfa\xe6\x0d\x54\xa2\xe2\xdb\x6f\x1a\x3a\x64\x53\xc3\x30\x0c\x0c\ \x44\xbd\x98\x9e\x9e\x2e\xaa\x1e\xfa\x83\x2c\xde\xd8\x0a\x00\x5b\ \x55\x37\x92\xea\x81\xa0\xdb\x72\xee\x86\x61\x50\x41\x52\xa5\x14\ \x26\x8a\x4b\x4f\x5f\x4e\xc4\x2c\x1f\x10\x0b\x8c\x1b\x10\x07\xc5\ \x5d\x04\xc7\x0d\x34\xb0\x80\xf0\x95\xc8\x8b\xe2\x71\x8e\x1c\x39\ \x52\x41\xa2\x5c\x2e\xc7\xee\xdd\xbb\xc9\xe7\xf3\x84\xc3\xe1\xe2\ \x0e\xe6\x58\x6b\x2b\x93\x93\x93\x45\xbb\x88\x46\x90\x9e\xec\x3d\ \xba\x25\xb2\xbb\x2e\xc8\x27\x03\xbc\xaa\xca\xf4\xf4\x18\x87\x9d\ \x7b\x45\x9b\x9b\x17\x9a\xcc\x2b\x81\xab\x10\xb3\xcf\x83\x0b\x79\ \xe3\x06\x82\x51\x46\x64\xdb\xb6\xad\x44\x22\x81\x52\x8a\xee\x54\ \x0f\xbb\x86\x46\x09\xc7\xda\x89\x10\xc5\x36\x5b\x38\x78\xf0\x30\ \xe1\x70\x98\xe6\xe6\x66\x9a\x9b\x9b\xe9\xe9\xe9\xa1\xa7\xa7\xa7\ \x72\x61\x28\x9f\xb0\x00\x4a\x66\xbc\xd9\xf4\x66\xaf\x5d\x58\x7f\ \xed\xd3\x3b\x30\x4a\xf9\x95\x56\x15\xab\x46\x63\xf2\x3c\xe0\x1f\ \x10\x63\xfd\xd3\xf8\x6f\x59\x6f\xe0\x5d\x40\x18\xe1\x4a\x08\x88\ \x3f\xf1\xc4\x13\x37\x4d\x4d\x4d\xf5\x4c\x4f\x4f\x47\xb2\x63\x4d\ \x1f\xfa\xc9\xce\x53\xce\x3b\xf6\xf2\x47\x30\x0d\x8b\xd1\x81\x01\ \x7e\xf6\xd8\x0f\x46\xde\x78\xe3\xb5\xa7\x62\xb1\x58\x7e\xf9\xf2\ \xe5\xa3\x9d\x9d\x9d\x47\x42\xa1\xd0\x9c\xc4\xe1\x7c\x2d\xd0\x42\ \xa1\x90\x1d\x8d\x46\xf3\x86\x61\xec\x41\xcc\x46\x39\x64\xba\x7f\ \x27\xc4\x74\x14\xb1\x87\x7e\x9b\xd2\xc6\xd4\x06\xde\x03\x08\x14\ \x93\x9f\x58\x7f\xd5\x15\x56\xd7\xa9\x0f\x0e\xec\x1b\xa2\x30\x93\ \x67\x71\x53\x13\x07\x5e\xff\xcd\xb3\xbb\xde\x7c\xea\x46\x24\x96\ \xf7\x20\xef\xdd\x6d\xe3\x0d\x34\x50\xc4\x69\x77\xde\x79\xe7\xe0\ \xb1\xc7\x1e\xbb\xbd\xbd\xbd\xfd\xe5\x35\x6b\xd6\xbc\x76\xe2\x89\ \x27\xde\x8a\xc4\x05\xd4\xb4\xff\xbe\x81\x06\x16\x0a\xb3\x11\x32\ \x9c\x4c\x26\x37\x1c\x38\x70\xc0\xb0\x2c\x4b\xf6\xe8\xc3\x53\xbc\ \x3b\x9f\x3b\x6d\xa0\x81\x06\x1a\x68\xa0\x81\x06\xde\x17\xf8\x5f\ \x81\xbf\x70\xca\x53\xd4\x64\xb8\x00\x00\x00\x00\x49\x45\x4e\x44\ \xae\x42\x60\x82\ \x00\x00\x05\x1e\ \x3c\ \x52\x43\x43\x3e\x0a\x20\x20\x3c\x71\x72\x65\x73\x6f\x75\x72\x63\ \x65\x20\x70\x72\x65\x66\x69\x78\x3d\x22\x2f\x69\x63\x6f\x6e\x73\ \x22\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\ \x61\x73\x3d\x22\x4f\x75\x74\x70\x75\x74\x22\x3e\x72\x75\x6e\x2d\ \x62\x75\x69\x6c\x64\x2d\x66\x69\x6c\x65\x2e\x70\x6e\x67\x3c\x2f\ \x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\ \x61\x6c\x69\x61\x73\x3d\x22\x47\x50\x4c\x76\x33\x22\x3e\x67\x70\ \x6c\x76\x33\x2d\x38\x38\x78\x33\x31\x2e\x70\x6e\x67\x3c\x2f\x66\ \x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\ \x6c\x69\x61\x73\x3d\x22\x45\x78\x69\x74\x22\x3e\x61\x70\x70\x6c\ \x69\x63\x61\x74\x69\x6f\x6e\x2d\x65\x78\x69\x74\x2e\x70\x6e\x67\ \x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\ \x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x43\x4d\x6d\x61\x6e\x22\x3e\ \x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2d\x70\x64\x66\x2e\ \x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\ \x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x4e\x65\x77\x22\ \x3e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x6e\x65\x77\x2e\x70\x6e\ \x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\ \x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x4f\x70\x65\x6e\x22\x3e\ \x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x6f\x70\x65\x6e\x2e\x70\x6e\ \x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\ \x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x43\x6c\x6f\x73\x65\x22\ \x3e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x63\x6c\x6f\x73\x65\x2e\ \x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\ \x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x45\x78\x70\x6f\ \x72\x74\x22\x3e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x65\x78\x70\ \x6f\x72\x74\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\ \x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\ \x53\x61\x76\x65\x22\x3e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x73\ \x61\x76\x65\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\ \x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\ \x53\x61\x76\x65\x41\x73\x22\x3e\x64\x6f\x63\x75\x6d\x65\x6e\x74\ \x2d\x73\x61\x76\x65\x2d\x61\x73\x2e\x70\x6e\x67\x3c\x2f\x66\x69\ \x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\ \x69\x61\x73\x3d\x22\x52\x75\x6e\x22\x3e\x72\x75\x6e\x2d\x62\x75\ \x69\x6c\x64\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\ \x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\ \x41\x70\x70\x49\x63\x6f\x6e\x22\x3e\x68\x69\x33\x32\x2d\x61\x70\ \x70\x2d\x63\x69\x72\x6b\x75\x69\x74\x2e\x70\x6e\x67\x3c\x2f\x66\ \x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\ \x6c\x69\x61\x73\x3d\x22\x53\x65\x74\x74\x69\x6e\x67\x73\x22\x3e\ \x70\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x73\x2d\x73\x79\x73\x74\ \x65\x6d\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\ \x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x41\ \x62\x6f\x75\x74\x22\x3e\x68\x65\x6c\x70\x2d\x61\x62\x6f\x75\x74\ \x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\ \x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x54\x65\x78\ \x74\x22\x3e\x64\x72\x61\x77\x2d\x74\x65\x78\x74\x2e\x70\x6e\x67\ \x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\ \x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x42\x69\x74\x6d\x61\x70\x22\ \x3e\x69\x6d\x61\x67\x65\x2d\x70\x6e\x67\x2e\x70\x6e\x67\x3c\x2f\ \x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\x2f\x71\x72\x65\x73\x6f\x75\ \x72\x63\x65\x3e\x0a\x20\x20\x3c\x71\x72\x65\x73\x6f\x75\x72\x63\ \x65\x20\x70\x72\x65\x66\x69\x78\x3d\x22\x2f\x70\x69\x78\x6d\x61\ \x70\x73\x22\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x3e\x72\ \x65\x73\x6f\x75\x72\x63\x65\x73\x2e\x71\x72\x63\x3c\x2f\x66\x69\ \x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\ \x69\x61\x73\x3d\x22\x43\x66\x67\x47\x65\x6e\x65\x72\x61\x6c\x22\ \x3e\x43\x6f\x6e\x66\x69\x67\x75\x72\x65\x2d\x47\x65\x6e\x65\x72\ \x61\x6c\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\ \x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\x3d\x22\x43\ \x66\x67\x45\x78\x70\x6f\x72\x74\x49\x6d\x61\x67\x65\x22\x3e\x43\ \x6f\x6e\x66\x69\x67\x75\x72\x65\x2d\x65\x78\x70\x6f\x72\x74\x2d\ \x69\x6d\x61\x67\x65\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\ \x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\x61\x6c\x69\x61\x73\ \x3d\x22\x41\x70\x70\x4c\x61\x62\x65\x6c\x22\x3e\x61\x70\x70\x6c\ \x69\x63\x61\x74\x69\x6f\x6e\x2d\x78\x2d\x70\x79\x63\x69\x72\x6b\ \x75\x69\x74\x2e\x70\x6e\x67\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\ \x20\x3c\x2f\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x3e\x0a\x20\x20\ \x3c\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x20\x70\x72\x65\x66\x69\ \x78\x3d\x22\x2f\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x73\x22\ \x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x3e\x63\x69\x72\x63\ \x75\x69\x74\x2d\x62\x67\x2e\x6a\x70\x67\x3c\x2f\x66\x69\x6c\x65\ \x3e\x0a\x20\x20\x3c\x2f\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x3e\ \x0a\x20\x20\x3c\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x20\x70\x72\ \x65\x66\x69\x78\x3d\x22\x2f\x74\x72\x61\x6e\x73\x6c\x61\x74\x69\ \x6f\x6e\x73\x22\x3e\x0a\x20\x20\x20\x20\x3c\x66\x69\x6c\x65\x20\ \x61\x6c\x69\x61\x73\x3d\x22\x70\x79\x63\x69\x72\x6b\x75\x69\x74\ \x2e\x63\x61\x2e\x71\x6d\x22\x3e\x2e\x2e\x2f\x4c\x31\x30\x6e\x2f\ \x70\x79\x63\x69\x72\x6b\x75\x69\x74\x2e\x63\x61\x2e\x71\x6d\x3c\ \x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\x2f\x71\x72\x65\x73\x6f\ \x75\x72\x63\x65\x3e\x0a\x3c\x2f\x52\x43\x43\x3e\x0a\ " qt_resource_name = b"\ \x00\x07\ \x07\x0f\x38\x93\ \x00\x70\ \x00\x69\x00\x78\x00\x6d\x00\x61\x00\x70\x00\x73\ \x00\x0b\ \x0e\x46\x70\x93\ \x00\x62\ \x00\x61\x00\x63\x00\x6b\x00\x67\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x73\ \x00\x05\ \x00\x6f\xa6\x53\ \x00\x69\ \x00\x63\x00\x6f\x00\x6e\x00\x73\ \x00\x0c\ \x0d\xfc\x11\x13\ \x00\x74\ \x00\x72\x00\x61\x00\x6e\x00\x73\x00\x6c\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x73\ \x00\x0f\ \x03\x5a\xca\x9d\ \x00\x70\ \x00\x79\x00\x63\x00\x69\x00\x72\x00\x6b\x00\x75\x00\x69\x00\x74\x00\x2e\x00\x63\x00\x61\x00\x2e\x00\x71\x00\x6d\ \x00\x05\ \x00\x4a\x36\x95\ \x00\x43\ \x00\x6c\x00\x6f\x00\x73\x00\x65\ \x00\x06\ \x04\xcf\x76\x94\ \x00\x45\ \x00\x78\x00\x70\x00\x6f\x00\x72\x00\x74\ \x00\x06\ \x04\x90\xb3\x80\ \x00\x42\ \x00\x69\x00\x74\x00\x6d\x00\x61\x00\x70\ \x00\x05\ \x00\x47\x96\xc4\ \x00\x41\ \x00\x62\x00\x6f\x00\x75\x00\x74\ \x00\x04\ \x00\x05\xac\xf4\ \x00\x54\ \x00\x65\x00\x78\x00\x74\ \x00\x03\ \x00\x00\x54\xc7\ \x00\x4e\ \x00\x65\x00\x77\ \x00\x07\ \x08\x74\xfa\xde\ \x00\x41\ \x00\x70\x00\x70\x00\x49\x00\x63\x00\x6f\x00\x6e\ \x00\x06\ \x05\x6c\xb7\xc4\ \x00\x4f\ \x00\x75\x00\x74\x00\x70\x00\x75\x00\x74\ \x00\x04\ \x00\x04\xcf\x04\ \x00\x45\ \x00\x78\x00\x69\x00\x74\ \x00\x04\ \x00\x05\x66\xbe\ \x00\x4f\ \x00\x70\x00\x65\x00\x6e\ \x00\x05\ \x00\x48\x43\x7e\ \x00\x43\ \x00\x4d\x00\x6d\x00\x61\x00\x6e\ \x00\x04\ \x00\x05\x98\xc5\ \x00\x53\ \x00\x61\x00\x76\x00\x65\ \x00\x05\ \x00\x4c\x53\x93\ \x00\x47\ \x00\x50\x00\x4c\x00\x76\x00\x33\ \x00\x08\ \x0c\xbb\x0f\xc3\ \x00\x53\ \x00\x65\x00\x74\x00\x74\x00\x69\x00\x6e\x00\x67\x00\x73\ \x00\x03\ \x00\x00\x59\xbe\ \x00\x52\ \x00\x75\x00\x6e\ \x00\x06\ \x05\x98\xc9\x83\ \x00\x53\ \x00\x61\x00\x76\x00\x65\x00\x41\x00\x73\ \x00\x0e\ \x02\x9f\xcb\x07\ \x00\x63\ \x00\x69\x00\x72\x00\x63\x00\x75\x00\x69\x00\x74\x00\x2d\x00\x62\x00\x67\x00\x2e\x00\x6a\x00\x70\x00\x67\ \x00\x0a\ \x0d\xcd\xf1\x1c\ \x00\x43\ \x00\x66\x00\x67\x00\x47\x00\x65\x00\x6e\x00\x65\x00\x72\x00\x61\x00\x6c\ \x00\x0e\ \x00\xf9\xcb\x75\ \x00\x43\ \x00\x66\x00\x67\x00\x45\x00\x78\x00\x70\x00\x6f\x00\x72\x00\x74\x00\x49\x00\x6d\x00\x61\x00\x67\x00\x65\ \x00\x08\ \x07\x52\x71\xbc\ \x00\x41\ \x00\x70\x00\x70\x00\x4c\x00\x61\x00\x62\x00\x65\x00\x6c\ \x00\x0d\ \x08\x52\x80\x63\ \x00\x72\ \x00\x65\x00\x73\x00\x6f\x00\x75\x00\x72\x00\x63\x00\x65\x00\x73\x00\x2e\x00\x71\x00\x72\x00\x63\ " qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\ \x00\x00\x00\x30\x00\x02\x00\x00\x00\x10\x00\x00\x00\x0b\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x07\ \x00\x00\x00\x40\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\ \x00\x00\x00\x14\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ \x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x9e\x94\ \x00\x00\x00\x5e\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x01\xc0\x00\x00\x00\x00\x00\x01\x00\x00\xef\x41\ \x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\xf7\xcb\ \x00\x00\x01\xf8\x00\x00\x00\x00\x00\x01\x00\x01\x0b\xb4\ \x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\xde\x1b\ \x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00\x50\x63\ \x00\x00\x01\x66\x00\x00\x00\x00\x00\x01\x00\x00\x8e\x9c\ \x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00\x62\x65\ \x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x00\x69\x49\ \x00\x00\x01\x32\x00\x00\x00\x00\x00\x01\x00\x00\x76\xbc\ \x00\x00\x00\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x09\ \x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x47\xa1\ \x00\x00\x01\x22\x00\x00\x00\x00\x00\x01\x00\x00\x70\x53\ \x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x36\x6d\ \x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x00\x7b\xaf\ \x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x41\x8d\ \x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x6b\ \x00\x00\x00\xf4\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xf0\ \x00\x00\x01\x72\x00\x00\x00\x00\x00\x01\x00\x00\x96\x28\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x55\xe9\ \x00\x00\x01\x50\x00\x00\x00\x00\x00\x01\x00\x00\x86\x1d\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x30\x00\x02\x00\x00\x00\x10\x00\x00\x00\x0b\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x07\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x40\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x14\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x9e\x94\ \x00\x00\x01\x67\x42\x2a\xda\x11\ \x00\x00\x00\x5e\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x01\x70\x6f\x80\xc8\x11\ \x00\x00\x01\xc0\x00\x00\x00\x00\x00\x01\x00\x00\xef\x41\ \x00\x00\x01\x6d\x0e\x04\x38\x0b\ \x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\xf7\xcb\ \x00\x00\x01\x68\xd7\x39\x0e\x01\ \x00\x00\x01\xf8\x00\x00\x00\x00\x00\x01\x00\x01\x0b\xb4\ \x00\x00\x01\x6d\x0e\x04\x38\x0b\ \x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\xde\x1b\ \x00\x00\x01\x6d\x0e\x04\x38\x0b\ \x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00\x50\x63\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x01\x66\x00\x00\x00\x00\x00\x01\x00\x00\x8e\x9c\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00\x62\x65\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x00\x69\x49\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x01\x32\x00\x00\x00\x00\x00\x01\x00\x00\x76\xbc\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x00\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x09\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x47\xa1\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x01\x22\x00\x00\x00\x00\x00\x01\x00\x00\x70\x53\ \x00\x00\x01\x67\x66\xd0\x07\xfc\ \x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x36\x6d\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x00\x7b\xaf\ \x00\x00\x01\x68\xd7\x39\x0e\x01\ \x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x41\x8d\ \x00\x00\x01\x6d\x0e\x04\x38\x0b\ \x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x6b\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x00\xf4\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xf0\ \x00\x00\x01\x6d\x0e\x04\x38\x0f\ \x00\x00\x01\x72\x00\x00\x00\x00\x00\x01\x00\x00\x96\x28\ \x00\x00\x01\x58\x34\x36\xde\xa8\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x55\xe9\ \x00\x00\x01\x67\x42\x2a\xda\x19\ \x00\x00\x01\x50\x00\x00\x00\x00\x00\x01\x00\x00\x86\x1d\ \x00\x00\x01\x58\x34\x36\xde\xa8\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] if qt_version < [5, 8, 0]: rcc_version = 1 qt_resource_struct = qt_resource_struct_v1 else: rcc_version = 2 qt_resource_struct = qt_resource_struct_v2 def qInitResources(): QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) def qCleanupResources(): QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) qInitResources() pycirkuit-0.5.1/pycirkuit/resources/run-build-file.png000066400000000000000000000031611362435125300231260ustar00rootroot00000000000000PNG  IHDR szzsRGB pHYs B(xtIME("^bKGDIDATxڭVkhW>3;y?1lB,5 55HjkC*' !XQ,_6R MHPJ֚441{{{܌3~pgv{!YV\ wС- I0jVZU9??b;QtvvBuu5$'N@g B0 |8{w-V۷k׮]`|>N᭢u### KO6s09bI$$§. I@JUU՛EQ$R6MŁq6U~,wҥ ؤ2>>/--SYY$@UUcccQx:vHuD<k{{S>Gu. HY^fFSSSaff"{>.jSTpf!5Yy"r,9w\3IKƝtbt"n5\46ݏMsGdPHg\k Z1A ;" ZL`hH555{qWS e)rn]Pu'81՚@d?pn, ,Hh @4N]Lig #W"e V$0 ,h$D@$EH= zh\ddi#)gP}i(?FD"(* {@"ٱȻ\~D,#R xsss,%$$/C! jq#7jv$6cn؄n"u)h/6777Q{y! em=]E%N [JBfbtuukscpV r@HGVYoTH>Ϝ9}0B\ g*îAy.I`ѹM9=ˌ$HYe }~%S̄aڗa8B\"goD+: JsgB32Afpd&d*zI%%%-\8MM`)b'fagAKZZ9aE3}RakSqƑѡؽ{͛7hjjj+ZH^J2RS$!\_ GGG?Uo 2<ɉEdR+ fUp1X $/9R)$"Vrظa#X8?b$A766i&GCxqő.Boo/_1[o/|)ʿL!,`߈U:W={le |Y,@z )oŦ.w;?*>9>9Ì9P,$8w{uɇ< MQ.W@Zmk (t֟Ze ;;ӽ䇇~X }H!8IENDB`pycirkuit-0.5.1/pycirkuit/resources/run-build.png000066400000000000000000000036101362435125300222100ustar00rootroot00000000000000PNG  IHDR szzsRGB pHYs B(xtIME -|bKGDIDATxڽWiLTWڠP1]b .EQj\FcMjڤI-?J4(1Ml"*h,Kb+Y VUA`f`aaؔ}TvNyL&֗|sηf&aׯ_x͚5Q۞L&} __5޼yk߿AK 8C\\\7|WMHHȟϞ=CUU/KAЁ#P(->|\ǏCT69'F?t:]ǭ͛7kKcdX32ra6[QK===Dww7D`̄ØK,lllDGGNtB#F+"Ӣ-4Kzݻhii1655mۋ20˫έB FZZZ J2 ף<5 tuwAqܱca3Љ Bid$47443P4fA(ֆ{Iuuu8rH3_ \zDID7Y467HƆF)z^QGAKAL5oddd~g\ 623 1EބXħHVKrv4WQJ***Bee%ę}<'OT&P=Ib_%10t/ -q+9)Ij4 (..Fuu5v9s#6 /3 TSiM#7BYw%돂%Tt_qzA\ Q<#Q[[ r&\Cn X':XFIIp.DL1zf 8 Ӽ6(}{w?!<E%Ncf+v'p: wmbyɳBΌzr'O&'+WUO0 >_JHA=vRx6%2 IɉWjƳbŊ/s^xPl3+ˠPː-uwrR"|6Hi\Fnr=l`֝` ~6 ;])O-Uܾ4UڲUt6f{. # # Third-party imports from PyQt5.QtCore import QCoreApplication, Qt from PyQt5.QtWidgets import QTextEdit from PyQt5.QtGui import QKeySequence # Translation function _translate = QCoreApplication.translate class pycktTextEditor(QTextEdit): """ Class documentation goes here. """ def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QTextEdit """ super().__init__(parent) def keyPressEvent(self, event): if event.matches(QKeySequence.ZoomIn): self._change_font_size(1) elif event.matches(QKeySequence.ZoomOut): self._change_font_size(-1) else: super().keyPressEvent(event) def wheelEvent(self, event): if (event.modifiers()==Qt.ControlModifier): event.accept() numSteps = event.angleDelta() / 120 self._change_font_size(numSteps.y()) else: super().wheelEvent(event) def _change_font_size(self, steps): editorFont = self.font() fontSize = editorFont.pointSize() newFontSize = fontSize + steps editorFont.setPointSize(newFontSize) self.setFont(editorFont) pycirkuit-0.5.1/pycirkuit/tools/000077500000000000000000000000001362435125300167275ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/tools/__init__.py000066400000000000000000000000001362435125300210260ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/tools/circuitmacrosmanager.py000066400000000000000000000155031362435125300235070ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a CircuitMacros Manager class. """ # Copyright (C) 2018-2019 Orestes Mas # Copyright (C) 2019 Aniol Marti # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import os from os.path import normpath, join, exists, dirname, abspath import zipfile import urllib.request as Net import urllib.error as NetError # Third-party imports from PyQt5 import QtCore from PyQt5.QtCore import QStandardPaths # Local application imports from pycirkuit.exceptions import * # Translation function _translate = QtCore.QCoreApplication.translate class CircuitMacrosManager(QtCore.QObject): """ Class documentation goes here. """ CIRCUIT_MACROS_FILE = "circuit_macros.zip" def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ pass def check_installed(self): #TODO: Should: # 1) Test several places, starting with the one set up in config, but then test also standard locations # 2) Two possibilities can arise: # a) There's only one place where CM are # b) They are found in two or more places dirList = QStandardPaths.standardLocations(QStandardPaths.GenericDataLocation) # Append specific app subdir to each possible location dirList = [normpath(join(dir, "circuit-macros")) for dir in dirList] settings = QtCore.QSettings() extraPath = normpath(settings.value("General/cmPath", "")) if extraPath != "": dirList.insert(0, extraPath) for testPath in dirList: if exists(join(testPath , "libcct.m4")): # 3) We pick up the first found. Perhaps we might consider other possibilities # 4) Finally, as a SIDE EFFECT we can update config automatically or not. settings.setValue("General/cmPath", testPath) return True else: return False def default_CMPath(self): return normpath(join(QtCore.QStandardPaths.writableLocation(QtCore.QStandardPaths.AppDataLocation), "circuit-macros")) def download_latest(self, percent): origin = "https://ctan.mirror.norbert-ruehl.de/graphics/" + CircuitMacrosManager.CIRCUIT_MACROS_FILE destination = dirname(self.default_CMPath()) if destination == "": raise PyCirkuitError(_translate("ExternalTool", "Cannot determine the standard writable location for PyCirkuit", "Error message")) if not exists(destination): os.makedirs(destination) destination = join(destination, CircuitMacrosManager.CIRCUIT_MACROS_FILE) try: with Net.urlopen(origin) as source, open(destination, 'wb') as dest: length = source.getheader('content-length') if length: length = int(length) percent.setRange(0, length) percent.setValue(0) blocksize = max(4096, length//100) else: blocksize = 1000000 # just made something up size = 0 while True: buf1 = source.read(blocksize) if not buf1: break dest.write(buf1) size += len(buf1) percent.setValue(size) except NetError.URLError as e: #FIXME: Convert to MessageBox by reraising as PyCktCMFetchError print(_translate("ExternalTool", "Network error: ", "Error message"), e) def getManUrl(self): import glob try: import magic except ImportError: raise PyCirkuitError(_translate("ExternalTool", "Module 'python-magic' not found. Please check that all PyCirkuit dependencies are correctly installed.", "Error message")) mime = magic.Magic(mime=True) # Prepare to detect a file's mimetype based on its contents # Get standard locations for documentation in a platform-independent way dirList = QStandardPaths.standardLocations(QStandardPaths.GenericDataLocation) # Append specific app subdir to each possible location dirList = [normpath(join(dir, "doc", "circuit-macros")) for dir in dirList] # Add the config-stored Circuit Macros Location to this list settings = QtCore.QSettings() extraPath = normpath(settings.value("General/cmPath", "")) extraPath = join(extraPath, "doc") dirList.insert(0, extraPath) # Add the default Circuit Macros location to this list (can be the same as above) dirList.append(join(self.default_CMPath(), "doc")) # Explore the generated list searching for pdf or compressed pdf for testPath in dirList: # Perhaps we should search for *.pdf* or, at least, for *.pdf AND *.pdf.gz candidates = glob.glob(join(testPath, "Circuit_macros.pdf")) candidates.extend(glob.glob(join(testPath, "Circuit_macros.pdf.gz"))) for candidate in candidates: mimeType = mime.from_file(candidate) if (mimeType == "application/pdf") or (mimeType == "application/gzip"): return(candidate) else: raise PyCktCMManNotFoundError(normpath(settings.value("General/cmPath", ""))) def unpack_circuit_macros(self): try: dataPath = QtCore.QStandardPaths.writableLocation(QtCore.QStandardPaths.AppDataLocation) zipName = abspath(join(dataPath, CircuitMacrosManager.CIRCUIT_MACROS_FILE)) zip_ref = zipfile.ZipFile(zipName, "r") zip_parent_dir = zip_ref.namelist()[0] zip_ref.extractall(dataPath) zip_ref.close() os.rename(join(dataPath, zip_parent_dir), join(dataPath, "circuit-macros")) os.remove(zipName) settings = QtCore.QSettings() settings.setValue("General/cmPath", join(dataPath , 'circuit-macros')) settings.sync() except Exception as e: #FIXME: Convert to MessageBox by reraising as PyCktCMFetchError print(_translate("ExternalTool", "Error uncompressing the Circuit Macros: ", "Error message"), e) pycirkuit-0.5.1/pycirkuit/tools/cliparser.py000066400000000000000000000442351362435125300212750ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing the functions to run when a command option is called """ # Copyright (C) 2018-2019 Orestes Mas # Copyright (C) 2019 Aniol Marti # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import sys import glob from os.path import abspath, realpath, isfile, isdir from subprocess import run from enum import Enum # Third-party imports from PyQt5.QtCore import QObject, QCoreApplication, QCommandLineParser, QCommandLineOption, QSettings # Local imports import pycirkuit from pycirkuit.exceptions import * from pycirkuit import Option, __productname__ from pycirkuit.tools.processor import PyCirkuitProcessor, Overwrite # Translation function _translate = QCoreApplication.translate # A Enumeration class class Decision(Enum): ABORT = 1 SKIP = 2 OPEN = 3 # The command line parser (Qt-based) class PyCirkuitParser(QObject): def _initStrings(self): self._appDescriptionStr = _translate("CommandLine", "\n" "{productName} is a front-end for Circuit Macros by Dwight Aplevich,\n" "which are a set of macros for drawing high-quality line diagrams\n" "to be included in TeX, LaTeX, web or similar documents.", "Commandline application description. Don't translate '{productName}'.") self._batchOptionStr = _translate("CommandLine", "Activates batch (unattended) mode, and convert files specified by to {formatID} format. Several output formats can be used together.", "Commandline option description. Don't translate the '{formatID}' variable.") self._dpiOptionStr = _translate("CommandLine", "Sets the resolution of output raster images (png, jpg), in dots per inch. Value is mandatory. If option is not set, default is {defaultDPI}dpi (defined in 'settings' dialog).", "Commandline argument description. Don't translate the '{defaultDPI}' variable.") self._qualityOptionStr = _translate("CommandLine", "Sets the quality of output raster lossy images (jpg), in percent. Value is mandatory. If option is not set, default is {defaultQuality}% (defined in 'settings' dialog).", "Commandline option description. Don't translate the '{defaultQuality}' variable.") self._overwriteOptionStr = _translate("CommandLine", "Overwrite by default the converted files if they are present. If not set, user will be asked at runtime.", "Commandline option description.") self._followLinksOptionStr = _translate("CommandLine", "Follow symbolic links.\n" "- If not set, destination file will be saved into the same directory where the source file is, whether it's a real file or a symbolic link.\n" "- If set, destination file will be saved into the directory where the real source file is located.", "Commandline option description.") self._destDirOptionStr = _translate("CommandLine", "Save all converted files into the same destination directory (value is mandatory).", "Commandline option description. Don't translate ''.") self._recurseOptionStr = _translate("CommandLine", "Using this option the pattern '**' will match any files and zero or more subdirs, so '**/*.ckt' will match all files with 'ckt' extension in the current directory and all its subdirectories.", "Commandline option description.") self._pathDescriptionStr = _translate("CommandLine", "Path to source drawing file(s) to process. Wildcards accepted.\n" "- If no is given, the GUI is opened.\n" "- If points to only one file and no batch conversion options are present, this file is opened into the GUI for editing.\n" "- If s point to more than one valid file and a combination of output formats options are present, these source files are processed sequentially in batch (unattended) mode and converted into the requested formats.\n" "- Specifying more than one file to process with no output format options present is not allowed.", "Commandline argument description. If you translate , translate the name and path syntax accordingly.") self._seeHelpStr = _translate("CommandLine", 'Try "{appName} --help" to get more information.', "Command-line error message. Don't translate '{appName}'.") def __init__(self, args): super().__init__() self.args = args settings = QSettings() self.imageParam = { Option.DPI: settings.value("Export/exportDPI", 150, type=int), Option.QUAL: settings.value("Export/exportQuality", 80, type=int), } self.cli_mode = False self.requestedRecursive = False self.overwrite = Overwrite.UNSET self.dstDir = "" self._initStrings() self.parser = QCommandLineParser() #self.parser.setSingleDashWordOptionMode(QCommandLineself.parser.ParseAsLongOptions) self.parser.setApplicationDescription(self._appDescriptionStr.format(productName=__productname__)) # Adding the '-h, --help' option self.parser.addHelpOption() # Adding the '-v --version' option self.parser.addVersionOption() # Allowing positional arguments (the file/files to open or process) self.parser.addPositionalArgument( _translate("CommandLine", "path", "Commandline argument name. If you translate this name, translate it accordingly into the path description and path syntax."), self._pathDescriptionStr, _translate("CommandLine", "[ [ ...]]", "Commandline argument syntax. If you translate , translate the name and path description accordingly.") ) # Adding command line options self.options = { Option.TIKZ: QCommandLineOption( ["t", "tikz"], self._batchOptionStr.format(formatID='TIkZ'), ), Option.PDF: QCommandLineOption( ["f", "pdf"], self._batchOptionStr.format(formatID='PDF'), ), Option.PNG: QCommandLineOption( ["p", "png"], self._batchOptionStr.format(formatID='PNG'), ), Option.JPEG: QCommandLineOption( ["j", "jpeg"], self._batchOptionStr.format(formatID='JPEG'), ), Option.SVG: QCommandLineOption( ["s", "svg"], self._batchOptionStr.format(formatID='SVG'), ), Option.DPI: QCommandLineOption( ["dpi"], self._dpiOptionStr.format(defaultDPI=self.imageParam[Option.DPI]), "N", ), Option.QUAL: QCommandLineOption( ["quality"], self._qualityOptionStr.format(defaultQuality=self.imageParam[Option.QUAL]), "Q", ), Option.DEST: QCommandLineOption( ["destination"], self._destDirOptionStr, "D", ), Option.LINK: QCommandLineOption( ["links"], self._followLinksOptionStr, ), Option.OVER: QCommandLineOption( ["overwrite"], self._overwriteOptionStr, ), Option.REC: QCommandLineOption( ["r"], self._recurseOptionStr, ), } # Adding the options in the list for option in self.options.values(): self.parser.addOption(option) def _checkFiles(self): # Test for some path passed as parameters, or none paths = self.parser.positionalArguments() # User gave some filespec to process? pathPresent = (len(paths) > 0) # User may have entered more than one path, and these can contain wildcards # We have to expand them into files prior to process self.requestedFilesToProcess = list() for pathSpec in paths: for f in glob.iglob(pathSpec, recursive=self.requestedRecursive): if isfile(realpath(f)): f = realpath(f) if self.followSymlinks else abspath(f) self.requestedFilesToProcess.append(f) NumFiles = len(self.requestedFilesToProcess) if (NumFiles == 0) and pathPresent: print(QCoreApplication.applicationName() + ": " + _translate("CommandLine", "The given path does not match any existing file.", "Commandline error message")) print(self._seeHelpStr.format(appName=QCoreApplication.applicationName())) sys.exit(-1) return NumFiles def _checkFileOptions(self): self.followSymlinks = self.parser.isSet(self.options[Option.LINK]) self.overwrite = Overwrite.ALL if self.parser.isSet(self.options[Option.OVER]) else Overwrite.UNSET if self.parser.isSet(self.options[Option.DEST]): self.dstDir = abspath(self.parser.value((self.options[Option.DEST]))) if not isdir(self.dstDir): print(QCoreApplication.applicationName() + ": " + _translate("CommandLine", "The given path does not match any existing file.", "Commandline error message")) print(self._seeHelpStr.format(appName=QCoreApplication.applicationName())) sys.exit(-1) else: self.dstDir = "" def _checkFormats(self): # Test for requested output formats. If any, cli_mode is set. validOutputFormats = {Option.TIKZ, Option.PNG, Option.PDF, Option.JPEG, Option.SVG} self.requestedOutputFormats = set() for outputFormat in validOutputFormats: if self.parser.isSet(self.options[outputFormat]): self.cli_mode = True self.requestedOutputFormats.add(outputFormat) NumFormats = len(self.requestedOutputFormats) return NumFormats def _checkRecursive(self): self.requestedRecursive = self.parser.isSet(self.options[Option.REC]) def _checkRasterOptions(self): # Set the "dpi" and "quality" parameters to the values provided by user, if any # process the "dpi" option if self.parser.isSet(self.options[Option.DPI]): try: self.imageParam[Option.DPI] = int(self.parser.value(self.options[Option.DPI])) if self.imageParam[Option.DPI] not in range(25, 3001): raise Exception() except: print(QCoreApplication.applicationName() + ": " + _translate("CommandLine", "The --dpi parameter must be an integer between 25 and 3000.", "Error message")) print(self._seeHelpStr.format(appName=QCoreApplication.applicationName())) sys.exit(-1) # Process the "quality" option if self.parser.isSet(self.options[Option.QUAL]): try: self.imageParam[Option.QUAL] = int(self.parser.value(self.options[Option.QUAL])) if self.imageParam[Option.QUAL] not in range(0, 101): raise Exception() except: print(QCoreApplication.applicationName() + ": " + _translate("CommandLine", "The --quality parameter must be an integer between 0 and 100.", "Error message")) print(self._seeHelpStr.format(appName=QCoreApplication.applicationName())) sys.exit(-1) def parseCmdLine(self): self.parser.process(self.args) ##### FETCH OPTIONS AND ARGUMENTS # Test if "recursive" flag is set self._checkRecursive() # Check if user set some image raster parameters self._checkRasterOptions() # Test how many output formats were requested. self._checkFormats() # Test for various file options self._checkFileOptions() # Find files to process NumFiles = self._checkFiles() ##### Process CLI mode if self.cli_mode: # Is an error to call pycirkuit with a batch option and no filenames if (NumFiles == 0): print(QCoreApplication.applicationName() + ": " + _translate("CommandLine", "Batch processing requested with no files.", "Commandline error message")) print(self._seeHelpStr.format(appName=QCoreApplication.applicationName())) sys.exit(-1) # Instantiate a processor object for this CLI session try: processor = PyCirkuitProcessor() for fileName in self.requestedFilesToProcess: processed = False print(_translate("CommandLine", "Processing file:", "Command line message. Will be followed by an absolute file path"), fileName) while not processed: processor.beginProcessing(fileName) for format in self.requestedOutputFormats: try: processor.requestResult(format, dstDir=self.dstDir, overwrite=self.overwrite, dpi=self.imageParam[Option.DPI], quality=self.imageParam[Option.QUAL]) except PyCktToolExecutionError as err: answer = self._askOnError(err) if answer == Decision.ABORT: # Terminate program sys.exit(-1) elif answer == Decision.SKIP: # Consider file processed and jump to the next one processed = True continue elif answer == Decision.OPEN: # Open a IGU try: run(["pycirkuit", fileName], shell=False, check=False) # Breaking here puts us out of the "for" loop and source is re-read in "beginProcesing" break except: processed = True else: processed = True print("") except PyCirkuitError as err: print("\npycirkuit:", err) sys.exit(-1) print(_translate("CommandLine", "Files processed: {N}.", "Command line message. {N} will be an integer, don't translate it.").format(N=NumFiles)) sys.exit(0) ##### Process GUI mode. Perform some final checks and exit. if NumFiles == 0: return None elif NumFiles == 1: return abspath(self.requestedFilesToProcess[0]) else: print(QCoreApplication.applicationName() + ": " + _translate("CommandLine", "More than one file to process with no batch option given.", "Commandline error message")) print(self._seeHelpStr.format(appName=QCoreApplication.applicationName())) sys.exit(-1) def _askOnError(self, err): # Test if we have GUI or not, and ask accordingly print("\npycirkuit:", err) question = _translate("CommandLine-UserInput2", "Please choose what to do: [a]bort processing, [s]kip file, [o]pen in GUI for editing: ", "WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message.") answerAbort = _translate("CommandLine-UserInput2", "a", "WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:'") answerSkip = _translate("CommandLine-UserInput2", "s", "WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:'") answerOpen = _translate("CommandLine-UserInput2", "o", "WARNING!! Critical translation. This char must match one of those of the message 'Please choose what to do:'") if pycirkuit.__haveGUI__: question = _translate("CommandLine-UserInput2", "Please choose what to do: [a]bort processing, [s]kip file, [o]pen in GUI for editing: ", "WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message.") answers = { answerAbort: Decision.ABORT, answerSkip: Decision.SKIP, answerOpen: Decision.OPEN } else: question = _translate("CommandLine-UserInput2", "Please choose what to do: [a]bort processing, [s]kip file: ", "WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message.") answers = { answerAbort: Decision.ABORT, answerSkip: Decision.SKIP, } # Ask for user decision, loop until answered while True: answer = input(question) if answer.lower() in answers: return answers[answer] pycirkuit-0.5.1/pycirkuit/tools/dpic.py000066400000000000000000000070441362435125300202250ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a class to handle the dpic external tool """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports from os.path import * # Third-party imports from PyQt5.QtCore import QCoreApplication, QStandardPaths # Local application imports from pycirkuit import Option from pycirkuit.tools.tool_base import ExternalTool, PyCktDocNotFoundError # Translation function _translate = QCoreApplication.translate class ToolDpic(ExternalTool): # Class variable ID = 'DPIC' def __init__(self): super().__init__("dpic", _translate("ExternalTool", "'PIC' language compiler", "Tool Long Name")) def execute(self, baseName, outputType = Option.TIKZ): # Calculate src and dst names src = baseName + '.pic' if outputType == Option.TIKZ: dst = baseName + '.tikz' flag = '-g' elif outputType == Option.SVG: dst = baseName + '.svg' flag = '-v' #NOTE: We add the '-z' flag to always execute dpic in "safe mode" # Instantiate a settings object to load config values. At this point the config have valid entries, so don't test much command = [self.executableName, flag, '-z', "{source}".format(source=src)] errMsg = _translate("ExternalTool", "DPIC: Error processing source file", "Error message") super().execute(command, errMsg, destination=dst) def getManUrl(self): import glob try: import magic except ImportError: raise PyCirkuitError(_translate("ExternalTool", "Module 'python-magic' not found. Please check that all PyCirkuit dependencies are correctly installed.", "Error message")) mime = magic.Magic(mime=True) # Prepare to detect a file's mimetype based on its contents # Get standard locations for documentation in a platform-independent way dirList = QStandardPaths.standardLocations(QStandardPaths.GenericDataLocation) # Append specific app subdir to each possible location dirList = [normpath(join(dir, "doc", "dpic")) for dir in dirList] # Explore the generated list searching for pdf or compressed pdf for testPath in dirList: # Perhaps we should search for *.pdf* or, at least, for *.pdf AND *.pdf.gz candidates = glob.glob(join(testPath, "dpic-doc.pdf")) candidates.extend(glob.glob(join(testPath, "dpic-doc.pdf.gz"))) for candidate in candidates: mimeType = mime.from_file(candidate) if (mimeType == "application/pdf") or (mimeType == "application/gzip"): return(candidate) else: err = PyCktDocNotFoundError("dpic") # Add the list of possible locations to 'moreinfo' message's box variable info = err.moreInfo + '\n'.join(dirList) err.moreInfo = info raise err pycirkuit-0.5.1/pycirkuit/tools/m4.py000066400000000000000000000036151362435125300176260ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a class to handle the M4 external tool """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Third-party imports from PyQt5.QtCore import QCoreApplication, QSettings # Local application imports from pycirkuit.tools.tool_base import ExternalTool # Translation function _translate = QCoreApplication.translate class ToolM4(ExternalTool): # Class variable ID = 'M4' def __init__(self): super().__init__("m4", _translate("ExternalTool", "'M4' Macro Processor", "Tool Long Name")) def execute(self, baseName): # Calculate src and dst names src = baseName + '.ckt' dst = baseName + '.pic' # Instantiate a settings object to load config values. At this point the config have valid entries, so don't test much settings = QSettings() cmPath = settings.value("General/cmPath") srcPath = settings.value("General/lastSrcDir") command = [self.executableName , "-I", "{cmPath}".format(cmPath=cmPath), "-I", "{srcPath}".format(srcPath=srcPath), "pgf.m4", "{source}".format(source=src)] errMsg = _translate("ExternalTool", "M4: Error converting CKT -> PIC", "Error message") super().execute(command, errMsg, destination=dst) pycirkuit-0.5.1/pycirkuit/tools/pdflatex.py000066400000000000000000000070361362435125300211160ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a class to handle the pdflatex external tool """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import re # Third-party imports from PyQt5.QtCore import QCoreApplication, QSettings # Local application imports from pycirkuit.tools.tool_base import ExternalTool, PyCktToolExecutionError # Translation function _translate = QCoreApplication.translate class ToolPdfLaTeX(ExternalTool): # Class variable ID = 'PDFLATEX' def __init__(self): super().__init__("pdflatex", _translate("ExternalTool", "pdfLaTeX program", "Tool Long Name")) def execute(self, baseName): # Calculate src and dst names tikz = baseName + '.tikz' tex = baseName + '.tex' # Instantiate a settings object to load config values. At this point the config have valid entries, so don't test much settings = QSettings() latexTemplateFile = settings.value("General/templatePath") # Now we read a LaTeX template and wrap the tikz code inside templateCode = "" with open("{templateFile}".format(templateFile=latexTemplateFile), 'r') as template: templateCode = template.read() with open("{source}".format(source=tikz), 'r') as f, \ open('{destination}'.format(destination=tex), 'w') as g: source = f.read() dest = templateCode.replace('%%SOURCE%%', source, 1) g.write(dest) g.write('\n') # Execution of pdfLaTeX creates a PDF file command = [self.executableName, "-interaction=batchmode", "-halt-on-error", "{texFile}".format(texFile=tex)] errMsg = _translate("ExternalTool", "PDFLaTeX: Error converting TIKZ -> PDF", "Error message") try: super().execute(command, errMsg) except PyCktToolExecutionError as err: # If a LaTeX error has been triggered, try to obtain a meaningful error message # Very useful: https://regex101.com/#python info = "" with open("{basename}.log".format(basename=baseName),'r') as log: expr = "! (\S.*$)|l\.([0-9]+) (.*$)" prog = re.compile(expr) for line in log: # 'match' searches from line beginning match = prog.match(line) if match: if match.group(0)[0] == 'l': #TODO: Perhaps we can return some info (error string?) to allow spotting the error at the source file info = _translate("ExternalTool", "Error at TeX file line number {N}".format(N=match.group(2)), "Error message. Don't translate '{N}'") + '\n' info += match.group(3) + '\n' else: info += match.group(1) + '\n' err.moreInfo = info raise err pycirkuit-0.5.1/pycirkuit/tools/pdftojpg.py000066400000000000000000000035701362435125300211230ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a class to handle the pdftoppm external tool """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # System library imports from os import extsep # Third-party imports from PyQt5.QtCore import QCoreApplication # Local application imports from pycirkuit.tools.tool_base import ExternalTool # Translation function _translate = QCoreApplication.translate class ToolPdfToJpeg(ExternalTool): # Class variable ID = 'PDFTOJPG' def __init__(self): super().__init__("pdftoppm", _translate("ExternalTool", "PDF to JPEG image converter", "Tool Long Name")) def execute(self, baseName, resolution=150, quality=100): # Calculate src and dst names src = baseName + extsep + "pdf" dst = baseName + extsep + "jpeg" # Instantiate a settings object to load config values. At this point the config have valid entries, so don't test much command = [self.executableName, "-jpeg", "-jpegopt", "quality={q}".format(q=quality), "-r", "{ppp}".format(ppp=resolution), "{source}".format(source=src)] errMsg = _translate("ExternalTool", "PDFTOPPM: Error converting PDF -> JPEG", "Error message") super().execute(command, errMsg, destination=dst) pycirkuit-0.5.1/pycirkuit/tools/pdftopng.py000066400000000000000000000033721362435125300211270ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a class to handle the pdftoppm external tool """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Third-party imports from PyQt5.QtCore import QCoreApplication # Local application imports from pycirkuit.tools.tool_base import ExternalTool # Translation function _translate = QCoreApplication.translate class ToolPdfToPng(ExternalTool): # Class variable ID = 'PDFTOPNG' def __init__(self): super().__init__("pdftoppm", _translate("ExternalTool", "PDF to PNG image converter", "Tool Long Name")) def execute(self, baseName, resolution=150): # Calculate src and dst names src = baseName + '.pdf' dst = baseName + '.png' # Instantiate a settings object to load config values. At this point the config have valid entries, so don't test much command = [self.executableName, "-png", "-r", "{ppp}".format(ppp=resolution), "{source}".format(source=src)] errMsg = _translate("ExternalTool", "PDFTOPPM: Error converting PDF -> PNG", "Error message") super().execute(command, errMsg, destination=dst) pycirkuit-0.5.1/pycirkuit/tools/processor.py000066400000000000000000000223721362435125300213260ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Application core functionality """ # Copyright (C) 2018-2019 Orestes Mas # Copyright (C) 2019 Aniol Marti # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import os import shutil from enum import Enum # Third-party imports from PyQt5.QtCore import QCoreApplication, QObject, QTemporaryDir, QSettings # Local imports import pycirkuit from pycirkuit import Option from pycirkuit.exceptions import * from pycirkuit.tools.m4 import ToolM4 from pycirkuit.tools.dpic import ToolDpic from pycirkuit.tools.pdflatex import ToolPdfLaTeX from pycirkuit.tools.pdftopng import ToolPdfToPng from pycirkuit.tools.pdftojpg import ToolPdfToJpeg from pycirkuit.tools.circuitmacrosmanager import CircuitMacrosManager # Translation function _translate = QCoreApplication.translate class Overwrite(Enum): UNSET = 0 YES = 1 ALL = 2 NO = 3 NEVER =4 class PyCirkuitProcessor(QObject): TMP_FILE_BASENAME= "cirkuit_tmp" def __init__(self): self.environmentOk = False super().__init__() self.overwrite = Overwrite.UNSET # Save current work dir and change into a temporary one self.savedWD = os.getcwd() pycirkuit.__tmpDir__ = QTemporaryDir() os.chdir(pycirkuit.__tmpDir__.path()) def __del__(self): # Restore working dir and remove temporary dir os.chdir(self.savedWD) pycirkuit.__tmpDir__.remove() def _check_latex_template(self): settings = QSettings() template = settings.value("General/templatePath", "") if os.path.exists(template): with open(template, 'r') as t: templateCode = t.read() if "%%SOURCE%%" in templateCode: return True else: raise PyCktLatexTemplateError(_translate("CommandLine", "Found an invalid LaTeX template.", "Error message.")) else: raise PyCktLatexTemplateError(_translate("CommandLine", "LaTeX template not found.", "Error message.")) def _check_programs(self): # Dictionary using a class as index and a class instance as value self.extTools = { ToolM4: ToolM4(), ToolDpic: ToolDpic(), ToolPdfLaTeX: ToolPdfLaTeX(), ToolPdfToPng: ToolPdfToPng(), ToolPdfToJpeg: ToolPdfToJpeg() } def _check_circuit_macros(self): cmMgr = CircuitMacrosManager() if not cmMgr.check_installed(): raise PyCktCMNotFoundError(_translate("CommandLine", "Cannot find the Circuit Macros!", "Command line error message.")) def _askUser(self): print(_translate("CommandLine-UserInput1", "\nThe destination file already exists.", "Command line message. THE STARTING NEWLINE CHARACTER (\n) IS IMPORTANT.")) question = _translate("CommandLine-UserInput1", "Would you like to overwrite it? ([y]es | [n]o | yes to [a]ll | ne[v]er): ", "WARNING!! Critical translation. You should translate this message to your language, enclosing into brackets one single DIFFERENT character for each option, and translate accordingly the characters in the next message.") answerYes = _translate("CommandLine-UserInput1", "y", "WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?'") answerNo = _translate("CommandLine-UserInput1", "n", "WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?'") answerAll = _translate("CommandLine-UserInput1", "a", "WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?'") answerNever = _translate("CommandLine-UserInput1", "v", "WARNING!! Critical translation. This char must match one of those of the message 'Would you like to overwrite it?'") answers = { answerYes: Overwrite.YES, answerNo: Overwrite.NO, answerAll: Overwrite.ALL, answerNever: Overwrite.NEVER } while True: answer = input(question) if answer.lower() not in answers: continue else: return answers[answer] def checkEnvironment(self): self._check_programs() self._check_circuit_macros() self._check_latex_template() self.environmentOk = True def beginProcessing(self, src): # 1) Check if all tools are installed if not self.environmentOk: self.checkEnvironment() # 2) Set all formats to "ungenerated" state self.picExists = self.tikzExists = self.svgExists = self.pdfExists = self.pngExists = self.jpegExists = False # Copy source file into temporary file self.sourceFile = src dst = PyCirkuitProcessor.TMP_FILE_BASENAME + ".ckt" shutil.copy(src, dst) print(os.path.basename(self.sourceFile), end="") def requestResult(self, option, dstDir="", overwrite=Overwrite.UNSET, dpi=None, quality=None): if option == Option.PNG: extension = "png" startPoint = self.toPng formatToCheck = self.pngExists elif option == Option.JPEG: extension = "jpeg" startPoint = self.toJpeg formatToCheck = self.jpegExists elif option == Option.PDF: extension = "pdf" startPoint = self.toPdf formatToCheck = self.pdfExists elif option == Option.SVG: extension = "svg" startPoint = self.toSvg formatToCheck = self.svgExists elif option == Option.TIKZ: extension = "tikz" startPoint = self.toTikz formatToCheck = self.tikzExists if (overwrite == Overwrite.ALL) or (overwrite == Overwrite.NEVER): self.overwrite = overwrite src = os.path.join(pycirkuit.__tmpDir__.path(), PyCirkuitProcessor.TMP_FILE_BASENAME) + os.extsep + extension if dstDir: filename = os.path.basename(self.sourceFile).rpartition(os.extsep)[0] dst = os.path.join(dstDir, filename) + os.extsep + extension else: dst = self.sourceFile.rpartition(os.extsep)[0] + os.extsep + extension if os.path.isfile(dst): if self.overwrite == Overwrite.UNSET: self.overwrite = self._askUser() if (self.overwrite == Overwrite.NO) or (self.overwrite == Overwrite.NEVER): if (self.overwrite == Overwrite.NO): self.overwrite = Overwrite.UNSET return if (self.overwrite == Overwrite.YES): self.overwrite = Overwrite.UNSET # Let's recurse if not formatToCheck: startPoint(dpi, quality) # Si el font NO existeix, demanar crear-lo. Això implica shutil.copy(src, dst) def toPng(self, dpi, q=None): if not self.pngExists: self.toPdf() self.extTools[ToolPdfToPng].execute(PyCirkuitProcessor.TMP_FILE_BASENAME, resolution=dpi) print(" -> PNG ({} dpi)".format(dpi), end="") self.pngExists = True return True def toJpeg(self, dpi, q): if not self.jpegExists: self.toPdf() self.extTools[ToolPdfToJpeg].execute(PyCirkuitProcessor.TMP_FILE_BASENAME, resolution=dpi, quality=q) print(" -> JPEG ({dpi} dpi, {q}% quality)".format(dpi=dpi, q=q), end="") self.jpegExists = True return True def toPdf(self, dpi=None, q=None): if not self.pdfExists: self.toTikz() self.extTools[ToolPdfLaTeX].execute(PyCirkuitProcessor.TMP_FILE_BASENAME) print(" -> PDF", end="") self.pdfExists = True return True def toSvg(self, dpi=None, q=None): if not self.svgExists: self.toPic() self.extTools[ToolDpic].execute(PyCirkuitProcessor.TMP_FILE_BASENAME, outputType=Option.SVG) print(" -> SVG", end="") self.svgExists = True return True def toTikz(self, dpi=None, q=None): if not self.tikzExists: self.toPic() self.extTools[ToolDpic].execute(PyCirkuitProcessor.TMP_FILE_BASENAME, outputType=Option.TIKZ) print(" -> TIKZ", end="") self.tikzExists = True return True def toPic(self, dpi=None, q=None): if not self.picExists: self.extTools[ToolM4].execute(PyCirkuitProcessor.TMP_FILE_BASENAME) print(" -> PIC", end="") self.picExists = True return True pycirkuit-0.5.1/pycirkuit/tools/tool_base.py000066400000000000000000000062041362435125300212520ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing an abstract class to handle external tools """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import abc import os import subprocess import inspect import platform # Third-party imports from PyQt5.QtCore import QCoreApplication # Local application imports import pycirkuit from pycirkuit.exceptions import * # Translation function _translate = QCoreApplication.translate # Base class for external tools class ExternalTool(abc.ABC): # Class variable ID = "" def __init__(self, executableName, longName): self.longName = longName execPath = os.get_exec_path() # Windows-specific if platform.system() == 'Windows': # Append '.exe' to the executable name we're searching executableName = executableName + '.exe' # Also, we add an entry to the executable search path pointing to our "lib" dir libDir = os.path.dirname(inspect.getfile(pycirkuit)) libDir = os.path.join(libDir, 'lib') execPath.append(libDir) for testPath in execPath: p = os.path.join(testPath, "{execName}".format(execName=executableName)) if os.path.exists(p): self.execPath = testPath self.executableName = os.path.join(testPath, executableName) return else: raise PyCktToolNotFoundError(executableName, self.longName) @abc.abstractmethod def execute(self, cmd, errMsg, destination=None): try: # Invoke external tool to do the job # For tools that give their output to STDOUT, we capture it and write contents to a file later # TODO: Python Doc says "Note: Do not use stdout=PIPE or stderr=PIPE with this function as that can deadlock based on the child process output volume. Use Popen with the communicate() method when you need pipes. " result = subprocess.run(cmd, shell=False, check=False, stderr=subprocess.PIPE, stdout=subprocess.PIPE) if result.returncode != 0: info = result.stderr.decode() # By calling self.ID we use polymorphism here raise PyCktToolExecutionError(errMsg, moreInfo=info, tool=self.__class__) else: if destination != None: with open(destination, 'wb') as tmpFile: tmpFile.write(result.stdout) except PyCktToolExecutionError as err: raise err pycirkuit-0.5.1/pycirkuit/ui/000077500000000000000000000000001362435125300162045ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/ui/Ui_aboutdialog.py000066400000000000000000002275421362435125300215210ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '/home/orestes/Devel/Software/pycirkuit/pycirkuit/ui/aboutdialog.ui' # # Created by: PyQt5 UI code generator 5.12.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_AboutDialog(object): def setupUi(self, AboutDialog): AboutDialog.setObjectName("AboutDialog") AboutDialog.resize(750, 680) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(AboutDialog.sizePolicy().hasHeightForWidth()) AboutDialog.setSizePolicy(sizePolicy) AboutDialog.setMinimumSize(QtCore.QSize(750, 680)) font = QtGui.QFont() font.setFamily("Sans Serif") AboutDialog.setFont(font) self.verticalLayout = QtWidgets.QVBoxLayout(AboutDialog) self.verticalLayout.setObjectName("verticalLayout") spacerItem = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) self.verticalLayout.addItem(spacerItem) self.label = QtWidgets.QLabel(AboutDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy) self.label.setMinimumSize(QtCore.QSize(0, 49)) self.label.setAutoFillBackground(True) self.label.setText("") self.label.setPixmap(QtGui.QPixmap(":/pixmaps/AppLabel")) self.label.setScaledContents(False) self.label.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) self.label.setObjectName("label") self.verticalLayout.addWidget(self.label) spacerItem1 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) self.verticalLayout.addItem(spacerItem1) self.tabWidget = QtWidgets.QTabWidget(AboutDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(5) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Sans Serif") self.tabWidget.setFont(font) self.tabWidget.setAutoFillBackground(False) self.tabWidget.setStyleSheet("padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255);") self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded) self.tabWidget.setObjectName("tabWidget") self.tabAbout = QtWidgets.QWidget() self.tabAbout.setObjectName("tabAbout") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tabAbout) self.horizontalLayout.setObjectName("horizontalLayout") self.textAbout = QtWidgets.QTextBrowser(self.tabAbout) font = QtGui.QFont() font.setFamily("Sans Serif") self.textAbout.setFont(font) self.textAbout.setStyleSheet("padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255);") self.textAbout.setFrameShape(QtWidgets.QFrame.NoFrame) self.textAbout.setOpenExternalLinks(True) self.textAbout.setObjectName("textAbout") self.horizontalLayout.addWidget(self.textAbout) self.tabWidget.addTab(self.tabAbout, "") self.tabVersion = QtWidgets.QWidget() self.tabVersion.setObjectName("tabVersion") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.tabVersion) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.textVersion = QtWidgets.QTextBrowser(self.tabVersion) font = QtGui.QFont() font.setFamily("Sans Serif") self.textVersion.setFont(font) self.textVersion.setStyleSheet("padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255);") self.textVersion.setFrameShape(QtWidgets.QFrame.NoFrame) self.textVersion.setOpenExternalLinks(True) self.textVersion.setObjectName("textVersion") self.horizontalLayout_4.addWidget(self.textVersion) self.tabWidget.addTab(self.tabVersion, "") self.tabAuthor = QtWidgets.QWidget() self.tabAuthor.setObjectName("tabAuthor") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.tabAuthor) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.textAuthor = QtWidgets.QTextBrowser(self.tabAuthor) font = QtGui.QFont() font.setFamily("Sans Serif") self.textAuthor.setFont(font) self.textAuthor.setFrameShape(QtWidgets.QFrame.NoFrame) self.textAuthor.setAutoFormatting(QtWidgets.QTextEdit.AutoNone) self.textAuthor.setAcceptRichText(True) self.textAuthor.setOpenExternalLinks(True) self.textAuthor.setObjectName("textAuthor") self.horizontalLayout_3.addWidget(self.textAuthor) self.tabWidget.addTab(self.tabAuthor, "") self.tabGPL = QtWidgets.QWidget() self.tabGPL.setObjectName("tabGPL") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tabGPL) self.verticalLayout_2.setObjectName("verticalLayout_2") self.textLicense = QtWidgets.QTextBrowser(self.tabGPL) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.textLicense.sizePolicy().hasHeightForWidth()) self.textLicense.setSizePolicy(sizePolicy) self.textLicense.setMinimumSize(QtCore.QSize(0, 220)) font = QtGui.QFont() font.setFamily("Sans Serif") self.textLicense.setFont(font) self.textLicense.setAutoFillBackground(False) self.textLicense.setStyleSheet("padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255);") self.textLicense.setFrameShape(QtWidgets.QFrame.NoFrame) self.textLicense.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.textLicense.setOpenExternalLinks(True) self.textLicense.setObjectName("textLicense") self.verticalLayout_2.addWidget(self.textLicense) self.line = QtWidgets.QFrame(self.tabGPL) self.line.setMinimumSize(QtCore.QSize(0, 1)) self.line.setLineWidth(2) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.verticalLayout_2.addWidget(self.line) self.textGPL = QtWidgets.QTextBrowser(self.tabGPL) font = QtGui.QFont() font.setFamily("Sans Serif") self.textGPL.setFont(font) self.textGPL.setStyleSheet("padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255);") self.textGPL.setFrameShape(QtWidgets.QFrame.NoFrame) self.textGPL.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.textGPL.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.textGPL.setDocumentTitle("GNU General Public License v3.0 - GNU Project - Free Software Foundation (FSF)") self.textGPL.setHtml("\n" "GNU General Public License v3.0 - GNU Project - Free Software Foundation (FSF)\n" "

GNU GENERAL PUBLIC LICENSE

\n" "

Version 3, 29 June 2007

\n" "

Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>

\n" "

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

\n" "

Preamble

\n" "

The GNU General Public License is a free, copyleft license forsoftware and other kinds of works.

\n" "

The licenses for most software and other practical works are designedto take away your freedom to share and change the works. By contrast,the GNU General Public License is intended to guarantee your freedom toshare and change all versions of a program--to make sure it remains freesoftware for all its users. We, the Free Software Foundation, use theGNU General Public License for most of our software; it applies also toany other work released this way by its authors. You can apply it toyour programs, too.

\n" "

When we speak of free software, we are referring to freedom, notprice. Our General Public Licenses are designed to make sure that youhave the freedom to distribute copies of free software (and charge forthem if you wish), that you receive source code or can get it if youwant it, that you can change the software or use pieces of it in newfree programs, and that you know you can do these things.

\n" "

To protect your rights, we need to prevent others from denying youthese rights or asking you to surrender the rights. Therefore, you havecertain responsibilities if you distribute copies of the software, or ifyou modify it: responsibilities to respect the freedom of others.

\n" "

For example, if you distribute copies of such a program, whethergratis or for a fee, you must pass on to the recipients the samefreedoms that you received. You must make sure that they, too, receiveor can get the source code. And you must show them these terms so theyknow their rights.

\n" "

Developers that use the GNU GPL protect your rights with two steps:(1) assert copyright on the software, and (2) offer you this Licensegiving you legal permission to copy, distribute and/or modify it.

\n" "

For the developers\' and authors\' protection, the GPL clearly explainsthat there is no warranty for this free software. For both users\' andauthors\' sake, the GPL requires that modified versions be marked aschanged, so that their problems will not be attributed erroneously toauthors of previous versions.

\n" "

Some devices are designed to deny users access to install or runmodified versions of the software inside them, although the manufacturercan do so. This is fundamentally incompatible with the aim ofprotecting users\' freedom to change the software. The systematicpattern of such abuse occurs in the area of products for individuals touse, which is precisely where it is most unacceptable. Therefore, wehave designed this version of the GPL to prohibit the practice for thoseproducts. If such problems arise substantially in other domains, westand ready to extend this provision to those domains in future versionsof the GPL, as needed to protect the freedom of users.

\n" "

Finally, every program is threatened constantly by software patents.States should not allow patents to restrict development and use ofsoftware on general-purpose computers, but in those that do, we wish toavoid the special danger that patents applied to a free program couldmake it effectively proprietary. To prevent this, the GPL assures thatpatents cannot be used to render the program non-free.

\n" "

The precise terms and conditions for copying, distribution andmodification follow.

\n" "

TERMS AND CONDITIONS

\n" "

0. Definitions.

\n" "

“This License” refers to version 3 of the GNU General Public License.

\n" "

“Copyright” also means copyright-like laws that apply to other kinds ofworks, such as semiconductor masks.

\n" "

“The Program” refers to any copyrightable work licensed under thisLicense. Each licensee is addressed as “you”. “Licensees” and“recipients” may be individuals or organizations.

\n" "

To “modify” a work means to copy from or adapt all or part of the workin a fashion requiring copyright permission, other than the making of anexact copy. The resulting work is called a “modified version” of theearlier work or a work “based on” the earlier work.

\n" "

A “covered work” means either the unmodified Program or a work basedon the Program.

\n" "

To “propagate” a work means to do anything with it that, withoutpermission, would make you directly or secondarily liable forinfringement under applicable copyright law, except executing it on acomputer or modifying a private copy. Propagation includes copying,distribution (with or without modification), making available to thepublic, and in some countries other activities as well.

\n" "

To “convey” a work means any kind of propagation that enables otherparties to make or receive copies. Mere interaction with a user througha computer network, with no transfer of a copy, is not conveying.

\n" "

An interactive user interface displays “Appropriate Legal Notices”to the extent that it includes a convenient and prominently visiblefeature that (1) displays an appropriate copyright notice, and (2)tells the user that there is no warranty for the work (except to theextent that warranties are provided), that licensees may convey thework under this License, and how to view a copy of this License. Ifthe interface presents a list of user commands or options, such as amenu, a prominent item in the list meets this criterion.

\n" "

1. Source Code.

\n" "

The “source code” for a work means the preferred form of the workfor making modifications to it. “Object code” means any non-sourceform of a work.

\n" "

A “Standard Interface” means an interface that either is an officialstandard defined by a recognized standards body, or, in the case ofinterfaces specified for a particular programming language, one thatis widely used among developers working in that language.

\n" "

The “System Libraries” of an executable work include anything, otherthan the work as a whole, that (a) is included in the normal form ofpackaging a Major Component, but which is not part of that MajorComponent, and (b) serves only to enable use of the work with thatMajor Component, or to implement a Standard Interface for which animplementation 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 toproduce the work, or an object code interpreter used to run it.

\n" "

The “Corresponding Source” for a work in object code form means allthe source code needed to generate, install, and (for an executablework) run the object code and to modify the work, including scripts tocontrol those activities. However, it does not include the work\'sSystem Libraries, or general-purpose tools or generally available freeprograms which are used unmodified in performing those activities butwhich are not part of the work. For example, Corresponding Sourceincludes interface definition files associated with source files forthe work, and the source code for shared libraries and dynamicallylinked subprograms that the work is specifically designed to require,such as by intimate data communication or control flow between thosesubprograms and other parts of the work.

\n" "

The Corresponding Source need not include anything that userscan regenerate automatically from other parts of the CorrespondingSource.

\n" "

The Corresponding Source for a work in source code form is thatsame work.

\n" "

2. Basic Permissions.

\n" "

All rights granted under this License are granted for the term ofcopyright on the Program, and are irrevocable provided the statedconditions are met. This License explicitly affirms your unlimitedpermission to run the unmodified Program. The output from running acovered work is covered by this License only if the output, given itscontent, constitutes a covered work. This License acknowledges yourrights of fair use or other equivalent, as provided by copyright law.

\n" "

You may make, run and propagate covered works that you do notconvey, without conditions so long as your license otherwise remainsin force. You may convey covered works to others for the sole purposeof having them make modifications exclusively for you, or provide youwith facilities for running those works, provided that you comply withthe terms of this License in conveying all material for which you donot control copyright. Those thus making or running the covered worksfor you must do so exclusively on your behalf, under your directionand control, on terms that prohibit them from making any copies ofyour copyrighted material outside their relationship with you.

\n" "

Conveying under any other circumstances is permitted solely underthe conditions stated below. Sublicensing is not allowed; section 10makes it unnecessary.

\n" "

3. Protecting Users\' Legal Rights From Anti-Circumvention Law.

\n" "

No covered work shall be deemed part of an effective technologicalmeasure under any applicable law fulfilling obligations under article11 of the WIPO copyright treaty adopted on 20 December 1996, orsimilar laws prohibiting or restricting circumvention of suchmeasures.

\n" "

When you convey a covered work, you waive any legal power to forbidcircumvention of technological measures to the extent such circumventionis effected by exercising rights under this License with respect tothe covered work, and you disclaim any intention to limit operation ormodification of the work as a means of enforcing, against the work\'susers, your or third parties\' legal rights to forbid circumvention oftechnological measures.

\n" "

4. Conveying Verbatim Copies.

\n" "

You may convey verbatim copies of the Program\'s source code as youreceive it, in any medium, provided that you conspicuously andappropriately publish on each copy an appropriate copyright notice;keep intact all notices stating that this License and anynon-permissive terms added in accord with section 7 apply to the code;keep intact all notices of the absence of any warranty; and give allrecipients a copy of this License along with the Program.

\n" "

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.

\n" "

5. Conveying Modified Source Versions.

\n" "

You may convey a work based on the Program, or the modifications toproduce it from the Program, in the form of source code under theterms of section 4, provided that you also meet all of these conditions:

\n" "
  • a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
  • \n" "
  • 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”.
  • \n" "
  • 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.
  • \n" "
  • 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.
\n" "

A compilation of a covered work with other separate and independentworks, 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 notused to limit the access or legal rights of the compilation\'s usersbeyond what the individual works permit. Inclusion of a covered workin an aggregate does not cause this License to apply to the otherparts of the aggregate.

\n" "

6. Conveying Non-Source Forms.

\n" "

You may convey a covered work in object code form under the termsof sections 4 and 5, provided that you also convey themachine-readable Corresponding Source under the terms of this License,in one of these ways:

\n" "
  • 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.
  • \n" "
  • 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.
  • \n" "
  • 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.
  • \n" "
  • 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.
  • \n" "
  • 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.
\n" "

A separable portion of the object code, whose source code is excludedfrom the Corresponding Source as a System Library, need not beincluded in conveying the object code work.

\n" "

A “User Product” is either (1) a “consumer product”, which means anytangible personal property which is normally used for personal, family,or household purposes, or (2) anything designed or sold for incorporationinto a dwelling. In determining whether a product is a consumer product,doubtful cases shall be resolved in favor of coverage. For a particularproduct received by a particular user, “normally used” refers to atypical or common use of that class of product, regardless of the statusof the particular user or of the way in which the particular useractually uses, or expects or is expected to use, the product. A productis a consumer product regardless of whether the product has substantialcommercial, industrial or non-consumer uses, unless such uses representthe only significant mode of use of the product.

\n" "

“Installation Information” for a User Product means any methods,procedures, authorization keys, or other information required to installand execute modified versions of a covered work in that User Product froma modified version of its Corresponding Source. The information mustsuffice to ensure that the continued functioning of the modified objectcode is in no case prevented or interfered with solely becausemodification has been made.

\n" "

If you convey an object code work under this section in, or with, orspecifically for use in, a User Product, and the conveying occurs aspart of a transaction in which the right of possession and use of theUser Product is transferred to the recipient in perpetuity or for afixed term (regardless of how the transaction is characterized), theCorresponding Source conveyed under this section must be accompaniedby the Installation Information. But this requirement does not applyif neither you nor any third party retains the ability to installmodified object code on the User Product (for example, the work hasbeen installed in ROM).

\n" "

The requirement to provide Installation Information does not include arequirement to continue to provide support service, warranty, or updatesfor a work that has been modified or installed by the recipient, or forthe User Product in which it has been modified or installed. Access to anetwork may be denied when the modification itself materially andadversely affects the operation of the network or violates the rules andprotocols for communication across the network.

\n" "

Corresponding Source conveyed, and Installation Information provided,in accord with this section must be in a format that is publiclydocumented (and with an implementation available to the public insource code form), and must require no special password or key forunpacking, reading or copying.

\n" "

7. Additional Terms.

\n" "

“Additional permissions” are terms that supplement the terms of thisLicense by making exceptions from one or more of its conditions.Additional permissions that are applicable to the entire Program shallbe treated as though they were included in this License, to the extentthat they are valid under applicable law. If additional permissionsapply only to part of the Program, that part may be used separatelyunder those permissions, but the entire Program remains governed bythis License without regard to the additional permissions.

\n" "

When you convey a copy of a covered work, you may at your optionremove any additional permissions from that copy, or from any part ofit. (Additional permissions may be written to require their ownremoval in certain cases when you modify the work.) You may placeadditional permissions on material, added by you to a covered work,for which you have or can give appropriate copyright permission.

\n" "

Notwithstanding any other provision of this License, for material youadd to a covered work, you may (if authorized by the copyright holders ofthat material) supplement the terms of this License with terms:

\n" "
  • a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
  • \n" "
  • 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
  • \n" "
  • 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
  • \n" "
  • d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
  • \n" "
  • e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
  • \n" "
  • 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.
\n" "

All other non-permissive additional terms are considered “furtherrestrictions” within the meaning of section 10. If the Program as youreceived it, or any part of it, contains a notice stating that it isgoverned by this License along with a term that is a furtherrestriction, you may remove that term. If a license document containsa further restriction but permits relicensing or conveying under thisLicense, you may add to a covered work material governed by the termsof that license document, provided that the further restriction doesnot survive such relicensing or conveying.

\n" "

If you add terms to a covered work in accord with this section, youmust place, in the relevant source files, a statement of theadditional terms that apply to those files, or a notice indicatingwhere to find the applicable terms.

\n" "

Additional terms, permissive or non-permissive, may be stated in theform of a separately written license, or stated as exceptions;the above requirements apply either way.

\n" "

8. Termination.

\n" "

You may not propagate or modify a covered work except as expresslyprovided under this License. Any attempt otherwise to propagate ormodify it is void, and will automatically terminate your rights underthis License (including any patent licenses granted under the thirdparagraph of section 11).

\n" "

However, if you cease all violation of this License, then yourlicense from a particular copyright holder is reinstated (a)provisionally, unless and until the copyright holder explicitly andfinally terminates your license, and (b) permanently, if the copyrightholder fails to notify you of the violation by some reasonable meansprior to 60 days after the cessation.

\n" "

Moreover, your license from a particular copyright holder isreinstated permanently if the copyright holder notifies you of theviolation by some reasonable means, this is the first time you havereceived notice of violation of this License (for any work) from thatcopyright holder, and you cure the violation prior to 30 days afteryour receipt of the notice.

\n" "

Termination of your rights under this section does not terminate thelicenses of parties who have received copies or rights from you underthis License. If your rights have been terminated and not permanentlyreinstated, you do not qualify to receive new licenses for the samematerial under section 10.

\n" "

9. Acceptance Not Required for Having Copies.

\n" "

You are not required to accept this License in order to receive orrun a copy of the Program. Ancillary propagation of a covered workoccurring solely as a consequence of using peer-to-peer transmissionto receive a copy likewise does not require acceptance. However,nothing other than this License grants you permission to propagate ormodify any covered work. These actions infringe copyright if you donot accept this License. Therefore, by modifying or propagating acovered work, you indicate your acceptance of this License to do so.

\n" "

10. Automatic Licensing of Downstream Recipients.

\n" "

Each time you convey a covered work, the recipient automaticallyreceives a license from the original licensors, to run, modify andpropagate that work, subject to this License. You are not responsiblefor enforcing compliance by third parties with this License.

\n" "

An “entity transaction” is a transaction transferring control of anorganization, or substantially all assets of one, or subdividing anorganization, or merging organizations. If propagation of a coveredwork results from an entity transaction, each party to thattransaction who receives a copy of the work also receives whateverlicenses to the work the party\'s predecessor in interest had or couldgive under the previous paragraph, plus a right to possession of theCorresponding Source of the work from the predecessor in interest, ifthe predecessor has it or can get it with reasonable efforts.

\n" "

You may not impose any further restrictions on the exercise of therights granted or affirmed under this License. For example, you maynot impose a license fee, royalty, or other charge for exercise ofrights granted under this License, and you may not initiate litigation(including a cross-claim or counterclaim in a lawsuit) alleging thatany patent claim is infringed by making, using, selling, offering forsale, or importing the Program or any portion of it.

\n" "

11. Patents.

\n" "

A “contributor” is a copyright holder who authorizes use under thisLicense of the Program or a work on which the Program is based. Thework thus licensed is called the contributor\'s “contributor version”.

\n" "

A contributor\'s “essential patent claims” are all patent claimsowned or controlled by the contributor, whether already acquired orhereafter acquired, that would be infringed by some manner, permittedby this License, of making, using, or selling its contributor version,but do not include claims that would be infringed only as aconsequence of further modification of the contributor version. Forpurposes of this definition, “control” includes the right to grantpatent sublicenses in a manner consistent with the requirements ofthis License.

\n" "

Each contributor grants you a non-exclusive, worldwide, royalty-freepatent license under the contributor\'s essential patent claims, tomake, use, sell, offer for sale, import and otherwise run, modify andpropagate the contents of its contributor version.

\n" "

In the following three paragraphs, a “patent license” is any expressagreement or commitment, however denominated, not to enforce a patent(such as an express permission to practice a patent or covenant not tosue for patent infringement). To “grant” such a patent license to aparty means to make such an agreement or commitment not to enforce apatent against the party.

\n" "

If you convey a covered work, knowingly relying on a patent license,and the Corresponding Source of the work is not available for anyoneto copy, free of charge and under the terms of this License, through apublicly available network server or other readily accessible means,then you must either (1) cause the Corresponding Source to be soavailable, or (2) arrange to deprive yourself of the benefit of thepatent license for this particular work, or (3) arrange, in a mannerconsistent with the requirements of this License, to extend the patentlicense to downstream recipients. “Knowingly relying” means you haveactual knowledge that, but for the patent license, your conveying thecovered work in a country, or your recipient\'s use of the covered workin a country, would infringe one or more identifiable patents in thatcountry that you have reason to believe are valid.

\n" "

If, pursuant to or in connection with a single transaction orarrangement, you convey, or propagate by procuring conveyance of, acovered work, and grant a patent license to some of the partiesreceiving the covered work authorizing them to use, propagate, modifyor convey a specific copy of the covered work, then the patent licenseyou grant is automatically extended to all recipients of the coveredwork and works based on it.

\n" "

A patent license is “discriminatory” if it does not include withinthe scope of its coverage, prohibits the exercise of, or isconditioned on the non-exercise of one or more of the rights that arespecifically granted under this License. You may not convey a coveredwork if you are a party to an arrangement with a third party that isin the business of distributing software, under which you make paymentto the third party based on the extent of your activity of conveyingthe work, and under which the third party grants, to any of theparties who would receive the covered work from you, a discriminatorypatent license (a) in connection with copies of the covered workconveyed by you (or copies made from those copies), or (b) primarilyfor and in connection with specific products or compilations thatcontain the covered work, unless you entered into that arrangement,or that patent license was granted, prior to 28 March 2007.

\n" "

Nothing in this License shall be construed as excluding or limitingany implied license or other defenses to infringement that mayotherwise be available to you under applicable patent law.

\n" "

12. No Surrender of Others\' Freedom.

\n" "

If conditions are imposed on you (whether by court order, agreement orotherwise) that contradict the conditions of this License, they do notexcuse you from the conditions of this License. If you cannot convey acovered work so as to satisfy simultaneously your obligations under thisLicense and any other pertinent obligations, then as a consequence you maynot convey it at all. For example, if you agree to terms that obligate youto collect a royalty for further conveying from those to whom you conveythe Program, the only way you could satisfy both those terms and thisLicense would be to refrain entirely from conveying the Program.

\n" "

13. Use with the GNU Affero General Public License.

\n" "

Notwithstanding any other provision of this License, you havepermission to link or combine any covered work with a work licensedunder version 3 of the GNU Affero General Public License into a singlecombined work, and to convey the resulting work. The terms of thisLicense 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 thecombination as such.

\n" "

14. Revised Versions of this License.

\n" "

The Free Software Foundation may publish revised and/or new versions ofthe GNU General Public License from time to time. Such new versions willbe similar in spirit to the present version, but may differ in detail toaddress new problems or concerns.

\n" "

Each version is given a distinguishing version number. If theProgram specifies that a certain numbered version of the GNU GeneralPublic License “or any later version” applies to it, you have theoption of following the terms and conditions either of that numberedversion or of any later version published by the Free SoftwareFoundation. If the Program does not specify a version number of theGNU General Public License, you may choose any version ever publishedby the Free Software Foundation.

\n" "

If the Program specifies that a proxy can decide which futureversions of the GNU General Public License can be used, that proxy\'spublic statement of acceptance of a version permanently authorizes youto choose that version for the Program.

\n" "

Later license versions may give you additional or differentpermissions. However, no additional obligations are imposed on anyauthor or copyright holder as a result of your choosing to follow alater version.

\n" "

15. Disclaimer of Warranty.

\n" "

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BYAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHTHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTYOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULARPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAMIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OFALL NECESSARY SERVICING, REPAIR OR CORRECTION.

\n" "

16. Limitation of Liability.

\n" "

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITINGWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYSTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANYGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THEUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OFDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRDPARTIES 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 OFSUCH DAMAGES.

\n" "

17. Interpretation of Sections 15 and 16.

\n" "

If the disclaimer of warranty and limitation of liability providedabove cannot be given local legal effect according to their terms,reviewing courts shall apply local law that most closely approximatesan absolute waiver of all civil liability in connection with theProgram, unless a warranty or assumption of liability accompanies acopy of the Program in return for a fee.

\n" "

END OF TERMS AND CONDITIONS

\n" "


") self.textGPL.setOpenExternalLinks(True) self.textGPL.setObjectName("textGPL") self.verticalLayout_2.addWidget(self.textGPL) self.tabWidget.addTab(self.tabGPL, "") self.verticalLayout.addWidget(self.tabWidget) self.buttonBox = QtWidgets.QDialogButtonBox(AboutDialog) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close) self.buttonBox.setObjectName("buttonBox") self.verticalLayout.addWidget(self.buttonBox) self.retranslateUi(AboutDialog) self.tabWidget.setCurrentIndex(2) self.buttonBox.accepted.connect(AboutDialog.accept) self.buttonBox.rejected.connect(AboutDialog.reject) QtCore.QMetaObject.connectSlotsByName(AboutDialog) def retranslateUi(self, AboutDialog): _translate = QtCore.QCoreApplication.translate AboutDialog.setWindowTitle(_translate("AboutDialog", "About PyCirkuit", "Dialog Title")) self.textAbout.setHtml(_translate("AboutDialog", "\n" "\n" "

PyCirkuit is a GUI front-end for Circuit Macros and Dpic by Dwight Aplevich, which make up a software chain for drawing high-quality line diagrams to be included in TeX, LaTeX, LibreOffice, web or similar documents. PyCirkuit is written in Python 3 using the PyQt5 libraries, but is largely inspired (in both ideas and code snippets) on Cirkuit, a C++ application written by Matteo Agostinelli using KDE4 libraries.

\n" "

PyCirkuit compiles the source code on demand to generate a live preview, and can export the resulting image in various formats to be included directly in your documents.

\n" "

You can send bug reports via the project repository on GitHub.

\n" "

If you are willing to contribute, please read these guidelines.

\n" "

PyCirkuit uses icons from KDE\'s "Oxygen" set, which are under the LGPL license. See https://techbase.kde.org/Projects/Oxygen/Licensing.

")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabAbout), _translate("AboutDialog", "&About", "Tab text")) self.textVersion.setHtml(_translate("AboutDialog", "\n" "\n" "

Version {versionNumber}

\n" "

Using:

\n" "")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabVersion), _translate("AboutDialog", "&Version", "Tab text")) self.textAuthor.setHtml(_translate("AboutDialog", "\n" "\n" "

Orestes Mas

\n" "

Original Author, Maintainer and Translator to Catalan

\n" "
\n" "

Aniol Marti

\n" "

Debian packages for PyCirkuit, Dpic and Circuit Macros, beta-testing and bug reporting. Contribution to CLI code.

\n" "


\n" "

Guillem Casadesus

\n" "

Beta-testing and bug reporting on macOS

\n" "


\n" "

Billy Andriamahazomandimby

\n" "

Beta-testing and bug reporting on Windows

")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabAuthor), _translate("AboutDialog", "A&uthors", "Tab text")) self.textLicense.setHtml(_translate("AboutDialog", "\n" "\n" "

PyCirkuit is {copyrightInfo} <orestes@tsc.upc.edu>

\n" "

You may use, distribute and copy PyCirkuit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, which is shown below, or (at your option) any later version.

\n" "

PyCirkuit uses also some icons and other artwork from "Oxygen" set, from the KDE project. These icons are under the GNU LGPL v3 license. See https://techbase.kde.org/Projects/Oxygen/Licensing and http://www.gnu.org/copyleft/lesser.html

")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabGPL), _translate("AboutDialog", "&License Agreement")) from pycirkuit.resources import resources_rc if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) AboutDialog = QtWidgets.QDialog() ui = Ui_AboutDialog() ui.setupUi(AboutDialog) AboutDialog.show() sys.exit(app.exec_()) pycirkuit-0.5.1/pycirkuit/ui/Ui_configdialog.py000066400000000000000000000425661362435125300216550ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '/home/orestes/Devel/Software/pycirkuit/pycirkuit/ui/configdialog.ui' # # Created by: PyQt5 UI code generator 5.12.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_ConfigDialog(object): def setupUi(self, ConfigDialog): ConfigDialog.setObjectName("ConfigDialog") ConfigDialog.resize(899, 561) ConfigDialog.setMinimumSize(QtCore.QSize(800, 0)) self.verticalLayout = QtWidgets.QVBoxLayout(ConfigDialog) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.listWidget = QtWidgets.QListWidget(ConfigDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.listWidget.sizePolicy().hasHeightForWidth()) self.listWidget.setSizePolicy(sizePolicy) self.listWidget.setMaximumSize(QtCore.QSize(128, 16777215)) self.listWidget.setAutoFillBackground(False) self.listWidget.setStyleSheet("padding-top: 10px; \n" "background-color: rgb(255, 255, 255);") self.listWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.listWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.listWidget.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents) self.listWidget.setIconSize(QtCore.QSize(48, 48)) self.listWidget.setTextElideMode(QtCore.Qt.ElideNone) self.listWidget.setFlow(QtWidgets.QListView.LeftToRight) self.listWidget.setProperty("isWrapping", True) self.listWidget.setViewMode(QtWidgets.QListView.IconMode) self.listWidget.setWordWrap(True) self.listWidget.setObjectName("listWidget") item = QtWidgets.QListWidgetItem() item.setTextAlignment(QtCore.Qt.AlignCenter) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/pixmaps/CfgGeneral"), QtGui.QIcon.Normal, QtGui.QIcon.Off) item.setIcon(icon) item.setFlags(QtCore.Qt.ItemIsSelectable|QtCore.Qt.ItemIsEnabled) self.listWidget.addItem(item) item = QtWidgets.QListWidgetItem() item.setTextAlignment(QtCore.Qt.AlignCenter) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/pixmaps/CfgExportImage"), QtGui.QIcon.Normal, QtGui.QIcon.Off) item.setIcon(icon1) item.setFlags(QtCore.Qt.ItemIsSelectable|QtCore.Qt.ItemIsEnabled) self.listWidget.addItem(item) self.horizontalLayout.addWidget(self.listWidget) self.stackedWidget = QtWidgets.QStackedWidget(ConfigDialog) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(4) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth()) self.stackedWidget.setSizePolicy(sizePolicy) self.stackedWidget.setBaseSize(QtCore.QSize(0, 0)) self.stackedWidget.setFrameShape(QtWidgets.QFrame.Panel) self.stackedWidget.setFrameShadow(QtWidgets.QFrame.Raised) self.stackedWidget.setObjectName("stackedWidget") self.page1 = QtWidgets.QWidget() self.page1.setObjectName("page1") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page1) self.verticalLayout_2.setObjectName("verticalLayout_2") self.groupBox = QtWidgets.QGroupBox(self.page1) self.groupBox.setMinimumSize(QtCore.QSize(0, 100)) self.groupBox.setAlignment(QtCore.Qt.AlignCenter) self.groupBox.setObjectName("groupBox") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.cmPath = QtWidgets.QLineEdit(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.cmPath.sizePolicy().hasHeightForWidth()) self.cmPath.setSizePolicy(sizePolicy) self.cmPath.setClearButtonEnabled(True) self.cmPath.setObjectName("cmPath") self.horizontalLayout_3.addWidget(self.cmPath) self.toolButtonCMPath = QtWidgets.QToolButton(self.groupBox) self.toolButtonCMPath.setMinimumSize(QtCore.QSize(120, 0)) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/icons/Open"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButtonCMPath.setIcon(icon2) self.toolButtonCMPath.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButtonCMPath.setObjectName("toolButtonCMPath") self.horizontalLayout_3.addWidget(self.toolButtonCMPath) self.verticalLayout_2.addWidget(self.groupBox) spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum) self.verticalLayout_2.addItem(spacerItem) self.groupBox_2 = QtWidgets.QGroupBox(self.page1) self.groupBox_2.setMinimumSize(QtCore.QSize(0, 100)) self.groupBox_2.setAlignment(QtCore.Qt.AlignCenter) self.groupBox_2.setObjectName("groupBox_2") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.groupBox_2) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.templateFile = QtWidgets.QLineEdit(self.groupBox_2) self.templateFile.setClearButtonEnabled(True) self.templateFile.setObjectName("templateFile") self.horizontalLayout_4.addWidget(self.templateFile) self.toolButtonTemplatePath = QtWidgets.QToolButton(self.groupBox_2) self.toolButtonTemplatePath.setMinimumSize(QtCore.QSize(120, 0)) self.toolButtonTemplatePath.setIcon(icon2) self.toolButtonTemplatePath.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButtonTemplatePath.setObjectName("toolButtonTemplatePath") self.horizontalLayout_4.addWidget(self.toolButtonTemplatePath) self.verticalLayout_2.addWidget(self.groupBox_2) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem1) self.stackedWidget.addWidget(self.page1) self.page2 = QtWidgets.QWidget() self.page2.setObjectName("page2") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page2) self.verticalLayout_3.setObjectName("verticalLayout_3") self.groupBox_vector = QtWidgets.QGroupBox(self.page2) self.groupBox_vector.setMinimumSize(QtCore.QSize(0, 110)) self.groupBox_vector.setObjectName("groupBox_vector") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.groupBox_vector) self.horizontalLayout_6.setSpacing(20) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.label_2 = QtWidgets.QLabel(self.groupBox_vector) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(3) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_2.setWordWrap(True) self.label_2.setObjectName("label_2") self.horizontalLayout_6.addWidget(self.label_2) self.frame = QtWidgets.QFrame(self.groupBox_vector) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth()) self.frame.setSizePolicy(sizePolicy) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame) self.verticalLayout_5.setObjectName("verticalLayout_5") self.exportTIKZ = QtWidgets.QCheckBox(self.frame) self.exportTIKZ.setChecked(True) self.exportTIKZ.setObjectName("exportTIKZ") self.verticalLayout_5.addWidget(self.exportTIKZ) self.exportSVG = QtWidgets.QCheckBox(self.frame) self.exportSVG.setObjectName("exportSVG") self.verticalLayout_5.addWidget(self.exportSVG) self.exportPDF = QtWidgets.QCheckBox(self.frame) self.exportPDF.setObjectName("exportPDF") self.verticalLayout_5.addWidget(self.exportPDF) self.exportPNG = QtWidgets.QCheckBox(self.frame) self.exportPNG.setChecked(False) self.exportPNG.setObjectName("exportPNG") self.verticalLayout_5.addWidget(self.exportPNG) self.exportJPEG = QtWidgets.QCheckBox(self.frame) self.exportJPEG.setObjectName("exportJPEG") self.verticalLayout_5.addWidget(self.exportJPEG) self.horizontalLayout_6.addWidget(self.frame) self.verticalLayout_3.addWidget(self.groupBox_vector) spacerItem2 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum) self.verticalLayout_3.addItem(spacerItem2) self.groupBox_rasterParam = QtWidgets.QGroupBox(self.page2) self.groupBox_rasterParam.setMinimumSize(QtCore.QSize(0, 130)) self.groupBox_rasterParam.setObjectName("groupBox_rasterParam") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox_rasterParam) self.verticalLayout_6.setObjectName("verticalLayout_6") self.horizontalLayout_8 = QtWidgets.QHBoxLayout() self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.labelDPI = QtWidgets.QLabel(self.groupBox_rasterParam) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(5) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.labelDPI.sizePolicy().hasHeightForWidth()) self.labelDPI.setSizePolicy(sizePolicy) self.labelDPI.setFrameShape(QtWidgets.QFrame.NoFrame) self.labelDPI.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.labelDPI.setObjectName("labelDPI") self.horizontalLayout_8.addWidget(self.labelDPI) self.exportDPI = QtWidgets.QSpinBox(self.groupBox_rasterParam) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.exportDPI.sizePolicy().hasHeightForWidth()) self.exportDPI.setSizePolicy(sizePolicy) self.exportDPI.setFrame(True) self.exportDPI.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.exportDPI.setMaximum(3000) self.exportDPI.setSingleStep(10) self.exportDPI.setProperty("value", 150) self.exportDPI.setObjectName("exportDPI") self.horizontalLayout_8.addWidget(self.exportDPI) self.verticalLayout_6.addLayout(self.horizontalLayout_8) self.horizontalLayout_7 = QtWidgets.QHBoxLayout() self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.labelQuality = QtWidgets.QLabel(self.groupBox_rasterParam) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(5) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.labelQuality.sizePolicy().hasHeightForWidth()) self.labelQuality.setSizePolicy(sizePolicy) self.labelQuality.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.labelQuality.setObjectName("labelQuality") self.horizontalLayout_7.addWidget(self.labelQuality) self.exportQuality = QtWidgets.QSpinBox(self.groupBox_rasterParam) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.exportQuality.sizePolicy().hasHeightForWidth()) self.exportQuality.setSizePolicy(sizePolicy) self.exportQuality.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.exportQuality.setMaximum(100) self.exportQuality.setProperty("value", 80) self.exportQuality.setObjectName("exportQuality") self.horizontalLayout_7.addWidget(self.exportQuality) self.verticalLayout_6.addLayout(self.horizontalLayout_7) self.verticalLayout_3.addWidget(self.groupBox_rasterParam) spacerItem3 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding) self.verticalLayout_3.addItem(spacerItem3) self.stackedWidget.addWidget(self.page2) self.horizontalLayout.addWidget(self.stackedWidget) self.verticalLayout.addLayout(self.horizontalLayout) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.buttonBox = QtWidgets.QDialogButtonBox(ConfigDialog) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) self.buttonBox.setCenterButtons(False) self.buttonBox.setObjectName("buttonBox") self.horizontalLayout_2.addWidget(self.buttonBox) self.verticalLayout.addLayout(self.horizontalLayout_2) self.labelDPI.setBuddy(self.exportDPI) self.labelQuality.setBuddy(self.exportQuality) self.retranslateUi(ConfigDialog) self.stackedWidget.setCurrentIndex(1) self.listWidget.currentRowChanged['int'].connect(self.stackedWidget.setCurrentIndex) self.buttonBox.accepted.connect(ConfigDialog.accept) self.buttonBox.rejected.connect(ConfigDialog.reject) QtCore.QMetaObject.connectSlotsByName(ConfigDialog) ConfigDialog.setTabOrder(self.listWidget, self.cmPath) ConfigDialog.setTabOrder(self.cmPath, self.toolButtonCMPath) ConfigDialog.setTabOrder(self.toolButtonCMPath, self.templateFile) ConfigDialog.setTabOrder(self.templateFile, self.toolButtonTemplatePath) ConfigDialog.setTabOrder(self.toolButtonTemplatePath, self.exportTIKZ) ConfigDialog.setTabOrder(self.exportTIKZ, self.exportPDF) ConfigDialog.setTabOrder(self.exportPDF, self.exportDPI) ConfigDialog.setTabOrder(self.exportDPI, self.exportQuality) def retranslateUi(self, ConfigDialog): _translate = QtCore.QCoreApplication.translate ConfigDialog.setWindowTitle(_translate("ConfigDialog", "Config Dialog")) __sortingEnabled = self.listWidget.isSortingEnabled() self.listWidget.setSortingEnabled(False) item = self.listWidget.item(0) item.setText(_translate("ConfigDialog", "General")) item = self.listWidget.item(1) item.setText(_translate("ConfigDialog", "Exporting")) self.listWidget.setSortingEnabled(__sortingEnabled) self.groupBox.setTitle(_translate("ConfigDialog", "Circuit Macros Location", "Group box title")) self.cmPath.setPlaceholderText(_translate("ConfigDialog", "Enter Path Name")) self.toolButtonCMPath.setText(_translate("ConfigDialog", "Choose...", "Button text")) self.groupBox_2.setTitle(_translate("ConfigDialog", "LaTeX Template File", "Group box title")) self.templateFile.setPlaceholderText(_translate("ConfigDialog", "Enter Path Name")) self.toolButtonTemplatePath.setText(_translate("ConfigDialog", "Choose...", "Button text")) self.groupBox_vector.setTitle(_translate("ConfigDialog", "Image formats to export", "Group box title")) self.label_2.setText(_translate("ConfigDialog", "Choose which formats will be saved when the button \"Export\" is pressed:")) self.exportTIKZ.setText(_translate("ConfigDialog", "&TIKZ")) self.exportSVG.setText(_translate("ConfigDialog", "SVG")) self.exportPDF.setText(_translate("ConfigDialog", "PD&F")) self.exportPNG.setText(_translate("ConfigDialog", "&PNG (raster)")) self.exportJPEG.setText(_translate("ConfigDialog", "&JPEG (raster)")) self.groupBox_rasterParam.setTitle(_translate("ConfigDialog", "Raster image export parameters", "Group box title")) self.labelDPI.setText(_translate("ConfigDialog", "Ras&ter image resolution in dots per inch (dpi):")) self.exportDPI.setSuffix(_translate("ConfigDialog", " dpi", "Suffix in spin box (translate to acronym)")) self.labelQuality.setText(_translate("ConfigDialog", "Image &quality for lossy formats like jpeg (percent):")) self.exportQuality.setSuffix(_translate("ConfigDialog", " %", "Spin box suffix")) from pycirkuit.resources import resources_rc if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) ConfigDialog = QtWidgets.QDialog() ui = Ui_ConfigDialog() ui.setupUi(ConfigDialog) ConfigDialog.show() sys.exit(app.exec_()) pycirkuit-0.5.1/pycirkuit/ui/Ui_mainwindow.py000066400000000000000000000344711362435125300214000ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Form implementation generated from reading ui file '/home/orestes/Devel/Software/pycirkuit/pycirkuit/ui/mainwindow.ui' # # Created by: PyQt5 UI code generator 5.13.0 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(677, 667) MainWindow.setMinimumSize(QtCore.QSize(440, 400)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/icons/AppIcon"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout.setObjectName("verticalLayout") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) font = QtGui.QFont() font.setKerning(True) self.tabWidget.setFont(font) self.tabWidget.setObjectName("tabWidget") self.tab_source = QtWidgets.QWidget() self.tab_source.setObjectName("tab_source") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.tab_source) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.sourceText = pycktTextEditor(self.tab_source) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sourceText.sizePolicy().hasHeightForWidth()) self.sourceText.setSizePolicy(sizePolicy) self.sourceText.setObjectName("sourceText") self.horizontalLayout_3.addWidget(self.sourceText) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/icons/Text"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidget.addTab(self.tab_source, icon1, "") self.tab_log = QtWidgets.QWidget() self.tab_log.setObjectName("tab_log") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.tab_log) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.outputText = QtWidgets.QPlainTextEdit(self.tab_log) font = QtGui.QFont() font.setFamily("Monospace") font.setPointSize(11) self.outputText.setFont(font) self.outputText.setReadOnly(True) self.outputText.setPlainText("") self.outputText.setTextInteractionFlags(QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse) self.outputText.setObjectName("outputText") self.horizontalLayout_4.addWidget(self.outputText) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/icons/Output"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidget.addTab(self.tab_log, icon2, "") self.verticalLayout.addWidget(self.tabWidget) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.processButton = QtWidgets.QPushButton(self.centralwidget) self.processButton.setEnabled(False) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/icons/Run"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.processButton.setIcon(icon3) self.processButton.setObjectName("processButton") self.horizontalLayout.addWidget(self.processButton) self.exportButton = QtWidgets.QPushButton(self.centralwidget) self.exportButton.setEnabled(False) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/icons/Export"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.exportButton.setIcon(icon4) self.exportButton.setObjectName("exportButton") self.horizontalLayout.addWidget(self.exportButton) self.verticalLayout.addLayout(self.horizontalLayout) MainWindow.setCentralWidget(self.centralwidget) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 677, 30)) self.menuBar.setObjectName("menuBar") self.menuFile = QtWidgets.QMenu(self.menuBar) self.menuFile.setObjectName("menuFile") self.menuHelp = QtWidgets.QMenu(self.menuBar) self.menuHelp.setObjectName("menuHelp") self.menuSettings = QtWidgets.QMenu(self.menuBar) self.menuSettings.setObjectName("menuSettings") MainWindow.setMenuBar(self.menuBar) self.statusBar = QtWidgets.QStatusBar(MainWindow) self.statusBar.setObjectName("statusBar") MainWindow.setStatusBar(self.statusBar) self.previewWidget = QtWidgets.QDockWidget(MainWindow) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth(self.previewWidget.sizePolicy().hasHeightForWidth()) self.previewWidget.setSizePolicy(sizePolicy) self.previewWidget.setMinimumSize(QtCore.QSize(100, 130)) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/icons/view-preview.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.previewWidget.setWindowIcon(icon5) self.previewWidget.setObjectName("previewWidget") self.dockWidgetContents = QtWidgets.QWidget() sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.dockWidgetContents.sizePolicy().hasHeightForWidth()) self.dockWidgetContents.setSizePolicy(sizePolicy) self.dockWidgetContents.setObjectName("dockWidgetContents") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.dockWidgetContents) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.imageViewer = pycktImageViewer(self.dockWidgetContents) self.imageViewer.setAcceptDrops(False) self.imageViewer.setAutoFillBackground(True) self.imageViewer.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents) self.imageViewer.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag) self.imageViewer.setResizeAnchor(QtWidgets.QGraphicsView.AnchorUnderMouse) self.imageViewer.setViewportUpdateMode(QtWidgets.QGraphicsView.FullViewportUpdate) self.imageViewer.setRubberBandSelectionMode(QtCore.Qt.IntersectsItemShape) self.imageViewer.setObjectName("imageViewer") self.horizontalLayout_2.addWidget(self.imageViewer) self.previewWidget.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(4), self.previewWidget) self.actionQuit = QtWidgets.QAction(MainWindow) icon6 = QtGui.QIcon() icon6.addPixmap(QtGui.QPixmap(":/icons/Exit"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionQuit.setIcon(icon6) self.actionQuit.setObjectName("actionQuit") self.actionOpen = QtWidgets.QAction(MainWindow) icon7 = QtGui.QIcon() icon7.addPixmap(QtGui.QPixmap(":/icons/Open"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionOpen.setIcon(icon7) self.actionOpen.setObjectName("actionOpen") self.actionAbout = QtWidgets.QAction(MainWindow) icon8 = QtGui.QIcon() icon8.addPixmap(QtGui.QPixmap(":/icons/About"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionAbout.setIcon(icon8) self.actionAbout.setObjectName("actionAbout") self.actionPreferences = QtWidgets.QAction(MainWindow) icon9 = QtGui.QIcon() icon9.addPixmap(QtGui.QPixmap(":/icons/Settings"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionPreferences.setIcon(icon9) self.actionPreferences.setObjectName("actionPreferences") self.actionNew = QtWidgets.QAction(MainWindow) icon10 = QtGui.QIcon() icon10.addPixmap(QtGui.QPixmap(":/icons/New"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionNew.setIcon(icon10) self.actionNew.setObjectName("actionNew") self.actionSave = QtWidgets.QAction(MainWindow) icon11 = QtGui.QIcon() icon11.addPixmap(QtGui.QPixmap(":/icons/Save"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionSave.setIcon(icon11) self.actionSave.setObjectName("actionSave") self.actionSaveAs = QtWidgets.QAction(MainWindow) icon12 = QtGui.QIcon() icon12.addPixmap(QtGui.QPixmap(":/icons/SaveAs"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionSaveAs.setIcon(icon12) self.actionSaveAs.setObjectName("actionSaveAs") self.actionCMMan = QtWidgets.QAction(MainWindow) icon13 = QtGui.QIcon() icon13.addPixmap(QtGui.QPixmap(":/icons/CMman"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionCMMan.setIcon(icon13) self.actionCMMan.setObjectName("actionCMMan") self.actionDpicMan = QtWidgets.QAction(MainWindow) self.actionDpicMan.setIcon(icon13) self.actionDpicMan.setObjectName("actionDpicMan") self.menuFile.addAction(self.actionNew) self.menuFile.addAction(self.actionOpen) self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.actionSaveAs) self.menuFile.addAction(self.actionQuit) self.menuHelp.addSeparator() self.menuHelp.addAction(self.actionCMMan) self.menuHelp.addAction(self.actionDpicMan) self.menuHelp.addSeparator() self.menuHelp.addAction(self.actionAbout) self.menuSettings.addAction(self.actionPreferences) self.menuBar.addAction(self.menuFile.menuAction()) self.menuBar.addAction(self.menuSettings.menuAction()) self.menuBar.addAction(self.menuHelp.menuAction()) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) self.actionQuit.triggered.connect(MainWindow.close) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "PyCirkuit - by Orestes Mas")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_source), _translate("MainWindow", "Source Editor", "Tab title")) self.outputText.setPlaceholderText(_translate("MainWindow", "", "Placeholder text")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_log), _translate("MainWindow", "Output Log", "Tab title")) self.processButton.setText(_translate("MainWindow", "&Process and display", "Button text")) self.processButton.setShortcut(_translate("MainWindow", "Alt+P")) self.exportButton.setText(_translate("MainWindow", "E&xport", "Button text")) self.exportButton.setShortcut(_translate("MainWindow", "Alt+X")) self.menuFile.setTitle(_translate("MainWindow", "Fi&le")) self.menuHelp.setTitle(_translate("MainWindow", "Hel&p")) self.menuSettings.setTitle(_translate("MainWindow", "Setti&ngs")) self.previewWidget.setWindowTitle(_translate("MainWindow", "Preview", "A window title, NOT an action.")) self.imageViewer.setToolTip(_translate("MainWindow", "

Use:

\n" "
    \n" "
  • Ctrl + Mouse Wheel to Zoom In/Out
  • \n" "
  • Click and Move to drag the image inside the preview
  • \n" "
\n" "")) self.actionQuit.setText(_translate("MainWindow", "&Quit", "Menu item")) self.actionQuit.setStatusTip(_translate("MainWindow", "Close application", "Status Bar Message")) self.actionQuit.setShortcut(_translate("MainWindow", "Ctrl+Q", "Keyboard Shortcut")) self.actionOpen.setText(_translate("MainWindow", "&Open...", "Menu item")) self.actionOpen.setToolTip(_translate("MainWindow", "Open Drawing")) self.actionOpen.setStatusTip(_translate("MainWindow", "Opens an existing drawing", "Status Bar Message")) self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O", "Keyboard Shortcut")) self.actionAbout.setText(_translate("MainWindow", "&About PyCirkuit", "Menu item")) self.actionAbout.setStatusTip(_translate("MainWindow", "Application information", "Status Bar Message")) self.actionPreferences.setText(_translate("MainWindow", "Configure &PyCirkuit...", "Menu item")) self.actionPreferences.setStatusTip(_translate("MainWindow", "Opens config dialog", "Status Bar Message")) self.actionPreferences.setShortcut(_translate("MainWindow", "Ctrl+P", "Keyboard Shortcut")) self.actionNew.setText(_translate("MainWindow", "&New", "Menu item")) self.actionNew.setToolTip(_translate("MainWindow", "New Drawing")) self.actionNew.setStatusTip(_translate("MainWindow", "Creates an empty drawing", "Status Bar Message")) self.actionNew.setShortcut(_translate("MainWindow", "Ctrl+N", "Keyboard Shortcut")) self.actionSave.setText(_translate("MainWindow", "&Save", "Menu item")) self.actionSave.setStatusTip(_translate("MainWindow", "Saves drawing", "Status Bar Message")) self.actionSave.setShortcut(_translate("MainWindow", "Ctrl+S", "Keyboard Shortcut")) self.actionSaveAs.setText(_translate("MainWindow", "Sa&ve As...", "Menu item")) self.actionSaveAs.setStatusTip(_translate("MainWindow", "Saves drawing with new name", "Status Bar Message")) self.actionSaveAs.setShortcut(_translate("MainWindow", "Ctrl+Shift+S", "Keyboard Shortcut")) self.actionCMMan.setText(_translate("MainWindow", "&Circuit Macros manual")) self.actionCMMan.setStatusTip(_translate("MainWindow", "Opens Circuit Macros manual", "Status Bar Message")) self.actionCMMan.setShortcut(_translate("MainWindow", "Ctrl+M")) self.actionDpicMan.setText(_translate("MainWindow", "&Dpic manual")) self.actionDpicMan.setStatusTip(_translate("MainWindow", "Opens Dpic manual", "Status Bar Message")) self.actionDpicMan.setShortcut(_translate("MainWindow", "Ctrl+D")) from pycirkuit.imageviewer import pycktImageViewer from pycirkuit.texteditor import pycktTextEditor from pycirkuit.resources import resources_rc if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_()) pycirkuit-0.5.1/pycirkuit/ui/__init__.py000066400000000000000000000000001362435125300203030ustar00rootroot00000000000000pycirkuit-0.5.1/pycirkuit/ui/aboutdialog.py000066400000000000000000000036221362435125300210530ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing a personalized AboutDialog. """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Third-party imports from PyQt5.QtWidgets import QDialog # Local application imports from pycirkuit import __version__, __copyright__ from .Ui_aboutdialog import Ui_AboutDialog class AboutDialog(QDialog, Ui_AboutDialog): """ Class documentation goes here. """ def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ super(AboutDialog, self).__init__(parent) self.setupUi(self) # Now change the placeholders in dialog # Cannot use str.format() here because the HTML string does contain other items between curly brackets # Try to change the variable in the text for the version number s = self.textVersion.toHtml() self.textVersion.setHtml(s.replace('{versionNumber}', __version__, 1)) # Try to change the variable in the text for the copyright s = self.textLicense.toHtml() self.textLicense.setHtml(s.replace('{copyrightInfo}', __copyright__, 1)) # Start with first Tab visible self.tabWidget.setCurrentIndex(0) pycirkuit-0.5.1/pycirkuit/ui/aboutdialog.ui000066400000000000000000002457301362435125300210500ustar00rootroot00000000000000 Orestes Mas AboutDialog 0 0 750 680 0 0 750 680 Sans Serif About PyCirkuit Qt::Vertical QSizePolicy::Fixed 20 10 0 1 0 49 true :/pixmaps/AppLabel false Qt::NoTextInteraction Qt::Vertical QSizePolicy::Fixed 20 10 0 5 Sans Serif false padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255); QTabWidget::Rounded 2 &About Sans Serif padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255); QFrame::NoFrame <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> is a GUI front-end for </span><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Circuit Macros</span></a><span style=" font-size:11pt;"> and </span><a href="https://gitlab.com/aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a><span style=" font-size:11pt;"> by Dwight Aplevich, which make up a software chain for drawing high-quality line diagrams to be included in TeX, LaTeX, LibreOffice, web or similar documents. PyCirkuit is written in Python 3 using the PyQt5 libraries, but is largely inspired (in both ideas and code snippets) on </span><a href="https://wwwu.uni-klu.ac.at/magostin/cirkuit.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">Cirkuit</span></a><span style=" font-size:11pt;">, a C++ application written by Matteo Agostinelli using KDE4 libraries.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit compiles the source code on demand to generate a live preview, and can export the resulting image in various formats to be included directly in your documents.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">You can send bug reports via the </span><a href="https://github.com/orestesmas/pycirkuit"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">project repository on GitHub</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">If you are willing to contribute, please read </span><a href="https://github.com/orestesmas/pycirkuit/blob/master/CONTRIBUTING.md"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">these guidelines</span></a><span style=" font-size:11pt;">.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit uses icons from KDE's &quot;Oxygen&quot; set, which are under the LGPL license. See </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;">.</span></p></body></html> true &Version Sans Serif padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255); QFrame::NoFrame <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Version {versionNumber}</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Using:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:11pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.riverbankcomputing.com/software/pyqt/intro"><span style=" text-decoration: underline; color:#2980b9;">PyQt5</span></a> Python bindings to Qt5 by Riverbank Computing.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/Circuit_macros/"><span style=" text-decoration: underline; color:#2980b9;">Circuit Macros</span></a>, by Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.gnu.org/software/m4/"><span style=" text-decoration: underline; color:#2980b9;">GNU M4</span></a> Macro Processor, from the GNU project.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ece.uwaterloo.ca/~aplevich/dpic"><span style=" text-decoration: underline; color:#2980b9;">Dpic</span></a>, by Dwight Aplevich.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://ctan.org/"><span style=" text-decoration: underline; color:#2980b9;">LaTeX + TIkZ</span></a>, by Donald Knuth, Leslie Lamport, Till Tantau and many more contributors.</li> <li style=" font-size:11pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://linux.die.net/man/1/pdftoppm"><span style=" text-decoration: underline; color:#2980b9;">PdfToPpm</span></a>, a software by <a href="https://poppler.freedesktop.org/"><span style=" text-decoration: underline; color:#2980b9;">The Poppler project</span></a>. </li></ul></body></html> true A&uthors Sans Serif QFrame::NoFrame QTextEdit::AutoNone <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Orestes Mas</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Original Author, Maintainer and Translator to Catalan</span></p> <hr /> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Aniol Marti</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Debian packages for PyCirkuit, Dpic and Circuit Macros, beta-testing and bug reporting. Contribution to CLI code.</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Guillem Casadesus</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Beta-testing and bug reporting on macOS</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-style:italic;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">Billy Andriamahazomandimby</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-style:italic;">Beta-testing and bug reporting on Windows</span></p></body></html> true true &License Agreement 0 0 0 220 Sans Serif false padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255); QFrame::NoFrame Qt::ScrollBarAlwaysOff <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; font-weight:600;">PyCirkuit</span><span style=" font-size:11pt;"> is {copyrightInfo} &lt;orestes@tsc.upc.edu&gt;</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">You may use, distribute and copy PyCirkuit under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, which is shown below, or (at your option) any later version.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">PyCirkuit uses also some icons and other artwork from &quot;Oxygen&quot; set, from the KDE project. These icons are under the GNU LGPL v3 license. See </span><a href="https://techbase.kde.org/Projects/Oxygen/Licensing"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">https://techbase.kde.org/Projects/Oxygen/Licensing</span></a><span style=" font-size:11pt;"> and </span><a href="http://www.gnu.org/copyleft/lesser.html"><span style=" font-size:11pt; text-decoration: underline; color:#2980b9;">http://www.gnu.org/copyleft/lesser.html</span></a></p></body></html> true 0 1 2 Qt::Horizontal Sans Serif padding-left:5; padding-top:10; padding-bottom:10; padding-right:5; background-color: rgb(255, 255, 255); QFrame::NoFrame Qt::ScrollBarAlwaysOn Qt::ScrollBarAlwaysOff GNU General Public License v3.0 - GNU Project - Free Software Foundation (FSF) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><title>GNU General Public License v3.0 - GNU Project - Free Software Foundation (FSF)</title><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:12pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">GNU GENERAL PUBLIC LICENSE</span></p> <p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Version 3, 29 June 2007</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Copyright © 2007 Free Software Foundation, Inc. &lt;</span><a href="https://fsf.org/"><span style=" font-family:'Noto Sans'; font-size:10pt; text-decoration: underline; color:#2980b9;">https://fsf.org/</span></a><span style=" font-family:'Noto Sans'; font-size:10pt;">&gt;</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.</span></p> <p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="preamble"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">P</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">reamble</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The GNU General Public License is a free, copyleft license forsoftware and other kinds of works.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The licenses for most software and other practical works are designedto take away your freedom to share and change the works. By contrast,the GNU General Public License is intended to guarantee your freedom toshare and change all versions of a program--to make sure it remains freesoftware for all its users. We, the Free Software Foundation, use theGNU General Public License for most of our software; it applies also toany other work released this way by its authors. You can apply it toyour programs, too.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">When we speak of free software, we are referring to freedom, notprice. Our General Public Licenses are designed to make sure that youhave the freedom to distribute copies of free software (and charge forthem if you wish), that you receive source code or can get it if youwant it, that you can change the software or use pieces of it in newfree programs, and that you know you can do these things.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">To protect your rights, we need to prevent others from denying youthese rights or asking you to surrender the rights. Therefore, you havecertain responsibilities if you distribute copies of the software, or ifyou modify it: responsibilities to respect the freedom of others.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">For example, if you distribute copies of such a program, whethergratis or for a fee, you must pass on to the recipients the samefreedoms that you received. You must make sure that they, too, receiveor can get the source code. And you must show them these terms so theyknow their rights.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Developers that use the GNU GPL protect your rights with two steps:(1) assert copyright on the software, and (2) offer you this Licensegiving you legal permission to copy, distribute and/or modify it.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">For the developers' and authors' protection, the GPL clearly explainsthat there is no warranty for this free software. For both users' andauthors' sake, the GPL requires that modified versions be marked aschanged, so that their problems will not be attributed erroneously toauthors of previous versions.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Some devices are designed to deny users access to install or runmodified versions of the software inside them, although the manufacturercan do so. This is fundamentally incompatible with the aim ofprotecting users' freedom to change the software. The systematicpattern of such abuse occurs in the area of products for individuals touse, which is precisely where it is most unacceptable. Therefore, wehave designed this version of the GPL to prohibit the practice for thoseproducts. If such problems arise substantially in other domains, westand ready to extend this provision to those domains in future versionsof the GPL, as needed to protect the freedom of users.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Finally, every program is threatened constantly by software patents.States should not allow patents to restrict development and use ofsoftware on general-purpose computers, but in those that do, we wish toavoid the special danger that patents applied to a free program couldmake it effectively proprietary. To prevent this, the GPL assures thatpatents cannot be used to render the program non-free.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The precise terms and conditions for copying, distribution andmodification follow.</span></p> <p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="terms"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">T</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">ERMS AND CONDITIONS</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section0"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">0</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Definitions.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">“This License” refers to version 3 of the GNU General Public License.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">“Copyright” also means copyright-like laws that apply to other kinds ofworks, such as semiconductor masks. </span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">“The Program” refers to any copyrightable work licensed under thisLicense. Each licensee is addressed as “you”. “Licensees” and“recipients” may be individuals or organizations.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">To “modify” a work means to copy from or adapt all or part of the workin a fashion requiring copyright permission, other than the making of anexact copy. The resulting work is called a “modified version” of theearlier work or a work “based on” the earlier work.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A “covered work” means either the unmodified Program or a work basedon the Program.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">To “propagate” a work means to do anything with it that, withoutpermission, would make you directly or secondarily liable forinfringement under applicable copyright law, except executing it on acomputer or modifying a private copy. Propagation includes copying,distribution (with or without modification), making available to thepublic, and in some countries other activities as well.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">To “convey” a work means any kind of propagation that enables otherparties to make or receive copies. Mere interaction with a user througha computer network, with no transfer of a copy, is not conveying.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">An interactive user interface displays “Appropriate Legal Notices”to the extent that it includes a convenient and prominently visiblefeature that (1) displays an appropriate copyright notice, and (2)tells the user that there is no warranty for the work (except to theextent that warranties are provided), that licensees may convey thework under this License, and how to view a copy of this License. Ifthe interface presents a list of user commands or options, such as amenu, a prominent item in the list meets this criterion.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section1"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Source Code.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The “source code” for a work means the preferred form of the workfor making modifications to it. “Object code” means any non-sourceform of a work.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A “Standard Interface” means an interface that either is an officialstandard defined by a recognized standards body, or, in the case ofinterfaces specified for a particular programming language, one thatis widely used among developers working in that language.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The “System Libraries” of an executable work include anything, otherthan the work as a whole, that (a) is included in the normal form ofpackaging a Major Component, but which is not part of that MajorComponent, and (b) serves only to enable use of the work with thatMajor Component, or to implement a Standard Interface for which animplementation 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 toproduce the work, or an object code interpreter used to run it.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The “Corresponding Source” for a work in object code form means allthe source code needed to generate, install, and (for an executablework) run the object code and to modify the work, including scripts tocontrol those activities. However, it does not include the work'sSystem Libraries, or general-purpose tools or generally available freeprograms which are used unmodified in performing those activities butwhich are not part of the work. For example, Corresponding Sourceincludes interface definition files associated with source files forthe work, and the source code for shared libraries and dynamicallylinked subprograms that the work is specifically designed to require,such as by intimate data communication or control flow between thosesubprograms and other parts of the work.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The Corresponding Source need not include anything that userscan regenerate automatically from other parts of the CorrespondingSource.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The Corresponding Source for a work in source code form is thatsame work.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section2"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">2</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Basic Permissions.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">All rights granted under this License are granted for the term ofcopyright on the Program, and are irrevocable provided the statedconditions are met. This License explicitly affirms your unlimitedpermission to run the unmodified Program. The output from running acovered work is covered by this License only if the output, given itscontent, constitutes a covered work. This License acknowledges yourrights of fair use or other equivalent, as provided by copyright law.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You may make, run and propagate covered works that you do notconvey, without conditions so long as your license otherwise remainsin force. You may convey covered works to others for the sole purposeof having them make modifications exclusively for you, or provide youwith facilities for running those works, provided that you comply withthe terms of this License in conveying all material for which you donot control copyright. Those thus making or running the covered worksfor you must do so exclusively on your behalf, under your directionand control, on terms that prohibit them from making any copies ofyour copyrighted material outside their relationship with you.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Conveying under any other circumstances is permitted solely underthe conditions stated below. Sublicensing is not allowed; section 10makes it unnecessary.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section3"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">3</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Protecting Users' Legal Rights From Anti-Circumvention Law.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">No covered work shall be deemed part of an effective technologicalmeasure under any applicable law fulfilling obligations under article11 of the WIPO copyright treaty adopted on 20 December 1996, orsimilar laws prohibiting or restricting circumvention of suchmeasures.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">When you convey a covered work, you waive any legal power to forbidcircumvention of technological measures to the extent such circumventionis effected by exercising rights under this License with respect tothe covered work, and you disclaim any intention to limit operation ormodification of the work as a means of enforcing, against the work'susers, your or third parties' legal rights to forbid circumvention oftechnological measures.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section4"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">4</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Conveying Verbatim Copies.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You may convey verbatim copies of the Program's source code as youreceive it, in any medium, provided that you conspicuously andappropriately publish on each copy an appropriate copyright notice;keep intact all notices stating that this License and anynon-permissive terms added in accord with section 7 apply to the code;keep intact all notices of the absence of any warranty; and give allrecipients a copy of this License along with the Program.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">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.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section5"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">5</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Conveying Modified Source Versions.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You may convey a work based on the Program, or the modifications toproduce it from the Program, in the form of source code under theterms of section 4, provided that you also meet all of these conditions:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">a) The work must carry prominent notices stating that you modified it, and giving a relevant date.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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”.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li></ul> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A compilation of a covered work with other separate and independentworks, 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 notused to limit the access or legal rights of the compilation's usersbeyond what the individual works permit. Inclusion of a covered workin an aggregate does not cause this License to apply to the otherparts of the aggregate.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section6"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">6</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Conveying Non-Source Forms.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You may convey a covered work in object code form under the termsof sections 4 and 5, provided that you also convey themachine-readable Corresponding Source under the terms of this License,in one of these ways:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li></ul> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A separable portion of the object code, whose source code is excludedfrom the Corresponding Source as a System Library, need not beincluded in conveying the object code work.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A “User Product” is either (1) a “consumer product”, which means anytangible personal property which is normally used for personal, family,or household purposes, or (2) anything designed or sold for incorporationinto a dwelling. In determining whether a product is a consumer product,doubtful cases shall be resolved in favor of coverage. For a particularproduct received by a particular user, “normally used” refers to atypical or common use of that class of product, regardless of the statusof the particular user or of the way in which the particular useractually uses, or expects or is expected to use, the product. A productis a consumer product regardless of whether the product has substantialcommercial, industrial or non-consumer uses, unless such uses representthe only significant mode of use of the product.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">“Installation Information” for a User Product means any methods,procedures, authorization keys, or other information required to installand execute modified versions of a covered work in that User Product froma modified version of its Corresponding Source. The information mustsuffice to ensure that the continued functioning of the modified objectcode is in no case prevented or interfered with solely becausemodification has been made.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If you convey an object code work under this section in, or with, orspecifically for use in, a User Product, and the conveying occurs aspart of a transaction in which the right of possession and use of theUser Product is transferred to the recipient in perpetuity or for afixed term (regardless of how the transaction is characterized), theCorresponding Source conveyed under this section must be accompaniedby the Installation Information. But this requirement does not applyif neither you nor any third party retains the ability to installmodified object code on the User Product (for example, the work hasbeen installed in ROM).</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The requirement to provide Installation Information does not include arequirement to continue to provide support service, warranty, or updatesfor a work that has been modified or installed by the recipient, or forthe User Product in which it has been modified or installed. Access to anetwork may be denied when the modification itself materially andadversely affects the operation of the network or violates the rules andprotocols for communication across the network.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Corresponding Source conveyed, and Installation Information provided,in accord with this section must be in a format that is publiclydocumented (and with an implementation available to the public insource code form), and must require no special password or key forunpacking, reading or copying.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section7"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">7</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Additional Terms.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">“Additional permissions” are terms that supplement the terms of thisLicense by making exceptions from one or more of its conditions.Additional permissions that are applicable to the entire Program shallbe treated as though they were included in this License, to the extentthat they are valid under applicable law. If additional permissionsapply only to part of the Program, that part may be used separatelyunder those permissions, but the entire Program remains governed bythis License without regard to the additional permissions.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">When you convey a copy of a covered work, you may at your optionremove any additional permissions from that copy, or from any part ofit. (Additional permissions may be written to require their ownremoval in certain cases when you modify the work.) You may placeadditional permissions on material, added by you to a covered work,for which you have or can give appropriate copyright permission.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Notwithstanding any other provision of this License, for material youadd to a covered work, you may (if authorized by the copyright holders ofthat material) supplement the terms of this License with terms:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">d) Limiting the use for publicity purposes of names of licensors or authors of the material; or</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or</li> <li style=" font-family:'Noto Sans'; font-size:10pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</li></ul> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">All other non-permissive additional terms are considered “furtherrestrictions” within the meaning of section 10. If the Program as youreceived it, or any part of it, contains a notice stating that it isgoverned by this License along with a term that is a furtherrestriction, you may remove that term. If a license document containsa further restriction but permits relicensing or conveying under thisLicense, you may add to a covered work material governed by the termsof that license document, provided that the further restriction doesnot survive such relicensing or conveying.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If you add terms to a covered work in accord with this section, youmust place, in the relevant source files, a statement of theadditional terms that apply to those files, or a notice indicatingwhere to find the applicable terms.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Additional terms, permissive or non-permissive, may be stated in theform of a separately written license, or stated as exceptions;the above requirements apply either way.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section8"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">8</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Termination.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You may not propagate or modify a covered work except as expresslyprovided under this License. Any attempt otherwise to propagate ormodify it is void, and will automatically terminate your rights underthis License (including any patent licenses granted under the thirdparagraph of section 11).</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">However, if you cease all violation of this License, then yourlicense from a particular copyright holder is reinstated (a)provisionally, unless and until the copyright holder explicitly andfinally terminates your license, and (b) permanently, if the copyrightholder fails to notify you of the violation by some reasonable meansprior to 60 days after the cessation.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Moreover, your license from a particular copyright holder isreinstated permanently if the copyright holder notifies you of theviolation by some reasonable means, this is the first time you havereceived notice of violation of this License (for any work) from thatcopyright holder, and you cure the violation prior to 30 days afteryour receipt of the notice.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Termination of your rights under this section does not terminate thelicenses of parties who have received copies or rights from you underthis License. If your rights have been terminated and not permanentlyreinstated, you do not qualify to receive new licenses for the samematerial under section 10.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section9"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">9</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">. Acceptance Not Required for Having Copies.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You are not required to accept this License in order to receive orrun a copy of the Program. Ancillary propagation of a covered workoccurring solely as a consequence of using peer-to-peer transmissionto receive a copy likewise does not require acceptance. However,nothing other than this License grants you permission to propagate ormodify any covered work. These actions infringe copyright if you donot accept this License. Therefore, by modifying or propagating acovered work, you indicate your acceptance of this License to do so.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section10"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">0. Automatic Licensing of Downstream Recipients.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Each time you convey a covered work, the recipient automaticallyreceives a license from the original licensors, to run, modify andpropagate that work, subject to this License. You are not responsiblefor enforcing compliance by third parties with this License.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">An “entity transaction” is a transaction transferring control of anorganization, or substantially all assets of one, or subdividing anorganization, or merging organizations. If propagation of a coveredwork results from an entity transaction, each party to thattransaction who receives a copy of the work also receives whateverlicenses to the work the party's predecessor in interest had or couldgive under the previous paragraph, plus a right to possession of theCorresponding Source of the work from the predecessor in interest, ifthe predecessor has it or can get it with reasonable efforts.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">You may not impose any further restrictions on the exercise of therights granted or affirmed under this License. For example, you maynot impose a license fee, royalty, or other charge for exercise ofrights granted under this License, and you may not initiate litigation(including a cross-claim or counterclaim in a lawsuit) alleging thatany patent claim is infringed by making, using, selling, offering forsale, or importing the Program or any portion of it.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section11"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1. Patents.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A “contributor” is a copyright holder who authorizes use under thisLicense of the Program or a work on which the Program is based. Thework thus licensed is called the contributor's “contributor version”.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A contributor's “essential patent claims” are all patent claimsowned or controlled by the contributor, whether already acquired orhereafter acquired, that would be infringed by some manner, permittedby this License, of making, using, or selling its contributor version,but do not include claims that would be infringed only as aconsequence of further modification of the contributor version. Forpurposes of this definition, “control” includes the right to grantpatent sublicenses in a manner consistent with the requirements ofthis License.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Each contributor grants you a non-exclusive, worldwide, royalty-freepatent license under the contributor's essential patent claims, tomake, use, sell, offer for sale, import and otherwise run, modify andpropagate the contents of its contributor version.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">In the following three paragraphs, a “patent license” is any expressagreement or commitment, however denominated, not to enforce a patent(such as an express permission to practice a patent or covenant not tosue for patent infringement). To “grant” such a patent license to aparty means to make such an agreement or commitment not to enforce apatent against the party.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If you convey a covered work, knowingly relying on a patent license,and the Corresponding Source of the work is not available for anyoneto copy, free of charge and under the terms of this License, through apublicly available network server or other readily accessible means,then you must either (1) cause the Corresponding Source to be soavailable, or (2) arrange to deprive yourself of the benefit of thepatent license for this particular work, or (3) arrange, in a mannerconsistent with the requirements of this License, to extend the patentlicense to downstream recipients. “Knowingly relying” means you haveactual knowledge that, but for the patent license, your conveying thecovered work in a country, or your recipient's use of the covered workin a country, would infringe one or more identifiable patents in thatcountry that you have reason to believe are valid. </span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If, pursuant to or in connection with a single transaction orarrangement, you convey, or propagate by procuring conveyance of, acovered work, and grant a patent license to some of the partiesreceiving the covered work authorizing them to use, propagate, modifyor convey a specific copy of the covered work, then the patent licenseyou grant is automatically extended to all recipients of the coveredwork and works based on it.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">A patent license is “discriminatory” if it does not include withinthe scope of its coverage, prohibits the exercise of, or isconditioned on the non-exercise of one or more of the rights that arespecifically granted under this License. You may not convey a coveredwork if you are a party to an arrangement with a third party that isin the business of distributing software, under which you make paymentto the third party based on the extent of your activity of conveyingthe work, and under which the third party grants, to any of theparties who would receive the covered work from you, a discriminatorypatent license (a) in connection with copies of the covered workconveyed by you (or copies made from those copies), or (b) primarilyfor and in connection with specific products or compilations thatcontain the covered work, unless you entered into that arrangement,or that patent license was granted, prior to 28 March 2007.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Nothing in this License shall be construed as excluding or limitingany implied license or other defenses to infringement that mayotherwise be available to you under applicable patent law.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section12"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">2. No Surrender of Others' Freedom.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If conditions are imposed on you (whether by court order, agreement orotherwise) that contradict the conditions of this License, they do notexcuse you from the conditions of this License. If you cannot convey acovered work so as to satisfy simultaneously your obligations under thisLicense and any other pertinent obligations, then as a consequence you maynot convey it at all. For example, if you agree to terms that obligate youto collect a royalty for further conveying from those to whom you conveythe Program, the only way you could satisfy both those terms and thisLicense would be to refrain entirely from conveying the Program.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section13"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">3. Use with the GNU Affero General Public License.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Notwithstanding any other provision of this License, you havepermission to link or combine any covered work with a work licensedunder version 3 of the GNU Affero General Public License into a singlecombined work, and to convey the resulting work. The terms of thisLicense 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 thecombination as such.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section14"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">4. Revised Versions of this License.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">The Free Software Foundation may publish revised and/or new versions ofthe GNU General Public License from time to time. Such new versions willbe similar in spirit to the present version, but may differ in detail toaddress new problems or concerns.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Each version is given a distinguishing version number. If theProgram specifies that a certain numbered version of the GNU GeneralPublic License “or any later version” applies to it, you have theoption of following the terms and conditions either of that numberedversion or of any later version published by the Free SoftwareFoundation. If the Program does not specify a version number of theGNU General Public License, you may choose any version ever publishedby the Free Software Foundation.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If the Program specifies that a proxy can decide which futureversions of the GNU General Public License can be used, that proxy'spublic statement of acceptance of a version permanently authorizes youto choose that version for the Program.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">Later license versions may give you additional or differentpermissions. However, no additional obligations are imposed on anyauthor or copyright holder as a result of your choosing to follow alater version.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section15"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">5. Disclaimer of Warranty.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BYAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHTHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTYOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULARPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAMIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OFALL NECESSARY SERVICING, REPAIR OR CORRECTION.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section16"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">6. Limitation of Liability.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITINGWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYSTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANYGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THEUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OFDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRDPARTIES 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 OFSUCH DAMAGES.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="section17"></a><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">1</span><span style=" font-family:'Noto Sans'; font-size:10pt; font-weight:600;">7. Interpretation of Sections 15 and 16.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">If the disclaimer of warranty and limitation of liability providedabove cannot be given local legal effect according to their terms,reviewing courts shall apply local law that most closely approximatesan absolute waiver of all civil liability in connection with theProgram, unless a warranty or assumption of liability accompanies acopy of the Program in return for a fee.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Noto Sans'; font-size:10pt;">END OF TERMS AND CONDITIONS</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Noto Sans'; font-size:10pt; font-weight:600;"><br /></p></body></html> true Qt::Horizontal QDialogButtonBox::Close buttonBox accepted() AboutDialog accept() 248 254 157 274 buttonBox rejected() AboutDialog reject() 316 260 286 274 pycirkuit-0.5.1/pycirkuit/ui/configdialog.py000066400000000000000000000212651362435125300212110ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing configDialog. """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports import os # Third-party imports from PyQt5.QtCore import pyqtSlot, Qt, QSize, QDir, QSettings, QCoreApplication, pyqtSignal from PyQt5.QtWidgets import QDialog, QFileDialog, QMessageBox # Local application imports from pycirkuit.ui.Ui_configdialog import Ui_ConfigDialog from pycirkuit.exceptions import PyCirkuitError # Translation function _translate = QCoreApplication.translate class ConfigDialog(QDialog, Ui_ConfigDialog): """ Class documentation goes here. """ exportSettingsChange = pyqtSignal() def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ super().__init__(parent) self.setupUi(self) # Hack to center items in QListView for i in range(0, self.listWidget.count()): self.listWidget.item(i).setSizeHint(QSize(128, 80)) self.listWidget.item(i).setTextAlignment(Qt.AlignCenter) # Persistent settings settings = QSettings() # Extract stored path to Circuit Macros cmStoredPath = settings.value("General/cmPath", "") if cmStoredPath == "": # emit signal manually as setting an empty text doesn't really changes the text (it is already empty) self.cmPath.textChanged.emit("") else: self.cmPath.setText(cmStoredPath) # Extract stored path to LaTeX template file # defaultPath = QDir.homePath() + "/Plantilles/cm_tikz.ckt" storedLatexTemplateFile = settings.value("General/templatePath", "") if storedLatexTemplateFile == "": # emit signal manually as setting an empty text doesn't really changes the text (it is already empty) self.templateFile.textChanged.emit("") else: self.templateFile.setText(storedLatexTemplateFile) # Settings from the second page "Export" settings.beginGroup("Export") self.exportTIKZ.setChecked(settings.value("exportTIKZ", type=bool)) self.exportSVG.setChecked(settings.value("exportSVG", type=bool)) self.exportPDF.setChecked(settings.value("exportPDF", type=bool)) self.exportPNG.setChecked(settings.value("exportPNG", type=bool)) self.exportJPEG.setChecked(settings.value("exportJPEG", type=bool)) self.exportDPI.setValue(settings.value("exportDPI", type=int)) self.exportQuality.setValue(settings.value("exportQuality", type=int)) settings.endGroup() def exportSettingsChanged(self): settings = QSettings() if (self.exportTIKZ.isChecked() != settings.value("Export/exportTIKZ", type=bool)) or \ (self.exportSVG.isChecked() != settings.value("Export/exportSVG", type=bool)) or \ (self.exportPDF.isChecked() != settings.value("Export/exportPDF", type=bool)) or \ (self.exportPNG.isChecked() != settings.value("Export/exportPNG", type=bool)) or \ (self.exportJPEG.isChecked() != settings.value("Export/exportJPEG", type=bool)) or \ (self.exportDPI.value() != settings.value("Export/exportDPI", type=int)) or \ (self.exportQuality.value() != settings.value("Export/exportQuality", type=int)): return True else: return False @pyqtSlot() def accept(self): settings = QSettings() # General page try: if not os.path.isdir(self.cmPath.text()): message =_translate("MessageBox", "The path to the Circuit Macros location is not valid. Please enter a valid one.", "") extraInfo = _translate("MessageBox", "Or, cancel the settings dialog and PyCirkuit will download and install the Circuit Macros when needed.", "") raise PyCirkuitError(message, moreInfo=extraInfo) if not os.path.isfile(self.templateFile.text()): raise PyCirkuitError(_translate("MessageBox", "The path to the LaTeX template does not point to a valid file. Please enter a correct one.", "")) except PyCirkuitError as err: # Open MessageBox and inform user msgBox = QMessageBox(self) msgBox.setWindowTitle(err.title) msgBox.setIcon(QMessageBox.Critical) msgBox.setText(str(err)) msgBox.setInformativeText(err.moreInfo) msgBox.setStandardButtons(QMessageBox.Ok) msgBox.setDefaultButton(QMessageBox.Ok) msgBox.exec() return settings.setValue("General/cmPath", self.cmPath.text()) settings.setValue("General/templatePath", self.templateFile.text()) # Export page if self.exportSettingsChanged(): QMessageBox.information(self, "PyCirkuit", _translate("MessageBox", "To be able to export with the new settings you have to process the source again.", "")) self.exportSettingsChange.emit() settings.beginGroup("Export") settings.setValue("exportTIKZ", self.exportTIKZ.isChecked()) settings.setValue("exportSVG", self.exportSVG.isChecked()) settings.setValue("exportPDF", self.exportPDF.isChecked()) settings.setValue("exportPNG", self.exportPNG.isChecked()) settings.setValue("exportJPEG", self.exportJPEG.isChecked()) settings.setValue("exportDPI", self.exportDPI.value()) settings.setValue("exportQuality", self.exportQuality.value()) settings.endGroup() # save settings and quit settings.sync() QDialog.accept(self) @pyqtSlot() def reject(self): QDialog.reject(self) @pyqtSlot(int) def on_listWidget_currentRowChanged(self, currentRow): """ Slot documentation goes here. @param currentRow DESCRIPTION @type int """ self.stackedWidget.setCurrentIndex(currentRow) @pyqtSlot() def on_toolButtonCMPath_clicked(self): """ Slot documentation goes here. """ fdlg = QFileDialog(self) fdlg.setWindowTitle(_translate("ConfigDialog", "Circuit Macros Location", "File Dialog Title")) fdlg.setDirectory(self.cmPath.text()) fdlg.setFileMode(QFileDialog.Directory) fdlg.setOptions(QFileDialog.ShowDirsOnly | QFileDialog.DontUseNativeDialog | QFileDialog.ReadOnly) fdlg.setViewMode(QFileDialog.Detail) fdlg.setFilter(QDir.Dirs | QDir.Hidden) if fdlg.exec(): newPath = fdlg.selectedFiles() self.cmPath.setText(newPath[0]) fdlg.close() @pyqtSlot() def on_toolButtonTemplatePath_clicked(self): """ Slot documentation goes here. """ fdlg = QFileDialog(self) fdlg.setWindowTitle(_translate("ConfigDialog", "Latex Template Location", "File Dialog Title")) fdlg.setDirectory(os.path.dirname(self.templateFile.text())) fdlg.setFileMode(QFileDialog.ExistingFile) fdlg.setOptions(QFileDialog.DontUseNativeDialog | QFileDialog.ReadOnly) fdlg.setViewMode(QFileDialog.Detail) fdlg.setFilter(QDir.AllDirs | QDir.Files | QDir.NoDotAndDotDot | QDir.Hidden) if fdlg.exec(): newPath = fdlg.selectedFiles() self.templateFile.setText(newPath[0]) fdlg.close() @pyqtSlot(str) def on_cmPath_textChanged(self, newText): if os.path.isdir(newText): self.cmPath.setStyleSheet("background-color: {white};".format(white = "rgb(255, 255, 255)")) else: self.cmPath.setStyleSheet("background-color: {reddish};".format(reddish = "rgb(255, 230, 230)")) @pyqtSlot(str) def on_templateFile_textChanged(self, newText): if os.path.isfile(newText): self.templateFile.setStyleSheet("background-color: {white};".format(white = "rgb(255, 255, 255)")) else: self.templateFile.setStyleSheet("background-color: {reddish};".format(reddish = "rgb(255, 230, 230)")) pycirkuit-0.5.1/pycirkuit/ui/configdialog.ui000066400000000000000000000465411362435125300212020ustar00rootroot00000000000000 ConfigDialog 0 0 899 561 800 0 Config Dialog 1 0 128 16777215 false padding-top: 10px; background-color: rgb(255, 255, 255); Qt::ScrollBarAlwaysOff Qt::ScrollBarAlwaysOff QAbstractScrollArea::AdjustToContents 48 48 Qt::ElideNone QListView::LeftToRight true 12 QListView::IconMode true General AlignCenter :/pixmaps/CfgGeneral:/pixmaps/CfgGeneral ItemIsSelectable|ItemIsEnabled Exporting AlignCenter :/pixmaps/CfgExportImage:/pixmaps/CfgExportImage ItemIsSelectable|ItemIsEnabled 4 0 0 0 QFrame::Panel QFrame::Raised 1 0 100 Circuit Macros Location Qt::AlignCenter 0 0 Enter Path Name true 120 0 Choose... :/icons/Open:/icons/Open Qt::ToolButtonTextBesideIcon Qt::Vertical QSizePolicy::Maximum 20 5 0 100 LaTeX Template File Qt::AlignCenter Enter Path Name true 120 0 Choose... :/icons/Open:/icons/Open Qt::ToolButtonTextBesideIcon Qt::Vertical 20 40 0 110 Image formats to export 20 3 0 Choose which formats will be saved when the button "Export" is pressed: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter true 1 0 QFrame::StyledPanel QFrame::Raised &TIKZ true SVG PD&F &PNG (raster) false &JPEG (raster) Qt::Vertical QSizePolicy::Maximum 20 5 0 130 Raster image export parameters 5 0 QFrame::NoFrame Ras&ter image resolution in dots per inch (dpi): Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter exportDPI 1 0 true Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter dpi 3000 10 150 5 0 Image &quality for lossy formats like jpeg (percent): Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter exportQuality 1 0 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter % 100 80 Qt::Vertical QSizePolicy::MinimumExpanding 20 5 QDialogButtonBox::Cancel|QDialogButtonBox::Ok false listWidget cmPath toolButtonCMPath templateFile toolButtonTemplatePath exportTIKZ exportPDF exportDPI exportQuality listWidget currentRowChanged(int) stackedWidget setCurrentIndex(int) 94 64 238 63 buttonBox accepted() ConfigDialog accept() 355 515 348 244 buttonBox rejected() ConfigDialog reject() 426 515 419 199 pycirkuit-0.5.1/pycirkuit/ui/mainwindow.py000066400000000000000000001061611362435125300207370ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Module implementing MainWindow. """ # Copyright (C) 2018-2019 Orestes Mas # This file is part of PyCirkuit. # # PyCirkuit 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. # # PyCirkuit 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 PyCirkuit. If not, see . # # Standard library imports #import sys import os from shutil import copyfile # Third-party imports from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication, QSettings, QFileInfo from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5.QtWidgets import QProgressBar, QFileDialog, QDialog # Local application imports from pycirkuit.ui.Ui_mainwindow import Ui_MainWindow from pycirkuit.ui.configdialog import ConfigDialog from pycirkuit.ui.aboutdialog import AboutDialog from pycirkuit.tools.circuitmacrosmanager import CircuitMacrosManager from pycirkuit.highlighter import PyCirkuitHighlighter from pycirkuit.exceptions import * from pycirkuit.tools.m4 import ToolM4 from pycirkuit.tools.dpic import ToolDpic from pycirkuit.tools.pdflatex import ToolPdfLaTeX from pycirkuit.tools.pdftopng import ToolPdfToPng from pycirkuit.tools.pdftojpg import ToolPdfToJpeg from pycirkuit.tools.processor import PyCirkuitProcessor import pycirkuit # Translation function _translate = QCoreApplication.translate class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): """ Class documentation goes here. """ def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ super().__init__(parent) # This is the translated name for unnamed files self._translatedUnnamed = _translate("MainWindow", "unnamed", "Initial name of a new empty file") # This is to avoid starting the app with buffer marked as "dirty", and hence needing saving # This occurs because the "setupUI" method modifies text and hence triggers a textChanged signal self.insideConstructor = True self.setupUi(self) # The app icon is located inside the resource file icon = QtGui.QIcon(":/icons/AppIcon") self.setWindowIcon(icon) # A class variable to hold the exporting dir temporarily # Set destination dir to the same value of source dir. Defaults to empty. settings = QSettings() self.lastDstDir = settings.value("General/lastSrcDir", "") # Connect signals with slots #NOTE: Is NOT necessary to MANUALLY connect most signals to slots, as # pyuic5 calls QtCore.QMetaObject.connectSlotsByName in Ui_configdialog.py # do such connections AUTOMATICALLY (so connecting them manually triggers slots twice) self.imageViewer.conversion_failed.connect(self._display_error) self.imageViewer.image_changed.connect(self._resize_preview) self.previewWidget.dockLocationChanged.connect(self._resize_preview) # Instantiate a processor object which will perform the actual file processing self.processor = PyCirkuitProcessor() # Set up the editor font = QtGui.QFont() font.setFamily('Courier') font.setFixedPitch(True) font.setPointSize(12) self.sourceText.setFont(font) self.highlighter = PyCirkuitHighlighter(self.sourceText.document()) # Initialize editor contents with a default drawing template self.needSaving = False self.on_actionNew_triggered() # Center the window on screen self._center() # Set up the permanent widgets in status bar self.sbProgressBar = QProgressBar() self.sbProgressBar.setRange(0, 100) self.sbProgressBar.setMaximumHeight(10) self.sbProgressBar.setTextVisible(False) self.sbProgressBar.setVisible(False) self.statusBar.addPermanentWidget(self.sbProgressBar) # We're quitting constructor self.insideConstructor = False def _check_export_dir(self, dir): fdlg = QtWidgets.QFileDialog(self) fdlg.setWindowTitle(_translate("MainWindow", "Enter a writable directory to save into", "Window Title")) fdlg.setDirectory(dir) fdlg.setFileMode(QtWidgets.QFileDialog.Directory) fdlg.setOptions(QtWidgets.QFileDialog.DontUseNativeDialog | QtWidgets.QFileDialog.ShowDirsOnly) fdlg.setViewMode(QtWidgets.QFileDialog.List) while True: if fdlg.exec() == QtWidgets.QFileDialog.Accepted: newDir = fdlg.selectedFiles()[0] #TODO: Check if selected dir is writable try: name = os.path.join(newDir, 'test.txt') with open(name, 'w'): pass except: pass return newDir else: #Dialog cancelled, we must return with the dir name unchanged break return dir def _ask_export_file(self, dst): fdlg = QtWidgets.QFileDialog(self) fdlg.setWindowTitle(_translate("MainWindow", "Enter a file to save into", "Window Title")) fdlg.setDirectory(dst) fdlg.setFileMode(QtWidgets.QFileDialog.AnyFile) fdlg.setOptions(QtWidgets.QFileDialog.DontUseNativeDialog) fdlg.setViewMode(QtWidgets.QFileDialog.Detail) fdlg.setFilter(QtCore.QDir.AllDirs | QtCore.QDir.Files) fdlg.selectFile(dst) #FIXME: Bad programming style: new format additions are been managed in too many differents places filterList = [] n, e = os.path.splitext(dst) if e == '.tikz': filterList.append(_translate("MainWindow", "TikZ files (*.tikz)", "File filter")) elif e == '.pdf': filterList.append(_translate("MainWindow", "PDF files (*.pdf)", "File filter")) elif e == '.png': filterList.append(_translate("MainWindow", "PNG files (*.png)", "File filter")) elif e == '.jpeg': filterList.append(_translate("MainWindow", "JPEG files (*.jpeg *.jpg)", "File filter")) elif e == '.svg': filterList.append(_translate("MainWindow", "SVG files (*.svg)", "File filter")) filterList.append(_translate("MainWindow", "Any files (*)", "File filter")) fdlg.setNameFilters(filterList) if fdlg.exec(): dst = fdlg.selectedFiles()[0] fdlg.close() return dst def _ask_saving(self): # Open MessageBox and inform user msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(_translate("MessageBox", "PyCirkuit - Warning", "Message Box title")) msgBox.setIcon(QtWidgets.QMessageBox.Warning) msgBox.setText(_translate("MessageBox", "Source file have unsaved changes.", "Message box text")) msgBox.setInformativeText(_translate("MessageBox", "Do you want to save them before proceeding?", "Message Box text")) msgBox.setStandardButtons(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) msgBox.setDefaultButton(QtWidgets.QMessageBox.Yes) response = msgBox.exec() if response == QtWidgets.QMessageBox.Yes: self.actionSave.trigger() def _ask_writable_dir(self, offendingDir): fdlg = QFileDialog(self) fdlg.setWindowTitle(_translate("MainWindow", "Enter new directory", "File Dialog Title")) fdlg.setDirectory(offendingDir) fdlg.setFileMode(QFileDialog.Directory) fdlg.setOptions(QFileDialog.ShowDirsOnly | QFileDialog.DontUseNativeDialog) fdlg.setViewMode(QFileDialog.Detail) fdlg.setFilter(QtCore.QDir.Dirs | QtCore.QDir.Hidden) if fdlg.exec(): newPath = fdlg.selectedFiles() else: newPath = None fdlg.close() return newPath def _center(self): # Get desktop's geometry app = QtWidgets.QApplication.instance() desktop = app.desktop() deskRect = desktop.screenGeometry(-1) # Now get MainWindow's geometry winRect = self.frameGeometry() # Now translate the window's rectangle so its center coincides with the desktop's one winRect.moveCenter(deskRect.center()) # Finally, move the physical window using the top-left corner coords: self.move(winRect.x(), winRect.y()) def _check_programs(self): try: # Dictionary using a class as index and a class instance as value self.extTools = { ToolM4: ToolM4(), ToolDpic: ToolDpic(), ToolPdfLaTeX: ToolPdfLaTeX(), ToolPdfToPng: ToolPdfToPng(), ToolPdfToJpeg: ToolPdfToJpeg() } except PyCktToolNotFoundError as err: # Open MessageBox and inform user msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(err.title) msgBox.setIcon(QtWidgets.QMessageBox.Critical) msgBox.setText(str(err)) msgBox.setInformativeText(err.moreInfo) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) msgBox.setDefaultButton(QtWidgets.QMessageBox.Ok) msgBox.exec() return False return True def _check_templates(self): settings = QSettings() template = settings.value("General/templatePath", "") if os.path.exists(template): with open(template, 'r') as t: templateCode = t.read() if "%%SOURCE%%" in templateCode: return True else: errMsg = _translate("MessageBox", "The specified LaTeX template seems invalid!\n\n", "Error message") errMsg += _translate("MessageBox", "Please indicate a correct one in the Settings.\n\n", "Error message") errMsg += _translate("MessageBox", "Cannot generate the preview.", "Error message") error = PyCirkuitError(errMsg) self._display_error(error) return False else: errMsg = _translate("MessageBox", "The LaTeX template has not been found!\n\n", "Error message") errMsg += _translate("MessageBox", "Please indicate its correct PATH in the Settings.\n\n", "Error message") errMsg += _translate("MessageBox", "Cannot generate the preview.", "Error message") error = PyCirkuitError(errMsg) self._display_error(error) return False def _ensure_writable_location(self, dstDir): while True: dstDirInfo = QFileInfo(dstDir) if ( dstDirInfo.isDir() and dstDirInfo.isWritable() ): return dstDir else: # Display error messagebox msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(_translate("MessageBox", "PyCirkuit - Error", "Message Box title")) msgBox.setIcon(QtWidgets.QMessageBox.Critical) msgBox.setText(_translate("MessageBox", "The exporting destination directory is not writable.", "Message box text." )) msgBox.setInformativeText(_translate("MessageBox", "Please enter a suitable directory to write into.", "Message Box text")) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) msgBox.exec() # Ask user to choose another directory dstDir = self._ask_writable_dir(dstDirInfo.canonicalPath())[0] @pyqtSlot(PyCirkuitError) def _display_error(self, error): # Open MessageBox and inform user #TODO: Use this method to display message boxes msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(error.title) msgBox.setIcon(QtWidgets.QMessageBox.Critical) msgBox.setText(str(error)) msgBox.setInformativeText(error.moreInfo) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) msgBox.setDefaultButton(QtWidgets.QMessageBox.Ok) msgBox.exec() def _enforce_circuit_macros(self): cmMgr = CircuitMacrosManager(self) if cmMgr.check_installed(): return True else: _cmNotFound = _translate("MessageBox", "Cannot find the 'Circuit Macros'!\n\n") txt = _cmNotFound + _translate("MessageBox", "Do you want to try to search and install them automatically?") response = QtWidgets.QMessageBox.question(self, _translate("MessageBox", "PyCirkuit - Warning", "Message Box title"), txt, defaultButton=QtWidgets.QMessageBox.Yes) result = False if response == QtWidgets.QMessageBox.Yes: try: self.statusBar.showMessage(_translate("StatusBar", "Downloading and unpacking Circuit Macros", "Status Bar message")) app = QtWidgets.QApplication.instance() app.setOverrideCursor(QtGui.QCursor(QtCore.Qt.WaitCursor)) self.sbProgressBar.setRange(0, 100) self.sbProgressBar.setValue(0) self.sbProgressBar.setVisible(True) cmMgr.download_latest(self.sbProgressBar) cmMgr.unpack_circuit_macros() result = True except: pass finally: app.restoreOverrideCursor() self.statusBar.clearMessage() self.sbProgressBar.setVisible(False) else: txt = _cmNotFound + _translate("MessageBox", "Please indicate the correct path to them in the settings dialog.") QtWidgets.QMessageBox.critical(self, _translate("MessageBox", "PyCirkuit - Error", "Message Box title"), txt) return result @pyqtSlot() def _exportSettingsChanged(self): self.exportButton.setEnabled(False) self.processButton.setEnabled(True) def _load_file(self, fileName): settings = QSettings() # Check that file is not a broken link fileName = os.path.normpath(fileName) if os.path.isfile(fileName): lastSrcDir, filename = os.path.split(fileName) # Change system working dir to target's dir os.chdir(lastSrcDir) # Make new source dir persistent settings.setValue("General/lastSrcDir", lastSrcDir) settings.sync() # Destination dir for saving and exporting will be equal to source dir initially self.lastDstDir = lastSrcDir with open(filename, 'r') as f: txt = f.read() self.sourceText.setPlainText(txt) self.openedFilename = filename self.needSaving = False self._modify_title() self.on_processButton_clicked() def _modify_title(self): if self.needSaving: title = "PyCirkuit - {filename}*".format(filename=self.openedFilename) else: title = "PyCirkuit - {filename}".format(filename=self.openedFilename) self.setWindowTitle(title) @pyqtSlot() def _resize_preview(self): # First, retrieve the pixmap rect rect = self.imageViewer.getRect() # Next, calculate the differences between dock widget and its contents extraHeight = self.previewWidget.height() - self.imageViewer.viewport().height() extraWidth = self.previewWidget.width() - self.imageViewer.viewport().width() # Then resize the dock widget in a way that acknowledges the size constraints of other widgets dockWidgetLocation = self.dockWidgetArea(self.previewWidget) if (dockWidgetLocation == Qt.TopDockWidgetArea) or (dockWidgetLocation == Qt.BottomDockWidgetArea): self.resizeDocks([self.previewWidget], [rect.height() + extraHeight +2], Qt.Vertical) elif (dockWidgetLocation == Qt.LeftDockWidgetArea) or (dockWidgetLocation == Qt.RightDockWidgetArea): self.resizeDocks([self.previewWidget], [rect.width() + extraWidth +2], Qt.Horizontal) def _save_buffer(self, dst): """ Saves the content of the editing buffer onto disk. Arguments: dst -- the destination directory """ # We decided to handle exceptions try: with open(dst,'w', encoding='UTF-8') as f: f.write(self.sourceText.toPlainText()) except FileNotFoundError: raise except PermissionError: errMsg = _translate("MessageBox", "Error saving source file: Destination is not writable.\n\n", "Error message") errMsg += _translate("MessageBox", "Please select a suitable destination to save into.", "Error message") QtWidgets.QMessageBox.critical(self, _translate("MessageBox", "PyCirkuit - Error", "Message Box title"), errMsg) raise else: # If saving succeeded, write down the export path and file name self.lastDstDir, self.openedFilename = os.path.split(dst) self.needSaving = False self._modify_title() self.actionSave.setEnabled(False) def closeEvent(self, event): if self.needSaving: self._ask_saving() super().closeEvent(event) @pyqtSlot() def on_actionAbout_triggered(self): """ Slot documentation goes here. """ dlg = AboutDialog() dlg.exec() @pyqtSlot() def on_actionCMMan_triggered(self): # Search for Circuit Macros PDF manual if self._enforce_circuit_macros(): try: cmMgr = CircuitMacrosManager(self) cmPath = cmMgr.getManUrl() # Open it with the default app. We can do that using Qt or in a mode pythonic way (os.system...) # I choose the former because I want Qt to deal with the differences between OSes QtGui.QDesktopServices.openUrl(QtCore.QUrl.fromLocalFile(cmPath)) except PyCktCMManNotFoundError as error: QtWidgets.QMessageBox.warning(self, error.title, str(error)) @pyqtSlot() def on_actionDpicMan_triggered(self): try: dpic = ToolDpic(); path = dpic.getManUrl() QtGui.QDesktopServices.openUrl(QtCore.QUrl.fromLocalFile(path)) except PyCktDocNotFoundError as err: msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(err.title) msgBox.setIcon(QtWidgets.QMessageBox.Warning) msgBox.setText(str(err)) msgBox.setInformativeText(err.moreInfo) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) msgBox.exec() @pyqtSlot() def on_actionNew_triggered(self, newName=None): if self.needSaving: self._ask_saving() txt = _translate("MainWindow", ".PS\nscale=2.54\ncct_init\n\nl=elen_\n# Enter your drawing code here\n.PE\n", "Template text. Translate ONLY the commented out text (line starting with '#')") self.sourceText.setText(txt) if newName == None: self.openedFilename = self._translatedUnnamed self.needSaving = False else: settings = QSettings() lastSrcDir, filename = os.path.split(newName) # Change system working dir to target's dir os.chdir(lastSrcDir) settings.setValue("General/lastSrcDir", lastSrcDir) settings.sync() self.openedFilename = filename self.needSaving = True self._modify_title() self.imageViewer.clearImage() @pyqtSlot() def on_actionOpen_triggered(self): if self.needSaving: self._ask_saving() # Instantiate a settings object settings = QSettings() # Show the 'load file' Dialog fdlg = QtWidgets.QFileDialog(self) fdlg.setWindowTitle(_translate("MainWindow", "Source File Selection", "File Dialog title")) fdlg.setDirectory(settings.value("General/lastSrcDir", "")) fdlg.setNameFilters([ _translate("MainWindow", "PyCirkuit files (*.ckt)", "File filter text"), _translate("MainWindow", "M4 macro files (*.m4)", "File filter text"), _translate("MainWindow", "TeX files (*.tex)", "File filter text"), _translate("MainWindow", "Any files (*)", "File filter text")]) fdlg.setFileMode(QtWidgets.QFileDialog.ExistingFile) fdlg.setOptions(QtWidgets.QFileDialog.DontUseNativeDialog | QtWidgets.QFileDialog.ReadOnly) fdlg.setViewMode(QtWidgets.QFileDialog.Detail) fdlg.setFilter(QtCore.QDir.AllDirs | QtCore.QDir.Files | QtCore.QDir.NoDotAndDotDot) fitxer = "" if fdlg.exec(): fitxer = fdlg.selectedFiles()[0] fdlg.close() # Check that user didn't press 'Cancel' on the Dialog Box... if fitxer != "": self._load_file(fitxer) @pyqtSlot() def on_actionPreferences_triggered(self): """ Slot documentation goes here. """ cfgDlg = ConfigDialog() cfgDlg.exportSettingsChange.connect(self._exportSettingsChanged) cfgDlg.exec() @pyqtSlot() def on_actionSaveAs_triggered(self): settings = QSettings() lastSrcDir = settings.value("General/lastSrcDir", QtCore.QStandardPaths.displayName(QtCore.QStandardPaths.HomeLocation)) fdlg = QtWidgets.QFileDialog(self) fdlg.setWindowTitle(_translate("MainWindow", "Enter a file to save into", "File Dialog title")) fdlg.setDirectory(lastSrcDir) fdlg.setFilter(QtCore.QDir.AllDirs | QtCore.QDir.Files) fdlg.setNameFilters([ _translate("MainWindow", "PyCirkuit files (*.ckt)", "File filter"), _translate("MainWindow", "Any files (*)", "File filter")]) fdlg.setOptions(QtWidgets.QFileDialog.DontUseNativeDialog) fdlg.setFileMode(QtWidgets.QFileDialog.AnyFile) fdlg.setViewMode(QtWidgets.QFileDialog.Detail) fdlg.setAcceptMode(QtWidgets.QFileDialog.AcceptSave) while (fdlg.exec() == QDialog.Accepted): dst = fdlg.selectedFiles()[0] try: self._save_buffer(dst) return except PermissionError: pass @pyqtSlot() def on_actionSave_triggered(self): # Try to save into the last destination dir used. filePath = os.path.join(self.lastDstDir , self.openedFilename) # Check empty name if (self.openedFilename == self._translatedUnnamed ): self.actionSaveAs.trigger() else: # Try to save. If it fails (non-writable location...), ask for a name. try: self._save_buffer(filePath) except PermissionError: self.actionSaveAs.trigger() @pyqtSlot() def on_exportButton_clicked(self): if self.openedFilename == self._translatedUnnamed: msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(_translate("MessageBox", "PyCirkuit - Warning", "Message Box title")) msgBox.setIcon(QtWidgets.QMessageBox.Warning) msgBox.setText(_translate("MessageBox", "The source file isn't saved yet.", "Message box text.")) msgBox.setInformativeText(_translate("MessageBox", "Please save the source file somewhere prior to exporting it.", "Message Box text")) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) response = msgBox.exec() return # Fetch the formats to save. For now the extensions are fixed settings = QSettings() toSave = [] if settings.value("Export/exportTIKZ", type=bool): toSave.append("tikz") if settings.value("Export/exportSVG", type=bool): toSave.append("svg") if settings.value("Export/exportPDF", type=bool): toSave.append("pdf") if settings.value("Export/exportPNG", type=bool): toSave.append("png") if settings.value("Export/exportJPEG", type=bool): toSave.append("jpeg") # First we must detect if destination dir is writable. If not, ask for another one and update "lastSrcDir" setting (if it's writable) self.lastDstDir = self._ensure_writable_location(self.lastDstDir) # Next we do a loop for every export format requested for fileType in toSave: src = os.path.join(pycirkuit.__tmpDir__.path(), "cirkuit_tmp") + os.extsep + fileType # First try for destination path dst = os.path.join(self.lastDstDir, os.path.splitext(self.openedFilename)[0]) + os.extsep + fileType success = False while not success: try: if os.path.exists(dst): msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(_translate("MessageBox", "PyCirkuit - Warning", "Message Box title")) msgBox.setIcon(QtWidgets.QMessageBox.Warning) msgBox.setText(_translate("MessageBox", "There's already a file named \"{filename}\" at working directory.", "Message box text. Don't translate '{filename}'").format(filename=self.openedFilename.partition('.')[0]+os.extsep+fileType)) msgBox.setInformativeText(_translate("MessageBox", "Do you want to overwrite it?", "Message Box text")) msgBox.setStandardButtons(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) saveAsButton = msgBox.addButton(_translate("MessageBox", "Save As...", "Button text"), QtWidgets.QMessageBox.AcceptRole) msgBox.setDefaultButton(QtWidgets.QMessageBox.No) response = msgBox.exec() # Overwrite if response == QtWidgets.QMessageBox.Yes: copyfile(src, dst) success = True # Save with another name/path (and ask for it first) if (response == QtWidgets.QMessageBox.NoButton) and (msgBox.clickedButton() == saveAsButton): dst = self._ask_export_file(dst) self.lastDstDir, f = os.path.split(dst) copyfile(src, dst) success = True # Any other option means user doesn't want to overwrite the file -> Exit break else: copyfile(src, dst) success = True except PermissionError as err: msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(_translate("MessageBox", "PyCirkuit - Error", "Message Box title")) msgBox.setIcon(QtWidgets.QMessageBox.Critical) msgBox.setText(_translate("MessageBox", "Permission denied writing the file {filename}.", "Message box text. Don't translate '{filename}'").format(filename=err.filename)) msgBox.setInformativeText(_translate("MessageBox", "Please try to export again with another name and/or location.", "Message Box text")) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) response = msgBox.exec() # Replace dst with the new user-choosed file self.lastDstDir = self._ask_export_file(dst) except OSError: msgBox = QtWidgets.QMessageBox(self) msgBox.setWindowTitle(_translate("MessageBox", "PyCirkuit - Error", "Message Box title")) msgBox.setIcon(QtWidgets.QMessageBox.Critical) msgBox.setText(_translate("MessageBox", "An error has occurred trying to export the file. The error says:", "Message Box text")) msgBox.setInformativeText(err.strerror) msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok) response = msgBox.exec() # Continue after the 'for' loop. If we are here we've saved successfully all the requested formats, so we can disable the button self.exportButton.setEnabled(False) @pyqtSlot() def on_processButton_clicked(self): def writeHeader(tool): aux = header.format(toolLongName=self.extTools[tool].longName) self.outputText.appendPlainText('\n' + aux) self.outputText.appendPlainText("="*len(aux)) def writeOk(): self.outputText.appendPlainText(_translate("OutputLog", " + No execution errors", "Output log info")) # STEP 0: Basic checks for the existence of auxiliary programs/utilities # Check if we have all the auxiliary apps correctly installed if not self._check_programs(): return # Check if we have the Circuit Macros at the folder specified into the Settings if not self._enforce_circuit_macros(): return # Check if the template file exists and is valid if not self._check_templates(): return try: settings = QSettings() # STEP 1: Prepare the Progress Bar self.sbProgressBar.setRange(0, 8) self.sbProgressBar.setValue(0) self.sbProgressBar.setVisible(True) # STEP 2: Save current WD and set a new one savedWD = os.getcwd() os.chdir(pycirkuit.__tmpDir__.path()) # STEP 3: Establish a temporary file base name to store intermediate results tmpFileBaseName = "cirkuit_tmp" with open("{baseName}.ckt".format(baseName=tmpFileBaseName), 'w') as tmpFile: tmpFile.write(self.sourceText.toPlainText()) # STEP 4: Change cursor shape temporarily app = QtWidgets.QApplication.instance() app.setOverrideCursor(QtGui.QCursor(QtCore.Qt.WaitCursor)) # STEP 5: Clear log text self.outputText.clear() self.outputText.setPlainText(_translate("OutputLog", ">>>>> Start processing", "Output log info")) header = _translate("OutputLog", "Output of {toolLongName}:", "Output log info. Do NOT modify/translate the '{toolLongName}' variable") # STEP 6: Call M4: .CKT -> .PIC self.statusBar.showMessage(_translate("StatusBar", "Converting: Circuit Macros -> PIC", "Status Bar message")) writeHeader(ToolM4) self.extTools[ToolM4].execute(tmpFileBaseName) writeOk() self.sbProgressBar.setValue(1) # STEP 7a: Call dpic: .PIC -> .TIKZ self.statusBar.showMessage(_translate("StatusBar", "Converting: PIC -> TIKZ", "Status Bar message")) writeHeader(ToolDpic) self.extTools[ToolDpic].execute(tmpFileBaseName, outputType = pycirkuit.Option.TIKZ) writeOk() self.sbProgressBar.setValue(2) # STEP 7b: Call dpic: .PIC -> .SVG if settings.value("Export/exportSVG", type=bool): self.statusBar.showMessage(_translate("StatusBar", "Converting: PIC -> SVG", "Status Bar message")) writeHeader(ToolDpic) self.extTools[ToolDpic].execute(tmpFileBaseName, outputType = pycirkuit.Option.SVG) writeOk() self.sbProgressBar.setValue(3) # STEP 8: Call PDFLaTeX: .TIKZ -> .PDF # First we have to embed the .TIKZ code inside a suitable template self.statusBar.showMessage(_translate("StatusBar", "Converting: TIKZ -> PDF", "Status Bar message")) writeHeader(ToolPdfLaTeX) self.extTools[ToolPdfLaTeX].execute(tmpFileBaseName) writeOk() self.sbProgressBar.setValue(4) # STEP 9: Call pdftoppm to convert the PDF into a bitmap image to visualize it: .PDF -> .PNG self.statusBar.showMessage(_translate("StatusBar", "Converting: PDF -> PNG", "Status Bar message")) writeHeader(ToolPdfToPng) settings.beginGroup("Export") dpi = settings.value("exportDPI", type=int) copyfile(tmpFileBaseName+os.extsep+"pdf", tmpFileBaseName+"_display"+os.extsep+"pdf") self.extTools[ToolPdfToPng].execute(tmpFileBaseName+"_display", resolution=150) if settings.value("exportPNG", type=bool): self.extTools[ToolPdfToPng].execute(tmpFileBaseName, resolution=dpi) if settings.value("exportJPEG", type=bool): q = settings.value("exportQuality", type=int) self.extTools[ToolPdfToJpeg].execute(tmpFileBaseName, resolution=dpi, quality=q) settings.endGroup() writeOk() self.sbProgressBar.setValue(5) # STEP 10: Call pdftoppm to convert the PDF into a JPEG settings.beginGroup("Export") if settings.value("exportJPEG", type=bool): dpi = settings.value("exportDPI", type=int) q = settings.value("exportQuality", type=int) self.statusBar.showMessage(_translate("StatusBar", "Converting: PDF -> JPEG", "Status Bar message")) writeHeader(ToolPdfToPng) self.extTools[ToolPdfToJpeg].execute(tmpFileBaseName, resolution=dpi, quality=q) writeOk() self.sbProgressBar.setValue(6) settings.endGroup() # STEP 10: Visualize the image (can fail) self.sbProgressBar.setValue(7) self.imageViewer.setImage(tmpFileBaseName+"_display", adjustIGU=True) except PyCktToolExecutionError as err: self.imageViewer.setText(_translate("MainWindow", "Error!", "Fallback text to be displayed when the image cannot be generated")) self.outputText.appendPlainText(err.moreInfo) if err.tool == ToolPdfLaTeX: with open(tmpFileBaseName+'.log', 'rt') as f: for line in f.readlines(): self.outputText.appendPlainText(line) self._display_error(err) except PyCktImageError as err: self.imageViewer.setText(_translate("MainWindow", "Error!", "Fallback text to be displayed when the image cannot be generated")) self._display_error(err) else: # If all went well and we have a generated image, we can self.processButton.setEnabled(False) self.exportButton.setEnabled(True) finally: os.chdir(savedWD) self.statusBar.showMessage("") self.sbProgressBar.setVisible(False) app.restoreOverrideCursor() @pyqtSlot() def on_sourceText_textChanged(self): self.outputText.clear() if self.insideConstructor: return else: self.needSaving = True self._modify_title() self.actionSave.setEnabled(True) self.processButton.setEnabled(True) self.exportButton.setEnabled(False) pycirkuit-0.5.1/pycirkuit/ui/mainwindow.ui000066400000000000000000000313561362435125300207270ustar00rootroot00000000000000 MainWindow 0 0 677 667 440 400 PyCirkuit - by Orestes Mas :/icons/AppIcon:/icons/AppIcon true 0 :/icons/Text:/icons/Text Source Editor 0 0 :/icons/Output:/icons/Output Output Log Monospace 11 true Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse <Empty output> false &Process and display :/icons/Run:/icons/Run Alt+P false E&xport :/icons/Export:/icons/Export Alt+X 0 0 677 30 Fi&le Hel&p Setti&ngs 1 1 100 130 :/icons/view-preview.png:/icons/view-preview.png Preview 4 0 0 false <html><head/><body><p>Use:</p> <ul> <li> Ctrl + Mouse Wheel to Zoom In/Out</li> <li> Click and Move to drag the image inside the preview</li> </ul> </body></html> true QAbstractScrollArea::AdjustToContents QGraphicsView::ScrollHandDrag QGraphicsView::AnchorUnderMouse QGraphicsView::FullViewportUpdate Qt::IntersectsItemShape :/icons/Exit:/icons/Exit &Quit Close application Ctrl+Q :/icons/Open:/icons/Open &Open... Open Drawing Opens an existing drawing Ctrl+O :/icons/About:/icons/About &About PyCirkuit Application information :/icons/Settings:/icons/Settings Configure &PyCirkuit... Opens config dialog Ctrl+P :/icons/New:/icons/New &New New Drawing Creates an empty drawing Ctrl+N :/icons/Save:/icons/Save &Save Saves drawing Ctrl+S :/icons/SaveAs:/icons/SaveAs Sa&ve As... Saves drawing with new name Ctrl+Shift+S :/icons/CMman:/icons/CMman &Circuit Macros manual Opens Circuit Macros manual Ctrl+M :/icons/CMman:/icons/CMman &Dpic manual Opens Dpic manual Ctrl+D pycktTextEditor QTextEdit
pycirkuit/texteditor.h
pycktImageViewer QGraphicsView
pycirkuit/imageviewer.h
sourceText actionQuit triggered() MainWindow close() -1 -1 146 66
pycirkuit-0.5.1/setup.py000066400000000000000000000041201362435125300152530ustar00rootroot00000000000000""" Copyright (c) 2018 Orestes Mas This file is part of PyCirkuit. PyCirkuit 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. PyCirkuit 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 PyCirkuit. If not, see . """ from setuptools import setup, find_packages import pycirkuit import platform with open("README.md", "r") as fh: long_description = fh.read() setup(name = 'pycirkuit', version = pycirkuit.__version__, description = pycirkuit.__description__, long_description = long_description, long_description_content_type = "text/markdown", url = pycirkuit.__homepage__, author = pycirkuit.__author__, author_email = pycirkuit.__author_email__, license = pycirkuit.__license_short__, packages = find_packages(), package_data = { 'pycirkuit': ['doc/*', 'lib/*', 'templates/*', 'examples/*'], }, entry_points = { 'gui_scripts': [ 'pycirkuit = pycirkuit.main:main', ], }, classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Topic :: Multimedia :: Graphics :: Editors", "Topic :: Scientific/Engineering", "Intended Audience :: Education", "Intended Audience :: Science/Research", "Intended Audience :: End Users/Desktop", ], install_requires = [ # Debian package is python3-pyqt5 'PyQt5', 'wheel', # Debian package is python3-magic 'python-magic-bin' if platform.system() == 'Windows' else 'python-magic' ], zip_safe = True)