pax_global_header00006660000000000000000000000064142137300540014511gustar00rootroot0000000000000052 comment=b8fd2aef56ee5a4a96a6bdc811ccb50485aaee97 pyzo-4.12.3/000077500000000000000000000000001421373005400126015ustar00rootroot00000000000000pyzo-4.12.3/.github/000077500000000000000000000000001421373005400141415ustar00rootroot00000000000000pyzo-4.12.3/.github/workflows/000077500000000000000000000000001421373005400161765ustar00rootroot00000000000000pyzo-4.12.3/.github/workflows/cd.yml000066400000000000000000000132001421373005400173030ustar00rootroot00000000000000# GH Actions script to build the Pyzo binaries. name: CD on: workflow_dispatch: push: tags: [ 'v*' ] branches: [ cd ] jobs: # The default Windows build serving the majority of users. # Not needed because already installed: choco install innosetup --version=5.6.1 win64: name: Build Windows 64 runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.10 uses: actions/setup-python@v2 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -U pyside6 pyinstaller pip install -r freeze/frozen_libs.txt - name: Freeze run: python freeze/pyzo_freeze.py - name: Package run: python freeze/pyzo_package.py - name: Test frozen run: | python freeze/pyzo_test_frozen.py python tests/check_log.py - name: Upload distributions uses: actions/upload-artifact@v2 with: path: | freeze/dist/*.zip freeze/dist/*.exe freeze/dist/*.msi name: dist # A 32bit windows build for people on old machines. # Win32 is on the brink of deprecation, so we tune down on Py and Qt versions. win32: name: Build Windows 32 runs-on: windows-latest env: PYZO_QT_API: PyQt5 steps: - uses: actions/checkout@v2 - name: Set up Python 3.9 uses: actions/setup-python@v2 with: python-version: '3.9' architecture: x86 - name: Install dependencies run: | python -m pip install --upgrade pip pip install -U ${{ env.PYZO_QT_API }} pyinstaller pip install -r freeze/frozen_libs.txt - name: Freeze run: python freeze/pyzo_freeze.py - name: Package run: python freeze/pyzo_package.py - name: Test frozen run: | python freeze/pyzo_test_frozen.py python tests/check_log.py - name: Upload distributions uses: actions/upload-artifact@v2 with: path: | freeze/dist/*.zip name: dist # A MacOS build for x86_64. Via Rosetta this should work on all modern Macs, # but an arm64 (M1) build would be nice in the future. macos_amd64: name: Build MacOS amd64 runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.10 uses: actions/setup-python@v2 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -U pyside6 pyinstaller pip install -r freeze/frozen_libs.txt - name: Freeze run: python freeze/pyzo_freeze.py - name: Package run: python freeze/pyzo_package.py - name: Test frozen shell: bash run: | python freeze/pyzo_test_frozen.py python tests/check_log.py - name: Upload distributions uses: actions/upload-artifact@v2 with: path: | freeze/dist/*.zip freeze/dist/*.dmg name: dist # For Linux we make a build on a somewhat older ubuntu. Most Linux users prefer (or are fine with) # running Pyzo from source anyway. linux_amd64: name: Build Linux amd64 runs-on: ubuntu-18.04 env: PYZO_QT_API: PyQt5 steps: - uses: actions/checkout@v2 - name: Set up Python 3.9 uses: actions/setup-python@v2 with: python-version: '3.9' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -U ${{ env.PYZO_QT_API }} pyinstaller pip install -r freeze/frozen_libs.txt sudo apt install -y libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 \ libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 - name: Freeze run: python freeze/pyzo_freeze.py - name: Package run: python freeze/pyzo_package.py - name: Test frozen run: | xvfb-run --auto-servernum python freeze/pyzo_test_frozen.py python tests/check_log.py - name: Upload distributions uses: actions/upload-artifact@v2 with: path: | freeze/dist/*.tar.gz name: dist publish: name: Publish binaries to Github runs-on: ubuntu-latest needs: [ win64, win32, macos_amd64, linux_amd64 ] if: success() && startsWith(github.ref, 'refs/tags/v') steps: - uses: actions/checkout@v2 - name: Set up Python 3.10 uses: actions/setup-python@v2 with: python-version: '3.10' - name: Download assets uses: actions/download-artifact@v1.0.0 with: name: dist - name: Get version from git ref id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} - name: Create GH release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.get_version.outputs.VERSION }} release_name: Release ${{ steps.get_version.outputs.VERSION }} body: | Autogenerated binary wheels that include wgpu-native. See [the changelog](https://github.com/pygfx/wgpu-py/blob/main/CHANGELOG.md) for details. draft: false prerelease: false - name: Upload release assets # Move back to official action after fix https://github.com/actions/upload-release-asset/issues/4 uses: AButler/upload-release-assets@v2.0 with: release-tag: ${{ steps.get_version.outputs.VERSION }} files: 'dist/*.zip;dist/*.tar.gz;dist/*.dmg;dist/*.exe;dist/*.msi' repo-token: ${{ secrets.GITHUB_TOKEN }} pyzo-4.12.3/.github/workflows/ci.yml000066400000000000000000000066311421373005400173220ustar00rootroot00000000000000# GH Actions script to test Pyzo. name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: lint-build: name: Test linting runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@v2 - name: Set up Python 3.9 uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dev dependencies run: | python -m pip install --upgrade pip pip install -U black flake8 flake8-black - name: Flake8 run: | flake8 . test-builds: name: Test ${{ matrix.os }} py${{ matrix.pyversion }} ${{ matrix.qtlib }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: # Main test builds, 3 OS's times 4 Qt toolkits # Actually 3 Qt toolkits because PyQt6 does not work yet - os: windows-latest pyversion: '3.10' qtlib: pyside6 #- os: windows-latest # pyversion: '3.10' # qtlib: pyqt6 - os: windows-latest pyversion: '3.9' qtlib: pyqt5 - os: windows-latest pyversion: '3.9' qtlib: pyside2 - os: ubuntu-latest pyversion: '3.10' qtlib: pyside6 #- os: ubuntu-latest # pyversion: '3.10' # qtlib: pyqt6 - os: ubuntu-latest pyversion: '3.9' qtlib: pyqt5 - os: ubuntu-latest pyversion: '3.9' qtlib: pyside2 - os: macos-latest pyversion: '3.10' qtlib: pyside6 #- os: macos-latest # pyversion: '3.10' # qtlib: pyqt6 - os: macos-latest pyversion: '3.9' qtlib: pyqt5 - os: macos-latest pyversion: '3.9' qtlib: pyside2 # Older Python versions and qt libs - os: windows-latest pyversion: '3.6' qtlib: pyside6 - os: windows-latest pyversion: '3.8' qtlib: pyside6 - os: windows-latest pyversion: '3.9' qtlib: pyside6 steps: - uses: actions/checkout@v2 - name: Setup os if: matrix.os == 'ubuntu-latest' run: | sudo apt update sudo apt install libegl1-mesa - name: Set up Python ${{ matrix.pyversion }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.pyversion }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install -U pytest pip install -U ${{ matrix.qtlib }} - name: Install in development mode run: | pip install -e . - name: Test on repo run: | pytest -v tests - name: Prepare run if: matrix.os == 'ubuntu-latest' run: | sudo apt install -y libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 \ libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 - name: Run Pyzo (linux) if: matrix.os == 'ubuntu-latest' run: | xvfb-run --auto-servernum python pyzolauncher.py --test python tests/check_log.py - name: Run Pyzo if: matrix.os != 'ubuntu-latest' run: | python pyzolauncher.py --test python tests/check_log.py pyzo-4.12.3/.gitignore000066400000000000000000000002061421373005400145670ustar00rootroot00000000000000__pycache__ _famfamfam/ _feedstock/ build/ dist/ frozen/ freeze/build/ freeze/dist/ freeze/pyzo.spec *.pyc pyzo.egg-info/* pyzo-4.12.3/LICENSE.md000066400000000000000000000024631421373005400142120ustar00rootroot00000000000000Pyzo is subject to the (new) BSD license: Copyright (C) 2008-2020, the Pyzo development team Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. pyzo-4.12.3/README.md000066400000000000000000000031131421373005400140560ustar00rootroot00000000000000# Pyzo - The Interactive editor for scientific Python [![PyPI Version](https://img.shields.io/pypi/v/pyzo.svg)](https://pypi.python.org/pypi/pyzo/) [![CI](https://github.com/pyzo/pyzo/actions/workflows/ci.yml/badge.svg)](https://github.com/pyzo/pyzo/actions/workflows/ci.yml) Website: [pyzo.org](http://pyzo.org) ### Description Pyzo is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency. It consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways. Some example tools are source structure, project manager, interactive help, workspace ... Pyzo is written in (pure) Python 3 and uses the Qt GUI toolkit. Binaries are provided for all major operating system. After installing Pyzo, it can be used to execute code on any Python version available on your system (Python 2.4 - 3.x, including Pypy). ### Installation Pyzo runs on Python3 and needs PySide2 or PyQt5. On a modern OS these should be easy to obtain. One can then install Pyzo with `python3 -m pip install pyzo` We also provide [binaries](https://github.com/pyzo/pyzo/releases) for Windows, Linux and MacOS. ### License Pyzo is free and open source, licensed under the 2-clause BSD. ### Contributions If you want to help out, create an issue or pull request on Github. ### More information * main website: https://pyzo.org * code repository: https://github.com/pyzo/pyzo * mailing list: https://groups.google.com/group/pyzo pyzo-4.12.3/RELEASE_NOTES.md000066400000000000000000000716571421373005400151730ustar00rootroot00000000000000# Release notes ### Version 4.12.3 (14-03-2022) - Fix printing to PDF. - Include Version in MacOS app bundle. - Fix support for Python 2.x. - Pyzo consumes less CPU/power - longer battery life! ### Version 4.12.0 (20-01-2022) - Support for PySide6. - Fix to prevent running out of ports to connect to kernel. - Refactor freezing process, fixing the MacOS binaries. ### Version 4.11.4 (24-11-2021) - Fix for using PySide6 and PyQt5 in interpreter. - Fix for running Pyzo with Python 3.10. ### Version 4.11.2 (19-11-2020) - Fix for MacOS Big Sur (#731). ### Version 4.11.0 (16-10-2020) - Fix broken support for non-english keyboard layouts. - Support for Python 3.9 (fix thread.isAlive error, thanks @stonebig). - Fix slow font enumeration. - Improve behavior on HiDPI screens. - Prevent errors during editing syntax styles. - Change the base port number that Pyzo uses to communicate with the kernels. - Remove button to stop kernel but leave the shell open, to reduce clutter. - Added support for toggling comments (Ctrl+Shift+3, thanks @l33tlinuxh4x0r). - Prevent segfault on PySide2. - Pyzo now closes faster. - Better handling of carriage return in shell (#705, Thanks Eelke Spaak). - Autocompletion is triggered a bit later to make it less anoying (thanks Yann Salmon). ### Version 4.10.2 (10-02-2020) - Fix that PyInstaller's changes to `LD_LIBRARY_PATH` leak through to the kernels (#665). ### Version 4.10.1 (10-02-2020) - We've now automized the building of binaries on Azure Pipelines! - Our code is now formatted with Black, and checked with Flake8. - CI does not have a lot of tests yet, but we do check linting and importing on Python 3.5 and 3.8. - Implemented support for highres displays (although I am unable to verify myself). - Improve the workspace display of list, tuple, dict and array. - Clean up `LD_LIBRARY_PATH` for the kernels (#665). - Some improvements to asyncio integration. - Autocompletion no longer cancels the interactive help. - Issue a warning when `logging.basicConfig()` is called (because it does nothing). - Fix that non-breakable space was converted (#621, thanks Yann Salmon). - Add Jetbrains monospace font. - Fix introspection of signature containing kw-only args or annotations. - Add polish translation (thanks wojnilowicz) - Fix that Pyzo crashes on startup when non-english language is set and status bar is shown. ### Version 4.9.0 (16-09-2019) - Fix a problem where shells do not start on Windows 10 (For some reason, on some machines, aftter a Windows update, some (ranges of) ports are blocked). Resulting in a "warming up" message. See issue #644 for details. - Pyzo now has a status bar (thanks kelsa-pi). - Fix that running as script fails when the "use IPython shell" checkbox in on in the shell config, but IPython is unavailable. - Fix config path detection on older systems. - Fix that restart did not work when running Pyzo from source. - Let the menu display the tooltips correctly - no more black rectangles (thanks Tontyna). ### Version 4.8.1 (27-08-2019) - A fix to make sure Pyzo runs on Python 3.5 - A fix to make sure Pyzo runs correctly on Debian. ### Version 4.8.0 (27-08-2019) - Fix block commenting when having empty lines (Thanks adddvent) - Improve automatic insertion of braces and brackets - Improvements to advanced Settings (thanks Kelsi-Pi and Yann Salmon) - The Python 3 parser does not show Python 2 specifics (like print as a keyword) anymore (Thanks Yann Salmon) - Unified margins between widgets (thanks Kelsi-Pi) - Enable brace matching in shell (thanks Yann Salmon) - Improved PDF export (thanks filman230) - Improved variable explorer (thanks Yann Salmon) - Interactive help can now show help for operators and keywords, and has backward and forward buttons (thanks Yann Salmon) - Pyzo stores config data in a more suitable place on Unix (thanks filman230) - Increase limit for number of lines of a function def for it to be still shown in the source structure tool. ### Version 4.7.4 (12-04-2019) - The shell now prints the last expression from a run cell (like Spyder does) - Fix support for Python 2.4 - fix that themes are not packaged in source dist ### Version 4.7.3 (27-03-2019) A few fixes related to the new freezing process with PyInstaller, causing a failure to integrate Qt-based GUI toolkits. Also a fix related to the discovery of Python interpreters. ### Version 4.7.0 (17-03-2019) * Pyzo properly works with Miniconda/Anaconda environments on Windows again (Conda apparently now needs some specific entries in the PATH environment variable). * We (finally) have different styles to choose from, and they can be tweaked (thanks Erik Helmers). * Pyzo should scale propertly on high resolution displays (at least on Windows and OS X). * Can now specify startup code both for before *and* after integrating the GUI (thanks @Diti24). * There is now a primitive dialog to set advanced settings (thanks kelsa-pi). * Pyzo will remove trailing whitespace if the original file contained very little trailing whitespace. * Pyzo can now detect pipenv interpreters. * The binaries are now build with PyInstaller and should thus be more robust. Windows binaries are build on Windows 7, Linux binaries on Ubuntu 16.04, OS X binaries on 10.11 El Capitan. All binaries are 64 bit. ### Version 4.6.1 (19-10-2018) * A few tweaks to make Pyzo work better with non-conda environments (interpreter selection and install/uodate/remove commands). * The editor can now guess the file type from the shebang, if present (thanks Yann Salmon). * Kernel works with Python 2.4 again. * French translations. ### Version 4.6.0 (06-08-2018) * Make Pyzo work with Python 3.7 (thanks @stonebig) * Fix the broken `xx?` command * Fix the broken `cd` command * Fix in history viewer autoscroll (thanks @ssoel) * New feature: autoclose brackets (thanks to @kelsa-pi) * New feature: autoclose quotes (thanks to @kelsa-pi) * Play nice with tools like `click` (see #542) * Make environment variable settings more resilient to whitespace * Improvements to asyncio integrated event loop ### Version 4.5.1 (14-02-2018) * Fixed a few bugs introduced in the previous release. ### Version 4.5.0 (08-02-2018) * Add toggle case and printify in Edit menu (#518 by kelsa-pi). * Add syntax highlighting for builtins and `self` (#519 by kelsa-pi). * Suppress errors for unfound files on startup (#520 by Federico Miorelli). * Don't try to open source file for e.g. ``open ('foo.txt')`` (#515 by Yann Salmon). * Allow files with spaces to run as script in IPython (#514 by Yehuda Davis). * Replace single/all/all files now available as combo box (includes #513 by Antoine Fourmy). * Allow for a site-wide config file (#512 by Yann Salmon). * Fix for when ipython checkbox is set but ipython is not available (#517). * Support for event loop integration with asyncio. * Add syntax highlighting for async and await keywords. * Add syntax highlighting for textual Web Assembly (.wat). ### Version 4.4.3 (09-10-2017) * Fix to appdata format to fix building Pyzo on Freedesktop (#510). ### Version 4.4.2 (13-09-2017) * Fix that running file as script would not work if the IPython flag was never turned on (#498). * Fix delete action in filer browser (#505). * Nicer appearance and coloring of source structure content (thanks to WangYi). * more translations (e.g. for tool titles) (thanks to WangYi). ### Version 4.4.1 (14-07-2017) Fixes: * Fix that code editor fonts are oblique on some OS X machines. * Restore broken introspection (for interactive help and calltips). * Calltips now also work for builtins. * Restore ability to run Python kernels as low as version 2.4. * More updates to translations. Small improvements: * Added config option to change directory when executing file (not as script). * Use `%run -i` to run script when ipython console is used (Diti24). * Added another shell context menu entry to change directory. * Added a config option to make the shell widget floatable. ### Version 4.4 (29-06-2017) This release represents a large amount of new features and improvements: Editor and shell: * Tab titles also show part of the filename path if multiple files with the same name are present. * The command history is now shared between all shells, and saved between sessions. * Running selection will add to command history, also more options for command history tool. * The Autocompletion accept keys can now be configured via the menu. * The Autocompletion has more modes: automatic popup and popup only when pressing tab. * Ctrl+up/down now "scrolls" the editor. * Menu action (and shortcut Ctr+Shift+up/down) to move (selected) lines up/down (with help from Yehuda Davis). * Menu action (and shortcut) to duplicate lines. * Breakpoints can now be toggled with a menu action (and shortcut). * Breakpoints now move along when lines are inserted above it. * Fixed that Shift+Enter inserted a newline. * Menu action in editor context menu and editor tab menu to open the directory in the file browser. * Menu action in shell context menu to open current directory in file browser. * Menu action in shell context menu to change the current directory to match the file browser. * Fixes to shell help system (#422). * Add new `install xx`, `update xx` and `remove xx` commands as shortcuts for conda commands. Tools: * Fix file browser's data import wizard. * The file browser now logically sorts files and directories. * The file browser can now show hidden files (can be turned off by filtering with `!hidden`). * The `if __name__ == '__main__':` thingy is now shown in the source structure. * The source structure tool has back/forward buttons (i.e. you can click on a method and then jump back). * Methods and builtin functions are now also hidden in workspace when "hide function" filter is used. Other: * Added GUI integration support for PySide2 (by Rob Reilink). * Improved support for high resolution (retina) displays (by Seb Jachec). * Fixed the sometimes blurry icons. * Fix PDF printing and include line numbers. * Fix that keyboard shortcuts were not working on Linux with Qt5 (#470). * More text is now translatable (and more translations have been made, though not yet in all languages). * Fix that conda' errors messages were not shown. * And many more small tweaks and fixes ... ### Version 4.3.1 (28-09-2016) * Fix in workspace variable introspection * Fix severe regression in PyQt4 GUI integration * Add PyQt5 GUI integration ### Version 4.3 (27-09-2016) * Pyzo can now run on PyQt5 (in addition to PyQt4 and PySide) * Remove dependency on pyzolib * Reduced scrolling while stepping through the debugger (#417) * Updated translations * Fixed regression in call tip (#421) * The binaries for Linux have improved (fonts, load time, #423, #414) * Numeric items in workspace are correctly sorted (#428) * Improved Tornado integration * And more ... ### Version 4.2 (27-06-2016) No big refactoring, but a few improvements and fixes: * Much improved brace matching (skips strings, shows missing/wrong) (thanks to Yann Salmon) * Brace matching can be configured * `conda install` looks in `conda-forge` by default * Add `isatty()` to standard file streams to fix interop with pip (#400) * Fixed a breakpoint bug * Fixed TypeError on Fedora #393 * Added freedesktop file (thanks to Ghis Vaillant) * Passed sys.argv to the QApplication, which helps Linux associate the program (thanks to Mark Harfouche) * Tornado event loop is now integrated by running Tornado's event loop for real. The downside is that events cannot be processed during debugging, but at least there are no weird delays now (Tornado was not meant to run the way we ran it). * Fix "open outside Pyzo" on Windows when a path has spaces in it. * Workspace can hide private variables ### Version 4.1 (04-04-2016) First announced release after merging the Pyzo and IEP projects. * Improved dialog that detects an interpreter and guides the user. * Detect interpreters relative to the Pyzo executable. This way Pyzo can be shipped along with a prebuild anaconda (#382). * Fixed bug that made Pyzo slow on new Linux kernel (#381). * New translations for Traditional Chinese. * Ability to start Jupyter notebook from shell and from file browser tool. * Clicking on a syntax error for code run as cell brings you to correct line. * Breakpoints work in cells and code an as selected lines. * Conda command no longer spams the shell with loads of messages. * Shell can deal with clearline using `\r`, e.g. used in conda commands. ### Version 4.0 We smashed the Pyzo and IEP projects together into a single project: * The name is Pyzo * The logo is the one from IEP * It is not longer a distribution, but a lightweight IDE (like IEP was) that helps the user install a (miniconda) environment. Other improvements: * Cells can be written as in Spyder: `# %% this is a cell`. * Autodetection of a GUI toolkit. * Minor tweaks here and there. ### Version 3.6 (18-02-2015) (Simultaneously released version 3.6.1: a hotfix for OSX) * Support for Jython! (issue #323) * New tool: command history * Smarter copying and pasting * Experimental support for integrating the Tornado event loop * IEP is available in Debian! (issue #337) Thanks Ghis! * issue #311: Zoom level of code text is inconsistent between architectures * issue #314: Unable to launch after installing from source. * issue #330: Comment line puts # on correctly indented position * issue #172: Filter Workspace view * issue #317: magic open command should go to appropriate line * issue #315: sys.stdout has no attribute 'errors' * issue #332: Cannot save file when File browser shows drives list on Windows * issue #325: multiprocessing.pool doesn't work * issue #322: Cannot run IEP form IEP * issue #318: Line ending removed from last line upon save Editor * issue #306: Easier to modify syntax style Menu / settings * issue #305: cursor jumping to file beginning upon save * pr #16: Fix the import wizard on PyQt4 (Scott Logan) * pr #13: Allowing shell window to float is useful in dual screen mode (Laurent Signac) * pr #14: Fix previous tab selection without history (Scott Logan) * pr #11: cell navigation (Jan Müller) ### Version 3.5 (01-07-2014) (This release ended up in Pyzo 2014a, but binaries for IEP itself were not build) * issue 301: IEP can now be associated with .py files (on Windows and OSX) * Running `iep_exe foo.py` will open the file in IEP (using already running process if possible) (see issue #301) * issue #297: Enable keeping processing GUI events while debugging (via IEP_PROCESS_EVENTS_WHILE_DEBUGGING environment arg) * issue #298: Add config option to remove trailing whitespace on save * issue #295: Add goto definition (Thanks to Jason Sexauer) * issue #292: Add config option to set text justification width * issue #302: Fix in Spanish translation * issue #300: Created AppData file for package managers * issue #296: Easier use of timeit in non-IPython mode * issue #294: On startup focus on editor * issue #288: Installing IEP via pip now also installs script to launch IEP * issue #290: allow executing startup code *after* importing the GUI * issue #287: Starup script got cleared in shell config * Added functionality for easily creating screenshots (`iep.screenshot()` in logger shell) * The Windows installer does not need admin priveleges if installing in the right place. ### Version 3.4 (02-04-2014) This version is marked by many improvements to the shell. Most notably, we now have *IPython integration*! Further, there are more ways to customize the shell (e.g. define command line and environment args), there is support for coloured text, you can click on filenames in tracebacks to open them, and it just behaves better overall. Also, many improvements have been made to our debug system. Improvements/fixes related to the shell and kernel: * issue #136: Embed IPython shell * Shell can now deal with ANSI control chars to display color text * issue #261: Allow custom code to execute on startup * Code/script to run at startup runs before GUI is integrated (fixes issue #264) * issue #268: Allow specifying extra environment arguments in shell config * issue #239: Enable passing command line arguments (sys.argv) * issue #262: Clicking in shell to focus to it causes scrolling to last line to stop * issue #250: Prevent early exit for programs entering PySide event loop * issue #240: On Windows allow kernel to start also if 'cmd' is not recognized. * issue #275: Paths in shell output (e.g. tracebacks) can be clicked on to open the file at the corresponding file number. * issue #278: Fixed that on OSX Maverick, App Nap made the IEP kernel slow Other notable improvements: * issue #249: Unclear where to place breakpoints * issue #241: Debug-stepping in a new module change current file to there * issue #266: Editor should auto-scroll to breakpoint when it becomes active * issue #252: Fix that cursor is gone after dragging in a file (Linux) * issue #267: Improved terminology for different RUN actions * issue #285: Print/export code to pdf * Webbrowser tool used QWebkit if available (Thanks to David Salter) Other fixes issues: #161, #188, #201, #209, #245, #255, #251, #265, #270, #271, #276, #242, #229, #260, #259, #227, #254, #253, #243, #244 During the beta period we also fixed: #286, #283, #277, #281 ### Version 3.3.2 (12-11-2013) * Fixed issue #243: Running IEP from source did not work with PyQt4 * Fixed issue #240: IEP now runs also if 'cmd' is unknown on Windows * Fixed problem with registering Pyzo on Windows * Fixed problem with IEP binaries (MSVCR runtime) on Windows 32. * Fixed problem with IEP binaries (qt.conf) on OS X. ### Version 3.3 (29-10-2013) Since last release we have a new website, a new logo, and this release introduces our experimental libre license model. In terms of functionality, the biggest change is that IEP now supports debugging with breakpoints! The binaries for Linux are now build without -gtkstyle, making them look better or worse, depending on your OS. There is an experimental feature that tries to load PySide from the system libraries. The Python version on your system must be 3.3. E.g. on Ubuntu 13.10 you can do `sudo apt-get install python3-pyside`. To enable this feature, check the `qt.conf` file. Further, there have been several bug fixes and improvements: * Several small improvements to file browser tool * New splash screen (with new logo) * Added `conda` command to shell * Added `pip` command to shell * Qt backend runs in the real Qt event loop, which allows Qt applications to be much more responsive. * Do not auto-indent in a comment (Gijs van Oort) * New translations for Russian (George Volkov) * IEP binaries should now not clash with system Qt libraries * Project manager tool is now removed. * "cd to project dir" option added to file browser (by Laurent Signac) * issue #1: debugging with breakpoints * issue #225: replace-all scrolls to start * issue #226: QTextBlockUserData object has no attribute 'indentation' * issues: #182, #197, #207, #192, #194, #160, #110, #205, #211, #215 ### version 3.2 (13-03-2013) This is the first release for which all binaries are build with Python 3.3 and PySide. The most notable change is the new file browser, which replaces the old file browser and project manager tools. It combines the power of both in one simple interface. It also has functionality for peeking inside python modules. Since its design uses a generalization of the file system, implementing alternative file systems (like zip files or remote machines) should be quite easy in the future. IEP now also comes with two fonts: 'DejaVu Sans Mono' (the default font) and Adobes new 'Source code pro'. IEP now supports multiple languages. Translations for Dutch, French, Spanish and Catalan are available. Hoping for more in future versions. List of issues that are fixed in this release: * issue #82: most texts are now translatable * issue #86: redesign of file browser tool * issue #149 and issue #150: better context menu in the editor * issue #156: Popup window for autocompletion can now be resized (via the config) * issue #157: Ctrl+Shift+Enter execute cell and go to next cell (as in Matlab) * issue #159: Exit code of Python process was incorrect * issue #163, issue #164, issue #165: Fixed problems running on Python 3.3 and Pyside. * issue #166: smart handling of indentation when deleting text. * issue #178: The font can now be chosen in the menu, and IEP ships with a good default font. * Further: issue #14, issue #138, issue #139, issue #144, issue #147, issue #158, issue #186 Other changes: * Tools can now be packages, allowing their code to be better structured. * Fault handler module is used on Python 3.3 to debug hard crashes. * When IEP closes, it takes better care of stopping daemon threads. * Some cosmetic enhancements of the tools. * The keys to accept autocompletion can now be configured (e.g. use Enter instead of Tab), see issue #134. During the beta period, a few more issues were fixed: * issue #189 (cannot mix incompatible Qt libraries) * and issue #186, issue #189, issue #200 ### version 3.1.1 (21-12-2012) Fix for issue #137: crucial issue on Ubuntu 12.10. ### version 3.1 (19-12-2012) Most notable changes: * IEP is now a package, making it to easier to integrate in other software. * IEP will be the IDE for [Pyzo](http://www.pyzo.org), and now has some functionality to integrate nicely with the Pyzo distro. * Multiple lines can now be pasted and executed in the shell (issue #120). * Run selection (F9) runs the selected statement if on a single line (issue #42). * IEP is now build with PySide (issue #85). * Goto-line functionality (double-click on the line number area) (issue #76) * Comments and docstrings can now easily be reshaped (CTR+J) (issue #105) * The shell widget now uses a powerful menu instead of tabs. * IEP now has a Wizard to help new users on their way. * Cells are separated more clearly. Complete list of fixed issues: issue #42, issue #76, issue #85, issue #90, issue #95, issue #99, issue #101, issue #105, issue #106, issue #107, issue #111, issue #112, issue #113, issue #115, issue #116, issue #120, issue #122, issue #123, issue #124, issue #128, issue #129, issue #130, issue #132, issue #133. ### version 3.0 (14-05-2012) We fixed the issues that we collected for 3.0.beta: * We fixed issue #89, issue #91, issue #93, issue #94, issue #95, issue #96, issue #98, issue #100. (See [overview](http://code.google.com/p/iep/issues/list?can=1&q=Milestone%3DRelease3.0|overview)) * The syntax style now uses a pure-white background; the solarized version becomes pinkish on some systems. * The shortcuts are reset. For 3.0.beta we carefully selected the key bindings so that they feel native for Windows, Linux and Mac. By resetting shortcuts, users that already used IEP 2.3 get the new bindings as well. ### version 3.0.beta (18-04-2012) About 14 months after releasing 2.3, we finally got version 3.0 out. The main reason for this delay that we re-implemented some core components, which took a lot of time to get right. Funny fact: the amount of changesets in the repository has more than doubled since the last release. The core things that were changed: * We have rewritten the code that does the communication between the kernel and the IEP. This code is organized separately in a package we've called [Yoton(http://code.google.com/p/yoton/). We've designed it in such a way that it will allow us to run a kernel on a different machine (remote computing) and to connect multiple users to the same kernel (collaborative computing). You might expect these features in one of the coming releases. Further, it paves the way for parallel computing (but that's for the further future). * Another big change is the editing component. We've gotten rid of Scintilla (which is an old library with an inconsistent API, with bad support for Unicode, and was very buggy on Mac). We have designed our own editing component using pure Qt components. We've designed that part too to be independent of IEP, so it might be reused in other projects. * The code for the menu has been completely redone, allowing for easier incorporation of icons, and using (contex) menus in other places. * The editorstack has been gotten rid of. In its place is the project manager and a more classic tab bar, custom-made to make the tabs more compact and provide information about the open documents in a subtle and non-intrusive manner. There've been tons of other things we've improved and fixed along the way. Because we changed so much to the code, it's hard to list (and remember) all of them. Because we designed a new editing component, some features are now also removed, e.g. brace matching. We plan on implementing most of these features in the coming releases. ### version 2.3 (23-11-2010) For this release we implemented many improvements and bug-fixes. Further, we implemented a few new tools and made IEP work for the Mac. * From this release, IEP uses the BSD license. * Binaries are now also available for 64bit Linux and Mac. * Improved the interactive help; it looks better and can show numpy docstrings well. * Source structure tool can now also show class attributes (in addition to methods). * New Workspace tool. * New File browser tool which has the ability to search inside files. * New webbrowser tool (very simple though, I did not want to use the QT webkit to keep the binaries small). * IEP uses the guisupport.py module to integrate the event loops for GUI toolkits. * The GTK event loop can now also be integrated. * Many bug/issue fixes: * Fixed bug in shell config dialog when there is no Python installed on Windows. * Fixed bug: sys.argv = [''] in inreractive mode (and not []). * Prevent restoring window position if it's not on screen. * Many more that I failed to document properly :) * Files with Windows line ending are now correctly executed when running as script. * Fixed issue #9 that IEP sometimes hangs when doing 'open xxx'. * Better signatures for extension code. * newlines are now correctly displayed when showing whitespace. * Can now also interrupt files run as script. * Loads of other small improvements ... ### version 2.2 (24-08-2010) A few beta tester played around with the first version and gave me list of things to improve. Special thanks to Stef for his suggestions. * Better distinction between running code interactively or as a script. Also significantly improved the shell configuration dialog. * Append '' to sys.path in interactive mode. In Script mode, add the directory of the script. * Allow enter and other chars to complete the autocompletion. * Better detection of classes and defs in the code parser (also for cython code). * Let user change the PythonPath in shell configs. * Shell always fits 80 colums set to default False. * Shells can also be set not to wrap to 80 columns. * The code parser handles multiline strings in the code also if they dedent. * Fixed autocompletion lag. * In keymapping dialog let dubbleclick on name open up shortcut 1. * Remove statusbar (for now) as it does contain no extra information. * If no project selected, give message when trying to run code in the project. * Made a small tutorial file that is loaded on first startup. * When showing line endings, show \r and \r\n correctly. * Source structure can also show class attributes. * Fixed autocompletion list update bug. * Handle Unicode correctly when typing in the shell. * Fonts and style now work/look better on KDE and older Linuxes. * Fixed some issues with check-for-updates. * EditorStack can be scrolled with the scroll wheel. * IEP can now also integrate the GTK event loop. * Many other changes and fixes ... ### version 2.1 (21-07-2010) The first official version of Iep. ### version 2.0.1 I intended to release alpha release while I was developing Iep, but only released the one right after I finished the editor stack. ### version 1.0 A bit of history ... When I started working with Python, I used IPython and Pype, which I both really liked, but I felt that the two should be combined in one application. Since I could not find a free IDE that did this (Spyder did not exist yet) I set out to make my own. I wrote a first version of IEP in Python 2.5 using the wx GUI toolkit. When I thought it was at a stage that it was suitable for a public release, I tested in on Linux, and it looked like `cr*p`. I could (and should) have expected this, because I used some widgets on a rather low-level, and some widgets behave rather differently on different OS's (since wx wraps the native widgets to the os). This made me look for other GUI toolkits. I took a (brief) look at fltk, but ended up with Qt4, right around the time that it went LGPL. Although a bit big memory-wise, the consistent library and powerful widgets of PyQt4 gave me hope that I was on the right track. I started from scratch, reusing as much code as I could, but also redesigning large parts to fix all the little things I was not quite happy about. Since I was designing the same application for the second time, I had a pretty good idea what I wanted and how it should be done. Nevertheless, it took me another year or so to get it to a level I found suitable for release: version 2.1.pyzo-4.12.3/TRANSLATIONS.md000066400000000000000000000017371421373005400150540ustar00rootroot00000000000000Many texts in Pyzo are translatable to other languages. Currently, we have translations for Dutch, German, French, Spanish, Catalan, Portuguese, Brazilian Portuguese, Russian, Traditional Chinese, Simplified Chinese. For the translations we make use of Qt's translation system. To update a translation, run Qt linguist on any of the `.tr` files [here](https://github.com/pyzo/pyzo/tree/main/pyzo/resources/translations). Then submit the result, preferably via a Github pull request (but emailing it to me is fine too). The translation texts contain double colons to separate the regular text from a more detailed text that will be shown in the tooltip, e.g. "open :: open a new file". If you want to add translations for a new language, send me an email or make an issue so that I can create the appropriate `.tr` file. There are also many text that are not yet translatable, you can also help by modifying the code such that these strings are passed through the `translate()` function. pyzo-4.12.3/doc/000077500000000000000000000000001421373005400133465ustar00rootroot00000000000000pyzo-4.12.3/doc/.requirements000066400000000000000000000000301421373005400160630ustar00rootroot00000000000000pyzolib pygments PySide pyzo-4.12.3/doc/Makefile000066400000000000000000000151421421373005400150110ustar00rootroot00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = _build # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) endif # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" @echo " xml to make Docutils-native XML files" @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" clean: rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/pyzo.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/pyzo.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/pyzo" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/pyzo" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." latexpdfja: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo @echo "Build finished. The XML files are in $(BUILDDIR)/xml." pseudoxml: $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." pyzo-4.12.3/doc/codeeditor/000077500000000000000000000000001421373005400154675ustar00rootroot00000000000000pyzo-4.12.3/doc/codeeditor/index.rst000066400000000000000000000004571421373005400173360ustar00rootroot00000000000000.. _codeeditor: Codeeditor - The core editing component ======================================= This subpackage is independent of any other components of IEP and only has Qt (PySide2 or PyQt5) as a dependency. It works on Python 3 and may also still work on Python2. Content and API will come here. pyzo-4.12.3/doc/conf.py000066400000000000000000000176041421373005400146550ustar00rootroot00000000000000#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # Pyzo documentation build configuration file, created by # sphinx-quickstart on Sun Jan 26 00:33:41 2014. # # This file is execfile()d with the current directory set to its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys, os # noqa # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # sys.path.insert(0, os.path.abspath('.')) # -- General configuration ----------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ["sphinx.ext.autodoc"] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix of source filenames. source_suffix = ".rst" # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. master_doc = "index" # General information about the project. project = "Pyzo" copyright = "2016, Pyzo contributors" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = "3.4" # The full version, including alpha/beta/rc tags. release = "3.4" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ["_build"] # The reST default role (used for this markup: `text`) to use for all documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). # add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. # show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False # -- Options for HTML output --------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = "default" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_domain_indices = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = "Pyzodoc" # -- Options for LaTeX output -------------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ("index", "pyzo.tex", "Pyzo Documentation", "Pyzo contributors", "manual"), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # If true, show page references after internal links. # latex_show_pagerefs = False # If true, show URL addresses after external links. # latex_show_urls = False # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_domain_indices = True # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [("index", "pyzo", "Pyzo Documentation", ["Pyzo contributors"], 1)] # If true, show URL addresses after external links. # man_show_urls = False # -- Options for Texinfo output ------------------------------------------------ # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( "index", "Pyzo", "Pyzo Documentation", "Pyzo contributors", "Pyzo", "One line description of project.", "Miscellaneous", ), ] # Documents to append as an appendix to all manuals. # texinfo_appendices = [] # If false, no module index is generated. # texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. # texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. # texinfo_no_detailmenu = False pyzo-4.12.3/doc/index.rst000066400000000000000000000013041421373005400152050ustar00rootroot00000000000000.. IEP documentation master file, created by sphinx-quickstart on Sun Jan 26 00:33:41 2014. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to IEP's documentation! =============================== API docs in progress. IEP is organized in several subpackages, some of which can be used completely independent from the rest. Although IEP the IDE requires Qt and Python 3, some of its subpackages can safely be imported without these dependencies... Contents: .. toctree:: :maxdepth: 2 codeeditor/index yoton/index Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` pyzo-4.12.3/doc/make.bat000066400000000000000000000150511421373005400147550ustar00rootroot00000000000000@ECHO OFF REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set BUILDDIR=_build set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . set I18NSPHINXOPTS=%SPHINXOPTS% . if NOT "%PAPER%" == "" ( set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% ) if "%1" == "" goto help if "%1" == "help" ( :help echo.Please use `make ^` where ^ is one of echo. html to make standalone HTML files echo. dirhtml to make HTML files named index.html in directories echo. singlehtml to make a single large HTML file echo. pickle to make pickle files echo. json to make JSON files echo. htmlhelp to make HTML files and a HTML help project echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages echo. texinfo to make Texinfo files echo. gettext to make PO message catalogs echo. changes to make an overview over all changed/added/deprecated items echo. xml to make Docutils-native XML files echo. pseudoxml to make pseudoxml-XML files for display purposes echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled goto end ) if "%1" == "clean" ( for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i del /q /s %BUILDDIR%\* goto end ) %SPHINXBUILD% 2> nul if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/html. goto end ) if "%1" == "dirhtml" ( %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. goto end ) if "%1" == "singlehtml" ( %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. goto end ) if "%1" == "pickle" ( %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the pickle files. goto end ) if "%1" == "json" ( %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the JSON files. goto end ) if "%1" == "htmlhelp" ( %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %BUILDDIR%/htmlhelp. goto end ) if "%1" == "qthelp" ( %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %BUILDDIR%/qthelp, like this: echo.^> qcollectiongenerator %BUILDDIR%\qthelp\pyzo.qhcp echo.To view the help file: echo.^> assistant -collectionFile %BUILDDIR%\qthelp\pyzo.ghc goto end ) if "%1" == "devhelp" ( %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp if errorlevel 1 exit /b 1 echo. echo.Build finished. goto end ) if "%1" == "epub" ( %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub file is in %BUILDDIR%/epub. goto end ) if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 echo. echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdf" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf cd %BUILDDIR%/.. echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdfja" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf-ja cd %BUILDDIR%/.. echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 echo. echo.Build finished. The text files are in %BUILDDIR%/text. goto end ) if "%1" == "man" ( %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man if errorlevel 1 exit /b 1 echo. echo.Build finished. The manual pages are in %BUILDDIR%/man. goto end ) if "%1" == "texinfo" ( %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo if errorlevel 1 exit /b 1 echo. echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. goto end ) if "%1" == "gettext" ( %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale if errorlevel 1 exit /b 1 echo. echo.Build finished. The message catalogs are in %BUILDDIR%/locale. goto end ) if "%1" == "changes" ( %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes if errorlevel 1 exit /b 1 echo. echo.The overview file is in %BUILDDIR%/changes. goto end ) if "%1" == "linkcheck" ( %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck if errorlevel 1 exit /b 1 echo. echo.Link check complete; look for any errors in the above output ^ or in %BUILDDIR%/linkcheck/output.txt. goto end ) if "%1" == "doctest" ( %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest if errorlevel 1 exit /b 1 echo. echo.Testing of doctests in the sources finished, look at the ^ results in %BUILDDIR%/doctest/output.txt. goto end ) if "%1" == "xml" ( %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml if errorlevel 1 exit /b 1 echo. echo.Build finished. The XML files are in %BUILDDIR%/xml. goto end ) if "%1" == "pseudoxml" ( %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml if errorlevel 1 exit /b 1 echo. echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. goto end ) :end pyzo-4.12.3/doc/yoton/000077500000000000000000000000001421373005400145165ustar00rootroot00000000000000pyzo-4.12.3/doc/yoton/channels.rst000066400000000000000000000532551421373005400170550ustar00rootroot00000000000000Channels ======== The channel classes represent the mechanism for the user to send messages into the network and receive messages from it. A channel needs a context to function; the context represents a node in the network. Slots ----- To be able to route messages to the right channel, channels are associated with a slot (a string name). This slot consists of a user-defined base name and an extension to tell the message type and messaging pattern. Messages send from a channel with slot X, are only received by channels with the same slot X. Slots are case insensitive. Messaging patterns ------------------ Yoton supports three base messaging patterns. For each messaging pattern there are specific channel classes. All channels derive from :ref:`yoton.BaseChannel`. **publish/subscribe** The :ref:`yoton.PubChannel` class is used for sending messages into the network, and the :ref:`yoton.SubChannel` class is used to receiving these messages. Multiple PubChannels and SubChannels can exist in the same network at the same slot; the SubChannels simply collect the messages send by all PubChannels. **request/reply** The :ref:`yoton.ReqChannel` class is used to do requests, and the :ref:`yoton.RepChannel` class is used to reply to requests. If multiple ReqChannels are present at the same slot, simple load balancing is performed. **state** The :ref:`yoton.StateChannel` class is used to communicate state to other state channels. Each :ref:`yoton.StateChannel` can set and get the state. Message types ------------- Messages are of a specific type (text, binary, ...), the default being Unicode text. The third (optional) argument to a Channel's initializer is a MessageType object that specifies how messages should be converted to bytes and the other way around. This way, the channels classes themself can be agnostic about the message type, while the user can implement its own MessageType class to send whatever messages he/she likes. .. insertdocs start:: yoton.BaseChannel .. insertdocs :members: .. _insertdocs-yoton-BaseChannel: .. py:class:: yoton.BaseChannel(context, slot_base, message_type=yoton.TEXT) *Inherits from object* Abstract class for all channels. **Parameters** context : :ref:`yoton.Context` instance The context that this channel uses to send messages in a network. slot_base : string The base slot name. The channel appends an extension to indicate message type and messaging pattern to create the final slot name. The final slot is used to connect channels at different contexts in a network message_type : yoton.MessageType instance (default is yoton.TEXT) Object to convert messages to bytes and bytes to messages. Users can create their own message_type class to enable communicating any type of message they want. **Details** Messages send via a channel are delivered asynchronically to the corresponding channels. All channels are associated with a context and can be used to send messages to other channels in the network. Each channel is also associated with a slot, which is a string that represents a kind of address. A message send by a channel at slot X can only be received by a channel with slot X. Note that the channel appends an extension to the user-supplied slot name, that represents the message type and messaging pattern of the channel. In this way, it is prevented that for example a PubChannel can communicate with a RepChannel. *PROPERTIES* .. _insertdocs-yoton-BaseChannel-closed: .. py:attribute:: yoton.BaseChannel.closed Get whether the channel is closed. .. _insertdocs-yoton-BaseChannel-pending: .. py:attribute:: yoton.BaseChannel.pending Get the number of pending incoming messages. .. _insertdocs-yoton-BaseChannel-received: .. py:attribute:: yoton.BaseChannel.received Signal that is emitted when new data is received. Multiple arrived messages may result in a single call to this method. There is no guarantee that recv() has not been called in the mean time. The signal is emitted with the channel instance as argument. .. _insertdocs-yoton-BaseChannel-slot_incoming: .. py:attribute:: yoton.BaseChannel.slot_incoming Get the incoming slot name. .. _insertdocs-yoton-BaseChannel-slot_outgoing: .. py:attribute:: yoton.BaseChannel.slot_outgoing Get the outgoing slot name. *METHODS* .. _insertdocs-yoton-BaseChannel-close: .. py:method:: yoton.BaseChannel.close() Close the channel, i.e. unregisters this channel at the context. A closed channel cannot be reused. Future attempt to send() messages will result in an IOError being raised. Messages currently in the channel's queue can still be recv()'ed, but no new messages will be delivered at this channel. .. insertdocs end:: .. insertdocs start:: yoton.PubChannel .. insertdocs :members: .. _insertdocs-yoton-PubChannel: .. py:class:: yoton.PubChannel(context, slot_base, message_type=yoton.TEXT) *Inherits from BaseChannel* The publish part of the publish/subscribe messaging pattern. Sent messages are received by all :ref:`yoton.SubChannel` instances with the same slot. There are no limitations for this channel if events are not processed. **Parameters** context : :ref:`yoton.Context` instance The context that this channel uses to send messages in a network. slot_base : string The base slot name. The channel appends an extension to indicate message type and messaging pattern to create the final slot name. The final slot is used to connect channels at different contexts in a network message_type : yoton.MessageType instance (default is yoton.TEXT) Object to convert messages to bytes and bytes to messages. Users can create their own message_type class to let channels any type of message they want. *METHODS* .. _insertdocs-yoton-PubChannel-send: .. py:method:: yoton.PubChannel.send(message) Send a message over the channel. What is send as one message will also be received as one message. The message is queued and delivered to all corresponding SubChannels (i.e. with the same slot) in the network. .. insertdocs end:: .. insertdocs start:: yoton.SubChannel .. insertdocs :members: .. _insertdocs-yoton-SubChannel: .. py:class:: yoton.SubChannel(context, slot_base, message_type=yoton.TEXT) *Inherits from BaseChannel* The subscribe part of the publish/subscribe messaging pattern. Received messages were sent by a :ref:`yoton.PubChannel` instance at the same slot. This channel can be used as an iterator, which yields all pending messages. The function :ref:`yoton.select_sub_channel` can be used to synchronize multiple SubChannel instances. If no events being processed this channel works as normal, except that the received signal will not be emitted, and sync mode will not work. **Parameters** context : :ref:`yoton.Context` instance The context that this channel uses to send messages in a network. slot_base : string The base slot name. The channel appends an extension to indicate message type and messaging pattern to create the final slot name. The final slot is used to connect channels at different contexts in a network message_type : yoton.MessageType instance (default is yoton.TEXT) Object to convert messages to bytes and bytes to messages. Users can create their own message_type class to let channels any type of message they want. *METHODS* .. _insertdocs-yoton-SubChannel-next: .. py:method:: yoton.SubChannel.next() Return the next message, or raises StopIteration if non available. .. _insertdocs-yoton-SubChannel-recv: .. py:method:: yoton.SubChannel.recv(block=True) Receive a message from the channel. What was send as one message is also received as one message. If block is False, returns empty message if no data is available. If block is True, waits forever until data is available. If block is an int or float, waits that many seconds. If the channel is closed, returns empty message. .. _insertdocs-yoton-SubChannel-recv_all: .. py:method:: yoton.SubChannel.recv_all() Receive a list of all pending messages. The list can be empty. .. _insertdocs-yoton-SubChannel-recv_selected: .. py:method:: yoton.SubChannel.recv_selected() Receive a list of messages. Use only after calling :ref:`yoton.select_sub_channel` with this channel as one of the arguments. The returned messages are all received before the first pending message in the other SUB-channels given to select_sub_channel. The combination of this method and the function select_sub_channel enables users to combine multiple SUB-channels in a way that preserves the original order of the messages. .. _insertdocs-yoton-SubChannel-set_sync_mode: .. py:method:: yoton.SubChannel.set_sync_mode(value) Set or unset the SubChannel in sync mode. When in sync mode, all channels that send messages to this channel are blocked if the queue for this SubChannel reaches a certain size. This feature can be used to limit the rate of senders if the consumer (i.e. the one that calls recv()) cannot keep up with processing the data. This feature requires the yoton event loop to run at the side of the SubChannel (not necessary for the :ref:`yoton.PubChannel` side). .. insertdocs end:: .. insertdocs start:: yoton.select_sub_channel .. _insertdocs-yoton-select_sub_channel: .. py:function:: yoton.select_sub_channel(channel1, channel2, ...) Returns the channel that has the oldest pending message of all given yoton.SubCannel instances. Returns None if there are no pending messages. This function can be used to read from SubCannels instances in the order that the messages were send. After calling this function, use channel.recv_selected() to obtain all messages that are older than any pending messages in the other given channels. .. insertdocs end:: .. insertdocs start:: yoton.ReqChannel .. insertdocs :members: .. _insertdocs-yoton-ReqChannel: .. py:class:: yoton.ReqChannel(context, slot_base) *Inherits from BaseChannel* The request part of the request/reply messaging pattern. A ReqChannel instance sends request and receive the corresponding replies. The requests are replied by a :ref:`yoton.RepChannel` instance. This class adopts req/rep in a remote procedure call (RPC) scheme. The handling of the result is done using a :ref:`yoton.Future` object, which follows the approach specified in PEP 3148. Note that for the use of callbacks, the yoton event loop must run. Basic load balancing is performed by first asking all potential repliers whether they can handle a request. The actual request is then send to the first replier to respond. **Parameters** context : :ref:`yoton.Context` instance The context that this channel uses to send messages in a network. slot_base : string The base slot name. The channel appends an extension to indicate message type and messaging pattern to create the final slot name. The final slot is used to connect channels at different contexts in a network **Usage** One performs a call on a virtual method of this object. The actual method is executed by the :ref:`yoton.RepChannel` instance. The method can be called with normal and keyword arguments, which can be (a combination of): None, bool, int, float, string, list, tuple, dict. **Example** .. code-block:: python # Fast, but process is idling when waiting for the response. reply = req.add(3,4).result(2.0) # Wait two seconds # Asynchronous processing, but no waiting. def reply_handler(future): ... # Handle reply future = req.add(3,4) future.add_done_callback(reply_handler) .. insertdocs end:: .. insertdocs start:: yoton.RepChannel .. insertdocs :members: .. _insertdocs-yoton-RepChannel: .. py:class:: yoton.RepChannel(context, slot_base) *Inherits from BaseChannel* The reply part of the request/reply messaging pattern. A RepChannel instance receives request and sends the corresponding replies. The requests are send from a :ref:`yoton.ReqChannel` instance. This class adopts req/rep in a remote procedure call (RPC) scheme. To use a RepChannel, subclass this class and implement the methods that need to be available. The reply should be (a combination of) None, bool, int, float, string, list, tuple, dict. This channel needs to be set to event or thread mode to function (in the first case yoton events need to be processed too). To stop handling events again, use set_mode('off'). **Parameters** context : :ref:`yoton.Context` instance The context that this channel uses to send messages in a network. slot_base : string The base slot name. The channel appends an extension to indicate message type and messaging pattern to create the final slot name. The final slot is used to connect channels at different contexts in a network *METHODS* .. _insertdocs-yoton-RepChannel-echo: .. py:method:: yoton.RepChannel.echo(arg1, sleep=0.0) Default procedure that can be used for testing. It returns a tuple (first_arg, context_id) .. _insertdocs-yoton-RepChannel-set_mode: .. py:method:: yoton.RepChannel.set_mode(mode) Set the replier to its operating mode, or turn it off. Modes: * 0 or 'off': do not process requests * 1 or 'event': use the yoton event loop to process requests * 2 or 'thread': process requests in a separate thread .. insertdocs end:: .. insertdocs start:: yoton.Future .. insertdocs :members: .. _insertdocs-yoton-Future: .. py:class:: yoton.Future(req_channel, req, request_id) *Inherits from object* The Future object represents the future result of a request done at a :ref:`yoton.ReqChannel`. It enables: * checking whether the request is done. * getting the result or the exception raised during handling the request. * canceling the request (if it is not yet running) * registering callbacks to handle the result when it is available *METHODS* .. _insertdocs-yoton-Future-add_done_callback: .. py:method:: yoton.Future.add_done_callback(fn) Attaches the callable fn to the future. fn will be called, with the future as its only argument, when the future is cancelled or finishes running. Added callables are called in the order that they were added. If the callable raises a Exception subclass, it will be logged and ignored. If the callable raises a BaseException subclass, the behavior is undefined. If the future has already completed or been cancelled, fn will be called immediately. .. _insertdocs-yoton-Future-cancel: .. py:method:: yoton.Future.cancel() Attempt to cancel the call. If the call is currently being executed and cannot be cancelled then the method will return False, otherwise the call will be cancelled and the method will return True. .. _insertdocs-yoton-Future-cancelled: .. py:method:: yoton.Future.cancelled() Return True if the call was successfully cancelled. .. _insertdocs-yoton-Future-done: .. py:method:: yoton.Future.done() Return True if the call was successfully cancelled or finished running. .. _insertdocs-yoton-Future-exception: .. py:method:: yoton.Future.exception(timeout) Return the exception raised by the call. If the call hasn’t yet completed then this method will wait up to timeout seconds. If the call hasn’t completed in timeout seconds, then a TimeoutError will be raised. timeout can be an int or float. If timeout is not specified or None, there is no limit to the wait time. If the future is cancelled before completing then CancelledError will be raised. If the call completed without raising, None is returned. .. _insertdocs-yoton-Future-result: .. py:method:: yoton.Future.result(timeout=None) Return the value returned by the call. If the call hasn’t yet completed then this method will wait up to timeout seconds. If the call hasn’t completed in timeout seconds, then a TimeoutError will be raised. timeout can be an int or float. If timeout is not specified or None, there is no limit to the wait time. If the future is cancelled before completing then CancelledError will be raised. If the call raised, this method will raise the same exception. .. _insertdocs-yoton-Future-result_or_cancel: .. py:method:: yoton.Future.result_or_cancel(timeout=1.0) Return the value returned by the call. If the call hasn’t yet completed then this method will wait up to timeout seconds. If the call hasn’t completed in timeout seconds, then the call is cancelled and the method will return None. .. _insertdocs-yoton-Future-running: .. py:method:: yoton.Future.running() Return True if the call is currently being executed and cannot be cancelled. .. _insertdocs-yoton-Future-set_auto_cancel_timeout: .. py:method:: yoton.Future.set_auto_cancel_timeout(timeout) Set the timeout after which the call is automatically cancelled if it is not done yet. By default, this value is 10 seconds. If timeout is None, there is no limit to the wait time. .. _insertdocs-yoton-Future-set_exception: .. py:method:: yoton.Future.set_exception(exception) Sets the result of the work associated with the Future to the Exception exception. This method should only be used by Executor implementations and unit tests. .. _insertdocs-yoton-Future-set_result: .. py:method:: yoton.Future.set_result(result) Sets the result of the work associated with the Future to result. This method should only be used by Executor implementations and unit tests. .. _insertdocs-yoton-Future-set_running_or_notify_cancel: .. py:method:: yoton.Future.set_running_or_notify_cancel() This method should only be called by Executor implementations before executing the work associated with the Future and by unit tests. If the method returns False then the Future was cancelled, i.e. Future.cancel() was called and returned True. If the method returns True then the Future was not cancelled and has been put in the running state, i.e. calls to Future.running() will return True. This method can only be called once and cannot be called after Future.set_result() or Future.set_exception() have been called. .. insertdocs end:: .. insertdocs start:: yoton.StateChannel .. insertdocs :members: .. _insertdocs-yoton-StateChannel: .. py:class:: yoton.StateChannel(context, slot_base, message_type=yoton.TEXT) *Inherits from BaseChannel* Channel class for the state messaging pattern. A state is synchronized over all state channels of the same slot. Each channel can send (i.e. set) the state and recv (i.e. get) the current state. Note however, that if two StateChannel instances set the state around the same time, due to the network delay, it is undefined which one sets the state the last. The context will automatically call this channel's send_last() method when a new context enters the network. The recv() call is always non-blocking and always returns the last received message: i.e. the current state. There are no limitations for this channel if events are not processed, except that the received signal is not emitted. **Parameters** context : :ref:`yoton.Context` instance The context that this channel uses to send messages in a network. slot_base : string The base slot name. The channel appends an extension to indicate message type and messaging pattern to create the final slot name. The final slot is used to connect channels at different contexts in a network message_type : yoton.MessageType instance (default is yoton.TEXT) Object to convert messages to bytes and bytes to messages. Users can create their own message_type class to let channels any type of message they want. *METHODS* .. _insertdocs-yoton-StateChannel-recv: .. py:method:: yoton.StateChannel.recv(block=False) Get the state of the channel. Always non-blocking. Returns the most up to date state. .. _insertdocs-yoton-StateChannel-send: .. py:method:: yoton.StateChannel.send(message) Set the state of this channel. The state-message is queued and send over the socket by the IO-thread. Zero-length messages are ignored. .. _insertdocs-yoton-StateChannel-send_last: .. py:method:: yoton.StateChannel.send_last() Resend the last message. .. insertdocs end:: pyzo-4.12.3/doc/yoton/clientserver.rst000066400000000000000000000103541421373005400177600ustar00rootroot00000000000000:mod:`clientserver` -- Request-reply pattern using a client-server model ========================================================================= .. insertdocs start:: yoton.clientserver .. _insertdocs-yoton-clientserver: .. py:module:: yoton.clientserver yoton.clientserver.py Yoton comes with a small framework to setup a request-reply pattern using a client-server model (over a non-persistent connection), similar to telnet. This allows one process to easily ask small pieces of information from another process. To create a server, create a class that inherits from :ref:`yoton.RequestServer` and implement its handle_request() method. A client process can simply use the :ref:`yoton.do_request` function. Example: ``yoton.do_request('www.google.com:80', 'GET http/1.1\r\n')`` The client server model is implemented using one function and one class: :ref:`yoton.do_request` and :ref:`yoton.RequestServer`. **Details** The server implements a request/reply pattern by listening at a socket. Similar to telnet, each request is handled using a connection and the socket is closed after the response is send. The request server can setup to run in the main thread, or can be started using its own thread. In the latter case, one can easily create multiple servers in a single process, that listen on different ports. .. insertdocs end:: Implementation -------------- The client server model is implemented using one function and one class: :ref:`yoton.do_request` and :ref:`yoton.RequestServer`. .. insertdocs start:: yoton.do_request .. _insertdocs-yoton-do_request: .. py:function:: yoton.do_request(address, request, timeout=-1) Do a request at the server at the specified address. The server can be a :ref:`yoton.RequestServer`, or any other server listening on a socket and following a REQ/REP pattern, such as html or telnet. For example: ``html = do_request('www.google.com:80', 'GET http/1.1\r\n')`` **Parameters** address : str Should be of the shape hostname:port. request : string The request to make. timeout : float If larger than 0, will wait that many seconds for the respons, and return None if timed out. **Notes on hostname** The hostname can be: * The IP address, or the string hostname of this computer. * 'localhost': the connections is only visible from this computer. Also some low level networking layers are bypassed, which results in a faster connection. The other context should also connect to 'localhost'. * 'publichost': the connection is visible by other computers on the same network. .. insertdocs end:: .. insertdocs start:: yoton.RequestServer .. _insertdocs-yoton-RequestServer: .. py:class:: yoton.RequestServer(address, async=False, verbose=0) *Inherits from Thread* Setup a simple server that handles requests similar to a telnet server, or asyncore. Starting the server using run() will run the server in the calling thread. Starting the server using start() will run the server in a separate thread. To create a server, subclass this class and re-implement the handle_request method. It accepts a request and should return a reply. This server assumes utf-8 encoded messages. **Parameters** address : str Should be of the shape hostname:port. async : bool If True, handles each incoming connection in a separate thread. This might be advantageous if a the handle_request() method takes a long time to execute. verbose : bool If True, print a message each time a connection is accepted. **Notes on hostname** The hostname can be: * The IP address, or the string hostname of this computer. * 'localhost': the connections is only visible from this computer. Also some low level networking layers are bypassed, which results in a faster connection. The other context should also connect to 'localhost'. * 'publichost': the connection is visible by other computers on the same network. .. insertdocs end:: pyzo-4.12.3/doc/yoton/connection.rst000066400000000000000000000143731421373005400174170ustar00rootroot00000000000000Connection ========== The connection classes represent the connection between two context. There is one base class (yoton.Connection) and currently there is one implementation: the :ref:`yoton.TcpConnection`. In the future other connections might be added that use other methods than TCP/IP. .. insertdocs start:: yoton.Connection .. insertdocs :members: .. _insertdocs-yoton-Connection: .. py:class:: yoton.Connection(context, name='') *Inherits from object* Abstract base class for a connection between two Context objects. This base class defines the full interface; subclasses only need to implement a few private methods. The connection classes are intended as a simple interface for the user, for example to query port number, and be notified of timeouts and closing of the connection. All connection instances are intended for one-time use. To make a new connection, instantiate a new Connection object. After instantiation, either _bind() or _connect() should be called. *PROPERTIES* .. _insertdocs-yoton-Connection-closed: .. py:attribute:: yoton.Connection.closed Signal emitted when the connection closes. The first argument is the ContextConnection instance, the second argument is the reason for the disconnection (as a string). .. _insertdocs-yoton-Connection-hostname1: .. py:attribute:: yoton.Connection.hostname1 Get the hostname corresponding to this end of the connection. .. _insertdocs-yoton-Connection-hostname2: .. py:attribute:: yoton.Connection.hostname2 Get the hostname for the other end of this connection. Is empty string if not connected. .. _insertdocs-yoton-Connection-id1: .. py:attribute:: yoton.Connection.id1 The id of the context on this side of the connection. .. _insertdocs-yoton-Connection-id2: .. py:attribute:: yoton.Connection.id2 The id of the context on the other side of the connection. .. _insertdocs-yoton-Connection-is_alive: .. py:attribute:: yoton.Connection.is_alive Get whether this connection instance is alive (i.e. either waiting or connected, and not in the process of closing). .. _insertdocs-yoton-Connection-is_connected: .. py:attribute:: yoton.Connection.is_connected Get whether this connection instance is connected. .. _insertdocs-yoton-Connection-is_waiting: .. py:attribute:: yoton.Connection.is_waiting Get whether this connection instance is waiting for a connection. This is the state after using bind() and before another context connects to it. .. _insertdocs-yoton-Connection-name: .. py:attribute:: yoton.Connection.name Set/get the name that this connection is known by. This name can be used to obtain the instance using the Context.connections property. The name can be used in networks in which each context has a particular role, to easier distinguish between the different connections. Other than that, the name has no function. .. _insertdocs-yoton-Connection-pid1: .. py:attribute:: yoton.Connection.pid1 The pid of the context on this side of the connection. (hint: os.getpid()) .. _insertdocs-yoton-Connection-pid2: .. py:attribute:: yoton.Connection.pid2 The pid of the context on the other side of the connection. .. _insertdocs-yoton-Connection-port1: .. py:attribute:: yoton.Connection.port1 Get the port number corresponding to this end of the connection. When binding, use this port to connect the other context. .. _insertdocs-yoton-Connection-port2: .. py:attribute:: yoton.Connection.port2 Get the port number for the other end of the connection. Is zero when not connected. .. _insertdocs-yoton-Connection-timedout: .. py:attribute:: yoton.Connection.timedout This signal is emitted when no data has been received for over 'timeout' seconds. This can mean that the connection is unstable, or that the other end is running extension code. Handlers are called with two arguments: the ContextConnection instance, and a boolean. The latter is True when the connection times out, and False when data is received again. .. _insertdocs-yoton-Connection-timeout: .. py:attribute:: yoton.Connection.timeout Set/get the amount of seconds that no data is received from the other side after which the timedout signal is emitted. *METHODS* .. _insertdocs-yoton-Connection-close: .. py:method:: yoton.Connection.close(reason=None) Close the connection, disconnecting the two contexts and stopping all trafic. If the connection was waiting for a connection, it stops waiting. Optionally, a reason for closing can be specified. A closed connection cannot be reused. .. _insertdocs-yoton-Connection-close_on_problem: .. py:method:: yoton.Connection.close_on_problem(reason=None) Disconnect the connection, stopping all trafic. If it was waiting for a connection, we stop waiting. Optionally, a reason for stopping can be specified. This is highly recommended in case the connection is closed due to a problem. In contrast to the normal close() method, this method does not try to notify the other end of the closing. .. _insertdocs-yoton-Connection-flush: .. py:method:: yoton.Connection.flush(timeout=3.0) Wait until all pending packages are send. An error is raised when the timeout passes while doing so. .. insertdocs end:: .. insertdocs start:: yoton.TcpConnection .. insertdocs :members: .. _insertdocs-yoton-TcpConnection: .. py:class:: yoton.TcpConnection(context, name='') *Inherits from Connection* The TcpConnection class implements a connection between two contexts that are in differenr processes or on different machines connected via the internet. This class handles the low-level communication for the context. A ContextConnection instance wraps a single BSD socket for its communication, and uses TCP/IP as the underlying communication protocol. A persisten connection is used (the BSD sockets stay connected). This allows to better distinguish between connection problems and timeouts caused by the other side being busy. .. insertdocs end:: pyzo-4.12.3/doc/yoton/context.rst000066400000000000000000000173041421373005400167410ustar00rootroot00000000000000Context ======= .. insertdocs start:: yoton.Context .. insertdocs :members: .. _insertdocs-yoton-Context: .. py:class:: yoton.Context(verbose=0, queue_params=None) *Inherits from object* A context represents a node in the network. It can connect to multiple other contexts (using a :ref:`yoton.Connection`. These other contexts can be in another process on the same machine, or on another machine connected via a network or the internet. This class represents a context that can be used by channel instances to communicate to other channels in the network. (Thus the name.) The context is the entity that queue routes the packages produced by the channels to the other context in the network, where the packages are distributed to the right channels. A context queues packages while it is not connected to any other context. If messages are send on a channel registered at this context while the context is not connected, the messages are stored by the context and will be send to the first connecting context. **Example 1** .. code-block:: python # Create context and bind to a port on localhost context = yoton.Context() context.bind('localhost:11111') # Create a channel and send a message pub = yoton.PubChannel(context, 'test') pub.send('Hello world!') **Example 2** .. code-block:: python # Create context and connect to the port on localhost context = yoton.Context() context.connect('localhost:11111') # Create a channel and receive a message sub = yoton.SubChannel(context, 'test') print(sub.recv() # Will print 'Hello world!' **Queue params** The queue_params parameter allows one to specify the package queues used in the system. It is recommended to use the same parameters for every context in the network. The value of queue_params should be a 2-element tuple specifying queue size and discard mode. The latter can be 'old' (default) or 'new', meaning that if the queue is full, either the oldest or newest messages are discarted. *PROPERTIES* .. _insertdocs-yoton-Context-connection_count: .. py:attribute:: yoton.Context.connection_count Get the number of connected contexts. Can be used as a boolean to check if the context is connected to any other context. .. _insertdocs-yoton-Context-connections: .. py:attribute:: yoton.Context.connections Get a list of the Connection instances currently active for this context. In addition to normal list indexing, the connections objects can be queried from this list using their name. .. _insertdocs-yoton-Context-connections_all: .. py:attribute:: yoton.Context.connections_all Get a list of all Connection instances currently associated with this context, including pending connections (connections waiting for another end to connect). In addition to normal list indexing, the connections objects can be queried from this list using their name. .. _insertdocs-yoton-Context-id: .. py:attribute:: yoton.Context.id The 8-byte UID of this context. *METHODS* .. _insertdocs-yoton-Context-bind: .. py:method:: yoton.Context.bind(address, max_tries=1, name='') Setup a connection with another Context, by being the host. This method starts a thread that waits for incoming connections. Error messages are printed when an attemped connect fails. the thread keeps trying until a successful connection is made, or until the connection is closed. Returns a Connection instance that represents the connection to the other context. These connection objects can also be obtained via the Context.connections property. **Parameters** address : str Should be of the shape hostname:port. The port should be an integer number between 1024 and 2**16. If port does not represent a number, a valid port number is created using a hash function. max_tries : int The number of ports to try; starting from the given port, subsequent ports are tried until a free port is available. The final port can be obtained using the 'port' property of the returned Connection instance. name : string The name for the created Connection instance. It can be used as a key in the connections property. **Notes on hostname** The hostname can be: * The IP address, or the string hostname of this computer. * 'localhost': the connections is only visible from this computer. Also some low level networking layers are bypassed, which results in a faster connection. The other context should also connect to 'localhost'. * 'publichost': the connection is visible by other computers on the same network. Optionally an integer index can be appended if the machine has multiple IP addresses (see socket.gethostbyname_ex). .. _insertdocs-yoton-Context-close: .. py:method:: yoton.Context.close() Close the context in a nice way, by closing all connections and all channels. Closing a connection means disconnecting two contexts. Closing a channel means disasociating a channel from its context. Unlike connections and channels, a Context instance can be reused after closing (although this might not always the best strategy). .. _insertdocs-yoton-Context-close_channels: .. py:method:: yoton.Context.close_channels() Close all channels associated with this context. This does not close the connections. See also close(). .. _insertdocs-yoton-Context-connect: .. py:method:: yoton.Context.connect(self, address, timeout=1.0, name='') Setup a connection with another context, by connection to a hosting context. An error is raised when the connection could not be made. Returns a Connection instance that represents the connection to the other context. These connection objects can also be obtained via the Context.connections property. **Parameters** address : str Should be of the shape hostname:port. The port should be an integer number between 1024 and 2**16. If port does not represent a number, a valid port number is created using a hash function. max_tries : int The number of ports to try; starting from the given port, subsequent ports are tried until a free port is available. The final port can be obtained using the 'port' property of the returned Connection instance. name : string The name for the created Connection instance. It can be used as a key in the connections property. **Notes on hostname** The hostname can be: * The IP address, or the string hostname of this computer. * 'localhost': the connection is only visible from this computer. Also some low level networking layers are bypassed, which results in a faster connection. The other context should also host as 'localhost'. * 'publichost': the connection is visible by other computers on the same network. Optionally an integer index can be appended if the machine has multiple IP addresses (see socket.gethostbyname_ex). .. _insertdocs-yoton-Context-flush: .. py:method:: yoton.Context.flush(timeout=5.0) Wait until all pending messages are send. This will flush all messages posted from the calling thread. However, it is not guaranteed that no new messages are posted from another thread. Raises an error when the flushing times out. .. insertdocs end:: pyzo-4.12.3/doc/yoton/events.rst000066400000000000000000000126321421373005400165600ustar00rootroot00000000000000Event system ============ .. insertdocs start:: yoton.events .. _insertdocs-yoton-events: .. py:module:: yoton.events Module :ref:`yoton.events` Yoton comes with a simple event system to enable event-driven applications. All channels are capable of running without the event system, but some channels have limitations. See the documentation of the channels for more information. Note that signals only work if events are processed. .. insertdocs end:: .. insertdocs start:: yoton.Signal .. insertdocs :members: .. _insertdocs-yoton-Signal: .. py:class:: yoton.Signal() *Inherits from object* The purpose of a signal is to provide an interface to bind/unbind to events and to fire them. One can bind() or unbind() a callable to the signal. When emitted, an event is created for each bound handler. Therefore, the event loop must run for signals to work. Some signals call the handlers using additional arguments to specify specific information. *PROPERTIES* .. _insertdocs-yoton-Signal-type: .. py:attribute:: yoton.Signal.type The type (__class__) of this event. *METHODS* .. _insertdocs-yoton-Signal-bind: .. py:method:: yoton.Signal.bind(func) Add an eventhandler to this event. The callback/handler (func) must be a callable. It is called with one argument: the event instance, which can contain additional information about the event. .. _insertdocs-yoton-Signal-emit: .. py:method:: yoton.Signal.emit(*args, **kwargs) Emit the signal, calling all bound callbacks with *args and **kwargs. An event is queues for each callback registered to this signal. Therefore it is safe to call this method from another thread. .. _insertdocs-yoton-Signal-emit_now: .. py:method:: yoton.Signal.emit_now(*args, **kwargs) Emit the signal *now*. All handlers are called from the calling thread. Beware, this should only be done from the same thread that runs the event loop. .. _insertdocs-yoton-Signal-unbind: .. py:method:: yoton.Signal.unbind(func=None) Unsubscribe a handler, If func is None, remove all handlers. .. insertdocs end:: .. insertdocs start:: yoton.Timer .. insertdocs :members: .. _insertdocs-yoton-Timer: .. py:class:: yoton.Timer(interval=1.0, oneshot=True) *Inherits from Signal* Timer class. You can bind callbacks to the timer. The timer is fired when it runs out of time. **Parameters** interval : number The interval of the timer in seconds. oneshot : bool Whether the timer should do a single shot, or run continuously. *PROPERTIES* .. _insertdocs-yoton-Timer-interval: .. py:attribute:: yoton.Timer.interval Set/get the timer's interval in seconds. .. _insertdocs-yoton-Timer-oneshot: .. py:attribute:: yoton.Timer.oneshot Set/get whether this is a oneshot timer. If not is runs continuously. .. _insertdocs-yoton-Timer-running: .. py:attribute:: yoton.Timer.running Get whether the timer is running. *METHODS* .. _insertdocs-yoton-Timer-start: .. py:method:: yoton.Timer.start(interval=None, oneshot=None) Start the timer. If interval or oneshot are not given, their current values are used. .. _insertdocs-yoton-Timer-stop: .. py:method:: yoton.Timer.stop() Stop the timer from running. .. insertdocs end:: .. insertdocs start:: yoton.call_later .. _insertdocs-yoton-call_later: .. py:function:: yoton.call_later(func, timeout=0.0, *args, **kwargs) Call the given function after the specified timeout. **Parameters** func : callable The function to call. timeout : number The time to wait in seconds. If zero, the event is put on the event queue. If negative, the event will be put at the front of the event queue, so that it's processed asap. args : arguments The arguments to call func with. kwargs: keyword arguments. The keyword arguments to call func with. .. insertdocs end:: .. insertdocs start:: yoton.process_events .. _insertdocs-yoton-process_events: .. py:function:: yoton.process_events(block=False) Process all yoton events currently in the queue. This function should be called periodically in order to keep the yoton event system running. block can be False (no blocking), True (block), or a float blocking for maximally 'block' seconds. .. insertdocs end:: .. insertdocs start:: yoton.start_event_loop .. _insertdocs-yoton-start_event_loop: .. py:function:: yoton.start_event_loop() Enter an event loop that keeps calling yoton.process_events(). The event loop can be stopped using stop_event_loop(). .. insertdocs end:: .. insertdocs start:: yoton.stop_event_loop .. _insertdocs-yoton-stop_event_loop: .. py:function:: yoton.stop_event_loop() Stops the event loop if it is running. .. insertdocs end:: .. insertdocs start:: yoton.embed_event_loop .. _insertdocs-yoton-embed_event_loop: .. py:function:: yoton.embed_event_loop(callback) Embed the yoton event loop in another event loop. The given callback is called whenever a new yoton event is created. The callback should create an event in the other event-loop, which should lead to a call to the process_events() method. The given callback should be thread safe. Use None as an argument to disable the embedding. .. insertdocs end:: pyzo-4.12.3/doc/yoton/examples.rst000066400000000000000000000051311421373005400170660ustar00rootroot00000000000000Examples ========= Abstract example ---------------- This example shows four connected contexts. In principal, all contexts are the same (a context is neither a client nor a server). Yet, different contexts can play different roles in the network, by using different channels: * The upper left context publishes a stream of messages. * The upper right context employs a reply-channel, thereby taking on a server role. * The bottom left context takes on a client-like role by subscribing to the "stream" channel and by having a request-channel on "data". * The bottom right context has no channels and thus only serves as a means of connecting the different contexts. .. image:: images/yoton_abstract.png Simple client server ---------------------- Two contexts. One takes a server role by having a publish-channel and a reply-channel. The other takes on a client role by deploying the corresponding subscribe-channel and request-channel. .. image:: images/yoton_simple.png Multiple request/reply ----------------------- This network contains only two types of context: requesters and repliers. Yoton performs a simple load balancing scheme: when the user posts a request, the req-channel first asks all repliers whether they can want to handle it. Eventually all repliers will answer that they do, but the actual request is only send to the first to respond. Requesters that are handling a previous request are unable to respond quickly so that the request will be handled by a "free" replier automatically. If all requesters are busy, the first to "come back" will handle the request. .. image:: /images/yoton_multiple_reqrep.png Chat ------ This network consists of context which all take the same role; they all send chat messages and receive chat messages of the other nodes. One big chat room! .. image:: images/yoton_chat.png IDE / kernel ------------- This network illustrates a simplified version of what yoton was initially designed for: client-kernel communication. `IEP `_ uses yoton for its kernel-client communications, see `here `_ which channels IEP uses for that. The network consists of one kernel and two clients which are connected via a broker. Both clients can control the kernel via an stdin stream and receive output on stdout. The kernel also has a reply-channel so that the IDE's can obtain introspection information (think auto-completion). The broker also publishes some status messages. The bottom kernel is apparently only interested in kernel control. .. image:: images/yoton_kernel.png pyzo-4.12.3/doc/yoton/experiments.rst000066400000000000000000000054271421373005400176230ustar00rootroot00000000000000Experiments with sockets ======================== I performed a series on tests on bot Windows and Linux. Testing sockets on localhost and publichost (what you get with gethostname()), for killing one of the processes, and removing the connection (unplugging the cable). I wanted to answer the following questions: * When and how can we detect that the other process dropped (killed or terminated)? * When and how can we detect connection problems? * Can we still send data if the other end stops receiving data? And if not, can we still detect a connection drop? On Windows, same box ----------------------- * If hosting on network level, and killing the network device, the disconnection is immediately detected (socket.error is raised when calling send() or recv()). * Killing either process will immediately result in an error being raised. * This is true for hosting local or public. * -> Therefore, when hosting on localhost (the connection cannot be lost) we do not need a heartbeat. On Linux, same box --------------------- * I cannot kill the connection, only the process. When I do, the other side will be able to receive, but receives EOF (empty bytes), which looks like a nice exit. Note that this behavior is different than on Windows. * When the other side does not receive, I can still send huge amounts of data. * This applies when hosting as localhost or as gethostname. On Linux & Windows, different boxes ------------------------------------ * When I kill the connection (remove network cable), it takes a while for either end to see that the connection is dead. I can even put the cable back in and go on communicating. This is a feature of TCP to be robust against network problems. See http://www.unixguide.net/network/socketfaq/2.8.shtml * When I keep the connection, but kill the process on either end, this is detected immediately (in the same way as described above, depending on the OS); there's still low-level communication between the two boxes, and the port is detected to be unavailable. * On Linux I can keep sending huge amounts of data even if the other end does not receive. On Windows I can't. In both cases they can detect the other process dropping. Conclusions -------------- * On local machine (broker-kernel), we use localhost so that we will not have network problems. We can detect if a process drops, which is essential. * Between boxes, we use a heartbeat signal to be able to determine whether the connection is still there. If we set that timeout low enough (<30 sec or so) we can even distinguish a network problem from a process crash. This should not be necessary, however, because we can assume (I guess) that the broker and client close nicely. pyzo-4.12.3/doc/yoton/images/000077500000000000000000000000001421373005400157635ustar00rootroot00000000000000pyzo-4.12.3/doc/yoton/images/yoton_abstract.png000066400000000000000000000473451421373005400215410ustar00rootroot00000000000000‰PNG  IHDRX —ó_÷ IDATxœì½h$Wv÷}ä5’wèZð¬DL—x^4Ùà¡K‘!Ï Iú6v 3tÍâ“ «,qìP‰ý#OB‚Jd³a‚JìדºýÏÚ1̺‰,XtÂè!X¨™d%È«*f‘Øi§ ‰Ù• ¯Þ?NwuM·ÔúÕ?¥óÁXÝÕU·n÷t×·Î{N×áá!E>ŸwÇ÷}üÿ‘ûhš¦( cLUÕD"ÑäÄ¥¡P(8Žã–8rUUUUÕ4MUÕd2ÙÜ u  …0—ËÙ¶ÿÌx…mñ¼ZŠ>àœ·ÕÚó<Û¶mÛ–RžõXMÓcº®§R©L .A„?·ãî5CUUÆclll¬AÓ#êÏáá¡a­žE;"¥ØÙÿä&8;D_Q…snšf,kȼ ¢Éçó¦iáqIô‚­Ô^PûŽ>ØÝwœmpvÀÛ«xQ×uÓ4ÛÊÃDTÐ¥išã8ÃccLˆVO¦]Ø÷ýÆv ÎùÜÜ\ó'P(8ç•ê±a` « ôœm8¹ ¶ b=ªˆŠ¢!2™L=æKLœsÛ¶ŸÛš]]=VüŽÃݱ¶ …èfÃ0èî³méÂ?cOŸöÔÃpiØvœŒŒ¨ªº±±ÑÌóA`†ˆÞ”$zßã•3ë_5b Ä:ä·Â š¦ !è^•¸²LOO[–UƺAWÁ=³þUãlƒõ%d×à t÷Ù¶…ð]Ê­âAW6ñ“©4½`Ý]­óiœm0–B9¤'q5©4cÝ`Ž®ÃgÌå¨?F×u!™†mE£„pMˆǹmYç;|ß÷ µFj“…0ŸÏëº^¼3us´Î¿É(b Ìå0žaYÖÄÄD£ÎEm†çyº®—o:3 °n×Á <w¸ ï>5M³m›Ö5µ/4hÜ=×ݹÀŒìõë9¼ãÈf³Œ±¢ &zAÞëvUø pÞ‚Ô>3 c||¼§#ˆ¶¡P(`n@¬æR`¿Ñ@µä]˜…X78Ž£iZ¡Phà‰³p6!Üu]üoSÊý’W}×u·K¢µïûÛÛvœM)w#yÑCö}SÊÍR¾ްã88¾ŠG…{FÏR½'‰§Ã8“3½Ù¦‘Ëå8çÅ'É88oÖߌ+= ïÂØ0>BLNN6ã¼Ñ:<Ï+ßtƺAÞ~£Iç6GAÞA-ô}Ÿ1æy^“NMÔäÅ3í½.„kÛû¾ß§ª»®{Û²T]_bSÊ»RÀŽã,›fø8Ïy·¢øþ+†qƒsXH§ï,.2޹)å#]kÚïw+Êë¶½SÂß_2 ØÊç™ âcU€>UÝ)F§¦FMëVØuÝœšæº¨¸b€±u!úTuß÷_·í¶Z‚qÁ⓱a¬Ù3 ØŒçÀ²,MÓh!0qY ‚ €HÆAÞi¬ß¥­ÜûÀ °ãû¾®ëRJжœ³ !ìûþ[ŽÓ£((`üø² ÝŠò–ã@IêP«ƒ‘«–5Ì9F—MóÀ÷opžæ¼OUqŸ{ûá ¦išçhlªªE§èÌ-0nžu„†#Ö0‰TQ×u)¥èh¦§§‹æ`¢ÜwZ<›jü}P?ƺ3BÊSk ]ЛH¼S32‚Bx·]äÕ—•e²Ù,çü|ÕXÊ?K\2Øž°y¬‚Ѫ²ãQ<ÏSÃßÅ;À[9›ã°]¸÷èÖ³u¼Uq¾ôªêq¡¾KFõªÿ(ccc‡‡‡¡ f³Ù®®®l6{â°žç•cÖ­‹Î²q”RX…´æ—è\Ê?·±á6UAÐU¬ñäû¾uÞ²”ÄEx¶òùÚ×ý¥—ÌôÑN§úØ“:¼ñ, ÓÓÓG†¾Ë?ËÔ@ûþ,@í +ΘÌB"ˆÆáy^¹‘‹9ÚÊ©œHiz–eQÂvóy¯õKÔ¤>¦”øœ2s2•J-..†ñB V¶7«øY¶ah°‚Ò/“ŒB¢CyÎlh)Ñ‹ÃC£°úÒA4š¯|òÉ'BˆBaÛq”_þåk_ûZ«§Ô2¶ÇÿñW-ëßÞÿ¿÷÷5MûøãÏ1Λo¾ùµ¯}í½÷Þ{饗 ŸÏ Ù¶]ìè…ÿû7ê:÷ ô€»‹ÍEEa‘D_‚h‚ xï½÷~ñ‹_´Ynv r¸®ûÞ{ïµz*W‹®ÃÃCLýhõLÚ Ì…©KÔ:̬B×¶g²h5¥~óÄ)_ÖÚ9+­E`ú¨ëºõmÒeY¶m;W©«OŠ¢„Ñ.UU9硯 ³" …~L~cÖáu ê‹~@õ"%\4²òvYÒ{"ê÷±g¡ã8Ttè îÝ»Wô1Î¥Úkí` ¸Ä5…õíú\‘U"‚”/õÅõÉdrnnŽå‡ ל$z;F€ â/SJIBHtå_\;g¥U «áÏ­ŽBhY–ã8‰Læ¦a ^áǾï‡mn×…XÏfu]Çõ*jÌKTP¾ë Ÿ%°bç^y5—ƒB¡PnsÝæi2QJ?·úæËà’ &ÄUVAèQ¬Ð9ÈØ-ËêM$|ßÇFÂ&¹?hå<ÎJI¶I‰¢#ÍAPz°Ø/äóùº ‰÷©TO;õÞi9=Š‚å©ñ«BBØ$Ê¡oéDΈÚ6Ô¦ED§Ð©?7P{ñ¯{ºj_'‚–qí®>W¬$ƒŸ3 a“(g!uP€)]JêõË$ˆFSþ®vœ–®õú¹a2È^»ÞÅn;Îãš«Ø'á(„xÏDBØ ÊUf½-ȹPºñ/ !Ñ)”¿«¥ooÇpÅ~n‘–j6¥üxh¨A§ŽÖ=s&â”ÍÁŠÛ‡hýá:ßVO… NEÄ"$L}@Ë,Ú(lº‡98û¾-ƒv§OUC™9²ãl;NE×¼0«³[Q°w>Å6´ÑCŽð"A'°.Ħ”[ù|w,Æ}ž±­|~ •Âÿß•rÇq$çЧª¾?À¦^H§+zÐÀCMÛ÷}ܳ»$i Œáã]×½Áù¨i†}jsmû±a ¾î8Î}×­£’k” ¢}Éår]]]¹\ŸAÐÕÕ599îpïÞ½‘‘‘ðéììlWWWX¹»^Ù§°ëºcOŸrßGE¼¿±qWÊû»®‹] ö<ïuÛ¾+å)×…Øvx÷ð°BW-KÕõw\÷®”a;#4ïJyWÊQÓDss˜sÀôN×¶™¸C·¢Ôp¨ž² ‚ Ú ¬„ᕊ§M‘<õ}+DÖÑÅÚ§ªh„mIÙ‹ÉRaNŒó 06J¡K³GQâš¶%eÿQ |°»;>æ|Ù4`±¸¦¹¶½)å–”ÝUÖbÛqV-kSʃzW@#!$‚h_ÆÆÆ¢më‰DE·ðŠ:À5ÂÆÆÆQJz€±›‘lÏ>U­Nïä&þ=e›b‚h9š¦†r³ÃŠË”.íüs»Áù—–µÀ˜ªëÛŽ³çºŒí8ÎAÌ3†‰-ª®ßàtuU$˼b«*& ®Z† QP`ß÷]Û³C`ž±×m±}ªêÚ6ÆëX1Ž„°”;ª-È…P¨DÑ!tðwÕ/^"Úí- sžˆ4*ËqV-ëÀ÷Ÿ÷‘Þ²,϶‡97ÞY\Œ?/ê=Šò–ã Ú½å8û¾ã£øõ©ê;®»)%*å7VVp;ÍÇ”=в_×0aW…»™hׯ_/Æ·;¨Òõÿ†áw‚hs&''±Ò4L‚9Úêéœýs\¶kÛv&“¹øxù|ž1†+.>Z 6¥\H§ßí(AyÐÕ‡‡‡#leGGgyGÝ]ü«( © Ñ)”ƒ¥/pÇPº>¨ÇØÎ •nB߉nE¨w׆‚F´¼I› ¿ˆr«•ó8+ÏG, …B¾D¹nA´zßéïcl¨WûO¼ò¸uíët$ýšÖh£³¾`b*~U(FØ$Ê¿ÌRîIg`»øWQ”¡¡¡îîr対¾>Ó4£¹ÝѤR)EQ|߇¸»SÚ°t—ÌêgÀiš¦(ÊN¡*#`Ûq– pm a“(³½=p¶;&LX’íŸþô§ðÐßÿÜ´ÇùÞ÷¾§ë:yM‰vƒ1Vlo+7ßhõtNGé¾³ŽB‹Å,Ëâœ/¤Ó¯LLÜ,U)»‚„µL·¤\µ¬ƒ Ð4 ïã)Y¦yŒŒŒSº'^ëv«§s œmù|õ«_ýó?ÿó DžmâäâdÆÇÇ…²ˆ‚ÍC~ ,Ëš˜˜hõl®d6•²Q(Ö[:‘S`}‰*8<<\C ¿¿¿··—’H‰v£ì ´VÁßoåTNÄÝET…|˜Í‡„°©p΋#ò[mí õ÷ÁZŇÃÃÃ'î~íÚ5¿Þõà ₤R©bÖIpúùÛã1þ¥Ô³–@BØT‰DÙ(,}õÛc ÍAEQvvN^‰µ¾¾ÞÎ¥‰+‹Vpž^nßH¡ÜÄj20ÑDH›aÅxµ·ær‹gs$Î6d‹ž[Û¶ÇyöìY­ÝGUU»ñ+v ⬤R©²§±mo=%ükšf¹.1ÑDH›M,+ð`zœíVΦôGøÐ0ŒT*õöÛoúé§5ŽøôÓO9ç¦i^¿~}rrÒó¼¦L” N…išÅxDÎ þm„¹ …PUÕˆT¯&š a H¥Råo¼þ¨½Âø\b‘'MÓfffÀ²¬Ÿÿüç|ðAµ]øìÙ3!Ä_üÅ_LMMmllضíû¾ªªét:›Í¶`òQE"‘(ßzN.µ×­§Ü„é¢[HAÑÁVABØLÓ,Õ¼=` ­žN scŠ¢„׎X,¶²²222òw÷wkkkᾎãüÍßüÍþᆩީTjnnÎ÷}]×É@$Ú‡L&SvêÚ%Xèî†ÞÓ4SU±ú’Aë[F¡P`Œ“-džA°OH¬Áx¾øPˆê ¢ÙlÖ4M·ÔÕ®ÆÊß|>/„Bà V*IJ4ŸB¡€?1ß÷9çÅŸ[2ò(=­œ™¿l¢Œ±ÅÅÅVNæÊCBØJ°UXñI&‚µìÇi.‡.Ó4§¦¦ê5pB˲ðJd¥M P(pΟ77׈“H4|>ÿæ›orÎ+VõüèG?šŸŸ/Êa¬äh¡³ l!\ž$¥¬{A5⬶ž\.×J§MDëk  ˆD£ ‚àÍ7ß|íµ×^~ùåêWçççJQùæk¡í—¨‚š¦ !HÛ¶à¹xa¢ÌÑfT"øgà˜¸`ã ‘h“““ûûû5*<!––ŠK÷ Ö |¸IÝ`ŒÇ0[,p£iš”’<¢m a»ðœÀØ0˜£j(êïƒX‡É¥pC“U0„ D¢îô÷÷÷»ß­±Ã³gÏ&''UU 3¿2”› ?BCžoD´´|¢]H&“Žã”ã…ÙuÐ6¤X°í‚ö0TAMÓÇi•A‹Å&&&h "Q/òù|˜s×®]¶,«Ü>¬°#?ãqýWV¸» é…P-ËŠ6"ÚÂ6"‘HÌÍÍ•œÁL.ÕSŰy¸÷—Ìç¼Mbõ´‘h2Š¢LLLH)‹ug`öKÐÖMmà´‡aQt‡R‹¥6„„°í˜˜˜p]·¼¬ÂÛƒÉ%¸ž.A¬GmŒÇ Ïc«PUUJ977×Vw¦d ¤¬j5yöìî™J¥\×-Wz `öKúØvN­ÌQpß¹¤p›ëºŒ±t:AæMu‚„ šA*•š››ó}_×uÓ4¯_¿>99éy^kgA:¶,«ø<Ö Ÿ½î;Ào€ÒSŸsð ïÂÊ7 Ç RJMÓ …‚ªª'½³³sšÝâ"Dóh+±P(0ÆÊ†àÔ(¸÷AWr2­œ·`æĺ¡d*Šâ8Nƒž={æ8Ž®ë ™A” !A´ŒFQ}߈uƒ`’À œmày(ìà³áááoûÛÇí+„øµ_ûµ™™™fLŒ¸ÂDëirŠiªªU0Ñ öë õ7ôŒÏáïƒþò[ø,™LrΫsGÿå_þåg?û™”’ÖN†„ Ú…æˆA0ÆŠ>Éd亅Ï—]LJñxüµ×^»uëÊáãÇ^~ùe!Ä)+ÔÄE !$ˆ¶ã¬bEÑjUU\À*ë÷~kTaó¡]¨išëºh¤vÐÊKâr@BHmÊ) Ä\.÷þûïýë_½‹Ïž=ûÏÿüÏ?ü°º8Ù½{÷lÛˆuƒ¼ÓTh5þ>°ŒªªJeE‰VABHíN ±P(ŒýÑýQõQ|ðA:ŽfšLOO›¦Y|²ò« âïƒöÝ3Æ[=!â*BBHAµ¨(ʯÿú¯ë[ß:²JÙ³gϾóïüÓ?ýÚ…ù|ž1V|í³×›”#zÜ]ÐBp¦iR¢ùD‡ˆŠ¢üþïÿ~E£(kkk?øÁ666‚ À ÀÄ+`ÝnÚlO…í½GøÐqJ!š -¨'ˆ#,Ró•¯|¥† À7vwwóù|¹”v2Þv*º ¯àCÃ0Z;â BBH‰ã8ñxüÄÝ’É$:T‹Ï­[Ö¹1G±èŒ”2—˵z6ÄÕ‚„ .9BˆâÚùLâüE´Òæ(>$£h2$„Ñ‘¤R©w[__/?iC§hã&$zÀu]2 ‰fBBHÊÝ»w×ÖÖjì°¶¶ö“Ÿü¤ø$“8¶§nû`ÜÄ¿e_.A4B‚èTLÓ\XX¨±Ã§Ÿ~Z~RÒ˜¶†‡‘–÷¨"®$„Ñ©$‰?û³?ûàƒ¶··+^ÚÞÞB¼øâ‹¥]{Û7:Eé 8+àDã¡u„ÑÙäóùû÷ïÿÆoüÆ/ýÒ/á–Ÿüä'óóóo¿ý¶¢(Ec®<ŽÒšBMÓVVVZ=âJ@BHçy–e…MnEáœg2™‘‘‘âÆ¶*%S®;û¾OÕG‰&@BH—–®®®â£Ãw[:‘3RêJ!¥L¥R­ž qù¡!A\Nòù|ñQòäu÷í…Vœ°”²¥ó ® $„q9 =¥¡®t ¥ —ßA4B‚¸œ«ÉtÀòÁ J.¿‚h$$„q9!‹ N !A\NÊæ”ÒÝÒ‰œ¥ÿ’EH4B‚ âJCBHA\iH ‚ ˆ+ !Aq¥!!$ˆËŽÐꜿÕ3 ®$„q9aŒ9'÷ïm/J.¿‚h$/ž¼ AmL¡P°,Ëu]|ª(ŠaÏ•èì8«ãLX¢Ã!!$ˆfzzú{ßûÞÝ»wõW·üüç?Ÿ˜˜H§Óº®w"‹ jBBHJ>ŸÿÇüÇï~÷»×®]‹n×4m~~¾“…°ØgXUՖ΃¸*PŒ :Ïó¾õ­o}ûÛß®PAäµ×^ëíí-> ÀÝmêä.HI¹5MkíDˆ+ !At$¦iŽŽŽ©‚píÚµ÷ßÿ«_ýjñ¹í6mbÅÙoTUM&“­ž q% !$ˆŽDJY['úûû‡‡‡K{o6cNuAná_ Mƒ„ :×uûûûkïóòË/弎Éëø·ã$ˆCBHWƒ’À´5Î6v@Q”L&ÓêÙWB‚è0‚ Èf³Š¢œ¸ç“'OÊv•µÚØiÕëKü;Й“ IDATË9oé<ˆ« !AtžçÍÎΦÓiEQ,ËbŒÕî[»½½íyž¢¸ÁÛ±Öœ©žw²E³Õ0ŒÖÎ…¸RD[“Ïç'''‡††TU•RrÎ]×]YYBüû¿ÿû³gÏŽ<êÙ³g~ø¡a±XÌ4ÍâVs¹­#…ÆcüË9O$­ q¥è:<°L“1MsjjªÕ"®$„Ñbòù<êŸëº(~Œ±3™DÙlÖ¶mß÷€1v¤kq||\Œƒ¼JOÝÞÀÅᣃš¦I)c±X«'D\-H ¢œÒùYß3jšVlR16 ‚5î\gC¬Áx:ŽCÕdˆæCE· ¢yT;?O,S/b±˜mÛÅêÙuÐâ`ÜlÂyO@n‚±„-Ë"$ZY„Ñp.îü¬Ùl¶¼Do.üFóçPÆÙ¶ÁpÎÃÔ‚h2$„Ñšïü<%“““–eŸL¼ÖíÖÌC¬±„*¨iÚÊÊJk¦A$„Q_ΑùÙ|ʉ3Тxa$.H 2DË!!$ˆ:Ð>ÎÏS2;;[®ÞÒd-Œ¨ çܲ,RA¢µÄ9i[çç)y.^ëûu`ƒ=¥» ú#\/$ÚB‚8áü<%Ïi!L¼æh£–Z«`.cPH‰v‚„ NEÇ9?OIÏÕïŽuƒ9Zç•¶ ærh*ŠÒ´E#qH âX:ÝùyzžK%€D/ðÀ‡Aí;ÿ þ>Ø.X_†Œ1Û¶)(H´$„QÉer~žžB¡À9¯lí”]]=ƒ"º» 7ÁvAn…ŽPPEq)o#ˆN‡„°ƒ) X^²MÓè¦û¬\Vçç™Èår†a+±U-~lÑßgœ¨ø!ªª†-NmÅsB˜Ïç@Q”KóÛ¡äóy)¥”Òqœã$0 cLUU¼ “.ÉÕq~ž‰|>/„(¯5Ͼïg¯_€&gÕVVúHÆÁxtµnÅ>ä&ˆuìŽèº.„¸4î,r~qVº 7‘xçÔ‘ðS²í8=ŠÒ§ªõ¶™<èê‚æ ás=Qà#ÄÙc)ô—vz¥r~DÈÞÞÞîî.ÄãñîîcrÚ’õõõÝÝݾ¾¾ááá&ŸúØó¼º»dëçMCÝu]yÅü´A¤Óéç:ã8o5°¸Öò.ÌÜÂgh§†1>>^Luƒ¼Z³g ô€ýp‰4è`l“xauæ§išm27‚èhÖ××C'dOOÏÍ›7ÂW·¶¶¾øâ‹ðÕÑÑÑÇÀíÛ·ãñ8¬®®nnnâ>}}}¯¾újoo/>]ZZÚÞÞîïï^]]Ře__ßí۷ðåÞÞÞ_|/€ÚÒ„’³ áïô©êÑüþ£5M”½ÃXµ¬Q€>UEÅŠ²ëºqMëV”QÓ¬~5:ÎcÜcÎMÃ@!Œk¢OUqœƒ’ΕÏ8ÕnEYo³0Øääd9.(X T0D0pvÐGªëºã8-4³ÈùI eyyyyy9ºÅuÝ»wï¢îììÌÏÏG_ÝÜÜ<88ü?|þùç[[åÕÉ[[[®ë¾óÎ;¨sÛÛÛ[[[»»»«««Ñ}€•l¡ÇG×IGGk>gÂ>UMÍÍ}iYùññx2™¢_Ój쌺 »#yݶ— ã##½‰Ä¨iÖXÎx;޳SŠ¥ÅK§^6ÍM)÷<¯7‘è ÕÙl¶Üøf.ºÚÊÙ€¼l ;®ë2ÆVVVšyòêÌO˲(祑R®¯¯Ÿ¼Qoº»»oÞ¼9::z¾ÃwvvPnÞ¼ÙÓÓóÅ_lmm-..¾óÎ;Ö¾qã,..†«««¨[áŸþùÁÁÁãÇYÄç···§ªêÍ›7q„½½½õõu4]×Eìíí}õÕWûúú677+´¹œäÞÞÞùÞ8žîöíÛÕÖçÙb„û¾×´·çþƆªëª*ÑìGa@îÀ÷»¿?ðý»RŽ=}zÛ²òããµÃx£¦yWÊ»R¾nÛ¡;4®iï¸î»‡‡T§P(`¬ `âà7Z:Pz@¤ Ö ŽãLNN6᜔ùÙ¡¬¯¯“ ¶Šƒƒƒååås'…†ÿp¯¾úªªªétööö¶¶¶öööpdUUc¨—GŽîpûöíèöp‡W_}· /4´ßxãáááÑÑÑ{<~üø"*ˆïñÈ2gÂ]×ýÁÈÈ®ëö©êcè‡ìSÕmÇ€}ß.™øÒ²ö}ß÷—M%j×u—«œŸt}MˆE`¬;Û÷ýnE€Íªé-›&*¥ä‡Úu]ÜÛqÖ…ØoL0—ËuuuÝ»w¯^r΋´3 °n×kØ‹¢õƒý:>´,+”ïy^¾Ä¹3kr¹ÜäääÐÐ*Ÿa¾ï¯¬¬LLLP°#C;DKÀXÝ9ØÞÞÆ_|ñ.´ëgmnn†ÿ²ÑñûûŸ‹Ú RvwwÏ—] ÎPÛúúž«ŠuäYN|GuY_5mCÎæí×´×?û졦–'€[–µÀ؃®®x29jš(Kè·Äâ,‰Læ–eÀ¾ïoJYaÏß‘2Ïy~|F§¦ÐךÈd–M³OˆTª»”‰s˲$ç á¯Û6ÜàŽ®ÚQÓDÇiô¨T t+Jøø¬¨%ð) >w}áééébšh¢;ß”„©Q˜^ÎùÆÆFøŠçyœóÕÕÕè÷õàà@‘:ÅKÎÏKÉèèè¹}tDû€ÑÁ ¹:=ÝÝÝ8BC—ðß¼y³Â6=<8î¥3¯#Tu½"ñ²GQÞªèj pÛ²Âÿ‡ôkÚÝ*;¯_Óª3q¢û÷(Ju†Î‘)6Ñ£ÂÇGžý”$“ɨ$! ð,ë½F=Ï+‡­Ûu«VGŒW@¬·çºîìì,¾ÇB¡ð»¿û»º®ß¿?ºïöööŸþéŸþõ_ÿõqZH™ŸÑVôô¯9wïÞ­~5ô=FþЈDº»»âñø‘#œiQZèfx"6qJt]Ç„F|êyž┽LÓ,;E[ž s$Jé0MÚ뺞J¥^~ùåŠ}ûûûçw~çÿø¢oŸ2?‰sÏç«›N+Š¢iÚi¼D” õBTUÅÝêê*X®ë¢o3N÷ööÆãñÌgQU5L® QUu}}}kkkggýCËËË›››===¯¿þúiæV=‡õõõ Æÿ.‹°SeõTJþÕ ‰D´‡‘mÛ¦i*Šr¢ˆ’Y|Ò>¡ÁjØ ¤ ¿åû>Ú¯ÝÝݯæÚµk÷ïßçœÛ%ÈùIœ‰\.gÛö‰½Á9纮Ó7ê”,--Uo|÷ÝwUUE©[ZZZ]]íëëÛÙÙ988À…€Œ±ùùùƒƒƒGáQ½½½ÑÐÚÍ›7]×=88xøð!V4ÅÐàé举瀊¸µµ…†æÅÞô9yAQ”ƒ X}Þ‡I`&«Zþ$œs)eØ5"›Í^¿~=—ËUïi†^ܱáó÷Tjfñ;mY–mÛ¯½öZ}ûûûŸ>}J™ŸÄY) ét[ œ¸³B×õt:Ýžõ:…îîîpÉ fЍªúÆoàñxü7ÞWÇ«ªŠi¥!èÅvvvPÃκ¢ã­·ÞÂ9lmmmmm]0þwAº,ËÂ<þW&&nFG÷‹¨ û¾ÿH×qá£ã8çˆfe³YÃ0ÂVaf DMÌûí.„ = û~ôÑGµ÷ŸŸÿ­ßú­sM‰N$\‘}‘d™ÉÉI«â<?¢é´»‹Õ¢Û Ø™™9ßy  Aèëë eïH¶¶¶p‰}¨ áv|pîN8Bww÷¹“`OO˜,óî»ïV¼ôâÄĄ뺖e}9;ûåìl£§ÒÎÄ“Épí?7çËé‹–®ÆÌô7e ‚`¼ãÇVB¨Æo³òuD;“N§Ë+ºNÓzÚÝkÄ:`Y–ã8Íï›}™8N{„(¡ì…«#¢*Xýô\|„ºðÌÌÌ8Ž£wÎjô±S(  ¢s¯^}t]7Mó9çO{æÈT™ç‘÷(Ïž=ÓŽ/3DQ¦§§Ë*˜I€{¬Û'ܪ}`Ý÷~X#^J9==ÝØ‰^IBåüüüƒkíTZ‹çyá?öi’?OfÖ ƒ´¸©êÈœ¥2 Èy°¾¾^±¨¶ÏóNR%®8Ùl¶,?kÓ1¬o­Â䘦©ªjû÷ë,FGGãñx´xMww·ªªÇ¥Ë]Ú±aKH$õÕ¿ Ê÷¿©¶pœ6ˆB¸°° iÚµk׎ÜëñãÇ¿÷{¿G«#ˆÉåraZLž³é˜qüƒ°ìtBÍÎ"Z?ä*pæ~„Äù( !lå<Î +ÊvuAúµµµõõõréT‚8†B¡PVÁ±á03ù<˜£0V,¸e†çyq…!!le¿(ë(‹0Òê7ó7ÿò/ÿòÉ“'á–íím!Ä?ÿó?ÿÉŸü ™ƒÄ‰`QY€L¢ÅCÿŠïû¼sÚÎm¹F›DÙ"Ôž%\g’qÌ\gŒišfš¦©À ëúøCRAâD°ØPñI½Jì C€”2ŸÏSõâ|EØtÚ°¸hm”òò L&³²²rá³Ï>#$NÃsÕ$êõ+Pû`â|X¹$‘ N a3(÷3Jvš9eöÈ>^qžËš¾Hh°šRºmÛAÔsdâÊ@BØ\”ö(igÂíGYcÝu®&¡ö…÷—t¯FœB‚ NY#/U~p¨q.ŠB˜ÍfÓét×Õfdd$N§Óé{÷îY2› ˆóÕ*³|ˆ¼÷ÄÅx1]×é ÏßNbg¥h¯%‚ ÎMc-ÂNŒ8íÄ‹¦i¢ R÷‰mÇ9ð}Øqœ¥ÉIÓ4c”Mõ„D‹h?^ÀJУSS·-ë*« ôkÚ cƒŒÝ4ŒD&õKÈ.÷pwë2`Sñ÷ñïqmŠ âÊâyÞÃ(AÌÎÎ a€¦¢ó_ƒæP(Ê©ìÀ Xèáªõ<·- êr(·sòöê2`SqŠ…w©¹qnÊ…+åVýG÷‹mÍ›¯&„¸Èírªªº®+¥<<<ô}ßuݳ¶Ô8Ç àpX” 7‘è¡›ýçAã¸^ ö&''ËOÜÝÎhFÒº« qi( a#œ"õ¾WËçó®ë†…¼³Ù¬ªª©T*—Ëa°SQιïûRJ×u³ÙìØØX¡P°máœ' Ï󤔊¢àQ¸1z"tÈ™¦‰U)b±XTÕfggñvØÈf³š¦áYp#ž"œƒçya»7<].—s];f )¥¦i(½ú yöÚ¸^íš»a¾Y‡A:ž-u9‚ Ü‰:Ð;Zê ~¾6Åå]øþËMü[/!TU•sŽËóƒ àœ«ªêyža˜þ*„àœ+Š¢ªª¢(x^Î9 žã8Œ± \×åœc…UÜXq"Û¶9çÑÚL©T ;âår9˲P ÃÀë‰BÓ4<‹aÙl¶bŒ1”I!ÎË"ær9Ì‹ ÷¿jý%jÓîµF×…èSÕã‚— £GQFÃÒM-"›Íâ×}ffð>QQ¼ ‹ÅbŽã˜¦Y”C¹ÕI (ê}‰!®&åkn~ üýzVið÷!_t·Ö«#f"‘@Ãkll̶mMӉĸø¸išh™qÎ5Mó}›Édmµ¹¹9@ɱmßµ” Á®®®B¡PqCyÜœÑ{‰jšf^O8çxÀF瀊‹Å¦¦¦FFFp”mMÓc8†6žë,:{AýN³ÖÏzž-g³Ù®®®l6‹OUUÅ‚Ôø4‘H`ÎpÿD"Qþº;'´zo/(@HÔƒD"Qv­[_Ösh±Žu]¯cÙ[Ã0д²m[Œ¹®Ê9*¥qVE_ÅbŒ±ðÕ¨ÞTD[B¯i5®ë†f2™p´¨W1šëº¾ï+Š‚y7ŽãàQ™L†1æ8•c=Žº ხ®Ç†ñ « ™ßWÕ]]ºº¾¯ªèÛÜ÷ýÏu=ܸlš°lšóU7DÛŽóPÓtu=Ô´ƒÒ¿ô¶ãEÁÃñ5!vgMˆ5!@rޝ EqKžúzac,ôv¢ò…?ìT*µ¸¸X»5¨®ëÅG¹öuDAÉ"¤îóÄ)ݶVÃTä‹âŠëÛ‰ WWc®üãž¹fÁ)Ó 4M«HZñU½¿±qc#®i –M³_ÓÆž>}÷ð0ù„jÊlmmmmmÀàààààÙÖžôÒKï½÷žçyÅ•Ÿÿ>ù/Pûà—OúšÙ.èà_þ|Æ9ÿáøÒÅ~æÇÁ9ÿæ7¿Ùˆ‘‰V±¼¼ŒFG+½q]ЛH¼Ó\ ×N´|!|mtuAÄ­_/ …B9}tã~›–[cóè «D”ååe¼¬ŒŽŽV_VNÉôôôs7š‰^ÐU`ƒ•*ü›`»ÑR½Ô%8+<Àï¾ûnÅK/B©®&e¿NUF«I&“å|ý8o5èDçÇZ £ƒõ5ˆ "ÊÔÔ&XMCof¿ ACÓ4˲¨H&QG^€­|¾q×ý#5Í671ŠÙ r*–eWvÀx܈SœgÌ¢AAÑA¢¡¤R©••,Œyâθnee…T¨//b ×%Ã`m™iÙ6¥\2 ˆ–ƒ©+Xc¾øËŸýØ èj#Ntfü}àÅ4Îy}W(ÄqŒayz×u+ªŽáê:JÚ"G6ã€D&3jšýW¸¤$v¨wmûËÙYÐ4mee¥q§{.@²òó/¨ª#úçXJ+?Ñu‡8ŽºÄ ¢™ÔЦR)¬MîårÞÅZ-_&8ç.P;55åºn1XÈ.´¸¸.p‰*¨( 9E ‚¸:¼cccŽã`{­Vϧ•`›¬«477×%°,«¼ jä Ö}Æ£ñ÷A{Ùb!­É%.vk‰6l!ˆv¦XY&™LÎÍÍ…xˆæ‹ÅÐ5] ŠŒçà<…6.‚¿l!ì¾+„ Ð qž[ Ô:0âÓþî |ß§Z¾­¥³û^b±ØÊÊJ¹’ÓY m\¹ êǨ‚ØJiË'õ&-Íí”RJ)mÛnhÀ ÂÞçÃqIT ‚`vvvhh{ ¦ÓiÜžN§Ãf ¥i'j+Ú½Cýmñâïar Ä:ˆTcC†þ>˜Ëáš-EQ¤”ä%.6ØcB ¶ºu×®ë~<4TÑð¯¾`PéÜ·ãããØ;Wí1?{ÓA iÚôô4•h4$„íÂÜܺq|߇°àÃ`Ž6¤I…í‚ñ8¬Ó˳È9CÔ‘–« \ TˆçyBˆP~°,âØØX.—Ã(†¢(¸œo^Q«‚ 3ì¶ÓÓÓa©ýh/ dnnnrrÒu]Û¶“É$¶þ6M}¹8~8¦ïûh«EÇ §¤ª*êq6› K°ÖÞˆÛQ‰£¯ äm#fff¤”忥³_‚ö0lÀ]œm`ópïQ¨‚†a,..’ DH"‘BäJYôèìõ<Ï0ŒÐ€ÃpFC1iš&* öo* ¸‘1æº.n¬è‹ªª–eá¶mW,—L¥RŸ}ö>¶,Ë÷}ß÷u]ǹåóù°Ž¿išè¤Åšæ¨Ž†aÔØ˜Ífñ¹®Ë9G¾šEØ^`²°o'x{0¹æ2ða0nž¿0©¿¶ Ö—aR hšF ¢q$hÆe2,ŽÍDMÓD³‰s®išçy(„©TÊó<Û¶766Â,ˇeYxö×6ŒÅbø4´>kTØ ÿ¢ë(“É„wÀ÷}·T2šsf>Ú¶ιb£iš†aà©ñ ^Ù&…d¶±XlnnNJYN½CëpècP¿Æc°]pwOÈß¹ Ö*°y¸ž…ñ|¨‚Š¢X–EAA‚8ìA+Íu]µäkM$𦹑^ÑW@×õðÕ3µ–Ü”IDATèv¿f1KLX«ñjÅ8hkŽ E×=yÆê®ëš¦‰Y9Ñ _AÈ"lS°c.—CÅ*n­¨Jœ8öxw7Zª?DQÃ0 Ãhç„r‚h9(u¹\.¥‹R[Òj¿zXÑ)šãyž®ëÇ•¸B¿(çókÎqF×u),d¶9™Lfqq3ÓÔêÈ~ëØÿžWAì2/„xúôéÔÔ© Aœ–—ò}}Œ1˲‚ €l6ë8Nô'‰8¬!išGü`Kxž‡Äê3J)Ãõ¨‚5œ¥¸8$•Ja˜ã¬o1Vyœžž:ë—ÂËlll8ŽcYc¬Æo, ö¸±mÛuÝÏ>ûì*g…M¿œkmPÄÕ²ày—à™ÐuïAñ©a¾ïkš–N§ñg•H$R©”¢(]]]¾ï[–¥ëz:Æ*á5j4 !Â$—(‰D¶m˲†††Âqj´BÃÀ^:fŒ…I¡§½Mx.\¿q¦Ã/]uoE=(hó×Êó< ^Ð߈g9ñW^Î}ÆpMÓ.½£¨FÑmB‚ ÎLíî“““®Y0"~>Ìf³u£Â“—†:ÔAÔ‘™™Lôï\Ç)7‡!.;$„A•tºg‚’e‚ ˆ+ !Aq¥!!$‚ ®4$„AÄ•†„ ‚¸ÒAWB‚ âJCBHA\iH ‚h#‚ Èf³éããã]ÝÛ œíÁ÷‹}¯_¿Ž .:Ïó°Ç=’ÏçÇÇÇ»J`¥Ó¦‘ËåðŸxzz:N7óÔ!$„A´ AÜ¿ÿ_ÿõ_µÄW¿úUÆØ‘M‹Úh{Šó,Ë:<<<<ïºîØØX.—Ã^ Š¢`Ûz,F:===55AxgŒa‡ ”ìpn ) RJ)eØeB¡ëºçy‰D¢úth«9ŽãûþqsB„ýëS©T¡P°m{qã u]—Rº®›ÍfÇÆÆ,Ë2 #œØÄÄ„ã8RÊL&ƒÇâvÎy"‘ð>ŽÛƒ ÀljD¢öéŽDÓ4ß÷Ã¥¸øLÓĨ¡mÛÕ ‡á½PofggÑ•ŠÁH”äB¡€RzšÏ ‰Áõë׳Ùl5„HàóÈc§§§ñ±ag:ïù !AíB2™ü·û7Îù§Ÿ~Š[®]»¶°°&U6Œ †‰$†a躮išªª£J$‰D½®ëbB&ú05M«!ÞÉCs 3Y®_¿Ž*Š‚vÛ‘§;r´T*æË€¢(–eaâ‰ã8‰D²,ÌÑuÝ4Í¡¡¡ UÎùØØXRÊëׯ«ªêû>Š¢®ëa‚Ÿd(™áƒÆÑuxxØèsqÉX^^^^^€ÑÑÑÑÑѺ_(ÐWß,ù3áyc Ó=¨ÇÍÊó< ­'ZÇqÜû­}ºs8÷Qy+8±ãjNW%z+ƒoªö˜A8ŽSqàyðà>x÷Ýw+^"!$âÌ4Z[N6›Åè¦8—€BH®Q‚ ˆJ0˱:»„¸”AT233Óê)̓²F ‚ ˆ+ !Aq¥!!$‚ ®4$„AÄ•†„ ‚¸ÒAWB‚ âJCë ‚ * KŽWå ë„E«©…eÒÎ]¬65zÖ‘B¡ (JíqX2´¢rd55ˆÔ{‹V+­Ø;ÝcESÜ?üH+Á’åu¬¾FBHQ‰û-`?[MÓ„xåÅ~€½ð å±F6vQ7M³ŽµRcaÓÝäóy)eEÏ£Ócc¬öá¦iêº6”ÇÖƒa¯ù™™™ ,Ë V¸®6×eŒa?zü`±É~°aÆÖþ ?Rìñ«ªªeY™LFUU]×±jy}8$‚8#_|ñÅG}ôÑG}ñÅ­žKCÀñøØ÷}ι®ë‡‡‡h¹®‹/aah|ŒÊbY–¦iuœH)O3s’¶`í3rΣ±}~hÑwBh>E¥Ç}Â-ÑÔ0ŒðÔ†a„/’JT¿D1B‚ ˆZÄb14JÀ÷}UUEÁ—’ɤaÕ}tc±@ýÿ‚ ˜œœL§Óét:tær¹t‰pÿ Âãg³Ù{÷îA€ý qŸñññ °q ã8“““ÑC&''s¹Ü½{÷Òéôììlt{ôpÜ‚ Óét6›ÎBèº^ããÂ>À¦i†[2™Œ¢ÚŠmÇÁ§µíÝX,¦ëz¸³®ëu¬K®Q‚ ˆ#ˆöŽÇ®L&EQUmDUUkxјÉdÂ-Ø=«¨ªªb×CìVýEaŒ1ÆpÎyèÌår†aH)c±Øôô´”'†&ìÌÌ ç\JYQ+Õq!„eYªªâþØïŸ†!„˜˜˜À³‡oŸ1ª~ø±ÔV Ôª±±±èÆŠ§ÑÑ}šÏçc5†î ©TÊu]ÏóÎÚñêHÈ"$¢!LOOwµŽ°ÅùÁÞîØT·¬¬¬ ¯€aGø# -$´Š2™Ìááa2™Dkbb"•JMMMaCZ¡™™ÜZWØ WJ‰A5l`«ª*ªim}²,kll ûåâžøL¥RaWÞŠCLÓœššªÈIÁ ]áÈ5^eŒ…ÿL81°mûHCÓ4Ípg!D´I/FpkÏä”EHDC˜šš:wÊF;ÍA{UMQ”T*•J¥fffòù<6X?Ò.‰Ê'‚=âñŠÏ9Ÿ™™©Ø'L ‰n †Q#Žï8N¨µµå'T/EQÂCLÓ”R¢¶qÎk PÊù¬m„aºPÑרév¤ ô8CÅø¸&{è4EHq¨1¾ï›¦iF¸=•J¡]U}†Ê*Ô{>}úÔ¶mÛ¶ÑšŒšb¡‰Ý8==aB!„aœsŒç€iš‹‹‹‹‹‹¡óö8ÂÃèÝØØ8<<¬ö;‰DBQ”¨c8ç5Lç \×­ãrˆ³BBHq®ëæK†¡ªj*•âœÛ¶===ÛgggÇ Õ.<$—Ëa/ €PGÑ!‰ù¨BÌ‘Éf³BÆF qãìì¬eYh *Š‚æjçÜ4MÔH|Œûø¾+í¢!<Ï ‚ œƒëº8,¦ØT»F« —÷ÕÞ ÕçÁ½{÷\×­¡µRÊ„Õ8Žsޣބ„ ¢Œ?™%EÁèT&“qGJ‰Q\nˆN?\`Žûcô®ÚRD½Áˆ—¢(œóD"†cWW—eYèëK$¶mãF!¦Æ„y+˜qãy ¤ªªlÃ꺮(Ê‘Ö!.àÃ¥~À9ÇS ˆ†ÕЉZ&ƒ`þNÅgUᕚš², Ã{8ˆmÛè)=rØ ! ‡“©Ÿ^Ë4»pÑAÄéY^^^^^€ÑÑÑÑÑÑVOçÿoçîm(¡0€ZÙ9ƒC¸ŒC¹k0€À¯ ±x¯xþÈ9•Á„\«/Âþ˜¦éï1ù“ÖuMë±Ï§z"5C]ú¢eYÒÃ<Ï_¯4ËpÖ±:ZpK¯išt\2×l‚àåŽ]Æ,R ´©™ñÚUAðryC«ïû,ÇØoËžÁše¨š  j‚€ª Bª&¨š®Qà¾ã¾ï¥«€G!p_!„Pº xÄÒ(pY×u¥K€;Ú¶ýôG\6 öm1ÆÒ…À5ã8þºt€ª}ßîœt4IEND®B`‚pyzo-4.12.3/doc/yoton/images/yoton_chat.png000066400000000000000000000713001421373005400206410ustar00rootroot00000000000000‰PNG  IHDRXˆÒ 9 IDATxœì½_hYzÿýôd‘°‘èòJ„H¬é£°HÓÇ«›Ÿ|‘>ÎÏ»‹&*á7ëe¡OgÃ\„€JL$°¨šlH L\ÊE6ñEtšÀ;àu › ãwÎ…EàU\…6Wg‚u\…ŒAïÅé®n«Õí–ºú¯žÏÅtuùÔ©#º¿õ<çù;::¤† Çéö*º ¥4w{Í⺮ã8žç9Žãûþ‰c4M£”B(¥Éd²Ã+D¤g‰¡†¬¬¬Ø¶-¥ìöBz Bˆ®ë¦iöš.A`Û¶ú_VOüê¡icL×u]×{íçB¤Ã ¸®«ëºçyᙡx|ŒÒî­¨ûç0·Œ±õõõ.®§šµµ5!„mۑ̦ë:ç|aa!’Ùé;P¦¦¦<ÏŠÇç,‹èú°¦u{E=„gÛ’óà B¤Óéî.&—Ë™¦YýÈR"1t è8 £'_ìíƒ÷œ=pŠPxqì !¦ivýD¤ó ÂÚÚš®ëðþ“'ãçÛ ¬Ç¦inf³„gÏžuk kkk¦i߸]H€N€MÖ¿zxû wÀö`­P}šRjš&Z‡r®@!„l6kšæt:Í„èöZz¡i‡Aày^"‘èð­ƒ 0 CTÿßIŒ€qø4híÎî€ØëiµÈ9·, ÷äœðV·Ð}TtÌ9ß|#ê÷s‚O²Í¬­­QJ+*‚û7Àû>W"PAІÁ¸Þ÷áþ ˆ©sBJéÚÚZó#Òó í¸î{Þ¦ivëò>"—˽Ä´< >´åf:ŸÃò¬zçyž®ë¹\®-÷B¤—@!MÓàð”ñ÷­°ïy›Ùlg.ßâs]?ó½ºH&“᜗Þ$ÇàÉû`ζý®æ,<:š__ß4Íý†¡%#„¤Ÿ?O?þÔ²”:Ns>gYdž=6Œ}Ïã¾ÿáÑÑceÙ#ºþáÑQúùóm!Ô6 ãmÃøðèèã£!MÛb’±Ùåå‰Tê½þ)—“Ëå*ÑÕð™®-…Ï„ZÈ9G-DAåkÝ^À@1–LΚ&L26JÈŽ”£„ÔÌ„P™ûÓœ{¶­.©Í†Û•r¶l22!öË®ÎiÎ`XÓÆ(Ý÷¼QB”Úí{Þ¾çõiM€×T0=ÝMTð»ÛÎ9!$•JuyI‚D Z„Q2T%?Cšö¢¡EjÕ°¦ëø.ºîPÕÈ0å¿Vb=Ûšö€±ÐFì/\×}M»â­E°p¿P×õB¡Ðx8‚ } a”T‡¥úþcC¯[fÕÂݾßo`8ÅãáU '|ÿÑÍ›óR~ßó˜mM‹, Ùl6ZI‚@£[{G‚©8Rß÷õþ ÁE¤(„QRtÝ-!`Kˆ}Ï›dlœÒ¡x\mn QtÝp°’´=ÇÙBù9w¤Üª©nCt}Ó4•j6ØwTç••©æT— iÚ¡ïïEÚRʶmÓ4òne$pÎKù‚É1°æ"œ9ä¼J·w'ÛBê ‚ = a”Œ%“_ZÖÝXìKËš/ǧÌYÖÃë×ïÆb»R¾½¸8¤iCš6‘JúþÝXìçW¯ÎYÖ$c°ïyµ>Ò9Ë!$wéÒÝXìÀ÷ç,K]^¹)¥Cš6Néìòò'SSwc± øbÊŽ$º>¤iÑ&à«®L7&Àõë×WVVÎh­Ù(!ƒÚÎpGÊ…‚¦iÉd²™ñÏž=«v“†Ás«…B,Ë*Ifb¤ûYƒÍ`\ BlO ƒ !,,,hšv’óµp ñlû‘®À™3”’rŠˆëº*û¢ÏÌÁòR­Áu ȹƒeªšÔÅãÓœ÷iY–vàÙ¶Jù ”J)#éU« j›¦I)…žÆ‡À»Ý‹Á¢'âÀ¥R¹5ß÷±/‚ô;(„%r¹œišo<Û†qçΨf ‚ÀqJi¥ï|¯eпýsX+€eY‹‹‹Ý^ ‚ -BøkkkN¤¹çý!D×õ6=SSS¥'î×>b 2yÀ< P‘îP(Â]Cxžî¿¨¢Ê;ŠŸ éw0XéË;9Ög*ÚpØÅ ¤ßA!DºCEÙDWrVÊË–ZKAÎ(„Hw¨èëæ:ÎL¹w$X!H¿ƒBˆt›º÷eýF!D~…é×hŸ ¡6¤^Q¤ßÁ¨Q¤;Äb±ÒÑч]]H ÄîªWü!H_ƒ!‚ r®ùZ·Ðs¨hxß÷Ïyf=¥Tõš¨m@ˆ 2H –( ¦i–*~!¯Ã97M³ºÑ‚ ÈÀ€{„åëêx$‘%dHÓµ§R“ì9Ρïï{Þ‹B4M“R6Ù†©pA-B€rƒ¡±d2%Ä9׿Zöç‘®û…‚®ëÕ]A –\.çyÞP<>/%ª`-ã”Þ°mð<ïÄæº­âíG?gpöÔ+Å¿ésPKy`؆°ã”N¤RPü×2Œ±ÒQŸ ¡¨^5ü³A>…°ôå>vB@NBý~|ß?ÛåAäóù ÔÛB¡P)±Ö§BèÕ+Á¿ésPK®­Ã³~ÅŸ)·ZOmñò³±ïyp7 ëºÕm8çŒ1˲Ô[MÓ*úὈn™¤¬ß(„Òï v])·[P²S]þØ06MóÌ÷jž\.W­|Œ1ÆXxÆ4M]×UPÄãqÃ0JCåN–=rW½V|¼‚ô'5:àg² ßÔA!t]WÉ…®ërÎ !aX©ažç…d2™¼ÿ~õ ýÈïF¾¼¶ã€[rbÁéwÐ"Œ’Ïuýn,v7»GéïÀÆBƒlGÊåoÿ}Ïšv7šæÙ¶:Y=8äÀ÷Ãik/¿‹…—{¶ž”œÀ¦iîæó›ÙläF¡Â0 »|ëd2išfèù€åååÕÕÕx<^o†d2Y 3±½h—×vÐD…02¶„(:·GG]TvžÈ‹BáŠa|xttö%çJ5ç,kšóc#26ÉØ‡GG·Ÿ=;ô}µ;ø¢P¸aÛͯ¯?6 8ð}Éù-Çùðè(ýüùŽ”;RΚæD*5»¼<µ꺮¼á™ååå………SMRQ‘¾Âò‚õ†ÿ—é P#cXÓ}Ó4|Ö4ßkظ|,™Tâ4ÉØ(!»RÀ8¥Ç‚W|¿èºJG ¹aÛÊÏ9’H¨ƒIÆTå—aMã¾?JÈžã§Ý© ‰Dbyy¹Å¢ké/!ôPd@!Œ ¢ëL϶s—.ý”Ðcy"CUB5¤iÅ:ùyê|¨j£„(¥<1ÙcÓ4ïÆbyÎ=Û>è`ì™I§Ó%ïhpb«ÛËiÛƒà(¥XAÂÈØ÷¼Bn9ÎûOž]W»tÕ‚W¡qìx¤N¾ºz/Ê^¾¶ôÜ|ª ç\J‰*ˆ ç´‘n‹ÅîܹsñâÅc~ö³Ÿýöoÿ6¥Ô4Í×’[#Àg@OœqïÐÙ»¶UR¨»`59W "]#ŸÏøá‡Êæk€ã8¿üå/×××`eeŲ,ïX³ªø° `“@Ç€M6šKî€S¹r7 ‡QB ÃÀèP9‡`úÒë\¸p!<^\\T5€LÓ¬ÈapkX+œm~Bˆišº®cí4¤P(8Žã8ŽçyÇŸ·ª`ŒišF)¼+ÒP‘>#§Óét:ÏçmÛBøg*«iç\×uü.CÖÖÖlÛ–R6¿jdU³Ƙ®ëº®w¬úRóA`Û¶mÛê3"ÏwBˆêŸC)=öÁG×(ÒM¾ùÍoþÉŸüIã1?ûÙÏ~ï÷~¯ÓÒu])¥S¦ÁT´ c ca×u-Ë u¢E(¥†aôŽk!ŸÏëºÉ60ÆÂú(„H7Éd2_ÿú×gfê×V¿üå/{ðqé_òù¼iš'XHñ¡ÒN³6tìä‹ýCpŠàíƒST͹ªÑ4Í0 Ã0º+‡®ë2Æ|ߊÇgMsŒR˜ £¯Ï%ûž·ïy‡¾¿#å—++@)}òä  "Ý¥P(ÌÏÏÿð‡?¬8úçþçð°¼¼Üá…!ƒŠëº¦io5“> lâÔÈþÈ]°=°½êð+MÓLÓìbìÕÍ›7mÛK&ç¥V>‘*<Û~tó&ض½°°€Bˆt×uçææ>úè£c•e¾úê«O?ýô»ßýî;wºµ6dÀx­Ïć€OƒqÈh³‹-Ûß OPJmÛîŠ3#‹Àüúú9· 9ßÎåLÓ\^^F!DºL&“q‡Rúøñãééiu²X,zž÷Ïÿüϸ“‡D‚뺆a¼æ ]žs6ú;9{Àó¡ËTyJ;ìÒ‚@Ó4ø¿ÞëóÔ²6––cëëë5Št“\.gÛ¶çyñx¼P(„Ý—TÄ :@úpìô~!‚µ«h-çØp Á¡ïû*Õ§óm¼†:ûñÙ‘rŒÒ3»a[¼üÌPJK¬!]Äu]UÌL ^"‘X.“N§Q‘HÈår”Ò’ &F`5ö»m,ݮРx·a¡äB\½z5‚öÞ´ŒúìvêvЇם[èjÞüåûž'9?óB}”éŒBˆt‡ cXØi+¹\އ_šÉ1pn¯¢1Ú0ØïÂj)YÍqÆXÇ´p€Ù÷¼í\.Ú9Q‘î Ò±ÉÒ>Ô¾`éMzœ[m7ká3ðä}ˆ€ã8¯…êô<{Žó€1϶0ö€±§–¥Î?`l¯l½m ±UÞÑØâØH5É3KÎÕàýrƒðòMÓ G>µ,uRr®Fn†ZC„?)î"] “É@çwMóÃkû‚éi¬kK¡ã çU·gµ Þ/ù‡¾¿›Ïúþ¬iÀ£›7'§TTc^TÕâñl[å,J·4m†óaM« [Ýsœ‡ŒÝ°mxjY’ó÷¤€)™ 9£”èú–jNØâ±a¼kÛÓœo,-ÍV‰eë "& éöBE9ÞK*˜k®Ë ¢ã`ÍA&BBH¥ÆÞ°íQB`:Þb¼líÕ2gY3œÀ¬in 1Ãù(!µŠU°m¢ëJ '«ì¿+†¡NÎp^t¢ëc”2!ÔÝ@lGqt"åX€ ‚´ƒ×TPÎwÁ#Z Ÿ ÷ MÓ\[[ëîrš'Ô¡QBdzTÜÍçë Û‘2 ¡R*…;6áS˺G©Ð´vz•Q‘Î2HXZZ*•œ}£'TPÁg`ñíÒ!ç…Âû¥œHù|¾ÝÁ8µZUæ“7v¤<¨SUr~èû)!¸ïÏÕ·D[…é ƒ´›|>o…ߘöhJÆDˆu Ràû>" DÁkG0ŽŠ|9ðý-!”Cr"•Rq+ê䱑ê€èº°SSÐUmþ)ñÛsœGº^ïÖ…µ5¢ëã”VOÞpé ƒt€Šº,Ͼ¡Ks·°où‚C)e.—;ós¡ëº¶msÎU 7ÕhB¯/*gf[϶÷=o’1%oW Cr¾-Ä¡ïWÛˆ/<ïc*ކI EÇyxýú±7Óœ{¶}ÒQBö=oβêåÑÏ./?6Œ§–uèû#„ìæó¾?ÉØP<~7»ýìYµ‹µ°ÄÒ r¹œaª‚L·×‚ ,ÙlÖTN‰ð¾ßåÕ4@l©ÀMÓÎü¡Èd2BU*³ö_U­ÑK¬íHùðúõôóçEÇ%¤ZuöçÐ÷T—@35bÔÈÚŽQïF­³iš›Ù¬ú¢Eˆ´ ã8ª Ò>‚ ¨8E»˜,Ñ |F•çö}ß²¬&#H³Ù¬”2l¡gYçœ6½iwfNL¯sßæƒ9›YïFÑ‚{„H{Á¤3X–UŠ]Hô¨S´šrF‡eYõ"\\×u]7|kÛ¶”2Ì;ŠÇã©TªñÃå~kIJ£„ÌöOšÇi©þå ki/W¯^¥”âÖ ÒVÂ~ OÞ?u[Á® k0 ãÄ^c—.]ò}ÿl_Ñׯ_—RÎ./G›x>0øþ'„”2•J¡Eˆ´ A:CÅ)ºè›@ !”Q˜Íf«ó MÓ\×-ŌćÀç]^Í©°žÂÒèº~ÿþý\.G‰ð#£Fý:éêçõí>££"Ñ¥Ô0ŒÅÅÅn¯|*YÝ-®}¼}˜úD¶é«8)¥ÓB§ÀCÓ4]×Uòe !=ׯ_'„àÖ ÒT`@¿ùEe見ÚèöjÎ),ƒDÌÒÒ’ÊŽêöBó‚ ‹x±‰n®ãl”×,kJ‘!…‰’\.'„¨v¾#H[ɇ]’c=T_»yÊ)(„]…‰ Õܶícþwi•Æ–d¤›ë83åec‡Î.‚BˆDCº®›¦‰ûH'©èG¿¤£¼lÂ.‚BˆDƒ®ëŒ1 E:LE?´¡n®£⥕GÛ¡iB$0@éUáX7×Ñ å•£QØ-°ûÒ**@›K Ò§ "-2Ò㸮«ŠËœóÀTB!(¥ÇžÚQ‘³ƒ2ÒËd³Y!z\kaŒUq¡"gd¤g¹yó¦mÛ0Q §éš;ì{Þ¾çú~Ñu¥”ªOj:BäÌ`€ ‚ô,ÙlV© ¶$¬åÀ÷éún>Ï9gŒ% ŒEÎVAz„Rß pŠ]]H ”W^ùYZF5`B<‘aM»aÛ#‰¨ÇBäÔ`€ Ò;TÓû‡]]H ¥•GøX©öß6Œ¨&0†5MõhT}9Ð5ŠœLm÷Õ¾DýdAÅ8{Ý\Ç™©Zv.—S[VPN®?Û³¦ºv(ŸFO‹!r¹\ŽRúGôGÿò/ÿòÿ•ùÙÏ~¦â1@é*Bè½èæ:ÎÌIË. „³Ê«éº®ëºMN©äó0¢X_Sì{Þf >Ø/?/<Êîh´‘㸮û§ú§º®×îXüßÿû?þøcÎy7Ö… 'PñL¸Eðú¯…ÜQ¯¦i†æ ¦iŒ±ê ®ë¾ï{ž§Ü§A8ŽS›×-ö=o3›=ó~ä©.ß³íwmûl÷:´‘ãèº>;;{â¾ýÅ‹?úè£þð‡A6¤1,Ì »Ý\ÇÙ(¯™Uå6Äãñõõõj¿ cŒ1Êža*ú?ÏçÏI©ÒžwèûÑΉáàP(dÎ6¹¥—Ëåö÷÷ß{ï½z.^¼xãÆ Ã0°=Ò#0ÆJ5SäNŸu¨÷T{zxÓ'ôØÇÍ0 µI¡Þº®ËÓuýþýûÑ.pÓ4ŸZÖa ÅãóRŽSºiš;R¾W.Rs7ûðèHߣ´èºP­zlpÈcÃØBM{»ü­^þöââ5Ë€=ÇÉs®NN¤RLe;ÀÆj§=3!t]WJ‰•x ª éÙØÈB¡ ¥T!-ÕQ-õÐ4Rª-ë}êÇ™››k<¥ÔĘl¤gPÑ[¶Öµ.¯æTØžzÕuýT×%“Éd2YýÖ4ͳ/Jun?{6JÈŽ”?¿z5Ô¼!d^Jø„ Æ&›æ“IèúP•L¼þ4|àûJD|¿h Åãa´Ë¾çm q¢éuàûnÞ|ÿÉ“qJàq;‹¼¥Â+nØ6ªà‰¼m#‰„çyù|¾+ ( 7oÞÔu½¢‚ñ!HOÃú<øìwÁ¸Òì#0€u œ[ðì6Ü™ƒÄˆúß÷MÓ¼té’ïûÛÛÛ§ÙÛÛûæ7¿Ù›]ä|’H$*Y=eéi¼}È•>h=»ã¾ïy¯_ßb”U°{XÓ&+:Ž’À×ÅIåî9ζÊϹ#åVUh«‚èú¦iª6Ms¿NˆŸ:¯„IÍ©.Ò´Cßß‹t/ï-˜H¥Úgrö;ÚFtº@¤Ûí0c&>wæÀ» ‚µêÿ!£`\ïû°> ¥h µ‰¸±±ñÕW_5¸ôáÇ=ûÑEÎ-•¿ÉÜ6xûÝ\J3T™ƒ=Ž7Néû÷7 ãn,öÉÔTjuu”qJ‰®ç.]º‹M06‘JÀ¦M¤R‡¾7ûùÕ«s–¥„sßóŠ5Š5gY#„¨|βÔåá€1J‡4mœÒÙååO¦¦îÆb†qÅ0”It}HÓ¢MÀÀt:ÍjD QÞQÓ4Û±] 8çvuÒèò,o·+_ØöÀÜ ý¥.\øè£._¾|lÔË—/766.^¼ØSÓS  IDATÑC¢Èd2¥ÔºÔȺ)@ÝGîÀõ‡êÐó¼va,€7†·œgª¿Øß‚²Ú1îÆb öQ#¼üÀ÷k­ò¾@eUTp!Ïnƒ9ÛÆª:ç,Ϫw¯^½úøã¿øâ‹—/_†CÇùøãQ‘ÞÄ4ÍR îü.XO»½œ:øÀ¥:4 £gÍÁsÅ 'Ô'ŸÉÌô[=0¥‚¥˜Ìø˜³`\éнÍYÐÀóà_½zõé§Ÿ>xð@Ù…Åbqttôÿø±Ê(Ò³$ ˲J›…æ&°  ã]^S-Æ^!äÎ;mº‰Ê'ñl›ôdBeǸÅÐ ÙÈ06Ô¡eYmýL©mÑu?!¤OwˆÚÄžã|®ëùLLÓT®é(]£a¤PÑq¾´¬vXußä§–5ÉØ8¥µ%s¾´¬!MS#ß6ŒPê¦9W'|¿`Ûã”ú>BÝ}‚1¥”Óœoçrýb*,‹‰uÿIV0•ðëû¾ªåˆZˆôñxܶíÒ3åZ¸Áº½(gôGª/ç¼Ý[ ñx\JÉ9w'ŸÉ¨ï}¤šêøÇ(»O„^ÊɲW0}r‚±Ýú#÷'œsXÓB¥ ½Þ¡ÉOtýÐ÷ÆÆ6ú³)³®ë=¤‚ û$ÇÀ÷}Î9vœ@ú…d2Yʯ€Ü6°àtsAb ØC¥‚”ÒÊÚÚI2™”R¶£i_£iç\JYЮ`™ætl¾×ÆcÃØ•ršóiÎ}¿ó=[dii©’§(X¯ìðkà çރ Çq8ç‘×¶G6¡zû•gò»ÀvíùRlA¦TŽƒR*¥ìX1Šx<¾¼¼Üɼ¯>%J‹0´w¤T6ßX2ŠYµZ»R&ê—.+× €ß¿‹ÕËôØbβ®Æ8¥ LÌÞ$ŸÏWž—g{«Œ6 ö ˆ€mÛ+++Ý^‚4K:–R–*Ü"°‡]° «TP"X’©‰Ò"”œÏp¾ç8‡¾¯¼—ª”NÑqÔÉpäSË€ßßBµíØ‘òáõëÇÒ?¯Æ=J?×õqJ=Û~{q±ž¡9Fé¦iî2¦æ OÀÆz¹€\•z»É10g»ºœ“ ã`Í©³iš½Ü— AŽ‘J¥¤”¥ýB·—r°š>Ó‰{ûÀ†E*z­‰ RM”á •–¡ëaýîYÓTçf8¿aÛêx~}ý–ãÀ°¦©N0Féüúú± G ¹íyjÀ¬iªVóëëce—·ò…À{R*飔ûþ ÛVå_ßò¤Çƒe è¤ Цzçv>£Ê°ù¾oôç,rnQ[eZø(œÉ—m¯Áf{@>Aìb0‘JµØäðD{n`h_‰µB¡@B÷Î\ççÏ€·ôžÚí—R6ÙïAz„B¡`š¦ T© >ý®¡³ÆFØ_IÓ4!D/4qCEx¬d*Ò$•2Á‰‘žVA(é€.– õH$«««•Íøà–6€|b+²CgôÏáêÏC¤”:Žƒ*ØûÄÔKúùóžÝEë:÷(-º®mÛÑþA¿fvlߢEÈOUu¨ÈÒV‚ Bø¾ï8Îñ’.ñ!Ð ðé3vtñöAî€õeuïkMÓLÓÄz„ýBL•¤«ÎpGªÙBå¢ú¾m¸×ÒÒRéù41Þ÷#œ¹XOaicë5{ºÒ›d³ÙÏ>ûì×ý×Ã3Åbqccã„¡© `“À&€Ž5òš:{àAî‚ÜQ†!*MÍ4MŒí#bª59$®Y6& ÙsœMÓ,¬­€awîÜ ‚Àó¼¨ ¬¨.¸Ë³½,z"þOÔN¡ã8Xké}¾ûÝïþÖoýÖÌÌqËË—/üã_¾|Ù‰¨Å«¦i†aôrA¤±£££J/ä$Â0™©©)xöìYësæóyV.šÏÓ=QG¦I¸TUƒ;Ü AÎ@&“9::ºvíÚ‰ÿúÕW_}ñÅ?ùÉOlÛBxgmHÇ9gŒ©~¤y VWWmÛÖ±[ÇëÔVâaŒU+Êd2±X¬P(œaò×z ö‘ „ùþøð„ô8ù|þ¿øE=€Ë—/Ù¶½¼¼üìÙ3Ïó„†aTRë@ÑuÝ4M)åÑÑÑêê*ª`_;М‡°²²¢$•'$—Ë©½f줩©©Òãg¿„ÉT£ åmSsm‰„¥¥¥wÞy§Á˜½½½¿þë¿~þüyÇV…ô Q&ÔŸ7×××C% „0ÆÂ@ÐB¡péÒ¥K—.Õ^X(*N˜ž*¨Ö$lB½Ê~«f‡œ+ÇùÆ7¾ÑxÌøøøÈȈëºYÒ› FF*•Z__=$š¦QJIUð‘r¥º®[ÙœO6ŒLëYÊQæ(„ÈpñâE¿éúþÈ@Ò®îH<?–` ö5M«aÙ´ê3è˜z=sp‚t†W¯^½qÌW_}…ŠÎ9hvŽÅÅÅ£££D"QyüìGs*Bˆ!ÒË0ƶ¶¶qgffsþÎ9(„] ï-Â>Õo䜡ëúÆÆÆÞÞ^ƒ1_|ñÌ#(„È™H–ŒÂ|>ßÝ… H=’Éä|ðé§Ÿ¾|ùòÄ_|ñÅáá!6TAP‘3¡ u{òf,˺téÒüãc>Ò—/_~üñÇ/^´mý¢ÈÉÁ2çü1ŸÒÖô¸JŒ Ê ‚´³–Édþæoþfllll¬äÉøÕ¯~eYfÁ#Š’®­­ !¤”F\¦iº®†mQÍŠÒñ§E¤– lÛV½yÃï7l¨‰Tóµ t]?þwΛ î{Þ‹B|ßBضíy^„þ“ÊÒÛ2Õ´‚ÔbY¥•iÀ× ÃP*8»¼<Í9vŸ¨fÏqòœ]×0ŒÕÕÕ¨¦¥”–žÖIå&¸Eðú¯t§ÜQ¯”ÒµµµŠ @)]XXèÒ²¤‹"§"2!Tæ×¡ïiš ½Ù‘rßóf8W6Ms¶ì¦ðl»è8ð¶a kZíàÓV_^ïžœ`l’±}ÏSsn Q;m+¬­­éº®ëúýû÷Õ™j%€ÕÕÕc¹Ç"J‰D%•Ðöú¯C}Ù5MsdddzzúâÅ‹êÌçŸnš¦ƒh.‚æ r*"Û#|À˜Ò¡)?×uØ•r[ˆpÀf6?ºyóÀ÷|ÿB|ö=¯øºœÀžã<Òuå¹ÝXZ ýœ›¦ ¾¯æ³išOËþÆGº¾UußÈ!eÂ3Ïž={öìÙ©&©¼·½ÈVÖœ=àÂ… ·oßþÑ~ôÁ¼W†sžN§oݺ•Ë庽P䜂»ƒÈi‰Æ"Üsœ…‚ÊD<ðý/Ã=°:̯¯O2EÇÙâŠaœh´mÑueGN0æÙ¶òsΚ&)k펔“Œ i"´_xÞ(!“ŒíH­9Édò´²W‹®ë*ƒÖ }æÛêunnîÄv¦/^¼}û6çœ1ÖÖ’­r"h"§%‹pœÒÄÂÂ'SS’óm!Þ~SVâd9ÚPiU½aEÇ™¨y­¬¯á¶ßP9›ûŠax¶-9ÀX[ÍÁ¨XXX¨Ø”ýe–…ðÚµkõ†\¾|ùw~çwð‘éêÁxÜŽ[D€ÜQ*¶m뺾¹¹ÙøŠ‡ª:SSSÙl›X!mÍA¤Þ€…B¿˜tžßW‰üm*0ýZéÑ•/{ÑAê€þH†‘L&ãñø~ô#!ÄË—/O¼â‹/¾¸víÚêêê³gÏ,Ër‡róæÍµµµ®9Gàî Ò ¿¦ëú¿ÿû¿ç×ÿÏÿ¹ø¿Ñíõô{Žóÿêú‹Bò—ù—mºË·¾õ­X,VªÊm{ðÿ|~ãb›îuj” n@) «ÊQJ¿ùÍoþÅ_üÅääd<‡¿|ùòoÿöo¿ýíoÿä'?Qg¾õ­o}ï{ßËd2ÿýßÿýWõW+++ALMMaG_$*‚ øÞ÷¾÷÷ÿ÷X91Ïó(¥*ºo:Æ&õ!{ŽSX[MÓ¤”í.žyõêÕRÍÒäÈù^©5Ã%ä¶@Ó´°ŒxH¡P0Mó¿øEXkôW¿ú•eYétºÞ|kkkBå_åœã"Ò:¸;ˆ´HìèèÈu]ιSSêƘmÛÕFO›‚€1VÑBûÑvß´þJ@JYÏïT(®ÅMú¦ …‚B¥ŽpÎ9çXŒ 9ABlÛF¿(rfbGGGêÈu],R¦iº®wò Úu]ÆX)÷.>rèxÇîþþ°‡à–ú !y­€"Ò"h"­SB¤p]W×õ’û°Ž'ÚW© ¦i]‘€"r6ÐD"…°çxÍG ˳`Îvîö¶æf¨‚Ø­ DäT 9ˆD a/r\ `ÎvÂMjnB¶R>¦Ã*‚"Ò h"QY÷ $Bâñø“'O*U¹× À‚õüƒvÝR ¥´[*‰Dbyys‘Æ`î hö4¹\Î0ŒJéêÄWÀ¸å=œ=07a­RùÅ0Œ;wîDy‹Ö@©ÍA$BP{ 8ç¯ô&F€ÏŸn5¿Âö@lUK ¦i½\w‘ÜD"…°?X[[3Móx®gjØ$°‰SD–zû w@î‚Ü {*)ÚTUŸM¢V „†Á9ï; ¬ ÄóšƒHä ö1¹\NJ)¥<ÙF¬cŒ16x‚â9ÍA$rP Ç‘ {iB(¥Ýʈèh 6h"í…LÐ@HÐDÚ !2È 8H 9ˆ´ ¬,ƒ 2X¤fÀR2H›@‹9G Ø¿ 9ˆ´´‘sˆý šƒHû@‹9¿ Ø/ 9ˆ´´‘ó ˆýšƒH[A‹AJ Ø› 9ˆ´´¤ˆ½ šƒH»A‹AN Ä® Ê$…o5McŒ¡9ˆ´ByX¤¦3A`šæ?üÃ?\¾|9<ùÕW_½zõʶmüµ#í…Aš ÄvóÝï~WUÄ=vþñãÇkkkÏŸ?ïʪó !‚œ4ÛÁÒÒÒóçϯ]»vâ¿>~üøÒ¥KwîÜéðªsË ÈéXXX¸ÿ¾çy”RÃ0¦¦¦²Ùl¡Pèöºú˜|>ÿÙgŸÕSA¸víÚgŸ}–Ïç;¹*äü€!‚´ˆ­“Éd¾þõ¯ÏÌÌ4³µµõ?ÿó?«««[r~@‹AZ ÄÖ‘R6VA˜™™iÜqAÎ !‚Dæ ¶‚çyCÓ‚Bˆ Q‚â „D8 AN î"H9o;ˆ*Þó¼ÖcLÓ´d2žÉd2.\¨Mœ¨ÆqœW¯^á!ÒP¤í vb¶mK)¥”§ò^2Æcº®kšvãÆ>ú¨Áà?þøÑ£Gü½ õsù¾ç|‡’RªiBt]°G:Béf ær9Û¶mÛnqBˆïû ½“G˜Íf-ËRˆÔbÆ ¥u¢"H§éw1˲êêDj´! ã'_ì€So /jÿqzzz~~¾:‚tooïÓO?- ¬,“ÍfMÓ€‰TjšóQB`’±Ž- ÙsœCß϶·…8 ‚Aª{‡Bˆ ]£ï Ä „¦i—À…°I`uõ¯ÿä.Ȱ½c¢8===== _}õ•뺆a˜¦Ç£ùšàÒ¥K¾ïO§ÓLˆŽÝ´œoçrš¦ LÝ;Bé2ýb º®«ëúk»€É10Þ€6ÜÒÔÎX_‚íApžÓ4Ͳ,]×;)ÏçcCñømÏÖ´NÞºø)!/ …1 1}AºLïç AÍf)¥LMÀ“÷Á¹|¦U:‚wîÌA|Hó}_ýBZü”¨;ŽQŠ*Ø€Ρü»P¤WèÍÄ cjÏ 1÷o€|ï^Ð&цÁ¸Î-X|[p‡1–Ëå"¾QãUhŒv6gqGʃsZ¼A!DÞ¢§ D×u)¥•ÿô48·@'m¼%ë¬Ï‡¦!ç|ii©w#´Ø$øÒÓêeY™L¦÷tö=o»³v_€Bˆ =M· Ä t]/E‡&ÇÀ¹½/ôwæJ‡B¬¬¬tz-°ç8ólûc{jYêüÆöÊÖÛ–[åÀÔm!ŽT3œ8³ä\ -×ðòÍЉ ðÔ²ÔIɹ¹aj ÿ´} !‚ô4Õ¾`ÉLŽœ2ÚŽ½ã ¬¦J‡†ÑáýÂV8ôýÝ|~Ó4¯ÆÃØXZRú·›Ï–÷ó^xÞ‹²’y¶Mt}Ö4ŸZ–RÇaM«M^Üsœ‡ŒMs>kšCšú9w¤œ5ÍYÓܳmPê$<6 ˜æf«ÄBé/Îl  …L&s½L&“©w•RÁÒ¾`|ìr‡ÖƒÏ„á3œóžŠ§}#7l›è:Ñõétz»aVâœe]1ŒIÆfMS%¤V± ¶Mt}’±IÆÞµíP)Õµ“ŒÍp^,¾2!ÔÉiΕúŽQ ç¾8@-(„Ò—4o A°´´ôû¿ÿû.\øv™—/_Þ¾}ûêÕ«µã è¨`mÁj¬ká~!çÜuÝî.§yÂèÓQBdzTÜÍçë Û‘²:¢5Tʱš’壄<µ¬{” MSQ¤(„ÒǼÑ@TæÝÈÈÈ|@))óÎ;ïX–uáÂ…cÎÆl6+BÃEÎwa_°‚Aj|ßçœAáÜAäóùh笥V«ê1Ôt ‰’óCßO Á}®¼ïˆœ !‚ õ D]×/\¸pùòå¯âœß¹s'_¶?\×­ä Þ¿ÑC*¨°o@bÇ1#Ýå²m›1&ÚPPME¾øþ–Ê!9‘J©¸uòØHu@t] Ø©iyAt}K%~{ŽóH×ëݺ°¶Ft}œÒêÉ‘A!DÁ¡Ö@üÿøÞ0oŒsŠŠ~«.¾ÝÞdÁ³¡ ƒ}CZ–•¯ï?|#ù|>›Í†& !„1Ö¸!âÙPÁœ÷(dLÉÛÃØ0ŒŒ=d¬ÚF|áyjä ÏS\Ñq^¿~lBUü¥{¤ës–U¯ÎìòòcÃPsÀn>àû“Œ Åãwc±'Jö8_ëö‰ž………………L&óòåËÆ#/^¼¸³³£ê–ÂD#`Ü©ûÐqXž…ì&†ñäÉ“³McY–mÛš¦-..@*•Z__reæ¥,:Î(!áÆÑõy)}¿úä‡GG ì¿°ºÛ$cÖÔ‚Ö´÷¤T#ꇅ»†³¦™Ðõc7Ž5hj@!DÅó¼oûÛÍŒ”RVœ‚µmEQ`¼ b /ÇÉårétº™‹2™ŒïûBUÂÛ²,J©RÁ¶rb ÄxÓ³ù`Î&GÖ»r t"LO›ìæRÞˆ6¬ÍïJ)Ã^óPö!7زÙ4JÈlÃ[ô5VÚ…ABH±X|ã°b±Xi+aζuIÑ HŽ€çy'–›) ±Xljj*<£„°™þVªÖhÑu[ÜE;1 p`P9ûlPòQd`Ñu}cc£ñ˜½½½ŠX¦§{"k°Ê‚m•ã!óù|˜F©iÚ±à—D"‘L&›™8‘H¨ Æ€Ù=‘°ïyŸëú‹B’J¥º½œhÀƼ2È\½z5™L^»V7øåïþîï*ùéOÞï¹”‰ŸªÖöRJÏó8纮߿¿õ‰Uo^I$fM³Ã-™z϶·…8 MÓ¤”M>[ô>,ƒ ƒŒ‚1vñâÅÚÜ€—/_>xð ’Ežë'ÀÊ— „°,Ë4ͨòR©”‚sþ¢PÈc׋(¥¶m7ãgîÐ"DÁ'“Éüçþç;ï¼3>>/_¾tçÓO?ýàƒ ”H~gŒ+]]æ)qöàêÏ@Ó´çÏŸG>}BÛ¶#Ÿ¹!„躾°°Ðí…D !‚œ òù¼iš²\©„1fÆÂÂÂ¥K—J±”Ïn÷ÍaHÙ;ê8ÎÀ¸é΃®Q9œ˜3îºnI#ý§‚À&!· ƒ´_…tŒEó‹öCèñÜÁz° õ*kjr"Hó "Èù¥"„ýhBeÙVÎDZ…AÎ/UáDWrVʆ¬Ó°Õ‚4…AÎ/þ%Œ·»› 2À "Èù¥ï÷T·^@£iBAä\ƒé‚ u 3LÎy`*¥TÓ4 „ RM !‚ Èq‚ 0MS1HÛ¨QA)µ,k`*n !‚ È1\×eŒ) I$TÑíæ»æ${Ž£z4îæóŽã†!¥T]ŽBA×0 Ã÷ý¡xü†mŸsý«åÀ÷ïQê8ç<’^½Ë Èù…„ †œ½n®£¼}õJ"j–T(Ôv ªà‰ kÚ ÛÛ¶Ãý !‚œ_*âávs­Px¡^£ŠàPicÉ$ª`=Æ)N§``Zs "Èà“Ë妦¦be¦¦¦––– …‚ЍØU}FÕ²£²NJBQkÃAEí›L$ !‚ 2®ëþîïþî¿þë¿...þC™üàëëë”ÒJ'[ïEW—yVª„0,7šÏçc±Xæ¬ uUoúý/=ðýr3Z¼B`Tôãüü<¥ôâÅ‹áùË—/ÿáþáÂÂBŵ%wº³Ä‘»êÕ0Œ0š_Ó4ÆXõ–áÔÔÔÔÔTø¶P(äóù®ò çáõë¹|GÊMÓ<ó½BL‚ PÍÄ«%°šk×®}ãß(½ÉïvneRÖoVµŸ—L&×××———Ã3Œ1Zåê4M“1–ËåÔÛ òùüÀÄ}4fWJ4kA!DÁDǯ]»Ö`Ì;ï¼Syc{í^Rô”õ›5 lY]]­ô§”2ÆÂK„Œ1Îyä«ólûs]ÀØçº~àû°%ÄcÃ<¨ZöcÃxÀØÆB¡:6øÄik/÷ÊVþï‡'7MóÀ÷÷gKˆ¢ãœ8íyód0‘RÒ7E|\¼x1™Lº® `{ “,,2ÊÊM)=Uf÷âââââbøV×u)¥^%*‘,¹m IDATpàû’ó9Ë%dWÊ{”~ßó^x^±ª8øn•‡Ö³ík–¯_¿ýìÙ(!£'%„l ñ¥eÍYHÎ7Ms¢¼©9kš‡¾ÿèæÍôóçÚ¶aCš6kš Ž§9Ÿd¬è8ÓmPý¾…Aß÷ó7óÃ._¾\Âþ¢¼à¹D"ÑŽÄðCß? ˜dl’±‰7%c¼'¥R¾étz[ˆYÓ<1c[ˆ· CýÓ{U~ÎYÓ§&R©¢ãL26Íù¥Ãª@¨®úþ°¦²ïyãû:èEÁ¤’Ñ—/_–Ž‚C[m\P´øÛV‡‘s‘0JÈÜ;†ñSB>ob…¡ý7JHƒm¼Ý|¾zäLù! VÛF ‘œÿ”Ÿ²%Ä)—¾@!DDõLø¯ÿú¯fF᎑õe{—!å¥2Æz¶ÂÃà¾?kšÃšöðúõæS2†š{ˆiœ8qÒIÆÞ“òûž7ƒ¾Ð† "Èà°¶¶–Éd¦¦¦TþÀÖÖ,¼­­­ÿýßÿ5M³d>ºÅþ0 ý°žªC³W“v¤¼‹í{Þ çjKïÀ÷' åð©eUZ³%ÑuØ÷¼½šnÉ……ðÂm!êåBìHyÓœ¢æŒî'@P¤¿) ¹\îæÍ›±XÌ0 MÓ„ÏŸ?_]]½~ýzc-üôÓO ÈÇãVø¥lnvbÑ-b} Á!0Æz¶Ð$co/.~25õ€±‡ŒM§Óã”N26¬i÷(}ÀXñu‘ólûcÊŒSܶ5᳦Yt5ÃÓrỔwŸH¥2¦î>JˆŠ&Mèún>ÿÓˆê² ±£££n¯AS㺮mÛ¶m;ŽÃÓu]×õcN ¾óï\¸pá½÷Þ;–M¸µµ•Ëå._¾üäÉufjjªTœeyÌÙýgÀÛzO ¡”2r!Ìç󌱉Tê½(òíÂîEaäËï+ < Sï|-áÈ0¦ÊqúÆag`Ó47³YÓ4«ó5ûŒE~bmmͶm)¥ïûº®†¡ëz½äx<þÉ'Ÿ†ñãÿøwÞQéó¯^½rç—¿ü¥eYét:lYV)êÄz zèxG~ ÓÃe!µ1,Úv¢ÔÕ;ßÊH¬Þ$(„Òë¨Æ@Êþ#„èº.„hRTnÀÚÚšâßþíßÔÉwß}÷“O>9f>.,,èºnÛ6‡ÀóàÜŠþ'ië©J¢×4­­­Š5›sH5jó2ªÖW]]£Ò£4ãüŒ– (¥%izk߽΂³W®…Õæl´\ºtÉ÷ýÔê*[žÈžãüüêUð<¯gCvOË HoQùéyžê–¾¾¾¾¸¸Øî/x<^1³rÛadfOàíƒþHrÎÛ§‚PÎÐß0Œ§uBQÎ-ªl›RAÃ0C-BéjŸº®wk,—ËUjµ¬¦€Ïte¯á{n(¥RÊSÕT;-A0ÆTc‘DâÄRgç“°&œawîÜéîb"…AºFçŸM’ÉdD˜yÖõ Rgx^© ¦iŽãtàWišBˆé=”RÓ4º½(A!DNs,òSI`[Mœ3ðšvq¿ÐÙöP…‰jš&¥L&“¼Ou.ì:„^xP‹Bé…BA‰_/8?›$›ÍVê¶tE «TR*„è° "çBi#®ë !¤”Žã„Æ_=S¿¶_˜‘ê\~¡ñÄv¨‚íÞDÎ3(„1A„‘/ Œ?ÆXŸ~¿¦…ñ!°æÚ>ã€þ(lº‹*ˆ´B‰†jç§êÎ9 WÞÚÚšišN˜cÞVÓÐÜ„l¥Þ©a¦i¢ "m…AZ¢ßŸMçüµb.©  Èhd÷°ž‚¹©|¡ ª‡Xt"Ò› "È©0çg󬬬X–åU÷ÕKMŸnÉYêíƒõ4ÜTèºnYÖà=O ½ !‚4Ë;?›§n‚]jØ$° `“ožÅÛ¹rä^Tÿ ¥Ô²¬§E ÂA Çq<Ïóê·ÀfŒišvÞ¾µ#áœ8?OÅòÍ“c  Õ½Ø)V!Œ1Ã0Њtž’†ºêÏZFш«!„¨ªêš¦)¯Wº¼‚ Pÿˤ” ô¯Ƙú*GQlÀ¹u~ž õG¨žÎ< !DI þA"Ý"vtt”Íf-ËÂJBõ ”†ÍK{\.~A·‚Jë¤Ê¹­ƒÎϳ¡j¥*£Ùi¢‘¦iê×Û=‘'fš¦*1‘JMs®ÊËžóvŽûž·ïyPtœ§–õ¢Pè…FÌAX–U÷‘%5ÚP݈vÿœ"xûÇöcŒ1Ó4Ïó÷:?£¥qY²A-Ó…ô/1MÓ|ߟN§YXW©â©em,-išæy^·ÜbA!LÓ<. ‰RxBó]þA)BÁöމ"c̲¬ócý óAE †âñÛž7¬iÝ^LrÒ¢ëÚ¶Ý•m|×uu]m09ÆÛ І[šÚÙëK°½êÈ…ë®R :?9Æ[0F)ª`ˆ®@3;ÑA6›­t €Ô‡ô´zgYV&“éÄ}£ ŸÏ£óA3î9ÎÆ<Û~ÀØÆžZ–:ÿ€±½²Y³%ÄV90u[ˆc#Õ 'Î,9WƒCË5¼|3ì ðÔ²ÔIɹ¹aj ‘üŒ!]×KÑ¡É1pnu®ý[ˆ`pg®t(ÄÊÊJ§Ð4Aär¹L&séÒ%ιïû*¶öþýû‹‹‹£ H3|-’Y}7Ÿ?ôýYÓ€G7oN06N©:©Æ¼¨rÀz¶=kšc”J·4m†óaM«M^Üsœ‡ŒÝ°mxjY’ó÷¤€)U²‡ä|ŒR¢ë[B¨9`[ˆÇ†ñ®mOs¾±´4[%–=ŽÚ,Ù‚É1ó2k1®€6™<†¡iZOíªÈOüI)Õu]J‰f‚ g#!Tܰmw3No 1^¶öj™³¬Î`Ö4·…˜á|”ZÅ*Ø6Ñu%“UößÃP'g8/:Ñõ1J™aÔ9F)ôOq€×¢câC`ßèš *ø 8E>Ã9×4­ëE óù¼Ò?Ïót]çœ !ÐìC¤E¢ÂP‡F ÙiX{°zänýHý)«e,TJ¥pÇ&Ü4Í])÷=o”¡>Œ)5 £¢‚r>Ê6ogƺþ!ä¶€sÞ«+,©jÛ¶¦i*ë¿ë’Œ =Åááa±X€ÑÑÑ‘‘‘n/çÔ¼xñbkk &'''&&:¿€(…°šZ­ªÇPÓQ|*qâÄ’œkZJˆñÿ¿½ó‡‰½ÿÿgîwb7+ؤÕ<4Cs«ñŠYšyF‘n/ÑŒ.E6͘&R*LRœ%O—*˜îîÛài.—è.xŽ-²«HØÍ®"íä<šYšµu(Ò¢³J~żóùÌçUìyüø±æíÏçùüQ”Ç)÷Òêºn×kD KTöq>À¾`3,þ>¸»a¢ö'ê’œŸÑ>{{{›››0;;;;;;èå\˜ýýýr¹Œ_D»5Š‘/‡aøÊ²Ð’›Ìd0nÖŒÄ/0]ý0 ëHÜü; CxãyÏTµÙ¥ƒR‰©ê]E‰OÞ ‚ ÀZ$]œ³R©B¹7Þ¿B*ˆØïCr<Ï3z¼áŠ‘ŸÓÓÓù©iF~æóyRA‚ zD7…ƒ9¿T”)ÎQÞîëú ]ßäü çqcîÀ÷qäï?4MØó¼'ÙlÍ„XüKEÙäü™ª>4Ífyô³ùüs]Ç9`×uÃpŠóIú¿D¢‹‰’èã1‡­ëºÅÎ’4T!ðËïõ6YðrÈ·À~¿4M³¦èLE´™ˆ±¸¸Øþ3©ü4Móøøxcc#—ËÑ A½¦›®ÑgÏóÆ[€LU?tœ£0ŒüÅñ1 ý'jÄLqþ‹ºÁ·dyÞqp¤˜!>LìÎFRUk.Z·{KI’´µµ?‚2vé ÊB¡p&еc®&Ê]ÈÏB¡ º®‹¦TA|øá‡³³³ù|þÎ;xð¿ÿý¯çy¿þõ¯¡åc!ç'AôŸjµzttR[xll,•Jµ033³¿¿¿³³ÂãzttT­VÅøš]½ÝÝݱ±1ÆØ«W¯pª‘‘‘™™™‘‘³^Í{{{¢räÈÈÈÝ»vƒuS¦@Üm²«×~0g›#›]¨×˜o{b]×5 £F,›Á™³Ñâ]^YwÑßëžç‹Å\.EÑãÇ?~\óK|çι¹¹{÷î}úé§õ=)ò“ ÅæææîînüHµZý裚 (—ˆƒBxttôÙgŸ ¥Ä1÷ïßøð$óxgg§\.ŽŽ>þ<>¬Z­þô§?E-ÜÝÝÅMA\#»pÔ±Ù4ÆØì ÛõõŽÃ–ϧÆè1MÓqœJ¥ÒŽqs¦‚¹ð©Ë/±È·ÀœƒÅg`F.—3 #•J5{•»wï^*•2 cuu•"?¯/Õjµ\.Ç?ш0:::77Ç:¨ ].—QäR©ÔØØÙÛÛ{ñâÊØöö6˜œœœšš‚·í6äéÓ§øË€º¸¿¿¿½½]­V'''ãk;88Á1¾ïïíía\èýû÷@Ø ÂÊŒ›˜Íèʯb*•š››«×Ýw`¯Rép­aàÁ·màí¦(„B …B"‘h¸aÁY¤¨q½Té ð}¿P(|ñÅss­|¹sss_|ñE6›•eÙ4MŒyýú5Öüì×¢‰ËsppðâÅ RÁ«ÀÁÁÓ2'í\„ØÌÍÍÍžÂY? æCooo•rbbB @¿h½’‰KˆO ¼ŠïûÀcfffZ/þèè¨+¿ŠÛÛÛ˜§QÃ;Š¢Às]om÷ '‡aèhÚAȲÜf÷d2ÉãœË±×uƒ €¸O5—ºYƒíp*Øhž;<•Ja)Šü¼Žìïïz ÄhN]ŽÝÝ]±]‡¦U¹\Æÿ¿"ÿœœœ˜˜À³FFFâûqë°|Š˜¿ÙjkÒ!ð*5·s®¥;22Ò‰5§¡š¾kš&ç<(•¾T”YÃèsK¦«ÌžçUMó F´.H.—‹ûN‹Å¢¦iªªnllœ™ƒú{®µo¨ ’£ØÚ^DÇ´àÎ;²,Óàugrrr~~~Ы ºÀÑÑ‘P¯K³··'ô¬o¼ÿþûœ—ízÞÍd2–eišvîõi5Ð7dY¶m»Msð\°%ž¢(¥R鬲öUKlʰîZ› ò5¬òC7•T*Uï‡& Ô¹z>|Øyœçááaï»ËåTUµ, û—ˆ,˪ªÖÇ=v‚$Iù|ÎÚiç;¯ZJôï=wì7ß|ÓæÞ*1lAà×…&(ŠB #{ðOîììˆ?I cÁ¸`ŒáÞöö6n|looã~255…FÕÞÞžplâî`ûº(Dw{{[x;···/}k]á$}B’¤ååååååÁ®fx8{縂ô­Qî¢wôÿûß7ß|sïÞ½fß¼y3>>Nû‚„ã‡1„8l” ^@)¢ê¼zõ ÓþâÌÌ̤R©T*…¶¹¹ùýïÿðððÙ³gP­VþóŸ@*•ÂWÇq0¢¤fçorrrtt•òÖ­[Œ1L–€‹8Ïc8‰ïûÏž=ÃôŒúW¢>s“ó^Y*•Êɧ@rôÚ„ÉÄ9Íô¨Iªá/ùK¯K²×…(Š …cLÓ4Û¶›© „ahY–ªª<è°fÓrpp°[º7çææÐÎÃ4>TAàœc:FöáA<1•JÕ„ºüä'?A“®Z­nnn¢ ŽŒŒdëꂵàÑ£G8‰ïûårÙ÷ýv"ïzJ¯Šn-8s*^ñÜÁfðIlIÁoûÛ_þò—5vá›7oŠÅâüãní­ךR©dF­/]e¢v¨·ÑIPŸçyXoÁ4Mò+´fll¬E­mt~ŽŒŒpΧ¦¦DþÀÔÔÔÌÌL¼[E*•°îLÍËîèèèüü|µZvçÌÌ cLdæ Gk\›øÑÄÄç¼\.ãÖ cìþýû˜ÚØðô>@B8Î>®£9gËfŒéºþË_þò‡?ü¡x§ó<ïÅ‹ü±®ëƒ["qU( o9Ò ¥@K5m·éïƒíƒYÅàdÇq°Õj }Õm³éúHþ«£ÁÛUÓDÒ…†™òÍ.799Yß>¢~ðÄÄDMè`›f€˜E8€†#]àÔõè÷Á¬¢b °«Ðúf#z!½zõ #KEšÄ¹ ï×ÂÐbƒäÚEQ2™\__ôBˆ+G¥R9kX¶‹7µ¢ß-š¥×zxH¥RÕjË¡ÅSî°ŽÌÖHÀµß#€Ì$¸»àymõT*ÎùÉ;ßBìG—™E¾ö#PŸB)Ã[”P}†ÞñÑG )Ò°CÅ̓„ ˆ.E‘ªªg%#:ì¬bqàO ²‡KD0¢4Üä»ñ¼%„"¬¿Ãê®×ÆfzʲL®‚¸(†aœuÙt>¼˜G´ù8ûDG¢ X7–I'¼ Q†aYÖMÚ»êI¥¢M‚ 8«Í{Ñ}ÁfÈ·ÀâØL×õîÖ{"ˆwã®üÑd‹n·ß5÷F²ïûØ—jÏó|ß7 ƒsN¦!A´C¯ºlª w¦1ãžÞM‰.ò®®ëaŽHÒû¶=äú×§ª”Jº®·Ùtž †œ³¶*]/¨ßÇ-B¢»¼ƒÛ¤‚͘3ÍI¦óݚ󬱖÷¦[söÿ¤&}·š„7ìµyB×…Pe €çyo]ˆ :ã˜H§I›1ÆSUèjÑ™x„×¶÷wpR“žbÙ‰8gÕ“ÓuåӺ©¸R«¢‹¼Š2èe\ipß´‹‘Dgþõì~ºlê5HÔpö¾X_G´+œ–÷x¿â&ñì÷ñWê0 w:0­:<} ‹ÅD"±¸¸ˆßAp¦©þAÓÓ®2§B¨Ð+ñ6gúÔ#!<­JØN;L‚h“~·aÚó¼'iØÑÉé;ŽSîK (Šâ;ˆKKK‰D¢T*á·Œ1Y–…;4™LžyuœÚÎa×ç¤K !QCÏ… zÀM®,³ë8;ŽÓ‹yAȲ,2™P^¿~ߢæ åËd2ß~ûmüô3ýpßê{ym8Õoê>OÄ  k¡oÛOUu“ó§ªz†ðʲžÇñlÆ>4Ÿëú&盜 ?gÍà†Ó֟V‡a(– ã0 ßxÞ+ËÚó¼†Óv‚뺘e/ŽpÎã’Ïç[äJ’t¦…¶ßÝåõƒSý&!$†R©ÔaÀjE‹‹‹ÓÓÓ‰D"‘HŒGQtÑI‚ >§ö¯KŽ›Ñ!< CGÓ˜ªÎÆ]EùRQàÀ÷÷b~ü]×_û¶}_×ïëú“lw(Ç«ÙyeYeø¯ë³†±çyÂϹïû³†q_ן-.¢è¾Ðu˜5ŒYÃðm{۲ƛâ|Œ±”¨ß%°sÜ+¸¾¾~Ñö gUù¯ž.XQªîAô›Açí¨ªÚaœŽ¦iŒ1Û¶9çjì-¿M°_ñ…NÁFǽÐÐ×èQELq>Åùäy†Â¼ã`(f*—Û¶¬YÃh˜¿±mYïé:þhÞq„ùˆr “™ÌžçMqžÒ´ E¹%ËÀTõ( oÉòcû¾·ÛûXÉd²óäzUUOlÊk+„ôGEÔs¦OÎnOš«œÆ—uQ]×õ}_Ô/ß–J%’£iZ2™D‹Ê²,ÆX2™\[[ÃÀ7Y–5M“$ Ï•eOÔu½æeqmmÍ÷ý qIJ,UUƒ H&“•JEpα¯K¡PPU+в°°ã8¾ïcÙÕ DUUÓé4΃W¢È4MUUqL¡PÈçóÝzt7†îX„cŒ=\]}¡ëŸ1ö´·›±Ó_â1ÆZDîºn|äÌé'o½¶1æhÚgŒ}ÆØ+QØâ “L&OlÊè¬Wƒ^NÛ„‡PÜÆ//ñKÜxzîó9$º5%ʘðOâjš¦¡üø¾_¿ P*•t]GÁCÕÇq4MÃ"s¶m×ÿض]#á’$mmma>®¦iÂÎ㜣K<ú¾¨Ü˜kMŒD#DQij, —u¤©ðEkº,ƒ®ÎW–µë8O²Ùǧ‘#ç2Ò^.Úaî5˜þRQf cÎ4ÇëO¤hçèº~bT™ÿíš4€6ÿ…ÿåœS*=QÏ™`TöÀßiÝ!<„Ê^í…:&N+ŠbÛv.—«T*Øì K{ã–J š_š¦¡uÈ9·, íHŒ@áaŒa£(UUªu3 GsÓ÷}4"Ç1 `š&^È÷}Çqòù<çÜq4[eY[3¶m›¦™ÏçmÛVE–eÓ4=Ï“$IÓ4˲ÈlHw,ÂÇù¿Dbß÷g4í¡iÀaNr.2«o»³«§c^YÖmÙ÷ý7u:—\X'n[V3…Ûqœ£(JiÚc8gWnª×¨ªz’^Ù»Faxf¿4®ÉÛÑgÒéô™ñÑu£Ð:óFtwZÓ4,€ŽJI’|ßÎŒn«ÙŒ{Sч‰Äí7 —«Ÿ'>aü¾„Ÿ³^D=Ïó}?{ œÖ4H§ÓÆ)Ô0à\ºcNqþÞòòŸ¦§'3™£0Lårè½¼%Ë_*ʈ,½m˜û¶íÛö¾ïOqŽÏmËÚqœù·Ý¤³†ñLUq†}ßß¶•w™â|2“yÂùˆ,…ác¾mÏFRUË…ÂgŒýüJ¡$É4Í“?6£| ŒBó_Al÷‚ ê1 ãÔÕQý~׿ Á(ã—]ߟƖõõu˲zšª¯(ŠU÷¦¾´´ÔÉFc,þb*ê=yž'v+‰ÖtÍ5:gš)MC¡‘/:ú3§8ç–…_üâøXø9ÅÈYèOø»«(yޱ0¿8>„pŠP1 O¾‚är¹“¦Áehð ® þ>™ƒD; «# Ã.ÿVÇÞú3ç)’$qΗ––EAŸ¿¢(¦iâ _EžçÕDi*в¶¶†M0\וe9“Éœ[‘®•JEXiÅbý™ ëºˆ¯q§uÄuŠî••l'¾¶¶æyžã8œs±N¢ÝL¨¯a¹%Ë ÃA›ïdä5­Ž]fÔ$(w½¢&h™ƒD;H’„F€B¹;¿ÕÎNÌÁ½‡iš&B+@×uEQqû£1@Q]×MÓ4 S)p®u2C6›åœçóyôÅó¯P®$IZXXÀ¸UU=Ï Ã°…á‹ú·´´´¾¾Ž ]ªªb§Fl•ƒ12étÚ4M]×ų٬mÛ”øTCF$I£ÞôÍÁ–„bc¼ë,..žÄL§'Àû¨—è³ +/@–e±™OÜxvww777`rrr~~þBç.--ˆŠ4·i¡÷ø|3 £wá‰Dâ8æCÂÄeYXTAø¾é"۳ഒ°°ö\×Å·ÆJ¥"˲ˆ/3C]Š…HÉÇ]ׯ‘â<>ŠóãYb¸HñŠ5@pÁagp¹\.—Ë0;;;;[ë¥H #³¾>Ciaxãy}ð|ßïQœdEg[è¹X¼W¹<ÞxðWü²woĤ!Œ¢ˆs~¶Aµž¹ä.¸õ –NEÁ€Ì^°¶¶æ8N<øI´ÂwÐú~¡ëÕ Ö)ª¦ù„sèq¶€$Ige¸‹Ûb+îJàïƒú ¿Ô4ThI’Ç9‹r\rÁ¬Bxx)0J9¦‚]ì ZC"‘ÀËÍO\qaŠ·ÑdrŒò.OÙó<,—Ã9ïƒW½X,žm \úõ¹»„‡ÀŸ`æ~ ¡Ge˜éÄ"œùH =Æl[ëmŒ²ÈÔ4í¢U "Nk‹ð]|qÃÕ0:«'{Ã`ŒišÖŸÔ\.ç8ÎÉGÆ’ þÁ€ƒH½7 ¹øI$Ë2m°—ì仲‹Ï 9 ÚLã ï ØX¯ 8kÕI*Hôš·6‡ë‹÷ 3…Ü狾õú<ÀýÂXx‚,ËŽãPNîÒ‹)‹º®‡ ÊÃRa¥LtÎ9aüú…8 }²WU=û¯…1Äü_RA¢Cr¹œªª¦iZ–ÕN÷ìt†•¬{¿:bØéw‡zâ\òùü™QXÜåKðÞôïòúó¸ ’-Ht I’òùüëׯ-ËÂJ.õcPÿÇyýúõòò2© Ñ}+µ€cIDATnr‡úë gžÄÎTö€?óaÏÃgÂCPŸ‰¦»Côˆ\.GáÇÄ•‚,Â+J.—ÃúñÑ,¹½5 2Œ… â[9© Aà áÕeaaá­zƒ•=xðWà›¢Iww0« [¢~ˆ®®®’ 1$^i$IÚØØ0MólCÅÝ…é?ßì´s“¿ús-Xy;‚€E»^ј¸‘A°´´”Íf§§§åÁƒÙlviiI4×%ˆ A{„×€ååel{mYÖIº» î.,¹™>|øÔùùûà쀳 ÎNÚ°ÂŽ MÀA™LFÓ4ÑYÕGjš†«Õu]”¦ª_ J#ކȋÅÖk(}‚ ˆaGUUôÚ¶®Kìä.0ÆjBdãèQÛ„›4~°5oõ.nD½ß[âLOOOOOŸÕbŒ]7®jõ‹AÓN°+{OwU¯ $„A ;Ø-4˜ð`ò QÔ¤-Ö8EQêuhzzºX,¶8…sŽåXÏ:˜^Ã0Žcô§Í܇„ TUÕ4Mô»À]C”ºJ¥òV§ÓñB2×ÖÖc-¢N*•JШÕëÂÂB†qÙ[ZZ’e¹Y-V×uÃ0Ô4-™LFQ·Û¿M˲𾂠o!ºÃíqaÐmX5Í E¹¸%Ôuöxð ¤~¢(Ê¥c £(bŒ}ûí·ñƒî©¸6´ö° t#$[HQ;!o8X„Ì\úrCI~ƼAmâ8Ž®ëW'Ô“ê.w®ëº˜`Ps¼µ,I’Ô­Pí ÍÓùE)¼B‚ .ƒ$IÔX¹R`bû%¶Üˆ› !AÃVŠ!†Š%‚ †B‚ b¨!!$‚ †B‚ b¨!!$‚ †B‚ b¨!!$‚ †B‚ b¨¡„z‚ öOÝŽTUmÑÀáŠAçõ9×ÖÖ<ÏÃêt²,ollôg%5§te‚K*‹žçaá@!A T*½÷Þ{ÿûß_¾|ùòå˧OŸ>|ø°¦ÃßUÃuÝΛ¹ lvo†ažç­¬¬\b’‹6#¬Y|W–Ñ!ÙlËÚ1ÆâmûY„Aô› ~÷»ßýþ÷¿üæ›o~ô£=þ¼ÿ‹‰·›ßA JŠc•jì5áº.~[©TDWz<Ï•eO¬¯m]*•,Ëzýúµ8â8cL×ul1(zˆæ®ë*ŠosE‘ïûaV*¼®h^gáÊÅÕQã‹o½ŒúÇ…‰e´X›x†ÂÐŒ[ùøÄð >+ß÷ƒ `Œ‰þYõW?÷©v !AýÆ0ŒÇ×¼wï^*•*‹ÍÚÒöÏó4M ˜°1!cŒs†¡¢(ø)¼µµ…æ‹a[[[•J‡1Æ|ß×4-ŸÏ[–eš& >F›ûî*Šâû¾8è8¶ÌÅS8皦…ax||lY*v±Àƒ¶m×ÀrÎ Ãh¸ÇqdYvG, G¢záAôd†Á9?>>ö<[ìâì¡!–„s⑚Å7[F‹ǵ¡Œ_7\›ªª¦iâAÓ4cxPÓ4q ü¿,–!n§áÕÏ}ªíðòåKü{ùòeýOÉ"$¢ßˆ™ ý¨w¨ªê8΂mÛªª&“IÇqLÓD__2™ÄÆñh«!B —ËišVã6\XX¨¿ŠVÃ5`Gá÷Ó4Íqì>/®[ß1… &œß²¬\.—ËåиTUµÞÂn½Œf7ŽkC#UŒ¯_›mÛ², @ç§ëºÂ$¼©ö¯ç=ÕΡ`‚ úØXª7¢ú¿]×…¢\º»o;4¼ñb±(6ù: /q-ñoŸ—!eÙ0 ôwwæîBBHD¿QUuss³æà›7o^¼xQoôôd2)Ër±X„S»‡1†¶âû~¢0Æ„lAM$§UU=Ï‹ÇV*MÓp¯±õ‚[tùSÄ)®ëš¦iY–aõòÖõeÔ,‰sŽëoq-¬T*‹‹‹ÍÎíðê—ƒ\£Aô›|>ïûþŸÿüçùùù;wî€çyÕjõã?îEL`;躮išð1jšÆ9—eYQÜo[XX@Á+ ù|^Ó4UUñGº®ëºŽ¾»†¬¬¬(Š’Ëå’É$Î,ôå*™LªªªëúÒÒzYmÛnh4#¨+Åb1~V†ªªÚ¶E‘¦iº®çr9Œ.Á­D±øËhxã²ñÒ²,˲lš¦ïûø¸ÄA]×ñº({qGkë·xÝâÿ†Ñëkq988ØÞÞ€±±±™™™îNŽ…¿ùÍo¾øâ‹'OžŒŽŽ~õÕW=êîUÚgzzúøÃçŸ~ûöm`Œe³ÙO>ù Û¶oß¾-Ëòøøøwß}7==½°°ð½ï}ϲ,Çq~ðƒ`c"‘ˆ§Ä% ü”ÿÏþƒÆ|ðÁ“““Ÿþ¹ïû¾ïòÉ'¸ïuûöíÇÛ¶ý·¿ýíßÿþ÷矎Ï'Á윟16==ýÝwß…aøèÑ£š³2™Ì?þñY–q+îƒ>ˆ¢èöíÛétZ,^–åfËhxã‰DB–e¡X‰DBQY–®s.žÌ|`šæíÛ·ãö³Ÿ}üñÇøÌ¿ûî;Àø[ü·áÕ>Õ ±»»»»» SSSSSS5?Mˆý^‚ ˆ8»»»èÀœœœœŸŸôrz‹ëºº®cVqó(—Ëårfgggggk~J®Q‚ †l6k$† B‚ †ÌT»ú•N‰ABHİ3¨âŠ@éAÄPCBHA 5$„AÄPCBHA 5$„AÄPCBHA 5$„AÄPCBHA´E¥RøÌ½X !AÃN6›M$‰Db||<›Í®¬¬ˆE®ëŽ‹Ÿ–J%<^(1¦§§»Þ̯P(d³ÙvFA v9‰Ä¹ë/‹žçÕܸÇT*•l6+ž˜X¿ëºñÁãããØ¹W€ ›²Ù,o1Þ4MlÒEH ‚ À0Œããclÿ@EœsüÑññ1¶4ŸÂœóããã0 q¼ªªkkkY¼eY¢ÔåpçÜΖeår¹|>O;(ŸØþ ›â“ñ}?.xb0v¢«R©4¼zÃñ†aˆæÃÝ‚J¬AœN§Óé´ã8ØÿMû°]ŸçyÉdRœ"IR&“Éd2²,[–µ¼¼Ÿ0Š"Û¶±'­èYX©TlÛÆœsQàMW›" J¥’ïûËËËQY–†¡ã8Øž0—ˉS\×õ}_–e¼ MÓIJ×ÖÖpqÐqÆX†–eqÎQäâ•çŠÅâ¹J‰ÝÅ$©™B§Ói|áÀÁ¶m·î¬ ®¹Ù!‹ |ßwOÝbQÞt]nÃÕÕÕ‰¨ªﮎ躎M-Â0䜣5ï,‹E4C}ßÛø#ÔœPˆ¨¦i-6ÌÇ1 çD[c« \c /d6&4 Ã0Œú1 ãÜ.€¶mcÏEA&“ÙØØh8X4¬‡6„°f¼®ëZÀ5EHDGd³ÙúÏÍ~b6¡í˲D&Ƙ°=ÏÓu?¦c†a43DÐÚs]7nHÙ¶mš&ž‚ž½b±¾ïãx”«õõuMÓÇÁsE´X,bŸwI’„9ˆçú¾¯ëúÖÖÚpõ Cç$žÈs]WQιx\žçù¾7p@×õ±¯T*h\žû[[ñ-OÇqðq;ï¨ñ ÌÜnABHDGlmm z ] ®¦KKKš¦a“Þd2¹±±E6,Ô41Ö¢[EZà†úÑéû¾ªªâs5 ;1-: …Zr†aàøWm†­õ@QoÛ¶®ëëëëb˜¦‰‹QÅ4Í¥¥¥õõõšà…ÐêJ&“Š¢ kNõÞó¼v<èÂm(„d2|V2ƒfnëýãJ¥"Ërà ÂàÓ¾Ð)­!!$bØ1M3o­}ýõ×G ²,‹ÜÆYsJ ëëë¥R /ÇqÐ6úúë¯1­Cår¹\.ÀìììììlÍOi âÂ;7¾}Ðy+¼µ¤Ë ×(AÄ $—Ëu±ö œ&u œfú@!A1ÔAC !A1ÔAC !A1ÔAC ¥Oqûûû˜ŒL×”?%!$âH‰ ¹F ‚hÌÄÄÄÈÈÈ WAÝdll¬þ Õ%¢)»»»­}JqK¥RõÇI ‚ ˆ¡æÿ¶•ï¶N]WIEND®B`‚pyzo-4.12.3/doc/yoton/images/yoton_kernel.png000066400000000000000000000723371421373005400212150ustar00rootroot00000000000000‰PNG  IHDRXGòl¥X IDATxœì½oh#Ù™ÿû¨3È™¡}UF&ÄfævÚ¨z½pcs/:Þ,_‚—Ó0“É—Yv_õiöÍÅ%&daIº–M¶!ø–éèé26I¦ÙÆGûÂþ±\Ñ¥uÃÆ‚¥˜Á^‹®BM',¾/ŽT’e[-ë%ËχaºT:uêXÝÖ·žç<B‡‡‡€ ‚är9×u]וRJ)OF)Õ4M×õD"qŽ«C:E…AKÎêêªã8Bˆ:âw”RÃ0 ÈÅbXZKø¾ï8Žã8žç€¢Û+ê&„BèºnFõC !‚ —”L&cÛv -¢ë:cÌ0ŒH$Òúl­“J¥ ÃhËÖ—PJÇQY(„‚\:R©”eY'XH‘0èQ £ …Až|±W7²n2ùš75McŒ1ƺ+‡™L†Rêy^8™´¬¨®À(¥]\R×)HY²èy»B¼xðt]þü9 "r©Èd2–e9Žsäl< æÐЇÏ6wb Ž¿œÖ4Ͳ¬»wï¶cÉÍ0??ï8N4Ÿb@ÓºµŒžE:ÎÓùypgnn…A˃c•ב0˜cÀ&€ ¶av¾< ©½à„®ëŽãteï0 ÀìÆÆ%·ë L3»²bYÖÒÒÒ•n/A¤ãd2™™™™#*¸4 ž öt{TÌq·áùw ^ò©º®«ëz2™lÏü ãû¾:@¬ƒr+÷8 !‚ }ŽÚ0«ìÎÅàÕX“¹™> îxr "að<ϲ¬ÅÅÅŽÜ«.áóÚ¤ÜwÝÂÙ£mߊÚÒëÜü ]×…AþfeeE×õRðdì*,'Àù&h½«A@~s%§(çüæÍ›¡ÖiTœNñ¼n·ÅX–ó¦/ß"mYÇÏg9WÓ¶8ÿi=4M€wÚ>;‚ H°²²bšféE< b¶ã  €óMà;°˜×u•UÚ#ɽÞ»BÔ1Ïow>ý-BAú“L&SÙ\÷Îù©`€9Ï¿£Ü¤®ëÙ¤ìm½®Ú·Ë­®Þ¸{—ƶmo1F9€QJk27”ô–ãÀ¶m Óœ²íQJó®;fšêFy×¶mx:??¹´y×Uó¨»ß`l@Ó„iFu}<0÷[…A~Ã÷ýŠ Æ£`OuyAú0ØSÊGÊ9'„,--uyIoCŧ 2HÈ[“c J½ ytýºÂÉc;)Ú£”Fu½ 倦 RrX× ïºwʲ7¶°püF“–E ˆa¼n_ ºFé7ލàyî ÖÁ‡åRqK˲VWW»»œ·¢dìÑõëk”f9×ÍÊ$¤ú`÷á$†A c}fæ±®o1vÜ^$$8ÌYM¸î»MƒBˆ H_qïÞ=WmMEÂàÜê T˜ãp÷FéÐ4s¹\Ûï°¸¸8??ß–ðTe~øòå(¥;œoeOî4ÕдiÛ^xõjÌ4 R®Ms kZ±K•QQéR©”mÛ¥έ¶%Ë· {#àyžÙ¦ý­j„Bˆ¶Ú^£T˜æ !Ê©BWF å2=𼪔†ÎÕ€mÛ¾‹)?ç®GW’¶¬Oд Æ&«‘½a]/H©¦­™¿Óà!‚ ýCE]–&Žvs)§áÜòü¢beeeᤰÉår„ r4(lKQ·)Û~jŸ¢öðT„ËcÂ4³œ=OUfQ hÚ:¥aMË»îlÙ/º>3SSãíc»BpMS„S¶ 1ÃH'“Ÿò=))çOç糜«íÃÖŠÁZ£‚ô ÉdÒR±« ¿×åÕÔ¡œ\¨iš”òL™…©TŠ¢¤Î÷}B¥ôÉ“'5ÃT­ÑZûz?ð¼¼ëB9dFÜwÝ¢çUŸ©þ8j1¬iÃURZsÓÓÞm#iËJ'“ªÖ(Z„‚ô¾ïWœ¢]L–hs\•çö<϶íÆ#HUÑpJ鯯D"‘W¯^un™šv¼ZéiúÔ¸nÕ¯€zâM; î"Òض]Ú›‹õ¨S´šrF‡mÛub[2™Ìüü|&“Q/Í2 Þ¤s%:û€ê…A ïûVµÖ¡jÚíEV•HUUîÓFÙ¶í8NÐ=1‰,//7²­H)€N”èìé3!Œ±»wïv{!‚œL&“Q]å Ïìòj΄½ ÷¶À0Œã‘Ÿ­³²²ÂÃ/öãPJÇ âuCª9ˆú¤®Æb*òõ’÷5Bæ]·èûÕ‚ô•¬‰î×nY€ëÔa‡2Ù|ßB¸Çº@\Z4M3 £Æà©YáHä–ã\rý;‘Ï #·ºÄ+#ÒkÌÌÌ”vs.–_TQöŽ !Ô~rþ\Qÿ€POcڶш"ˆ`F¤§¨Ä4Бn®£9Êk¾ä‘Ýå DãqTÁÓ$DuýÀ¦Òƒ¤R©ÒQ<ÚCõµ§œòˆß0]ä D;\Éæ¢£öMqÃAz¤E“«Ý\GÓ”—-1ù½{\s¬>°ïºk­™žžwpLö]w“1Øá|óì 7‚\\*úÑxú ۾ә倻t­ÑÁåe£v‘sM¨/zÞ^àÇhŠ•¡¡ü±ð§bUeX´näRQÑ-Üè5näëÎ,¼"¤öÎ0>RZy':"І¢Ûû®; iž§šK©íÆ‚”ž”aÝ"؆ ’ªÏT¨¹ïºwݨ®«5} Q !Õ„šVs#AúŒ*‹0ÚÌõî>@Ù,»•©Ôv£Ø2²PRYm¼ðŠ …+¨wn¾tÜ\S=ª„³-yôH´A· kÚžQ]Ï».åœF–ó]!nW5¦ ‚<ÖuµëÖ45 f°"mY;œ¢_MÙ¶ª›—å|„Ò¢¦=Öõ°¦©Jÿ‚y²œoÛ6¨%™ætP ADÁw€m˜ k%…Sÿ·fÖ!1©=XYY¯XÒ-•ªáyTÒ`YsübT:EŽÒž6Ly׽㺃„ìp.LÓ¬W2ÁؤeÀ'„ìp>nš“Ö ÿv¶m[i*|f)§mûŃS¶=¬ëŸ1Œ)ÛÐ4aš'ns~(倦IÇy:?Bˆ ÈøØ/À½dÜ}pï” Aßs€ –D‘®UŽÙ&ØÛ`àY #à|À݇›Ÿ‚9Ö­èD|ß²é/y`jÚ™íÂqÓTFÞ¸i¦÷ëV1˜,7Í=!N+‚G C˜æc#”~³\|= ïºß+‹ß˜i/,¸O•”"‚Tp$dòðü;@œ€ý¢ô.ž- aunbàù4HÉêH+]: —¤±ÈårŒ1çØ—'Çjgv¹1o€UÊùçYÎÓÉäÕXì¶Õ_ã®2‚ ­p÷˜)pïœð–A*ÉJ)„Môˆ €eYJ£ñ¸Ú<ºäÑÕµ3¥”–eQJ•iØ! ô¬ e8ÖõêØÎµ+H©$­ e Ï´e™¦²?!$Ëùd•Ùǃl>‰ ÈÙ0X“@>+ ÖdIö‚-G‚wÐм"˜Ä.8æŸ6Z¤Æƒ•,ØÛ vÁJƒ•>›©(¯\oŸb©“KK¨‚'RS;³=á»ww…Ž3fšJÛ I,/«ÐÍ)ÛÎ9Ž:9¹´t•µ¥7[övVû<f…H[V0ƒ2þ¦m;ïº)Õ]Ô»”s•e?BéUBª“KKmù1é54M+yÅF¯1ÇJrEGa9nôapïÛ+ Zž§”±4Y¶à* ƒ¥ : ³`¥Á‘ GK¡7êÂÆñK+ºµŽŠ‹Ã6„§ jgfWVTg¡Œ$·[ˆ&Z£t”ÒÉþ태¶¬t2iYÖÒÒÒêê*ç¼Ãi‚••S}ÝÏÅJÑ› k ¶má©TŠÒtZa(€:ÓÚ©?¨þb?×Ê2}€ÚÆNÒ#À÷ÓÑb1£jÙu›Ëå(¥æQ{®§¾v RÕoË´;œ·}Ú·rZ,{v[ˆ>6¡\ÑFýu›ô"HïPéá—É7áÒS”ËÙX–µ°° Ž5M£”VoÎÌÌèºÔ`ó}?•Jù¾΋ (H™N&[™á±®ïóD¤Ìž]7kQ•¯¨ç©mÌ7?…}×Í­®¥b±XuóÌÅÅÅ•••n­ A(ÿnˆ³TøìÊk¦U¹ ‘HdccãþýûÁJ)¥409ç”R^¥©Têb•*Í·ÏÀ=^€ú¬\QÖ÷Ö½{¨…ÇÙ¶íuJÀ0ŒãV`&“áœ÷N¾j.—KN·W‡ ¢JwëëA¼ÕžªMÛ“XZZÚØØ¢i ÃPipêe&“¡”²–ãç×(ÝdŒkÚÃPèa(¤œai˪îô0 Žëºd5ƒÒq>!DTžO5f}ffWˆÏûÌ0Ô»Õæà¥êd0ÿ®Õw_£tWˆ´eí¥Réd²£ðƘB¡´ðÄÎËIÞu‹¾5O^ñx\Aº÷‰år9õw纮ÛÀ3‘¦iº®«GËú¿urPªàH°§»¼š3¡ Óg,€‹Å–ª‚áãñ¸eYmɾÈr®j[¦-+ešwê~±\%dVxDÈ¥£”Ž™fìØÏ²Éؤe›æç="dÛB< …f76F)Ýdìµ”*ß1ÑÎó®{ëÉbû®ûéÍ›§EÀNZ–Ê)oe‡îeƒ'“IÛ¶½\+¶TC1Mséôì‹j9I¥RBˆ:ƒÛE.—S–h#âWçyJ8@Ó4Ã0 Ø››ëÈ*伈Çã„)%ä^ƒØm²DWàYõçY…ð8íúæ3MU–òcéd²~¹ʹªd9fšÒqF)$'äQhZ–óABF)=^‰zOˆY!Ô<Œ)ßd Ç0¬ëÑx\µ[hËÏxœRáÒÒÒÒÒ:Ъ9^˜µ>¶m;ŽÓQckuuÕ¶íS+çF§v¢ñЦtÂó8çœs%öŒ±6æ0!È9c†J!ž½0B( AÛÂÖ…°] ”·!Ê-í|<ò%`Vˆ-ÆžFÑ÷ÇT³„àÝ|&¼ W?í¸I¨GwY+ضÍëÐgx²FÂ@G€Ž‚mè—_À̓ر袪¹§æ,‚tÆXIW²`M6SÞåü)—ê6M³wCÊÛA¹¿lu(ÊÁQ{Nµ}Uu¶Õò®;eÛS¶wݧ†Õõ‰ªíÌ«±XPw³Xž?\î&«(zÞÕr»Ùê“Mýˆ'€y„m£& 4™L®®®¶>m.—›ŸŸ7 £¢‚‘0,ŒÁÆ,x&8ß6Ñè#0ƒ€= îxù!ÜŸ‚X©²°çy–e µeÍrÎÄb±JÖ]Ð ¢—‘X)ùE­^J?Ër®bd¶‹ÍÍÀ¥y×UXSÏRŧì»n–sµ‡·+ÄñDÀ§†¡FŽRÖ4¥gáHDMK ã©axÞç/Ä0¶S+Ùá¼ %1Œa]G"ÊôÜá<ˆ;UªÙJÑiÂŽÉd,Ëj=ˆkeeE×õJ`j$ ÷§@~œ¶êÿ!ƒÀ&@~6fa®T½Âó<Ã0îÝ»×Åü$iŽŠœ¬dAº¹”F¨2{ª+ý¥ë”> …3ó0ÚâÆÝ»JSÇM³¹Ä€Ð!Öàé -VHò}ß4Í#¹K“Àn4Z ø¬8¬tà/Õ4 ë ŽÅÅÅR€wb¤ÔA·7»0³®¥”ÂæJ¬õ}½Ìj°ÄÚyH$‚ß™L&™L6žîª²‚**8ƒ—‚5Ù)ÕhôNP)Øó(tž¾ïsΉ ó}Ÿâ©h¨xx¢ÔæÐu¥‚¦i.//W¿™Ëåc–eµñ·lee…1¦>„tꔩ®é8Žúz¦R)˲.¹ø†¦imÏ4O¥RRÊ åŠbff¦ôW ƒ˜í‚Gô8ÞÐuJªëº¢wÒ~¤>•†½çV7Ÿ,ù°-¥‚'þ*=xð@ a{¿j2™Œª&ÝÆ9û€ãµ3C®ëªG§p$2Bé°®@çJº] R¾–òÀóö„P9›ÇŸàÚ…*êºn%FôÉ-0H'îÕ ÞèÕÞ¾aOž<éö‚¤QŽha÷ªöO{ ô}ßu]]×;ñ¬©&oû´”kg†(¥Bˆh<~ËqÐ|œMÆ^Ð5˜/¥Ihšæ8ÎY# âñx°“Ëå’Éd¦\`éW ­Í,޳ɨñbägâÄšâ;œ71­*p~Ö«^K åí¥R&8vØDÛço'ªH7ôX±|i„X,¶¼¼\qÀøE¸·äð¶É¡»ÆgpóÓ Ë ®ë®ë¶ØûÚqÕ(­KDN¦ã%Öò®ûº…îiË'•üy-eÓ® ¯ŒÞ-jÍÁÞÇšTm›„X†¹Xø¾ÿàÁU8°êlS@)@ì69µ,ßý1Üü4¨Ç¤išmÛÏŸ?o}CÝ4M! aGyçíCNGõ…$d°\×n@ÓÔñç¤.‡ÔŒTg¢º>pÌßX=RMRô¼}×USx^Þuk|¹û®«ŒÚ°¦©a)<¯úªÊry×=ñ¾çOå_vìê9íÞ·›€{[`Ûv‹Ï¹rn$“É_ÿú×_ùÊWÔËÙÙÙ|>¿µµUzÛ/ÂJ¶Ô01tèèÑzñ¥î>¸y{ vƒÂ¡ MÓLÓ´,«]‰‘H¤ºÆáêêªëºŒ1Lêm#M áç="$ZVÊù(¥[Œ-<ò®›¶¬ÛBÀ¶moÛvT× RNÛ61 XŸ™™ÝØ­JX<>gXÓv…(z^–óaÛ–Žót~>Zv«yTɸ«±Ø !)ÇMsÒ²²œï q»œFº>3óÑá¡êV•å|„Ò P³{TÌÁ‹¢‚`Ž•¿(„Èd2Xkéq|ßÿÖ·¾555õñ5o½ÿþûßÿþ÷¼êí’Ô¤ö Ù̽TñN÷4MS5‡Á Àm¤I!Ìr>HˆRé8ÒqFOÏÁkÚm! Ùá|“1%`ÇeŸsÚ¶ÇMsWˆiÛašS÷ïO0Ÿ”-Ë-ÆÆ¦l{@Óv8ßbìÆ)aÓ¶ýâÁƒ)ÛîL¥R•_?v£«k9 ÚD=;;ŽƒBˆô8*@f|ü„gÍ÷Þ{ïöíÛÿú¯ÿ*„p‡s.›ÝÄ1M“Rz>iªøFƒ*˜ÉdT½õò’—˜ jgjšf†aUݤŽPš¶¬5J'‹ê:©v»cÜ4•GtÜ4S‹‹)OÌÖ¨?gAʨ®O”En¼¼q¸—J–Ÿš¿wvëp¤×`×kŠž‰²rÎ;‘X‰ í"•J}öÙg?úÑNðo|cggÇqœ¥¥¥¥¥¥\.§ò\×­¯„]×U-âs¶Ìb±XPÔÂ÷}Û¶u]?qŸbuuÕ¨ûÍ|ÙRÏ:Žãèºþüùsõ²I!Öõ;®»mÛÂ4‹¾?¹´ÔxSãÓ„°þœ'ÆŽvUÖ½:1HE6ŸÉ<ªaïTSkƒ@$ ~QJ™Ëå0¹éYÇ™ššzï½÷ꌹ}û¶mÛê‘.‹-,,\ z.œs˲(¥Ç…Ð÷}e -,ÃPquüv—‚”JGò®»mÛ®ë&“IõWßdÔè®Êciz^by9L@µ¼UëVp¬¢§x&Oœ3 ªëy× ’‚9¯Æb»åg·`þ«§¬¤-hšF)­Î¦ ”êU?T.—«Ÿi—Ëå*N˜ '„@GÔŸ—ÜÓ‚ô8ªzgý1×®]ûÒ—¾tA³ôîÞ½«´ðø[¶m{žǧl›Æ(¥—\`õ9L0¦œ‹¶mû¾M aÑóR‹‹Û¶½+DÞuUJw8ßB:Nºêï&»²¢Î?5Œw愈͵rgý9¯Rr‡óM¡tÒ]!¶m;[îœ>nšO C:Nõü£”î¥RêduöÅÕX,Ëy‹ÒÇ766ª½‚–e™UwaŒQJƒÞî*¶:ß R3"^72­g¡£êOB¤ˆF£^'s©;ÊÂÂBà›U_5êXùœ&-«"ä{ Æ¢ñ¸çyêK¬I×(1ŒÙ´eIÇ kÚ-Ç€qÓTÁ¢êŒÚ«3Í Æv8/zÞ¥ÓåœQJkþ†Nœ“F2H9O[Viþ'O”±?iYaMÛ¶mæ$$±¼¬NNÙv®ì‡œ¶í¼ëžæ›mšš:ÔŒ1]×ï¼Ê‡­v_TâE˦ÕCª?›.@óá÷¿ÿý[Ç|þùço5/Œ1Çq ÃP•t Zœ1Œ|&£*„`$‘¸ö§“¶¬t2ÙtÑmß÷9ç”Rµ‰˜Ëå*nÕ³öšp÷A2²p¤X"2Xyy<5X ŸZ¿ÍÝ?si7ï†Jö.ÖFz–d2ù/ÿò/|ðA1®ënmmAšT*%„P_S¡PN Îo;Õéã‹ê/ö+ÐKq(½IUÙª‰D"wïÞ Bib± œõgµÙð,Ï‚ñ¬4°-˜Y‡ëÀJW†Í¬Û+]ùO]u± 7?=Û.¤;¹|†±µµµ¿¿_g̳gÏú&´2‘Hœ ÷cÙÓ«]¤<±4عÑ`1Îwàu.×voa?!zÎy¢GAÜ.»û`¦@€ÓÒ{*ØÉ;G‚)š¼{<ª*ë§R)LìEz“x<þÁüêW¿2Móxìè›7ož={V,±¡J+Ô÷&¤Ì®¬ÐÖÊM·B–óF¢„Þ1 Ãqœ§†1+n«Öpày[Œ½ÎåT¤h·—s:ú0X“GŒÂ·"vm‚s fÖ›¹£næ*9_lÛ6 ã‡?üáÂÂBuZý›7o~ö³Ÿý×ý׉ýâû›MÆ QÏ÷·…H[Vx¯êì»îcŒ©0 b*Ær‡ó¼ëN­zºÉXT×ÇMs“±MS/ÚF9д-Æ`ÒÛB¬QJ C:NT×§mû3ÃJcNZÖ°®x^Ú²‚à•,®2Ë·ËÁJSÕ7³òe÷€}×}aÛ…rL‰Š»,Hy•ñº†é;j5ŸÉ<ÖõIËB»0@åš¼Îå€sÞÆß–JŒIåÄ 0ÿ¼ƒ’ßÒÍy·fè(ÈïµíîÒ“D"‘ÅÅÅŸþô§Ñh4-Åye³ÙÆûÅ÷y×Ír>ÁØU'_:, IDATBT¾ŠLÜ"ešw\·èy{©TÑóT&÷ÓùùJ‡uýDuÈ»®¡¼ëæ]wÒ²¢º¾ÅØc”ó1ÓܺwOÍ£æ$†¡j§ì ¡g9ßbì¶/l[ÍÊ¡:nš{©TAJUeE˜æ¶mO0¦ÔNܶí´eMÛö¾ë®Sª~•N9$$ªëo5 ßI$BÃ0¼\.µ¸Ø¦ºPíÄÚëý«aÛºù’G”g¨¬9v‘*š"Hûð}ßqÕ›7H“ „\æZQ]ôf‚1¥Q]ß¶íΕàÝru0¶° ª=¿UNTŽÜ(oª¬ñàBb%q5ŒY!TµËAB]¿¾ïºÊ’Sª=®“–¥ì¹IËzaÛ* Vù<×gf&Ë9ŽÊ˜TwL[Ö !aM«nöpï@"‘RrÎ+åN“êѵqæÒ/¤,ÔjM£zª³5²Gˆ —U„ w²« $DíáUW/y]Ž ÄcÝÆÒ ‚͵ӄg¤|ߢï5ŸÕ`e€ Ó|týúH"1JiP5ºz%ùL^çrë33Õ3¤T]†‚3;ƒ PE6ÖäÃ!B×õR*z…g!nÛlÒ¨jœøˆ_‡ã2ËÞiåÀZáÀóª£R”év[ˆ‚”YÎw8W=ˆjWR¿¯i^5!ªÓ_ƒ‹éxc^ä<»`¥+!£ç€WTj`…ô0hÖ‡Æç*C¬ %×´ Ù@ŧxÞNÙ Yr¿M- bss[eƒoÛ¶¯Æbú¾F©0ÍAB&-‹F·¶]ÏÙ¶meSÆææ‚“Òq†B)«–}×}z–¬˜–ó"Ý$µ¡‡¥ãx̱#eKÇ‚~ÔλgJÁ8؉ éYÐ|+c¦)ç±®Rô<«©,Â,çÒq RŽRª*ÔÔôym„QJÑÈÃPè×/«ÏOZÖSÃx¬ëaMË»î¬0eÛO ãBTsÙ[忸×R>.ÛvÊF¬¾¼èy‰ååABª–‚”ª71Œ­{÷N4.« aeógqq±Teí¬•ez¬,ƒ\’ɤbcc£Û égª,£”/*Ùb}ffáÕ«¼ë6iÒž§2%ªoqüäÃPhvcšVÝJ6ÕõjkÍÏR‡êÊ2hvJ‰5árá(çfôtn%r¹As°qN UÝ :wÓç?í¦­ŒlÜ#ì!{Ý\GÓ”…`Ö)Ò«àî 4[rÉžé¹=¹´Ô9“48F‹° T ©L¾’(õ¦”ª’âAzÖiͲä …Ò–¥N~BHÐjR-O]˜¤Á²†B»B¤-k/•J'“õB•ð`œ¥ßc#ÌÍÍUžd§àî·wþ–P*è@×õû÷ï«Ó û·û‹_üâóÏ?¯þæÍ›Ÿüä'£££ËËËêÌÜÜÜ“'O¤”º®£ˆt4‘y‹E(gvccVˆ΋ž÷ÑááG‡‡·ž<¦yày)·7ͧÊEk`Ì4§+ç$ RÎ ñÑááHYUÇ© {VAÊÙiÛÞblï<þÑáá¤em2iËŠêºZLAÊ@½¤ã¨‘ƒ„¨“iË"†¡FŽ™¦RMé8[Œ}Oʧîߦ9iY#‰ÄäÒRý¯ñx|ii©Õ×–––Jq%~ÌTµgb[Úƒr!†êw‰Äúúú_|ññÇÿ¤L2™üþ÷¿èe@,[ZZBéh"-ò–î#”ªöNJ{”ÁÖ4ÈrÖ´ Nù(¥ÑrÆØ !ƒu§/gî›æöI’I CÝ7»²²ðê•ê»8fš[÷îí Ö4é8;œ›fu»äIËRÓN0¶ÉØ´mKÇ™´,µì¨®¿xð`ßuw…*ïM0Ö#A³BˆRmÀLè:8·à-Ÿb‡ñ€mÁJV½rçø@,[^^V¥ãÔ™·~ÍÍÍÍÍÍår9Î9cŒ1fš¦iš.îŠô+Øhi·aPh¦èyÕÑ.Q]kÚk)ÃU‘ôáÆ¢ê«9í’jq ºÓ¶= iiËJ-.Ž$S¶­ÖÌÖ4ež}_ ¶:¯JÇå]·ºycG›O6ÂÍ›7]×u]—sN)õ<2yЃ˜}¸;kò€®C¦Ôws^Gáb±ØYeLˆKKK«««œsBˆa¦ib '䬠9ˆ´N£Á2aM#†q[õß”mRÖ´êÔ‹N¤a„#‘@}Õ¶ß !û®;fšß“R9T×h°€¢ç)Í G"“–,{Ò² kZuKÆ´eÕ g=(¥š¦išÇ…¥ R¿t½;±3U*¨iZ%uw‘VÀÝA¤-4*„Ä0²œ«À–]!>½y³ %1Œ|&³Ã9ìpž/w¡ÛbçŒ%Ï•Ñv<ÑÆSÃPºµÅØH"¡öÿ„i¤¥tÀRL[ÖçxžÚT—«“êݧå“ÁϲÃùçJ RvEïß¿ÿêÕ+eTÅãq×u+û…3ëç]tÆ‘Õ*(„èœ à"Òh"m¡žFuýj9InÜ4'ûôæÍ‡¡Ðc·žŸÁL%4†1öüùó®«  ˆœšƒH¹íÚ›²í.¦"Ìnltèîêói°Òtƒ¼µ·baaAJYIáϽ†{[@>+ ²Ðê" ÆgpóSX-I‹J<žØ]p9î"m$¤þèS±8ð¼G„}ßuÝVŒ$Õ)MÓ´—/_6qùêêªeYµ0#@GŽœ¡—¡,€Ø±b7詤h¯ï·s¨DeOcâåû"í%d†ã8Ñx<Á9¶§¯aßuS¦™Ïd!Í X€ïûªûà“'Ošžduu•1&O´à# Gëí ºûàækÄ4MS¥ã"‘HÓ ë ¸ƒxiÁÝA¤½„ÔŒj :¶°0ØÕ=žëæVW¡Kñ“uH¥RIÔ „UØåÂI`5h ^6ÐDÚÏááa%q 9†*õrØ,–e !š¾¼>œsÓ4ÏÚŠRjY–”²C«êÊ4åäèörNaY¥´Û«@úŠÐa9‚?“É`½¾j4M3 £ó"“ÉèºN)í´Ç÷}×uëwÁ%„èºÞ;vm‡@±¿Asé!D:A*•"„àwñùƒ;ˆ} î"…égÐ@ì'ÐD:&Ô·™T* …»½sû ÌD: a›Ñ4RzÖ¤Ó`‘š‹–’A:ºF‘Ëî ^8pwé(„m —Ë©fëè´¹XàâEw‘Ž‚®Ñ6à”éöB³;ˆÜD: Z„m@¥ñéº~¡K´ h ö&h"æHB½BÕZ«ŸšÝ÷BT´KýœúL&Ó÷ùé—ÜAì)pwé4¡ÃÃÃT*Å«íl€”1Msyy¹æd2™´,‹sÞH7%ä"‚bWPþ•ॠÃFsé(אַ®ª áH„†*º=r¹[2¤|-%”ënsΠè1 Tí4L“ècÔâÒÒ’2 !h vß÷-ËúÇüÇk×®'?ÿüóßÿþ÷ÊS… "D‘RFãñY!ÚÚ{¶?H[V:™l½ rÑA±Ó|ûÛßVqkÎonn®®®¾zõª+«B.¥Æ¼¾|‰ ˜NäÀóëúë\N!¥T_…ø x™ÁÄNpïÞ½W¯^MOOŸøîæææÐÐÐýû÷ÏyUÈ%á Œ$¨‚§1 iÄ0@á8Žâ’G!X¤¦í¤R©_ÿú×§© LOOÿú׿N¥Rç¹*äòpPëxŒmÛB`t ˜ƒØV8ç³³³õÇÌÎζތANä ¤ìÜ ö]w­µÐ›Ï;¨»UÞÑõW‹Å0t © ÄÖBŒ×3>>ŽÎ¤Ct¼²LÑóöZsh¬ åOOíØâÑõë­Ì ­ƒb+ÈÆže† g¥%!ÜwÝ]!öË*Ur¿J±v«ß Rî Qsfÿ$y«©Æä]W…ž§Þ ¬@¥‘jü¾ëç!d‡óqÓœ´¬Écöm›r®¢4?3Œ‚”Ó¶ýâÁƒ)ÛÖõmÛ+ßh‡ó,çŒMÙöúÌÌíÓ7ÔUÓ¶ iËÚbÜ4›û©ä¬ÌÍÍÍÍÍ©DÕ¢¤ÿr}ߪÏ佤”RJ ð,ëÖ­[õ…ðÙ³gOŸ>mu­rM á°®_Åëú¤eEu½Ž)&Ëí4ÇMsït)"†¡4u„Òokæ0ÁXAJé8ù*è[!†‘Z\,zÞ˜iÞ` ‹ çO¿ˆ+++­ô]QÚiY!Äó¼gÏž}ãß8qäæææ·¿ýí~zz@zŠæ]£w\7ËyÚ²^çr#‰Ä[µ0 Ž†QΕ©—N&¯Æb·…¨vcîpž¶¬¨®RÕõµpÜ4 Ér¾>3ŽD‹AΟþ0U³xÛ¶O®|–- úðÉ{àæA ÷:8§ìÈ_ýêW›››ï¿ÿ~ué›7o8ç¹\+Ë £I!,H™å|Ò²”•öèúõ]!®V‰VJ¤T’V2zº$mYc¦©ìÅOQ·¨~wÚ¶•Œíœ”Q4xÒÔ¦#åœr.Ls»<‚t‹‹k ú¾Ï9·,«Vçb@GŽœªÇñ@ìØG¢øÅ_üô§?€|>ïºî|€©ôHGiÞ"ܶ킔c¦Y2‰Du}Ôâ¢tœ°¦¥« „iNZVÞu¥ãÜq]Øá<ïºjë.@:ήŒ…5­èyªö÷ÕX,˹¹]!Ô[[Œ©¨u>mY“–5BiÚ²F(-z^Ú²Ô[*jfÒ² )H9ŠûíHÏp± ÄL&cÆ‘]ÀxØ 0hgžNƒ€AÀžwìàHð‹Íf³Ù¬¦iŒ±Gõæ§ô_€ABÎ?2 iÿã»ß•ŽóÅo›wÝoüò—ÿ!šv•ÿùÏ÷„˜²í÷¾úU¥:š6Bé Ûö~÷»oüò—C_û=ïK_þòðQëð|÷»Þï~'gOýý¯ë†¡–÷ßøCXÓ&û_þò‹ßþö÷ÿùŸÿÏÏþΗ¿Õõ÷¾úÕ°¦ý÷þ0HÈ(¥)ÿã—¿ô~÷»ÿ÷ç?ï«_ÖõkÿóÀüò—{BDuýÿþßÿû¬ŸÑž{©”ÚØ?ëµòVT§!•kñÛßþö/ÿò/3™Ì»ï¾ûµ¯}­ÛK+áûþüãï~÷»C01Î-°þôaøróÏÓ%¾úþòá«ïÁÿù/8øoøÃþàyÞ׿þuÌš@:MδÃw Q (,ËZZZêöZþ§×Ú\ø¾¯ÒJ¯cWÁžƒtê~²ö6JU¼yó†s^1ãÑÞJŸ+å4G¬‰´ !‚ô3±Xìïÿþïó›ßüÃ?üÃ矮N¾yófssóûßÿþøø8 ÚΘcÝZd“”Œµ!‘ÁQ…f\×Åê£HÓ "Èå¥RS­Ç“èO£\‰Û¶í»wïv{5ÈE]£ry©ìöxîàiÐõ§¢«ë@.6(„ry©á…sŠ*ÊË–ØTiB¹¼TY„# ] vï4s'¾b·™ ëS6dO ‹EA!DËK;Ó(bø[2ôO†gAì5saÃø¾ßÑù‘>…A./~%[B¤iP9 ²‡ÐCÐ88@ìBè!˜BÁÞ.½Tÿ‘O@Ž\îîƒÆKþU+]É6K‚©ŒÏÎõçB.1ït{‚\(r¯ai¬I»`<ùa鼆YУ ?†¹p ÚŸ•®ôur÷Áx œ‚A@ÀÞ.%/z0´)¦²³=¿“Éd”ù’¦êº®iBb±X·—ÓfP9 ñh©à52b´0€9ú0ˆ]ÐÀùfi°9óOKBè έ’Ú9È ÈBÉdLŒ€½]z+PÄîq¼ ëºmÛ‰D¢Û i(„‚œ%{Á±›/EœuJkˆ=УÀ³%‘óŠ `¥+P{3᎒Éd(¥J¯Æbƒ„ÀhP‹îR²ïºEÏ€½TÊu]Ƙ"‰t{]í…A³à“«GÞÕÂG6½¢êÀ&€Ýò - dÄíÒ»²ÞAGÞ8Œ1Ïó‘È-ǹäúwœÏ{¬ë®ëš¦ùäÉ“n/§=`° ‚\^!¥#·^«¦#dò¥¾²´€(¡ìBSx`¥Á¯¼« €5 ¦ï ™|)jÆ;ý18¹f~†²îV~–ÖÈårj;UðD4í–ã€ã8¹\Se½ !‚\^*âQmçÕ»à*,Œ•¢=ÙˆYÐ@ 9 Î-pózC+ —7õhÉvd`°_„'·€mAè!G`M–F&FŽ8TßJîµú³]* #£ žÆ°®-,@õý@×(‚ô9¾ïÛ¶]ô¨iša†a¨8@¨Mr8 süˆ…§Ð‡+NõÒ½S;Æž®A¤ϬY=Õ[©Zv.—k‹–„PÕ"GNAí›öM$Z„ÒϬ®®jšöäÉ“?þã?þ“2‘HäG?ú!¤bÊ×Ý\eÓT aP¿ºº …æçç››R5h,t¸xé®ý¢"}Z„Ò·ø¾ÿãÿø?øÁµk×jÞšžžæœWz»‹]€És^^(—mS½Õ1)Œº~ýºçy¯^½R/s¹œ”²»Ñÿë33³M{_w8€qÓlzR Z„Ò·˜¦955u\ƒw¿ò•¯”^¤:[´S” yÓ*E‰Çã/_¾¼ÿ~p&HWX–E)M¥RÁ™L&s±J•f9]×f}ë¤BéO2™ÌË—/ÇÇméUñþûïW^¨XЋEY¿i]ÓêÉ“'/_¾ ^êºN) LÆ••]×c-®eßu×(•޳Fé¥Û¶œ Æl2¶_váf9¯y|°âÀó6S#•·ÃyÞuw8W/ R~f§ Øá|³êG æß¶muÉfË?x€®QéOÇÑßñqíÚµ?ú£?úâ‹/ ”Þw(+·®ëgÊì¾{÷nu;{B¥ô­ŸÕ[)zÞ^*Uô¼IË€§óó#”ª“Á˜|9-¤ãLZVT×…i†5mÜ44í¸³ô…mç]WÍ)LF)$$ªëj𥓖5HHÑó„iªóÁ€,çùªräj1»B¤-KeAlÛ¶0M8É/%(„ÒŸ!þäOþä­Ãt]¯áÅ¢¼`³µ°D"±±±Ñúr·GETŽ-,d9'†qÚÈ)ÛV{x“–•å|Ü4 Q‚W Û$dÛB¨ã°¦©3žG9ä3ªëEÏÖõ`À‰·.HÖ4¥4ªëŽ ê}Ð5Š —š7oÞ”Žüb“Mw»‚w+¥ÎˆÆébsþÚ3HH¾ng¨ê‘ÕVc J]¿¾Fi–ópÕf' h¬QÊ5í±®×¿c1 bë33u}‹±£s^BP¤Éd2Ïçß:2›ÍV,*ûE'ÕVÊK¥”öl3„Æ“ç»v•!øáË—£”îõ#CJ IDATp¾utKoßuŸÆcJyÇu¼ã€¦MÛö«Wc¦YòøÆäe…Aú‡ÕÕÕÅÅÅëׯ«`­­­úãwvv^¿~mÛv)¨2¨yÖãx`o«Cë˜/±»¨È—ÏÛá|”ÒѪ¬Ä}×­¶ü‚™mÛVÔÏÛ=ÖìiRQöšèÉ>Ì9Î !Ä04­f~Å¥ç3¸cÚ²>!d@Ó&›`¬xé3qA.6ª6¦ã8ŽãB Ãàœ«$¹ÅÅÅ:£¿úÕ¯c‘HĶí’]XS´7±_€_Ji¯5Êr.§ å(¥JÞnܽ»F©r„Fãñ`äk)×(U"D…€¼ë®ÏÌ|txX=á”m?5ŒO$¤ ¥Šp!†±uï^AÊIËÚá\™tEÏ‹ÆãÒqÔ­ÕÊù€¦=.ïª9o0¶+×4µA8UÈKKèð臎 È… “É(ñs]—RªJ¦Õ8 }ßÿÖ·¾õî»ï~ðÁ5—¿yóæ'?ùÉððpÐLçúõëR™K岟½‰,€þX ¡¢íB˜J¥(¥#‰Äí3vâÝb}ffáÕ«¼ëÖª(;/ªë5»q§¯áÀóÔæß‰ñ/Á»§¥çŸ6@Ý=¬iÃg˜M[V:™´,kiié¬×ö h"ÈEbuuÕq!„çy†a0Æ Ã8-y ‰øàÛ¶ƒkmÛ.EØÛ`Ä*ý{ Sô¬9'¦@œ&Q V–9qÎß­3«Š "H¯SÇùùVb±ØóçÏÜüTrÎ:tŸ¡¡!ÏóZ©ÚßxÞ#Bоïºn¼j×óâ‚Q£Ò[TG~J)U·ô»wïv:O ‰T̬•l™ÙÈOÕ¡išSAPåÖ„ib¦ùqß¼•¡¡iš…AV9çgƒ,..V:4u=ˆÔÝ3¥TPÓ4×uÏá#ò}Ÿ1Æ/wÎÓ ”Ú¶Ý7*(„rþÔD~* 쨉ÓG´°‹û…î>Ðu&zþVˆïûncEË.„^xVk/(„rär9%~½àüld2Y©ÛÒ-¬RA]×9çýd… ½ !‚tL&Ã9B¸®èúÈ~a< v~6Žïû–eqνš&v‰ £@G€Ž¾}Y± bÄ.ä^W¿£ëºmÛ=O‹ô(„ý€Êv’RÊÓ+BQJ5M»lßÚmá’8?ÏÄ©r¨ˆGA Ÿz±›¯6þ(¥Œ1ô…"çOE3™ŒÊðqÆF\}!DUUWOý½éïò}_Y'Bˆ:úwJ©ú*GQ¬Ã¥u~ž õP=%4= !DI þƒDºEèðð0•JY–uÉÅï44McŒõTóÉ•••à ºTZ7cì’7Õ ó³9T­Te47RŠEÓ4õñöfOAä²RE=Ï G"#”ªVÅ#—»ùHAÊ×RxÞžùLLÓ\^^îîª|ß·mÛ¶í“Q‰ЧF´{àæAjöc”R˲.ó÷:?ÛK*•ªón_ÖèB.4!J©"ßrœÁ~鲨F6{ñàt±ó–ïûœs˲j%p.V Oh<£Ë;(E(8²Fû¯n}Ðù‰ ˆ"¤þøðåKTÁÓX£t/•²,«+ÒL&cÆ‘]ÀxØ 0h-MíîƒýY¹À»ÿ~KÓö6èüD¤†+0’H  ÖAu©>ÿ"ô¾ï'“ÉJÇpHŒÀóï€{ÌñVUôaàä‡p "¥?Û¶oÞ¼YßµuÉd2÷îÝ»yó&!D¡zÞ>þüþýû¨‚rÉy°íd}®Úù~JÕ­AbWÁžƒ´ÿNÚ° 0ØÛðà¨mcÎyG›€ŸÇŸ–e¡óA®@ñÄà‹°+ÄÃP¨•¤ãŽ¥ ì ±F)¤-k­a>¯¥rŽFs&“Ñu½¢‚ càÞéˆ A°§ac60 MÓ¼wï^ïØ1r¹Üƒæçç5M³,K5±{õêÕòòòÜܪ ‚ 5¼Ó휧óó³§9rÇL3f绢ö“ÉdT/@$ böüßÐQðL0¬d@E¨v=\¶AR©”Úü "?±F‚ Ð!Üá|¼ë*ËrÒ²`Wˆ‚”ãåî-iËš,wø”Ž“w]¸ÁØ€¦¬8ð<é8ÊS#w8€,烄 ²ïº9Ç€¨®«K R¤Öu5ဦÕܨ÷ñ}ß0Œ’ Æ£àÜjgQãáô(ÜÛι®ëwïÞ=ï54FPUÀqMÓT:?9WZŸ"ËùcYÎ@:NÚ²`OuF‘N&ƒã§óóžwày9ð<(H™?ŠÌyàyë”ÖxDw…øôæÍ}×€MÆÔÉà¦{B¤ÕJ¤ã<½ f¢Ú,…ÆÄ£ f» ‚ 6Ë¥´BÆØÊÊJw–q Êù933£išmÛ*þååË—èüD¤ Úã kÚm!`„Òõ™™Àø;‘Ù ‡™wÝ,çŒÕØ‚ é8S¶­ÞÚ¶m7ÍÔââ˜i"L3±¼\¸{¬,ÎÕXìŽë@Ì0>½y³•Ÿî|8 ƒs« q¡­`Žƒ›Wá3¦ijšÖõ"Êùé8Ž”Ò0 Ó49çèüD¤EÚ`B9Á 88.K§ ®3rÒ²R‹‹k”¦-‹F;`Þu<±N0~¸ì8íqcì¢-X= cêÐ4ÍL&sþKð}eeeqqqhhÈ4MÏólÛ><<|òäɪ ‚ôÅbqoooooïõëJ_íÂÏJ¬°:Á؇/_*±|týzd}¿…öÉd’žäóŒŽy+œBb<Ï3MÓ?¯½¾óó|Ö€ …½½½‡>|ø0Nw{-ÍÏç×ÖÖÖÖÖvvvº²€öa R»B\Å ‰êz r5V=˜œ¾{·FiAÊI˺-D4ß;:ÉH"¡ü¥°w¾åÂÕt.—kׄ™LÆ œÉOnõ *œ[» ®ëZuÞ­“J¥îÝ»wýúu¥|¦iª´÷¥¥%L{G¤C´g0ﺟư®oÛö”mÀ¥)7д!ÜbŒƾë=oÌ4 mY»BÜ>:LmÃд‚”jd4ßblʶ'-k}fFEÐd9ž£ÿÓu]Õ¯ª]~9#x¸{£³É‚Í¡ ÀÿßÞù…ÆqÿQAV‚ÄŒ‘ ]ѰG}A/1;F¹ˆ}³g)$¹ˆñè—¾ÎÍÎB Í•F”Ò\4 öª]ŹÒìM¦´õ(241„¡`§ý<‹¯­Ïàâm_´x‰ÔüÐ{ñhFûO«Ý•VÒ>ŸïΞ9sv½Úï<çùg¿—þ¦iªª/Ï]ß—NDo¶)]õ‘Ÿ¦i’ÙGıÑ!¼¨ëò¼†ï:úäÎÉò»Žƒé oUó%ÆåÝbqX–ÛžPnY˜ÕÐ0ÿ[–H´x×qp»õ-ÛÞô}LŸøÏû÷qþ÷<£OÅ<5¾[,öäm"ËËËñꔹ\β,Û¶;ûíÎçó»a¢X;æd¢LÀ ä×@×õû÷ïãa¬ƒú“ŸüäW¿úÕÄÄ®!»±±ñõ×__¾|ù¯ýk‹ŽXó%PQUUÇ!³ Ž”J¥²½½[[xllltt´Å€D"±µµµ¹¹‰Å˜r¹,ï5aÆñÃÃÃãããb*|¿Êööv¥RÁÇñÓûEÏê/VsŠ"U0@æœ,ペ–1Ö82„©jÍÞ)J`ýücûç©™p²×åfâ¿ïXqFÔÁfñŠ¢´ÄÁÞf£ÕãEöýu°A°åy^¡PÈf³Qišöúë¯_½z5>pbbâg?ûÙ«¯¾ªëºã85ŸE~D¿X[[«q"^¼xñòåËÍŒŽŽNLLàúG}„WWWãB8<<|åÊ•ééݨºG­­­¡:Ƈ1ÆÞzë-|¼µµõÅ_Äãbâ*Û^€ú¢e‡b\QFÏtÍî-KÐ-,,Ä»RèºnY–iší$¡ï©`vødW«¾ï£È ÿsÇÇÇQÆÊå2€ÍÍM¿:Ü»wå ¥ »»wïŽÇm>´öp Ú…¾ï¯¯¯ã…ŠÅ"ª Ð¿¸d6£'_Å .ÍŽólî7v6õ•jÐÊYÅ·mPÚsC꺆¡eYªªÖoúáK»OŒ™^­öQ¤Æ¡Tñ}?—ËýíoûÍo~Óbø|ðé§Ÿf2Úü<¥looõÕWb£Œè#årùéÓ§~øaÇ3ܽ{¼ýöÛ(¨wîÜñ}ÿÛo¿Emxðà¸rå nqmmmýá3lmmá˜ÑÑQ¼ÞÞÞþÓŸþ„Çùþ7ak®¯¯;ޏÅZ©TPöÆÇÇÅm´ã8ëëë-ß«¯"^º^ €‘wTµµÝ3˜¼CGÓ¶‚í˜vNI¥R·nÝ{§¶m†a6ºWØ;˜>YƒíPl˲¦§§_yå•c_yå•ééiÆE~žRâî"¢ï •Ö•J°áááÍÍMLÚCƒlkk å¿ññqáèÛy?+Á*•Êää$ÔËØÌÌîoEêS €6Z ÷Ê•ˆz\ÃKº®Û¶])•þ¬(3†A Ï{`š[A–euV¸KÓ4EQ„ˆ¥DUU››Û3õ×{³âc@eÅÖö5Þï†à¹O;ãããW®œÔH®¡Gš¸¡ÙÞÞ^]]m1²FoâOÅ$år¹õ$õóÔsîܹ†›ñþûï‹øšxôèQ £ó¥t:í8Žªªa¸¹\Ç—9«È²lÛv‹èÇÖH’?7 CÇqdYfŒíUÖ>i‰ƒ­QÖ]ëæKIœ.†‡‡ûÎ@ô„D"6\œ¸­Y³ÐpK`zzºó´3ºü>}ú´Å«/@:ö}s:¾ÌÙC–e´ÞzXÄ9™Lîìì@NÜsh <·'mZôï=pì“'O~þóŸýš‚hE|ÿFìIbªƒPLx@p<>®ŸdllLL‚ÚÙçâß÷Å¥ýî6»g7}B’¤¹¹¹Ûmçì±wÏq3è[£Làîè¿ÿýï'Ož¼úê«ÍnllA@Ñ¡DÌŶ‘õ?Š¢0Æz~:84´{&''‰D"‘@ÇÞÚÚÚÌÌ Æ¹ Á÷á‡ŽŽŽNOOß»wVWW/^¼±ð1Ïðððöö6Æš2ÆÄéèèh›<Œ11 ¦glllÔ\èø9eyÏ¥Riw_49zjÂdâðIìÜkYÖ/ùˆ!3ßÿýgŸ}vÔ%ÙˆS„뺆a8- "zžçyÞ&꺮ë:9˜J]ýñD"qåÊÇq*•JM²àÌÌ ‘^¼x±R©¬¯¯ooo‹D ˆ9A†‡‡9çŽãlooß¹s'>&“is…˜wx÷îÝíímÔ]¨£‡~·½ãHŠn­ÙÛT<ṃÍà»[[[Ÿ~úé“'Oj^ßØØøì³ÏÞxã Úc ‚\.‡¿¡íŸ…ÅÖóùü±•z?½ ÿ¬¸‰é ñÎD"Á9GorÎ9çxÖôôôÕ«Wkb^cW¯^ûêp˜8266†§ÇÏŠ/Oᜋ™Åœñ1Ç Y„}`OO£9{ËfŒéºþñÇÿô§?`žçÝ»wï׿þµ^Wlˆ@VVV°Öîsix´ ÀF„‰yàUÀöae·¨½a¶m[–E¹7-ˆçäµMºf™`è2Ëd2-2÷[_kzzº>K¯~<|¸ÈÕª!ëy^6›ÅÛÿýßÿ½{)Æ~ÿûßÓÏ¥RiŸ νúÅV÷Ê( ]ô»(‡žç¡5I_ª#åñãǸW™H$Þxã ØØØÀÖóüN;$„} ì¸vµ|ø$8e°vÂàUÀ«€µßý‰É¯œ¤o¬óTò9°}°ÒeqDQ”L&———;z?ÄY«Ñî¹Ãíôcc`¿ Þ¨w ØÂv˜õ¥k‰ráÂ…µµ5ì‘OD¯^v öÞøÙØ¾ÂlêW ßûíݧZËâ¥þ&ÖáYäs»Oµ½sÛ!· žçuœdIœa¢(âœï~ÕSã༻ûe;Êxï¿ ¥ŠçyªªÚ¶MZxD ¿ÿþû=Їžv_ãôT@BxV0f@½sð0D†bG?LѪªîª 4 Vºó/›|¬4ðÛm;Ž£ë:m?£££333ñ𙡱º®{Ìë8QœÊª`Ê[àoîîˆZëûœˆ<±Ï@”Ïí=õ6 °Åwq­Ägiii7@TçÝnk')་­¡-ËÒ46!ˆÞ²+„®ëš¦‰×û» öLÐuýÔìÆ!loøm˜{ý´&r'(ŠöòG™ÞTlÒš zÂK0;;[S\-1Ø7\›¾µ¶1½oNzĆ€*ÕBG­}„ª y¹6 ” ºÀ4ÍÝûétô‹=›×˜©i ݳ™‰ç¥|>*øúÜÜ´¦M´×uox†eǹ«ëapÎ}ß?Ñv¡ùRã‡ðÄ  ZüôÕx#N6{ýÅz^Gטœ ¶m“=ä%üÖ^^\¼HéÏû9'ËLUG»Íy†=üÛÃ}ÞFçGá68Õà.§ KßÁýÿÜ{Õ««WTc ªw€'@Þä°©„ÕÄ3Ÿ`DŠ(ŠöÜ+=¿ÇR™Â(ŠNô)qªx) ÃÑd’T°Š2­iß--aòxOæÜÂð]O•q`£läá½ÄyenÅ’´Ò °}°ý}ç:1!ô6€A¸½oó0Blá¿§/ªˆ8JöRƒ’£½K–ÏÁµ$fÙ“QHô—`œ¶C[‚ŸO;]‡Úaeee¯è¾ß Wr+ÌjZ«v¡•cÏ9¨X‘2qð˜T—-Ërç“g‘½?¥Ý¾<‡C™@!ì{ãâ,ñØ>ÊHÑ ÏÛ<‚¯ì¦ïÅ´ Ùò}hV ¯5Qe2™ÙÙYqD×õ˜nu½º~PB…n¡ˆýì}·¨ÝtU_U¿› ZsäÝ'îéúºeu|úSÇYkÔÊgݲ:˜ö®®oôȰk†ëºçÏŸ/ ø[ÒÇÿhÇÙ‹&pZ5M>¹T3I‰:¯£Û&òðÁcâœô6LeÇyÚ»[¿ï––znþ.-- ‰N1¾ï‡a(~’ÉdMÒd2¹WvÝmÐ9ìPÕïάd‚ ˆEçBøÀ4W9_åün5Ðæ®®?ªZiž'Žoxžù¢ªC«œ×g5snxÞ#˪T§z†wu}•ó¯TõELϾRU<ë+UÅ9YÖÝXøÏ*ç¸<¸×QEÑùó秦¦ÄÔ<)—ÍfwvvÅ€T*UÞ&IÒž-UÒr*¨ê7 !1hDQÔ}Ä¥¥¥\.—Édjü&‡"‚c8e@èPqÇrÆ0f cÓ÷M€ŠçmUMŸí0¬Tõ&XYWy¯ªO“œŸÛjQ?çc“œ16­iàhšoÛuý‚¦}·´„g­FÙq˜ªÎÆ9YÆù·|¿S»²ëN2­icÝEü+ŠY^^ÞÙÙ9lðäžQxê„°º`EQ(~8nªÖý Ô’e¹Ë¸¹|>oY–¢(†a†áyÞüü|“Ôôó;×u)Ù©ÝÞôýaY€IÎÇ¥uÜÊt6{Å4`Œ±ÿššâ–3už¿ú9ÏÉòc›¾iþÏ{ÏóP>§«‘ÓLó]ÇÁ83ƒÇŒ+ʹ.þ„$I*‹Ÿ.ÀÊm§XûwH {úäUޤn_5A¶‡þé Â0¥£ÄÓ „S«›–J%ð<ïK¥nɲŒ§ã¹²,ã‰õ5QWVV,Ëzüø±8â86¸N&“Q •7š®ë*Š‚Ç± rEè‚)•Jx]QÏ•‹«£â ®ëR¥Öz:B¦ªϻɌ§Rhíµ,,0|ðÔq&m©µžó©ãŒ1&4L̹E¢<Ò Ø^‘L&w¿ÜÑöngÁSAø ëøPUÕþ®…8(в[¯ÑyÚËújoÿí¡qãyž¦iÏž=纮+ŠÂ㜇a¨( j[±X´, ,ËB§ô`MÓ,ËÂP8üëÖ4-î%ÁskVžL&wvvð±¦i¶mãä[ IçOA}õ<CðÂ0´,kqq1“Éà Å:@UUÃ0æææ–––ÐîÄņѓ[ù3F‡[£çdùŠifŸ=›Ö´Mß_=Œ¯h¸‰AÖzÎaYn¦p/öo6ÿIC^Ló»¾.ä0T—Ê9§Tz¢ž=·ñJá‹Þ_`%¨½P×\»vM–å••‚À¶mMÓLÓÄ]Ðb±hÛ¶ã8®ë¢ª™¦™J¥t]×4 †ašf¼J†ÍVîº.F˜‹Åb±(˲8]Ó´Çß¿Ÿ1fYV*•Ò4MQ”ÅÅÅR©äû>žuÿþ},ÄšL&MÓ4 Ãu]\RÁ†t(„k†ñÆÎÉòE]¿¨ë(Q“œ‹=Ò±oÀ#ËB­z`š£É$pO§FÀÎ)˜P”MßÇ`œa(¢r’×® ¿£˜?Ñd%' UUw÷‘J°õ{9m¾ó>4ZîK:ÞÛíù¶õÏDQ”ÞÞ‡©ªŠ9N¶m«ªšL&1Í ¯’L&9ç5™‹Žã,//ãîe6›±âbKóÚµkõbŒ5ëðƒÝž¥¦iâŠB;ë·aÐþ6M3ŸÏçóyTJ\¯B%x¤C!|]×dzd#[`¬q‚Cû›dí iÚî7Ä-ƒí÷¬ô¶õJ`ŒõÜ?L&eYÆ:x“ÇsGÜðù¾_£(Œ1x‚i Š¢Xï]wñŠá¥RIÓ4ß÷ј[XXhvņ ûPœµ²²‚'¶˜Å>Ætçz  !Ró—¢8íwwjG#8'ËõÚ?x1Ms÷¯Ú|jò¨ Suæ9H´C2™ÄÄÍÿzªoû› ßdžaEÞúüân9ι,ËŠ¢X–%Ë2nu¢\1Æ4MSU_Òu½uûîùùyEQ²Ù,ÖÓàœ -G¹J&“IžËåÐõhÛv‹< ŒÐ) ñ³Â0TU[shš¦ëz6›Å˜ÏóP2óù¼PMBð°­Ã>œ¦=z¤ªê›o¾ÙóÉ_{íµR©ôðáCxñ?ðÍÿƒ_üïž_¢˜àóÿ ²,óÍ7###ý^qlmm­¯¯ÀØØØ… ‡l术¬¬üóŸÿ„ÿ_þþÏÿ‚‘.î¹ÃðÎ_±á‰ªª¿ýío;Ÿª9SSS¿ûÝïnÞ¼‰_oÆX&“¹qã†ðâñ©©©çϟ˲œÍf_~ùe˲ÇyóÍ71Žfhhˆ1&,¹¡¡!tïýë_ÿÂøRxçw‰ÄÍ›7}ß÷}ÿÆ(±###ׯ_·mûË/¿|øðáÍ›7ñ3ÇIÐóŠó3Æpa¾ýöÛ5g¥Óé¿ÿýï²,£à½óÎ;QŒŒ¤R©óçÏ?þ|jjjËå—Ëår¹ “““““µ‰=CxgAý›±áy¹t <Ï;¢&õQ)в›±”‹ÅU:ÇÛ€KÁ‡–e‘ã}p(—Ë«««H$®^=\»’ 0ñ 9 ö[îvx ÞAÄü#*ãຮ®ë÷ïß?ŠÉ°Í1ЂIDAT‰¾³¶¶¶¶¶33333µN¨ gõÞüü‰®ì#Ló6ç ªê© H’d çea]¸âNþ&¨wð¡¦i¤‚D›`àå®ål¿-R·ü¶PAÇqŽH3™ zïŽbrâä3„ÛÊhþ&“]–;KT|ü6F(` ÕT(º±‘ TUÝóue§Á¼Ü–Ë0|ú=Q½óô.uÕu]Q†8“´¶‡°¨A>Ÿ7M³Y‚ËÀ‚.ñcó-çr9K¤v,Ìô9ˆÔÛÍEÄÌbÊ 4ºBˆ¢ˆs¾/î#; ÚtÓlÎS°Ö…Ý„½ -!Dz•Ër6èËâ>-죿·¤¢m¨nIÑÍòÒ!€(Št]·jòw¥á]ì½ ~ë†a´È$ˆvh-„ûB¹(,¾ï,//3Æv}xS|üZSAŒ'$ºA’¤ååeÌ/ÜË´‹¶[÷ãD§}÷ˆcà¤7æ@°tïî“Â:(î$Ê cô»q$[èétºX,b}ê%³±?‘ïû·nÝ¢ïqªÒ3Æä÷êêº~Dõ;I&“¤yÄ ¶FO.×®]sg¯¬b©—þ|üÍ^^Æ|²%TP–eÛ¶I ‚È"<ÑH’tëÖ­¥¥%Ó4w÷‘Ü2Lý¤ MwµYŠE´­õxžªª¢õ AH¡Pð«ôqŠ¢È²Ì£‚Dgžæææ0âβ¬Ý\O· nr.¤À''šfeÅñ7Áy Nœ§X­C (Šiš6L´IƒìÀþ!"QmÛ¾uëV_×r0ت‚n7O$„§I’±¨ÿžBUóy¸éuZç\×õ†MD ¢–eyž7,Iu}´IÏ™c£ây›¾ÿÝÒ’mÛ¢5ÒQE‘mÛ]ÚXOqnnN̉Ý!ЪõT]×åœïÔµ«; ŽóZ'ÂÓ„CÛ¶±ìý¾—K•ö§bŒ¡R„:Ñø«=c'¡X?6\Ûôý`e%ÞD°ç`K£n„Pt~0 ãÙ³g€É$"crvvVUÕb±Ø«5í@Bxú$)›Íf³Ù ÇqÇó¼v6©°¹çœz ]‚¿æÛ'©(#.†¾ ©ëº¾ï yOWVVÄŸ•¦iÉd|EK¿¥¥%Ü›‘eYÓ44ã|ßÇ’„P_Çó/®˜ÉdðàÐÐÐìì,¼téRE®ë†á8މŸ5??®ë á')Çßzõo'ËÀϧáÚ ‚©©)ñÉA€ƒçççñ;þ|Eù|ÞqÃ0òù|>Ÿï·þê~ªÝCBHÄqcYÖ… êOOO‹Ö¸Ç†ªªab›ø(ŠlÛÖu½P(xžgÛöÎÎŽçy†aA€í)°B·®ëØwggÇ0 ]×q6ß÷ ÃØÙÙ1MSø¾/zð Òé´$IA†çâEã¿øh†ahYV:6 ƒs^,ƒ 0MÓ÷ý0 MÓľƒº®kš¦iº®§Óéøâ[,£áÇŠ¢„aèyžeYøqÕ¯ °e1¾ MÓ4M€ùùyß÷Ÿ={¶³³Ã9×u}aasnF¼_q³«·þT»‡„ ˆã¦Åãñ78”$IUU´‡lÛfŒ¥R)˲,˾µ©TJQ”…¶,Ëql¨išïûhqÎñ,MÓêw/eYnÖSÞ²,”|ªiš¸¢®ëÉd×Y3'.¯Ž;ØtwqqQ–eι,Ë‹‹‹‡ZF³7¾°° I˨_.Éu]×uEq§T*9ŽƒŠ(Þé¡®ÞúSíòqÜ0ÆžŸÇÓã ÃÉ‹¾ïÇuºû«wÈAD#ž>}úùçŸþùç_|ñÅQ̯iÚüãééééééD"'ýš1êû²,‹µ©ªŠ–S†â7}f;;;¸³*fàœã]×-ËÂÇaÆ=d":fggǶm±(ÆsÎÅÕÑ…†«E銟%˲išx„sŽK Ãóã‹o½Œú7ŽÞG1S/š­-þÉ N×ĵá: ÈnõWoö©Šo¿ý¿Ìß~ûmý«C;;;½WW‚ N?år70‰ÄÕ«W⢲Œ¢(Ç™ÁVOœóÇ÷q Äѱ¶¶¶¶¶3333335¯R° A}£EÐÄq’ÏçmÛn±IœmH ‚ @Ó´>Û$ú !AƒNM"1hPÔ(A1ÐA !A1ÐA !A1ÐA !A1ÐA %Ô1èÌÏÏc+ Y–EQÛÀ@E¢,VµÆ.…B!Þª—1fšfoË¥b»öú¶º ‚ Eû‹Éd2¦i¶®x纮ã8Œ±šÅH±X€(ŠLÓô<?1Î9+(•Jñß²,뺞N§ã (‹óóóŠ¢d³Ùãggg-ËêíGMBHÄ ãycLÓ4Ïó|ßÇî ø ÎÃÞ@àû¾¢(¾ïK’„ (LÓ ÃÐó<œÁ¶íø{—ø¾ïTÕ‚|>ï8JQg`/ûÖcLÓ´,Kôô<ϲ¬šÆ¿Ø¬JUUÆvœÀ»Š0 Çq‡a; Û¶ñ†#1'.£Åx]× Ãhóþ MH ‚ €1–N§QÆðWxaaÁuÝ0 Ã@c+N[–eÛ¶hÞ‹ãñ×<ŸÏcCÚš™ƒ ÀOB#ã½kÚn`¿@ÆXy‡“à ¢e‹¢U¹T*ÅMº Â0­nã3ˆ%¡âÂc¾ï׬Áu]Y–%I’$IŸ2??Ï[^^G°ƒ’0¯Åàt:íû¾BìÇTÿŸÒp|:Æn‹=¼ç !$‚؇0zE˲D1ÒV—¦i5æäóy˲ж,+Þ$ûÝ·þÜPöâG²Ùl‹NË¢½ã8õ]‹ñ†aà§qà)mBBH†aˆ–°Œ1TI’°=“aœsƘ®ëÍiÉd²Þ,ÃíD´{fggÑtÃM?üŸšš2Msaa¥.›Í¢WRøá° ½Øt5MÓq¼Äì쬮ëËËËš¦9ŽS¿[èy^÷5M÷æ8Ž$IQagÝEÑ4­Fïƒ pG|>ÍÀ&À-äóyñ8¾­êy^Cg³ñ¸ Ýz1‡‚„ ˆ®Èd2—Ó Ãè¾}„¦iÂâÑu]×õ[·nÀµkמ={¶²²‚.1Û¶›ýj#¸å(PUUÓ4]×9ç8a>ŸÇ‰ †a<O’$‰‘؉Þ0 [µ¶m °,+¾YçOL&“hçÍÍÍ‹E×u1ž¥fµâ¬š#bsµéÇhø¶ÿž êã›j&Ÿ Ç·³’ÃBBHDWt£qr@!>¶m›1†f,Ëת,,,d2Ã0jO©T‚˜[ Y^^æœ[–e†04ë›~5 ‡Ò0 UUëÕ\õ6£(RUM·f2ÍdþÀ@MEQ<ÏA$ŸÏ‹;Œ†_•fÂfãÛYÉa¡ùä“k×®ŒŒ\¿~ݶí/¿üòáÇ7oÞÄ 1”ææÍ›ß|óÍ7ÒéôÐÐcLQ”‘‘‘Ë—/?|øs.†aôÊÜÜLMM=þ¼&VEdbܼy³àGFFEyùå—oܸá8š###¯½öÚÐÐî”ʲÜÐ>ÃüøKø ÔXfׯ_ÃðË/¿ô}ÿùóç¶mÇ?®ú™K¥RüøÐÐÚÇÍÆ#KKKŠ¢¼ùæ› _mH¹\.—Ë099999YóêìA5”ËåÕÕUH$W¯^í÷rˆÃÑ}–}œ 8ç?îÉlÝ€û¢˜õÑþYkkkkkk033333Só*ù ‚ ˆH&“ªª®¬¬ô{!`šfϫّAœAzЋ¯=œ°38ç5©ÝCBHAŒ$I­«r=,(# !$‚ B‚ b !!$‚ B‚ b !!$‚ *±FÄloocU‚8¥lnn¶x•„ ˆ¨T*Xb† Î$´5JDcÆÆÆú½‚è1ÃÃÃõÉ"$¢1£££—/_nÖ* NÍÊÇSÑm‚ b ùÿa°ß{T¬8IEND®B`‚pyzo-4.12.3/doc/yoton/images/yoton_multiple_reqrep.png000066400000000000000000000570161421373005400231430ustar00rootroot00000000000000‰PNG  IHDRXˆÒ 9 IDATxœìÝOl#ç}?þò5¨¯ œ …àKÁ[>ÛÕÞrÊ¡«‹ÅÀ1´Ñ([ÀpP@ËS4[)Ôå°q{ œ]Ô /ÉÏFB‹¤^ÄÕCX]Êh¦Z .;Ó ¤"³3 CZý9¤(‰+‰CÎú¼.¢¨Ñð±¬Õ›ŸçïÀÑÑ tå•J%Ó4]×eŒu !„"Š¢(Š©Tª‹­CuÐ+a7¡Ð8Žc†a-Âï,„J©$I³³³hB¨{°"DWçyº®kšfÛvûwA’$EQ2™LûwCu!ºB<ÏSUU×u×u›¿–I€˜2b„ØéßoVÀ=¶f¼Ã¦/RJUUššê@ÃB„Aˆ®Š|>¯ªê±§RÃ@Ç@"@“ ^ìvæ°mÐ7Áª4>-I’ªªX"ÔC0Qÿ+•J²,ëJ‚r$ÀÝí]ÐÖAßl¬5M[XXàæ¡Îà D}®¹œJ‚vÄÑà_I-C¾ìF)Õ4 KC„¢ƒõ-Ïó(¥¦iV?O ƒ6Lx÷dE‡&c ³¡ˆûJØ @¨#,Ë"„ÔSpáu°¿ÛÙaŒ7ai RÃຮ(Š…B¡³/ŠjV„¨Y–E)­N ÇÀ¸t¬«-p€>òçÑèº>??ßÕ „Î ƒõ›c=¢™°™ Ï ŠÌ ° ØGŠP´a×(ê+JAÐ)̧Àu]J©eY¡µ!t6¬Qÿ8–‚ñ°™ŽÌ½†>RAlÛŽÇã!7 !tV„¨(ŠRŸ…aØ dP« ÃnB¨!ê‹‹‹º®W?YšŠD r w Ó4ïß¿vƒBÇ`×(êǦ‰Î¦Àx3ìÀ¶`úQõ!c¸%)BÑAˆúÁ­[·êCƒö;aNi¡¶õ !äÙ³ga·!T…]£¨ç …úРq'¢)ê_hoÛv>Ÿ»5¡*¬QÏ»qãFuCíù4è4ÜÆ¼D­ƒg"X¢ÞV(êÇJ¨a6å<è̦Àu]MÓÂn B+BÔëz©ä̸õKþÐu],  V„¨‡•J¥z9¨¼fSÎOåE!`QˆP¼vúçy|â†mÛÇN‚½züÅã¢(v¨î©/œJFháàKÉãü¨&Ã0r¹\Ø­AèªÃ L©T:¶³ j I’¦i©T*ØÛ2ƪät°wî,‰@<Þ¡iš–eáfÜ… ƒ0ÙlÖ¯N’SS0BÈ!!6)t[ŒÀ¡ëV,Ë0 A–––¼¿ã8õš»Ë§,µO"ü` Ã00 N– @©TâÝ€éùùÛš6(a·(ZvLó—·nAÐ;ª Y–2 0ïuÛ.1l˜{ ”Ò•••°[ƒÐ•†“eÀkÁäÔÕuLÁ“FEñõ…znH½š&¼m—ÔÚ\ïÝE…ƒ0ü/òME »!ÑÅ8ÁþÑoÂ^ëaI¥R)ܶ tÅa€ÿENˆbØ ‰.>\ZÝ; õXÞ¶{È0ÿxÅg#: ÂðÂÝèý9Û1Íå–àÙ†±Liëkz »—R[ïAˆP¸pÖh?„±–!·®i#„¤ù”“žbYVõQj8Ô†´Aˆñ„… ƒ0ºvLsPx¡9FéëVj£b<Þø3 QäÏŸ\°„d­Z=pÝÆ»Àc‡®›Eþ]»¶íµ­ã3 꽬=ZB½Gƒ¡paFת¢Àv©4œJÝ3Í_‡!wm{\–'Tµbš¦§S³³{µ¿¤÷Ž/çç¼{t´©ëëš<5Ó²<©ieUݵíM] ‘¤eJy.ºnLîâlF„ÐÕ€c„‘¶kÛï}×¶7u=Ié]Æî2vÇ0Êù¼_½Šâ=Ó¼gš®»Þr}Â;¶}—1ªëOà.c Q¼­iã²üTÓážiòûo—J[Âb±8==íO˜ô–¤ÛšV1MÛ0ü¤¼Üýc‚ÅM]„S{P£ÈÞ »—eVøG1Úï9ê{„Ñ•–e¿ktŒÒ™••²ªÚ†‘Å{¦9BÂ×¥¬ª#„Ì0ÖÔ•:BÈD.IJ‡¾4Q;ωÆûÇa&òSFë›w;{¡6¤ î!ÿˆÕ-BáÂÓ'0==Í›YYéòò»-Æøêˆn¾è¥}<0þ¾ T={§'WJŸóãyu]ŸŸŸ»5]]8kõ*ê¿íèÑÞQ»ZË’«}n%B¡Ã L¥ëgÓQÚ+åàŽiBÐñë=Šl;ÀÛv‰{VuŒ0À3B—€AI’àøLNÔ¤¬ªÐXá~7¶àm»¤ÞÁþLB—€AI’AØsœeJ#xE¸vm{™R§X9ÐݽëRÚ÷ À;wC-¼1 N– F¡PðÿÊ'±§«æÐu+–‚ hšø”k×®Uwß^šy<Ø›wù9Ÿïjšf&“ »5]i„)‹š¦{{$IUÕNü¹Ïf³:ßjn6ƛ߿SØL?BȳgÏÂn BWaÀÇÁSu‰¢Ç;ts˲ê«Ñ{h…Ì ° Š¢4î3‡ !êm|'@nÔ^ØtÔÞ…¿¨>´íT*nsB8Yõ¶úm½7¦Ì¨eþQ–eLA„¢+BÔónܸQ펎~Qˆå Bу!êyzíhÆ( eVýˆå B‘AˆzÞÔÔTu5žwè'MiëPÚAÔËž‚ !êõ¢°è€¶fSÎbîø£ƒš¦a9ˆPt`¢~J¥êY¨–ÁÜ ³5'¹ —À;I’𬠄"'Ë þ177g@<ö; †Ý¢šÚ‰K„Ó4;·°!t „¨·yžgÖÎýp]WQ”ê ÒLØL$²°¶|^Æn¨†PÔ`¢–ÏçUUM§Óþ3›››õ/§†Á¸âh-ãÜó 2€ð"U„¨WݺuëèèH–å¡¡!ÿÉýýýåååý×­~› ' Ý üC1Š,œ,ƒzR6›ÝÙÙùþ÷¿ß˜‚044ôöÛo×kDïè#Ð7ºÝ¾†ä=¢˜‚E!ê=Åbqyyùý÷ß?ë‚÷Þ{/‘HT?ñ![êêúB}®SÏ G(ʰkõžééé¯ýëõs'Ncšæêê*!¤:â10îë`Ëì]PË|j àì„zV„¨÷0Æ'Èœ*N›¦ùðáCMÓªOy‡0ý¤ÏÁÞ ¾Mîhë ~æ§ ,Ëxè.B=ƒõ¤¦¡Á,,,0ÆêåcÑ¿éóÀÝ» oùÜ_åKæ@Ó´¥¥%Ü>¡ž€Aˆz!äB—MMM­­­ÛÞ³èÀ­_‚øè—/ÙÈ È/ [ò#P’$Ó4.yO„P×á!ê=Ùlö«_ýêøøx‹k666þð‡?,--5>éyž¢(†a¸®{ìêÔ0Ð1 I­ÖZ¸`V€mÛòWú(¥Š¢ÌÎÎ^ô?!. BÔ{J¥Òßÿýß¿ýöÛ-®ùä“OþîïþîÔ階ãhš¦ëzs^F`ßpÇ4MÓ4mÛ®nQtJ© ¢(â|àþ€AˆzÒÜÜÜ믿~ýúõS¿úüùó§OŸ>|ø°õM …c¬¾[÷BdYÆ“û@±X4 ƒ1Ö"üÎB)•$I’$ü5è]„¨'•J¥o}ë[o¼ñÆÝ»wŸßßß×uo@zþ½­K¥cÌ/Z\I)EQEJ)þáëu–eišvJWù¥ˆ¢¨(Š$I¸©zÏÁ D½Ç²,>Ô§(Êo~óFh¥R1Móí·ßÖ4 ÿ¡J¥’ªªŒ±æ/Äc &€Ž1qÊw€{fì]0+þz>AEQ{!ê1~ ò?4–eÕ—Ì`G%jͲ,UUg2 Ó@“Þ–Ö=¶ † †íÏATUÅÉýƒõ’¦DèBE©œå&‘î®o€¾Ù8XEÃ0ðYôa¢ž)ˆ.ÿòë ÍM€:ü+™; —ü.SÞSšËå‚! BÔ0Ñ¥Y–E)­Ïˆ™MN;{h³aƒÌüÎRY–›–´¢HÁ D=S]Z¡Pe¹úIjÔ [mÅ÷dE‡&Š"c £ ƒE¦ º´c)˜I›él!x’¾ÙˆYY„(Ò0Ñ¥ëOƒNÃi‡¹ôï&Å>ÒhÂM·Qta ¢K‹J €8 lâ1Ðu=›Í†Öt†ÿslK~„"S]šçy¢(VS0“€ÿï ø¿¯„Ù ÿ7ÿïU>^hšæÀÀ¥4Ìö ã°kE¦ jÇ­[·LÓi\ð, ã…†aà.íÑ]£(r0Q;îß¿_MÁx Œ;QIAÇaáõêCYv'Üæ V„(Z0Q;J¥R½×qeèX˜­9]æ»ÏPJWVVÂn ÀŠE ¦ jS}±Dn"Š)Æ>q†1V(Ân À DÑ)ˆÚ”Ïç«§hñ…óÑ$ ‚v›?TÅó¼p›ƒƒE¦ j“çyš¦U? q±ÄyÈã0•×uëmFáÁ DáÃDíÓ4­º^b6ÑNÑFµ¢PÓ4, C‡AˆB†)ˆÚçy^}Itd;E‰£0›×uq1wè0Q˜0Q ꌳ© ®–Z`뺎Ea¸BÝm]m˜‚((õç»s²D ÄQÈ$Àª¸®ËëÐúzÏóª«*ŽÇxõB! B&“iü®#DáÀDA±,KE€x \9äÖ\ˆ¶÷W@’¤‡{oÇqø?±`oÛ!Š¢,,,ðO1Q0Q€òù|u˜-Ü͵/ÁÞ…¿àÿSœÍfu]€D&»ÚœîÚö®m@Å4=OÆ/ ±ku¦ V½ÇO"!6ã2Èï€R©455ÔK¥OÁשּׂòr5ø\’œbQQ¾¹N–A]…)ˆWBš ³—Sks°x|öÐD.‡)xªIM‹ÅãŒ1˲ƒu¦ \©T=Ï2‰í¯}~µ%Á!¿[Úßp7B‘$¨ý 0Q—` ¢N¨î©d8Ìv\Z­Ùõÿ ð½F ðž}†ÿpø ƒu¦ êz~ôÊòÁ&µf„·LéNmQÇI»¶½Liëk‚…Aˆ:SuN=?„X˜íhG¼Úò«sB᥃‚pÖW7uýÐu'Tµk-ÎE…)ˆ:ª¡"L„ÙŽvˆ ~B¡mÛ©T*ìÖœn‹±Bvm;&£¢è/EàŸú—í˜æ¡ë&D±bš|µÆŽi BS¤%) ÂëVL“_ Q„Óܵí„(Æa°v ÿ.~A'þë0Qa "ÔMO'§¦¶K¥ôü|Z–KRB bšw ƒgÞg¢È3ìÐu+–õîѬ*Ê¥Ç÷S}4==³²Â §R<ðážinêúcÀ#VÓ˜,;ÅbrjŠ¿Ö;¶Ý‰,Ä®QÔ)˜‚]Îâââôô´¿©ã8ÓÓÓ‹‹‹þÙlvnnÎÿ´T*MOO×'ÐvÆ!ïQ]_×´ U½ËØ]Æ&T•É2¬kÚëÞ3Í»Œ½®(þwñkZÜ–êú=Ó¼gšËÚblRÓÆey\–'5m‹±mÆfVVøkÅáigN­Â D)ˆÐ¥™¦Éó{}ù§ë+ø§þ˜¢mÛŒ1OÑ5&kÓ8ÅbÅ4˪ZVÕ]ÛÞsœ-ƶ—eÞ:~‘e¼š„ä‰ý¶»©(þ†8ã²¼Õ™íR±kS¡v,--ɲìo =;;kÛ¶ÐÐ%Ès]×PœŸŸE‘ÔÆá:4ÐxêÔ•AA˜ÈåF9ä‡Aö& B0LA„Ú×´ÝZS¶¥R©¦gšŽSè¨áT*I)/û\—wWò©4ü‚Ý€–‚ ²©ëþñ’|2;7Á®Q$LAÔe¢ÿ—Ѭ„Ú6ÔZ.öÈvhã²¼ª(¶al1ÆdÙ6ŒBÒ²¼Y(¬kÚc%É¿ø‰¢lèúå^ˆHRÅ4™,o1¶®i¶aÜl} V„(0˜‚¨ûê†îa¨ iƒWmy”ÿáðþÏêcU º¦‘$¾‘Û¥3++eUµ ãuE)e³üâ„(žìSõï6‘ËùO¦kCŒþ`$ŸGúDQʪ 3Œuhe!Ä‚)ˆBQ(d>5c6Æ›!·æÌ¸õK „<{ö,¨» À»áýyÿx` ÄW?²ª–óyUUs¹v¢` ¢°ø3DÀÞ ³—Vk6Á}AÃAˆÚ…)ˆBTŸTbUÀ=µ-—¶øG詹yòäý÷ß?õ«ûûû~øáG}4??éf ˆ7nT»CVfü3ß{]æçNèºÞ‰G|ä‚uf[²ÞE‘e9×°rƒ°—‹EMÓÎüµŽÇÎ<‰Æ=ëôåÆüwBQ”¦ÂÎqBÈ?üÃ?ŒŽžyÞ©iš¿þõ¯œóÐåÜ¿_ãÛ1ϧA§!·æœì]¸ñ þÐuÝÎõ¬xž×Λæ>#ÂÉ]x0{ÃéM1q®wÁö.˜`[À¶›rQEQß"‹Åüàg•ƒ¾þð‡_|ñE7·wBè$þ¾­úɳw€Œ„Ùšs’6@–奥¥°[s¥aFã8|BJý©x $rº­. { ´upꫯAÐuw–æóùÿ÷¿{÷nëÛ|òÉ'ßþö·.ß„‚Ífu¾•WO… å`”Ïã½"pa¤ Që)ÁƒÛ`¿:mw „Œ€rìïÂÊ ÌVÿº®+IÒýû÷ýƒÐ^jhhÈíå]çQßPýCï ›`ï†Ù”óPËü£,˘‚¡Ã Œ(ÏóææædY®ÇLnìw@¹ Â`¯DÇÀxÞLu|QÓ4BˆmÛ•ÊËw1ÞÜÜì•‚QK¥R² žÌBlÉ˱-Þ) ùƒAE–eñ©½ÕÏgSðìP'ŽÀFó䪞¸®«ëúææfëoÚÙÙÙÜÜ v!0B—¦ªjuîÒ6hëa7ç îŸÓŠ¢`9„‘ÃS°:Ë‹÷…ovið_€µïø¥a¥Rùâ‹/Z\þ駟ʲŒëQD¤R©êÜQPË`î„Úœ3(«|`žòàÁƒ°[ƒp²LÔxžG©v‡f Oxæê…NáïX‹ÿì¯ÿú¯ÇÇÇO^õÉ'Ÿüö·¿5MßÒ¢H™››«ö¦dÀf:Ør µô`š&N·Ž¬#„ïäROA6B €0Æ›0ŸæŸýìg?;¹é“O>ùßÿý_LAAº®W—RX•h ²-PVùCMÓ0£+¨à)Xïµß ÿlmÛ H$þ^£ÏŸ?ÿÞ÷¾‡½:(²øøBõ=eDVS˜;@ñ3xqá`Ô`FÅôôtu½|<Z-ØÄ=úˆ/½'„hšÆg"ˆ¢ˆã‚(âêöÀTŒ;a¾³Ô7@Yå)(Š"c ÿE a$Ô7ˆ€‡w"t”Œ{âg|l¿û#Ô9Dz0Äñ†qALÁhÂ1Âð•J¥z æ&"”‚ÀÇ ï@<†a,..†Ý „Îk~~ž1V]PaU€> áäÞ†”eS0š°" Yó4Qó^Ø-:Mí³ 8Aõ–cã…°4ò)³ ƒ×0²8.mX†Ì?0 â1Уzf˜<ηas]WQ”°[ƒÐd2™z]ÙȬã{°6_` ö ¬ÃtlËü·A¹fkZ³wAüŒö3Æ.wÞ=BaqGUÕê®Ü:r:øQCs”UºuãFö(²0ÃTß/¿'NÖVË/¥tee%ìÖ ta‹‹‹Çº4â1ÐnƒD‚‰CsÔ²¿ðóq(!ú0Cs¬ìÚ¸E›ÈÏù RÃ0ðM.ê!žçéºîº®išÇ5ƒ¶Ï5³wmö´ñŒOATUÅãÉzahêK&z¢ä´u¸¿ X¢ž’Ïçõ«_}ík_óŸ©T*«««§\:•:4 b¢U™hî€Y¶ l«ñDOA–eUUqvhÁ ͵kתÓdr N„Ýœóq€ü‚âN‰¨'¼õÖ[_ÿú×Oî—»¿¿ÿá‡^¿~ýä‚—#‚¢(x¾`/z…pÇ0 ÆÿÓ\Ýâäª"„ðNKA$I’$)ð7w¥R©>Ÿ[y=Ø›w0áG©†Aˆ".›Í~ík_;u×ø¡¡¡÷Þ{ï‹/¾à¥º®Û¶}¹W‘e™R:??ßV[QxŽŽŽòù¼¦ixÎøYDQ\[[ öžõ~ÑÙo{óÎ2l˜{ „gÏž…Ý„ÎT*•þâ/þâƒ>hqÍòòò7¾ñ\.Žã0ÆLÓ4M³u1@EQEJ)Πò#’“SSiY!Æ®öQ«»¶½kÛP1ÍuMÛsUUù?• Ü¸q£úö³W¦É4tÞ;jÛ6ö¡ÈºÿþÖÖÖo¼ÑâšÿøÇ/^¼èZ«P}…×%éùù»ŒËò¥W<`„þs¸©(74Mó2 ûEÑ+ßq»T:t]"IIJŸjÚ®mO¨*¬kZYU'5m϶7u=!ŠªºÍ“å{¦9( Q<9ZÉïÆÄᦢìÚv)›£4-ËüKiYæ‰Ëï ¦§“\Â÷…ñw.•JŒ±Æ…†…B⯴å÷ø;ðÖç˜`œ ÔIñx|ee%›Íþä'?I$‰Dµ'ã÷¿ÿ½¦i¸ â‚B ’ĉÉ2Õu?MOóey1A¸ËŒQº¡ëÛŒI—åÖ·¥ºÎg·®kÚ®mQʃsT×5-I雵MåÓóóëšÖ¡ ôßm8éwTï™&_߸‘Û!T×wm»ñÉ»§êùwk¼­ecjNjš?4âû†Œ“mûûvö÷ ì ôrX¢sêøá  œK#„¾µ[¯,«¯a&ŠY-i´ßp « ËAt~¯Àaw7êLR:áÝMO |#Óca/ª!é©ÿèJÁrß+P±¬]ÛîÚÖÛï·<É6 ´ú©ßʪ€{Ð{[w²-þQÅb±Øx.‡¿˜¡a9ˆ.d@EÓ4S³³þruä;pÝUEÙ,—ÏâÚµkÕ¥„½|B½ ÃÃÃétzhhˆ¥R©|ùå—º®ã$¢|>Ï[YY »!¨7¼¢i¥Ô)?Å Uò‘L]V1ÍuMÛsЂ>¸X’$o¬jØ=„æOÁW_}õwÞ9yÛþþþ½{÷>øàÜ¿ …ËAtQGGG…BAÆÅgÁ0ŒÀGŠÅbýð—ó½Ô;ª<ŧðÍo~óí·ß>õ’çÏŸøá‡¶m§R©î6!,Ñ… €çyº®ã{¨F‚ H’$IR‡6§¿qãFuÓÑÞê­õ‹þíßþíõë×Ϻê“O>ù£?ú£¥¥¥.¶ !ð<Ò‰7¯¨Uƒu_>ŸWù:ÈLÌ{!·æœô È– ‘Hüã?þc‹ wvv~üã;°ŠÐKa9ˆ.!êóö±úq VÅŸ‡uj™œ™™i}áèèèðð°eYoBU|tPÅãHÑa†&ׇfkiú8{ü¡®[ CCCnw—¨¢+×¢ËÁ “ªªÕM«KÛQ/ Ý?­Ï¹ÑöóçÏOÎ)E¨C°D—†A¦T*Uï UVCmË˨e^B4MûÝï~×úòÁÁAÖ±S!j‚å º4œ,2ÏóDQ¬N]x´Ét*¶ÓøCÓ4 !?øÁZ|ÇG}499ɃP–eY–q)êœ,ŠÚaÈøy÷ÕOŸF±ƒÔ=é1¨(J&“‰Çã|ð®ëûûû§~Ç_|199¹´´ôìÙ3MÓxvÎÍÍ‹Å.¶]!X¢v`E õ¥ñ°GCn§`iDQ\[[ó¿R*•þê¯þJ’¤ÆÕ„ûûû?ûÙÏÞzë­4ÞÆq]×ùf:X ¢`a9ˆÚ„A·nݪî^I›‰Ê^32ƒÂ&‚`šfSz9Ž£ªêo~ó¯Ñßÿþ÷𦵨\­X,ò­$I’ewèFíõƒ¨M„Qáy¥´ž…Æ #a6È=e•§ 0ÆÎz»í8NuŒàœoɱ@DAÁrµƒ0B,Ë¢”V×Þ…ÛGê}VõÜA]×;´ƒ6ˆ¨MX¢öaF‹eY’$U ¬x Œ;@Ǻ݈†¡uWg °@D—ƒå aäë#€Ü¨Ý{yÃµì§ c¬›' bˆ.ËA Â(jÎÂÙ¨Ýè&U˯oÓåôaˆÎËA\GEñx|mm­¾éLÑú´up:õ’l ÄÏüE1¬€T*•Ëåp "j ×¢ `Ei…BAQ”úÖÕ©aPn‚r3È×0w@-CÑñŸP¥i`¸°@D'a9ˆ„Aužçɲ|ìÌäÔ0Èã §Û]_aØ o4F  º®GvdG‘GQ€0{C±XTUµ>jÈM%ŽM^`f©½ l Ø6°-ÿL%NUÕ\.P{; D„å a/)‹Š¢ø«×™J‚˜hµ¹f¥)ü@Y–UUÇãA¶µó°@¼²°DÁ ì=¥RÉ/‰ÚAQE–åž‹ÀFX ^5X¢Àaö°B¡ÀcŒ^#žRJ)í¿ÀÀñŠÀrƒ°xžgšfëSp !¢(†µ"¢k°@ìoX¢NÀ Dý ľ„å ê BÔϰ@ì'X¢ÁeP?ÃMjú n%ƒ:+Bt…`Ø»°Dƒ!ºB°@ì]X¢ÎÁŠ]]X ö ,QGaEˆ®.,{–ƒ¨£°"D¨ ÄhÂruV„UaMX¢NÊ¡Óa ¾M’ÿ© ”R,QGa"ô¸IMwxž§ªê?ýÓ?]¿~Ýòùóç_~ù¥aøcGƒAˆÐ¹`Øio½õß·éù'Ož‹Å/^„Ò*t`"t1X vÂýû÷_¼x199yêWŸ>Þâš?üáKKK]kº:°"D¨-X ¶1Ö:`||¼õ‰›]!BÀ5ˆí°m;À˺( B„‚„â%B¼ ¡‹Â1B„:èª òåð¶m·¨Þ(¥‚ d2ÿ™l6ûꫯž\8ÑÈ4Í/¿üÇQ'`"Ôqý½Ñó<Ã0cŒ± õ^RJ)¥’$ ‚pçÎ÷ß¿ÅÅ}ôÑãÇûé熢ƒ¡îé³±P(†aF›÷!„¸®;;;‹ëQ(0ê¶^/=ÏÓ4MÓ4×uOùòT„ˆ£§³{fì]pöN~1NÏÌÌ4Î ÝÙÙùôÓOÇÁePç`"šž+=ÏÓu]UÕæœMš<3ÿNr€mÛÃn Åt:N§àùóç–e)Š¢ªj<æ¿¡0 Y¯ˆ–eI’tl0“åuƒmÝÚÜí)6x‡þs‚ hš&IF ê4 B„¢"²"ï UUµþÔT´Û¨ÿÎÃ=}Ô²‡¢(jš†0¡Nà D(Z¢V zžG)­Ÿ˜m$ҩ׳wA[‡Å§þº®ÏÏÏwêå D(²¢P 6w‡Î§A»ÝnGèy°-û¥¡¢(8eu!B‘bhY¥´:/&6p_èKÉ ›Õ‡²Œ«éQ‡üŸcýþ¡ˆRÊwkû—ù—¿üË¿´,ëÕW_ý“?ù“޾.ïýïÿþo€LØ]ø“k}ÅSH„|þ;0MóÚµkögÖí6 ++B„zIw Äcã‚™°™nt‡žE߀lõ$B/D€AˆPOºè¢ã8ªªú£}„I’Ný®c)yÈHÀ­¿(å‰?}Æ0Œȩ̀Eýƒ¡vžÑó›Íò†3.x–Úx¡ Œ±Æ=»j!Bý଑—w333ׯ_?ù]º®ï{ßkìlÌçóõyk߉J rtJÛ Š"c Ú£ `"Ô?Nˆ²,Ȳ|Ö·üô§?]\\ä‹Ö-˪Ÿ…ôðN ^Ž{âg|?6\P„AˆPò Ä×^{íƒ>hqåþþ~±X\YY€7nT^íôƒ BfîÀ­_ò‡Œ1ÜtO¨G¨ÍÎÎ>|øP–å³6ò mmm9Ž“Ïç«)È÷މ&qrü¡¢(á¶õ B„ú–mÛ¯½öÚy®dŒÕ‡uÚ±AyRÃ`šf¡P»5¨`"„ ž‚ói ca6奄A¿`Åý@P 0ê[„J¥òÒË*•J}7Qu¢£M †D “Û¶Ãn êy„õ-I’VWW[_³³³SËùtøkçϩؚ¦…ÛÔpÖ(BýìÖ­[™L¦Å”™Ÿþô§–eU?‰ÚÂÁÖÈÏùRŠîL-•J~‰(E±n¾vB¤ë:¥thh¨¾@°fyyÙó¼êç™D/¥ H„ﻦëz'‚/AaŒUÏß@PÛœOUÕ~ÊE¬êÙlö¿þë¿ÞxãÑÑQØßß7MóÓO?}ûí· º¡ÚƒÛ Ü µ™T[S(‹/¼±çy’$1ÆŸL^í5‹Ó<ôß3PJùÚÓþ€AˆÐ•P*•TUõÿ¸ó£fgg¯]»V­xž½Ó3„¾Zï¨išî>êï¶:‘Ë¥ey„ îÜlÃ`²|èyªªær¹°› B„®®úžj©a°¿vs.®¶·¦i ÜÒó !BWWÏÀTµ– °(Œ¸»Œž]¶º.‘¤ UÅÉ®ç‡AˆBõñÀ“å>—¤]Ûþ9! |<0  ‚ßùDQtAà×|<0ÀŸ\¦´|bcñ¶ÛbÌ¿˜ß¿z}>ÿtqq™R(«*ÿêÇüt* B„P_)‹sssþ§–eMOO7n¶¸¸xÿþýÆ æææÇéh«vm{feeRÓʪJ$éÝ££wŽÒ²ÌÌ6ŒM]§ºþîÑQcµw[ÓÒ²Üâ¶£¢8ÿâÅwÖÖ6 …Ó¼ËØD.7‘ËÝel×¶ËùüD.Ç_«bšØez B„P_QUÕ0 UÆc¬q¢¿ªªzC$èºnF§WI£t„Û0Fá%]B·K¥Ó´ #-ËD’àõ†e£¢Øº‡sBUaT™LӸ榮¿¾°0Q+(Ó²¼‰AxÜk!ÔW ðmÛßhF–eQç‚6-:TUU’¤NOõ×czÞ¦®ÇÊäíÚöX­ër°ö¥ ‰ö]·ºÜm¯ B„P_I¥R©TÊÿ47mÉÝ´ÛÉ :*O¨*/þ`‹±Bb‚àOm1#ôb/$•† D®‹Óg΂]£]]ÄÿËhî„ÙŽvØ»ü#é‘¿òD’ʪÊÓ®¬ª%‰?¹©ë;¦ « ]£º¾uÙMsˆ$m |\pÇ47u½õpãU†!BW!¤º9ˆ{rS.ÍÙã«À¨INMù]—·5ÉráÚ5HÍÎÎ06(ã²¼gÛ¿¼u Òóóþ7VN[âß­ñ@Œ„(ò'‡koF¹óð!“e¾/èÔÒÒN=!Bý¯P(¨ªêoˆÅ”SEðÇjuU©5[ˆöØÝ†ªnPÞmO’¤ UBÅbQ×u·¶ÿ2¥T–å“sLæææª“$3 0ïÔü@iëpA°m»ÿ¦/¢P`"Qçéü –çy¢(V;HçÓ ÓνÖe˜;pë—ü¡®ëå,BíÀ D(Z.Úù,˲êûÑ<¸ ÊÍî¼îËÙ»@—ù郲,/--…Ý Ô?0 _ûŸ* õ½Z–¦"±²Ð=ú¬ ˆ¢ÈÃNQ B„BÓýÎÏsÊf³º®W? }©¹r‰§  ¦iFáG„ú !BÝnçç9ËÂÇ Í øb Ac¸Õ !BÝà8¿(t~žS>Ÿ¯ïÛJ6¤ (Šº®c ¢NÀ D¨ƒ,ËÒu1fš¦_üõPÏÞ±ñÂLô©î­/Tž€¾é§ Ž ¢ÎÁ D(`žçù3_€”Òý;~, ã1Ðnw|úŒ{ÒcÿÐ]LAÔi„£±óSE¾h½?ºòŠÅ¢ªª¦\{GKCµ ùú~§Š¢¨ªŠ)ˆ: ƒ¡¶ôzçç9yž'Ëò±Ãù¦’ S #½†¶j™÷…ß=|vv6°û#t B„.¬Ï:?ÏoqqQÓ´êÖ3ÜTät[¥ö.hëþp 'I’¦iý÷~E!BçÕÇŸççyžªª;—VM%ŽM{ù]ì]`[À¶mñÍb|¢(jšñù´¨Ï`öÏóLÓ´mûØ[õã(¥‚ \µ¿Ú¸"Ÿrfr™±3¿Ù¬4>J©¢(ØŠºƒ°WyžÇ«ÆX‹ü;‰RÊÿ”c(¶pe;?/„ÿòw —¾ !„G þB¢°`öžB¡àÿn_Ö­(Ê/naççåð½RyÑ\Ÿ\z6Aø˜GQ€AØ3<ÏÓ4MÓ´Ó;£¦’ ÄΜÑî€Y{·i<†£”ªªz•ÿaçg°J¥R‹¯Bðg‹"ƒ°xž§ëºªªÍ8›ªNO8ÿŠ.÷ :CÁ°›B‘RªiÚÕ©~°ó!ÄaFeY’$Ì$@y$Â`[·6w@{ †Ý8sAQ”´uÛhÃÎO„P Âèâ}¡õ]`* Úí€wôp@ßl\ÈÜ—ó×±ó!t ˆò??ß©—ë ìüDa5w‡Î§A»ÝnGèy°-û¥av“bç'BèB0#Dz,Jiu^L<l¦{ßp2ƒÂfõ¡,/--uõÕ/«T*ñüÃÎO„Ð…`F‹çy¢(VkÁLŒ;Anj|~Ú:Ü_­>Ô´………Úpþ®†a‚ÀÃ;?B‚A!ÇÆ3 `3Ýè=‹¾Ùêj°¨òÎO¢(òÁ?ìüD]aTKÁx Ì{áÔ‚”'þôÃ0Bß’w~†aÛ¶?ó;?Bm ŒŠl6«ë:@Hã‚g© ‚Àë~Õujçg葌P¤V*»9¶···±±cccÉd²û x¥û/‰NÊçóÕˆP €NÁޅҶ뺲,3ƺ3üv²ó3”F¨'T*•ååe˜˜˜˜˜˜»9¶»»[.—ùãP‚ð+ÝIÔIJ¬úªù‡w"”‚œqRÃ`šæ±ÕýP*•îß¿ãÆ BcL–eÛ¶×ÖÖr¹¦ B¨C0Ã'IRõÑÂë\2i wøCMÓšöSö_],Á÷މ&qr/€¢(kkküiÇqfff&&&r¹ÜÐÐrß4Í÷ßZÌ5ÅÎO„ºo}}ýð°ºcÆÈÈH:nqÁøøøîîîÖÖø=®‡‡‡ëëëþõM£zÛÛÛ[[[###„ ~«X,6>>‹ÕÏj®T*þ†!±Xlt4än0œ,&Çq!ÕOVf€Ž…ÙšÖÜ?ãVðÕžç}ë[ßš™™9õ—øùóç_|ñůýë¦1Eœù‰Pà¶··Ï3F¸¼¼¼½½ÝøL"‘¸wï^ë ø4œwß}þóŸûIÉݼyóöíÛüq¹\.—ËÃÃLJ‡— ÿùŸÿ9ÏB¿µ¾X,Æ/kŒ+Â0ՇܿӑNAA›„¹Ç ªêüü¼ªªétú¬·rׯ_O§Óªª>xðàäÌOMÓpægOX__/—ËMøP÷ ONNÖß7_\¹\æ!—N§GFFø3•Jeuu•ÇØææ&¿ ™LŽÁñºûüóÏýÄ€ÝÝÝÍÍÍõõõd2ÙØ¶½½½X,Ư±m»R©ðy¡7oÞ€••~™Ÿy%æYùUL§Ó“““µ)‡AÇqê3EÕ^˜è%È$ÀªØ¶ÏçÿùŸÿùƒ>hqùäää~ô#Ó4±ó³Gííí­®®†Ý °··Ç§]ú~Ø4&A¹\ÞØØ˜˜˜ˆÅb$ 8<<¬ÿ¨T*<)‰„Ÿa»»»ÛÛÛëëëM!=11ÁcollŒ×<ÃlÛÞÛÛBÈYÝ­'ò«¸¹¹™H$xÃa†FÓ´ê£ùtøkçÏIð‹Âo~ó›/½>Þô¤_‰n€S{nß¾Ýþ<σƒƒS‡âÏóøàMã³Éþ:ü¢vm{ÏqÀu]]×ùÇ`wTáGÅÈÍÓ—£NNó ¬|¶çÏŸSJ;Þ$ÔƒÇ9ÙÓ%Š"žÒ ~ÿäÖÖ–ÿO’Ocáób€÷=îíímnnòe›››|<ãEU¥Rñ;6y—æùsÑÝÍÍMXqssóÒÿixEQž‚¹\Z–GÚ˜•ÔvL³$ËËR%ØcùêAÁô­‰£¼wôË/¿|þüùõë×ϺpggçÚµk8;ùøüa>…ø¬Î'Þ ƒ;Ê^ÎÆÆ_ö×h||ž‚@)å“H !~±È¿1N7Muùö·¿ÍKºõõõååež‚±Xlzzúü|óÍ7ùMlÛ.—˶mŸ\×ße¯Àp*uSQÂmGdQššuŠEÆXPgòÕ;#¾vð,4ɤpç‡?üá{ï½×Tîìì …·Þzkêj÷±#®X,ªªÚÜ—˜h¾Ô¬€WÔgš¦,˺®kš†ý ­ŒŒ´X‡Î;?c±¥tllŒW{üùñññÆÓ*Òé´ßw¦éÍîðððÝ»w×××ýºs||œâ¯Çð;Zñ¶ù_J$”Òr¹Ì‡ !7oÞäKOýö.x¢Êk÷ŠQQtŠÅ‹÷ú_„^,¡ÞlBˆ¢(ï½÷Þo¼á¿§3Msuuõoþæo|w…òùü±ŽLä4Èé3¶wÁ°A[ç““c|†H 5ÃÃÃçÜ…÷‘žú%¾;ß5Í_tá_ÆWÊŸõrÉdòäñ'/N$M³@Ã=4#êë˪ÚbäòÀuŸjôÖèfCEÂ#¨²¦iÎÏÏSJUUýíoËŸ$„üä'?Á·ðjµ`õ¾›îKÅÉ(7A¹ Ú:C~˜ 8jØQþYH|f©¿LâäDÓ>ó FxÉÄc)I:«nÚÔõ ]oc·…PôÓÏóR©T°3‰P°,«¾Êl tzfx*å&ÈiàÇaâ¬ÎI§Óëëë|;´Æ%wûÈô«¨W„w¯ëhrèºD’mÀ^’½IDAT&zmFFÏÀTJÛ`š&¢“,Ë¢”VßóͦÀxó2wÁx¤Ï¡è¸®Ëzáþ sïÞ=¿ƒ”;õ„Šþüy„ 0Yþx`àsIÚµíŸòñÀÀǺ ìÚ6”Uu™ÒeJùóëµÆ–)-Ÿˆ´¶ÛbŒß “åêõùüÓÅÅeJùmùW?XƵk…‡¯N®o¡Ó¶n§SÈT'ÖïD‘L&'\…„Ì»kÛ3++“šVVU"Iï½{t”–eVë'Ù.•Æ(}÷èhfe¥¬ª< okZºe'ç¨(οxñµµÍBaÇ4ï26‘ËMärwÛµír>?‘Ëñת˜æFÃ^±[\\lœØ]*•òù¼çyþ3ù|¾q›ºb±˜Ïç;ׄ"EUÕú)›læb=¢' ƒÀf Ó4qM \G‚HÒ¥#„؆1B/颸]*í˜&$2ÞŸÉ/Ûb FE±õ„— U„QQLd2Mãš›ºþú‚ßGš–åÍŽ¡ã8Š¢4n¯išªªþy˲TUmœ)§(ŠªªW|WtE8ŽSßPþ¢ã‚gý²RQ”Æ7µ¯#c„þzŒCÏÛÔõXm·Iç¶XÃþ“1AØ»àÊ„ØiÛW6<9ØÉý-S©TÓŠ(MÓEñ‡Ê2™ c¬ñPƘmÛ8–†®‚N²)>2ÍWÜ/,,vgtåuv²L,ŸPURëÖßbŒ×|õÜ¡ë&ÛÒ‹ B¥!œ\·£«)𦮥R©¦ü¦Ì;yBýª~¬JàÛ*7ù- B¬Žtúˆ$•UõÀu ¬ªk‰X±,>†·¡ë»¶=F)¼ÕrŽhëÚ,ø=wLsS×[7†«^,š;a¶£vuOúvŽÌFýçØN„¡Dü‘·\U”~yëÖmM‹ðÄÑzx¸§ÙœêžôXé¢Fõ ˜2'¶O D-\ëÛÖ#Ô¶à»FWþ ›§ý¾ÆáäÁI€ý´»5^ï_Ù¸”žH’Ü# ÕëGôÙ½yx­ÙxÖ jR?Ðíä>¢¨mïúy¨Ÿt¶kJô7wµ÷Z^Uµ q—Zt\=Ÿ:„µ] Ïs&Bçô œì쨴,§zjU,ÿùXýÔϪe[=¸w«žR†Aˆšt<ꀯBöçÒ³T.a„ÑÞùzຶa@czµ­ž¥í–F«îÀ„§Ï#„úÀWøÂðÇ’ÔÍ,ì;¦ùˆÒCÏ#„¸Ûo<¯g¡auÛî©å7!ºjŠÅb›V=Ï›››»qãÆÀÀÀÀÀÀµk×.±?€ã8Åbñ¢¯‹›òœåEQ Ã0MóÑôt,OËrGW£÷ÓtŠE!ð)j²,Wë3ìàg™wT-¹EQŒÇã¡6]=a¯ÛiãoY– !ªªò÷Össs’$­¬¬\è&º®3Æ.t.?èu<Õ+ñxœ1Æ7 ;ô¼§‹‹a7)Z(¥†aþ_’¤zö–Zƒå¯ÔDa©çÛîÈá*µùea©T²mÛOÿÓb±èOÉ‘e9•JñŠJ×uBH*•Z\\ä‹ ‚ Ër<çß+ÿFEQšþt,..Ú¶ýðáCÿ]×%Ir'•JY–å¿ç¦”ò}9òù¼$IüyQgggÇá›U …ùùyÇqüM $IÊd2ü>üÕ=ÏÓ4M’$~M>ŸÏårAýèúÆ+Çs¹/ qR²OI’:´N.•J‰¢hš&x‡ o€Ü#ç^ºPØäñtÒ±>µÁ:$‚º%1I’xh)Š¢(Šã8¼t“$ɶmJé³gÏ¿«X,*Š"I’(мSmii‰1¦ªª(Š<ºcM¥žaMÇýkdY¶m›¿E¦”Ú¶J¥TUåIÆÿ"5mßȯ¤”BøIU¦iBt]w]÷Áƒ|äêÛnt†ú:Âx<ŽUs7ÕwîÖžöLjOùGJ).¥G'Õ‡­ Ø»þ²¿`¸`Uš_¨m™L†‡Ùüü¼eYü°'rüÄiÏó!¼ü’e™W‡”R]×ùßLE|“UBÈÚÚðŒ<ùrgE8/7mÛæyÌ3•7@Ó4þB¶m3Ær¹¥”1ÆËVAü“± ÃÐ4-—ˆ!Š¢ 𦙦ÇeYÖuËÁSá:ÂÐð·xVô°›sîhëü¡Úk‡!£îÈd2õz%ðn½Þìh…,Ë|+ÞQÇmÛö;ÿù춦޲ÆÞTÞ‡É/ðÿóO^wò>7lüïâ!ìßódˆš¦iÛöt Ôö4Èd2jM€ýúUÔO¨ïcñx\Ó´ê?6µÜE¡ö¼Ch½@è$UUk]ë Ü ì¾î¨eþ0ðñiÞ º´´¤ëzG—ê‹¢¨Ÿ8!.›Í¶3ÐÀ§ÞøŸú+žMÓôG+QkX†i~~¾ú^ÏÙóÿ‘G”½‹å :zWG°¿Õ ïÃ.4[ò<âñ8¥4›ÍŠ¢ÈûüEQôOUô<Ï4ͦ¬Eq±6µ°T* ‚pžw‡| ϲ,ÿ™B¡`¥”g¤¿”‚1vžtä%¦(ŠSSSSSS†aði5‹‹‹¦i2Æc‹8òe°" ÐÖAJ8v‹Î 3,ÑyÄãqÞÁ/ó[Ͷ _ÍÔ½ãóeürMQQçææøð!Ÿ ¢(*ŠÂ§Ùóy4|N;m«dßôô4¥4—Ëñ~ {üK<®âñøì쬪ª”R–®ë¶(|yNg³Ù¥¥%Bÿ.~R#cŒŸ ®ëz&“á§¥ú¯8==݉ið½nàèè(ì6\usssÕ9Ó™˜÷ÂnÎi´u¸¿ ‚ øƒù¨ïmoo///@2™¼{÷î…¾7›ÍVC%6ÓVš;@ñ÷aªªvnºÇÀÀ±¿‡|á‚àè8ŽmÛ|ù„¿Ú¯jà_u]ד+•Jü]£eY‚ øóËü;É%þ’ ÿùR©ä¯Ùåkùù}J¥Ô†'ùwùíäôß°–J%¿Á®ë^ÍÀår¹\.ÀÄÄÄÄDó|f ÂðyžWBŸOƒNÃmO3sný’?ô§É¡«  ôÐuè£ó®©0l ü”eymm­szGGG/^¼ÀeWaTðµºÕO²¥ð'‘ò«µÝV¯à¸jßÒÒRýÛªÀÜc ?µ æÎ)W›; –üæûkçeYöŒ#Ô Ø5!ü_{µ4Ì—ÁÞ m¼°azï2Â}dÐ¥---QJEáÓ@ÀÙƒ|ÙŸÚß* g)£NÊ0Z–––ê³Ã › ³Ñ‚|`»ŒP›æççmÛVUõœ›eBøÞ`˜‚¨ 0#'—ËÕÇ › ~vz'R‡(O0Q'ðÍýŸ={¦ë:ßÉåä5„EQcÏž=[XXÀÞxÔØ5E|rfudŪ}ÚíŽïÁƧÆÔÝå)ˆ‰Pàæççqú1Ь#j~~¾¾¦Â;„l©³¥¡Z†k?ù»rLA„ÐU€A]³³³Çö´*pë—@—ýCºƒ¡­ƒ û3øÑ` "„® ÂH‹Çã>Ô4­> RÚ†¿ºÜîZC{”' èp•BmGàÀw4F}Éqœl6;==}ãÆPݺukzz:›Íú;V#t!8FØdYæ»èV' —¶¡´ ÙL%ŽM{ùì]`[À¶mñeò>¾^gè¡srGÅêocØüÜcüÚpÛÓZã¡>¾;(‚À§§ñ#/ºóO²›¯M„½!?xð€³YC¨%b2 bgÞ¬ø•_#¾À «@t!ü—0‘ÉÜÖ´BFη(¢CvLs϶™,óÜ;÷Ëì8ŽjüåX–Õx–eQJ¡vè.?Œ"“ɘ¦I)íÎ^ÐÝ|­h ì%~†ÁÏ[9öåÚNçÁnQWG KàoÅÒ²ù’]âÂÝ}‹÷GóÙìýÐI:I¶ïyšÙyflßûžg~#*†Ê±Åñ §bÛö¸5 f4q×±þ/¿ÕYÐZJ »äA0×u¥”RJuÔZCêÒ4ý×O'õdîïï !fì:IÓÔì)Ón·ó}Ê[[[ÛÚÚª<½}ûö<‡v®۶Ͻ²( !Äßÿ].ŒOÄu¢·‡ YØ"¶d)šgË*›-3çîn©v’3Æ666666*OÉ#$â(4JÄUÓív³,ûú믷¶¶ÞyçÆX’$¿üòËýû÷/cOà<(¥¤”&Æ(¥t‡snÛ6ÖÛÚí6¯×ëu»])¥ëºx¤”RJ!v7‘ÝÝ]Û¶;ŽeYx³Ñ{È•eY®ë*¥¶··e Ãp¢Ó  +A”[åyîºn†EQH)•RN»K°”hŒŸaÆÄŸÉSDלsιçyY–aºL¡R ýBöÊÖ‰½Ï˜‡Eñ­õe÷AÄëÈ‹/~ûí7ÆØ7>øàƒÅ¾…Ÿþù7ß|óí·ß¾ûî»Ož<¹sçÎb{™ŸF£ñÕW_=zôhee…1&„hµZ<€ƒ†áÊÊ ç|uuõåË—F£Ýn¿ýöÛ¾ïGQôÑGac­V+‰«Õjø”ÿóÏ?ál1Æ677×ÖÖ=z”eY–e<Àº×ÊÊʽ{÷Â0üî»ï~ýõ×GaÎñœ.Àû…FãåË—yžß¹s§ÒªÙlþüóÏœs,ÅmnnE±²²²¾¾nŒçœO3câÀkµçÜ(V­V³m›s>Ñ6ÇqÌÌlnnzž·²²R.üôÓOïß¿9ùò%c ûoñsbïgõL ‡ÃápÈ»yóæÍ›7+Okf½— ¢Ìp8DsmmmkkëºÍ¹\â8VJáTñæq|||||ÌÛØØØØØ¨<¥Ð(AËN«Õ*ok$– B‚ –œT{õo:%. B‚ –ëÚ¡C¼"Ðñ ‚ b©!!$‚ –B‚ b©!!$‚ –B‚ b©!!$‚ –B‚ b©!!$‚ æ"MÓkóeØ@BHIJÓjµjµZ­V[]]mµZ»»»&EQÇ«««æéáá!Ê{½^­D£ÑXx2¿^¯×jµæ©9 Œaç£V«jI’Tn@4M[­–™1cÇåÊ«««ÈÜk@¦V«…òõ=ÏCBBHÁ´Ö£Ñiâñ“1V…ã8x4ÒÈ| ;Ž3ò±¾ÖÚ$^tÅAÄY_____¢9ððÓ$íCº¾$I,Ë2Mêõz³Ùl6›œsß÷wvvÊ/,Š" Cä¤59 Ó4 ÃÇ1¼™rÛ¶‘Épxx˜eÙÎÎNQ¾ïçynª ƒ(Šž°Óé˜&qgYÆ9Ç(¤”Æìýý}¼ÁFQ$„ÈóÜ÷}Çq rå›ç‚ 8U)‘MÐÌ@½^Ÿ¦ÐëëëøÂÊaÎάT®ƒ+ƒ½ äA°,ËâL¶XÈ›RÊ„ ÷öö*ep]·œ](¥Ô"ÏsÇqàM–3›Â à†fYVö;ñƒ•RÎX0‹¢Hkw—E9RmÀ$!:ÒZ#1¡ÖZk=>­õ©YÃ0DÎEC³Ù|üøñÄÊ&a=›C+õ•Rô€+GHÄ…hµZ㟛W‰ÖIh/‚ïû& “ÂxI’(¥ð1-„ÐZOsDàíÅq\v¤Â0ô<MÙ ‚€1–eêC®¤”Q¡­mÛfJƒ @ž÷z½nÜA´Í²L)Õï÷áÆà$ !â8¶mÛq3]I’dYVvpcJ©ŠØ§i çòÔiœí5–—<£(±‹ÍSŸ1fÜÜEABHÄ…è÷û×mÂ(«éöö¶”Iz-ËzüøqQHX(¥BÌÈVQQ ,h!Þˆ8d–e®ëšÏ}h;óZ {½<9­5êWBµyžÏÖ۶Ѱ^¯C\›Í¦R ožÖ|Ü9CõÔ¶mgY6£Zù;ì4wpbýy,9+$„AÿÂó<Îyš¦¾ïsλݮYÄӉĨ·YIj¸³³ãº®ïûðü¦¹ÎPšq8çЉòŠÖú|ãB Ô¶m)%b­FSËŒ;góø‚ìDË%EQ`øøu¢ã†áD3¦Õ¿ h â_`ŸþZëÊ:ÜD÷¥( ¥Ô¸DµZ­,˺Ýn¿ß‡OfÛ¶ïûæxFE®ë"¢hV"www···cBì‘REaPå,Ëf/•%I‚ŽàÑ:ކ¡mÛf¥sÎãúú:çÜØ< ø¾åjX¡¬„^+Ìð§1 ÎÚd6äA08mŒ1ìQJY–Îq(P–eyžíI’Ä,b%I"„÷`„8QÀ9Ç.¼Þâ“RÊz½ŽJ)lÝD$/év»a*¥L5Ƙçy0ƶmÏó¶··* #x]–eÙ¶Ð(;Ñû$Iæ‰4"„;m£h6›˜+l™›;{ý8MSÎùÄÂ`¶ÏÔd6$„A,;žç•ƒ“奵gÏža)cŒsnΘmœ•&áxEQßèÙ³g8Àï ÷ööÇI’’Y¯×¡ x9ƒaª±ÒŽ›v»m¶’–ì%I¢µ††5›Í$IP?\Aì§éÖ¸B}ÇÇk”§«¼ý§BÙFPzv}6ß.Ó3QÃAH‚ ˆ ÃáðéÓ§Œ±µµµ­­­ë6‡8½^/Š¢EmeB`6I’³zo g0¸®‹­Lós|||||ÌÛØØØØØ¨<¥5B‚ ˆ7!Ä©GàçÁ[­½F.à A¼t:Þ½ÂNu\;ÓNè_ò ‚ ˆ¥†„ ‚XjH ‚ ˆ¥†„ ‚XjH ‚ ˆ¥†„ ‚XjèøA§ðÏ?ÿà02A¼¦<þ|ÆSB‚ NáÅ‹$„Ä …F ‚˜Ì{ï½÷Ö[o]·±Hnܸ1^Hw1•áp8;¦D¯7nܸuëÖx9 !A±Ôü?[ `¹‘_…IEND®B`‚pyzo-4.12.3/doc/yoton/images/yoton_simple.png000066400000000000000000000402131421373005400212120ustar00rootroot00000000000000‰PNG  IHDRXÕµ¤ IDATxœíÝkKzÿŸY2,ÓF" Á2¥\H76ÓŠ‹M`JðÞØL+²lnT"à°aƒZä*!‰zØ?À­«À¹QMXβËz݃Là˜,®¾±oV?÷Ä‹wséFƒ»‘8A" ßÅ#•zFïó.ÍóÁœÓÓꮪú[ÏKÕ“9<<âvEQA(¥â8‚à¼+cŒ1Î9cÌ4Í|>ßÍq½¢Z­Ç„a†áyWš¦‰ß $—Ëuq˜mÀ÷ý^¡_`ŒÝ¸__×ÈÞ|ß—R*¥.x®]Œa–eY–Å9Ïf³mÑc’$QJá7$ŽãæaŒá7¤P(´wxíÂ÷}×u[y·Ó49ç¶m“.jHox!¸ß4˜‰†a¸®»°°ÐRãDW(—˶m7N’ò£`ß1Ýjëá.ÈÍÓŠÈó<¯W΃jµjšæp.÷×í Ünv‚à·33†a|úô©×cé=™ÃÃÙ™L,/&8€QÓ2Œ­?8ˆãZÀND• 0Æ‚ è‰&Iâºn£/47 Îlp ¨-°ß6È¡eY®ë’iØ·DQdÛv£/´0Îì5ì¿+â¾÷}ƒ:ŽÓ“À¡ïûœóñBá‰R]îúæòe&€Œ”R1”Ír)™eõz<}ÍN¼äü IzâOH’„s^·";Î,Ø÷;Ø«‚³‘–CÃ0”R5ìCªÕ*ç¼ÎÌ‚3 ë`¯î{p6 9Ð'LÓTJuY 1@8µ°À¥ìf¿×e7 àÒøåNŒ0v§ÃÖÈWŒíEQ†4µýzDg‡TðRÆLó±R ¥L’¤›]£ç§N ãþ¤³*ƒà Xº§OÄqÌ9/—Ëí—¸&år¹Q—îAðEgUìûþ ãúD¦iV«ÕÎö[c Že¦ŸÙ”róB©þ å—™Œ/ÄAç³40‰”T¾‡ÏÖû¶Ýë‘Ü ÆLs4Ÿ€ V©·œéŸ³C°Võ¤ÕpàÕqÂëÇÅWq !H û´‡NT0? ¯ƒû°KÝw@=µd‡ðD†œó.ká`Jˆ)!.¸`SÊÙ••/‚€²^»Ég0L3‚ë0jšµj5 Ãî,ÁI’IJ¬“g\n¼Gçæ»w>ê1X¯tZ©‚6£éªÕªH?[ ãà=êÞ$I#¦ÁëF ã8¶,«WÑôvñAÊQÓŒŽAŽsŽú<¯sV?H9Â^£Ñ®Ñ-¥ hùݳí;†ñAÊÝ0ÜRjXÊi!S<p}·Ì÷àØ@îgv‚àÍe6ë{×UB|è|„¿Ê¬+ó5Œ žØ‚ùQ¾è "8ñ_˜Ò'hÖßsÐ[pòzaª«®‚Ì1¾Ðž´ »Dh/›R¾²,Ô¿ý8VB„Ç‚§„Øãô5p¼D/¨ÁiWíö±”n+õrnݤ¡ç½:+2õÜ4¿9Næßpœ.<Ü–Ïz=€öðÞuß»îí‹tÖeÇä†A=îÙ3N#9ÄûP‰à8^Hkr{EcvL1’÷r@€³¥Ç`>G»0Îù»wïz<ª˜àp6ç Ž¿Ìaù å7®‹öß´x0Îù˹9<~xÙ‚´\±ø#Ï€œeývff'¦…Ø”r‚ói!Ð:|¬”N™ùÆuÉ(ìßëõ®Ä˜i^ü­:ˆãƦ…ètžU7Y\\¦\.Kí ÉzÜ3èipÖ¬…AÌÏÏ÷vDˆ¢ÎgÞÞ9ê±ÖB×uonjUzE5³¬YÇÁ\Ê´ Ém¡Sáf¹Ì¥|äyC†ñÖ¶ï---|úôôðp„1ô¡¿±í½0üËwï~òñcúÆ)!.þzíEÑ” Ÿ>=~ýz³\ÞRjÖqfWVÆ …§‡‡ðʲFMSÄñÓÃÃYǹ4¸Ø‡T«U;=l÷A© R?ë÷<¯R©ôvDÅêêêɪù¾òẖ´…jÛvÔî\„R©477×µä¨iî†áçøo7 kÇ Ü ¼²õ¥RÓkA0t“ÓŽúœN a®Xd–5Áù¦”I2Áy-¶”5Í÷® ÛJÍ:ΘiŽ0–^;ÂØØ…_£ñBá¾mß1Œ ÎÇ …íz/Ä–R¨”ørJˆ½(ÚéâR‡¶P·?ÖJvi l$ý¤BÜè´ˆnsòZ=6Ò»áœÅô T\rÓÞæ=Ïk¥èØu¹oÛµ PBl)õÞuýÅEí·|kÛ¡çm)å 1µ°€çߨv+é-è’Åî0‡ ÐÎÑ©d-fq<”;Oý qºT«VµÏ¡í½;õ-wnij’$a¶w ÁêêªÒꎛcõ-ø¤[ýŽŸt/^¼èõ˜n?uAٕپó¤q‚ÚÆ‰”Rår¹éíj+•ŠeY¦iêÔ›wïÞù¾ßÑ4»²‚ëï†î» L™ÎÑñ¬Ñ!Ãaìô€CÙlçôi?ŽQ÷;¹;C’$¸ˆ" Ãv-–J’¤n+Ñ>I¸÷!x!¦zžçû>U8ë(årù$…ªÏçIˆ,ÀÌoñжm˲®øÇEQzµ.1ê'Íþ²5hÏc?:+çàÌógêÖD}ZF¯>Lßu^wDÛéxÖ(³¬Zµª]_[æË0ËÒ'Óöân¶âÉœà|(›Õ›mJ9”ͶÅe&¦i¦ÿ2«Õj©Tjei]]e¥•Ù>uy5R닊#í îvôlWǃ•#µŽãøêUnÇIoæ—Ëå_¿~Ý‘AƒMÇ-ÂÆ kkom{SJ4y…qÜqF)EFaç(—Ë'!±…©¾vЦ±ïû7æ–RžWž¢T*†±´´„/MÓäœóS9äg‚¾™Z/²ÜÌ"ÀhotgcþçhÑÂÓWâØ CL¬J;ö+Mpþe&ÓÆ1èîFkûwtómßWJ~Ü£’Y–… Ì£(bŒ1Æ>ÖgÆžG©T:™ï¯ú4GæLÔ̽ÄCÎ9MÛ;Öž=zññ'7Ãa€8PÚÀC)åéH!n+-T§°¶F±´« „Ø,—©0/Ò¥õ¸ç^ƒ[3?'®6ãk®».ÏÔ²ÙìÒÒ’ÞfÅ0 ÆXÚwêû~©T:/üÄk”êxÑ€öÂ' xô®•RmO”'À÷ý\ºw“Tì{ée…P.—çææ|ßÇ“ù|ÞqÙBš%f¥¾µí—%Þ}Þ»îf¹ ÇqäÕÙ%½büæ8Ó®žã“ÍflA×uÑwº²²Òpq¹\>‰Š©¾[v)ö}Üw <ÏÓ.¢]Ô‰D§ËoµãX Ê›AE¸ø!íY9ýGq-°"q¿™™ZX¸‰îÊîznR#„ (’aŒ‘?áêì†á/''¡YŽïûJ)!DÚwŠá‹‹‹'Oº›åõÒã@éw¢]ܽ{÷hª„{¯ß8‚>꺮eYaš¦ÙÆòI’ض݊Y9 †á8ÍV5Û¶]×Îåž(Es¨‹ÙRê­mתÕv9Ö“$1 ƒj7þ1ö\STöº½ø¾’6òìÁͳö®´éèT)Š"Ò `Œ]}Ë€‰ã˜1ÇñP6{ß¶Ç;±»ÄqèyèU7MS)ÕÞ¯Ñ-yÌ¥RfÎLˆ š¦.‘ê†: @(ôŽB I1Ñv>Ëf³J),æ²Q*A©Ôë!õ5B×uÛ>™Réå"|¼½w>¡•R$„mää’¾©* Ã„@Ëlˆþá3ÈçóŸ>}*—ËžçÅÜŠåFcš¦¢Cû9Õ•[º)‹ÃÎäxAaÊÜ‹¢Èqœôžœóó“ , €è¿*‹øòäóLÍ6næ¨>zôhÀ«Û'IòÅ_\°¨ù_þå_ÖÖÖnU¤q´¬ž„èH{OÝ¡íŽ/1ÝŒ9 ÿêÚ¤Æÿßÿýߟþù×~þùçÿ÷ÿwsk—·ŽmÛ=úþ÷¿Á5õWõ«_ýêäõŽè8 !Ñ?Þ ä0ŸCæKÈ| ÎFÝœ“3ì«£k2_¹L€¯ƒõõÑICB°G« 2_‚ÚºÞHRBh^¡èÇçŸî p¡™¯¿þúÒOillljjª™ÖѬÇ߬P'' ÙøëV[À×.¶¾öÕI#òÃÑËKoôÂfI}Åo>Á8àÌ‚˜†`øKg=7 ˆàÝ_‚9j ¬W`±£Ü½£ó|ì· žÀëÇ0÷Ÿvzì¦i–J%½áä@†áÈÈ•?øÁš©íe½1}´9ûêèKb¿s$6ÎÆÑ¯ümX™÷°˜ü%;G¦›ûÍѪÖKoìË<¯Áüj cŒö¸8›³;òšc ë0Lî{àãœyróèç>8zê9³zE|wøþ÷¿Çñ`V1ìøR%>^|ø„ ìéV¸ á.°að·l»ìÐIß…)p¿ÉAmAµbêª7ö˜¢¥”¢•`çõ­lÛ&]ÔÞ|⃺ºÏ[†˜@¸wâ&5GÏÖËîòí·ßš¦9˜e›’$¹wïJ%'¿ûî»f:p€P`½‚ä ãà=‚ø@mL† Ç9¨i{ÎbG®T¹ Åw ®]éÆ^S·ÿܨÝü;ÍnîEA”Òó6á.ˆ©³½£î°^\¶tï"4G!7 “¿¼\,Ïçïÿþïýë__°Hî׿þõ~ô£~œ[t‹………_ýêWß~ûíy«-¿ûî;Ïó¤”'£Úºê7d­öÛ#£->Yð} Œ!wa­pô}hÀ¾åͺÍ߯xã¥tF«Õj†Ã¹©àU¸c);3ãy !d°$Ú¹bqÌ4`Ô4‡zZ§·8ˆãZÀnn)µE¨>‘ÉdŽŽp ßÁÄ`\¶U)>ÙH§vêr6 t†ŒãX)õ³Ÿýì§?ýéØXݨvvvþíßþíÏÿüÏ¥”¾ãh’$–eýÉŸüÉi»ðw¿ûݯýktÏœ8_<º†s[¾ñþ‘ánŽ^¯þsÓ7¦1ŸCµí®Ä„õ[Æ …'éýë‰ ù2“*Ÿ9Žƒ5˜+5v……_;Þýd?ŽÉXŽã<{ö¬]˜¦y´Ý¨ÚhJ¯¸Uw§—c§L„l6‹[‰þô§?eŒ=xðÏ¿}û6‚¿ýÛ¿mïgxCÉf³žç !~þóŸþù磣£ð¿ÿû¿¿ûÝï‚ ÈçóI’œÜÔ®!„gÎxŒ;M~ š¾1MõÈyAµZEçJµZµmÛqœ¦ÝÓ¡¸àµÎåö¢(Š" ~ý~\—TðRîÆ#Ï€öny•$Éɦ۩ÛäxüÚ‚)‹øÃ~üãÿ¿c~øÃþá Ôd³Ù/^ü⿸{÷.~DøÃþéŸþ U/0´‡-ÜPRÉ5¶mëƒRJ)•Nø,—˥딄CGënçw«ÙRj½åô®ð²8ÔNtá½`)© |†NÑéó9Dš ÎGóùZµÚJ55ß÷±özëò’’ƒ“µÌ7Žx_Ï÷ÓÏl6»´´´´´Ô£aÝ …Âß(ÎùQ¬ZmwoLm'5ÏK…q§ÏضaüL’$±m›s~ *äl)õj~þé…ÉßÎÌ<~ýš Ü®ñ=¦Áuh"zZ.—Ó;\à‚_ƒ“Ëåê ózÜPR›l 좈qòyâTé†rl†‘Î8Ëf³+++iÓÄó<×uõÌ@)…ëÞô¾ïÏÍÍÕ9›e7 wÃp'¶”ÚRj?Ž`?Ž·R•x~©/N_°“ªÁ™¯Ô·cÎACG[JéÛñ z`é~÷ç͘µ°E1ÑvðÈ[ƒñpL’$ Cýw^.—…–eé¿j×umÛNOÿ …‚aG¦¡üÐW[u\ƒ”±BBØ^ê>Oµ}S}ÇßK¿ öq±XTJ¥Mõl²uqSÊ-¥¶}¼PØ CfY]·/çæ´Ý¶)%`Jj-~;33šÏÀa`z6Òª³/95MØ C.åçØÔ†ãsÀM¿}ÍÂÂÂááá‹/ZoêÄJnؓˀ¢Ïs7”|>âi(o6³«KI99.Øl¨W¤…d7 ‡Ü8=eO_pPñ¹;A0jš\JÇž=ó.ØpœqΟ>QêÞY~”!ÃH»=ŽókjA0ë8_Á§OûqüÍ)[“¸­ºF‡›à|ZˆGžwq²ïÔÂÆŠQÌÐ0-Ä™4w cÔ4'8çRÞ³í;†1ÂØaàÅ#Œ=tÝ Î'8¿üíÁˆôç¯>àî#„8Y.澿IFaªð`ÖTêuÒP¹Ÿ‰÷u\“1vi˜ ûlJ‰ÓâRÄñçc¦9”;w]xïºß¤bµjm» =§à[J6ø6gs-¢éüüRîÇñnjYÅ ½¾8ô¼Ý0ç|/ŠBÏÃ?FvÃðåÜÜû”ø ÷Ù£ìÆÑ¼Þ1Œ®ë/.JÃXçü Ž/V ´êŒ0V;ßÙQùîÝ禹á8§åjJˆ-¥ÐÉùrn®Cî>Ùl¶Î(¼)O:ùü“l@ZŸÛ9NüçåÍ“Te¿Õñãþœ'sî ñe&óë>V Ÿ9\÷›ÕÕ/3™Ðó<{†b3d÷––¶•ú2“ùíÌÌ×ÅÙùn½ áRŽšfùîÝ/3ü9ÁùÔ¦”ÛJq)CÏû2“‘†1Áy®XÄF<{V ‚M)ÇLsjaáÕü|ùî]ìzÈ0ÆLóÑ‹Žóe&óÜ4ïÛ6-o‘–Ê0M ±b\"úèÅ‹¶ìPzÇ00+ô¼M)_rþEý7 Ž™eݳíƒ8Þ¸òŸÖé³>‹fÙ¶-¥Äý¢`õ›swÐîâý´`»ä¢é0®ëž„` PÞ3¯u‚(ùEcý¹"~Ì4t*W§¯s]àõöß™RtÇ0N7Ûp¯H9Zµë¾mëcL¨ihY– ¸`ûhÞ"Ää½ìf¼P¨ú'Ñí¹Çé<(½ðs?Ž·}?w¾½±m4ïÛö×Õ¹ èCØ ‚½(zàº÷m{Ì4R­Ð±0jšÛ¾¿|}-•ÈÓ0à¦ß~‡Èf³uZ"ü~wÚo!ÚÃC!D{ër§)‹'‘B»ß—RÄû ê¶’èáXâ<š·q-ç+Ëb–…Îî)!îÆx¡ðƶkAðAÊ´ïñ Ž¿¶,”®©…Ì÷]ç\G 5£¦é/.îÇñÃ=oveOn”Jëœs)‡²Ù·¶=Á9j- äcCÙìKθî8çCÙì+Ë5ÍÐóÐN=sÀM¿ýÎOº£4Ôj œ pöxLç!?èɾaô˜ë®ëžì`‡5&ûÖm`¿ÕYT–eu::ØÜÔv| 7À˜hÛ«BÞPŽªÿ\¼ñݼw݃8fŒYÊžNa?Þ1a„1L|ªA-† C[ý;A€‰0 ÍîAäy³,½DmJ4:±‹aƦ…ØRjÔ4玲Ž06˜naJˆý8a ‡wzÀ×eómßWJu®^Eº6´R°ƒ;À_êØçy}˜q[)•J'Á¶ü(¨ÇÍ×Eêò,™ƒ†atºúÝ»wã8.¬­QÀì*|mYQ¥"„ z„к ]B¨T*u«ñÞýeÍúã}à/õdß¶mª&ÑeæææNV¯sàý¨—£9M×çIËËË®ëe³³ŽsŸ¶t8Ì4Ü‹¢.ÌNn Üâò'?öÛZ‚¾å+Æö¢H—Èéu³þì¨Çý¢…õ*؉JÅÄ¥4º ¦À}Ð/va½ vgž”$ ç+š çrô@;“Ý0ÄÍ¥cžçQPÉX–åyÞìÊÊl_¦5÷½œ›3 ãÓ§O]èn~~þdÇýì¸zï# vÀz¥d ÃÃT°'T«Õt¹+È ƒ÷¨÷³%ù!½^‚sþúõëîôœ$‰ã8Rʘ2*ÏÇ0 ˲\×¥?[MFJ)„  õW÷¦©U«]s¬§'¹Gô6^X?Ó7 C)E“Ê‚µMN^÷ÜsŠ Bï¼éªgDéÜP2‡‡‡333A e³÷m{0¨®B-6ç IºìXO’IJ¬º‚…½ÒÂz$×JŸP­V-Ë õF\=ÔÂzľúóJ IDATbÂdvýOæðððŒG-q¦iJ)»ÿô_\\”éEµ…qðu5 $”^)ì3Îð,Ýëꪛú°1P:"qƒÈç‹ú¾ïº.ùÖÏë=Ü£Q ³Cà=ÞùEÂ]°^¥Ÿq¤‚}ÈZ˜ï°‘Ž÷­¶Àz¥]@*HÜ4N„è–——:+èl@©nËS˲¤”¤‚}H’$B/½×RvìûàÌvªËx„Òõ•À0 !­¥!n$„7ŒÆ€d‡@L3Ûf9t߃û^g‡ÂñÞ1ý¹W$¡)—˶m×Í–rÃ`ßû~;»Á=fåfÚ¤°1qC!!¼yœ1ñ€ìX ì{­fI„»à¾oxÀçÜu]zÆÝªÕª"hØo,7 bÄT«ÎRµr30F„”‘OÜPHo*¾ï !êLC$7 >»Fsj Ô6Èi1 Ãqœ¥¥¥VFKtŸÕÕUÇqΈúçGÁb`å®1gŠ÷AmI`ý cRJJÊ'n.$„7˜$I<Ïkôƒ¥É ƒ9zÑó.Ü… –N„iÀqÛ¶išC‰¢HJyQ Àü(˜£ÙˆÁµÓÓ#„¼åÄ퀄ð6P.—]×mt…µc̶m!Ià- I×uOê\¶ι‚$¸ÞªÕªçyžç5­ˆ¦iâŽb·ß÷¥”J©¦‘snY–eY´S3q› !¼…$I¢” ‚ÿ{ÁÚPÃ0Pücœszº Qáw¿$\É3ᜓ‡€¸•AÍ÷z=‚ ‚è%$„AÄ@CBHA 4$„AÄ@CBHA 4$„AÄ@CBHA 4$„AÄ@CBHA 4$„AÄ@CBHA 4$„AÄ@CBHA 4$„AÄ@CBHA 4$„AÄ@CBHA 4ŸõzADKìíí}øðFFF¦¦¦z=œ–ØØØ€®¿B‚ ˆ›Íîî.êÇøøøíÂ.¿rA !A1Ðk” bP888øðáÃÁÁ¾eŒ5\†a­VÃcÆØ;w09111>>~•v¶···¶¶`vv¶¡µÑÑÑóúêa€“„ b ØÛÛûÍo~£Õ ýâ‹/ôË ŒÒé—Œ±0 ñ% á¥ílmma#»»»›››éÖ8çZíú€÷ïß·ú&›‚„ ˆ#Â0ÜÜÜÜßßïõ@ˆFFFF&&&Z4˜^¿~ê5;; >|ØÛÛ«Õjïß¿¿ÿ>loo£2 á™Z­¦Uðêíh677ÑXÔí¼yóßÅÞÞžVÁ©©©‘‘‘ƒƒƒ+ a»¾¨ÓÓÓÃÃÃ$„Aloo¿zõª×£ Îf{{; CÆØÐÐPs-ÔjµíímF›]__ßÞÞÖ¦uèáÇZtŸ?®½—WlG£ÍĽ½=BmG¢»¯áœë[.ÕÂ6~QñÌÎÎR² AÔ!ú–ƒƒƒÝÝݦo׆Ýäääö1###°·····©ï@:à× mWiGƒJ ÃÃÃ:¾ˆè¾ô5§û:“K¯¹:8 ² ‚h¤á™Eôccc ™&ÍñþýûÓV×îîîðð°6×Òv'ŠÜµÚÑ/ïܹséxÒפï=ééé½½½å°V«¥cœ$„A4òäÉ“^èk8yžÚu¡ë244ôàÁƒA_®~IBHqûÑÅ;½dÅp`­VÓÖ§æ]½«066†R´³³£=iqê&$„At(Š”RJ© ‚ hø©a¦irÎ-ËÊçó=ámBïµÖÀì쬭‰‰‰¡¡¡ƒƒƒ¯¾úêàà`hhè¯ÿú¯‡††0½¾þúë‡Þ¹só3ÓM]¥« •1†žUl5øÍ›7Í¿ù !$¢#ø¾ïº®çy\Ç1ʤã8Œ1Û¶…Ùl¶kƒ¼e¤×$¤™Åïß¿¯Õj¿ùÍoFFFvww1Nvÿþ}T¯û÷ïã ÷½½=™©ÍDä*í\…ññqlçàààùóçºñÞ}óPÖ(Am&Š¢¹¹9ÎùÅ*Ø@†¶m›¦Y©T:7¶AæÁƒ˜–¹···½½½··‡ª¦ó6‡††žÙÊä¤/‚h+$„A4I]Ü®½NÑt³ÇË I‰ABHD“Ô•Uâ+jo¥Ìœ# ¢­Ñ$u;kwÂ/zÔòIîh§º B‚ ú›v­Ç ˆs !$‚ Úk” âr¢(Êårmi'^µ,+ŸÏwm<íz· ² ‚èoÂÝ^ªÕªiš­·³¸¸ÈÓ›(¥„I’\·3ê>vì®A€,B‚ šÄ0Œ“á.°‘Žts,„=¬Çq]fPSবAhжmƘmÛkkk×jª¹ZJ»=² ‚h’:#Imuªÿ¨$.Û¢(Êd2z·ý²Z­...Þ½{7“Éܽ{·R©À±g2ß÷“$Y^^žœœÌd2™L¦T*a sssóóóxòîÝ»Õjµ¡GÏóLÓL;B³Ù¬R 7k=³_ìT7;33“$‰ïûŽã(¥2™ Þˆw¥ûŸŸŸ››ÃJ¥Òääd¥RIßE¤!!$¢Iê„Ð ;ÒGªÙ¶8'5¹\β,í¥”RZ–…'MÓüôéÓáá¡ã8¨R¸rãðð°P(ض†áǃ pG«i†Aš¦Y·ùñOO¿…|>Òxf¿ˆaaÆq†¡ëº…BÁqÎùáá!ضmšf†‡‡‡¶mãRÊ0 WWW“$q]×ó¼b±˜¾‹HCBHD“d³Ù“'{%êH0/%„–eµ·m!„. %¥Bø¾†¡¤aÅÛ¯Äã|>oš¦nÄu]T5´½N÷XçLNqq¿kkk¹\.›ÍÚ¶ÝÐlµZUJqÎÃ0ô}Ÿ1¦”ªV«ÙlÖóÇqšËÇ(FHDóض}’ál´Z’·pÊ›xÈ9o{ºc±XBT*Ã0â8.‹¸i\6›Å ðàtt0­gxïUºcŒÕíÅQéÖ.í÷4xRJ ¤Ž¤æóyιRjiié*ÃdH ‚h˲N” ¼ b øDÛZ·ßèÃ¥;j£0Ý~’$(Eçås¦%êêI4œsÛ¶uãzD±÷Kû= Ѝçyé6ÌÍáœ///?{öìŠ &ä%¢y²Ù¬ã8'¯…‚x¿=M{!TŽboŒ±………ö4[:uÆJ¡P0 C×–’R†¡Ý¿ ´,K_P­Vƒ ¸8ók`aaÁ0 tÀâÊår¶m_Üï™` h>ŸÇ¼S<¹ººŠ)?Q !\וRJ)uê %Žž Y„A´ÄÒÒ’”òÈéíý¶ Ò`æ_éWuUÛJ.—ÃdTíwu]×¶m4ƒ PJa(”1Æ“R:ŽcYÖÌÌŒaAH) …Â] ¯Ñq;ü†ô0€wf¿çµiY–ã8™L& CÏóôxÂ0”Rær¹™™Î9:EÇBA¾‹–Õ§ÉPA°±±±±±ÇOŸ>½Ö½Q™¦yâ$,æ@òæ÷õB ’|eÛvG={óóóBˆb±¨ÏDQ„–cìLÁH’…ß0Œ&òPªÕ*~V¦i¦ÕîÒ~ÏC§¡Aâ<Ö××···`||üÉ“'$„A´&„P©Tê²:ó£ 7£…ò,ž”94MóÝ»w×näj cÓqœ?v¨ ¢?iBŠÑŠÅb³Zó9;×h"Þ¡T°£¥—0~¦? !Aíaaa!‚“¥ÑÌü„º|}a¼ò°_êÅ „x÷î]G}Ïž={ýú5­±#(Y† ˆ¶‘Ïçq}÷I¼°¼ åMÈ‚ÅΨbÔ@mÚÖADqÝí7 ¢iH ‚h'ù|7I©s9VkP­AéòÛcžç‘•FtrÑf²Ùì‹/”R×Ú&Û0 ÇqÒÅ¢;EHDG( ?~ô}_J©”º`)7ç\aY¥þ=„ ˆR(p-¹^ë–¦¹uxÑ^H ‚èÙlöâX¢WPŒ ‚hÈ"$âr°¾«R*ŽãÓÎîƒ;âÖéÝÑ¢ H ‚¸˲:ºÉËu ÃPgßÜ !L’$Žã«ì#š$I†Ý  V«UÃ0s3nB‚ .Ë e³\ÊaÆÆ.,ÔvÃp7 7Çó¼R©´²²ÒÑî’$q§õ½¿±¬„-6‹'ñ çüõë×x¥ã8xÜlÛæœwú“ìO(FHÄ%à61£¦É,«TF›à|Öq  ¦j®ë¶ØÈÜÜœmÛRÊ™™,mˆšlÛŽãøðð0 à –——Û1dâEHÄ E‘”2m•J%!D.—‹¢Èó¼8Ž1™Ífq?q}A’$žç¡oÏ@¹\6M÷Ó1 k¦Á†a¸®›Ëå°öEÇzõd.—s'½#O¹\Æ^,ËÒnÒJ¥‚aZ]¯8Š"¥ÖGL_|Þ|ßOÛ ”ÍK!AƒH.—“R–Ëe|Y©T°¤íòò²`ÏótñwM¥R1Mõ) C]eWJiš&J‘ã8¥Rã†rX×u]T&Ïó ÃhØC`iiI»C•Rh†ÆqÌ9G#²T*9Žƒ8Ž3??ÃB eç:ŽƒÂ€õ§ …‚mÛa~üøñðð0ÇqôøÃ0 ‚àððÐ4M¼1M†§ý«ù|ÕèÌ~Ã0Â0Œã«ø Çq8çXM+·axxxhÛ6Þˆe„WWW“$q]×ó¼b±˜¾«¹Á„a(„ˆãX)%¥ÔžíÓoo ­@BHDǹؕל£¯u„žçá1>”}ßÇ笾 ÃÛ¯Äã|>oš¦nÄu]´½N÷x^©ú‹û][[ËårÙlÖ¶í†f«ÕªRŠs†¡ïûX3²Z­f³YÏóPùÇ9ÓùÜÄ`8çKKKÙl¶P(pÎõ`N¿q)eÇœó |ß7Mç¶m;Žƒ¥¯Î J)Ókú7uÞZb„Atœ 2MjµšŽu™b±(„¨T*†aÄq\,Ѽй¬xp::˜–¼÷*Ý1Æt~¦&Š"ÝÚ¥ýž¯QJi=@/.äóyÔ‰¥¥¥î ¦a`†ahƒŽ¿x^Ÿ¼ dsrsÑq„?ýéO§§§Îûí·###=,¯Mt:e’$øô?/…2ýP¾úšsnÛ¶nA'$ö~i¿§Aµð<ïôBL‡áœ///?{ö¬ ƒicìtæKƒZ*•ÎKmîCnrÑqòùüøÃßýîwß}÷>¹¾¾þË_þR»¼z:u’H¡P0 Cû뤔†ahsc–eé ªÕjÚ;̯€……\=©ÃZår9Û¶/î÷LПœÏç1ÕO®®®bÊOEB×u¥”RJz£½ÐíÌi,Ë ‚ \.ãËùùyÌ—IÇe}ßw]§A îq¼];‡¥”È-B!AÝàÙ³gårùþáFGGà»ï¾ûì³ÏÎ _u\.‡ŽYm•º®kÛ6ÊsJ©l6kš&cŒ1&¥tDz¬™™Ã0‚ R^àßôOâ5:n‡?Â~gö{^›˜H’ÉdÂ0ôßð™ÏÏÏ—J¥tÉÃÅÅÅr¹Œí㙹¹¹ô¾¸¸¸ººš¾¸Å7´ÅAƒŒišº<žRŠs†a6›M’Ka!Ù „–ea }—R* C,r»²²Ò«wáû¾eY-VP¸bÁ?×u_¼x‘$‰®‹Ä9w] bM«ÅÅEÏó„¶mc¹%!claaê?ó0 mÛÃpmm Ï(¥Çi(O(„Ðõ{±x¤a ®ërÎõï¥iH ‚\ ÃЂ …‚ã8RÊ¥¥%)¥išº6S¡PPJA€ë»ð¿B|Ÿ.Ét­:Dç]¬„çuq"] k0ù¾º”Äq|º˜Ñé G¨aé» á•J%¼,›Í¦iš¦~Eîf®ïÅO϶m†Ï< CÇqP±ë\.× „Œ±ô-J))åÂÂB6›EnqBBH€NmÙ(¥Êå2>»àÅ‹çÝX(ca6ÈÆââ¢RŠ1Ç1šAÙlvyyu °ö>âgffÂ04M$¬©«†ûB¡P©T,ËÂ*ÁXضX,b5yÇq\×MAJ©”Ò–®eY¸Ïx©T’R¢¤amaÝÈÊÊŠ¾ °„¯nÐu]=øóÀj ÅÚÚš¶ù0MÍn¼×²¬‹ÛÇ[´R’Ñm|ßïh­ð«ÓW¤RJÇ¢À¶m”¥b±(Žáœ£óóÿc,‚†ê¾Ú0J’IJ¬0 ã8v]W«Ëââ"ÊÛòò2Jo6›E?§Âr¹ì8ŽÖKÛ¶…(*«««¶m‹Eô¾~ýúôÀÂ0Äî¢(bŒ ! Ã@ߣCÃÈ ‚8ŽÞ/‘—éãøb/kÇh#ŽãhñSJihûзÄq,¥ÔÎUÃ0.ÕæK!!$bpiˆö¡„"´¶¶æº.zD¥”¨F ‚q¹\ŽsŽRjš&ªT©Tâœk-A•ì…§P(|úô /ðÌ 0M3­sHµZ ‚@'Ëœi¼žŽqj„ç9ðz¾mZ>Aq„aø¬wG›)†Ùμ«R© b¥O&IÁÊÊÊ»wï0]Åu]L¡Ô×ècŒ#êósss˜6bÛö‹/LÓD‡!êªÂÊÊŠmÛœó‹Å)Ý,ªu¥RA3÷ãÇkkkW7ò®˜VŠCjXÕຮvfžÇ„gr…¾² ‚\Â0ÔKÜP«0×ÃqÎ9c Ÿþ˜À¢¥1}¸®ë8Nƒ)ƒË*\×ÕÑ>lͶmÌÁI’Äu]lS=f³ÙÕÕÕÓ)*¦iV*•b±ˆé©èGµmÛó<­¦årù´KSJ)„Èçóår£wžçiu¬V«z —rE£fÛv(Šè[¾ôÞóü¢ãû¾ÎžmB‚ ̽ÔhÃ00 …B¶m»®‹9Ÿz¥àé»t&Kš|>¯×Ò1Æôâ<‰žÓ8±e4kLÓD1ÖþÉ|>.Öb±ˆ·ã•Z …‚W=68o1N©}³¹\N¹¬pœr‰É&º»3ý¢ÍfMÓ¬V« ªsÚ*]YYaŒi+Ð4M½š‚1v¦ š$I:í6í¶5Mó¼!@MÛ‘šL‹k0 ‚¸llllllàñÓ§O{;¢- ÙÚÆ•þ•JÅó¼óBô„ÉÉI)åu„ëëëÛÛÛ0>>þäÉŠAW¢X,ÆqŒñË~ R©¤×Ú7 ¹F ‚ n'WLo¹éu=×¶Þ !AÄí¤ ]r¹\Ÿ¨ èÕ„-B®Q‚ b !!$‚ B‚ b !!$‚ B‚ b !!$‚ Z>AD#ëëë½AtZ­–~IBHD#¸ûA £' Þ:IDATä%`hh¨×C ˆnsçÎ ‹ dzzzooogg§×!ˆî1;; T}‚ ‚pþ?ªðzÚu>ˆIEND®B`‚pyzo-4.12.3/doc/yoton/index.rst000066400000000000000000000013501421373005400163560ustar00rootroot00000000000000.. _yoton: Yoton - Inter process communication =================================== .. insertdocs start:: yoton.__doc__ Yoton is a Python package that provides a simple interface to communicate between two or more processes. Yoton is independent of any other component of IEP and has *no dependencies* except Python itself. It runs on any Python version from 2.4. Yoton is ... * lightweight * written in pure Python * without dependencies (except Python) * available on Python version >= 2.4, including Python 3 * cross-platform * pretty fast .. insertdocs end:: ---- .. toctree:: :maxdepth: 1 overview examples context connection channels events clientserver internals experiments pyzo-4.12.3/doc/yoton/internals.rst000066400000000000000000000212161421373005400172510ustar00rootroot00000000000000Internals (if you want to know more) ==================================== In yoton, the :ref:`yoton.Context` is the object that represents the a node in the network. The context only handles packages. It gets packages from all its associated channels and from the other nodes in the network. It routes packages to the other nodes, and deposits packages in channel instances if the package slot matches the channel slot. The :ref:`yoton.Connection` represents a one-to-one connection between two contexts. It handles the low level messaging. It breaks packages into pieces and tries to send them as efficiently as possible. It also receives bytes from the other end, and reconstructs it into packages, which are then given to the context to handle (i.e. route). For the :ref:`yoton.TcpConnection` this is all done by dedicated io threads. Packages -------- Packages are simply a bunch of bytes (the encoded message), wrapped in a header. Packages are directed at a certain slot. They also have a source id, source sequence number, and optionally a destination id and destination sequence number (so that packages can be replies to other packages). When a package is received, it also gets assigned a receiving sequence number (in order to synchronize channels). Levels of communication ----------------------- Two :ref:`yoton.Connection` instances also communicate directly with each-other. They do this during the handshaking procedure, obviously, but also during operation they send each-other heart beat messages to detect time-outs. When the connection is closed in a nice way, thet also send a close message to the other end. A package addressed directly at the Connection has no body (consists only of a header). Two contexts can also communicate. They do this to notify each-other of new formed connections, closing of contexts, etc. A package directed at a context uses a special slot. Channel instances can also communicate. Well, that's what yoton is all about... A sending channels packs a message in a package and gives it to the contect. All other contexts will receive the package and deposit it in the channel's queue if the slots match. On recv'ing, the message is extracted/decoded from the package. Persistent connection --------------------- Two :ref:`yoton.TcpConnection` instances are connected using a single BSD-socket (TCP/IP). The socket operates in persistent mode; once the connection is established, the socket remains open until the connection is closed indefinetely. Would we adopt a req/rep approach (setting up the connection for each request), failure could mean either that the kernel is running extension code, or that the connection is broken. It's not possible to differentiate between the two. On initialization of the connection, TcpConnection's perform a small handshake procedue to establish that both are a :ref:`yoton.TcpConnection` objects, and to exchange the context id's. There is one thread dedicated to receive data from the socket, and subsequently have the context route the packages. Another dedicated thread gets data from a queue (of the Connection) and sends the packages over the sockets. The sockets and queues are blocking, but on a timeout (the receiving thread uses a select() call for this). This makes it easy to periodically send heartbeat packages if necessary, and their absence can be detected. In a previous design, there was a single io thread per context that did all the work. It would run through a generator function owned by the connections to send/receive data. This required all queueing and io to be non-blocking. After changing the design the code got *much* smaller, cleaner and easier to read, and is probably more robust. We could also get rid of several classes to buffer data, because with blocking threads the data can sinply be buffered at the queues and sockets. Message framing --------------- To differentiate between messages, there are two common approaches. One can add a small header to each message that indicates how long the message is. Or one can delimit the messages with a specific character. In earlier designs, yoton used the second approach and was limited to sending text which was encoded using utf-8. This meant the bytes 0xff and 0xfe could be used for delimiting. The first approach is more complex and requires more per-message processing. However, because the message size is know, messages can be received with much less copying of data. This significantly improved the performance for larger messages (with the delimiting approach we would get memory errors when Yoton tried to encode/decode the message to/from utf-8). The current design is such that as little data has to be copied (particularly for larger messages). Heart beat signals ------------------ If there is no data to send for a while, small heart beat messages are produced, so that connection problems can be easily detected. For TCP one needs to send data in order to detect connection problem (because no ACK's will be received). However, the TCP timeout is in the order of minutes and is different between OS's. Therefore we check when the last time was that data was received, enabling us to detect connection problems in the order of a few seconds. Note that when two Context's are connected using 'localhost', there is no way for the connection to be lost, as several network layers are bypassed. In such a situation, we can therefore be sure that the reason for the timeout lies not in the connection, but is caused for example by the process running extension code. When the process runs extension code ------------------------------------ With respect to client-kernel comminication: the kernel will not be able to send any data (neither heart beat signals) if its running extension code. In such a case, the client can still send messages; this data is transported by TCP and ends up in the network buffer until the kernel returns from extension code and starts receiving messages again. For this reason, in a client-kernel configuration, the kernel should always be connected to another process via 'localhost', and should use a proxi/broker to connect with clients on another box. In that case, the client can detect that the kernel is running extension code because the kernel stopped sending data (incl heartbeat messages). Congestion prevention --------------------- In any communication system, there is a risk of congestion: one end sends data faster than the other end can process it. This data can be buffered, but as the buffer fills, it consumes more memory. Yoton uses two approaches to solve this problem. The first (and most common) solution is that all queues have a maximum size. When this size is reached and a new messages is added, messages will be discarted. The user can choose whether the oldest or the newest message should be discarted. The second approach is only possible for the PUB/SUB channels. If the :ref:`yoton.SubChannel` is put in sync-mode (using the set_sync_mode method), the :ref:`yoton.SubChannel` will send a message to the corresponding PubChannels if its queue reaches a certain size. This size is relatively small (e.g. 10-100). When a :ref:`yoton.PubChannel` receives the message, its send method will block (for at most 1 second). The SubChannel sends a second message when the queue is below a certain level again. Note that it takes a while for these control messages to be received by the PubChannel. Therefore the actual queue size can easily grow larger than the threshold. In this situation, the first approach (discarting messages is still used as a failsave, but messages are very unlikely to be discarted since the threshold is much much smaller than the maximum queue size. An important aspect for the second approach is that the queue that buffers packages before they are send over the socket remains small. If this is not the case, the PubChannel is able to spam the queue with gigantic amounts of messages before the SubChannel even receives the first message. To keep this queue small, much like the queue of the SubChannel, it has a certain threshold. If this threshold is reached, subsequent pushes on the queue will block for maximally 1 second. The threshold is in the same order of magnitude as the queue for the SubChannel. References ---------- * http://www.unixguide.net/network/socketfaq/2.9.shtml * http://nitoprograms.blogspot.com/2009/04/message-framing.html * http://nitoprograms.blogspot.com/2009/05/detection-of-halfopen-dropped.html pyzo-4.12.3/doc/yoton/overview.rst000066400000000000000000000045741421373005400171300ustar00rootroot00000000000000Overview ======== How it works: * Multiple contexts can be connected over TCP/IP; the interconnected contexts together form a network. * Messages are send between channel objects (channels are attached to a context). * Channels are bound to a slot (a string name); a message send from a channel with slot X is received by all channels with slot X. * Yoton may be used procedurally, or in an event-driven fashion. Messaging patterns: * Yoton supports the pub/sub pattern, in an N to M configuration. * Yoton supports the req/rep pattern, allowing multiple requesters and repliers to exist in the same network. * Yoton supports exchanging state information. Some features: * Yoton is optimized to handle large messages by reducing data copying. * Yoton has a simple event system that makes asynchronous messaging and event-driven programming easy. * Yoton also has functionality for basic client-server (telnet-like) communication. A brief overview of the most common classes --------------------------------------------- * :ref:`yoton.Context` * Represents a node in the network. * Has a bind() and connect() method to connect to other nodes. * :ref:`yoton.Connection` * Represents a connection to another context. * Wraps a single BSD-socket, using a persistent connection. * Has signals that the user can connect to to be notified of timeouts and closing of the connection. * Channel classes (i.e. :ref:`yoton.BaseChannel` ) * Channels are associated with a context, and send/receive at a particular slot (a string name). * Messages send at a particular slot can only be received by channels associated with the same slot. Example -------- **One end** .. code-block:: python import yoton # Create one context and a pub channel ct1 = yoton.Context(verbose=verbosity) pub = yoton.PubChannel(ct1, 'chat') # Connect ct1.bind('publichost:test') # Send pub.send('hello world') **Other end** .. code-block:: python import yoton # Create another context and a sub channel ct2 = yoton.Context(verbose=verbosity) sub = yoton.SubChannel(ct2, 'chat') # Connect ct2.connect('publichost:test') # Receive print(sub.recv()) pyzo-4.12.3/download_count.py000066400000000000000000000014361421373005400161760ustar00rootroot00000000000000""" Use Github API to get download counts of the Pyzo binaries. """ ## Download the data import requests api_url = "https://api.github.com" pyzo_api_url = api_url + "/repos/pyzo/pyzo" response = requests.get(pyzo_api_url + "/releases") assert response.status_code == 200 d = response.json() ## Process and display alltime_count = 0 for release in reversed(d): print("{} @ {}".format(release["name"], release["created_at"])) total_count = 0 for asset in release["assets"]: count = asset["download_count"] total_count += count print(" {}: {}".format(asset["name"], count)) print(" Total: {}\n".format(total_count)) alltime_count += total_count print(" Alltime download count: {}".format(alltime_count)) pyzo-4.12.3/freeze/000077500000000000000000000000001421373005400140615ustar00rootroot00000000000000pyzo-4.12.3/freeze/_settings/000077500000000000000000000000001421373005400160605ustar00rootroot00000000000000pyzo-4.12.3/freeze/_settings/README.txt000066400000000000000000000013361421373005400175610ustar00rootroot00000000000000Portable settings folder ------------------------ This folder can be used to let the application and the libaries that it uses to store configuration files local to the executable. One use case is having this app on a USB drive that you use on different computers. This functionality is enabled if the folder is named "settings" and is writable by the application (i.e. should not be in "c:\program files\..." or "/usr/..."). This functionality can be deactivated by renaming it (e.g. prepending an underscore). To reset config files, clear the contents of the "pyzo" sub-folder (but do not remove the folder itself). Note that some libraries may ignore this functionality and use the normal system configuration directory instead. pyzo-4.12.3/freeze/boot.py000066400000000000000000000062171421373005400154040ustar00rootroot00000000000000import os import sys import time import platform import traceback import importlib import dialite TESTING = "--test" in sys.argv # %% Utils def write(*msg): print(*msg) if os.getenv("PYZO_LOG", ""): with open(os.getenv("PYZO_LOG"), "at") as f: f.write(" ".join(msg) + "\n") class SourceImporter: def __init__(self, dir): self.module_names = set() for name in os.listdir(dir): fullname = os.path.join(dir, name) if name.endswith(".py"): self.module_names.add(name) elif os.path.isdir(fullname): if os.path.isfile(os.path.join(fullname, "__init__.py")): self.module_names.add(name) def find_spec(self, fullname, path, target=None): if fullname.split(".")[0] in self.module_names: return sys.meta_path[1].find_spec(fullname, path, target) else: return None def error_handler(cls, err, tb, action=""): title = "Application aborted" if action: title += f" while {action}" msg = f"{cls.__name__}: {err}" # Try writing traceback to stderr try: tb_info = "".join(traceback.format_list(traceback.extract_tb(tb))) write(f"{title}\n{msg}\n{tb_info}") except Exception: pass # Use dialite to show error in modal window if not TESTING: dialite.fail(title, msg) class BootAction: def __init__(self, action): self._action = action try: write(action) except Exception: pass def __enter__(self): return self def __exit__(self, cls, err, tb): if err: error_handler(cls, err, tb, self._action) sys.exit(1) # %% Boot if TESTING: dt = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) write(f"Testing Pyzo binary ({dt} UTC)") write(platform.platform()) write(sys.version) with BootAction("Setting up source importer"): if sys._MEIPASS.strip("/").endswith(".app/Contents/MacOS"): # Note: it looks like the source dir IS available just after we froze it, # so the test_frozen run passes. However, the packaged versions only # have the source dir in Contents/Resources. # Not sure why, maybe related to symlinks? source_dir = os.path.join(sys._MEIPASS, "..", "Resources", "source") else: source_dir = os.path.join(sys._MEIPASS, "source") source_dir = os.path.abspath(source_dir) if TESTING: write(f"Source dir: {source_dir} {os.path.isdir(source_dir)}") sys.path.insert(0, source_dir) sys.meta_path.insert(0, SourceImporter(source_dir)) with BootAction("Applying pre-import Qt tweaks"): importlib.import_module("pyzo.pre_qt_import") with BootAction("Importing Qt"): QtCore = importlib.import_module("pyzo.qt." + "QtCore") QtGui = importlib.import_module("pyzo.qt." + "QtGui") QtWidgets = importlib.import_module("pyzo.qt." + "QtWidgets") with BootAction("Running Pyzo"): pyzo = importlib.import_module("pyzo") write(f"Pyzo {pyzo.__version__}") pyzo.start() write("Stopped") # may be written to log twice because Pyzo defers stdout pyzo-4.12.3/freeze/frozen_libs.txt000066400000000000000000000000221421373005400171300ustar00rootroot00000000000000packaging dialite pyzo-4.12.3/freeze/installerBuilderScript.iss000066400000000000000000000041041421373005400212710ustar00rootroot00000000000000; Inno setup file to create a windows installer for Pyzo [Setup] AppName = pyzo AppId = pyzo AppVerName = pyzo version X.Y.Z AppPublisher = The Pyzo team AppPublisherURL = https://pyzo.org ArchitecturesInstallIn64BitMode = x64 DefaultDirName = {pf}\pyzo DefaultGroupName = pyzo SourceDir = dist/pyzo OutputDir = .. OutputBaseFilename = pyzo-X.Y.Z-win64 WizardImageBackColor=$d28b26 WizardImageStretch=no WizardImageFile=source\pyzo\resources\appicons\pyzologo128.bmp WizardSmallImageFile=source\pyzo\resources\appicons\pyzologo48.bmp ; When set to none, Setup will only run with administrative privileges if it ; was started by a member of the Administrators group. ; On pre vista: will *not* run with administrative privileges PrivilegesRequired = none ; If True, Setup will refresh env/associations in explorer after install ChangesEnvironment = no ChangesAssociations = yes DisableProgramGroupPage = yes AllowNoIcons = yes Compression = lzma SolidCompression = yes [Files] Source: "*.*"; DestDir: "{app}"; Flags: recursesubdirs; [Tasks] Name: icon; Description: "Desktop Icon" Name: startmenu; Description: "Create shortcut in start menu" Name: mypAssociation; Description: "Associate "".py"" extension (need admin privileges)" [Icons] Name: "{commondesktop}\pyzo"; Filename: "{app}\pyzo.exe"; IconFilename: "{app}\pyzo.exe"; Workingdir: "{app}"; Tasks: icon; Name: "{group}\Pyzo"; Filename: "{app}\pyzo.exe"; Tasks: startmenu; [Registry] Root: HKCR; Subkey: ".py"; ValueType: string; ValueName: ""; ValueData: "PYZO_python"; Flags: uninsdeletevalue; Tasks: mypAssociation Root: HKCR; Subkey: "PYZO_python"; ValueType: string; ValueName: ""; ValueData: "Interactive Editor for Python"; Flags: uninsdeletekey; Tasks: mypAssociation Root: HKCR; Subkey: "PYZO_python\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\source\pyzo\resources\appicons\py.ico"; Tasks: mypAssociation Root: HKCR; Subkey: "PYZO_python\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pyzo.exe"" ""%1"""; Tasks: mypAssociation pyzo-4.12.3/freeze/pyzo_freeze.py000066400000000000000000000163341421373005400170030ustar00rootroot00000000000000#!/usr/bin/env python3 """ PyInstaller script """ import os import sys import shutil from distutils.sysconfig import get_python_lib # Definitions name = "pyzo" qt_api = os.getenv("PYZO_QT_API", "PySide6") this_dir = os.path.abspath(os.path.dirname(__file__)) + "/" exe_script = this_dir + "boot.py" dist_dir = this_dir + "dist/" icon_file = os.path.abspath( os.path.join(this_dir, "..", "pyzo", "resources", "appicons", "pyzologo.ico") ) # Run the script from the freeze dir os.chdir(this_dir) ## Utils def get_pyzo_version(): """Get Pyzo's version.""" filename = os.path.join(dist_dir, "..", "..", "pyzo", "__init__.py") NS = {} for line in open(filename, "rb").read().decode().splitlines(): if line.startswith("__version__"): exec(line.strip(), NS, NS) if not NS.get("__version__", 0): raise RuntimeError("Could not find __version__") return NS["__version__"] def _find_modules(root, extensions, skip, parent=""): """Yield all modules and packages and their submodules and subpackages found at `root`. Nested folders that do _not_ contain an __init__.py file are assumed to also be on sys.path. `extensions` should be a set of allowed file extensions (without the .). `skip` should be a set of file or folder names to skip. The `parent` argument is for internal use only. """ for filename in os.listdir(root): if filename.startswith("_"): continue if filename in skip: continue path = os.path.join(root, filename) if os.path.isdir(path): if filename.isidentifier() and os.path.exists( os.path.join(path, "__init__.py") ): if parent: packageName = parent + "." + filename else: packageName = filename for module in _find_modules(path, extensions, skip, packageName): yield module elif not parent: for module in _find_modules(path, extensions, skip, ""): yield module elif "." in filename: moduleName, ext = filename.split(".", 1) if ext in extensions and moduleName.isidentifier(): if parent and moduleName == "__init__": yield parent elif parent: yield parent + "." + moduleName else: yield moduleName def get_stdlib_modules(): """Return a list of all module names that are part of the Python Standard Library.""" stdlib_path = get_python_lib(standard_lib=True) extensions = {"py", "so", "dll", "pyd"} skip = { "site-packages", # not stdlib "idlelib", # irrelevant for us "lib2to3", # irrelevant for us "test", # irrelevant for us "turtledemo", # irrelevant for us "tkinter", # not needed "tk", "tcl", "unittest", # not needed "distutils", # not needed - also must be avoided* } # On distutils: one distutils submodule causes IPython to be included, # and with that, a sloth of libs like matplotlib and multiple Qt libs. return list(_find_modules(stdlib_path, extensions, skip)) # All known Qt toolkits, excluded the one we will use other_qt_kits = {"PySide", "PySide2", "PySide6", "PyQt4", "PyQt5", "PyQt6"} other_qt_kits.remove(qt_api) ## Includes and excludes # We don't really make use of PySides detection mechanism, but instead specify # explicitly what our binaries need. We include almost the whole stdlib, and # a small subset of Qt. This way, future versions of Pyzo can work in the same # container, and we still have a relatively small footprint. includes = [] excludes = [] # Include almost all stdlib modules includes += get_stdlib_modules() # Include a few 3d party packages, e.g. deps of qtpy includes += open(os.path.join(this_dir, "frozen_libs.txt"), "rt").read().split() # Include a subset of Qt modules qt_includes = [ "QtCore", # Standard "QtGui", # Standard "QtWidgets", # Standard "QtHelp", # For docs "QtPrintSupport", # For PDF export "QtOpenGLWidgets", # Because qtpy imports QOpenGLQWidget into QtWidgets ] includes += [f"{qt_api}.{sub}" for sub in qt_includes] # There is a tendency to include tk modules excludes += ["tkinter", "tk", "tcl"] # Also exclude other Qt toolkits just to be sure excludes += list(other_qt_kits) # PySide tends to include *all* qt modules, resulting in a 300MB or so folder, # so we mark them as unwanted, getting us at around 120MB. qt_excludes = [ "QtNetwork", "QtOpenGL", "QtXml", "QtTest", "QtSql", "QtSvg", "QtBluetooth", "QtDBus", "QtDesigner", "QtLocation", "QtPositioning", "QtMultimedia", "QtMultimediaWidgets", "QtQml", "QtQuick", "QtSql", "QtSvg", "QtTest", "QtWebKit", "QtXml", "QtXmlPatterns", "QtDeclarative", "QtScript", "QtScriptTools", "QtUiTools", "QtQuickWidgets", "QtSensors", "QtSerialPort", "QtWebChannel", "QtWebKitWidgets", "QtWebSockets", ] excludes += [f"{qt_api}.{sub}" for sub in qt_excludes] ## Data # Specify additional "data" that we want to copy over. # Better to let PyInstaller copy it rather than copying it after the fact. data = {} data["../pyzo"] = "source/pyzo" data["_settings"] = "_settings" # Good to first clean up count = 0 for data_dir in data.keys(): data_dir = os.path.abspath(os.path.join(this_dir, data_dir)) if os.path.isdir(data_dir): for root, dirnames, filenames in os.walk(data_dir): for dirname in dirnames: if dirname == "__pycache__": shutil.rmtree(os.path.join(root, dirname)) count += 1 print(f"removed {count} __pycache__ dirs") ## Create spec import PyInstaller.__main__ import PyInstaller.utils.cliutils.makespec entrypoint_pyinstaller = PyInstaller.__main__.run entrypoint_makespec = PyInstaller.utils.cliutils.makespec.run # Clear first if os.path.isdir(dist_dir): shutil.rmtree(dist_dir) os.makedirs(dist_dir) # Build command cmd = ["--onedir", "--name", name] for m in includes: cmd.extend(["--hidden-import", m]) for m in excludes: cmd.extend(["--exclude-module", m]) for src, dst in data.items(): cmd.extend(["--add-data", f"{src}{os.pathsep}{dst}"]) if sys.platform.startswith("win"): cmd.append("--windowed") # not a console app cmd.extend(["--icon", icon_file]) elif sys.platform.startswith("darwin"): cmd.append("--windowed") # makes a .app bundle cmd.extend(["--icon", icon_file[:-3] + "icns"]) cmd.extend(["--osx-bundle-identifier", "org.pyzo.app"]) cmd.append(exe_script) sys.argv[1:] = cmd entrypoint_makespec() ## Fix spec specfilename = os.path.join(this_dir, f"{name}.spec") with open(specfilename, "rb") as f: spec = f.read().decode() if sys.platform.startswith("darwin"): i = spec.find("bundle_identifier=") assert i > 0 spec = spec[:i] + f"version='{get_pyzo_version()}',\n " + spec[i:] with open(specfilename, "wb") as f: f.write(spec.encode()) ## Freeze entrypoint_pyinstaller(["--clean", "--distpath", dist_dir, specfilename]) # try: # os.remove(specfilename) # except Exception: # pass pyzo-4.12.3/freeze/pyzo_package.py000066400000000000000000000067431421373005400171210ustar00rootroot00000000000000import os import re import sys import zipfile import tarfile import platform import subprocess this_dir = os.path.abspath(os.path.dirname(__file__)) + "/" dist_dir = this_dir + "dist/" with open(os.path.join(this_dir, "..", "pyzo", "__init__.py")) as fh: __version__ = re.search(r"__version__ = \"(.*?)\"", fh.read()).group(1) bitness = "32" if sys.maxsize <= 2**32 else "64" osname = os.getenv("PYZO_OSNAME", "") if osname: pass elif sys.platform.startswith("linux"): osname = "linux_" + platform.machine() elif sys.platform.startswith("win"): osname = f"win{bitness}" elif sys.platform.startswith("darwin"): osname = "macos_" + platform.machine() else: raise RuntimeError("Unknown platform") basename = f"pyzo-{__version__}-{osname}" ## Utils def package_tar_gz(): print("Packing up into tar.gz ...") oridir = os.getcwd() os.chdir(dist_dir) try: tf = tarfile.open(basename + ".tar.gz", "w|gz") with tf: tf.add("pyzo", arcname="pyzo") finally: os.chdir(oridir) def package_zip(): print("Packing up into zip ...") dirname1 = "pyzo.app" if sys.platform.startswith("darwin") else "pyzo" dirname2 = dirname1 zf = zipfile.ZipFile( os.path.join(dist_dir, basename + ".zip"), "w", compression=zipfile.ZIP_DEFLATED ) with zf: for root, dirs, files in os.walk(os.path.join(dist_dir, dirname1)): for fname in files: filename1 = os.path.join(root, fname) filename2 = os.path.relpath(filename1, os.path.join(dist_dir, dirname1)) filename2 = os.path.join(dirname2, filename2) zf.write(filename1, filename2) def package_inno_installer(): print("Packing up into exe installer (via Inno Setup) ...") exes = [ r"c:\Program Files (x86)\Inno Setup 5\ISCC.exe", r"c:\Program Files (x86)\Inno Setup 6\ISCC.exe", ] for exe in exes: if os.path.isfile(exe): break else: raise RuntimeError("Could not find Inno Setup exe") # Set inno file innoFile1 = os.path.join(this_dir, "installerBuilderScript.iss") innoFile2 = os.path.join(this_dir, "installerBuilderScript2.iss") text = open(innoFile1, "rb").read().decode() text = text.replace("X.Y.Z", __version__).replace("64", bitness) if bitness == "32": text = text.replace("ArchitecturesInstallIn64BitMode = x64", "") with open(innoFile2, "wb") as f: f.write(text.encode()) try: subprocess.check_call([exe, "/Qp", innoFile2], cwd=dist_dir) finally: os.remove(innoFile2) def package_dmg(): print("Packing up into DMG ...") app_dir = "pyzo.app" dmg_file = basename + ".dmg" cmd = ["hdiutil", "create"] cmd.extend(["-srcfolder", app_dir]) cmd.extend(["-volname", "pyzo"]) cmd.extend(["-format", "UDZO"]) cmd.extend(["-fs", "HFSX"]) # cmd.extend(["-uid", "99"]) # who ever is mounting # cmd.extend(["-gid", "99"]) # who ever is mounting cmd.extend(["-mode", "555"]) # readonly cmd.append("-noscrub") cmd.append(dmg_file) subprocess.check_call(cmd, cwd=dist_dir) ## Build if sys.platform.startswith("linux"): package_zip() package_tar_gz() if sys.platform.startswith("win"): package_zip() if bitness == "64": # Note: for some reason the 32bit installer is broken. Ah well, the zip works. package_inno_installer() if sys.platform.startswith("darwin"): package_zip() package_dmg() pyzo-4.12.3/freeze/pyzo_test_frozen.py000066400000000000000000000012331421373005400200550ustar00rootroot00000000000000import os import sys import subprocess this_dir = os.path.abspath(os.path.dirname(__file__)) dist_dir = os.path.join(this_dir, "dist") # Get what executable to run if sys.platform.startswith("win"): exe = os.path.join(dist_dir, "pyzo", "pyzo.exe") elif sys.platform.startswith("darwin"): exe = os.path.join(dist_dir, "pyzo.app", "Contents", "MacOS", "pyzo") else: exe = os.path.join(dist_dir, "pyzo", "pyzo") # Prepare log file logfilename = os.path.abspath(os.path.join(__file__, "..", "..", "log.txt")) with open(logfilename, "wt") as f: f.write("") # Run Pyzo os.environ["PYZO_LOG"] = logfilename subprocess.run([exe, "--test"], cwd=this_dir) pyzo-4.12.3/pyzo.appdata.xml000066400000000000000000000033141421373005400157360ustar00rootroot00000000000000 pyzo.desktop CC0-1.0 BSD-2-Clause Pyzo pyzo A Python IDE aimed at simplicity and interactivity

Pyzo is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency.

It consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways. Some example tools are source structure, project manager, interactive help, workspace ...

Pyzo is written in (pure) Python 3 and uses the Qt GUI toolkit. Binaries are provided for all major operating system. After installing Pyzo, it can be used to execute code on any Python version available on your system (Python 2.4 - 3.x, including Pypy).

http://www.pyzo.org/_static/screenshots/screen-default-16-9.png http://www.pyzo.org/_static/screenshots/screen00_win.png http://pyzo.org https://github.com/pyzo/pyzo/wiki/Translations almar.klein@gmail.com
pyzo-4.12.3/pyzo.pro000066400000000000000000000026561421373005400143350ustar00rootroot00000000000000# FORMS = SOURCES = pyzo/util/pyzowizard.py SOURCES += pyzo/util/bootstrapconda.py SOURCES += pyzo/core/about.py SOURCES += pyzo/core/editorTabs.py SOURCES += pyzo/core/main.py SOURCES += pyzo/core/menu.py SOURCES += pyzo/core/shellInfoDialog.py SOURCES += pyzo/core/shellStack.py SOURCES += pyzo/core/splash.py SOURCES += pyzo/tools/pyzoFileBrowser/browser.py SOURCES += pyzo/tools/pyzoFileBrowser/importwizard.py SOURCES += pyzo/tools/pyzoFileBrowser/tree.py SOURCES += pyzo/tools/pyzoFileBrowser/__init__.py SOURCES += pyzo/tools/pyzoHistoryViewer.py SOURCES += pyzo/tools/pyzoSourceStructure.py SOURCES += pyzo/tools/pyzoWorkspace.py SOURCES += pyzo/tools/pyzoWebBrowser.py SOURCES += pyzo/tools/pyzoInteractiveHelp.py # Languages to translate to TRANSLATIONS = pyzo/resources/translations/pyzo_nl_NL.tr TRANSLATIONS += pyzo/resources/translations/pyzo_de_DE.tr TRANSLATIONS += pyzo/resources/translations/pyzo_zh_CN.tr TRANSLATIONS += pyzo/resources/translations/pyzo_zh_TW.tr TRANSLATIONS += pyzo/resources/translations/pyzo_es_ES.tr TRANSLATIONS += pyzo/resources/translations/pyzo_ca_ES.tr TRANSLATIONS += pyzo/resources/translations/pyzo_fr_FR.tr TRANSLATIONS += pyzo/resources/translations/pyzo_sk_SK.tr TRANSLATIONS += pyzo/resources/translations/pyzo_ru_RU.tr TRANSLATIONS += pyzo/resources/translations/pyzo_pt_PT.tr TRANSLATIONS += pyzo/resources/translations/pyzo_pt_BR.tr TRANSLATIONS += pyzo/resources/translations/pyzo_pl_PL.tr pyzo-4.12.3/pyzo/000077500000000000000000000000001421373005400136025ustar00rootroot00000000000000pyzo-4.12.3/pyzo/__init__.py000066400000000000000000000034211421373005400157130ustar00rootroot00000000000000#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Pyzo is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency. Pyzo is written in Python 3 and Qt. Binaries are available for Windows, Linux, and Mac. For questions, there is a discussion group. **Two components + tools** Pyzo consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways. Some example tools are source structure, project manager, interactive help, and workspace. **Some key features** * Powerful *introspection* (autocompletion, calltips, interactive help) * Allows various ways to *run code interactively* or to run a file as a script. * The shells runs in a *subprocess* and can therefore be interrupted or killed. * *Multiple shells* can be used at the same time, and can be of different Python versions (from v2.4 to 3.x, including pypy) * Support for using several *GUI toolkits* interactively: asyncio, PySide, PySide2, PyQt4, PyQt5, wx, fltk, GTK, Tk, Tornado. * Run IPython shell or native shell. * *Full Unicode support* in both editor and shell. * Various handy *tools*, plus the ability to make your own. * Matlab-style *cell notation* to mark code sections (by starting a line with '##'). """ # Set version number __version__ = "4.12.3" import sys # Check Python version if sys.version_info < (3, 6): raise RuntimeError("Pyzo requires Python 3.6+ to run.") def start(): """Start Pyzo.""" from ._start import start start() pyzo-4.12.3/pyzo/__main__.py000077500000000000000000000017661421373005400157110ustar00rootroot00000000000000#!/usr/bin/env python3 """ Pyzo __main__ module This module enables starting Pyzo via either "python3 -m pyzo" or "python3 path/to/pyzo". """ import os import sys import time import platform # Very probably run as a script, either the package or the __main__ # directly. Add parent directory to sys.path and try again. this_dir = os.path.abspath(os.path.dirname(__file__)) sys.path.insert(0, os.path.split(this_dir)[0]) import pyzo TESTING = "--test" in sys.argv def write(*msg): print(*msg) if os.getenv("PYZO_LOG", ""): with open(os.getenv("PYZO_LOG"), "at") as f: f.write(" ".join(msg) + "\n") def main(): if TESTING: dt = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) write(f"Testing Pyzo source ({dt} UTC)") write(platform.platform()) write(sys.version) write(f"Pyzo {pyzo.__version__}") pyzo.start() write("Stopped") # may be written to log twice because Pyzo defers stdout if __name__ == "__main__": main() pyzo-4.12.3/pyzo/_start.py000066400000000000000000000240001421373005400154440ustar00rootroot00000000000000import os import sys import ctypes import locale import traceback import pyzo # Import this module that applies some tweaks that need to be applied # before import qt. This is a separate module, so that the frozen app # can import before checking the qt import. from . import pre_qt_import # noqa: F401 # Import yoton as an absolute package from pyzo import yotonloader # noqa from pyzo.util import paths # If there already is an instance of Pyzo, and the user is trying an # Pyzo command, we should send the command to the other process and quit. # We do this here, were we have not yet loaded Qt, so we are very light. from pyzo.core import commandline if commandline.is_our_server_running(): print("Started our command server") else: # Handle command line args now res = commandline.handle_cmd_args() if res: print(res) sys.exit() else: # No args, proceed with starting up print("Our command server is *not* running") from pyzo.util import zon as ssdf # zon is ssdf-light from pyzo.qt import QtCore, QtGui, QtWidgets # Enable high-res displays try: ctypes.windll.shcore.SetProcessDpiAwareness(1) ctypes.windll.shcore.SetProcessDpiAwareness(2) except Exception: pass # fail on non-windows try: QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) except Exception: pass # fail on older Qt's # Import language/translation tools from pyzo.util._locale import translate, setLanguage # noqa pyzo.translate = translate pyzo.setLanguage = setLanguage # Set environ to let kernel know some stats about us os.environ["PYZO_PREFIX"] = sys.prefix _is_pyqt4 = hasattr(QtCore, "PYQT_VERSION_STR") os.environ["PYZO_QTLIB"] = "PyQt4" if _is_pyqt4 else "PySide" class MyApp(QtWidgets.QApplication): """So we an open .py files on OSX. OSX is smart enough to call this on the existing process. """ def event(self, event): if isinstance(event, QtGui.QFileOpenEvent): fname = str(event.file()) if fname and fname != "pyzo": sys.argv[1:] = [] sys.argv.append(fname) res = commandline.handle_cmd_args() if not commandline.is_our_server_running(): print(res) sys.exit() return QtWidgets.QApplication.event(self, event) if not sys.platform.startswith("darwin"): MyApp = QtWidgets.QApplication # noqa ## Install excepthook # In PyQt5 exceptions in Python will cause an abort # http://pyqt.sourceforge.net/Docs/PyQt5/incompatibilities.html def pyzo_excepthook(type, value, tb): out = "Uncaught Python exception: " + str(value) + "\n" out += "".join(traceback.format_list(traceback.extract_tb(tb))) out += "\n" sys.stderr.write(out) sys.excepthook = pyzo_excepthook ## Define some functions # todo: move some stuff out of this module ... def getResourceDirs(): """getResourceDirs() Get the directories to the resources: (pyzoDir, appDataDir, appConfigDir). Also makes sure that the appDataDir has a "tools" directory and a style file. """ pyzoDir = os.path.abspath(os.path.dirname(__file__)) if ".zip" in pyzoDir: raise RuntimeError("The Pyzo package cannot be run from a zipfile.") # Get where the application data is stored (use old behavior on Mac) appDataDir, appConfigDir = paths.appdata_dir("pyzo", roaming=True, macAsLinux=True) # Create tooldir if necessary toolDir = os.path.join(appDataDir, "tools") os.makedirs(toolDir, exist_ok=True) return pyzoDir, appDataDir, appConfigDir def resetConfig(preserveState=True): """resetConfig() Deletes the config file to revert to default and prevent Pyzo from storing its config on the next shutdown. """ # Get filenames configFileName2 = os.path.join(pyzo.appConfigDir, "config.ssdf") os.remove(configFileName2) pyzo._saveConfigFile = False print("Deleted user config file. Restart Pyzo to revert to the default config.") def loadThemes(): """ Load default and user themes (if exist) """ def loadThemesFromDir(dname, isBuiltin=False): if not os.path.isdir(dname): return for fname in [fname for fname in os.listdir(dname) if fname.endswith(".theme")]: try: theme = ssdf.load(os.path.join(dname, fname)) assert ( theme.name.lower() == fname.lower().split(".")[0] ), "Theme name does not match filename" theme.data = { key.replace("_", "."): val for key, val in theme.data.items() } theme["builtin"] = isBuiltin pyzo.themes[theme.name.lower()] = theme print("Loaded theme %r" % theme.name) except Exception as ex: print("Warning ! Error while reading %s: %s" % (fname, ex)) loadThemesFromDir(os.path.join(pyzo.pyzoDir, "resources", "themes"), True) loadThemesFromDir(os.path.join(pyzo.appDataDir, "themes")) def loadConfig(defaultsOnly=False): """loadConfig(defaultsOnly=False) Load default and site-wide configuration file(s) and that of the user (if it exists). Any missing fields in the user config are set to the defaults. """ # Function to insert names from one config in another def replaceFields(base, new): for key in new: if key in base and isinstance(base[key], ssdf.Struct): replaceFields(base[key], new[key]) else: base[key] = new[key] config = pyzo.config # Reset our pyzo.config structure ssdf.clear(config) # Load default and inject in the pyzo.config fname = os.path.join(pyzo.pyzoDir, "resources", "defaultConfig.ssdf") defaultConfig = ssdf.load(fname) replaceFields(config, defaultConfig) # Platform specific keybinding: on Mac, Ctrl+Tab (actually Cmd+Tab) is a system shortcut if sys.platform == "darwin": config.shortcuts2.view__select_previous_file = "Alt+Tab," # Load site-wide config if it exists and inject in pyzo.config fname = os.path.join(pyzo.pyzoDir, "resources", "siteConfig.ssdf") if os.path.isfile(fname): try: siteConfig = ssdf.load(fname) replaceFields(config, siteConfig) except Exception: t = "Error while reading config file %r, maybe its corrupt?" print(t % fname) raise # Load user config and inject in pyzo.config fname = os.path.join(pyzo.appConfigDir, "config.ssdf") if os.path.isfile(fname): try: userConfig = ssdf.load(fname) replaceFields(config, userConfig) except Exception: t = "Error while reading config file %r, maybe its corrupt?" print(t % fname) raise def saveConfig(): """saveConfig() Save all configureations to file. """ # Let the editorStack save its state if pyzo.editors: pyzo.editors.saveEditorState() # Let the main window save its state if pyzo.main: pyzo.main.saveWindowState() # Store config if pyzo._saveConfigFile: ssdf.save(os.path.join(pyzo.appConfigDir, "config.ssdf"), pyzo.config) pyzo.getResourceDirs = getResourceDirs pyzo.resetConfig = resetConfig pyzo.loadThemes = loadThemes pyzo.saveConfig = saveConfig def start(): """Run Pyzo.""" # Do some imports import pyzo from pyzo.core import pyzoLogging # noqa - to start logging asap from pyzo.core.main import MainWindow # Apply users' preferences w.r.t. date representation etc # this is required for e.g. strftime("%c") # Just using '' does not seem to work on OSX. Thus # this odd loop. # locale.setlocale(locale.LC_ALL, "") for x in ("", "C", "en_US", "en_US.utf8", "en_US.UTF-8"): try: locale.setlocale(locale.LC_ALL, x) break except Exception: pass # # Set to be aware of the systems native colors, fonts, etc. # QtWidgets.QApplication.setDesktopSettingsAware(True) # Instantiate the application QtWidgets.qApp = MyApp(sys.argv) # QtWidgets.QApplication([]) # Choose language, get locale appLocale = setLanguage(pyzo.config.settings.language) # Create main window, using the selected locale MainWindow(None, appLocale) # In test mode, we close after 5 seconds # We also write "Closed" to the log (if a filename is provided) which we use # in our tests to determine that Pyzo did a successful run. if "--test" in sys.argv: close_signal = lambda: print("Stopping") if os.getenv("PYZO_LOG", ""): close_signal = lambda: open(os.getenv("PYZO_LOG"), "at").write("Stopping\n") pyzo.test_close_timer = t = QtCore.QTimer() t.setInterval(5000) t.setSingleShot(True) t.timeout.connect(lambda: [close_signal(), pyzo.main.close()]) t.start() # Enter the main loop if hasattr(QtWidgets.qApp, "exec"): QtWidgets.qApp.exec() else: QtWidgets.qApp.exec_() ## Init # List of names that are later overriden (in main.py) pyzo.editors = None # The editor stack instance pyzo.shells = None # The shell stack instance pyzo.main = None # The mainwindow pyzo.icon = None # The icon pyzo.parser = None # The source parser pyzo.status = None # The statusbar (or None) # Get directories of interest pyzo.pyzoDir, pyzo.appDataDir, pyzo.appConfigDir = getResourceDirs() # Whether the config file should be saved pyzo._saveConfigFile = True # Create ssdf in module namespace, and fill it pyzo.config = ssdf.new() loadConfig() try: # uses the fact that float("") raises ValueError to be NOP when qtscalefactor setting is not set os.environ["QT_SCREEN_SCALE_FACTORS"] = str( float(pyzo.config.settings.qtscalefactor) ) except Exception: pass # Create style dict and fill it pyzo.themes = {} loadThemes() # Init default style name (set in main.restorePyzoState()) pyzo.defaultQtStyleName = "" pyzo-4.12.3/pyzo/codeeditor/000077500000000000000000000000001421373005400157235ustar00rootroot00000000000000pyzo-4.12.3/pyzo/codeeditor/__init__.py000066400000000000000000000037201421373005400200360ustar00rootroot00000000000000# -*- coding: utf-8 -*- # flake8: noqa # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ CodeEditor A full featured code editor component based on QPlainTextEdit. """ from .manager import Manager from .base import CodeEditorBase from .extensions.appearance import ( HighlightMatchingBracket, HighlightMatchingOccurrences, HighlightCurrentLine, FullUnderlines, IndentationGuides, CodeFolding, LongLineIndicator, ShowWhitespace, ShowLineEndings, Wrap, LineNumbers, SyntaxHighlighting, BreakPoints, ) from .extensions.behaviour import ( Indentation, HomeKey, EndKey, NumpadPeriodKey, AutoIndent, PythonAutoIndent, SmartCopyAndPaste, MoveLinesUpDown, ScrollWithUpDownKeys, AutoCloseQuotesAndBrackets, ) from .extensions.autocompletion import AutoCompletion from .extensions.calltip import Calltip # Order of superclasses: first the extensions, then CodeEditorBase # The first superclass is the first extension that gets to handle each key and # the first to receive paint events. class CodeEditor( HighlightCurrentLine, HighlightMatchingOccurrences, HighlightMatchingBracket, FullUnderlines, IndentationGuides, CodeFolding, LongLineIndicator, ShowWhitespace, ShowLineEndings, Wrap, BreakPoints, LineNumbers, AutoCompletion, # Escape: first remove autocompletion, Calltip, # then calltip Indentation, MoveLinesUpDown, ScrollWithUpDownKeys, HomeKey, EndKey, # NumpadPeriodKey, -> disabled, see issue #720 AutoIndent, PythonAutoIndent, AutoCloseQuotesAndBrackets, SyntaxHighlighting, SmartCopyAndPaste, # overrides cut(), copy(), paste() CodeEditorBase, # CodeEditorBase must be the last one in the list ): """ CodeEditor with all the extensions """ pass pyzo-4.12.3/pyzo/codeeditor/_test.py000066400000000000000000000041041421373005400174120ustar00rootroot00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """ This script runs a test for the code editor component. """ import os, sys from qt import QtGui, QtCore, QtWidgets Qt = QtCore.Qt ## Go up one directory and then import the codeeditor package os.chdir("..") sys.path.insert(0, ".") from codeeditor import CodeEditor if __name__ == "__main__": app = QtWidgets.QApplication([]) # Create editor instance e = CodeEditor( highlightCurrentLine=True, longLineIndicatorPosition=20, showIndentationGuides=True, showWhitespace=True, showLineEndings=True, wrap=True, showLineNumbers=True, ) QtWidgets.QShortcut(QtGui.QKeySequence("F1"), e).activated.connect( e.autocompleteShow ) QtWidgets.QShortcut(QtGui.QKeySequence("F2"), e).activated.connect( e.autocompleteCancel ) QtWidgets.QShortcut(QtGui.QKeySequence("F3"), e).activated.connect( lambda: e.calltipShow(0, "test(foo, bar)") ) QtWidgets.QShortcut(QtGui.QKeySequence("Shift+Tab"), e).activated.connect( e.dedentSelection ) # Shift + Tab # TODO: somehow these shortcuts don't work in this test-app, but they do in # pyzo. May have something to do with overriding slots of Qt-native objects? QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+C"), e).activated.connect(e.copy) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+X"), e).activated.connect(e.cut) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+V"), e).activated.connect(e.paste) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Shift+V"), e).activated.connect( e.pasteAndSelect ) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Z"), e).activated.connect(e.undo) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Y"), e).activated.connect(e.redo) e.setPlainText( "foo(bar)\nfor bar in range(5):\n print bar\n" + "\nclass aap:\n def monkey(self):\n pass\n\n" ) # Run application e.show() s = QtWidgets.QSplitter() s.addWidget(e) s.addWidget(QtWidgets.QLabel("test")) s.show() app.exec_() pyzo-4.12.3/pyzo/codeeditor/base.py000066400000000000000000000746021421373005400172200ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ The base code editor class. """ """ WRITING EXTENSIONS FOR THE CODE EDITOR The Code Editor extension mechanism works solely based on inheritance. Extensions can override event handlers (e.g. paintEvent, keyPressEvent). Their default behaviour should be to call their super() event handler. This way, events propagate through the extensions following Python's method resolution order (http://www.python.org/download/releases/2.3/mro/). A 'fancy' code editor with extensions is created like: class FancyEditor( Extension1, Extension2, ... CodeEditorBase): pass The order of the extensions does usually matter! If multiple Extensions process the same key press, the first one has the first chance to consume it. OVERRIDING __init__ An extensions' __init__ method (if required) should look like this: class Extension: def __init__(self, *args, extensionParam1 = 1, extensionParam2 = 3, **kwds): super().__init__(*args, **kwds) some_extension_init_stuff() Note the following points: - All parameters have default values - The use of *args passes all non-named arguments to its super(), which will therefore end up at the QPlainTextEdit constructor. As a consequence, the parameters of the exentsion can only be specified as named arguments - The use of **kwds ensures that parametes that are not defined by this extension, are passed to the next extension(s) in line. - The call to super().__init__ is the first thing to do, this ensures that at least the CodeEditorBase and QPlainTextEdit, of which the CodeEditorBase is derived, are initialized when the initialization of the extension is done OVERRIDING keyPressEvent When overriding keyPressEvent, the extension has several options when an event arrives: - Ignore the event In this case, call super().keyPressEvent(event) for other extensions or the CodeEditorBase to process the event - Consume the event In order to prevent other next extensions or the CodeEditorBase to react on the event, return without calling the super().keyPressEvent - Do something based on the event, and do not let the event propagate In this case, do whatever action is defined by the extension, and do not call the super().keyPressEvent - Do something based on the event, and let the event propagate In this case, do whatever action is defined by the extension, and do call the super().keyEvent In any case, the keyPressEvent should not return a value (i.e., return None). Furthermore, an extension may also want to perform some action *after* the event has been processed by the next extensions and the CodeEditorBase. In this case, perform that action after calling super().keyPressEvent OVERRIDING paintEvent Then overriding the paintEvent, the extension may want to paint either behind or in front of the CodeEditorBase text. In order to paint behind the text, first perform the painting, and then call super().paintEvent. In order to paint in front of the text, first call super().paintEvent, then perform the painting. As a result, the total paint order is as follows for the example of the FancyEditor defined above: - First the extensions that draw behind the text (i.e. paint before calling super().paintEvent, in the order Extension1, Extension2, ... - then the CodeEditorBase, with the text - then the extensions that draw in front of the text (i.e. call super().paintEvent before painting), in the order ..., Extension2, Extension1 OVERRIDING OTHER EVENT HANDLERS When overriding other event handlers, be sure to call the super()'s event handler; either before or after your own actions, as appropriate OTHER ISSUES In order to avoid namespace clashes among the extensions, take the following into account: - Private members should start with __ to make ensure no clashes will occur - Public members / methods should have names that clearly indicate which extension they belong to (e.g. not cancel but autocompleteCancel) - Arguments of the __init__ method should also have clearly destictive names """ from .qt import QtGui, QtCore, QtWidgets Qt = QtCore.Qt from .misc import DEFAULT_OPTION_NAME, DEFAULT_OPTION_NONE, ce_option from .misc import callLater, ustr from .manager import Manager from .highlighter import Highlighter from .style import StyleElementDescription class CodeEditorBase(QtWidgets.QPlainTextEdit): """The base code editor class. Implements some basic features required by the extensions. """ # Style element for default text and editor background _styleElements = [ ( "Editor.text", "The style of the default text. " + "One can set the background color here.", "fore:#000,back:#fff", ) ] # Signal emitted after style has changed styleChanged = QtCore.Signal() # Signal emitted after font (or font size) has changed fontChanged = QtCore.Signal() # Signal to indicate a change in breakpoints. Only emitted if the # appropriate extension is in use breakPointsChanged = QtCore.Signal(object) def __init__(self, *args, **kwds): super(CodeEditorBase, self).__init__(*args) # Set font (always monospace) self.__zoom = 0 self.setFont() # Create highlighter class self.__highlighter = Highlighter(self, self.document()) # Set some document options option = self.document().defaultTextOption() option.setFlags( option.flags() | option.IncludeTrailingSpaces | option.AddSpaceForLineAndParagraphSeparators ) self.document().setDefaultTextOption(option) # When the cursor position changes, invoke an update, so that # the hihghlighting etc will work self.cursorPositionChanged.connect(self.viewport().update) # Init styles to default values self.__style = {} for element in self.getStyleElementDescriptions(): self.__style[element.key] = element.defaultFormat # Connext style update self.styleChanged.connect(self.__afterSetStyle) self.__styleChangedPending = False # Init margins self._leftmargins = [] # Init options now. # NOTE TO PEOPLE DEVELOPING EXTENSIONS: # If an extension has an __init__ in which it first calls the # super().__init__, this __initOptions() function will be called, # while the extension's init is not yet finished. self.__initOptions(kwds) # Define colors from Solarized theme base03 = "#002b36" base02 = "#073642" base01 = "#586e75" base00 = "#657b83" base0 = "#839496" base1 = "#93a1a1" base2 = "#eee8d5" base3 = "#fdf6e3" yellow = "#b58900" orange = "#cb4b16" red = "#dc322f" # noqa magenta = "#d33682" violet = "#6c71c4" blue = "#268bd2" cyan = "#2aa198" green = "#859900" # noqa if True: # Light vs dark # back1, back2, back3 = base3, base2, base1 # real solarised back1, back2, back3 = "#fff", base2, base1 # crispier fore1, fore2, fore3, fore4 = base00, base01, base02, base03 else: back1, back2, back3 = base03, base02, base01 fore1, fore2, fore3, fore4 = base0, base1, base2, base3 # noqa # Define style using "Solarized" colors S = {} S["Editor.text"] = "back:%s, fore:%s" % (back1, fore1) S["Syntax.identifier"] = "fore:%s, bold:no, italic:no, underline:no" % fore1 S["Syntax.nonidentifier"] = "fore:%s, bold:no, italic:no, underline:no" % fore2 S["Syntax.keyword"] = "fore:%s, bold:yes, italic:no, underline:no" % fore2 S["Syntax.builtins"] = "fore:%s, bold:no, italic:no, underline:no" % fore1 S["Syntax.instance"] = "fore:%s, bold:no, italic:no, underline:no" % fore1 S["Syntax.functionname"] = "fore:%s, bold:yes, italic:no, underline:no" % fore3 S["Syntax.classname"] = "fore:%s, bold:yes, italic:no, underline:no" % orange S["Syntax.string"] = "fore:%s, bold:no, italic:no, underline:no" % violet S["Syntax.unterminatedstring"] = ( "fore:%s, bold:no, italic:no, underline:dotted" % violet ) S["Syntax.python.multilinestring"] = ( "fore:%s, bold:no, italic:no, underline:no" % blue ) S["Syntax.number"] = "fore:%s, bold:no, italic:no, underline:no" % cyan S["Syntax.comment"] = "fore:%s, bold:no, italic:no, underline:no" % yellow S["Syntax.todocomment"] = "fore:%s, bold:no, italic:yes, underline:no" % magenta S["Syntax.python.cellcomment"] = ( "fore:%s, bold:yes, italic:no, underline:full" % yellow ) S["Editor.Long line indicator"] = "linestyle:solid, fore:%s" % back2 S["Editor.Highlight current line"] = "back:%s" % back2 S["Editor.Indentation guides"] = "linestyle:solid, fore:%s" % back2 S["Editor.Line numbers"] = "back:%s, fore:%s" % (back2, back3) # Apply a good default style self.setStyle(S) # see https://bugreports.qt.io/browse/QTBUG-57552?focusedCommentId=469402&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-469402 # and https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/text/qtextdocument.cpp#n1183 # and https://doc.qt.io/qt-5/qchar.html _plainTextTrans = str.maketrans( {"\u2029": "\n", "\u2028": "\n", "\ufdd0": "\n", "\ufdd1": "\n"} ) def toPlainText(self): cursor = self.textCursor() cursor.select(QtGui.QTextCursor.Document) return cursor.selectedText().translate(self._plainTextTrans) def _setHighlighter(self, highlighterClass): self.__highlighter = highlighterClass(self, self.document()) ## Options def __getOptionSetters(self): """Get a dict that maps (lowercase) option names to the setter methods. """ # Get all names that can be options allNames = set(dir(self)) nativeNames = set(dir(QtWidgets.QPlainTextEdit)) names = allNames.difference(nativeNames) # Init dict of setter members setters = {} for name in names: # Get name without set if name.lower().startswith("set"): name = name[3:] # Get setter and getter name name_set = "set" + name[0].upper() + name[1:] name_get = name[0].lower() + name[1:] # Check if both present if not (name_set in names and name_get in names): continue # Get members member_set = getattr(self, name_set) member_get = getattr(self, name_get) # Check if option decorator was used and get default value for member in [member_set, member_get]: if hasattr(member, DEFAULT_OPTION_NAME): defaultValue = member.__dict__[DEFAULT_OPTION_NAME] break else: continue # Set default on both member_set.__dict__[DEFAULT_OPTION_NAME] = defaultValue member_get.__dict__[DEFAULT_OPTION_NAME] = defaultValue # Add to list setters[name.lower()] = member_set # Done return setters def __setOptions(self, setters, options): """Sets the options, given the list-of-tuples methods and an options dict. """ # List of invalid keys invalidKeys = [] # Set options for key1 in options: key2 = key1.lower() # Allow using the setter name if key2.startswith("set"): key2 = key2[3:] # Check if exists. If so, call! if key2 in setters: fun = setters[key2] val = options[key1] fun(val) else: invalidKeys.append(key1) # Check if invalid keys were given if invalidKeys: print("Warning, invalid options given: " + ", ".join(invalidKeys)) def __initOptions(self, options=None): """Init the options with their default values. Also applies the docstrings of one to the other. """ # Make options an empty dict if not given if not options: options = {} # Get setters setters = self.__getOptionSetters() # Set default value for member_set in setters.values(): defaultVal = member_set.__dict__[DEFAULT_OPTION_NAME] if defaultVal != DEFAULT_OPTION_NONE: try: member_set(defaultVal) except Exception: print("Error initing option ", member_set.__name__) # Also set using given opions? if options: self.__setOptions(setters, options) def setOptions(self, options=None, **kwargs): """setOptions(options=None, **kwargs) Set the code editor options (e.g. highlightCurrentLine) using a dict-like object, or using keyword arguments (options given in the latter overrule opions in the first). The keys in the dict are case insensitive and one can use the option's setter or getter name. """ # Process options if options: D = {} for key in options: D[key] = options[key] D.update(kwargs) else: D = kwargs # Get setters setters = self.__getOptionSetters() # Go self.__setOptions(setters, D) ## Font def setFont(self, font=None): """setFont(font=None) Set the font for the editor. Should be a monospace font. If not, Qt will select the best matching monospace font. """ defaultFont = Manager.defaultFont() # Get font object if font is None: font = defaultFont elif isinstance(font, QtGui.QFont): pass elif isinstance(font, str): font = QtGui.QFont(font) else: raise ValueError("setFont accepts None, QFont or string.") # Hint Qt that it should be monospace font.setStyleHint(font.TypeWriter, font.PreferDefault) # Get family, fall back to default if qt could not produce monospace fontInfo = QtGui.QFontInfo(font) if fontInfo.fixedPitch(): family = fontInfo.family() else: family = defaultFont.family() # Get size: default size + zoom size = defaultFont.pointSize() + self.__zoom # Create font instance font = QtGui.QFont(family, size) # Set, emit and return QtWidgets.QPlainTextEdit.setFont(self, font) self.fontChanged.emit() return font def setZoom(self, zoom): """setZoom(zoom) Set the zooming of the document. The font size is always the default font size + the zoom factor. The final zoom is returned, this may not be the same as the given zoom factor if the given factor is too small. """ # Set zoom (limit such that final pointSize >= 1) size = Manager.defaultFont().pointSize() self.__zoom = int(max(1 - size, zoom)) # Set font self.setFont(self.fontInfo().family()) # Return zoom return self.__zoom ## Syntax / styling @classmethod def getStyleElementDescriptions(cls): """getStyleElementDescriptions() This classmethod returns a list of the StyleElementDescription instances used by this class. This includes the descriptions for the syntax highlighting of all parsers. """ # Collect members by walking the class bases elements = [] def collectElements(cls, iter=1): # Valid class? if cls is object or cls is QtWidgets.QPlainTextEdit: return # Check members if hasattr(cls, "_styleElements"): for element in cls._styleElements: elements.append(element) # Recurse for c in cls.__bases__: collectElements(c, iter + 1) collectElements(cls) # Make style element descriptions # (Use a dict to ensure there are no duplicate keys) elements2 = {} for element in elements: # Check if isinstance(element, StyleElementDescription): pass elif isinstance(element, tuple): element = StyleElementDescription(*element) else: print("Warning: invalid element: " + repr(element)) # Store using the name as a key to prevent duplicates elements2[element.key] = element # Done return list(elements2.values()) def getStyleElementFormat(self, name): """getStyleElementFormat(name) Get the style format for the style element corresponding with the given name. The name is case insensitive and invariant to the use of spaces. """ key = name.replace(" ", "").lower() try: return self.__style[key] except KeyError: raise KeyError('Not a known style element name: "%s".' % name) def setStyle(self, style=None, **kwargs): """setStyle(style=None, **kwargs) Updates the formatting per style element. The style consists of a dictionary that maps style names to style formats. The style names are case insensitive and invariant to the use of spaces. For convenience, keyword arguments may also be used. In this case, underscores are interpreted as dots. This function can also be called without arguments to force the editor to restyle (and rehighlight) itself. Use getStyleElementDescriptions() to get information about the available styles and their default values. Examples -------- # To make the classname in underline, but keep the color and boldness: setStyle(syntax_classname='underline') # To set all values for function names: setStyle(syntax_functionname='#883,bold:no,italic:no') # To set line number and indent guides colors setStyle({ 'editor.LineNumbers':'fore:#000,back:#777', 'editor.indentationGuides':'#f88' }) """ # Combine user input D = {} if style: for key in style: D[key] = style[key] if True: for key in kwargs: key2 = key.replace("_", ".") D[key2] = kwargs[key] # List of given invalid style element names invalidKeys = [] # Set style elements for key in D: normKey = key.replace(" ", "").lower() if normKey in self.__style: # self.__style[normKey] = StyleFormat(D[key]) self.__style[normKey].update(D[key]) else: invalidKeys.append(key) # Give warning for invalid keys if invalidKeys: print("Warning, invalid style names given: " + ",".join(invalidKeys)) # Notify that style changed, adopt a lazy approach to make loading # quicker. if self.isVisible(): callLater(self.styleChanged.emit) self.__styleChangedPending = False else: self.__styleChangedPending = True def showEvent(self, event): super(CodeEditorBase, self).showEvent(event) # Does the style need updating? if self.__styleChangedPending: callLater(self.styleChanged.emit) self.__styleChangedPending = False def __afterSetStyle(self): """_afterSetStyle() Method to call after the style has been set. """ # Set text style using editor style sheet format = self.getStyleElementFormat("editor.text") ss = "QPlainTextEdit{ color:%s; background-color:%s; }" % ( format["fore"], format["back"], ) self.setStyleSheet(ss) # Make sure the style is applied self.viewport().update() # Re-highlight callLater(self.__highlighter.rehighlight) ## Some basic options @ce_option(4) def indentWidth(self): """Get the width of a tab character, and also the amount of spaces to use for indentation when indentUsingSpaces() is True. """ return self.__indentWidth def setIndentWidth(self, value): value = int(value) if value <= 0: raise ValueError("indentWidth must be >0") self.__indentWidth = value self.setTabStopWidth(self.fontMetrics().width("i" * self.__indentWidth)) @ce_option(False) def indentUsingSpaces(self): """Get whether to use spaces (if True) or tabs (if False) to indent when the tab key is pressed """ return self.__indentUsingSpaces def setIndentUsingSpaces(self, value): self.__indentUsingSpaces = bool(value) self.__highlighter.rehighlight() ## Misc def gotoLine(self, lineNumber): """gotoLine(lineNumber) Move the cursor to the block given by the line number (first line is number 1) and show that line. """ return self.gotoBlock(lineNumber - 1) def gotoBlock(self, blockNumber): """gotoBlock(blockNumber) Move the cursor to the block given by the block number (first block is number 0) and show that line. """ # Two implementatios. I know that the latter works, so lets # just use that. cursor = self.textCursor() # block = self.document().findBlockByNumber( blockNumber ) # cursor.setPosition(block.position()) cursor.movePosition(cursor.Start) # move to begin of the document cursor.movePosition(cursor.NextBlock, n=blockNumber) # n blocks down try: self.setTextCursor(cursor) except Exception: pass # File is smaller then the caller thought # TODO make this user configurable (setting relativeMargin to anything above # 0.5 will cause cursor to center on each move) relativeMargin = 0.2 # 20% margin on both sides of the window margin = self.height() * relativeMargin cursorRect = self.cursorRect(cursor) if cursorRect.top() < margin or cursorRect.bottom() + margin > self.height(): self.centerCursor() def doForSelectedBlocks(self, function): """doForSelectedBlocks(function) Call the given function(cursor) for all blocks in the current selection A block is considered to be in the current selection if a part of it is in the current selection The supplied cursor will be located at the beginning of each block. This cursor may be modified by the function as required """ # Note: a 'TextCursor' does not represent the actual on-screen cursor, so # movements do not move the on-screen cursor # Note 2: when the text is changed, the cursor and selection start/end # positions of all cursors are updated accordingly, so the screenCursor # stays in place even if characters are inserted at the editCursor screenCursor = self.textCursor() # For maintaining which region is selected editCursor = self.textCursor() # For inserting the comment marks # Use beginEditBlock / endEditBlock to make this one undo/redo operation editCursor.beginEditBlock() try: editCursor.setPosition(screenCursor.selectionStart()) editCursor.movePosition(editCursor.StartOfBlock) # < :if selection end is at beginning of the block, don't include that # one, except when the selectionStart is same as selectionEnd while ( editCursor.position() < screenCursor.selectionEnd() or editCursor.position() <= screenCursor.selectionStart() ): # Create a copy of the editCursor and call the user-supplied function editCursorCopy = QtGui.QTextCursor(editCursor) function(editCursorCopy) # Move to the next block if not editCursor.block().next().isValid(): break # We reached the end of the document editCursor.movePosition(editCursor.NextBlock) finally: editCursor.endEditBlock() def doForVisibleBlocks(self, function): """doForVisibleBlocks(function) Call the given function(cursor) for all blocks that are currently visible. This is used by several appearence extensions that paint per block. The supplied cursor will be located at the beginning of each block. This cursor may be modified by the function as required """ # Start cursor at top line. cursor = self.cursorForPosition(QtCore.QPoint(0, 0)) cursor.movePosition(cursor.StartOfBlock) if not self.isVisible(): return while True: # Call the function with a copy of the cursor function(QtGui.QTextCursor(cursor)) # Go to the next block (or not if we are done) y = self.cursorRect(cursor).bottom() if y > self.height(): break # Reached end of the repaint area if not cursor.block().next().isValid(): break # Reached end of the text cursor.movePosition(cursor.NextBlock) def indentBlock(self, cursor, amount=1): """indentBlock(cursor, amount=1) Indent the block given by cursor. The cursor specified is used to do the indentation; it is positioned at the beginning of the first non-whitespace position after completion May be overridden to customize indentation. """ text = ustr(cursor.block().text()) leadingWhitespace = text[: len(text) - len(text.lstrip())] # Select the leading whitespace cursor.movePosition(cursor.StartOfBlock) cursor.movePosition(cursor.Right, cursor.KeepAnchor, len(leadingWhitespace)) # Compute the new indentation length, expanding any existing tabs indent = len(leadingWhitespace.expandtabs(self.indentWidth())) if self.indentUsingSpaces(): # Determine correction, so we can round to multiples of indentation correction = indent % self.indentWidth() if correction and amount < 0: correction = -(self.indentWidth() - correction) # Flip # Add the indentation tabs indent += (self.indentWidth() * amount) - correction cursor.insertText(" " * max(indent, 0)) else: # Convert indentation to number of tabs, and add one indent = (indent // self.indentWidth()) + amount cursor.insertText("\t" * max(indent, 0)) def dedentBlock(self, cursor): """dedentBlock(cursor) Dedent the block given by cursor. Calls indentBlock with amount = -1. May be overridden to customize indentation. """ self.indentBlock(cursor, amount=-1) def indentSelection(self): """indentSelection() Called when the current line/selection is to be indented. Calls indentLine(cursor) for each line in the selection. May be overridden to customize indentation. See also doForSelectedBlocks and indentBlock. """ self.doForSelectedBlocks(self.indentBlock) def dedentSelection(self): """dedentSelection() Called when the current line/selection is to be dedented. Calls dedentLine(cursor) for each line in the selection. May be overridden to customize indentation. See also doForSelectedBlocks and dedentBlock. """ self.doForSelectedBlocks(self.dedentBlock) def justifyText(self, linewidth=70): """justifyText(linewidth=70)""" from .textutils import TextReshaper # Get cursor cursor = self.textCursor() # Make selection include whole lines pos1, pos2 = cursor.position(), cursor.anchor() pos1, pos2 = min(pos1, pos2), max(pos1, pos2) cursor.setPosition(pos1, cursor.MoveAnchor) cursor.movePosition(cursor.StartOfBlock, cursor.MoveAnchor) cursor.setPosition(pos2, cursor.KeepAnchor) cursor.movePosition(cursor.EndOfBlock, cursor.KeepAnchor) # Use reshaper to create replacement text reshaper = TextReshaper(linewidth) reshaper.pushText(cursor.selectedText()) newText = reshaper.popText() # Update the selection # self.setTextCursor(cursor) for testing cursor.insertText(newText) def addLeftMargin(self, des, func): """Add a margin to the left. Specify a description for the margin, and a function to get that margin. For internal use. """ assert des is not None self._leftmargins.append((des, func)) def getLeftMargin(self, des=None): """Get the left margin, relative to the given description (which should be the same as given to addLeftMargin). If des is omitted or None, the full left margin is returned. """ margin = 0 for d, func in self._leftmargins: if d == des: break margin += func() return margin def updateMargins(self): """Force the margins to be recalculated and set the viewport accordingly. """ leftmargin = self.getLeftMargin() self.setViewportMargins(leftmargin, 0, 0, 0) def toggleCase(self): """Change selected text to lower or upper case.""" # Get cursor cursor = self.textCursor() # position = cursor.position() start_pos = cursor.selectionStart() end_pos = cursor.selectionEnd() # Get selected text selection = cursor.selectedText() if selection.islower(): newText = selection.upper() elif selection.isupper(): newText = selection.lower() else: newText = selection.lower() # Update the selection cursor.insertText(newText) cursor.setPosition(start_pos) cursor.setPosition(end_pos, QtGui.QTextCursor.KeepAnchor) self.setTextCursor(cursor) pyzo-4.12.3/pyzo/codeeditor/extensions/000077500000000000000000000000001421373005400201225ustar00rootroot00000000000000pyzo-4.12.3/pyzo/codeeditor/extensions/__init__.py000066400000000000000000000000001421373005400222210ustar00rootroot00000000000000pyzo-4.12.3/pyzo/codeeditor/extensions/appearance.py000066400000000000000000001345211421373005400226010ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Code editor extensions that change its appearance """ from ..qt import QtGui, QtCore, QtWidgets Qt = QtCore.Qt from ..misc import ce_option from ..manager import Manager # todo: what about calling all extensions. CE_HighlightCurrentLine, # or EXT_HighlightcurrentLine? from ..parsers.tokens import ParenthesisToken import enum class HighlightMatchingOccurrences(object): # Register style element _styleElements = [ ( "Editor.Highlight matching occurrences", "The background color to highlight matching occurrences of the currently selected word.", "back:#fdfda3", ) ] def highlightMatchingOccurrences(self): """highlightMatchingOccurrences() Get whether to highlight matching occurrences. """ return self.__highlightMatchingOccurrences @ce_option(True) def setHighlightMatchingOccurrences(self, value): """setHighlightMatchingOccurrences(value) Set whether to highlight matching occurrences. """ self.__highlightMatchingOccurrences = bool(value) self.viewport().update() def _doHighlight(self, text): # make cursor at the beginning of the first visible block cursor = self.cursorForPosition(QtCore.QPoint(0, 0)) doc = self.document() color = self.getStyleElementFormat("editor.highlightMatchingOccurrences").back painter = QtGui.QPainter() painter.begin(self.viewport()) painter.setBrush(color) painter.setPen(color.darker(110)) # find occurrences for i in range(500): cursor = doc.find( text, cursor, doc.FindCaseSensitively | doc.FindWholeWords ) if cursor is None or cursor.isNull(): # no more matches break # don't highlight the actual selection if cursor == self.textCursor(): continue endRect = self.cursorRect(cursor) if endRect.bottom() > self.height(): # rest of document is not visible, don't bother highlighting break cursor.setPosition(min(cursor.position(), cursor.anchor())) startRect = self.cursorRect(cursor) width = endRect.left() - startRect.left() painter.drawRect( startRect.left(), startRect.top(), width, startRect.height() ) # move to end of word again, otherwise we never advance in the doc cursor.movePosition(cursor.EndOfWord) else: print("Matching selection highlighting did not break") painter.end() def paintEvent(self, event): """paintEvent(event) If there is a current selection, and the selected text is a valid Python identifier (no whitespace, starts with a letter), then highlight all the matching occurrences of the selected text in the current view. Paints behinds its super(). """ cursor = self.textCursor() if self.__highlightMatchingOccurrences and cursor.hasSelection(): text = cursor.selectedText() if text.isidentifier(): self._doHighlight(text) super(HighlightMatchingOccurrences, self).paintEvent(event) class _ParenNotFound(Exception): pass class _ParenIterator: """Iterates in given direction over parentheses in the document. Uses the stored token-list of the blocks. Iteration gives both a parenthesis and its global position.""" def __init__(self, cursor, direction): self.cur_block = cursor.block() self.cur_tokens = self._getParenTokens() self.direction = direction # We need to know where we start in the current token list k = 0 try: while self.cur_tokens[k].end != cursor.positionInBlock(): k += 1 self.cur_pos = k except IndexError: # If the parenthesis cannot be found, it means that it is not inluded # in any token, ie. it is part of a string or comment raise _ParenNotFound def _getParenTokens(self): try: return list( filter( lambda x: isinstance(x, ParenthesisToken), self.cur_block.userData().tokens, ) ) except AttributeError: return ( [] ) # can be a piece of text that we do not tokenize or have not stored tokens def __iter__(self): return self def __next__(self): self.cur_pos += self.direction while self.cur_pos >= len(self.cur_tokens) or self.cur_pos < 0: if self.direction == 1: self.cur_block = self.cur_block.next() else: self.cur_block = self.cur_block.previous() if not self.cur_block.isValid(): raise StopIteration self.cur_tokens = self._getParenTokens() if self.direction == 1: self.cur_pos = 0 else: self.cur_pos = len(self.cur_tokens) - 1 return ( self.cur_tokens[self.cur_pos]._style, self.cur_block.position() + self.cur_tokens[self.cur_pos].end, ) class _PlainTextParenIterator: """Iterates in given direction over parentheses in the document. To be used when there is no parser. Iteration gives both a parenthesis and its global position.""" def __init__(self, cursor, direction): self.fulltext = cursor.document().toPlainText() self.position = cursor.position() - 1 self.direction = direction def __iter__(self): return self def __next__(self): self.position += self.direction try: while self.fulltext[self.position] not in "([{)]}": self.position += self.direction if self.position < 0: raise StopIteration except IndexError: raise StopIteration return self.fulltext[self.position], self.position + 1 class _MatchStatus(enum.Enum): NoMatch = 0 Match = 1 MisMatch = 2 class _MatchResult: def __init__(self, status, corresponding=None, offending=None): self.status = status self.corresponding = corresponding self.offending = offending class HighlightMatchingBracket(object): # Register style element _styleElements = [ ( "Editor.Highlight matching bracket", "The background color to highlight matching brackets.", "back:#ccc", ), ( "Editor.Highlight unmatched bracket", "The background color to highlight unmatched brackets.", "back:#F7BE81", ), ( "Editor.Highlight mismatching bracket", "The background color to highlight mismatching brackets.", "back:#F7819F", ), ] def highlightMatchingBracket(self): """highlightMatchingBracket() Get whether to highlight matching brackets. """ return self.__highlightMatchingBracket @ce_option(True) def setHighlightMatchingBracket(self, value): """setHighlightMatchingBracket(value) Set whether to highlight matching brackets. """ self.__highlightMatchingBracket = bool(value) self.viewport().update() def highlightMisMatchingBracket(self): """highlightMisMatchingBracket() Get whether to highlight mismatching brackets. """ return self.__highlightMisMatchingBracket @ce_option(True) def setHighlightMisMatchingBracket(self, value): """setHighlightMisMatchingBracket(value) Set whether to highlight mismatching brackets. """ self.__highlightMisMatchingBracket = bool(value) self.viewport().update() def _highlightSingleChar(self, painter, cursor, width, colorname): """_highlightSingleChar(painter, cursor, width, colorname) Draws a highlighting rectangle around the single character to the left of the specified cursor. """ cursor_rect = self.cursorRect(cursor) top = cursor_rect.top() left = cursor_rect.left() - width height = cursor_rect.bottom() - top + 1 color = self.getStyleElementFormat(colorname).back painter.setBrush(color) painter.setPen(color.darker(110)) painter.drawRect(QtCore.QRect(int(left), int(top), int(width), int(height))) _matchingBrackets = {"(": ")", "[": "]", "{": "}", ")": "(", "]": "[", "}": "{"} def _findMatchingBracket(self, char, cursor): """_findMatchingBracket(char, cursor) Find a bracket that matches the specified char in the specified document. Return a _MatchResult object indicating whether this succeded and the positions of the parentheses causing this result. """ if char in ")]}": direction = -1 stacking = ")]}" unstacking = "([{" elif char in "([{": direction = 1 stacking = "([{" unstacking = ")]}" else: raise ValueError("invalid bracket character: " + char) stacked_paren = [(char, cursor.position())] # using a Python list as a stack # stack not empty because the _ParenIterator will not give back # the parenthesis we're matching our_iterator = ( _ParenIterator if self.parser() is not None and self.parser().name() != "" else _PlainTextParenIterator ) for (paren, pos) in our_iterator(cursor, direction): if paren in stacking: stacked_paren.append((paren, pos)) elif paren in unstacking: if self._matchingBrackets[stacked_paren[-1][0]] != paren: return _MatchResult( _MatchStatus.MisMatch, pos, stacked_paren[-1][1] ) else: stacked_paren.pop() if len(stacked_paren) == 0: # we've found our match return _MatchResult(_MatchStatus.Match, pos) return _MatchResult(_MatchStatus.NoMatch) def _cursorAt(self, doc, pos): new_cursor = QtGui.QTextCursor(doc) new_cursor.setPosition(pos) return new_cursor def paintEvent(self, event): """paintEvent(event) If the current cursor is positioned to the right of a bracket ()[]{}, look for a matching one, and, if found, draw a highlighting rectangle around both brackets of the pair. Paints behinds its super(). """ if not self.__highlightMatchingBracket: super(HighlightMatchingBracket, self).paintEvent(event) return cursor = QtGui.QTextCursor(self.textCursor()) if cursor.atBlockStart(): cursor.movePosition(cursor.Right) movedRight = True else: movedRight = False text = cursor.block().text() pos = cursor.positionInBlock() - 1 if len(text) > pos and len(text) > 0: # get the character to the left of the cursor char = text[pos] if not movedRight and char not in "()[]{}" and len(text) > pos + 1: # no brace to the left of cursor; try to the right cursor.movePosition(cursor.Right) char = text[pos + 1] if char in "()[]{}": doc = cursor.document() try: match_res = self._findMatchingBracket(char, cursor) fm = QtGui.QFontMetrics(doc.defaultFont()) width = fm.width( char ) # assumes that both paren have the same width painter = QtGui.QPainter() painter.begin(self.viewport()) if match_res.status == _MatchStatus.NoMatch: self._highlightSingleChar( painter, cursor, width, "editor.highlightUnmatchedBracket" ) elif match_res.status == _MatchStatus.Match: self._highlightSingleChar( painter, cursor, width, "editor.highlightMatchingBracket" ) self._highlightSingleChar( painter, self._cursorAt(doc, match_res.corresponding), width, "editor.highlightMatchingBracket", ) else: # this is a mismatch if ( cursor.position() != match_res.offending or not self.highlightMisMatchingBracket() ): self._highlightSingleChar( painter, cursor, width, "editor.highlightUnmatchedBracket", ) if self.highlightMisMatchingBracket(): self._highlightSingleChar( painter, self._cursorAt(doc, match_res.corresponding), width, "editor.highlightMisMatchingBracket", ) self._highlightSingleChar( painter, self._cursorAt(doc, match_res.offending), width, "editor.highlightMisMatchingBracket", ) painter.end() except _ParenNotFound: # is raised when current parenthesis is not # found in its line token list, meaning it is in a string literal pass super(HighlightMatchingBracket, self).paintEvent(event) class HighlightCurrentLine(object): """ Highlight the current line """ # Register style element _styleElements = [ ( "Editor.Highlight current line", "The background color of the current line highlight.", "back:#ffff99", ) ] def highlightCurrentLine(self): """highlightCurrentLine() Get whether to highlight the current line. """ return self.__highlightCurrentLine @ce_option(True) def setHighlightCurrentLine(self, value): """setHighlightCurrentLine(value) Set whether to highlight the current line. """ self.__highlightCurrentLine = bool(value) self.viewport().update() def paintEvent(self, event): """paintEvent(event) Paints a rectangle spanning the current block (in case of line wrapping, this means multiple lines) Paints behind its super() """ if not self.highlightCurrentLine(): super(HighlightCurrentLine, self).paintEvent(event) return # Get color color = self.getStyleElementFormat("editor.highlightCurrentLine").back # Find the top of the current block, and the height cursor = self.textCursor() cursor.movePosition(cursor.StartOfBlock) top = self.cursorRect(cursor).top() cursor.movePosition(cursor.EndOfBlock) height = self.cursorRect(cursor).bottom() - top + 1 margin = self.document().documentMargin() painter = QtGui.QPainter() painter.begin(self.viewport()) painter.fillRect( QtCore.QRect( int(margin), int(top), int(self.viewport().width() - 2 * margin), int(height), ), color, ) painter.end() super(HighlightCurrentLine, self).paintEvent(event) # for debugging paint events # if 'log' not in self.__class__.__name__.lower(): # print(height, event.rect().width()) class IndentationGuides(object): # Register style element _styleElements = [ ( "Editor.Indentation guides", "The color and style of the indentation guides.", "fore:#DDF,linestyle:solid", ) ] def showIndentationGuides(self): """showIndentationGuides() Get whether to show indentation guides. """ return self.__showIndentationGuides @ce_option(True) def setShowIndentationGuides(self, value): """setShowIndentationGuides(value) Set whether to show indentation guides. """ self.__showIndentationGuides = bool(value) self.viewport().update() def paintEvent(self, event): """paintEvent(event) Paint the indentation guides, using the indentation info calculated by the highlighter. """ super(IndentationGuides, self).paintEvent(event) if not self.showIndentationGuides(): return # Get doc and viewport doc = self.document() viewport = self.viewport() # Get multiplication factor and indent width indentWidth = self.indentWidth() if self.indentUsingSpaces(): factor = 1 else: factor = indentWidth # Init painter painter = QtGui.QPainter() painter.begin(viewport) # Prepare pen format = self.getStyleElementFormat("editor.IndentationGuides") pen = QtGui.QPen(format.fore) pen.setStyle(format.linestyle) painter.setPen(pen) offset = doc.documentMargin() + self.contentOffset().x() def paintIndentationGuides(cursor): y3 = self.cursorRect(cursor).top() y4 = self.cursorRect(cursor).bottom() bd = cursor.block().userData() if bd and hasattr(bd, "indentation") and bd.indentation: for x in range(indentWidth, bd.indentation * factor, indentWidth): w = self.fontMetrics().width("i" * x) + offset w += 1 # Put it more under the block if w > 0: # if scrolled horizontally it can become < 0 painter.drawLine(QtCore.QLine(int(w), int(y3), int(w), int(y4))) self.doForVisibleBlocks(paintIndentationGuides) # Done painter.end() class FullUnderlines(object): def paintEvent(self, event): """paintEvent(event) Paint a horizontal line for the blocks for which there is a syntax format that has underline:full. Whether this is the case is stored at the blocks user data. """ super(FullUnderlines, self).paintEvent(event) painter = QtGui.QPainter() painter.begin(self.viewport()) margin = self.document().documentMargin() w = self.viewport().width() def paintUnderline(cursor): y = self.cursorRect(cursor).bottom() bd = cursor.block().userData() try: fullUnderlineFormat = bd.fullUnderlineFormat except AttributeError: pass # fullUnderlineFormat may not be an attribute else: if fullUnderlineFormat is not None: # Apply pen pen = QtGui.QPen(fullUnderlineFormat.fore) pen.setStyle(fullUnderlineFormat.linestyle) painter.setPen(pen) # Paint painter.drawLine( QtCore.QLine(int(margin), int(y), int(w - 2 * margin), int(y)) ) self.doForVisibleBlocks(paintUnderline) painter.end() class CodeFolding(object): def paintEvent(self, event): """paintEvent(event)""" super(CodeFolding, self).paintEvent(event) return # Code folding code is not yet complete painter = QtGui.QPainter() painter.begin(self.viewport()) margin = int(self.document().documentMargin()) def paintCodeFolders(cursor): y = int(self.cursorRect(cursor).top()) h = int(self.cursorRect(cursor).height()) rect = QtCore.QRect(margin, y, h, h) text = cursor.block().text() if text.rstrip().endswith(":"): painter.drawRect(rect) painter.drawText( rect, QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter, "-" ) # Apply pen # Paint # painter.drawLine(QtCore.QLine(int(margin), int(y), int(w - 2*margin), int(y))) self.doForVisibleBlocks(paintCodeFolders) painter.end() class LongLineIndicator(object): # Register style element _styleElements = [ ( "Editor.Long line indicator", "The color and style of the long line indicator.", "fore:#BBB,linestyle:solid", ) ] def longLineIndicatorPosition(self): """longLineIndicatorPosition() Get the position of the long line indicator (aka edge column). A value of 0 or smaller means that no indicator is shown. """ return self.__longLineIndicatorPosition @ce_option(80) def setLongLineIndicatorPosition(self, value): """setLongLineIndicatorPosition(value) Set the position of the long line indicator (aka edge column). A value of 0 or smaller means that no indicator is shown. """ self.__longLineIndicatorPosition = int(value) self.viewport().update() def paintEvent(self, event): """paintEvent(event) Paint the long line indicator. Paints behind its super() """ if self.longLineIndicatorPosition() <= 0: super(LongLineIndicator, self).paintEvent(event) return # Get doc and viewport doc = self.document() viewport = self.viewport() # Get position of long line fm = self.fontMetrics() # width of ('i'*length) not length * (width of 'i') b/c of # font kerning and rounding x = fm.width("i" * self.longLineIndicatorPosition()) x += doc.documentMargin() + self.contentOffset().x() x += 1 # Move it a little next to the cursor # Prepate painter painter = QtGui.QPainter() painter.begin(viewport) # Prepare pen format = self.getStyleElementFormat("editor.LongLineIndicator") pen = QtGui.QPen(format.fore) pen.setStyle(format.linestyle) painter.setPen(pen) # Draw line and end painter painter.drawLine(QtCore.QLine(int(x), 0, int(x), int(viewport.height()))) painter.end() # Propagate event super(LongLineIndicator, self).paintEvent(event) class ShowWhitespace(object): def showWhitespace(self): """Show or hide whitespace markers""" option = self.document().defaultTextOption() return bool(option.flags() & option.ShowTabsAndSpaces) @ce_option(False) def setShowWhitespace(self, value): option = self.document().defaultTextOption() if value: option.setFlags(option.flags() | option.ShowTabsAndSpaces) else: option.setFlags(option.flags() & ~option.ShowTabsAndSpaces) self.document().setDefaultTextOption(option) class ShowLineEndings(object): @ce_option(False) def showLineEndings(self): """Get whether line ending markers are shown.""" option = self.document().defaultTextOption() return bool(option.flags() & option.ShowLineAndParagraphSeparators) def setShowLineEndings(self, value): option = self.document().defaultTextOption() if value: option.setFlags(option.flags() | option.ShowLineAndParagraphSeparators) else: option.setFlags(option.flags() & ~option.ShowLineAndParagraphSeparators) self.document().setDefaultTextOption(option) class LineNumbers(object): # Margin on both side of the line numbers _LineNumberAreaMargin = 3 # Register style element _styleElements = [ ( "Editor.Line numbers", "The text- and background-color of the line numbers.", "fore:#222,back:#DDD", ) ] class __LineNumberArea(QtWidgets.QWidget): """This is the widget reponsible for drawing the line numbers.""" def __init__(self, codeEditor): QtWidgets.QWidget.__init__(self, codeEditor) self.setCursor(QtCore.Qt.PointingHandCursor) self._pressedY = None self._lineNrChoser = None def _getY(self, pos): tmp = self.mapToGlobal(pos) return self.parent().viewport().mapFromGlobal(tmp).y() def mousePressEvent(self, event): self._pressedY = self._getY(event.pos()) def mouseReleaseEvent(self, event): self._handleWholeBlockSelection(self._getY(event.pos())) def mouseMoveEvent(self, event): self._handleWholeBlockSelection(self._getY(event.pos())) def _handleWholeBlockSelection(self, y2): # Get y1 and sort (y1, y2) y1 = self._pressedY if y1 is None: y1 = y2 y1, y2 = min(y1, y2), max(y1, y2) # Get cursor and two cursors corresponding to selected blocks editor = self.parent() cursor = editor.textCursor() c1 = editor.cursorForPosition(QtCore.QPoint(0, int(y1))) c2 = editor.cursorForPosition(QtCore.QPoint(0, int(y2))) # Make these two cursors select the whole block c1.movePosition(c1.StartOfBlock, c1.MoveAnchor) c2.movePosition(c2.EndOfBlock, c2.MoveAnchor) # Apply selection cursor.setPosition(c1.position(), cursor.MoveAnchor) cursor.setPosition(c2.position(), cursor.KeepAnchor) editor.setTextCursor(cursor) def mouseDoubleClickEvent(self, event): self.showLineNumberChoser() def showLineNumberChoser(self): # Create line number choser if needed if self._lineNrChoser is None: self._lineNrChoser = LineNumbers.LineNumberChoser(self.parent()) # Get editor and cursor editor = self.parent() cursor = editor.textCursor() # Get (x,y) pos and apply x, y = self.width() + 4, editor.cursorRect(cursor).y() self._lineNrChoser.move(int(x), int(y)) # Show/reset line number choser self._lineNrChoser.reset(cursor.blockNumber() + 1) def paintEvent(self, event): editor = self.parent() if not editor.showLineNumbers(): return # Get doc and viewport viewport = editor.viewport() # Get format and margin format = editor.getStyleElementFormat("editor.LineNumbers") margin = editor._LineNumberAreaMargin # Init painter painter = QtGui.QPainter() painter.begin(self) # Get which part to paint. Just do all to avoid glitches w = editor.getLineNumberAreaWidth() y1, y2 = 0, editor.height() # y1, y2 = event.rect().top()-10, event.rect().bottom()+10 # Get offset tmp = self.mapToGlobal(QtCore.QPoint(0, 0)) offset = viewport.mapFromGlobal(tmp).y() # Draw the background painter.fillRect(QtCore.QRect(0, int(y1), int(w), int(y2)), format.back) # Get cursor cursor = editor.cursorForPosition(QtCore.QPoint(0, int(y1))) # Prepare fonts font1 = editor.font() font2 = editor.font() font2.setBold(True) currentBlockNumber = editor.textCursor().block().blockNumber() # Init painter with font and color painter.setFont(font1) painter.setPen(format.fore) # Repainting always starts at the first block in the viewport, # regardless of the event.rect().y(). Just to keep it simple while True: blockNumber = cursor.block().blockNumber() y = editor.cursorRect(cursor).y() # Set font to bold if line number is the current if blockNumber == currentBlockNumber: painter.setFont(font2) painter.drawText( 0, y - offset, w - margin, 50, Qt.AlignRight, str(blockNumber + 1) ) # Set font back if blockNumber == currentBlockNumber: painter.setFont(font1) if y > y2: break # Reached end of the repaint area if not cursor.block().next().isValid(): break # Reached end of the text cursor.movePosition(cursor.NextBlock) # Done painter.end() class LineNumberChoser(QtWidgets.QSpinBox): def __init__(self, parent): QtWidgets.QSpinBox.__init__(self, parent) self._editor = parent ss = ( "QSpinBox { border: 2px solid #789; border-radius: 3px; padding: 4px; }" ) self.setStyleSheet(ss) self.setPrefix("Go to line: ") self.setAccelerated(True) self.setButtonSymbols(self.NoButtons) self.setCorrectionMode(self.CorrectToNearestValue) # Signal for when value changes, and flag to disbale it once self._ignoreSignalOnceFlag = False self.valueChanged.connect(self.onValueChanged) def reset(self, currentLineNumber): # Set value to (given) current line number self._ignoreSignalOnceFlag = True self.setRange(1, self._editor.blockCount()) self.setValue(currentLineNumber) # Select text and focus so that the user can simply start typing self.selectAll() self.setFocus() # Make visible self.show() self.raise_() def focusOutEvent(self, event): self.hide() def keyPressEvent(self, event): if event.key() in [ QtCore.Qt.Key_Escape, QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return, ]: self._editor.setFocus() # Moves focus away, thus hiding self else: QtWidgets.QSpinBox.keyPressEvent(self, event) def onValueChanged(self, nr): if self._ignoreSignalOnceFlag: self._ignoreSignalOnceFlag = False else: self._editor.gotoLine(nr) def __init__(self, *args, **kwds): self.__lineNumberArea = None super(LineNumbers, self).__init__(*args, **kwds) # Create widget that draws the line numbers self.__lineNumberArea = self.__LineNumberArea(self) # Issue an update when the font or amount of line numbers changes self.blockCountChanged.connect(self.__onBlockCountChanged) self.fontChanged.connect(self.__onBlockCountChanged) self.__onBlockCountChanged() self.addLeftMargin(LineNumbers, self.getLineNumberAreaWidth) def gotoLinePopup(self): """Popup the little widget to quickly goto a certain line. Can also be achieved by double-clicking the line number area. """ self.__lineNumberArea.showLineNumberChoser() def showLineNumbers(self): return self.__showLineNumbers @ce_option(True) def setShowLineNumbers(self, value): self.__showLineNumbers = bool(value) # Note that this method is called before the __init__ is finished, # so that the __lineNumberArea is not yet created. if self.__lineNumberArea: if self.__showLineNumbers: self.__onBlockCountChanged() self.__lineNumberArea.show() else: self.__lineNumberArea.hide() self.updateMargins() def getLineNumberAreaWidth(self): """ Count the number of lines, compute the length of the longest line number (in pixels) """ if not self.__showLineNumbers: return 0 lastLineNumber = self.blockCount() margin = self._LineNumberAreaMargin return self.fontMetrics().width(str(lastLineNumber)) + 2 * margin def __onBlockCountChanged(self, count=None): """ Update the line number area width. This requires to set the viewport margins, so there is space to draw the linenumber area """ if self.__showLineNumbers: self.updateMargins() def resizeEvent(self, event): super(LineNumbers, self).resizeEvent(event) # On resize, resize the lineNumberArea, too rect = self.contentsRect() m = self.getLeftMargin(LineNumbers) w = self.getLineNumberAreaWidth() self.__lineNumberArea.setGeometry(rect.x() + m, rect.y(), w, rect.height()) def paintEvent(self, event): super(LineNumbers, self).paintEvent(event) # On repaint, update the complete line number area w = self.getLineNumberAreaWidth() self.__lineNumberArea.update(0, 0, w, self.height()) class BreakPoints(object): _breakPointWidth = 11 # With of total bar, actual points are smaller # Register style element _styleElements = [ ( "Editor.BreakPoints", "The fore- and background-color of the breakpoints.", "fore:#F66,back:#dfdfe1", ) ] class __BreakPointArea(QtWidgets.QWidget): """This is the widget reponsible for drawing the break points.""" def __init__(self, codeEditor): QtWidgets.QWidget.__init__(self, codeEditor) self.setCursor(QtCore.Qt.PointingHandCursor) self.setMouseTracking(True) self._virtualBreakpoint = 0 def _getY(self, pos): tmp = self.mapToGlobal(pos) return self.parent().viewport().mapFromGlobal(tmp).y() def mousePressEvent(self, event): self._toggleBreakPoint(self._getY(event.pos())) def mouseMoveEvent(self, event): y = self._getY(event.pos()) editor = self.parent() c1 = editor.cursorForPosition(QtCore.QPoint(0, int(y))) self._virtualBreakpoint = c1.blockNumber() + 1 self.update() def leaveEvent(self, event): self._virtualBreakpoint = 0 self.update() def _toggleBreakPoint(self, y): # Get breakpoint corresponding to pressed pos editor = self.parent() c1 = editor.cursorForPosition(QtCore.QPoint(0, int(y))) linenr = c1.blockNumber() + 1 # Toggle self.parent().toggleBreakpoint(linenr) def paintEvent(self, event): editor = self.parent() if not editor.showBreakPoints(): return # Get format and margin format = editor.getStyleElementFormat("editor.breakpoints") margin = 1 w = editor._breakPointWidth bulletWidth = w - 2 * margin # Init painter painter = QtGui.QPainter() painter.begin(self) # Get which part to paint. Just do all to avoid glitches y1, y2 = 0, editor.height() # Draw the background painter.fillRect(QtCore.QRect(0, int(y1), int(w), int(y2)), format.back) # Get debug indicator and list of sorted breakpoints debugBlockIndicator = editor._debugLineIndicator - 1 virtualBreakpoint = self._virtualBreakpoint - 1 blocknumbers = [i - 1 for i in sorted(self.parent()._breakPoints)] if not ( blocknumbers or editor._debugLineIndicator or editor._debugLineIndicators or virtualBreakpoint > 0 ): return # Get cursor cursor = editor.cursorForPosition(QtCore.QPoint(0, int(y1))) # Get start block number and bullet offset in pixels startBlockNumber = cursor.block().blockNumber() bulletOffset = editor.contentOffset().y() + bulletWidth * 0.25 # Prepare painter painter.setPen(QtGui.QColor("#777")) painter.setBrush(format.fore) painter.setRenderHint(painter.Antialiasing) # Draw breakpoints for blockNumber in blocknumbers: if blockNumber < startBlockNumber: continue # Get block block = editor.document().findBlockByNumber(blockNumber) if block.isValid(): y = editor.blockBoundingGeometry(block).y() + bulletOffset painter.drawEllipse( int(margin), int(y), int(bulletWidth), int(bulletWidth) ) # Draw *the* debug marker if debugBlockIndicator > 0: painter.setBrush(QtGui.QColor("#6F6")) # Get block block = editor.document().findBlockByNumber(debugBlockIndicator) if block.isValid(): y = editor.blockBoundingGeometry(block).y() + bulletOffset y += 0.25 * bulletWidth painter.drawEllipse( int(margin), int(y), int(bulletWidth), int(0.5 * bulletWidth) ) # Draw other debug markers for debugLineIndicator in editor._debugLineIndicators: debugBlockIndicator = debugLineIndicator - 1 painter.setBrush(QtGui.QColor("#DDD")) # Get block block = editor.document().findBlockByNumber(debugBlockIndicator) if block.isValid(): y = editor.blockBoundingGeometry(block).y() + bulletOffset y += 0.25 * bulletWidth painter.drawEllipse( int(margin), int(y), int(bulletWidth), int(0.5 * bulletWidth) ) # Draw virtual break point if virtualBreakpoint > 0: painter.setBrush(QtGui.QColor(0, 0, 0, 0)) # Get block block = editor.document().findBlockByNumber(virtualBreakpoint) if block.isValid(): y = editor.blockBoundingGeometry(block).y() + bulletOffset painter.drawEllipse( int(margin), int(y), int(bulletWidth), int(bulletWidth) ) # Done painter.end() def __init__(self, *args, **kwds): self.__breakPointArea = None super(BreakPoints, self).__init__(*args, **kwds) # Create widget that draws the breakpoints self.__breakPointArea = self.__BreakPointArea(self) self.addLeftMargin(BreakPoints, self.getBreakPointAreaWidth) self._breakPoints = {} # int -> block self._debugLineIndicator = 0 self._debugLineIndicators = set() self.blockCountChanged.connect(self.__onBlockCountChanged) def __onBlockCountChanged(self): """Track breakpoints so we can update the number when text is inserted above. """ newBreakPoints = {} for linenr in list(self._breakPoints): block, block_previous, block_next = self._breakPoints[linenr] block_linenr = block.blockNumber() + 1 prev_ok = block.previous().blockNumber() == block_previous.blockNumber() next_ok = block.next().blockNumber() == block_next.blockNumber() if prev_ok or next_ok: if block_linenr == linenr: if prev_ok and next_ok: pass # All is well else: # Update refs self._breakPoints[linenr] = ( block, block.previous(), block.next(), ) else: # Update linenr - this is the only case where "move" th bp newBreakPoints[block_linenr] = self._breakPoints.pop(linenr) else: if block_linenr == linenr: # Just update refs self._breakPoints[linenr] = block, block.previous(), block.next() else: # Delete breakpoint? Meh, just update refs self._breakPoints[linenr] = block, block.previous(), block.next() if newBreakPoints: self._breakPoints.update(newBreakPoints) self.breakPointsChanged.emit(self) self.__breakPointArea.update() def breakPoints(self): """A list of breakpoints for this editor.""" return list(sorted(self._breakPoints)) self._breakPoints = {} self.breakPointsChanged.emit(self) self.__breakPointArea.update() def toggleBreakpoint(self, linenr=None): """Turn breakpoint on/off for given linenr of current line.""" if linenr is None: linenr = self.textCursor().blockNumber() + 1 if linenr in self._breakPoints: self._breakPoints.pop(linenr) else: c = self.textCursor() c.movePosition(c.Start) c.movePosition(c.NextBlock, c.MoveAnchor, linenr - 1) b = c.block() self._breakPoints[linenr] = b, b.previous(), b.next() self.breakPointsChanged.emit(self) self.__breakPointArea.update() def setDebugLineIndicator(self, linenr, active=True): """Set the debug line indicator to the given line number. If None or 0, the indicator is hidden. """ linenr = int(linenr or 0) if not linenr: # Remove all indicators if self._debugLineIndicator or self._debugLineIndicators: self._debugLineIndicator = 0 self._debugLineIndicators = set() self.__breakPointArea.update() elif active: # Set *the* indicator if linenr != self._debugLineIndicator: self._debugLineIndicators.discard(linenr) self._debugLineIndicator = linenr self.__breakPointArea.update() else: # Add to set of indicators if linenr not in self._debugLineIndicators: self._debugLineIndicators.add(linenr) self.__breakPointArea.update() def getBreakPointAreaWidth(self): if not self.__showBreakPoints: return 0 else: return self._breakPointWidth def showBreakPoints(self): return self.__showBreakPoints @ce_option(True) def setShowBreakPoints(self, value): self.__showBreakPoints = bool(value) # Note that this method is called before the __init__ is finished, # so that the area is not yet created. if self.__breakPointArea: if self.__showBreakPoints: self.__breakPointArea.show() else: self.__breakPointArea.hide() self.clearBreakPoints() self.updateMargins() def resizeEvent(self, event): super(BreakPoints, self).resizeEvent(event) # On resize, resize the breakpointArea, too rect = self.contentsRect() m = self.getLeftMargin(BreakPoints) w = self.getBreakPointAreaWidth() self.__breakPointArea.setGeometry(rect.x() + m, rect.y(), w, rect.height()) def paintEvent(self, event): super(BreakPoints, self).paintEvent(event) # On repaint, update the complete breakPointArea w = self.getBreakPointAreaWidth() self.__breakPointArea.update(0, 0, w, self.height()) class Wrap(object): def wrap(self): """Enable or disable wrapping""" option = self.document().defaultTextOption() return not bool(option.wrapMode() == option.NoWrap) @ce_option(True) def setWrap(self, value): option = self.document().defaultTextOption() if value: option.setWrapMode(option.WrapAtWordBoundaryOrAnywhere) else: option.setWrapMode(option.NoWrap) self.document().setDefaultTextOption(option) # todo: move this bit to base class? # This functionality embedded in the highlighter and even has a designated # subpackage. I feel that it should be a part of the base editor. # Note: if we do this, remove the hasattr call in the highlighter. class SyntaxHighlighting(object): """Notes on syntax highlighting. The syntax highlighting/parsing is performed using three "components". The base component are the token instances. Each token simply represents a row of characters in the text the belong to each-other and should be styled in the same way. There is a token class for each particular "thing" in the code, such as comments, strings, keywords, etc. Some tokens are specific to a particular language. There is a function that produces a set of tokens, when given a line of text and a state parameter. There is such a function for each language. These "parsers" are defined in the parsers subpackage. And lastly, there is the Highlighter class, that applies the parser function to obtain the set of tokens and using the names of these tokens applies styling. The styling can be defined by giving a dict that maps token names to style representations. """ # Register all syntax style elements _styleElements = Manager.getStyleElementDescriptionsForAllParsers() def parser(self): """parser() Get the parser instance currently in use to parse the code for syntax highlighting and source structure. Can be None. """ try: return self.__parser except AttributeError: return None @ce_option(None) def setParser(self, parserName=""): """setParser(parserName='') Set the current parser by giving the parser name. """ # Set parser self.__parser = Manager.getParserByName(parserName) # Restyle, use setStyle for lazy updating self.setStyle() pyzo-4.12.3/pyzo/codeeditor/extensions/autocompletion.py000066400000000000000000000312351421373005400235420ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Code editor extensions that provides autocompleter functionality """ import pyzo from ..qt import QtGui, QtCore, QtWidgets Qt = QtCore.Qt import keyword # TODO: use this CompletionListModel to style the completion suggestions (class names, method names, keywords etc) class CompletionListModel(QtCore.QStringListModel): def data(self, index, role): if role == Qt.ForegroundRole: # data = str(QtWidgets.QStringListModel.data(self, index, QtCore.Qt.DisplayRole)) # return QtGui.QBrush(Qt.red) return None else: return QtCore.QStringListModel.data(self, index, role) # todo: use keywords from the parser class AutoCompletion(object): def __init__(self, *args, **kwds): super(AutoCompletion, self).__init__(*args, **kwds) # Autocompleter self.__completerModel = QtCore.QStringListModel(keyword.kwlist) self.__completer = QtWidgets.QCompleter(self) self.__completer.setModel(self.__completerModel) self.__completer.setCaseSensitivity(Qt.CaseInsensitive) self.__completer.setWidget(self) self.__completerNames = [] self.__recentCompletions = [] # List of recently selected completions self.__cancelCallback = None # geometry self.__popupSize = 300, 100 # Text position corresponding to first charcter of the word being completed self.__autocompleteStart = None # We show the popup when this many chars have been input self.__autocompleteMinChars = 3 self.__autocompleteFromObject = False self.__autocompleteVisible = False self.__autocompleteDebug = False self.__autocompletionAcceptKeys = (Qt.Key_Tab,) # Connect signals self.__highlightedCompletion = None self.__completer.activated.connect(self.onAutoComplete) self.__completer.highlighted.connect(self._setHighlightedCompletion) def _setHighlightedCompletion(self, value): """Keeping track of the highlighted item allows us to 'manually' perform an autocompletion. """ self.__highlightedCompletion = value ## Properties def recentCompletionsList(self): """ The list of recent auto-completions. This property may be set to a list that is shared among several editors, in order to share the notion of recent auto-completions """ return self.__recentCompletions def setRecentCompletionsList(self, value): self.__recentCompletions = value def completer(self): return self.__completer def setAutoCompletionAcceptKeys(self, *keys): """Set the keys (Qt enums) that can accept an autocompletion. Like Tab, or Enter. Defaut Tab. """ self.__autocompletionAcceptKeys = keys def setCancelCallback(self, cb): self.__cancelCallback = cb ## Autocompletion def setAutocompletPopupSize(self, width, height): """ Set the size (width, heigth) of the automcompletion popup window. """ self.__popupSize = width, height def setAutocompleteMinChars(self, n): """ Set the number of chars where we show the popup. """ self.__autocompleteMinChars = n def autocompleteShow(self, offset=0, names=None, fromObject=False): """ Pop-up the autocompleter (if not already visible) and position it at current cursor position minus offset. If names is given and not None, it is set as the list of possible completions. """ # Pop-up the autocompleteList startcursor = self.textCursor() startcursor.movePosition(startcursor.Left, n=offset) self.__autocompleteFromObject = fromObject if self.__autocompleteDebug: print("autocompleteShow called") if names is not None: # TODO: a more intelligent implementation that adds new items and removes # old ones if names != self.__completerNames: self.__completerModel.setStringList(names) self.__completerNames = names if ( not self.autocompleteActive() or startcursor.position() != self.__autocompleteStart.position() or not self.autocompleteVisible() ): self.__autocompleteStart = startcursor self.__autocompleteStart.setKeepPositionOnInsert(True) # Popup the autocompleter. Don't use .complete() since we want to # position the popup manually self.__positionAutocompleter() if self.__updateAutocompleterPrefix(): self.__autocompleteVisible = True self.__completer.popup().show() if self.__autocompleteDebug: print("self.__completer.popup().show() called") else: self.__updateAutocompleterPrefix() def autocompleteAccept(self): self.__completer.popup().hide() self.__autocompleteStart = None self.__autocompleteVisible = False def autocompleteCancel(self): self.__completer.popup().hide() self.__autocompleteStart = None self.__autocompleteVisible = False if self.__cancelCallback is not None: try: self.__cancelCallback() except Exception as err: print("Exception in autocomp cancel callback: " + str(err)) def onAutoComplete(self, text=None): if text is None: text = self.__highlightedCompletion # Select the text from autocompleteStart until the current cursor cursor = self.textCursor() cursor.setPosition(self.__autocompleteStart.position(), cursor.KeepAnchor) # Replace it with the selected text cursor.insertText(text) self.autocompleteAccept() # Reset the completer # Update the recent completions list if text in self.__recentCompletions: self.__recentCompletions.remove(text) self.__recentCompletions.append(text) def autocompleteActive(self): """Returns whether an autocompletion list is currently started.""" return self.__autocompleteStart is not None def autocompleteVisible(self): """Returns whether an autocompletion list is currently shown.""" return self.__autocompleteVisible def __positionAutocompleter(self): """Move the autocompleter list to a proper position""" # Find the start of the autocompletion and move the completer popup there cur = QtGui.QTextCursor(self.__autocompleteStart) # Copy __autocompleteStart # Set size geometry = self.__completer.popup().geometry() geometry.setWidth(self.__popupSize[0]) geometry.setHeight(self.__popupSize[1]) self.__completer.popup().setGeometry(geometry) # Initial choice for position of the completer position = self.cursorRect(cur).bottomLeft() + self.viewport().pos() # Check if the completer is going to go off the screen # top_geometry = QtWidgets.qApp.qApp.screens()[0].availableVirtualSize() top_geometry = pyzo.main.geometry() global_position = self.mapToGlobal(position) if global_position.y() + geometry.height() > top_geometry.height(): # Move the completer to above the current line position = self.cursorRect(cur).topLeft() + self.viewport().pos() global_position = self.mapToGlobal(position) global_position -= QtCore.QPoint(0, int(geometry.height())) self.__completer.popup().move(global_position) def __updateAutocompleterPrefix(self): """ Find the autocompletion prefix (the part of the word that has been entered) and send it to the completer. Update the selected completion (out of several possiblilties) which is best suited """ if not self.autocompleteActive(): self.__completer.popup().hide() # TODO: why is this required? self.__autocompleteVisible = False return False # Select the text from autocompleteStart until the current cursor cursor = self.textCursor() cursor.setPosition(self.__autocompleteStart.position(), cursor.KeepAnchor) prefix = cursor.selectedText() if ( not self.__autocompleteFromObject and len(prefix) < self.__autocompleteMinChars ): self.__completer.setCompletionPrefix("") self.autocompleteCancel() return False else: self.__completer.setCompletionPrefix(prefix) model = self.__completer.completionModel() if model.rowCount(): # Create a list of all possible completions, and select the one # which is best suited. Use the one which is highest in the # __recentCompletions list, but prefer completions with matching # case if they exists # Create a list of (row, value) tuples of all possible completions completions = [ ( row, model.data( model.index(row, 0), self.__completer.completionRole() ), ) for row in range(model.rowCount()) ] # Define a function to get the position in the __recentCompletions def completionIndex(data): try: return self.__recentCompletions.index(data) except ValueError: return -1 # Sort twice; the last sort has priority over the first # Sort on most recent completions completions.sort(key=lambda c: completionIndex(c[1]), reverse=True) # Sort on matching case (prefer matching case) completions.sort(key=lambda c: c[1].startswith(prefix), reverse=True) # apply the best match bestMatchRow = completions[0][0] self.__completer.popup().setCurrentIndex(model.index(bestMatchRow, 0)) return True else: # No match, just hide self.autocompleteCancel() return False def potentiallyAutoComplete(self, event): """potentiallyAutoComplete(event) Given a keyEvent, check if we should perform an autocompletion. Returns 0 if no autocompletion was performed. Return 1 if autocompletion was performed, but the key event should be processed as normal. Return 2 if the autocompletion was performed, and the key should be consumed. """ if self.autocompleteActive(): if event.key() in self.__autocompletionAcceptKeys: if event.key() <= 128: self.onAutoComplete() # No arg: select last highlighted event.ignore() return 1 # Let key have effect as normal elif event.modifiers() == Qt.NoModifier: # The key self.onAutoComplete() # No arg: select last highlighted return 2 # Key should be consumed return 0 def keyPressEvent(self, event): key = event.key() modifiers = event.modifiers() if ( key == Qt.Key_Escape and modifiers == Qt.NoModifier and self.autocompleteActive() ): self.autocompleteCancel() return # Consume the key if self.potentiallyAutoComplete(event) > 1: return # Consume # Allowed keys that do not close the autocompleteList: # alphanumeric and _ ans shift # Backspace (until start of autocomplete word) if ( self.autocompleteActive() and not event.text().isalnum() and event.text() != "_" and key != Qt.Key_Shift and not ( (key == Qt.Key_Backspace) and self.textCursor().position() > self.__autocompleteStart.position() ) ): self.autocompleteCancel() # Apply the key that was pressed super(AutoCompletion, self).keyPressEvent(event) if self.autocompleteActive(): # While we type, the start of the autocompletion may move due to line # wrapping, so reposition after every key stroke self.__positionAutocompleter() self.__updateAutocompleterPrefix() pyzo-4.12.3/pyzo/codeeditor/extensions/behaviour.py000066400000000000000000000630231421373005400224640ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Code editor extensions that change its behaviour (i.e. how it reacts to keys) """ from ..qt import QtGui, QtCore Qt = QtCore.Qt import pyzo from ..misc import ustr, ce_option from ..parsers.tokens import ( CommentToken, IdentifierToken, StringToken, UnterminatedStringToken, ) from ..parsers.python_parser import MultilineStringToken from ..parsers import BlockState class MoveLinesUpDown(object): def keyPressEvent(self, event): if event.key() in (Qt.Key_Up, Qt.Key_Down) and ( Qt.ControlModifier & event.modifiers() and Qt.ShiftModifier & event.modifiers() ): cursor = self.textCursor() cursor.beginEditBlock() try: self._swaplines(cursor, event.key()) finally: cursor.endEditBlock() else: super().keyPressEvent(event) def _swaplines(self, cursor, key): # Get positions of selection start = cursor.selectionStart() end = cursor.selectionEnd() # Get text of selected blocks cursor.setPosition(start, cursor.MoveAnchor) cursor.movePosition(cursor.StartOfBlock, cursor.MoveAnchor) cursor.setPosition(end, cursor.KeepAnchor) cursor.movePosition(cursor.EndOfBlock, cursor.KeepAnchor) text1 = cursor.selectedText() cursor.removeSelectedText() pos1 = cursor.position() # Move up/down other = [cursor.NextBlock, cursor.PreviousBlock][int(bool(key == Qt.Key_Up))] cursor.movePosition(other, cursor.MoveAnchor) # Select text of other block cursor.movePosition(cursor.StartOfBlock, cursor.MoveAnchor) cursor.movePosition(cursor.EndOfBlock, cursor.KeepAnchor) text2 = cursor.selectedText() cursor.removeSelectedText() pos2 = cursor.position() # Insert text cursor.insertText(text1) pos3 = cursor.position() # Move back if key == Qt.Key_Up: cursor.movePosition(cursor.NextBlock, cursor.MoveAnchor) else: cursor.setPosition(pos1, cursor.MoveAnchor) pos2 += len(text2) pos3 += len(text2) # Replace text cursor.insertText(text2) # Leave original lines selected for continued movement cursor.setPosition(pos2, cursor.MoveAnchor) cursor.setPosition(pos3, cursor.KeepAnchor) self.setTextCursor(cursor) class ScrollWithUpDownKeys(object): def keyPressEvent(self, event): if ( event.key() in (Qt.Key_Up, Qt.Key_Down) and Qt.ControlModifier == event.modifiers() ): s = self.verticalScrollBar() # h = self.cursorRect(self.textCursor()).height() if event.key() == Qt.Key_Up: s.setValue(s.value() + 1) else: s.setValue(s.value() - 1) else: super().keyPressEvent(event) class HomeKey(object): def keyPressEvent(self, event): # Home or shift + home if event.key() == Qt.Key_Home and event.modifiers() in ( Qt.NoModifier, Qt.ShiftModifier, ): # Prepare cursor = self.textCursor() shiftDown = event.modifiers() == Qt.ShiftModifier moveMode = [cursor.MoveAnchor, cursor.KeepAnchor][shiftDown] # Get leading whitespace text = ustr(cursor.block().text()) leadingWhitespace = text[: len(text) - len(text.lstrip())] # Get current position and move to start of whitespace i = cursor.positionInBlock() cursor.movePosition(cursor.StartOfBlock, moveMode) cursor.movePosition(cursor.Right, moveMode, len(leadingWhitespace)) # If we were alread there, move to start of block if cursor.positionInBlock() == i: cursor.movePosition(cursor.StartOfBlock, moveMode) # Done self.setTextCursor(cursor) else: super().keyPressEvent(event) class EndKey(object): def keyPressEvent(self, event): if event.key() == Qt.Key_End and event.modifiers() in ( Qt.NoModifier, Qt.ShiftModifier, ): # Prepare cursor = self.textCursor() shiftDown = event.modifiers() == Qt.ShiftModifier moveMode = [cursor.MoveAnchor, cursor.KeepAnchor][shiftDown] # Get current position and move to end of line i = cursor.positionInBlock() cursor.movePosition(cursor.EndOfLine, moveMode) # If alread at end of line, move to end of block if cursor.positionInBlock() == i: cursor.movePosition(cursor.EndOfBlock, moveMode) # Done self.setTextCursor(cursor) else: super().keyPressEvent(event) class NumpadPeriodKey(object): """ If the numpad decimal separator key is pressed, always insert a period (.) even if due to localization that key is mapped to a comma (,). When editing code, period is the decimal separator independent of localization """ # NOTE: THIS PLUGIN IS DISABLED, see issue #720 def keyPressEvent(self, event): # Check for numpad comma if ( event.key() == QtCore.Qt.Key_Comma and event.modifiers() & QtCore.Qt.KeypadModifier ): # Create a new QKeyEvent to substitute the original one event = QtGui.QKeyEvent( event.type(), QtCore.Qt.Key_Period, event.modifiers(), ".", event.isAutoRepeat(), event.count(), ) super().keyPressEvent(event) class Indentation(object): def __cursorIsInLeadingWhitespace(self, cursor=None): """ Checks wether the given cursor is in the leading whitespace of a block, i.e. before the first non-whitespace character. The cursor is not modified. If the cursor is not given or is None, the current textCursor is used """ if cursor is None: cursor = self.textCursor() # Get the text of the current block up to the cursor textBeforeCursor = ustr(cursor.block().text())[: cursor.positionInBlock()] return ( textBeforeCursor.lstrip() == "" ) # If we trim it and it is empty, it's all whitespace def keyPressEvent(self, event): key = event.key() modifiers = event.modifiers() # Tab key if key == Qt.Key_Tab: if modifiers == Qt.NoModifier: if ( self.textCursor().hasSelection() ): # Tab pressed while some area was selected self.indentSelection() return elif self.__cursorIsInLeadingWhitespace(): # If the cursor is in the leading whitespace, indent and move cursor to end of whitespace cursor = self.textCursor() self.indentBlock(cursor) self.setTextCursor(cursor) return elif self.indentUsingSpaces(): # Insert space-tabs cursor = self.textCursor() w = self.indentWidth() cursor.insertText(" " * (w - ((cursor.positionInBlock() + w) % w))) return # else: default behaviour, insert tab character else: # Some other modifiers + Tab: ignore return # If backspace is pressed in the leading whitespace, (except for at the first # position of the line), and there is no selection # dedent that line and move cursor to end of whitespace if ( key == Qt.Key_Backspace and modifiers == Qt.NoModifier and self.__cursorIsInLeadingWhitespace() and not self.textCursor().atBlockStart() and not self.textCursor().hasSelection() ): # Create a cursor, dedent the block and move screen cursor to the end of the whitespace cursor = self.textCursor() self.dedentBlock(cursor) self.setTextCursor(cursor) return # todo: Same for delete, I think not (what to do with the cursor?) # Auto-unindent if key == Qt.Key_Delete: cursor = self.textCursor() if not cursor.hasSelection(): cursor.movePosition(cursor.EndOfBlock, cursor.KeepAnchor) if not cursor.hasSelection() and cursor.block().next().isValid(): cursor.beginEditBlock() cursor.movePosition(cursor.NextBlock) self.indentBlock(cursor, -99) # dedent as much as we can cursor.deletePreviousChar() cursor.endEditBlock() return super().keyPressEvent(event) class AutoIndent(object): """ Auto indentation. This extension only adds the autoIndent property, for the actual indentation, the editor should derive from some AutoIndenter object """ def autoIndent(self): """autoIndent() Get whether auto indentation is enabled. """ return self.__autoIndent @ce_option(True) def setAutoIndent(self, value): """setAutoIndent(value) Set whether to enable auto indentation. """ self.__autoIndent = bool(value) class PythonAutoIndent(object): def keyPressEvent(self, event): super().keyPressEvent(event) if not self.autoIndent(): return # This extension code is run *after* key is processed by QPlainTextEdit if event.key() in (Qt.Key_Enter, Qt.Key_Return): cursor = self.textCursor() # Prevent in-block newlines (issue #482) if not cursor.atBlockStart() and not cursor.hasSelection(): cursor.deletePreviousChar() cursor.insertBlock() cursor = self.textCursor() previousBlock = cursor.block().previous() if previousBlock.isValid(): line = ustr(previousBlock.text()) indent = line[: len(line) - len(line.lstrip())] if line.endswith(":"): # We only need to add indent if the : is not in a (multiline) # string or comment. Therefore, find out what the syntax # highlighter thinks of the previous line. ppreviousBlock = ( previousBlock.previous() ) # the block before previous ppreviousState = ( ppreviousBlock.userState() if previousBlock.isValid() else 0 ) lastElementToken = list( self.parser().parseLine(previousBlock.text(), ppreviousState) )[-1] # Because there's at least a : on that line, the list is never empty if not isinstance( lastElementToken, (CommentToken, UnterminatedStringToken, BlockState), ): # TODO: check correct identation (no mixed space/tabs) if self.indentUsingSpaces(): indent += " " * self.indentWidth() else: indent += "\t" cursor.insertText(indent) # This prevents jump to start of line when up key is pressed self.setTextCursor(cursor) class SmartCopyAndPaste(object): """ Smart copy and paste allows copying and pasting blocks """ @staticmethod def __setCursorPositionAndAnchor(cursor, position, anchor): cursor.setPosition(anchor) cursor.setPosition(position, cursor.KeepAnchor) @classmethod def __ensureCursorBeforeAnchor(cls, cursor): """ Given a cursor, modify it such that the cursor.position() is before or at cursor.anchor() and not the other way around. Returns: anchorBeforeCursor, i.e. whether originally the anchor was before the cursor """ start = cursor.selectionStart() end = cursor.selectionEnd() # Remember whether the cursor is before or after the anchor anchorBeforeCursor = cursor.anchor() < cursor.position() cls.__setCursorPositionAndAnchor(cursor, start, end) # Return wheter originally the cursor was before the anchor return anchorBeforeCursor def copy(self): """ Smart copy: if selection is multi-line and in front of the start of the selection there is only whitespace, extend the selection to include only whitespace """ cursor = self.textCursor() start = cursor.selectionStart() end = cursor.selectionEnd() # For our convenience, ensure that position is at start and # anchor is at the end, but remember whether originally the # anchor was before the cursor or the other way around anchorBeforeCursor = self.__ensureCursorBeforeAnchor(cursor) # Check if we have multi-line selection. block = cursor.block() # Use > not >= to ensure we don't count it as multi-line if the cursor # is just at the beginning of the next block (consistent with 'CodeEditor.doForSelectedLines') if end > (block.position() + block.length()): # Now check if there is only whitespace before the start of selection # If so, include this whitespace in the selection and update the # selection of the editor textBeforeSelection = block.text()[: cursor.positionInBlock()] if len(textBeforeSelection.strip()) == 0: start = block.position() # Move start to include leading whitespace # Update the textcursor of our editor. If originally the # anchor was before the cursor, restore that situation if anchorBeforeCursor: self.__setCursorPositionAndAnchor(cursor, end, start) else: self.__setCursorPositionAndAnchor(cursor, start, end) self.setTextCursor(cursor) # Call our supers copy slot to do the actual copying super().copy() def cut(self): """ Cutting with smart-copy: the part that is copies is the same as self.copy(), but the part that is removed is only the original selection see: Qt qtextcontrol.cpp, cut() """ if ( self.textInteractionFlags() & QtCore.Qt.TextEditable ) and self.textCursor().hasSelection(): cursor = self.textCursor() self.copy() # Restore original cursor self.setTextCursor(cursor) cursor.removeSelectedText() def paste(self): """ Smart paste If you paste on a position that has only whitespace in front of it, remove the whitespace before pasting. Combined with smart copy, this ensure indentation of the """ self._paste(keepSelection=False) def pasteAndSelect(self): """ Smart paste Like paste(), but keep the part that was pasted selected. This allows you to change the indentation after pasting using tab / shift-tab """ self._paste(keepSelection=True) def _paste(self, keepSelection): # Create a cursor of the current selection cursor = self.textCursor() # Ensure that position is at start and anchor is at the end. # This is required to ensure that with keepPositiobOnInsert # set, the cursor will equal the pasted text after the pasting self.__ensureCursorBeforeAnchor(cursor) # Change this cursor to let the position() stay at its place upon # inserting the new code; the anchor will move to the end of the insertion cursor.setKeepPositionOnInsert(True) super().paste() block = cursor.block() # Check if the thing to be pasted is multi-line. Use > not >= # to ensure we don't count it as multi-line if the cursor # is just at the beginning of the next block (consistent with # 'CodeEditor.doForSelectedLines') if cursor.selectionEnd() > block.position() + block.length(): # Now, check if in front of the current selection there is only whitespace if len(block.text()[: cursor.positionInBlock()].strip()) == 0: # Note that this 'smart pasting' will be a separate item on the # undo stack. This is intentional: the user can undo the 'smart paste' # without undoing the paste cursor2 = QtGui.QTextCursor(cursor) cursor2.setPosition( cursor2.position() ) # put the anchor where the cursor is # Move cursor2 to beginning of the line (selecting the whitespace) # and remove the selection cursor2.movePosition(cursor2.StartOfBlock, cursor2.KeepAnchor) cursor2.removeSelectedText() # Set the textcursor of this editor to the just-pasted selection if keepSelection: cursor.setKeepPositionOnInsert(False) self.setTextCursor(cursor) class AutoCloseQuotesAndBrackets(object): """ Automatic insertion of quotes, parenthesis, braces and brackets """ def _get_token_at_cursor(self, cursor=None, relpos=0): """Get token at the (current or given) cursor position. Can be None.""" if cursor is None: cursor = self.textCursor() pos = cursor.positionInBlock() + relpos tokens = cursor.block().userData().tokens token = None for token in tokens: if hasattr(token, "start"): if token.start >= pos: break elif getattr(token, "state", 0) in (1, 2): token = MultilineStringToken() # 1 and 2 are mls, by convention, sortof return token def keyPressEvent(self, event): try: self.__keyPressEvent(event) except Exception as err: # When there is a bug in our fancy autoclosing stuff, better print and # and have the plain behavior instead of not working ... print(err) super().keyPressEvent(event) def __keyPressEvent(self, event): quotes = "'", '"' openBrackets = "{", "[", "(" closeBrackets = "}", "]", ")" brackets = openBrackets + closeBrackets cursor = self.textCursor() char = event.text() # brackets if char in brackets and pyzo.config.settings.autoClose_Brackets: # Dont autobracket inside comments and strings if isinstance( self._get_token_at_cursor(cursor), ( CommentToken, StringToken, MultilineStringToken, UnterminatedStringToken, ), ): super().keyPressEvent(event) return if char in openBrackets: idx = openBrackets.index(char) next_char = self.__getNextCharacter() if cursor.selectedText(): # Surround selection with brackets new_text = ( openBrackets[idx] + cursor.selectedText() + closeBrackets[idx] ) cursor.setKeepPositionOnInsert(True) cursor.insertText(new_text) cursor.setKeepPositionOnInsert(False) self.setTextCursor(cursor) elif ( next_char.strip() and next_char not in closeBrackets ): # str.strip() conveniently removes all kinds of whitespace # Only autoclose if the char on the right is whitespace cursor.insertText(char) # == super().keyPressEvent(event) else: # Auto-close bracket insert_txt = "{}{}".format(openBrackets[idx], closeBrackets[idx]) cursor.insertText(insert_txt) self._moveCursorLeft(1) elif char in closeBrackets: idx = closeBrackets.index(char) next_char = self.__getNextCharacter() if cursor.selectedText(): # Replace cursor.insertText(char) elif next_char == char: # Skip self._moveCursorRight(1) else: # Normal cursor.insertText(char) # == super().keyPressEvent(event) # quotes elif char in quotes and pyzo.config.settings.autoClose_Quotes: next_char = self.__getNextCharacter() # Dont autoquote inside comments and multiline strings # Only allow "doing our thing" when we're at the end of a normal string token = self._get_token_at_cursor(cursor) if isinstance(token, (CommentToken, MultilineStringToken)): super().keyPressEvent(event) return elif isinstance(token, StringToken) and char != next_char: super().keyPressEvent(event) return if cursor.selectedText() in ('"', "'"): # Skip over char if its one char and a quote self._moveCursorRight(1) elif cursor.selectedText(): # Surround selection with quotes, maybe even multi-line new_text = char + cursor.selectedText() + char if "\u2029" in new_text and "python" in self.parser().name().lower(): new_text = char * 2 + new_text + char * 2 cursor.setKeepPositionOnInsert(True) cursor.insertText(new_text) cursor.setKeepPositionOnInsert(False) self.setTextCursor(cursor) elif next_char == char: # Skip self._moveCursorRight(1) else: # Only autoquote if we're next to whitespace, operator, quote notok_token_types = (IdentifierToken,) tokenL = self._get_token_at_cursor(cursor, -1) tokenR = self._get_token_at_cursor(cursor, -0) if isinstance(tokenL, notok_token_types) or isinstance( tokenR, notok_token_types ): super().keyPressEvent(event) return # Auto-close cursor.insertText(char * 2) self._moveCursorLeft(1) # # Maybe handle tripple quotes (add 2 more if we now have 3 on the left) # Disabled: this feature too easily gets in the way # if 'python' in self.parser().name().lower(): # cursor = self.textCursor() # cursor.movePosition(cursor.PreviousCharacter, cursor.KeepAnchor, 3) # if cursor.selectedText() == char * 3: # edit_cursor = self.textCursor() # edit_cursor.insertText(char * 2) # self._moveCursorLeft(2) # remove whole couple of brackets when hitting backspace elif ( event.key() == Qt.Key_Backspace and pyzo.config.settings.autoClose_Brackets ): if isinstance( self._get_token_at_cursor(cursor), ( CommentToken, StringToken, MultilineStringToken, UnterminatedStringToken, ), ): super().keyPressEvent(event) return else: prev_char = self.__getPreviousCharacter() next_char = self.__getNextCharacter() if prev_char == "(" and next_char == ")": cursor.deleteChar() elif prev_char == "[" and next_char == "]": cursor.deleteChar() elif prev_char == "{" and next_char == "}": cursor.deleteChar() super().keyPressEvent(event) else: super().keyPressEvent(event) def __getNextCharacter(self): cursor = self.textCursor() cursor.movePosition(cursor.NoMove, cursor.MoveAnchor) # rid selection cursor.movePosition(cursor.NextCharacter, cursor.KeepAnchor) next_char = cursor.selectedText() return next_char def __getPreviousCharacter(self): cursor = self.textCursor() cursor.movePosition(cursor.NoMove, cursor.MoveAnchor) # rid selection cursor.movePosition(cursor.PreviousCharacter, cursor.KeepAnchor) previous_char = cursor.selectedText() return previous_char def _moveCursorLeft(self, n): """ Move cursor left between eg. brackets """ cursor2 = self.textCursor() cursor2.movePosition(cursor2.Left, cursor2.MoveAnchor, n) self.setTextCursor(cursor2) def _moveCursorRight(self, n): """ Move cursor out of eg. brackets """ cursor2 = self.textCursor() cursor2.movePosition(cursor2.Right, cursor2.MoveAnchor, n) self.setTextCursor(cursor2) pyzo-4.12.3/pyzo/codeeditor/extensions/calltip.py000066400000000000000000000103761421373005400221330ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. from ..qt import QtCore, QtGui, QtWidgets # noqa Qt = QtCore.Qt class Calltip(object): _styleElements = [ ( "Editor.calltip", "The style of the calltip. ", "fore:#555, back:#ff9, border:1", ) ] class __CalltipLabel(QtWidgets.QLabel): def __init__(self): QtWidgets.QLabel.__init__(self) # Start hidden self.hide() # Accept rich text self.setTextFormat(QtCore.Qt.RichText) # Show as tooltip self.setIndent(2) self.setWindowFlags(QtCore.Qt.ToolTip) def enterEvent(self, event): # Act a bit like a tooltip self.hide() def __init__(self, *args, **kwds): super(Calltip, self).__init__(*args, **kwds) # Create label for call tips self.__calltipLabel = self.__CalltipLabel() # Be notified of style updates self.styleChanged.connect(self.__afterSetStyle) # Prevents calltips from being shown immediately after pressing # the escape key. self.__noshow = False def __afterSetStyle(self): format = self.getStyleElementFormat("editor.calltip") ss = "QLabel { color:%s; background:%s; border:%ipx solid %s; }" % ( format["fore"], format["back"], int(format["border"]), format["fore"], ) self.__calltipLabel.setStyleSheet(ss) def calltipShow(self, offset=0, richText="", highlightFunctionName=False): """calltipShow(offset=0, richText='', highlightFunctionName=False) Shows the given calltip. Parameters ---------- offset : int The character offset to show the tooltip. richText : str The text to show (may contain basic html for markup). highlightFunctionName : bool If True the text before the first opening brace is made bold. default False. """ # Do not show the calltip if it was deliberately hidden by the # user. if self.__noshow: return # Process calltip text? if highlightFunctionName: i = richText.find("(") if i > 0: richText = "{}{}".format(richText[:i], richText[i:]) # Get a cursor to establish the position to show the calltip startcursor = self.textCursor() startcursor.movePosition(startcursor.Left, n=offset) # Get position in pixel coordinates rect = self.cursorRect(startcursor) pos = rect.topLeft() pos.setY(pos.y() - rect.height() - 1) # Move one above line pos.setX(pos.x() - 3) # Correct for border and indent pos = self.viewport().mapToGlobal(pos) # Set text and update font self.__calltipLabel.setText(richText) self.__calltipLabel.setFont(self.font()) # Use a qt tooltip to show the calltip if richText: self.__calltipLabel.move(pos) self.__calltipLabel.show() else: self.__calltipLabel.hide() def calltipCancel(self): """calltipCancel() Hides the calltip. """ self.__calltipLabel.hide() def calltipActive(self): """calltipActive() Get whether the calltip is currently active. """ return self.__calltipLabel.isVisible() def focusOutEvent(self, event): super(Calltip, self).focusOutEvent(event) self.__calltipLabel.hide() def keyPressEvent(self, event): # If the user presses Escape and the calltip is active, hide it if ( event.key() == Qt.Key_Escape and event.modifiers() == Qt.NoModifier and self.calltipActive() ): self.calltipCancel() self.__noshow = True return if event.text() == "(": self.__noshow = False elif event.text() == ")": self.calltipCancel() # Proceed processing the keystrike super(Calltip, self).keyPressEvent(event) pyzo-4.12.3/pyzo/codeeditor/highlighter.py000066400000000000000000000112331421373005400205730ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module highlighter Defines the highlighter class for the base code editor class. It will do the styling when syntax highlighting is enabled. If it is not, will only check out indentation. """ from .qt import QtGui, QtCore Qt = QtCore.Qt from . import parsers from .misc import ustr class BlockData(QtGui.QTextBlockUserData): """Class to represent the data for a block.""" def __init__(self): QtGui.QTextBlockUserData.__init__(self) self.indentation = None self.fullUnderlineFormat = None self.tokens = [] # The highlighter should be part of the base class, because # some extensions rely on them (e.g. the indent guuides). class Highlighter(QtGui.QSyntaxHighlighter): def __init__(self, codeEditor, *args): QtGui.QSyntaxHighlighter.__init__(self, *args) # Store reference to editor self._codeEditor = codeEditor def getCurrentBlockUserData(self): """getCurrentBlockUserData() Gets the BlockData object. Creates one if necesary. """ bd = self.currentBlockUserData() if not isinstance(bd, BlockData): bd = BlockData() self.setCurrentBlockUserData(bd) return bd def highlightBlock(self, line): """highlightBlock(line) This method is automatically called when a line must be re-highlighted. If the code editor has an active parser. This method will use it to perform syntax highlighting. If not, it will only check out the indentation. """ # Make sure this is a Unicode Python string line = ustr(line) # Get previous state previousState = self.previousBlockState() # Get parser parser = None if hasattr(self._codeEditor, "parser"): parser = self._codeEditor.parser() # Get function to get format nameToFormat = self._codeEditor.getStyleElementFormat fullLineFormat = None tokens = [] if parser: self.setCurrentBlockState(0) tokens = list(parser.parseLine(line, previousState)) for token in tokens: # Handle block state if isinstance(token, parsers.BlockState): self.setCurrentBlockState(token.state) else: # Get format try: styleFormat = nameToFormat(token.name) charFormat = styleFormat.textCharFormat except KeyError: # print(repr(nameToFormat(token.name))) continue # Set format self.setFormat(token.start, token.end - token.start, charFormat) # Is this a cell? if (fullLineFormat is None) and styleFormat._parts.get( "underline", "" ) == "full": fullLineFormat = styleFormat # Get user data bd = self.getCurrentBlockUserData() # Store token list for future use (e.g. brace matching) bd.tokens = tokens # Handle underlines bd.fullUnderlineFormat = fullLineFormat # Get the indentation setting of the editors indentUsingSpaces = self._codeEditor.indentUsingSpaces() leadingWhitespace = line[: len(line) - len(line.lstrip())] if "\t" in leadingWhitespace and " " in leadingWhitespace: # Mixed whitespace bd.indentation = 0 format = QtGui.QTextCharFormat() format.setUnderlineStyle(QtGui.QTextCharFormat.SpellCheckUnderline) format.setUnderlineColor(QtCore.Qt.red) format.setToolTip("Mixed tabs and spaces") self.setFormat(0, len(leadingWhitespace), format) elif ("\t" in leadingWhitespace and indentUsingSpaces) or ( " " in leadingWhitespace and not indentUsingSpaces ): # Whitespace differs from document setting bd.indentation = 0 format = QtGui.QTextCharFormat() format.setUnderlineStyle(QtGui.QTextCharFormat.SpellCheckUnderline) format.setUnderlineColor(QtCore.Qt.blue) format.setToolTip("Whitespace differs from document setting") self.setFormat(0, len(leadingWhitespace), format) else: # Store info for indentation guides # amount of tabs or spaces bd.indentation = len(leadingWhitespace) pyzo-4.12.3/pyzo/codeeditor/license.txt000066400000000000000000000024751421373005400201160ustar00rootroot00000000000000Codeeditor is subject to the 2-Clause BSD license: Copyright (C) 2013, the codeeditor development team Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. pyzo-4.12.3/pyzo/codeeditor/manager.py000066400000000000000000000246231421373005400177160ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Codeeditor is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module manager This module contains a static class that can be used for some management tasks. """ import os, sys from .qt import QtGui, QtCore, QtWidgets # noqa Qt = QtCore.Qt from . import parsers class Manager: """Manager Static class to do some management tasks: * It manages the parsers * Getting style element descriptions of all parsers * Linking file extensions to parsers * Font information """ _defaultFontFamily = "dummy_font_family_name" # Static dict of all parsers _parserInstances = {} _fileExtensions = {} _shebangKeywords = {} ## Parsers # @classmethod # def collectParsersDynamically(cls): # """ insert the function is this module's namespace. # """ # # # Get the path of this subpackage # path = __file__ # path = os.path.dirname( os.path.abspath(path) ) # # # Determine if we're in a zipfile # i = path.find('.zip') # if i>0: # # get list of files from zipfile # path = path[:i+4] # z = zipfile.ZipFile(path) # files = [os.path.split(i)[-1] for i in z.namelist() # if 'codeeditor' in i and 'parsers' in i] # else: # # get list of files from file system # files = os.listdir(path) # # # Extract all parsers # parserModules = [] # for file in files: # # # Only python files # if file.endswith('.pyc'): # if file[:-1] in files: # continue # Only try import once # elif not file.endswith('.py'): # continue # # Only syntax files # if '_parser.' not in file: # continue # # # Import module # fullfile = os.path.join(path, file) # modname = os.path.splitext(file)[0] # print('modname', modname) # mod = __import__("codeeditor.parsers."+modname, fromlist=[modname]) # parserModules.append(mod) # # print(parserModules) @classmethod def _collectParsers(cls): """_collectParsers() Collect all parser classes. This function is called on startup. """ # Prepare (use a set to prevent duplicates) foundParsers = set() G = parsers.__dict__ ModuleClass = os.__class__ # Collect parser classes for module_name in G: # Check if it is indeed a module, and if it has the right name if not isinstance(G[module_name], ModuleClass): continue if not module_name.endswith("_parser"): continue # Collect all valid classes from the module moduleDict = G[module_name].__dict__ for name_in_module in moduleDict: ob = moduleDict[name_in_module] if isinstance(ob, type) and issubclass(ob, parsers.Parser): foundParsers.add(ob) # Put in list with the parser names as keys parserInstances = {} for parserClass in foundParsers: name = parserClass.getParserName() if name: # Try instantiating the parser try: parserInstances[name] = parserInstance = parserClass() except Exception: # We cannot get the exception object in a Python2/Python3 # compatible way print('Could not instantiate parser "%s".' % name) continue # Register extensions and shebang keywords for this parser for ext in parserInstance.filenameExtensions(): cls._fileExtensions[ext] = name for skw in parserInstance.shebangKeywords(): cls._shebangKeywords[skw] = name # Store cls._parserInstances = parserInstances @classmethod def getParserNames(cls): """getParserNames() Get a list of all available parsers. """ return list(cls._parserInstances.keys()) @classmethod def getParserByName(cls, parserName): """getParserByName(parserName) Get the parser object corresponding to the given name. If no parser is known by the given name, a warning message is printed and None is returned. """ if not parserName: return parsers.Parser() # Default dummy parser # Case insensitive parserName = parserName.lower() # Return instantiated parser object. if parserName in cls._parserInstances: return cls._parserInstances[parserName] else: print('Warning: no parser known by the name "%s".' % parserName) print("I know these: ", cls._parserInstances.keys()) return parsers.Parser() # Default dummy parser @classmethod def getStyleElementDescriptionsForAllParsers(cls): """getStyleElementDescriptionsForAllParsers() Get all style element descriptions corresponding to the tokens of all parsers. This function is used by the code editor to register all syntax element styles to the code editor class. """ descriptions = {} for parser in cls._parserInstances.values(): for token in parser.getUsedTokens(): description = token.description descriptions[description.key] = description return list(descriptions.values()) ## File extensions @classmethod def suggestParserfromFilenameExtension(cls, ext): """suggestParserfromFilenameExtension(ext) Given a filename extension, returns the name of the suggested parser corresponding to the language of the file. See also registerFilenameExtension() """ # Normalize ext ext = "." + ext.lstrip(".").lower() # Get parser if ext in cls._fileExtensions: return cls._fileExtensions[ext] else: return "" @classmethod def suggestParserfromText(cls, text): """suggestParserfromText(text) Given a text, returns the name of the suggested parser corresponding to the language of the file. See also registerShebangKeyword() """ shebangline = None for line in text[:1000].splitlines(): line = line.strip() if line.startswith("#!"): shebangline = line break if shebangline is None: return "" shebangline = shebangline[2:].split() # takes care of eventual space after #! if len(shebangline) == 0: return "" interpreter = os.path.basename(shebangline[0]) if interpreter == "env" and len(shebangline) > 1: interpreter = shebangline[1] # Get parser if interpreter in cls._shebangKeywords: return cls._shebangKeywords[interpreter] else: return "" @classmethod def suggestParser(cls, ext, text): """suggestParser(ext, text) Given a filename extension and text, returns the name of the suggested parser corresponding to the language of the file. See also registerFilenameExtension() and registerShebangKeyword() """ parser = cls.suggestParserfromText(text) if parser == "": parser = cls.suggestParserfromFilenameExtension(ext) parser = cls.getParserByName(parser).disambiguate(text) return parser @classmethod def registerFilenameExtension(cls, ext, parser): """registerFilenameExtension(ext, parser) Registers the given filename extension to the given parser. The parser can be a Parser instance or its name. This function can be used to register extensions to parsers that are not registered by default. """ # Normalize ext ext = "." + ext.lstrip(".").lower() # Check parser if isinstance(parser, parsers.Parser): parser = parser.name() # Register cls._fileExtensions[ext] = parser @classmethod def registerShebangKeyword(cls, shebangKeyword, parser): """registerShebangKeyword(shebangKeyword, parser) Registers the given shebang keyword (interpreter) to the given parser. The parser can be a Parser instance or its name. This function can be used to register shebang keywords to parsers that are not registered by default. """ # Check parser if isinstance(parser, parsers.Parser): parser = parser.name() # Register cls._shebangKeywords[shebangKeyword] = parser ## Fonts @classmethod def fontNames(cls): """fontNames() Get a list of all monospace fonts available on this system. """ db = QtGui.QFontDatabase() return [fn for fn in db.families() if db.isFixedPitch(fn)] @classmethod def setDefaultFontFamily(cls, name): """setDefaultFontFamily(name) Set the default (monospace) font family name for this system. This should be set only once during startup. """ cls._defaultFontFamily = name @classmethod def defaultFont(cls): """defaultFont() Get the default (monospace) font for this system. Returns a QFont object. """ # Get font family f = QtGui.QFont(cls._defaultFontFamily) f.setStyleHint(f.TypeWriter, f.PreferDefault) fi = QtGui.QFontInfo(f) family = fi.family() # Get the font size size = 9 if sys.platform.startswith("darwin"): # Account for Qt font size difference # http://qt-project.org/forums/viewthread/27201 # Win/linux use 96 ppi, OS X uses 72 -> 133% ratio size = int(size * 1.33333 + 0.4999) # Done return QtGui.QFont(family, size) # Init try: Manager._collectParsers() except Exception as why: print("Error collecting parsers") print(why) pyzo-4.12.3/pyzo/codeeditor/misc.py000066400000000000000000000054031421373005400172320ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module misc Defined ustr (Unicode string) class and the option property decorator. """ import sys from .qt import QtGui, QtCore, QtWidgets # noqa # Set Python version and get some names PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION < 3: ustr = unicode # noqa bstr = str from Queue import Queue, Empty else: ustr = str bstr = bytes from queue import Queue, Empty DEFAULT_OPTION_NAME = "_ce_default_value" DEFAULT_OPTION_NONE = "_+_just some absurd value_+_" def ce_option(arg1): """Decorator for properties of the code editor. It should be used on the setter function, with its default value as an argument. The default value is then stored on the function object. At the end of the initialization, the base codeeditor class will check all members and (by using the default-value-attribute as a flag) select the ones that are options. These are then set to their default values. Similarly this information is used by the setOptions method to know which members are "options". """ # If the decorator is used without arguments, arg1 is the function # being decorated. If arguments are used, arg1 is the argument, and # we should return a callable that is then used as a decorator. # Create decorator function. def decorator_fun(f): f.__dict__[DEFAULT_OPTION_NAME] = default return f # Handle default = DEFAULT_OPTION_NONE if hasattr(arg1, "__call__"): return decorator_fun(arg1) else: default = arg1 return decorator_fun class _CallbackEventHandler(QtCore.QObject): """Helper class to provide the callLater function.""" def __init__(self): QtCore.QObject.__init__(self) self.queue = Queue() def customEvent(self, event): while True: try: callback, args = self.queue.get_nowait() except Empty: break try: callback(*args) except Exception as why: print("callback failed: {}:\n{}".format(callback, why)) def postEventWithCallback(self, callback, *args): self.queue.put((callback, args)) QtWidgets.qApp.postEvent(self, QtCore.QEvent(QtCore.QEvent.User)) def callLater(callback, *args): """callLater(callback, *args) Post a callback to be called in the main thread. """ _callbackEventHandler.postEventWithCallback(callback, *args) # Create callback event handler instance and insert function in Pyzo namespace _callbackEventHandler = _CallbackEventHandler() pyzo-4.12.3/pyzo/codeeditor/parsers/000077500000000000000000000000001421373005400174025ustar00rootroot00000000000000pyzo-4.12.3/pyzo/codeeditor/parsers/__init__.py000066400000000000000000000135171421373005400215220ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Codeeditor is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Subpackage parsers This subpackage contains all the syntax parsers for the different languages. """ """ CREATING PARSERS Making a parser requires these things: * Place a module in the parsers directory, which has a name ending in "_parser.py" * In the module implement one or more classes that inherit from ..parsers.Parser (or a derived class), and implement the parseLine method. * The module should import all the tokens in whiches to use from ..parsers.tokens. New tokens can also be defined by subclassing one of the token classes. * In codeeditor/parsers/__init__.py, add the new module to the list of imported parsers. """ import sys from . import tokens if sys.version_info[0] >= 3: text_type = str else: text_type = unicode # noqa class BlockState(object): """BlockState(state=0, info=None) The blockstate object should be used by parsers to return the block state of the processed line. This would typically be the last item to be yielded, but this it may also be yielded befor the last yielded token. One can even yield multiple of these items, in which case the last one considered valid. """ isToken = False def __init__(self, state=0, info=None): self._state = int(state) self._info = info @property def state(self): """The integer value representing the block state.""" return self._state @property def info(self): """Get the information corresponding to the block.""" return self._info # Base parser class (needs to be defined before importing parser modules) class Parser(object): """Base parser class. All parsers should inherit from this class. This base class generates a 'TextToken' for each line """ _extensions = [] _shebangKeywords = [] _keywords = [] @classmethod def getParserName(cls): name = cls.__name__ if name.endswith("Parser") and len(name) >= 6: name = name[:-6].lower() return name @classmethod def disambiguate(cls, text): return cls.getParserName() def parseLine(self, line, previousState=0): """parseLine(line, previousState=0) The method that should be implemented by the parser. The previousState argument can be used to determine how the previous block ended (e.g. for multiline comments). It is an integer, the meaning of which is only known to the specific parser. This method should yield token instances. The last token can be a BlockState to specify the previousState for the next block. """ yield tokens.TextToken(line, 0, len(line)) def name(self): """name() Get the name of the parser. """ name = self.__class__.__name__.lower() if name.endswith("parser"): name = name[:-6] return name def __repr__(self): """String representation of the parser.""" return '' % self.name() def keywords(self): """keywords() Get a list of keywords valid for this parser. """ return [k for k in self._keywords] def filenameExtensions(self): """filenameExtensions() Get a list of filename extensions for which this parser is appropriate. """ return ["." + e.lstrip(".").lower() for e in self._extensions] def shebangKeywords(self): """shebangKeywords() Get a list of shebang keywords for which this parser is appropriate. """ return self._shebangKeywords.copy() def getStyleElementDescriptions(cls): """getStyleElementDescriptions() This method returns a list of the StyleElementDescription instances used by this parser. """ descriptions = {} for token in cls.getUsedTokens(cls): descriptions[token.description.key] = token.description return list(descriptions.values()) def getUsedTokens(self): """getUsedTokens() Get a a list of token instances used by this parser. """ # Get module object of the parser try: mod = sys.modules[self.__module__] except KeyError: return [] # Get token classes from module tokenClasses = [] for name in mod.__dict__: member = mod.__dict__[name] if isinstance(member, type) and issubclass(member, tokens.Token): if member is not tokens.Token: tokenClasses.append(member) # Return as instances return [t() for t in tokenClasses] def _isTodoItem(self, text): """_isTodoItem(text) Get whether the given text (which should be a comment) represents a todo item. Todo items start with "todo", "2do" or "fixme", optionally with a colon at the end. """ # Get first word word = text.lstrip().split(" ", 1)[0].rstrip(":") # Test if word.lower() in ["todo", "2do", "fixme"]: return True else: return False ## Import parsers statically # We could load the parser dynamically from the source files in the # directory, but this takes quite some effort to get righ when apps # are frozen. This is doable (I do it in Visvis) but it requires the # user to specify the parser modules by hand when freezing an app. # # In summary: it takes a lot of trouble, which can be avoided by just # listing all parsers here. from . import python_parser # noqa from . import cython_parser # noqa from . import c_parser # noqa from . import s_expr_parser # noqa pyzo-4.12.3/pyzo/codeeditor/parsers/c_parser.py000066400000000000000000000157371421373005400215670ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. import re from . import Parser, BlockState, text_type from .tokens import ALPHANUM from .tokens import ( Token, CommentToken, StringToken, UnterminatedStringToken, IdentifierToken, NonIdentifierToken, KeywordToken, NumberToken, ) # todo: compiler directives (or how do you call these things starting with #) class MultilineCommentToken(CommentToken): """Characters representing a multi-line comment.""" defaultStyle = "fore:#007F00" class CharToken(Token): """Single-quoted char""" defaultStyle = "fore:#7F007F" # This regexp is used to find special stuff, such as comments, numbers and # strings. tokenProg = re.compile( "([" + ALPHANUM + "_]+)|" + "(\/\/)|" # Identifiers/numbers (group 1) or + "(\/\*)|" # Single line comment (group 2) + "('\\\\?.')|" # Comment (group 3) or + '(")' # char (group 4) # string (group 5) ) # For a string, get the RegExp # program that matches the end. (^|[^\\]) means: start of the line # or something that is not \ (since \ is supposed to escape the following # quote) (\\\\)* means: any number of two slashes \\ since each slash will # escape the next one stringEndProg = re.compile(r'(^|[^\\])(\\\\)*"') commentEndProg = re.compile(r"\*/") class CParser(Parser): """A C parser.""" _extensions = [".c", ".h", ".cpp", "cxx", "hxx"] _keywords = ["int", "const", "char", "void", "short", "long", "case"] def parseLine(self, line, previousState=0): """parseLine(line, previousState=0) Parses a line of C code, yielding tokens. """ line = text_type(line) pos = 0 # Position following the previous match # identifierState and previousstate values: # 0: nothing special # 1: string # 2: multiline comment /* */ # First determine whether we should look for the end of a string, # or if we should process a token. if previousState == 1: token = StringToken(line, 0, 0) tokens = self._findEndOfString(line, token) # Process tokens for token in tokens: yield token if isinstance(token, BlockState): return pos = token.end elif previousState == 2: token = MultilineCommentToken(line, 0, 0) tokens = self._findEndOfComment(line, token) # Process tokens for token in tokens: yield token if isinstance(token, BlockState): return pos = token.end # Enter the main loop that iterates over the tokens and skips strings while True: # Get next tokens tokens = self._findNextToken(line, pos) if not tokens: return elif isinstance(tokens[-1], StringToken): moreTokens = self._findEndOfString(line, tokens[-1]) tokens = tokens[:-1] + moreTokens elif isinstance(tokens[-1], MultilineCommentToken): moreTokens = self._findEndOfComment(line, tokens[-1]) tokens = tokens[:-1] + moreTokens # Process tokens for token in tokens: yield token if isinstance(token, BlockState): return pos = token.end def _findEndOfComment(self, line, token): """Find the matching comment end in the rest of the line""" # Do not use the start parameter of search, since ^ does not work then endMatch = commentEndProg.search(line, token.end) if endMatch: # The comment does end on this line token.end = endMatch.end() return [token] else: # The comment does not end on this line token.end = len(line) return [token, BlockState(2)] def _findEndOfString(self, line, token): """Find the matching string end in the rest of the line""" # todo: distinguish between single and double quote strings # Find the matching end in the rest of the line # Do not use the start parameter of search, since ^ does not work then endMatch = stringEndProg.search(line[token.end :]) if endMatch: # The string does end on this line token.end = token.end + endMatch.end() return [token] else: # The string does not end on this line if line.strip().endswith("\\"): # Multi line string token = StringToken(line, token.start, len(line)) return [token, BlockState(1)] else: return [UnterminatedStringToken(line, token.start, len(line))] def _findNextToken(self, line, pos): """_findNextToken(line, pos): Returns a token or None if no new tokens can be found. """ # Init tokens, if positing too large, stop now if pos > len(line): return None tokens = [] # Find the start of the next string or comment match = tokenProg.search(line, pos) # Process the Non-Identifier between pos and match.start() # or end of line nonIdentifierEnd = match.start() if match else len(line) # Return the Non-Identifier token if non-null token = NonIdentifierToken(line, pos, nonIdentifierEnd) if token: tokens.append(token) # If no match, we are done processing the line if not match: return tokens # The rest is to establish what identifier we are dealing with # Identifier ("a word or number") Find out whether it is a key word if match.group(1) is not None: identifier = match.group(1) tokenArgs = line, match.start(), match.end() if identifier in self._keywords: tokens.append(KeywordToken(*tokenArgs)) elif identifier[0] in "0123456789": # identifierState = 0 tokens.append(NumberToken(*tokenArgs)) else: tokens.append(IdentifierToken(*tokenArgs)) # Single line comment elif match.group(2) is not None: tokens.append(CommentToken(line, match.start(), len(line))) elif match.group(3) is not None: tokens.append(MultilineCommentToken(line, match.start(), match.end())) elif match.group(4) is not None: # Char tokens.append(CharToken(line, match.start(), match.end())) else: # We have matched a string-start tokens.append(StringToken(line, match.start(), match.end())) # Done return tokens if __name__ == "__main__": parser = CParser() for token in parser.parseLine("void test(int i=2) /* test "): print("%s %s" % (token.name, token)) pyzo-4.12.3/pyzo/codeeditor/parsers/cython_parser.py000066400000000000000000000035761421373005400226470ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. # Import tokens in module namespace from .python_parser import PythonParser, pythonKeywords # Set keywords cythonExtraKeywords = set( ["cdef", "cpdef", "ctypedef", "cimport", "float", "double", "int", "long"] ) class CythonParser(PythonParser): """Parser for Cython/Pyrex.""" _extensions = ["pyi", ".pyx", ".pxd"] _keywords = pythonKeywords | cythonExtraKeywords def _identifierState(self, identifier=None): """Given an identifier returs the identifier state: 3 means the current identifier can be a function. 4 means the current identifier can be a class. 0 otherwise. This method enables storing the state during the line, and helps the Cython parser to reuse the Python parser's code. This implementation keeps a counter. If the counter is 0, the state is zero. """ if identifier is None: # Explicit get and reset state = 0 try: if self._idsCounter > 0: state = self._idsState except Exception: pass self._idsState = 0 self._idsCounter = 0 return state elif identifier in ["def", "cdef", "cpdef"]: # Set function state self._idsState = 3 self._idsCounter = 2 return 3 elif identifier == "class": # Set class state self._idsState = 4 self._idsCounter = 1 return 4 elif self._idsCounter > 0: self._idsCounter -= 1 return self._idsState else: # This one can be func or class, next one can't return 0 pyzo-4.12.3/pyzo/codeeditor/parsers/python_parser.py000066400000000000000000000510021421373005400226470ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. import re from . import Parser, BlockState, text_type from .tokens import ALPHANUM from ..misc import ustr # Import tokens in module namespace from .tokens import ( CommentToken, StringToken, UnterminatedStringToken, IdentifierToken, NonIdentifierToken, KeywordToken, BuiltinsToken, InstanceToken, NumberToken, FunctionNameToken, ClassNameToken, TodoCommentToken, OpenParenToken, CloseParenToken, IllegalToken, ) # Keywords sets # Source: import keyword; keyword.kwlist (Python 2.6.6) python2Keywords = set( [ "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", "except", "exec", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "not", "or", "pass", "print", "raise", "return", "try", "while", "with", "yield", ] ) # Source: import keyword; keyword.kwlist (Python 3.1.2) python3Keywords = set( [ "False", "None", "True", "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield", "async", "await", ] ) # Merge the two sets to get a general Python keyword list pythonKeywords = python2Keywords | python3Keywords # Builtins sets # Source: dir (__builtins__) (Python 2.7.12) python2Builtins = set( [ "ArithmeticError", "AssertionError", "AttributeError", "BaseException", "BufferError", "BytesWarning", "DeprecationWarning", "EOFError", "Ellipsis", "EnvironmentError", "Exception", "False", "FloatingPointError", "FutureWarning", "GeneratorExit", "IOError", "ImportError", "ImportWarning", "IndentationError", "IndexError", "KeyError", "KeyboardInterrupt", "LookupError", "MemoryError", "NameError", "None", "NotImplemented", "NotImplementedError", "OSError", "OverflowError", "PendingDeprecationWarning", "ReferenceError", "RuntimeError", "RuntimeWarning", "StandardError", "StopIteration", "SyntaxError", "SyntaxWarning", "SystemError", "SystemExit", "TabError", "True", "TypeError", "UnboundLocalError", "UnicodeDecodeError", "UnicodeEncodeError", "UnicodeError", "UnicodeTranslateError", "UnicodeWarning", "UserWarning", "ValueError", "Warning", "ZeroDivisionError", "__debug__", "__doc__", "__import__", "__name__", "__package__", "abs", "all", "any", "apply", "basestring", "bin", "bool", "buffer", "bytearray", "bytes", "callable", "chr", "classmethod", "cmp", "coerce", "compile", "complex", "copyright", "credits", "delattr", "dict", "dir", "divmod", "enumerate", "eval", "execfile", "exit", "file", "filter", "float", "format", "frozenset", "getattr", "globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "intern", "isinstance", "issubclass", "iter", "len", "license", "list", "locals", "long", "map", "max", "memoryview", "min", "next", "object", "oct", "open", "ord", "pow", "print", "property", "quit", "range", "raw_input", "reduce", "reload", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", "staticmethod", "str", "sum", "super", "tuple", "type", "unichr", "unicode", "vars", "xrange", "zip", ] ) # Source: import builtins; dir(builtins) (Python 3.5.2) # Note: Removed 'False', 'None', 'True'. They are keyword in Python 3 python3Builtins = set( [ "ArithmeticError", "AssertionError", "AttributeError", "BaseException", "BlockingIOError", "BrokenPipeError", "BufferError", "BytesWarning", "ChildProcessError", "ConnectionAbortedError", "ConnectionError", "ConnectionRefusedError", "ConnectionResetError", "DeprecationWarning", "EOFError", "Ellipsis", "EnvironmentError", "Exception", "FileExistsError", "FileNotFoundError", "FloatingPointError", "FutureWarning", "GeneratorExit", "IOError", "ImportError", "ImportWarning", "IndentationError", "IndexError", "InterruptedError", "IsADirectoryError", "KeyError", "KeyboardInterrupt", "LookupError", "MemoryError", "NameError", "NotADirectoryError", "NotImplemented", "NotImplementedError", "OSError", "OverflowError", "PendingDeprecationWarning", "PermissionError", "ProcessLookupError", "RecursionError", "ReferenceError", "ResourceWarning", "RuntimeError", "RuntimeWarning", "StopAsyncIteration", "StopIteration", "SyntaxError", "SyntaxWarning", "SystemError", "SystemExit", "TabError", "TimeoutError", "TypeError", "UnboundLocalError", "UnicodeDecodeError", "UnicodeEncodeError", "UnicodeError", "UnicodeTranslateError", "UnicodeWarning", "UserWarning", "ValueError", "Warning", "ZeroDivisionError", "__build_class__", "__debug__", "__doc__", "__import__", "__loader__", "__name__", "__package__", "__spec__", "abs", "all", "any", "ascii", "bin", "bool", "bytearray", "bytes", "callable", "chr", "classmethod", "compile", "complex", "copyright", "credits", "delattr", "dict", "dir", "divmod", "enumerate", "eval", "exec", "exit", "filter", "float", "format", "frozenset", "getattr", "globals", "hasattr", "hash", "help", "hex", "id", "input", "int", "isinstance", "issubclass", "iter", "len", "license", "list", "locals", "map", "max", "memoryview", "min", "next", "object", "oct", "open", "ord", "pow", "print", "property", "quit", "range", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", "staticmethod", "str", "sum", "super", "tuple", "type", "vars", "zip", ] ) # Merge the two sets to get a general Python builtins list pythonBuiltins = python2Builtins | python3Builtins # Instance sets python2Instance = set(["self"]) python3Instance = set(["self"]) pythonInstance = python2Instance | python3Instance class MultilineStringToken(StringToken): """Characters representing a multi-line string.""" defaultStyle = "fore:#7F0000" class CellCommentToken(CommentToken): """Characters representing a cell separator comment: "##".""" defaultStyle = "bold:yes, underline:yes" # This regexp is used to find special stuff, such as comments, numbers and # strings. tokenProg = re.compile( "#|" + "([" # Comment or + ALPHANUM + "_]+)|" + "(" # Identifiers/numbers (group 1) or + "([bB]|[uU])?" # Begin of string group (group 2) + "[rR]?" # Possibly bytes or unicode (py2.x) + "(\"\"\"|'''|\"|')" # Possibly a raw string + ")|" # String start (triple qoutes first, group 4) + "(\(|\[|\{)|" # End of string group + "(\)|\]|\})|" # Opening parenthesis (gr 5) + "(" # Closing parenthesis (gr 6) + chr(160) + ")" # non-breaking space (gr 7) ) # For a given type of string ( ', " , ''' , """ ),get the RegExp # program that matches the end. (^|[^\\]) means: start of the line # or something that is not \ (since \ is supposed to escape the following # quote) (\\\\)* means: any number of two slashes \\ since each slash will # escape the next one endProgs = { "'": re.compile(r"(^|[^\\])(\\\\)*'"), '"': re.compile(r'(^|[^\\])(\\\\)*"'), "'''": re.compile(r"(^|[^\\])(\\\\)*'''"), '"""': re.compile(r'(^|[^\\])(\\\\)*"""'), } class PythonParser(Parser): """Parser for Python in general.""" _extensions = [] _shebangKeywords = [] # The list of keywords is overridden by the Python2/3 specific parsers _keywords = set() # The list of builtins and instances is overridden by the Python2/3 specific parsers _builtins = set() _instance = set() def _identifierState(self, identifier=None): """Given an identifier returs the identifier state: 3 means the current identifier can be a function. 4 means the current identifier can be a class. 0 otherwise. This method enables storing the state during the line, and helps the Cython parser to reuse the Python parser's code. """ if identifier is None: # Explicit get/reset try: state = self._idsState except Exception: state = 0 self._idsState = 0 return state elif identifier == "def": # Set function state self._idsState = 3 return 3 elif identifier == "class": # Set class state self._idsState = 4 return 4 else: # This one can be func or class, next one can't state = self._idsState self._idsState = 0 return state def parseLine(self, line, previousState=0): """parseLine(line, previousState=0) Parse a line of Python code, yielding tokens. previousstate is the state of the previous block, and is used to handle line continuation and multiline strings. """ line = text_type(line) # Init pos = 0 # Position following the previous match # identifierState and previousstate values: # 0: nothing special # 1: multiline comment single qoutes # 2: multiline comment double quotes # 3: a def keyword # 4: a class keyword # Handle line continuation after def or class # identifierState is 3 or 4 if the previous identifier was 3 or 4 if previousState == 3 or previousState == 4: self._identifierState({3: "def", 4: "class"}[previousState]) else: self._identifierState(None) if previousState in [1, 2]: token = MultilineStringToken(line, 0, 0) token._style = ["", "'''", '"""'][previousState] tokens = self._findEndOfString(line, token) # Process tokens for token in tokens: yield token if isinstance(token, BlockState): return pos = token.end # Enter the main loop that iterates over the tokens and skips strings while True: # Get next tokens tokens = self._findNextToken(line, pos) if not tokens: return elif isinstance(tokens[-1], StringToken): moreTokens = self._findEndOfString(line, tokens[-1]) tokens = tokens[:-1] + moreTokens # Process tokens for token in tokens: yield token if isinstance(token, BlockState): return pos = token.end def _findEndOfString(self, line, token): """_findEndOfString(line, token) Find the end of a string. Returns (token, endToken). The first is the given token or a replacement (UnterminatedStringToken). The latter is None, or the BlockState. If given, the line is finished. """ # Set state self._identifierState(None) # Find the matching end in the rest of the line # Do not use the start parameter of search, since ^ does not work then style = token._style endMatch = endProgs[style].search(line[token.end :]) if endMatch: # The string does end on this line tokenArgs = line, token.start, token.end + endMatch.end() if style in ['"""', "'''"]: token = MultilineStringToken(*tokenArgs) else: token.end = token.end + endMatch.end() return [token] else: # The string does not end on this line tokenArgs = line, token.start, token.end + len(line) if style == "'''": return [MultilineStringToken(*tokenArgs), BlockState(1)] elif style == '"""': return [MultilineStringToken(*tokenArgs), BlockState(2)] else: return [UnterminatedStringToken(*tokenArgs)] def _findNextToken(self, line, pos): """_findNextToken(line, pos): Returns a token or None if no new tokens can be found. """ # Init tokens, if pos too large, were done if pos > len(line): return None tokens = [] # Find the start of the next string or comment match = tokenProg.search(line, pos) # Process the Non-Identifier between pos and match.start() # or end of line nonIdentifierEnd = match.start() if match else len(line) # Return the Non-Identifier token if non-null # todo: here it goes wrong (allow returning more than one token?) token = NonIdentifierToken(line, pos, nonIdentifierEnd) strippedNonIdentifier = ustr(token).strip() if token: tokens.append(token) # Do checks for line continuation and identifierState # Is the last non-whitespace a line-continuation character? if strippedNonIdentifier.endswith("\\"): lineContinuation = True # If there are non-whitespace characters after def or class, # cancel the identifierState if strippedNonIdentifier != "\\": self._identifierState(None) else: lineContinuation = False # If there are non-whitespace characters after def or class, # cancel the identifierState if strippedNonIdentifier != "": self._identifierState(None) # If no match, we are done processing the line if not match: if lineContinuation: tokens.append(BlockState(self._identifierState())) return tokens # The rest is to establish what identifier we are dealing with # Comment if match.group() == "#": matchStart = match.start() if not line[:matchStart].strip() and ( line[matchStart:].startswith("##") or line[matchStart:].startswith("#%%") or line[matchStart:].startswith("# %%") ): tokens.append(CellCommentToken(line, matchStart, len(line))) elif self._isTodoItem(line[matchStart + 1 :]): tokens.append(TodoCommentToken(line, matchStart, len(line))) else: tokens.append(CommentToken(line, matchStart, len(line))) if lineContinuation: tokens.append(BlockState(self._identifierState())) return tokens # If there are non-whitespace characters after def or class, # cancel the identifierState (this time, also if there is just a \ # since apparently it was not on the end of a line) if strippedNonIdentifier != "": self._identifierState(None) # Identifier ("a word or number") Find out whether it is a key word if match.group(1) is not None: identifier = match.group(1) tokenArgs = line, match.start(), match.end() # Set identifier state identifierState = self._identifierState(identifier) if identifier in self._keywords: tokens.append(KeywordToken(*tokenArgs)) elif identifier in self._builtins and ( "." + identifier not in line and "def " + identifier not in line ): tokens.append(BuiltinsToken(*tokenArgs)) elif identifier in self._instance: tokens.append(InstanceToken(*tokenArgs)) elif identifier[0] in "0123456789": self._identifierState(None) tokens.append(NumberToken(*tokenArgs)) else: if identifierState == 3 and line[match.end() :].lstrip().startswith( "(" ): tokens.append(FunctionNameToken(*tokenArgs)) elif identifierState == 4: tokens.append(ClassNameToken(*tokenArgs)) else: tokens.append(IdentifierToken(*tokenArgs)) elif match.group(2) is not None: # We have matched a string-start # Find the string style ( ' or " or ''' or """) token = StringToken(line, match.start(), match.end()) token._style = match.group(4) # The style is in match group 4 tokens.append(token) elif match.group(5) is not None: token = OpenParenToken(line, match.start(), match.end()) token._style = match.group(5) tokens.append(token) elif match.group(6) is not None: token = CloseParenToken(line, match.start(), match.end()) token._style = match.group(6) tokens.append(token) elif match.group(7) is not None: token = IllegalToken(line, match.start(), match.end()) token._style = match.group(7) tokens.append(token) # Done return tokens class PythonParser(PythonParser): # Ambiguous Python parser """Parser for either Python2 or Python3, and we do not know which.""" _extensions = [".py", ".pyw"] _shebangKeywords = ["python"] # The list of keywords is overridden by the Python2/3 specific parsers _keywords = pythonKeywords # The list of builtins and instances is overridden by the Python2/3 specific parsers _builtins = pythonBuiltins _instance = pythonInstance @classmethod def disambiguate(cls, text): # try to look into the source... # or ... well, ppl should use Python3. Use a shebang to annotate a Python file as Python 2 return "python3" class Python2Parser(PythonParser): """Parser for Python 2.x code.""" # The application should choose whether to set the Py 2 specific parser _extensions = [] _shebangKeywords = ["python2"] _keywords = python2Keywords _builtins = python2Builtins _instance = python2Instance class Python3Parser(PythonParser): """Parser for Python 3.x code.""" # The application should choose whether to set the Py 3 specific parser _extensions = [] _shebangKeywords = ["python3"] _keywords = python3Keywords _builtins = python3Builtins _instance = python3Instance pyzo-4.12.3/pyzo/codeeditor/parsers/s_expr_parser.py000066400000000000000000000113431421373005400226320ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2018, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. from . import Parser, BlockState, text_type # Import tokens in module namespace from .tokens import ( CommentToken, StringToken, UnterminatedStringToken, IdentifierToken, ClassNameToken, KeywordToken, NumberToken, OpenParenToken, CloseParenToken, ) class SExprParser(Parser): """Parser for S-expressions.""" _extensions = [".lisp", ".ss", ".sls", ".scm"] _keywords = [] # can be overloaded def parseLine(self, line, comment_level=0): """parseLine(line, comment_level=0) Parse a line of code, yielding tokens. previousstate is the state of the previous block, and is used to handle line continuation and multiline strings. """ line = text_type(line) if comment_level < 0: comment_level = 0 if comment_level > 0: token = CommentToken(line, 0, 0) pos = 0 while pos < len(line): pos = self._skip_whitespace(line, pos) if pos >= len(line): break # Parse block comments if line[pos] == "(" and pos < len(line) - 1 and line[pos + 1] == ";": if comment_level == 0: token = CommentToken(line, pos, pos) comment_level += 1 pos += 1 elif line[pos] == ";" and pos < len(line) - 1 and line[pos + 1] == ")": if comment_level == 1: token.end = pos + 2 yield token comment_level = max(0, comment_level - 1) pos += 1 elif comment_level > 0: pos += 1 else: # Outside of block comments ... if line[pos] == ";" and pos < len(line) - 1 and line[pos + 1] == ";": yield CommentToken(line, pos, len(line)) pos = len(line) elif line[pos] == "(": token = OpenParenToken(line, pos, pos + 1) token._style = "(" yield token pos += 1 elif line[pos] == ")": token = CloseParenToken(line, pos, pos + 1) token._style = ")" yield token pos += 1 elif line[pos] == '"': i0 = pos esc = False for i in range(i0 + 1, len(line)): if not esc and line[i] == '"': pos = i + 1 yield StringToken(line, i0, pos) break esc = line[i] == "\\" else: yield UnterminatedStringToken(line, i0, len(line)) pos = len(line) else: # word: number, keyword or normal identifier i0 = pos for i in range(i0, len(line)): if line[i] in " \t\r\n)": yield self._get_token_for_word(line, i0, i) pos = i break else: pos = len(line) yield self._get_token_for_word(line, i0, len(line)) if comment_level > 0: token.end = len(line) yield token yield BlockState(comment_level) def _skip_whitespace(self, line, pos): while pos < len(line): if line[pos] not in " \t\r\n": break pos += 1 return pos def _get_token_for_word(self, line, i0, i1): word = line[i0:i1] is_number = False try: float(word) is_number = True except ValueError: pass if is_number or word.startswith("$"): return NumberToken(line, i0, i1) elif word in self._keywords: # highlight extra return ClassNameToken(line, i0, i1) # ClassNameToken or FunctionNameToken elif i0 > 0 and line[i0 - 1] == "(": # First element in expression is "keyword" return KeywordToken(line, i0, i1) else: return IdentifierToken(line, i0, i1) class WatParser(SExprParser): """Parser for textual WASM (WAT) code.""" _extensions = [".wat", ".wast"] _keywords = [ "module", "type", "import", "func", "table", "memory", "global", "export", "start", "element", "data", ] pyzo-4.12.3/pyzo/codeeditor/parsers/tokens.py000066400000000000000000000121641421373005400212630ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module tokens Defines the base Token class and a few generic tokens. Tokens are used by parsers to identify for groups of characters what they represent. This is in turn used by the highlighter to determine how these characters should be styled. """ # Many parsers need this ALPHANUM = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" from ..style import StyleFormat, StyleElementDescription from ..misc import ustr class Token(object): """Token(line, start, end) Base token class. A token is a group of characters representing "something". What is represented, is specified by the subclass. Each token class should have a docstring describing the meaning of the characters it is applied to. """ defaultStyle = "fore:#000, bold:no, underline:no, italic:no" isToken = True # For the BlockState object, which is also returned by the parsers, this is False def __init__(self, line="", start=0, end=0): self.line = ustr(line) self.start = start self.end = end self._name = self._getName() def __str__(self): # on 2.x we use __unicode__ return self.line[self.start : self.end] def __unicode__(self): # for py 2.x return self.line[self.start : self.end] def __repr__(self): return repr("%s:%s" % (self.name, self)) def __len__(self): # Defining a length also gives a Token a boolean value: True if there # are any characters (len!=0) and False if there are none return self.end - self.start def _getName(self): """Get the name of this token.""" nameParts = ["Syntax"] if "_parser" in self.__module__: language = self.__module__.split("_")[0] language = language.split(".")[-1] nameParts.append(language[0].upper() + language[1:]) nameParts.append(self.__class__.__name__[:-5].lower()) return ".".join(nameParts) def getDefaultStyleFormat(self): elements = [] def collect(cls): if hasattr(cls, "defaultStyle"): elements.append(cls.defaultStyle) for c in cls.__bases__: collect(c) collect(self.__class__) se = StyleFormat() for e in reversed(elements): se.update(e) return se @property def name(self): """The name of this token. Used to identify it and attach a style.""" return self._name @property def description(self): """description() Returns a StyleElementDescription instance that describes the style element that this token represents. """ format = self.getDefaultStyleFormat() des = "syntax: " + self.__doc__ return StyleElementDescription(self.name, des, str(format)) class CommentToken(Token): """Characters representing a comment in the code.""" defaultStyle = "fore:#007F00" class TodoCommentToken(CommentToken): """Characters representing a comment in the code.""" defaultStyle = "fore:#E00,italic" class StringToken(Token): """Characters representing a textual string in the code.""" defaultStyle = "fore:#7F007F" class UnterminatedStringToken(StringToken): """Characters belonging to an unterminated string.""" defaultStyle = "underline:dotted" # todo: request from user: whitespace token class TextToken(Token): """Anything that is not a string or comment.""" defaultStyle = "fore:#000" class IdentifierToken(TextToken): """Characters representing normal text (i.e. words).""" defaultStyle = "" class NonIdentifierToken(TextToken): """Not a word (operators, whitespace, etc.).""" defaultStyle = "" class KeywordToken(IdentifierToken): """A keyword is a word with a special meaning to the language.""" defaultStyle = "fore:#00007F, bold:yes" class BuiltinsToken(IdentifierToken): """Characters representing a builtins in the code.""" defaultStyle = "" class InstanceToken(IdentifierToken): """Characters representing a instance in the code.""" defaultStyle = "" class NumberToken(IdentifierToken): """Characters represening a number.""" defaultStyle = "fore:#007F7F" class FunctionNameToken(IdentifierToken): """Characters represening the name of a function.""" defaultStyle = "fore:#007F7F, bold:yes" class ClassNameToken(IdentifierToken): """Characters represening the name of a class.""" defaultStyle = "fore:#0000FF, bold:yes" class ParenthesisToken(TextToken): """Parenthesis (and square and curly brackets).""" defaultStyle = "" class OpenParenToken(ParenthesisToken): """Opening parenthesis (and square and curly brackets).""" defaultStyle = "" class CloseParenToken(ParenthesisToken): """Closing parenthesis (and square and curly brackets).""" defaultStyle = "" class IllegalToken(Token): """Illegal tokens, eg. NBSP .""" defaultStyle = "back:#ffd7c7" pyzo-4.12.3/pyzo/codeeditor/qt.py000066400000000000000000000001651421373005400167230ustar00rootroot00000000000000# This is the one place where codeeditor depends on Pyzo itself from pyzo.qt import QtCore, QtGui, QtWidgets # noqa pyzo-4.12.3/pyzo/codeeditor/style.py000066400000000000000000000200321421373005400174320ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, the codeeditor development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Modyule style Provides basic functionaliy for styling. Styling is done using a dictionary of StyleFormat instances. Each such instance reprsents a certain element being styled (e.g. keywords, line numbers, indentation guides). All possible style elements are represented using StyleElementDescription instances. These have a name, description and default format, which makes it easy to build a UI to allow the user to change the syle. """ from .qt import QtGui, QtCore Qt = QtCore.Qt class StyleElementDescription: """StyleElementDescription(name, defaultFormat, description) Describes a style element by its name, default format, and description. A style description is a simple placeholder for something that can be styled. """ def __init__(self, name, description, defaultFormat): self._name = name self._description = description self._defaultFormat = StyleFormat(defaultFormat) def __repr__(self): return '<"%s": "%s">' % (self.name, self.defaultFormat) @property def name(self): return self._name @property def key(self): return self._name.replace(" ", "").lower() @property def description(self): return self._description @property def defaultFormat(self): return self._defaultFormat class StyleFormat: """StyleFormat(format='') Represents the style format for a specific style element. A "style" is a dictionary that maps names (of style elements) to StyleFormat instances. The given format can be a string or another StyleFormat instance. Style formats can be combined using their update() method. A style format consists of multiple parts, where each "part" consists of a key and a value. The keys can be anything, depending on what kind of thing is being styled. The value can be obtained using the index operator (e.g. styleFomat['fore']) For a few special keys, properties are defined that return the Qt object corresponding to the value. These values are also buffered to enable fast access. These keys are: * fore: (QColor) the foreground color * back: (QColor) the background color * bold: (bool) whether the text should be bold * italic: (bool) whether the text should be in italic * underline: (int) whether an underline should be used (and which one) * linestyle: (int) what line style to use (e.g. for indent guides) * textCharFOrmat: (QTextCharFormat) for the syntax styles The format neglects spaces and case. Parts are separated by commas or semicolons. If only a key is given it's value is interpreted as 'yes'. If only a color is given, its key is interpreted as 'fore' and back. Colors should be given using the '#' hex formatting. An example format string: 'fore:#334, bold, underline:dotLine' By calling str(styleFormatInstance) the string representing of the format can be obtained. By iterating over the instance, a series of key-value pairs is obtained. """ def __init__(self, format=""): self._parts = {} self.update(format) def _resetProperties(self): self._fore = None self._back = None self._bold = None self._italic = None self._underline = None self._linestyle = None self._textCharFormat = None def __str__(self): """Get a (cleaned up) string representation of this style format.""" parts = [] for key in self._parts: parts.append("%s:%s" % (key, self._parts[key])) return ", ".join(parts) def __repr__(self): return '' % str(self) def __getitem__(self, key): try: return self._parts[key] except KeyError: raise KeyError("Invalid part key " + key + " for style format.") def __iter__(self): """Yields a series of tuples (key, val).""" parts = [] for key in self._parts: parts.append((key, self._parts[key])) return parts.__iter__() def update(self, format): """update(format) Update this style format with the given format. """ # Reset buffered values self._resetProperties() # Make a string, so we update the format with the given one if isinstance(format, StyleFormat): format = str(format) # Split on ',' and ',', ignore spaces styleParts = [p for p in format.replace("=", ":").replace(";", ",").split(",")] for stylePart in styleParts: # Make sure it consists of identifier and value pair # e.g. fore:#xxx, bold:yes, underline:no if ":" not in stylePart: if stylePart.startswith("#"): stylePart = "foreandback:" + stylePart else: stylePart += ":yes" # Get key value and strip and make lowecase key, _, val = [i.strip().lower() for i in stylePart.partition(":")] # Store in parts if key == "foreandback": self._parts["fore"] = val self._parts["back"] = val elif key: self._parts[key] = val ## Properties def _getValueSafe(self, key): try: return self._parts[key] except KeyError: return "no" @property def fore(self): if self._fore is None: self._fore = QtGui.QColor(self._parts["fore"]) return self._fore @property def back(self): if self._back is None: self._back = QtGui.QColor(self._parts["back"]) return self._back @property def bold(self): if self._bold is None: if self._getValueSafe("bold") in ["yes", "true"]: self._bold = True else: self._bold = False return self._bold @property def italic(self): if self._italic is None: if self._getValueSafe("italic") in ["yes", "true"]: self._italic = True else: self._italic = False return self._italic @property def underline(self): if self._underline is None: val = self._getValueSafe("underline") if val in ["yes", "true"]: self._underline = QtGui.QTextCharFormat.SingleUnderline elif val in ["dotted", "dots", "dotline"]: self._underline = QtGui.QTextCharFormat.DotLine elif val in ["wave"]: self._underline = QtGui.QTextCharFormat.WaveUnderline else: self._underline = QtGui.QTextCharFormat.NoUnderline return self._underline @property def linestyle(self): if self._linestyle is None: val = self._getValueSafe("linestyle") if val in ["yes", "true"]: self._linestyle = Qt.SolidLine elif val in ["dotted", "dot", "dots", "dotline"]: self._linestyle = Qt.DotLine elif val in ["dashed", "dash", "dashes", "dashline"]: self._linestyle = Qt.DashLine else: self._linestyle = Qt.SolidLine # default to solid return self._linestyle @property def textCharFormat(self): if self._textCharFormat is None: self._textCharFormat = QtGui.QTextCharFormat() self._textCharFormat.setForeground(self.fore) try: # not all styles have a back property self._textCharFormat.setBackground(self.back) except Exception: pass self._textCharFormat.setUnderlineStyle(self.underline) if self.bold: self._textCharFormat.setFontWeight(QtGui.QFont.Bold) if self.italic: self._textCharFormat.setFontItalic(True) return self._textCharFormat pyzo-4.12.3/pyzo/codeeditor/textutils.py000066400000000000000000000127761421373005400203570ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. class TextReshaper: """Object to reshape a piece of text, taking indentation, paragraphs, comments and bulletpoints into account. """ def __init__(self, lw, margin=3): self.lw = lw self.margin = margin self._lines1 = [] self._lines2 = [] self._wordBuffer = [] self._charsInBuffer = -1 # First word ads one extra self._pendingPrefix = None # A one-shot prefix self._currentPrefix = None # The prefix used until a new prefix is set @classmethod def reshapeText(cls, text, lw): tr = cls(lw) tr.pushText(text) return tr.popText() def pushLine(self, line): """Push a single line to the input.""" self._lines1.append(line.rstrip()) def pushText(self, text): """Push a (multiline) text to the input.""" for line in text.splitlines(): self.pushLine(line) def popLines(self): """Get all available lines from the output.""" try: while True: self._popLine() except StopIteration: self._flush() return [line for line in self._lines2] def popText(self): """Get all text from the output (i.e. lines joined with newline).""" return "\n".join(self.popLines()) def _prefixString(self): if self._pendingPrefix is not None: prefix = self._pendingPrefix self._pendingPrefix = None return prefix else: return self._currentPrefix or "" def _addWordToBuffer(self, word): self._wordBuffer.append(word) self._charsInBuffer += len(word) + 1 # add one for space def _flush(self): if self._wordBuffer: self._lines2.append(self._prefixString() + " ".join(self._wordBuffer)) self._wordBuffer, self._charsInBuffer = [], -1 def _addNewParagraph(self): # Flush remaining words self._flush() # Create empty line prefix = self._currentPrefix or "" prefix = " " * len(prefix) self._lines2.append(prefix) # Allow new prefix self._currentPrefix = None def _popLine(self): """Pop a line from the input. Examine how it starts and convert it to words. """ # Pop line try: line = self._lines1.pop(0) except IndexError: raise StopIteration() # Strip the line strippedline1 = line.lstrip() strippedline2 = line.lstrip(" \t#*") # Analyze this line (how does it start?) if not strippedline1: self._addNewParagraph() return elif strippedline1.startswith("* "): self._flush() indent = len(line) - len(strippedline1) linePrefix = line[:indent] self._pendingPrefix = linePrefix + "* " self._currentPrefix = linePrefix + " " else: # Hey, an actual line! Determine prefix indent = len(line) - len(strippedline1) linePrefix = line[:indent] # Check comments if strippedline1.startswith("#"): linePrefix += "# " # What to do now? if linePrefix != self._currentPrefix: self._flush() self._currentPrefix = linePrefix # Process words one by one... for word in strippedline2.split(" "): self._addWordToBuffer(word) currentLineWidth = self._charsInBuffer + len(self._currentPrefix) if currentLineWidth < self.lw: # Not enough words in buffer yet pass elif len(self._wordBuffer) > 1: # Enough words to compose a line marginWith = currentLineWidth - self.lw marginWithout = self.lw - (currentLineWidth - len(word)) if marginWith < marginWithout and marginWith < self.margin: # add all buffered words self._flush() else: # add all buffered words (except last) self._wordBuffer.pop(-1) self._flush() self._addWordToBuffer(word) else: # This single word covers more than one line self._flush() testText = """ # This is a piece # of comment Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. # Indented comments # should work # as well skdb-a-very-long-word-ksdbfksasdvbassdfhjsdfbjdfbvhjdbvhjbdfhjvbdfjbvjdfbvjdfbvjdbfvj A change in indentation makes it a separate line sdckj bsdkjcb sdc sdckj foo bar aap noot mies * Bullet points are preserved * Even if they are very long the should be preserved. I know that brevity is a great virtue but you know, sometimes you just need those extra words to make a point. """ if __name__ == "__main__": print(TextReshaper.reshapeText(testText, 70)) pyzo-4.12.3/pyzo/core/000077500000000000000000000000001421373005400145325ustar00rootroot00000000000000pyzo-4.12.3/pyzo/core/__init__.py000066400000000000000000000003511421373005400166420ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Package core - the core of Pyzo. """ pyzo-4.12.3/pyzo/core/about.py000066400000000000000000000074601421373005400162250ustar00rootroot00000000000000import os import sys from pyzo.qt import QtCore, QtGui, QtWidgets from pyzo import qt import pyzo from pyzo.util import paths class AboutDialog(QtWidgets.QDialog): def __init__(self, parent): QtWidgets.QDialog.__init__(self, parent) self.setWindowTitle(pyzo.translate("menu dialog", "About Pyzo")) self.resize(600, 500) # Layout layout = QtWidgets.QVBoxLayout(self) self.setLayout(layout) # Create image and title im = QtGui.QPixmap( os.path.join(pyzo.pyzoDir, "resources", "appicons", "pyzologo64.png") ) imlabel = QtWidgets.QLabel(self) imlabel.setPixmap(im) textlabel = QtWidgets.QLabel(self) textlabel.setText("

Pyzo: the Interactive Editor for Python

") # titleLayout = QtWidgets.QHBoxLayout() titleLayout.addWidget(imlabel, 0) titleLayout.addWidget(textlabel, 1) # layout.addLayout(titleLayout, 0) # Create tab bar self._tabs = QtWidgets.QTabWidget(self) self._tabs.setDocumentMode(True) layout.addWidget(self._tabs, 1) # Create button box self._butBox = QtWidgets.QDialogButtonBox(self) self._butBox.setOrientation(QtCore.Qt.Horizontal) self._butBox.setStandardButtons(self._butBox.Close) layout.addWidget(self._butBox, 0) # Signals self._butBox.rejected.connect(self.close) # Create tabs self.createGeneralTab() def addTab(self, title, text, rich=True): # Create label to show info label = QtWidgets.QTextEdit(self) label.setLineWrapMode(label.WidgetWidth) label.setReadOnly(True) # Set text if rich: label.setHtml(text) else: label.setText(text) # Add to tab bar self._tabs.addTab(label, title) # Done return label def createGeneralTab(self): aboutText = """ {}

Version info
Pyzo version: {}
Platform: {}
Python version: {}
Qt version: {}
{} version: {}

Pyzo directories
Pyzo source directory: {}
Pyzo config directory: {}
Pyzo userdata directory: {}

License
Pyzo is open source, it's code is distributed under the 2-Clause BSD license.

Contributors
Pyzo is coded with ♥ by Almar Klein and over 30 contributors:
https://github.com/pyzo/pyzo/graphs/contributors

Acknowledgements
Pyzo is written in Python 3 and uses the Qt widget toolkit. Pyzo uses code and concepts that are inspired by IPython, Pype, and Spyder. Pyzo uses a (modified) subset of the silk icon set, by Mark James (http://www.famfamfam.com/lab/icons/silk/). """ # Determine if this is PyQt or Pyside qtWrapper = qt.API_NAME qtVersion = qt.QT_VERSION qtWrapperVersion = qt.PYSIDE_VERSION or qt.PYQT_VERSION # Insert information texts if paths.is_frozen(): versionText = pyzo.__version__ + " (binary)" else: versionText = pyzo.__version__ + " (source)" aboutText = aboutText.format( "Pyzo - Python to the people!", versionText, sys.platform, sys.version.split(" ")[0], qtVersion, qtWrapper, qtWrapperVersion, pyzo.pyzoDir, pyzo.appConfigDir, pyzo.appDataDir, ) self.addTab("General", aboutText) if __name__ == "__main__": # pyzo.license = {'name': 'AK', 'company': ''} m = AboutDialog(None) m.show() pyzo-4.12.3/pyzo/core/assistant.py000066400000000000000000000216111421373005400171160ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # Author: Windel Bouwman # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Tool that can view qt help files via the qthelp engine. Run make_docs.sh from: https://bitbucket.org/windel/qthelpdocs Copy the "docs" directory to the pyzo root! """ from pyzo.qt import QtCore, QtGui, QtWidgets # noqa from pyzo import getResourceDirs import os help_help = """

Documentation

Welcome to the Pyzo assistant. Pyzo uses the Qt Help system for documentation. This is also used by the Qt Assistant. You can use this viewer to view documentation provided by other projects.

Add documentation

To add documentation to Pyzo, go to the settings tab and select add. Then select a Qt Compressed Help file (*.qch). qch-files can be found in the Qt installation directory (for example in /usr/share/doc/qt under linux). For other projects you can download pre-build qch files from here: https://github.com/windelbouwman/qthelpdocs/releases.

Note When a documentation file is added, it is not copied into the pyzo settings dir, so you have to leave this file in place.

""" tool_name = "Assistant" tool_summary = "Browse qt help documents" class Settings(QtWidgets.QWidget): def __init__(self, engine): super().__init__() self._engine = engine layout = QtWidgets.QVBoxLayout(self) add_button = QtWidgets.QPushButton("Add") del_button = QtWidgets.QPushButton("Delete") self._view = QtWidgets.QListView() layout.addWidget(self._view) layout2 = QtWidgets.QHBoxLayout() layout2.addWidget(add_button) layout2.addWidget(del_button) layout.addLayout(layout2) self._model = QtCore.QStringListModel() self._view.setModel(self._model) self._model.setStringList(self._engine.registeredDocumentations()) add_button.clicked.connect(self.add_doc) del_button.clicked.connect(self.del_doc) def add_doc(self): doc_file = QtWidgets.QFileDialog.getOpenFileName( self, "Select a compressed help file", filter="Qt compressed help files (*.qch)", ) if isinstance(doc_file, tuple): doc_file = doc_file[0] self.add_doc_do(doc_file) def add_doc_do(self, doc_file): ok = self._engine.registerDocumentation(doc_file) if ok: self._model.setStringList(self._engine.registeredDocumentations()) else: QtWidgets.QMessageBox.critical(self, "Error", "Error loading doc") def del_doc(self): idx = self._view.currentIndex() if idx.isValid(): doc_file = self._model.data(idx, QtCore.Qt.DisplayRole) self.del_doc_do(doc_file) def del_doc_do(self, doc_file): self._engine.unregisterDocumentation(doc_file) self._model.setStringList(self._engine.registeredDocumentations()) class HelpBrowser(QtWidgets.QTextBrowser): """Override textbrowser to implement load resource""" def __init__(self, engine): super().__init__() self._engine = engine # Override default navigation behavior: self.anchorClicked.connect(self.handle_url) self.setOpenLinks(False) def handle_url(self, url): """Open external urls not in this viewer""" if url.scheme() in ["http", "https"]: QtGui.QDesktopServices.openUrl(url) else: self.setSource(url) def loadResource(self, typ, url): if url.scheme() == "qthelp": return self._engine.fileData(url) else: return super().loadResource(typ, url) class PyzoAssistant(QtWidgets.QWidget): """ Show help contents and browse qt help files. """ def __init__(self, parent=None, collection_filename=None): """ Initializes an assistance instance. When collection_file is none, it is determined from the appDataDir. """ from pyzo.qt import QtHelp super().__init__(parent) self.setWindowTitle("Help") pyzoDir, appDataDir, appConfigDir = getResourceDirs() if collection_filename is None: # Collection file is stored in pyzo data dir: collection_filename = os.path.join(appDataDir, "tools", "docs.qhc") self._engine = QtHelp.QHelpEngine(collection_filename) # Important, call setup data to load the files: self._engine.setupData() # If no files are loaded, register at least the pyzo docs: if len(self._engine.registeredDocumentations()) == 0: doc_file = os.path.join(pyzoDir, "resources", "pyzo.qch") self._engine.registerDocumentation(doc_file) # The main players: self._content = self._engine.contentWidget() self._index = self._engine.indexWidget() self._indexTab = QtWidgets.QWidget() il = QtWidgets.QVBoxLayout(self._indexTab) filter_text = QtWidgets.QLineEdit() il.addWidget(filter_text) il.addWidget(self._index) self._helpBrowser = HelpBrowser(self._engine) self._searchEngine = self._engine.searchEngine() self._settings = Settings(self._engine) self._progress = QtWidgets.QWidget() pl = QtWidgets.QHBoxLayout(self._progress) bar = QtWidgets.QProgressBar() bar.setMaximum(0) pl.addWidget(QtWidgets.QLabel("Indexing")) pl.addWidget(bar) self._searchResultWidget = self._searchEngine.resultWidget() self._searchQueryWidget = self._searchEngine.queryWidget() self._searchTab = QtWidgets.QWidget() search_layout = QtWidgets.QVBoxLayout(self._searchTab) search_layout.addWidget(self._searchQueryWidget) search_layout.addWidget(self._searchResultWidget) tab = QtWidgets.QTabWidget() tab.addTab(self._content, "Contents") tab.addTab(self._indexTab, "Index") tab.addTab(self._searchTab, "Search") tab.addTab(self._settings, "Settings") splitter = QtWidgets.QSplitter(self) splitter.addWidget(tab) splitter.addWidget(self._helpBrowser) layout = QtWidgets.QVBoxLayout(self) layout.addWidget(splitter) layout.addWidget(self._progress) # Connect clicks: self._content.linkActivated.connect(self._helpBrowser.setSource) self._index.linkActivated.connect(self._helpBrowser.setSource) self._searchEngine.searchingFinished.connect(self.onSearchFinish) self._searchEngine.indexingStarted.connect(self.onIndexingStarted) self._searchEngine.indexingFinished.connect(self.onIndexingFinished) filter_text.textChanged.connect(self._index.filterIndices) self._searchResultWidget.requestShowLink.connect(self._helpBrowser.setSource) self._searchQueryWidget.search.connect(self.goSearch) # Always re-index on startup: self._searchEngine.reindexDocumentation() self._search_term = None # Show initial page: # self.showHelpForTerm('welcome to pyzo') self._helpBrowser.setHtml(help_help) def goSearch(self): query = self._searchQueryWidget.query() self._searchEngine.search(query) def onIndexingStarted(self): self._progress.show() def onIndexingFinished(self): self._progress.hide() def find_best_page(self, hits): if self._search_term is None: url, _ = hits[0] return url try: # Try to find max with fuzzy wuzzy: from fuzzywuzzy import fuzz url, title = max( hits, key=lambda hit: fuzz.ratio(hit[1], self._search_term) ) return url except ImportError: pass # Find exact page title: for url2, page_title in hits: if page_title == self._search_term: url = url2 return url for url2, page_title in hits: if self._search_term in page_title: url = url2 return url # Pick first hit: url, _ = hits[0] return url def onSearchFinish(self, hits): if hits == 0: return hits = self._searchEngine.hits(0, hits) if not hits: return url = self.find_best_page(hits) self._helpBrowser.setSource(QtCore.QUrl(url)) def showHelpForTerm(self, name): from pyzo.qt import QtHelp # Cache for later use: self._search_term = name # Create a query: query = QtHelp.QHelpSearchQuery(QtHelp.QHelpSearchQuery.DEFAULT, [name]) self._searchEngine.search([query]) if __name__ == "__main__": app = QtWidgets.QApplication([]) view = PyzoAssistant() view.show() app.exec() pyzo-4.12.3/pyzo/core/baseTextCtrl.py000066400000000000000000000571171421373005400175230ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module baseTextCtrl Defines the base text control to be inherited by the shell and editor classes. Implements styling, introspection and a bit of other stuff that is common for both shells and editors. """ import pyzo import os, time from pyzo.core.pyzoLogging import print import pyzo.codeeditor.parsers.tokens as Tokens from pyzo.qt import QtCore, QtGui, QtWidgets qt = QtGui # Define style stuff subStyleStuff = {} # subStyleStuff = { 'face': Qsci.QsciScintillaBase.SCI_STYLESETFONT , # 'fore': Qsci.QsciScintillaBase.SCI_STYLESETFORE, # 'back': Qsci.QsciScintillaBase.SCI_STYLESETBACK, # 'size': Qsci.QsciScintillaBase.SCI_STYLESETSIZE, # 'bold': Qsci.QsciScintillaBase.SCI_STYLESETBOLD, # 'italic': Qsci.QsciScintillaBase.SCI_STYLESETITALIC, # 'underline': Qsci.QsciScintillaBase.SCI_STYLESETUNDERLINE} def normalizePath(path): """Normalize the path given. All slashes will be made the same (and doubles removed) The real case as stored on the file system is recovered. Returns None on error. """ # normalize path = os.path.abspath(path) # make sure it is defined from the drive up path = os.path.normpath(path) # If does not exist, return as is. # This also happens if the path's case is incorrect and the # file system is case sensitive. That's ok, because the stuff we # do below is intended to get the path right on case insensitive # file systems. if not os.path.isfile(path): return path # split drive name from the rest drive, rest = os.path.splitdrive(path) fullpath = drive.upper() + os.sep # make lowercase and split in parts parts = rest.lower().split(os.sep) parts = [part for part in parts if part] for part in parts: options = [x for x in os.listdir(fullpath) if x.lower() == part] if len(options) > 1: print("Error normalizing path: Ambiguous path names!") return path elif not options: print("Invalid path (part %s) in %s" % (part, fullpath)) return path fullpath = os.path.join(fullpath, options[0]) # remove last sep return fullpath def parseLine_autocomplete(tokens): """Given a list of tokens (from start to cursor position) returns a tuple (base, name). autocomp_parse("eat = banan") -> "", "banan" ...("eat = food.fruit.ban") -> "food.fruit", "ban" When no match found, both elements are an empty string. """ if not len(tokens): return "", "" if isinstance(tokens[-1], Tokens.NonIdentifierToken) and str(tokens[-1]) == ".": name = "" elif isinstance(tokens[-1], (Tokens.IdentifierToken, Tokens.KeywordToken)): name = str(tokens[-1]) else: return "", "" needle = "" # Now go through the remaining tokens in reverse order for token in tokens[-2::-1]: if isinstance(token, Tokens.NonIdentifierToken) and str(token) == ".": needle = str(token) + needle elif isinstance(token, (Tokens.IdentifierToken, Tokens.KeywordToken)): needle = str(token) + needle else: break if needle.endswith("."): needle = needle[:-1] return needle, name def parseLine_signature(tokens): """Given a list of tokens (from start to cursor position) returns a tuple (name, needle, stats). stats is another tuple: - location of end bracket - amount of kommas till cursor (taking nested brackets into account) """ openBraces = [] # Positions at which braces are opened for token in tokens: if not isinstance( token, (Tokens.NonIdentifierToken, Tokens.OpenParenToken, Tokens.CloseParenToken), ): continue for i, c in enumerate(str(token)): if c == "(": openBraces.append(token.start + i) elif c == ")": if len(openBraces): openBraces.pop() if len(openBraces): i = openBraces[-1] # Now trim the token list up to (but not inculding) position of openBraces tokens = list(filter(lambda token: token.start < i, tokens)) # Trim the last token if len(tokens): tokens[-1].end = i name, needle = parseLine_autocomplete(tokens) return name, needle, (i, 0) # TODO: implement stats else: return "", "", (0, 0) def makeBytes(text): """Make sure the argument is bytes, converting with UTF-8 encoding if it is a string.""" if isinstance(text, bytes): return text elif isinstance(text, str): return text.encode("utf-8") else: raise ValueError("Expected str or bytes!") _allScintillas = [] def getAllScintillas(): """Get a list of all the scintialla editing components that derive from BaseTextCtrl. Used mainly by the menu. """ for i in reversed(range(len(_allScintillas))): e = _allScintillas[i]() if e is None: _allScintillas.pop(i) else: yield e pyzo.getAllScintillas = getAllScintillas from pyzo import codeeditor class BaseTextCtrl(codeeditor.CodeEditor): """The base text control class. Inherited by the shell class and the Pyzo editor. The class implements autocompletion, calltips, and auto-help Inherits from QsciScintilla. I tried to clean up the rather dirty api by using more sensible names. Hereby I apply the following rules: - if you set something, the method starts with "set" - if you get something, the method starts with "get" - a position is the integer position fron the start of the document - a linenr is the number of a line, an index the position on that line - all the above indices apply to the bytes (encoded utf-8) in which the text is stored. If you have unicode text, they do not apply! - the method name mentions explicityly what you get. getBytes() returns the bytes of the document, getString() gets the unicode string that it represents. This applies to the get-methods. the set-methods use the term text, and automatically convert to bytes using UTF-8 encoding when a string is given. """ def __init__(self, *args, **kwds): super().__init__(*args, **kwds) # Set style/theme try: theme = pyzo.themes[pyzo.config.settings.theme.lower()]["data"] self.setStyle(theme) # autocomplete popup theme if pyzo.config.view.get("autoComplete_withTheme", False): editor_text_theme = theme["editor.text"].split(",") popup_background = editor_text_theme[1].split(":")[1] popup_text = editor_text_theme[0].split(":")[1] autoComplete_theme = "color: {}; background-color:{};".format( popup_text, popup_background ) self.completer().popup().setStyleSheet(autoComplete_theme) except Exception as err: print("Could not load theme: " + str(err)) # Set font and zooming self.setFont(pyzo.config.view.fontname) self.setZoom(pyzo.config.view.zoom) self.setShowWhitespace(pyzo.config.view.showWhitespace) self.setHighlightMatchingBracket(pyzo.config.view.highlightMatchingBracket) # Create timer for autocompletion delay self._delayTimer = QtCore.QTimer(self) self._delayTimer.setSingleShot(True) self._delayTimer.timeout.connect(self._introspectNow) # For buffering autocompletion and calltip info self._callTipBuffer_name = "" self._callTipBuffer_time = 0 self._callTipBuffer_result = "" self._autoCompBuffer_name = "" self._autoCompBuffer_time = 0 self._autoCompBuffer_result = [] self.setAutoCompletionAcceptKeysFromStr( pyzo.config.settings.autoComplete_acceptKeys ) self.completer().highlighted.connect(self.updateHelp) self.setIndentUsingSpaces(pyzo.config.settings.defaultIndentUsingSpaces) self.setIndentWidth(pyzo.config.settings.defaultIndentWidth) self.setAutocompletPopupSize(*pyzo.config.view.autoComplete_popupSize) self.setAutocompleteMinChars(pyzo.config.settings.autoComplete_minChars) self.setCancelCallback(self.restoreHelp) def setAutoCompletionAcceptKeysFromStr(self, keys): """Set the keys that can accept an autocompletion from a comma delimited string.""" # Set autocomp accept key to default if necessary. # We force it to be string (see issue 134) if not isinstance(keys, str): keys = "Tab" # Split keys = keys.replace(",", " ").split(" ") keys = [key for key in keys if key] # Set autocomp accept keys qtKeys = [] for key in keys: if len(key) > 1: key = "Key_" + key[0].upper() + key[1:].lower() qtkey = getattr(QtCore.Qt, key, None) else: qtkey = ord(key) if qtkey: qtKeys.append(qtkey) if QtCore.Qt.Key_Enter in qtKeys and QtCore.Qt.Key_Return not in qtKeys: qtKeys.append(QtCore.Qt.Key_Return) self.setAutoCompletionAcceptKeys(*qtKeys) def _isValidPython(self): """_isValidPython() Check if the code at the cursor is valid python: - the active lexer is the python lexer - the style at the cursor is "default" """ # TODO: return True def getTokensUpToCursor(self, cursor): # In order to find the tokens, we need the userState from the highlighter if cursor.block().previous().isValid(): previousState = cursor.block().previous().userState() else: previousState = 0 text = cursor.block().text()[: cursor.positionInBlock()] return ( text, list( filter( lambda token: token.isToken, # filter to remove BlockStates self.parser().parseLine(text, previousState), ) ), ) def introspect(self, tryAutoComp=False, delay=True): """introspect(tryAutoComp=False, delay=True) The starting point for introspection (autocompletion and calltip). It will always try to produce a calltip. If tryAutoComp is True, will also try to produce an autocompletion list (which, on success, will hide the calltip). This method will obtain the line and (re)start a timer that will call _introspectNow() after a short while. This way, if the user types a lot of characters, there is not a stream of useless introspection attempts; the introspection is only really started after he stops typing for, say 0.1 or 0.5 seconds (depending on pyzo.config.autoCompDelay). The method _introspectNow() will parse the line to obtain information required to obtain the autocompletion and signature information. Then it calls processCallTip and processAutoComp which are implemented in the editor and shell classes. """ # Find the tokens up to the cursor cursor = self.textCursor() text, tokensUptoCursor = self.getTokensUpToCursor(cursor) # TODO: Only proceed if valid python (no need to check for comments/ # strings, this is done by the processing of the tokens). Check for python style # Is the char valid for auto completion? if tryAutoComp: if not text or not (text[-1] in (Tokens.ALPHANUM + "._")): self.autocompleteCancel() tryAutoComp = False # Store line and (re)start timer cursor.setKeepPositionOnInsert(True) self._delayTimer._tokensUptoCursor = tokensUptoCursor self._delayTimer._cursor = cursor self._delayTimer._tryAutoComp = tryAutoComp if delay: self._delayTimer.start(pyzo.config.advanced.autoCompDelay) else: self._delayTimer.start(1) # self._introspectNow() def _introspectNow(self): """This method is called a short while after introspect() by the timer. It parses the line and calls the specific methods to process the callTip and autoComp. """ tokens = self._delayTimer._tokensUptoCursor if pyzo.config.settings.autoCallTip: # Parse the line, to get the name of the function we should calltip # if the name is empty/None, we should not show a signature name, needle, stats = parseLine_signature(tokens) if needle: # Compose actual name fullName = needle if name: fullName = name + "." + needle # Process offset = ( self._delayTimer._cursor.positionInBlock() - stats[0] + len(needle) ) cto = CallTipObject(self, fullName, offset) self.processCallTip(cto) else: self.calltipCancel() if self._delayTimer._tryAutoComp and pyzo.config.settings.autoComplete: # Parse the line, to see what (partial) name we need to complete name, needle = parseLine_autocomplete(tokens) if name or needle: # Try to do auto completion aco = AutoCompObject(self, name, needle) self.processAutoComp(aco) def processCallTip(self, cto): """Overridden in derive class""" pass def processAutoComp(self, aco): """Overridden in derive class""" pass def _onDoubleClick(self): """When double clicking on a name, autocomplete it.""" self.processHelp(addToHist=True) def helpOnText(self, pos): hw = pyzo.toolManager.getTool("pyzointeractivehelp") if not hw: return name = self.textCursor().selectedText().strip() if name == "": cursor = self.cursorForPosition(pos - self.mapToGlobal(QtCore.QPoint(0, 0))) line = cursor.block().text() limit = cursor.positionInBlock() while limit < len(line) and ( line[limit].isalnum() or line[limit] in (".", "_") ): limit += 1 cursor.movePosition(cursor.Right) _, tokens = self.getTokensUpToCursor(cursor) nameBefore, name = parseLine_autocomplete(tokens) if nameBefore: name = "%s.%s" % (nameBefore, name) if name != "": hw.setObjectName(name, True) def processHelp(self, name=None, showError=False, addToHist=False): """Show help on the given full object name. - called when going up/down in the autocompletion list. - called when double clicking a name """ # uses parse_autocomplete() to find baseName and objectName # Get help tool hw = pyzo.toolManager.getTool("pyzointeractivehelp") ass = pyzo.toolManager.getTool("pyzoassistant") # Get the shell shell = pyzo.shells.getCurrentShell() # Both should exist if not hw or not shell: return if not name: # Obtain name from current cursor position # Is this valid python? if self._isValidPython(): # Obtain line from text cursor = self.textCursor() line = cursor.block().text() text = line[: cursor.positionInBlock()] # Obtain nameBefore, name = parseLine_autocomplete(text) if nameBefore: name = "%s.%s" % (nameBefore, name) if name: hw.helpFromCompletion(name, addToHist) if ass: ass.showHelpForTerm(name) ## Callbacks def updateHelp(self, name): """A name has been highlighted, show help on that name""" if self._autoCompBuffer_name: name = self._autoCompBuffer_name + "." + name elif not self.completer().completionPrefix(): # Dont update help if there is no dot or prefix; # the choice would be arbitrary return # Apply self.processHelp(name, True) @staticmethod def restoreHelp(): hw = pyzo.toolManager.getTool("pyzointeractivehelp") if hw: hw.restoreCurrent() def event(self, event): """event(event) Overload main event handler so we can pass Ctrl-C Ctr-v etc, to the main window. """ if isinstance(event, QtGui.QKeyEvent): # Ignore CTRL+{A-Z} since those keys are handled through the menu if ( (event.modifiers() & QtCore.Qt.ControlModifier) and (event.key() >= QtCore.Qt.Key_A) and (event.key() <= QtCore.Qt.Key_Z) ): event.ignore() return False # Default behavior codeeditor.CodeEditor.event(self, event) return True def keyPressEvent(self, event): """Receive qt key event. From here we'l dispatch the event to perform autocompletion or other stuff... """ # Get ordinal key ordKey = -1 if event.text(): ordKey = ord(event.text()[0]) # Cancel any introspection in progress self._delayTimer._line = "" # Invoke autocomplete via tab key? if event.key() == QtCore.Qt.Key_Tab and not self.autocompleteActive(): if pyzo.config.settings.autoComplete: cursor = self.textCursor() if cursor.position() == cursor.anchor(): text = cursor.block().text()[: cursor.positionInBlock()] if text and (text[-1] in (Tokens.ALPHANUM + "._")): self.introspect(True, False) return super().keyPressEvent(event) # Analyse character/key to determine what introspection to fire if ordKey: if ( ordKey >= 48 or ordKey in [8, 46] ) and pyzo.config.settings.autoComplete == 1: # If a char that allows completion or backspace or dot was pressed self.introspect(True) elif ordKey >= 32: # Printable chars, only calltip self.introspect() elif event.key() in [QtCore.Qt.Key_Left, QtCore.Qt.Key_Right]: self.introspect() class CallTipObject: """Object to help the process of call tips. An instance of this class is created for each call tip action. """ def __init__(self, textCtrl, name, offset): self.textCtrl = textCtrl self.name = name self.bufferName = name self.offset = offset def tryUsingBuffer(self): """tryUsingBuffer() Try performing this callTip using the buffer. Returns True on success. """ bufferName = self.textCtrl._callTipBuffer_name t = time.time() - self.textCtrl._callTipBuffer_time if self.bufferName == bufferName and t < 0: self._finish(self.textCtrl._callTipBuffer_result) return True else: return False def finish(self, callTipText): """finish(callTipText) Finish the introspection using the given calltipText. Will also automatically call setBuffer. """ self.setBuffer(callTipText) self._finish(callTipText) def setBuffer(self, callTipText, timeout=4): """setBuffer(callTipText) Sets the buffer with the provided text.""" self.textCtrl._callTipBuffer_name = self.bufferName self.textCtrl._callTipBuffer_time = time.time() + timeout self.textCtrl._callTipBuffer_result = callTipText def _finish(self, callTipText): self.textCtrl.calltipShow(self.offset, callTipText, True) class AutoCompObject: """Object to help the process of auto completion. An instance of this class is created for each auto completion action. """ def __init__(self, textCtrl, name, needle): self.textCtrl = textCtrl self.bufferName = name # name to identify with self.name = name # object to find attributes of self.needle = needle # partial name to look for self.names = set() # the names (use a set to prevent duplicates) self.importNames = [] self.importLines = {} def addNames(self, names): """addNames(names) Add a list of names to the collection. Duplicates are removed.""" self.names.update(names) def tryUsingBuffer(self): """tryUsingBuffer() Try performing this auto-completion using the buffer. Returns True on success. """ bufferName = self.textCtrl._autoCompBuffer_name t = time.time() - self.textCtrl._autoCompBuffer_time if self.bufferName == bufferName and t < 0: self._finish(self.textCtrl._autoCompBuffer_result) return True else: return False def finish(self): """finish() Finish the introspection using the collected names. Will automatically call setBuffer. """ # Remember at the object that started this introspection # and get sorted names names = self.setBuffer(self.names) # really finish self._finish(names) def setBuffer(self, names=None, timeout=None): """setBuffer(names=None) Sets the buffer with the provided names (or the collected names). Also returns a list with the sorted names.""" # Determine timeout # Global namespaces change more often than local one, plus when # typing a xxx.yyy, the autocompletion buffer changes and is thus # automatically refreshed. # I've once encountered a wrong autocomp list on an object, but # haven' been able to reproduce it. It was probably some odity. if timeout is None: if self.bufferName: timeout = 5 else: timeout = 1 # Get names if names is None: names = self.names # Make list and sort names = list(names) names.sort(key=str.upper) # Store self.textCtrl._autoCompBuffer_name = self.bufferName self.textCtrl._autoCompBuffer_time = time.time() + timeout self.textCtrl._autoCompBuffer_result = names # Return sorted list return names def _finish(self, names): # Show completion list if required. self.textCtrl.autocompleteShow(len(self.needle), names, self.name != "") def nameInImportNames(self, importNames): """nameInImportNames(importNames) Test whether the name, or a base part of it is present in the given list of names. Returns the (part of) the name that's in the list, or None otherwise. """ baseName = self.name while baseName not in importNames: if "." in baseName: baseName = baseName.rsplit(".", 1)[0] else: baseName = None break return baseName if __name__ == "__main__": app = QtWidgets.QApplication([]) win = BaseTextCtrl(None) # win.setStyle('.py') tmp = "foo(bar)\nfor bar in range(5):\n print bar\n" tmp += "\nclass aap:\n def monkey(self):\n pass\n\n" tmp += "a\u20acb\n" win.setPlainText(tmp) win.show() app.exec_() pyzo-4.12.3/pyzo/core/codeparser.py000066400000000000000000000626221421373005400172430ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module codeparser Analyses the source code to get the structure of a module/script. This can be used for fictive introspection, and to display the structure of a source file in for example a tree widget. """ # TODO: replace this module, get data from the syntax highlighter in the code editor import time, threading, re import pyzo # Define regular expression patterns classPattern = r"^\s*" # Optional whitespace classPattern += r"(cp?def\s+)?" # Cython preamble + whitespace classPattern += r"class\s+" # The class keyword + whitespace classPattern += r"([a-zA-Z_][a-zA-Z_0-9]*)\s*" # The NAME + optional whitespace classPattern += r"(\(.*?\))?" # The superclass(es) classPattern += r"\s*:" # Optional whitespace and the colon # defPattern = r"^\s*" # Optional whitespace defPattern += r"(async )?" # Optional async keyword defPattern += r"(cp?)?def\s+" # The Cython preamble, def keyword and whitespace defPattern += r"([a-zA-Z_][\*a-zA-Z_0-9]*\s+)?" # Optional Cython return type defPattern += r"([a-zA-Z_][a-zA-Z_0-9]*)\s*" # The NAME + optional whitespace defPattern += r"\((.*?)\)" # The SIGNATURE # defPattern += r'\s*:' # Optional whitespace and the colon # Leave the colon, easier for cython class Job: """Simple class to represent a job.""" def __init__(self, text, editorId): self.text = text self.editorId = editorId class Result: """Simple class to represent a parser result.""" def __init__(self, rootItem, importList, editorId): self.rootItem = rootItem self.importList = importList self.editorId = editorId def isMatch(self, editorId): """isMatch(editorId): Returns whether the result matches with the given editorId. The editorId can also be an editor instance.""" if isinstance(editorId, int): return self.editorId == editorId else: return self.editorId == id(editorId) class Parser(threading.Thread): """Parser Parsing sourcecode in a separate thread, this class obtains introspection informarion. This class is also the interface to the parsed information; it has methods that can be used to extract information from the result. """ def __init__(self): threading.Thread.__init__(self) # Reference current job self._job = None # Reference to last result self._result = None # Lock to enable save threading self._lock = threading.RLock() # Set deamon self.daemon = True self._exit = False def stop(self, timeout=1.0): self._exit = True self.join(timeout) def parseThis(self, editor): """parseThis(editor) Give the parser new text to parse. If the parser is busy parsing text, it will stop doing that and start anew with the most recent version of the text. """ # Get text text = editor.toPlainText() # Make job self._lock.acquire() self._job = Job(text, id(editor)) self._lock.release() def getFictiveNameSpace(self, editor): """getFictiveNameSpace(editor) Produce the fictive namespace, based on the current position. A list of names is returned. """ # Obtain result result = self._getResult() if result is None or not result.isMatch(editor): return [] # Get linenr and indent. These are used to establish the namespace # based on indentation. cursor = editor.textCursor() linenr = cursor.blockNumber() index = cursor.positionInBlock() # init empty namespace and item list namespace = [] items = result.rootItem.children curIsClass = False # to not add methods (of classes) while items: curitem = None for item in items: # append name if not curIsClass and item.type in ["class", "def"]: namespace.append(item.name) # check if this is the one only last one remains if ( item.type in ["class", "def"] and item.linenr <= linenr and item.linenr2 > linenr ): curitem = item # prepare for next round if curitem and curitem.indent < index: items = curitem.children if curitem.type == "class": curIsClass = True else: curIsClass = False else: items = [] return namespace def getFictiveClass(self, name, editor, handleSelf=False): """getFictiveClass(name, editor, handleSelf=False) Return the fictive class object of the given name, or None if it does not exist. If handleSelf is True, automatically handles "self." names. """ return self._getFictiveItem(name, "class", editor, handleSelf) def getFictiveSignature(self, name, editor, handleSelf=False): """getFictiveSignature(name, editor, handleSelf=False) Get the signature of the fictive function or method of the given name. Returns None if the given name is not a known function or method. If handleSelf is True, automatically handles "self." names. """ # Get item being a function item = self._getFictiveItem(name, "def", editor, handleSelf) # Get item being a class if not item: item = self._getFictiveItem(name, "class", editor, handleSelf) if item: for subItem in item.children: if subItem.name == "__init__" and subItem.type == "def": item = subItem break else: item = None # Process or return None if there was no item if item: nameParts = name.split(".") return "{}({})".format(nameParts[-1], item.sig) else: return None def getFictiveImports(self, editor): """getFictiveImports(editor) Get the fictive imports of this source file. tuple: - list of names that are imported, - a dict with the line to import each name """ # Obtain result result = self._getResult() if result is None or not result.isMatch(editor): return [], [] # Extract list of names and dict of lines imports = [] importlines = {} for item in result.importList: imports.append(item.name) importlines[item.name] = item.text return imports, importlines def _getResult(self): """getResult() Savely Obtain result. """ self._lock.acquire() result = self._result self._lock.release() return result def _getFictiveItem(self, name, type, editor, handleSelf=False): """_getFictiveItem(name, type, editor, handleSelf=False) Obtain the fictive item of the given name and type. If handleSelf is True, will handle "self." correctly. Intended for internal use. """ # Obtain result result = self._getResult() if result is None or not result.isMatch(editor): return None # Split name in parts nameParts = name.split(".") # Try if the first part represents a class instance if handleSelf: item = self._getFictiveCurrentClass(editor, nameParts[0]) if item: nameParts[0] = item.name # Init name = nameParts.pop(0) items = result.rootItem.children theItem = None # Search for name while items: for item in items: if item.name == name: # Found it if nameParts: # Go down one level name = nameParts.pop(0) items = item.children break else: # This is it, is it what we wanted? if item.type == type: theItem = item items = [] break else: # Did not find it items = [] return theItem def _getFictiveCurrentClass(self, editor, selfname): """_getFictiveCurrentClass(editor, selfname) Get the fictive object for the class referenced using selfname (usually 'self'). Intendef for internal use. """ # Obtain result result = self._getResult() if result is None: return None # Get linenr and indent cursor = editor.textCursor() linenr = cursor.blockNumber() index = cursor.positionInBlock() # Init items = result.rootItem.children theclass = None while items: curitem = None for item in items: # check if this is the one only last one remains if item.linenr <= linenr: if not item.linenr2 > linenr: continue curitem = item if item.type == "def" and item.selfname == selfname: theclass = item.parent else: break # prepare for next round if curitem and curitem.indent < index: items = curitem.children else: items = [] # return return theclass def run(self): """run() This is the main loop. """ time.sleep(0.5) try: while True: time.sleep(0.1) if self._exit: return if self._job: # Savely obtain job self._lock.acquire() job = self._job self._job = None self._lock.release() # Analyse job result = self._analyze(job) # Savely store result self._lock.acquire() self._result = result self._lock.release() # Notify if pyzo.editors is not None: pyzo.editors.parserDone.emit() except AttributeError: pass # when python exits, time can be None... def _analyze(self, job): """The core function. Analyses the source code. Produces: - a tree of FictiveObject objects. - a (flat) list of the same object - a list of imports """ # Remove multiline strings text = washMultilineStrings(job.text) # Split text in lines lines = text.splitlines() lines.insert(0, "") # so the lines start at 1 # The structure object. It will first only consist of class and defs # the rest will be inserted afterwards. root = FictiveObject("root", 0, -1, "root") # Also keep a flat list (while running this function) flatList = [] # Cells and imports are inserted in the structure afterwards leafs = [] # Keep a list of imports importList = [] # To know when to make something new when for instance a class is defined # in an if statement, we keep track of the last valid node/object: # Put inside a list, so we can set it from inside a subfuncion lastObject = [root] # Define funcion to put an item in the structure in the right parent def appendToStructure(object): # find position in structure to insert node = lastObject[0] while (object.indent <= node.indent) and (node is not root): node = node.parent # insert object flatList.append(object) node.children.append(object) object.parent = node lastObject[0] = object # Find objects! # type can be: cell, class, def, import, var for i in range(len(lines)): # Obtain line line = lines[i] # Should we stop? if self._job or self._exit: break # Remove indentation tmp = line.lstrip() indent = len(line) - len(tmp) line = tmp.rstrip() # Detect cells if ( line.startswith("##") or line.startswith("#%%") or line.startswith("# %%") ): if line.startswith("##"): name = line[2:].lstrip() elif line.startswith("#%%"): name = line[3:].lstrip() else: name = line[4:].lstrip() item = FictiveObject("cell", i, indent, name) leafs.append(item) # Next! (we have to put this before the elif stuff below # because it looks like a comment!) continue # Split in line and comment line, tmp, cmnt = line.partition("#") line, cmnt = line.rstrip(), cmnt.lower().strip() # Detect todos if cmnt and (cmnt.startswith("todo:") or cmnt.startswith("2do:")): item = FictiveObject("todo", i, indent, cmnt) item.linenr2 = i + 1 # a todo is active at one line only leafs.append(item) # Continue of no line left if not line: continue # Find last valid node. As the indent of the root is set to -1, # this will always stop at the root while indent <= lastObject[0].indent: lastObject[0].linenr2 = i # close object lastObject[0] = lastObject[0].parent # Make a lowercase version of the line foundSomething = False # Detect classes if not foundSomething: classResult = re.search(classPattern, line) if classResult: foundSomething = True # Get name name = classResult.group(2) item = FictiveObject("class", i, indent, name) appendToStructure(item) item.supers = [] item.members = [] # Get inheritance supers = classResult.group(3) if supers: supers = supers[1:-1].split(",") supers = [tmp.strip() for tmp in supers] item.supers = [tmp for tmp in supers if tmp] # Detect functions and methods (also multiline) if (not foundSomething) and line.count("def "): # Get a multiline version (for long defs) multiLine = line for ii in range(1, 16): if i + ii < len(lines): multiLine += " " + lines[i + ii].strip() # Get result defResult = re.search(defPattern, multiLine) if defResult: # Get name name = defResult.group(4) item = FictiveObject("def", i, indent, name) appendToStructure(item) item.selfname = None # will be filled in if a valid method item.sig = defResult.group(5) # is it a method? -> add method to attr and find selfname if item.parent.type == "class": item.parent.members.append(name) # Find what is used as "self" i2 = line.find("(") i4 = line.find(",", i2) if i4 < 0: i4 = line.find(")", i2) if i4 < 0: i4 = i2 selfname = line[i2 + 1 : i4].strip() if selfname: item.selfname = selfname elif line.count("import "): if line.startswith("import "): for name in ParseImport(line[7:]): item = FictiveObject("import", i, indent, name) item.text = line item.linenr2 = i + 1 # an import is active at one line only leafs.append(item) importList.append(item) elif line.startswith("from "): i1 = line.find(" import ") for name in ParseImport(line[i1 + 8 :]): if not IsValidName(name): continue # we cannot do that! item = FictiveObject("import", i, indent, name) item.text = line item.linenr2 = i + 1 # an import is active at one line only leafs.append(item) importList.append(item) elif ( not indent and line.startswith("if __name__ ==") and "__main__" in line ): item = FictiveObject("nameismain", i, indent, "__main__") item.text = line appendToStructure(item) elif line.count("="): if lastObject[0].type == "def" and lastObject[0].selfname: selfname = lastObject[0].selfname + "." line = line.partition("=")[0] if line.count(selfname): # A lot of ifs here. If we got here, the line is part of # a valid method and contains the selfname before the =. # Now we need to establish whether there is a valid # assignment done here... parts = line.split(",") # handle tuples for part in parts: part = part.strip() part2 = part[len(selfname) :] if part.startswith(selfname) and IsValidName(part2): # add to the list if not already present defItem = lastObject[0] classItem = lastObject[0].parent # item = FictiveObject("attribute", i, indent, part2) item.parent = defItem defItem.children.append(item) if part2 not in classItem.members: classItem.members.append(part2) ## Post processing def getTwoItems(series, linenr): """Return the two items just above and below the given linenr. The object always is a class or def. """ # find object after linenr object1, object2 = None, None # if no items at all i = -1 for i in range(len(series)): object = series[i] if object.type not in ["class", "def"]: continue if object.linenr > linenr: object2 = object break # find object just before linenr for ii in range(i, -1, -1): object = series[ii] if object.type not in ["class", "def"]: continue if object.linenr < linenr: object1 = object break # return result return object1, object2 # insert the leafs (backwards as the last inserted is at the top) for leaf in reversed(leafs): ob1, ob2 = getTwoItems(flatList, leaf.linenr) if ob1 is None: # also if ob2 is None # insert in root root.children.insert(0, leaf) leaf.parent = root continue if ob2 is None: ob2parent = root else: ob2parent = ob2.parent # get the object IN which to insert it: ob1 sibling = None while 1: canGoDeeper = ob1 is not ob2parent canGoDeeper = canGoDeeper and ob1 is not root shouldGoDeeper = ob1.indent >= leaf.indent shouldGoDeeper = shouldGoDeeper or ob1.linenr2 < leaf.linenr if canGoDeeper and shouldGoDeeper: sibling = ob1 ob1 = ob1.parent else: break # insert into ob1, after sibling (if available) L = ob1.children if sibling: i = L.index(sibling) L.insert(i + 1, leaf) else: L.insert(0, leaf) # Return result return Result(root, importList, job.editorId) ## Helper classes and functions class FictiveObject: """An un-instantiated object. type can be class, def, import, cell, todo extra stuff: class - supers, members def - selfname imports - text cell - todo - attribute - """ def __init__(self, type, linenr, indent, name): self.children = [] self.type = type self.linenr = linenr # at which line this object starts self.linenr2 = 9999999 # at which line it ends self.indent = indent self.name = name self.sig = "" # for functions and methods namechars = "abcdefghijklmnopqrstuvwxyz_0123456789" def IsValidName(name): """Given a string, checks whether it is a valid name (dots are not valid!) """ if not name: return False name = name.lower() if name[0] not in namechars[0:-10]: return False tmp = map(lambda x: x not in namechars, name[2:]) return sum(tmp) == 0 def ParseImport(names): for part in names.split(","): i1 = part.find(" as ") if i1 > 0: name = part[i1 + 3 :].strip() else: name = part.strip() yield name def findString(text, s, i): """findString(text, s) Find s in text, but only if s is not in a string or commented Helper function for washMultilineStrings""" while True: i = _findString(text, s, i) if i < -1: i = -i + 1 else: break return i def _findString(text, s, i): """Helper function of findString, which is called recursively until a match is found, or it is clear there is no match.""" # Find occurrence i2 = text.find(s, i) if i2 < 0: return -1 # Find newline (if none, we're done) i1 = text.rfind("\n", 0, i2) if i1 < 0: return i2 # Extract the part on the line up to the match line = text[i1:i2] # Count quotes, we're done if we found none if not line.count('"') and not line.count("'") and not line.count("#"): return i2 # So we found quotes, now really count them ... prev = "" inString = "" # this is a boolean combined with a flag which quote was used isComment = False for c in line: if c == "#": if not inString: isComment = True break elif c in "\"'": if not inString: inString = c elif prev != "\\": if inString == c: inString = "" # exit string else: pass # the other quote can savely be used inside this string prev = c # If we are in a string, this match is false ... if inString or isComment: return -i2 # indicate failure and where to continue else: return i2 # all's right def washMultilineStrings(text): """washMultilineStrings(text) Replace all text within multiline strings with dummy chars so that it is not parsed. """ i = 0 s1 = "'''" s2 = '"""' while i < len(text): # Detect start of a multiline comment (there are two versions) i1 = findString(text, s1, i) i2 = findString(text, s2, i) # Stop if nothing found ... if i1 == -1 and i2 == -1: break else: # Make no result be very large if i1 == -1: i1 = 2**60 if i2 == -1: i2 = 2**60 # Find end of the multiline comment if i1 < i2: i3 = i1 + 3 i4 = text.find(s1, i3) else: i3 = i2 + 3 i4 = text.find(s2, i3) # No end found -> take all text, unclosed string! if i4 == -1: i4 = 2**32 # Leave only the first two quotes of the start of the comment i3 -= 1 i4 += 3 # Replace all non-newline chars tmp = re.sub(r"\S", " ", text[i3:i4]) text = text[:i3] + tmp + text[i3 + len(tmp) :] # Prepare for next round i = i4 + 1 return text """ ## testing skipping of multiline strings def ThisShouldNotBeVisible(): pass class ThisShouldNotBeVisibleEither(): pass """ pyzo-4.12.3/pyzo/core/commandline.py000066400000000000000000000124001421373005400173670ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2014, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module to deal with command line arguments. In specific, this allows doing "pyzo some_file.py" and the file will be opened in an existing pyzo window (if available) or a new pyzo process is started to open the file. This module is used at the very early stages of starting pyzo, and also in main.py to apply any command line args for the current process, and to closse down the server when pyzo is closed. """ import sys import os from yoton.clientserver import RequestServer, do_request import pyzo # Local address to host on. we use yoton's port hash to have an arbitrary port ADDRESS = "localhost:pyzoserver" class Server(RequestServer): """Server that listens on a port for commands. The commands can be send by executing the Pyzo executable with command line arguments. """ def handle_request(self, request): """This is where the requests enter.""" # Get command request = request.strip() command, _, arg = request.partition(" ") # Handle command try: reply = handle_command(command, arg) except Exception as err: msg = "Error handling request %r:\n%s" % (request, str(err)) pyzo.callLater(print, msg) return msg else: pyzo.callLater(print, "Request:", request) pyzo.callLater(print, "Reply:", reply) return reply def handle_command(command, arg): """Function that handles all pyzo commands. This gets called either from the server, or from the code that processed command line args. """ if not command: return "empty command?" elif command == "testerr": return 1 / 0 elif command == "stopserver": # For efficiently stopping the server if server: server.stop() return "Stopped the server" elif command == "echo": # For testing return "echo %r" % arg elif command == "open": # Open a file in the editor if not arg: return "The open command requires a filename." pyzo.callLater(pyzo.editors.loadFile, arg) return "Opened file %r" % arg elif command == "new": # Open a new (temp) file in the editor pyzo.callLater(pyzo.editors.newFile) return "Created new file" elif command == "close": # Close pyzo pyzo.callLater(pyzo.main.close) return "Closing Pyzo" else: # Assume the user wanted to open a file fname = (command + " " + arg).rstrip() if not pyzo.editors: return "Still warming up ..." else: pyzo.callLater(pyzo.editors.loadFile, fname) return "Try opening file %r" % fname # We should always return. So if we get here, it is a bug. # Return something so that we can be aware. return "error " + command def handle_cmd_args(): """Handle command line arguments by sending them to the server. Returns a result string if any commands were processed, and None otherwise. """ args = sys.argv[1:] request = " ".join(arg for arg in args if not arg.startswith("--")) if "psn_" in request and not os.path.isfile(request): request = " ".join(args[1:]) # An OSX thing when clicking app icon request = request.strip() # if not request: return None else: # Always send to server, even if we are the ones that run the server try: return do_request(ADDRESS, request, 0.4).rstrip() except Exception as err: print("Could not process command line args:\n%s" % str(err)) return None def stop_our_server(): """Stop our server, for shutting down nicely. This is faster than calling server.stop(), because in the latter case the server will need to timeout (0.25 s) before it sees that it needs to stop. """ if is_our_server_running(): try: server.stop() # Post a stop message do_request(ADDRESS, "stopserver", 0.1) # trigger print("Stopped our command server.") except Exception as err: print("Failed to stop command server:") print(err) def is_our_server_running(): """Return True if our server is running. If it is, this process is the main Pyzo; the first Pyzo that was started. If the server is not running, this is probably not the first Pyzo, but there might also be problem with starting the server. """ return server and server.is_alive() def is_pyzo_server_running(): """Test whether the Pyzo server is running *somewhere* (not necesarily in this process). """ try: res = do_request(ADDRESS, "echo", 0.2) return res.startswith("echo") except Exception: return False # Shold we start the server? _try_start_server = True if sys.platform.startswith("win"): _try_start_server = not is_pyzo_server_running() # Create server server_err = None server = None try: if _try_start_server: server = Server(ADDRESS) server.start() except OSError as err: server_err = err server = None pyzo-4.12.3/pyzo/core/compactTabWidget.py000066400000000000000000000345321421373005400203340ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ compact tab widget class See docs of the tab widget. """ from pyzo.qt import QtCore, QtGui, QtWidgets # noqa import sys if sys.version_info[0] < 3: str = unicode # noqa ELLIPSIS = unichr(8230) # noqa else: ELLIPSIS = chr(8230) # Constants for the alignments of tabs MIN_NAME_WIDTH = 4 MAX_NAME_WIDTH = 64 ## Define style sheet for the tabs STYLESHEET = """ QTabWidget::pane { /* The tab widget frame */ border-top: 0px solid #A09B90; } QTabWidget::tab-bar { left: 0px; /* move to the right by x px */ } /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ QTabBar::tab { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 rgba(220,220,220,128), stop: 0.4 rgba(200,200,200,128), stop: 1.0 rgba(100,100,100,128) ); border: 1px solid #A09B90; border-bottom-color: #DAD5CC; /* same as the pane color */ border-top-left-radius: 4px; border-top-right-radius: 4px; min-width: 5ex; padding-bottom: PADDING_BOTTOMpx; padding-top: PADDING_TOPpx; padding-left: PADDING_LEFTpx; padding-right: PADDING_RIGHTpx; margin-right: -1px; /* "combine" borders */ } QTabBar::tab:last { margin-right: 0px; } /* Style the selected tab, hoovered tab, and other tabs. */ QTabBar::tab:hover { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 rgba(245,250,255,128), stop: 0.4 rgba(210,210,210,128), stop: 1.0 rgba(200,200,200,128) ); } QTabBar::tab:selected { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 rgba(0,0,128,128), stop: 0.12 rgba(0,0,128,128), stop: 0.120001 rgba(245,250,255,128), stop: 0.4 rgba(210,210,210,128), stop: 1.0 rgba(200,200,200,128) ); } QTabBar::tab:selected { border-width: 1px; border-bottom-width: 0px; border-top-left-radius: 5px; border-top-right-radius: 5px; border-color: #333; } QTabBar::tab:!selected { margin-top: 3px; /* make non-selected tabs look smaller */ } """ ## Define tab widget class class TabData: """To keep track of real names of the tabs, but also keep supporting tabData. """ def __init__(self, name): self.name = name self.data = None class CompactTabBar(QtWidgets.QTabBar): """CompactTabBar(parent, *args, padding=(4,4,6,6), preventEqualTexts=True) Tab bar corresponcing to the CompactTabWidget. With the "padding" argument the padding of the tabs can be chosen. It should be an integer, or a 4 element tuple specifying the padding for top, bottom, left, right. When a tab has a button, the padding is the space between button and text. With preventEqualTexts to True, will reduce the amount of eliding if two tabs have (partly) the same name, so that they can always be distinguished. """ # Add signal to be notified of double clicks on tabs tabDoubleClicked = QtCore.Signal(int) barDoubleClicked = QtCore.Signal() def __init__(self, *args, padding=(4, 4, 6, 6), preventEqualTexts=True): QtWidgets.QTabBar.__init__(self, *args) # Put tab widget in document mode self.setDocumentMode(True) # Widget needs to draw its background (otherwise Mac has a dark bg) self.setDrawBase(False) if sys.platform == "darwin": self.setAutoFillBackground(True) # Set whether we want to prevent eliding for names that start the same. self._preventEqualTexts = preventEqualTexts # Allow moving tabs around self.setMovable(True) # Get padding if isinstance(padding, (int, float)): padding = padding, padding, padding, padding elif isinstance(padding, (tuple, list)): pass else: raise ValueError("Invalid value for padding.") # Set style sheet stylesheet = STYLESHEET stylesheet = stylesheet.replace("PADDING_TOP", str(padding[0])) stylesheet = stylesheet.replace("PADDING_BOTTOM", str(padding[1])) stylesheet = stylesheet.replace("PADDING_LEFT", str(padding[2])) stylesheet = stylesheet.replace("PADDING_RIGHT", str(padding[3])) self.setStyleSheet(stylesheet) # We do our own eliding self.setElideMode(QtCore.Qt.ElideNone) # Make tabs wider if there's plenty space? self.setExpanding(False) # If there's not enough space, use scroll buttons self.setUsesScrollButtons(True) # When a tab is removed, select previous self.setSelectionBehaviorOnRemove(self.SelectPreviousTab) # Init alignment parameters self._alignWidth = MIN_NAME_WIDTH # Width in characters self._alignWidthIsReducing = False # Whether in process of reducing # Create timer for aligning self._alignTimer = QtCore.QTimer(self) self._alignTimer.setInterval(10) self._alignTimer.setSingleShot(True) self._alignTimer.timeout.connect(self._alignRecursive) def _compactTabBarData(self, i): """_compactTabBarData(i) Get the underlying tab data for tab i. Only for internal use. """ # Get current TabData instance tabData = QtWidgets.QTabBar.tabData(self, i) if (tabData is not None) and hasattr(tabData, "toPyObject"): tabData = tabData.toPyObject() # Older version of Qt # If none, make it as good as we can if not tabData: name = str(QtWidgets.QTabBar.tabText(self, i)) tabData = TabData(name) QtWidgets.QTabBar.setTabData(self, i, tabData) # Done return tabData ## Overload a few methods def mouseDoubleClickEvent(self, event): i = self.tabAt(event.pos()) if i == -1: # There was no tab under the cursor self.barDoubleClicked.emit() else: # Tab was double clicked self.tabDoubleClicked.emit(i) def mousePressEvent(self, event): if event.button() == QtCore.Qt.MiddleButton: i = self.tabAt(event.pos()) if i >= 0: self.parent().tabCloseRequested.emit(i) return super().mousePressEvent(event) def setTabData(self, i, data): """setTabData(i, data) Set the given object at the tab with index 1. """ # Get underlying python instance tabData = self._compactTabBarData(i) # Attach given data tabData.data = data def tabData(self, i): """tabData(i) Get the tab data at item i. Always returns a Python object. """ # Get underlying python instance tabData = self._compactTabBarData(i) # Return stored data return tabData.data def setTabText(self, i, text): """setTabText(i, text) Set the text for tab i. """ tabData = self._compactTabBarData(i) if text != tabData.name: tabData.name = text self.alignTabs() def tabText(self, i): """tabText(i) Get the title of the tab at index i. """ tabData = self._compactTabBarData(i) return tabData.name ## Overload events and protected functions def tabInserted(self, i): QtWidgets.QTabBar.tabInserted(self, i) # Is called when a tab is inserted # Get given name and store name = str(QtWidgets.QTabBar.tabText(self, i)) tabData = TabData(name) QtWidgets.QTabBar.setTabData(self, i, tabData) # Update self.alignTabs() def tabRemoved(self, i): QtWidgets.QTabBar.tabRemoved(self, i) # Update self.alignTabs() def resizeEvent(self, event): QtWidgets.QTabBar.resizeEvent(self, event) self.alignTabs() def showEvent(self, event): QtWidgets.QTabBar.showEvent(self, event) self.alignTabs() ## For aligning def alignTabs(self): """alignTabs() Align the tab items. Their names are ellided if required so that all tabs fit on the tab bar if possible. When there is too little space, the QTabBar will kick in and draw scroll arrows. """ # Set name widths correct (in case new names were added) self._setMaxWidthOfAllItems() # Start alignment process self._alignWidthIsReducing = False self._alignTimer.start() def _alignRecursive(self): """_alignRecursive() Recursive alignment of the items. The alignment process should be initiated from alignTabs(). """ # Only if visible if not self.isVisible(): return # Get tab bar and number of items N = self.count() # Get right edge of last tab and left edge of corner widget pos1 = self.tabRect(0).topLeft() pos2 = self.tabRect(N - 1).topRight() cornerWidget = self.parent().cornerWidget() if cornerWidget: pos3 = cornerWidget.pos() else: pos3 = QtCore.QPoint(int(self.width()), 0) x1 = pos1.x() x2 = pos2.x() x3 = pos3.x() alignMargin = x3 - (x2 - x1) - 3 # Must be positive (has margin) # Are the tabs too wide? if alignMargin < 0: # Tabs extend beyond corner widget # Reduce width then self._alignWidth -= 1 self._alignWidth = max(self._alignWidth, MIN_NAME_WIDTH) # Apply self._setMaxWidthOfAllItems() self._alignWidthIsReducing = True # Try again if there's still room for reduction if self._alignWidth > MIN_NAME_WIDTH: self._alignTimer.start() elif alignMargin > 10 and not self._alignWidthIsReducing: # Gap between tabs and corner widget is a bit large # Increase width then self._alignWidth += 1 self._alignWidth = min(self._alignWidth, MAX_NAME_WIDTH) # Apply itemsElided = self._setMaxWidthOfAllItems() # Try again if there's still room for increment if itemsElided and self._alignWidth < MAX_NAME_WIDTH: self._alignTimer.start() # self._alignTimer.timeout.emit() else: pass # margin is good def _getAllNames(self): """_getAllNames() Get a list of all (full) tab names. """ return [self._compactTabBarData(i).name for i in range(self.count())] def _setMaxWidthOfAllItems(self): """_setMaxWidthOfAllItems() Sets the maximum width of all items now, by eliding the names. Returns whether any items were elided. """ # Get whether an item was reduced in size itemReduced = False for i in range(self.count()): # Get width w = self._alignWidth # Get name name = self._compactTabBarData(i).name # If its too long, first make it shorter by stripping dir names if (w + 1) < len(name) and "/" in name: name = name.split("/")[-1] # Check if we can reduce the name size, correct w if necessary if ((w + 1) < len(name)) and self._preventEqualTexts: # Increase w untill there are no names that start the same allNames = self._getAllNames() hasSimilarNames = True diff = 2 w -= 1 while hasSimilarNames and w < len(name): w += 1 w2 = w - (diff - 1) shortName = name[:w2] similarnames = [n for n in allNames if n[:w2] == shortName] hasSimilarNames = len(similarnames) > 1 # Check again, with corrected w if (w + 1) < len(name): name = name[:w] + ELLIPSIS itemReduced = True # Set text now QtWidgets.QTabBar.setTabText(self, i, name) # Done return itemReduced class CompactTabWidget(QtWidgets.QTabWidget): """CompactTabWidget(parent, *args, **kwargs) Implements a tab widget with a tabbar that is in document mode and has more compact tabs that conventional tab widgets, so more items fit on the same space. Further much care is taken to ellide the names in a smart way: * All items are allowed the same amount of characters instead of that the same amount of characters is removed from all names. * If there are two item with the same beginning, it is made sure that enough characters are shown such that the names can be distinguished. The kwargs are passed to the tab bar constructor. There are a few keywords arguments to influence the appearance of the tabs. See the CompactTabBar class. """ def __init__(self, *args, **kwargs): QtWidgets.QTabWidget.__init__(self, *args) # Set tab bar self.setTabBar(CompactTabBar(self, **kwargs)) # Draw tabs at the top by default self.setTabPosition(QtWidgets.QTabWidget.North) def setTabData(self, i, data): """setTabData(i, data) Set the given object at the tab with index 1. """ self.tabBar().setTabData(i, data) def tabData(self, i): """tabData(i) Get the tab data at item i. Always returns a Python object. """ return self.tabBar().tabData(i) def setTabText(self, i, text): """setTabText(i, text) Set the text for tab i. """ self.tabBar().setTabText(i, text) def tabText(self, i): """tabText(i) Get the title of the tab at index i. """ return self.tabBar().tabText(i) if __name__ == "__main__": w = CompactTabWidget() w.show() w.addTab(QtWidgets.QWidget(w), "aapenootjedopje") w.addTab(QtWidgets.QWidget(w), "aapenootjedropje") w.addTab(QtWidgets.QWidget(w), "noot en mies") w.addTab(QtWidgets.QWidget(w), "boom bijv een iep") w.addTab(QtWidgets.QWidget(w), "roosemarijnus") w.addTab(QtWidgets.QWidget(w), "vis") w.addTab(QtWidgets.QWidget(w), "vuurvuurvuur") pyzo-4.12.3/pyzo/core/editor.py000066400000000000000000000660061421373005400164020ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module editor Defines the PyzoEditor class which is used to edit documents. This module/class also implements all the relatively low level file loading/saving /reloading stuff. """ import os, sys import re, codecs from pyzo.qt import QtCore, QtGui, QtWidgets qt = QtGui from pyzo.codeeditor import Manager from pyzo.core.menu import EditorContextMenu from pyzo.core.baseTextCtrl import BaseTextCtrl, normalizePath from pyzo.core.pyzoLogging import print # noqa import pyzo # Set default line ending (if not set) if not pyzo.config.settings.defaultLineEndings: if sys.platform.startswith("win"): pyzo.config.settings.defaultLineEndings = "CRLF" else: pyzo.config.settings.defaultLineEndings = "LF" def determineEncoding(bb): """Get the encoding used to encode a file. Accepts the bytes of the file. Returns the codec name. If the codec could not be determined, uses UTF-8. """ # Init firstTwoLines = bb.split(b"\n", 2)[:2] encoding = "UTF-8" for line in firstTwoLines: # Try to make line a string try: line = line.decode("ASCII").strip() except Exception: continue # Has comment? if line and line[0] == "#": # Matches regular expression given in PEP 0263? expression = r"coding[:=]\s*([-\w.]+)" result = re.search(expression, line) if result: # Is it a known encoding? Correct name if it is candidate_encoding = result.group(1) try: c = codecs.lookup(candidate_encoding) candidate_encoding = c.name except Exception: pass else: encoding = candidate_encoding # Done return encoding def determineLineEnding(text): """Get the line ending style used in the text. \n, \r, \r\n, The EOLmode is determined by counting the occurrences of each line ending... """ text = text[:32768] # Limit search for large files # test line ending by counting the occurrence of each c_win = text.count("\r\n") c_mac = text.count("\r") - c_win c_lin = text.count("\n") - c_win # set the appropriate style if c_win > c_mac and c_win > c_lin: mode = "\r\n" elif c_mac > c_win and c_mac > c_lin: mode = "\r" else: mode = "\n" # return return mode def determineIndentation(text): return determineIndentationAndTrailingWS(text)[0] def determineIndentationAndTrailingWS(text): """Get the indentation used in this document and whether there is any trailing whitespace. The text is analyzed to find the most used indentations. The result is -1 if tab indents are most common. A positive result means spaces are used; the amount signifies the amount of spaces per indentation. 0 is returned if the indentation could not be determined. The second return value is the number of lines with trailing ws. """ text = text[:32768] # Limit search for large files # create dictionary of indents, -1 means a tab indents = {} indents[-1] = 0 trailing = 0 lines = text.splitlines() lines.insert(0, "") # so the lines start at 1 for i in range(len(lines)): line = lines[i] # remove indentation lineA = line.lstrip() lineB = line.rstrip() lineC = lineA.rstrip() indent = len(line) - len(lineA) if len(lineB) < len(line): trailing += 1 line = lineC if line.startswith("#"): continue else: # remove everything after the # line = line.split("#", 1)[0].rstrip() if not line: # continue of no line left continue # a colon means there will be an indent # check the next line (or the one thereafter) # and calculate the indentation difference with THIS line. if line.endswith(":"): if len(lines) > i + 2: line2 = lines[i + 1] tmp = line2.lstrip() if not tmp: line2 = lines[i + 2] tmp = line2.lstrip() if tmp: ind2 = len(line2) - len(tmp) ind3 = ind2 - indent if line2.startswith("\t"): indents[-1] += 1 elif ind3 > 0: if ind3 not in indents: indents[ind3] = 1 indents[ind3] += 1 # find which was the most common tab width. indent, maxvotes = 0, 0 for nspaces in indents: if indents[nspaces] > maxvotes: indent, maxvotes = nspaces, indents[nspaces] # print "found tabwidth %i" % indent return indent, trailing # To give each new file a unique name newFileCounter = 0 def createEditor(parent, filename=None): """Tries to load the file given by the filename and if succesful, creates an editor instance to put it in, which is returned. If filename is None, an new/unsaved/temp file is created. """ if filename is None: # Increase counter global newFileCounter newFileCounter += 1 # Create editor editor = PyzoEditor(parent) editor.document().setModified(True) editor.removeTrailingWS = True # Set name editor._name = "".format(newFileCounter) else: # check and normalize if not os.path.isfile(filename): raise IOError("File does not exist '%s'." % filename) # load file (as bytes) with open(filename, "rb") as f: bb = f.read() f.close() # convert to text, be gentle with files not encoded with utf-8 encoding = determineEncoding(bb) text = bb.decode(encoding, "replace") # process line endings lineEndings = determineLineEnding(text) # if we got here safely ... # create editor and set text editor = PyzoEditor(parent) editor.setPlainText(text) editor.lineEndings = lineEndings editor.encoding = encoding editor.document().setModified(False) # store name and filename editor._filename = filename editor._name = os.path.split(filename)[1] # process indentation and trailing indentWidth, trailing = determineIndentationAndTrailingWS(text) editor.removeTrailingWS = trailing < 10 # not too much for ugly diffs if indentWidth == -1: # Tabs editor.setIndentWidth(pyzo.config.settings.defaultIndentWidth) editor.setIndentUsingSpaces(False) elif indentWidth: editor.setIndentWidth(indentWidth) editor.setIndentUsingSpaces(True) if editor._filename: editor._modifyTime = os.path.getmtime(editor._filename) # Set parser if editor._filename: ext = os.path.splitext(editor._filename)[1] parser = Manager.suggestParser(ext, text) editor.setParser(parser) else: # todo: rename style -> parser editor.setParser(pyzo.config.settings.defaultStyle) # return return editor class PyzoEditor(BaseTextCtrl): # called when dirty changed or filename changed, etc somethingChanged = QtCore.Signal() def __init__(self, parent, **kwds): super().__init__(parent, showLineNumbers=True, **kwds) # Init filename and name self._filename = "" self._name = "" # View settings # TODO: self.setViewWrapSymbols(view.showWrapSymbols) self.setShowLineEndings(pyzo.config.view.showLineEndings) self.setShowIndentationGuides(pyzo.config.view.showIndentationGuides) # self.setWrap(bool(pyzo.config.view.wrap)) self.setHighlightCurrentLine(pyzo.config.view.highlightCurrentLine) self.setLongLineIndicatorPosition(pyzo.config.view.edgeColumn) # TODO: self.setFolding( int(view.codeFolding)*5 ) # bracematch is set in baseTextCtrl, since it also applies to shells # dito for zoom and tabWidth # Set line endings to default self.lineEndings = pyzo.config.settings.defaultLineEndings # Set encoding to default self.encoding = "UTF-8" # Modification time to test file change self._modifyTime = 0 self.modificationChanged.connect(self._onModificationChanged) # To see whether the doc has changed to update the parser. self.textChanged.connect(self._onModified) # This timer is used to hide the marker that shows which code is executed self._showRunCursorTimer = QtCore.QTimer() # Add context menu (the offset is to prevent accidental auto-clicking) self._menu = EditorContextMenu(self) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect( lambda p: self._menu.popup(self.mapToGlobal(p) + QtCore.QPoint(0, 3)) ) # Update status bar self.cursorPositionChanged.connect(self._updateStatusBar) ## Properties @property def name(self): return self._name @property def filename(self): return self._filename @property def lineEndings(self): """ Line-endings style of this file. Setter accepts machine-readable (e.g. '\r') and human-readable (e.g. 'CR') input """ return self._lineEndings @lineEndings.setter def lineEndings(self, value): if value in ("\r", "\n", "\r\n"): self._lineEndings = value return try: self._lineEndings = {"CR": "\r", "LF": "\n", "CRLF": "\r\n"}[value] except KeyError: raise ValueError("Invalid line endings style %r" % value) @property def lineEndingsHumanReadable(self): """ Current line-endings style, human readable (e.g. 'CR') """ return {"\r": "CR", "\n": "LF", "\r\n": "CRLF"}[self.lineEndings] @property def encoding(self): """Encoding used to convert the text of this file to bytes.""" return self._encoding @encoding.setter def encoding(self, value): # Test given value, correct name if it exists try: c = codecs.lookup(value) value = c.name except Exception: value = codecs.lookup("UTF-8").name # Store self._encoding = value ## def justifyText(self): """Overloaded version of justifyText to make it use our configurable justificationwidth. """ super().justifyText(pyzo.config.settings.justificationWidth) def showRunCursor(self, cursor): """ Momentarily highlight a piece of code to show that this is being executed """ extraSelection = QtWidgets.QTextEdit.ExtraSelection() extraSelection.cursor = cursor extraSelection.format.setBackground(QtCore.Qt.gray) self.setExtraSelections([extraSelection]) self._showRunCursorTimer.singleShot(200, lambda: self.setExtraSelections([])) def id(self): """Get an id of this editor. This is the filename, or for tmp files, the name.""" if self._filename: return self._filename else: return self._name def focusInEvent(self, event): """Test whether the file has been changed 'behind our back'""" # Act normally to the focus event BaseTextCtrl.focusInEvent(self, event) # Test file change self.testWhetherFileWasChanged() def testWhetherFileWasChanged(self): """testWhetherFileWasChanged() Test to see whether the file was changed outside our backs, and let the user decide what to do. Returns True if it was changed. """ # get the path path = self._filename if not os.path.isfile(path): # file is deleted from the outside return # test the modification time... mtime = os.path.getmtime(path) if mtime != self._modifyTime: # ask user dlg = QtWidgets.QMessageBox(self) dlg.setWindowTitle("File was changed") dlg.setText( "File has been modified outside of the editor:\n" + self._filename ) dlg.setInformativeText("Do you want to reload?") t = dlg.addButton("Reload", QtWidgets.QMessageBox.AcceptRole) # 0 dlg.addButton("Keep this version", QtWidgets.QMessageBox.RejectRole) # 1 dlg.setDefaultButton(t) # whatever the result, we will reset the modified time self._modifyTime = os.path.getmtime(path) # get result and act result = dlg.exec_() if result == QtWidgets.QMessageBox.AcceptRole: self.reload() else: pass # when cancelled or explicitly said, do nothing # Return that indeed the file was changes return True def _onModificationChanged(self, changed): """Handler for the modificationChanged signal. Emit somethingChanged for the editorStack to update the modification notice.""" self.somethingChanged.emit() def _onModified(self): pyzo.parser.parseThis(self) def _updateStatusBar(self): editor = pyzo.editors.getCurrentEditor() sb = pyzo.main.statusBar() sb.updateCursorInfo(editor) sb.updateFileEncodingInfo(editor) def dragMoveEvent(self, event): """Otherwise cursor can get stuck. https://bitbucket.org/iep-project/iep/issue/252 https://qt-project.org/forums/viewthread/3180 """ if event.mimeData().hasUrls(): event.acceptProposedAction() else: BaseTextCtrl.dropEvent(self, event) def dropEvent(self, event): """Drop files in the list.""" if event.mimeData().hasUrls(): # file: let the editorstack do the work. pyzo.editors.dropEvent(event) else: # text: act normal BaseTextCtrl.dropEvent(self, event) def showEvent(self, event=None): """Capture show event to change title.""" # Act normally if event: BaseTextCtrl.showEvent(self, event) # Make parser update pyzo.parser.parseThis(self) def setTitleInMainWindow(self): """set the title text in the main window to show filename.""" # compose title name, path = self._name, self._filename if path: pyzo.main.setMainTitle(path) else: pyzo.main.setMainTitle(name) def save(self, filename=None): """Save the file. No checking is done.""" # get filename if filename is None: filename = self._filename if not filename: raise ValueError("No filename specified, and no filename known.") # Test whether it was changed without us knowing. If so, dont save now. if self.testWhetherFileWasChanged(): return # Remove whitespace in a single undo-able action if ( self.removeTrailingWS or pyzo.config.settings.removeTrailingWhitespaceWhenSaving ): # Original cursor to put state back at the end oricursor = self.textCursor() # Screen cursor to select document screenCursor = self.textCursor() screenCursor.movePosition(screenCursor.Start) screenCursor.movePosition(screenCursor.End, screenCursor.KeepAnchor) # Cursor for doing the editor editCursor = self.textCursor() # Go! editCursor.beginEditBlock() try: editCursor.setPosition(screenCursor.selectionStart()) editCursor.movePosition(editCursor.StartOfBlock) while ( editCursor.position() < screenCursor.selectionEnd() or editCursor.position() <= screenCursor.selectionStart() ): editCursor.movePosition(editCursor.StartOfBlock) editCursor.movePosition( editCursor.EndOfBlock, editCursor.KeepAnchor ) text1 = editCursor.selectedText() text2 = text1.rstrip() if len(text1) != len(text2): editCursor.insertText(text2) if not editCursor.block().next().isValid(): break editCursor.movePosition(editCursor.NextBlock) finally: self.setTextCursor(oricursor) editCursor.endEditBlock() # Get text and convert line endings text = self.toPlainText() text = text.replace("\n", self.lineEndings) # Make bytes bb = text.encode(self.encoding) # Store f = open(filename, "wb") try: f.write(bb) finally: f.close() # Update stats self._filename = normalizePath(filename) self._name = os.path.split(self._filename)[1] self.document().setModified(False) self._modifyTime = os.path.getmtime(self._filename) # update title (in case of a rename) self.setTitleInMainWindow() # allow item to update its texts (no need: onModifiedChanged does this) # self.somethingChanged.emit() def reload(self): """Reload text using the self._filename. We do not have a load method; we first try to load the file and only when we succeed create an editor to show it in... This method is only for reloading in case the file was changed outside of the editor.""" # We can only load if the filename is known if not self._filename: return filename = self._filename # Remember where we are cursor = self.textCursor() linenr = cursor.blockNumber() + 1 # Load file (as bytes) with open(filename, "rb") as f: bb = f.read() # Convert to text text = bb.decode("UTF-8") # Process line endings (before setting the text) self.lineEndings = determineLineEnding(text) # Set text self.setPlainText(text) self.document().setModified(False) # Go where we were (approximately) self.gotoLine(linenr) def deleteLines(self): cursor = self.textCursor() # Find start and end of selection start = cursor.selectionStart() end = cursor.selectionEnd() # Expand selection: from start of first block to start of next block cursor.setPosition(start) cursor.movePosition(cursor.StartOfBlock) cursor.setPosition(end, cursor.KeepAnchor) cursor.movePosition(cursor.NextBlock, cursor.KeepAnchor) cursor.removeSelectedText() def duplicateLines(self): cursor = self.textCursor() # Find start and end of selection start = cursor.selectionStart() end = cursor.selectionEnd() # Expand selection: from start of first block to start of next block cursor.setPosition(start) cursor.movePosition(cursor.StartOfBlock) cursor.setPosition(end, cursor.KeepAnchor) cursor.movePosition(cursor.NextBlock, cursor.KeepAnchor) text = cursor.selectedText() cursor.setPosition(start) cursor.movePosition(cursor.StartOfBlock) cursor.insertText(text) def commentCode(self): """ Comment the lines that are currently selected """ indents = [] indentChar = " " if self.indentUsingSpaces() else "\t" def getIndent(cursor): text = cursor.block().text().rstrip() if text: indents.append(len(text) - len(text.lstrip())) def commentBlock(cursor): blockText = cursor.block().text() numMissingIndentChars = minindent - ( len(blockText) - len(blockText.lstrip(indentChar)) ) if numMissingIndentChars > 0: # Prevent setPosition from leaving bounds of the current block # if there are too few indent characters (e.g. an empty line) cursor.insertText(indentChar * numMissingIndentChars) cursor.setPosition(cursor.block().position() + minindent) cursor.insertText("# ") self.doForSelectedBlocks(getIndent) minindent = min(indents) if indents else 0 self.doForSelectedBlocks(commentBlock) def uncommentCode(self): """ Uncomment the lines that are currently selected """ # TODO: this should not be applied to lines that are part of a multi-line string # Define the uncomment function to be applied to all blocks def uncommentBlock(cursor): """ Find the first # on the line; if there is just whitespace before it, remove the # and if it is followed by a space remove the space, too """ text = cursor.block().text() commentStart = text.find("#") if commentStart == -1: return # No comment on this line if text[:commentStart].strip() != "": return # Text before the # # Move the cursor to the beginning of the comment cursor.setPosition(cursor.block().position() + commentStart) cursor.deleteChar() if text[commentStart:].startswith("# "): cursor.deleteChar() # Apply this function to all blocks self.doForSelectedBlocks(uncommentBlock) def toggleCommentCode(self): def toggleComment(): """ Toggles comments for the seclected text in editor, most of the code is taken from commentCode and uncommentCode """ text_block = [] def getBlocks(cursor): text = cursor.block().text() text_block.append(text) def commentBlock(cursor): cursor.setPosition(cursor.block().position()) cursor.insertText("# ") def uncommentBlock(cursor): """ Find the first # on the line; if there is just whitespace before it, remove the # and if it is followed by a space remove the space, too """ cursor.setPosition(cursor.block().position()) cursor.deleteChar() cursor.deleteChar() self.doForSelectedBlocks(getBlocks) commented = [item for item in text_block if item.startswith("# ")] if len(commented) == len(text_block): self.doForSelectedBlocks(uncommentBlock) else: self.doForSelectedBlocks(commentBlock) toggleComment() def gotoDef(self): """ Goto the definition for the word under the cursor """ # Get name of object to go to cursor = self.textCursor() if not cursor.hasSelection(): cursor.select(cursor.WordUnderCursor) word = cursor.selection().toPlainText() # Send the open command to the shell s = pyzo.shells.getCurrentShell() if s is not None: if word and word.isidentifier(): s.executeCommand("open %s\n" % word) else: s.write("Invalid identifier %r\n" % word) ## Introspection processing methods def processCallTip(self, cto): """Processes a calltip request using a CallTipObject instance.""" # Try using buffer first if cto.tryUsingBuffer(): return # Try obtaining calltip from the source sig = pyzo.parser.getFictiveSignature(cto.name, self, True) if sig: # Done cto.finish(sig) else: # Try the shell shell = pyzo.shells.getCurrentShell() if shell: shell.processCallTip(cto) def processAutoComp(self, aco): """Processes an autocomp request using an AutoCompObject instance.""" # Try using buffer first if aco.tryUsingBuffer(): return # Init name to poll by remote process (can be changed!) nameForShell = aco.name # Get normal fictive namespace fictiveNS = pyzo.parser.getFictiveNameSpace(self) fictiveNS = set(fictiveNS) # Add names if not aco.name: # "root" names aco.addNames(fictiveNS) # imports importNames, importLines = pyzo.parser.getFictiveImports(self) aco.addNames(importNames) else: # Prepare list of class names to check out classNames = [aco.name] handleSelf = True # Unroll supers while classNames: className = classNames.pop(0) if not className: continue if handleSelf or (className in fictiveNS): # Only the self list (only first iter) fictiveClass = pyzo.parser.getFictiveClass( className, self, handleSelf ) handleSelf = False if fictiveClass: aco.addNames(fictiveClass.members) classNames.extend(fictiveClass.supers) else: nameForShell = className break # If there's a shell, let it finish the autocompletion shell = pyzo.shells.getCurrentShell() if shell: aco.name = nameForShell # might be the same or a base class shell.processAutoComp(aco) else: # Otherwise we finish it ourselves aco.finish() if __name__ == "__main__": # Do some stubbing to run this module as a unit separate from pyzo # TODO: untangle pyzo from this module where possible class DummyParser: def parseThis(self, x): pass pyzo.parser = DummyParser() EditorContextMenu = QtWidgets.QMenu # noqa app = QtWidgets.QApplication([]) win = PyzoEditor(None) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+C"), win).activated.connect(win.copy) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+X"), win).activated.connect(win.cut) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+V"), win).activated.connect(win.paste) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Shift+V"), win).activated.connect( win.pasteAndSelect ) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Z"), win).activated.connect(win.undo) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Y"), win).activated.connect(win.redo) tmp = "foo(bar)\nfor bar in range(5):\n print bar\n" tmp += "\nclass aap:\n def monkey(self):\n pass\n\n" win.setPlainText(tmp) win.show() app.exec_() pyzo-4.12.3/pyzo/core/editorTabs.py000066400000000000000000001507241421373005400172150ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ EditorTabs class Replaces the earlier EditorStack class. The editor tabs class represents the different open files. They can be selected using a tab widget (with tabs placed north of the editor). It also has a find/replace widget that is at the bottom of the editor. """ import os, time, gc from pyzo.qt import QtCore, QtGui, QtWidgets import pyzo from pyzo.core.compactTabWidget import CompactTabWidget from pyzo.core.editor import createEditor from pyzo.core.baseTextCtrl import normalizePath from pyzo.core.pyzoLogging import print from pyzo.core.icons import EditorTabToolButton from pyzo import translate # Constants for the alignments of tabs MIN_NAME_WIDTH = 50 MAX_NAME_WIDTH = 200 def simpleDialog(item, action, question, options, defaultOption): """simpleDialog(editor, action, question, options, defaultOption) Options with special buttons ---------------------------- ok, open, save, cancel, close, discard, apply, reset, restoredefaults, help, saveall, yes, yestoall, no, notoall, abort, retry, ignore. Returns the selected option as a string, or None if canceled. """ # Get filename if isinstance(item, FileItem): filename = item.id else: filename = item.id() # create button map mb = QtWidgets.QMessageBox M = { "ok": mb.Ok, "open": mb.Open, "save": mb.Save, "cancel": mb.Cancel, "close": mb.Close, "discard": mb.Discard, "apply": mb.Apply, "reset": mb.Reset, "restoredefaults": mb.RestoreDefaults, "help": mb.Help, "saveall": mb.SaveAll, "yes": mb.Yes, "yestoall": mb.YesToAll, "no": mb.No, "notoall": mb.NoToAll, "abort": mb.Abort, "retry": mb.Retry, "ignore": mb.Ignore, } # setup dialog dlg = QtWidgets.QMessageBox(pyzo.main) dlg.setWindowTitle("Pyzo") dlg.setText(action + " file:\n{}".format(filename)) dlg.setInformativeText(question) # process options buttons = {} for option in options: option_lower = option.lower() # Use standard button? if option_lower in M: button = dlg.addButton(M[option_lower]) else: button = dlg.addButton(option, dlg.AcceptRole) buttons[button] = option # Set as default? if option_lower == defaultOption.lower(): dlg.setDefaultButton(button) # get result dlg.exec_() button = dlg.clickedButton() if button in buttons: return buttons[button] else: return None def get_shortest_unique_filename(filename, filenames): """Get a representation of filename in a way that makes it look unique compared to the other given filenames. The most unique part of the path is used, and every directory in between that part and the actual filename is represented with a slash. """ # Normalize and avoid having filename itself in filenames filename1 = filename.replace("\\", "/") filenames = [fn.replace("\\", "/") for fn in filenames] filenames = [fn for fn in filenames if fn != filename1] # Prepare for finding uniqueness nameparts1 = filename1.split("/") uniqueness = [len(filenames) for i in nameparts1] # Establish what parts of the filename are not unique when compared to # each entry in filenames. for filename2 in filenames: nameparts2 = filename2.split("/") nonunique_for_this_filename = set() for i in range(len(nameparts1)): if i < len(nameparts2): if nameparts2[i] == nameparts1[i]: nonunique_for_this_filename.add(i) if nameparts2[-1 - i] == nameparts1[-1 - i]: nonunique_for_this_filename.add(-i - 1) for i in nonunique_for_this_filename: uniqueness[i] -= 1 # How unique is the filename? If its not unique at all, use only base name max_uniqueness = max(uniqueness[:-1]) if max_uniqueness == 0: return nameparts1[-1] # Produce display name based on base name and last most-unique part displayname = nameparts1[-1] for i in reversed(range(len(uniqueness) - 1)): displayname = "/" + displayname if uniqueness[i] == max_uniqueness: displayname = nameparts1[i] + displayname break return displayname # todo: some management stuff could (should?) go here class FileItem: """FileItem(editor) A file item represents an open file. It is associated with an editing component and has a filename. """ def __init__(self, editor): # Store editor self._editor = editor # Init pinned state self._pinned = False @property def editor(self): """Get the editor component corresponding to this item.""" return self._editor @property def id(self): """Get an id of this editor. This is the filename, or for tmp files, the name.""" if self.filename: return self.filename else: return self.name @property def filename(self): """Get the full filename corresponding to this item.""" return self._editor.filename @property def name(self): """Get the name corresponding to this item.""" return self._editor.name @property def dirty(self): """Get whether the file has been changed since it is changed.""" return self._editor.document().isModified() @property def pinned(self): """Get whether this item is pinned (i.e. will not be closed when closing all files. """ return self._pinned # todo: when this works with the new editor, put in own module. class FindReplaceWidget(QtWidgets.QFrame): """A widget to find and replace text.""" def __init__(self, *args): QtWidgets.QFrame.__init__(self, *args) self.setFocusPolicy(QtCore.Qt.ClickFocus) # init layout layout = QtWidgets.QHBoxLayout(self) layout.setSpacing(0) self.setLayout(layout) # Create some widgets first to realize a correct tab order self._hidebut = QtWidgets.QToolButton(self) self._findText = QtWidgets.QLineEdit(self) self._replaceText = QtWidgets.QLineEdit(self) if True: # Create sub layouts vsubLayout = QtWidgets.QVBoxLayout() vsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add button self._hidebut.setFont(QtGui.QFont("helvetica", 7)) self._hidebut.setToolTip(translate("search", "Hide search widget (Escape)")) self._hidebut.setIcon(pyzo.icons.cancel) self._hidebut.setIconSize(QtCore.QSize(16, 16)) vsubLayout.addWidget(self._hidebut, 0) vsubLayout.addStretch(1) layout.addSpacing(10) if True: # Create sub layouts vsubLayout = QtWidgets.QVBoxLayout() hsubLayout = QtWidgets.QHBoxLayout() vsubLayout.setSpacing(0) hsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add find text self._findText.setToolTip(translate("search", "Find pattern")) vsubLayout.addWidget(self._findText, 0) vsubLayout.addLayout(hsubLayout) # Add previous button self._findPrev = QtWidgets.QToolButton(self) t = translate( "search", "Previous ::: Find previous occurrence of the pattern." ) self._findPrev.setText(t) self._findPrev.setToolTip(t.tt) hsubLayout.addWidget(self._findPrev, 0) hsubLayout.addStretch(1) # Add next button self._findNext = QtWidgets.QToolButton(self) t = translate("search", "Next ::: Find next occurrence of the pattern.") self._findNext.setText(t) self._findNext.setToolTip(t.tt) # self._findNext.setDefault(True) # Not possible with tool buttons hsubLayout.addWidget(self._findNext, 0) layout.addSpacing(10) if True: # Create sub layouts vsubLayout = QtWidgets.QVBoxLayout() hsubLayout = QtWidgets.QHBoxLayout() vsubLayout.setSpacing(0) hsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add replace text self._replaceText.setToolTip(translate("search", "Replace pattern")) vsubLayout.addWidget(self._replaceText, 0) vsubLayout.addLayout(hsubLayout) # Add replace button t = translate("search", "Replace ::: Replace this match.") self._replaceBut = QtWidgets.QToolButton(self) self._replaceBut.setText(t) self._replaceBut.setToolTip(t.tt) hsubLayout.addWidget(self._replaceBut, 0) hsubLayout.addStretch(1) # Add replace kind combo self._replaceKind = QtWidgets.QComboBox(self) self._replaceKind.addItem(translate("search", "one")) self._replaceKind.addItem(translate("search", "all in this file")) self._replaceKind.addItem(translate("search", "all in all files")) hsubLayout.addWidget(self._replaceKind, 0) layout.addSpacing(10) if True: # Create sub layouts vsubLayout = QtWidgets.QVBoxLayout() vsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add match-case checkbox t = translate("search", "Match case ::: Find words that match case.") self._caseCheck = QtWidgets.QCheckBox(t, self) self._caseCheck.setToolTip(t.tt) vsubLayout.addWidget(self._caseCheck, 0) # Add regexp checkbox t = translate("search", "RegExp ::: Find using regular expressions.") self._regExp = QtWidgets.QCheckBox(t, self) self._regExp.setToolTip(t.tt) vsubLayout.addWidget(self._regExp, 0) if True: # Create sub layouts vsubLayout = QtWidgets.QVBoxLayout() vsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add whole-word checkbox t = translate("search", "Whole words ::: Find only whole words.") self._wholeWord = QtWidgets.QCheckBox(t, self) self._wholeWord.setToolTip(t.tt) self._wholeWord.resize(60, 16) vsubLayout.addWidget(self._wholeWord, 0) # Add autohide dropbox t = translate( "search", "Auto hide ::: Hide search/replace when unused for 10 s." ) self._autoHide = QtWidgets.QCheckBox(t, self) self._autoHide.setToolTip(t.tt) self._autoHide.resize(60, 16) vsubLayout.addWidget(self._autoHide, 0) layout.addStretch(1) # Set placeholder texts for lineEdit in [self._findText, self._replaceText]: if hasattr(lineEdit, "setPlaceholderText"): lineEdit.setPlaceholderText(lineEdit.toolTip()) lineEdit.textChanged.connect(self.autoHideTimerReset) # Set focus policy for but in [ self._findPrev, self._findNext, self._replaceBut, self._caseCheck, self._wholeWord, self._regExp, ]: # but.setFocusPolicy(QtCore.Qt.ClickFocus) but.clicked.connect(self.autoHideTimerReset) # create timer objects self._timerBeginEnd = QtCore.QTimer(self) self._timerBeginEnd.setSingleShot(True) self._timerBeginEnd.timeout.connect(self.resetAppearance) # self._timerAutoHide = QtCore.QTimer(self) self._timerAutoHide.setSingleShot(False) self._timerAutoHide.setInterval(500) # ms self._timerAutoHide.timeout.connect(self.autoHideTimerCallback) self._timerAutoHide_t0 = time.time() self._timerAutoHide.start() # create callbacks self._findText.returnPressed.connect(self.findNext) self._hidebut.clicked.connect(self.hideMe) self._findNext.clicked.connect(self.findNext) self._findPrev.clicked.connect(self.findPrevious) self._replaceBut.clicked.connect(self.replace) # self._regExp.stateChanged.connect(self.handleReplacePossible) # init case and regexp self._caseCheck.setChecked(bool(pyzo.config.state.find_matchCase)) self._regExp.setChecked(bool(pyzo.config.state.find_regExp)) self._wholeWord.setChecked(bool(pyzo.config.state.find_wholeWord)) self._autoHide.setChecked(bool(pyzo.config.state.find_autoHide)) # show or hide? if bool(pyzo.config.state.find_show): self.show() else: self.hide() def autoHideTimerReset(self): self._timerAutoHide_t0 = time.time() def autoHideTimerCallback(self): """Check whether we should hide the tool.""" timeout = pyzo.config.advanced.find_autoHide_timeout if self._autoHide.isChecked(): if (time.time() - self._timerAutoHide_t0) > timeout: # seconds # Hide if editor has focus self._replaceKind.setCurrentIndex(0) # set replace to "one" es = self.parent() # editor stack editor = es.getCurrentEditor() if editor and editor.hasFocus(): self.hide() def hideMe(self): """Hide the find/replace widget.""" self.hide() self._replaceKind.setCurrentIndex(0) # set replace to "one" es = self.parent() # editor stack # es._boxLayout.activate() editor = es.getCurrentEditor() if editor: editor.setFocus() def event(self, event): """Handle tab key and escape key. For the tab key we need to overload event instead of KeyPressEvent. """ if isinstance(event, QtGui.QKeyEvent): if event.key() in (QtCore.Qt.Key_Tab, QtCore.Qt.Key_Backtab): event.accept() # focusNextPrevChild is called by Qt return True elif event.key() == QtCore.Qt.Key_Escape: self.hideMe() event.accept() return True # Otherwise ... handle in default manner return QtWidgets.QFrame.event(self, event) def handleReplacePossible(self, state): """Disable replacing when using regular expressions.""" for w in [self._replaceText, self._replaceBut, self._replaceKind]: w.setEnabled(not state) def startFind(self, event=None): """Use this rather than show(). It will check if anything is selected in the current editor, and if so, will set that as the initial search string """ # show self.show() self.autoHideTimerReset() # get needle editor = self.parent().getCurrentEditor() if editor: needle = editor.textCursor().selectedText().replace("\u2029", "\n") if needle: self._findText.setText(needle) # select the find-text self.selectFindText() def notifyPassBeginEnd(self): self.setStyleSheet("QFrame { background:#f00; }") self._timerBeginEnd.start(300) def resetAppearance(self): self.setStyleSheet("QFrame {}") def selectFindText(self): """Select the textcontrol for the find needle, and the text in it""" # select text self._findText.selectAll() # focus self._findText.setFocus() def findNext(self, event=None): self.find() # self._findText.setFocus() def findPrevious(self, event=None): self.find(False) # self._findText.setFocus() def findSelection(self, event=None): self.startFind() self.findNext() def findSelectionBw(self, event=None): self.startFind() self.findPrevious() def find(self, forward=True, wrapAround=True, editor=None): """The main find method. Returns True if a match was found.""" # Reset timer self.autoHideTimerReset() # get editor if not editor: editor = self.parent().getCurrentEditor() if not editor: return # find flags flags = QtGui.QTextDocument.FindFlags() if self._caseCheck.isChecked(): flags |= QtGui.QTextDocument.FindCaseSensitively if not forward: flags |= QtGui.QTextDocument.FindBackward # if self._wholeWord.isChecked(): # flags |= QtGui.QTextDocument.FindWholeWords # focus self.selectFindText() # get text to find needle = self._findText.text() if self._regExp.isChecked(): # Make needle a QRegExp; speciffy case-sensitivity here since the # FindCaseSensitively flag is ignored when finding using a QRegExp needle = QtCore.QRegExp( needle, QtCore.Qt.CaseSensitive if self._caseCheck.isChecked() else QtCore.Qt.CaseInsensitive, ) elif self._wholeWord.isChecked(): # Use regexp, because the default begaviour does not find # whole words correctly, see issue #276 # it should *not* find this in this_word needle = QtCore.QRegExp( r"\b" + needle + r"\b", QtCore.Qt.CaseSensitive if self._caseCheck.isChecked() else QtCore.Qt.CaseInsensitive, ) # estblish start position cursor = editor.textCursor() result = editor.document().find(needle, cursor, flags) if not result.isNull(): editor.setTextCursor(result) elif wrapAround: self.notifyPassBeginEnd() # Move cursor to start or end of document if forward: cursor.movePosition(cursor.Start) else: cursor.movePosition(cursor.End) # Try again result = editor.document().find(needle, cursor, flags) if not result.isNull(): editor.setTextCursor(result) # done editor.setFocus() return not result.isNull() def replace(self, event=None): i = self._replaceKind.currentIndex() if i == 0: self.replaceOne(event) elif i == 1: self.replaceAll(event) elif i == 2: self.replaceInAllFiles(event) else: raise RuntimeError("Unexpected kind of replace %s" % i) def replaceOne(self, event=None, wrapAround=True, editor=None): """If the currently selected text matches the find string, replaces that text. Then it finds and selects the next match. Returns True if a next match was found. """ # get editor if not editor: editor = self.parent().getCurrentEditor() if not editor: return # Create a cursor to do the editing cursor = editor.textCursor() # matchCase matchCase = self._caseCheck.isChecked() # get text to find needle = self._findText.text() if not matchCase: needle = needle.lower() # get replacement replacement = self._replaceText.text() # get original text original = cursor.selectedText().replace("\u2029", "\n") if not original: original = "" if not matchCase: original = original.lower() # replace # TODO: < line does not work for regexp-search! if original and original == needle: cursor.insertText(replacement) # next! return self.find(wrapAround=wrapAround, editor=editor) def replaceAll(self, event=None, editor=None): # TODO: share a cursor between all replaces, in order to # make this one undo/redo-step # get editor if not editor: editor = self.parent().getCurrentEditor() if not editor: return # get current position originalPosition = editor.textCursor() # Move to beginning of text and replace all # Make this a single undo operation cursor = editor.textCursor() cursor.beginEditBlock() try: cursor.movePosition(cursor.Start) editor.setTextCursor(cursor) while self.replaceOne(wrapAround=False, editor=editor): pass finally: cursor.endEditBlock() # reset position editor.setTextCursor(originalPosition) def replaceInAllFiles(self, event=None): for editor in pyzo.editors: self.replaceAll(event, editor) class FileTabWidget(CompactTabWidget): """FileTabWidget(parent) The tab widget that contains the editors and lists all open files. """ def __init__(self, parent): CompactTabWidget.__init__(self, parent, padding=(2, 1, 0, 4)) # Init main file self._mainFile = "" # Init item history self._itemHistory = [] # # Create a corner widget # but = QtWidgets.QToolButton() # but.setIcon( pyzo.icons.cross ) # but.setIconSize(QtCore.QSize(16,16)) # but.clicked.connect(self.onClose) # self.setCornerWidget(but) # Bind signal to update items and keep track of history self.currentChanged.connect(self.updateItems) self.currentChanged.connect(self.trackHistory) self.currentChanged.connect(self.setTitleInMainWindowWhenTabChanged) self.setTitleInMainWindowWhenTabChanged(-1) def setTitleInMainWindowWhenTabChanged(self, index): # Valid index? if index < 0 or index >= self.count(): pyzo.main.setMainTitle() # No open file # Remove current item from history currentItem = self.currentItem() if currentItem: currentItem.editor.setTitleInMainWindow() ## Item management def items(self): """Get the items in the tab widget. These are Item instances, and are in the order in which they are at the tab bar. """ tabBar = self.tabBar() items = [] for i in range(tabBar.count()): item = tabBar.tabData(i) if item is None: continue items.append(item) return items def currentItem(self): """Get the item corresponding to the currently active tab.""" i = self.currentIndex() if i >= 0: return self.tabBar().tabData(i) def getItemAt(self, i): return self.tabBar().tabData(i) def mainItem(self): """Get the item corresponding to the "main" file. Returns None if there is no main file. """ for item in self.items(): if item.id == self._mainFile: return item else: return None def trackHistory(self, index): """trackHistory(index) Called when a tab is changed. Puts the current item on top of the history. """ # Valid index? if index < 0 or index >= self.count(): return # Remove current item from history currentItem = self.currentItem() while currentItem in self._itemHistory: self._itemHistory.remove(currentItem) # Add current item to history self._itemHistory.insert(0, currentItem) # Limit history size self._itemHistory[10:] = [] def setCurrentItem(self, item): """_setCurrentItem(self, item) Set a FileItem instance to be the current. If the given item is not in the list, no action is taken. item can be an int, FileItem, or file name. """ if isinstance(item, int): self.setCurrentIndex(item) elif isinstance(item, FileItem): items = self.items() for i in range(self.count()): if item is items[i]: self.setCurrentIndex(i) break elif isinstance(item, str): items = self.items() for i in range(self.count()): if item == items[i].filename: self.setCurrentIndex(i) break else: raise ValueError("item should be int, FileItem or file name.") def selectPreviousItem(self): """Select the previously selected item.""" # make an old item history if len(self._itemHistory) > 1 and self._itemHistory[1] is not None: item = self._itemHistory[1] self.setCurrentItem(item) # just select first one then ... elif self.count(): item = 0 self.setCurrentItem(item) ## Closing, adding and updating def onClose(self): """onClose() Request to close the current tab. """ self.tabCloseRequested.emit(self.currentIndex()) def removeTab(self, which): """removeTab(which) Removes the specified tab. which can be an integer, an item, or an editor. """ # Init items = self.items() theIndex = -1 # Find index if isinstance(which, int) and which >= 0 and which < len(items): theIndex = which elif isinstance(which, FileItem): for i in range(self.count()): if items[i] is which: theIndex = i break elif isinstance(which, str): for i in range(self.count()): if items[i].filename == which: theIndex = i break elif hasattr(which, "_filename"): for i in range(self.count()): if items[i].filename == which._filename: theIndex = i break else: raise ValueError( "removeTab accepts a FileItem, integer, file name, or editor." ) if theIndex >= 0: # Close tab CompactTabWidget.removeTab(self, theIndex) # Delete editor items[theIndex].editor.destroy() gc.collect() def addItem(self, item, update=True): """addItem(item, update=True) Add item to the tab widget. Set update to false if you are calling this method many times in a row. Then use updateItemsFull() to update the tab widget. """ # Add tab and widget i = self.addTab(item.editor, item.name) tabBut = EditorTabToolButton(self.tabBar()) self.tabBar().setTabButton(i, QtWidgets.QTabBar.LeftSide, tabBut) # Keep informed about changes item.editor.somethingChanged.connect(self.updateItems) item.editor.blockCountChanged.connect(self.updateItems) item.editor.breakPointsChanged.connect(self.parent().updateBreakPoints) # Store the item at the tab self.tabBar().setTabData(i, item) # Emit the currentChanged again (already emitted on addTab), because # now the itemdata is actually set self.currentChanged.emit(self.currentIndex()) # Update if update: self.updateItems() def updateItemsFull(self): """updateItemsFull() Update the appearance of the items and also updates names and re-aligns the items. """ self.updateItems() self.tabBar().alignTabs() def updateItems(self): """updateItems() Update the appearance of the items. """ # Get items and tab bar items = self.items() tabBar = self.tabBar() # Check whether we have name clashes, which we can try to resolve namecounts = {} for i in range(len(items)): item = items[i] if item is None: continue xx = namecounts.setdefault(item.name, []) xx.append(item) for i in range(len(items)): # Get item item = items[i] if item is None: continue # Get display name items_with_this_name = namecounts[item.name] if len(items_with_this_name) <= 1: display_name = item.name else: filenames = [j.filename for j in items_with_this_name] try: display_name = get_shortest_unique_filename( item.filename, filenames ) except Exception as err: # Catch this, just in case ... print("could not get unique name for:\n%r" % filenames) print(err) display_name = item.name tabBar.setTabText(i, display_name) # Update name and tooltip if item.dirty: tabBar.setTabToolTip(i, item.filename + " [modified]") else: tabBar.setTabToolTip(i, item.filename) # Determine text color. Is main file? Is current? if self._mainFile == item.id: tabBar.setTabTextColor(i, QtGui.QColor("#008")) elif i == self.currentIndex(): tabBar.setTabTextColor(i, QtGui.QColor("#000")) else: tabBar.setTabTextColor(i, QtGui.QColor("#444")) # Get number of blocks nBlocks = item.editor.blockCount() if nBlocks == 1 and not item.editor.toPlainText(): nBlocks = 0 # Update appearance of icon but = tabBar.tabButton(i, QtWidgets.QTabBar.LeftSide) but.updateIcon(item.dirty, self._mainFile == item.id, item.pinned, nBlocks) class EditorTabs(QtWidgets.QWidget): """The EditorTabs instance manages the open files and corresponding editors. It does the saving loading etc. """ # Signal to indicate that a breakpoint has changed, emits dict breakPointsChanged = QtCore.Signal(object) # Signal to notify that a different file was selected currentChanged = QtCore.Signal() # Signal to notify that the parser has parsed the text (emit by parser) parserDone = QtCore.Signal() def __init__(self, parent): QtWidgets.QWidget.__init__(self, parent) # keep a booking of opened directories self._lastpath = "" # keep track of all breakpoints self._breakPoints = {} # create tab widget self._tabs = FileTabWidget(self) self._tabs.tabCloseRequested.connect(self.closeFile) self._tabs.currentChanged.connect(self.onCurrentChanged) # Double clicking a tab saves the file, clicking on the bar opens a new file self._tabs.tabBar().tabDoubleClicked.connect(self.saveFile) self._tabs.tabBar().barDoubleClicked.connect(self.newFile) # Create find/replace widget self._findReplace = FindReplaceWidget(self) # create box layout control and add widgets self._boxLayout = QtWidgets.QVBoxLayout(self) self._boxLayout.addWidget(self._tabs, 1) self._boxLayout.addWidget(self._findReplace, 0) # spacing of widgets self._boxLayout.setSpacing(0) # set margins margin = pyzo.config.view.widgetMargin self._boxLayout.setContentsMargins(margin, margin, margin, margin) # apply self.setLayout(self._boxLayout) # self.setAttribute(QtCore.Qt.WA_AlwaysShowToolTips,True) # accept drops self.setAcceptDrops(True) # restore state (call later so that the menu module can bind to the # currentChanged signal first, in order to set tab/indentation # checkmarks appropriately) # todo: Resetting the scrolling would work better if set after # the widgets are properly sized. pyzo.callLater(self.restoreEditorState) def addContextMenu(self): """Adds a context menu to the tab bar""" from pyzo.core.menu import EditorTabContextMenu self._menu = EditorTabContextMenu(self, "EditorTabMenu") self._tabs.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self._tabs.customContextMenuRequested.connect(self.contextMenuTriggered) def contextMenuTriggered(self, p): """Called when context menu is clicked""" # Get index of current tab index = self._tabs.tabBar().tabAt(p) self._menu.setIndex(index) # Show menu if item is available if index >= 0: p = self._tabs.tabBar().tabRect(index).bottomLeft() self._menu.popup(self._tabs.tabBar().mapToGlobal(p)) def onCurrentChanged(self): self.currentChanged.emit() # Update status bar editor = pyzo.editors.getCurrentEditor() sb = pyzo.main.statusBar() sb.updateCursorInfo(editor) sb.updateFileEncodingInfo(editor) def getCurrentEditor(self): """Get the currently active editor.""" item = self._tabs.currentItem() if item: return item.editor else: return None def getMainEditor(self): """Get the editor that represents the main file, or None if there is no main file.""" item = self._tabs.mainItem() if item: return item.editor else: return None def __iter__(self): tmp = [item.editor for item in self._tabs.items()] return tmp.__iter__() def updateBreakPoints(self, editor=None): # Get list of editors to update keypoints for if editor is None: editors = self self._breakPoints = {} # Full reset else: editors = [editor] # Update our keypoints dict for editor in editors: fname = editor._filename or editor._name if not fname: continue linenumbers = editor.breakPoints() if linenumbers: self._breakPoints[fname] = linenumbers else: self._breakPoints.pop(fname, None) # Emit signal so shells can update the kernel self.breakPointsChanged.emit(self._breakPoints) def setDebugLineIndicators(self, *filename_linenr): """Set the debug line indicator. There is one indicator global to pyzo, corresponding to the last shell for which we received the indicator. """ if len(filename_linenr) and filename_linenr[0] is None: filename_linenr = [] # Normalize case filename_linenr = [(os.path.normcase(i[0]), int(i[1])) for i in filename_linenr] for item in self._tabs.items(): # Prepare editor = item._editor fname = editor._filename or editor._name fname = os.path.normcase(fname) # Reset editor.setDebugLineIndicator(None) # Set for filename, linenr in filename_linenr: if fname == filename: active = (filename, linenr) == filename_linenr[-1] editor.setDebugLineIndicator(linenr, active) ## Loading ad saving files def dragEnterEvent(self, event): if event.mimeData().hasUrls(): event.acceptProposedAction() def dropEvent(self, event): """Drop files in the list.""" for qurl in event.mimeData().urls(): path = str(qurl.toLocalFile()) if os.path.isfile(path): self.loadFile(path) elif os.path.isdir(path): self.loadDir(path) else: pass def newFile(self): """Create a new (unsaved) file.""" # create editor editor = createEditor(self, None) editor.document().setModified(False) # Start out as OK # add to list item = FileItem(editor) self._tabs.addItem(item) self._tabs.setCurrentItem(item) # set focus to new file editor.setFocus() return item def openFile(self): """Create a dialog for the user to select a file.""" # determine start dir # todo: better selection of dir, using project manager editor = self.getCurrentEditor() if editor and editor._filename: startdir = os.path.split(editor._filename)[0] else: startdir = self._lastpath if (not startdir) or (not os.path.isdir(startdir)): startdir = "" # show dialog msg = translate("editorTabs", "Select one or more files to open") filter = "Python (*.py *.pyw);;" filter += "Pyrex (*.pyi *.pyx *.pxd);;" filter += "C (*.c *.h *.cpp *.c++);;" # filter += "Py+Cy+C (*.py *.pyw *.pyi *.pyx *.pxd *.c *.h *.cpp);;" filter += "All (*)" if True: filenames = QtWidgets.QFileDialog.getOpenFileNames( self, msg, startdir, filter ) if isinstance(filenames, tuple): # PySide filenames = filenames[0] else: # Example how to preselect files, can be used when the users # opens a file in a project to select all files currently not # loaded. d = QtWidgets.QFileDialog(self, msg, startdir, filter) d.setFileMode(d.ExistingFiles) d.selectFile('"codeparser.py" "editorStack.py"') d.exec_() if d.result(): filenames = d.selectedFiles() else: filenames = [] # were some selected? if not filenames: return # load for filename in filenames: self.loadFile(filename) def openDir(self): """Create a dialog for the user to select a directory.""" # determine start dir editor = self.getCurrentEditor() if editor and editor._filename: startdir = os.path.split(editor._filename)[0] else: startdir = self._lastpath if not os.path.isdir(startdir): startdir = "" # show dialog msg = "Select a directory to open" dirname = QtWidgets.QFileDialog.getExistingDirectory(self, msg, startdir) # was a dir selected? if not dirname: return # load self.loadDir(dirname) def loadFile(self, filename, updateTabs=True): """Load the specified file. On success returns the item of the file, also if it was already open.""" # Note that by giving the name of a tempfile, we can select that # temp file. # normalize path if filename[0] != "<": filename = normalizePath(filename) if not filename: return None # if the file is already open... for item in self._tabs.items(): if item.id == filename: # id gets _filename or _name for temp files break else: item = None if item: self._tabs.setCurrentItem(item) print("File already open: '{}'".format(filename)) return item # create editor try: editor = createEditor(self, filename) except Exception as err: # Notify in logger print("Error loading file: ", err) # Make sure the user knows m = QtWidgets.QMessageBox(self) m.setWindowTitle("Error loading file") m.setText(str(err)) m.setIcon(m.Warning) m.exec_() return None # create list item item = FileItem(editor) self._tabs.addItem(item, updateTabs) if updateTabs: self._tabs.setCurrentItem(item) # store the path self._lastpath = os.path.dirname(item.filename) return item def loadDir(self, path): """Create a project with the dir's name and add all files contained in the directory to it. extensions is a komma separated list of extenstions of files to accept... """ # if the path does not exist, stop path = os.path.abspath(path) if not os.path.isdir(path): print("ERROR loading dir: the specified directory does not exist!") return # get extensions extensions = pyzo.config.advanced.fileExtensionsToLoadFromDir extensions = extensions.replace(",", " ").replace(";", " ") extensions = ["." + a.lstrip(".").strip() for a in extensions.split(" ")] # init item item = None # open all qualified files... self._tabs.setUpdatesEnabled(False) try: filelist = os.listdir(path) for filename in filelist: filename = os.path.join(path, filename) ext = os.path.splitext(filename)[1] if str(ext) in extensions: item = self.loadFile(filename, False) finally: self._tabs.setUpdatesEnabled(True) self._tabs.updateItems() # return lastopened item return item def saveFileAs(self, editor=None): """Create a dialog for the user to select a file. returns: True if succesfull, False if fails """ # get editor if editor is None: editor = self.getCurrentEditor() if editor is None: return False # get startdir if editor._filename: startdir = os.path.dirname(editor._filename) else: startdir = self._lastpath # Try the file browser or project manager to suggest a path fileBrowser = pyzo.toolManager.getTool("pyzofilebrowser") projectManager = pyzo.toolManager.getTool("pyzoprojectmanager") if fileBrowser: startdir = fileBrowser.getDefaultSavePath() if projectManager and not startdir: startdir = projectManager.getDefaultSavePath() if not startdir: startdir = os.path.expanduser("~") if not os.path.isdir(startdir): startdir = "" # show dialog msg = translate("editorTabs", "Select the file to save to") filter = "Python (*.py *.pyw);;" filter += "Pyrex (*.pyi *.pyx *.pxd);;" filter += "C (*.c *.h *.cpp);;" # filter += "Py+Cy+C (*.py *.pyw *.pyi *.pyx *.pxd *.c *.h *.cpp);;" filter += "All (*.*)" filename = QtWidgets.QFileDialog.getSaveFileName(self, msg, startdir, filter) if isinstance(filename, tuple): # PySide filename = filename[0] # give python extension if it has no extension head, tail = os.path.split(filename) if tail and "." not in tail: filename += ".py" # proceed or cancel if filename: return self.saveFile(editor, filename) else: return False # Cancel was pressed def saveFile(self, editor=None, filename=None): """Save the file. returns: True if succesfull, False if fails """ # get editor if editor is None: editor = self.getCurrentEditor() elif isinstance(editor, int): index = editor editor = None if index >= 0: item = self._tabs.items()[index] editor = item.editor if editor is None: return False # get filename if filename is None: filename = editor._filename if not filename: return self.saveFileAs(editor) # let the editor do the low level stuff... try: editor.save(filename) except Exception as err: # Notify in logger print("Error saving file:", err) # Make sure the user knows m = QtWidgets.QMessageBox(self) m.setWindowTitle("Error saving file") m.setText(str(err)) m.setIcon(m.Warning) m.exec_() # Return now return False # get actual normalized filename filename = editor._filename # notify # TODO: message concerining line endings print("saved file: {} ({})".format(filename, editor.lineEndingsHumanReadable)) self._tabs.updateItems() # todo: this is where we once detected whether the file being saved was a style file. # Notify done return True def saveAllFiles(self): """Save all files""" for editor in self: self.saveFile(editor) ## Closing files / closing down def _get_action_texts(self): options = translate("editor", "Close, Discard, Cancel, Save").split(",") options = [i.strip() for i in options] try: close_txt, discard_txt, cancel_txt, save_txt = options except Exception: print("error in translation for close, discard, cancel, save.") close_txt, discard_txt, cancel_txt, save_txt = ( "Close", "Discard", "Cancel", "Save", ) return close_txt, discard_txt, cancel_txt, save_txt def askToSaveFileIfDirty(self, editor): """askToSaveFileIfDirty(editor) If the given file is not saved, pop up a dialog where the user can save the file Returns 1 if file need not be saved. Returns 2 if file was saved. Returns 3 if user discarded changes. Returns 0 if cancelled. """ # should we ask to save the file? if editor.document().isModified(): # Ask user what to do close_txt, discard_txt, cancel_txt, save_txt = self._get_action_texts() result = simpleDialog( editor, translate("editor", "Closing"), translate("editor", "Save modified file?"), [discard_txt, cancel_txt, save_txt], save_txt, ) # Get result and act if result == save_txt: return 2 if self.saveFile(editor) else 0 elif result == discard_txt: return 3 else: # cancel return 0 return 1 def closeFile(self, editor=None): """Close the selected (or current) editor. Returns same result as askToSaveFileIfDirty()""" # get editor if editor is None: editor = self.getCurrentEditor() item = self._tabs.currentItem() elif isinstance(editor, int): index = editor editor, item = None, None if index >= 0: item = self._tabs.items()[index] editor = item.editor else: item = None for i in self._tabs.items(): if i.editor is editor: item = i if editor is None or item is None: return # Ask if dirty result = self.askToSaveFileIfDirty(editor) # Ask if closing pinned file close_txt, discard_txt, cancel_txt, save_txt = self._get_action_texts() if result and item.pinned: result = simpleDialog( editor, translate("editor", "Closing pinned"), translate("editor", "Are you sure you want to close this pinned file?"), [close_txt, cancel_txt], cancel_txt, ) result = result == close_txt # ok, close... if result: if editor._name.startswith(" self._last_date: self._last_date = today self._commands.append("# ==== " + today.strftime("%Y-%m-%d")) self.command_added.emit(self._commands[-1]) # Clear it try: index = self._commands.index(command) except ValueError: pass else: self._commands.pop(index) self.command_removed.emit(index) # Append self._commands.append(command) self.command_added.emit(self._commands[-1]) # Reset? if len(self._commands) > self.max_commands: self._commands[: self.max_commands // 2] = [] self.commands_reset.emit() def pop(self, index): """Remove a command by index.""" self._commands.pop(index) self.command_removed.emit(index) def find_starting_with(self, firstpart, n=1): """Find the nth (1-based) command that starts with firstpart, or None.""" count = 0 for c in reversed(self._commands): if c.startswith(firstpart): count += 1 if count >= n: return c return None def find_all(self, needle): """Find all commands that contain the given text. In order of being used. """ commands = [] for c in reversed(self._commands): if needle in c: commands.append(c) return commands pyzo-4.12.3/pyzo/core/icons.py000066400000000000000000000522031421373005400162210ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Icons module Defines functionality for creating icons by composing different overlays and also by directly drawing into the pixmap. This allows making icons that show information to the user in a very effective, yet subtle manner. """ from pyzo.qt import QtCore, QtGui, QtWidgets import pyzo class IconArtist: """IconArtist(icon=None) Object to draw icons with. Can be instantiated with an existing icon or as a blank icon. Perform operations and then use finish() to obtain the result. """ def __init__(self, icon=None): # Get pixmap from given icon (None creates empty pixmap) self._pm = self._getPixmap(icon) # Instantiate painter for the pixmap self._painter = QtGui.QPainter() self._painter.begin(self._pm) def finish(self, icon=None): """finish() Finish the drawing and return the resulting icon. """ self._painter.end() return QtGui.QIcon(self._pm) def _getPixmap(self, icon): # Get icon if given by name if isinstance(icon, str): icon = pyzo.icons[icon] # Create pixmap if icon is None: pm = QtGui.QPixmap(16, 16) pm.fill(QtGui.QColor(0, 0, 0, 0)) return pm elif isinstance(icon, tuple): pm = QtGui.QPixmap(icon[0], icon[1]) pm.fill(QtGui.QColor(0, 0, 0, 0)) return pm elif isinstance(icon, QtGui.QPixmap): return icon elif isinstance(icon, QtGui.QIcon): return icon.pixmap(16, 16) else: raise ValueError("Icon for IconArtis should be icon, pixmap or name.") def setPenColor(self, color): """setPenColor(color) Set the color of the pen. Color can be anything that can be passed to Qcolor(). """ pen = QtGui.QPen() if isinstance(color, tuple): pen.setColor(QtGui.QColor(*color)) else: pen.setColor(QtGui.QColor(color)) self._painter.setPen(pen) def addLayer(self, overlay, x=0, y=0): """addOverlay(overlay, x=0, y=0) Add an overlay icon to the icon (add the specified position). """ pm = self._getPixmap(overlay) self._painter.drawPixmap(x, y, pm) def addLine(self, x1, y1, x2, y2): """addLine( x1, y1, x2, y2) Add a line to the icon. """ self._painter.drawLine(x1, y1, x2, y2) def addPoint(self, x, y): """addPoint( x, y) Add a point to the icon. """ self._painter.drawPoint(x, y) def addMenuArrow(self, strength=100): """addMenuArrow() Adds a menu arrow to the icon to let the user know the icon is clickable. """ x, y = 0, 12 a1, a2 = int(strength / 2), strength # Zeroth line of 3+2 self.setPenColor((0, 0, 0, a1)) self.addPoint(x + 0, y - 1) self.addPoint(x + 4, y - 1) self.setPenColor((0, 0, 0, a2)) self.addPoint(x + 1, y - 1) self.addPoint(x + 2, y - 1) self.addPoint(x + 3, y - 1) # First line of 3+2 self.setPenColor((0, 0, 0, a1)) self.addPoint(x + 0, y + 0) self.addPoint(x + 4, y + 0) self.setPenColor((0, 0, 0, a2)) self.addPoint(x + 1, y + 0) self.addPoint(x + 2, y + 0) self.addPoint(x + 3, y + 0) # Second line of 3 self.addPoint(x + 1, y + 1) self.addPoint(x + 2, y + 1) self.addPoint(x + 3, y + 1) # Third line of 1+2 self.addPoint(x + 2, y + 2) self.setPenColor((0, 0, 0, a1)) self.addPoint(x + 1, y + 2) self.addPoint(x + 3, y + 2) # Fourth line of 1 self.setPenColor((0, 0, 0, a2)) self.addPoint(x + 2, y + 3) # todo: not used; remove me? class TabCloseButton(QtWidgets.QToolButton): """TabCloseButton This class implements a very compact close button to be used in tabs. It allows managing tab (the closing part of it) in a fast and intuitive fashion. """ SIZE = 5, 8 def __init__(self): QtWidgets.QToolButton.__init__(self) # Init self.setIconSize(QtCore.QSize(*self.SIZE)) self.setStyleSheet("QToolButton{ border:none; padding:0px; margin:0px; }") self.setIcon(self.getCrossIcon1()) def mousePressEvent(self, event): # Get tabs tabs = self.parent().parent() # Get index from position pos = self.mapTo(tabs, event.pos()) index = tabs.tabBar().tabAt(pos) # Close it tabs.tabCloseRequested.emit(index) def enterEvent(self, event): QtWidgets.QToolButton.enterEvent(self, event) self.setIcon(self.getCrossIcon2()) def leaveEvent(self, event): QtWidgets.QToolButton.leaveEvent(self, event) self.setIcon(self.getCrossIcon1()) def _createCrossPixmap(self, alpha): artist = IconArtist(self.SIZE) # artist.setPenColor((0, 0, 0, alpha)) # artist.addPoint(0, 0) artist.addPoint(1, 1) artist.addPoint(2, 2) artist.addPoint(3, 3) artist.addPoint(4, 4) artist.addPoint(0, 4) artist.addPoint(1, 3) artist.addPoint(3, 1) artist.addPoint(4, 0) # artist.setPenColor((0, 0, 0, int(0.5 * alpha))) # artist.addPoint(1, 0) artist.addPoint(0, 1) artist.addPoint(2, 1) artist.addPoint(1, 2) artist.addPoint(3, 2) artist.addPoint(2, 3) artist.addPoint(4, 3) artist.addPoint(3, 4) # artist.addPoint(0, 3) artist.addPoint(1, 4) artist.addPoint(3, 0) artist.addPoint(4, 1) # return artist.finish().pixmap(*self.SIZE) def getCrossIcon1(self): if hasattr(self, "_cross1"): pm = self._cross1 else: pm = self._createCrossPixmap(80) return QtGui.QIcon(pm) def getCrossIcon2(self): if hasattr(self, "_cross2"): pm = self._cross2 else: pm = self._createCrossPixmap(240) # Set return QtGui.QIcon(pm) # todo: not used; remove me? class ToolButtonWithMenuIndication(QtWidgets.QToolButton): """ToolButtonWithMenuIndication Tool button that wraps the icon in a slightly larger icon that contains a small arrow that lights up when hovering over the icon. The button itself is not drawn. If the icon is clicked, the customContextMenuRequested signal of the "grandparent" is emitted. In this way we realize a suble icon that can be clicked on to show a menu. """ SIZE = 21, 16 def __init__(self): QtWidgets.QToolButton.__init__(self) # Init self.setIconSize(QtCore.QSize(*self.SIZE)) self.setStyleSheet("QToolButton{ border: none; }") # Create arrow pixmaps self._menuarrow1 = self._createMenuArrowPixmap(0) self._menuarrow2 = self._createMenuArrowPixmap(70) self._menuarrow = self._menuarrow1 # Variable to keep icon self._icon = None # Variable to keep track of when the mouse was pressed, so that # we can allow dragging as well as clicking the menu. self._menuPressed = False def mousePressEvent(self, event): # Ignore event so that the tabbar will change to that tab event.ignore() self._menuPressed = event.pos() def mouseMoveEvent(self, event): QtWidgets.QToolButton.mouseMoveEvent(self, event) if self._menuPressed: dragDist = QtWidgets.QApplication.startDragDistance() if (event.pos() - self._menuPressed).manhattanLength() >= dragDist: self._menuPressed = False def mouseReleaseEvent(self, event): event.ignore() if self._menuPressed: tabs = self.parent().parent() pos = self.mapTo(tabs, event.pos()) tabs.customContextMenuRequested.emit(pos) def enterEvent(self, event): QtWidgets.QToolButton.enterEvent(self, event) self._menuarrow = self._menuarrow2 self.setIcon() self._menuPressed = False def leaveEvent(self, event): QtWidgets.QToolButton.leaveEvent(self, event) self._menuarrow = self._menuarrow1 self.setIcon() self._menuPressed = False def setIcon(self, icon=None): # Store icon if given, otherwise use buffered version if icon is not None: self._icon = icon # Compose icon by superimposing the menuarrow pixmap artist = IconArtist(self.SIZE) if self._icon: artist.addLayer(self._icon, 5, 0) artist.addLayer(self._menuarrow, 0, 0) icon = artist.finish() # Set icon QtWidgets.QToolButton.setIcon(self, icon) def _createMenuArrowPixmap(self, strength): artist = IconArtist() artist.addMenuArrow(strength) return artist.finish().pixmap(16, 16) class TabToolButton(QtWidgets.QToolButton): """TabToolButton Base menu for editor and shell tabs. """ SIZE = 16, 16 def __init__(self, *args): QtWidgets.QToolButton.__init__(self, *args) # Init self.setIconSize(QtCore.QSize(*self.SIZE)) self.setStyleSheet("QToolButton{ border: none; }") def mousePressEvent(self, event): # Ignore event so that the tabbar will change to that tab event.ignore() class TabToolButtonWithCloseButton(TabToolButton): """TabToolButtonWithCloseButton Tool button that wraps the icon in a slightly larger icon that contains a small cross that can be used to invoke a close request. """ SIZE = 22, 16 CROSS_OFFSET = 0, 2 def __init__(self, *args): TabToolButton.__init__(self, *args) # Variable to keep icon self._icon = None self._cross = self.getCrossPixmap1() # For mouse tracking inside icon self.setMouseTracking(True) self._overCross = False def _isOverCross(self, pos): x1, x2 = self.CROSS_OFFSET[0], self.CROSS_OFFSET[0] + 5 + 1 y1, y2 = self.CROSS_OFFSET[1], self.CROSS_OFFSET[1] + 5 + 1 if pos.x() >= x1 and pos.x() <= x2 and pos.y() >= y1 and pos.y() <= y2: return True else: return False def mousePressEvent(self, event): if self._isOverCross(event.pos()): # Accept event so that the tabbar will NOT change to that tab event.accept() else: event.ignore() def mouseReleaseEvent(self, event): if self._isOverCross(event.pos()): event.accept() # Get tabs tabs = self.parent().parent() # Get index from position pos = self.mapTo(tabs, event.pos()) index = tabs.tabBar().tabAt(pos) # Close it tabs.tabCloseRequested.emit(index) else: event.ignore() def mouseMoveEvent(self, event): QtWidgets.QToolButton.mouseMoveEvent(self, event) new_overCross = self._isOverCross(event.pos()) if new_overCross != self._overCross: self._overCross = new_overCross if new_overCross: self._cross = self.getCrossPixmap2() else: self._cross = self.getCrossPixmap1() self.setIcon() def leaveEvent(self, event): if self._overCross: self._overCross = False self._cross = self.getCrossPixmap1() self.setIcon() def setIcon(self, icon=None): # Store icon if given, otherwise use buffered version if icon is not None: self._icon = icon # Compose icon by superimposing the menuarrow pixmap artist = IconArtist(self.SIZE) if self._icon: if self.CROSS_OFFSET[0] > 8: artist.addLayer(self._icon, 0, 0) else: artist.addLayer(self._icon, 6, 0) artist.addLayer(self._cross, *self.CROSS_OFFSET) icon = artist.finish() # Set icon QtWidgets.QToolButton.setIcon(self, icon) def _createMenuArrowPixmap(self, strength): artist = IconArtist() artist.addMenuArrow(strength) return artist.finish().pixmap(16, 16) def _createCrossPixmap(self, alpha): artist = IconArtist((5, 5)) # artist.setPenColor((0, 0, 0, alpha)) # artist.addPoint(0, 0) artist.addPoint(1, 1) artist.addPoint(2, 2) artist.addPoint(3, 3) artist.addPoint(4, 4) artist.addPoint(0, 4) artist.addPoint(1, 3) artist.addPoint(3, 1) artist.addPoint(4, 0) # artist.setPenColor((0, 0, 0, int(0.5 * alpha))) # artist.addPoint(1, 0) artist.addPoint(0, 1) artist.addPoint(2, 1) artist.addPoint(1, 2) artist.addPoint(3, 2) artist.addPoint(2, 3) artist.addPoint(4, 3) artist.addPoint(3, 4) # artist.addPoint(0, 3) artist.addPoint(1, 4) artist.addPoint(3, 0) artist.addPoint(4, 1) # return artist.finish().pixmap(5, 5) def getCrossPixmap1(self): if hasattr(self, "_cross1"): pm = self._cross1 else: pm = self._createCrossPixmap(50) return pm def getCrossPixmap2(self): if hasattr(self, "_cross2"): pm = self._cross2 else: pm = self._createCrossPixmap(240) # Set return pm class EditorTabToolButton(TabToolButtonWithCloseButton): """Button for the tabs of the editors. This is just a tight wrapper for the icon. """ def updateIcon(self, isDirty, isMain, isPinned, nBlocks=10001): # Init drawing artist = IconArtist() # Create base if isDirty: artist.addLayer("page_white_dirty") artist.setPenColor("#f00") else: artist.addLayer("page_white") artist.setPenColor("#444") # Paint lines if not nBlocks: nLines = 0 elif nBlocks <= 10: nLines = 1 elif nBlocks <= 100: nLines = 2 elif nBlocks <= 1000: nLines = 3 elif nBlocks <= 10000: nLines = 4 else: nLines = 5 # fraction = float(nBlocks) / 10**nLines fraction = min(fraction, 1.0) # for i in range(nLines): y = 4 + 2 * i n = 5 if y > 6: n = 8 # if i == nLines-1: # n = int(fraction * n) artist.addLine(4, y, 4 + n, y) # Overlays if isMain: artist.addLayer("overlay_star") if isPinned: artist.addLayer("overlay_thumbnail") if isDirty: artist.addLayer("overlay_disk") # Apply self.setIcon(artist.finish()) class ShellIconMaker: """Object that can make an icon for the shells""" POSITION = (6, 7) # absolute position of center of wheel. # Relative position for the wheel at two levels. Center is at (3,,3) POSITIONS1 = [(2, 2), (3, 2), (4, 2), (4, 3), (4, 4), (3, 4), (2, 4), (2, 3)] POSITIONS2 = [ (2, 1), (3, 1), (4, 1), (5, 2), (5, 3), (5, 4), (4, 5), (3, 5), (2, 5), (1, 4), (1, 3), (1, 2), ] # Maps to make transitions between levels more natural MAP1to2 = [1, 2, 4, 5, 7, 8, 10, 11] MAP2to1 = [1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 0, 1] MAX_ITERS_IN_LEVEL_1 = 2 def __init__(self, objectWithIcon): self._objectWithIcon = objectWithIcon # Motion properties self._index = 0 self._level = 0 self._count = 0 # to count number of iters in level 1 # Prepare blob pixmap self._blob = self._createBlobPixmap() self._legs = self._createLegsPixmap() # Create timer self._timer = QtCore.QTimer(None) self._timer.setInterval(200) self._timer.setSingleShot(False) self._timer.timeout.connect(self.onTimer) def setIcon(self, icon): self._objectWithIcon.setIcon(icon) def _createBlobPixmap(self): artist = IconArtist() artist.setPenColor((0, 150, 0, 255)) artist.addPoint(1, 1) artist.setPenColor((0, 150, 0, 200)) artist.addPoint(1, 0) artist.addPoint(1, 2) artist.addPoint(0, 1) artist.addPoint(2, 1) artist.setPenColor((0, 150, 0, 100)) artist.addPoint(0, 0) artist.addPoint(2, 0) artist.addPoint(0, 2) artist.addPoint(2, 2) return artist.finish().pixmap(16, 16) def _createLegsPixmap(self): artist = IconArtist() x, y = self.POSITION artist.setPenColor((0, 50, 0, 150)) artist.addPoint(x + 1, y - 1) artist.addPoint(x + 1, y - 2) artist.addPoint(x + 0, y - 2) artist.addPoint(x + 3, y + 1) artist.addPoint(x + 4, y + 1) artist.addPoint(x + 4, y + 2) artist.addPoint(x + 2, y + 3) artist.addPoint(x + 2, y + 4) artist.addPoint(x + 0, y + 3) artist.addPoint(x + 0, y + 4) artist.addPoint(x - 1, y + 2) artist.addPoint(x - 2, y + 2) artist.addPoint(x - 1, y + 0) artist.addPoint(x - 2, y + 0) return artist.finish().pixmap(16, 16) def updateIcon(self, status="Ready"): """updateIcon(status) Public method to set what state the icon must show. """ # Normalize and store if isinstance(status, str): status = status.lower() self._status = status # Handle if status == "busy": self._index = 0 if self._level == 2: self._index = self.MAP2to1[self._index] self._level = 1 elif status == "very busy": self._index = 0 if self._level == 1: self._index = self.MAP1to2[self._index] self._level = 2 else: self._level = 0 # At least one timer iteration self._timer.start() def _nextIndex(self): self._index += 1 if self._level == 1 and self._index >= 8: self._index = 0 elif self._level == 2 and self._index >= 12: self._index = 0 def _index1(self): return self._index def _index2(self): n = [0, 8, 12][self._level] index = self._index + n / 2 if index >= n: index -= n return int(index) def onTimer(self): """onTimer() Invoked on each timer iteration. Will call the static drawing methods if in level 0. Otherwise will invoke drawInMotion(). This method also checks if we should change levels and calculates how this is best achieved. """ if self._level == 0: # Turn of timer self._timer.stop() # Draw if self._status in ["ready", "more"]: self.drawReady() elif self._status == "debug": self.drawDebug() elif self._status == "dead": self.drawDead() else: self.drawDead() elif self._level == 1: # Draw self.drawInMotion() # Next, this is always intermediate self._nextIndex() self._count += 1 elif self._level == 2: # Draw self.drawInMotion() # Next self._nextIndex() def drawReady(self): """drawReady() Draw static icon for when in ready mode. """ artist = IconArtist("application") artist.addLayer(self._blob, *self.POSITION) self.setIcon(artist.finish()) def drawDebug(self): """drawDebug() Draw static icon for when in debug mode. """ artist = IconArtist("application") artist.addLayer(self._blob, *self.POSITION) artist.addLayer(self._legs) self.setIcon(artist.finish()) def drawDead(self): """drawDead() Draw static empty icon for when the kernel is dead. """ artist = IconArtist("application") self.setIcon(artist.finish()) def drawInMotion(self): """drawInMotion() Draw one frame of the icon in motion. Position of the blobs is determined from the index and the list of locations. """ # Init drawing artist = IconArtist("application") # Define params dx, dy = self.POSITION[0] - 3, self.POSITION[1] - 3 blob = self._blob # if self._level == 1: positions = self.POSITIONS1 elif self._level == 2: positions = self.POSITIONS2 # Draw pos1 = positions[self._index1()] pos2 = positions[self._index2()] artist.addLayer(blob, pos1[0] + dx, pos1[1] + dy) artist.addLayer(blob, pos2[0] + dx, pos2[1] + dy) # Done self.setIcon(artist.finish()) pyzo-4.12.3/pyzo/core/kernelbroker.py000066400000000000000000000702641421373005400176020ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module kernelBroker This module implements the interface between Pyzo and the kernel. """ import os, sys, time import subprocess import signal import threading import ctypes import yoton import pyzo # local Pyzo (can be on a different box than where the user is) from pyzo.util import zon as ssdf # zon is ssdf-light # To allow interpreters relative to (frozen) Pyzo app EXE_DIR = os.path.abspath(os.path.dirname(sys.executable)) if EXE_DIR.endswith(".app/Contents/MacOS"): EXE_DIR = os.path.dirname(EXE_DIR.rsplit(".app")[0]) # Important: the yoton event loop should run somehow! class KernelInfo(ssdf.Struct): """KernelInfo Describes all information for a kernel. This class can be used at the IDE as well as the kernelbroker. This information goes a long way from the pyzo config file to the kernel. The list pyzo.config.shellConfigs2 contains the configs for all kernels. These objects are edited in-place by the shell config. The shell keeps a reference of the shell config used to start the kernel. On each restart all information is resend. In this way, if a user changes a setting in the shell config, it is updated when the shell restarts. The broker also keeps a copy of the shell config. In this way, the shell might send no config information (or only partially update the config information) on a restart. This is not so relevant now, but it can be when we are running multiple people on a single kernel, and there is only one user who has the original config. """ def __init__(self, info=None): super().__init__() # ----- Fixed parameters that define a shell ----- # scriptFile is used to define the mode. If given, we run in # script-mode. Otherwise we run in interactive mode. # The name of this shell config. Can be used to name the kernel self.name = "Python" # The executable. This can be '/usr/bin/python3.1' or # 'c:/program files/python2.6/python.exe', etc. self.exe = "" # The GUI toolkit to embed the event loop of. # Instantiate with a value that is settable self.gui = "Auto" # The Python path. Paths should be separated by newlines. # '$PYTHONPATH' is replaced by environment variable by broker self.pythonPath = "" # The path of the current project, the kernel will prepend this # to the sys.path. The broker could prepend to PYTHONPATH, but # in this way it is more explicit (kernel can tell the user that # the project path was prepended). self.projectPath = "" # The full filename of the script to run. # If given, the kernel should run in script-mode. # The kernel will check whether this file exists, and will # revert to interactive mode if it doesn't. self.scriptFile = "" # Interactive-mode only: # The initial directory. Only used for interactive-mode; in # script-mode the initial directory is the dir of the script. self.startDir = "" # The Startup script (only used for interactive-mode). # - Empty string means run nothing, # - Single line means file name # - multiple lines means source code. # - '$PYTHONSTARTUP' uses the code in that file. Broker replaces this. self.startupScript = "" # Additional command line arguments, set by the kernel self.argv = "" # Additional environment variables self.environ = "" # Load info from ssdf struct. Make sure they are all strings if info: # Get struct if isinstance(info, dict): s = info elif isinstance(info, str): s = ssdf.loads(info) else: raise ValueError( "Kernel info should be a string or ssdf struct, not %s" % str(type(info)) ) # Inject values for key in s: val = s[key] if not val: val = "" self[key] = val def tostring(self): return ssdf.saves(self) def getCommandFromKernelInfo(info, port): info = KernelInfo(info) # Apply default exe exe = info.exe or "python" if exe.startswith("."): exe = os.path.abspath(os.path.join(EXE_DIR, exe)) # Correct path when it contains spaces if exe.count(" ") and exe[0] != '"': exe = '"{}"'.format(exe) # Get start script startScript = os.path.join(pyzo.pyzoDir, "pyzokernel", "start.py") startScript = '"{}"'.format(startScript) # Build command command = exe + " " + startScript + " " + str(port) # Done return command def getEnvFromKernelInfo(info): info = KernelInfo(info) pythonPath = info.pythonPath # Set default pythonPath (replace only first occurrence of $PYTHONPATH ENV_PP = os.environ.get("PYTHONPATH", "") pythonPath = pythonPath.replace("$PYTHONPATH", "\n" + ENV_PP + "\n", 1) pythonPath = pythonPath.replace("$PYTHONPATH", "") # Split paths, allow newlines and os.pathsep for splitChar in "\n\r" + os.pathsep: pythonPath = pythonPath.replace(splitChar, "\n") pythonPaths = [p.strip() for p in pythonPath.split("\n") if p] # Recombine using the OS's path separator pythonPath = os.pathsep.join(pythonPaths) # Add entry to Pythopath, so that we can import yoton # Note: an empty entry might cause trouble if the start-directory is # somehow overriden (see issue 128). pythonPath = pyzo.pyzoDir + os.pathsep + pythonPath # Prepare environment, remove references to tk libraries, # since they're wrong when frozen. Python will insert the # correct ones if required. env = os.environ.copy() # env.pop("TK_LIBRARY", "") env.pop("TCL_LIBRARY", "") env["PYTHONPATH"] = pythonPath # Jython does not use PYTHONPATH but JYTHONPATH env["JYTHONPATH"] = pyzo.pyzoDir + os.pathsep + os.environ.get("JYTHONPATH", "") env["TERM"] = "dumb" # we have a "dumb" terminal (see #422) # PyInstaller uses DllDirectory, but this leaks down to subprocesses, # causing GUI integration with QT-based libs to fail. Turn it off now. # https://github.com/pyinstaller/pyinstaller/issues/3795 if sys.platform.startswith("win32"): ctypes.windll.kernel32.SetDllDirectoryA(None) # PyInstaller prepends the root app dir to LD_LIBRARY_PATH (see #665) if getattr(sys, "frozen", False) and "LD_LIBRARY_PATH" in env: to_remove = os.path.normpath(os.path.dirname(sys.executable)) paths = env["LD_LIBRARY_PATH"].split(os.pathsep) paths = [os.path.normpath(p) for p in paths] paths = [p for p in paths if p != to_remove] env["LD_LIBRARY_PATH"] = os.pathsep.join(paths) # Remove Qt plugin directories, because it breaks Qt integration for the kernel # on several systems. E.g. QT_QPA_PLATFORM_PLUGIN_PATH, QT_PLUGIN_PATH if getattr(sys, "frozen", False): frozen_path = os.path.normpath(sys.prefix).lower() for key, val in list(env.items()): if key.startswith(("QT_", "QML2_")): if frozen_path in os.path.normpath(val).lower(): env.pop(key, None) env["PATH"] = os.pathsep.join( x for x in os.getenv("PATH", "").split(os.pathsep) if not os.path.normpath(x).lower().startswith(frozen_path) ) # Add dirs specific to this Python interpreter. Especially important with # Miniconda/Anaconda on Windows, see issue #591 prefix = os.path.dirname(info.exe) envdirs = ["", "Library/usr/bin", "Library/bin", "bin"] if sys.platform.startswith("win"): envdirs.extend([r"Scripts", r"Library\mingw-w64\bin", r"Library\mingw-w32\bin"]) curpath = env.get("PATH", "").strip(os.pathsep) env["PATH"] = ( os.pathsep.join(os.path.join(prefix, d) for d in envdirs) + os.pathsep + curpath ) # Add environment variables specified in shell config for line in info.environ.splitlines(): line = line.strip() if "=" in line: key, val = line.split("=", 1) if key: key, val = key.strip(), val.strip() env[key] = os.path.expandvars(val) # Done return env class KernelBroker: """KernelBroker(info) This class functions as a broker between a kernel process and zero or more IDE's (clients). This class has a single context assosiated with it, that lives as long as this object. It is used to connect to a kernel process and to 0 or more IDE's (clients). The kernel process can be "restarted", meaning that it is terminated and a new process started. The broker is cleaned up if there is no kernel process AND no connections. """ def __init__(self, manager, info, name=""): self._manager = manager # Store info that defines the kernel self._originalInfo = KernelInfo(info) # Make a copy for the current version. This copy is re-created on # each restart self._info = ssdf.copy(self._originalInfo) # Store name (or should the name be defined in the info struct) self._name = name # Create context for the connection to the kernel and IDE's # This context is persistent (it stays as long as this KernelBroker # instance is alive). self._context = yoton.Context() self._kernelCon = None self._ctrl_broker = None # Create yoton-based timer self._timer = yoton.Timer(0.2, oneshot=False) self._timer.bind(self.mainLoopIter) # Kernel process and connection (these are replaced on restarting) self._reset() # For restarting after terminating self._pending_restart = None ## Startup and teardown def _create_channels(self): ct = self._context # Close any existing channels first self._context.close_channels() # Create stream channels. # Stdout is for the C-level stdout/stderr streams. self._strm_broker = yoton.PubChannel(ct, "strm-broker") self._strm_raw = yoton.PubChannel(ct, "strm-raw") self._strm_prompt = yoton.PubChannel(ct, "strm-prompt") # Create control channel so that the IDE can control restarting etc. self._ctrl_broker = yoton.SubChannel(ct, "ctrl-broker") # Status channel to pass startup parameters to the kernel self._stat_startup = yoton.StateChannel(ct, "stat-startup", yoton.OBJECT) # We use the stat-interpreter to set the status to dead when kernel dies self._stat_interpreter = yoton.StateChannel(ct, "stat-interpreter") # Create introspect channel so we can interrupt and terminate self._reqp_introspect = yoton.ReqChannel(ct, "reqp-introspect") def _reset(self, destroy=False): """_reset(destroy=False) Reset state. if destroy, does a full clean up, closing the context and removing itself from the KernelManager's list. """ # Close connection (it might be in a wait state if the process # failed to start) if self._kernelCon is not None: self._kernelCon.close() # Set process and kernel connection to None self._process = None self._kernelCon = None self._terminator = None self._streamReader = None if destroy: # Stop timer self._timer.unbind(self.mainLoopIter) self._timer.stop() self._timer = None # Clean up this kernelbroker instance L = self._manager._kernels while self in L: L.remove(self) # Remove references # if self._context is not None: self._context.close() self._context = None # self._strm_broker = None self._strm_raw = None self._stat_startup = None self._stat_interpreter = None self._strm_prompt = None # self._ctrl_broker = None self._reqp_introspect = None def startKernelIfConnected(self, timeout=10.0): """startKernelIfConnected(timout=10.0) Start the kernel as soon as there is a connection. """ self._process = time.time() + timeout self._timer.start() def startKernel(self): """startKernel() Launch the kernel in a subprocess, and connect to it via the context and two Pypes. """ # Create channels self._create_channels() # Create info dict info = {} for key in self._info: info[key] = self._info[key] # Send info stuff so that the kernel has access to the information self._stat_startup.send(info) # Get directory to start process in cwd = pyzo.pyzoDir # Host connection for the kernel to connect # (tries several port numbers, staring from 'PYZO') self._kernelCon = self._context.bind( "localhost:PYZO", max_tries=256, name="kernel" ) # Get command to execute, and environment to use command = getCommandFromKernelInfo(self._info, self._kernelCon.port1) env = getEnvFromKernelInfo(self._info) # Wrap command in call to 'cmd'? if sys.platform.startswith("win"): # as the author from Pype writes: # if we don't run via a command shell, then either sometimes we # don't get wx GUIs, or sometimes we can't kill the subprocesses. # And I also see problems with Tk. # But we only use it if we are sure that cmd is available. # See pyzo issue #240 try: subprocess.check_output('cmd /c "cd"', shell=True) except (IOError, subprocess.SubprocessError): pass # Do not use cmd else: command = 'cmd /c "{}"'.format(command) # Start process self._process = subprocess.Popen( command, shell=True, env=env, cwd=cwd, stdin=subprocess.PIPE, # Fixes issue 165 stdout=subprocess.PIPE, stderr=subprocess.STDOUT, ) # Set timeout for connection, i.e. after how much time of # unresponsive ness is the kernel found to be running extension code # Better set this before connecting self._kernelCon.timeout = 0.5 # Bind to events self._kernelCon.closed.bind(self._onKernelConnectionClose) self._kernelCon.timedout.bind(self._onKernelTimedOut) # Create reader for stream self._streamReader = StreamReader( self._process, self._strm_raw, self._strm_broker ) # Start streamreader and timer self._streamReader.start() self._timer.start() # Reset some variables self._pending_restart = None def hostConnectionForIDE(self, address="localhost"): """hostConnectionForIDE() Host a connection for an IDE to connect to. Returns the port to which the ide can connect. """ c = self._context.bind(address + ":PYZO+256", max_tries=256, name="ide") return c.port1 ## Callbacks def _onKernelTimedOut(self, c, timedout): """_onKernelTimedOut(c, timeout) The kernel timed out (i.e. did not send heartbeat messages for a while. It is probably running extension code. """ if timedout: self._stat_interpreter.send("Very busy") else: self._stat_interpreter.send("Busy") def _onKernelConnectionClose(self, c, why): """_onKernelConnectionClose(c, why) Connection with kernel lost. Tell clients why. """ # If we receive this event while the current kernel connection # is not the one that generated the event, ignore it. if self._kernelCon is not c: return # The only reasonable way that the connection # can be lost without the kernel closing, is if the yoton context # crashed or was stopped somehow. In both cases, we lost control, # and should put it down! if not self._terminator: self.terminate("because connecton was lost", "KILL", 0.5) def _onKernelDied(self, returncode=0): """_onKernelDied() Kernel process died. Clean up! """ # If the kernel did not start yet, probably the command is invalid if self._kernelCon and self._kernelCon.is_waiting: msg = "The process failed to start (invalid command?)." elif not self.isTerminating(): msg = "Kernel process exited." elif not self._terminator._prev_action: # We did not actually take any terminating action # This happens, because if the kernel is killed from outside, # _onKernelConnectionClose() triggers a terminate sequence # (but with a delay). # Note the "The" to be able to distinguish this case msg = "The kernel process exited." else: msg = self._terminator.getMessage("Kernel process") if self._context.connection_count: # Notify returncodeMsg = "\n%s (%s)\n\n" % (msg, str(returncode)) self._strm_broker.send(returncodeMsg) # Empty prompt and signal dead self._strm_prompt.send("\b") self._stat_interpreter.send("Dead") self._context.flush() # Cleanup (get rid of kernel process references) self._reset() # Handle any pending action if self._pending_restart: self.startKernel() ## Main loop and termination def terminate(self, reason="by user", action="TERM", timeout=0.0): """terminate(reason='by user', action='TERM', timeout=0.0) Initiate termination procedure for the current kernel. """ # The terminatation procedure is started by creating # a KernelTerminator instance. This instance's iteration method # iscalled from _mailLoopIter(). self._terminator = KernelTerminator(self, reason, action, timeout) def isTerminating(self): """isTerminating() Get whether the termination procedure has been initiated. This simply checks whether there is a self._terminator instance. """ return bool(self._terminator) def mainLoopIter(self): """mainLoopIter() Periodically called. Kind of the main loop iteration for this kernel. """ # Get some important status info hasProcess = self._process is not None hasKernelConnection = bool(self._kernelCon and self._kernelCon.is_connected) hasClients = False if self._context: hasClients = self._context.connection_count > int(hasKernelConnection) # Should we clean the whole thing up? if not (hasProcess or hasClients): self._reset(True) # Also unregisters this timer callback return # Waiting to get started; waiting for client to connect if isinstance(self._process, float): if self._context.connection_count: self.startKernel() elif self._process > time.time(): self._process = None return # If we have a process ... if self._process: # Test if process is dead process_returncode = self._process.poll() if process_returncode is not None: self._onKernelDied(process_returncode) return # Are we in the process of terminating? elif self.isTerminating(): self._terminator.next() elif self.isTerminating(): # We cannot have a terminator if we have no process self._terminator = None # handle control messages if self._ctrl_broker: for msg in self._ctrl_broker.recv_all(): if msg == "INT": self._commandInterrupt() elif msg == "TERM": self._commandTerminate() elif msg.startswith("RESTART"): self._commandRestart(msg) else: pass # Message is not for us def _commandInterrupt(self): if self._process is None: self._strm_broker.send("Cannot interrupt: process is dead.\n") # Kernel receives and acts elif sys.platform.startswith("win"): self._reqp_introspect.interrupt() else: # Use POSIX to interrupt, which is more reliable # (the introspect thread might not get a chance) # but also does not work if running extension code pid = self._kernelCon.pid2 os.kill(pid, signal.SIGINT) def _commandTerminate(self): # Start termination procedure # Kernel will receive term and act (if it can). # If it wont, we will act in a second or so. if self._process is None: self._strm_broker.send("Cannot terminate: process is dead.\n") elif self.isTerminating(): # The user gave kill command while the kill process # is running. We could do an immediate kill now, # or we let the terminate process run its course. pass else: self.terminate("by user") def _commandRestart(self, msg): # Almost the same as terminate, but now we have a pending action self._pending_restart = True # Recreate the info struct self._info = ssdf.copy(self._originalInfo) # Update the info struct new_info = ssdf.loads(msg.split("RESTART", 1)[1]) for key in new_info: self._info[key] = new_info[key] # Restart now, wait, or initiate termination procedure? if self._process is None: self.startKernel() elif self.isTerminating(): pass # Already terminating else: self.terminate("for restart") class KernelTerminator: """KernelTerminator(broker, reason='user terminated', action='TERM', timeout=0.0) Simple class to help terminating the kernel. It has a next() method that should be periodically called. It keeps track whether the timeout has passed and will undertake increaslingly ruder actions to terminate the kernel. """ def __init__(self, broker, reason="by user", action="TERM", timeout=0.0): # Init/store self._broker = broker self._reason = reason self._next_action = "" # Go self._do(action, timeout) def _do(self, action, timeout): self._prev_action = self._next_action self._next_action = action self._timeout = time.time() + timeout if not timeout: self.next() def next(self): # Get action action = self._next_action if time.time() < self._timeout: # Time did not pass yet pass elif action == "TERM": self._broker._reqp_introspect.terminate() self._do("INT", 0.5) elif action == "INT": # Count if not hasattr(self, "_count"): self._count = 0 self._count += 1 # Handle if self._count < 5: self._broker._reqp_introspect.interrupt() self._do("INT", 0.1) else: self._do("KILL", 0) elif action == "KILL": # Get pid and signal pid = self._broker._kernelCon.pid2 sigkill = signal.SIGTERM if hasattr(signal, "SIGKILL"): sigkill = signal.SIGKILL # Kill if hasattr(os, "kill"): os.kill(pid, sigkill) elif sys.platform.startswith("win"): kernel32 = ctypes.windll.kernel32 handle = kernel32.OpenProcess(1, 0, pid) kernel32.TerminateProcess(handle, 0) # os.system("TASKKILL /PID " + str(pid) + " /F") # Set what we did self._do("NOTHING", 9999999999999999) def getMessage(self, what): # Get nice string of that D = { "": "exited", "TERM": "terminated", "INT": "terminated (after interrupting)", "KILL": "killed", } actionMsg = D.get(self._prev_action, "stopped for unknown reason") # Compile stop-string return "{} {} {}.".format(what, actionMsg, self._reason) class StreamReader(threading.Thread): """StreamReader(process, channel) Reads stdout of process and send to a yoton channel. This needs to be done in a separate thread because reading from a PYPE blocks. """ def __init__(self, process, strm_raw, strm_broker): threading.Thread.__init__(self) self._process = process self._strm_raw = strm_raw self._strm_broker = strm_broker self.deamon = True self._exit = False def stop(self, timeout=1.0): self._exit = True self.join(timeout) def run(self): while not self._exit: time.sleep(0.001) # Read any stdout/stderr messages and route them via yoton. msg = self._process.stdout.readline() # <-- Blocks here if not isinstance(msg, str): msg = msg.decode("utf-8", "ignore") try: self._strm_raw.send(msg) except IOError: pass # Channel is closed # Process dead? if not msg: # or self._process.poll() is not None: break # self._strm_broker.send('streamreader exit\n') class Kernelmanager: """Kernelmanager This class manages a set of kernels. These kernels run on the same machine as this broker. IDE's can ask which kernels are available and can connect to them via this broker. The Pyzo process runs an instance of this class that connects at localhost. At a later stage, we may make it possible to create a kernel-server at a remote machine. """ def __init__(self, public=False): # Set whether other machines in this network may connect to our kernels self._public = public # Init list of kernels self._kernels = [] def createKernel(self, info, name=None): """create_kernel(info, name=None) Create a new kernel. Returns the port number to connect to the broker's context. """ # Set name if not given if not name: i = len(self._kernels) + 1 name = "kernel %i" % i # Create kernel kernel = KernelBroker(self, info, name) self._kernels.append(kernel) # Host a connection for the ide port = kernel.hostConnectionForIDE() # Tell broker to start as soon as the IDE connects with the broker kernel.startKernelIfConnected() # Done return port def getKernelList(self): # Get info of each kernel as an ssdf struct infos = [] for kernel in self._kernels: info = kernel._info info = ssdf.loads(info.tostring()) info.name = kernel._name infos.append(info) # Done return infos def terminateAll(self): """terminateAll() Terminates all kernels. Required when shutting down Pyzo. When this function returns, all kernels will be terminated. """ for kernel in [kernel for kernel in self._kernels]: # Try closing the process gently: by closing stdin terminator = KernelTerminator(kernel, "for closing down") # Terminate while ( kernel._kernelCon and kernel._kernelCon.is_connected and kernel._process and (kernel._process.poll() is None) ): terminator.next() time.sleep(0.02) yoton.process_events(False) # Clean up kernel._reset(True) pyzo-4.12.3/pyzo/core/main.py000066400000000000000000000501441421373005400160340ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module main This module contains the main frame. Implements the main window. Also adds some variables to the pyzo namespace, such as the callLater function which is also defined here. """ import os, sys, time import base64 from queue import Queue, Empty import pyzo from pyzo.core.icons import IconArtist from pyzo.core import commandline from pyzo.core.statusbar import StatusBar from pyzo import qt from pyzo.qt import QtCore, QtGui, QtWidgets from pyzo.core.splash import SplashWidget from pyzo.util import paths from pyzo.util import zon as ssdf # zon is ssdf-light from pyzo import translate class MainWindow(QtWidgets.QMainWindow): def __init__(self, parent=None, locale=None): QtWidgets.QMainWindow.__init__(self, parent) self._closeflag = 0 # Used during closing/restarting # Init window title and application icon # Set title to something nice. On Ubuntu 12.10 this text is what # is being shown at the fancy title bar (since it's not properly # updated) self.setMainTitle() loadAppIcons() self.setWindowIcon(pyzo.icon) # Restore window geometry before drawing for the first time, # such that the window is in the right place self.resize(800, 600) # default size self.restoreGeometry() # Show splash screen (we need to set our color too) w = SplashWidget(self, distro="no distro") self.setCentralWidget(w) self.setStyleSheet("QMainWindow { background-color: #268bd2;}") # Show empty window and disable updates for a while self.show() self.paintNow() self.setUpdatesEnabled(False) # Determine timeout for showing splash screen splash_timeout = time.time() + 1.0 # Set locale of main widget, so that qt strings are translated # in the right way if locale: self.setLocale(locale) # Store myself pyzo.main = self # Init dockwidget settings self.setTabPosition(QtCore.Qt.AllDockWidgetAreas, QtWidgets.QTabWidget.South) self.setDockOptions( QtWidgets.QMainWindow.AllowTabbedDocks | QtWidgets.QMainWindow.AllowNestedDocks # | QtWidgets.QMainWindow.AnimatedDocks ) # Set window atrributes self.setAttribute(QtCore.Qt.WA_AlwaysShowToolTips, True) # Load icons and fonts loadIcons() loadFonts() # Set qt style and test success self.setQtStyle(None) # None means init! # Hold the splash screen if needed while time.time() < splash_timeout: QtWidgets.qApp.sendPostedEvents() QtWidgets.qApp.processEvents() time.sleep(0.05) # Populate the window (imports more code) self._populate() # Revert to normal background, and enable updates self.setStyleSheet("") self.setUpdatesEnabled(True) # Restore window state, force updating, and restore again self.restoreState() self.paintNow() self.restoreState() # Present user with wizard if he/she is new. if False: # pyzo.config.state.newUser: from pyzo.util.pyzowizard import PyzoWizard w = PyzoWizard(self) w.show() # Use show() instead of exec_() so the user can interact with pyzo # Create new shell config if there is None if not pyzo.config.shellConfigs2: from pyzo.core.kernelbroker import KernelInfo pyzo.config.shellConfigs2.append(KernelInfo()) # Focus on editor e = pyzo.editors.getCurrentEditor() if e is not None: e.setFocus() # Handle any actions commandline.handle_cmd_args() # To force drawing ourselves def paintEvent(self, event): QtWidgets.QMainWindow.paintEvent(self, event) self._ispainted = True def paintNow(self): """Enforce a repaint and keep calling processEvents until we are repainted. """ self._ispainted = False self.update() while not self._ispainted: QtWidgets.qApp.sendPostedEvents() QtWidgets.qApp.processEvents() time.sleep(0.01) def _populate(self): # Delayed imports from pyzo.core.editorTabs import EditorTabs from pyzo.core.shellStack import ShellStackWidget from pyzo.core import codeparser from pyzo.core.history import CommandHistory from pyzo.tools import ToolManager # Instantiate tool manager pyzo.toolManager = ToolManager() # Check to install conda now ... # from pyzo.util.bootstrapconda import check_for_conda_env # check_for_conda_env() # Instantiate and start source-code parser if pyzo.parser is None: pyzo.parser = codeparser.Parser() pyzo.parser.start() # Create editor stack and make the central widget pyzo.editors = EditorTabs(self) self.setCentralWidget(pyzo.editors) # Create floater for shell self._shellDock = dock = QtWidgets.QDockWidget(self) if pyzo.config.settings.allowFloatingShell: dock.setFeatures(dock.DockWidgetMovable | dock.DockWidgetFloatable) else: dock.setFeatures(dock.DockWidgetMovable) dock.setObjectName("shells") dock.setWindowTitle("Shells") self.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock) # Create shell stack pyzo.shells = ShellStackWidget(self) dock.setWidget(pyzo.shells) # Initialize command history pyzo.command_history = CommandHistory("command_history.py") # Create the default shell when returning to the event queue callLater(pyzo.shells.addShell) # Create status bar self.setStatusBar(StatusBar()) # show or hide self.statusBar().setVisible(pyzo.config.view.showStatusbar) # Create menu from pyzo.core import menu pyzo.keyMapper = menu.KeyMapper() menu.buildMenus(self.menuBar()) # Add the context menu to the editor pyzo.editors.addContextMenu() pyzo.shells.addContextMenu() # Load tools if pyzo.config.state.newUser and not pyzo.config.state.loadedTools: pyzo.toolManager.loadTool("pyzosourcestructure") pyzo.toolManager.loadTool("pyzofilebrowser", "pyzosourcestructure") elif pyzo.config.state.loadedTools: for toolId in pyzo.config.state.loadedTools: pyzo.toolManager.loadTool(toolId) def setMainTitle(self, path=None): """Set the title of the main window, by giving a file path.""" if not path: # Plain title title = "Interactive Editor for Python" else: # Title with a filename name = os.path.basename(path) if os.path.isfile(path): pass elif name == path: path = translate("main", "unsaved") else: pass # We hope the given path is informative # Set title tmp = { "fileName": name, "filename": name, "name": name, "fullPath": path, "fullpath": path, "path": path, } title = pyzo.config.advanced.titleText.format(**tmp) # Set self.setWindowTitle(title) def saveWindowState(self): """Save: * which tools are loaded * geometry of the top level windows * layout of dockwidgets and toolbars """ # Save tool list tools = pyzo.toolManager.getLoadedTools() pyzo.config.state.loadedTools = tools # Store window geometry geometry = self.saveGeometry() geometry = base64.encodebytes(geometry.data()).decode("ascii") pyzo.config.state.windowGeometry = geometry # Store window state state = self.saveState() state = base64.encodebytes(state.data()).decode("ascii") pyzo.config.state.windowState = state def restoreGeometry(self, value=None): # Restore window position and whether it is maximized if value is not None: return super().restoreGeometry(value) # No value give, try to get it from the config if pyzo.config.state.windowGeometry: try: geometry = pyzo.config.state.windowGeometry geometry = base64.decodebytes(geometry.encode("ascii")) self.restoreGeometry(geometry) except Exception as err: print("Could not restore window geomerty: " + str(err)) def restoreState(self, value=None): # Restore layout of dock widgets and toolbars if value is not None: return super().restoreState(value) # No value give, try to get it from the config if pyzo.config.state.windowState: try: state = pyzo.config.state.windowState state = base64.decodebytes(state.encode("ascii")) self.restoreState(state) except Exception as err: print("Could not restore window state: " + str(err)) def setQtStyle(self, stylename=None): """Set the style and the palette, based on the given style name. If stylename is None or not given will do some initialization. If bool(stylename) evaluates to False will use the default style for this system. Returns the QStyle instance. """ if stylename is None: # Initialize # Get native pallette (used below) QtWidgets.qApp.nativePalette = QtWidgets.qApp.palette() # Obtain default style name pyzo.defaultQtStyleName = str(QtWidgets.qApp.style().objectName()) # Other than gtk+ and mac, Fusion/Cleanlooks looks best (in my opinion) if "gtk" in pyzo.defaultQtStyleName.lower(): pass # Use default style elif "macintosh" in pyzo.defaultQtStyleName.lower(): pass # Use default style elif qt.QT_VERSION > "5": pyzo.defaultQtStyleName = "Fusion" else: pyzo.defaultQtStyleName = "Cleanlooks" # Set style if there is no style yet if not pyzo.config.view.qtstyle: pyzo.config.view.qtstyle = pyzo.defaultQtStyleName # Init if not stylename: stylename = pyzo.config.view.qtstyle # Check if this style exist, set to default otherwise styleNames = [name.lower() for name in QtWidgets.QStyleFactory.keys()] if stylename.lower() not in styleNames: stylename = pyzo.defaultQtStyleName # Try changing the style qstyle = QtWidgets.qApp.setStyle(stylename) # Set palette if qstyle: QtWidgets.qApp.setPalette(QtWidgets.qApp.nativePalette) # Done return qstyle def closeEvent(self, event): """Override close event handler.""" # Are we restaring? restarting = time.time() - self._closeflag < 1.0 # noqa: F841 # Save settings pyzo.saveConfig() pyzo.command_history.save() # Stop command server commandline.stop_our_server() # Proceed with closing... result = pyzo.editors.closeAll() if not result: self._closeflag = False event.ignore() return else: self._closeflag = True # event.accept() # Had to comment on Windows+py3.3 to prevent error # Proceed with closing shells pyzo.localKernelManager.terminateAll() for shell in pyzo.shells: shell._context.close() # The tools need to be explicitly closed to allow them to clean up for toolname in pyzo.toolManager.getLoadedTools(): tool = pyzo.toolManager.getTool(toolname) if hasattr(tool, "cleanUp"): tool.cleanUp() # Stop all threads (this should really only be daemon threads) import threading for thread in threading.enumerate(): if hasattr(thread, "stop"): try: thread.stop(0.1) except Exception: pass # # Wait for threads to die ... # # This should not be necessary, but I used it in the hope that it # # would prevent the segfault on Python3.3. It didn't. # timeout = time.time() + 0.5 # while threading.activeCount() > 1 and time.time() < timeout: # time.sleep(0.1) # print('Number of threads alive:', threading.activeCount()) # Proceed as normal QtWidgets.QMainWindow.closeEvent(self, event) def restart(self): """Restart Pyzo.""" self._closeflag = time.time() # Close self.close() if self._closeflag: # Get args args = [arg for arg in sys.argv] if not paths.is_frozen(): # Prepend the executable name (required on Linux) lastBit = os.path.basename(sys.executable) args.insert(0, lastBit) # When running from the pip entry point pyzo.exe ... (issue #641) if ( len(args) == 2 and args[0] == "python.exe" and not os.path.isfile(args[1]) ): args = ["python.exe", "-m", "pyzo"] # Replace the process! os.execv(sys.executable, args) def createPopupMenu(self): # Init menu menu = QtWidgets.QMenu() # Insert two items for item in ["Editors", "Shells"]: action = menu.addAction(item) action.setCheckable(True) action.setChecked(True) action.setEnabled(False) # Insert tools for tool in pyzo.toolManager.loadToolInfo(): action = menu.addAction(tool.name) action.setCheckable(True) action.setChecked(bool(tool.instance)) action.menuLauncher = tool.menuLauncher # Show menu and process result a = menu.popup(QtGui.QCursor.pos()) if a: a.menuLauncher(not a.menuLauncher(None)) def loadAppIcons(): """loadAppIcons() Load the application iconsr. """ # Get directory containing the icons appiconDir = os.path.join(pyzo.pyzoDir, "resources", "appicons") # Determine template for filename of the application icon-files. fnameT = "pyzologo{}.png" # Construct application icon. Include a range of resolutions. Note that # Qt somehow does not use the highest possible res on Linux/Gnome(?), even # the logo of qt-designer when alt-tabbing looks a bit ugly. pyzo.icon = QtGui.QIcon() for sze in [16, 32, 48, 64, 128, 256]: fname = os.path.join(appiconDir, fnameT.format(sze)) if os.path.isfile(fname): pyzo.icon.addFile(fname, QtCore.QSize(sze, sze)) # Set as application icon. This one is used as the default for all # windows of the application. QtWidgets.qApp.setWindowIcon(pyzo.icon) # Construct another icon to show when the current shell is busy artist = IconArtist(pyzo.icon) # extracts the 16x16 version artist.setPenColor("#0B0") for x in range(11, 16): d = x - 11 # runs from 0 to 4 artist.addLine(x, 6 + d, x, 15 - d) pm = artist.finish().pixmap(16, 16) # pyzo.iconRunning = QtGui.QIcon(pyzo.icon) pyzo.iconRunning.addPixmap(pm) # Change only 16x16 icon def loadIcons(): """loadIcons() Load all icons in the icon dir. """ # Get directory containing the icons iconDir = os.path.join(pyzo.pyzoDir, "resources", "icons") # Construct other icons dummyIcon = IconArtist().finish() pyzo.icons = ssdf.new() for fname in os.listdir(iconDir): if fname.endswith(".png"): try: # Short and full name name = fname.split(".")[0] name = name.replace("pyzo_", "") # discart prefix ffname = os.path.join(iconDir, fname) # Create icon icon = QtGui.QIcon() icon.addFile(ffname, QtCore.QSize(16, 16)) # Store pyzo.icons[name] = icon except Exception as err: pyzo.icons[name] = dummyIcon print("Could not load icon %s: %s" % (fname, str(err))) def loadFonts(): """loadFonts() Load all fonts that come with Pyzo. """ import pyzo.codeeditor # we need pyzo and codeeditor namespace here # Get directory containing the icons fontDir = os.path.join(pyzo.pyzoDir, "resources", "fonts") # Get database object db = QtGui.QFontDatabase # static class # Set default font pyzo.codeeditor.Manager.setDefaultFontFamily("DejaVu Sans Mono") # Load fonts that are in the fonts directory if os.path.isdir(fontDir): for fname in os.listdir(fontDir): if "oblique" in fname.lower(): # issue #461 continue if os.path.splitext(fname)[1].lower() in [".otf", ".ttf"]: try: db.addApplicationFont(os.path.join(fontDir, fname)) except Exception as err: print("Could not load font %s: %s" % (fname, str(err))) class _CallbackEventHandler(QtCore.QObject): """Helper class to provide the callLater function.""" def __init__(self): QtCore.QObject.__init__(self) self.queue = Queue() def customEvent(self, event): while True: try: callback, args = self.queue.get_nowait() except Empty: break try: callback(*args) except Exception as why: print("callback failed: {}:\n{}".format(callback, why)) def postEventWithCallback(self, callback, *args): self.queue.put((callback, args)) QtWidgets.qApp.postEvent(self, QtCore.QEvent(QtCore.QEvent.User)) def callLater(callback, *args): """callLater(callback, *args) Post a callback to be called in the main thread. """ _callbackEventHandler.postEventWithCallback(callback, *args) # Create callback event handler instance and insert function in pyzo namespace _callbackEventHandler = _CallbackEventHandler() pyzo.callLater = callLater _SCREENSHOT_CODE = """ import random numerator = 4 def get_number(): # todo: something appears to be broken here val = random.choice(range(10)) return numerator / val class Groceries(list): \"\"\" Overloaded list class. \"\"\" def append_defaults(self): spam = 'yum' pie = 3.14159 self.extend([spam, pie]) class GroceriesPlus(Groceries): \"\"\" Groceries with surprises! \"\"\" def append_random(self): value = get_number() self.append(value) # Create some groceries g = GroceriesPlus() g.append_defaults() g.append_random() """ def screenshotExample(width=1244, height=700): e = pyzo.editors.newFile() e.editor.setPlainText(_SCREENSHOT_CODE) pyzo.main.resize(width, height) def screenshot(countdown=5): QtCore.QTimer.singleShot(countdown * 1000, _screenshot) def _screenshot(): # Grab print("SNAP!") pix = QtGui.QPixmap.grabWindow(pyzo.main.winId()) # pix = QtGui.QPixmap.grabWidget(pyzo.main) # Get name i = 1 while i > 0: name = "pyzo_screen_%s_%02i.png" % (sys.platform, i) fname = os.path.join(os.path.expanduser("~"), name) if os.path.isfile(fname): i += 1 else: i = -1 # Save screenshot and a thumb pix.save(fname) thumb = pix.scaledToWidth(500, QtCore.Qt.SmoothTransformation) thumb.save(fname.replace("screen", "thumb")) print("Screenshot and thumb saved in", os.path.expanduser("~")) pyzo.screenshot = screenshot pyzo.screenshotExample = screenshotExample pyzo-4.12.3/pyzo/core/menu.py000066400000000000000000003322731421373005400160620ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module menu Implements a menu that can be edited very easily. Every menu item is represented by a class. Also implements a dialog to change keyboard shortcuts. """ import os, sys, shutil, re import webbrowser from datetime import datetime from urllib.request import urlopen import ast import json from pyzo.qt import QtCore, QtGui, QtWidgets import pyzo from pyzo.core.compactTabWidget import CompactTabWidget from pyzo.core.themeEdit import EditColorDialog from pyzo.core.pyzoLogging import print # noqa from pyzo.core.assistant import PyzoAssistant from pyzo import translate from pyzo.core.pdfExport import PdfExport def buildMenus(menuBar): """ Build all the menus """ menus = [ FileMenu(menuBar, translate("menu", "File")), EditMenu(menuBar, translate("menu", "Edit")), ViewMenu(menuBar, translate("menu", "View")), SettingsMenu(menuBar, translate("menu", "Settings")), ShellMenu(menuBar, translate("menu", "Shell")), RunMenu(menuBar, translate("menu", "Run")), ToolsMenu(menuBar, translate("menu", "Tools")), HelpMenu(menuBar, translate("menu", "Help")), ] menuBar._menumap = {} menuBar._menus = menus for menu in menuBar._menus: menuBar.addMenu(menu) menuName = menu.__class__.__name__.lower().split("menu")[0] menuBar._menumap[menuName] = menu # Enable tooltips def onHover(action): # This ugly bit of code makes sure that the tooltip is refreshed # (thus raised above the submenu). This happens only once and after # ths submenu has become visible. if action.menu(): if not hasattr(menuBar, "_lastAction"): menuBar._lastAction = None menuBar._haveRaisedTooltip = False if action is menuBar._lastAction: if (not menuBar._haveRaisedTooltip) and action.menu().isVisible(): QtWidgets.QToolTip.hideText() menuBar._haveRaisedTooltip = True else: menuBar._lastAction = action menuBar._haveRaisedTooltip = False # Set tooltip tt = action.statusTip() if hasattr(action, "_shortcutsText"): tt = tt + " ({})".format(action._shortcutsText) # Add shortcuts text in it QtWidgets.QToolTip.showText(QtGui.QCursor.pos(), tt) if not hasattr(QtWidgets.QMenu, "setToolTipsVisible"): menuBar.hovered.connect(onHover) # todo: put many settings in an advanced settings dialog: # - autocomp use keywords # - autocomp case sensitive # - autocomp select chars # - Default parser / indentation (width and tabsOrSpaces) / line endings # - Shell wrapping to 80 columns? # - number of lines in shell # - more stuff from pyzo.config.advanced? def getShortcut(fullName): """Given the full name or an action, get the shortcut from the pyzo.config.shortcuts2 dict. A tuple is returned representing the two shortcuts.""" if isinstance(fullName, QtWidgets.QAction): fullName = fullName.menuPath # the menuPath property is set in Menu._addAction shortcut = "", "" if fullName in pyzo.config.shortcuts2: shortcut = pyzo.config.shortcuts2[fullName] if shortcut.count(","): shortcut = tuple(shortcut.split(",")) else: shortcut = shortcut, "" return shortcut def translateShortcutToOSNames(shortcut): """ Translate Qt names to OS names (e.g. Ctrl -> cmd symbol for Mac, Meta -> Windows for windows """ if sys.platform == "darwin": replace = ( ("Ctrl+", "\u2318"), ("Shift+", "\u21E7"), ("Alt+", "\u2325"), ("Meta+", "^"), ) else: replace = () for old, new in replace: shortcut = shortcut.replace(old, new) return shortcut class KeyMapper(QtCore.QObject): """ This class is accessable via pyzo.keyMapper pyzo.keyMapper.keyMappingChanged is emitted when keybindings are changed """ keyMappingChanged = QtCore.Signal() def setShortcut(self, action): """ When an action is created or when keymappings are changed, this method is called to set the shortcut of an action based on its menuPath (which is the key in pyzo.config.shortcuts2, e.g. shell__clear_screen) """ if action.menuPath in pyzo.config.shortcuts2: # Set shortcut so Qt can do its magic shortcuts = pyzo.config.shortcuts2[action.menuPath] action.setShortcuts(shortcuts.split(",")) pyzo.main.addAction( action ) # issue #470, http://stackoverflow.com/questions/23916623 # Also store shortcut text (used in display of tooltip shortcuts = shortcuts.replace(",", ", ").replace(" ", " ") action._shortcutsText = shortcuts.rstrip(", ") def unwrapText(text): """Unwrap text to display in message boxes. This just removes all newlines. If you want to insert newlines, use \\r.""" # Removes newlines text = text.replace("\n", "") # Remove double/triple/etc spaces text = text.lstrip() for i in range(10): text = text.replace(" ", " ") # Convert \\r newlines text = text.replace("\r", "\n") # Remove spaces after newlines text = text.replace("\n ", "\n") return text class Menu(QtWidgets.QMenu): """Menu(parent=None, name=None) Base class for all menus. Has methods to add actions of all sorts. The add* methods all have the name and icon as first two arguments. This is not so consistent with the Qt API for addAction, but it allows for cleaner code to add items; the first item can be quite long because it is a translation. In the current API, the second and subsequent arguments usually fit nicely on the second line. """ def __init__(self, parent=None, name=None): QtWidgets.QMenu.__init__(self, parent) # Make sure that the menu has a title if name: self.setTitle(name) else: raise ValueError try: self.setToolTipsVisible(True) except Exception: pass # Set tooltip too. if hasattr(name, "tt"): self.setStatusTip(name.tt) self.setToolTip(name.tt) # Action groups within the menu keep track of the selected value self._groups = {} # menuPath is used to bind shortcuts, it is ,e.g. shell__clear_screen if hasattr(parent, "menuPath"): self.menuPath = parent.menuPath + "__" else: self.menuPath = "" # This is a top-level menu # Get key for this menu key = name if hasattr(name, "key"): key = name.key self.menuPath += self._createMenuPathName(key) # Build the menu. Happens only once self.build() def _createMenuPathName(self, name): """ Convert a menu title into a menuPath component name e.g. Interrupt current shell -> interrupt_current_shell """ # hide anything between brackets name = re.sub("\(.*\)", "", name) # replace invalid chars name = name.replace(" ", "_") if name and name[0] in "0123456789_": name = "_" + name name = re.sub("[^a-zA-z_0-9]", "", name) return name.lower() def _addAction(self, text, icon, selected=None): """Convenience function that makes the right call to addAction().""" # Add the action if icon is None: a = self.addAction(text) else: a = self.addAction(icon, text) # Checkable? if selected is not None: a.setCheckable(True) a.setChecked(selected) # Set tooltip if we can find it if hasattr(text, "tt"): a.setStatusTip(text.tt) a.setToolTip(text.tt) # Find the key (untranslated name) for this menu item key = a.text() if hasattr(text, "key"): key = text.key a.menuPath = self.menuPath + "__" + self._createMenuPathName(key) # Register the action so its keymap is kept up to date pyzo.keyMapper.keyMappingChanged.connect(lambda: pyzo.keyMapper.setShortcut(a)) pyzo.keyMapper.setShortcut(a) return a def build(self): """ Add all actions to the menu. To be overridden. """ pass def popup(self, pos, action=None): self._pos = pos super().popup(pos, action) def addMenu(self, menu, icon=None): """ Add a (sub)menu to this menu. """ # Add menu in the conventional way a = QtWidgets.QMenu.addMenu(self, menu) a.menuPath = menu.menuPath # Set icon if icon is not None: a.setIcon(icon) return menu def addItem(self, text, icon=None, callback=None, value=None): """ Add an item to the menu. If callback is given and not None, connect triggered signal to the callback. If value is None or not given, callback is called without parameteres, otherwise it is called with value as parameter """ # Add action a = self._addAction(text, icon) # Connect the menu item to its callback if callback: if value is not None: a.triggered.connect(lambda b=None, v=value: callback(v)) else: a.triggered.connect(lambda b=None: callback()) return a def addGroupItem(self, text, icon=None, callback=None, value=None, group=None): """ Add a 'select-one' option to the menu. Items with equal group value form a group. If callback is specified and not None, the callback is called for the new active item, with the value for that item as parameter whenever the selection is changed """ # Init action a = self._addAction(text, icon) a.setCheckable(True) # Connect the menu item to its callback (toggled is a signal only # emitted by checkable actions, and can also be called programmatically, # e.g. in QActionGroup) if callback: def doCallback(b, v): if b: callback(v) a.toggled.connect(lambda b=None, v=value: doCallback(a.isChecked(), v)) # Add the menu item to a action group if group is None: group = "default" if group not in self._groups: # self._groups contains tuples (actiongroup, dict-of-actions) self._groups[group] = (QtWidgets.QActionGroup(self), {}) actionGroup, actions = self._groups[group] actionGroup.addAction(a) actions[value] = a return a def addCheckItem(self, text, icon=None, callback=None, value=None, selected=False): """ Add a true/false item to the menu. If callback is specified and not None, the callback is called when the item is changed. If value is not specified or None, callback is called with the new state as parameter. Otherwise, it is called with the new state and value as parameters """ # Add action a = self._addAction(text, icon, selected) # Connect the menu item to its callback if callback: if value is not None: a.triggered.connect(lambda b=None, v=value: callback(a.isChecked(), v)) else: a.triggered.connect(lambda b=None: callback(a.isChecked())) return a def setCheckedOption(self, group, value): """ Set the selected value of a group. This will also activate the callback function of the item that gets selected. if group is None the default group is used. """ if group is None: group = "default" actionGroup, actions = self._groups[group] if value in actions: actions[value].setChecked(True) class GeneralOptionsMenu(Menu): """GeneralOptionsMenu(parent, name, callback, options=None) Menu to present the user with a list from which to select one item. We need this a lot. """ def __init__(self, parent=None, name=None, callback=None, options=None): Menu.__init__(self, parent, name) self._options_callback = callback if options: self.setOptions(options) def build(self): pass # We build when the options are given def setOptions(self, options, values=None): """ Set the list of options, clearing any existing options. The options are added ad group items and registered to the callback given at initialization. """ # Init self.clear() cb = self._options_callback # Get values if values is None: values = options for option, value in zip(options, values): self.addGroupItem(option, None, cb, value) class IndentationMenu(Menu): """ Menu for the user to control the type of indentation for a document: tabs vs spaces and the amount of spaces. Part of the File menu. """ def build(self): self._items = [ self.addGroupItem( translate("menu", "Use tabs"), None, self._setStyle, False, group="style", ), self.addGroupItem( translate("menu", "Use spaces"), None, self._setStyle, True, group="style", ), ] self.addSeparator() spaces = translate("menu", "spaces", "plural of spacebar character") self._items += [ self.addGroupItem( "%d %s" % (i, spaces), None, self._setWidth, i, group="width" ) for i in range(2, 9) ] def _setWidth(self, width): editor = pyzo.editors.getCurrentEditor() if editor is not None: editor.setIndentWidth(width) def _setStyle(self, style): editor = pyzo.editors.getCurrentEditor() if editor is not None: editor.setIndentUsingSpaces(style) class FileMenu(Menu): def build(self): icons = pyzo.icons self._items = [] # Create indent menu t = translate( "menu", "Indentation ::: The indentation used of the current file." ) self._indentMenu = IndentationMenu(self, t) # Create parser menu from pyzo import codeeditor t = translate( "menu", "Syntax parser ::: The syntax parser of the current file." ) self._parserMenu = GeneralOptionsMenu(self, t, self._setParser) self._parserMenu.setOptions(["Plain"] + codeeditor.Manager.getParserNames()) # Create line ending menu t = translate( "menu", "Line endings ::: The line ending character of the current file." ) self._lineEndingMenu = GeneralOptionsMenu(self, t, self._setLineEndings) self._lineEndingMenu.setOptions(["LF", "CR", "CRLF"]) # Create encoding menu t = translate( "menu", "Encoding ::: The character encoding of the current file." ) self._encodingMenu = GeneralOptionsMenu(self, t, self._setEncoding) # Bind to signal pyzo.editors.currentChanged.connect(self.onEditorsCurrentChanged) # Build menu file management stuff self.addItem( translate("menu", "New ::: Create a new (or temporary) file."), icons.page_add, pyzo.editors.newFile, ) self.addItem( translate("menu", "Open... ::: Open an existing file from disk."), icons.folder_page, pyzo.editors.openFile, ) # self._items += [ self.addItem( translate("menu", "Save ::: Save the current file to disk."), icons.disk, pyzo.editors.saveFile, ), self.addItem( translate( "menu", "Save as... ::: Save the current file under another name." ), icons.disk_as, pyzo.editors.saveFileAs, ), self.addItem( translate("menu", "Save all ::: Save all open files."), icons.disk_multiple, pyzo.editors.saveAllFiles, ), self.addItem( translate("menu", "Close ::: Close the current file."), icons.page_delete, pyzo.editors.closeFile, ), self.addItem( translate("menu", "Close all ::: Close all files."), icons.page_delete_all, pyzo.editors.closeAllFiles, ), self.addItem( translate( "menu", "Export to PDF ::: Export current file to PDF (e.g. for printing).", ), None, lambda: PdfExport().exec(), ), ] # Build file properties stuff self.addSeparator() self._items += [ self.addMenu(self._indentMenu, icons.page_white_gear), self.addMenu(self._parserMenu, icons.page_white_gear), self.addMenu(self._lineEndingMenu, icons.page_white_gear), self.addMenu(self._encodingMenu, icons.page_white_gear), ] # Closing of app self.addSeparator() self.addItem( translate("menu", "Restart Pyzo ::: Restart the application."), icons.arrow_rotate_clockwise, pyzo.main.restart, ) self.addItem( translate("menu", "Quit Pyzo ::: Close the application."), icons.cancel, pyzo.main.close, ) # Start disabled self.setEnabled(False) def setEnabled(self, enabled): """Enable or disable all items. If disabling, also uncheck all items""" for child in self._items: child.setEnabled(enabled) def onEditorsCurrentChanged(self): editor = pyzo.editors.getCurrentEditor() if editor is None: self.setEnabled(False) # Disable / uncheck all editor-related options else: self.setEnabled(True) # Update indentation self._indentMenu.setCheckedOption("style", editor.indentUsingSpaces()) self._indentMenu.setCheckedOption("width", editor.indentWidth()) # Update parser parserName = "Plain" if editor.parser(): parserName = editor.parser().name() or "Plain" self._parserMenu.setCheckedOption(None, parserName) # Update line ending self._lineEndingMenu.setCheckedOption(None, editor.lineEndingsHumanReadable) # Update encoding self._updateEncoding(editor) def _setParser(self, value): editor = pyzo.editors.getCurrentEditor() if value.lower() == "plain": value = None if editor is not None: editor.setParser(value) def _setLineEndings(self, value): editor = pyzo.editors.getCurrentEditor() editor.lineEndings = value def _updateEncoding(self, editor): # Dict with encoding aliases (official to aliases) D = { "cp1250": ("windows-1252",), "cp1251": ("windows-1251",), "latin_1": ("iso-8859-1", "iso8859-1", "cp819", "latin", "latin1", "L1"), } # Dict with aliases mapping to "official value" Da = {} for key in D: for key2 in D[key]: Da[key2] = key # Encodings to list encodings = ["utf-8", "ascii", "latin_1", "cp1250", "cp1251"] # Get current encoding (add if not present) editorEncoding = editor.encoding if editorEncoding in Da: editorEncoding = Da[editorEncoding] if editorEncoding not in encodings: encodings.append(editorEncoding) # Handle aliases encodingNames, encodingValues = [], [] for encoding in encodings: encodingValues.append(encoding) if encoding in D: name = "%s (%s)" % (encoding, ", ".join(D[encoding])) encodingNames.append(name) else: encodingNames.append(encoding) # Update self._encodingMenu.setOptions(encodingNames, encodingValues) self._encodingMenu.setCheckedOption(None, editorEncoding) def _setEncoding(self, value): editor = pyzo.editors.getCurrentEditor() if editor is not None: editor.encoding = value # todo: move to matching brace class EditMenu(Menu): def build(self): icons = pyzo.icons self.addItem( translate("menu", "Undo ::: Undo the latest editing action."), icons.arrow_undo, self._editItemCallback, "undo", ) self.addItem( translate("menu", "Redo ::: Redo the last undone editing action."), icons.arrow_redo, self._editItemCallback, "redo", ) self.addSeparator() self.addItem( translate("menu", "Cut ::: Cut the selected text."), icons.cut, self._editItemCallback, "cut", ) self.addItem( translate("menu", "Copy ::: Copy the selected text to the clipboard."), icons.page_white_copy, self._editItemCallback, "copy", ) self.addItem( translate("menu", "Paste ::: Paste the text that is now on the clipboard."), icons.paste_plain, self._editItemCallback, "paste", ) self.addItem( translate( "menu", "Paste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation.", ), # noqa icons.paste_plain, self._editItemCallback, "pasteAndSelect", ) self.addItem( translate("menu", "Select all ::: Select all text."), icons.sum, self._editItemCallback, "selectAll", ) self.addSeparator() self.addItem( translate("menu", "Indent ::: Indent the selected line."), icons.text_indent, self._editItemCallback, "indentSelection", ) self.addItem( translate("menu", "Dedent ::: Unindent the selected line."), icons.text_indent_remove, self._editItemCallback, "dedentSelection", ) self.addItem( translate("menu", "Comment ::: Comment the selected line."), icons.comment_add, self._editItemCallback, "commentCode", ) self.addItem( translate("menu", "Uncomment ::: Uncomment the selected line."), icons.comment_delete, self._editItemCallback, "uncommentCode", ) self.addItem( translate( "menu", "Toggle Comment ::: Toggle comment for the selected line." ), None, self._editItemCallback, "toggleCommentCode", ) self.addItem( translate( "menu", "Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters.", ), icons.text_align_justify, self._editItemCallback, "justifyText", ) self.addItem( translate("menu", "Go to line ::: Go to a specific line number."), None, self._editItemCallback, "gotoLinePopup", ) self.addItem( translate("menu", "Duplicate line ::: Duplicate the selected line(s)."), None, self._editItemCallback, "duplicateLines", ) self.addItem( translate("menu", "Delete line ::: Delete the selected line(s)."), None, self._editItemCallback, "deleteLines", ) self.addSeparator() self.addItem( translate( "menu", "Toggle breakpoint ::: Toggle breakpoint on the current line." ), None, self._editItemCallback, "toggleBreakpoint", ) self.addSeparator() self.addItem( translate( "menu", "Toggle Case ::: Change selected text to lower or upper case" ), None, self._editItemCallback, "toggleCase", ) self.addSeparator() self.addItem( translate( "menu", "Find or replace ::: Show find/replace widget. Initialize with selected text.", ), icons.find, pyzo.editors._findReplace.startFind, ) self.addItem( translate( "menu", "Find selection ::: Find the next occurrence of the selected text.", ), None, pyzo.editors._findReplace.findSelection, ) self.addItem( translate( "menu", "Find selection backward ::: Find the previous occurrence of the selected text.", ), None, pyzo.editors._findReplace.findSelectionBw, ) self.addItem( translate( "menu", "Find next ::: Find the next occurrence of the search string." ), None, pyzo.editors._findReplace.findNext, ) self.addItem( translate( "menu", "Find previous ::: Find the previous occurrence of the search string.", ), None, pyzo.editors._findReplace.findPrevious, ) def _editItemCallback(self, action): widget = QtWidgets.qApp.focusWidget() # If the widget has a 'name' attribute, call it if hasattr(widget, action): getattr(widget, action)() class ZoomMenu(Menu): """ Small menu for the zooming. Part of the view menu. """ def build(self): self.addItem(translate("menu", "Zoom in"), None, self._setZoom, +1) self.addItem(translate("menu", "Zoom out"), None, self._setZoom, -1) self.addItem(translate("menu", "Zoom reset"), None, self._setZoom, 0) def _setZoom(self, value): if not value: pyzo.config.view.zoom = 0 else: pyzo.config.view.zoom += value # Apply for editor in pyzo.editors: pyzo.config.view.zoom = editor.setZoom(pyzo.config.view.zoom) for shell in pyzo.shells: pyzo.config.view.zoom = shell.setZoom(pyzo.config.view.zoom) logger = pyzo.toolManager.getTool("pyzologger") if logger: logger.updateZoom() class FontMenu(Menu): def __init__(self, parent=None, name="Font", *args, **kwds): Menu.__init__(self, parent, name, *args, **kwds) self.aboutToShow.connect(self._updateFonts) def _updateFonts(self): self.clear() # Build list with known available monospace fonts names = pyzo.codeeditor.Manager.fontNames() defaultName = "DejaVu Sans Mono" for name in sorted(names): default_suffix = " (%s)" % translate("menu", "default") txt = name + default_suffix if name == defaultName else name self.addGroupItem(txt, None, self._selectFont, value=name) # Select the current one self.setCheckedOption(None, pyzo.config.view.fontname) def _selectFont(self, name): pyzo.config.view.fontname = name # Apply for editor in pyzo.editors: editor.setFont(pyzo.config.view.fontname) for shell in pyzo.shells: shell.setFont(pyzo.config.view.fontname) logger = pyzo.toolManager.getTool("pyzologger") if logger: logger.updateFont() # todo: brace matching # todo: code folding? # todo: maybe move qt theme to settings class ViewMenu(Menu): def build(self): icons = pyzo.icons # Create edge column menu t = translate( "menu", "Location of long line indicator ::: The location of the long-line-indicator.", ) self._edgeColumMenu = GeneralOptionsMenu(self, t, self._setEdgeColumn) values = [0] + [i for i in range(60, 130, 10)] names = [translate("menu", "None")] + [str(i) for i in values[1:]] self._edgeColumMenu.setOptions(names, values) self._edgeColumMenu.setCheckedOption(None, pyzo.config.view.edgeColumn) # Create qt theme menu t = translate("menu", "Qt theme ::: The styling of the user interface widgets.") self._qtThemeMenu = GeneralOptionsMenu(self, t, self._setQtTheme) styleNames = list(QtWidgets.QStyleFactory.keys()) styleNames.sort() titles = [name for name in styleNames] styleNames = [name.lower() for name in styleNames] for i in range(len(titles)): if titles[i].lower() == pyzo.defaultQtStyleName.lower(): titles[i] += " (%s)" % translate("menu", "default") self._qtThemeMenu.setOptions(titles, styleNames) self._qtThemeMenu.setCheckedOption(None, pyzo.config.view.qtstyle.lower()) # Build menu self.addItem( translate( "menu", "Select shell ::: Focus the cursor on the current shell." ), icons.application_shell, self._selectShell, ) self.addItem( translate( "menu", "Select editor ::: Focus the cursor on the current editor." ), icons.application_edit, self._selectEditor, ) self.addItem( translate( "menu", "Select previous file ::: Select the previously selected file." ), icons.application_double, pyzo.editors._tabs.selectPreviousItem, ) self.addSeparator() self.addEditorItem( translate("menu", "Show whitespace ::: Show spaces and tabs."), None, "showWhitespace", True, ) self.addEditorItem( translate("menu", "Show line endings ::: Show the end of each line."), None, "showLineEndings", ) self.addEditorItem( translate( "menu", "Show indentation guides ::: Show vertical lines to indicate indentation.", ), None, "showIndentationGuides", ) self.addCheckItem( translate("menu", "Show status bar ::: Show status bar."), None, self._setStatusBar, None, pyzo.config.view.showStatusbar, ) self.addSeparator() self.addEditorItem( translate( "menu", "Wrap long lines ::: Wrap lines that do not fit on the screen (i.e. no horizontal scrolling).", ), None, "wrap", ) self.addEditorItem( translate( "menu", "Highlight current line ::: Highlight the line where the cursor is.", ), None, "highlightCurrentLine", ) self.addEditorItem( translate( "menu", "Highlight brackets ::: Highlight matched and unmatched brackets.", ), None, "highlightMatchingBracket", True, ) self.addSeparator() self.addItem( translate("menu", "Previous cell ::: Go back to the previous cell."), None, self._previousCell, ) self.addItem( translate("menu", "Next cell ::: Advance to the next cell."), None, self._nextCell, ) self.addItem( translate( "menu", "Previous object ::: Go back to the previous top-level structure.", ), None, self._previousTopLevelObject, ) self.addItem( translate( "menu", "Next object ::: Advance to the next top-level structure." ), None, self._nextTopLevelObject, ) self.addSeparator() self.addMenu(self._edgeColumMenu, icons.text_padding_right) self.addMenu(FontMenu(self, translate("menu", "Font")), icons.style) self.addMenu(ZoomMenu(self, translate("menu", "Zooming")), icons.magnifier) self.addMenu(self._qtThemeMenu, icons.application_view_tile) def addEditorItem(self, name, icon, param, shellsToo=False): """ Create a boolean item that reperesents a property of the editors, whose value is stored in pyzo.config.view.param """ if hasattr(pyzo.config.view, param): default = getattr(pyzo.config.view, param) else: default = True self.addCheckItem( name, icon, lambda state, param: self._configEditor(state, param, shellsToo), param, default, ) def _configEditor(self, state, param, shellsToo=False): """ Callback for addEditorItem items """ # Store this parameter in the config setattr(pyzo.config.view, param, state) # Apply to all editors, translate e.g. showWhitespace to setShowWhitespace setter = "set" + param[0].upper() + param[1:] for editor in pyzo.editors: getattr(editor, setter)(state) if shellsToo: for shell in pyzo.shells: getattr(shell, setter)(state) def _selectShell(self): shell = pyzo.shells.getCurrentShell() if shell: shell.setFocus() def _selectEditor(self): editor = pyzo.editors.getCurrentEditor() if editor: editor.setFocus() def _setEdgeColumn(self, value): pyzo.config.view.edgeColumn = value for editor in pyzo.editors: editor.setLongLineIndicatorPosition(value) def _setQtTheme(self, value): pyzo.config.view.qtstyle = value pyzo.main.setQtStyle(value) def _setStatusBar(self, value): """ Show or hide status bar. """ pyzo.config.view.showStatusbar = value pyzo.main.statusBar().setVisible(value) def _previousCell(self): """ Rewind the curser to the previous cell (starting with '##'). """ self._previousTopLevelObject(type="cell") def _nextCell(self): """ Advance the curser to the next cell (starting with '##'). """ self._nextTopLevelObject(type="cell") def _previousTopLevelObject(self, type=None): # Get parser result result = pyzo.parser._getResult() if not result: return # Get editor editor = pyzo.editors.getCurrentEditor() if not editor: return # Get current line number ln = editor.textCursor().blockNumber() ln += 1 # is ln as in line number area runCursor = editor.textCursor() # The part that should be run runCursor.movePosition(runCursor.StartOfBlock) # Find the object which starts above current curser # position if there is any and move there for object in reversed(result.rootItem.children): # If type given, only consider objects of that type if type and type != object.type: continue if ln and object.linenr < ln: startLineNr = object.linenr # Rewind cursor until the start of this object while True: if not runCursor.block().previous().isValid(): return runCursor.movePosition(runCursor.PreviousBlock) if runCursor.blockNumber() == startLineNr - 1: break cursor = editor.textCursor() cursor.setPosition(runCursor.position()) editor.setTextCursor(cursor) return def _nextTopLevelObject(self, type=None): # Get parser result result = pyzo.parser._getResult() if not result: return # Get editor editor = pyzo.editors.getCurrentEditor() if not editor: return # Get current line number ln = editor.textCursor().blockNumber() ln += 1 # is ln as in line number area runCursor = editor.textCursor() # The part that should be run runCursor.movePosition(runCursor.StartOfBlock) # Find the object which starts below current curser # position if there is any and move there for object in result.rootItem.children: # If type given, only consider objects of that type if type and type != object.type: continue if ln and object.linenr > ln: startLineNr = object.linenr endLineNr = object.linenr2 # Advance cursor until the start of this object while True: if not runCursor.block().next().isValid(): return runCursor.movePosition(runCursor.NextBlock) if runCursor.blockNumber() == startLineNr - 1: break realCursorPosition = runCursor.position() # Advance cursor until the end of this object (to know # how far it extends and make sure it is most visible) while True: if not runCursor.block().next().isValid(): break runCursor.movePosition(runCursor.NextBlock) if runCursor.blockNumber() == endLineNr - 1: break cursor = editor.textCursor() cursor.setPosition(runCursor.position()) editor.setTextCursor(cursor) cursor.setPosition(realCursorPosition) editor.setTextCursor(cursor) return class ShellMenu(Menu): def __init__(self, parent=None, name="Shell"): self._shellCreateActions = [] self._shellActions = [] Menu.__init__(self, parent, name) pyzo.shells.currentShellChanged.connect(self.onCurrentShellChanged) self.aboutToShow.connect(self._updateShells) def onCurrentShellChanged(self): """Enable/disable shell actions based on wether a shell is available""" for shellAction in self._shellActions: shellAction.setEnabled(bool(pyzo.shells.getCurrentShell())) def buildShellActions(self): """Create the menu items which are also avaliable in the ShellTabContextMenu Returns a list of all items added""" icons = pyzo.icons return [ self.addItem( translate("menu", "Clear screen ::: Clear the screen."), icons.application_eraser, self._shellAction, "clearScreen", ), self.addItem( translate( "menu", "Interrupt ::: Interrupt the current running code (does not work for extension code).", ), icons.application_lightning, self._shellAction, "interrupt", ), self.addItem( translate("menu", "Restart ::: Terminate and restart the interpreter."), icons.application_refresh, self._shellAction, "restart", ), # self.addItem( # translate( # "menu", # "Terminate ::: Terminate the interpreter, leaving the shell open.", # ), # icons.application_delete, # self._shellAction, # "terminate", # ), self.addItem( translate( "menu", "Close ::: Terminate the interpreter and close the shell." ), icons.cancel, self._shellAction, "closeShell", ), ] def buildShellDebugActions(self): """Create the menu items for debug shell actions. Returns a list of all items added""" icons = pyzo.icons return [ self.addItem( translate("menu", "Debug next: proceed until next line"), icons.debug_next, self._debugAction, "NEXT", ), self.addItem( translate("menu", "Debug step into: proceed one step"), icons.debug_step, self._debugAction, "STEP", ), self.addItem( translate("menu", "Debug return: proceed until returns"), icons.debug_return, self._debugAction, "RETURN", ), self.addItem( translate("menu", "Debug continue: proceed to next breakpoint"), icons.debug_continue, self._debugAction, "CONTINUE", ), self.addItem( translate("menu", "Stop debugging"), icons.debug_quit, self._debugAction, "STOP", ), ] def getShell(self): """Returns the shell on which to apply the menu actions. Default is the current shell, this is overridden in the shell/shell tab context menus""" return pyzo.shells.getCurrentShell() def build(self): """Create the items for the shells menu""" # Normal shell actions self._shellActions = self.buildShellActions() self.addSeparator() # Debug stuff self._debug_clear_text = translate("menu", "Clear all {} breakpoints") self._debug_clear = self.addItem( "", pyzo.icons.bug_delete, self._clearBreakPoints ) self._debug_pm = self.addItem( translate("menu", "Postmortem: debug from last traceback"), pyzo.icons.bug_delete, self._debugAction, "START", ) self._shellDebugActions = self.buildShellDebugActions() # self.aboutToShow.connect(self._updateDebugButtons) self.addSeparator() # Shell config self.addItem( translate( "menu", "Edit shell configurations... ::: Add new shell configs and edit interpreter properties.", ), pyzo.icons.application_wrench, self._editConfig2, ) self.addItem( translate( "menu", "Create new Python environment... ::: Install miniconda." ), pyzo.icons.application_cascade, self._newPythonEnv, ) self.addSeparator() # Add shell configs self._updateShells() def _updateShells(self): """Remove, then add the items for the creation of each shell""" for action in self._shellCreateActions: self.removeAction(action) self._shellCreateActions = [] for i, config in enumerate(pyzo.config.shellConfigs2): name = translate("menu", "Create shell %s: (%s)") % (i + 1, config.name) action = self.addItem( name, pyzo.icons.application_add, pyzo.shells.addShell, config ) self._shellCreateActions.append(action) def _updateDebugButtons(self): # Count breakpoints bpcount = 0 for e in pyzo.editors: bpcount += len(e.breakPoints()) self._debug_clear.setText(self._debug_clear_text.format(bpcount)) # Determine state of PM and clear button debugmode = pyzo.shells._debugmode self._debug_pm.setEnabled(debugmode == 0) self._debug_clear.setEnabled(debugmode == 0) # The _shellDebugActions are enabled/disabled by the shellStack def _shellAction(self, action): """Call the method specified by 'action' on the current shell.""" shell = self.getShell() if shell: # Call the specified action getattr(shell, action)() def _debugAction(self, action): shell = self.getShell() if shell: # Call the specified action command = action.upper() shell.executeCommand("DB %s\n" % command) def _clearBreakPoints(self, action=None): for e in pyzo.editors: e.clearBreakPoints() def _editConfig2(self): """Edit, add and remove configurations for the shells.""" from pyzo.core.shellInfoDialog import ShellInfoDialog d = ShellInfoDialog() d.exec_() def _newPythonEnv(self): from pyzo.util.bootstrapconda import Installer d = Installer(pyzo.main) d.exec_() class ShellButtonMenu(ShellMenu): def build(self): self._shellActions = [] self.addItem( translate( "menu", "Edit shell configurations... ::: Add new shell configs and edit interpreter properties.", ), pyzo.icons.application_wrench, self._editConfig2, ) submenu = Menu( self, translate("menu", "New shell ... ::: Create new shell to run code in."), ) self._newShellMenu = self.addMenu(submenu, pyzo.icons.application_add) self.addSeparator() def _updateShells(self): """Remove, then add the items for the creation of each shell""" for action in self._shellCreateActions: self._newShellMenu.removeAction(action) self._shellCreateActions = [] for i, config in enumerate(pyzo.config.shellConfigs2): name = translate("menu", "Create shell %s: (%s)") % (i + 1, config.name) action = self._newShellMenu.addItem( name, pyzo.icons.application_add, pyzo.shells.addShell, config ) self._shellCreateActions.append(action) class ShellContextMenu(ShellMenu): """This is the context menu for the shell""" def __init__(self, shell, parent=None): ShellMenu.__init__(self, parent or shell, name="Shellcontextmenu") self._shell = shell def build(self): """Build menu""" icons = pyzo.icons self.addItem( translate( "menu", "Help on this expression ::: Show help for the selected expression.", ), icons.help, self._editItemCallback, "helpOnText", ) self.addSeparator() self.buildShellActions() # This is a subset of the edit menu. Copied manually. self.addSeparator() self.addItem( translate("menu", "Cut ::: Cut the selected text."), icons.cut, self._editItemCallback, "cut", ) self.addItem( translate("menu", "Copy ::: Copy the selected text to the clipboard."), icons.page_white_copy, self._editItemCallback, "copy", ) self.addItem( translate("menu", "Paste ::: Paste the text that is now on the clipboard."), icons.paste_plain, self._editItemCallback, "paste", ) self.addItem( translate("menu", "Select all ::: Select all text."), icons.sum, self._editItemCallback, "selectAll", ) self.addSeparator() self.addItem( translate("menu", "Open current directory in file browser"), None, self._editItemCallback, "opendir", ) self.addItem( translate("menu", "Change current directory to the file browser's path"), None, self._editItemCallback, "changedir", ) self.addItem( translate("menu", "Change current directory to editor file path"), None, self._editItemCallback, "changedirtoeditor", ) def getShell(self): """Shell actions of this menu operate on the shell specified in the constructor""" return self._shell def _editItemCallback(self, action): # If the widget has a 'name' attribute, call it if action == "opendir": curdir = self._shell.get_kernel_cd() fileBrowser = pyzo.toolManager.getTool("pyzofilebrowser") if curdir and fileBrowser: fileBrowser.setPath(curdir) elif action == "changedir": fileBrowser = pyzo.toolManager.getTool("pyzofilebrowser") if fileBrowser: self._shell.executeCommand("cd " + fileBrowser.path() + "\n") elif action == "changedirtoeditor": msg = "" editor = pyzo.editors.getCurrentEditor() if editor is None: msg += translate("menu", "No editor selected.") # Show error dialog if msg: m = QtWidgets.QMessageBox(self) m.setWindowTitle(translate("menu dialog", "Could not change dir")) m.setText(translate("menu", "Could not change dir" + ":\n\n" + msg)) m.setIcon(m.Warning) m.exec_() else: self._shell.executeCommand( "cd " + os.path.dirname(editor.filename) + "\n" ) elif action == "helpOnText": self._shell.helpOnText(self._pos) else: getattr(self._shell, action)() def _updateShells(self): pass class ShellTabContextMenu(ShellContextMenu): """The context menu for the shell tab is similar to the shell context menu, but only has the shell actions defined in ShellMenu.buildShellActions()""" def build(self): """Build menu""" self.buildShellActions() def _updateShells(self): pass class EditorContextMenu(Menu): """This is the context menu for the editor""" def __init__(self, editor, name="EditorContextMenu"): self._editor = editor Menu.__init__(self, editor, name) def build(self): """Build menu""" icons = pyzo.icons self.addItem( translate( "menu", "Help on this expression ::: Show help for the selected expression.", ), icons.help, self._editItemCallback, "helpOnText", ) self.addSeparator() # This is a subset of the edit menu. Copied manually. self.addItem( translate("menu", "Cut ::: Cut the selected text."), icons.cut, self._editItemCallback, "cut", ) self.addItem( translate("menu", "Copy ::: Copy the selected text to the clipboard."), icons.page_white_copy, self._editItemCallback, "copy", ) self.addItem( translate("menu", "Paste ::: Paste the text that is now on the clipboard."), icons.paste_plain, self._editItemCallback, "paste", ) self.addItem( translate("menu", "Select all ::: Select all text."), icons.sum, self._editItemCallback, "selectAll", ) self.addSeparator() self.addItem( translate("menu", "Indent ::: Indent the selected line."), icons.text_indent, self._editItemCallback, "indentSelection", ) self.addItem( translate("menu", "Dedent ::: Unindent the selected line."), icons.text_indent_remove, self._editItemCallback, "dedentSelection", ) self.addItem( translate("menu", "Comment ::: Comment the selected line."), icons.comment_add, self._editItemCallback, "commentCode", ) self.addItem( translate("menu", "Uncomment ::: Uncomment the selected line."), icons.comment_delete, self._editItemCallback, "uncommentCode", ) self.addItem( translate( "menu", "Toggle Comment ::: Toggle comment for the selected line." ), None, self._editItemCallback, "toggleCommentCode", ) self.addItem( translate( "menu", "Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters.", ), icons.text_align_justify, self._editItemCallback, "justifyText", ) self.addSeparator() self.addItem( translate( "menu", "Goto Definition ::: Go to definition of word under cursor." ), icons.debug_return, self._editItemCallback, "gotoDef", ) self.addItem( translate("menu", "Open directory in file browser"), None, self._editItemCallback, "opendir", ) self.addSeparator() self.addItem( translate( "menu", "Find or replace ::: Show find/replace widget. Initialize with selected text.", ), icons.find, pyzo.editors._findReplace.startFind, ) self.addItem( translate( "menu", "Find selection ::: Find the next occurrence of the selected text.", ), None, pyzo.editors._findReplace.findSelection, ) self.addItem( translate( "menu", "Find selection backward ::: Find the previous occurrence of the selected text.", ), None, pyzo.editors._findReplace.findSelectionBw, ) # This is a subset of the run menu. Copied manually. self.addSeparator() self.addItem( translate( "menu", "Run selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection.", ), # noqa icons.run_lines, self._runSelected, ) def _editItemCallback(self, action): # If the widget has a 'name' attribute, call it if action == "opendir": fileBrowser = pyzo.toolManager.getTool("pyzofilebrowser") if fileBrowser: fileBrowser.setPath(os.path.dirname(self._editor.filename)) elif action == "helpOnText": self._editor.helpOnText(self._pos) else: getattr(self._editor, action)() def _runSelected(self): runMenu = pyzo.main.menuBar()._menumap["run"] runMenu._runSelected() class EditorTabContextMenu(Menu): def __init__(self, *args, **kwds): Menu.__init__(self, *args, **kwds) self._index = -1 def setIndex(self, index): self._index = index def build(self): """Build menu""" icons = pyzo.icons # Copied (and edited) manually from the File memu self.addItem( translate("menu", "Save ::: Save the current file to disk."), icons.disk, self._fileAction, "saveFile", ) self.addItem( translate( "menu", "Save as... ::: Save the current file under another name." ), icons.disk_as, self._fileAction, "saveFileAs", ) self.addItem( translate("menu", "Close ::: Close the current file."), icons.page_delete, self._fileAction, "closeFile", ) self.addItem( translate("menu", "Close others::: Close all files but this one."), None, self._fileAction, "close_others", ) self.addItem( translate("menu", "Close all ::: Close all files."), icons.page_delete_all, self._fileAction, "close_all", ) self.addItem( translate("menu", "Rename ::: Rename this file."), None, self._fileAction, "rename", ) self.addSeparator() self.addItem( translate("menu", "Copy path ::: Copy the full path of this file."), None, self._fileAction, "copypath", ) self.addItem( translate("menu", "Open directory in file browser"), None, self._fileAction, "opendir", ) self.addSeparator() # todo: remove feature to pin files? self.addItem( translate("menu", "Pin/Unpin ::: Pinned files get closed less easily."), None, self._fileAction, "pin", ) self.addItem( translate( "menu", "Set/Unset as MAIN file ::: The main file can be run while another file is selected.", ), icons.star, self._fileAction, "main", ) self.addSeparator() self.addItem( translate("menu", "Run file ::: Run the code in this file."), icons.run_file, self._fileAction, "run", ) self.addItem( translate( "menu", "Run file as script ::: Run this file as a script (restarts the interpreter).", ), icons.run_file_script, self._fileAction, "run_script", ) def _fileAction(self, action): """Call the method specified by 'action' on the selected shell""" item = pyzo.editors._tabs.getItemAt(self._index) if action in ["saveFile", "saveFileAs", "closeFile"]: getattr(pyzo.editors, action)(item.editor) elif action == "close_others" or action == "close_all": if action == "close_all": item = None # The item not to be closed is not there items = pyzo.editors._tabs.items() for i in reversed(range(pyzo.editors._tabs.count())): if items[i] is item or items[i].pinned: continue pyzo.editors._tabs.tabCloseRequested.emit(i) elif action == "rename": filename = item.filename pyzo.editors.saveFileAs(item.editor) if item.filename != filename: try: os.remove(filename) except Exception: pass elif action == "copypath": filename = item.filename QtWidgets.qApp.clipboard().setText(filename) elif action == "opendir": fileBrowser = pyzo.toolManager.getTool("pyzofilebrowser") if fileBrowser: fileBrowser.setPath(os.path.dirname(item.filename)) elif action == "pin": item._pinned = not item._pinned elif action == "main": if pyzo.editors._tabs._mainFile == item.id: pyzo.editors._tabs._mainFile = None else: pyzo.editors._tabs._mainFile = item.id elif action == "run": menu = pyzo.main.menuBar().findChild(RunMenu) if menu: menu._runFile((False, False), item.editor) elif action == "run_script": menu = pyzo.main.menuBar().findChild(RunMenu) if menu: menu._runFile((True, False), item.editor) pyzo.editors._tabs.updateItems() class RunMenu(Menu): def build(self): icons = pyzo.icons self.addItem( translate( "menu", "Run file as script ::: Restart and run the current file as a script.", ), # noqa icons.run_file_script, self._runFile, (True, False), ) self.addItem( translate( "menu", "Run main file as script ::: Restart and run the main file as a script.", ), # noqa icons.run_mainfile_script, self._runFile, (True, True), ) self.addSeparator() self.addItem( translate( "menu", "Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection.", ), # noqa icons.run_lines, self._runSelected, ) self.addItem( translate( "menu", "Execute cell ::: Execute the current editors's cell in the current shell.", ), # noqa icons.run_cell, self._runCell, ) # In the _runFile calls, the parameter specifies (asScript, mainFile) self.addItem( translate( "menu", "Execute file ::: Execute the current file in the current shell.", ), icons.run_file, self._runFile, (False, False), ) self.addItem( translate( "menu", "Execute main file ::: Execute the main file in the current shell.", ), icons.run_mainfile, self._runFile, (False, True), ) self.addSeparator() self.addItem( translate("menu", "Execute selection and advance"), icons.run_lines, self._runSelectedAdvance, ) self.addItem( translate( "menu", "Execute cell and advance ::: Execute the current editors's cell and advance to the next cell.", ), icons.run_cell, self._runCellAdvance, ) self.addSeparator() self.addCheckItem( translate( "menu", "Change directory when executing file ::: like Run File As Script does", ), None, self._cdonfileexec, None, pyzo.config.settings.changeDirOnFileExec, ) self.addItem( translate( "menu", "Help on running code ::: Open the pyzo wizard at the page about running code.", ), icons.information, self._showHelp, ) def _cdonfileexec(self, value): pyzo.config.settings.changeDirOnFileExec = bool(value) def _showHelp(self): """Show more information about ways to run code.""" from pyzo.util.pyzowizard import PyzoWizard w = PyzoWizard(self) w.show("RuncodeWizardPage1") # Start wizard at page about running code def _getShellAndEditor(self, what, mainEditor=False): """Get the shell and editor. Shows a warning dialog when one of these is not available. """ # Init empty error message msg = "" # Get shell shell = pyzo.shells.getCurrentShell() if shell is None: msg += translate("menu", "No shell to run code in.").rstrip() + " " # shell = pyzo.shells.addShell() # issue #335, does not work, somehow # Get editor if mainEditor: editor = pyzo.editors.getMainEditor() if editor is None: msg += translate("menu", "There is no main file selected.") else: editor = pyzo.editors.getCurrentEditor() if editor is None: msg += translate("menu", "No editor selected.") # Show error dialog if msg: m = QtWidgets.QMessageBox(self) m.setWindowTitle(translate("menu dialog", "Could not run")) m.setText(translate("menu", "Could not run " + what + ":\n\n" + msg)) m.setIcon(m.Warning) m.exec_() # Return return shell, editor def _advance(self, runCursor): # Get editor and shell shell, editor = self._getShellAndEditor("selection") if not shell or not editor: return cursor = editor.textCursor() cursor.setPosition(runCursor.position()) cursor.movePosition(cursor.NextBlock) editor.setTextCursor(cursor) def _runSelectedAdvance(self): self._runSelected(advance=True) def _runSelected(self, advance=False): """Run the selected whole lines in the current shell.""" # Get editor and shell shell, editor = self._getShellAndEditor("selection") if not shell or not editor: return # Get position to sample between (only sample whole lines) screenCursor = editor.textCursor() # Current selection in the editor runCursor = editor.textCursor() # The part that should be run runCursor.setPosition(screenCursor.selectionStart()) runCursor.movePosition(runCursor.StartOfBlock) # This also moves the anchor lineNumber1 = runCursor.blockNumber() runCursor.setPosition(screenCursor.selectionEnd(), runCursor.KeepAnchor) if not (screenCursor.hasSelection() and runCursor.atBlockStart()): # If the end of the selection is at the beginning of a block, don't extend it runCursor.movePosition(runCursor.EndOfBlock, runCursor.KeepAnchor) lineNumber2 = runCursor.blockNumber() # Does this look like a statement? isStatement = lineNumber1 == lineNumber2 and screenCursor.hasSelection() if isStatement: # Get source code of statement code = screenCursor.selectedText().replace("\u2029", "\n").strip() # add code to history pyzo.command_history.append(code) # Execute statement shell.executeCommand(code + "\n") else: # Get source code code = runCursor.selectedText().replace("\u2029", "\n") # Notify user of what we execute self._showWhatToExecute(editor, runCursor) # Get filename and run code fname = editor.id() # editor._name or editor._filename shell.executeCode(code, fname, lineNumber1) if advance: self._advance(runCursor) def _runCellAdvance(self): self._runCell(advance=True) def _runCell(self, advance=False): """Run the code between two cell separaters ('##').""" # TODO: ignore ## in multi-line strings # Maybe using source-structure information? # Get editor and shell shell, editor = self._getShellAndEditor("cell") if not shell or not editor: return cellName = "" # Get current cell # Move up until the start of document # or right after a line starting with '##' runCursor = editor.textCursor() # The part that should be run runCursor.movePosition(runCursor.StartOfBlock) while True: line = runCursor.block().text().lstrip() if ( line.startswith("##") or line.startswith("#%%") or line.startswith("# %%") ): # ## line, move to the line following this one if not runCursor.block().next().isValid(): # The user tried to execute the last line of a file which # started with ##. Do nothing return runCursor.movePosition(runCursor.NextBlock) cellName = line.lstrip("#% ").strip() break if not runCursor.block().previous().isValid(): break # Start of document runCursor.movePosition(runCursor.PreviousBlock) # This is the line number of the start lineNumber = runCursor.blockNumber() if len(cellName) > 20: cellName = cellName[:17] + "..." # Move down until a line before one starting with'##' # or to end of document while True: line = runCursor.block().text().lstrip() if ( line.startswith("##") or line.startswith("#%%") or line.startswith("# %%") ): # This line starts with ##, move to the end of the previous one runCursor.movePosition(runCursor.Left, runCursor.KeepAnchor) break if not runCursor.block().next().isValid(): # Last block of the document, move to the end of the line runCursor.movePosition(runCursor.EndOfBlock, runCursor.KeepAnchor) break runCursor.movePosition(runCursor.NextBlock, runCursor.KeepAnchor) # Get source code code = runCursor.selectedText().replace("\u2029", "\n") # Notify user of what we execute self._showWhatToExecute(editor, runCursor) # Get filename and run code fname = editor.id() # editor._name or editor._filename shell.executeCode( code, fname, lineNumber, cellName or " " ) # ensure that bool(cellName) == True if advance: self._advance(runCursor) def _showWhatToExecute(self, editor, runCursor=None): # Get runCursor for whole document if not given if runCursor is None: runCursor = editor.textCursor() runCursor.movePosition(runCursor.Start) runCursor.movePosition(runCursor.End, runCursor.KeepAnchor) editor.showRunCursor(runCursor) def _getCodeOfFile(self, editor): # Obtain source code text = editor.toPlainText() # Show what we execute self._showWhatToExecute(editor) # Get filename and return fname = editor.id() # editor._name or editor._filename return fname, text def _runFile(self, runMode, givenEditor=None): """Run a file runMode is a tuple (asScript, mainFile) """ asScript, mainFile = runMode # Get editor and shell description = "main file" if mainFile else "file" if asScript: description += translate("menu", " (as script)") shell, editor = self._getShellAndEditor(description, mainFile) if givenEditor: editor = givenEditor if not shell or not editor: return if asScript: # Go self._runScript(editor, shell) else: # Obtain source code and fname fname, text = self._getCodeOfFile(editor) shell.executeCode( text, fname, changeDir=pyzo.config.settings.changeDirOnFileExec ) def _runScript(self, editor, shell): # Obtain fname and try running err = "" if editor._filename: saveOk = pyzo.editors.saveFile(editor) # Always try to save if saveOk or not editor.document().isModified(): self._showWhatToExecute(editor) if shell._startup_info.get("ipython", "") == "yes": # If we have a ipython shell we use %run -i instead # This works better when python autoreload is used d = os.path.normpath( os.path.normcase(os.path.dirname(editor._filename)) ) shell._ctrl_command.send('%%cd "%s"\n' % d) shell._ctrl_command.send('%%run -i "%s"\n' % editor._filename) else: shell.restart(editor._filename) else: err = translate("menu", "Could not save the file.") else: err = translate("menu", "Can only run scripts that are in the file system.") # If not success, notify if err: m = QtWidgets.QMessageBox(self) m.setWindowTitle(translate("menu dialog", "Could not run script.")) m.setText(err) m.setIcon(m.Warning) m.exec_() class ToolsMenu(Menu): def __init__(self, *args, **kwds): self._toolActions = [] Menu.__init__(self, *args, **kwds) def build(self): self.addItem( translate("menu", "Reload tools ::: For people who develop tools."), pyzo.icons.plugin_refresh, pyzo.toolManager.reloadTools, ) self.addSeparator() self.onToolInstanceChange() # Build initial menu pyzo.toolManager.toolInstanceChange.connect(self.onToolInstanceChange) def onToolInstanceChange(self): # Remove all exisiting tools from the menu for toolAction in self._toolActions: self.removeAction(toolAction) # Add all tools, with checkmarks for those that are active self._toolActions = [] for tool in pyzo.toolManager.getToolInfo(): action = self.addCheckItem( tool.name, pyzo.icons.plugin, tool.menuLauncher, selected=bool(tool.instance), ) self._toolActions.append(action) class HelpMenu(Menu): def build(self): icons = pyzo.icons self.addUrlItem( translate( "menu", "Pyzo website ::: Open the Pyzo website in your browser." ), icons.help, "http://pyzo.org", ) self.addUrlItem( translate("menu", "Pyzo guide ::: Open the Pyzo guide in your browser."), icons.help, "http://guide.pyzo.org", ) self.addItem( translate("menu", "Pyzo wizard ::: Get started quickly."), icons.wand, self._showPyzoWizard, ) self.addSeparator() self.addUrlItem( translate("menu", "Ask a question ::: Need help?"), icons.comments, "http://community.pyzo.org", ) self.addUrlItem( translate( "menu", "Report an issue ::: Did you found a bug in Pyzo, or do you have a feature request?", ), icons.error_add, "http://issues.pyzo.org", ) self.addItem( translate( "menu", "Local documentation ::: Documentation on Python and the Scipy Stack.", ), icons.help, self._showPyzoDocs, ) self.addSeparator() # self.addItem(translate("menu", "View code license ::: Legal stuff."), # icons.script, lambda: pyzo.editors.loadFile(os.path.join(pyzo.pyzoDir,"license.txt"))) self.addItem( translate( "menu", "Check for updates ::: Are you using the latest version?" ), icons.application_go, self._checkUpdates, ) self.addItem( translate("menu", "About Pyzo ::: More information about Pyzo."), icons.information, self._aboutPyzo, ) def addUrlItem(self, name, icon, url): self.addItem(name, icon, lambda: webbrowser.open(url)) def _showPyzoWizard(self): from pyzo.util.pyzowizard import PyzoWizard w = PyzoWizard(self) w.show() # Use show() instead of exec_() so the user can interact with pyzo def _checkUpdates(self): """Check whether a newer version of pyzo is available.""" # Get versions available url = "https://api.github.com/repos/pyzo/pyzo/releases" releases = json.loads(urlopen(url).read()) versions = [] for release in releases: tag = release.get("tag_name", "") if tag.startswith("v"): version = tuple(int(i) for i in tag[1:].split(".")) versions.append(version) versions.sort() latest_version = ".".join(str(i) for i in versions[-1]) if versions else "?" # Define message text = "Your version of Pyzo is: {}\n" text += "Latest available version is: {}\n\n" text = text.format(pyzo.__version__, latest_version) text += "Do you want to open the download page?\n" # Show message box m = QtWidgets.QMessageBox(self) m.setWindowTitle(translate("menu dialog", "Check for the latest version.")) m.setStandardButtons(m.Yes | m.Cancel) m.setDefaultButton(m.Cancel) m.setText(text) m.setIcon(m.Information) result = m.exec_() # Goto webpage if user chose to if result == m.Yes: webbrowser.open("http://pyzo.org/start.html") def _aboutPyzo(self): from pyzo.core.about import AboutDialog m = AboutDialog(self) m.exec_() def _showPyzoDocs(self): # Show widget with docs: self._assistant = PyzoAssistant() self._assistant.show() class AutocompMenu(Menu): """ Menu for the user to control autocompletion. """ def build(self): # Part for selecting mode modes = [ translate("menu", "No autocompletion"), translate("menu", "Automatic popup"), translate("menu", "Only show popup when pressing Tab"), ] for value, mode in enumerate(modes): self.addGroupItem(mode, None, self._setMode, value, group="mode") self.setCheckedOption("mode", pyzo.config.settings.autoComplete) self.addSeparator() # Part for accept key accept_keys = [ ("Tab", translate("menu", "Tab")), ("Enter", translate("menu", "Enter")), ("Tab, Enter", translate("menu", "Tab, Enter")), ("Tab, (, [", translate("menu", "Tab, (, [")), ("Tab, Enter, (, [", translate("menu", "Tab, Enter, (, [")), ] prefix = translate("menu", "Accept autocompletion with:") for keys, display in accept_keys: self.addGroupItem( prefix + " " + display, None, self._setAcceptKeys, keys, group="acceptkeys", ) self.setCheckedOption( "acceptkeys", pyzo.config.settings.autoComplete_acceptKeys ) self.addSeparator() # Booleans self.addCheckItem( translate( "menu", "Autocomplete keywords ::: The autocompletion list includes keywords.", ), None, self._setCompleteKeywords, None, pyzo.config.settings.autoComplete_keywords, ) self.addSeparator() # auto closing options self.addCheckItem( translate( "menu", "Auto close quotes ::: Auto close single and double quotes." ), None, self._setQuotes, None, pyzo.config.settings.autoClose_Quotes, ) self.addCheckItem( translate("menu", "Auto close brackets ::: Auto close ( { [ ] } )."), None, self._setBrackets, None, pyzo.config.settings.autoClose_Brackets, ) def _setAcceptKeys(self, autocompkeys): # Skip if setting is not changes if pyzo.config.settings.autoComplete_acceptKeys == autocompkeys: return # Save new setting pyzo.config.settings.autoComplete_acceptKeys = autocompkeys # Apply for e in pyzo.editors: e.setAutoCompletionAcceptKeysFromStr(autocompkeys) for s in pyzo.shells: s.setAutoCompletionAcceptKeysFromStr(autocompkeys) def _setMode(self, autocompmode): pyzo.config.settings.autoComplete = int(autocompmode) def _setCompleteKeywords(self, value): pyzo.config.settings.autoComplete_keywords = bool(value) def _setQuotes(self, value): # Set automatic insertion of single and double quotes pyzo.config.settings.autoClose_Quotes = bool(value) def _setBrackets(self, value): # Set automatic insertion of parenthesis, braces and brackets pyzo.config.settings.autoClose_Brackets = bool(value) class SettingsMenu(Menu): def build(self): icons = pyzo.icons # Create language menu from pyzo.util._locale import LANGUAGES, LANGUAGE_SYNONYMS # Update language setting if necessary cur = pyzo.config.settings.language pyzo.config.settings.language = LANGUAGE_SYNONYMS.get(cur, cur) # Create language menu t = translate("menu", "Select language ::: The language used by Pyzo.") self._languageMenu = GeneralOptionsMenu(self, t, self._selectLanguage) values = [key for key in sorted(LANGUAGES)] self._languageMenu.setOptions(values, values) self._languageMenu.setCheckedOption(None, pyzo.config.settings.language) self.addBoolSetting( translate( "menu", "Automatically indent ::: Indent when pressing enter after a colon.", ), "autoIndent", lambda state, key: [e.setAutoIndent(state) for e in pyzo.editors], ) self.addBoolSetting( translate( "menu", "Enable calltips ::: Show calltips with function signatures." ), "autoCallTip", ) self.addMenu(AutocompMenu(self, translate("menu", "Autocompletion"))) self.addSeparator() self.addItem( translate( "menu", "Edit key mappings... ::: Edit the shortcuts for menu items." ), icons.keyboard, lambda: KeymappingDialog().exec_(), ) self.addItem( translate( "menu", "Edit syntax styles... ::: Change the coloring of your code." ), icons.style, lambda: EditColorDialog().exec_(), ) self.addMenu(self._languageMenu, icons.flag_green) self.addItem( translate("menu", "Advanced settings... ::: Configure Pyzo even further."), icons.cog, lambda: AdvancedSettings().exec_(), ) def addBoolSetting(self, name, key, callback=None): def _callback(state, key): setattr(pyzo.config.settings, key, state) if callback is not None: callback(state, key) self.addCheckItem( name, None, _callback, key, getattr(pyzo.config.settings, key) ) # Default value def _selectLanguage(self, languageName): # Skip if the same if pyzo.config.settings.language == languageName: return # Save new language pyzo.config.settings.language = languageName # Notify user text = translate( "menu dialog", """ The language has been changed. Pyzo needs to restart for the change to take effect. """, ) m = QtWidgets.QMessageBox(self) m.setWindowTitle(translate("menu dialog", "Language changed")) m.setText(unwrapText(text)) m.setIcon(m.Information) m.exec_() ## Classes to enable editing the key mappings class KeyMapModel(QtCore.QAbstractItemModel): """The model to view the structure of the menu and the shortcuts currently mapped.""" def __init__(self, *args): QtCore.QAbstractItemModel.__init__(self, *args) self._root = None def setRootMenu(self, menu): """Call this after starting.""" self._root = menu def data(self, index, role): if not index.isValid() or role not in [0, 8]: return None # get menu or action item item = index.internalPointer() # get text and shortcuts key1, key2 = "", "" if isinstance(item, QtWidgets.QMenu): value = item.title() else: value = item.text() if not value: value = "-" * 10 elif index.column() > 0: key1, key2 = " ", " " shortcuts = getShortcut(item) if shortcuts[0]: key1 = shortcuts[0] if shortcuts[1]: key2 = shortcuts[1] # translate to text for the user key1 = translateShortcutToOSNames(key1) key2 = translateShortcutToOSNames(key2) # obtain value value = [value, key1, key2, ""][index.column()] # return if role == 0: # display role return value elif role == 8: # 8: BackgroundRole if not value: return None elif index.column() == 1: return QtGui.QBrush(QtGui.QColor(200, 220, 240)) elif index.column() == 2: return QtGui.QBrush(QtGui.QColor(210, 230, 250)) else: return None else: return None def rowCount(self, parent): if parent.isValid(): menu = parent.internalPointer() return len(menu.actions()) else: return len(self._root.actions()) def columnCount(self, parent): return 4 def headerData(self, section, orientation, role): if role == 0: # and orientation==1: tmp = ["Menu action", "Shortcut 1", "Shortcut 2", ""] return tmp[section] def parent(self, index): if not index.isValid(): return QtCore.QModelIndex() item = index.internalPointer() pitem = item.parent() if pitem is self._root: return QtCore.QModelIndex() else: L = pitem.parent().actions() row = 0 if pitem in L: row = L.index(pitem) return self.createIndex(row, 0, pitem) def hasChildren(self, index): # no items have parents (except the root item) if index.row() < 0: return True else: return isinstance(index.internalPointer(), QtWidgets.QMenu) def index(self, row, column, parent): # if not self.hasIndex(row, column, parent): # return QtCore.QModelIndex() # establish parent if not parent.isValid(): parentMenu = self._root else: parentMenu = parent.internalPointer() # produce index and make menu if the action represents a menu childAction = parentMenu.actions()[row] childMenu = childAction.parent() if childMenu is not parentMenu and childMenu.actions(): childAction = childMenu return self.createIndex(row, column, childAction) # This is the trick. The internal pointer is the way to establish # correspondence between ModelIndex and underlying data. # Key to string mappings k = QtCore.Qt keymap = { k.Key_Enter: "Enter", k.Key_Return: "Return", k.Key_Escape: "Escape", k.Key_Tab: "Tab", k.Key_Backspace: "Backspace", k.Key_Pause: "Pause", k.Key_Backtab: "Tab", # Backtab is actually shift+tab k.Key_F1: "F1", k.Key_F2: "F2", k.Key_F3: "F3", k.Key_F4: "F4", k.Key_F5: "F5", k.Key_F6: "F6", k.Key_F7: "F7", k.Key_F8: "F8", k.Key_F9: "F9", k.Key_F10: "F10", k.Key_F11: "F11", k.Key_F12: "F12", k.Key_Space: "Space", k.Key_Delete: "Delete", k.Key_Insert: "Insert", k.Key_Home: "Home", k.Key_End: "End", k.Key_PageUp: "PageUp", k.Key_PageDown: "PageDown", k.Key_Left: "Left", k.Key_Up: "Up", k.Key_Right: "Right", k.Key_Down: "Down", } class KeyMapLineEdit(QtWidgets.QLineEdit): """A modified version of a lineEdit object that catches the key event and displays "Ctrl" when control was pressed, and similarly for alt and shift, function keys and other keys. """ textUpdate = QtCore.Signal() def __init__(self, *args, **kwargs): QtWidgets.QLineEdit.__init__(self, *args, **kwargs) self.clear() # keep a list of native keys, so that we can capture for example # "shift+]". If we would use text(), we can only capture "shift+}" # which is not a valid shortcut. self._nativeKeys = {} # Override setText, text and clear, so as to be able to set shortcuts like # Ctrl+A, while the actually displayed value is an OS shortcut (e.g. on Mac # Cmd-symbol + A) def setText(self, text): QtWidgets.QLineEdit.setText(self, translateShortcutToOSNames(text)) self._shortcut = text def text(self): return self._shortcut def clear(self): QtWidgets.QLineEdit.setText(self, "") self._shortcut = "" def focusInEvent(self, event): # self.clear() QtWidgets.QLineEdit.focusInEvent(self, event) def event(self, event): # Override event handler to enable catching the Tab key # If the event is a KeyPress or KeyRelease, handle it with # self.keyPressEvent or keyReleaseEvent if event.type() == event.KeyPress: self.keyPressEvent(event) return True # Mark as handled if event.type() == event.KeyRelease: self.keyReleaseEvent(event) return True # Mark as handled # Default: handle events as usual return QtWidgets.QLineEdit.event(self, event) def keyPressEvent(self, event): # get key codes key = event.key() nativekey = event.nativeVirtualKey() # try to get text if nativekey < 128 and sys.platform != "darwin": text = chr(nativekey).upper() elif key < 128: text = chr(key).upper() else: text = "" # do we know this specic key or this native key? if key in keymap: text = keymap[key] elif nativekey in self._nativeKeys: text = self._nativeKeys[nativekey] # apply! if text: storeNativeKey, text0 = True, text if QtWidgets.qApp.keyboardModifiers() & k.AltModifier: text = "Alt+" + text if QtWidgets.qApp.keyboardModifiers() & k.ShiftModifier: text = "Shift+" + text storeNativeKey = False if QtWidgets.qApp.keyboardModifiers() & k.ControlModifier: text = "Ctrl+" + text if QtWidgets.qApp.keyboardModifiers() & k.MetaModifier: text = "Meta+" + text self.setText(text) if storeNativeKey and nativekey: # store native key if shift was not pressed. self._nativeKeys[nativekey] = text0 # notify listeners self.textUpdate.emit() class KeyMapEditDialog(QtWidgets.QDialog): """The prompt that is shown when double clicking a keymap in the tree. It notifies the user when the entered shortcut is already used elsewhere and applies the shortcut (removing it elsewhere if required) when the apply button is pressed. """ def __init__(self, *args): QtWidgets.QDialog.__init__(self, *args) # set title self.setWindowTitle(translate("menu dialog", "Edit shortcut mapping")) # set size size = 400, 140 offset = 5 size2 = size[0], size[1] + offset self.resize(*size2) self.setMaximumSize(*size2) self.setMinimumSize(*size2) self._label = QtWidgets.QLabel("", self) self._label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft) self._label.resize(size[0] - 20, 100) self._label.move(10, 2) self._line = KeyMapLineEdit("", self) self._line.resize(size[0] - 80, 20) self._line.move(10, 90) self._clear = QtWidgets.QPushButton("Clear", self) self._clear.resize(50, 20) self._clear.move(size[0] - 60, 90) self._apply = QtWidgets.QPushButton("Apply", self) self._apply.resize(50, 20) self._apply.move(size[0] - 120, 120) self._cancel = QtWidgets.QPushButton("Cancel", self) self._cancel.resize(50, 20) self._cancel.move(size[0] - 60, 120) # callbacks self._line.textUpdate.connect(self.onEdit) self._clear.clicked.connect(self.onClear) self._apply.clicked.connect(self.onAccept) self._cancel.clicked.connect(self.close) # stuff to fill in later self._fullname = "" self._intro = "" self._isprimary = True def setFullName(self, fullname, isprimary): """To be called right after initialization to let the user know what he's updating, and show the current shortcut for that in the line edit.""" # store self._isprimary = isprimary self._fullname = fullname # create intro to show, and store + show it tmp = fullname.replace("__", " -> ").replace("_", " ") primSec = ["secondary", "primary"][int(isprimary)] self._intro = "Set the {} shortcut for:\n{}".format(primSec, tmp) self._label.setText(self._intro) # set initial value if fullname in pyzo.config.shortcuts2: current = pyzo.config.shortcuts2[fullname] if "," not in current: current += "," current = current.split(",") self._line.setText(current[0] if isprimary else current[1]) def onClear(self): self._line.clear() self._line.setFocus() def onEdit(self): """Test if already in use.""" # init shortcut = self._line.text() if not shortcut: self._label.setText(self._intro) return for key in pyzo.config.shortcuts2: # get shortcut and test whether it corresponds with what's pressed shortcuts = getShortcut(key) primSec = "" if shortcuts[0].lower() == shortcut.lower(): primSec = "primary" elif shortcuts[1].lower() == shortcut.lower(): primSec = "secondary" # if a correspondence, let the user know if primSec and key != self._fullname: tmp = "Warning: shortcut already in use for:\n" tmp += key.replace("__", " -> ").replace("_", " ") self._label.setText(self._intro + "\n\n" + tmp + "\n") break else: self._label.setText(self._intro) def onAccept(self): shortcut = self._line.text() # remove shortcut if present elsewhere keys = [key for key in pyzo.config.shortcuts2] # copy for key in keys: # get shortcut, test whether it corresponds with what's pressed shortcuts = getShortcut(key) tmp = list(shortcuts) needUpdate = False if shortcuts[0].lower() == shortcut.lower(): tmp[0] = "" needUpdate = True if shortcuts[1].lower() == shortcut.lower(): tmp[1] = "" needUpdate = True if needUpdate: tmp = ",".join(tmp) tmp = tmp.replace(" ", "") if len(tmp) == 1: del pyzo.config.shortcuts2[key] else: pyzo.config.shortcuts2[key] = tmp # insert shortcut if self._fullname: # get current and make list of size two if self._fullname in pyzo.config.shortcuts2: current = list(getShortcut(self._fullname)) else: current = ["", ""] # update the list current[int(not self._isprimary)] = shortcut pyzo.config.shortcuts2[self._fullname] = ",".join(current) # close self.close() class KeymappingDialog(QtWidgets.QDialog): """The main keymap dialog, it has tabs corresponding with the different menus and each tab has a tree representing the structure of these menus. The current shortcuts are displayed. On double clicking on an item, the shortcut can be edited.""" def __init__(self, *args): QtWidgets.QDialog.__init__(self, *args) # set title self.setWindowTitle(translate("menu dialog", "Shortcut mappings")) # set size size = 600, 400 offset = 0 size2 = size[0], size[1] + offset self.resize(*size2) self.setMaximumSize(*size2) self.setMinimumSize(*size2) self.tab = CompactTabWidget(self, padding=(4, 4, 6, 6)) self.tab.resize(*size) self.tab.move(0, offset) self.tab.setMovable(False) # fill tab self._models = [] self._trees = [] for menu in pyzo.main.menuBar()._menus: # create treeview and model model = KeyMapModel() model.setRootMenu(menu) tree = QtWidgets.QTreeView(self.tab) tree.setModel(model) # configure treeview tree.clicked.connect(self.onClickSelect) tree.doubleClicked.connect(self.onDoubleClick) tree.setColumnWidth(0, 150) # append to lists self._models.append(model) self._trees.append(tree) self.tab.addTab(tree, menu.title()) self.tab.currentChanged.connect(self.onTabSelect) def closeEvent(self, event): # update key setting pyzo.keyMapper.keyMappingChanged.emit() event.accept() def onTabSelect(self): pass def onClickSelect(self, index): # should we show a prompt? if index.column(): self.popupItem(index.internalPointer(), index.column()) def onDoubleClick(self, index): if not index.column(): self.popupItem(index.internalPointer()) def popupItem(self, item, shortCutId=1): """Popup the dialog to change the shortcut.""" if isinstance(item, QtWidgets.QAction) and item.text(): # create prompt dialog dlg = KeyMapEditDialog(self) dlg.setFullName(item.menuPath, shortCutId == 1) # show it dlg.exec_() class AdvancedSettings(QtWidgets.QDialog): """Advanced settings The Advanced settings dialog contains configuration settings for Pyzo and plugins. Click on an item, to edit settings. """ def __init__(self, *args): QtWidgets.QDialog.__init__(self, *args) self.conf_file = os.path.join(pyzo.appConfigDir, "config.ssdf") self.backup_file = os.path.join(pyzo.appConfigDir, "config.ssdf.bak") if not os.path.exists(self.conf_file): pyzo.saveConfig() if not os.path.exists(self.backup_file): self.backupConfig() # Set title self.setWindowTitle(translate("menu dialog", "Advanced Settings")) # Set dialog size size = 1000, 600 offset = 0 size2 = size[0], size[1] + offset self.resize(*size2) self.setMinimumSize(*size2) # Label text = "Before you begin, backup your settings. To modify an existing setting, click on the value to change it.\nNote that most settings require a restart for the change to take effect." self._label = QtWidgets.QLabel(self) self._label.setWordWrap(True) self._label.setText(translate("menu dialog", text)) # Folding buttons # fold self._btnFold = QtWidgets.QToolButton(self) self._btnFold.setIcon(pyzo.icons.text_align_justify) self._btnFold.setToolTip("Fold") # event self._btnFold.clicked.connect(self.btnFoldClicked) # unfold self._btnUnfold = QtWidgets.QToolButton(self) self._btnUnfold.setIcon(pyzo.icons.text_align_right) self._btnUnfold.setToolTip("Unfold") # event self._btnUnfold.clicked.connect(self.btnUnfoldClicked) # Search self._search = QtWidgets.QLineEdit(self) self._search.setPlaceholderText("Search...") self._search.setToolTip("Use the search box to find the setting of interest.") # event self._search.textChanged.connect(self.searchTextChanged) # Tree self._tree = QtWidgets.QTreeWidget(self) self._tree.setColumnCount(3) self._tree.setHeaderLabels(["key", "value", "type"]) self._tree.setSortingEnabled(True) self._tree.sortItems(0, QtCore.Qt.AscendingOrder) self._tree.setColumnWidth(0, 300) self._tree.setColumnWidth(1, 300) # event self._tree.itemClicked.connect(self.onClickSelect) self._tree.itemChanged.connect(self.currentItemChanged) # Backup label self._backup_label = QtWidgets.QLabel(self) self._backup_label.setText(self.setBackupDate()) # Buttons self._btnFactoryDefault = QtWidgets.QPushButton("Factory Defaults", self) self._btnFactoryDefault.setToolTip("Reset a IDE to its original settings.") self._btnFactoryDefault.clicked.connect(self.btnFactoryDefaultClicked) self._btnOverwriteShellSettings = QtWidgets.QPushButton( "Overwrite shell settings", self ) self._btnOverwriteShellSettings.setToolTip( "Overwrite an existing shell settings with backup shell settings." ) self._btnOverwriteShellSettings.clicked.connect(self.replaceShellSettings) self._btnBackup = QtWidgets.QPushButton("Backup", self) self._btnBackup.setToolTip("Make backup file of the current settings.") self._btnBackup.setDefault(True) self._btnBackup.clicked.connect(self.btnBackupClicked) self._btnRestore = QtWidgets.QPushButton("Restore", self) self._btnRestore.setToolTip( "Restore settings from last backup file, then restart Pyzo." ) self._btnRestore.clicked.connect(self.btnRestoreClicked) # Layouts layout_1 = QtWidgets.QHBoxLayout() layout_1.addWidget(self._label, 0) # layout_2 = QtWidgets.QHBoxLayout() layout_2.addWidget(self._btnFold, 0) layout_2.addWidget(self._btnUnfold, 0) layout_2.addWidget(self._search, 0) # layout_3 = QtWidgets.QVBoxLayout() layout_3.addWidget(self._tree, 0) layout_3.addWidget(self._backup_label, 0) # layout_4 = QtWidgets.QHBoxLayout() layout_4.addWidget(self._btnFactoryDefault, 0) layout_4.addWidget(self._btnOverwriteShellSettings, 0) layout_4.addWidget(self._btnBackup, 0) layout_4.addWidget(self._btnRestore, 0) # Main Layout mainLayout = QtWidgets.QVBoxLayout(self) mainLayout.addLayout(layout_1, 0) mainLayout.addLayout(layout_2, 0) mainLayout.addLayout(layout_3, 0) mainLayout.addLayout(layout_4, 0) mainLayout.setSpacing(2) mainLayout.setContentsMargins(4, 4, 4, 4) self.setLayout(mainLayout) # Fill tree self.fillTree() self._tree.expandAll() def btnFoldClicked(self): self._tree.collapseAll() def btnUnfoldClicked(self): self._tree.expandAll() def searchTextChanged(self): """As you type hide unmatched settings.""" # find all matched settings find = self._tree.findItems( self._search.text(), QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive, 0 ) items = [i.text(0) for i in find] # tree items root = self._tree.invisibleRootItem() root_count = root.childCount() # level 1 for idx_0 in range(root_count): item = root.child(idx_0) # level 2 if item.childCount() > 0: for idx_1 in range(item.childCount()): child = item.child(idx_1) hasVisibleChild = False # level 3 if child.childCount() > 0: for idx_2 in range(child.childCount()): subchild = child.child(idx_2) # hide options if subchild.text(0) in items: subchild.setHidden(False) hasVisibleChild = True else: subchild.setHidden(True) # hide options if child.text(0) in items: child.setHidden(False) else: if not hasVisibleChild: child.setHidden(True) def backupConfig(self): """Backup settings.""" shutil.copyfile(self.conf_file, self.backup_file) def setBackupDate(self): """Show backup file name and backup date.""" lastmodified = os.stat(self.backup_file).st_mtime datetime.fromtimestamp(lastmodified) backup_text = """Backup file: {}, {} """.format( self.backup_file, datetime.fromtimestamp(lastmodified) ) return backup_text def btnFactoryDefaultClicked(self): """Reset a IDE to its original settings.""" pyzo.saveConfig() pyzo.resetConfig() pyzo.main.restart() def btnBackupClicked(self): """Make backup file of the current settings.""" self.backupConfig() self._backup_label.setText(self.setBackupDate()) def btnRestoreClicked(self): """Restore settings from last backup file, then restart Pyzo.""" pyzo.resetConfig() shutil.copyfile(self.backup_file, self.conf_file) pyzo.main.restart() def currentItemChanged(self, item, column): """Save new settings.""" parent = None node = None if column == 1: # node, parent parent = item.parent() parent_val = self._tree.indexFromItem(parent, 0).data() node = parent.parent() node_val = self._tree.indexFromItem(node, 0).data() # key, value key = self._tree.indexFromItem(item, 0).data() value = self._tree.indexFromItem(item, 1).data() typ = self._tree.indexFromItem(item, 2).data() # convert type if typ is not type(value): if typ == "": value = int(value) elif typ == "": value = ast.literal_eval(value) # change value if node: # case: node - parent - key - value if node_val in pyzo.config.keys(): if ( parent_val in pyzo.config[node_val].keys() ): # bugfix +[node_val]+ pyzo.config[node_val][parent_val][key] = value else: # case: parent - key - value if parent: if parent_val in pyzo.config.keys(): pyzo.config[parent_val][key] = value # bold changed item font = item.font(column) font.setBold(True) item.setFont(column, QtGui.QFont(font)) # save pyzo.saveConfig() def fillTree(self): """Fill the tree with settings""" # fill tree for item in pyzo.config.keys(): root = QtWidgets.QTreeWidgetItem(self._tree, [item]) node = pyzo.config[item] if isinstance(node, pyzo.util.zon.Dict): for k, v in node.items(): if isinstance(v, pyzo.util.zon.Dict): A = QtWidgets.QTreeWidgetItem(root, ["{}".format(str(k))]) for kk, vv in v.items(): if isinstance(vv, pyzo.util.zon.Dict): B = QtWidgets.QTreeWidgetItem(A, ["{}".format(str(kk))]) for kkk, vvv in vv.items(): QtWidgets.QTreeWidgetItem( B, [str(kkk), str(vvv), str(type(vvv))] ) else: QtWidgets.QTreeWidgetItem( A, [str(kk), str(vv), str(type(vv))] ) else: QtWidgets.QTreeWidgetItem(root, [str(k), str(v), str(type(v))]) elif isinstance(node, list): n = 1 for k in node: if isinstance(k, pyzo.util.zon.Dict): A = QtWidgets.QTreeWidgetItem(root, ["shell_{}".format(str(n))]) for kk, vv in k.items(): QtWidgets.QTreeWidgetItem( A, [str(kk), str(vv), str(type(vv))] ) n += 1 def onClickSelect(self, item, column): """Allow editing only column 1""" if column == 1: item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable) self._tree.editItem(item, column) def getBackupShellSettings(self): """Extract shell settings from backup file.""" backup_dict = pyzo.util.zon.load(self.backup_file) backup_shell = backup_dict["shellConfigs2"] return backup_shell def replaceShellSettings(self): """Replace current shell setting with backup shell settings.""" old_shell_settings = self.getBackupShellSettings() pyzo.config["shellConfigs2"] = old_shell_settings pyzo.saveConfig() pyzo-4.12.3/pyzo/core/pdfExport.py000066400000000000000000000247061421373005400170700ustar00rootroot00000000000000from pyzo.qt import QtCore, QtGui, QtWidgets from pyzo import translate import pyzo import os from pyzo.codeeditor import Manager class PdfExport(QtWidgets.QDialog): """ This class is used to export an editor to a pdf. The content of the editor is copied in another editor, and then the options chosen are applied by _print() """ def __init__(self): super().__init__() from pyzo.qt import QtPrintSupport self.printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution, ) # To allow pdf export with color self.printer.setColorMode(QtPrintSupport.QPrinter.Color) # Default settings self.show_line_number = True self._enable_syntax_highlighting = True # Set title self.setWindowTitle(translate("menu dialog", "Pdf Export")) # Set dialog size size = 1000, 600 offset = 0 size2 = size[0], size[1] + offset self.resize(*size2) # self.setMinimumSize(*size2) # Button to export to pdf self.validation_button = QtWidgets.QPushButton("Export") self.validation_button.clicked.connect(self._export_pdf) # Button to update the preview self.button_update_preview = QtWidgets.QPushButton("Update preview", self) self.button_update_preview.clicked.connect(self._update_preview) # Previw widget self.preview = QtPrintSupport.QPrintPreviewWidget(self.printer) # Lines numbers option self.checkbox_line_number = QtWidgets.QCheckBox( "Print line number", self, checked=self.show_line_number ) self.checkbox_line_number.stateChanged.connect(self._get_show_line_number) # Make of copy of the editor self.current_editor = pyzo.editors.getCurrentEditor() self.editor_name = self.current_editor.name self.editor_filename = self.current_editor.filename self.editor = pyzo.core.editor.PyzoEditor( pyzo.editors.getCurrentEditor().toPlainText() ) # Zoom # The default zoom is the current zoom used by the editor self.original_zoom = pyzo.config.view.zoom self.zoom_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) self.zoom_slider.setMinimum(-10) # Maybe too much ? self.zoom_slider.setMaximum(10) self.zoom_slider.setTickInterval(1) self.zoom_selected = self.original_zoom self.zoom_slider.setValue(self.zoom_selected) self.zoom_value_label = QtWidgets.QLabel() self._zoom_value_changed() self.zoom_slider.valueChanged.connect(self._zoom_value_changed) # Option for syntax highlighting self.checkbox_syntax_highlighting = QtWidgets.QCheckBox( "Enable syntax highlighting", self, checked=self._enable_syntax_highlighting ) self.checkbox_syntax_highlighting.stateChanged.connect( self._change_syntax_highlighting_option ) self.combobox_file_name = QtWidgets.QComboBox(self) self.combobox_file_name.addItem("Do not print the file name", 0) self.combobox_file_name.addItem("Print with file name", 1) self.combobox_file_name.addItem("Print with file name and absolute path", 2) self.combobox_file_name.setCurrentIndex(1) self.combobox_file_name.setToolTip("The title at the top of the document") # Orientation self.combobox_orientation = QtWidgets.QComboBox(self) self.combobox_orientation.addItem("Portrait", 0) self.combobox_orientation.addItem("Landscape", 1) self.combobox_orientation.setToolTip("Orientation of the document") # Layout self.main_layout = QtWidgets.QHBoxLayout() self.setLayout(self.main_layout) self.preview.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding ) self.right_layout = QtWidgets.QVBoxLayout() self.option_layout = QtWidgets.QFormLayout() self.main_layout.addWidget(self.preview) self.main_layout.addLayout(self.right_layout) self.right_layout.addLayout(self.option_layout) self.option_layout.addRow(self.combobox_file_name) self.option_layout.addRow(self.checkbox_line_number) self.option_layout.addRow(self.checkbox_syntax_highlighting) self.option_layout.addRow(self.zoom_value_label, self.zoom_slider) # self.option_layout.addRow(self.combobox_orientation) # orientation appears to be broken self.bottom_layout = QtWidgets.QHBoxLayout() self.right_layout.addLayout(self.bottom_layout) self.bottom_layout.addStretch() self.bottom_layout.addWidget(self.button_update_preview) self.bottom_layout.addWidget(self.validation_button) self._update_preview() def _print(self): """Generate the pdf for preview and export""" if self.editor is not None: cursor = self.editor.textCursor() cursor.movePosition(cursor.Start) cursor.movePosition(cursor.End, cursor.KeepAnchor) cursor.insertText(pyzo.editors.getCurrentEditor().toPlainText()) self._set_zoom(self.zoom_selected) # Print with line numbers lines = self.editor.toPlainText().splitlines() nzeros = len(str(len(lines))) self._apply_syntax_highlighting() starting_line = 0 self._change_orientation() # Print name or filename in the editor if self.combobox_file_name.currentIndex(): starting_line = 1 if self.combobox_file_name.currentIndex() == 1: lines.insert(0, "# " + self.editor_name + "\n") elif self.combobox_file_name.currentIndex() == 2: lines.insert(0, "# " + self.editor_filename + "\n") # Print line numbers in the editor if self.show_line_number: for i in range(starting_line, len(lines)): lines[i] = ( str(i + 1 - starting_line).rjust(nzeros, "0") + "| " + lines[i] ) cursor = self.editor.textCursor() cursor.movePosition(cursor.Start) cursor.movePosition(cursor.End, cursor.KeepAnchor) cursor.insertText("\n".join(lines)) # Highlight line numbers if self.show_line_number: cursor.movePosition(cursor.Start, cursor.MoveAnchor) # Move the cursor down 2 lines if a title is printed if starting_line != 0: cursor.movePosition(cursor.NextBlock, cursor.MoveAnchor, 2) # Apply background for lines numbers for i in range(len(lines)): fmt = QtGui.QTextCharFormat() fmt.setBackground(QtGui.QColor(240, 240, 240)) cursor.movePosition(cursor.Right, cursor.KeepAnchor, nzeros) cursor.setCharFormat(fmt) cursor.movePosition(cursor.NextBlock, cursor.MoveAnchor) cursor.movePosition(cursor.StartOfBlock, cursor.MoveAnchor) def _update_preview(self): """Update the widget preview""" self._print() self.preview.paintRequested.connect(self.editor.print_) self.preview.updatePreview() self._set_zoom(self.original_zoom) def _export_pdf(self): """Exports the code as pdf, and opens file manager""" if self.editor is not None: if True: filename = QtWidgets.QFileDialog.getSaveFileName( None, "Export PDF", os.path.expanduser("~"), "*.pdf *.ps" ) if isinstance(filename, tuple): # PySide filename = filename[0] if not filename: return self.printer.setOutputFileName(filename) else: d = QtWidgets.QPrintDialog(self.printer) d.setWindowTitle("Print code") d.setOption(d.PrintSelection, self.editor.textCursor().hasSelection()) d.setOption(d.PrintToFile, True) ok = d.exec_() if ok != d.Accepted: return try: self._print() self.editor.print_(self.printer) except Exception as print_error: print(print_error) def _get_show_line_number(self, state): """Change the show_line_number according to the checkbox""" if state == QtCore.Qt.Checked: self.show_line_number = True else: self.show_line_number = False def _set_zoom(self, value): """Apply zoom setting only to the editor used to generate the pdf (and the preview)""" self.editor.setZoom(pyzo.config.view.zoom + value) def _zoom_value_changed(self): """Triggered when the zoom slider is changed""" self.zoom_selected = self.zoom_slider.value() zoom_level = self.zoom_selected - self.zoom_slider.minimum() self.zoom_value_label.setText("Zoom level : {}".format(zoom_level)) def _change_syntax_highlighting_option(self, state): """Used for the syntax highlight checkbox when its state change to change the option value""" if state == QtCore.Qt.Checked: self._enable_syntax_highlighting = True else: self._enable_syntax_highlighting = False def _apply_syntax_highlighting(self): """Apply the syntax setting when _print() is used""" if self._enable_syntax_highlighting: text = pyzo.editors.getCurrentEditor().toPlainText() ext = os.path.splitext(pyzo.editors.getCurrentEditor()._filename)[1] parser = Manager.suggestParser(ext, text) self.editor.setParser(parser) else: self.editor.setParser(None) def _change_orientation(self): """Set document in portrait or landscape orientation""" index = self.combobox_orientation.currentIndex() if hasattr(self.printer, "setPageLayout"): # qt6 base = QtGui.QPageLayout orientation = [base.Portrait, base.Landscape][index] layout = QtGui.QPageLayout() layout.setOrientation(orientation) self.printer.setPageLayout(layout) else: # qt5 base = QtPrintSupport.QPrinter orientation = [base.Portrait, base.Landscape][index] self.printer.setOrientation(orientation) pyzo-4.12.3/pyzo/core/pyzoLogging.py000066400000000000000000000073021421373005400174160ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module logging Functionality for logging in pyzo. """ import os import sys, time import pyzo # todo: enable logging to a file? # Define prompts try: sys.ps1 except AttributeError: sys.ps1 = ">>> " try: sys.ps2 except AttributeError: sys.ps2 = "... " class DummyStd: """For when std is not available.""" def __init__(self): self._closed = False def write(self, text): pass def encoding(self): return "utf-8" @property def closed(self): return self._closed def close(self): self._closed = False def flush(self): pass original_print = print def print(*args, **kwargs): # Obtain time string t = time.localtime() preamble = "{:02g}-{:02g}-{:04g} {:02g}:{:02g}:{:02g}: " preamble = preamble.format( t.tm_mday, t.tm_mon, t.tm_year, t.tm_hour, t.tm_min, t.tm_sec ) # Prepend to args and print args = [preamble] + list(args) original_print(*tuple(args), **kwargs) def splitConsole(stdoutFun=None, stderrFun=None): """splitConsole(stdoutFun=None, stderrFun=None) Splits the stdout and stderr streams. On each call to their write methods, in addition to the original write method being called, will call the given functions. Returns the history of the console (combined stdout and stderr). Used by the logger shell. """ # Split stdout and stderr sys.stdout = OutputStreamSplitter(sys.stdout) sys.stderr = OutputStreamSplitter(sys.stderr) # Make them share their history sys.stderr._history = sys.stdout._history # Set defer functions if stdoutFun: sys.stdout._deferFunction = stdoutFun if stderrFun: sys.stderr._deferFunction = stderrFun # Return history return "".join(sys.stdout._history) class OutputStreamSplitter: """This class is used to replace stdout and stderr output streams. It defers the stream to the original and to a function that can be registered. Used by the logger shell. """ def __init__(self, fileObject): # Init, copy properties if it was already a splitter if isinstance(fileObject, OutputStreamSplitter): self._original = fileObject._original self._history = fileObject._history self._deferFunction = fileObject._deferFunction else: self._original = fileObject self._history = [] self._deferFunction = self.dummyDeferFunction # Replace original with a dummy if None if self._original is None: self._original = DummyStd() def dummyDeferFunction(self, text): pass def write(self, text): """Write method.""" self._original.write(text) self._history.append(text) if os.getenv("PYZO_LOG", ""): with open(os.getenv("PYZO_LOG"), "at") as f: f.write(text) try: self._deferFunction(text) except Exception: pass # self._original.write('error writing to deferred stream') # Show in statusbar if pyzo.config.view.showStatusbar and len(text) > 1: if pyzo.main: pyzo.main.statusBar().showMessage(text, 5000) def flush(self): return self._original.flush() @property def closed(self): return self._original.closed def close(self): return self._original.close() def encoding(self): return self._original.encoding() # Split now, with no defering splitConsole() pyzo-4.12.3/pyzo/core/shell.py000066400000000000000000001560101421373005400162160ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module shell Defines the shell to be used in pyzo. This is done in a few inheritance steps: - BaseShell inherits BaseTextCtrl and adds the typical shell behaviour. - PythonShell makes it specific to Python. This module also implements ways to communicate with the shell and to run code in it. """ import sys, time import re import yoton import pyzo from pyzo.util import zon as ssdf # zon is ssdf-light from pyzo.qt import QtCore, QtGui, QtWidgets Qt = QtCore.Qt from pyzo.codeeditor.highlighter import Highlighter from pyzo.codeeditor import parsers from pyzo.core.baseTextCtrl import BaseTextCtrl from pyzo.core.pyzoLogging import print from pyzo.core.kernelbroker import KernelInfo, Kernelmanager from pyzo.core.menu import ShellContextMenu # Interval for polling messages. Timer for each kernel. I found # that this one does not affect performance much POLL_TIMER_INTERVAL = 100 # 100ms 10Hz # Maximum number of lines in the shell MAXBLOCKCOUNT = pyzo.config.advanced.shellMaxLines # todo: we could make command shells to, with autocompletion and coloring... class YotonEmbedder(QtCore.QObject): """Embed the Yoton event loop.""" def __init__(self): QtCore.QObject.__init__(self) yoton.app.embed_event_loop(self.postYotonEvent) def postYotonEvent(self): try: QtWidgets.qApp.postEvent(self, QtCore.QEvent(QtCore.QEvent.User)) except Exception: pass # If pyzo is shutting down, the app may be None def customEvent(self, event): """This is what gets called by Qt.""" yoton.process_events(False) yotonEmbedder = YotonEmbedder() # Short constants for cursor movement A_KEEP = QtGui.QTextCursor.KeepAnchor A_MOVE = QtGui.QTextCursor.MoveAnchor # Instantiate a local kernel broker upon loading this module pyzo.localKernelManager = Kernelmanager(public=False) def finishKernelInfo(info, scriptFile=None): """finishKernelInfo(info, scriptFile=None) Get a copy of the kernel info struct, with the scriptFile and the projectPath set. """ # Make a copy, we do not want to change the original info = ssdf.copy(info) # Set scriptFile (if '', the kernel will run in interactive mode) if scriptFile: info.scriptFile = scriptFile else: info.scriptFile = "" # If the file browser is active, and has the check box #'add path to Python path' set, set the PROJECTPATH variable fileBrowser = pyzo.toolManager.getTool("pyzofilebrowser") projectManager = pyzo.toolManager.getTool("pyzoprojectmanager") info.projectPath = "" if fileBrowser: info.projectPath = fileBrowser.getAddToPythonPath() if projectManager and not info.projectPath: # Only process project manager tool if file browser did not set a path. info.projectPath = projectManager.getAddToPythonPath() return info class ShellHighlighter(Highlighter): """This highlighter implements highlighting for a shell; only the input lines are highlighted with this highlighter. """ def highlightBlock(self, line): # Make sure this is a Unicode Python string line = str(line) # Get previous state previousState = self.previousBlockState() # Get parser parser = None if hasattr(self._codeEditor, "parser"): parser = self._codeEditor.parser() # Get function to get format nameToFormat = self._codeEditor.getStyleElementFormat # Last line? cursor1 = self._codeEditor._cursor1 cursor2 = self._codeEditor._cursor2 commandCursor = self._codeEditor._lastCommandCursor curBlock = self.currentBlock() # atLastPrompt, atCurrentPrompt = False, False if curBlock.position() == 0: pass elif curBlock.position() == commandCursor.block().position(): atLastPrompt = True elif curBlock.position() >= cursor1.block().position(): atCurrentPrompt = True if not atLastPrompt and not atCurrentPrompt: # Do not highlight anything but current and last prompts return # Get user data bd = self.getCurrentBlockUserData() if parser: if atCurrentPrompt: pos1, pos2 = cursor1.positionInBlock(), cursor2.positionInBlock() else: pos1, pos2 = 0, commandCursor.positionInBlock() # Check if we should *not* format this line. # This is the case for special "executing" text # A bit of a hack though ... is there a better way to signal this? specialinput = (not atCurrentPrompt) and line[pos2:].startswith( "(executing " ) self.setCurrentBlockState(0) if specialinput: pass # Let the kernel decide formatting else: tokens = list(parser.parseLine(line, previousState)) bd.tokens = tokens for token in tokens: # Handle block state if isinstance(token, parsers.BlockState): self.setCurrentBlockState(token.state) else: # Get format try: format = nameToFormat(token.name).textCharFormat except KeyError: # print(repr(nameToFormat(token.name))) continue # Set format # format.setFontWeight(75) if token.start >= pos2: self.setFormat(token.start, token.end - token.start, format) # Set prompt to bold if atCurrentPrompt: format = QtGui.QTextCharFormat() format.setFontWeight(75) self.setFormat(pos1, pos2 - pos1, format) # Get the indentation setting of the editors indentUsingSpaces = self._codeEditor.indentUsingSpaces() leadingWhitespace = line[: len(line) - len(line.lstrip())] if "\t" in leadingWhitespace and " " in leadingWhitespace: # Mixed whitespace bd.indentation = 0 format = QtGui.QTextCharFormat() format.setUnderlineStyle(QtGui.QTextCharFormat.SpellCheckUnderline) format.setUnderlineColor(QtCore.Qt.red) format.setToolTip("Mixed tabs and spaces") self.setFormat(0, len(leadingWhitespace), format) elif ("\t" in leadingWhitespace and indentUsingSpaces) or ( " " in leadingWhitespace and not indentUsingSpaces ): # Whitespace differs from document setting bd.indentation = 0 format = QtGui.QTextCharFormat() format.setUnderlineStyle(QtGui.QTextCharFormat.SpellCheckUnderline) format.setUnderlineColor(QtCore.Qt.blue) format.setToolTip("Whitespace differs from document setting") self.setFormat(0, len(leadingWhitespace), format) else: # Store info for indentation guides # amount of tabs or spaces bd.indentation = len(leadingWhitespace) class BaseShell(BaseTextCtrl): """The BaseShell implements functionality to make a generic shell.""" def __init__(self, parent, **kwds): super().__init__( parent, wrap=True, showLineNumbers=False, showBreakPoints=False, highlightCurrentLine=False, parser="python", **kwds ) # Use a special highlighter that only highlights the input. self._setHighlighter(ShellHighlighter) # No undo in shells self.setUndoRedoEnabled(False) # variables we need self._more = False # We use two cursors to keep track of where the prompt is # cursor1 is in front, and cursor2 is at the end of the prompt. # They can be in the same position. # Further, we store a cursor that selects the last given command, # so it can be styled. self._cursor1 = self.textCursor() self._cursor2 = self.textCursor() self._lastCommandCursor = self.textCursor() self._lastline_had_cr = False self._lastline_had_lf = False # When inserting/removing text at the edit line (thus also while typing) # keep cursor2 at its place. Only when text is written before # the prompt (i.e. in write), this flag is temporarily set to False. # Same for cursor1, because sometimes (when there is no prompt) it # is at the same position. self._cursor1.setKeepPositionOnInsert(True) self._cursor2.setKeepPositionOnInsert(True) # Similarly, we use the _lastCommandCursor cursor really for pointing. self._lastCommandCursor.setKeepPositionOnInsert(True) # Variables to keep track of the command history usage self._historyNeedle = None # None means none, "" means look in all self._historyStep = 0 # Set minimum width so 80 lines do fit in smallest font size self.setMinimumWidth(200) # Hard wrapping. QTextEdit allows hard wrapping at a specific column. # Unfortunately, QPlainTextEdit does not. self.setWordWrapMode(QtGui.QTextOption.WrapAnywhere) # Limit number of lines self.setMaximumBlockCount(MAXBLOCKCOUNT) # Keep track of position, so we can disable editing if the cursor # is before the prompt self.cursorPositionChanged.connect(self.onCursorPositionChanged) self.setFocusPolicy(Qt.TabFocus) # See remark at mousePressEvent ## Cursor stuff def onCursorPositionChanged(self): # If the end of the selection (or just the cursor if there is no selection) # is before the beginning of the line. make the document read-only cursor = self.textCursor() promptpos = self._cursor2.position() if cursor.position() < promptpos or cursor.anchor() < promptpos: self.setReadOnly(True) else: self.setReadOnly(False) def ensureCursorAtEditLine(self): """ If the text cursor is before the beginning of the edit line, move it to the end of the edit line """ cursor = self.textCursor() promptpos = self._cursor2.position() if cursor.position() < promptpos or cursor.anchor() < promptpos: cursor.movePosition(cursor.End, A_MOVE) # Move to end of document self.setTextCursor(cursor) self.onCursorPositionChanged() def mousePressEvent(self, event): """ - Disable right MB and middle MB (which pastes by default). - Focus policy If a user clicks this shell, while it has no focus, we do not want the cursor position to change (since generally the user clicks the shell to give it the focus). We do this by setting the focus-policy to Qt::TabFocus, and we give the widget its focus manually from the mousePressedEvent event handler """ if not self.hasFocus(): self.setFocus() return if event.button() != QtCore.Qt.MidButton: super().mousePressEvent(event) def contextMenuEvent(self, event): """Do not show context menu.""" pass def mouseDoubleClickEvent(self, event): BaseTextCtrl.mouseDoubleClickEvent(self, event) self._handleClickOnFilename(event.pos()) def _handleClickOnFilename(self, mousepos): """Check whether the text that is clicked is a filename and open the file in the editor. If a line number can also be detected, open the file at that line number. """ # Get cursor and its current pos cursor = self.cursorForPosition(mousepos) ocursor = QtGui.QTextCursor(cursor) # Make a copy to use below pos = cursor.positionInBlock() # Get line of text for the cursor cursor.movePosition(cursor.EndOfBlock, cursor.MoveAnchor) cursor.movePosition(cursor.StartOfBlock, cursor.KeepAnchor) line = cursor.selectedText() if len(line) > 1024: return # safety # Get the thing that is clicked, assuming it is delimited with quotes line = line.replace("'", '"') before = line[:pos].split('"')[-1] after = line[pos:].split('"')[0] piece = before + after # Check if it looks like a filename, quit if it does not if len(piece) < 4: return elif not ("/" in piece or "\\" in piece): return # if sys.platform.startswith("win"): if piece[1] != ":": return else: if not piece.startswith("/"): return # filename = piece # Split in parts for getting line number line = line[pos + len(after) :] line = line.replace(",", " ") parts = [p for p in line.split(" ") if p] # Iterate over parts linenr = None for i, part in enumerate(parts): if part in ("line", "linenr", "lineno"): try: linenr = int(parts[i + 1]) except IndexError: pass # no more parts except ValueError: pass # not an integer else: break # Try again IPython style # IPython shows a few lines with the active line indicated by an arrow if linenr is None: for i in range(4): cursor.movePosition(cursor.NextBlock, cursor.MoveAnchor) cursor.movePosition(cursor.EndOfBlock, cursor.KeepAnchor) line = cursor.selectedText() if len(line) > 1024: continue # safety if not line.startswith("-"): continue parts = line.split(" ", 2) if parts[0] in ("->", "-->", "--->", "---->", "----->"): try: linenr = int(parts[1].strip()) except IndexError: pass # too few parts except ValueError: pass # not an integer else: break # Select word here (in shell) cursor = ocursor cursor.movePosition(cursor.Left, cursor.MoveAnchor, len(before)) cursor.movePosition(cursor.Right, cursor.KeepAnchor, len(piece)) self.setTextCursor(cursor) # For syntax errors we have the offset thingy in the file name if ".py+" in filename[-9:]: filename, _, offset = filename.rpartition("+") if linenr is not None: try: linenr += int(offset) except ValueError: pass # Try opening the file (at the line number if we have one) result = pyzo.editors.loadFile(filename) if result and linenr is not None: editor = result._editor editor.gotoLine(linenr) cursor = editor.textCursor() cursor.movePosition(cursor.StartOfBlock) cursor.movePosition(cursor.EndOfBlock, cursor.KeepAnchor) editor.setTextCursor(cursor) ##Indentation: override code editor behaviour def indentSelection(self): pass def dedentSelection(self): pass ## Key handlers def keyPressEvent(self, event): if event.key() in [Qt.Key_Return, Qt.Key_Enter]: # First check if autocompletion triggered if self.potentiallyAutoComplete(event): return else: # Enter: execute line # Remove calltip and autocomp if shown self.autocompleteCancel() self.calltipCancel() # reset history needle self._historyNeedle = None # process self.processLine() return if event.key() == Qt.Key_Escape: # Escape clears command if not (self.autocompleteActive() or self.calltipActive()): self.clearCommand() if event.key() == Qt.Key_Home: # Home goes to the prompt. cursor = self.textCursor() if event.modifiers() & Qt.ShiftModifier: cursor.setPosition(self._cursor2.position(), A_KEEP) else: cursor.setPosition(self._cursor2.position(), A_MOVE) # self.setTextCursor(cursor) self.autocompleteCancel() return if event.key() == Qt.Key_Insert: # Don't toggle between insert mode and overwrite mode. return True # Ensure to not backspace / go left beyond the prompt if event.key() in [Qt.Key_Backspace, Qt.Key_Left]: self._historyNeedle = None if self.textCursor().position() == self._cursor2.position(): if event.key() == Qt.Key_Backspace: self.textCursor().removeSelectedText() return # Ignore the key, don't go beyond the prompt if event.key() in [Qt.Key_Up, Qt.Key_Down] and not self.autocompleteActive(): # needle if self._historyNeedle is None: # get partly-written-command # # Select text cursor = self.textCursor() cursor.setPosition(self._cursor2.position(), A_MOVE) cursor.movePosition(cursor.End, A_KEEP) # Update needle text self._historyNeedle = cursor.selectedText() self._historyStep = 0 # Browse through history if event.key() == Qt.Key_Up: self._historyStep += 1 else: # Key_Down self._historyStep -= 1 if self._historyStep < 1: self._historyStep = 1 # find the command c = pyzo.command_history.find_starting_with( self._historyNeedle, self._historyStep ) if c is None: # found nothing-> reset self._historyStep = 0 c = self._historyNeedle # Replace text cursor = self.textCursor() cursor.setPosition(self._cursor2.position(), A_MOVE) cursor.movePosition(cursor.End, A_KEEP) cursor.insertText(c) self.ensureCursorAtEditLine() return else: # Reset needle self._historyNeedle = None # if a 'normal' key is pressed, ensure the cursor is at the edit line if event.text(): self.ensureCursorAtEditLine() # Default behaviour: BaseTextCtrl BaseTextCtrl.keyPressEvent(self, event) ## Cut / Copy / Paste / Drag & Drop def cut(self): """Reimplement cut to only copy if part of the selected text is not at the prompt.""" if self.isReadOnly(): return self.copy() else: return BaseTextCtrl.cut(self) # def copy(self): # no overload needed def paste(self): """Reimplement paste to paste at the end of the edit line when the position is at the prompt.""" self.ensureCursorAtEditLine() # Paste normally return BaseTextCtrl.paste(self) def dragEnterEvent(self, event): """ We only support copying of the text """ if event.mimeData().hasText(): event.setDropAction(QtCore.Qt.CopyAction) event.accept() def dragMoveEvent(self, event): self.dragEnterEvent(event) def dropEvent(self, event): """ The shell supports only a single line but the text may contain multiple lines. We insert at the editLine only the first non-empty line of the text """ if event.mimeData().hasText(): text = event.mimeData().text() insertText = "" for line in text.splitlines(): if line.strip(): insertText = line break # Move the cursor to the position indicated by the drop location, but # ensure it is at the edit line self.setTextCursor(self.cursorForPosition(event.pos())) self.ensureCursorAtEditLine() # Now insert the text cursor = self.textCursor() cursor.insertText(insertText) self.setFocus() ## Basic commands to control the shell def clearScreen(self): """Clear all the previous output from the screen.""" # Select from beginning of prompt to start of document self._cursor1.clearSelection() self._cursor1.movePosition(self._cursor1.Start, A_KEEP) # Keep anchor self._cursor1.removeSelectedText() # Wrap up self.ensureCursorAtEditLine() self.ensureCursorVisible() def deleteLines(self): """Called from the menu option "delete lines", just execute self.clearCommand()""" self.clearCommand() def clearCommand(self): """Clear the current command, move the cursor right behind the prompt, and ensure it's visible. """ # Select from prompt end to length and delete selected text. cursor = self.textCursor() cursor.setPosition(self._cursor2.position(), A_MOVE) cursor.movePosition(cursor.End, A_KEEP) cursor.removeSelectedText() # Wrap up self.ensureCursorAtEditLine() self.ensureCursorVisible() def _handleBackspaces_split(self, text): # while NOT a backspace at first position, or none found i = 9999999999999 while i > 0: i = text.rfind("\b", 0, i) if i > 0 and text[i - 1] != "\b": text = text[0 : i - 1] + text[i + 1 :] # Strip the backspaces at the start text2 = text.lstrip("\b") n = len(text) - len(text2) # Done return n, text2 def _handleBackspacesOnList(self, texts): """_handleBackspacesOnList(texts) Handle backspaces on a list of messages. When printing progress, many messages will simply replace each-other, which means we can process them much more effectively than when they're combined in a list. """ # Init number of backspaces at the start N = 0 for i in range(len(texts)): # Remove backspaces in text and how many are left n, text = self._handleBackspaces_split(texts[i]) texts[i] = text # Use remaining backspaces to remove backspaces in earlier texts while n and i > 0: i -= 1 text = texts[i] if len(text) > n: texts[i] = text[:-n] n = 0 else: texts[i] = "" n -= len(text) N += n # Insert tabs for start if N: texts[0] = "\b" * N + texts[0] # Return with empy elements popped return [t for t in texts if t] def _handleBackspaces(self, text): """Apply backspaces in the string itself and if there are backspaces left at the start of the text, remove the appropriate amount of characters from the text. Returns the new text. """ # take care of backspaces if "\b" in text: # Remove backspaces and get how many were at the beginning nb, text = self._handleBackspaces_split(text) if nb: # Select what we remove and delete that self._cursor1.clearSelection() self._cursor1.movePosition(self._cursor1.Left, A_KEEP, nb) self._cursor1.removeSelectedText() # Return result return text def _handleCarriageReturnOnList(self, texts): """Discard messages that end with CR and that are not followed with LF. Also discard messages followed by a line that starts with CR. Assumes that each message is one line. """ if len(texts) < 3: # Don't touch texts that might be a single line, # e.g. texts = ['msg', '\r'] return texts for i in range(len(texts) - 1): if ( texts[i].endswith("\r") and not texts[i + 1].startswith("\n") and not (i > 0 and texts[i - 1].endswith("\n")) ) or ( texts[i + 1].startswith("\r") and not texts[i + 1][1:].startswith("\n") and not texts[i].endswith("\n") ): texts[i] = "" texts = [t for t in texts if t] if len(texts) == 1 and texts[0] == "\r": # Never return an isolated carriage return texts = [] return texts def _handleCarriageReturn(self, text): """Removes the last line if it ended with CR, or if the current new message starts with CR. Returns the text. """ if "logger" in self.__class__.__name__.lower(): return text # Remove last line if it ended with CR cursor = self._cursor1 if (self._lastline_had_cr and not text.startswith("\n")) or ( text.startswith("\r") and not text[1:].startswith("\n") and not self._lastline_had_lf ): cursor.movePosition(cursor.StartOfLine, cursor.KeepAnchor, 1) cursor.removeSelectedText() # Is this new line ending in CR? self._lastline_had_cr = text.endswith("\r") # Is this new line ending in LF? self._lastline_had_lf = text.endswith("\n") text = text.replace("\r", "") return text def _splitLinesForPrinting(self, text): """Given a text, split the text in lines. Lines that are extremely long are split in pieces of 80 characters to increase performance for wrapping. This is kind of a failsafe for when the user accidentally prints a bitmap or huge list. See issue 98. """ for line in text.splitlines(True): if len(line) > 1024: # about 12 lines of 80 chars parts = [line[i : i + 80] for i in range(0, len(line), 80)] yield "\n".join(parts) else: yield line def write(self, text, prompt=0, color=None): """write(text, prompt=0, color=None) Write to the shell. Fauto-ind If prompt is 0 (default) the text is printed before the prompt. If prompt is 1, the text is printed after the prompt, the new prompt becomes null. If prompt is 2, the given text becomes the new prompt. The color of the text can also be specified (as a hex-string). """ # From The Qt docs: Note that a cursor always moves when text is # inserted before the current position of the cursor, and it always # keeps its position when text is inserted after the current position # of the cursor. # Make sure there's text and make sure its a string if not text: return if isinstance(text, bytes): text = text.decode("utf-8") # Prepare format format = QtGui.QTextCharFormat() if color: format.setForeground(QtGui.QColor(color)) # pos1, pos2 = self._cursor1.position(), self._cursor2.position() # Just in case, clear any selection of the cursors self._cursor1.clearSelection() self._cursor2.clearSelection() if prompt == 0: # Insert text behind prompt (normal streams) self._cursor1.setKeepPositionOnInsert(False) self._cursor2.setKeepPositionOnInsert(False) text = self._handleCarriageReturn(text) text = self._handleBackspaces(text) self._insertText(self._cursor1, text, format) elif prompt == 1: # Insert command text after prompt, prompt becomes null (input) self._lastCommandCursor.setPosition(self._cursor2.position()) self._cursor1.setKeepPositionOnInsert(False) self._cursor2.setKeepPositionOnInsert(False) self._insertText(self._cursor2, text, format) self._cursor1.setPosition(self._cursor2.position(), A_MOVE) elif prompt == 2 and text == "\b": # Remove prompt (used when closing the kernel) self._cursor1.setPosition(self._cursor2.position(), A_KEEP) self._cursor1.removeSelectedText() self._cursor2.setPosition(self._cursor1.position(), A_MOVE) elif prompt == 2: # Insert text after prompt, inserted text becomes new prompt self._cursor1.setPosition(self._cursor2.position(), A_MOVE) self._cursor1.setKeepPositionOnInsert(True) self._cursor2.setKeepPositionOnInsert(False) self._insertText(self._cursor1, text, format) # Reset cursor states for the user to type his/her commands self._cursor1.setKeepPositionOnInsert(True) self._cursor2.setKeepPositionOnInsert(True) # Make sure that cursor is visible (only when cursor is at edit line) if not self.isReadOnly(): self.ensureCursorVisible() # Scroll along with the text if lines are popped from the top elif self.blockCount() == MAXBLOCKCOUNT: n = text.count("\n") sb = self.verticalScrollBar() sb.setValue(sb.value() - n) def _insertText(self, cursor, text, format): """Insert text at the given cursor, and with the given format. This function processes ANSI escape code for formatting and colorization: http://en.wikipedia.org/wiki/ANSI_escape_code """ # If necessary, make a new cursor that moves along. We insert # the text in pieces, so we need to move along with the text! if cursor.keepPositionOnInsert(): cursor = QtGui.QTextCursor(cursor) cursor.setKeepPositionOnInsert(False) # Init. We use the solarised color theme pattern = r"\x1b\[(.*?)m" # CLRS = ['#000', '#F00', '#0F0', '#FF0', '#00F', '#F0F', '#0FF', '#FFF'] CLRS = [ "#657b83", "#dc322f", "#859900", "#b58900", "#268bd2", "#d33682", "#2aa198", "#eee8d5", ] i0 = 0 for match in re.finditer(pattern, text): # Insert pending text with the current format # Also update indices i1, i2 = match.span() cursor.insertText(text[i0:i1], format) i0 = i2 # The formay that we are now going to parse should apply to # the text that follow it ... # Get parameters try: params = [int(i) for i in match.group(1).split(";")] except ValueError: params = [] if not params: params = [0] # Process for param in params: if param == 0: format = QtGui.QTextCharFormat() elif param == 1: format.setFontWeight(75) # Bold elif param == 2: format.setFontWeight(25) # Faint elif param == 3: format.setFontItalic(True) # Italic elif param == 4: format.setFontUnderline(True) # Underline # elif param == 22: format.setFontWeight(50) # Not bold or faint elif param == 23: format.setFontItalic(False) # Not italic elif param == 24: format.setFontUnderline(False) # Not underline # elif 30 <= param <= 37: # Set foreground color clr = CLRS[param - 30] format.setForeground(QtGui.QColor(clr)) elif 40 <= param <= 47: pass # Cannot set background text in QPlainTextEdit # else: pass # Not supported else: # At the end, process the remaining text text = text[i0:] # Process very long text more efficiently. # Insert per line (very long lines are split in smaller ones) if len(text) > 1024: for line in self._splitLinesForPrinting(text): cursor.insertText(line, format) else: cursor.insertText(text, format) ## Executing stuff def processLine(self, line=None, execute=True): """processLine(self, line=None, execute=True) Process the given line or the current line at the prompt if not given. Called when the user presses enter. If execute is False will not execute the command. This way a message can be written while other ways are used to process the command. """ # Can we do this? if self.isReadOnly() and not line: return if line: # remove trailing newline(s) command = line.rstrip("\n") else: # Select command cursor = self.textCursor() cursor.setPosition(self._cursor2.position(), A_MOVE) cursor.movePosition(cursor.End, A_KEEP) # Sample the text from the prompt and remove it command = cursor.selectedText().replace("\u2029", "\n").rstrip("\n") cursor.removeSelectedText() # Auto-indent. Note: this is rather Python-specific command_s = command.lstrip() indent = " " * (len(command) - len(command_s)) if command.strip().endswith(":"): indent += " " elif not command_s: indent = "" if indent: cursor.insertText(indent) if command: # Remember the command in this global history pyzo.command_history.append(command) if execute: command = command.replace("\r\n", "\n") self.executeCommand(command + "\n") def executeCommand(self, command): """Execute the given command. Should be overridden. """ # this is a stupid simulation version self.write("you executed: " + command + "\n") self.write(">>> ", prompt=2) class PythonShell(BaseShell): """The PythonShell class implements the python part of the shell by connecting to a remote process that runs a Python interpreter. """ # Emits when the status string has changed or when receiving a new prompt stateChanged = QtCore.Signal(BaseShell) # Emits when the debug status is changed debugStateChanged = QtCore.Signal(BaseShell) def __init__(self, parent, info): BaseShell.__init__(self, parent) # Get standard info if not given. if info is None and pyzo.config.shellConfigs2: info = pyzo.config.shellConfigs2[0] if not info: info = KernelInfo(None) # Store info so we can reuse it on a restart self._info = info # For the editor to keep track of attempted imports self._importAttempts = [] # To keep track of the response for introspection self._currentCTO = None self._currentACO = None # Write buffer to store messages in for writing self._write_buffer = None # Create timer to keep polling any results # todo: Maybe use yoton events to process messages as they arrive. # I tried this briefly, but it seemd to be less efficient because # messages are not so much bach-processed anymore. We should decide # on either method. self._timer = QtCore.QTimer(self) self._timer.setInterval(POLL_TIMER_INTERVAL) # ms self._timer.setSingleShot(False) self._timer.timeout.connect(self.poll) self._timer.start() # Add context menu self._menu = ShellContextMenu(shell=self, parent=self) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect( lambda p: self._menu.popup(self.mapToGlobal(p + QtCore.QPoint(0, 3))) ) # Keep track of breakpoints pyzo.editors.breakPointsChanged.connect(self.sendBreakPoints) # Start! self.resetVariables() self.connectToKernel(info) def resetVariables(self): """Resets some variables.""" # Reset read state self.setReadOnly(False) # Variables to store state, python version, builtins and keywords self._state = "" self._debugState = {} self._version = "" self._builtins = [] self._keywords = [] self._startup_info = {} self._start_time = 0 # (re)set import attempts self._importAttempts[:] = [] # Update self.stateChanged.emit(self) def connectToKernel(self, info): """connectToKernel() Create kernel and connect to it. """ # Create yoton context self._context = ct = yoton.Context() # Create stream channels self._strm_out = yoton.SubChannel(ct, "strm-out") self._strm_err = yoton.SubChannel(ct, "strm-err") self._strm_raw = yoton.SubChannel(ct, "strm-raw") self._strm_echo = yoton.SubChannel(ct, "strm-echo") self._strm_prompt = yoton.SubChannel(ct, "strm-prompt") self._strm_broker = yoton.SubChannel(ct, "strm-broker") self._strm_action = yoton.SubChannel(ct, "strm-action", yoton.OBJECT) # Set channels to sync mode. This means that if the pyzo cannot process # the messages fast enough, the sending side is blocked for a short # while. We don't want our users to miss any messages. for c in [self._strm_out, self._strm_err]: c.set_sync_mode(True) # Create control channels self._ctrl_command = yoton.PubChannel(ct, "ctrl-command") self._ctrl_code = yoton.PubChannel(ct, "ctrl-code", yoton.OBJECT) self._ctrl_broker = yoton.PubChannel(ct, "ctrl-broker") # Create status channels self._stat_interpreter = yoton.StateChannel(ct, "stat-interpreter") self._stat_cd = yoton.StateChannel(ct, "stat-cd") self._stat_debug = yoton.StateChannel(ct, "stat-debug", yoton.OBJECT) self._stat_startup = yoton.StateChannel(ct, "stat-startup", yoton.OBJECT) self._stat_breakpoints = yoton.StateChannel( ct, "stat-breakpoints", yoton.OBJECT ) self._stat_startup.received.bind(self._onReceivedStartupInfo) # Create introspection request channel self._request = yoton.ReqChannel(ct, "reqp-introspect") # Connect! The broker will only start the kernel AFTER # we connect, so we do not miss out on anything. slot = pyzo.localKernelManager.createKernel(finishKernelInfo(info)) self._brokerConnection = ct.connect("localhost:%i" % slot) self._brokerConnection.closed.bind(self._onConnectionClose) # Force updating of breakpoints pyzo.editors.updateBreakPoints() # todo: see polling vs events # # Detect incoming messages # for c in [self._strm_out, self._strm_err, self._strm_raw, # self._strm_echo, self._strm_prompt, self._strm_broker, # self._strm_action, # self._stat_interpreter, self._stat_debug]: # c.received.bind(self.poll) def get_kernel_cd(self): """Get current working dir of kernel.""" return self._stat_cd.recv() def _onReceivedStartupInfo(self, channel): startup_info = channel.recv() # Store the whole dict self._startup_info = startup_info # Store when we received this self._start_time = time.time() # Set version version = startup_info.get("version", None) if isinstance(version, tuple): if version < (3,): self.setParser("python2") else: self.setParser("python3") version = [str(v) for v in version] self._version = ".".join(version[:2]) # Set keywords L = startup_info.get("keywords", None) if isinstance(L, list): self._keywords = L # Set builtins L = startup_info.get("builtins", None) if isinstance(L, list): self._builtins = L # Notify self.stateChanged.emit(self) ## Introspection processing methods def processCallTip(self, cto): """Processes a calltip request using a CallTipObject instance.""" # Try using buffer first (not if we're not the requester) if self is cto.textCtrl: if cto.tryUsingBuffer(): return # Clear buffer to prevent doing a second request # and store cto to see whether the response is still wanted. cto.setBuffer("") self._currentCTO = cto # Post request future = self._request.signature(cto.name) future.add_done_callback(self._processCallTip_response) future.cto = cto def _processCallTip_response(self, future): """Process response of shell to show signature.""" # Process future if future.cancelled(): # print('Introspect cancelled') # No kernel return elif future.exception(): print("Introspect-exception: ", future.exception()) return else: response = future.result() cto = future.cto # First see if this is still the right editor (can also be a shell) editor1 = pyzo.editors.getCurrentEditor() editor2 = pyzo.shells.getCurrentShell() if cto.textCtrl not in [editor1, editor2]: # The editor or shell starting the autocomp is no longer active cto.textCtrl.autocompleteCancel() return # Invalid response if response is None: cto.textCtrl.autocompleteCancel() return # If still required, show tip, otherwise only store result if cto is self._currentCTO: cto.finish(response) else: cto.setBuffer(response) def processAutoComp(self, aco): """Processes an autocomp request using an AutoCompObject instance.""" # Try using buffer first (not if we're not the requester) if self is aco.textCtrl: if aco.tryUsingBuffer(): return # Include builtins and keywords? if not aco.name: aco.addNames(self._builtins) if pyzo.config.settings.autoComplete_keywords: aco.addNames(self._keywords) # Set buffer to prevent doing a second request # and store aco to see whether the response is still wanted. aco.setBuffer() self._currentACO = aco # Post request future = self._request.dir(aco.name) future.add_done_callback(self._processAutoComp_response) future.aco = aco def _processAutoComp_response(self, future): """Process the response of the shell for the auto completion.""" # Process future if future.cancelled(): # print('Introspect cancelled') # No living kernel return elif future.exception(): print("Introspect-exception: ", future.exception()) return else: response = future.result() aco = future.aco # First see if this is still the right editor (can also be a shell) editor1 = pyzo.editors.getCurrentEditor() editor2 = pyzo.shells.getCurrentShell() if aco.textCtrl not in [editor1, editor2]: # The editor or shell starting the autocomp is no longer active aco.textCtrl.autocompleteCancel() return # Add result to the list foundNames = [] if response is not None: foundNames = response aco.addNames(foundNames) # Process list if aco.name and not foundNames: # No names found for the requested name. This means # it does not exist, let's try to import it importNames, importLines = pyzo.parser.getFictiveImports(editor1) baseName = aco.nameInImportNames(importNames) if baseName: line = importLines[baseName].strip() if line not in self._importAttempts: # Do import self.processLine(line + " # auto-import") self._importAttempts.append(line) # Wait a barely noticable time to increase the chances # That the import is complete when we repost the request. time.sleep(0.2) # To be sure, decrease the experiration date on the buffer aco.setBuffer(timeout=1) # Repost request future = self._request.signature(aco.name) future.add_done_callback(self._processAutoComp_response) future.aco = aco else: # If still required, show list, otherwise only store result if self._currentACO is aco: aco.finish() else: aco.setBuffer() ## Methods for executing code def executeCommand(self, text): """executeCommand(text) Execute one-line command in the remote Python session. """ # Ensure edit line is selected (to reset scrolling to end) self.ensureCursorAtEditLine() self._ctrl_command.send(text) def executeCode(self, text, fname, lineno=None, cellName=None, changeDir=False): """executeCode(text, fname, lineno, cellName=None) Execute (run) a large piece of code in the remote shell. text: the source code to execute filename: the file from which the source comes lineno: the first lineno of the text in the file, where 0 would be the first line of the file... The text (source code) is first pre-processed: - convert all line-endings to \n - remove all empty lines at the end - remove commented lines at the end - convert tabs to spaces - dedent so minimal indentation is zero """ # Convert tabs to spaces text = text.replace("\t", " " * 4) # Make sure there is always *some* text if not text: text = " " if lineno is None: lineno = 0 cellName = fname # run all # Examine the text line by line... # - check for empty/commented lined at the end # - calculate minimal indentation lines = text.splitlines() lastLineOfCode = 0 minIndent = 99 for linenr in range(len(lines)): # Get line line = lines[linenr] # Check if empty (can be commented, but nothing more) tmp = line.split("#", 1)[0] # get part before first # if tmp.count(" ") == len(tmp): continue # empty line, proceed else: lastLineOfCode = linenr # Calculate indentation tmp = line.lstrip(" ") indent = len(line) - len(tmp) if indent < minIndent: minIndent = indent # Copy all proper lines to a new list, # remove minimal indentation, but only if we then would only remove # spaces (in the case of commented lines) lines2 = [] for linenr in range(lastLineOfCode + 1): line = lines[linenr] # Remove indentation, if line[:minIndent].count(" ") == minIndent: line = line[minIndent:] else: line = line.lstrip(" ") lines2.append(line) # Ensure edit line is selected (to reset scrolling to end) self.ensureCursorAtEditLine() # Send message text = "\n".join(lines2) msg = { "source": text, "fname": fname, "lineno": lineno, "cellName": cellName, "changeDir": int(changeDir), } self._ctrl_code.send(msg) def sendBreakPoints(self, breaks): """Send all breakpoints.""" # breaks is a dict of filenames to integers self._stat_breakpoints.send(breaks) ## The polling methods and terminating methods def poll(self, channel=None): """poll() To keep the shell up-to-date. Call this periodically. """ if self._write_buffer: # There is still data in the buffer sub, M = self._write_buffer else: # Check what subchannel has the latest message pending sub = yoton.select_sub_channel( self._strm_out, self._strm_err, self._strm_echo, self._strm_raw, self._strm_broker, self._strm_prompt, ) # Read messages from it if sub: M = sub.recv_selected() # M = [sub.recv()] # Slow version (for testing) # Optimization: handle backspaces on stack of messages if sub is self._strm_out: M = self._handleCarriageReturnOnList(M) M = self._handleBackspacesOnList(M) # New prompt? if sub is self._strm_prompt: self.stateChanged.emit(self) # Write all pending messages that are later than any other message if sub: # Select messages to process N = 256 M, buffer = M[:N], M[N:] # Buffer the rest if buffer: self._write_buffer = sub, buffer else: self._write_buffer = None # Get how to deal with prompt prompt = 0 if sub is self._strm_echo: prompt = 1 elif sub is self._strm_prompt: prompt = 2 # Get color color = None if sub is self._strm_broker: color = "#000" elif sub is self._strm_raw: color = "#888888" # Halfway elif sub is self._strm_err: color = "#F00" # Write self.write("".join(M), prompt, color) # Do any actions? action = self._strm_action.recv(False) if action: if action == "cls": self.clearScreen() elif action.startswith("open "): parts = action.split(" ") parts.pop(0) try: linenr = int(parts[0]) parts.pop(0) except ValueError: linenr = None fname = " ".join(parts) editor = pyzo.editors.loadFile(fname) if editor and linenr: editor._editor.gotoLine(linenr) else: print("Unkown action: %s" % action) # ----- status # Do not update status when the kernel is not really up and running # self._version is set when the startup info is received if not self._version: return # Update status state = self._stat_interpreter.recv() if state != self._state: self._state = state self.stateChanged.emit(self) # Update debug status state = self._stat_debug.recv() if state != self._debugState: self._debugState = state self.debugStateChanged.emit(self) def interrupt(self): """interrupt() Send a Keyboard interrupt signal to the main thread of the remote process. """ # Ensure edit line is selected (to reset scrolling to end) self.ensureCursorAtEditLine() self._ctrl_broker.send("INT") def restart(self, scriptFile=None): """restart(scriptFile=None) Terminate the shell, after which it is restarted. Args can be a filename, to execute as a script as soon as the shell is back up. """ # Ensure edit line is selected (to reset scrolling to end) self.ensureCursorAtEditLine() # Get info info = finishKernelInfo(self._info, scriptFile) # Create message and send msg = "RESTART\n" + ssdf.saves(info) self._ctrl_broker.send(msg) # Reset self.resetVariables() def terminate(self): """terminate() Terminates the python process. It will first try gently, but if that does not work, the process shall be killed. To be notified of the termination, connect to the "terminated" signal of the shell. """ # Ensure edit line is selected (to reset scrolling to end) self.ensureCursorAtEditLine() self._ctrl_broker.send("TERM") def closeShell(self): # do not call it close(); that is a reserved method. """closeShell() Very simple. This closes the shell. If possible, we will first tell the broker to terminate the kernel. The broker will be cleaned up if there are no clients connected and if there is no active kernel. In a multi-user environment, we should thus be able to close the shell without killing the kernel. But in a closed 1-to-1 environment we really want to prevent loose brokers and kernels dangling around. In both cases however, it is the responsibility of the broker to terminate the kernel, and the shell will simply assume that this will work :) """ # If we can, try to tell the broker to terminate the kernel if self._context and self._context.connection_count: self.terminate() self._context.flush() # Important, make sure the message is send! self._context.close() # Adios pyzo.shells.removeShell(self) def _onConnectionClose(self, c, why): """To be called after disconnecting. In general, the broker will not close the connection, so it can be considered an error-state if this function is called. """ # Stop context if self._context: self._context.close() # New (empty prompt) self._cursor1.movePosition(self._cursor1.End, A_MOVE) self._cursor2.movePosition(self._cursor2.End, A_MOVE) self.write("\n\n") self.write("Lost connection with broker:\n") self.write(why) self.write("\n\n") # Set style to indicate dead-ness self.setReadOnly(True) # Goto end such that the closing message is visible cursor = self.textCursor() cursor.movePosition(cursor.End, A_MOVE) self.setTextCursor(cursor) self.ensureCursorVisible() if __name__ == "__main__": b = BaseShell(None) b.show() pyzo-4.12.3/pyzo/core/shellInfoDialog.py000066400000000000000000000515351421373005400201600ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module shellInfoDialog Implements shell configuration dialog. """ import os, sys from pyzo.qt import QtCore, QtGui, QtWidgets # noqa import pyzo from pyzo.core.pyzoLogging import print from pyzo.core.kernelbroker import KernelInfo from pyzo import translate ## Implement widgets that have a common interface class ShellInfoLineEdit(QtWidgets.QLineEdit): def setTheText(self, value): self.setText(value) def getTheText(self): return self.text() class ShellInfo_name(ShellInfoLineEdit): def __init__(self, *args, **kwargs): ShellInfoLineEdit.__init__(self, *args, **kwargs) self.editingFinished.connect(self.onValueChanged) t = translate("shell", "name ::: The name of this configuration.") self.setPlaceholderText(t.tt) def setTheText(self, value): ShellInfoLineEdit.setTheText(self, value) self.onValueChanged() def onValueChanged(self): self.parent().parent().parent().setTabTitle(self.getTheText()) class ShellInfo_exe(QtWidgets.QComboBox): def __init__(self, *args): QtWidgets.QComboBox.__init__(self, *args) def _interpreterName(self, p): if p.is_conda: return "%s [v%s, conda]" % (p.path, p.version) else: return "%s [v%s]" % (p.path, p.version) def setTheText(self, value): # Init self.clear() self.setEditable(True) self.setInsertPolicy(self.InsertAtTop) # Get known interpreters from shellDialog (which are sorted by version) shellDialog = self while not isinstance(shellDialog, ShellInfoDialog): shellDialog = shellDialog.parent() interpreters = shellDialog.interpreters exes = [p.path for p in interpreters] # Hande current value if value in exes: value = self._interpreterName(interpreters[exes.index(value)]) else: self.addItem(value) # Add all found interpreters for p in interpreters: self.addItem(self._interpreterName(p)) # Set current text self.setEditText(value) def getTheText(self): # return self.currentText().split('(')[0].rstrip() value = self.currentText() if value.endswith("]") and "[" in value: value = value.rsplit("[", 1)[0] return value.strip() class ShellInfo_ipython(QtWidgets.QCheckBox): def __init__(self, parent): QtWidgets.QCheckBox.__init__(self, parent) t = translate("shell", "ipython ::: Use IPython shell if available.") self.setText(t.tt) self.setChecked(False) def setTheText(self, value): if value.lower() in [ "", "no", "false", ]: # Also for empty string; default is False self.setChecked(False) else: self.setChecked(True) def getTheText(self): if self.isChecked(): return "yes" else: return "no" class ShellInfo_gui(QtWidgets.QComboBox): # For (backward) compatibility COMPAT = {"QT4": "PYQT4"} # GUI names GUIS = [ ("None", "no GUI support"), ("Auto", "Use what is available (recommended)"), ("Asyncio", "Python's builtin event loop"), ("PySide6", "LGPL licensed wrapper to Qt6"), ("PySide2", "LGPL licensed wrapper to Qt5"), ("PySide", "LGPL licensed wrapper to Qt4"), ("PyQt6", "GPL/commercial licensed wrapper to Qt5"), ("PyQt5", "GPL/commercial licensed wrapper to Qt5"), ("PyQt4", "GPL/commercial licensed wrapper to Qt4"), ("Tornado", "Tornado asynchronous networking library"), ("Tk", "Tk widget toolkit"), ("WX", "wxPython"), ("FLTK", "The fast light toolkit"), ("GTK", "GIMP Toolkit"), ] # GUI descriptions def setTheText(self, value): # Process value value = value.upper() value = self.COMPAT.get(value, value) # Set options ii = 0 self.clear() for i in range(len(self.GUIS)): gui, des = self.GUIS[i] if value == gui.upper(): ii = i self.addItem("%s - %s" % (gui, des)) # Set current text self.setCurrentIndex(ii) def getTheText(self): text = self.currentText().lower() return text.partition("-")[0].strip() class ShellinfoWithSystemDefault(QtWidgets.QVBoxLayout): DISABLE_SYSTEM_DEFAULT = sys.platform == "darwin" SYSTEM_VALUE = "" def __init__(self, parent, widget): # Do not pass parent, because is a sublayout QtWidgets.QVBoxLayout.__init__(self) # Layout self.setSpacing(1) self.addWidget(widget) # Create checkbox widget if not self.DISABLE_SYSTEM_DEFAULT: t = translate("shell", "Use system default") self._check = QtWidgets.QCheckBox(t, parent) self._check.stateChanged.connect(self.onCheckChanged) self.addWidget(self._check) # The actual value of this shell config attribute self._value = "" # A buffered version, so that clicking the text box does not # remove the value at once self._bufferedValue = "" def onEditChanged(self): if self.DISABLE_SYSTEM_DEFAULT or not self._check.isChecked(): self._value = self.getWidgetText() def onCheckChanged(self, state): if state: self._bufferedValue = self._value self.setTheText(self.SYSTEM_VALUE) else: self.setTheText(self._bufferedValue) def setTheText(self, value): if self.DISABLE_SYSTEM_DEFAULT: # Just set the value self._edit.setReadOnly(False) self.setWidgetText(value) elif value != self.SYSTEM_VALUE: # Value given, enable edit self._check.setChecked(False) self._edit.setReadOnly(False) # Set the text self.setWidgetText(value) else: # Use system default, disable edit widget self._check.setChecked(True) self._edit.setReadOnly(True) # Set text using system environment self.setWidgetText(None) # Store value self._value = value def getTheText(self): return self._value class ShellInfo_pythonPath(ShellinfoWithSystemDefault): SYSTEM_VALUE = "$PYTHONPATH" def __init__(self, parent): # Create sub-widget self._edit = QtWidgets.QTextEdit(parent) self._edit.zoomOut(1) self._edit.setMaximumHeight(80) self._edit.setMinimumWidth(200) self._edit.textChanged.connect(self.onEditChanged) # Instantiate ShellinfoWithSystemDefault.__init__(self, parent, self._edit) def getWidgetText(self): return self._edit.toPlainText() def setWidgetText(self, value=None): if value is None: pp = os.environ.get("PYTHONPATH", "") pp = pp.replace(os.pathsep, "\n").strip() value = "$PYTHONPATH:\n%s\n" % pp self._edit.setText(value) # class ShellInfo_startupScript(ShellinfoWithSystemDefault): # # SYSTEM_VALUE = '$PYTHONSTARTUP' # # def __init__(self, parent): # # # Create sub-widget # self._edit = QtWidgets.QLineEdit(parent) # self._edit.textEdited.connect(self.onEditChanged) # # # Instantiate # ShellinfoWithSystemDefault.__init__(self, parent, self._edit) # # # def getWidgetText(self): # return self._edit.text() # # # def setWidgetText(self, value=None): # if value is None: # pp = os.environ.get('PYTHONSTARTUP','').strip() # if pp: # value = '$PYTHONSTARTUP: "%s"' % pp # else: # value = '$PYTHONSTARTUP: None' # # self._edit.setText(value) class ShellInfo_startupScript(QtWidgets.QVBoxLayout): DISABLE_SYSTEM_DEFAULT = sys.platform == "darwin" SYSTEM_VALUE = "$PYTHONSTARTUP" RUN_AFTER_GUI_TEXT = "# AFTER_GUI - code below runs after integrating the GUI\n" def __init__(self, parent): # Do not pass parent, because is a sublayout QtWidgets.QVBoxLayout.__init__(self) # Create sub-widget self._edit1 = QtWidgets.QLineEdit(parent) self._edit1.textEdited.connect(self.onEditChanged) if sys.platform.startswith("win"): self._edit1.setPlaceholderText("C:\\path\\to\\script.py") else: self._edit1.setPlaceholderText("/path/to/script.py") # self._edit2 = QtWidgets.QTextEdit(parent) self._edit2.zoomOut(1) self._edit2.setMaximumHeight(80) self._edit2.setMinimumWidth(200) self._edit2.textChanged.connect(self.onEditChanged) # Layout self.setSpacing(1) self.addWidget(self._edit1) self.addWidget(self._edit2) # Create radio widget for system default t = translate("shell", "Use system default") self._radio_system = QtWidgets.QRadioButton(t, parent) self._radio_system.toggled.connect(self.onCheckChanged) self.addWidget(self._radio_system) if self.DISABLE_SYSTEM_DEFAULT: self._radio_system.hide() # Create radio widget for file t = translate("shell", "File to run at startup") self._radio_file = QtWidgets.QRadioButton(t, parent) self._radio_file.toggled.connect(self.onCheckChanged) self.addWidget(self._radio_file) # Create radio widget for code t = translate("shell", "Code to run at startup") self._radio_code = QtWidgets.QRadioButton(t, parent) self._radio_code.toggled.connect(self.onCheckChanged) self.addWidget(self._radio_code) # The actual value of this shell config attribute self._value = "" # A buffered version, so that clicking the text box does not # remove the value at once self._valueFile = "" self._valueCode = "\n" def onEditChanged(self): if self._radio_file.isChecked(): self._value = self._valueFile = self._edit1.text().strip() elif self._radio_code.isChecked(): # ensure newline! self._value = self._valueCode = self._edit2.toPlainText().strip() + "\n" def onCheckChanged(self, state): if self._radio_system.isChecked(): self.setWidgetText(self.SYSTEM_VALUE) elif self._radio_file.isChecked(): self.setWidgetText(self._valueFile) elif self._radio_code.isChecked(): self.setWidgetText(self._valueCode) def setTheText(self, value): self.setWidgetText(value, True) self._value = value def setWidgetText(self, value, init=False): self._value = value if value == self.SYSTEM_VALUE and not self.DISABLE_SYSTEM_DEFAULT: # System default if init: self._radio_system.setChecked(True) pp = os.environ.get("PYTHONSTARTUP", "").strip() if pp: value = '$PYTHONSTARTUP: "%s"' % pp else: value = "$PYTHONSTARTUP: None" # self._edit1.setReadOnly(True) self._edit1.show() self._edit2.hide() self._edit1.setText(value) elif "\n" not in value: # File if init: self._radio_file.setChecked(True) self._edit1.setReadOnly(False) self._edit1.show() self._edit2.hide() self._edit1.setText(value) else: # Code if init: self._radio_code.setChecked(True) self._edit1.hide() self._edit2.show() if not value.strip(): value = self.RUN_AFTER_GUI_TEXT self._edit2.setText(value) def getTheText(self): return self._value class ShellInfo_startDir(ShellInfoLineEdit): def __init__(self, parent): ShellInfoLineEdit.__init__(self, parent) if sys.platform.startswith("win"): self.setPlaceholderText("C:\\path\\to\\your\\python\\modules") else: self.setPlaceholderText("/path/to/your/python/modules") class ShellInfo_argv(ShellInfoLineEdit): def __init__(self, parent): ShellInfoLineEdit.__init__(self, parent) self.setPlaceholderText('arg1 arg2 "arg with spaces"') class ShellInfo_environ(QtWidgets.QTextEdit): EXAMPLE = "EXAMPLE_VAR1=value1\nPYZO_PROCESS_EVENTS_WHILE_DEBUGGING=1" def __init__(self, parent): QtWidgets.QTextEdit.__init__(self, parent) self.zoomOut(1) self.setText(self.EXAMPLE) def _cleanText(self, txt): return "\n".join([line.strip() for line in txt.splitlines()]) def setTheText(self, value): value = self._cleanText(value) if value: self.setText(value) else: self.setText(self.EXAMPLE) def getTheText(self): value = self.toPlainText() value = self._cleanText(value) if value == self.EXAMPLE: return "" else: return value ## The dialog class and container with tabs class ShellInfoTab(QtWidgets.QScrollArea): INFO_KEYS = [ translate("shell", "name ::: The name of this configuration."), translate("shell", "exe ::: The Python executable."), translate("shell", "ipython ::: Use IPython shell if available."), translate( "shell", "gui ::: The GUI toolkit to integrate (for interactive plotting, etc.).", ), translate( "shell", "pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS.", ), # noqa translate( "shell", "startupScript ::: The script to run at startup (not in script mode).", ), translate("shell", "startDir ::: The start directory (not in script mode)."), translate("shell", "argv ::: The command line arguments (sys.argv)."), translate("shell", "environ ::: Extra environment variables (os.environ)."), ] def __init__(self, parent): QtWidgets.QScrollArea.__init__(self, parent) # Init the scroll area self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) self.setWidgetResizable(True) self.setFrameShape(QtWidgets.QFrame.NoFrame) # Create widget and a layout self._content = QtWidgets.QWidget(parent) self._formLayout = QtWidgets.QFormLayout(self._content) # Collect classes of widgets to instantiate classes = [] for t in self.INFO_KEYS: className = "ShellInfo_" + t.key cls = globals()[className] classes.append((t, cls)) # Instantiate all classes self._shellInfoWidgets = {} for t, cls in classes: # Instantiate and store instance = cls(self._content) self._shellInfoWidgets[t.key] = instance # Create label label = QtWidgets.QLabel(t, self._content) label.setToolTip(t.tt) # Add to layout self._formLayout.addRow(label, instance) # Add delete button t = translate("shell", "Delete ::: Delete this shell configuration") label = QtWidgets.QLabel("", self._content) instance = QtWidgets.QPushButton(pyzo.icons.cancel, t, self._content) instance.setToolTip(t.tt) instance.setAutoDefault(False) instance.clicked.connect(self.parent().parent().onTabClose) deleteLayout = QtWidgets.QHBoxLayout() deleteLayout.addWidget(instance, 0) deleteLayout.addStretch(1) # Add to layout self._formLayout.addRow(label, deleteLayout) # Apply layout self._formLayout.setSpacing(15) self._content.setLayout(self._formLayout) self.setWidget(self._content) def setTabTitle(self, name): tabWidget = self.parent().parent() tabWidget.setTabText(tabWidget.indexOf(self), name) def setInfo(self, info=None): """Set the shell info struct, and use it to update the widgets. Not via init, because this function also sets the tab name. """ # If info not given, use default as specified by the KernelInfo struct if info is None: info = KernelInfo() # Name n = self.parent().parent().count() if n > 1: info.name = "Shell config %i" % n # Store info self._info = info # Set widget values according to info try: for key in info: widget = self._shellInfoWidgets.get(key, None) if widget is not None: widget.setTheText(info[key]) except Exception as why: print("Error setting info in shell config:", why) print(info) def getInfo(self): info = self._info # Set struct values according to widgets try: for key, widget in self._shellInfoWidgets.items(): info[key] = widget.getTheText() except Exception as why: print("Error getting info in shell config:", why) print(info) # Return the original (but modified) ssdf Dict object return info class ShellInfoDialog(QtWidgets.QDialog): """Dialog to edit the shell configurations.""" def __init__(self, *args): QtWidgets.QDialog.__init__(self, *args) self.setModal(True) # Set title self.setWindowTitle(pyzo.translate("shell", "Shell configurations")) # Create tab widget self._tabs = QtWidgets.QTabWidget(self) # self._tabs = CompactTabWidget(self, padding=(4,4,5,5)) # self._tabs.setDocumentMode(False) self._tabs.setMovable(True) # Get known interpreters (sorted them by version) # Do this here so we only need to do it once ... from pyzo.util.interpreters import get_interpreters self.interpreters = list(reversed(get_interpreters("2.4"))) # Introduce an entry if there's none if not pyzo.config.shellConfigs2: w = ShellInfoTab(self._tabs) self._tabs.addTab(w, "---") w.setInfo() # Fill tabs for item in pyzo.config.shellConfigs2: w = ShellInfoTab(self._tabs) self._tabs.addTab(w, "---") w.setInfo(item) # Enable making new tabs and closing tabs self._add = QtWidgets.QToolButton(self) self._tabs.setCornerWidget(self._add) self._add.clicked.connect(self.onAdd) self._add.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self._add.setIcon(pyzo.icons.add) self._add.setText(translate("shell", "Add config")) # # self._tabs.setTabsClosable(True) self._tabs.tabCloseRequested.connect(self.onTabClose) # Create buttons cancelBut = QtWidgets.QPushButton("Cancel", self) okBut = QtWidgets.QPushButton("Done", self) cancelBut.clicked.connect(self.close) okBut.clicked.connect(self.applyAndClose) # Layout for buttons buttonLayout = QtWidgets.QHBoxLayout() buttonLayout.addStretch(1) buttonLayout.addWidget(cancelBut) buttonLayout.addSpacing(10) buttonLayout.addWidget(okBut) # Layout the widgets mainLayout = QtWidgets.QVBoxLayout(self) mainLayout.addSpacing(8) mainLayout.addWidget(self._tabs, 0) mainLayout.addLayout(buttonLayout, 0) self.setLayout(mainLayout) # Prevent resizing self.show() self.setMinimumSize(500, 400) self.resize(640, 500) # self.setMaximumHeight(500) def onAdd(self): # Create widget and add to tabs w = ShellInfoTab(self._tabs) self._tabs.addTab(w, "---") w.setInfo() # Select self._tabs.setCurrentWidget(w) w.setFocus() def onTabClose(self): index = self._tabs.currentIndex() self._tabs.removeTab(index) def applyAndClose(self, event=None): self.apply() self.close() def apply(self): """Apply changes for all tabs.""" # Clear pyzo.config.shellConfigs2 = [] # Set new versions. Note that although we recreate the list, # the list is filled with the orignal structs, so having a # reference to such a struct (as the shell has) will enable # you to keep track of any made changes. for i in range(self._tabs.count()): w = self._tabs.widget(i) pyzo.config.shellConfigs2.append(w.getInfo()) pyzo-4.12.3/pyzo/core/shellStack.py000066400000000000000000000621561421373005400172130ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module shellStack Implements the stack of shells. Also implements the nifty debug button and a dialog to edit the shell configurations. """ import time import webbrowser from pyzo.qt import QtCore, QtGui, QtWidgets # noqa import pyzo from pyzo import translate from pyzo.core.shell import PythonShell from pyzo.core.pyzoLogging import print # noqa from pyzo.core.menu import ShellTabContextMenu, ShellButtonMenu from pyzo.core.icons import ShellIconMaker def shellTitle(shell, moreinfo=False): """Given a shell instance, build the text title to represent it.""" # Get name nameText = shell._info.name # Build version text if shell._version: versionText = "v{}".format(shell._version) else: versionText = "v?" # Build gui text guiText = shell._startup_info.get("gui") guiText = guiText or "" if guiText.lower() in ["none", ""]: guiText = "without gui" else: guiText = "with " + guiText + " gui" # Build state text stateText = shell._state or "" # Build text for elapsed time elapsed = time.time() - shell._start_time hh = elapsed // 3600 mm = (elapsed - hh * 3600) // 60 ss = elapsed - hh * 3600 - mm * 60 runtimeText = "runtime: %i:%02i:%02i" % (hh, mm, ss) # Build text if not moreinfo: text = nameText else: text = "'%s' (%s %s) - %s, %s" % ( nameText, versionText, guiText, stateText, runtimeText, ) # Done return text class ShellStackWidget(QtWidgets.QWidget): """The shell stack widget provides a stack of shells. It wrapps a QStackedWidget that contains the shell objects. This stack is used as a reference to synchronize the shell selection with. We keep track of what is the current selected shell and apply updates if necessary. Therefore, changing the current shell in the stack should be enough to invoke a full update. """ # When the current shell changes. currentShellChanged = QtCore.Signal() # When the current shells state (or debug state) changes, # or when a new prompt is received. # Also fired when the current shell changes. currentShellStateChanged = QtCore.Signal() def __init__(self, parent): QtWidgets.QWidget.__init__(self, parent) # create toolbar self._toolbar = QtWidgets.QToolBar(self) self._toolbar.setMaximumHeight(26) self._toolbar.setIconSize(QtCore.QSize(16, 16)) # create stack self._stack = QtWidgets.QStackedWidget(self) # Populate toolbar self._shellButton = ShellControl(self._toolbar, self._stack) self._debugmode = 0 self._dbs = DebugStack(self._toolbar) # self._toolbar.addWidget(self._shellButton) self._toolbar.addSeparator() # self._toolbar.addWidget(self._dbc) -> delayed, see addContextMenu() self._interpreterhelp = InterpreterHelper(self) # widget layout layout = QtWidgets.QVBoxLayout() layout.setSpacing(0) # set margins margin = pyzo.config.view.widgetMargin layout.setContentsMargins(margin, margin, margin, margin) layout.addWidget(self._toolbar) layout.addWidget(self._stack, 0) layout.addWidget(self._interpreterhelp, 0) self.setLayout(layout) # make callbacks self._stack.currentChanged.connect(self.onCurrentChanged) self.showInterpreterHelper() def __iter__(self): i = 0 while i < self._stack.count(): w = self._stack.widget(i) i += 1 yield w def showInterpreterHelper(self, show=True): self._interpreterhelp.setVisible(show) self._toolbar.setVisible(not show) self._stack.setVisible(not show) if show: self._interpreterhelp.detect() def addShell(self, shellInfo=None): """addShell() Add a shell to the widget.""" # Create shell and add to stack shell = PythonShell(self, shellInfo) self._stack.addWidget(shell) # Bind to signals shell.stateChanged.connect(self.onShellStateChange) shell.debugStateChanged.connect(self.onShellDebugStateChange) # Select it and focus on it (invokes onCurrentChanged) self._stack.setCurrentWidget(shell) shell.setFocus() return shell def removeShell(self, shell): """removeShell() Remove an existing shell from the widget """ self._stack.removeWidget(shell) def onCurrentChanged(self, index): """When another shell is selected, update some things.""" # Get current shell = self.getCurrentShell() # Call functions self.onShellStateChange(shell) self.onShellDebugStateChange(shell) # Emit Signal self.currentShellChanged.emit() def onShellStateChange(self, shell): """Called when the shell state changes, and is called by onCurrentChanged. Sets the mainwindow's icon if busy. """ # Keep shell button and its menu up-to-date self._shellButton.updateShellMenu(shell) if shell is self.getCurrentShell(): # can be None # Update application icon if shell and shell._state in ["Busy"]: pyzo.main.setWindowIcon(pyzo.iconRunning) else: pyzo.main.setWindowIcon(pyzo.icon) # Send signal self.currentShellStateChanged.emit() def onShellDebugStateChange(self, shell): """Called when the shell debug state changes, and is called by onCurrentChanged. Sets the debug button. """ if shell is self.getCurrentShell(): # Update debug info if shell and shell._debugState: info = shell._debugState self._debugmode = info["debugmode"] for action in self._debugActions: action.setEnabled(self._debugmode == 2) self._debugActions[-1].setEnabled(self._debugmode > 0) # Stop self._dbs.setTrace(shell._debugState) else: for action in self._debugActions: action.setEnabled(False) self._debugmode = 0 self._dbs.setTrace(None) # Send signal self.currentShellStateChanged.emit() def getCurrentShell(self): """getCurrentShell() Get the currently active shell. """ w = None if self._stack.count(): w = self._stack.currentWidget() if not w: return None else: return w def getShells(self): """Get all shell in stack as list""" shells = [] for i in range(self._stack.count()): shell = self.getShellAt(i) if shell is not None: shells.append(shell) return shells def getShellAt(self, i): return """ Get shell at current tab index """ return self._stack.widget(i) def addContextMenu(self): # A bit awkward... but the ShellMenu needs the ShellStack, so it # can only be initialized *after* the shellstack is created ... # Give shell tool button a menu self._shellButton.setMenu(ShellButtonMenu(self, "Shell button menu")) self._shellButton.menu().aboutToShow.connect( self._shellButton._elapsedTimesTimer.start ) # Also give it a context menu self._shellButton.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self._shellButton.customContextMenuRequested.connect(self.contextMenuTriggered) # Add actions for action in pyzo.main.menuBar()._menumap["shell"]._shellActions: action = self._toolbar.addAction(action) self._toolbar.addSeparator() # Add debug actions self._debugActions = [] for action in pyzo.main.menuBar()._menumap["shell"]._shellDebugActions: self._debugActions.append(action) action = self._toolbar.addAction(action) # Delayed-add debug control buttons self._toolbar.addWidget(self._dbs) def contextMenuTriggered(self, p): """Called when context menu is clicked""" # Get index of shell belonging to the tab shell = self.getCurrentShell() if shell: p = self._shellButton.mapToGlobal(self._shellButton.rect().bottomLeft()) ShellTabContextMenu(shell=shell, parent=self).popup(p) def onShellAction(self, action): shell = self.getCurrentShell() if shell: getattr(shell, action)() class ShellControl(QtWidgets.QToolButton): """A button that can be used to select a shell and start a new shell.""" def __init__(self, parent, shellStack): QtWidgets.QToolButton.__init__(self, parent) # Store reference of shell stack self._shellStack = shellStack # Keep reference of actions corresponding to shells self._shellActions = [] # Set text and tooltip self.setText("Warming up ...") self.setToolTip(translate("shells", "Click to select shell.")) self.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.setPopupMode(self.InstantPopup) # Set icon self._iconMaker = ShellIconMaker(self) self._iconMaker.updateIcon("busy") # Busy initializing # Create timer self._elapsedTimesTimer = QtCore.QTimer(self) self._elapsedTimesTimer.setInterval(1000) self._elapsedTimesTimer.setSingleShot(False) self._elapsedTimesTimer.timeout.connect(self.onElapsedTimesTimer) def updateShellMenu(self, shellToUpdate=None): """Update the shell menu. Ensure that there is a menu item for each shell. If shellToUpdate is given, updates the corresponding menu item. """ menu = self.menu() # Get shells now active currentShell = self._shellStack.currentWidget() shells = [self._shellStack.widget(i) for i in range(self._shellStack.count())] # Synchronize actions. Remove invalid actions for action in self._shellActions: # Check match with shells if action._shell in shells: shells.remove(action._shell) else: menu.removeAction(action) # Update checked state if action._shell is currentShell and currentShell: action.setChecked(True) else: action.setChecked(False) # Update text if necessary if action._shell is shellToUpdate: action.setText(shellTitle(shellToUpdate, True)) # Any items left in shells need a menu item # Dont give them an icon, or the icon is used as checkbox thingy for shell in shells: text = shellTitle(shell) action = menu.addItem(text, None, self._shellStack.setCurrentWidget, shell) action._shell = shell action.setCheckable(True) self._shellActions.append(action) # Is the shell being updated the current? if currentShell is shellToUpdate and currentShell is not None: self._iconMaker.updateIcon(currentShell._state) self.setText(shellTitle(currentShell)) elif currentShell is None: self._iconMaker.updateIcon("") self.setText("No shell selected") def onElapsedTimesTimer(self): # Automatically turn timer off is menu is hidden if not self.menu().isVisible(): self._elapsedTimesTimer.stop() return # Update text for each shell action for action in self._shellActions: action.setText(shellTitle(action._shell, True)) # todo: remove this? # class DebugControl(QtWidgets.QToolButton): # """ A button to control debugging. # """ # # def __init__(self, parent): # QtWidgets.QToolButton.__init__(self, parent) # # # Flag # self._debugmode = False # # # Set text # self.setText(translate('debug', 'Debug')) # self.setIcon(pyzo.icons.bug) # self.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) # #self.setPopupMode(self.InstantPopup) # # # Bind to triggers # self.triggered.connect(self.onTriggered) # self.pressed.connect(self.onPressed) # self.buildMenu() # # # def buildMenu(self): # # # Count breakpoints # bpcount = 0 # for e in pyzo.editors: # bpcount += len(e.breakPoints()) # # # Prepare a text # clearallbps = translate('debug', 'Clear all {} breakpoints') # clearallbps = clearallbps.format(bpcount) # # # Set menu # menu = QtWidgets.QMenu(self) # self.setMenu(menu) # # for cmd, enabled, icon, text in [ # ('CLEAR', self._debugmode==0, pyzo.icons.bug_delete, clearallbps), # ('PM', self._debugmode==0, pyzo.icons.bug_error, # translate('debug', 'Postmortem: debug from last traceback')), # ('STOP', self._debugmode>0, pyzo.icons.debug_quit, # translate('debug', 'Stop debugging')), # # ('NEXT', self._debugmode==2, pyzo.icons.debug_next, # # translate('debug', 'Next: proceed until next line')), # # ('STEP', self._debugmode==2, pyzo.icons.debug_step, # # translate('debug', 'Step: proceed one step')), # # ('RETURN', self._debugmode==2, pyzo.icons.debug_return, # # translate('debug', 'Return: proceed until returns')), # # ('CONTINUE', self._debugmode==2, pyzo.icons.debug_continue, # # translate('debug', 'Continue: proceed to next breakpoint')), # ]: # if cmd is None: # menu.addSeparator() # else: # if icon is not None: # a = menu.addAction(icon, text) # else: # a = menu.addAction(text) # if hasattr(text, 'tt'): # a.setToolTip(text.tt) # a.cmd = cmd # a.setEnabled(enabled) # # # def onPressed(self, show=True): # self.buildMenu() # self.showMenu() # # # def onTriggered(self, action): # if action.cmd == 'PM': # # Initiate postmortem debugging # shell = pyzo.shells.getCurrentShell() # if shell: # shell.executeCommand('DB START\n') # # elif action.cmd == 'CLEAR': # # Clear all breakpoints # for e in pyzo.editors: # e.clearBreakPoints() # # else: # command = action.cmd.upper() # shell = pyzo.shells.getCurrentShell() # if shell: # shell.executeCommand('DB %s\n' % command) # # # def setTrace(self, info): # """ Determine whether we are in debug mode. # """ # if info is None: # self._debugmode = 0 # else: # self._debugmode = info['debugmode'] class DebugStack(QtWidgets.QToolButton): """A button that shows the stack trace.""" def __init__(self, parent): QtWidgets.QToolButton.__init__(self, parent) # Set text and tooltip self._baseText = translate("debug", "Stack") self.setText("%s:" % self._baseText) self.setIcon(pyzo.icons.text_align_justify) self.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.setPopupMode(self.InstantPopup) # Bind to triggers self.triggered.connect(self.onTriggered) def onTriggered(self, action): # Get shell shell = pyzo.shells.getCurrentShell() if not shell: return # Change stack index if not action._isCurrent: shell.executeCommand("DB FRAME {}\n".format(action._index)) # Open file and select line if True: line = action.text().split(": ", 1)[1] self.debugFocus(line) def setTrace(self, info): """Set the stack trace. This method is called from the shell that receives the trace via its status channel directly from the interpreter. If trace is None, removes the trace """ # Get info if info: index, frames, debugmode = info["index"], info["frames"], info["debugmode"] else: index, frames = -1, [] if (not frames) or (debugmode == 0): # Remove trace self.setMenu(None) self.setText("") # (self._baseText) self.setEnabled(False) pyzo.editors.setDebugLineIndicators(None) else: # Get the current frame theAction = None # Create menu and add __main__ menu = QtWidgets.QMenu(self) self.setMenu(menu) # Fill trace for i in range(len(frames)): thisIndex = i + 1 # Set text for action text = '{}: File "{}", line {}, in {}' text = text.format(thisIndex, *frames[i]) action = menu.addAction(text) action._index = thisIndex action._isCurrent = False if thisIndex == index: action._isCurrent = True theAction = action self.debugFocus(text.split(": ", 1)[1]) # Load editor # Get debug indicators debugIndicators = [] for i in range(len(frames)): thisIndex = i + 1 filename, linenr, func = frames[i] debugIndicators.append((filename, linenr)) if thisIndex == index: break # Set debug indicators pyzo.editors.setDebugLineIndicators(*debugIndicators) # Highlight current item and set the button text if theAction: menu.setDefaultAction(theAction) # self.setText(theAction.text().ljust(20)) i = theAction._index text = "{} ({}/{}): ".format(self._baseText, i, len(frames)) self.setText(text) self.setEnabled(True) def debugFocus(self, lineFromDebugState): """debugFocus(lineFromDebugState) Open the file and show the linenr of the given lineFromDebugState. """ # Get filenr and item try: tmp = lineFromDebugState.split(", in ")[0].split(", line ") filename = tmp[0][len("File ") :].strip('"') linenr = int(tmp[1].strip()) except Exception: return "Could not focus!" # Cannot open if filename == "": return "Stack frame is ." elif filename.startswith(" "3": self._the_exe = conda_interpreters[0].path text = """Pyzo detected a conda environment in:
%s

You can use this environment (recommended), or manually specify an interpreter by setting the exe in the shell config.

Click one of the links above, or refresh. """ % ( self._the_exe, ) elif interpreters and interpreters[0].version > "3": self._the_exe = interpreters[0].path text = """Pyzo detected a Python interpreter in:
%s

You can use this environment (recommended), or manually specify an interpreter by setting the exe in the shell config.

Click one of the links above, or refresh. """ % ( self._the_exe, ) elif interpreters: text = """Pyzo detected a Python interpreter, but it is Python 2. We strongly recommend using Python 3 instead.

If you installed %s or %s in a non-default location, or if you want to manually specify an interpreter, set the exe in the shell config.

Click one of the links above, or refresh. """ % ( python_link, conda_link, ) else: text = """Pyzo did not detect any Python interpreters. We recomment installing %s or %s (and click refresh when done).

If you installed Python or Miniconda in a non-default location, or if you want to manually specify the interpreter, set the exe in the shell config. """ % ( python_link, conda_link, ) link_style = "font-weight: bold; color:#369; text-decoration:underline;" self._label.setText(text.replace("{text_title}

{text_version} {version}

{text_os} http://pyzo.org

""" class LogoWidget(QtWidgets.QFrame): def __init__(self, parent): QtWidgets.QFrame.__init__(self, parent) self.setMinimumSize(256, 256) self.setMaximumSize(256, 256) class LabelWidget(QtWidgets.QWidget): def __init__(self, parent, distro=None): QtWidgets.QWidget.__init__(self, parent) self.setMinimumSize(360, 256) # Ensure title fits nicely # Create label widget and costumize self._label = QtWidgets.QLabel(self) self._label.setTextFormat(QtCore.Qt.RichText) self._label.setOpenExternalLinks(True) self._label.setWordWrap(True) self._label.setMargin(20) # Set font size (absolute value) font = self._label.font() font.setPointSize(11) # (font.pointSize()+1) self._label.setFont(font) # Build text_title = translate( "splash", "This is Pyzo
the Python IDE for scientific computing" ) text_version = translate("splash", "Version") text_os = translate( "splash", "Pyzo is open source software and freely available for everyone." ) text = splash_text.format( version=pyzo.__version__, text_title=text_title, text_version=text_version, text_os=text_os, ) # Set text self._label.setText(text) layout = QtWidgets.QVBoxLayout(self) self.setLayout(layout) layout.addStretch(1) layout.addWidget(self._label, 0) layout.addStretch(1) class SplashWidget(QtWidgets.QWidget): """A splash widget.""" def __init__(self, parent, **kwargs): QtWidgets.QWidget.__init__(self, parent) self._left = LogoWidget(self) self._right = LabelWidget(self, **kwargs) # Layout layout = QtWidgets.QHBoxLayout(self) self.setLayout(layout) # layout.setContentsMargins(0,0,0,0) layout.setSpacing(25) layout.addStretch(1) layout.addWidget(self._left, 0) layout.addWidget(self._right, 0) layout.addStretch(1) # Change background of main window to create a splash-screen-efefct iconImage = "pyzologo256.png" iconImage = os.path.join(pyzo.pyzoDir, "resources", "appicons", iconImage) iconImage = iconImage.replace(os.path.sep, "/") # Fix for Windows self.setStyleSheet(STYLESHEET % iconImage) if __name__ == "__main__": w = SplashWidget(None, distro="some arbitrary distro") w.resize(800, 600) w.show() pyzo-4.12.3/pyzo/core/statusbar.py000066400000000000000000000023221421373005400171130ustar00rootroot00000000000000""" Module statusbar Functionality for status bar in pyzo. """ from pyzo.qt import QtWidgets class StatusBar(QtWidgets.QStatusBar): """ Add a statusbar to main window """ def __init__(self, parent=None): super().__init__(parent) # File encoding self.file_encoding = QtWidgets.QLabel(self) self.file_encoding.setFixedWidth(100) self.insertPermanentWidget(0, self.file_encoding, 0) # Cursor position self.cursor_pos = QtWidgets.QLabel(self) self.cursor_pos.setFixedWidth(190) self.insertPermanentWidget(1, self.cursor_pos, 0) def updateCursorInfo(self, editor): # Get current line number nrow = 0 ncol = 0 if editor: nrow = editor.textCursor().blockNumber() nrow += 1 # is ln as in line number area ncol = editor.textCursor().positionInBlock() ncol += 1 position_txt = "Line: {}, Column: {} ".format(str(nrow), str(ncol)) self.cursor_pos.setText(position_txt) def updateFileEncodingInfo(self, editor): fe_txt = "" if editor: fe_txt = editor.encoding.upper() self.file_encoding.setText(fe_txt) pyzo-4.12.3/pyzo/core/themeEdit.py000066400000000000000000000415161421373005400170230ustar00rootroot00000000000000import os from pyzo.qt import QtCore, QtGui, QtWidgets import pyzo from pyzo.util import zon as ssdf from pyzo.core.pyzoLogging import print # noqa import pyzo.core.baseTextCtrl from pyzo.codeeditor.style import StyleFormat SAMPLE = """ ## Foo class # This is a comment class Foo: ''' This class does nothing. ''' #TODO: be amazing def baz(self, arg1): return max(arg1, 42) bar = "Hello wor """ + chr( 160 ) class FakeEditor(pyzo.core.baseTextCtrl.BaseTextCtrl): """This "fake" editor emits a signal when the user clicks on a word with a token: a click on the word "class" emits with arg "syntax.keyword". It may be improved by adding text with specific token like Editor.text which are not present by default """ tokenClicked = QtCore.Signal(str) def __init__(self, text=""): super().__init__() # set parser to enable syntaxic coloration self.setParser("python3") self.setReadOnly(False) self.setLongLineIndicatorPosition(30) self.setPlainText(SAMPLE) def mousePressEvent(self, event): super().mousePressEvent(event) # get the text position of the click pos = self.textCursor().columnNumber() tokens = self.textCursor().block().userData().tokens # Find the token which contains the click pos for tok in tokens: if tok.start <= pos <= tok.end: self.tokenClicked.emit(tok.description.key) break class TitledWidget(QtWidgets.QWidget): """A litle helper class to "name" a widget : it displays a QLabel to left of the given widget""" def __init__(self, name, other): super().__init__() self.widget = other layout = QtWidgets.QHBoxLayout() layout.addWidget(QtWidgets.QLabel(text=name.capitalize().strip() + " :")) layout.addWidget(other) self.setLayout(layout) def setFocus(self, val): self.widget.setFocus(val) class ColorLineEdit(QtWidgets.QLineEdit): """A subclass of the QLineEdit that can open a QColorDialog on click of a button """ def __init__(self, name, *args, **kwargs): """The name is displayed in the QColorDialog""" super().__init__(*args, **kwargs) self.name = name self.button = QtWidgets.QToolButton(self) self.button.setIcon(QtGui.QIcon(pyzo.icons.cog)) self.button.setStyleSheet("border: 0px; padding: 0px") self.button.clicked.connect(self.openColorDialog) frameWidth = self.style().pixelMetric(QtWidgets.QStyle.PM_DefaultFrameWidth) buttonSize = self.button.sizeHint() self.setStyleSheet( "QLineEdit {padding-right: %dpx; }" % (buttonSize.width() + frameWidth + 1) ) # self.setMinimumSize(max(100, buttonSize.width() + frameWidth*2 + 2), # max(self.minimumSizeHint().height(), buttonSize.height() + frameWidth*2 + 2)) def openColorDialog(self): """A simple function that opens a QColorDialog and link the dialog current color selection to the QLineEdit text """ dlg = QtWidgets.QColorDialog(self) dlg.setWindowTitle("Pick a color for the " + self.name.lower()) dlg.setCurrentColor(QtGui.QColor(self.text())) dlg.currentColorChanged.connect(lambda clr: self.setText(clr.name())) dlg.setModal(False) dlg.exec_() def resizeEvent(self, event): buttonSize = self.button.sizeHint() frameWidth = self.style().pixelMetric(QtWidgets.QStyle.PM_DefaultFrameWidth) self.button.move( int(self.rect().right() - frameWidth - buttonSize.width()), int(self.rect().bottom() - buttonSize.height() + 1) // 2, ) super().resizeEvent(event) class StyleEdit(QtWidgets.QWidget): """The StyleLineEdit is a line that allows the edition of one style (i.e. "Editor.Text" or "Syntax.identifier") with a given StyleElementDescription it find the editable parts and display the adaptated widgets for edition (checkbok for bold and italic, combo box for linestyles...). """ styleChanged = QtCore.Signal(str, str) def __init__(self, defaultStyle, *args, **kwargs): super().__init__(*args, **kwargs) # The styleKey is sent with the styleChanged signal for easy identification self.styleKey = defaultStyle.key self.layout = layout = QtWidgets.QHBoxLayout() # The setters are used when setting the style self.setters = {} # TODO: the use of StyleFormat._parts should be avoided # We use the StyleFormat._parts keys, to find the elements # Useful to edits, because the property may return a value # Even if they were not defined in the defaultFormat fmtParts = defaultStyle.defaultFormat._parts # Add the widgets corresponding to the fields if "fore" in fmtParts: self.__add_clrLineEdit("fore", "Foreground") if "back" in fmtParts: self.__add_clrLineEdit("back", "Background") if "bold" in fmtParts: self.__add_checkBox("bold", "Bold") if "italic" in fmtParts: self.__add_checkBox("italic", "Italic") if "underline" in fmtParts: self.__add_comboBox( "underline", "Underline", "No", "Dotted", "Wave", "Full", "Yes" ) if "linestyle" in fmtParts: self.__add_comboBox("linestyle", "Linestyle", "Dashed", "Dotted", "Full") self.setLayout(layout) self.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) def __add_clrLineEdit(self, key, name): """this is a helper method to create a ColorLineEdit it adds the created widget (as a TitledWidget) to the layout and register a setter and listen to changes """ clrEdit = ColorLineEdit(name) clrEdit.textChanged.connect(lambda txt, key=key: self.__update(key, txt)) self.setters[key] = clrEdit.setText self.layout.addWidget(TitledWidget(name, clrEdit), 0) def __add_checkBox(self, key, name): """this is a helper method to create a QCheckBox it adds the created widget (as a TitledWidget) to the layout and register a setter and listen to changes """ checkBox = QtWidgets.QCheckBox() self.setters[key] = lambda val, check=checkBox: check.setCheckState( val == "yes" ) checkBox.stateChanged.connect( lambda state, key=key: self.__update(key, "yes" if state else "no") ) self.layout.addWidget(TitledWidget(name, checkBox)) def __add_comboBox(self, key, name, *items): """this is a helper method to create a comboBox it adds the created widget (as a TitledWidget) to the layout and register a setter and listen to changes """ combo = QtWidgets.QComboBox() combo.addItems(items) combo.currentTextChanged.connect(lambda txt, key=key: self.__update(key, txt)) # Note: those setters may become problematic if # someone use the synonyms (defined in codeeditor/style.py) # i.e. a stylement is of form "linestyle:dashline" # instead of the "linestyle:dashed" self.setters[key] = lambda txt, cmb=combo: cmb.setCurrentText(txt.capitalize()) self.layout.addWidget(TitledWidget(name, combo)) def __update(self, key, value): """this function is called everytime one of the children widget data has been modified by the user""" self.styleChanged.emit(self.styleKey, key + ":" + value) def setStyle(self, text): """updates every children to match the StyleFormat(text) fields""" style = StyleFormat(text) for key, setter in self.setters.items(): setter(style[key]) def setFocus(self, val): self.layout.itemAt(0).widget().setFocus(True) class ThemeEditorWidget(QtWidgets.QWidget): """The ThemeEditorWidgets allows to edits themes, it has one StyleEdit widget per StyleElements ("Editor.Text", "Syntax.string"). It emits a signal on each style changes It also manages basic theme I/O : - adding new theme - renaming theme """ styleChanged = QtCore.Signal(dict) done = QtCore.Signal(int) def __init__(self, themes, *args, editor=None, **kwargs): super().__init__(*args, **kwargs) # dict of themes, a deep copy of pyzo.themes self.themes = themes # We store the key name separate so we can easier track renames self.cur_theme_key = "" # The current theme being changed self.cur_theme = None # If an editor is given, connect to it self.editor = editor if self.editor is not None: self.editor.tokenClicked.connect(self.focusOnStyle) self.styleChanged.connect(self.editor.setStyle) # Display editables style formats in a scroll area self.scrollArea = scrollArea = QtWidgets.QScrollArea() self.scrollArea.setWidgetResizable(True) formLayout = QtWidgets.QFormLayout() self.styleEdits = {} # Add one pair of label and StyleEdit per style element description # to the formLayout and connect the StyleEdit signals to the updatedStyle method for styleDesc in pyzo.codeeditor.CodeEditor.getStyleElementDescriptions(): label = QtWidgets.QLabel(text=styleDesc.name, toolTip=styleDesc.description) label.setWordWrap(True) styleEdit = StyleEdit(styleDesc, toolTip=styleDesc.description) styleEdit.styleChanged.connect(self.updatedStyle) self.styleEdits[styleDesc.key] = styleEdit formLayout.addRow(label, styleEdit) wrapper = QtWidgets.QWidget() wrapper.setLayout(formLayout) wrapper.setMinimumWidth(650) scrollArea.setWidget(wrapper) # Basic theme I/O curThemeLbl = QtWidgets.QLabel(text="Themes :") self.curThemeCmb = curThemeCmb = QtWidgets.QComboBox() current_index = -1 for i, themeName in enumerate(self.themes.keys()): # We store the themeName in data in case the user renames one curThemeCmb.addItem(themeName, userData=themeName) if themeName == pyzo.config.settings.theme.lower(): current_index = i curThemeCmb.addItem("New...") loadLayout = QtWidgets.QHBoxLayout() loadLayout.addWidget(curThemeLbl) loadLayout.addWidget(curThemeCmb) self.saveBtn = saveBtn = QtWidgets.QPushButton(text="Save") saveBtn.clicked.connect(self.saveTheme) exitBtn = QtWidgets.QPushButton(text="Apply theme") exitBtn.clicked.connect(self.ok) exitLayout = QtWidgets.QHBoxLayout() exitLayout.addWidget(exitBtn) exitLayout.addWidget(saveBtn) # Packing it up mainLayout = QtWidgets.QVBoxLayout() mainLayout.addLayout(loadLayout) mainLayout.addWidget(scrollArea) mainLayout.addLayout(exitLayout) self.setLayout(mainLayout) curThemeCmb.currentIndexChanged.connect(self.indexChanged) curThemeCmb.currentTextChanged.connect(self.setTheme) # Init if current_index >= 0: curThemeCmb.setCurrentIndex(current_index) self.setTheme(pyzo.config.settings.theme) def createTheme(self): """Create a new theme based on the current theme selected. """ index = self.curThemeCmb.currentIndex() if index != self.curThemeCmb.count() - 1: return self.curThemeCmb.setCurrentIndex(self.curThemeCmb.count() - 1) # Select a new name t = "new_theme_x" i = 1 themeName = t.replace("x", str(i)) while themeName in self.themes: i += 1 themeName = t.replace("x", str(i)) # Create new theme new_theme = {"name": themeName, "data": {}, "builtin": False} if self.cur_theme: new_theme["data"] = self.cur_theme["data"].copy() self.cur_theme_key = themeName self.cur_theme = new_theme self.themes[themeName] = new_theme self.curThemeCmb.setItemText(index, themeName) self.curThemeCmb.setItemData(index, themeName) self.curThemeCmb.setEditable(True) self.curThemeCmb.lineEdit().setCursorPosition(0) self.curThemeCmb.lineEdit().selectAll() self.saveBtn.setEnabled(True) self.curThemeCmb.addItem( "New...", ) def setTheme(self, name): """Set the theme by its name. The combobox becomes editable only if the theme is not builtin. This method is connected to the signal self.curThemeCmb.currentTextChanged ; so it also filters parasites events""" name = name.lower() if name != self.curThemeCmb.currentText(): # An item was added to the comboBox # But it's not a user action so we quit print(" -> Cancelled because this was not a user action") return if self.cur_theme_key == self.curThemeCmb.currentData(): # The user renamed an existing theme self.cur_theme["name"] = name return if name not in self.themes: return # Sets the curent theme key self.cur_theme_key = name self.cur_theme = self.themes[name] if self.cur_theme["builtin"]: self.saveBtn.setEnabled(False) self.saveBtn.setText("Cannot save builtin style") else: self.saveBtn.setEnabled(True) self.saveBtn.setText("Save") self.curThemeCmb.setEditable(not self.cur_theme["builtin"]) for key, le in self.styleEdits.items(): if key in self.cur_theme["data"]: try: le.setStyle(self.cur_theme["data"][key]) except Exception as e: print( "Exception while setting style", key, "for theme", name, ":", e ) def saveTheme(self): """Saves the current theme to the disk, in appDataDir/themes""" if self.cur_theme["builtin"]: return themeName = self.curThemeCmb.currentText().strip() if not themeName: return # Get user theme dir and make sure it exists dir = os.path.join(pyzo.appDataDir, "themes") os.makedirs(dir, exist_ok=True) # Try to delete the old file if it exists (useful if it was renamed) try: os.remove(os.path.join(dir, self.cur_theme_key + ".theme")) except Exception: pass # This is the needed because of the SSDF format: # it doesn't accept dots, so we put underscore instead data = {x.replace(".", "_"): y for x, y in self.cur_theme["data"].items()} fname = os.path.join(dir, themeName + ".theme") ssdf.save(fname, {"name": themeName, "data": data}) print("Saved theme '%s' to '%s'" % (themeName, fname)) def ok(self): """On user click saves the cur_theme if modified and restart pyzo if the theme changed""" prev = pyzo.config.settings.theme new = self.cur_theme["name"] self.saveTheme() if prev != new: pyzo.config.settings.theme = new # This may be better pyzo.main.restart() else: self.done.emit(1) def indexChanged(self, index): # User selected the "new..." button if index == self.curThemeCmb.count() - 1: self.createTheme() def focusOnStyle(self, key): self.styleEdits[key].setFocus(True) self.scrollArea.ensureWidgetVisible(self.styleEdits[key]) def updatedStyle(self, style, text): fmt = StyleFormat(self.cur_theme["data"][style]) fmt.update(text) self.cur_theme["data"][style] = str(fmt) self.styleChanged.emit({style: text}) class EditColorDialog(QtWidgets.QDialog): """This dialog allows to edit color schemes, it is composed of two main components : - a "fake" editor to visualize the changes - a theme editor to make the edits """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.setWindowTitle("Color scheme") size = 1200, 800 offset = 0 size2 = size[0], size[1] + offset self.resize(*size2) # Make a deep copy themes = {} for name, theme in pyzo.themes.items(): theme = theme.copy() theme["data"] = theme["data"].copy() themes[name] = theme self.editor = FakeEditor() self.editColor = ThemeEditorWidget(themes=themes, editor=self.editor) self.editColor.done.connect(self.done) layout = QtWidgets.QHBoxLayout() layout.addWidget(self.editor, 1) layout.addWidget(self.editColor, 2) self.setLayout(layout) pyzo-4.12.3/pyzo/pre_qt_import.py000066400000000000000000000005031421373005400170360ustar00rootroot00000000000000import os # Automatically scale along on HDPI displays. See issue #531 and e.g. # https://wiki.archlinux.org/index.php/HiDPI#Qt_5 if "QT_AUTO_SCREEN_SCALE_FACTOR" not in os.environ: os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1" # Fix Qt now showing a window on MacOS Big Sur os.environ["QT_MAC_WANTS_LAYER"] = "1" pyzo-4.12.3/pyzo/pyzokernel/000077500000000000000000000000001421373005400160045ustar00rootroot00000000000000pyzo-4.12.3/pyzo/pyzokernel/__init__.py000066400000000000000000000015071421373005400201200ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ The pyzokernel package contains the code for the Pyzo kernel process. This kernel is designed to be relatively lightweight; i.e. most of the work is done by the IDE. See pyzokernel/start.py for more information. """ def printDirect(msg): """Small function that writes directly to the strm_out channel. This means that regardless if stdout was hijacked, the message ends up at the Pyzo shell. This keeps any hijacked stdout clean, and gets the message where you want it. In most cases this is just cosmetics: the Python banner is one example. """ import sys sys._pyzoInterpreter.context._strm_out.send(msg) pyzo-4.12.3/pyzo/pyzokernel/_nope.py000066400000000000000000000067041421373005400174650ustar00rootroot00000000000000# ----------------------------------------------------------------------------- # Copyright (C) 2013 Min RK # # Distributed under the terms of the 2-clause BSD License. # ----------------------------------------------------------------------------- from contextlib import contextmanager import ctypes import ctypes.util objc = ctypes.cdll.LoadLibrary(ctypes.util.find_library("objc")) void_p = ctypes.c_void_p ull = ctypes.c_uint64 objc.objc_getClass.restype = void_p objc.sel_registerName.restype = void_p objc.objc_msgSend.restype = void_p objc.objc_msgSend.argtypes = [void_p, void_p] msg = objc.objc_msgSend def _utf8(s): """ensure utf8 bytes""" if not isinstance(s, bytes): s = s.encode("utf8") return s def n(name): """create a selector name (for methods)""" return objc.sel_registerName(_utf8(name)) def C(classname): """get an ObjC Class by name""" return objc.objc_getClass(_utf8(classname)) # constants from Foundation NSActivityIdleDisplaySleepDisabled = 1 << 40 NSActivityIdleSystemSleepDisabled = 1 << 20 NSActivitySuddenTerminationDisabled = 1 << 14 NSActivityAutomaticTerminationDisabled = 1 << 15 NSActivityUserInitiated = 0x00FFFFFF | NSActivityIdleSystemSleepDisabled NSActivityUserInitiatedAllowingIdleSystemSleep = ( NSActivityUserInitiated & ~NSActivityIdleSystemSleepDisabled ) NSActivityBackground = 0x000000FF NSActivityLatencyCritical = 0xFF00000000 def beginActivityWithOptions(options, reason=""): """Wrapper for: [ [ NSProcessInfo processInfo] beginActivityWithOptions: (uint64)options reason: (str)reason ] """ NSProcessInfo = C("NSProcessInfo") NSString = C("NSString") reason = msg(NSString, n("stringWithUTF8String:"), _utf8(reason)) info = msg(NSProcessInfo, n("processInfo")) activity = msg( info, n("beginActivityWithOptions:reason:"), ull(options), void_p(reason) ) return activity def endActivity(activity): """end a process activity assertion""" NSProcessInfo = C("NSProcessInfo") info = msg(NSProcessInfo, n("processInfo")) msg(info, n("endActivity:"), void_p(activity)) _theactivity = None def nope(): """disable App Nap by setting NSActivityUserInitiatedAllowingIdleSystemSleep""" global _theactivity _theactivity = beginActivityWithOptions( NSActivityUserInitiatedAllowingIdleSystemSleep, "Because Reasons" ) def nap(): """end the caffeinated state started by `nope`""" global _theactivity if _theactivity is not None: endActivity(_theactivity) _theactivity = None def napping_allowed(): """is napping allowed?""" return _theactivity is None @contextmanager def nope_scope( options=NSActivityUserInitiatedAllowingIdleSystemSleep, reason="Because Reasons" ): """context manager for beginActivityWithOptions. Within this context, App Nap will be disabled. """ activity = beginActivityWithOptions(options, reason) try: yield finally: endActivity(activity) __all__ = [ "NSActivityIdleDisplaySleepDisabled", "NSActivityIdleSystemSleepDisabled", "NSActivitySuddenTerminationDisabled", "NSActivityAutomaticTerminationDisabled", "NSActivityUserInitiated", "NSActivityUserInitiatedAllowingIdleSystemSleep", "NSActivityBackground", "NSActivityLatencyCritical", "beginActivityWithOptions", "endActivity", "nope", "nap", "napping_allowed", "nope_scope", ] pyzo-4.12.3/pyzo/pyzokernel/debug.py000066400000000000000000000412051421373005400174460ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. import os import sys import time import bdb import traceback class Debugger(bdb.Bdb): """Debugger for the pyzo kernel, based on bdb.""" def __init__(self): self._wait_for_mainpyfile = False # from pdb, do we need this? bdb.Bdb.__init__(self) self._debugmode = 0 # 0: no debug, 1: postmortem, 2: full debug self._files_with_offset = [] def clear_all_breaks(self): bdb.Bdb.clear_all_breaks(self) self._files_with_offset = [] def trace_dispatch(self, frame, event, arg): # Overload to deal with offset in filenames # (cells or lines being executed) ori_filename = frame.f_code.co_filename if "+" in ori_filename and ori_filename not in self._files_with_offset: clean_filename, offset = ori_filename.rsplit("+", 1) try: offset = int(offset) except Exception: offset = None if offset is not None: # This is a cell or selected lines being executed self._files_with_offset.append(ori_filename) if clean_filename.startswith("<"): self.fncache[ori_filename] = ori_filename for i in self.breaks.get(clean_filename, []): self.set_break(ori_filename, i - offset) return bdb.Bdb.trace_dispatch(self, frame, event, arg) def interaction(self, frame, traceback=None, pm=False): """Enter an interaction-loop for debugging. No GUI events are processed here. We leave this event loop at some point, after which the conrol flow will proceed. This is called to enter debug-mode at a breakpoint, or to enter post-mortem debugging. """ interpreter = sys._pyzoInterpreter # Collect frames frames = [] while frame: if frame is self.botframe: break co_filename = frame.f_code.co_filename if "pyzokernel" in co_filename: break # pyzo kernel if "interactiveshell.py" in co_filename: break # IPython kernel frames.insert(0, frame) frame = frame.f_back # Tell interpreter our stack if frames: interpreter._dbFrames = frames interpreter._dbFrameIndex = len(interpreter._dbFrames) frame = interpreter._dbFrames[interpreter._dbFrameIndex - 1] interpreter._dbFrameName = frame.f_code.co_name interpreter.locals = frame.f_locals interpreter.globals = frame.f_globals # Let the IDE know ( # "self._debugmode = 1 if pm else 2" does not work not on py2.4) if pm: self._debugmode = 1 else: self._debugmode = 2 self.writestatus() # Enter interact loop. We may hang in here for a while ... self._interacting = True while self._interacting: time.sleep(0.05) interpreter.process_commands() pe = os.getenv("PYZO_PROCESS_EVENTS_WHILE_DEBUGGING", "").lower() if pe in ("1", "true", "yes"): interpreter.guiApp.process_events() # Reset self._debugmode = 0 interpreter.locals = interpreter._main_locals interpreter.globals = None interpreter._dbFrames = [] self.writestatus() def stopinteraction(self): """Stop the interaction loop.""" self._interacting = False def set_on(self): """To turn debugging on right before executing code.""" # Reset and set bottom frame self.reset() self.botframe = sys._getframe().f_back # Don't stop except at breakpoints or when finished # We do: self._set_stopinfo(self.botframe, None, -1) from set_continue # But write it all out because py2.4 does not have _set_stopinfo self.stopframe = self.botframe self.returnframe = None self.quitting = False self.stoplineno = -1 # Set tracing or not if self.breaks: sys.settrace(self.trace_dispatch) else: sys.settrace(None) def message(self, msg): """Alias for interpreter.write(), but appends a newline. Writes to stderr. """ sys._pyzoInterpreter.write(msg + "\n") def error(self, msg): """method used in some code that we copied from pdb.""" raise self.message("*** " + msg) def writestatus(self): """Write the debug status so the IDE can take action.""" interpreter = sys._pyzoInterpreter # Collect frames info frames = [] for f in interpreter._dbFrames: # Get fname and lineno, and correct if required fname, lineno = f.f_code.co_filename, f.f_lineno fname, lineno = interpreter.correctfilenameandlineno(fname, lineno) if not fname.startswith("<"): fname2 = os.path.abspath(fname) if os.path.isfile(fname2): fname = fname2 frames.append((fname, lineno, f.f_code.co_name)) # Build string # text = 'File "%s", line %i, in %s' % ( # fname, lineno, f.f_code.co_name) # frames.append(text) # Send info object state = { "index": interpreter._dbFrameIndex, "frames": frames, "debugmode": self._debugmode, } interpreter.context._stat_debug.send(state) ## Stuff that we need to overload # Overload set_break to also allow non-existing filenames like " len(interpreter._dbFrames): interpreter._dbFrameIndex = len(interpreter._dbFrames) # Set name and locals frame = interpreter._dbFrames[interpreter._dbFrameIndex - 1] interpreter._dbFrameName = frame.f_code.co_name interpreter.locals = frame.f_locals interpreter.globals = frame.f_globals self.writestatus() def do_up(self, arg): """Go one frame up the stack.""" interpreter = sys._pyzoInterpreter if not self._debugmode: self.message("Not in debug mode.") else: # Decrease frame index interpreter._dbFrameIndex -= 1 if interpreter._dbFrameIndex < 1: interpreter._dbFrameIndex = 1 # Set name and locals frame = interpreter._dbFrames[interpreter._dbFrameIndex - 1] interpreter._dbFrameName = frame.f_code.co_name interpreter.locals = frame.f_locals interpreter.globals = frame.f_globals self.writestatus() def do_down(self, arg): """Go one frame down the stack.""" interpreter = sys._pyzoInterpreter if not self._debugmode: self.message("Not in debug mode.") else: # Increase frame index interpreter._dbFrameIndex += 1 if interpreter._dbFrameIndex > len(interpreter._dbFrames): interpreter._dbFrameIndex = len(interpreter._dbFrames) # Set name and locals frame = interpreter._dbFrames[interpreter._dbFrameIndex - 1] interpreter._dbFrameName = frame.f_code.co_name interpreter.locals = frame.f_locals interpreter.globals = frame.f_globals self.writestatus() def do_stop(self, arg): """Stop debugging, terminate process execution.""" # Can be done both in postmortem and normal debugging if not self._debugmode: self.message("Not in debug mode.") else: self.set_quit() self.stopinteraction() def do_where(self, arg): """Print the stack trace and indicate the current frame.""" interpreter = sys._pyzoInterpreter if not self._debugmode: self.message("Not in debug mode.") else: lines = [] for i in range(len(interpreter._dbFrames)): frameIndex = i + 1 f = interpreter._dbFrames[i] # Get fname and lineno, and correct if required fname, lineno = f.f_code.co_filename, f.f_lineno fname, lineno = interpreter.correctfilenameandlineno(fname, lineno) # Build string text = 'File "%s", line %i, in %s' % (fname, lineno, f.f_code.co_name) if frameIndex == interpreter._dbFrameIndex: lines.append("-> %i: %s" % (frameIndex, text)) else: lines.append(" %i: %s" % (frameIndex, text)) lines.append("") sys.stdout.write("\n".join(lines)) def do_continue(self, arg): """Continue the program execution.""" if self._debugmode == 0: self.message("Not in debug mode.") elif self._debugmode == 1: self.message("Cannot use 'continue' in postmortem debug mode.") else: self.set_continue() self.stopinteraction() def do_step(self, arg): """Execute the current line, stop ASAP (step into).""" if self._debugmode == 0: self.message("Not in debug mode.") elif self._debugmode == 1: self.message("Cannot use 'step' in postmortem debug mode.") else: self.set_step() self.stopinteraction() def do_next(self, arg): """Continue execution until the next line (step over).""" interpreter = sys._pyzoInterpreter if self._debugmode == 0: self.message("Not in debug mode.") elif self._debugmode == 1: self.message("Cannot use 'next' in postmortem debug mode.") else: frame = interpreter._dbFrames[-1] self.set_next(frame) self.stopinteraction() def do_return(self, arg): """Continue execution until the current function returns (step out).""" interpreter = sys._pyzoInterpreter if self._debugmode == 0: self.message("Not in debug mode.") elif self._debugmode == 1: self.message("Cannot use 'return' in postmortem debug mode.") else: frame = interpreter._dbFrames[-1] self.set_return(frame) self.stopinteraction() def do_events(self, arg): """Process GUI events for the integrated GUI toolkit.""" interpreter = sys._pyzoInterpreter interpreter.guiApp.process_events() pyzo-4.12.3/pyzo/pyzokernel/guiintegration.py000066400000000000000000000571021421373005400214130ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module to integrate GUI event loops in the Pyzo interpreter. This specifies classes that all have the same interface. Each class wraps one GUI toolkit. Support for PyQt4, WxPython, FLTK, GTK, TK. """ import sys import time from pyzokernel import printDirect # Warning message. mainloopWarning = ( """ Note: The GUI event loop is already running in the pyzo kernel. Be aware that the function to enter the main loop does not block. """.strip() + "\n" ) # Qt has its own message mainloopWarning_qt = """ Note on using QApplication.exec_(): The GUI event loop is already running in the pyzo kernel, and exec_() does not block. In most cases your app should run fine without the need for modifications. For clarity, this is what the pyzo kernel does: - Prevent deletion of objects in the local scope of functions leading to exec_() - Prevent system exit right after the exec_() call """.lstrip() # Print the main loop warning at most once _printed_warning = False def print_mainloop_warning(msg=None): global _printed_warning if not _printed_warning: _printed_warning = True msg = msg or mainloopWarning printDirect(msg) class App_base: """Defines the interface.""" def process_events(self): pass def _keyboard_interrupt(self, signum=None, frame=None): interpreter = sys._pyzoInterpreter interpreter.write("\nKeyboardInterrupt\n") interpreter._resetbuffer() if interpreter.more: interpreter.more = 0 interpreter.newPrompt = True def run(self, repl_callback, sleep_time=0.01): """Very simple mainloop. Subclasses can overload this to use the native event loop. Attempt to process GUI events every so often. """ # The sleep_time is 100Hz by default, which seems like an ok balance # between CPU strain and smooth animations. Ideally we'd run a # real event loop though, that is fast when needed and just sleeps # when the gui is idle, saving battery life. if hasattr(time, "perf_counter"): perf_counter = time.perf_counter else: perf_counter = time.time perf_counter repl_time = 0.099 next_repl = perf_counter() + repl_time # The toplevel while-loop is just to catch Keyboard interrupts # and then proceed. The inner while-loop is the actual event loop. while True: try: while True: time.sleep(sleep_time) self.process_events() if perf_counter() > next_repl: next_repl = perf_counter() + repl_time repl_callback() except KeyboardInterrupt: self._keyboard_interrupt() except TypeError: # For some reason, when wx is integrated, keyboard interrupts # result in a TypeError. # I tried to find the source, but did not find it. If anyone # has an idea, please e-mail me! if "_wx" in self.__class__.__name__.lower(): self._keyboard_interrupt() def quit(self): raise SystemExit() class App_nogui(App_base): """The app for when there is no GUI.""" def run(self, repl_callback): # Move at a slow pace - there is no gui to keep running super().run(repl_callback, 0.1) # Experimental and WIP - not used at the moment class App_asyncio_new(App_base): """Based on asyncio (standard Python) event loop. Actually run an event loop and support switching to another loop. """ def __init__(self): import asyncio asyncio.integrate_with_ide = self.enable self._loop = None def run(self, repl_callback): import asyncio self._repl_callback = repl_callback self._sleep_time = 0.1 loop = asyncio.get_event_loop_policy().get_event_loop() self.enable(loop, True) def enable(self, loop, run=False): if loop is not self._loop: self.swap_loops_when_new_one_starts(self._loop, loop) loop.call_later(self._sleep_time, self._ping_repl_callback) if run: loop.run_forever() def swap_loops_when_new_one_starts(self, old_loop, new_loop): def new_run_forever(*args, **kwargs): if old_loop and old_loop.is_running(): old_loop.stop() self._loop = new_loop if not new_loop.is_running(): new_loop.original_run_forever(*args, **kwargs) if not hasattr(new_loop, "original_run_forever"): new_loop.original_run_forever = new_loop.run_forever new_loop.run_forever = new_run_forever def _ping_repl_callback(self): import asyncio self._repl_callback() # Get loop that (probably) called this try: loop = asyncio.get_running_loop() except Exception: loop = None # If its the same as our current loop, we want to be called again if loop: self._loop.call_later(self._sleep_time, self._ping_repl_callback) def quit(self): if self._loop: self._loop.stop() # raise SystemExit() class App_asyncio(App_base): """Based on asyncio (standard Python) event loop. We do not run the event loop and a timer to keep the REPL active, because asyncio does allow creating new loops while one is running. So we stick to a simple and non-intrusive mechanism to regularly process events from whatever event loop is current at any given moment. """ def __init__(self): import asyncio self.app = asyncio.get_event_loop_policy().get_event_loop() self.app._in_event_loop = "Pyzo" self._warned_about_process_events = False self._blocking = False # Hijack # Prevent entering forever, not giving control back to repl self.app._original_run_forever = self.app.run_forever self.app.run_forever = self.stub_run_forever # The run_until_complete() calls run_forever and then checks that future completed self.app._original_run_until_complete = self.app.run_until_complete self.app.run_until_complete = self.stub_run_until_complete # Prevent the loop from being destroyed self.app._original_close = self.app.close self.app.close = self.stub_close # Stop is fine, since we don't "run" the loop, but just keep it active def stub_run_until_complete(self, *args): self._blocking = True return self.app._original_run_until_complete(*args) def stub_run_forever(self): if self._blocking: self._blocking = False self.app._original_run_forever() def stub_close(self): pass def process_events(self): import asyncio try: loop = asyncio.get_event_loop_policy().get_event_loop() except Exception: loop = None if loop is not self.app: return # The loop was replaced loop = self.app if loop.is_closed(): pass # not much we can do elif loop.is_running(): if not self._warned_about_process_events: print("Warning: cannot process events synchronously in asyncio") self._warned_about_process_events = True else: # First calling stop and then run_forever() process all pending events. # We do this multiple times to work around the limited frequence that this # method gets called, but we need to use a private attribute for that :/ for i in range(20): loop.stop() loop._original_run_forever() if len(getattr(loop, "_ready", ())) == 0: break def quit(self): loop = self.app try: if not loop.is_closed(): loop.close() finally: raise SystemExit() class App_tk(App_base): """Tries to import tkinter and returns a withdrawn tkinter root window. If tkinter is already imported or not available, this returns None. Modifies tkinter's mainloop with a dummy so when a module calls mainloop, it does not block. """ def __init__(self): # Try importing import sys if sys.version[0] == "3": import tkinter else: import Tkinter as tkinter # Replace mainloop. Note that a root object obtained with # tkinter.Tk() has a mainloop method, which will simply call # tkinter.mainloop(). def dummy_mainloop(*args, **kwargs): print_mainloop_warning() tkinter.Misc.mainloop = dummy_mainloop tkinter.mainloop = dummy_mainloop # Create tk "main window" that has a Tcl interpreter. # Withdraw so it's not shown. This object can be used to # process events for any other windows. r = tkinter.Tk() r.withdraw() # Store the app instance to process events self.app = r # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" tkinter._in_event_loop = "Pyzo" def process_events(self): self.app.update() class App_fltk(App_base): """Hijack fltk 1. This one is easy. Just call fl.wait(0.0) now and then. Note that both tk and fltk try to bind to PyOS_InputHook. Fltk will warn about not being able to and Tk does not, so we should just hijack (import) fltk first. The hook that they try to fetch is not required in pyzo, because the pyzo interpreter will keep all GUI backends updated when idle. """ def __init__(self): # Try importing import fltk as fl import types # Replace mainloop with a dummy def dummyrun(*args, **kwargs): print_mainloop_warning() fl.Fl.run = types.MethodType(dummyrun, fl.Fl) # Store the app instance to process events self.app = fl.Fl # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" fl._in_event_loop = "Pyzo" def process_events(self): self.app.wait(0) class App_fltk2(App_base): """Hijack fltk 2.""" def __init__(self): # Try importing import fltk2 as fl # Replace mainloop with a dummy def dummyrun(*args, **kwargs): print_mainloop_warning() fl.run = dummyrun # Return the app instance to process events self.app = fl # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" def process_events(self): # is this right? self.app.wait(0) class App_tornado(App_base): """Hijack Tornado event loop. Tornado does have a function to process events, but it does not work when the event loop is already running. Therefore we don't enter the real Tornado event loop, but just poll it regularly. """ def __init__(self): # Try importing import tornado.ioloop # Get the "app" instance self.app = tornado.ioloop.IOLoop.instance() # Replace mainloop with a dummy def dummy_start(): print_mainloop_warning() sys._pyzoInterpreter.ignore_sys_exit = True self.app.add_callback(reset_sys_exit) def dummy_stop(): pass def reset_sys_exit(): sys._pyzoInterpreter.ignore_sys_exit = False def run_sync(func, timeout=None): self.app.start = self.app._original_start try: self.app._original_run_sync(func, timeout) finally: self.app.start = self.app._dummy_start # self.app._original_start = self.app.start self.app._dummy_start = dummy_start self.app.start = self.app._dummy_start # self.app._original_stop = self.app.stop self.app._dummy_stop = dummy_stop self.app.stop = self.app._dummy_stop # self.app._original_run_sync = self.app.run_sync self.app.run_sync = run_sync # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" self._warned_about_process_events = False def process_events(self): if not self._warned_about_process_events: print("Warning: cannot process events synchronously in Tornado") self._warned_about_process_events = True # self.app.run_sync(lambda x=None: None) def run(self, repl_callback): from tornado.ioloop import PeriodicCallback # Create timer self._timer = PeriodicCallback(repl_callback, 0.05 * 1000) self._timer.start() # Enter mainloop self.app._original_start() while True: try: self.app._original_start() except KeyboardInterrupt: self._keyboard_interrupt() self.app._original_stop() continue break def quit(self): self.app._original_stop() # raise SystemExit() class App_qt(App_base): """Common functionality for pyqt and pyside""" def __init__(self): import types # Try importing qt QtGui, QtCore = self.importCoreAndGui() self._QtGui, self._QtCore = QtGui, QtCore # Store the real application class if not hasattr(QtGui, "real_QApplication"): QtGui.real_QApplication = QtGui.QApplication class QApplication_hijacked(QtGui.QApplication): """QApplication_hijacked(*args, **kwargs) Hijacked QApplication class. This class has a __new__() method that always returns the global application instance, i.e. QtGui.qApp. The QtGui.qApp instance is an instance of the original QtGui.QApplication, but with its __init__() and exec_() methods replaced. You can subclass this class; the global application instance will be given the methods and attributes so it will behave like the subclass. """ def __new__(cls, *args, **kwargs): # Get the singleton application instance theApp = QApplication_hijacked.instance() # Instantiate an original QApplication instance if we need to if theApp is None: theApp = QtGui.real_QApplication(*args, **kwargs) QtGui.qApp = theApp # Add attributes of cls to the instance to make it # behave as if it were an instance of that class for key in dir(cls): # Skip all magic methods except __init__ if key.startswith("__") and key != "__init__": continue # Skip attributes that we already have val = getattr(cls, key) if hasattr(theApp.__class__, key): if hash(val) == hash(getattr(theApp.__class__, key)): continue # Make method? if hasattr(val, "__call__"): if hasattr(val, "im_func"): val = val.im_func # Python 2.x val = types.MethodType(val, theApp.__class__) # Set attribute on app instance (not the class!) try: setattr(theApp, key, val) except Exception: pass # tough luck setattr(theApp, "exec", theApp.exec_) # Call init function (in case the user overloaded it) theApp.__init__(*args, **kwargs) # Return global app object (modified to the users needs) return theApp def __init__(self, *args, **kwargs): pass def exec_(self, *args, **kwargs): """This function does nothing, except printing a warning message. The point is that a Qt App can crash quite hard if an object goes out of scope, and the error is not obvious. """ print_mainloop_warning(mainloopWarning_qt) # Store local namespaces (scopes) of any functions that # precede this call. It might have a widget or application # object that should not be deleted ... import inspect, __main__ for caller in inspect.stack()[1:]: frame, name = caller[0], caller[3] if name.startswith("<"): # most probably "" break else: __main__.__dict__[name + "_locals"] = frame.f_locals # Tell interpreter to ignore any system exits sys._pyzoInterpreter.ignore_sys_exit = True # But re-enable it as soon as *this event* is processed def reEnableSysExit(): sys._pyzoInterpreter.ignore_sys_exit = False self._reEnableSysExitTimer = timer = QtCore.QTimer() timer.singleShot(0, reEnableSysExit) def quit(self, *args, **kwargs): """Do not quit if Qt app quits.""" pass # Instantiate application object self.app = QApplication_hijacked([""]) # Keep it alive even if all windows are closed self.app.setQuitOnLastWindowClosed(False) # Replace app class QtGui.QApplication = QApplication_hijacked # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" QtGui._in_event_loop = "Pyzo" # Use sys.excepthook to catch keyboard interrupts that occur # in event handlers. We also want to call the curren hook self._original_excepthook = sys.excepthook sys.excepthook = self._excepthook def _excepthook(self, type, value, traceback): if issubclass(type, KeyboardInterrupt): self._keyboard_interrupt() elif self._original_excepthook is not None: return self._original_excepthook(type, value, traceback) def process_events(self): self.app.sendPostedEvents() self.app.processEvents() def run(self, repl_callback): # Create timer timer = self._timer = self._QtCore.QTimer() timer.setSingleShot(False) timer.setInterval(int(0.1 * 1000)) # ms timer.timeout.connect(repl_callback) timer.start() # Enter Qt mainloop # self._QtGui.real_QApplication.exec_(self.app) exec_ = getattr(self._QtGui.real_QApplication, "exec", None) if exec_ is None: exec_ = self._QtGui.real_QApplication.exec_ try: try_again = False exec_(self.app) except TypeError: try_again = True if try_again: exec_() def quit(self): # A nicer way to quit self._QtGui.real_QApplication.quit() class App_pyqt6(App_qt): """Hijack the PyQt6 mainloop.""" def importCoreAndGui(self): # Try importing qt import PyQt6 # noqa from PyQt6 import QtGui, QtCore, QtWidgets # noqa return QtWidgets, QtCore # QApp sits on QtWidgets class App_pyqt5(App_qt): """Hijack the PyQt5 mainloop.""" def importCoreAndGui(self): # Try importing qt import PyQt5 # noqa from PyQt5 import QtGui, QtCore, QtWidgets # noqa return QtWidgets, QtCore # QApp sits on QtWidgets class App_pyqt4(App_qt): """Hijack the PyQt4 mainloop.""" def importCoreAndGui(self): # Try importing qt import PyQt4 # noqa from PyQt4 import QtGui, QtCore return QtGui, QtCore class App_pyside6(App_qt): """Hijack the PySide6 mainloop.""" def importCoreAndGui(self): # Try importing qt import PySide6 # noqa from PySide6 import QtGui, QtCore, QtWidgets # noqa return QtWidgets, QtCore # QApp sits on QtWidgets class App_pyside2(App_qt): """Hijack the PySide2 mainloop.""" def importCoreAndGui(self): # Try importing qt import PySide2 # noqa from PySide2 import QtGui, QtCore, QtWidgets # noqa return QtWidgets, QtCore # QApp sits on QtWidgets class App_pyside(App_qt): """Hijack the PySide mainloop.""" def importCoreAndGui(self): # Try importing qt import PySide # noqa from PySide import QtGui, QtCore return QtGui, QtCore class App_wx(App_base): """Hijack the wxWidgets mainloop.""" def __init__(self): # Try importing try: import wx except ImportError: # For very old versions of WX import wxPython as wx # Create dummy mainloop to replace original mainloop def dummy_mainloop(*args, **kw): print_mainloop_warning() # Depending on version, replace mainloop ver = wx.__version__ orig_mainloop = None if ver[:3] >= "2.5": if hasattr(wx, "_core_"): core = getattr(wx, "_core_") elif hasattr(wx, "_core"): core = getattr(wx, "_core") else: raise ImportError orig_mainloop = core.PyApp_MainLoop core.PyApp_MainLoop = dummy_mainloop elif ver[:3] == "2.4": orig_mainloop = wx.wxc.wxPyApp_MainLoop wx.wxc.wxPyApp_MainLoop = dummy_mainloop else: # Unable to find either wxPython version 2.4 or >= 2.5." raise ImportError self._orig_mainloop = orig_mainloop # Store package wx self.wx = wx # Get and store the app instance to process events app = wx.GetApp() if app is None: app = wx.App(False) self.app = app # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" wx._in_event_loop = "Pyzo" def process_events(self): wx = self.wx # This bit is really needed old = wx.EventLoop.GetActive() eventLoop = wx.EventLoop() wx.EventLoop.SetActive(eventLoop) while eventLoop.Pending(): eventLoop.Dispatch() # Process and reset self.app.ProcessIdle() # otherwise frames do not close wx.EventLoop.SetActive(old) class App_gtk(App_base): """Modifies pyGTK's mainloop with a dummy so user code does not block IPython. processing events is done using the module' main_iteration function. """ def __init__(self): # Try importing gtk import gtk # Replace mainloop with a dummy def dummy_mainloop(*args, **kwargs): print_mainloop_warning() gtk.mainloop = dummy_mainloop gtk.main = dummy_mainloop # Replace main_quit with a dummy too def dummy_quit(*args, **kwargs): pass gtk.main_quit = dummy_quit gtk.mainquit = dummy_quit # Make sure main_iteration exists even on older versions if not hasattr(gtk, "main_iteration"): gtk.main_iteration = gtk.mainiteration # Store 'app object' self.app = gtk # Notify that we integrated the event loop self.app._in_event_loop = "Pyzo" def process_events(self): gtk = self.app while gtk.events_pending(): gtk.main_iteration(False) pyzo-4.12.3/pyzo/pyzokernel/guisupport.py000066400000000000000000000140301421373005400205750ustar00rootroot00000000000000#!/usr/bin/env python # coding: utf-8 """ Support for creating GUI apps and starting event loops. IPython's GUI integration allows interative plotting and GUI usage in IPython session. IPython has two different types of GUI integration: 1. The terminal based IPython supports GUI event loops through Python's PyOS_InputHook. PyOS_InputHook is a hook that Python calls periodically whenever raw_input is waiting for a user to type code. We implement GUI support in the terminal by setting PyOS_InputHook to a function that iterates the event loop for a short while. It is important to note that in this situation, the real GUI event loop is NOT run in the normal manner, so you can't use the normal means to detect that it is running. 2. In the two process IPython kernel/frontend, the GUI event loop is run in the kernel. In this case, the event loop is run in the normal manner by calling the function or method of the GUI toolkit that starts the event loop. In addition to starting the GUI event loops in one of these two ways, IPython will *always* create an appropriate GUI application object when GUi integration is enabled. If you want your GUI apps to run in IPython you need to do two things: 1. Test to see if there is already an existing main application object. If there is, you should use it. If there is not an existing application object you should create one. 2. Test to see if the GUI event loop is running. If it is, you should not start it. If the event loop is not running you may start it. This module contains functions for each toolkit that perform these things in a consistent manner. Because of how PyOS_InputHook runs the event loop you cannot detect if the event loop is running using the traditional calls (such as ``wx.GetApp.IsMainLoopRunning()`` in wxPython). If PyOS_InputHook is set These methods will return a false negative. That is, they will say the event loop is not running, when is actually is. To work around this limitation we proposed the following informal protocol: * Whenever someone starts the event loop, they *must* set the ``_in_event_loop`` attribute of the main application object to ``True``. This should be done regardless of how the event loop is actually run. * Whenever someone stops the event loop, they *must* set the ``_in_event_loop`` attribute of the main application object to ``False``. * If you want to see if the event loop is running, you *must* use ``hasattr`` to see if ``_in_event_loop`` attribute has been set. If it is set, you *must* use its value. If it has not been set, you can query the toolkit in the normal manner. * If you want GUI support and no one else has created an application or started the event loop you *must* do this. We don't want projects to attempt to defer these things to someone else if they themselves need it. The functions below implement this logic for each GUI toolkit. If you need to create custom application subclasses, you will likely have to modify this code for your own purposes. This code can be copied into your own project so you don't have to depend on IPython. """ # ----------------------------------------------------------------------------- # Copyright (C) 2008-2010 The IPython Development Team # # Distributed under the terms of the BSD License. The full license is in # the file COPYING, distributed as part of this software. # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # Imports # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # wx # ----------------------------------------------------------------------------- def get_app_wx(*args, **kwargs): """Create a new wx app or return an exiting one.""" import wx app = wx.GetApp() if app is None: if "redirect" not in kwargs: kwargs["redirect"] = False # app = wx.PySimpleApp(*args, **kwargs) Deprecated! app = wx.App(*args, **kwargs) return app def is_event_loop_running_wx(app=None): """Is the wx event loop running.""" if app is None: app = get_app_wx() if hasattr(app, "_in_event_loop"): return app._in_event_loop else: return app.IsMainLoopRunning() def start_event_loop_wx(app=None): """Start the wx event loop in a consistent manner.""" if app is None: app = get_app_wx() if not is_event_loop_running_wx(app): app._in_event_loop = True app.MainLoop() app._in_event_loop = False else: app._in_event_loop = True # ----------------------------------------------------------------------------- # qt4 # ----------------------------------------------------------------------------- def get_app_qt4(*args, **kwargs): """Create a new qt4 app or return an existing one.""" from PyQt4 import QtWidgets app = QtWidgets.QApplication.instance() if app is None: if not args: args = ([""],) app = QtWidgets.QApplication(*args, **kwargs) return app def is_event_loop_running_qt4(app=None): """Is the qt4 event loop running.""" if app is None: app = get_app_qt4([""]) if hasattr(app, "_in_event_loop"): return app._in_event_loop else: # Does qt4 provide a other way to detect this? return False def start_event_loop_qt4(app=None): """Start the qt4 event loop in a consistent manner.""" if app is None: app = get_app_qt4([""]) if not is_event_loop_running_qt4(app): app._in_event_loop = True app.exec_() app._in_event_loop = False else: app._in_event_loop = True # ----------------------------------------------------------------------------- # Tk # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # gtk # ----------------------------------------------------------------------------- pyzo-4.12.3/pyzo/pyzokernel/interpreter.py000066400000000000000000001313551421373005400207310ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Module pyzokernel.interpreter Implements the Pyzo interpreter. Notes on IPython ---------------- We integrate IPython via the IPython.core.interactiveshell.InteractiveShell. * The namespace is set to __main__ * We call its run_cell method to execute code * Debugging/breakpoints are "enabled using the pre_run_code_hook * Debugging occurs in our own debugger * GUI integration is all handled by pyzo * We need special prompts for IPython input """ import os import sys import time import logging import platform import struct import shlex from codeop import CommandCompiler import traceback import keyword import inspect # noqa - Must be in this namespace import bdb from distutils.version import LooseVersion as LV import yoton from pyzokernel import guiintegration, printDirect from pyzokernel.magic import Magician from pyzokernel.debug import Debugger # Init last traceback information sys.last_type = None sys.last_value = None sys.last_traceback = None # Set Python version and get some names PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION < 3: ustr = unicode # noqa bstr = str input = raw_input # noqa else: ustr = str bstr = bytes class PS1: """Dynamic prompt for PS1. Show IPython prompt if available, and show current stack frame when debugging. """ def __init__(self, pyzo): self._pyzo = pyzo def __str__(self): if self._pyzo._dbFrames: # When debugging, show where we are, do not use IPython prompt preamble = "(" + self._pyzo._dbFrameName + ")" return "\n\x1b[0;32m%s>>>\x1b[0m " % preamble elif self._pyzo._ipython: # IPython prompt return "\n\x1b[0;32mIn [\x1b[1;32m%i\x1b[0;32m]:\x1b[0m " % ( self._pyzo._ipython.execution_count ) # return 'In [%i]: ' % (self._ipython.execution_count) else: # Normal Python prompt return "\n\x1b[0;32m>>>\x1b[0m " class PS2: """Dynamic prompt for PS2.""" def __init__(self, pyzo): self._pyzo = pyzo def __str__(self): if self._pyzo._dbFrames: # When debugging, show where we are, do not use IPython prompt preamble = "(" + self._pyzo._dbFrameName + ")" return "\x1b[0;32m%s...\x1b[0m " % preamble elif self._pyzo._ipython: # Dots ala IPython nspaces = len(str(self._pyzo._ipython.execution_count)) + 2 return "\x1b[0;32m%s...:\x1b[0m " % (nspaces * " ") else: # Just dots return "\x1b[0;32m...\x1b[0m " class PyzoInterpreter: """PyzoInterpreter The pyzo interpreter is the part that makes the pyzo kernel interactive. It executes code, integrates the GUI toolkit, parses magic commands, etc. The pyzo interpreter has been designed to emulate the standard interactive Python console as much as possible, but with a lot of extra goodies. There is one instance of this class, stored at sys._pyzoInterpreter and at the __pyzo__ variable in the global namespace. The global instance has a couple of interesting attributes: * context: the yoton Context instance at the kernel (has all channels) * introspector: the introspector instance (a subclassed yoton.RepChannel) * magician: the object that handles the magic commands * guiApp: a wrapper for the integrated GUI application """ # Simular working as code.InteractiveConsole. Some code was copied, but # the following things are changed: # - prompts are printed in the err stream, like the default interpreter does # - uses an asynchronous read using the yoton interface # - support for hijacking GUI toolkits # - can run large pieces of code # - support post mortem debugging # - support for magic commands def __init__(self, locals, filename=""): # Init variables for locals and globals (globals only for debugging) self.locals = locals self.globals = None # Store filename self._filename = filename # Store ref of locals that is our main self._main_locals = locals # Flag to ignore sys exit, to allow running some scripts # interactively, even if they call sys.exit. self.ignore_sys_exit = False # Information for debugging. If self._dbFrames, we're in debug mode # _dbFrameIndex starts from 1 self._dbFrames = [] self._dbFrameIndex = 0 self._dbFrameName = "" # Init datase to store source code that we execute self._codeCollection = ExecutedSourceCollection() # Init buffer to deal with multi-line command in the shell self._buffer = [] # Create compiler if sys.platform.startswith("java"): import compiler self._compile = compiler.compile # or 'exec' does not work else: self._compile = CommandCompiler() # Instantiate magician and tracer self.magician = Magician() self.debugger = Debugger() # To keep track of whether to send a new prompt, and whether more # code is expected. self.more = 0 self.newPrompt = True # Code and script to run on first iteration self._codeToRunOnStartup = None self._scriptToRunOnStartup = None # Remove "THIS" directory from the PYTHONPATH # to prevent unwanted imports. Same for pyzokernel dir thisPath = os.getcwd() for p in [thisPath, os.path.join(thisPath, "pyzokernel")]: while p in sys.path: sys.path.remove(p) def run(self): """Run (start the mainloop) Here we enter the main loop, which is provided by the guiApp. This event loop calls process_commands on a regular basis. We may also enter the debug intereaction loop, either from a request for post-mortem debugging, or *during* execution by means of a breakpoint. When in this debug-loop, the guiApp event loop lays still, but the debug-loop does call process-commands for user interaction. When the user wants to quit, SystemExit is raised (one way or another). This is detected in process_commands and the exception instance is stored in self._exitException. Then the debug-loop is stopped if necessary, and the guiApp is told to stop its event loop. And that brings us back here, where we exit using in order of preference: self._exitException, the exception with which the event loop was exited (if any), or a new exception. """ # Prepare self._prepare() self._exitException = None # Enter main try: self.guiApp.run(self.process_commands) except SystemExit: # Set self._exitException if it is not set yet type, value, tb = sys.exc_info() del tb if self._exitException is None: self._exitException = value # Exit if self._exitException is None: self._exitException = SystemExit() raise self._exitException def _prepare(self): """Prepare for running the main loop. Here we do some initialization like obtaining the startup info, creating the GUI application wrapper, etc. """ # Reset debug status self.debugger.writestatus() # Get startup info (get a copy, or setting the new version wont trigger!) while self.context._stat_startup.recv() is None: time.sleep(0.02) self.startup_info = startup_info = self.context._stat_startup.recv().copy() # Set startup info (with additional info) if sys.platform.startswith("java"): import __builtin__ as builtins # Jython else: builtins = __builtins__ if not isinstance(builtins, dict): builtins = builtins.__dict__ startup_info["builtins"] = [builtin for builtin in builtins.keys()] startup_info["version"] = tuple(sys.version_info) startup_info["keywords"] = keyword.kwlist # Update startup info, we update again at the end of this method self.context._stat_startup.send(startup_info.copy()) # Prepare the Python environment self._prepare_environment(startup_info) # Run startup code (before loading GUI toolkit or IPython self._run_startup_code(startup_info) # Write Python banner (to stdout) thename = "Python" if sys.version_info[0] == 2: thename = "Legacy Python" if "__pypy__" in sys.builtin_module_names: thename = "Pypy" if sys.platform.startswith("java"): thename = "Jython" # Jython cannot do struct.calcsize("P") import java.lang real_plat = java.lang.System.getProperty("os.name").lower() plat = "%s/%s" % (sys.platform, real_plat) elif sys.platform.startswith("win"): NBITS = 8 * struct.calcsize("P") plat = "Windows (%i bits)" % NBITS else: NBITS = 8 * struct.calcsize("P") plat = "%s (%i bits)" % (sys.platform, NBITS) printDirect( "%s %s on %s.\n" % (thename, sys.version.split("[")[0].rstrip(), plat) ) # Integrate GUI guiName, guiError = self._integrate_gui(startup_info) # Write pyzo part of banner (including what GUI loop is integrated) if True: pyzoBanner = "This is the Pyzo interpreter" if guiError: pyzoBanner += ". " + guiError + "\n" elif guiName: pyzoBanner += " with integrated event loop for " pyzoBanner += guiName + ".\n" else: pyzoBanner += ".\n" printDirect(pyzoBanner) # Try loading IPython if startup_info.get("ipython", "").lower() in ("", "no", "false"): self._ipython = None else: try: self._load_ipyhon() except Exception: type, value, tb = sys.exc_info() del tb printDirect("IPython could not be loaded: %s\n" % str(value)) self._ipython = None startup_info["ipython"] = "no" if not self._ipython: startup_info["ipython"] = "no" # Set prompts sys.ps1 = PS1(self) sys.ps2 = PS2(self) # Notify about project path projectPath = startup_info["projectPath"] if projectPath: printDirect("Prepending the project path %r to sys.path\n" % projectPath) # Write tips message. if self._ipython: import IPython printDirect( "\nUsing IPython %s -- An enhanced Interactive Python.\n" % IPython.__version__ ) printDirect( "? -> Introduction and overview of IPython's features.\n" "%quickref -> Quick reference.\n" "help -> Python's own help system.\n" "object? -> Details about 'object', " "use 'object??' for extra details.\n" ) else: printDirect( "Type 'help' for help, " + "type '?' for a list of *magic* commands.\n" ) # Notify the running of the script if self._scriptToRunOnStartup: printDirect( '\x1b[0;33mRunning script: "' + self._scriptToRunOnStartup + '"\x1b[0m\n' ) # Prevent app nap on OSX 9.2 and up # The _nope module is taken from MINRK's appnope package if sys.platform == "darwin" and LV(platform.mac_ver()[0]) >= LV("10.9"): from pyzokernel import _nope _nope.nope() # Setup post-mortem debugging via appropriately logged exceptions class PMHandler(logging.Handler): def emit(self, record): if record.exc_info: sys.last_type, sys.last_value, sys.last_traceback = record.exc_info return record # Setup logging root_logger = logging.getLogger() if not root_logger.handlers: root_logger.addHandler(logging.StreamHandler()) root_logger.addHandler(PMHandler()) # Warn when logging.basicConfig is used (see issue #645) def basicConfigDoesNothing(*args, **kwargs): logging.warn( "Pyzo already added handlers to the root handler, " + "so logging.basicConfig() does nothing." ) try: logging.basicConfig = basicConfigDoesNothing except Exception: pass # Update startup info self.context._stat_startup.send(startup_info) def _prepare_environment(self, startup_info): """Prepare the Python environment. There are two possibilities: either we run a script or we run interactively. """ # Get whether we should (and can) run as script scriptFilename = startup_info["scriptFile"] if scriptFilename: if not os.path.isfile(scriptFilename): printDirect('Invalid script file: "' + scriptFilename + '"\n') scriptFilename = None # Get project path projectPath = startup_info["projectPath"] if scriptFilename.endswith(".ipynb"): # Run Jupyter notebook import notebook.notebookapp sys.argv = ["jupyter_notebook", scriptFilename] sys.exit(notebook.notebookapp.main()) elif scriptFilename: # RUN AS SCRIPT # Set __file__ (note that __name__ is already '__main__') self.locals["__file__"] = scriptFilename # Set command line arguments sys.argv[:] = [] sys.argv.append(scriptFilename) sys.argv.extend(shlex.split(startup_info.get("argv", ""))) # Insert script directory to path theDir = os.path.abspath(os.path.dirname(scriptFilename)) if theDir not in sys.path: sys.path.insert(0, theDir) if projectPath is not None: sys.path.insert(0, projectPath) # Go to script dir os.chdir(os.path.dirname(scriptFilename)) # Run script later self._scriptToRunOnStartup = scriptFilename else: # RUN INTERACTIVELY # No __file__ (note that __name__ is already '__main__') self.locals.pop("__file__", "") # Remove all command line arguments, set first to empty string sys.argv[:] = [] sys.argv.append("") sys.argv.extend(shlex.split(startup_info.get("argv", ""))) # Insert current directory to path sys.path.insert(0, "") if projectPath: sys.path.insert(0, projectPath) # Go to start dir startDir = startup_info["startDir"] if startDir and os.path.isdir(startDir): os.chdir(startDir) else: os.chdir(os.path.expanduser("~")) # home dir def _run_startup_code(self, startup_info): """Execute the startup code or script.""" # Run startup script (if set) script = startup_info["startupScript"] # Should we use the default startupScript? if script == "$PYTHONSTARTUP": script = os.environ.get("PYTHONSTARTUP", "") if "\n" in script: # Run code later or now linesBefore = [] linesAfter = script.splitlines() while linesAfter: if linesAfter[0].startswith("# AFTER_GUI"): linesAfter.pop(0) break linesBefore.append(linesAfter.pop(0)) scriptBefore = "\n".join(linesBefore) self._codeToRunOnStartup = "\n".join(linesAfter) if scriptBefore.strip(): # don't trigger when only empty lines self.context._stat_interpreter.send("Busy") msg = {"source": scriptBefore, "fname": "", "lineno": 0} self.runlargecode(msg, True) elif script and os.path.isfile(script): # Run script self.context._stat_interpreter.send("Busy") self.runfile(script) else: # Nothing to run pass def _integrate_gui(self, startup_info): """Integrate event loop of GUI toolkit (or use pure Python event loop). """ self.guiApp = guiintegration.App_nogui() self.guiName = guiName = startup_info["gui"].upper() guiError = "" try: if guiName in ["", "NONE"]: guiName = "" elif guiName == "AUTO": for tryName, tryApp in [ ("PYSIDE6", guiintegration.App_pyside6), ("PYQT6", guiintegration.App_pyqt6), ("PYSIDE2", guiintegration.App_pyside2), ("PYQT5", guiintegration.App_pyqt5), ("PYSIDE", guiintegration.App_pyside), ("PYQT4", guiintegration.App_pyqt4), # ('WX', guiintegration.App_wx), ("ASYNCIO", guiintegration.App_asyncio_new), ("TK", guiintegration.App_tk), ]: try: self.guiApp = tryApp() except Exception: continue guiName = tryName break else: guiName = "" elif guiName == "ASYNCIO": self.guiApp = guiintegration.App_asyncio_new() elif guiName == "TK": self.guiApp = guiintegration.App_tk() elif guiName == "WX": self.guiApp = guiintegration.App_wx() elif guiName == "TORNADO": self.guiApp = guiintegration.App_tornado() elif guiName == "PYSIDE6": self.guiApp = guiintegration.App_pyside6() elif guiName == "PYSIDE2": self.guiApp = guiintegration.App_pyside2() elif guiName == "PYSIDE": self.guiApp = guiintegration.App_pyside() elif guiName in ["PYQT6", "QT6"]: self.guiApp = guiintegration.App_pyqt6() elif guiName in ["PYQT5", "QT5"]: self.guiApp = guiintegration.App_pyqt5() elif guiName in ["PYQT4", "QT4"]: self.guiApp = guiintegration.App_pyqt4() elif guiName == "FLTK": self.guiApp = guiintegration.App_fltk() elif guiName == "GTK": self.guiApp = guiintegration.App_gtk() else: guiError = "Unkown gui: %s" % guiName guiName = "" except Exception: # Catch any error # Get exception info (we do it using sys.exc_info() because # we cannot catch the exception in a version independent way. type, value, tb = sys.exc_info() del tb guiError = "Failed to integrate event loop for %s: %s" % ( guiName, str(value), ) return guiName, guiError def _load_ipyhon(self): """Try loading IPython shell. The result is set in self._ipython (can be None if IPython not available). """ # Init self._ipython = None import __main__ # Try importing IPython try: import IPython except ImportError: return # Version ok? if IPython.version_info < (1,): return # Create an IPython shell from IPython.core.interactiveshell import InteractiveShell self._ipython = InteractiveShell(user_module=__main__) # Set some hooks / event callbacks # Run hook (pre_run_code_hook is depreacted in 2.0) pre_run_cell_hook = self.ipython_pre_run_cell_hook if IPython.version_info < (2,): self._ipython.set_hook("pre_run_code_hook", pre_run_cell_hook) else: self._ipython.events.register("pre_run_cell", pre_run_cell_hook) # Other hooks self._ipython.set_hook("editor", self.ipython_editor_hook) self._ipython.set_custom_exc((bdb.BdbQuit,), self.dbstop_handler) # Some patching self._ipython.ask_exit = self.ipython_ask_exit # Make output be shown on Windows if sys.platform.startswith("win"): # IPython wraps std streams just like we do below, but # pyreadline adds *another* wrapper, which is where it # goes wrong. Here we set it back to bypass pyreadline. from IPython.utils import io io.stdin = io.IOStream(sys.stdin) io.stdout = io.IOStream(sys.stdout) io.stderr = io.IOStream(sys.stderr) # Ipython uses msvcrt e.g. for pausing between pages # but this does not work in pyzo import msvcrt msvcrt.getwch = msvcrt.getch = input # input is deffed above def process_commands(self): """Do one iteration of processing commands (the REPL).""" try: self._process_commands() except SystemExit: # It may be that we should ignore sys exit now... if self.ignore_sys_exit: self.ignore_sys_exit = False # Never allow more than once return # Get and store the exception so we can raise it later type, value, tb = sys.exc_info() del tb self._exitException = value # Stop debugger if it is running self.debugger.stopinteraction() # Exit from interpreter. Exit in the appropriate way self.guiApp.quit() # Is sys.exit() by default def _process_commands(self): # Run startup code/script inside the loop (only the first time) # so that keyboard interrupt will work if self._codeToRunOnStartup: self.context._stat_interpreter.send("Busy") self._codeToRunOnStartup, tmp = None, self._codeToRunOnStartup self.pushline(tmp) if self._scriptToRunOnStartup: self.context._stat_interpreter.send("Busy") self._scriptToRunOnStartup, tmp = None, self._scriptToRunOnStartup self.runfile(tmp) # Flush real stdout / stderr sys.__stdout__.flush() sys.__stderr__.flush() # Set status and prompt? # Prompt is allowed to be an object with __str__ method if self.newPrompt: self.newPrompt = False ps = [sys.ps1, sys.ps2][bool(self.more)] self.context._strm_prompt.send(str(ps)) if True: # Determine state. The message is really only send # when the state is different. Note that the kernelbroker # can also set the state ("Very busy", "Busy", "Dead") if self._dbFrames: self.context._stat_interpreter.send("Debug") elif self.more: self.context._stat_interpreter.send("More") else: self.context._stat_interpreter.send("Ready") self.context._stat_cd.send(os.getcwd()) # Are we still connected? if sys.stdin.closed or not self.context.connection_count: # Exit from main loop. # This will raise SystemExit and will shut us down in the # most appropriate way sys.exit() # Get channel to take a message from ch = yoton.select_sub_channel( self.context._ctrl_command, self.context._ctrl_code ) if ch is None: pass # No messages waiting elif ch is self.context._ctrl_command: # Read command line1 = self.context._ctrl_command.recv(False) # Command if line1: # Notify what we're doing self.context._strm_echo.send(line1) self.context._stat_interpreter.send("Busy") self.newPrompt = True # Convert command # (only a few magics are supported if IPython is active) line2 = self.magician.convert_command(line1.rstrip("\n")) # Execute actual code if line2 is not None: for line3 in line2.split("\n"): # not splitlines! self.more = self.pushline(line3) else: self.more = False self._resetbuffer() elif ch is self.context._ctrl_code: # Read larger block of code (dict) msg = self.context._ctrl_code.recv(False) if msg: # Notify what we're doing # (runlargecode() sends on stdin-echo) self.context._stat_interpreter.send("Busy") self.newPrompt = True # Execute code self.runlargecode(msg) # Reset more stuff self._resetbuffer() self.more = False else: # This should not happen, but if it does, just flush! ch.recv(False) ## Running code in various ways # In all cases there is a call for compilecode and a call to execcode def _resetbuffer(self): """Reset the input buffer.""" self._buffer = [] def pushline(self, line): """Push a line to the interpreter. The line should not have a trailing newline; it may have internal newlines. The line is appended to a buffer and the interpreter's _runlines() method is called with the concatenated contents of the buffer as source. If this indicates that the command was executed or invalid, the buffer is reset; otherwise, the command is incomplete, and the buffer is left as it was after the line was appended. The return value is 1 if more input is required, 0 if the line was dealt with in some way (this is the same as _runlines()). """ # Get buffer, join to get source buffer = self._buffer buffer.append(line) source = "\n".join(buffer) # Clear buffer and run source self._resetbuffer() more = self._runlines(source, self._filename) # Create buffer if needed if more: self._buffer = buffer return more def _runlines(self, source, filename="", symbol="single"): """Compile and run some source in the interpreter. Arguments are as for compile_command(). One several things can happen: 1) The input is incorrect; compile_command() raised an exception (SyntaxError or OverflowError). A syntax traceback will be printed by calling the showsyntaxerror() method. 2) The input is incomplete, and more input is required; compile_command() returned None. Nothing happens. 3) The input is complete; compile_command() returned a code object. The code is executed by calling self.execcode() (which also handles run-time exceptions, except for SystemExit). The return value is True in case 2, False in the other cases (unless an exception is raised). The return value can be used to decide whether to use sys.ps1 or sys.ps2 to prompt the next line. """ use_ipython = self._ipython and not self._dbFrames # Try compiling. # The IPython kernel does not handle incomple lines, so we check # that ourselves ... error = None try: code = self.compilecode(source, filename, symbol) except (OverflowError, SyntaxError, ValueError): error = sys.exc_info()[1] code = False if use_ipython: if code is None: # Case 2 # self._ipython.run_cell('', True) return True else: # Case 1 and 3 handled by IPython self._ipython.run_cell(source, True, False) return False else: if code is None: # Case 2 return True elif not code: # Case 1, a bit awkward way to show the error, but we need # to call showsyntaxerror in an exception handler. try: raise error except Exception: self.showsyntaxerror(filename) return False else: # Case 3 self.execcode(code) return False def runlargecode(self, msg, silent=False): """To execute larger pieces of code.""" # Get information source, fname, lineno = msg["source"], msg["fname"], msg["lineno"] cellName = msg.get("cellName", "") source += "\n" # Change directory? if msg.get("changeDir", False) and os.path.isfile(fname): d = os.path.normpath(os.path.normcase(os.path.dirname(fname))) if d != os.getcwd(): os.chdir(d) # Construct notification message lineno1 = lineno + 1 lineno2 = lineno + source.count("\n") fname_show = fname if not fname.startswith("<"): fname_show = os.path.split(fname)[1] if cellName == fname: runtext = '(executing file "%s")\n' % fname_show elif cellName: runtext = '(executing cell "%s" (line %i of "%s"))\n' % ( cellName.strip(), lineno1, fname_show, ) # Try to get the last expression printed in the cell. try: import ast tree = ast.parse(source, fname, "exec") if ( isinstance(tree.body[-1], ast.Expr) and tree.body[-1].col_offset == 0 ): e = tree.body[-1] lines = source.splitlines() lines[e.lineno - 1] = "_=\\\n" + lines[e.lineno - 1] source2 = ( "\n".join(lines).rstrip() + "\nif _ is not None:\n print(repr(_))\n" ) ast.parse( source2, fname, "exec" ) # This is to make sure it still compiles source = source2 except Exception: pass elif lineno1 == lineno2: runtext = '(executing line %i of "%s")\n' % (lineno1, fname_show) else: runtext = '(executing lines %i to %i of "%s")\n' % ( lineno1, lineno2, fname_show, ) # Notify IDE if not silent: self.context._strm_echo.send("\x1b[0;33m%s\x1b[0m" % runtext) # Increase counter if self._ipython: self._ipython.execution_count += 1 # Put the line number in the filename (if necessary) # Note that we could store the line offset in the _codeCollection, # but then we cannot retrieve it for syntax errors. if lineno: fname = "%s+%i" % (fname, lineno) # Try compiling the source code = None try: # Compile code = self.compilecode(source, fname, "exec") except (OverflowError, SyntaxError, ValueError): self.showsyntaxerror(fname) return if code: # Store the source using the (id of the) code object as a key self._codeCollection.store_source(code, source) # Execute the code self.execcode(code) else: # Incomplete code self.write("Could not run code because it is incomplete.\n") def runfile(self, fname): """To execute the startup script.""" # Get text (make sure it ends with a newline) try: bb = open(fname, "rb").read() encoding = "UTF-8" firstline = bb.split("\n".encode(), 1)[0].decode("ascii", "ignore") if firstline.startswith("#") and "coding" in firstline: encoding = firstline.split("coding", 1)[-1].strip(" \t\r\n:=-*") source = bb.decode(encoding) except Exception: printDirect( "Could not read script (decoding using %s): %r\n" % (encoding, fname) ) return try: source = source.replace("\r\n", "\n").replace("\r", "\n") if source[-1] != "\n": source += "\n" except Exception: printDirect('Could not execute script: "' + fname + '"\n') return # Try compiling the source code = None try: # Compile code = self.compilecode(source, fname, "exec") except (OverflowError, SyntaxError, ValueError): time.sleep(0.2) # Give stdout time to be send self.showsyntaxerror(fname) return if code: # Store the source using the (id of the) code object as a key self._codeCollection.store_source(code, source) # Execute the code self.execcode(code) else: # Incomplete code self.write("Could not run code because it is incomplete.\n") def compilecode(self, source, filename, mode, *args, **kwargs): """Compile source code. Will mangle coding definitions on first two lines. * This method should be called with Unicode sources. * Source newlines should consist only of LF characters. """ # This method solves pyzo issue 22 # Split in first two lines and the rest parts = source.split("\n", 2) # Replace any coding definitions ci = "coding is" contained_coding = False for i in range(len(parts) - 1): tmp = parts[i] if tmp and tmp[0] == "#" and "coding" in tmp: contained_coding = True parts[i] = tmp.replace("coding=", ci).replace("coding:", ci) # Combine parts again (if necessary) if contained_coding: source = "\n".join(parts) # Convert filename to UTF-8 if Python version < 3 if PYTHON_VERSION < 3: filename = filename.encode("utf-8") # Compile return self._compile(source, filename, mode, *args, **kwargs) def execcode(self, code): """Execute a code object. When an exception occurs, self.showtraceback() is called to display a traceback. All exceptions are caught except SystemExit, which is reraised. A note about KeyboardInterrupt: this exception may occur elsewhere in this code, and may not always be caught. The caller should be prepared to deal with it. The globals variable is used when in debug mode. """ try: if self._dbFrames: self.apply_breakpoints() exec(code, self.globals, self.locals) else: # Turn debugger on at this point. If there are no breakpoints, # the tracing is disabled for better performance. self.apply_breakpoints() self.debugger.set_on() exec(code, self.locals) except bdb.BdbQuit: self.dbstop_handler() except Exception: time.sleep(0.2) # Give stdout some time to send data self.showtraceback() except KeyboardInterrupt: # is a BaseException, not an Exception time.sleep(0.2) self.showtraceback() def apply_breakpoints(self): """Breakpoints are updated at each time a command is given, including commands like "db continue". """ try: breaks = self.context._stat_breakpoints.recv() if self.debugger.breaks: self.debugger.clear_all_breaks() if breaks: # Can be None for fname in breaks: for linenr in breaks[fname]: self.debugger.set_break(fname, linenr) except Exception: type, value, tb = sys.exc_info() del tb print("Error while setting breakpoints: %s" % str(value)) ## Handlers and hooks def ipython_pre_run_cell_hook(self, ipython=None): """Hook that IPython calls right before executing code.""" self.apply_breakpoints() self.debugger.set_on() def ipython_editor_hook(self, ipython, filename, linenum=None, wait=True): # Correct line number for cell offset filename, linenum = self.correctfilenameandlineno(filename, linenum or 0) # Get action string if linenum: action = "open %i %s" % (linenum, os.path.abspath(filename)) else: action = "open %s" % os.path.abspath(filename) # Send self.context._strm_action.send(action) def ipython_ask_exit(self): # Ask the user a = input("Do you really want to exit ([y]/n)? ") a = a or "y" # Close stdin if necessary if a.lower() == "y": sys.stdin._channel.close() def dbstop_handler(self, *args, **kwargs): print("Program execution stopped from debugger.") ## Writing and error handling def write(self, text): """Write errors.""" sys.stderr.write(text) def showsyntaxerror(self, filename=None): """Display the syntax error that just occurred. This doesn't display a stack trace because there isn't one. If a filename is given, it is stuffed in the exception instead of what was there before (because Python's parser always uses "" when reading from a string). Pyzo version: support to display the right line number, see doc of showtraceback for details. """ # Get info (do not store) type, value, tb = sys.exc_info() del tb # Work hard to stuff the correct filename in the exception if filename and type is SyntaxError: try: # unpack information msg, (dummy_filename, lineno, offset, line) = value # correct line-number fname, lineno = self.correctfilenameandlineno(filename, lineno) except Exception: # Not the format we expect; leave it alone pass else: # Stuff in the right filename value = SyntaxError(msg, (fname, lineno, offset, line)) sys.last_value = value # Show syntax error strList = traceback.format_exception_only(type, value) for s in strList: self.write(s) def showtraceback(self, useLastTraceback=False): """Display the exception that just occurred. We remove the first stack item because it is our own code. The output is written by self.write(), below. In the pyzo version, before executing a block of code, the filename is modified by appending " [x]". Where x is the index in a list that we keep, of tuples (sourcecode, filename, lineno). Here, showing the traceback, we check if we see such [x], and if so, we extract the line of code where it went wrong, and correct the lineno, so it will point at the right line in the editor if part of a file was executed. When the file was modified since the part in question was executed, the fileno might deviate, but the line of code shown shall always be correct... """ # Traceback info: # tb_next -> go down the trace # tb_frame -> get the stack frame # tb_lineno -> where it went wrong # # Frame info: # f_back -> go up (towards caller) # f_code -> code object # f_locals -> we can execute code here when PM debugging # f_globals # f_trace -> (can be None) function for debugging? ( # # The traceback module is used to obtain prints from the # traceback. try: if useLastTraceback: # Get traceback info from buffered type = sys.last_type value = sys.last_value tb = sys.last_traceback else: # Get exception information and remove first, since that's us type, value, tb = sys.exc_info() tb = tb.tb_next # Store for debugging, but only store if not in debug mode if not self._dbFrames: sys.last_type = type sys.last_value = value sys.last_traceback = tb # Get traceback to correct all the line numbers # tblist = list of (filename, line-number, function-name, text) tblist = traceback.extract_tb(tb) # Get frames frames = [] while tb: frames.append(tb.tb_frame) tb = tb.tb_next # Walk through the list for i in range(len(tblist)): tbInfo = tblist[i] # Get filename and line number, init example fname, lineno = self.correctfilenameandlineno(tbInfo[0], tbInfo[1]) if not isinstance(fname, ustr): fname = fname.decode("utf-8") example = tbInfo[3] # Reset info tblist[i] = (fname, lineno, tbInfo[2], example) # Format list strList = traceback.format_list(tblist) if strList: strList.insert(0, "Traceback (most recent call last):\n") strList.extend(traceback.format_exception_only(type, value)) # Write traceback for s in strList: self.write(s) # Clean up (we cannot combine except and finally in Python <2.5 tb = None frames = None except Exception: type, value, tb = sys.exc_info() tb = None frames = None t = "An error occured, but then another one when trying to write the traceback: " t += str(value) + "\n" self.write(t) def correctfilenameandlineno(self, fname, lineno): """Given a filename and lineno, this function returns a modified (if necessary) version of the two. As example: "foo.py+7", 22 -> "foo.py", 29 """ j = fname.rfind("+") if j > 0: try: lineno += int(fname[j + 1 :]) fname = fname[:j] except ValueError: pass return fname, lineno class ExecutedSourceCollection: """Stores the source of executed pieces of code, so that the right traceback can be reproduced when an error occurs. The filename (including the +lineno suffix) is used as a key. We monkey-patch the linecache module so that we first try our cache to look up the lines. In that way we also allow third party modules (e.g. IPython) to get the lines for executed cells. """ def __init__(self): self._cache = {} self._patch() def store_source(self, codeObject, source): self._cache[codeObject.co_filename] = source def _patch(self): def getlines(filename, module_globals=None): # Try getting the source from our own cache, # otherwise fallback to linecache's own cache src = self._cache.get(filename, "") if src: return [line + "\n" for line in src.splitlines()] else: import linecache if module_globals is None: return linecache._getlines(filename) # only valid sig in 2.4 else: return linecache._getlines(filename, module_globals) # Monkey patch import linecache linecache._getlines = linecache.getlines linecache.getlines = getlines # I hoped this would remove the +lineno for IPython tracebacks, # but it doesn't # def extract_tb(tb, limit=None): # print('aasdasd') # import traceback # list1 = traceback._extract_tb(tb, limit) # list2 = [] # for (filename, lineno, name, line) in list1: # filename, lineno = sys._pyzoInterpreter.correctfilenameandlineno(filename, lineno) # list2.append((filename, lineno, name, line)) # return list2 # # import traceback # traceback._extract_tb = traceback.extract_tb # traceback.extract_tb = extract_tb pyzo-4.12.3/pyzo/pyzokernel/introspection.py000066400000000000000000000352401421373005400212620ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. import sys import yoton import inspect # noqa - used in eval() try: import thread # Python 2 except ImportError: import _thread as thread # Python 3 class PyzoIntrospector(yoton.RepChannel): """This is a RepChannel object that runs a thread to respond to requests from the IDE. """ def _getNameSpace(self, name=""): """_getNameSpace(name='') Get the namespace to apply introspection in. If name is given, will find that name. For example sys.stdin. """ # Get namespace NS1 = sys._pyzoInterpreter.locals NS2 = sys._pyzoInterpreter.globals if not NS2: NS = NS1 else: NS = NS2.copy() NS.update(NS1) # Look up a name? if not name: return NS else: try: # Get object ob = eval(name, None, NS) # Get namespace for this object if isinstance(ob, dict): NS = {} for el in ob: NS["[" + repr(el) + "]"] = ob[el] elif isinstance(ob, (list, tuple)): NS = {} count = -1 for el in ob: count += 1 NS["[%i]" % count] = el else: keys = dir(ob) NS = {} for key in keys: try: NS[key] = getattr(ob, key) except Exception: NS[key] = "" # Done return NS except Exception: return {} def _getSignature(self, objectName): """_getSignature(objectName) Get the signature of builtin, function or method. Returns a tuple (signature_string, kind), where kind is a string of one of the above. When none of the above, both elements in the tuple are an empty string. """ # if a class, get init # not if an instance! -> try __call__ instead # what about self? # Get valid object names parts = objectName.rsplit(".") objectNames = [".".join(parts[-i:]) for i in range(1, len(parts) + 1)] # find out what kind of function, or if a function at all! NS = self._getNameSpace() fun1 = eval("inspect.isbuiltin(%s)" % (objectName), None, NS) fun2 = eval("inspect.isfunction(%s)" % (objectName), None, NS) fun3 = eval("inspect.ismethod(%s)" % (objectName), None, NS) fun4 = False fun5 = False if not (fun1 or fun2 or fun3): # Maybe it's a class with an init? if eval("hasattr(%s,'__init__')" % (objectName), None, NS): objectName += ".__init__" fun4 = eval("inspect.ismethod(%s)" % (objectName), None, NS) # Or a callable object? elif eval("hasattr(%s,'__call__')" % (objectName), None, NS): objectName += ".__call__" fun5 = eval("inspect.ismethod(%s)" % (objectName), None, NS) sigs = "" if True: # the first line in the docstring is usually the signature tmp = eval("%s.__doc__" % (objectNames[-1]), {}, NS) sigs = "" if tmp: sigs = tmp.splitlines()[0].strip() # Test if doc has signature hasSig = False for name in objectNames: # list.append -> L.apend(objec) -- blabla name += "(" if name in sigs: hasSig = True # If not a valid signature, do not bother ... if (not hasSig) or (sigs.count("(") != sigs.count(")")): sigs = "" if fun1 or fun2 or fun3 or fun4 or fun5: if fun1: kind = "builtin" elif fun2: kind = "function" elif fun3: kind = "method" elif fun4: kind = "class" elif fun5: kind = "callable" if not sigs: # Use intospection funname = objectName.split(".")[-1] try: tmp = eval( "inspect.signature(%s)" % (objectName), None, NS ) # py3.3 sigs = funname + str(tmp) except Exception: try: tmp = eval( "inspect.getargspec(%s)" % (objectName), None, NS ) # py2 except Exception: # the above fails on 2.4 (+?) for builtins tmp = None kind = "" if tmp is not None: args, varargs, varkw, defaults = tmp[:4] # prepare defaults if defaults is None: defaults = () defaults = list(defaults) defaults.reverse() # make list (back to forth) args2 = [] for i in range(len(args) - fun4): arg = args.pop() if i < len(defaults): args2.insert(0, "%s=%s" % (arg, defaults[i])) else: args2.insert(0, arg) # append varargs and kwargs if varargs: args2.append("*" + varargs) if varkw: args2.append("**" + varkw) # append the lot to our string sigs = "%s(%s)" % (funname, ", ".join(args2)) elif sigs: kind = "function" else: sigs = "" kind = "" return sigs, kind # todo: variant that also says whether it's a property/function/class/other def dir(self, objectName): """dir(objectName) Get list of attributes for the given name. """ # sys.__stdout__.write('handling '+objectName+'\n') # sys.__stdout__.flush() # Get namespace NS = self._getNameSpace() # Init names names = set() # Obtain all attributes of the class try: command = "dir(%s.__class__)" % (objectName) d = eval(command, {}, NS) except Exception: pass else: names.update(d) # Obtain instance attributes try: command = "%s.__dict__.keys()" % (objectName) d = eval(command, {}, NS) except Exception: pass else: names.update(d) # That should be enough, but in case __dir__ is overloaded, # query that as well try: command = "dir(%s)" % (objectName) d = eval(command, {}, NS) except Exception: pass else: names.update(d) # Respond return list(names) def dir2(self, objectName): """dir2(objectName) Get variable names in currently active namespace plus extra information. Returns a list of tuple of strings: name, type, kind, repr. """ try: name = "" names = [] def storeInfo(name, val): # Determine type typeName = type(val).__name__ # Determine kind kind = typeName if typeName != "type": if ( hasattr(val, "__array__") and hasattr(val, "dtype") and hasattr(val, "shape") ): kind = "array" elif isinstance(val, list): kind = "list" elif isinstance(val, tuple): kind = "tuple" # Determine representation if kind == "array": tmp = "x".join([str(s) for s in val.shape]) if tmp: values_repr = "" if hasattr(val, "flat"): for el in val.flat: values_repr += ", " + repr(el) if len(values_repr) > 70: values_repr = values_repr[:67] + ", …" break repres = "" % ( tmp, val.dtype.name, values_repr, ) elif val.size: tmp = str(float(val)) if "int" in val.dtype.name: tmp = str(int(val)) repres = "" % (val.dtype.name, tmp) else: repres = "" % (val.dtype.name) elif kind == "list": values_repr = "" for el in val: values_repr += ", " + repr(el) if len(values_repr) > 70: values_repr = values_repr[:67] + ", …" break repres = "<%i-element list: %s>" % (len(val), values_repr) elif kind == "tuple": values_repr = "" for el in val: values_repr += ", " + repr(el) if len(values_repr) > 70: values_repr = values_repr[:67] + ", …" break repres = "<%i-element tuple: %s>" % (len(val), values_repr) elif kind == "dict": values_repr = "" for k, v in val.items(): values_repr += ", " + repr(k) + ": " + repr(v) if len(values_repr) > 70: values_repr = values_repr[:67] + ", …" break repres = "<%i-item dict: %s>" % (len(val), values_repr) else: repres = repr(val) if len(repres) > 80: repres = repres[:77] + "…" # Store tmp = (name, typeName, kind, repres) names.append(tmp) # Get locals NS = self._getNameSpace(objectName) for name in NS.keys(): # name can be a key in a dict, i.e. not str if hasattr(name, "startswith") and name.startswith("__"): continue try: storeInfo(str(name), NS[name]) except Exception: pass return names except Exception: return [] def signature(self, objectName): """signature(objectName) Get signature. """ try: text, kind = self._getSignature(objectName) return text except Exception: return None def doc(self, objectName): """doc(objectName) Get documentation for an object. """ # Get namespace NS = self._getNameSpace() try: # collect docstring h_text = "" # Try using the class (for properties) try: className = eval("%s.__class__.__name__" % (objectName), {}, NS) if "." in objectName: tmp = objectName.rsplit(".", 1) tmp[1] += "." else: tmp = [objectName, ""] if className not in [ "type", "module", "builtin_function_or_method", "function", ]: cmd = "%s.__class__.%s__doc__" h_text = eval(cmd % (tmp[0], tmp[1]), {}, NS) except Exception: pass # Normal doc if not h_text: h_text = eval("%s.__doc__" % (objectName), {}, NS) # collect more data h_repr = eval("repr(%s)" % (objectName), {}, NS) try: h_class = eval("%s.__class__.__name__" % (objectName), {}, NS) except Exception: h_class = "unknown" # docstring can be None, but should be empty then if not h_text: h_text = "" # get and correct signature h_fun, kind = self._getSignature(objectName) if not h_fun: h_fun = "" # signature not available # cut repr if too long if len(h_repr) > 200: h_repr = h_repr[:200] + "..." # replace newlines so we can separates the different parts h_repr = h_repr.replace("\n", "\r") # build final text text = "\n".join([objectName, h_class, h_fun, h_repr, h_text]) except Exception: type, value, tb = sys.exc_info() del tb text = "\n".join( [objectName, "", "", "", "No help available. ", str(value)] ) # Done return text def eval(self, command): """eval(command) Evaluate a command and return result. """ # Get namespace NS = self._getNameSpace() try: # here globals is None, so we can look into sys, time, etc... return eval(command, None, NS) except Exception: return "Error evaluating: " + command def interrupt(self, command=None): """interrupt() Interrupt the main thread. This does not work if the main thread is running extension code. A bit of a hack to do this in the introspector, but it's the easeast way and prevents having to launch another thread just to wait for an interrupt/terminare command. Note that on POSIX we can send an OS INT signal, which is faster and maybe more effective in some situations. """ thread.interrupt_main() def terminate(self, command=None): """terminate() Ask the kernel to terminate by closing the stdin. """ sys.stdin._channel.close() pyzo-4.12.3/pyzo/pyzokernel/magic.py000066400000000000000000000555461421373005400174550ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ Magic commands for the Pyzo kernel. No need to use printDirect here, magic commands are just like normal Python commands, in the sense that they print something etc. """ import sys import os import re import time import inspect import tokenize, token, keyword import itertools try: import io except ImportError: # Not on Python 2.4 pass # Set Python version and get some names PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION < 3: input = raw_input # noqa MESSAGE = """List of *magic* commands: ? - show this message ?X or X? - show docstring of X ??X or X?? - help(X) cd - show current directory cd X - change directory ls - list current directory who - list variables in current workspace whos - list variables plus their class and representation timeit X - times execution of command X open X - open file X or the Python module that defines object X run X - run file X install - install a new package update - update an installed package remove - remove (i.e. uninstall) an installed package uninstall - alias for remove conda - manage packages using conda pip - manage packages using pip db X - debug commands cls - clear screen notebook - launch the Jupyter notebook """ TIMEIT_MESSAGE = """Time execution duration. Usage: timeit fun # where fun is a callable timeit 'expression' timeit expression timeit 20 fun/expression # tests 20 passes """ def _detect_equalbang(line): try: gtoks = tokenize.tokenize(io.BytesIO(line.encode("utf-8")).readline) # iteration on two successive elements, https://docs.python.org/3/library/itertools.html#itertools-recipes first, second = itertools.tee(gtoks) next(second, None) for tok1, tok2 in zip(first, second): if ( tok1.type == token.OP and tok1.string == "=" and tok2.type == token.ERRORTOKEN and tok2.string == "!" ): return True return False except tokenize.TokenError: # typically this means an unmatched parenthesis return False def _should_not_interpret_as_magic(line): interpreter = sys._pyzoInterpreter # Check that line is not some valid python input try: # gets a list of 5-tuples, of which [0] is the type of token and [1] is the token string ltok = list(tokenize.tokenize(io.BytesIO(line.encode("utf-8")).readline)) except tokenize.TokenError: # typically this means an unmatched parenthesis # (which should not happen because these are detected before) return True # ignore garbage and indentation at the beginning pos = 0 while pos < len(ltok) and ltok[pos].type in [59, token.INDENT, tokenize.ENCODING]: # 59 is BACKQUOTE but there is no token.BACKQUOTE... pos = pos + 1 # when line is only garbage or does not begin with a name if pos >= len(ltok) or ltok[pos].type != token.NAME: return True command = ltok[pos].string if keyword.iskeyword(command): return True pos = pos + 1 # command is alone on the line if pos >= len(ltok) or ltok[pos].type in [token.ENDMARKER, tokenize.COMMENT]: if command in interpreter.locals: return True if interpreter.globals and command in interpreter.globals: return True else: # command is not alone ; next token should not be an operator (this includes parentheses) if ltok[pos].type == token.OP and not line.endswith("?"): return True return False class Magician: def _eval(self, command): # Get namespace NS1 = sys._pyzoInterpreter.locals NS2 = sys._pyzoInterpreter.globals if not NS2: NS = NS1 else: NS = NS2.copy() NS.update(NS1) # Evaluate in namespace return eval(command, {}, NS) def convert_command(self, line): """convert_command(line) Convert a given command from a magic command to Python code. Returns the converted command if it was a magic command, or the original otherwise. """ # Get converted command, catch and report errors try: res = self._convert_command(line) except Exception: # Try informing about line number type, value, tb = sys.exc_info() msg = "Error in handling magic function:\n" msg += " %s\n" % str(value) if tb.tb_next: tb = tb.tb_next.tb_next while tb: msg += " line %i in %s\n" % ( tb.tb_lineno, tb.tb_frame.f_code.co_filename, ) tb = tb.tb_next # Clear del tb # Write print(msg) return None # Process if res is None: return line else: return res def _convert_command(self, line): # Get interpreter interpreter = sys._pyzoInterpreter command = line.rstrip() if interpreter._ipython and _detect_equalbang(line): return self.equalbang_quirk(line, command) have_hard_chars = "cd ", "?" if PYTHON_VERSION >= 3 and not command.lower().startswith(have_hard_chars): try: if _should_not_interpret_as_magic(line): return except Exception: pass # dont break interpreter if above func has a bug ... else: # Old, not as good check for outdated Python version # Check if it is a variable if " " not in command: if command in interpreter.locals: return if interpreter.globals and command in interpreter.globals: return # Clean and make case insensitive command = line.upper().rstrip() # Commands to always support (also with IPython) if not command: return elif command.startswith("DB"): return self.debug(line, command) elif command.startswith("NOTEBOOK"): return self.notebook(line, command) elif command.startswith("INSTALL"): return self.install(line, command) elif command.startswith("UPDATE") or command.startswith("UPGRADE"): line = line.replace("upgrade", "update") command = command.replace("UPGRADE", "UPDATE") return self.update(line, command) elif command.startswith("REMOVE") or command.startswith("UNINSTALL"): line = line.replace("uninstall", "remove") return self.remove(line, command) elif command.startswith("CONDA"): return self.conda(line, command) elif command.startswith("PIP"): return self.pip(line, command) elif command == "CLS": return self.cls(line, command) elif command.startswith("OPEN "): return self.open(line, command) elif interpreter._ipython: # Patch IPython magic # EDIT do not run code after editing if command.startswith("EDIT ") and " -X " not in command: return "edit -x " + line[5:] # In all cases stop processing magic commands return # Commands that we only support in the absense of IPtython elif command == "?": return "print(%s)" % repr(MESSAGE) elif command.startswith("??"): return "help(%s)" % line[2:].rstrip() elif command.endswith("??"): return "help(%s)" % line.rstrip()[:-2] elif command.startswith("?"): return "print(%s.__doc__)" % line[1:].rstrip() elif command.endswith("?"): return "print(%s.__doc__)" % line.rstrip()[:-1] elif command.startswith("CD"): return self.cd(line, command) elif command.startswith("LS"): return self.ls(line, command) elif command.startswith("TIMEIT"): return self.timeit(line, command) elif command == "WHO": return self.who(line, command) elif command == "WHOS": return self.whos(line, command) elif command.startswith("RUN "): return self.run(line, command) def debug(self, line, command): if command == "DB": line = "db help" elif not command.startswith("DB "): return # Get interpreter interpreter = sys._pyzoInterpreter # Get command and arg line += " " _, cmd, arg = line.split(" ", 2) cmd = cmd.lower() # Get func func = getattr(interpreter.debugger, "do_" + cmd, None) # Call or show warning if func is not None: func(arg.strip()) else: interpreter.write("Unknown debug command: %s.\n" % cmd) # Done (no code to execute) return "" def equalbang_quirk(self, line, command): print("`=!' is not valid Python. To check for non-equality, use `!='.") print( "If you intend to use IPython's ! magic feature and assign its result, please write `= !'." ) return "" def cd(self, line, command): if command == "CD" or command.startswith("CD ") and "=" not in command: path = line[3:].strip() if path: try: os.chdir(path) except Exception: print('Could not change to directory "%s".' % path) return "" newPath = os.getcwd() else: newPath = os.getcwd() # Done print(repr(newPath)) return "" def ls(self, line, command): if command == "LS" or command.startswith("LS ") and "=" not in command: path = line[3:].strip() if not path: path = os.getcwd() L = [p for p in os.listdir(path) if not p.startswith(".")] text = "\n".join(sorted(L)) # Done print(text) return "" def timeit(self, line, command): if command == "TIMEIT": return "print(%s)" % repr(TIMEIT_MESSAGE) elif command.startswith("TIMEIT "): expression = line[7:] # Get number of iterations N = 1 tmp = expression.split(" ", 1) if len(tmp) == 2: try: N = int(tmp[0]) expression = tmp[1] except Exception: N = 1 if expression[0] not in "'\"": isidentifier = lambda x: bool(re.match(r"[a-z_]\w*$", x, re.I)) if not isidentifier(expression): expression = "'%s'" % expression # Compile expression line2 = "import timeit; t=timeit.Timer(%s);" % expression line2 += "print(str( t.timeit(%i)/%i ) " % (N, N) line2 += '+" seconds on average for %i iterations." )' % N # return line2 def who(self, line, command): L = self._eval("dir()\n") L = [k for k in L if not k.startswith("__")] if L: print(", ".join(L)) else: print("There are no variables defined in this scope.") return "" def _justify(self, line, width, offset): realWidth = width - offset if len(line) > realWidth: line = line[: realWidth - 3] + "..." return line.ljust(width) def whos(self, line, command): # Get list of variables L = self._eval("dir()\n") L = [k for k in L if not k.startswith("__")] # Anny variables? if not L: print("There are no variables defined in this scope.") return "" else: text = "VARIABLE: ".ljust(20, " ") + "TYPE: ".ljust(20, " ") text += "REPRESENTATION: ".ljust(20, " ") + "\n" # Create list item for each variablee for name in L: ob = self._eval(name) cls = "" if hasattr(ob, "__class__"): cls = ob.__class__.__name__ rep = repr(ob) text += self._justify(name, 20, 2) + self._justify(cls, 20, 2) text += self._justify(rep, 40, 2) + "\n" # Done print(text) return "" def cls(self, line, command): sys._pyzoInterpreter.context._strm_action.send("cls") return "" def open(self, line, command): # Get what to open name = line.split(" ", 1)[1].strip() fname = "" linenr = None # Is it a file name? tmp = os.path.join(os.getcwd(), name) # if name[0] in "\"'" and name[-1] in "\"'": # Explicitly given fname = name[1:-1] elif os.path.isfile(tmp): fname = tmp elif os.path.isfile(name): fname = name else: # Then it maybe is an object # Get the object try: ob = self._eval(name) except NameError: print('There is no object known as "%s"' % name) return "" # Try get filename for iter in range(3): # Try successive steps if iter == 0: ob = ob elif iter == 1 and not isinstance(ob, type): ob = ob.__class__ elif iter == 2 and hasattr(ob, "__module__"): ob = sys.modules[ob.__module__] # Try get fname fname = "" try: fname = inspect.getsourcefile(ob) except Exception: pass # Returned fname may simply be x.replace('.pyc', '.py') if os.path.isfile(fname): break # Try get line number if fname: try: lines, linenr = inspect.getsourcelines(ob) except Exception: pass # Almost done # IPython's edit now support this via our hook in interpreter.py if not fname: print('Could not determine file name for object "%s".' % name) elif linenr is not None: action = "open %i %s" % (linenr, os.path.abspath(fname)) sys._pyzoInterpreter.context._strm_action.send(action) else: action = "open %s" % os.path.abspath(fname) sys._pyzoInterpreter.context._strm_action.send(action) # return "" def run(self, line, command): # Get what to open name = line.split(" ", 1)[1].strip() fname = "" # Enable dealing with qoutes if name[0] in "\"'" and name[-1] in "\"'": name = name[1:-1] # Is it a file name? tmp = os.path.join(os.getcwd(), name) # if os.path.isfile(tmp): fname = tmp elif os.path.isfile(name): fname = name # Go run! if not fname: print('Could not find file to run "%s".' % name) else: sys._pyzoInterpreter.runfile(fname) # return "" def _hasconda(self): try: from conda import __version__ # noqa except ImportError: return False return True def install(self, line, command): if not command.startswith("INSTALL "): return hasconda = self._hasconda() if hasconda: text = "Trying installation with conda. If this does not work, try:\n" text += " pip " + line + "\n" else: text = "Trying installation with pip\n" print("\x1b[34m\x1b[1m" + text + "\x1b[0m") time.sleep(0.2) if hasconda: self.conda("conda " + line, "CONDA") else: self.pip("pip " + line, "PIP") return "" def update(self, line, command): if not command.startswith("UPDATE "): return hasconda = self._hasconda() if hasconda: text = "Trying update with conda. If this does not work, try:\n" text += " pip " + line.replace("update", "install") + " --upgrade\n" else: text = "Trying pip install --upgrade\n" print("\x1b[34m\x1b[1m" + text + "\x1b[0m") time.sleep(0.2) if hasconda: self.conda("conda " + line, "CONDA") else: self.pip("pip " + line.replace("update", "install") + " --upgrade", "PIP") return "" def remove(self, line, command): if not command.startswith(("REMOVE ", "UNINSTALL")): return hasconda = self._hasconda() if hasconda: text = "Trying remove/uninstall with conda. If this does not work, try:\n" text += " pip " + line.replace("remove", "uninstall") + "\n" else: text = "Trying remove/uninstall with pip\n" if hasconda: self.conda("conda " + line, "CONDA") else: self.pip("pip " + line.replace("remove", "uninstall"), "PIP") return "" def conda(self, line, command): if not (command == "CONDA" or command.startswith("CONDA ")): return # Get command args args = line.split(" ") args = [w for w in args if w] args.pop(0) # remove 'conda' # Stop if user does "conda = ..." if args and "=" in args[0]: return # Add channels when using install, this gets added last, so # that user-specified channels take preference channel_list = [] if args and args[0] == "install": channel_list = ["-c", "conda-forge", "-c", "pyzo"] def write_no_dots(x): if x.strip() == ".": # note, no "x if y else z" in Python 2.4 return 0 return stderr_write(x) # Go! # Weird double-try, to make work on Python 2.4 oldargs = sys.argv stderr_write = sys.stderr.write try: try: # older version of conda would spew dots to stderr during downloading sys.stderr.write = write_no_dots import conda # noqa from conda.cli import main sys.argv = ["conda"] + list(args) + channel_list main() except SystemExit: # as err: type, err, tb = sys.exc_info() del tb err = str(err) if len(err) > 4: # Only print if looks like a message print(err) except Exception: # as err: type, err, tb = sys.exc_info() del tb print("Error in conda command:") print(err) finally: sys.argv = oldargs sys.stderr.write = stderr_write return "" # todo: I think we can deprecate this def _check_imported_modules(self): KNOWN_PURE_PYHON = ( "conda", "yaml", "IPython", "requests", "readline", "pyreadline", ) if not sys.platform.startswith("win"): return # Only a problem on Windows # Check what modules are currently imported loaded_modules = set() for name, mod in sys.modules.items(): if "site-packages" in getattr(mod, "__file__", ""): name = name.split(".")[0] if name.startswith("_") or name in KNOWN_PURE_PYHON: continue loaded_modules.add(name) # Add PySide PyQt4 from IEP if prefix is the same if os.getenv("IEP_PREFIX", "") == sys.prefix: loaded_modules.add(os.getenv("IEP_QTLIB", "qt")) # Warn if we have any such modules loaded_modules = [m.lower() for m in loaded_modules if m] if loaded_modules: print("WARNING! The following modules are currently loaded:\n") print(" " + ", ".join(sorted(loaded_modules))) print( "\nUpdating or removing them may fail if they are not " "pure Python.\nIf none of the listed packages is updated or " 'removed, it is safe\nto proceed (use "f" if necessary).\n' ) print("-" * 80) time.sleep(2.0) # Give user time to realize there is a warning def pip(self, line, command): if not (command == "PIP" or command.startswith("PIP ")): return # Get command args args = line.split(" ") args = [w for w in args if w] args.pop(0) # remove 'pip' # Stop if user does "pip = ..." if args and "=" in args[0]: return # Tweak the args if args and args[0] == "uninstall": args.insert(1, "--yes") # Go! try: from pyzokernel.pipper import pip_command pip_command(*args) except SystemExit: # as err: type, err, tb = sys.exc_info() del tb err = str(err) if len(err) > 4: # Only print if looks like a message print(err) except Exception: # as err: type, err, tb = sys.exc_info() del tb print("Error in pip command:") print(err) return "" def notebook(self, line, command): if not (command == "NOTEBOOK" or command.startswith("NOTEBOOK ")): return # Get command args args = line.split(" ") args = [w.replace("%20", " ") for w in args if w] args.pop(0) # remove 'notebook' # Stop if user does "conda = ..." if args and "=" in args[0]: return # Go! # Weird double-try, to make work on Python 2.4 oldargs = sys.argv try: try: import notebook.notebookapp sys.argv = ["jupyter_notebook"] + list(args) notebook.notebookapp.main() except SystemExit: # as err: type, err, tb = sys.exc_info() del tb err = str(err) if len(err) > 4: # Only print if looks like a message print(err) except Exception: # as err: type, err, tb = sys.exc_info() del tb print("Error in notebook command:") print(err) finally: sys.argv = oldargs return "" pyzo-4.12.3/pyzo/pyzokernel/pipper.py000066400000000000000000000032201421373005400176520ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2013, Almar Klein # From pyzo/pyzokernel import sys import time import subprocess def subprocess_with_callback(callback, cmd, **kwargs): """Execute command in subprocess, stdout is passed to the callback function. Returns the returncode of the process. If callback is None, simply prints any stdout. """ # Set callback to void if None if callback is None: callback = lambda x: None # Execute command try: p = subprocess.Popen( cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, **kwargs ) except OSError: type, err, tb = sys.exc_info() del tb callback(str(err) + "\n") return -1 pending = [] while p.poll() is None: time.sleep(0.001) # Read text and process c = p.stdout.read(1).decode("utf-8", "ignore") pending.append(c) if c in ".\n": callback("".join(pending)) pending = [] # Process remaining text pending.append(p.stdout.read().decode("utf-8")) callback("".join(pending)) # Done return p.returncode def print_(p): sys.stdout.write(p) sys.stdout.flush() def pip_command_exe(exe, *args): """Do a pip command in the interpreter with the given exe.""" # Get pip command cmd = [exe, "-m", "pip"] + list(args) # Execute it subprocess_with_callback(print_, cmd) def pip_command(*args): """Do a pip command, e.g. "install networkx". Installs in the current interpreter. """ pip_command_exe(sys.executable, *args) if __name__ == "__main__": pip_command("install", "networkx") pyzo-4.12.3/pyzo/pyzokernel/start.py000066400000000000000000000133051421373005400175150ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (C) 2016, the Pyzo development team # # Pyzo is distributed under the terms of the 2-Clause BSD License. # The full license can be found in 'license.txt'. """ pyzokernel/start.py Starting script for remote processes in pyzo. This script connects to the pyzo ide using the yoton interface and imports remote2 to start the interpreter and introspection thread. Channels -------- There are four groups of channels. The ctrl channels are streams from the ide to the kernel and/or broker. The strm channels are streams to the ide. The stat channels are status channels. The reqp channels are req/rep channels. All channels are TEXT except for a few OBJECT channels. ctrl-command: to give simple commands to the interpreter (ala stdin) ctrl-code (OBJECT): to let the interpreter execute blocks of code ctrl-broker: to control the broker (restarting etc) strm-out: the stdout of the interpreter strm-err: the stderr of the interpreter strm-raw: the C-level stdout and stderr of the interpreter (captured by broker) strm-echo: the interpreters echos commands here strm-prompt: to send the prompts explicitly strm-broker: for the broker to send messages to the ide strm-action: for the kernel to push actions to the ide stat-interpreter): status of the interpreter (ready, busy, very busy, more, etc) stat-debug (OBJECT): debug status stat-startup (OBJECT): Used to pass startup parameters to the kernel reqp-introspect (OBJECT): To query information from the kernel (and for interruping) """ # This file is executed with the active directory one up from this file. import os import sys import time import yoton import __main__ # we will run code in the __main__.__dict__ namespace ## Make connection object and get channels # Create a yoton context. All channels are stored at the context. ct = yoton.Context() # Create control channels ct._ctrl_command = yoton.SubChannel(ct, "ctrl-command") ct._ctrl_code = yoton.SubChannel(ct, "ctrl-code", yoton.OBJECT) # Create stream channels ct._strm_out = yoton.PubChannel(ct, "strm-out") ct._strm_err = yoton.PubChannel(ct, "strm-err") ct._strm_echo = yoton.PubChannel(ct, "strm-echo") ct._strm_prompt = yoton.PubChannel(ct, "strm-prompt") ct._strm_action = yoton.PubChannel(ct, "strm-action", yoton.OBJECT) # Create status channels ct._stat_interpreter = yoton.StateChannel(ct, "stat-interpreter") ct._stat_cd = yoton.StateChannel(ct, "stat-cd") ct._stat_debug = yoton.StateChannel(ct, "stat-debug", yoton.OBJECT) ct._stat_startup = yoton.StateChannel(ct, "stat-startup", yoton.OBJECT) ct._stat_breakpoints = yoton.StateChannel(ct, "stat-breakpoints", yoton.OBJECT) # Connect (port number given as command line argument) # Important to do this *before* replacing the stdout etc, because if an # error occurs here, it will be printed in the shell. port = int(sys.argv[1]) ct.connect("localhost:" + str(port), timeout=1.0) # Create file objects for stdin, stdout, stderr sys.stdin = yoton.FileWrapper(ct._ctrl_command, echo=ct._strm_echo, isatty=True) sys.stdout = yoton.FileWrapper(ct._strm_out, 256, isatty=True) sys.stderr = yoton.FileWrapper(ct._strm_err, 256, isatty=True) # Set fileno on both sys.stdout.fileno = sys.__stdout__.fileno sys.stderr.fileno = sys.__stderr__.fileno ## Set Excepthook def pyzo_excepthook(type, value, tb): import sys def writeErr(err): sys.__stderr__.write(str(err) + "\n") sys.__stderr__.flush() writeErr("Uncaught exception in interpreter:") writeErr(value) if not isinstance(value, (OverflowError, SyntaxError, ValueError)): while tb: writeErr( "-> line %i of %s." % (tb.tb_frame.f_lineno, tb.tb_frame.f_code.co_filename) ) tb = tb.tb_next import time time.sleep(0.3) # Give some time for the message to be send # Uncomment to detect error in the interpreter itself. # But better not use it by default. For instance errors in qt events # are also catched by this function. I think that is because it would # allow you to show such exceptions in an error dialog. # sys.excepthook = pyzo_excepthook ## Init interpreter and introspector request channel # Delay import, so we can detect syntax errors using the except hook from pyzokernel.interpreter import PyzoInterpreter from pyzokernel.introspection import PyzoIntrospector # Create interpreter instance and give dict in which to run all code __pyzo__ = PyzoInterpreter(__main__.__dict__, "") sys._pyzoInterpreter = __pyzo__ # Store context __pyzo__.context = ct # Create introspection req channel (store at interpreter instance) __pyzo__.introspector = PyzoIntrospector(ct, "reqp-introspect") ## Clean up # Delete local variables del yoton, PyzoInterpreter, PyzoIntrospector, pyzo_excepthook del ct, port del os, sys, time # Delete stuff we do not want for name in [ "__file__", # __main__ does not have a corresponding file "__loader__", # prevent lines from this file to be shown in tb ]: globals().pop(name, None) del name ## Start and stop # Start introspector and enter the interpreter __pyzo__.introspector.set_mode("thread") try: __pyzo__.run() finally: # Restore original streams, so that SystemExit behaves as intended import sys try: sys.stdout, sys.stderr = sys.__stdout__, sys.__stderr__ except Exception: pass # Flush pending messages (raises exception if times out) try: __pyzo__.context.flush(0.1) except Exception: pass # Nicely exit by closing context (closes channels and connections). If we do # not do this on Python 3.2 (at least Windows) the exit delays 10s. (issue 79) try: __pyzo__.introspector.set_mode(0) __pyzo__.context.close() except Exception: pass pyzo-4.12.3/pyzo/qt/000077500000000000000000000000001421373005400142265ustar00rootroot00000000000000pyzo-4.12.3/pyzo/qt/QtCore.py000066400000000000000000000047701421373005400160050ustar00rootroot00000000000000# # Copyright © 2014-2015 Colin Duquesnoy # Copyright © 2009- The Spyder Development Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) """ Provides QtCore classes and functions. """ from . import PYQT6, PYQT5, PYSIDE2, PYSIDE6, PythonQtError if PYQT6: from PyQt6 import QtCore from PyQt6.QtCore import * from PyQt6.QtCore import pyqtSignal as Signal from PyQt6.QtCore import pyqtBoundSignal as SignalInstance from PyQt6.QtCore import pyqtSlot as Slot from PyQt6.QtCore import pyqtProperty as Property from PyQt6.QtCore import QT_VERSION_STR as __version__ # For issue #153 from PyQt6.QtCore import QDateTime QDateTime.toPython = QDateTime.toPyDateTime # Map missing methods QCoreApplication.exec_ = QCoreApplication.exec QEventLoop.exec_ = QEventLoop.exec QThread.exec_ = QThread.exec QLibraryInfo.location = QLibraryInfo.path # Those are imported from `import *` del pyqtSignal, pyqtBoundSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR # Allow unscoped access for enums inside the QtCore module from .enums_compat import promote_enums promote_enums(QtCore) del QtCore elif PYQT5: from PyQt5.QtCore import * from PyQt5.QtCore import pyqtSignal as Signal from PyQt5.QtCore import pyqtBoundSignal as SignalInstance from PyQt5.QtCore import pyqtSlot as Slot from PyQt5.QtCore import pyqtProperty as Property from PyQt5.QtCore import QT_VERSION_STR as __version__ # For issue #153 from PyQt5.QtCore import QDateTime QDateTime.toPython = QDateTime.toPyDateTime # Those are imported from `import *` del pyqtSignal, pyqtBoundSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR elif PYSIDE6: from PySide6.QtCore import * import PySide6.QtCore __version__ = PySide6.QtCore.__version__ # obsolete in qt6 Qt.BackgroundColorRole = Qt.BackgroundRole Qt.TextColorRole = Qt.ForegroundRole Qt.MidButton = Qt.MiddleButton # Map DeprecationWarning methods QCoreApplication.exec_ = QCoreApplication.exec QEventLoop.exec_ = QEventLoop.exec QThread.exec_ = QThread.exec QTextStreamManipulator.exec_ = QTextStreamManipulator.exec elif PYSIDE2: from PySide2.QtCore import * try: # may be limited to PySide-5.11a1 only from PySide2.QtGui import QStringListModel except Exception: pass import PySide2.QtCore __version__ = PySide2.QtCore.__version__ else: raise PythonQtError("No Qt bindings could be found") pyzo-4.12.3/pyzo/qt/QtGui.py000066400000000000000000000020731421373005400156330ustar00rootroot00000000000000# # Copyright © 2014-2015 Colin Duquesnoy # Copyright © 2009- The Spyder Development Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) """ Provides QtGui classes and functions. """ from . import PYQT6, PYQT5, PYSIDE2, PYSIDE6, PythonQtError if PYQT6: from PyQt6 import QtGui from PyQt6.QtGui import * QFontMetrics.width = QFontMetrics.horizontalAdvance # Map missing/renamed methods QDrag.exec_ = QDrag.exec QGuiApplication.exec_ = QGuiApplication.exec QTextDocument.print_ = QTextDocument.print # Allow unscoped access for enums inside the QtGui module from .enums_compat import promote_enums promote_enums(QtGui) del QtGui elif PYQT5: from PyQt5.QtGui import * elif PYSIDE2: from PySide2.QtGui import * elif PYSIDE6: from PySide6.QtGui import * QFontMetrics.width = QFontMetrics.horizontalAdvance # Map DeprecationWarning methods QDrag.exec_ = QDrag.exec QGuiApplication.exec_ = QGuiApplication.exec else: raise PythonQtError("No Qt bindings could be found") pyzo-4.12.3/pyzo/qt/QtHelp.py000066400000000000000000000007321421373005400157770ustar00rootroot00000000000000# # Copyright © 2009- The Spyder Development Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) """QtHelp Wrapper.""" import warnings from . import PYQT5, PYQT6, PYSIDE6, PYSIDE2, PythonQtError if PYQT5: from PyQt5.QtHelp import * elif PYQT6: from PyQt6.QtHelp import * elif PYSIDE6: from PySide6.QtHelp import * elif PYSIDE2: from PySide2.QtHelp import * else: raise PythonQtError("No Qt bindings could be found") pyzo-4.12.3/pyzo/qt/QtPrintSupport.py000066400000000000000000000014511421373005400175770ustar00rootroot00000000000000# # Copyright © 2009- The Spyder Development Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) """ Provides QtPrintSupport classes and functions. """ from . import PYQT5, PYQT6, PYSIDE6, PYSIDE2, PythonQtError if PYQT5: from PyQt5.QtPrintSupport import * elif PYQT6: from PyQt6.QtPrintSupport import * QPageSetupDialog.exec_ = QPageSetupDialog.exec QPrintDialog.exec_ = QPrintDialog.exec QPrintPreviewWidget.print_ = QPrintPreviewWidget.print elif PYSIDE6: from PySide6.QtPrintSupport import * # Map DeprecationWarning methods QPageSetupDialog.exec_ = QPageSetupDialog.exec QPrintDialog.exec_ = QPrintDialog.exec elif PYSIDE2: from PySide2.QtPrintSupport import * else: raise PythonQtError("No Qt bindings could be found") pyzo-4.12.3/pyzo/qt/QtWidgets.py000066400000000000000000000035331421373005400165170ustar00rootroot00000000000000# # Copyright © 2014-2015 Colin Duquesnoy # Copyright © 2009- The Spyder Developmet Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) """ Provides widget classes and functions. """ from . import PYQT5, PYQT6, PYSIDE2, PYSIDE6, PythonQtError if PYQT6: from PyQt6 import QtWidgets from PyQt6.QtWidgets import * from PyQt6.QtGui import QAction, QActionGroup, QShortcut, QFileSystemModel from PyQt6.QtOpenGLWidgets import QOpenGLWidget # Map missing/renamed methods QTextEdit.setTabStopWidth = QTextEdit.setTabStopDistance QTextEdit.tabStopWidth = QTextEdit.tabStopDistance QTextEdit.print_ = QTextEdit.print QPlainTextEdit.setTabStopWidth = QPlainTextEdit.setTabStopDistance QPlainTextEdit.tabStopWidth = QPlainTextEdit.tabStopDistance QPlainTextEdit.print_ = QPlainTextEdit.print QApplication.exec_ = QApplication.exec QDialog.exec_ = QDialog.exec QMenu.exec_ = QMenu.exec # Allow unscoped access for enums inside the QtWidgets module from .enums_compat import promote_enums promote_enums(QtWidgets) del QtWidgets elif PYQT5: from PyQt5.QtWidgets import * elif PYSIDE6: from PySide6.QtWidgets import * from PySide6.QtGui import QAction, QActionGroup, QShortcut from PySide6.QtOpenGLWidgets import QOpenGLWidget # Map missing/renamed methods QTextEdit.setTabStopWidth = QTextEdit.setTabStopDistance QTextEdit.tabStopWidth = QTextEdit.tabStopDistance QPlainTextEdit.setTabStopWidth = QPlainTextEdit.setTabStopDistance QPlainTextEdit.tabStopWidth = QPlainTextEdit.tabStopDistance # Map DeprecationWarning methods QApplication.exec_ = QApplication.exec QDialog.exec_ = QDialog.exec QMenu.exec_ = QMenu.exec elif PYSIDE2: from PySide2.QtWidgets import * else: raise PythonQtError("No Qt bindings could be found") pyzo-4.12.3/pyzo/qt/__init__.py000066400000000000000000000177011421373005400163450ustar00rootroot00000000000000# # Copyright © 2009- The Spyder Development Team # Copyright © 2014-2015 Colin Duquesnoy # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) """ **QtPy** is a shim over the various Python Qt bindings. It is used to write Qt binding independent libraries or applications. If one of the APIs has already been imported, then it will be used. Otherwise, the shim will automatically select the first available API (PyQt5, PyQt6, PySide2 and PySide6); in that case, you can force the use of one specific bindings (e.g. if your application is using one specific bindings and you need to use library that use QtPy) by setting up the ``QT_API`` environment variable. PyQt5 ===== For PyQt5, you don't have to set anything as it will be used automatically:: >>> from qtpy import QtGui, QtWidgets, QtCore >>> print(QtWidgets.QWidget) PyQt6 ===== >>> import os >>> os.environ['QT_API'] = 'pyqt6' >>> from qtpy import QtGui, QtWidgets, QtCore >>> print(QtWidgets.QWidget) PySide2 ====== Set the QT_API environment variable to 'pyside2' before importing other packages:: >>> import os >>> os.environ['QT_API'] = 'pyside2' >>> from qtpy import QtGui, QtWidgets, QtCore >>> print(QtWidgets.QWidget) PySide6 ======= >>> import os >>> os.environ['QT_API'] = 'pyside6' >>> from qtpy import QtGui, QtWidgets, QtCore >>> print(QtWidgets.QWidget) """ from packaging.version import parse import os import platform import sys import warnings # Version of QtPy __version__ = "2.0.0.dev0" class PythonQtError(RuntimeError): """Error raised if no bindings could be selected.""" class PythonQtWarning(Warning): """Warning if some features are not implemented in a binding.""" # Qt API environment variable name QT_API = "QT_API" # Names of the expected PyQt5 api PYQT5_API = ["pyqt5"] PYQT6_API = ["pyqt6"] # Names of the expected PySide2 api PYSIDE2_API = ["pyside2"] # Names of the expected PySide6 api PYSIDE6_API = ["pyside6"] # Minimum supported versions of Qt and the bindings QT5_VERSION_MIN = PYQT5_VERSION_MIN = "5.9.0" PYSIDE2_VERSION_MIN = "5.12.0" QT6_VERSION_MIN = PYQT6_VERSION_MIN = PYSIDE6_VERSION_MIN = "6.2.0" QT_VERSION_MIN = QT5_VERSION_MIN PYQT_VERSION_MIN = PYQT5_VERSION_MIN PYSIDE_VERISION_MIN = PYSIDE2_VERSION_MIN # Detecting if a binding was specified by the user binding_specified = QT_API in os.environ # Setting a default value for QT_API os.environ.setdefault(QT_API, "pyqt5") API = os.environ[QT_API].lower() initial_api = API assert API in (PYQT5_API + PYQT6_API + PYSIDE2_API + PYSIDE6_API) is_old_pyqt = is_pyqt46 = False QT5 = PYQT5 = True QT4 = QT6 = PYQT4 = PYQT6 = PYSIDE = PYSIDE2 = PYSIDE6 = False PYQT_VERSION = None PYSIDE_VERSION = None QT_VERSION = None # Unless `FORCE_QT_API` is set, use previously imported Qt Python bindings if not os.environ.get("FORCE_QT_API"): if "PyQt6" in sys.modules: API = initial_api if initial_api in PYQT6_API else "pyqt6" elif "PyQt5" in sys.modules: API = initial_api if initial_api in PYQT5_API else "pyqt5" elif "PySide6" in sys.modules: API = initial_api if initial_api in PYSIDE6_API else "pyside6" elif "PySide2" in sys.modules: API = initial_api if initial_api in PYSIDE2_API else "pyside2" if API in PYQT5_API: try: from PyQt5.QtCore import PYQT_VERSION_STR as PYQT_VERSION # analysis:ignore from PyQt5.QtCore import QT_VERSION_STR as QT_VERSION # analysis:ignore QT5 = PYQT5 = True if sys.platform == "darwin": macos_version = parse(platform.mac_ver()[0]) if macos_version < parse("10.10"): if parse(QT_VERSION) >= parse("5.9"): raise PythonQtError( "Qt 5.9 or higher only works in " "macOS 10.10 or higher. Your " "program will fail in this " "system." ) elif macos_version < parse("10.11"): if parse(QT_VERSION) >= parse("5.11"): raise PythonQtError( "Qt 5.11 or higher only works in " "macOS 10.11 or higher. Your " "program will fail in this " "system." ) del macos_version except ImportError: API = os.environ["QT_API"] = "pyqt6" if API in PYQT6_API: try: from PyQt6.QtCore import PYQT_VERSION_STR as PYQT_VERSION # analysis:ignore from PyQt6.QtCore import QT_VERSION_STR as QT_VERSION # analysis:ignore QT5 = PYQT5 = False QT6 = PYQT6 = True except ImportError: API = os.environ["QT_API"] = "pyside2" if API in PYSIDE2_API: try: from PySide2 import __version__ as PYSIDE_VERSION # analysis:ignore from PySide2.QtCore import __version__ as QT_VERSION # analysis:ignore PYQT5 = False QT5 = PYSIDE2 = True if sys.platform == "darwin": macos_version = parse(platform.mac_ver()[0]) if macos_version < parse("10.11"): if parse(QT_VERSION) >= parse("5.11"): raise PythonQtError( "Qt 5.11 or higher only works in " "macOS 10.11 or higher. Your " "program will fail in this " "system." ) del macos_version except ImportError: API = os.environ["QT_API"] = "pyside6" if API in PYSIDE6_API: try: from PySide6 import __version__ as PYSIDE_VERSION # analysis:ignore from PySide6.QtCore import __version__ as QT_VERSION # analysis:ignore QT5 = PYQT5 = False QT6 = PYSIDE6 = True except ImportError: API = os.environ["QT_API"] = "pyqt5" # If a correct API name is passed to QT_API and it could not be found, # switches to another and informs through the warning if API != initial_api and binding_specified: warnings.warn( 'Selected binding "{}" could not be found, ' 'using "{}"'.format(initial_api, API), RuntimeWarning, ) API_NAME = { "pyqt6": "PyQt6", "pyqt5": "PyQt5", "pyside2": "PySide2", "pyside6": "PySide6", }[API] try: # QtDataVisualization backward compatibility (QtDataVisualization vs. QtDatavisualization) # Only available for Qt5 bindings > 5.9 on Windows from . import QtDataVisualization as QtDatavisualization # analysis:ignore except (ImportError, PythonQtError): pass def _warn_old_minor_version(name, old_version, min_version): """Warn if using a Qt or binding version no longer supported by QtPy.""" warning_message = ( "{name} version {old_version} is not supported by QtPy. " "To ensure your application works correctly with QtPy, " "please upgrade to {name} {min_version} or later.".format( name=name, old_version=old_version, min_version=min_version ) ) warnings.warn(warning_message, PythonQtWarning) # Warn if using an End of Life or unsupported Qt API/binding minor version if QT_VERSION: if QT5 and (parse(QT_VERSION) < parse(QT5_VERSION_MIN)): _warn_old_minor_version("Qt5", QT_VERSION, QT5_VERSION_MIN) elif QT6 and (parse(QT_VERSION) < parse(QT6_VERSION_MIN)): _warn_old_minor_version("Qt6", QT_VERSION, QT6_VERSION_MIN) if PYQT_VERSION: if PYQT5 and (parse(PYQT_VERSION) < parse(PYQT5_VERSION_MIN)): _warn_old_minor_version("PyQt5", PYQT_VERSION, PYQT5_VERSION_MIN) elif PYQT6 and (parse(PYQT_VERSION) < parse(PYQT6_VERSION_MIN)): _warn_old_minor_version("PyQt6", PYQT_VERSION, PYQT6_VERSION_MIN) elif PYSIDE_VERSION: if PYSIDE2 and (parse(PYSIDE_VERSION) < parse(PYSIDE2_VERSION_MIN)): _warn_old_minor_version("PySide2", PYSIDE_VERSION, PYSIDE2_VERSION_MIN) elif PYSIDE6 and (parse(PYSIDE_VERSION) < parse(PYSIDE6_VERSION_MIN)): _warn_old_minor_version("PySide6", PYSIDE_VERSION, PYSIDE6_VERSION_MIN) pyzo-4.12.3/pyzo/qt/_patch/000077500000000000000000000000001421373005400154645ustar00rootroot00000000000000pyzo-4.12.3/pyzo/qt/_patch/__init__.py000066400000000000000000000000001421373005400175630ustar00rootroot00000000000000pyzo-4.12.3/pyzo/qt/_patch/qheaderview.py000066400000000000000000000065431421373005400203520ustar00rootroot00000000000000# # Copyright © The Spyder Development Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) import warnings def introduce_renamed_methods_qheaderview(QHeaderView): _isClickable = QHeaderView.isClickable def sectionsClickable(self): """ QHeaderView.sectionsClickable() -> bool """ return _isClickable(self) QHeaderView.sectionsClickable = sectionsClickable def isClickable(self): warnings.warn( "isClickable is only available in Qt4. Use " "sectionsClickable instead.", stacklevel=2, ) return _isClickable(self) QHeaderView.isClickable = isClickable _isMovable = QHeaderView.isMovable def sectionsMovable(self): """ QHeaderView.sectionsMovable() -> bool """ return _isMovable(self) QHeaderView.sectionsMovable = sectionsMovable def isMovable(self): warnings.warn( "isMovable is only available in Qt4. Use " "sectionsMovable instead.", stacklevel=2, ) return _isMovable(self) QHeaderView.isMovable = isMovable _resizeMode = QHeaderView.resizeMode def sectionResizeMode(self, logicalIndex): """ QHeaderView.sectionResizeMode(int) -> QHeaderView.ResizeMode """ return _resizeMode(self, logicalIndex) QHeaderView.sectionResizeMode = sectionResizeMode def resizeMode(self, logicalIndex): warnings.warn( "resizeMode is only available in Qt4. Use " "sectionResizeMode instead.", stacklevel=2, ) return _resizeMode(self, logicalIndex) QHeaderView.resizeMode = resizeMode _setClickable = QHeaderView.setClickable def setSectionsClickable(self, clickable): """ QHeaderView.setSectionsClickable(bool) """ return _setClickable(self, clickable) QHeaderView.setSectionsClickable = setSectionsClickable def setClickable(self, clickable): warnings.warn( "setClickable is only available in Qt4. Use " "setSectionsClickable instead.", stacklevel=2, ) return _setClickable(self, clickable) QHeaderView.setClickable = setClickable _setMovable = QHeaderView.setMovable def setSectionsMovable(self, movable): """ QHeaderView.setSectionsMovable(bool) """ return _setMovable(self, movable) QHeaderView.setSectionsMovable = setSectionsMovable def setMovable(self, movable): warnings.warn( "setMovable is only available in Qt4. Use " "setSectionsMovable instead.", stacklevel=2, ) return _setMovable(self, movable) QHeaderView.setMovable = setMovable _setResizeMode = QHeaderView.setResizeMode def setSectionResizeMode(self, *args): """ QHeaderView.setSectionResizeMode(QHeaderView.ResizeMode) QHeaderView.setSectionResizeMode(int, QHeaderView.ResizeMode) """ _setResizeMode(self, *args) QHeaderView.setSectionResizeMode = setSectionResizeMode def setResizeMode(self, *args): warnings.warn( "setResizeMode is only available in Qt4. Use " "setSectionResizeMode instead.", stacklevel=2, ) _setResizeMode(self, *args) QHeaderView.setResizeMode = setResizeMode pyzo-4.12.3/pyzo/qt/compat.py000066400000000000000000000116421421373005400160670ustar00rootroot00000000000000# # Copyright © 2009- The Spyder Development Team # Licensed under the terms of the MIT License """ Compatibility functions """ import sys from .QtWidgets import QFileDialog TEXT_TYPES = (str,) def is_text_string(obj): """Return True if `obj` is a text string, False if it is anything else, like binary data.""" return isinstance(obj, str) def to_text_string(obj, encoding=None): """Convert `obj` to (unicode) text string""" if encoding is None: return str(obj) elif isinstance(obj, str): # In case this function is not used properly, this could happen return obj else: return str(obj, encoding) # ============================================================================= # QVariant conversion utilities # ============================================================================= PYQT_API_1 = False def to_qvariant(obj=None): # analysis:ignore """Convert Python object to QVariant This is a transitional function from PyQt API#1 (QVariant exist) to PyQt API#2 and Pyside (QVariant does not exist)""" return obj def from_qvariant(qobj=None, pytype=None): # analysis:ignore """Convert QVariant object to Python object This is a transitional function from PyQt API #1 (QVariant exist) to PyQt API #2 and Pyside (QVariant does not exist)""" return qobj # ============================================================================= # Wrappers around QFileDialog static methods # ============================================================================= def getexistingdirectory( parent=None, caption="", basedir="", options=QFileDialog.ShowDirsOnly ): """Wrapper around QtGui.QFileDialog.getExistingDirectory static method Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0""" # Calling QFileDialog static method if sys.platform == "win32": # On Windows platforms: redirect standard outputs _temp1, _temp2 = sys.stdout, sys.stderr sys.stdout, sys.stderr = None, None try: result = QFileDialog.getExistingDirectory(parent, caption, basedir, options) finally: if sys.platform == "win32": # On Windows platforms: restore standard outputs sys.stdout, sys.stderr = _temp1, _temp2 if not is_text_string(result): # PyQt API #1 result = to_text_string(result) return result def _qfiledialog_wrapper( attr, parent=None, caption="", basedir="", filters="", selectedfilter="", options=None, ): if options is None: options = QFileDialog.Options(0) func = getattr(QFileDialog, attr) # Calling QFileDialog static method if sys.platform == "win32": # On Windows platforms: redirect standard outputs _temp1, _temp2 = sys.stdout, sys.stderr sys.stdout, sys.stderr = None, None result = func(parent, caption, basedir, filters, selectedfilter, options) if sys.platform == "win32": # On Windows platforms: restore standard outputs sys.stdout, sys.stderr = _temp1, _temp2 output, selectedfilter = result # Always returns the tuple (output, selectedfilter) return output, selectedfilter def getopenfilename( parent=None, caption="", basedir="", filters="", selectedfilter="", options=None ): """Wrapper around QtGui.QFileDialog.getOpenFileName static method Returns a tuple (filename, selectedfilter) -- when dialog box is canceled, returns a tuple of empty strings Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0""" return _qfiledialog_wrapper( "getOpenFileName", parent=parent, caption=caption, basedir=basedir, filters=filters, selectedfilter=selectedfilter, options=options, ) def getopenfilenames( parent=None, caption="", basedir="", filters="", selectedfilter="", options=None ): """Wrapper around QtGui.QFileDialog.getOpenFileNames static method Returns a tuple (filenames, selectedfilter) -- when dialog box is canceled, returns a tuple (empty list, empty string) Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0""" return _qfiledialog_wrapper( "getOpenFileNames", parent=parent, caption=caption, basedir=basedir, filters=filters, selectedfilter=selectedfilter, options=options, ) def getsavefilename( parent=None, caption="", basedir="", filters="", selectedfilter="", options=None ): """Wrapper around QtGui.QFileDialog.getSaveFileName static method Returns a tuple (filename, selectedfilter) -- when dialog box is canceled, returns a tuple of empty strings Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0""" return _qfiledialog_wrapper( "getSaveFileName", parent=parent, caption=caption, basedir=basedir, filters=filters, selectedfilter=selectedfilter, options=options, ) pyzo-4.12.3/pyzo/qt/enums_compat.py000066400000000000000000000025261421373005400172770ustar00rootroot00000000000000# Copyright © 2009- The Spyder Development Team # Copyright © 2012- University of North Carolina at Chapel Hill # Luke Campagnola ('luke.campagnola@%s.com' % 'gmail') # Ogi Moore ('ognyan.moore@%s.com' % 'gmail') # KIU Shueng Chuan ('nixchuan@%s.com' % 'gmail') # Licensed under the terms of the MIT License """ Compatibility functions for scoped and unscoped enum access. """ from . import PYQT6 if PYQT6: import enum from . import sip def promote_enums(module): """ Search enums in the given module and allow unscoped access. Taken from: https://github.com/pyqtgraph/pyqtgraph/blob/pyqtgraph-0.12.1/pyqtgraph/Qt.py#L331-L377 """ class_names = [name for name in dir(module) if name.startswith("Q")] for class_name in class_names: klass = getattr(module, class_name) if not isinstance(klass, sip.wrappertype): continue attrib_names = [name for name in dir(klass) if name[0].isupper()] for attrib_name in attrib_names: attrib = getattr(klass, attrib_name) if not isinstance(attrib, enum.EnumMeta): continue for enum_obj in attrib: setattr(klass, enum_obj.name, enum_obj) pyzo-4.12.3/pyzo/qt/sip.py000066400000000000000000000005311421373005400153720ustar00rootroot00000000000000# # Copyright © 2009- The Spyder Development Team # # Licensed under the terms of the MIT License # (see LICENSE.txt for details) from . import PYQT6, PYQT5, PythonQtError if PYQT6: from PyQt6.sip import * elif PYQT5: from PyQt5.sip import * else: raise PythonQtError("Currently selected Qt binding does not support this module") pyzo-4.12.3/pyzo/qt/uic.py000066400000000000000000000251471421373005400153710ustar00rootroot00000000000000import os from . import PYSIDE6, PYSIDE2, PYQT5, PYQT6 from .QtWidgets import QComboBox if PYQT6: from PyQt6.uic import * elif PYQT5: from PyQt5.uic import * else: __all__ = ["loadUi", "loadUiType"] # In PySide, loadUi does not exist, so we define it using QUiLoader, and # then make sure we expose that function. This is adapted from qt-helpers # which was released under a 3-clause BSD license: # qt-helpers - a common front-end to various Qt modules # # Copyright (c) 2015, Chris Beaumont and Thomas Robitaille # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the # distribution. # * Neither the name of the Glue project nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Which itself was based on the solution at # # https://gist.github.com/cpbotha/1b42a20c8f3eb9bb7cb8 # # which was released under the MIT license: # # Copyright (c) 2011 Sebastian Wiesner # Modifications by Charl Botha # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. if PYSIDE6: from PySide6.QtCore import QMetaObject from PySide6.QtUiTools import QUiLoader elif PYSIDE2: from PySide2.QtCore import QMetaObject from PySide2.QtUiTools import QUiLoader try: from pyside2uic import compileUi except ImportError: pass class UiLoader(QUiLoader): """ Subclass of :class:`~PySide.QtUiTools.QUiLoader` to create the user interface in a base instance. Unlike :class:`~PySide.QtUiTools.QUiLoader` itself this class does not create a new instance of the top-level widget, but creates the user interface in an existing instance of the top-level class if needed. This mimics the behaviour of :func:`PyQt4.uic.loadUi`. """ def __init__(self, baseinstance, customWidgets=None): """ Create a loader for the given ``baseinstance``. The user interface is created in ``baseinstance``, which must be an instance of the top-level class in the user interface to load, or a subclass thereof. ``customWidgets`` is a dictionary mapping from class name to class object for custom widgets. Usually, this should be done by calling registerCustomWidget on the QUiLoader, but with PySide 1.1.2 on Ubuntu 12.04 x86_64 this causes a segfault. ``parent`` is the parent object of this loader. """ QUiLoader.__init__(self, baseinstance) self.baseinstance = baseinstance if customWidgets is None: self.customWidgets = {} else: self.customWidgets = customWidgets def createWidget(self, class_name, parent=None, name=""): """ Function that is called for each widget defined in ui file, overridden here to populate baseinstance instead. """ if parent is None and self.baseinstance: # supposed to create the top-level widget, return the base # instance instead return self.baseinstance else: # For some reason, Line is not in the list of available # widgets, but works fine, so we have to special case it here. if class_name in self.availableWidgets() or class_name == "Line": # create a new widget for child widgets widget = QUiLoader.createWidget(self, class_name, parent, name) else: # If not in the list of availableWidgets, must be a custom # widget. This will raise KeyError if the user has not # supplied the relevant class_name in the dictionary or if # customWidgets is empty. try: widget = self.customWidgets[class_name](parent) except KeyError as error: raise Exception( f"No custom widget {class_name} " "found in customWidgets" ) from error if self.baseinstance: # set an attribute for the new child widget on the base # instance, just like PyQt4.uic.loadUi does. setattr(self.baseinstance, name, widget) return widget def _get_custom_widgets(ui_file): """ This function is used to parse a ui file and look for the section, then automatically load all the custom widget classes. """ import sys import importlib from xml.etree.ElementTree import ElementTree # Parse the UI file etree = ElementTree() ui = etree.parse(ui_file) # Get the customwidgets section custom_widgets = ui.find("customwidgets") if custom_widgets is None: return {} custom_widget_classes = {} for custom_widget in list(custom_widgets): cw_class = custom_widget.find("class").text cw_header = custom_widget.find("header").text module = importlib.import_module(cw_header) custom_widget_classes[cw_class] = getattr(module, cw_class) return custom_widget_classes def loadUi(uifile, baseinstance=None, workingDirectory=None): """ Dynamically load a user interface from the given ``uifile``. ``uifile`` is a string containing a file name of the UI file to load. If ``baseinstance`` is ``None``, the a new instance of the top-level widget will be created. Otherwise, the user interface is created within the given ``baseinstance``. In this case ``baseinstance`` must be an instance of the top-level widget class in the UI file to load, or a subclass thereof. In other words, if you've created a ``QMainWindow`` interface in the designer, ``baseinstance`` must be a ``QMainWindow`` or a subclass thereof, too. You cannot load a ``QMainWindow`` UI file with a plain :class:`~PySide.QtGui.QWidget` as ``baseinstance``. :method:`~PySide.QtCore.QMetaObject.connectSlotsByName()` is called on the created user interface, so you can implemented your slots according to its conventions in your widget class. Return ``baseinstance``, if ``baseinstance`` is not ``None``. Otherwise return the newly created instance of the user interface. """ # We parse the UI file and import any required custom widgets customWidgets = _get_custom_widgets(uifile) loader = UiLoader(baseinstance, customWidgets) if workingDirectory is not None: loader.setWorkingDirectory(workingDirectory) widget = loader.load(uifile) QMetaObject.connectSlotsByName(widget) return widget def loadUiType(uifile, from_imports=False): """Load a .ui file and return the generated form class and the Qt base class. The "loadUiType" command convert the ui file to py code in-memory first and then execute it in a special frame to retrieve the form_class. Credit: https://stackoverflow.com/a/14195313/15954282 """ import sys from io import StringIO from xml.etree.ElementTree import ElementTree from . import QtWidgets # Parse the UI file etree = ElementTree() ui = etree.parse(uifile) widget_class = ui.find("widget").get("class") form_class = ui.find("class").text with open(uifile, encoding="utf-8") as fd: code_stream = StringIO() frame = {} compileUi(fd, code_stream, indent=0, from_imports=from_imports) pyc = compile(code_stream.getvalue(), "", "exec") exec(pyc, frame) # Fetch the base_class and form class based on their type in the # xml from designer form_class = frame["Ui_%s" % form_class] base_class = getattr(QtWidgets, widget_class) return form_class, base_class pyzo-4.12.3/pyzo/resources/000077500000000000000000000000001421373005400156145ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/appicons/000077500000000000000000000000001421373005400174305ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/appicons/py.icns000066400000000000000000000263441421373005400207470ustar00rootroot00000000000000icns,äih32ͱû€ùƒú‚û üûúøõòïéãåדù;&S¢ß‚Ü á­íðçëíäÑеÛÜ’úƒ&¹„Ü ºÙÙÖÙñÞÎÀ®»òÚ‘úƒ&º„Ü ­çëïïæãÏàÄ»ñêÛûƒ&»ã‚Üã¼ûü ùõñè¿öéêÜŽûƒ&£¯›° ¼¼½€üý úöîÅúñéêÝüƒ& »”…”¼•…•¾ýý‚þûòÈþÔ®Âê¬üƒ&¼€…½€…¾€þ€ÿ þýõËþÀ®餘Œüƒ&½€…¾€…¾þ€ÿ€þ ýöÍÿãÕÕñÉŸ³Šüƒ&¦€…²€…³èõþýàòíôäÉþÿÿþøñáéÚŠý‚&U§’…Ž©…‘·ÞúýýÞâÚÓ˲®¨¯ÊȽ4tÄȉ#þˆ¾¾ò··£ãµ¬µýñíýûâìñäØÏ¿ãáïÂ外ĉþýýþ€ÿ€þ€ý€ü€û€ú ùøùøôðëåÝÓȉ þÌ&ÓÿÔÿïáëýèûý€üûàïíñæ÷æõêøø÷Êï¼$´Ò‰ÿ#<ÿþüÞËçÊòûü×ÐûúÝêÎÖÍÖØÑÔ€÷öò"8Û‰ÿÔ6áþÒýâíßôáøûû€ú âêëçÝá¿ëãô÷‚ÿùî&ˆÿþþ€ý€ü€ûú€ù€ø÷÷õ÷ý³b@9:;Cg¶õ‡þÌ&ÑüÒüìßìñèôö÷ù€ø÷Úìèîæûš889:;<=>?Ÿü‡%þ#;ûûùÛÛÖèÍÚÂöøÑ×÷÷ØÜÔÎËþDuöv;<=>??Mÿ‡þÑ5ßûÐúàìíïÝåéø€÷öõÜæëÞÚÿ8u÷v<==>?@Aÿ‡ýûû€ú€ù€ø€÷ö€õ€ô ÿ9:;<<=>?@ABÿ‡ýÉ&ÏùÎø€÷€ö€õôõûþ…ÿ®?@ABC‚ÿƒü";€ø€÷ö€õ€ôüšC899:;<=>?@AABCƒÿ‚üÏ5ÜøÎ÷÷€ö€õôóø³7789:;<=>?@@ABCD„ÿüø€÷ö€õ€ô€óòýa789:;<=>>?@ABCDE„ÿ$ûÇ%ÌöÌõÕòÊæôçàåääêÔþ>89:;<<=>?@ABCDEZ„ÿû":€õ×óÔòóæÑÏÌÐÎÕÿ89:;;<=>?@ABCCDZЄÿúÌ5ÙôËôçóæóòçÜääæãÔÿ99:;ÿù"8òò€ñðçÍïïÓÍîîÒüd<==>ÿùÉ4ÖñÈñ€ðé×ïîíÒë´<=>?ÿùñ€ð€ï€î€í€ìûJ?@ÿ‚øÁ%ÇðÇïï€îÞ€í€ìÐÞàïúÿƒø!8ïï€îíÓÈèìÑËëëÏÛ¿É¿ÉÊŠÿ‡÷Ç3ÓîÄî€íçÕé€ëêêÐØÚ×ÎÒ³Šÿ‡ö€î€íì€ë€ê€é€èçåþ‰ÿ‡ö¾$ÄíÃìßÑÛêÚéêâÞÞâÜáÐãØçËõˆÿü‡ö 8ììêͻպßèéÉÉÓÈÊØÈÔ¿×Ðçð†ÿöއõÃ2ÐëÂêÑÚÏáÑæÖÇÖÓÓÔÛÔÜÎáËäÙðúþ€ÿþúð&ˆõ€ë€ê€é€èçæçç€æ€å€ä€ã€âã‰ó¼#ÁêÀéÜÏÙç׿çàÛæ€åäåëñôêúòÕãÁå·¼ä‰#â!7éèçʹҸÜåæÐÑçéìæÊ±·_ƒpމ2Dæ‰[6×é¿çÎÖÌßÔéÜÝèïÒÁB‹møŒ ŸâïîëíëôðÜÇ<&Ž€ ϱû€ùƒú‚û üûúøõòïéãåדù‹ ¢X‚2 Z­íðçëíäÑеÛÜ’úƒ‹¹„2 ºÙÙÖÙñÞÎÀ®»òÚ‘úƒ‹º„2 ­çëïïæãÏàÄ»ñêÛûƒ‹»\‚2\¼ûü ùõñè¿öéêÜŽûƒ‹£¯›° ¼¼½€üý úöîÅúñéêÝüƒ‹ »£™£¼¤™¤¾ýý‚þûòÈþÔ®Âê¬üƒ‹¼€™½€™¾€þ€ÿ þýõËþÀ®餘Œüƒ‹½€™¾€™¾þ€ÿ€þ ýöÍÿãÕÕñÉŸ³Šüƒ‹¦€™²€™³èõþýàòíôäÉþÿÿþøñáéÚŠýƒ‹¢§¡™©ž™ ·ÞúýýÞâÚÓ˲®¨¯ÊȽ4tÄȉ#þˆ¾¾ò··£ãµ¬µýñíýûâìñäØÏ¿ãáïÂ外ĉþýýþ€ÿ€þ€ý€ü€û€ú ùøùøôðëåÝÓȉ þÌ&ÓÿÔÿïáëýèûý€üûàïíñæ÷æõêøø÷Êï¼$´Ò‰ÿ#<ÿþüÞËçÊòûü×ÐûúÝêÎÖÍÖØÑÔ€÷öò"8Û‰ÿÔ6áþÒýâíßôáøûû€ú âêëçÝá¿ëãô÷‚ÿùî&ˆÿþþ€ý€ü€ûú€ù€ø÷÷õ÷ýÑ…~|z}“Ëõ‡þÌ&ÑüÒüìßìñèôö÷ù€ø÷ÚìèîæûÁƒ~|zxvtr·ü‡%þ#;ûûùÛÛÖèÍÚÂöøÑ×÷÷ØÜÔÎËþ‹§ú¤{yvtrpxÿ‡þÑ5ßûÐúàìíïÝåéø€÷öõÜæëÞÚÿ¦ú£ywuspnlÿ‡ýûû€ú€ù€ø€÷ö€õ€ô ÿ€~{ywusqomkÿ‡ýÉ&ÏùÎø€÷€ö€õôõûþ…ÿÄqomki‚ÿƒü";€ø€÷ö€õ€ôýÁŒƒ€~|zxvtrpmkigÿÚÖÖçÿ‚üÏ5ÜøÎ÷÷€ö€õôóøÑ„ƒ}{xvtrpnljgeÿ×ÔÐÍëÿüø€÷ö€õ€ô€óòýžƒ}{ywurpnljhfdÿÔÑÎÊÓÿ+ûÇ%ÌöÌõÕòÊæôçàåääêÔþˆ‚€}{ywusqomjhfduÿÒÎËÈÅÿû":€õ$×óÔòóæÑÏÌÐÎÕÿ‚€~|zwusqomkigdu×úÏÌÈÄÁÿúÌ5ÙôËôçóæóòçÜääæãÔÿ€~|zx™ï†ÿúÛÌÉÅÁ¾ÿúõ€ô€ó€ò€ñðïÿ|zxvðúïëçäáÝÚ×ÓÐÍÉÅ¿»ÿùÃ%ÊóÊ€òñð߀ð€ïÒþ{ywtÿïëèåáÞÛ×ÔÑÍÊÇ¿¼»ÿù"8òò€ñ"ðçÍïïÓÍîîÒü—ywusÿìéåâßÛØÕÑÎËÇÃÀ¼¹ÈÿùÉ4ÖñÈñ€ðé×ïîíÒëÌwusqÿéæãßÜÙÕÒÏËÈÄÀ½º¸åÿùñ€ð€ï€î€í€ìû¹|qoÿæãàÝÙÖÓÏÌÉÄÁ¾º¼Üÿ‚øÁ%ÇðÇïï€îÞ€í€ìÐÞàïú€ÿäáÝÚ×í‡ÿƒø!8ïï€îíÓÈèìÑËëëÏÛ¿É¿ÉÊÿáÞÚ×ÔÐÍÊÅ¿ÿ‡÷Ç3ÓîÄî€íçÕé€ëêêÐØÚ×ÎÒ³ÿÞÛØÔÑÎÊØüÓ¼ÿ‡ö€î€íì€ë€ê€é€èçåþÞØÕÒÎËÈ×üѾÿ‡%ö¾$ÄíÃìßÑÛêÚéêâÞÞâÜáÐãØçËõìÖÒÏÌÈÄÁ½ºÜü‡%ö 8ììêͻպßèéÉÉÓÈÊØÈÔ¿×ÐçðîÚÎÉÅÁÀÊåöއõÃ2ÐëÂêÑÚÏáÑæÖÇÖÓÓÔÛÔÜÎáËäÙðúþ€ÿþúð&ˆõ€ë€ê€é€èçæçç€æ€å€ä€ã€âã‰ó¼#ÁêÀéÜÏÙç׿çàÛæ€åäåëñôêúòÕãÁå·¼ä‰#â!7éèçʹҸÜåæÐÑçéìæÊ±·_ƒpމ2Dæ‰[6×é¿çÎÖÌßÔéÜÝèïÒÁB‹møŒ ŸâïîëíëôðÜÇ<&Ž€ ϱû€ùƒú‚û üûúøõòïéãåדùÐÒÚ¢W‚/ Y­íðçëíäÑеÛÜ’úƒÒ¹„/ ºÙÙÖÙñÞÎÀ®»òÚ‘úƒÒº„/ ­çëïïæãÏàÄ»ñêÛûƒÒ»[‚/[¼ûü ùõñè¿öéêÜŽûƒÒ£¯›° ¼¼½€üý úöîÅúñéêÝüƒÒ » ¼!!¾ýý‚þûòÈþÔ®Âê¬üƒÒ¼€½€¾€þ€ÿ þýõËþÀ®餘ŒüƒÒ½€¾€¾þ€ÿ€þ ýöÍÿãÕÕñÉŸ³ŠüƒÒ¦€²€³èõþýàòíôäÉþÿÿþøñáéÚŠýÉÒܧ©·ÞúýýÞâÚÓ˲®¨¯ÊȽ4tÄȉ#þˆ¾¾ò··£ãµ¬µýñíýûâìñäØÏ¿ãáïÂ外ĉþýýþ€ÿ€þ€ý€ü€û€ú ùøùøôðëåÝÓȉ þÌ&ÓÿÔÿïáëýèûý€üûàïíñæ÷æõêøø÷Êï¼$´Ò‰ÿ#<ÿþüÞËçÊòûü×ÐûúÝêÎÖÍÖØÑÔ€÷öò"8Û‰ÿÔ6áþÒýâíßôáøûû€ú âêëçÝá¿ëãô÷‚ÿùî&ˆÿþþ€ý€ü€ûú€ù€ø÷÷õ÷ýèͼµ±¬«·Ûö‡þÌ&ÑüÒüìßìñèôö÷ù€ø÷Úìèîæûá¿»¶²­©¤ ›Ìü‡%þ#;ûûùÛÛÖèÍÚÂöøÑ×÷÷ØÜÔÎËþÄÒüÊ®ª¥¡œ˜šÿ‡þÑ5ßûÐúàìíïÝåéø€÷öõÜæëÞÚÿ¼ÏüǪ¦¢™”ÿ‡ýûû€ú€ù€ø€÷ö€õ€ô ÿ¹´°«§¢ž™•Œÿ‡ýÉ&ÏùÎø€÷€ö€õôõûþ…ÿך–‘ˆ‚ÿƒü";€ø€÷ö€õ€ôýáÅ¿»¶²­¨¤ ›—’މ…ÿIELþ‚üÏ5ÜøÎ÷÷€ö€õôóøèÂÀ»·²®©¥ œ—“ŽŠ…ÿFA=9³ÿüø€÷ö€õ€ô€óòýÐÁ¼¸³¯ª¦¡˜”‹†‚}ÿB>:5^ÿ+ûÇ%ÌöÌõÕòÊæôçàåääêÔþý¸´°«§¢ž™•Œ‡ƒ~‹ÿ?:625ÿû":€õ$×óÔòóæÑÏÌÐÎÕÿ¾¹µ°¬§£žš•‘Œˆƒ‹Þé;73.*ÿúÌ5ÙôËôçóæóòçÜääæãÔÿº¶±­¨¼ô†ÿém83/+'ÿúõ€ô€ó€ò€ñðïÿ·²®©¥õ×s_[WRNJEA=840,'#ÿùÃ%ÊóÊ€òñð߀ð€ïÒþµ®ª¥¡ÿs`\WSOJFB>951,($(ÿù"8òò€ñ"ðçÍïïÓÍîîÒüÀ«¦¢ÿa\XTPKGC>:61-)% OÿùÉ4ÖñÈñ€ðé×ïîíÒëß§£žšÿ]YUPLHC?;72.*%!ªÿùñ€ð€ï€î€í€ìûÑ¥š–ÿZUQMID@<73/+&"-Žþ‚øÁ%ÇðÇïï€îÞ€í€ìÐÞàïú€ÿVRNIE°‡ÿƒø!8ïï€îíÓÈèìÑËëëÏÛ¿É¿ÉÊÿSNJFB=950,(ÿ‡÷Ç3ÓîÄî€íçÕé€ëêêÐØÚ×ÎÒ³ÿOKGB>:5pöi$ÿ‡ö€î€íì€ë€ê€é€èçåþWGC?;62nöf0ÿ‡%ö¾$ÄíÃìßÑÛêÚéêâÞÞâÜáÐãØçËõ¢D@;73/*&"Žü‡%ö 8ììêͻպßèéÉÉÓÈÊØÈÔ¿×Ðçð¶e?4/+.RªõއõÃ2ÐëÂêÑÚÏáÑæÖÇÖÓÓÔÛÔÜÎáËäÙðúþ€ÿþúð&ˆõ€ë€ê€é€èçæçç€æ€å€ä€ã€âã‰ó¼#ÁêÀéÜÏÙç׿çàÛæ€åäåëñôêúòÕãÁå·¼ä‰#â!7éèçʹҸÜåæÐÑçéìæÊ±·_ƒpމ2Dæ‰[6×é¿çÎÖÌßÔéÜÝèïÒÁB‹møŒ ŸâïîëíëôðÜÇ<&Ž€ Ïil32 ŸôçåæëôøóòæÏ×ËÅ/*IiÈÝÛÜàÊâÚÍ·ïÓŒ´#&&KÄÙÜÜÛÄÜÌÖ»âêÓ‹³€&JÂÖÓÓÕÖýüõÏæèêÓŠ³#&&E£¡£®§ÏþÿýÕñ¹塉´#&&Jšƒž—…¶þþü×úÕÃèDzˆ¶'&&L›…ž•ƒ³ýýùÔüöìáÚæ¿‡Æ,(?f¡¡ž±âööÑÏÑÏÉ-ḃíW^ÊÅË·»Ä¼Üãöõìñõõíl|ʇÿÿýùöû€ú ùøø÷÷öôìãØ‡ÿ}„üáåïçúøôøòâÞöýÿþòû…þ ûÑØÞÜùïÝ÷ð×äÚkA;<=FpÜÿ„ýûúúùùøø÷÷ööõõþPÔÖ<=>?@Yÿ„ü|ƒùÝáèäçîõðòôÿ9ÔÖ=>?@ACÿ„û‹ž÷Ï×òÈÔÛôÞêòÿ:;<=?@ABDÿ„ û÷÷ööõõôôóùþ„ÿ¯ABCE‚ÿ€úzõÜàÚóÞñÙP89;<=>?ABCDEƒÿù‰œôáãîòÝòi89:<=>?@BCDEEƒÿøóóòòññððþ?9:;=>?@ACDEEFƒÿøyññðïÝîÿ9:;<>?@ABD€Eiƒÿ÷†™ðïïíÉíÿ:;<=pé‹ÿ÷ðïïîîííìÿ;<=>êŒÿöw}ííìëÖëþC=>?ÿõ„—ììëæÃêúm>?@ÿôìëëêêééèðÚV@Aÿ ôu{êÎÒÜÕçÞâýŽÿ€ ó‚”èÂÊÏÍÜÑÉÅÊɈÿ„ ÀæèçåææääÞââØÐˆÿ… éæáÖÛÜ´v&þ‡ÿ‡!\e65ƒˆÿ“†ÿƒŸ÷ðïðñîèççéîòæÏ×ËÞ‡ˆ¢TLMZ¡âÚÍ·ïӌֈ‹‹–v3223ŽÜÌÖ»âêÓ‹Õ‹‹–XSS]³ýüõÏæèêÓŠÕ€‹‘¨¢ «¨ÐþÿýÕñ¹塉ր‹–ª—©£›¼þþü×úÕÃèDzˆ×€‹—©™©¤–ºýýùÔüöìáÚæ¿‡Þ„ƒ“ž­žª©ŸµâööÑÏÑÏÉ-ḃðiqÓË̹¼Å½Üãöõìñõõíl|ʇÿÿýùöû€ú ùøø÷÷öôìãØ‡ÿ}„üáåïçúøôøòâÞöýÿþòû…þ ûÑØÞÜùïÝ÷ð×ä衃|yvy•äÿ„ýûúúùùøø÷÷ööõõþ‘äãyvtqn~ÿ„ü|ƒùÝáèäçîõðòôÿ€ââwtqnliÿ„û‹ž÷Ï×òÈÔÛôÞêòÿ}zxurolifÿ„ û÷÷ööõõôôóùþ„ÿÂmjgd‚ÿ€úzõÜàÚóÞñè“~{yvspmjgecÿßÛÛ÷ÿù‰œôáãîòÝò£‚|yvsqnkheccÿÜ×ÓÛÿøóóòòññððþ‡}zwtqnkifccdÿØÓÏÌÿøyññðïÝîÿ€}zwurolifdcc‚úÔÐËÇÿ÷†™ðïïíÉíÿ~{xu—ï„ÿúßÑÌÈÂÿ÷ðïïîîííìÿ{xvsïñííìèãßÚÖÑÍÈþÿöw}ííìëÖëþ~vspÿííìéäàÛ×ÒÎÉÄ¿½ÿõ„—ììëæÃêú™tqnÿííêåáÜØÓÏÊÅÀ¼ËÿôìëëêêééèðåƒolÿíêæâÝØÔÏËÅÁ¼Áòÿôu{êÎÒÜÕçÞâý€ÿëçâÞð†ÿ€ó‚”èÂÊÏÍÜÑÉÅÊÉÿèãßÚÖÑÍÈÃÿ„ÀæèçåææääÞââØÐÿäàÛ×ÒÍôò¿ÿ…éæáÖÛÜ´v&þäÜ×ÓÎÊóñÄÿ‡!\e65ƒ ÿøâÖÏËÅÃÎòÿ“†ÿƒŸùöö÷öîèççèîòæÏ×ËðÈÌ×ÊŽQJKW¡âÚÍ·ïÓŒî€Ò Ëx0//0ÜÌÖ»âêÓ‹íÓÒÒÊ’XOO\²ýüõÏæèêÓŠíÑÒÒÅŠYwzaºþÿýÕñ¹塉îÑÒÒÊcQ9‹þþü×úÕÃèDzˆïÔÒÒÌaO6‡ýýùÔüöìáÚæ¿‡ðÂÃÏÉs#dS(âööÑÏÑÏÉ-ḃòtÚÐÆ«´¼°Øãöõìñõõíl|ʇÿÿýùöû€ú ùøø÷÷öôìãØ‡ÿ}„üáåïçúøôøòâÞöýÿþòû…þ ûÑØÞÜùïÝ÷ð×äóι°ª¤¢²ëÿ„ýûúúùùøø÷÷ööõõþÅðï«¥Ÿ™“›ÿ„ü|ƒùÝáèäçîõðòôÿ¹îí§ š”Žˆÿ„û‹ž÷Ï×òÈÔÛôÞêòÿ´®¨¢›•‰ƒÿ„ û÷÷ööõõôôóùþ„ÿÓŠ„~‚ÿ€úzõÜàÚóÞñôʼ¶°ª¤ž˜’‹…|ÿPJ\Üÿù‰œôáãîòÝòÒ½·±«¥Ÿ™“‡€||ÿLF@mÿøóóòòññððþÁ¸²¬¦ š”Žˆ‚}|}ÿGA;=ÿøyññðïÝîÿ¹³­§¡›•‰ƒ}||–êB<61ÿ÷†™ðïïíÉíÿµ®¨¢¶ô„ÿêr=72,ÿ÷ðïïîîííìÿ°©£ôbba[VPJD?93-'ÿöw}ííìëÖëþ®¥ž˜ÿbba]WQKE@:4.(+ÿõ„—ììëæÃêú» š“ÿbb^XRLFA;5/)$Yÿôìëëêêééèðí§•Žÿb_YSMGB<60+%<Õÿôu{êÎÒÜÕçÞâý€ÿ`ZTO´†ÿ€ó‚”èÂÊÏÍÜÑÉÅÊÉÿ[UPJD>82-ÿ„ÀæèçåææääÞââØÐÿVQKE?9ÕÐ(ÿ…éæáÖÛÜ´v&þgLF@;5ÔÏ?ÿ‡!\e65ƒ ÿÝvH<602\Öÿ“†ÿƒis32Ý ³§©¼ÄÉÃÅÈÉÇÄ ¨PTÀÚêúúüÈùÌ¿€ ¦>@µÔçîáþýÿþì€&©>8¡ãøú¢G=K§ÿ²UPŠ£ìýÿ>Ó?AGÿÅ¿ÎâÚèþ€ÿ°CE€ÿ Çß÷úö¡=<>ACEG€ÿ ÃÐåøÿE<>@BEF‰€ÿÀÞöõÿ;=qê„ÿ½ÎäòþI?ê…ÿ¹Ýöðú¤E†ÿ¶Íâííùþ†ÿ³Üóäçéèþƒÿ ¯Á®ª¨³Íöƒÿ¬«ª¥£ ­åýÿûñ€«ƒŸ¢¤¥¦€ ¶³±ª¯ÃÃÅÈÉÇÄ µ˜‡S`ÕúúüÈùÌ¿€ ¶“€M\Òîáþýÿþì€&¹“ŠŠšàøú‚uxºÿ¾ž›¥²îýÿ~àqkiÿÈËÛçÞîþ€ÿÁgc€ÿ(Çß÷úöÄ€xsmhdeÿßìÃÐåøÿ†ytniddœûØÒÀÞöõÿzu•ï€ÿ.ûâÑȽÎäòþ~qïôíëãÛÒÊŹÝöðú¼oÿíìåÝÔÌÃà¶Íâííùþÿíçò‚ÿ,³Üóäçéèþéà×ôÇÿ¯Á®ª¨³ÍöñÛÐËâÿ¬«ª¥£ ­åýÿûñ€«ƒŸ¢¤¥¦€ ¹¼º¬¯ÃÃÅÈÉÇÄ ¾ËºZ^ÕúúüÈùÌ¿€ ÁÏ·CGÍîáþýÿþì€&Äϳ'+ÍøúÞ²£ÊÿÇÑ»@DÛýÿ±ê™Ž…ÿÊÔßÖÌíþ€ÿÐ…}€ÿ(Çß÷úöà¶©ž’‡}}ÿS¨ÃÐåøÿ»« ”‰~}¬ëGHÀÞöõÿ­¢³ó€ÿ.ëv>3½Îäòþ©™ó›c`VK@58¹ÝöðúБÿcaXMB70™¶ÍâííùþÿaZ·‚ÿ,³Üóäçéèþ_QFÒ4ÿ¯Á®ª¨³Íö®S=?›ÿ¬«ª¥£ ­åýÿûñ€«ƒŸ¢¤¥¦€h8mk  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþè‡ÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¤ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥ÿÓÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè]|‡ÿ©Y£ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ„@¢è$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ* ÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ’6ÿ,ÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ4&ÿ,ÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÞÿ2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÓÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ›ÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñšÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿËÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÎÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÎÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñšÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿœÿ4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÓÿŒ"„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûüÿ2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,ÿ‘5Žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôøûèÿó¹ßùÿ“5Žÿ,Ï4&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäŸ}}EODP,)+3Z6(ÿ,?6ÿÿÿÿÿÿÿÿÿÿÝéáž3" 3ú, W»æçâåßï䱋+/ #& !!$&&"  l8mk ÿÿÿÿÿÿÿÿÿÿÿÿÿÿí‰ÿáéÿÿÿÿÿÿÿÿÿÿÿÿÿ¦ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿœÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåíÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú{Ÿí(ÿƒ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿügsþ4ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ6ÿnjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒÿaVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿnjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿnjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿnjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿaVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿaVÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£øÿÿÿÿÿÿÿÿþóÓºÿÿÿÿÿÿÿÿÿÿÿ7qøÿõéìÚ¢jD1"ïÿÿÿÿÿÿÿÿÿî0JQDA0$ ÿÿÿÿÿÿÿÿÿÉöÿÿÿöÈs8mkÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿµÿÿÿÿÿÿÿÿÿÿÿÿÿôÿÿÿÿÿÿÿÿÿÿÿÿÿÿõµÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ¶ÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿûàôÿÿÿÿÿÿÿÿ·ïoI¾ÿÿÿÿÿÖC´öî’pyzo-4.12.3/pyzo/resources/appicons/py.ico000066400000000000000000000465161421373005400205700ustar00rootroot00000000000000 èv(^ ¨†h. 00 ¨%–  ¨>8 hæH( @€€€€€€€€€€€€€ÀÀÀÿÿÿÿÿÿÿÿÿÿÿÿppÿÿÿðˆpƒ33ÿÿøpø3388ðÿÿˆøÿˆó33ƒðøÿÿÿÿÿó3333ð÷ˆˆˆÿÿó33ÿÿÿÿÿÿÿÿÿøDó333338ðøÿˆÿ„Dó333333÷ÿÿÿDDø333333?ÿÿÿˆDDƒ33333?øÿÿÿDDHÿÿÿø33?÷ˆøDDDDDDƒ3?ÿÿÿÿÿDDDDDDHó3?øˆˆ„DDDDDDó3÷ÿÿÿøDDDDDDó8ðÿÿˆˆÿÿÿÿøDDÿÿøÿÿÿÿÿôDDDDð÷ÿˆˆøˆô„DDðÿÿÿÿÿÿÿøHDDHðøÿÿˆˆÿ„DD÷ÿÿÿÿÿÿÿÿÿ÷ÿÿÿˆˆˆˆÿxðøÿÿÿÿÿÿÿÿÿð÷ÿˆˆøˆ÷ÿÿÿÿÿÿÿ÷ÿÿ÷øˆˆˆˆ÷øp€÷ÿÿÿÿÿ÷ø÷ÿÿˆˆˆøˆ÷ÿp€øÿÿÿÿÿ÷÷÷ˆˆˆˆˆ÷p€ÿÿÿÿÿÿÿ÷wwwwwwww€üÀà€?€€€€€€€€€€€€€€€€€€?€?€?€?€?€?€€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ( À€€€€€€€€€€€€ÀÀÀÿÿÿÿÿÿÿÿÿÿÿÿp€p€‡ÿÿðxpxÿƒ3ÿ38?ÿÿÿ3ÿÿøO3338ÿôOƒ333ôHÿÿø3ÿôDDD3øDDDO8ÿÿÿÿ„OÿøHDOÿÿÿ„Dˆÿÿðÿÿÿ÷÷€wwwwwx~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @€~dF¡u?¦w>«z=³~;ƒgEŒkC”oA›r@»:­€Išb·˜pÆKУk(¾ÿ,Âÿ1Æÿ?Äÿ5Êÿ<Îÿ\ÍÿCÔÿKÚÿQßÿsßÿUâÿ[çÿcàÿbìÿœœœºººÓð‚ñÿµðÿÅÅÅÊÊÊÎÎÎÑÑÑÕÕÕÚÚÚÝÝÝïåØÓòÿàààæææéééîîîôïêãùÿñññõõõùùùþþþÿÿÿÿÿÿÿÿÿÿ((&&&&)2,&&/..)).($$&)ÿ,,ÿ)./......)..))ÿ,,ÿ.3()/$&&&)(&$&&ÿÿ.3$&/&()(.).ÿÿÿÿ#ÿÿÿÿÿÿÿÿ.3/////////+ ÿ,.3()///.$/ÿ  ÿÿ.3$&////(/ÿ  ÿÿ.3////////ÿ1"ÿ.3()////&/ÿ 1ÿÿÿÿÿÿÿ2ÿ.ÿ$&33//)/ÿ   2ÿ.ÿ333333//ÿ  ÿÿ.ÿ()3../3)3  ÿÿ.ÿ$&3).)3)3+  ÿ2.ÿ333333333ÿÿÿÿÿÿÿÿÿ!ÿÿÿÿ.ÿ()3&(3&()3)/3ÿ ÿ.ÿ$&ÿ)./../3/33ÿ ++ ÿ.ÿÿÿÿÿÿÿÿ333333ÿ++  ÿ.ÿ(.ÿ()))ÿ/)3/(.+  +.ÿ&&ÿ../.ÿÿ3ÿ3.)3ÿÿÿÿÿÿ3.ÿÿÿÿÿÿÿ3ÿÿÿÿÿÿÿ3333/.)&.ÿ(.ÿ/.)(../.33/333/$$&&.ÿ&&ÿ.//./3..33(&(&&((.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(ÿ3/.).)3.ÿ(.ÿÿÿÿÿÿÿÿÿÿÿ(ÿ($/$&/.ÿ$&ÿ)//.ÿÿÿÿÿÿ(3$ .$/.ÿÿÿÿÿÿÿÿÿÿÿÿÿ3&.//./.ÿ()ÿÿÿÿÿ//.)&( ././.ÿ$&3)//).3/.)& /./.ÿÿÿÿÿÿÿÿÿÿ33.&).////////////////3/ÿÿÀø€?àÀ€€€€€€€€€€€€€€€€?€€€€€€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€?ÿ( @~eG§x>ˆiE˜rC´‚E°š~7Èÿ?ÑÿH×ÿVâÿbìÿxâÿ«««³³³¼¼¼ÕÀ§›çÿ°ðÿÄÄÄÉÉÉÎÎÎÞÞÞäâßåååìììòñïãùÿöööùùùþþþÿÿÿ          ?ÿ<?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ?ÿ(0` €% !!$& &"   ŸŸŸWâââ»ïïïæîîîçëëëâíííåëëëßôôôïðððäÜÜܱÇÇÇ‹+<<Ñÿÿ:Îÿÿ5ÊÿÿpØÿÿöüÿÿiÓÿÿ$¼ÿÿÿÿÿÿøøøÿ!!!4888&ïïïÿïïïÿîîîÿîîîÿîîîÿíííÿÓÓÓÿÈÈÈÿèèèÿìììÿÑÑÑÿËËËÿëëëÿëëëÿÏÏÏÿÛÛÛÿ¿¿¿ÿÉÉÉÿ¿¿¿ÿÉÉÉÿÊÊÊÿÿÿÿÿSáÿÿNÞÿÿJÚÿÿF×ÿÿBÔÿÿ=Ðÿÿ9Íÿÿ5Êÿÿ0Åÿÿ,Âÿÿ(¿ÿÿÿÿÿÿøøøÿÁÁÁ‘%%%5ÇÇÇŽðððÿÇÇÇÿïïïÿïïïÿîîîÿîîîÿîîîÿÞÞÞÿíííÿíííÿíííÿìììÿìììÿìììÿÐÐÐÿÞÞÞÿàààÿïïïÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿVäÿÿRáÿÿNÝÿÿIÚÿÿE×ÿÿ°íÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿšùùùÿñññÿñññÿñññÿñññÿðððÿðððÿðððÿïïïÿïïïÿïïïÿîîîÿîîîÿîîîÿíííÿíííÿíííÿìììÿìììÿìììÿûûûÿѹÿ¥|Jÿšq?ÿ–o@ÿÿÿÿÿZæÿÿUãÿÿQàÿÿMÝÿÿIÙÿÿDÖÿÿ@Óÿÿ<Ïÿÿ7Ìÿÿ3Éÿÿ/Äÿÿ+Áÿÿ&¾ÿÿ"ºÿÿ-¼ÿÿŽÜÿÿþÿÿÌùùùÿÉÉÉŒ444"ÖÖÖ„ñññÿÈÈÈÿñññÿðððÿðððÿðððÿéééÿ×××ÿïïïÿîîîÿîîîÿîîîÿîîîÿíííÿÒÒÒÿëëëÿßÌ´ÿ§w<ÿ£u=ÿžs>ÿšq?ÿÿÿÿÿ]éÿÿYæÿÿUãÿÿPßÿÿLÜÿÿHÙÿÿCÕÿÿ?Òÿÿ;Ïÿÿ7Ëÿÿ2Èÿÿ.Äÿÿ*Àÿÿ%½ÿÿ!ºÿÿ¸ÿÿªåÿÿÿÿÿùùùÿ"""4888&òòòÿòòòÿñññÿñññÿñññÿðððÿçççÿÍÍÍÿïïïÿïïïÿÓÓÓÿÍÍÍÿîîîÿîîîÿÒÒÒÿüüüÿÀ—dÿ«y<ÿ¦w=ÿ¢u=ÿs>ÿÿÿÿÿaìÿÿ\éÿÿXåÿÿTâÿÿPßÿÿKÛÿÿGØÿÿCÕÿÿ>Ñÿÿ:Îÿÿ6Ëÿÿ1Çÿÿ-Ãÿÿ)Àÿÿ%¼ÿÿ ¹ÿÿOÈÿÿÿÿÿÎùùùÿÃÃÑ%%%5ÊÊÊŽóóóÿÊÊÊÿòòòÿòòòÿòòòÿñññÿðððÿßßßÿðððÿðððÿðððÿïïïÿïïïÿïïïÿÒÒÒÿþþþÿµAÿ®{;ÿªy<ÿ¥w=ÿ¡t>ÿÿÿÿÿsïÿÿ`ëÿÿ\èÿÿWåÿÿSáÿÿOÞÿÿJÛÿÿF×ÿÿBÔÿÿ>Ñÿÿ9Íÿÿ5Êÿÿ1Çÿÿ,Âÿÿ(¿ÿÿ$¼ÿÿ(»ÿÿÿÿÿ÷úúúÿõõõÿôôôÿôôôÿôôôÿóóóÿóóóÿóóóÿòòòÿòòòÿòòòÿñññÿñññÿñññÿðððÿðððÿðððÿðððÿïïïÿÿÿÿÿ·9ÿ²|:ÿ®z;ÿ©x<ÿ¥v=ÿõðêÿ×úÿÿsïÿÿ_ëÿÿ[çÿÿWäÿÿRáÿÿNÝÿÿJÚÿÿE×ÿÿAÓÿÿ=Ðÿÿ8Íÿÿ4Éÿÿ0Åÿÿ,Âÿÿ'¿ÿÿ#»ÿÿÿÿÿÿúúúÿÌÌÌŒ555"ÙÙÙ„ôôôÿËËËÿôôôÿçççÿóóóÿæææÿóóóÿòòòÿçççÿÜÜÜÿäääÿäääÿæææÿãããÿÔÔÔÿÿÿÿÿº€9ÿ¶~9ÿ±|:ÿ­z;ÿ¨x<ÿ¼™oÿôïéÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéúÿÿmÛÿÿ8Ìÿÿ3Éÿÿ/Åÿÿ+Áÿÿ'¾ÿÿÿÿÿÿûûûÿ"""4:::&õõõÿõõõÿõõõÿ×××ÿóóóÿÔÔÔÿòòòÿóóóÿæææÿÑÑÑÿÏÏÏÿÌÌÌÿÐÐÐÿÎÎÎÿÕÕÕÿÿÿÿÿ¾‚8ÿ¹€9ÿµ~:ÿ°|;ÿ¬z;ÿ§w<ÿ£u=ÿžs>ÿšq?ÿ•o@ÿ‘mAÿŒkBÿˆiCÿƒgCÿdDÿ‹uZÿÞ×Ðÿéúÿÿ;Ïÿÿ7Ìÿÿ3Èÿÿ.Äÿÿ*ÁÿÿÿÿÿÿûûûÿÇÇÇ‘%%%5ÌÌÌŽöööÿÌÌÌÿõõõÿÕÕÕÿòòòÿÊÊÊÿæææÿôôôÿçççÿàààÿåååÿäääÿäääÿêêêÿÔÔÔÿþþþÿÈ>ÿ½‚8ÿ¸€9ÿ´}:ÿ°{;ÿ«y<ÿ§w<ÿ¢u=ÿžs>ÿ™q?ÿ•o@ÿmAÿŒjBÿ‡hCÿƒfDÿ~dEÿ‹uZÿÿÿÿÿ?Òÿÿ:Îÿÿ6Ëÿÿ2Èÿÿ5Åÿÿÿÿÿ÷üüüÿøøøÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿöööÿöööÿõõõÿõõõÿõõõÿôôôÿôôôÿôôôÿóóóÿóóóÿóóóÿòòòÿýýýÿОaÿÁƒ7ÿ¼8ÿ¸9ÿ³}:ÿ¯{;ÿªy<ÿ¦w=ÿ¡u>ÿr>ÿ˜p?ÿ”n@ÿlAÿ‹jBÿ†hCÿ‚fDÿ}dEÿÿÿÿÿBÔÿÿ>Ñÿÿ:Îÿÿ5Êÿÿ^ÓÿÿÿÿÿÎüüüÿÏÏÏŒ555"ÜÜÜ„øøøÿÎÎÎÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿöööÿõõõÿõõõÿõõõÿôôôÿôôôÿôôôÿôôôÿóóóÿøøøÿèѳÿ„7ÿÀƒ7ÿ»8ÿ·9ÿ²}:ÿ®{;ÿ©x<ÿ¥v=ÿ t>ÿœr?ÿ—p@ÿ“n@ÿŽlAÿŠjBÿ…gCÿeDÿÿÿÿÿF×ÿÿAÔÿÿ=Ðÿÿ9Íÿÿ³ëÿÿÿÿÿüüüÿ"""4;;;&øøøÿøøøÿøøøÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿöööÿöööÿõõõÿõõõÿõõõÿôôôÿôôôÿôôôÿýýüÿáÁšÿÅŒCÿ¿ƒ8ÿ»€9ÿ¶~9ÿ²|:ÿ­z;ÿ¨x<ÿ¤v=ÿ t>ÿ›r?ÿ—p@ÿ’mAÿŽkAÿ‰iBÿ…gCÿÿÿÿÿIÚÿÿEÖÿÿLÖÿÿçÿÿþÿÿËýýýÿÉÉÉ‘&&&5ÏÏÏŽùùùÿÎÎÎÿøøøÿøøøÿøøøÿøøøÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿöööÿõõõÿõõõÿõõõÿôôôÿõõõÿûûûÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ×Ä®ÿšq?ÿ–o@ÿ‘mAÿkBÿˆiCÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿšýýýÿûûûÿûûûÿúúúÿúúúÿúúúÿùùùÿùùùÿùùùÿøøøÿøøøÿøøøÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿöööÿöööÿõõõÿõõõÿõõõÿôôôÿôôôÿôôôÿÿÿÿÿ¹€9ÿ´~:ÿ°{;ÿ«y<ÿ§w<ÿ¢u=ÿžs>ÿ™q?ÿ•o@ÿmAÿŒkBÿÿÿÿÿþþþÿÑÑÑŒ555"ßßß„ûûûÿÐÐÐÿúúúÿàààÿìììÿíííÿïïïÿÝÝÝÿåååÿéééÿøøøÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿöööÿõõõÿÜÜÜÿæææÿëëëÿÞÞÞÿÚÚÚÿÿÿÿÿ¼8ÿϦuÿüú÷ÿÇ£vÿªy<ÿ¦w=ÿ¢u=ÿs>ÿ™p?ÿ”n@ÿlAÿÿÿÿÿþþþÿ###4;;;&ûûûÿûûûÿùùùÿÛÛÛÿÛÛÛÿÖÖÖÿèèèÿÍÍÍÿÚÚÚÿÂÂÂÿöööÿøøøÿÑÑÑÿ×××ÿ÷÷÷ÿ÷÷÷ÿØØØÿÜÜÜÿÔÔÔÿÎÎÎÿËËËÿþþþÿÄ‹DÿÒ§uÿüúöÿʤvÿ®{;ÿªy<ÿ¥v=ÿ¡t>ÿœr?ÿ˜p?ÿšxMÿÿÿÿðþþþÿÌÌÌ‘&&&5ÑÑÑŽüüüÿÒÒÒÿüüüÿìììÿßßßÿìììÿñññÿèèèÿôôôÿöööÿ÷÷÷ÿùùùÿøøøÿøøøÿøøøÿ÷÷÷ÿÚÚÚÿìììÿèèèÿîîîÿæææÿûûûÿáÁšÿ¿ƒ8ÿ»8ÿ¶~9ÿ²|:ÿ­z;ÿ©x<ÿ¤v=ÿ t>ÿ›r?ÿÌ·Ÿÿüüü›ÿÿÿÿþþþÿþþþÿýýýÿýýýÿýýýÿüüüÿüüüÿüüüÿûûûÿûûûÿûûûÿúúúÿúúúÿúúúÿúúúÿùùùÿùùùÿùùùÿøøøÿøøøÿøøøÿ÷÷÷ÿ÷÷÷ÿõõõÿ÷÷÷ÿýýýÿèѳÿÍbÿ¼…@ÿµ~9ÿ±|:ÿ¬z;ÿ«}Cÿ·“gÿÛ˶ÿöõõÓÿÿÿÿÔÔÔŒ666"ááá„þþþÿÒÒÒÿýýýÿâââÿíííÿßßßÿôôôÿáááÿøøøÿûûûÿûûûÿúúúÿúúúÿúúúÿâââÿêêêÿëëëÿçççÿÝÝÝÿáááÿ¿¿¿ÿëëëÿãããÿôôôÿ÷÷÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùùÞîîîÿ&&&2ÿÿÿÿ###4<<<&ÿÿÿÿþþþÿüüüÿÞÞÞÿËËËÿçççÿÊÊÊÿòòòÿûûûÿüüüÿ×××ÿÐÐÐÿûûûÿúúúÿÝÝÝÿêêêÿÎÎÎÿÖÖÖÿÍÍÍÿÖÖÖÿØØØÿÑÑÑÿÔÔÔÿ÷÷÷ÿ÷÷÷ÿ÷÷÷ÿöööÿòòòÿ"""4888&ÛÛÛÿ,þþþÿÌÌÌ‘&&&5ÓÓÓŽÿÿÿÿÔÔÔÿÿÿÿÿïïïÿáááÿëëëÿýýýÿèèèÿûûûÿýýýÿüüüÿüüüÿüüüÿûûûÿàààÿïïïÿíííÿñññÿæææÿ÷÷÷ÿæææÿõõõÿêêêÿøøøÿøøøÿ÷÷÷ÿÊÊÊÿïïïÿ¼¼¼’$$$6´´´ÒÒÒÿ,þþþÿýýýÿýýýÿþþþÿþþþÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿþþþÿþþþÿýýýÿýýýÿýýýÿüüüÿüüüÿüüüÿûûûÿûûûÿûûûÿúúúÿúúúÿúúúÿùùùÿøøøÿùùùÿøøøÿôôôÿðððÿëëëÿåååÿÝÝÝÿÓÓÓÿÈÈÈÿ* þþþÿ©Yˆˆˆ£¾¾¾ÿÿ¾¾¾ÿòòòÿ···ÿ···ÿ£££ÿãããÿµµµÿ¬¬¬ÿµµµÿýýýÿñññÿíííÿýýýÿûûûÿâââÿìììÿñññÿäääÿØØØÿÏÏÏÿ¿¿¿ÿãããÿáááÿïïïÿÂÂÂÿåååþ¤¤¤„@–––¢ÄÄÄè$ýýýÿɃ&ÓÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÜ¢Uÿ§§§ÿ¡’ÿ™…ÿŽÿ©©©ÿžÿ™…ÿ ‘ÿ···ÿÞÞÞÿúúúÿýýýÿýýýÿÞÞÞÿâââÿÚÚÚÿÓÓÓÿËËËÿ²²²ÿ®®®ÿ¨¨¨ÿ¯¯¯ÿÊÊÊÿÈÈÈÿ½½½è444]ttt|ÄÄÄÂÈÈȇüüüÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ¦¦¦ÿ™…ÿ™…ÿ™…ÿ²²²ÿ™…ÿ™…ÿ™…ÿ³³³ÿèèèÿõõõÿþþþÿýýýÿàààÿòòòÿíííÿôôôÿäääÿÉÉÉÿþþþÿÿÿÿÿÿÿÿÿþþþÿøøøÿñññÿáááÿéééÿÚÚÚ¥üüüÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ½½½ÿ™…ÿ™…ÿ™…ÿ¾¾¾ÿ™…ÿ™…ÿ™…ÿ¾¾¾ÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿþþþÿþþþÿýýýÿöööÿÍÍÍÿÿÿÿÿãããÿÕÕÕÿÕÕÕÿñññÿÉÉÉÿŸŸŸÿ³³³ üüüÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ¼¼¼ÿ™…ÿ™…ÿ™…ÿ½½½ÿ™…ÿ™…ÿ™…ÿ¾¾¾ÿþþþÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿýýýÿõõõÿËËËÿþþþÿÀÀÀÿÂÂÂÿ®®®ÿéééÿ¤¤¤ÿ˜˜˜˜üüüÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ»»»ÿ £”ÿ™…ÿ £”ÿ¼¼¼ÿ!¤•ÿ™…ÿ!¤•ÿ¾¾¾ÿýýýÿýýýÿþþþÿþþþÿþþþÿþþþÿþþþÿûûûÿòòòÿÈÈÈÿþþþÿÔÔÔÿ®®®ÿÂÂÂÿêêêÿ¬¬¬ûûûÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ£££ÿ¯¯¯ÿ›››ÿ°°°ÿ   ÿ¼¼¼ÿ¼¼¼ÿ½½½ÿüüüÿüüüÿüüüÿýýýÿýýýÿýýýÿýýýÿúúúÿöööÿîîîÿÅÅÅÿúúúÿñññÿéééÿêêêÿÝÝݧûûûÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ»»»ÿ[\ãÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ[\ãÿ¼¼¼ÿûûûÿüüüÿüüüÿüüüÿüüüÿùùùÿõõõÿñññÿèèèÿ¿¿¿ÿöööÿéééÿêêêÿÜÜܦúúúÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿºººÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ­­­ÿçççÿëëëÿïïïÿïïïÿæææÿãããÿÏÏÏÿàààÿÄÄÄÿ»»»ÿñññÿêêêÿÛÛÛ¥úúúÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ¹¹¹ÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2ÜÿºººÿÙÙÙÿÙÙÙÿÖÖÖÿÙÙÙÿñññÿÞÞÞÿÎÎÎÿÀÀÀÿ®®®ÿ»»»ÿòòòÿÚÚÚ¤ùùùÿÐ;çÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÚ Sÿ¢¢¢ÿWXßÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2ÜÿYZáÿ­­­ÿíííÿðððÿçççÿëëëÿíííÿäääÿÑÑÑÿÐÐÐÿµµµÿÛÛÛÿÜÜܤûûûÿùùùÿùùùÿùùùÿúúúÿúúúÿúúúÿúúúÿúúúÿúúúÿûûûÿûûûÿûûûÿûûûÿûûûÿüüüÿûûûÿúúúÿøøøÿõõõÿòòòÿïïïÿéééÿãããþåååè××ׇ ÿ€ÿÿÿ¿_üÿþ?_à?ð?_à?_à?_à?_à?_à?_à?_à?_à?_à?_à?_à_à_à_à_à_à_à_à_à_à_à_à_à_à?_à?_à?_à?_à?_à?_à?_à?_à?_à?_à?_à_àÿ_àÿ_àÿ_àÿ_àÿ_àÿ_à?ÿ_àÿ_àÿÿ_àÿÿ_( @ €ÿÿÿÿÿÿÉÿÿÿöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿÈÿÿÿ!!!0\\\JeeeQ666D555A0$ ÿÿÿÝøÿÿvâÿÿHÖÿÿ<Ïÿÿ6Ëÿÿ0Åÿÿ2Ãÿÿ\ÎÿÿÖòÿÿÿÿÿ7qéééøæææÿáááõÖÖÖéÛÛÛìÜÜÜÚ´´´¢vvvj&&&D1"þþþïgäÿÿLÜÿÿF×ÿÿ@Óÿÿ;Îÿÿ5ÊÿÿÔóÿÿÏñÿÿ?ÄÿÿÿÿÿîÀÀÀ£æææøèèèÿçççÿåååÿæææÿæææÿäääÿäääÿÞÞÞÿâââþâââóØØØÓÐÐкÿÿÿÿVäÿÿQàÿÿKÛÿÿE×ÿÿ?Òÿÿ9ÍÿÿÕôÿÿÐòÿÿ(¿ÿÿÿÿÿÿóóóÿ‚‚‚a”””VèèèÿÂÂÂÿÊÊÊÿÏÏÏÿÍÍÍÿÜÜÜÿÑÑÑÿÉÉÉÿÅÅÅÿÊÊÊÿÉÉÉÿÿÿÿÿ[èÿÿUãÿÿPßÿÿJÚÿÿDÖÿÿ>Ñÿÿ8Íÿÿ2Èÿÿ-Ãÿÿÿÿÿÿôôôÿuuun{{{jêêêÿÎÎÎÿÒÒÒÿÜÜÜÿÕÕÕÿçççÿÞÞÞÿâââÿýýýÿÿÿÿÿÿÿÿÿÿÿÿÿ`ëÿÿZçÿÿTâÿÿOÞÿÿ´ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿôôôÿìììÿëëëÿëëëÿêêêÿêêêÿéééÿéééÿèèèÿðððÿíåÚÿ§ƒVÿ•o@ÿŽlAÿÿÿÿÿbíÿÿ_êÿÿYæÿÿSâÿÿMÝÿÿGØÿÿBÔÿÿ<Ïÿÿ6Ëÿÿ0Åÿÿ+Áÿÿ%¼ÿÿ<ÁÿÿÕòÿÿÿÿÿõõõÿ„„„a———VìììÿìììÿëëëÿæææÿÃÃÃÿêêêÿúúúÿ»™mÿ t>ÿšq?ÿ“n@ÿÿÿÿÿbíÿÿbíÿÿ^êÿÿXåÿÿRáÿÿLÜÿÿFØÿÿAÓÿÿ;Ïÿÿ5Êÿÿ/Åÿÿ)Àÿÿ$¼ÿÿYËÿÿÿÿÿÈöööÿwwwn}}}jíííÿíííÿìììÿëëëÿÖÖÖÿëëëÿþþþÿ®~Cÿ¥v=ÿžs>ÿ˜p?ÿÿÿÿÿbíÿÿbíÿÿaìÿÿ]éÿÿWäÿÿQàÿÿKÛÿÿE×ÿÿ@Òÿÿ:Îÿÿ4Éÿÿ.Äÿÿ(¿ÿÿ+½ÿÿÿÿÿö÷÷÷ÿðððÿïïïÿïïïÿîîîÿîîîÿíííÿíííÿìììÿÿÿÿÿ°{;ÿ©x<ÿ£v=ÿs>ÿôïêÿñÿÿbíÿÿbíÿÿaìÿÿ[èÿÿVãÿÿPßÿÿJÚÿÿDÖÿÿ?Ñÿÿ9Íÿÿ3Èÿÿ-Ãÿÿ'¾ÿÿÿÿÿÿ÷÷÷ÿ†††a™™™VðððÿïïïÿïïïÿíííÿÉÉÉÿíííÿÿÿÿÿµ~:ÿ®{;ÿ¨x<ÿ¢u=ÿ¶—pÿôïéÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêúÿÿrßÿÿ=Ñÿÿ7Ìÿÿ2Èÿÿ,ÂÿÿÿÿÿÿøøøÿyyynjñññÿñññÿðððÿïïïÿÝÝÝÿîîîÿÿÿÿÿ¹€9ÿ³}:ÿ­z;ÿ§w<ÿ¡u>ÿ›r?ÿ•o@ÿlAÿ‰iBÿƒfDÿ}dEÿ|cEÿ|cEÿ–‚iÿêúÿÿBÔÿÿ<Ðÿÿ6Ëÿÿ1ÇÿÿÿÿÿÿøøøÿóóóÿóóóÿòòòÿòòòÿñññÿñññÿðððÿðððÿþþþÿÁ‡?ÿ¸9ÿ²}:ÿ¬z;ÿ¦w=ÿ t>ÿšq?ÿ”n@ÿŽkAÿˆiCÿ‚fDÿ}cEÿ|cEÿ}dFÿÿÿÿÿGØÿÿAÓÿÿ;Ïÿÿ=Ìÿÿÿÿÿöùùùÿ‰‰‰aœœœVôôôÿáááÿãããÿîîîÿòòòÿÝÝÝÿòòòÿÒ£iÿ½‚8ÿ·9ÿ±|:ÿ«y<ÿ¥v=ÿŸs>ÿ™q?ÿ“n@ÿkBÿ‡hCÿ€eDÿ|cEÿ|cEÿÿÿÿÿLÜÿÿF×ÿÿ@ÓÿÿmÛÿÿÿÿÿÈúúúÿzzznjõõõÿÜÜÜÿàààÿÚÚÚÿóóóÿÞÞÞÿñññÿôèÙÿÊ“Pÿ¼8ÿ¶~9ÿ°{;ÿªy<ÿ¤v=ÿžs>ÿ˜p?ÿ’mAÿ‹jBÿ…gCÿeDÿ|cEÿÿÿÿÿPßÿÿJÛÿÿ\ÛÿÿÜ÷ÿÿÿÿÿûûûÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿõõõÿõõõÿôôôÿôôôÿóóóÿùùùÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÓ¯ÿmAÿŠjBÿ„gCÿ~dEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿûûûÿ‹‹‹ažžžV÷÷÷ÿÏÏÏÿ×××ÿòòòÿÈÈÈÿÔÔÔÿÛÛÛÿôôôÿÞÞÞÿêêêÿòòòÿÿÿÿÿ´}:ÿ®z;ÿ¨x<ÿ¢u=ÿ›r?ÿ•o@ÿlAÿ‰iBÿƒfDÿÿÿÿÿüüüÿ|||nƒƒƒjùùùÿÝÝÝÿáááÿèèèÿäääÿçççÿîîîÿõõõÿðððÿòòòÿôôôÿÿÿÿÿ¹€9ÿîâÔÿíâÖÿ§w=ÿ t>ÿšq?ÿ”n@ÿŽlAÿˆiCÿÿÿÿÿýýýÿûûûÿúúúÿúúúÿùùùÿùùùÿøøøÿøøøÿ÷÷÷ÿ÷÷÷ÿöööÿöööÿõõõÿõõõÿþþþÿÅ‘PÿðäÔÿïãÖÿ«y<ÿ¥v=ÿŸt>ÿ™q?ÿ“n@ÿ›~Yÿÿÿÿîþþþÿa   VûûûÿÑÑÑÿØØØÿÞÞÞÿÜÜÜÿùùùÿïïïÿÝÝÝÿ÷÷÷ÿðððÿ×××ÿäääÿóèÚÿΡkÿ¹ƒAÿ°|;ÿªy<ÿ¤v=ÿ¢yFÿ²•pÿëäÜÿÿÿÿÿÿÿÿ}}}n„„„jüüüÿáááÿåååÿïïïÿçççÿúúúÿøøøÿôôôÿøøøÿòòòÿâââÿÞÞÞÿöööÿýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿòòòÒûûûÿÿÿÿÿÿÿÿýýýÿýýýÿýýýÿýýýÿùùùÿöööÿûûûÿúúúÿúúúÿúúúÿùùùÿøøøÿøøøÿ÷÷÷ÿ÷÷÷ÿöööÿôôôÿìììÿãããÿØØØÿ6òðíÿtiWƒq^|ÚÓÊÿÐËÅÿÆÌËÿ«¹·ÿ´¼»ÿ¼ÅÄÿ°½¼ÿØÜÜÿãããÿöööÿõõõÿìììÿñññÿõõõÿõõõÿíííülllg|||sÊÊÊþ4ðÞÆÿ„,åÃ(íÏ“?ÿÉžfÿs­¡ÿ#žÿdª¡ÿS©žÿ(Ÿÿµ±ÿâââÿöööÿöööÿÑÑÑÿÏÏÏÿÑÑÑÿÏÏÏÿÉÉÉú---{bbbŸÌÌÌí(ï×¶ÿÔ‹'ÿÒ‹&ÿÒ‹&ÿÌ—Lÿa©›ÿ™…ÿO©žÿ6¤•ÿ–ƒÿ‡º³ÿýýýÿýýýÿùùùÿÔÔÔÿüüüÿöööÿìììÿáááÿÚÚÚÿæææÿ¿¿¿îÖ´ÿÑ‹#ýÒ‹&ÿÒ‹&ÿÊ–Jÿcªšÿ—ƒÿQ©žÿ9£—ÿ›…ÿ‹¼¶ÿþþþÿþþþÿüüüÿ×××ÿúúúÿÕÕÕÿÃÃÃÿèèèÿÇÇÇÿ²²²¡íÕ³ÿÑ‹#ýÒ‹&ÿÒ‹&ÿÅ‘EÿЍ£ÿY¢¡ÿw £ÿz«®ÿa¨§ÿºÐÏÿþþþÿÿÿÿÿýýýÿÕÕÕÿñññÿÂÂÂÿ¹¹¹ÿåååÿ¡¡¡œíÕ³ÿÓ&ÿÒ‹&ÿÒ‹&ÿÊ–Jÿ’ÂÿXXÖÿOSÓÿOSÓÿ\]Õÿ²³ÖÿýýýÿüüüÿõõõÿÏÏÏÿæææÿèèèÿêêêÿÓÓÓ¦îÖ´ÿÒˆ#üÒ‹&ÿÒ‹&ÿË–KÿxvÄÿ03Ùÿ/2Üÿ/2Üÿ03ÛÿŽÄÿÜÜÜÿÌÌÌÿÖÖÖÿ»»»ÿâââÿêêêÿÓÓÓ¦ðÞÅÿȇ/á̈*é×IÿÊ¢iÿŽÈÿQTÝÿJLÛÿKMÜÿWZàÿ¡¡ÊÿâââÿÚÚÚÿÍÍÍÿ···ÿïïïÿÓÓÓ¦ù÷ôÿöðçÿöïåÿ÷ðæÿöñëÿîîôÿèèøÿççøÿççøÿèéøÿîîóÿòòòÿæææÿÏÏÏÿ×××íËËˉ ü€?à€€€€€€€€€€€€€€€€€€€?€?€?€€€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€?ÿ(  @«««CŸŸŸ´¢¢¢ö¤¤¤î¥¥¥’¦¦¦¬¬¬ï«««oªªª¥¥¥£££I   ¾­­­ÿåååÿýýýÿÿÿÿÿûûûÿñññÖ¯¯¯ÿÁÁÁÿ®®®ûªªªà¨¨¨ô³³³ÿÍÍÍÿöööÿ®ñÿÿSÛÿÿ=Ðÿÿ?Ëÿÿ›âÿÿÿÿÿ·³³³ÿÜÜÜÿóóóÿäääÿçççÿéééÿèèèÿþþþÿ_éÿÿQàÿÿF×ÿÿÒôÿÿ4Çÿÿÿÿÿö¶¶¶ÿÍÍÍÿâââÿíííÿíííÿùùùÿþþþÿÿÿÿÿaíÿÿZçÿÿ·òÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõÿÿÿ¶¹¹¹ÿÝÝÝÿöööÿðððÿúúúÿм¤ÿ‘oEÿÿÿÿÿcíÿÿaìÿÿXåÿÿMÝÿÿBÔÿÿ7Ìÿÿ0Ãÿÿ™àÿÿ½½½ÿÎÎÎÿäääÿòòòÿþþþÿ©~Iÿ™q?ÿóïêÿ›ôÿÿcíÿÿ`ëÿÿVãÿÿKÛÿÿ@Òÿÿ5Êÿÿ8ÅÿÿÀÀÀÿÞÞÞÿöööÿõõõÿÿÿÿÿ­z;ÿ¢u=ÿ³•qÿóïêÿÿÿÿÿÿÿÿÿÿÿÿÿëûÿÿvâÿÿ>Ñÿÿ3ÈÿÿÃÃÃÿÐÐÐÿåååÿøøøÿÿÿÿÿ»†Eÿ«y<ÿ t>ÿ”n@ÿ‰iBÿ~dEÿ}dFÿ¬œ‰ÿëûÿÿGØÿÿHÒÿÿÇÇÇÿßßßÿ÷÷÷ÿúúúÿöööÿàÄ¡ÿ¶€=ÿ©x<ÿžs>ÿ’mAÿ‡hCÿ}dEÿ}eGÿÿÿÿÿSßÿÿ¨ìÿÿÊÈÅÿÔË¿ÿßÛÎÿÖçâÿÌÞÚÿíîèÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÐÁ°ÿ…gCÿ}cEÿÿÿÿÿÿÿÿõÿÿÿµÇ¾²ÿÑžUÿ»›Pÿ@¥ŠÿD²£ÿÛîìÿýýýÿÿÿÿÿ±~>ÿêàÓÿ™q?ÿŽkAÿ…iGÿÿÿÿôĹ©ÿÏ“>ÿ³Š8ÿ'Šÿ+š¡ÿÍàãÿøøøÿúúúÿÞ¢ÿ²‚Gÿ£u=ÿxKÿʺ§ÿÿÿÿµÁ¶¦ÿÏ“>ÿ·€@ÿCMµÿG\ÔÿÍÒçÿîîîÿáááÿþþþÿýýýÿÿÿÿÿþþþÿìììÿ¾µ¨ÿ˘Pÿº‡TÿZSÀÿ^`ÚÿÕÕêÿúúúÿúúúÿüüüÿÈÈÈÿùùùÿÌÌÌÿ¿¿¿¹¶³ÿ¼³§ÿº±©ÿ¬ª¼ÿ¯¯ÄÿÃÃÉÿÃÃÃÿÅÅÅÿÈÈÈÿÉÉÉÿÇÇÇÿÄÄÄ~&&&&&&&&&&&&&&&&pyzo-4.12.3/pyzo/resources/appicons/pyzologo.icns000066400000000000000000001510741421373005400222000ustar00rootroot00000000000000icnsÒAïw¸þ¥8ÄÛáŸî~ú¿£«ÔDüƶÇù5X‡o 8ÓpõÅ.Üü}RܼqĸÅ?£ßßz ëT«ÌN³¥¯‰sªƒíí÷Còk}zÎÊϸ*…)À“Sjéú¹'¦Zâ+ð'v’H—{máëbùKÇØ_aÌ>Ã` *Ž—5V´Cå¥å5eBþ¿ÚÐLrbyAç¢[É®’ó·~¿gïælì9ÿZŸÏ›šÕ1Œé*b O^Ý²È Z«5ùx:K¡ØèûÅß4iq¨¯ó…ù_êKiLJ˜ÄÁÛT™ŸgAU1žV¢ÓÁ%•4™™„ƒFx¶‚ÛÌ3F='ÍÜ /% ÅÀyŠåVÓ¯›½Ÿlüë×ϼº}æðû @ +;Ρ)øñpqvh€¤›=uí&‡ 5DæÓ´rD'ŽŒœó•rVlO›D„+ar™ºš(^õ⦹×S·Æ6õ†y·Lñg€µ%Né>Sù ÀóY40ƒUãPÏîNrp$.C³à6C÷1ò¨;Ùyº7Ñ*C ž‚Ã×§¹‘YlU߯ר-‡CõÍíLe_ϼÂ}ç0û € +K_‡ì´\ \ê%xÌ„,ˆVSÒL¢)‚žžXÝdޱl¸ó™å¬ëSÛ¥KºDŒu\Br·€K¸­Ä ³ró­Òçª2VÎåúŒ/  '1¢‹TÎ 6ËŒþ:Ï6 5lèÜRAz gcÀà½ÂýÄG]}øAÙÒ²¥€\É™Xß'f¬áÃÕi&Ë)ß•)>úV>÷`dò¡0>þ +DÐÛßüÑ¢Lédej[ú´H¾ráÏ—«M„ܳfŽzO. lxw¿ÀI‚Ãû”“OvJfÏú¯ûÉ™3ÐïúЬ~Âhò¯0HþµUhB¼ zß«Ÿìø‰4ürBÚ­¶Ãë"¡”dÅ~IdhÜÖÀ !9^†|Ê!ýNÁŠ™]lÔþ”ÏBÝ(|p_òŒƒð¡3óðx5;âbQ#aVéfýø-2ŽÏ\ÀWoXAP{ÈtðPMR¾àÃ÷‘·J^¥AÂtÚ¦>x†CšæO YäÜÞÚ .iŒC‘$j5–MT ƒ ڋÉ?âýb ˜ß«PFê@a'U…#g³S¹µì`³æ<ÿ^áokà|î•g¡BÜÿ4Ë¾Š©àû( “.I°.©ŒžÍœãyô‘¦ã€„0<ÿ^ÍÜ6<¹T²§9î׺­k&G‡$Þ¡ýTS4„¾fOç%(¤W:-C_%^ë±1…ã÷‘§Ï¾Ÿ}5{ÈdÇ«ºÅuQYù—ËYÀï44½¡Už„ˆn{?ŸUpÏ(%’zî *íÉÞÖñ)Ö"¼›Ký‰8~ó(]äpNàÑKm¨rÆûÖSè ß„M->&³–œ¸˜$(˯¾@ÒeÍ5Û•>ƽÎt³c~À=2¶²»æ7è»e"ò°·Ù“saç2Gèìzàšv½¯—€µ’ç ¤¬¾‚˜Œ—ò83†,iÁÛ–Ê©o ˆs»Ì ÁS<~bf½;ÒGÊφ5ž êkeè(sõÑNK‚ñM—g¥ãˆÃQ®%‹w‹;4ëDKèE¥VSÂu Wîbà÷À¨¢ÁÙgƯ±e»BìI9W Vts1ûžBEÂ4Oaˆ^ÞWû°Žɯ#… ³$âÊÒor?гôEî ƒÑk¨®óXS·õY0ºWlyAÃw 6À®h^ýº€37Eó~‚)xKkd :/Æû؈հ±¢Xö:ôze²Ú7¹ VÓè‚.®(q¹i:ý%[Ò›÷·÷ø™Lˆ¯f¤MgJŠÏ¾…Ÿ}/{ÐdÇ›%ÿ sÝ)ò$»<ºnó¹íT¼St©rÜßÜ \QMçÍócÈÁ/kjþò jlÇv¾Ý2Ô©CúŸ ó"kjŸƒ÷b¸L”Îú% Í‘y +„)3¯S¶È. Öf—ã(Ÿ«µ{¢¼)šÀ óP™ïæ‹§,ú8I›]›ƒBSñä‡#ªú4Jùfô ²o7úú{:˜î0µ÷IU"½rã¿€€Ÿ‹ª€‘7v’^Ÿ>EÚ ýs*C?:©OÉX…Yn{ç Û‡¸Ó§ÇƒÝ–Dí¯h@³Õz¡UÔ¹«išŠnn ¤¡ÛþУ—Ȧ,'"ù‚Úcÿ\aiR|ZœìÞú]#¦©ÂÓ\H;L7´½Aìä“ P} ^¬À-Q½{†W¸_ßü…ÒÀ’¸ØÚ‡ß“Õù3OÉ,‚±zzL/‘źJ§*œV…bðä(N¼@»‰LÜ®»àâ“íÀâÈ ©,#-ŠŸ_~Ò‹Â>+¼èñ£ûu²‘R"ŸÌ9®©Åû5:Õ'­»ó Àv‘níÚhj(£öª›”ëBkw[0XC—y>>0–óâÜ–‡/¸PÀ^þêp…ÿ9@yXÁäÏQ¤[Bƒ1é:É?ÊN`×¾±$iîHù|t‚àÞ÷xkì)‰šÑu¦q?eݨ½¸xF@nêBOí‡Ö<šÁtåpÓñ hÇœ}4è󌈪t@m-ôÕ½ø”¯ðˆœöÅ[I§£Ô›»Þ¼@™îñeS…ÐN"8 »;&Œ‚¤¬&óSÓÎy™n› ‚XÓÏ¿PïËM£ð»@Œ”ß%|BÙ$) XE1žO©Í ™ÅòÕËOÇ 3s‘×Sã5Éܬ䉂ò£ ¢¢Ù—cÔ›°UÞWtð °wÖÍ©'ÖÄ™®§g„–¹ÌÀ/žLܨ:S³Ü„•5¡lFöCG•N¶á/¼Lƒû2ÊqáËüsë>b§‘ÝñV§%gƉØWV ¯{+Ú¹ ˜àHÉ& ІèÇGHûé| 3!R¥çÿ"xVs6÷€E€ëÛwéDòOµ KZéŠ%TM=?Òñ^WûLª6°«²p]W;=§Ð­@;VC½¾› ²Á)וüÄ­{‰*8Û7Øö¢œ.jfÉöìy«˜BÐå¼t92¬³ƒGÇ*„÷+ò,šAgh=Ì(Ð1/ 5ñIËâJ[]œV‡Ú ãT”ÑqhzdŽHÖ÷¬Zš ?=V› P乓9ãÅŒIcy„ãâI±c‘¾‹k‡MÍ ]‹ˆšâßî¶Ïò—N{¬†1WÔ÷p}-¡&=æ'û”È·*dFÍ9ÈŠQ}@þÊY¾Mêå­™6§jq½w‡ÑÐ ‹U’rXZîd‰Ô6:2¯³ÍEï¨eä!rq•ÞŒ~_›pÂñ(#°_8mrÜ.KÞöñ(;Cìs•.š†½ƒ òL¬FbâE€Ñžu# ¾®´Ð€<{UG*hÝhSˆ‚6 ¥Yn@V¼ÇrÒŽBÌäB#^Z§ì«Ðv`#¹4Šƒ‰Ý‡*p}øÐ$ö?J >nnD¦»AØa5I޼ ¿ÐÇ3æoƒœØ®*òýµ70µû™ú©˜M#óÑ ™1C¶VÏL½KQ¾‘JÚQòE;e†¤‡j|Ú‡ø3_®ñH9z¢#óÂ2*¹®ÛÖ©Ýä•\ó­tÿdÑóÉëòŒn-·ñLÆ~$<®&ß‘¦ua×á ©Ô T^Æ{B£éá`áÑê¸3X'ôK˜—Ò°®&¢ð¶äž^0Øh­½Î™zåÌnGÁ¶ü PºÒÒgS¬bšÛX¼EÕQØ8¯ü¨Ãï“Vg%!­¶Ï›[äi§k#å“óï+ãœõÍ/f”VÍbØß¿¥Ú‹ø: êBäÞÁIÉÉ- õÏ¿OoËM£ï»@Œ]ÒI%þS:š)˜Êî×!eéÉe“ʇå²g Éw<ÎRy^mõ>§Ò‘ô‰óU‰ŽŒ|zñ?v=Üâ-ä<(žU1M“&Ñ'1ô9®8eøøùÀÕ}ãü¸dÿ6T6û™/¤îXÛâ,ß]ÙZ¦ÍÆ(d+ïVΦ`†íìß AÁŠjRž×5#=LiFob©Íë·Vjé9‰nnµLaŒ¸•ëp0ݼGÁ³‡p‹ß§— ¶èâÉTýkQ—”ªvDE6ý)†¬Û϶óýfĤÅ_M« ô-l{aFÈû¥ú)ff¯´=nFY‚¾Y)mËF] ‚¾…‹¦4Çž½/㘰DZB¥ ùX9Aò°C\'Ú™Ž‚c Þ+®á'M6<óDÏR·Îé|c'VìFIɹ•i[N5'q­|,IèôeoÃû–ü'o*¢ÆŽã'̪Î?QäŽ;úìÓ{»œ*À÷Ap_—ŒÂø %‘\>S™!¼Twê?ßÄ‚±J‹yœ<…ÖSîè) %®GLyÕæ(ÿo‘Ìå|¤,ϱŸÎ²‘Ú9‰8'sò ©ëGØ\°ˆ:àÜ7 ýšùöïº)òÑð„`ÒÁxéÓ·îª&%Jµ>] %‘ÏV5ò©VÊï8jÿ|'íÞ„ùB}f°¢Â;ŸAptÊ:É÷ü¿·¡q ü !­Ÿ¤în¿ëVD"å7Ó–»ŸÑœÕ0 ŸŠŽ+Ÿ6Ëê8O`¥ëΪk#OÏ¿J¯ËHãï¸ÀŒ]ÒI%þ=ø`¶ðk½2¨EÆ]©¦ÍçÊ žºó¤TCk™Ò^Ñ7“Õ¬Nî«îÕ÷JvèðßRSFGñ]éR4oðz'uìO˜Ç*âÚXoühz²‰›Õ}Uû¿lÜí·¥Ü3"®V!ãÚŠþóS›Å÷&˜jdJ@ñ5©;s_d†p!9õþûMd.~ªÛ;dcOöïå”§ n0n.Œ2ý*Ž’ÚjƒØ·V7a9nÑËÆ64«·ÓKiMnÿHºÅ˜Rm™¦VÒ/²À ~FDZ´¦B,ä~Øm³e•¶AèKÌ®¨ÄzH•“ô¡(ÒýDä.Òfì¤%:˜£U#|ôI·©ûWˆ*n?Êá°½Z7Ñ ÙâŸ{ª /Yâ¸ÕV( ƒ»)U¬@¶÷²Æª¥—˜¤_FË!Ë{˜·”Ȇ MµØuûmÁri_Qèÿ¶IQRšpÚ$~EÕ õ?aQdØm´OóSKò<9¼=hGJnae1­âe .²ä¼k2Xݬb‘/ƒ}Ï Â&Äѳcƒ‹ ^2í–fà«ïALE"—Éœu»(…O6X 9!*ç7H ûMR"¬ç°[ÒP‹]z™¿Ð+Ùæ„ÃøOâŒÂEU#`ö5+Z7 øýÎÚ‡½Î^j¦fÑaa #OÞG”áô >ÓC™ rƒ ¢‚1íC0ÂÍæ¥À.w7¬SdSÛ\? ‹SøLÉI%0ô´™ö¡»!\KŸY[—è‰Í³ƒ€³2'Ú³¹Ó1ÖTz°ˆ–=ìeÖŠ&ïÄšA`.} PL[_»ÈÖ[¿¬ÆTOs¾ õ‘VL‚ÈrI+Ë=¿bõìNæ1€ãØn5V|Â$fBÐ7ò°ç9­ øûï6-n€aæ\ɾvܱt-M59%<<èäP‹ujÝÍàÐúY„ ÎÄnd¥ 1Ž,E%Y¨PÑvxZrni²Cì¾d# ŒCŒ€$®ý?´ÇÜ—(»À¾íl&¦˜rØÛŠe;ÒN¨¿ÇÙpϾº‡ÙG€Å§#'PéR|ù~1™oLâÉ̪Ü)ÑÏ“ä̇«È\lÃY‹õÝoš„õ+Œ?èàTA5¹jeà‹ŒzäjêL‰W¬œžÿrd}³ë¤³\GÒm~ØÂÜÝ”«”C"cxÀO\}VÝpkëžA–ErsÍPcxÙIY,Ô¯] áö¬íkk—Ã`MéÕÅv…óŠŽ hòëcÒµx/ÂB˜°Ð ¦½C­+ø•°  Ú’Fi†.݉ºð„IœE6¼Ê„,ñ«º “D}AZÄ/ÿu#[4ÓDe±?Òqñú"¼¬š€dM ÓÐIþî¾Ígì°€ð_j¬£tU—ç¯åLÇ5¨|^`æN¬f$3ÅRZ÷"®ØJ¤2¬˜•_e>¨|N0ª¡Q¶MDНq^Oe¥!s½å/dÒÀA¹±ºK·äš-È8÷ßÖ@a¾4?l2´e ðæ…)}*æa¤ÂÃþÅ´†¨/hn^Ÿ'‚h©íûŽ réß±x¾®ƒæ*4«™ƒ“IgÇ÷3óäj};$•5„lô£9Kè (D:-\¼é­˜˜w-iùW%M;'·ÅéÓe,l€MÄÐ@Xµè­ÚèZôuÅÖ};hJ/®ûyC›½Œëcé*Ã|nùœ\P²7ëfUˆw¨TÞÎ]ûÀôÂÂD¤lí-°!ƒ±Žc*G%©¿­%s-H­‚#0Žø(<–ãËÏë ÷õ_~ä€á\æÿн‚׊?òÀÓ3hpR—ðïØ5¬×cDkéîÄÕR­kqlŸÅéAÃÀ¥Èå(ñ‡ÆÞ^“ï=ôÐâ/ó'@#¡^ºDÂ`s8u¶&bòùËÂs&±¥)‹{ç DH†nóe*øöË~Ž7J{©¦¿ €¥ÅÛèF¼š‡~WiMbÜ#è°£#pAѧçëïí°>ÿPï¢Ù&åpu@:掹KÊL%d43ü¢”–$^ï€g»ŠGEر£F*a¥‡¿Slö!ôN‡|‹€€ˆ‹àTæTàøv7!Y_ŸŽöÑ:áЯ×HÁM•M¢p:”¦ˆ¼Û58v‡¿†¥Î)¸\p›OM˜†/Ò¼é" o â_B\î÷\. Ð*@çh„ÖÜuÕšMŒa£b-ÆXÂsl·EžÚKíDFûÉî áú¸»0Áþúš¹,%oûï•(¿·4gß®’¡Jê*f†¦†oWýÞ,^_c˜ö·›Í皬]cÔ˜¹ú!v Mþûˆ»À•iªväbÍ.5SÒðö‚?Þ"÷õÊq?”©¯g°È‹‹*J=qíùeRÔ9^˜Q™9˜F:Íc5¬ëe;éd|N [¹}ЦþM€¯7ÅiüÉm0ø§ÿ,ýk"¶FtqÌl}€È݆›Ü¤äE½IÚMœÉcJxf}?òŽ ÉÔÛ i£¯% :·ÍÜ—­û@{µ§÷$-à“>7§åÛÓbVgЕV&Rn.=Ž¥íú4æèb_Áý¦“ÂÇ2ÿBŒ/€È©§§ÈQŽÀPoÛ¦=Ìy$pZUÞÒ]— ó^=¿wÐØPV)ÁKNµÌäœ@ÍRBÌ´uÐ Ežÿ`àb™ýÀ…t;¦ìÞ¥CÓˆßü:0ÚÝQáh\˜ñ/Ë™™'0µŽËõûFí{jܦ75Ö!Yèó‹µË·¨I¿ým"o V÷eŸwpwlËɆôs«H¦­QH¤b>škxO[Äb9™GD”’«±A¨_Mà4hÂÞŘPrîó-w¹Ë·×Ûé–>H2ðËä ÿ€&Pcj’Ÿ÷ê¿­{öO#…Êu¼4¬i0(–ÇÝn6Î[¹$’I$ªu—ùÀ!QÞó½G7 %6•oÿ-¯MÆ:S¦;`EýWQiU)±bz+<®¦ƒ¤ù¨;2ÿN'þÉ¥–~r€[q¬!Ä®^åÃCt•I÷àU‰2" úäÞ³Œ¼»TÓ@½ëfgú¼ÈÛ+« CªEÍè6Ç[3Z³¤UÜ€8ðsDÜjx'ÅåèÖט6ú€oÆZÕ’I$’IDããu#S"Ôí!]ب`Ò¾')èOÚ|£Ršgeeo+Ù¡'FŸñ?ôÓZ-KO”#‚–Ì. ÍFbõÚVxµ0ÈYE«QÞóSºVfß º:í5õ¥,ër]ïÆk˜ êm*ÜësÜyž›ü¼LdtÑH]' Œè#m±/}sfG ¹¿dÒ§ÞÖ Çœm»CàÐ3}E&!±¤ù– >2w·APöÅh™9°2í.}™›.r…4¹ÊÖL×W™¬£×ºËŒ­÷7ÎÃÑymç%gZ<-åÎXû.F)Ãä+DõJ”„””[?ˆ/ßdfýŠ;³¥ lq>/nyéäì¹]Ѩì9gMôݽ<óþWC"j®zêº÷sØØ­Äç½ÇËï°vÕÙ'…?ŒP˜ßö—£T•£ðé싌\Q¥ÈßBœZô…<ü†v¡Wê©8yûäQR·…àW2Vá7WŒ‡;XC³X‚¶Œx+þWížþgb“¾Ù…ÿÂÅ” vÜ7åÐÔ³Òn£Þ>Ñ@ŽÎâ‡n»Ø|I2î³UæE°ž{_ˆüŠÒ¤š£ŽÅá²Õç,f5g'ìò½óÇÉ™…:õN¥êûG^ýEâòGÕÊŽÀÍ ¦4%·Ý#HlåˆpkµÈÚÏèÉ÷õ;~Ö€áPX%ϲܱð¹kÖ# <€ÝÂõÕݵ±²Üþ Æ);Œi@4¢O¢.C;óáV1’—Ó¹Âû¤¿œ¸„V„ÌÏG$¸%¬ Y/Y’K˜³b£ ¤€ºPöÞ×Î$ǘ Ú@=Œ’ªXê«FϼÙYˆÝåMª?çŽÏËØÚ´§8¢1º’3ëš§J$qz!ˆ Ä÷;yÌ‘È^É'T–?oùóSÖdeô©c}­Zá1ÿ^xÈõM#EÖìpöL-gQDÄ„fÒ@$̱©•î;£ž-–b%ïDcE_½©ÿR¸œË“n˜ýEÙdôys?#Ü•Ú jƒ|n9‚ðTsrgÉáW«€vR½¦SÌæ.îX@û/Ö¸g—{kõMÕw"/˜SœêgŸ1žxm°IªnÇÌ‘t• <‘ÕðQ¬c¥v4ûD¢ñ¥Ô§º/¬, ع´ú¢Ðô]ÄoLí§£é³ºø:€ûz­Škçï1r)P>—0#aCôÙnˆä‘M´ýgYWÀ¤Ž¹néЈ¨:ÚœpZpÞ™]¨ Î`›Ìö¾ñ –‚ú>"º‹ÎHk!žÎš!c¸yÖ†ë{·[½ÍlåYÏMµ ¼)´¡DÞð-3|ø8›L×­øíŽx) #שûpŹ¢~l-$Ô‚ìÂ)ø™HvpØrä1K @'£0ü†|·Cèð%žUÚd­ì៼ÛïæÒ²{dþøôïݸ»óÙ#Ù%g»®CÂPŽZy`òÀ7a÷15fùÖJÙÅ8LY‹„)ó).­¥áÄM=po­qÞè%¹V!¶‘ü·M@{ÍÜœ„«µÑ½*å˜=ÿ9º„¾ï À¨Nß>+u>Jß w}Uå*ðhönO7à ½&éK* ¨®UeYòØ¢°¯ dºzû'ZÙb N”=D8±Ø¯kP-È_óÐ+E•¯5c=‰þðð­´Ð…ÑË‘–¬>ýc“¤a’ yÞ‚H7¿a«¼›—HÝ÷ØÍ§ôåÎÑ…ýÂî‰:@šê©ƒ_u€(íhõð°@„m[YÑî]݇WÎ™à ¡ ¶©5×Û²eñ¿øó,cGÊ(£´ªý›²ýÖ ÃLŠw!éïSw®Ê¬¶àZz5[“ï¿¢íê QÔïˆ$ƒ¾€³±y½ŸÿG€ˆ‡|ÌÈalÇŒ‘¦â$<¡ÜaÛm¶Ûm¶Ù©‹, ¾-wÍE_<`ÁÛîŒtŠ-4¼Ñô› ª9Ónäˆ}ŸÕŸDx¡õ !ä5(ÁÃîwOéþïcW`Ðmy¾¡ÿ{¨C2ßàÝ/¥ 7]¦O(µË-¡8µ÷U˜KÊD¿e]¼{Ë’ÛªYéwpÄÐŽ5‰\ÀZ«³‚ƒnI$YÎ"½@rI$’IEG/“Uµ(±Iæ(Jÿ3Ó´xSe Ñ(;ô³éˆèŠÙ·?âd§£« ¨H,ê+´ @H¨–æ‘ç"ÀE€ôºNó“¥Z…"©ýYëb„°7õ&Îi,aIA…ÐsÂjuÞ]"jú¶!ÈцȠ-;·NI$’I#«tÎrHPmÉ$’I$1씄ûú€P«($2 =»•hæ'\Jà) rž  G–°%€’}ßB€)´Ø5: ¤RxEÊ I[M¯Äߦðêѯ03¿ÍG'NŒ§C{4ݧ} ®ÛôžVÓâVY7Œ|÷â÷ÞEZxÉ}Á޵‡-¥C”|CÄtoÐÕÌ1v\B¯ƒÓñök1_\tåso“îÞ7üפՊ¤…?ÏÃ¥+òé¢>ý‘áB~ÑaŸb‰¶6‰¤¼êa¤œ 9óȤrÁ>µÎŽ÷´¸É±ŠÑÎÕÇAÙyf²N•eйƒBJá0j¯‹Ã9zj …ðÝLr‹4÷À¥ìD¢nC>àóÉlXH†¼¸rÀ/9Ô¼âXæÖÀ ´£½½"‚ÝÙðd0œpÖÒëª^q)UDÎå%nÇýA #¢Aéˆ ÖBD¤ß`T½‹¡îôm5Òdå1}EëKš=tEÛ7k’ëÄ2&ˆ‘3ý2¿m‰ØÄê0ò~èÊׂjØdò°êíà‹Ùj8êï´Ú*§ê¶¼àåL6åD&Y˜ÊÈ‹ä(ÏÌis¾Ûýä>û÷jš5ˆ9*uPšŸIvõÉðþš«D'Ùœ{Ú‰ØìÆôƒ[' Òà †nüYŒ’(6Lñ%¦§kóÆEN’¸j‚¢'³gíi2\”ÓBz²Z×s§„]جv½p…úq\EAO¦ùÄW( ÕÀNñÛeÅ¢v؈Na±InhV'ªû*’®¯Ö­Ñ¸ðSAü‘(F@Ÿð„¸bærdÅ—È!6dÒÿGñÞXÕ×f7ã®CÎÕz5Z'HUq1“˜MsàCX™RÝ@vÐÎ>Ä…×A›½× F2Ðr'ëø‹§O{àAÉç…Û‘?Tµp\ä'+X] ®³â;™µxüýN⃓ ºàyÔ,b¹ÚZÛI(¨ ‚Æö,ôUjhÒ#õ¢yÚNÆòJ"+"Üõ]¾ÆÎ,…*\‚Õù*Å3 £S U#k"äù·ôaIñÏÜ7¶Ë÷›½ã,W¨0XjxO¡`>WàÊ?ƒýÙ2$³ô€ŸÖ°sRŸÄ!ú¬7Øæ:£/Þ:’·˜B¨TëµU7˜ŒMïì{"-'÷15¸ÈÞ¾/xAÊ¢ŽÆóKEp¸åý… e/Ç·øS°ÈÔO1Jz/w #‚¨åጧ@lìª{,<Š,À…îM!f!E/ÇGëB—Û‹Ç{Á„âà ör$¿››TÃØF^J°Õ¥œ(±ij‘|,ê‘LéÚî9/ø(t€ ë}qϽF+~L{ó’™ÈÍÝG±ÃtÐ_— ñ÷ ª§%ØéçJ„R =­pçtœ1Å©5(Ä@ÿ1ò‘GPG~žð0áÅÖ¤EÓQ‚Ø!×ø³!×JMè]h†îyAdãý˜§h‰;IuvP ,Þ.EŸÑð;ùÕoG@ÿr\‘ñÿ2'R•,kHn­i7GůÀ–&Ÿža¥Dk²ŽwX1°(¹Î¡",Q멨+àøÐ+Gã·$’I$’J&‘qæ ¹ž°h0«A@âõw©h™P˜@ª;n0½†8´˜¹5¸P0Ú%S$‹R"cXh Åž(ö^kÅa•×—Ñ©C›%Í+^ÑŽ“â‹æ¡OH­ã"ñ˜+êºáºq¶1G> PrI$‘ñËÄ€6ä’I$’L€b—ï:@¸ÊÈ9Åi'§J†f'”¥BnKý-aqü7N¢ìúa-Ò¦› ª›kNÉÉàÅ`ÍG'NŒ§Cþ†Þ}EGbDcE —ï/÷Ï¿xg߸Ñ÷è@òÞB]¼DŸÇ¤>»ñÄ—Pƒÿ৸|ð^Î?ÿ•AOÝÁVºŸ½‘“(­º8~¦Øðô= yš,"d>Å®Ýȃýêaò¶R›KÞ½Ý œé­ºù¾o›æö‹µL±¡çëæù¾o›Ùn?~õM¨Ô8Å0Q¹Í.ÓL Ñ×é¬&_‰ÝÞ€íøOàk&ÌÊ]m¢i ¸m{H‹÷z*|Ó}:’‚'L¦Tü¹X“ÕƒOó“Íô؈ ª»î¥üèuø”½Ž6 ÉP]…ª©Ø¾|ÿ>4]ö@rµuCc ƪª"7Öéˆ^b°?_ W¾´cAí]‘ïmx ­G¤ŒV¼óµ§vɚω¡ýgˆ··r×>d &º_HFÖ”Ö ÕÊ—ólÐAgÔ–ðÈt[w¶ï1çšcº6¾$UöˆJ¯›~å䟂ñF*z"f+ÞTØ9R†2À…€ÌI™~=D` íûuŽ7ݪ¥B™óƒ;| 6A´9µE7´Dy2øWþXÍÌèa}IŽÐÊ™Lq£\¡¿Æ¸Ÿô.]yp?{Ë÷QëçˆØU…#É ‘‹©»F±”ë%¬êÓn7jµ ©´Ô¿Óñp“;¸ˆ›ÍØ#<]ìŸ;¤üqv*µ‰NIΉ÷l—F sÙ¶ž˜Úï§¿Íéc“cþ‘Ô’Äö[m¶ÛmÁ¯³E©3ÔÉfüõ&<*&}]bXeõ|:ø[ òܶe óäU­ø¶JD€èâ sÛòxï1©ƒ1ÖXA1½ùR‚Æqm“I~qïÁÀòÿEƒÕ7@º…³ùø>WÁÿ¼zŸhÄgK-$’I$’9@#Ö@õÚR¨lœ‡õ‡^}d¤çÁr8‰|{IÎqµ”¨ßêì…¶Ûm¶Úî܈–²× ]èÙ=×ÀÆ> ¼´Ø.<™÷ð¯ oB·ü”³Ò=®I$’I%èç6é¦Ûm¶Ûm·èPåàt#é@Ÿ˜”ƒ#ÙàúÇ÷«*GÙÜ’I$†]Üe¶eÝÆPf^ŸÍ† ƒ§¥õƒÝŽQ*ªY“ÀבE% g©µü¯ý”¬ ®å5rfKBt S ÔƒŒiËN»(¹¥&æ#iÜàÿ22 Z ¢I£ØPŽ€!¨1Ò"‘º Ñ/‡Œè$ìéž·oV¢KÚµŽŸ(ˆŸf'L»fø|¸f Q.»  D4_vÌ•©¯eË•ú‹ñc‰†¡áœguU¤ãKªRñº°þ¬ æp‹fôXÌûoꦅîì³®2“p»M<‚Ås¯èà'[~P.Õx$‚£úKjZ_S£ A~8–E{aýÄ'P,S×#–|Uø5.Â~ƒ%çgÊ£V½0÷­ª^›—c@äÚçðÐOß©ÿaxþýÏá ?¿a¿…£ü5ó‹ýúmûÞ}zìyzÎæ¿©!ƒìšŠÖuÙfî:”°éÍʧ/å XöPVBGÆ.ÈÌà‚NÙ†¥TÖB¼_Lz¼&ŒD¥qT5=”‹2/VI=)ÿK­¡=Ì_–qÈÿzN°eÏÚû=Ôý\âöá~á~áÑsêÐèª×¾`£x§Q"³„«íÇÎ%lc£Ê 7 ô<½×ˆ¸‰³®¥È€Oqë ¡Åw–`üÄÑpUj0¬SʈpP;°¸C…’õQç)»]pFŒd Þ41«\9!¼›>uF¾isÚ>æZÉõ%±å¬«° ¾5ßQz`†Ã­Ò'ïáøÛs‰ÿï’rÚ=“OòYà±êŒÐAdSuAZ<©ÑÅÌÉGQ »D•È'bпÚup4‡ÕY·ÍûøH¸êë+FJÂŒ£ Ü>Ð,‘bÖè2†r„bŒ¢ -П¤çO\Ï~¦–2ˆ¦°HhÀT_<óú‹eജǰÁã±›¯øÎ dìÍp‹ö¥À `f»-Frý,Ò¶4¤‰Ñhb=Ú®ŽPˆfgíDy›è2Z«ê )p]¯=5cñã8Ù,çEÆ"š«Î±0óÊ~NƪwÒæ‹i¶ÿ.eΫø—"æ”<½ºN·ä[-£nK’ÛÌ“U–Avõ·›×¯Ö”غ™yÜñ1ž|ÙRøÆ¦BØ[ôºåå° ^ÿ …ÐÔ‚ÿ3Ï,)ßf8h©Úq'Ù\(ÈØt³x'…;ÓËŒÐâÇ0Q'"µ‚T¬ Þ¨x×›(]ÕÐÚË‹S¡ãKí“/†?Üשö)騖Îg Iþ¼¶J4ÔMŸ‘M #âsžÿ"%é [Ô™&HÓÑÁ%5j¥hm Þä´Ô¦C±"'Û¿j4Ö‘‡Ê^RòÓ­ŽÚøÇAŸáubÄšÙÞ†ð÷+W°_@ã$¢ "ù&)2ÀŽ›µ¼o_rõ¤è트4Ž[|ƪ¬4ýLÁAºH¼™å Üެ}6«æâÀºŠ—^CNV‚nG=Ø Òeü©ÅîôŽÁµ¢˜) °;¹M>ë³á¥Nz}ÓÇ5§üAÌßKåq ׋G{8sÁ‡]ïù^’ÓÜls%(džÿÇËÌÏÂ'›%¢íüX/šyª‡£·5ÞòYe§ZƒfËðå9ý)#|_ü,#¬†è¤ƒÈ,ä¶GÅiAôN,CÎlNãÒ’½ìà¯Ôó[d÷¦ml^/rÄ­–3œ…Ñ-ïï®V²¸qÞ"»ÎPÄy™}[褣úÌm ¤é:ß[K«iul÷yÍ)p/”ðI‹hÄÐÈ&‚È̉M=ÿ]à€„~¾˜±¯BÞÑÔ“­ó΂ÆÄ˜©MA È/£Y­a_±Ÿraîäõ2òñ/ãkÌ"bP‘‡Ê^Rò‹œ½ê]¨ŸäFg·†ŸW'ÍæŸ™@-¾GA™kÞ“5ÅM^s‘…žÊSÖ|åøH]NºÜ¶¶ë3½†Æ‘C®úMtü°éH¬£,+ÆjJô·þ]0vPs„NÚæ«Î¤Saúz1ìeï¿!½¤M®”©¥Œ‚Ö¯ ÅPA„ˆm¯&™3„}> $h·$©C’'´ ø¾¨ÿ~LÌ— ±jXÈ?îÃðTk†ØáÁ›(àˆð’"°«?øã *ãº†Ý ;«cèÆ(moY ÚŸal¼LDǼÁaâJ@¨‚ h€.ÖÐvff_ãÁg¸ýœ`Ùæü÷÷ k×7Æ 6)Ì=³25½›Ëô”A¨áf4¥«â^(i»6s.…`\‡³IóZŠ‚g‡ $¤¸a&ÐuàŠß­à \XÊÍæ ~-øPMoÑÑ…Ð+íÊ/4óãŒ(‘›“.ïÝø[a.õjcÒ>½–{l­‚Xªì‘CpŸíé@ˆm0è¨GÛFÇ‘¦¡0ň¡—+ìÙYÖ!9~Z)bímˬƒVNC¢c”’aéXìŽØu׆=‹™Ê—ÿ_ótÐV!¨ôòõ/ç‘cèaWýÿ"3€É+GÚ‹DX£™å¨Pê¢7Œ}ÐäÜW eXÒ‡2d]“Œì!Pæô·9ÌïÒMÿ.û·7¾Tv<ýN»’mÎ5zp¨œ„¸ °×ð£ÄÅê>0v|¡¶–V©\(0Ø—±ŠÐ)ˆ}±c7ŠacDÀü$@@¾ Ìø‘ÙAÅÑZ9¼þWûjŽØêXùÜño½7k#òsf­õáá~‘ …R´[®Q¿yâQ(’x1Šˆ”¸æqˆ‰Q?ÌøwôSÿrÖ ¼Ú¹yÛEgBVnºZ˜½þyx²Ÿ—¹ˆê`ïAØ_›¥ÝÜ ÉØ[ÿHªò€ç ?ñ^m²ÎBcÛ èž[Wixû‘UV¶Èˆ¿Ú6úèØ­1ÁÃ/ÀÉC±Á«+B”AtK…(¸vJ€Ò3Ùª ZÝŽ()Ä”€cdÔ ¡dEzŽÁ³*4ºˆÈ0¾ ÿyEÁ–FƒnHöH€=ÞÛ’IpýÞgK÷^H ©w‘æ”d ‘Kü #qQ§ŽË¦Keڈ츨6ä’‘ Lb€Û’HU;öý l? ’ZCÕª6ÜgCÄ%EËQ@·~s@W³läQ“æývÛö¢Û¸dÑ]õ×ì =*q— PPmÈü¾ñýmC%½Û’I—Ýõ§A®ì ÷¡¥äP’ è ÚÀw—Al-&7C·/šl^¤ŒÌ%m‰¾R“6ß#'WKˆÃPí Iï€òDräÛK«ì>9) "á1Û4žÌ B‰ŠlÇ[Aψ浀ír·?Õ'þÐø—»2atííi'Øeì7idaR•ž.PË¿}B~ÑäeøÏí™Ê.A¦}0yëF+×ÕÍçáùšSÅ=á•0ËGQg ü<4ž@=j$Ë{&Ùù†–ü.üÐ@¾L²¦[a ‚$‚yžƵŒÙn‚:'ÖÃ_0òìvqd˜>>¼”®”T©-µ/ùv“¿5T P#5öǽa­©¼KM¥}pL"L¢éuÊá«õð _Œo´$C;cÚê xœ_¬Ù¦6½[ñÍÌÍ^:ü0 Ãu`o˜…7m3ŽÔ]…Xó§™U¿é óÙ­9°Àeׯÿ"ûØ]gý‚Œb’XiÉi¡ñö”ÌH´ÂÔ4 ˆî?ÜÖWöÅÅ¿sˆ]-Y #‰² BfؽfkFB ·ß§9¤mÌè:Ct-Á…Y ±êÇ‘ÿw?퀠Ÿ¶û`!ŽlÃË_¬J0Nû+2U”‚®Í*“{-~zoýKWöuñÒULž¬Ô—ªN¤šL£päZìíš y”Ln È·ä‚T³û]·•¯"+˜ï%ƒaH ½K¥0ž»LÙd‘ù×åÞ˜eLR§ML÷ÂWÕ)¾{s®$>ó>©(.Ô¹@M¿fÁwìô»Y/Ô°Áùc¸Ou,C‘œ¼øŒæ¬S¼nVy÷}Ût*´Œ;%U²W!ÏZÜRtÔiþ.)?Ÿ¨ÄÐn°ä(=¦@ÆPÑ:NGÛ.̈¤;ÙD\Úa«òÏvoú,\Îèr˜¥3+Ž2º ÷ˆd†Mì''¦ÀŸýU?hs8el7L³ÖüPê–N¯>vÈXâRÁ屡xg‚n ]ÏïKÎÅL1ÈÆ“Gkª‡>š ¦?çïÑ«íº¿~‡þýÏá¤ÿa ¾÷þÙáOþûS÷Ñ¿¾ºìyzÎæ¿©!ƒìšŠÖuÙf‘Õ=×ÞìFÖH²Ž´€Ð~5?«×0…ÿi -BKµ^,œê(äÛ98pJ1ëkÖÿSv¼ñ>ÿP°"ºõ‰’—8à°6ï­˜]“$®Ã[ú1S4§%O8G†Ìé6P©ž­‰„C¶Ñ"Üãçà‹ìŒ‡øë|ëJŽBöúàUüI2ׇ9\yÊãä“!YpÈoùT/b³Ûåõ–ÍDв Î Tºƒi7fÅñú{¡°õ9ñ…Õžc¡°õ+Úà!Æ;<²‘Ŭ>+s|3ÊYç©)īРç1¾µ5wë´õ ò/@ÀìŸüT¤×ïç×nêö.:ãóS°=þîÿIêM¡ížfßpP˜@Ú9°ìL$ÙtT'l$Á&eŽ‚´(?NI¦XÀc‡ûô*×¢™ÇŽš„XÑÁ¢4.sr+ºg1fDJ£XN)I[èÆÉGé-ã'¹¦Š…wSM+ɸ Q.Ä2ø$Á¼RB¦‚ÕÅÐçŠÅLiÆ>Ò «Á‰±E`9Q8ŠXf†"•Ó«ç¿? ØûL@6 ¥bJ’K?5€0~êJEȨ$Ÿf(ÆpŸ…åÎ^9¦q¦¾‡ß;ž 3CBþéH]AXûß"µ‚T¬ M¹NfïÁ¼98-i›¶qB¶U€'SìSÑä¬Waélökå£$ŠödŽÚ1 ’èzßS~üí5l‰Vl™ €ÄÔÉýAcá&6>ã\’¥d˜Y”öžœ7ÔÔì°€,f™L‹Ï™ZÜ%bÐŽŽÏ*Â:o,Ȇõ¹LŠZ}˜7 ,A;/“ ñmUvøÎìàú*Ãè’Ú‡å0a!•¼ÜƒµüýO»‹!çjò:f$A9yî3êbÅ〸¼‹Ð0;”€F7ñ—‡ l;ÓäÈõ î2ºÚ¾ë1ƒõR¿¡¯Q0¥|DÕ/û̉jmõ¸°}‘zrÊþÅâ~`•ÓÇ5§üAÌßKåq ׋G]=?1Ä@ÿþ2y¢‰Iå ÒñέÀ"|©K«°0ûbÌÀ¿ ð¿ ©|²déÍRXÒFÈ[TEDÈQŸzм¼u>;6©_à“ˆìMÏo5Æq¬Ó‘DdÂ1›×Ç6WŠõ¸^‹h7©o²?úýãЊ;*ýã”rzË`r—tz„wQ}`P>ŽNËÕqF±”¼¥äÚ€µêût.íãÏÿGw½LÁ–­j“m*(Enû¨)R¸ëóTá]6‘æU- ¢éz0ùKÊP𿞖ÔG«²ÊJá¨*ΚkàkÊR´}j8w£ÝthGÙ5àm¡#”¼¥å'5Òæ@/äFg¸ó²ìæãÿ<‹ Ï¿ÐËzfïÚKK…2¼}6 yœ$Wñ"ú8”ÅÒô»ž3-À¨¡É-3²ë‚±Ð ߎ È(áó*ÃS©”å­ö÷˜ZiŒÖ|È3®†øï~xÞèþ;âÙWü>Ó²úŒsásjÑvK_9Pud¹>†šäñt2šj÷@:XwO7‡ãH  °ò£…P+rq1ùÀr¦î]Ãý—0I_U«5µs@qŸ¨ý•¥ÄO9¥ŒVý–4êUíÝä ÜÉ¢Þ¹ü¯óÀÜ\¿eé»cŒÚ%1‹² ʱ žÿŽÖã` /?€0šHˆœ K‰0¿ €ŸãÁg¸ýœ`Ùåúº >Ÿ>yu¤€ÕRc ¹Ï8–å~õ/À 2Ÿ)!AqÔÿwö“‰FFy0îz™®ysÈCPJAz p‘îP¶ÿK|¶HÜaÇ_f½8 „õ©“ÚŒUƒªÄ'K eN¾ø±½]Ì)Ȥˆ‹‚k‘”NËÅ`/~³™ á7>J¢ñl .Q‘T%±Væ‚ ¿v}„;:Ü¥âOS¾²—DF(tRë÷ÄHŒV½>¿‡¸ +pµÅÈ„†¤AÔÞ‡Aß6Óáu?˜½‹)’&u ñˆ˜K¨A‡öÊ/Y ¥Gôm‰¤Ár‘òsf­õâѲ"þ6Щ)®Ÿ†ÿjõ{÷ËÖéµÒ¼r@´+öÆà_H¿PòV±1 ŒñðOþ ˜¥ú²¿ñúôî"bùçôD»9V'¨]—ñô¦±ƒê|½t]îÏP¤ü `:¥‡E‹_%¤ZU¬È»NQþ×¢ûO¿>ä–Àyß“¨6$f¢èe B3ìfé´UÏc.Rg0”Î=»tÙÔôîì(Ù³‘Ê„±V¸ÄË’õsF|s¿P=R±·gä¨ lˆé0 ÁÝÜ€ù;3ëCË#Á€´–áÁ³*4ºˆÈ;eºyOÄóìUËs\úQ.]¤:ËZ…ÑðLCò»ŒâÂétóºõ|þ‰ôÀX§Ò~§Ýú°É ˜’,9ÔÉ›ñ'}O>~ÞM 5u¡á%awEÛ‚[æ—ž a™`¤ýú&XˆK/FЂÅé„^ÏmsæW>“ÉɽÕüa¹ZžÐ8‹ú ƒ§?ûÛ»5Už…ô~A0™H˜;*Ç £Ž~Ðw®,©–¯—N- ÜÙP8V»ÜN1W*X^t‚DíÂzPŠÕÿôZ˜ ØŒs¿7@­ÿ|PçÜòP|É›¸IJöi˜Fh?f#mþ —žNþ¶zV5Ý·ùÑ9¥›_naÊþ¥©> #×å°ˆâŽIÎ;\oï¥é§·$‘= À¹D0Û’Iÿ<ÛFI$’_!p»µ"ðm¶ÛrÏv 픯sÖ MÅVȦoè ÚÀw—Al-&7C·/šjúžÏPÒÍ¢œ±ã=ýàN-"¬sʱ½6BAC?•-ðBU/îÁŸÚ ªê{»d¨äU¼‘E­åíxÝÖíßÔ±ƒïñ©9+ÐŽÄÕF{HÛ B|HŠ2Ì+§½tcwén;l&}¤X¡«±tV§Î:º‹ŽÔWÙ»t²Œ KK›ÕØÊÀ=mŸëF+×t ¥SVn¥¼çØÅÈ ©M"ø,8UÒðÖÅWÁìÏÀ 5wÝ °›¨@Ÿ/^—#É‘öEuu¨t»E—§³¬ªæÏ×>MÞÑ-Œµ0¹FŠh‰¼kÞì)œzVgŸÎ‚X4vi•© p”ƽš&û|ä?Ð&ܼec,zƒè,È_¾ñ÷0T-œ™'·z,eÏ+ à¨ÜÃI°Ú×çâSÀ Sgð!ù2ÕŠ®d•m÷=òYLìqýx³Ô§À­š¢ÄþÎ.Ói…¯N¿Ëµçqsùܤlµ4Š—¹!BòohB'‡ßaëC!z̃.Î-wœŸT^jd ‰µ|ñã°ÚûŠ>“ÇOf£ß„¤åé\héôpíi?XûY3v¶¯ø¨›¢A´‚eÌ2H‘4ìE8Tût$—xã/Ñ)á6ò±¶•ïè»å¹P*yÏ˺Ç(aŸÁwìô»Y/Ô°Áùc¸P*kæ‚éOßu€ÞÄ÷!tò‚ÀH+ ÜYÖùŒ–ïF¢ŸkÛFå5rìšpµMzQá(yj~-»ìt0aüMÒåâ®j«û¯N­q4³Ÿ¶”Ñ錃}YÁË (ò¨ Íñ|6ã…Å.ÉNc¼?šÝøY!Îe<ô´l‡çÃÒ ² ÁkŒ×]¢¢õîÆ1Ë&)Ç´0Iq@†Îh[AŒ$ Ö§±Ø„³çðÒëíº~ŽÿmŸÃR†…þý þ?—áR_}—}ôŸò¢ìx¶b ·{X÷“¯À`qBøåF£+7кd‰É²Ot,Ÿ¬‰ÞQSãQaŸàŒyAÂo ð~Pwùÿ`€nG9Ÿ¾ÒLbn”08RX‡åÕNÙºŒƒüŸâ‹@{à¶5Οô.’4±AÄpzâ‘ðï0™À¹&ަÊÕø~ ˜X²T9KÊh7íßbnæhÝx¡–©Jö÷úa:zV|?®Â»èÁ ÏøIíåf½´,–Ü…¼‡BQ1”äÞqo ’*­æÆ³¿­Œ¬ºòô^¬}k—u›+9\yÊûª.ý6WÄm~‡µ>b möÁ)ƒì” º–àšæ]V¾u ?ZÚõc¤H’¯B£•ߥqç+Àø–®ó2“•ÞNsç×nêö.:ãóS°‡ -¹²N[µûW¿BÜ·ýxö¬¾TŽÂoÔ5}xuÊœwZí†K¯F -oÖ4@ž‹$þ©T!ÙɆo^TÊ´wl³œ¯ŸÕïž‚¦X:`?é™ë”x6ÞÍ9PÙ ÙPƒV³UîƒÖ+ÚRæ@²EHÌV?õ”—zEï È~I5{ŠíþY?E\Cud*¿ë˜%܀ܣRW`J>aÍêêËÇÖž9¥pôÃü®Ç†®€ÎŒP‘^VÉ‘öÚñâf·ž‹ul+(%c¯\"µ‚T¬ 0´ ¤TO,ß&Ú5xPbÖxš6iÜâš»hÛ$Þj};yò6Ée–Ye•<.5ñùU“~K¾‰.ö´ú;wÈŸYŒ¿aò—”¼¤+gý–¿–e°Ïøœ4dÙÍ3êjDÌ«¯Ö==DOººþ”Ñ¡# ûwÙKÊ:ð6úÕÆñPúýs (ø³â0eˆ„E‡Ü•,nÉ—®ô4aô`|ÞVa—tîb"¨oÁž"Ƶ?¨‘µzf¯BYe®Åu«9FBà,¡ј,%œ§ÑVEXc9´-NŒ:ÃéŸøIØûlŠ)ü\fäÌÇ øeÍÑG†Ãš$»–¦¢Z»ÌÊNW~•ÇŸ×i¦|ùOªŸÓÇ$Û6S~w¹þ4€C¥íÃLüîR«4Ðÿn†©­[ÌÌîR»TÏäÈòòó åaƒp˜Ñç”ø”ˆF¬Kny 3FÍúÃ]IÞïS$¡tûÂè»DÆFé’.Û)ä·’÷"Ü”-¥*&Ï”¶ù¾oœ¦•;¸ï[§xtÒãt& G¤t=­¦«0ω—æù¾ožJûQ¿§­ †»CµïÉNØŸ‹S¨€ØŒØÆ®^xÿäFg¸ó²ìæãÿ<‹ Ï¿ÐËzgÊ}o|ÂD¤ $É(ÀX&K<ÁZÛ·õuu<~[¢i€ûmìêdK˜ÏÔÏ 1ý`@ùUèúJ[ ñ*ñ —| æøa\nYãÓFÚp¶QÞ¢›ãÿ~ ÖÈþ„T,Ž‘;xó—ݵ6ƒ Ôeá’ ß´N†ö!ö5Åjo l³Eý€5K«‘ظDoXZ'¥Ïlõ„”/à‡¸ÀÓ,©T=¶jªïYn”ãŸ}ÎøÊ©ªÍoàjOôA½d!ÔÀÇ€[Î\[øT D8€5ÊÑ@ȇ‚Kèÿ=™ø:¤jvD(YI)0Ù¤ægtø\Q®”0·¥ðý@LSDäºÃ5ž¥CÈ.Úˆs§ãÁg¸ýœ`س;©pÜ@M ³!>@j©1„ƒ®Š-幉:c ÃjTdEƒ?ú[¨¼ÈUG Vè¦Ý{Š@Û«z’ _±@åx}(¹ ÛmÛê7:­ßÞVò)üÆžs¡cŸV;% ›Éª‹‘+¤nt&‰)M(R'ö‘.<–q1&Jû·³îÈ›…‘‘p¥\74LšäÊGÞråm¬Π-Ö¼^CBð|1:Í.q2ÊÅ«sfï°7i~æh!¥¬M¢›Žã“,ÔÁøVüÙ ×FËIcpBñļ v±x¦¾}I)wí zЄ?#ª+xòsf­õ‑~|ð¾lñHfÿ•²çCV3ä'-Þ©&värüE›8º9P@·N¡½¹ÿxOŠÊÙ[û7æ½æ îÐŒ3$+/u‘57þ½pÖ¥ ÿdl •Á¸‚fY AÎç{¡Ašè«ä«äƒ‚·Oë™ûP(ã«Ñ¿p $#â}åXqLüU;,X0ÄÂX­GÑwĵ TïJâ §u“d ªm|2T  ‹† áYÁD"@#„VÿSÛ¤^:”ݬ9'.­0z¹U4KríPë3uP*§§×¦€Ö—òÀ ~%J•*ÔvñÁ²Ù˜ïšOq·ðJ…÷øôdü4ú5*@ÒÆ—ùÙÙô"rf½L´`ÑHvlÞeî![fB•³©ñ˜x6•$8lZ1çÑ¿`]tÊ{ŠW&w@ˆÑü6}þö´[„\GUÙT¿LXJ¼Ü|b0‚õ¸à?¾žö3, €TòY”Ø( «ë‡JÙLÇSÊMÉ x‘1èd¨%Ød¨øhc¬˜õW]ý#Vãm¶Ûk¥ÉUµµÐR^åœ($Wæuf¼®/Ñ[Ó/ Ü’‡Â0<½Ë3Æ Û’J«Xz[¯ô€á?š^;rI#cðTkò[ÆÛ’F¾xè¡ Ü‘F}Ö[ðH ! Û’(ϱ utÛè ÚÀw—Al-&7C·0Bn­·úŽ–æZ¾;Õ²W¤¹(×:Q!l‚ôø¶63&;ƒ]¯g¯Ó,è×YÀÉ’«W?hžÈ%'ðBfÓ=†ùV«Šdf£±‰¬}Šò-.~‚÷Äøâõ+ Ž º e@Ô::2ÆJÜ%*½#5’ ½3x…ÒòU!Á§˜ïØËFÓInÑoë v‡ÿ¿3LëF+×t ¥SVn¥½:º²ÿvðþ|.eA§å¯÷cìlÏë½p¤Q“¯-·‘:×”Î%^™ü£'p¦e°ód¥BZŠ¡k‘E?¡ÿ8Ú }qXÄFìö;~šc8±ÉDÿQ—Ê®¼¶ÿn¬°Y”¢¡.ÀXñ_Y¶ ‡Ï.Kc~RY.‡hvë›7Ò„2²LÜ´‹‚lœ¤ ÙűƖ ƒþë]5)"x G"F¯™™Añ3åU_8,~ãˆåiëÄ«9‘kHrÿ&Ð’uiýCuëA¼(H:ÔøNÇõ­¿9*H6ö ËÚsÍ /ºsÖ~,dVuiïx‹Ìvßd&ÎZ¥¤H2F¼$þè›é/ÁÚÿ=x ½ì7!þÀÛÍyqðA™ÜÖÀعðPZwl§êÇ] ‰zÔßA0}“ÄPI{ýŠÐããl@dn4KÂà>óé/™jc+÷\HŒß7´kÉú×ÖyS̱MyKDPè§ø¡­WØ(¤ùKÁ9e\uÐoÆÁдTßãö×µsöY¿³M1ûjÏÙEþË7öofµ¯öŸþÆÏÛuìFƒ)_ “}‚úe¸w3oÿèI„ÿÚå8©Ò­ÎýqÌã™MN°ù©$ÇMaßDV8÷8½…ø_…ø_…ø¥½0ø¹èÔª€þ/ᎠnîÛáâFÿÿtûµš3 B¨-ýY¾©øØÊØ<™†,h~ÜR_«È½°P;ׯ=,â'~ÀèP9bà CÃá5 ¢_ÿl¬2ƒÒœ=9¯m),íºðÀÞ’ûd „6ÿKXÃ5ôˆ-jÚhü󼄺4A—|Üáq ä÷%Ðoâ €âBTu dª-èu²¶ Óµ2@4¡re$âs`DRýBr8šªªªªªªª¿E±<Ý6—›Ùs³ûÛï$?½*Súý·$’I$’I$’I$’9ê¾Ó‚ãÁ*VþçË9báÃÀ–êë÷ÿ~È`Èﺨ°ÚRõÀRÊbxBÀ-«"S–G ûè{±ÒÍÛæ .ˆ¨¼ÉÄ„µŸ¼†š;/XõÚÞÛl¶¶–ºJ놪ªªªªªªªªªîº ™ù¬m}—ˉ8P-ÁpP}A·$’I$’I$’I$’I$Ž{Sbr/ó¾FÀfÎaí6^œ÷e)çÒ¡Û%½Î×~Äø·Je¥• `Pü@/ˆµÌSwvtZ*I$’I$’I$’I$‘{!ý7÷V™eí¯ÑbE`ÑŒj†!†Õ)·$’I$’I$’I$’Iè’ÔžŠn_p‰ëÁE9ÊbÍHTŽ8iwQ¶Ûm¶Ûm¶Ûm¶Ûm¶ÕŠqÍ€£ekÆTù"Î :í£>@˜ÊžK<€»ñËrI$’I$’I$’I$¸|)iy6 <雽ä4:01…TÔ‚÷è!ánÎõûÝ7a7lfX P/^à¤ÛYi²èÃB¸ š(îÄ¡g½–vî|Î$€¯‚Ç‹´'—1³-Ùç܆³·–~ ï3¸–Ð*leÙm¨ƒda“ ”€œ†Sï;_ÕAPˆ&Ð5PJ}µ ÿÉ{w؆=€ì²Ü¢Ä—Ú0`×ú …™ÌB.•0¤þHÑm‰¬]¥#D'ðjÛm¶Â'AcCˆòÀ~Í.’Ÿ¯§™S™ÜâA×óïõþÛdž?s©øÑÕÿù´“nI#[@@’I$’)Øuvj¹§v•Cùp¦e,¼ÍÉ$’Hû?ù½Wy$’I#ñ³b$N¥/F×Ì—‹ °qJÍÖÐ×!@p#ãà ¥³Ÿy ¹$R#A·$jK”rHöаUÒZ ¹#ÚóZ¹Å/\’IÊÍ ƒ¹õùI$’I#¿JXÈšI$’IúT)¤3Í;DjƒñƒèÎ…[ÀZCÒƽ¹»†œ’I$RÉÉ$HÝ’I$‘ÝŒ¶F*ô™$’IÊê®Òs $’H꫺¤!ú<ª4]ÿT‚ƒnI$‘÷CdpjÜ’I$‘÷A=„Šè=ÜV¢Ó ŒÎŠ`. ̾E–¢)O³(ÛÅý –ýþ¯>D7‡ƒlÎÍ*ÑkW£LÈuôËo0 ¦T>î¾W†5@w¹¡H>y—À5a‚Ð3Í!%ÔÞ]zzµ#Ú!H“x^±­ßëk_oÆ´cãºÿ„Çé5+éߢÃú#óÉ$q}íÐÁùMdÜyt‹!åÙ‡+Ä[_c^«-«åæ!còÓ!­ø ÌûXC6Ëq¼ˆ ÒÙ²7Rä_¶o,øJ‹(Í—ß»‡ëØÒ5@òóA¹r>¾&d=ܥܴp}Isi¶kìPÔÜÄ‘Eh#ny_ˆ£Udzóåþ5Ÿ¯ŸívÃí^êv[ñ³¿¥å™MZ¤íï¯Çï’ã éUWùn(aÓÌCÓU£å‰ɛ ¾Ã}Øk!Q7R?ªÝ±×žÎÒ¾Ô°bxæ—„j«(ä;S3§[Y|ÄÆÕÕ—Ý£ìÜ‚“Nb‘¸Öó‚üŽ>öqÌnÁ=·Á/eÕüId¼’fÑê’–¬ ¡u26OAhã¼h LåÓ-vê©öX’^®{Æ,TMI/Æ¡¾¨”Ka3Ä(z]ØlÞ0žØ^Ïé27;æ3ÿ*ì/oYmüBØýïëšBš#KK·‡¶³Ò oƒ•RºU.EõnÿÙit32ýýýýýýýýýýýýýýýýýýý‰¥ÿ­ÿ€ÿªþ…€ÿ²þŒƒþ¥Y€þÿƒƒþ­ã€þÿŠþþ¥:'©&'4"þþòà³ÜÝ݈ÿþ¥*­&#"ÿþò¶ÜÛ݇þþ:¯&þþà·Ü°‡þþ'¯&$þþ¸ÜÒ‡þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&þþ…Ü訽‰Ü訽‰Ü訽܇þþ±&þþ…Ü«€¥¹ˆÜ«€¥¹ˆÜ«€¥¹ŒÜ‡þþ±&þþ…ܯ¥¹‡Ü¯¥¹‡Ü¯¥¹‹Ü‡þþ±&þþ…ÜÊ‚¥¹†ÜÊ‚¥¹†ÜÊ‚¥¹ŠÜ‡þþ±&þþ†ÜÇ‚¥¹†ÜÇ‚¥¹†ÜÇ‚¥¹‰Ü‡þþ±&þþ‡ÜÇ‚¥¹†ÜÇ‚¥¹†ÜÇ‚¥¹ˆÜ‡þþ±&þþˆÜÇ‚¥¹†ÜÇ‚¥¹†ÜÇ‚¥¹‡Ü‡þþ‡&#‡&þþ‰ÜÇ‚¥¹†ÜÇ‚¥¹†ÜÇ‚¥¹†Ü‡þþ…&!Ÿ!…&þþŠÜÇ‚¥À†ÜÇ‚¥À†ÜÇ‚¥À…܇þþ…& …&þþ‹ÜÇ¥«‡ÜÇ¥«‡ÜÇ¥«…܇þþ…&Ÿ…&þþ‹Ü¹¥¯‡Ü¹¥¯‡Ü¹¥¯…܇þþ…&$%…&þþŠÜ¹‚¥Ê†Ü¹‚¥Ê†Ü¹‚¥Ê…܇þþ±&þþ‰Ü¹‚¥Ç†Ü¹‚¥Ç†Ü¹‚¥Ç†Ü‡þþ±&þþˆÜ¹‚¥Ç†Ü¹‚¥Ç†Ü¹‚¥Ç‡Ü‡þþ±&þþ‡Ü¹‚¥Ç†Ü¹‚¥Ç†Ü¹‚¥ÇˆÜ‡þþ±&þþ†Ü¹‚¥Ç†Ü¹‚¥Ç†Ü¹‚¥Ç‰Ü‡þþ±&þþ…ÜÀ‚¥Ç†ÜÀ‚¥Ç†ÜÀ‚¥ÇŠÜ‡þþ±&þþ…Ü«¥Ç‡Ü«¥Ç‡Ü«¥Ç‹Ü‡þþ±&þþ…Ü«€¥ÇˆÜ«€¥ÇˆÜ«€¥ÇŒÜ‡þþ±&þþ…ÜÕ¶¶Ê‰ÜÕ¶¶Ê‰ÜÕ¶¶Ê܇þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ‡&#‡&þþ¹Ü‡þþ…&!Ÿ!…&þþ¹Ü‡þþ…& …&þþ¹Ü‡þþ…&Ÿ…&þþ¹Ü‡þþ…&$%…&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&þþ¹Ü‡þþ±&ÿþ¸ÜÒ‡þþ±&ÿþ¸Ü½‡þþ±&€ÿä·ÜO‡þþ±&‚¶Üšˆþþ±&ƒf½±Ë½O‰þþ±&Çþþ±&‡þþ±&‚€ÿ’þ…€ÿ’þŠþþ‡&#‡&ƒþŸ€þÿƒƒþŸ€þÿ‰þþ…&!Ÿ!…&€þþ̆‘…†ˆþþ̆‘…†ˆˆþþ…& …&ÿþÌ—…ˆÿþÌ—…ˆ‡þþ…&Ÿ…&þþ—…hþþ—…h‡þþ…&$%…&þþ†—…€þþ†—…€‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ‡&•#&þþ™…þþ™…‡þþ…&!—!&þþ™…þþ™…‡þþ…&˜&þþ™…þþ™…‡þþ…&—&þþ™…þþ™…‡þþ…&$•%&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡þþ±&þþ™…þþ™…‡ÿþ'¯&$ÿþ†—…€ÿþ†—…€‡ÿþ0¯& ÿþ‰—…sÿþ‰—…sˆÿG¯& €ÿ˜—….€ÿ˜—….Š%­&ƒƒ•…\ƒƒ•…\Œ ©" …*†&%$/Þ‰ÜÚÜÿŠ&ŒÜRŠ& ÜÜÑÑÜÜÑÑÜÜÑр܀Š&ÜÜØ²ÑÜØ²ÑÜØ²ÑÜÜ€&&#„&&€Ü Ø«ÜÜØ«ÜÜØ«ÜÜ€Š&€Ü ¹ÇÜܹÇÜܹÇÜÜ€Š& ÜÜÎÇÜÜÎÇÜÜÎǀ܀Š&ŒÜ€&&#„&&ŒÜ€Š&ŒÜ,Š&Û‹ÜfŠ&Uƒ…&&#„&& ‘…„„g‘…„„XŠ&„…=„…1Š&„…„…€Š&„…„…€&&#‚&„…„…€Š&„…„…€Š&„…„…€'‰&†ƒ…†ƒ…'‰&†ƒ…<†ƒ…<ýžýžÿÿ‰ÿÿŒÿ—‡‹‰ŠgH6ˆ211!ÿŠ‹@Œ2Š‹ 22//22//22//€2€Š‹221(/21(/21(/22€‹‹‚„hp‹‹€2 1&221&221&22€Š‹€2 )-22)-22)-22€Š‹ 22.-22.-22.-€2€Š‹Œ2€‹‹‚„hp‹‹Œ2€Š‹5‹2 Š‹3‹2Š‹Uƒ…‹‹‚„hp‹‹ £›€™——q£›€™——cŠ‹„™F„™:Š‹„™„™€Š‹„™„™€‹‹‚‚hp‹„™„™€Š‹„™„™€Š‹„™„™€Š‰‹„™„™Œ‰‹@šƒ™Hšƒ™Hýžýžÿÿ‰ÿÿŒÿÖ‡ÒÑЗF2ˆ/-.ÿŠÒZŒ/ŠÒ //,,//,,//,,€/€ŠÒ//.&,/.&,/.&,//€ÒÒÄ„ªÒÒ€/ .$//.$//.$//€ŠÒ€/ '*//'*//'*//€ŠÒ //,*//,*//,*€/€ŠÒŒ/€ÒÒÄ„ªÒÒŒ/€ŠÒ0‹/ŠÒ1‹/ŠÒUƒ…ÒÒÄ„ªÒÒ ‚…ŠÒ„ ‡ŠÒŠÒÒÒÄ‚ªÒŠÒŠÒщÒ,„†Ñ‰Òb„ý¥is32Ažƒÿ„ÿÿƒ&„Üÿƒ&„Üÿƒ&„Üÿƒ&„Üÿƒ&†ÿƒ&€…€…ƒ&€…€…ÿƒ&€…€…ÿƒ&€…€…ÿƒ&€…€…®žƒÿ„ÿÿƒ‹„2ÿƒ‹„2ÿƒ‹„2ÿƒ‹„2ÿƒ‹†ÿƒ‹€™€™ƒ‹€™€™ÿƒ‹€™€™ÿƒ‹€™€™ÿƒ‹€™€™®žƒÿ„ÿÿƒÒ„/ÿƒÒ„/ÿƒÒ„/ÿƒÒ„/ÿƒÒ†ÿƒÒ‡ƒÒ†ÿƒÒ†ÿƒÒ†ÿƒÒ¶t8mk@  SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS(Œâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâ‰(Œâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâ‰(ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ(ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸ ŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸ âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@4ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ·@(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@9ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿW@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡@<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@C·ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ·W@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@$0666666666666666600000000000000006666666666666666000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@(Œâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâ‰(Œâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâ‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@(ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ(ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸ ŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@@âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@4âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@4âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç@4©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ·@(©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ·@(©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ·@(9ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿW@9ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿW@9ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿW@_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡@<_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡@<_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡@<C·ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ·W@@C·ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ·W@@C·ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ·W@@ 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@< 8@@@@@@@@@@@@@@@@@@@@@@< 8@@@@@@@@@@@@@@@@@@@@@@<$00000000000000000000000000000000000000000000$00000000000000000000$00000000000000000000h8mk     3·ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÅ_3·ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÅ_©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBšÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Aÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó,Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@c›ŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸ_ Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@   Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@3·ÔÿÿÿÿÿðÅ_3·ÔÿÿÿÿÿðÅ_ŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿD©ÿÿÿÿÿÿÿÿÿÿ&©ÿÿÿÿÿÿÿÿÿÿ ŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBšÿÿÿÿÿÿÿÿÿÿBšÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@Œÿÿÿÿÿÿÿÿÿÿ@‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@‰ÿÿÿÿÿÿÿÿÿÿ@‰ÿÿÿÿÿÿÿÿÿÿ@Aÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó,Aÿÿÿÿÿÿÿÿÿó,Aÿÿÿÿÿÿÿÿÿó,c›ŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸ_ c›ŸŸŸŸŸŸŸ_ c›ŸŸŸŸŸŸŸ_ l8mk~Ôÿÿÿÿÿÿÿÿÿï¯~Ôÿÿÿÿÿÿÿÿÿÿÿï¯ÿÿÿÿÿÿÿÿÿÿÿÿÿWÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿSÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@âÿÿÿÿÿÿÿÿÿÿÿÿÿÿKÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿCÿÿÿÿÿÿÿÿÿÿÿÿÿ@ C@@@@@@CC@@@8 ÿÿÿÿÿÿÿÿÿÿÿÿÿB~Ôÿÿÿï¯~Ôÿÿÿï¯ÿÿÿÿÿÿÿÿÿÿÿÿÿCÿÿÿÿÿÿÿWÿÿÿÿÿÿÿSÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@âÿÿÿÿÿÿÿÿÿÿÿÿKâÿÿÿÿÿÿKâÿÿÿÿÿÿKÿÿÿÿÿÿÿÿÿÿÿÿCÿÿÿÿÿÿCÿÿÿÿÿÿC@@@@@@@@@@8 @@@@8 @@@@8 s8mkÈÿÿÿÿÈ@ÈÿÿÿÿÿÈ@ÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿ@ÿÿÿÿÿÿÿ@ÿÿÿÿÿÿ@ÈÿÿÿÿÿÈ@ÿÿÿÿÿÿ@@@@@@@@ÿÿÿÿÿÿ@ÞÿÞ@ÞÿÞ@ÿÿÿÿÿÿ@ÿÿÿ@ÿÿÿ@ÿÿÿÿÿÿ@ÿÿÿ@ÿÿÿ@ÿÿÿÿÿÿ@ÿÿÿ@ÿÿÿ@ÈÿÿÿÿÈ@ÞÿÞ@ÞÿÞ@@@@@@@@@@@@@pyzo-4.12.3/pyzo/resources/appicons/pyzologo.ico000066400000000000000000003145211421373005400220140ustar00rootroot00000000000000 ãf€€ (I@@ (Bq00 ¨%™^  ¨A„ h锉PNG  IHDR\r¨fªIDATxÚíl×}Ç<’&­¶dUN,»¨b'“d± mMæ  °t¶t ¤s6 Á€¤-0xs·b.:» °š¦®M‘2´(`lkÑaŠÉê *šÄ²-ËÊ"KŠɲìØúCR¤È»Û{´¨Ò4yGñß»»ß÷<ÜñÈ»w¿{ï}îññxç#[|ªw Æ@0€1Œ` c ÀÆ@0€1Œ` c ÀÆ@0€1Œ` c ÀÆ@0€1Œ` c ÀÆ@0€1Œ` c**Ó4åö‚Y‹4±,Xêö>Ÿ/¹<Ÿóf53Cù9Žª—YF¤°Ø±°x󚊣Äqœcb2W©Š€òs•.ÿô6KYi¹â4ˆ©G¥©-â˜brYLõR·òs/•(ÿ¶·ÚD…Y#&-¨8J‘ÝÁ+¥œ P~ž äòÏeU0 c­˜4[}æo1±c6šZ'ç’zÓÕhòN¥‡ÊÅ4ß|{Sè\æõCw7{ü® ór^vEš]ÍöŠ)¿™ø»Éù…tù™‘h“qíS”Ÿ" p>¸éÖ•ò_÷§_9×ðè£%—>Š€ü®(RK¾÷þäõáÇ./Ä»SÔ­ú yÑwŸhX8þÐö–WŸþã[Þ/¶+hU~~å±ÔÌån3ž@ù9¿oÂ_ßx¼±û˯n8ðÏE—!ŠÀòèðÆÜnã_ýtô¾&#‡MŸo‹êãÂM󽸔¬;4òí­sVŸ+T~“OþÍ}‰³§“n¢ü\ˆ/à‘ôÙC[ß™+yÅ|HTœõ"Õe/“gýñkñª>ÜÑu³ß¤†¬$¯üäY?9þ ÊÏ嘦ѯiÑJ•€­DÅñ‹´1{™<ó¿?=¦:xpÓ0ßþèÀ=_³©›ÞËS~é3?ÊÏ+˜ÆÛÛNÍ[þvØ À0Œz1Y—½lû÷Ïö¡Ûï,"çßé™z}ßQ1;LY!_ù|~wºýÞâÄÕ¹ž¯ÝTþv#€ bʼF×ß™‰øôðÁ?|œ®þ{"ÅÓËsÊ]oÓéß?}ö¦ò·£lÊ~½ëÈÀkíw&Wþë…'¯žxõ‚˜ˆÔ/R*·üFï¿÷5Œö{“ç''ŸüÑ¥+7”¿Ý:–ß"µe/ë|~`Ru  ?ñ‰ÁÞñö]~9-Ên8·üFºv¡ü<Ê@,ÒûÈÐ…•òiÈn;¬©5óZ^äóßÍýJu  ?Ks3'ÇžyðPæõ¾}û>8räHCæµ¼È'ò?¿Fùy”KK‰“{†e-ê#›¯«FÿM*z­äé/~3󺳳sjpp0’yÑos-™êÿƒ³ç¾™µhl9ÄR¹—ŽBÎ&âBã™×€·É#y©p¿Õ:«~p6ÉÅùáÑïÞÿTæu®ð €·YHéûΠ<•µ¨<à+€»ÈílÞ¼96>>þIæ5zÞ¦â=À]@¼˜ð`N­2MyåÙÊëæ©v÷áž! æÔBó)Î/.Þ´üöp˜Z‚ªÇÈ=+ æÔB§"QZ2o¾•_¤íuk©Þï¯jŒÜó·`NµÕuˆ-|¿Ú€{þv@Ì©¶ u³©f#àž¿sT÷2T«pÏ߀9µ `A·¿eµ÷ü­€˜S ÈŸÀ΋F3 ÛÏV£pÏß €9µ¼€s#T! æÔòJ@Õ€{þù€˜SëKU7îùç0GÅT7îùg0GÕŸT7îùg€˜£ò߀ª÷ü%sTÿXu#àž?ÀÕHïóF¨2×ÀÔSd,ÅÈ4t2±ŠïJ4?i¡:òiô´\œ €ô~0n„*ów…ôÅyJL}Xv°^#ؼ‰‚-íemÃ)Hï ÓF¨2W`ñãÓd¦–Ê Ô«„6ýù×6•¼¾“Þ†PeþŽ€!ºûñOΕ ×ñ×­§Ð­·—¼¾ÓÞ§U4‚Ö@€¶® #ÿq¼Ðý·F 7R¸½³äõ(€ô~‰FЉ’ÝèÅÙoGÝZä_"ŽzÖx± ¹°§+)ûGÖ7ütÇÚÊ7@.ù;^ŒÆkc’b+¿d»¨üMÊ^Ã)W@ö3#d.ÙßY… šŸÖ´uP ¾¹¬Í8M«©ü·…Cô™`ù—+Þ®ž"=:+z‰r7å ü­¤CeoÇIàÖøœ¿kªƒSÀ±ñ9!€9Nׯç„ü!æ¨çÆç„ü!樀êÊÏ= ÀUP]ù¹çŸ`Ž ¨®üÜóÏ`N­ ºòsÏ?€9µ€êÊÏ=ÿ|@Ì©•TW~îù`N- ºòsÏß €9Õ@Â0¨?ZÜ-ܪQù¹çoÀœj `>¥ÓùEû?qU«òsÏ߀9Õ@T×i fݪYù¹çoÀœZŒœŠDiÉ4ó¾W‹ÊÏ=+ æÔBò,8OÜp;y ‹ÛÂaj ª#÷ü­€˜S«Ÿå=R”0®Ÿ ?#*~HÓj'óü 0Gõ¿Z æ@¼˜ð`À€9o æ@¼˜ðÆ5Ï0–bd:™‰âþ\áI4?i¡:òiô´\ Þ¸Bx@h~‚Í›(ØÒ^Ö6 Þ¸Bx6`a¼øl@P;/<د>ÔÇ Ýk´p#…Û;K^à 5è€rp¼$( Æ@9¸B²˜!sÉþÖJlÐü´¦­ƒõÍemà+Þ®ž"=:+z ÕÇÌø †ÊÞÀ×T€7s Þ@Ìx0à À€7sr ˜5 c&óð6s `BLW~céÚ5©z?AuˆEzºp4kѹØjÀCä€(¿Áì2ùüî>ÒÍ-ª÷TžWçz¾66öVÖ¢±åTÀCä€Hý¢ ¯/n F¾°ç0Åb_U½¯ òüãèèÞŸ_›¿”µhH¤i«u QHrFH ^LÖaÀ›äùþ/yO¤ˆÕz€‡°€D”eX¤¦‘{»NPJ¿Sõþ‚ÊñŸ^=ø­'ÞÍZ”é¤Ýz€‡°@†übWòêìoUï/¨ —–'÷ ÊY,þ¶[ðÅ @2¼óî'HÓzUï3(…”>ü×Ãÿ· ¶Íy«O¤¸Ýú€‡X$í¼ûa|o4_ƒê}«Gžù¿>2Ò“§ñË¿¡b¶xˆÕ @roCxÏ¿lÞ²¿#¼¶"prÀïùùc9ßù3ȳ¾üK³-ÀC”"Áz‘vÊ™ï¶ßzÏîÆºªãù™‰ëÓÿ9wµ?ç§¾ld£—å)v›€‡(Q’m"mV½ÿ ,ä™_^õWtã—@¢ H¤¶©Ž”„ñ£"»ýÙ@¢LHdYK „UÇl‘gzy­¿ð³í/à!Ê€(kY‚]]]·D£Ñp}}½ÖÖÖTO<7.^¼˜”ó£££ÉD"aV3¿P(äëèèX‰×¡ñˆ/ËuÕgû|@bµ ^^èóùä?$æ5Õ1X!öS>IvNL+"îñ§·is€ Q¬–+~ƒ¨HõN¯ô¹ˆ}6Ä䲘ê¥nƒ{ü7lÏêMÀ]#Y¦bÒâ¶ŠŸCR4€+¥œ ¹ÇŸ‹²çK12 ÌD¬6‡Ì‰h~ÒBuäÓéi¹Ø À0Œµbbùô‘{ë‘ ñ+ëÒÛKÎ7Eâ—•ýiHóç›>»ò,¹»·>qn÷]OÍËyÙiv5Ûã>j.< 4?ÁæMli/kVXþ'`K¾õ~ü³;›‹]ìÖSÑnÕÇÁù'¡uÇwt<öê—¿ðòûÅv…¹Ç_x{àÙ€µ¥ÒϤe,îoÌíöýùý÷]œùÍa“tWÞ!ȯ_$#yèÛ_§9«Ïqß <ØATúéÀô;¬é†ïò¬wu~ø‡ªc.ƒúý=`Õ¸ÇoEM€î¿5Z¸‘Âí%¯_àž€gEÚ˜ý9y曚ù_Ï æš&½}ðô%ÊóÛ¸ˆÝÏ9~;ÐpÕè†ñ‘˜®Ëþ\Ï+Á>·v{ qþ õ¼ùÉ;âÊ›`¬4„̭иÆoÆD5Æro î™®oÉ8M?ý÷ô8]¯üòï°éËcEü8ÇoGÍ {‰™2—U3ç ùiM[ê›Ëڌ݃A$ß{£ñ57Œv—Âñ§'}œ.ÐõËeå¯)ÿ&ÎñÛ­£ì:=:+z ÕÇÌø †ÊÞN®6lع|ùòTögž}EóìƒA&F©÷åÊ<cZÔÝa‘Ú¸ÆOEÜWz»gÊ‹\>ÿůTïgµ˜¥“Ï •›cîÛ·ïƒ#GެÜåˆ[üTÄ}!a'¯~ç²°@ý=ߢ•ø;;;§WnÁ-~“x‘+Ñ⢌g^skÜã'<”vðêx†ÅE~f?=…øW€8¯7ž¹ÇO/ ` @Œ €10€ Æ@À€@c ` @Œ €10€ Æ@À€@c ` ¸Bò¹ÆRŒLC'3S}ÜJGó“ª#ŸHOU@Ž€WlÞDÁ–v¥û@Ž€—Ÿ Xî³ýÊ€-¯?¸Ü§û– 8Z^íþgÐÂnïT–?8ZèTp´$¨àxÈ^@bf„Ì¥EÕÇ«rh~ZÓÖAúf¥»@Ž@z»zŠôè¬è $T³Šàol%-R½à€ê@c ` @Œ €10€ Æ@À€@c ` @Œ €10€ Æ@À€@c ` @Œ €1PQH ÃØ”™‡œM®³¢üf2/86îñS°ALVîyÝùüÀ¤ê@A~⃽ã/ì=šµèŠ(¿‹”U~Ͼ¢y¶ü&F©÷åBüYñ‹4`µŽ­r¿lÿþÙ>ÓçÛ¢:Xp3‘óïôL½¾ï­¬Ec¢ì¦²Ë¯ç•`ŸIº'Ëïüêyó%BüYñ/§‚Ø @",*ŸwÕ çw<K_U,¸™ÉŸ|goôÔ//e-i:»üžë]w8•\ðdùýìuÚ{æ7„øsâ·Z§(HÄA¬“up&y¾ÿKÞ)"g2åçÕïÁy¾ÿ"þ¬ø Q´$¢+©é®çN¤ˆîT4ø³üòàÌO¿ónÖ"QDt2û3™ò{öµà 2tO•ß©>:xì BüñçcUÈðG/žïºOþVuÐà:Ks3'ÇžyðPÎbùó×p¾Ïÿàè†®Åø§ž)¿ÙY:ùÜBüEÆŸMIÜþÜé'|äëU@^%¹<=wê­þœŸúnø]¿ò+²ŠÍ®”ߟýݳ¥ƒ[~‘š>óõçüÔ…øËˆ¿li³âãÃi~yÕ×j*/”â/!þJ @"à6ÕG)rÄwŒŠìöÀÍ凸KŒ¿’ÈK.åA «>" ¦—×zËÛÑÞ"qSù!þ Ä_id¸…Üq݈,xù/¯rÎvv8¹ü㯖.€1Œ` c ÀÆ@0€1Œ` c ÀÆ@0€1Œ` c ÀÆ@0€1Œ` c ÀÆ@0€1Œ` c À˜ÿˆõ`Ò%òIEND®B`‚(€ $00000000000000000000000000000000000000000000$00000000000000000000$00000000000000000000 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@< 8@@@@@@@@@@@@@@@@@@@@@@< 8@@@@@@@@@@@@@@@@@@@@@@<b@C¶v ·Á€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"ÏÁ€"϶v ·L1 W@@H~Ò‹*ÔÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿщ%ïЊ$¯—g/FHÞ~26ÜÔ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ-1Úï.1ܯ!ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€€€€€€€€€€€€Ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(  @@@@@@@@@@@@@ÿÿÿÒ‹&ÈÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&È@™…Þ™…ÿ™…Þ@™…Þ™…ÿ™…Þ@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@™…ÿ™…ÿ™…ÿ@™…ÿ™…ÿ™…ÿ@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@™…ÿ™…ÿ™…ÿ@™…ÿ™…ÿ™…ÿ@Ò‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@™…ÿ™…ÿ™…ÿ@™…ÿ™…ÿ™…ÿ@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@™…Þ™…ÿ™…Þ@™…Þ™…ÿ™…Þ@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@@@@@@@@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@/2ÜÈ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2ÜÈ@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ@ÿÿÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿ@/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ@ÿÿÿÒ‹&ÈÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&ÿÒ‹&È@/2ÜÈ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2Üÿ/2ÜÈ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&ÿÿ&&&&&€&&&&&&&&ÿÿ&ÿÿ&pyzo-4.12.3/pyzo/resources/appicons/pyzologo128.bmp000066400000000000000000001400661421373005400222540ustar00rootroot00000000000000BM6À6(€€ttÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Έ%´w ªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpº{!Έ%Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Έ%´w ªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpº{!Έ%Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Έ%´w ªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpº{!Έ%Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&È„$£lhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh j¾}"Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&È„$£lhhhhhhhhhhhhhhhhhhhhhh j¾}"Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&È„$£lhhhhhhhhhhhhhhhhhhhhhh j¾}"Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&´w¾}!Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"Ä‚"¾}!¤lhhÁ€#Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&šy,;…]'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j;…]Šn)hhÁ€#Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&šy,;…]'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j'‹j;…]Šn)hhÁ€#Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ñ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&°uh jΈ%Ò‹&Ò‹&Ò‹&ƒI™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…bzCh jΈ%Ò‹&Ò‹&Ò‹&ƒI™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…bzCh jΈ%Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ô-Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¤lh¾}"Ò‹&Ò‹&¬‘?™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…Šn)h¾}"Ò‹&Ò‹&¬‘?™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…Šn)h¾}"Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ÒŒ)Õ•8ÓŽ-Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¾}!h±u ÒŒ)Õ•8P—h™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…;…]h±u ÒŒ)Õ•8P—h™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…;…]h±u Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Õ’4Ö–<Ò‹(Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ʆ$h§nÕ’4Ö–<™{™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…’wh§nÕ’4Ö–<™{™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…’wh§nÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ˆ$­rªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªp­rΈ%Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&£lhhhhhhhhhhhhhhhhhhhhhhhhhh¦nÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&£lhhhhhhhhhhhhhhhhhhhhhhhhhhhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&º{! jhhhhhhhhhhhhhhhhhhhhhhhhhº{!Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ä‚#Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…hhÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…h£lÖ–<Ö–<™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…h£lÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ˆ$­rªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªpªp­rΈ%Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÕ•8Ö–<™{™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…’whÁ€#Õ•8Ö–<™{™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…™…’whÁ€#Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&£lhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh¦nÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÔ‘1Ö–Ç/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü<7Ãh§nÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ö–<Ö–<Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&hhÖ–<Ö–Ç/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü<7ÃhÁ€#Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ô‘1Ö–<Ô0Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&·y!·y!Ò‹&Ô‘1Ö–<‚dŒ/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2ÜfM|·y!Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ÒŒ(Ö–<Ö–:ÒŒ)Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ÑŠ%ÒŠ%Ò‹&Ò‹&ÒŒ(Ö–<ÌFND½/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2ÜMA¸Ç…0Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ô‘1Ö–<Ö–:Ô0Ò‹(Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹(Ó-ÒŠ%Ò‹&Ò‹&Ò‹&Ò‹&Ô‘1Ö–<ÌF‚dŒD>Ç/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2ÜD>ÇbˆÇ…0Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ô‘1Ö–<Ö–<Ö–<Ö–<Ö–<Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Õ“6Ö–<Ö–<Ö–<ÓŽ,Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ô‘1Ö–<Ö–<Ö–<Ö–<Ö–<¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}c¬}cÖ–<Ö–<Ö–<ÓŽ,Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ó+Ô’3Ö•:Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ô1Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ó+Ô’3Ö•:Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ö–<Ô1Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ó+Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&pyzo-4.12.3/pyzo/resources/appicons/pyzologo128.png000066400000000000000000000034331421373005400222560ustar00rootroot00000000000000‰PNG  IHDR€€Ã>aËâIDATxœíÝMhUðÿÛÍìG’nµm’¶¦XÓVEEz+¢BK/=z ^,4PÞ¬Ò[¤ñC[HAH/æ`ƒ =Hs°ÒJ,Z‰F°ˆ Ø¦ÍÆ|mºiökvÇÃÎÂ~Ìì÷ì|¼ÿ ÛÝ}¼yóþÙÙ™}ó@DDDDDDDDDDDDDDDDDD!- iZÀŠ i!Dº•òNo_-¶¿jôÑ À×ÂvÙ!.„ˆW{ƒËÛWKÍöU iZ@oùóïMοÖâ†Yê«w‡fŠþ»&„H½Ï¬} §N:º}µ ~9QWû PØ9“s«‘ 7—GÖêpVÓöµsC­æâAOPL®= ŸŸ?{`£øµBûâSS‘µñK#j,6ŒlÖUí«Éï º{&±ùðü;ófo«€¦i~“s«‘Ϧ]UsxÙÒ µ˜¦i³Ù\ïÑB í‹OMEþû|ô*ÔŒ«ÛW‹¦aÖç‹5 Ñq¯.Ü\q{ç€â°ºøË€ýúS=°6~iÄëBàðÜqûK ë uØÂíê¨ÀÀÐ äwÀ.èíSc1Ï´¯–ƒÁPqûK  Üv̯Ƨ„vëBoŸçŽùU„ü¾âö—ðÚ©O-!»7Àfí—-T†\—ÝàT‹é4¦òWUûφ‚®*_/~˜ˆ¦3ÈȈf2¸—¨zAÍqåëŘè¥×ÈVTµ¡N°»|½Ï*l¤ì._/ÀÄ¥ CÇÝz;ÁîòõbªèS”–:Áîòõ`j°»­A˧ÙÄã–7¢þpÄò:ú0ŸL•<¿¢ª@"‰áêí._MÓÈĢȬ?rÙ¦+oeç>(Oí®ýÆTë„`*Á`õ‘dv—7Óô!@ÝXrDç@fõAGê1û8^Îd\QÞˆ'¾ˆ@¸cu=V+C_~Îîäòe›-Üû"2+÷¡Ùü) |~úŸëH]÷Éüq·ŒÑ9»Ëi:>%ˆàžCMWì6f;(Ä¥ön´»¼O¬Vm羜9¹|5 @ vwž•0UÙÝyVw>À˜ZH¥[Úùv—¯`Âèܺ‘owùz1ujuçÛ]Þ ‡„™x©;ŒSùË®»º”†Oµì._/ÀDÐçÃóáæ¯0Ú]¾^<HŽÇHŽã$Çñ’óÄw€NŽðŽÇH·j 9øýÒœ:$³¹¨þp³ü5 úÂᙚïôˆe53«?d„*€åÀ@ÿ˜ÝÛÒ)c‹‹úÃXùkÒ„Úà×ßÌ §´{[¬öClcô»µ%*€•ò×¥þ9øàìWNì\xgWß™^¿ßS×’7³ÙèØââ„Þùpù”:0¾´z{|iõSxw 9À?0øë ÿÅèWägÒìli½€………–Ö+hsý+¢0øË/:eëléÿÚÅîõ êZ/@Úñfë\ùöõ–Ö xÿ­Ÿ §—Û4MË4º^A§ê/0š.~/¼ðÅÜÃjÝ6àï_=¦?¼QØùwæ.GnÍžÙJ-k¹öÎ,|þA%2™I­Ÿ?{†ëØU1éÆèëôÞ™»™¾ýáÕ'‰èGíÞù å²û’©õO²ÀÑqlwJýåã u»jLV.¹]¹~qBï|ø;àÍ8~ä œ „ÐÖö¥“ˆN_ľó[Í ?‘Ñ+°ÿÖæfæÉ‹š¼nuû]=òGöÃ`V+‡«9OžÎªö¹¥~"""""""""""""""""""r¹ÿ\rÆÿ¤(ÏœIEND®B`‚pyzo-4.12.3/pyzo/resources/appicons/pyzologo16.png000066400000000000000000000003331421373005400221660ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®Îé•IDAT8Ëc`hÀÈÀÀÀðÿÿ6¬’ŒŒ¿pÉÁäYþÿÿϦÞsùƒ9šüI†Š»ÆXäàòLP6æxäàâL”†1œÄ'ÎBH·Ê¹‹x¤4 u&Ã<E†ûÕé Iè|&FFÆ_ÌPÄG3á‹gj"QœÄú÷ñÑŒPŽ®PF“ÃÆ`¢Ú, baçIEND®B`‚pyzo-4.12.3/pyzo/resources/appicons/pyzologo256.png000066400000000000000000000107051421373005400222600ustar00rootroot00000000000000‰PNG  IHDR\r¨fŒIDATxœíÝoŒå}ðï33ûçöþÙÇ9·9DðŒã7E*Q‹ÚŠºMˆŒ"·)åÔTABåÒª¥jh«æ ïR +Aª‚H¬$^@ý& 6 ’©Œ¡®Á€}>ì;ã»Û½ý{3óôÅÞ»{{»3»3óìîóýHHÞ½Ýý=Ï3ß}fvv """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""Ò‡òŤ”@¬ê.£î6ùãX]û÷ªB†YŒã×uBÿŽ`mÂ$×þK 2a(ãê–¿pñÀÌ\þ˜#å—:iµÇ2Ä3ÅÕÔ“ŸØµÜìq[ßìw§”Ξ=Çáøõ òž‘Îâ“»ÞºØtü›ñÛ¤ªï»ÿø…ß,Ôna †”rÆq‡îkÆïÒƒ^½t™ã×ã¤ÄŒadïk7Z’Rš¨›<¿pñ7þî „Øoš¹—XþÞhüf¿;}€û¥;¼åø·âåHp²þŽ™¹ü±vŠQ8pßä_=óC{°y"l¿ÒÙ³¿~"pßÞvëVãß”ï¸ÿø…ÃÜçï>©©ß›pjǬfü.=øÀaîó÷ŸÃÃÓh<þMy €Dõù•2w!#–LýÑ_ïBå`>'¨?gá:ǯ%M#ýØÄŽFãßTÓRnz~Ô×½†öýñ××ÿ `ªÑøñ£¾þuÿöm5ãïå9­V5ìåK{ÛhEįôô‘#GjþÍ?~„ã×ÇvX±šñ‡‡]_§ƒ®ŸáG]ÊŠ Ußß»H #º÷Ýë‰@¾dlï ›îßLb,þtÒ½~Ðz3¶H™‹Å†÷_,‘s¹LëGˆ@žåeÙø2t€÷ó…P7Ýë‡@ž9-.AöF {ý00È3ÓÃõ£ÂÜt¯y6hš6[ŸÖF {ý00È—Û’HyøÈ+¬@÷úAc/–¸35 l#н~Ðä›ê@÷úAbP[Toº× €Ú¦z#н~ÔÕîõ;Å Ž©Þt¯ß BõF {ýv1(0ª7Ýë·CÉ÷¥cÃ-ç!]²”WÑ„î`˜0)‘Hµ~|XßÞÏwݦ]ßîL `ÐÃv¬¼ÈÀ)dPš;uÙ®Û>‰ØØÍª›Õîõýˆ| <ÿQÔ%{ÂêâœBFu3£z9¬{}¯" ·”‡´ËQ–ì)öÒ5ÕM”ßàjy•õ#iH׎²\Ï‘®ú£ÂA[ß¼,nK[\lƒõÃi£÷®™%aôç1}R,ÁK´Y¾oÏúÁŠ4ŒD ŠGY²§XÛ&T7!pЏn{[ù¥cÁÏ Ýë·ùAÀDz7D| ê²ÝÍ0OOÁQÝ’@ù™ü·%±‚]é^ß‹È×äF"…ää8¹%H»uù®dÈ%T7#P~'ÿŽXŒõP²S.L ÖȸŠÒÕ“_÷ú~ðT` ”êɯ{}¿Õ“_÷úí`P TO~Ýë·‹@S=ùu¯ß uDõä×½~§Ô6Õ“_÷úA`P[TO~Ýë…@¾©žüº×€|Q=ùu¯4yVr]¥“_÷úa`g%×Û÷ÕÚüº×€<3=|_=Ìɯ{ý00ȳAÓD\l½„=ùu¯ùrû@rÓ5îL»“ÉH&¿îõƒÆkt‘/ƒ¦‰;SX´í}â1 ¾dýîà ß,!”¾Ûé^?H½[D‘ÆDciŒ@¤1‘Æ”| (n9é:¥¼Š&tìüZ’aÁH¤T·†4y8… Jsç£.ÛõbÛ'»Yu3H3‘ï”ç?ŠºdOX]œƒSȨni&ÒpKyH»eÉžb/]SÝÒL¤ ]oSЕt½üˆ4Qp" að«Í#ú_‡%½EF"aEÿè½ÂÚ6¡º ¤™È&Ò»!âQ—ín†‰xz æÀˆê–f"_“‰’“{àä– íRÔå»’9<#–PÝ Ò’raZ°FÆU”&¢*<˜Hc "1ˆ4Æ Ò ÍÎÎò¼kjŠÐÿ6>kÝyü§¿QÙ וry¦î®–çÞ3ú_¶æ–i^VÔ ÙByõjÝ]+­žÃèsBˆ2ª&‚10ÀU@Ÿzei±~Plõ€„Ë›šú¹âæPm{æåËõß'ç €*„97vÿéë°bçT·‡‚õëå̉º»l0¨š¢(„˜M«n çZyõÔß}rùtÝÝõÇbhè–“¿:WN«nu.ë8ðúZ¼F—æ~›-œûÓ÷ÎÿÀÿeçïúÚÐÐ~Õm¢ÆÊ«W_YZlt´ à]x8h€–PÙ_Üùﳟ¾ àmÅí¡öQÙø}­äT–ŒESªBm™ð1|¼ó¯cкY|IÅm¡ÖV\‡~0hƒ”ò3™»ï¾;Ëå’ƒƒƒÆÄÄDLU{ …‚ûé§Ÿ®ÀǼZ,e˜õ’ɤ¸õÖ[7úÛ¥ý_Ae·-Ù`hLJ)Py·OH`íS¡3gÎx:‹L<€e!D A°Eÿ»ùJµö`himâDo}œ”R.!Úþ%Ýû_­—:ORÆLFoŽ¿`lm#öM÷þ×S²Ž ·œ‡tÈR^EºƒaV~-ɰ`$R¡—“RØÞì1¿|íÐÞlaaVíìH®°ð•жð2#ƒ·l|qiß®GÎýîW¿—0ŠÊ¾°gº÷¿‘ÈÀ)dPš;uÙ®Û>‰ØØÍ¡½¾”2‰-&ÿ³/Þ~8“›;¸jç†Ö€6esŸŸÒ~eþ ü÷›]NÆG_Ýûå?NJù–×¥°îýßJÓeÄÚriã<~áâ·®äê¿vèKá“·ùá[HLÞÑÑσٹř‹ÿö[u×€™µåâꖼϿtï¹ëo“®ó¥¶‹*d±gà®>ùÄ£•klE÷þ7é>[ÊsãoÂ^Úê ÏŽ¢n¬Ÿ}ñöÃWæß8Ñ«“wõûð«§žÅh‹‡êÞÿ-EÒ ä£Ë¾%Ý@ìÖ¾¦”&*G7<ÿÒ½>[¾ð£À‹©±ß–x [ìÎêÞÿV" aðSÇf„a†ñ²›Îê›»þæ±0 ©"îûÎßà‡ö`ó† {ÿ›Š4ŒD ŠGY²§XÛ&ÂxÙš àÙo?ÜËËÞ­ìºÓÒîAmŸuïS‘šHD]¶»&â驎6Qó»ã™Ü\×éB,ŽôïÄ.TÞ÷áówBÝûßTäkr#‘BrrœÜ¤ÝÍg]FLJK´~ Oããã›Æ·?ê ʾ¯áë¿~¢r–ß””rÓ…1tê?€ÿmõ%;å´`Œ·~ u$™LÖ¬ð~ùÚ¡½ªÚ…áÑš¯3§92÷ôÓOoÜ¡[ÿQùŠpÓo öâ©Ô¦õ3Üú•ib¨úöÉ“'ÓÕ·uë?*!Р k=¾Bˆ1ÕmPl[«h=AtS,-ìT݆0YÖ¦wÀº÷¿@Ëf³nõídb‡§kÅ÷*Û®½†îý÷‚@¤1‘ÆDciŒ@¤1‘ÆDciŒ@¤1‘ÆDciŒ@¤1‘ÆDciŒ@¤1‘Æ”\\:6ÜrÒu KyM†aV~íȰ`$R­OÔe"§Aiî|ÔeCÛ>‰ØØÍª›AäKä»åù¢.‰ÕÅ98…Œêfùi¸¥<¤]޲d¤ì¥kª›@äK¤ ];Êr‘“®£º D¾DÂPrÌ12Â0U7È—HÀH¤ ¬x”%#em›PÝ"_"?˜HD]6\†‰xz æÀˆê–ùùšÜH¤œÜ'·i—¢. sxF,¡ºD¾)Ù)¦kd\Ei"ªÂS‰4Æ Ò€Hc "1ˆ4Æ Ò€Hc "1ˆ4Æ Ò€Hc "1ˆ4Æ Ò€Hc "1ˆ4Æ Ò€Hc "5 !DÿþŽ—fggµ?Ýûï…—ÀƵ»öÐm¿ ±-Ô!{ñÓ™ú»P5~:Ý×ã·tì­–¿Åç%²Õ7L!.ûiEÇÎ.\­»kuã' ³oÇ/›û_k¥ÕsZÀÚnÀÆ ÄŒ¾NÑ^–™y­þ X?~1s°oÇï3›Þµï«çx:(„ÈX€;v$î¿i6;·8³ò?¯Ôÿ>ù P;~;¶ïëËñËe1óöoÁþ×ê|°N‘pãgÝöºeàœßR¸rçß8Qw—ª °>~:ýºaÄúnü.œû_«¦ÿ[ñõ1 ¢(„˜ßOûy…Ë^ž?uí…:]wwýþàÆø%£ÓÑ´,™%œúÅOÀþ×ÚÔÿFÚ:àô÷÷œÓí<—‚åV>¸ò“£O5øÓìVÏyü/¯Ÿ‘Àtx­ŠN©€þë?Àþo¶eÿ«µ}"Ðÿýý]Ï»À!éØ-—{yþÔì³ß;Zºòn®îOWÑâÐÅóRâã´^&v«ÌN?†£W>û_«eÿ׉N1°ëž{¿ðàGãã·¦5ÔéëQkvnq&wþ –ý@eàÏÀÃgÀ°ëÜû‡ptü 8hšè‰ñËe1sáN4Xö쿯þw¶Ø;¾õw |ùwöðšÔ€]¸š™y­ÑÑþ‡˜‡ƒ?U6Æï›»nÙ…®¿lWß9Óðh÷:ößgÿƒ˜°3 ×¢ö¼ “]?ŒûßFÿÍ€Šß@%}Æz=ògÀ{ð¸ß×@¯ûßfÿƒZ¬G%M“¿.m¶à:|ðñ —Æý ÿAÀº4zãb/Z°yÚÔÍãÇþ‡ß""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""¢~öÿØ®HFÿ±6µIEND®B`‚pyzo-4.12.3/pyzo/resources/appicons/pyzologo32.png000066400000000000000000000011211421373005400221600ustar00rootroot00000000000000‰PNG  IHDR szzôIDATX…í–=oÓP†Ÿëë’¤I“.Li…TPU  Ebb¥Sþ@—#L™ùHH, X*uè”)*_¥ (JÕÖT¤­Ó„Ĺ %‘›Äø‹/¡<“Îyí÷Þk2ä_@)¥+¥ô?UgG(¥ä…{»f3ÓjsÞUUJäc_.­W¬r9C«éZgkPA_ýº½xûÓgCÄö~3ëE@ ÆÌï^ÌYÆNÖ—øQƒq`þyµ1  !Z¾ü`+ÿÄè\›–…iYx–¿TËZñ^"šF±ñ­+âÛ9f ëpÆÖG!-:F4=ÓßD¦cQÞ™5.$â®±ã2–dôôe¯~Œb½ÁDä„ç¸ûPÔzØkY$uÉÉ‘O±Pk¸CR—€ô;Ôaç)KXÖdáÙÑH|½ÖçÕV‚Ö^KÔ!¤îN¹ŸËåÖªÕjÿR©”èÉ×`³o?H$Úõ[¯ï\¼YË´mÛ¸‚Š€|©0±tî æ¡10¿þ†Å§1{@J)öÍÍlï}ÁÑ^¿ñ¾òlræÀ1_Øà1°ØN¯½ÃZîÀøYþí+~ÝYOøëàa΂ üõO H!J~ #éٸФc]ú®ùî ÿ;ZtúJå\7u÷< :ý€«µí;™> ÎO>Ðïàÿ‹ï\DÏ¥º‰IEND®B`‚pyzo-4.12.3/pyzo/resources/appicons/pyzologo48.bmp000066400000000000000000000154661421373005400222020ustar00rootroot00000000000000BM66(00ttÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûïïïûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûïïïûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûïïïûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêЩͩvÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rÈ¥rǺ§óóóÿÿÿœÕÌd¯¦`¬¢`¬¢`¬¢`¬¢`¬¢`¬¢`¬¢ »·óóóÿÿÿœÕÌd¯¦`¬¢`¬¢`¬¢`¬¢`¬¢`¬¢`¬¢ »·óóóÿÿÿÿÿÿÿÿÿôáÈÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ð/ÓÓÓ¿åß™…™…™…™…™…™…™…™…™… š‡ÓÓÓ¿åß™…™…™…™…™…™…™…™…™… š‡ÓÓÓÿÿÿÿÿÿÿÿÿçđҋ&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿ËÁ™…™…™…™…™…™…™…™…™…™…¿¿¿ËÁ™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&ˆ$·y!·y!·y!·y!·y!·y!·y!·y!·y!º{!Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ä‚# jhhhhhhhhªpÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿€Ë™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ÀÀÀoƺ™…™…™…™…™…™…™…™…™…™…ÀÀÀoƺ™…™…™…™…™…™…™…™…™…™…¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&ˆ$·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!º{!Ò‹&Ò‹&Ò‹&ÁÁÁ_¾²™…™…™…™…™…™…™…™…™…™…ÞÞÞ_¾²™…™…™…™…™…™…™…™…™…™…ßßßÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ä‚# jhhhhhhhhhhhªpÒ‹&Ò‹&Ò‹&¿¿¿ßòðO¸«/«›™…™…™…™…™…Ÿ@³£ ÙÑÿÿÿßòðO¸«/«›™…™…™…™…™…Ÿ@³£ ÙÑÿÿÿÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûîîîûûûÿÿÿÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿ÿÿÿ­­í{|ÒwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxÍwxͧ¨ÈóóóÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿ËÌö/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü79ÙÓÓÓÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿–—ì/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&ˆ$·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!º{!Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ä‚# jhhhhhhhhhhhªpÒ‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü-0Õ),Ã/2Ü/2Ü/2Ü/2Ü-0Õ),Ã/2Ü/2Ü/2Ü/2Ü-0Õ),Ã/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü,.Î#%¥')¹/2Ü/2Ü/2Ü,.Î#%¥')¹/2Ü/2Ü/2Ü,.Î#%¥')¹/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü*-Ç#%¥')¹/2Ü/2Ü/2Ü*-Ç#%¥')¹/2Ü/2Ü/2Ü*-Ç#%¥')¹/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&ˆ$·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!·y!º{!Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü/2Ü*-Ç#%¥(*½/2Ü/2Ü/2Ü*-Ç#%¥(*½/2Ü/2Ü/2Ü*-Ç#%¥(*½/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ä‚# jhhhhhhhhhhhªpÒ‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü/2Ü,/Ñ#%¨&)¶/2Ü/2Ü/2Ü,/Ñ#%¨&)¶/2Ü/2Ü/2Ü,/Ñ#%¨&)¶/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü/2Ü,/Ñ#%¨%'¯.1Ø/2Ü/2Ü,/Ñ#%¨%'¯.1Ø/2Ü/2Ü,/Ñ#%¨%'¯.1Ø/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü-0Õ#%¨%'¯.1Ø/2Ü/2Ü-0Õ#%¨%'¯.1Ø/2Ü/2Ü-0Õ#%¨%'¯.1Ø/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿéÄ’Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&¿¿¿—˜í/2Ü/2Ü,.Î&)¶.1Ø/2Ü/2Ü/2Ü,.Î&)¶.1Ø/2Ü/2Ü/2Ü,.Î&)¶.1Ø/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿæ½…Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ÀÀÀ‰Œì/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü¿¿¿ÿÿÿÿÿÿÿÿÿã¶wÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&ÞÞÞ}é/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Üßßßÿÿÿÿÿÿÿÿÿùðäà¯iÙ MÒ‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ò‹&Ô‘3ݧ\íÔ®ÿÿÿååûprçVWá/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü/2Ü`r 9ÉN€¼,ÑU³™õ—f7''GŠ ¯“Ü0`Žr6@òD¯ŠŠ>ÿav×€B™^{¤ÕظëCv Ç/ÀÌí똵¢ ýÑw4àEŠÅb¡LîéMÃ,]éô!D¯iVÇ0–H$ÞØÑXó­ •J%.Ir†5½ªªývôø½‘å|ëBš¦qJdË[ž]}®~qà ¸êBû5ÿ4â® íÓüÓHW72?8ðïÀÿc Æ™ç£/㺭œvõ@ƒJ ž¾‚™€­ª^´”“18Ò ¯@üÞò„±¥Ž f¸šRK™¥ôW©9Úû˜øù£Œuž|×VNÏÑÞMí8ëcºßú€€€€€½ùÂ:É¡GL¸ÔIEND®B`‚pyzo-4.12.3/pyzo/resources/appicons/pyzologo64.png000066400000000000000000000021001421373005400221630ustar00rootroot00000000000000‰PNG  IHDR@@ªiqÞIDATxœíšÏ‹eÇ¿ï¼3É,l’²îÖEÁÝˤ¡ÿ¡ {«õàA/.,BºâA FOŠEBÛƒ³Hʲ`¢ñ'mi·®ä`t·1»Y$ó¾ózØNM'Ólæ'äý\ò2Ožù>ïÛwžyÞ‰D"‘H$c dBP4@-Náê ¥(B@€R À6!DD¤ç©§°"`êä?¯1 'ƒV¦„ÔU…Ô׬Øz›ÏŸ^3×{8Z'*­ A®X±/;3¯_¨4òaL¸ÎEÀ™Âë—ÓÕjuµ¸QÉG2y༠8/8óå3O§_¼u{S_¡Åm/ŠXÒ³óK¥RéÉÔüB$zýœÐõ%yp&€½¼øX$)š>ÛjµxæìÙX SeÖGµù Ŷiân§‹iUÅü„¸Ý åÑ_‰Ž49g‡1lÀín$*Y•bNOpŸ„_»‰JÌhšç$üÚûñܸ±‡Þ_¿A°ÞÑfဨ)¤Ž?:‘ÚgFÓw;]ì0†¬i>¸„݉ç fÏ×ä@°¬î¿GöÛcÿW­Ô¥b÷k·ñ\jvjvÚ;ÒØ4:Øa 0§§1¥©Ú$nè¾éúµ÷“¨l›¦gð~ín$ªJJ1£©®Áûµ»‘¨dUŠgÕ‰Ðìn$ê'‰¬¢$±u@TÄZÜ{ÿ|h7’Øö€f³Éö¿®¼‡v›ó;ö8¶Ôj5ÃR´+qhWZ»—pÐ ÷)0W.g0þ ³Ä~ØZn5þf쇯î5WÞü½¾ $ Xüé—O”s¹Üã™Lfà¹@»Ýæ»»»Ïr¹ÒŸغÿoç€?†pñ{®0ø\À0뀅……€©÷>I­YÖ£[ãD¡uªhu:WÕ߾ ë€þ‹E½¼qþØ0Á€°xY}ý×–‘®V««{ìóü¨þ¯b‹­˜œœT¦=7R[üøX*•J_¼ñÖ #ûøÀVlOV«ÅO-¾:Ò´fýúÛã±’ ˆ;€¸û^$ýý¿ŸÀûIÿï'‘çQ2ö{€L@ÜÄÍ¡\¨4"íÑ•7ÎûÒóëÞÙÚÍV$=:nìßi6›ìæÖ÷#éu øö·ÇV!Ä ŠInÿÆú¥Z­ÖV¨:’ÞáÛ÷;BœŸx÷ÛsDÑ.ªNŽróAXf§aõŒÆ?·¾¹öçååu5ìíqN¥¸H)<õ̽.·ŵ«Ÿ!0ÿAÿÈ«°{rÎFèQôÂð—H$‰D"‘ŒÿÐ]T!7o¼¥IEND®B`‚pyzo-4.12.3/pyzo/resources/defaultConfig.ssdf000066400000000000000000000111411421373005400212450ustar00rootroot00000000000000# This file contains the default configuration for Pyzo. The user # configuration is stored in the Pyzo application data directory. # Some parameters are named xxx2. This was done in case the representation # of a parameter was changed, or if we wanted to "refresh" the parameter for # another reason. This enables using the same config file for all versions, # which means that users that start using a new version dont have to recreate # all their settings each time. state = dict: find_regExp = 0 find_matchCase = 0 find_wholeWord = 0 find_show = 0 find_autoHide = 1 editorState2 = [] # What files where loaded and where the cursor was loadedTools = [] windowState = '' # Of window and tools windowGeometry = '' # Position and size of window, whether maximized, etc. newUser = 1 # So we can guide new users a bit view = dict: showWhitespace = 0 showLineEndings = 0 showWrapSymbols = 0 showIndentationGuides = 1 showStatusbar = 0 # wrap = 1 highlightCurrentLine = 1 highlightMatchingBracket = 1 doBraceMatch = 1 # Both in editor and shell codeFolding = 0 autoComplete_popupSize = [300, 100] autoComplete_theme = 0 # qtstyle = '' edgeColumn = 80 fontname = 'DejaVu Sans Mono' zoom = 0 # Both for editor and shell tabWidth = 4 widgetMargin = 4 settings= dict: language = '' defaultStyle = 'python3' defaultIndentWidth = 4 defaultIndentUsingSpaces = 1 defaultLineEndings = '' # Set depending on OS autoIndent = 1 autoCallTip = 1 autoComplete_keywords = 1 autoComplete = 1 autoComplete_caseSensitive = 0 autoComplete_fillups = '\n' autoComplete_acceptKeys = 'Tab' autoComplete_minChars = 3 justificationWidth = 70 removeTrailingWhitespaceWhenSaving = 0 changeDirOnFileExec = 0 allowFloatingShell = 0 autoClose_Quotes = 1 autoClose_Brackets = 1 theme = 'default' qtscalefactor = '' advanced = dict: shellMaxLines = 10000 fileExtensionsToLoadFromDir = 'py,pyw,pyx,txt,bat' autoCompDelay = 200 titleText = '{fileName} ({fullPath}) - Interactive Editor for Python' homeAndEndWorkOnDisplayedLine = 0 find_autoHide_timeout = 10 tools = dict: pyzologger = dict: pyzointeractivehelp = dict: noNewlines = 1 pyzosourcestructure = dict: showTypes = ['def', 'cell', 'todo', 'class'] level = 3 shellConfigs2 = list: # Empty, let pyzo create one on startup shortcuts2 = dict: edit__comment = 'Ctrl+R,' edit__copy = 'Ctrl+C,Ctrl+Insert' edit__cut = 'Ctrl+X,Shift+Delete' edit__dedent = 'Shift+Tab,' edit__duplicate_line = 'Ctrl+Shift+D,' edit__delete_line = 'Ctrl+Shift+K,' edit__find_next = 'Ctrl+G,F3' edit__find_or_replace = 'Ctrl+F,' edit__find_previous = 'Ctrl+Shift+G,Shift+F3' edit__find_selection = 'Ctrl+F3,' edit__find_selection_backward = 'Ctrl+Shift+F3,' edit__indent = 'Tab,' edit__justify_commentdocstring = 'Ctrl+J,' edit__paste = 'Ctrl+V,Shift+Insert' edit__paste_and_select = 'Ctrl+Shift+V' edit__redo = 'Ctrl+Y,' edit__select_all = 'Ctrl+A,' edit__uncomment = 'Ctrl+T,' edit__undo = 'Ctrl+Z,' edit__toggle_breakpoint = 'Ctrl+B,' edit__toggle_comment = 'Ctrl+Shift+3,' file__close = 'Ctrl+W,' file__new = 'Ctrl+N,' file__open = 'Ctrl+O,' file__save = 'Ctrl+S,' run__run_file_as_script = 'Ctrl+Shift+E,Ctrl+F5' run__run_main_file_as_script = 'Ctrl+Shift+M,Ctrl+F6' run__execute_selection = 'Alt+Return,F9' run__execute_cell = 'Ctrl+Return,Ctrl+Enter' run__execute_cell_and_advance = 'Ctrl+Shift+Return,Ctrl+Shift+Enter' run__execute_selection_and_advance = 'Shift+F9,Shift+Alt+Return' run__execute_file = 'Ctrl+E,F5' run__execute_main_file = 'Ctrl+M,F6' shell__clear_screen = 'Ctrl+L,' shell__close = 'Alt+K,' shell__create_shell_1_ = 'Ctrl+1,' shell__create_shell_2_ = 'Ctrl+2,' #shell__create_shell_3_ = 'Ctrl+3,' shell__create_shell_4_ = 'Ctrl+4,' shell__create_shell_5_ = 'Ctrl+5,' shell__create_shell_6_ = 'Ctrl+6,' shell__create_shell_7_ = 'Ctrl+7,' shell__create_shell_8_ = 'Ctrl+8,' shell__interrupt = 'Ctrl+I,Meta+C' shell__restart = 'Ctrl+K,' shell__terminate = 'Ctrl+Shift+K,' shell__postmortem_debug_from_last_traceback = 'Ctrl+P,' view__select_editor = 'Ctrl+9,F2' view__select_previous_file = 'Ctrl+Tab,' # On Mac, this is replaced by Alt+Tab in pyzo.py view__select_shell = 'Ctrl+0,F1' view__zooming__zoom_in = 'Ctrl+=,Ctrl++' view__zooming__zoom_out = 'Ctrl+-,' view__zooming__zoom_reset = 'Ctrl+\,' pyzo-4.12.3/pyzo/resources/fonts/000077500000000000000000000000001421373005400167455ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/fonts/DejaVuSansMono-Bold.ttf000066400000000000000000011450001421373005400231770ustar00rootroot00000000000000 FFTMYôRÜ,GDEF`×TšHtGPOS3 Eê¼&GSUBê$$ûä¤OS/2†%†¹!ˆVcmapNºê¨!à &cvt ´I±*,„fpgmq49j-Œ«gasp.8 glyfšÊ"¨.D¹|headô™ÅçÀ6hhea ¶ëçø$hmtxqØrˆè@loca,·°\0tmaxpÛ0Ð namet2h0ð!Bpost™Ï.rR4rÒprepLQŸ3ÅøÆÔ.™É!É!l…†—˜˜™›œst€ÆÇÇÈÉÊר     Ü Ý ä å  žÚarab cyrl.grek@lao LlatnXÿÿ SRB ÿÿÿÿÿÿ4ISM 4KSM 4LSM 4MOL 4NSM 4ROM 4SKS 4SSM 4ÿÿmarkmark&mark.mkmk4 $,4<DLTHn¶ € ¢xˆ" jý”~yjÿú&0  j:jÖz}wx{jQ]jjh¸® $6HZl~ àP<ÿÄ xÿ´Èÿ àP<ÿÄ <ÿÄœÿ¤ |ÿà@ý€ ÿ¨4ýX àP<ÿÄ pÿÌÿ€ Ý ävy~j~jÿújÎŽØ ðâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|¼ÿôlý”@þLhÿ´\þh<ÿXXÿxXÿx<ý¨dý´lý°XÿxXÿx.ýÜ,ýñLþPþXþ@þ€ÿ˜€ÿ˜ ý· ý·Xÿ{øÿDþ ÿ?ÜþW ÿs\þsXÿ{<ýã(þ[ýXÿ{Xÿ{Tüç£þXÿ{ÿøþìýÏäý×äý×äý×.ýääý׌ÿ?5ÿJTÿjÿsNþpmý6ýOý?ý6uý\ý PýMý.\üØ:ý.ýPýNÿjLÿj[ÿ›Zÿœ[ÿjIÿjWÿœTÿœLÿj4ÿjKÿœ]ÿœÔÿL”ÿ@ôÿjVÿjàÿ8ˆÿ8ôÿjbÿjtý¨žü÷ˆý@xýœýОü÷þvXþªTý¨žü÷Äý,dý(hý¨žü÷ÜýHhý4ôþ ôþ ôþ ôþ €ÿLÁÿB,ÿj,ÿj•ÿ2ßÿ),ÿj,ÿjTÿdTÿd¸ÿdTÿdLþp´þpOþ¢_þ¢ì iýÇÑýÃ9þ;]þOÿ¯]ÿŸ]ÿŸ¡ÿkeþg5þgIþKjþ¥ÿkíÿ¯!ÿ_9ÿk!ÿ_!ÿ_!ÿ_!ÿ_!ÿ_!ÿ_õýÏõýÏ þƒþsõýÏõýÏYÿ‹=ÿgõýÏõýÏUÿw%ÿkýÿ[ýÿ[ýÿ[ýÿ[ÑýïÑýïÑýïÑýïÑýï¡ýóyÿk]ÿk™ýó¡ý÷yÿkAÿkõÿƒÙÿ™ÿaÿƒõÿƒÁÿƒaÿ‡aÿ‡aÿ‡Aÿ‹aÿ‡=ÿ‡aÿ‡1ÿ‹aÿ‡%ÿ‡ùýÓùýÓaÿ§aÿ£ùýÓùýÓaÿ§aÿŸÿ/ýÿK¥ÿ“Yÿ›Mýë5ýÓ‘ÿ³aÿ—­ÿK­ÿKeÿo}ÿQþGþ/ ÿ{]ÿoýÿ§©ÿO ÿGÑÿ?eþkÙý¿ÿ§]ÿáÿk¥ÿ¿iÿs™ýЙýЙýÐþ\­þTíý,iý þTYþ<dýÀXÿ{ôýÓýÓäý×EýßÈÿ/Jþ>PýÜ þp OOSsŸ"  L3 O Ro U Xs h hw o Üx  æ  îvy~j~jÿúj¸®Î $6HZl~ œhƒU œhE œhcú œhG œhßÝ œhßÝ œhßÝ œhßÝ Ý ä tuwxz{|} &,28>DJPVj hÿjQ]jj\jhj jJh°ô® ôêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ‚ƒb¯z‹bŸ2_bŸVSÎ ;òC¦k¦kÒ‹¦kÇÚÏæ2ľ†¯zo.Ã2·¶r b‹rwæ>*‹Ò{Ö·v&ú#ê_óBCbO&cnæk¦k¦k¦k}<¡x®x¿%ièFèWèWè…è@èTèTè[è:èBè`è^ØLÜ?c:Es[ÄTØväŽ;Ê]Ö4ø8Ìx,Ê ìô¼X&¢Ò(o³€Xè–o³„èXè²lo³¸PXdÆTo³ÄXOéÄJBû<EôxýKúúU´Á¹úôúT€T€¸€T€„RlbOèW蚇&»ZÇZs{;â#7fkfÇž³*‡*³.óÂëz"/*3ïßö[âcâ îÿ¦kÒ‹:«BŸÎoÆ‹:s6â«âß2¿’Cò§ö»2> ^çnËËʸýϺ¾~*6.Zw.k~“B³VKO“êå®Ëáó¦çäǪ·ãϦ·µ2 çºGh„8ØpBh<U=7~öe<PíLÓ#j_ «38~~Óª‡Ážö{Ίƒóñ)KÓ˦pr¿¢Çf‹¶{ú+ÊÓÎËŽ>£V¯;'ÆÂ¯¶ão¢"?ê4èÜWÌ OOQsŸ$  L5 O Rq U Xu h hy k nz q Ü~  ê  ò tuwxz{|} &,28>DJPVj hÿjQ]jj\jhj jJh°œØ¬ yôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpx~„Š–œ¢¨®´ºÀÆhÕhÕ³Õ6ÕzÕžÕšÕhÕhÕšÕhÕšÕhÕhÕhÕhÕhÕ6ÕhÕhÕhÕhÕhÕhÕhÕšÕh`h³`hg`hh`hš2h`h`h`h`h`h`h`hh`h`h`h`h`h`zÕh`h`hÕh`hÕh`hÕhÕh`hÕhÕ6Õh`-`³`³`h`hh`h`h`g`h`h`h`h`h`h`h`h`h`h`³`h`h`hh`h`h`h`h`h`h`h``h`h`³`h`'ð}{gðfðiðdð iâdâ6ÕhÕhÕhÕhÕh`hÕšÕhÕhAÕ` $=DKN]"ˆˆ2¨¨3óó4  57BB9HH:ÑÑ;ææ<ñò=ôõ?úúABûûCgoDq†M‹Œc™šeg‚‚h…‡i‰‰l Ø Øm Ú Ûn Ý Ýp à áq ä ås  u w†—™›V\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎh`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`û/†—™ŸÈ¾Ø ntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬ÑÑ ÑÑ ÑÑ ÌþÑ ÑÑ ÌþÑ ÑÑ ÑÑ ÑÑ ÌþÑ ÑÑ ÑÑ ÑÑ ÑÖÑÒ ÑÖÑÑ ÑÖÑÑ ÑÖÑÑ ÑÑ ÑÑ ÑÒ ÑÑ ÑÑ ÑÑ ªÄÇÇÊ×>DJPV\bhntz€†Œ’Ñ`ѰѰѰѰÑÑѰÑѰѰѰѰѰѰ ª arab cyrl4grekFlao PlatnZÿÿSRB ÿÿÿÿÿÿ4ISM ligaDloclJloclPmediVrlig\"*2:BJ@D N Ò R Ò ð.     Jhp5 j l n p r v x | ~ ‚ † Š Ž ’ ” – ˜ š ž ¢ ¦ ª ® ² ¶ º ¾ Â Æ Ê Î Ò Ö Ø Ú &    "  6 2 : > D B * F J P V NPhjsŸ#  4T' t z € „ ˆ Œ œ   ¤ ¨ ¬ ° ´ ¸ ¼ À Ä È Ì Ð Ô T Ü (   $  8 4 < @ , H L R XTTVVX\ahjprs˜›Ÿ"T' s y  ƒ ‡ ‹ › Ÿ £ § « ¯ ³ · » ¿ Ã Ç Ë Ï Ó S Û '    #  7 3 ; ? + G K Q WTTVVX\ahjprs˜›Ÿ"  ã v ä v Ç È> $ á p ß l Ý j â p à l Þ j Ç È O LIѼ3™3™×f  æ&ÿÐñû(PfEd ÿýþšmã`ßüü~Ããðöù!AEM¹ÁÉÍÓÞéîó?CXauz~ŠŒ¡Îá_cs›¥³»ÄÈÌùV_‡Š  :UZmt{€„‡‘˜¤©¯¾Ìù‚„ˆŠ—Ÿ£¥§«¹¼Íü .<[ex{…·¿-Mcy™›¡­±¹½ÇÍÝåëõùEMWY[]}´ÄÓÛïôþ  # & 7 : > I K _ q Ž œ µ ¹!!!!!!!"!$!&!+!.!_" """" "-"="i"‹"’"¥"Æ"Í"é"ï####!#(#+#5#>#D#I#M#P#T#\#`#e#i#p#z#}#ƒ#‹#•#®#Ï$#&/&‹&œ&¡&±'' '''K'M'R'V'^'u'”'¯'¿'Æ'à'é)ë)û*/+,d,p,w,z,..%..§§§'§Ž§‘öÅûûû•ûŸû­ûéûÿþtþüþÿÿýÿÿ  Íæôøü$CLP»ÆÌÐÖàîóCXatz~„ŒŽ£Ððbr¢ªºÀÇËÏ1Ya‰  !@Z`ty~ƒ†‘˜¤©¯¾Ìð„‡Š”™¡¥§ª­»ÈÐ,0>bw{…›¹0Th|›Ÿ¬°¶¼ÆÊØàèîø HPY[]_€¶ÆÖÝòö   & / 9 < E K _ p t   ¸!!! !!!!"!$!&!*!.!S!"""""'"4"A"m""•"Å"Í"Ú"ï#####%#+#5#7#A#G#K#P#R#W#^#c#h#k#s#}#€#ˆ#•#›#Î$#%€&8&& &°''' ')'M'O'V'X'a'”'˜'±'Å'à'è)ë)ú*/+,d,m,u,y,|.."..§§§"§‰§öÅûûRûŠûžûªûèûüþpþvþÿÿùÿÿÿãÿÂÿ¹ÿ·ÿ´ÿ³ÿ±ÿ¯ÿ®ÿ¨ÿ¦ÿ¥ÿ¡ÿŸÿÿ›ÿšÿ–ÿ’ÿ†ÿƒÿoÿgÿUÿQÿNÿIÿHÿGÿFÿEÿ7ÿ5ÿ'ÿ ÿÿþûþ÷þõþóþñþÛþÓþÀþ¾þ½þ¼þAþ@þ?þ7þ2þ/þ.þ)þ%þ þþþþþþþý÷ýóýîýàýÓý°ö)ö(ö&ö%ö#ööööööööö ôèçþçôçóçîçâçáçàçÚçÉçÇç¾ç©ç¨çhçdçbç\çXçVçUçRçHçFçBç@ç8ç6ç,ç*ç(ç&ç$ççççççççççççç ç ç ççççæÿæ÷æöæõæïæîæÛæËæÉæÈæÅæÃæ{æyæræmælæjæfæeædæaæ_æ;æ æ æ æææåûåøåõåòåðåÑåËå¿åºåªå©å§å¥å¢å å—å–å”å’å‘ååŽåŒå‹å‰å‡å†å„å‚å€å|åsånåOäüã ã˜ã”ã‘ãƒã4ã3ã1ã0ã/ã.ã+ã*ã(ã ãããâèâáàààÒàŸß½ÞtÞlÞhÞgÞfÜÎÜÅܽcäcàcÞc}c|I¿·¯¥kY é è æ í   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a†‡‰‹“˜ž£¢¤¦¥§©«ª¬­¯®°±³µ´¶¸·¼»½¾!rdei#x¡pkˆvjXˆš%s\]gw ,l|墨cn!T@m}%b‚…—¹ jÁ:q/0  "y'„ŒƒŠ‘Ž•–”œ›ógwqstuzxvh3#®¶îN\{Û#'##\ #Í\\w¼#3‰b#þ#\b b– áb…¤ÍƒðÍ¢ƒ®º¦˜¼°ô%¢Ã%1ž/#ð/Õ 9bÍR¶¢¤Å¤sÕÃáÓîÕ˜¢ÕÕðq¸#îoúVúÁéd\œH¾fšÃ```{î\{šá`ªß¢ƒšoÍ7LøÑ'ª5%ÓÕ={¢¤ðD=!Ï¢/îÑsæ·, °%Id°@QX ÈY!-,°%Id°@QX ÈY!-,  °P° y ¸ÿÿPXY°°%°%#á °P° y ¸ÿÿPXY°°%á-,KPX °ÀEDY!-,°%E`D-,KSX°%°%EDY!!-,ED-,°%°%I°%°%I`° ch ŠŠ#:Še:-ÿÿhþ–h¤@ ¾¾b/ÄÔì1ÔìÔì0!%!!hüsüåþ–øòr)ãîÕ @ d Ô<ì2991/äÜÌ0!!!#ã þõ !Ç#þåÕýqþ›eçªçÕ@ dÔÌÔÌ1ô<Ì20!!!çÿÿÿÕýÕ+ýÕ+;J@0g g    ÔÌ91/<Ô<<ü<<Ô<<Ä2ì220333#3!####5!#5!#3Ã_Ë^àaÁöJÍþþ^Ý^Í^Ý^ÏJÛ^ÍJ;þŠvþŠ×þÛ×þ‹uþ‹u×%×vý³þÛ¤þÓD /P@+)%$(hh!/$, ( 0Ô<Ì2üÄÌüÎÄ1/<ÄÆ2î2ÖÆÆî2ÖÆ90>54&#.'.546753.'¶?FEÍ>??ËW¾ggÁUÅÀ̹G™P>˜[ÅÉÙ´þÒ O=>O-C:9Lû‘-.+=BI'¿§Æ ííÿ(0þÍϬ¤Ò !Ø '3V@-(  (kk kj.k%1"+1""4ÔÄìÜìîÞî99991/îÎöîÞîî999904632#"&"32654& 4632#"&"32654&!º……»»……º?9PP9:OPþ½)ûè˹†„¼¼„†¹=8ON9:QRX†º»……º¹O::OO:9PýP¢`þ^’†º»…„»¹P::OP99Q%ÿãÓð*8©@Z)(*()(-,.+23456718%8+(%#1) #1p#popnr)($ +.#  .8 )$. 9ÜÄìüÄÄÌî999999991/äöîöîÆî99990KSXÉ9É9ÉÉ9Y"%#"5467.54632.#">54&'3!32676767fK©Wàþê‹20ÚÎIŒD@ƒAPR=D9ëDI¢þÃþ"BCr;H23Ñ‘îXN…<¢®ÿ$%86$~fþ &b993‘ÙVöÛ+wIz§  çªçÕ¶dÔÌ1ôÌ0!çÿÕýÕ+þòœ @ut  ÔÄ2ì991üì0#&547œ„€€„䟚›žïþ@àÞþ=ðçÁéèÃä5þòR @ut  ÔüÄ2991üì03#6545äž›šŸä„€€äþ=èéþ?çðÃÞàÀy9TðJ@(   n   Ô<Ä2Ü<Ä2991ôÔ<Ä2ÄÄ2990 %#'-73%Tþ¶JLþ´¬þµLLþ´LK¬LÁ­®¸þ¨X¸®­¶Xþ¨¶B\¨ #@ v    Ô<Äü<Ä1Ô<Äü<Ä0!!#!5!ß®þRíþP°¨þRîþP°î®jþáo@ w ÔìÜÄ1üÌ0!#Í9ÄØcoþñþ-¼¤ßµÔÌ1ÔÌ0!!-wý‰ßþÝÁo¶w Ôì1/ì0!!ÁMþ³oþ‘qÿB`Õ@ dÔÄÔÄ1ôÌ03#ƒÝüîÝÕùm{ÿãVð #$@ x! xn!r$  $üììÔÌî1äôìîÔÎ0@ò////////// / / ?????????? ? ? OOKKKKK K O TTTPPPTT T ddd```dd d ŸŸŸŸŸŸŸ Ÿ Ÿ ¯¯««««« « ¯ ÀÀÀÿÿÿÿÿÿÿÿÿÿ ÿ ÿ T////////// / / ¿¿¿¿¿¿¿¿¿¿ ¿ ¿ ÀÀÀÀÀÀÀÀÀÀ À À $]]4632#"&"326&32#"ìH45HH54H|f^^fg^^ý¬ö÷øööø÷öé5HH54HGBúþíþîúúúýó„ƒþ~þ{þ|þ~ƒ¼oÕ $@xxdx  ÔÄÄüÄ1/ì2ôìÔì0!%!!!¼JþÍ5JüMÉL Jû/þüs'ð[@/% zy xnx    üÄüìÀÀ991/ìôìôì990KSXÉ9ÉY"!!577>54&#">32²uüL =KByoOÅkkÍ^í;H5îþüüª/FV…Adm?<')Ý¿Xš^Dî}ÿãLð(G@)p zy#p z y pnr) &  )üÄÄüìÔì91Ääôìôìîöîî90#32654&#">32!"&'32654&%žžnyynTÀggÈ\옠¨þêþ÷qÛd^ÚxxŒŒœWOS]*( !ε…©Ç¢Ùä&$/1o^s}fuÕ B@   % xd   üüÔ<ì291/äÔ<ì290KSXÉÉY" !!3#!!¶þ‡y5¤¤þåý°ý²–üjýþ¾BÿãFÕ<@!xzyx xd r  üÄüìÄî1ÄäôìîöîþÄ90!!>32!"&'32654&#"Á+ýÄ$R.ÞþÕþþ`ÄfS¯Xœ¢¡†OŸQÕþüþë þèàëþï  ))…u''ƒÿábî $5@{{ z y{"nr%   %üììüìÄ1äôìôìîÖî90"32654&.#">32# !2ƒ`ee``gg#O‘C §/’cÊÜ÷àþï÷..F•ì‹„ƒ‹‹ƒƒŒÆþô--×ÒAAÿêûþìn˜„ƒ‡7Õ5@%xd üìÄ991/ôì0KSXííY"!!!‡°þþÓæý‘ÕÑúüÑÿãPð #/D@% {'{-{nr'0 $*  ! 0üÄìüìÔìî991Ääôìîî990"32654&%.54632#"&54632654&#"hczzcc{zþÁqvòÐÑòto|ŒþêéþŽeWXeeXVfš}gg~€eg}}'§yºØØºx§(&ĉ×êê׊ÄTXggXWefoÿÙNã$7@{ zy{ {nr% " %üìÄüìì1äôìÄîöîî9073267#"543 !"&2654&#"ËO‘CŸ§/’dÉÜöá÷þÒþÒF•7_ee_`gg .,ÕÔAAÿêúþ“þiþ}þ}î‹„ƒ‹‹ƒƒŒÁ'@ ww Ô<ì21/ìÔì0!!!!ÁMþ³Mþ³'þ“þµþ‘sþá' "@ww   Ô<ì2ÜÄ1ÄüÌî0!#!!ÁMÄ×NMþ³oþñþÇþ“Xmy˜@üì291ÔÌ90 5yüåûß!žþãþåùŸì X'yÛ@vvü<ì21ÔìÔì0!!!!X!ûß!ûßí´ëXmy˜@ü<ì91ÔÌ9055X!ûßžúþ`ìþaùé)ð$q@8   %$  fhn !  %Ô<ì2ÔÔì999991/ÌôìÔìÅ9990KSXÉ9É9Y"!!!546?>54&#">32¸ þõ þõ>PZ?-\\T·`bÉeÊæD^XD&þ呚cŒNY=P+CDGF 89¼¥Lƒ\VBT= þÁ‡s 4]@1(+$ 4| | }'$|+}|+15'(   ! .5ÔÄüÄî2îî991ÔÄüìþÄýÄîî9999904&#"326#5#"&5463254&#"3267# !2ÍfYYeeYYfºÄ&gH¤ÉÈ¥Gl"•ŠÐþù0ýP–E\Q¿mþ¢þ`v4Úý!q€€qr€€þØR51ìÂÁë1/)ˆ”þ’þÛþÍþ•//°77ÒŒƒÑþùã!°Õ ±@;      %h~d     ôK°SK° QZX¹ @8Yì91/<äüì90KSXÉÉÉÉÉÉÉÉY"@,0000 5::5s|€´»]]!!!!!h‹þÀi“þÙ\þuZþÙÇýqú+qþ}‡× >@$h hdh €  !üì2üìÔì991/äìôìî9032654&#32654&#%!2)šÄqvˆÄÄp_anþáùû”«­þüþÛþ¦þF`wyjFþ¥P\\Së½¼¢ İØÂ˜ÿã9ð.@op op nr! üì2ì1äôìôìîöî0%# !2.#"32679FšUþÒþÂ>.UœDLL¢¥¥¢LL+$$ŽxyŽ$$þ¸FAþÿýüþÿAF‰uÕ(@p dp !  "üìüì99991/ìôì0326&#! )°P®””®þ‰<nBþ¾þ’þÄËü?ÛÚ þ£þtþsþ¡¨JÕ *@ppd p€#  üì2ü<ä1/äìôìî0)!!!!!Jü^¢ý…?ýÁ{Õþüþ¾þüþy¶XÕ %@ppd€# üì2üä1/äôìî0!!!!!Xý…Bý¾þÙ¢Ñþ¾þüýuÕuÿãjðS@!ppopnr%! üìüÄüÄ1äôìôìþÔî990@]]#5!# !2.#"326hÊÌUÍuþÞþÄ?-Z®L>¡`¨¦ ™.DøýTIK“syŽ30þ¹PQýþÿùþü‰HÕ &@p€d  " üì2üì21/<ä2ôì0!!!!!!‰'q'þÙþþÙÕýÇ9ú+˜ýh¬%Õ #@pd p ÔÄ2üÄ21/ì2ôì20!!!!!¬yþ×)ü‡)Ñþüü3þüÍmÿãðÕ.@ opp dr  üüüÄ1äôìîöî99073265!!!"&mVÃctlþ—åþù_ÏJVX\tòü þïë4uÉÕ a@3  %d   üì2À91/<ä290KSXÉÉÉÉÉÉY"!! !!u'ÎNþ)èþ¸þžƒþÙÕý²Ný´üw ¦þáÕ@ pdüìì1/äì03!!á'wÕû/þüV{Õ È@  % % üìüì91@ d /<ä2Ä90@  %KSXÉÉÉÉY"² ]@R )=?? ‡€¯¯ ¿¿ & )/708?…€Š‡ € Ÿ”› ¤«¢¬ ±¿¶º ]]K° TX» €€88Y!!###V`²±bþžë þÕýqú+¬ýsûTwXÕ S@%d&& üìüì991/<ä2990KSXÉÉY"²‡]@  ‡‰]]!!!!w= þÅþ^þüÕûÃ=ú+=ûÃ\ÿãuð #@ppnr !! 'üìüì1äôìî0"326&! ! hqhhqrhhý‚  þ÷þüþýþ÷çñþóþôññ  ñþˆþxþþ‚þxˆ¢{Õ,@pp d !  üì2üì99991/ôìÔì032654&#%! !#!Éy‘uu‘þ`•5þñþËnþÙÝþJbyybøÜ÷÷ÜýÑ\þçuð<@ pp n ! !'üìüì991ÄôìîÅ9990# ! "326& þÿþ÷  ~xºÊþùqhhqrhhˆ~ˆþxþþùþL¶–ñþóþôññ  ñ…ÑÕf@6  %p pd   !  "üì2üìÄ9991/<ôìÔì9990KSXÉÉ9Y"!&'&+!! 32654&#',A/þ¼´ Ok^þÙª û–ýø‹yihzÁ A^ýçy©ý²ÕÌæš¶ þi_mm^ÿãVð'p@>'' '%' o!p o pnr('$ ($"(üÄìüìä99991äôìôìîöî90KSXÉ9É9Y".54$32.#"!"&'32654&'þßžãgÎe_Ä`krS„´ªþõþòoßhvÝlmxPLU»žËè/.þàCFVP>Q10BÚ¦âß541TRcYCeZwÕ@ pdÔÄüÄ1/ôì20)!!!üþÙþ…þ…ÓþþjÿãfÕ*@  pr d  üìüì1ä2ôì99990!3265!! j'reer'òþôþõó'®üppøüRþÐþì9˜Õm@%%dôK°SK° QZX¹@8Yì91/ä290KSXÉÉÉÉY"@  ]]%!!!h)þþgþ)ößú+ÕÑÕ µ@@      % d   /Ì91/<ô<Ä90KSXÉÉÉÉÉÉÉÉY"²‡]@6fe   )&ghj f g wzsx‡ˆŠ††‰‡]]!3!! !kõ–T¬þíªŸþïÕû¸Åý;Hú+üð¶Õ ¤@C    % d   ôK°SK° QZX¹@8YÄüÄ91/<ä290KSXÉÉÉÉÉÉÉÉY"@  ]]) ! ! !¶þÏþãþäþ϶þV11þXîþößþ%Ûý!ÉÕS@(%d ÔÄüÄ9991/ä290KSXÉÉÉÉY"! !!>"#>þ3þÙÕý¨Xüwý´Ls‰Õ 8@%pdp üÄüÄ991/ìôì0KSXÉÉY"!!!5!‰òýLÂûêŸýwÕôü#þüôݦþò¢$@‚u‚tÔìÀÀÀÀ1üìüì0!#3!¦üòòþ¾úZ¾oÿB`Õ@ dÔÌ991ôÌ0 #NßüîÕùm“/þò+ @‚u‚tÔì991üìüì0!53#5+þòòøÞ¾¦¾9¨˜Õ@ dÔÌ91ôÌ290 # #ãµòþÂþÃòµÕýÓ-þÓ-þÑþÛµ‚/Ì1Ôì0!5Ñû/þÛ¾¾Çîüf"¶ƒÔÌ1ôK° TK°T[X¹@8YÌ0 #áÅþfþˆx^ÿãT{ %…@/   ggh Šg#‰r… #  .)&üìÌüì22991/ääôìôìîî99990@-400 4!urrˆˆˆ       ¦¦    ]"326=%!5#"&546!354&#"5>3 ¼¤‚ZMt€#þÝ5¦d¿Õþ ËgdiÅkaÈpÝTfLZ¯qý}JPʵĻ1GI5:ú(&Þ–ÿãw 6@  h hr‰t2 0üì22üì1/ìäôìî9904&#"326>32#"&'!!Rl__nn__lþh6ZÇ×ÔÀe–.þÜ$-¢¸¸¢¢¸¸6]]þÐþäþèþÌba¦¨ÿã%}.@‹yh ‹ yh ‰r 75üì2ì1äôìôìîöî0%# !2.#"3267%JªbþýþÜ&Z§S@™RššU”B9++89*,þô7;¶¨¨´9:Zÿã;6@hhr‰t2 )üìüì221/ìäôìî990!!5#"3232654&#"$þÜ/•eÀÔ×ÇZþžl__nn__lÁSùì¦ab40]þ¢¸¸¢¢¸¸\ÿã}{L@#  ‹ hy Žh ‰r .)üììüÄì1äôììæîîî90@ Ï Ï ÏÏÏ]%# 32!3267.#"NfÔvþçþ×÷ùý š™eÄkøspex 7**->þÙþôw„‚:?itw{q®;4@ t  Ô<Äü<Ä2991/ä2üìî2990!!!!5!546;#"ãXþ¨þÛþð¨äñåB/ÂbáüáNÊœá0bþXH} (I@(  &' h‹yhh#‰'‘)& 2 ))üìÄüì221Äääôìîöîî999904&#"326!"&'326=#"325!#r]\qq\]r%óþï\´]S¬[|v+ŽfÀââ¾`–+%B–µ´—˜´µþ©þóï .,u|yPN, 8ZR¬/.@ h‰ t 7  5üì2üì1/<ìôì99990!4&#"!!>32/þÝENPZþÝ#–jŸ¢×ý)ªyh}ýý¤]fÓ *@  s  Ô<ÄÄü<Ä1/ìì2ôìÎ0!!!5!!!!ÝDlümþá%þÛ`üáážþªþXR 7@  ‘s  Ô<ì2ÄÄ991ìäôìîÎ990%#!53265!5!5!!RµÒþÄêbRþ×NþÛ%+ü×án„TáËV®® @@! %t  .5 üìì291/<ìä90KSXÉÉY"!! !!®%`cþXÀþ¼þÍdþÛüÏ}þ^ýB `þTZF %@t  ÔÄüÄ991/ìüì990!5!;!"&ƒþ×NRbêþÄѶÓ`áû¿„náØRƒ{"”@'  h ‰:=:=:#ÔK° TK° T[X¹@8YìüìþîÎ91/<<æö<î299990@7      /////////?? ? ? ? ?????]>32#4&#"#4&#"#3>32²!fJ‘oð&22(í(22&ðÕnDDpðGDÈþÄý‰Ï}TV{ý1Ï{VT}ý1`tBMQ¬/{0@  h‰ 7  5üì2üì1/<äôì99990!4&#"!!>32/þÝENO[þÝ#–jŸ¢×ý)ªziŽ~ý`¨]fÓbÿão{ #@hh‰r . )üìüì1äôìî0"32654&32#"hixxijxxýíîþçîíþç¹¥¥¹¹¥¥¹þ¢=þÃþñþñþÃ=–þVw{9@hh‰r‘ 20üì22üì1äääôìî990%!!>32#"&4&#"326ºþÜ$.–eÀÔ×ÇZbl__nn__lžý¸ ¨abþÌþèþäþÐ]ñ¢¸¸¢¢¸¸ZþV;{ 5@ h h‰r‘ 2)üìüì221äääôìî99032654&#"#"325!!l__nn__l˜6ZÇ×ÔÀe•/$þÜ1¢¸¸¢¢¸¸ýË^]04ba¨ùö#{)@ h‰  ÔÄì21/äôìÔÄ990.#"!!>320M]‹&þÛ%+²w&lnýü`®`i¬ÿã+{'¥@=    %  ‹yh‹yh%‰r( >7"5(üÄìüìä99991äôìôìîöî990KSXÉ9É9Y"²(!]@+ $)) ) ) ) ) ),//,))))) (!$'].#"#"&'32654&/.54632ßQ¯XbdÖ T •ãäeÔmaÉ^gjKQ¨šêÔ_½=ÿ4598P2&©­­##7:<98<"&¢ˆ¢´o1ž1@  Ô<Äü<Ä2991/ìô<Äì2990!!;#"&5!5!²þIUáöü²þâžþÂáýîKAá¡Úá> ÿã%`0@  hr   75üìüì21/ä2ôì99990!3265!!5#"& %DOOY%þÛ•i £‡ÙýTyhŒ~ƒû ¦]fÔP`i@%%1/üì91/ä290KSXÉÉÉÉY"²X]@U  ZUUY]] !!þœþ—þœ)ïð`û `ü–jÑ` ¿@@      %    /Ì91/<ô<Ä90KSXÉÉÉÉÉÉÉÉY"²h ]@@     )&') 96k c wxuy ‡ˆ†‰ ——˜˜–™ ]]333! !ô…yíw‡ôËþꈇþê`ü¦5ýËZû Fýº7š` —@B    %  1/ üÄüÄ91/<ä290KSXÉÉÉÉÉÉÉÉY"² ]@    96]] ! ! !yþ‡šþªÜÛþªžþƒVº»`ýèý¸yþ‡Hþ²N;þX˜`w@A     %  ‘  1 /üìÄ91ä2ôì9990KSXÉÉÉÉÉ9ÉY"+5326?!!Ç;¥vòwZT+þV4õ4yž‘ß=o<Aý)×¢9` 8@%6/ üÄì2991/ìôì0KSXÉÉY"!!!5!ºý³MüiNýÊ`åý`Ûå °þ²$^@0 %   ! ‚ ‚‚ t% $  %Ô<Äü<Ä299999991üÄìÔìî99999990#"&=4&+5326=46;#"3–ù©kŒ>>Œk©ù–{hFb~~bFh¿”Ý×—s¿r˜×Ý“¾TÑ¥†ˆ¤ÍUöþÙ¶tÔÌ1üÌ0#Ùãø´þ²!$`@1%   ‚‚#‚t%# %Ô<Ä2ü<Ä99999991üÄìÔìî99999990326=467.=4&+532;#"+´yhHb}~aGiy–ø§m>>m§ø–Vͤˆ†¥ÑV¾“Ý×—s¿t–×Ý”XÏy++@ ’’ üì1ÔüÔìÀ9990#"'&'.#"5>32326yKOZq Mg3NJN’S5dJ t]FŠ+é<73 ":?å=6 7=ãîÕ @ d Ô<ì2991/ôÜÄ0!!!3îþõ þõ!Ç#ºú+eþ›“þÇ ˜!F@&‹ yh ‹yh‰ r" -/"üìü<Ô<<Ì221ä2ô<Äì2ôìÆî2ôî0.'>7#&573 8x?@w84xCŽëþïëŽ=uþÀr{~5þô*1ýL0+þô"þà :úÿ9þá!ü„´³™›¹wbð>@  zyhn x Ô<ÄÄü<ÄÄÄ1/Ä2ì2ôìôìî2990.#"!!!!3#535632N9‚EjcPþ°áüëÆÆáèS޶þî)+…°áþ²þüNáÅøº°^T /c@8  *( -'! ) -0)'!$ * ( $0ÔÄ2ÌÔÄ2Ì9991ÔÄ2ÌÔÄ2Ì99904&#"3267'#"&''7.5467'7>32;dJIeeIJd¬ª¬ƒª$P0'T-ªª¬ƒ¦)S.'QƒIccIJffqªª)S,/Q$ªƒ¬¨ª*S)/Q&ªƒ¬ÉÕu@<%  d    ÔÄÄ2üÄ2Ä9991/ä2Ô<Ì2Ü<Ì290KSXÉÉÉÉY"! !3!!!!!5!'!53>"#>þïàþ¾V˜þdþÙþd˜Vþ¾àÕý¨Xýð»—½þJ¶½—»öþ¢Ù˜@ Ô<Ì21ÔÌÔÌ0##Ùããã˜ý öý öªÿ=%ð >y@C/0*1 06 'f&*f# f f54%.#"#"&'532654/$5467.5463271aÈ71þ÷|U„6LUË Öv_fFAѺY¬UU¢IMRÖ þÄhaG@ЬJX$E(6X`$E+QŠlá:4Ki neY€/2{Q“§å95Fsª¬^‹!2xRެ-;¤1@ ÔÜÔÌ1Ô<Ì203#%3#¸ììþuìì1ööö}ÑN1ID@%  ˜ —–>˜—–2•>•&JDB C8B ,/ÆþåÄ2îÎ1ÔìÔüôüäõþäÎÎ0.#"3267#"&546322#"&'.5467>"3267>54&'.P4[0akjb5`*7j2©ÊÊ©7iµÚZZ\[[[Ú~}Ú[[[\ZZÚ~cªIGHHGG¬cd¬FHHHHH©¨h__g¨»›œº$ZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZGIG¬ebªHHIIHHªbe¬GIG¬Õð %)d@4 $#(£&$£&£¢£¤ n*&(' #*ÔìÌÔì22ÀÀ9991ôäìôìÍîÔÖÎî999905#"326#"&546;54&#"5>32#!!fmd=6Vn2yN‚—¹¼[[R@I”L½²Áþ°ýP4818g 96‰u†…11!"¼¬·þ@wªw# -@   U U Ôü<Ôì2991Ô<Ì2990 5 5þìþ+þëþ+#îÝÝ‰îÝÝXjyƒ@ v üüì1ÔÄì0!#!X!îü̓ýç,-¼¤ßµÔÌ1ÔÌ0!!-wý‰ßþÝ}ÑN 4L\@3-*+'0!–5•2+–A• M*',$0-!1E3+E$CGB3C;B/ÆþåþõîÄî29991ÔÄüô<ÄþõÎÎ99902#"&'.5467>#32654&'2#'.'##%"3267>54&'.hÚZZ\[[[Ú~}Ú[[[\ZZÚb@@998(…NG&7O¬?9)¤cªIGHHGH«cc¬GHHHHH©NZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZþb¤((+)oXZAU 81¦…:/ðq®GIG¬ebªJGHHGJªbe¬GIG-X¤µÔÌ1ÔÌ0!!-wý‰¼V´ð@” ”n@@ÔìÔì1ôìÔì02#"&546"32654&hCz//12.0zD¾ÀHdbHHdcð30/xDBz./3¾ŽÁ¢dHHbcGHdXy *@v  v   Ô<Ä2ü<Ä21/ìÔ<Äü<Ä0!!#!5!!!ßšþfíþfšþf!ûßþžìþžbìbûêð2@²²´³ ²±^ÔÄÔìÀÀ91ôììôìî90!!56754&#"5>32ô¸ýf3Z:WK8‡MKŽB©»þ6-‘+KO4<#"¤}o~þè*Ãð(D@&² ²´#² ² ´³ ²±)^&^ )ÔÄÄÔìÔì91ôììôìÆîöîî90#532654&#"5>32#"&'532654&FooJUOFEŠDE‹C¢¸ibouÁ¸K–JC˜PU_b’2,-3˜teI^p\yš@8=DÕî f"¶ƒÔÌ1ôK° TK°T[X¹@8YÌ0!#ðþÅfþˆ®þT¤` G@'  hr‘ !    75!üì2üìÄ991ä2äô<ü<Ä990!3265!3267#"&'#"&'®RRQP!+J#H[%nF;SþT ýXrsrs¨üøG> ÙKSNP/0þFÿ;)Õ "@d ÔÔÜÔÌ91Ä2ôÌ90!###.54$!¿¾¼ÍÝÕùfùùNÛ²¾èÁ·w Ôì1Ôì0!!ÁMþ³þ“ÿÿoþo3­9œÁß )@² ²² ³± ^ ÔÄÄüÄ1ôììÔìî2035733!9âÜÞÂâýx-+•)ýN‘¬çð0@££ ¤£n  ÔìÔì991ôìôìÜì0!!4632#"&"32654&%°ýPŦ¦Äç¦ÅkIUUIIUUVª¨½ßÞ¾½Ýݨ~mm}}mm~Á\# -@   U UÔ<üÔ<ì991Ô<Ì29905-5-ÁÕþ+þìÆÕþ+þë#þwƒþvîÝÝîþwƒþvîÝÝÿÿ/þòw{'=¸üV'{þþœ òÿÿ/þòw{'{þþœ& òtÉüVÿÿ/þòwŒ'=¸üV'uÿœ ò°ÿåîÕ%x@<   %%  fhrd&# !  &Ô<ü<ÔÔì9999991äôÄìÞÅî9990KSXÉ9É9Y"!!!3267#"&546?>54765þõ þõ >PZ=-\\SµabÉeÉåD^XB&ºþošcMY;Q,CDGFþô89¼¥Lƒ\V@T?ÿÿ!°k&$ ïu@ ]1ÿÿ!°k&$ íu@ ]1ÿÿ!°k&$ ðu´  +@ ]1ÿÿ!°m&$ îu´$ +@O$@]1ÿÿ!°k&$ ìu ´  +@ € p? 0/   ]1!°m!ý@M ! !%h  i ~!   "üìÔÌÔÎ999991/<îæÖÎî9990KSXÉÉÉÉÉÉÉÉY"²]@\ !000 0!oŸ¯¯¼¸¸¼¼¿¿¿¼¿  !!' )!;44 ;!t |!‚ !°°¿¿¿°µ º!]] !!!.54632%32654&#"!/þÙ\þuZþÙ,*§uv§*þŠN57MN65Nƒ‹úsqþ%a=u¨¨u>_6MM66MMþAýœÕc@3  %p hpdp~€  % /ÔÄÄÔ<ì291/<äììôì2îî0KSXÉÉÉÉY"!!!!!!#3‰þÝþü6ýÌþæVøf³”ãÕþüþÉþüþnþüjþ–Õþüý…{ÿÿ˜þo9ð&­u&ÿÿ¨Jk&( ïuÿÿ¨Jk&( íuÿÿ¨Jk&( ðuÿÿ¨Jk&( ìuÿÿ¬%k&, ïuÿÿ¬%k&, íuÿÿ¬%k&, ðu´+1ÿÿ¬%k&, ìu´+K° SK°QZX»@ÿÀ88Y1uÕ 9@hp dp  ! "/þ<î2þî9991/Æ2îöîî203#326&#! )#53°ÓÓP®””®þ‰<nBþ¾þ’þĉ‰ËþºíþrÛÚ þ£þtþsþ¡˜íÿÿwXm&1 îu´#+@O#@]1ÿÿ\ÿãuk&2 ïu@]1ÿÿ\ÿãuk&2 íu@]1ÿÿ\ÿãuk&2 ðu´ +@]1ÿÿ\ÿãum&2 îu´1" +@O1@"]1ÿÿ\ÿãuk&2 ìu´ +1w“Xs 0@   ü<Ì291Ô<Ì290  ' 7 Xþ¶J¨þ¶þ¹¨Jþ¶¨GJËþ¸þ¶¦Hþ¸¦JH¨þ¸HÿúÿÁÅ )s@> )*  '$ ($p$ pn$r*(! '!)!!!'*üìüì.À99999991äôìîÀÀ999999903264&'.#".5!27!"&''ÃU8rh9N4pií## g¦=q¢ž''þ÷þüjª@x¢b9=ñ >5 33ðþýþ¬Xãˆ>=¢sß^ïþ‚þxCB§rÿÿjÿãfk&8 ïu@]1ÿÿjÿãfk&8 íu@]1ÿÿjÿãfk&8 ðu´ +@]1ÿÿjÿãfk&8 ìu´ +1ÿÿÉk&< íu¢{Õ0@hh d !  üì22üì99991/ôÔìÔì032654&#!3 !#!Éy’tu‘þ`'n5þîþÎnþÙöþIbxydßîÛøïÙþ´ÿã–2X@2)#,2&‹h&h/tr*  #A  ) .+/3üìüÄÄîôÎÎ99991/äþîîÖî990#"&'532654'&/.5467.#"!4632 }t aRPàÂ=|C:s6IUsV;<”‰ b\^`þÛñæßÕ#[Q@Y J>™^§Àú C:HX D0M~«JIebûžfÓÛíöÿÿ^ÿãTf&DCÿÿ^ÿãTf&Dvÿÿ^ÿãTf&Dg @?&/&]1ÿÿ^ÿãT9&Dwÿÿ^ÿãT1&Djÿÿ^ÿãT&Duÿã¤{ Aµ@K. 4, ;5#A ‹ ggy 4‹5ŠŽ1g8g,…>8‰& rB#;-, 4T)-RBÔ<üÄÄÔìÌÎÅ99991ä2ä2ôìî2îöîæî2îî999990@'33040536G3G4G5G6YYYYW3W6Ï ÏÏÏÏA]5#"326554&#"!3267#"&'#"&546;54&#"5>32>32éIWY@=?=Ú2??2Ãþ=d_A=BîþÑÿÿ¨þo%}&­HFÿÿ\ÿã}f&HC'ÿÿ\ÿã}f&Hv'ÿÿ\ÿã}f&Hg' @?/]1ÿÿ\ÿã}1&Hj'ÿÿf&óCÿÿf&óvÿÿf&ógÿÿ1&ójbÿãf(‹@N (((#$%$"!"%%$%('%"! #&#h hr#t)'& !#(%" .))üìüì99991ìÄôìîÀ9990KSXÉÉÉ9ÉY".#"32654&#"432''%'!%+1b0izwhms udVþðòìþêÙ(? þÈ7ž%\)Bþëø‘}ž²µ­-bЉý—þìþÈ2ì ÛwumÊt{uÿÿ¬/9&Qwÿÿbÿãoh&†üRÿÿbÿãog&‡Rÿÿbÿãog&gR´+@]1ÿÿbÿão&wßR´1 ++1ÿÿbÿão&jèR´ +1BV® $@v  Ô<ÄÜ<Ä1ÔìÔÌÕÎ0!!!!!!Í5þË5þËþuKûµ®þËþþˤîÿ‹²Ó +s@>+,  )*&h&h‰&r,+,* # )#.),üìüìÀ999999991äôìîÀÀ99999990 32654&.#".5327#"&''?þ¤B&hxþJZ>'jyÏ--íU“C”‹ ./þçîS—C—‹£þc»£:Å›¹¥"4þîI²m=+-°y¼L¸kþñþÃ--²wÿÿ ÿã%f&XCÿÿ ÿã%f&Xvÿÿ ÿã%f&Xg´ +@]1ÿÿ ÿã%1&Xj´ +1ÿÿ;þX˜f&\v–þVw9@hhr‰‘t 20üì22üì1ìääôìî990%!!>32#"&4&#"326ºþÜ$.–eÀÔ×ÇZbl__nn__lžý¸¾ý¤abþÌþèþäþÐ]ñ¢¸¸¢¢¸¸ÿÿ;þX˜1&\j,´ +@!¯ €p_PO@?0/ ]1ÿÿ!°N& ù$´ +@ O@/ ]1@]0ÿÿ^ÿãT&ŠDÿÿ!°k&$ ôÿÿ^ÿãTF&DŒÿÿ!þoÍÕ'vc$ÿÿ^þol{'vDÿÿ˜ÿãAk&& í‰uÿÿ¨ÿãpf&Fvfÿÿ˜ÿã}k' ðœu&ÿÿ¨ÿãJf&giFÿÿ˜ÿã9k&& õdÿÿ¨ÿã%1&FKÿÿ˜ÿãjk&& ñ‰uÿÿ¨ÿãGf&Fhfÿÿ‰u}&' ñÿó‡ÿÿZÿã±g ëcÿAnA1G¹@8@/]1ÿÿuÕ’ZÿãÍ$F@&"   "hhr‰t   2)%üìü<Äü<Ä1/ìäôìîÕ<Î2990!5!5!3#!5#"3232654&#"þÎ2$’’þÜ/•eÀÔ×ÇZþžl__nn__lÁ"½tt½û¦ab40]þ¢¸¸¢¢¸¸ÿÿ¨JN& ù(@]0ÿÿ\ÿã}&Š'Hÿÿ¨Jk&( ôÿÿ\ÿã}F&HŒ'ÿÿ¨Jk&( õÿÿ\ÿã}1&H'ÿÿ¨þoKÕ'vá(ÿÿ\þo}{'vçHÿÿ¨Jk&( ñ5uÿÿ\ÿã}k&Hh @?/]1ÿÿuÿãjk' ðyu*ÿÿbþXHf&gìJÿÿuÿãjk&* ô2ÿÿbþXHF&JŒÿÿuÿãjk&* õ2ÿÿbþXH1&Jÿÿuþjð'¬¦ *ÿÿbþXH'˜dJ@?]0ÿÿ‰Hk' ðu+´ +1ÿÿÿÃ/k' ðþÓuK ´+1K° QX¹@8Y@ŸO]0ÎÕ>@   p€d    "ü<Ìì22ü<ì22Ì1/<ä2ôìÜ<<Ì220!!5!3#!!!#53!5‰'q&‡‡þÚþþÙ††'qÕààà¤û¯˜ýhQ¤¤µµ /B@" h‰t 7  5ü<Ìü<<Ìüì1/<ìôìÜ<Ì299990!4&#"!#535!23!>32/þÝENP--þÝ  #‹Šþë–jŸQQ×ý)ªyhGF}ýö¤zz¤þÂ]fijÿÿ¬%m' îu,´$ #+1ÿÿ9&wó@]1ÿÿ¬%N& ù,´+@/ ]1@]0ÿÿ&Šóÿÿ¬%k&, ôÿÿF&óŒÿÿ¬þo%Õ&,vBÿÿþo&Lvgÿÿ¬%k&, õ` @ ÔÄÄüÄ1/ì2ôì0!!!5!!ÝDlümþá`üáážÿ÷ÿæÏØD@# op p dpr ! ÔÄ2ÜÄ2ÔÌÄÄ1/äì2ô<ì22ìôì990%32765!!#"&!#3!3>?ŽHU'(þøßSTÀE—ýl9¾¾ýǾMVX\::òü þïuv4·þüü3þüÍ þNÑ G@$‘   s   ! Ô<ÄÄÜ<ÄÔ<Ì2ÄÄ1/ì2ì2ô<ì2Ì2ôì0%#!53265!5!5!!!!!5!#3#ѵÒþÄêbRþ×NþÛ%ûo•ÿý6ÿÉÉÌÌ!ü×án„TáËVýéüáážþªÿÿmÿã!k' ð@u-´+1ÿÿþXáf&gæÿÿuþ0ÉÕ&¬r(.ÿÿ®þ0®'¬€(N®®` ?@  %  .5 üìì291/<ä290KSXÉÉY"!! !!®%`cþXÀþ¼þÍdþÛ`þƒ}þ^ýB `þTÿÿál' ív/ÿÿZFl' ívOK° QX¹@8Y@ŸO]0ÿÿáþ0Õ'¬‚(/ÿÿZþ0F&¬(OÿÿáÕ' ëDÿo/ÿÿZ¦' ëkÿ®Oÿÿá’Õ'y„¬/ÿÿZÇ'y¹¬O @/]1ÿÙÕ 7@  pd    ü<ìì2.9991/äì903'%!%!á—q'pþ}woš¼ÕýøÂ™þïþþü%\D@%  t  Ô<Äü<Ä99991/ìüì99905'!5!%;!"&šþïduþÙK'gþrSbéþÅѶӦâÓáþÑ þèþ‹„náØÿÿwXl' ív1ÿÿ¬/m&vþQÿÿwþ0XÕ&¬:(1ÿÿ¬þ0/{&¬@(QÿÿwXk&1 ñ)uÿÿ¬/f&Qh$ÿÿÿ’Î'QŸaýâjþVeò2@ pndp ôì2üìÄ1/Ôìäôì90+532654&#"!!>32e\\Ðy%dR^jm;>þÙ'%³~½Á®üŒþönlãn…ËoKN‚ü4Õð€þݬþX/{5@ h‰h 75 üì2üìÄ1/Ôìäôì99990+532654'&#"!!>32/[ZÒy'dR"#NO.-þÝ#–jŸQQ×ýTüklán„z45GG~ý`¨]fijÿÿ\ÿãuN& ù2´+@ O@/ ]1@]0ÿÿbÿão&ŠR´+@/ ]1ÿÿ\ÿãuk&2 ôÿÿbÿãoF&RŒÿÿ\ÿãuk&2 öÿÿbÿãof&R‘DÁÕ>@!p  pdp €%  üìüÄÄÔ<î99991/æî2öî2î0! )!!!";Áý¸þ¼ñòC=þ´.þÒþÏ{\[|4þü7²´8þüþÉþüþnͲþÊþÉ®Íÿãº{ )5o@1("!% !g‹y3g Ž-%g‰ r6*0T!*R(6Ô<üÄÔÄÌî991ä2ô<ì2ìî2öîî999990@ÏÏÏ Ï!Ï"Ï(Ï)]!3267#"&'#"32>32'54&#"4&#"326ºþ>c_>2ð:MN;;NM:ß—;:ô,*JJMG8;;Bÿÿjÿãfm' îu8´- #+@O@ ]1ÿÿ ÿã%9&wX´* +1ÿÿjÿãfN& ù8´+@ O@/ ]1@]0ÿÿ ÿã%&ŠX´+@/ ]1ÿÿjÿãfk&8 ôÿÿ ÿã%F&XŒÿÿjÿãfj&8uO @]0ÿÿ ÿã%&Xuÿÿjÿãfk&8 öÿÿ ÿã=f&X‘ÿÿjþ_fÕ&8vôðÿÿ þoÌ`&XvbÿÿÑr' ð|:´+1ÿÿÑm&gZ´+1ÿÿÉr' ð|<´ +1ÿÿ;þX˜m&g\´+@]1ÿÿÉk&< ìu(´ +@ po `_ PO @? 0/  ]1ÿÿs‰l' ív=ÿÿ¢9m&vþ]ÿÿs‰k&= õ2ÿÿ¢91&]ÿÿs‰k&= ñuÿÿ¢9f&]h®;*@  t Ô<ÄüÄ991/äüìì90)!5!546;#"ãþÛþð¨äñåB/áNÊœá0A ÿãw >32#"&'!#535!!!&"2º6ZÇ×ÔÀe–.þÜŠŠ$*þÖ˜l¾nn¾Á]]þÐþäþèþÌba¦ö¤zz¤ü•D¸¸þ¼¸È×(?@$h hdh €  !$'+ÔÜÔ9ì2ÜìÔì91/ììôìî9032654&#3264&#%!2)"#546r-qvˆ--p_anþíùû”«­þüþÛþ¶B1⨦þF`wyjFþ¥P¸Së½¼¢ İØÂÀ/B;Êœÿÿ¢{ÕH–ÿãw"'!!!632 &"2ãÍ\þÜþl³ÊlhÔQl¾nn¾æÑþ~ºœ–þæþèþ̨D¸¸þ¼¸+¦Õ%3264&+'3 !ôy‘uu‘yþÙ¢Én5þñþËøbòbýR¦†©ýÑÜþÜ-ÿã¤&"2>32#"&'!'l¾nn¾þÔ6ZÇ×ÔÀe–.þÜ–º‹D¸¸þ¼¸î]]þÐþäþèþÌba¦¦†è˜ÿã9ð/@! Ü<ôì1@ op opn räôìôìîöî0>3 !"&'3254#"˜DœU.>þÂþÒUšFLL¢¥¥¢LL¨$$þrþ‡þˆþr$$HFAüýAF˜ÿãþk %27# %6326;#"&#"”“Œ©þÒþÂE¨0-Xäa\1)’•¢¥!ì‡þ¸HŽx#¤@á7.8‡þÿýþ"¨ÿã#%27# !2676;#"&#"ú¨ƒ”ÂþýþÜ&HZÒy'_.#…¦«K3º3ÓsþóV89×Vlá7+þôrUŠþô?ÿÿuÕ’ÿä¶Õ"0#547676; !#26& ÿ0KˆìnBþ¾þ’ì'®””¶&4M–Fmþ£þtþsþ¡Ëü?ÛÚ}‡Ö#";! $545676?6%3!jĈvqÄýe¸þþÛþüH+ŒÄýe¦jyw`êú+ÂØ ®Q2“[–ÿãw"7632!5!!526&"*ÀÔhlʳlþþÜ\þÄl¾nn¾4–œº‚Ñùì¦Ãìþ¼¸¸D¸aþ=n{%/%#"'&'&'532?654#"32%26&#"‰‘~}àcTy `&ZQh:#£îþçîíŒ?þÅixxijxx5?—‡NM ×",f==þÃþñþù¦Kš¹J¹¹þ¶¹¨JÕ +@   üÄÄüì21@ p pdp€/ììôìî0!!!!!Jü^{ýÁ?ý…Õú+‡B\ÿãuð=@ ! !'ôìÄôì991@ p p npprôìÔîôôÔî9905!54&#">3 ! %3267\änxLLFšU þ÷þüþýþ÷9 iad_é_¾ÜAFH$$þxþþ‚þxˆÙ¯©°¨}ÿãLð(>@  !!&)üìÔìÔÄÄ1@ pn)p€) p#r)ôìÔìôì9ôìÔì0.54$32.#";#"3267# $546Řì\ÈggÀTnyynžž€ŒŒxxÚ^dÛqþ÷þê¨%©…µÎ!þô(*]SOWþü}s^o1/þî$&äÙ¢ÇlþXeÕ!!!+5276=!eýäãþSZÒVh)%CÑþ¾þüþ}+Ødlá72‰}-[þXv!!#!532765!5!546;#&Xþ¨T\ÑþÄêc()þð¨äñåoÂbáüÙclá78ƒTáNÊœá&ÿã«k(%27#5!# %632676;#"'&# ’]*Ê̬ëþÞþÄ@«<< ZÒa\1)}¿þÅÔ.ì"øýT”“s¦C  lá7.Rþ:þdO þÞ±Õ '! !%3254h¹þrACþrÐüØžˆ‹þüÛþáý%þ‚þvþñ ]¯þõu~‚• ÿþÅ*'&'&'&#"#3>32?67653Åhb YˆDG?@$$èèxUAA X+1è9ýžšy}Û V*4GF}ýý¤]fijÑþõ« 4 T^ˆx¬hÕ0!!!#"'&Öþ×yþ×&&fºêÎlnÎþüýŽ.-þüvx¬%Õ!!3#!!!#53¬yþ×÷÷)ü‡)÷÷Ñþüþ ÀþêþüÀ÷¾Õ!!!676&ü|èþ¸þžƒþÙ'­†‚@ŒMD6$›üw ¦þÕý²GÝq3°= ®®476;#"3! !!®[ZÒy'b+)`cþXÀþ¼þÍdþÛAúmlá75†þ¢}þ^ýB `þTÄZF3+;!"&=#53!5!²¸¸ RbêþÄѶ¨¨þ×NñÀ^„náØû^ÀBáüÝP! !''7!gæþ×ÿàþ×kÒdê“)Nî £ûUTý¬ÅE•¢¦W¶RÿåƒÕ%#"&326532653#5"&#!fJ‘oð&d(í(d&ðÕnˆppGDÈ<ìû¼}TV{Dû¼{VT}Dú+tBMQþV³Õ!+532765!!!Õ ”T–0<;+< þÆþ^þäZ4áKЬûÃ=ú+=ûìþV/{!4&#"!!>32/þÝENO[þÝ#–jŸ¢×ûTziŽ~ý`¨]fÓ\ÿãuð  &5%63 &'&#"!3276hþn-]O` þ”I|:3U”- «þQ )4qr4(‡ ßtxþxþý€p¬ÅODÖ2PþüÈ_xx]ÿÿÿãÍ'¡œ„2¨ÿÿ ÿãÈ'¡—R§ÿã´ð &5%6327!#327&#"õþµd(ECOÑu]êrxþSU+Cg//g&‡ ßq›€ú+p ü×Äþ¡i5x yôhþVÑ{327!##""327&훀ƒ꓌°ííixxi,<< =|eùòÎrýПª¹þ¶¹]]½Õ3264&#"#5476763! !#!q‘uu‘þÆ ÿ0Kˆ/5þñþËþÙÝþJbòb'&4M–FmÜþÜýÑ–þVw$&"2"'!#776;#"3632Rl¾nn¾ ´kþÜ QZÒy'_.#\ÍÀÔçQD¸¸þ¼¸ô»ý¸Ñalá7+‰ÃþÌþèþWy*…ÿÑÕ!&5&+!!3 3264&#',!0þ¼´Ok^þÙ'ƒ û–ýø‹yihzÓ _ýçy+©þ ÕîÌæš¶ þi_Ú^ÿãVð(03267# $546?>54&#">32Ù‘LPxmlÝvhßoþòþõª´„Srk`Ä_eÎgãž7eCYcRTþÏ45ßâ¦ÚB01Q>PVFC ./èËž»¬ÿã+{'>323267#"&546?654&#"øY½_ÔꚨQKjg^ÉamÔeäã• T ÖdbX¯Q=´¢ˆ¢&"<89<:7ÿ##­­©&2P8954ÿÿbxÕé;þXv&(;#"&5# %53232#%&'&'32'3@åñ䨇þÌ.2Ñ\K ‰t8¨þG (`@iHsÛûÏ@áœÊ lY¡ÒÒ265L†oþX1ž !!;#+532767&'&5!5!²þIUáUZÒy'b+"ÕPYþâžþÂáýîKA¶+Öflá7,eHQÚá>w×"#5476762'!!†,ÿ0!Z{i0ñþ…þÙÕ!H "M›AMþþû-Óo147676;#"!!;#"&5!5[R°y'b+)þIUáöü²þâ`Ûmb á75gáýîKAá¡ÚáZþVwÕ!!!!;#"&Õþ…þ…Tb'~Ò­ÓþþûV†láÐÿÿÿãÌ'¡›„8›ÿÿÿãÊ'¡˜XÿhZw´##"47#5!32654&'!wîxlþéëíþælxî×QNpgfqPRÙámþñ¿þÈþ’n8¿mÓþôOê§ÖèèÖ¦íM uRÕ'53!"'&5!276%¢ëxlŒ‡þßýiB'&&fš-ÃH˜9mþñ¿þÈ·²°n°üŽ.-øXÎÕ!!776&¥ÎþÙþS.a“)†©=?51þJý´L‰ý¨Ó@\M×þX´` +5326?!76& þêkëòwZT+þu%óp[RSÛ4;^0"˜üïþÑß=o<Aý)_;;& Ø#O9s‰Õ!3!!!5#53!‰òþ•ãþ—ÃÂûêÇ\ßUýwÕôýùÀþêþüô&À÷4`!3!!!57#5!!µã›þ»ÀMüi·nìýÊ`åþýÂÛÛåÑ  ÿäÇÕ"# '&5!327654'&+5!!ÇñÚþ®ƒ>aEbë)à"'ÿtýÊòþo‘NkIQ©þçm?t€ßk9)’³Úqôþo dn ÿäÇÕ %2765!! &54767675!!# J1>ƒþ®þ6n GOoN‘þoòýÊtÿþ׊<êN5J߀tPcfq! ‘ôþüþÚÏ‹.nþHc`!#"32767# '&54767675!!š¨“KK’Š]``afhhgþÚ™™GMqN‘þyýÊÄÚ45fcj6þ×%tsÞfq! ÇåÛƒþVI`2327670#"'&5476%767654'&+!5!oNt\Yå54&#">323+²uüL m¢T;KByoOÅkkÍ^í;H u÷5HþüüªtÀAV…Adm?<')Ý¿Xš^ÀH ÿäÇÕ"#!!!2! '&5!32654'&+DŽ¢ý…tKQG™šþÛþ®ƒ>OJoŠ’KK“f†OþüþŸ@tfÞstt€ß_95jcf54nþHc` 2!"'&'32654'&+!!lˆxiGG™šþÛghhf_Ä[Š’KK“¨YþÄ0,fgŽÞst%)58jcf54vÑþ5’ÿâ?ž%#"'&'327654'&+#5;5!3®ª[Œw¼Ù£IIDFFHH¡Y43NÃTÚÖBé61^‘ç×…Ò#*+rB`GLr!¦¦ÂQþVr{!!6763254'&#"ŒþÅ;LL\ª´DPý¡22nN„þÚ ¥o%,p‹þ\ÌN¤qBAËãîÕ!!ã þõÕú+ÿÿþÓÕ'‚å‚ÿIˆÕ!!!!!!!5!5!5!ã šþfšþfþõþfšþfšÕþ¥ëÜíþ:ÆíÜëÿÿãîÕÿÿ!°k&$ ñuÿÿ^ÿãTf&Dhÿÿ¬%k&, ñuÿÿf&óhÿÿ\ÿãuk&2 ñuÿÿbÿãof&Rhÿÿjÿãfk&8 ñuÿÿ ÿã%f&Xhÿÿjÿãfá' ìõ&8jÍÿÿ ÿã%O'q;¾ÿÿjÿãf&8' ìõ íÿÿ ÿã%'‡Ÿ¾ÿÿjÿãf&8' ìõ ñÿÿ ÿã%'’Ÿ¾ÿÿjÿãf&8' ìõ ïÿÿ ÿã%'†Ÿ¾ÿÿ\ÿã}{ÿÿÿ!°á' ì'jÍ$ÿÿ^ÿãTO'q;¦ÿÿ!°á& õ &$jÍÿÿ^ÿãTO&D&q;ÿÿœN' ùˆÿÿÿã¤&Ѝÿÿuÿãjk' ñyu*ÿÿbþXHf&hìJÿÿuÉk' ñu.ÿÿ®®k' ñuNÿÿ\þ_uð&vôð2ÿÿbþ_o{&vôðRÿÿ\þ_uN& ù¡ÿÿbþ_o&Š¢ÿÿ ÿäÇk' ñuyÿÿnþHcf&h8ÿÿþXòk&hæÿÿuÿãjk' íyu*ÿÿbþXHf&vìJÿã¸Õ333327653#"5##ûÞû8EûÎÎÞûÕýÇ9üRJ˜%2:8}¿þ‹þÐþì0qýhÿÿwXk' ïu1ÿÿ¬/h&†üQÿÿœk' íÜuˆÿÿÿã¤f&v¨ÿÿÿúÿÁÅk&š íuÿÿÿ‹²g&º‡ÿÿ!°k&$ ÷ÿÿ^ÿãTf&D•ÿÿ!°k&$ óÿÿ^ÿãTF&D—ÿÿoJk&( ÷ÿÿ\ÿã}f&H•'ÿÿ¨Jk&( óÿÿ\ÿã}F&H—'ÿÿo%k&, ÷ÿÿŽf&ó•ÿÿ¬%k&, óÿÿF&ó—ÿÿ\ÿãuk&2 ÷ÿÿbÿãof&R•ÿÿ\ÿãuk&2 óÿÿbÿãoF&R—ÿÿ=Ñk&5 ÷Îÿÿòf&U•dÿÿ…Ñk&5 óÎÿÿ#F&U—dÿÿjÿãfk&8 ÷ÿÿŽÿã%f&X•ÿÿjÿãfk&8 óÿÿ ÿã%F&X—ÿÿþVð&¬6ÿÿ¬þ+{&¬VÿÿZþwÕ&¬7ÿÿoþ1ž&¬gW6þR›ð2 >54.#"57>54.#"632]•©X¨þéþ£ñL‹šqKF_38@ØêQv;!2QP(›êðëvÂzS"¢$Îyh®’‡v@.5NSk7@])Uþ_!OBN-6O'œ¤8Xqj1þánþOc{05>54&#"57>54.#"5632EUx9ü Eƒ|ŠfCxK48ÂÓKj5.IG$‹ÓÍ÷g¥hF’ÍIVK&þhÀå%+?DV-JVEÎMB5@!,@ ~Ï…*CZ\0q¶ÿÿ‰Hk' ñu+ÿÿ¬/k' ñuKjþVeò!4&#"!!>32eþÚ^jm;>þÙ'%³~½Á®ú¨¡oKN‚ü4Õð€þÝÿtÉ%-%724#"'632#"'#67&'#"32!26&"¾-h*4ŸX|šõu+D=$>L±Ô×µ<0$ýÓDxEExØ… êðþ‡ yaGyl$>40/-ü»þ¼¸¸D¸sþX‰Õ!!#+532767!5!‰òýLÂSZÒy'b+"ýŸýwÕôü#þüØdlá7,dôÝ¢þX9`!!#+532767!5!ºý³MSZÒy'b+"ýNýÊ`åý`ÛØdlá7,då ÿÿ!°k&$ õÿÿ^ÿãT1&Dÿÿ¨þoJÕ&(­2ÿÿ\þo}{&H­2ÿÿ\ÿãuá' ì'jÍ2ÿÿbÿãoO'q;¸ÿÿ\ÿãuá&2' îjÍÿÿbÿãoO'q;·ÿÿ\ÿãuk&2 õÿÿbÿão1&Rÿÿ\ÿãuá& õ 'jÍ2ÿÿbÿãoO'q;ÞÿÿÉN& ù<ÿÿ;þX˜&Š\1ÿt  %724#"7632#"'#67&'&5!5!•-h*4áBX|šõu*‘ J[þ×N)Ø…šêðþ‡ y1BXlû}áû¢„7&%ÿt¬{/%724#"7632#"'#67&'&=4'&#"!!67632Ö$R!)¤$Fd{Ä]!u ~;I?#þÝ#0T·Ø…`jêðþ‡ y1BXlûôƒ+5GQtý`l3!3ÓÑþߨoÿt1ž$%724#"'7632#"'#67&'&5!5!!!!V$S!*Õ2%Fc{Ä^"t ~;Iþâ%þØ…^¨jêðþ‡ y1BXlûÉá>þÂáþXR` ,@  ‘  ÔìÄÄ991äôìî990%#!53265!5!RµÒþÄêbRþ×N+ü×án„Táÿãº-26&"&"2>32#"&'#5#"323åK…MM…¼K…MM…Ò%e?‹–”†Gi Í!hG†”–‹?d&ÍÏþ¼¸¸D¸þD¸¸þ¼¸î]]þÐþäþèþÌba¦¦ab40]]SþJº{-&"226&"#"3253>32#"&'#ìK…MM…ýDK…MM…Ò&d?‹–”†Gi Í!hG†”–‹?e%ÍD¸¸þ¼¸üþ¼¸¸D¸ý]]04ba¦¦abþÌþèþäþÐ]]ý­ÿúÿÁÅ! !!#'#7'7'3'´i<Ê¢þ×þÙ\þ BC-Z!,UK2bs{ÕÝsþ[üq^þí??y?ÜþRµƒÿúÿÁÅ( &#"# ''&5!27&'3267Ì}¢¥jFšUþן ¢Ø:>.UN$!7¢ŒýúR¢LLÇþÿýý_$$Áãr1£âyŽ MsÆ~ý"&€AFÿ‹²Ó''7&5!27&'3267#"'&#"¤‹Î?&ZS j‹&*þ=MU”BJªbéyB šuwõ‚¶9 ~y§˜!ýêZ9:þó++~­~¶¨µÕ !3#!!#5(ôôvübúÚûýÀþêþüÀ ÿÁ×!'!!7#7#ÕþÙ¢Éþ…¬/¢`4þ¹TTbþ_r‡BsˆIþ1üü\w¬þ+{1.#"#"';# /&'32654&/.54632ßQ¯XbdÖ T •ãä}<Ÿ‘‰þè‚° „aÉ^gjKQ¨šêÔ_½=ÿ4598P2&©­­¥PÛ­é s7:<98<"&¢ˆ¢´¢þ9`!;# /!ºýj3-°<Ÿ«£þè‚°AiNýÊ`åý);éPÛ­éVå ´Õ$"#"#5476767637$!!!264'&#ÊN+ÿ0!KŠ0D›š˜þÏþãþÙVpz==p½$0 "M›B?€~êëýýúmÈ66‡×'!2)#533264&#32654&+3}áùû”«­þüþÛþ}}Äp_anÄÄqvˆÄé×½¼¢ İØÂRí­þ¥P¸Süff`wyjgíÿã¼Õ53!!!3#! '&)265U'®'VVvyþôþözwÕþRrÊrÀûýûýÀþÚ‡ŠŠ‡&=pp9˜Õ !!!iþùþ×c™cþ×ßû!Õú+ÑÕ!! !&5&+!#533264&#Äk û–,!0þ¼´OkþÙ¯¯'LyihzÕÌæš¶ _ýçy+©ý²Nø—þi_Ú^À{.#"!!!#53!>320M]‹& zþ‚þÛcc%+²w&6ÂþJ¶Âè®`inÿãd{ ,27654'&#"!67632!#32767# &¤@B.,Nt@@þÞ"6RTd¾Ö€~þöÌ44dhccj`ÈpþîÜP**fL--XWq}J((ʵÄ^]1G%$:ú(&ÞxÿãY{5!!5#"763226&"5$þÜ/JKeÀÔlkÇZHGþžl¾nn¾Ážû¡¦a114˜˜/.þ±þ¼¸¸D¸xÿãY{%!!67632#"'&&"2œþÜ$/KJeÀÔklÇZGHbl¾nn¾ž_¦a11þÌþèþ䘘/.OD¸¸þ¼¸–ÿãw $9@h  hr‰!t2! 0%üì22Ä99ôì1/üìäôÄìÆî04&#"326>32#"&'!463!#"Rl__nn__lþh6ZÇ×ÔÀe–.þܵÒ<êbS-¢¸¸¢¢¸¸6]]þÐþäþèþÌba¦@ü×án„¬ÿã)}/@7 Ü<ôì1@ ‹ yh ‹yh‰ räôìôìîöî0>3 !"&'32654&#"¬Jªb$þÚþýZ§S@™RššU”B'++þÈþìþëþÇ*, 7;¶¨¨´9:¢ÿs/}-%32'&#"763!"'"''47&'&76!2&'&#"–96“ƒSÊg©þÅfÈQ=’““ZSTS@MLRšè9Kµéþ½r]G&Aœœ,þô7¶¨šMþµM$26&"7!;#"'&=#"'&32nV˜XX˜ð"-5a¨HH%<;Q´dbɺG99Ïþ¼¸¸D¸:Sút„nálküa11šš0/.FÿãO#26&"%!5#"32776;#"mV˜XX˜þÖ%xQ¶É˽H99+EH¨a4Ïþ¼¸¸D¸¹ûÀ¦ab40/.]glá75Xÿãy{ 703267!57632!"&&'&#"‡kÄe™šý Љù÷•”þçvÔ’Í <<;\ÿã}{?@ . )ôìÄôì991@ yh ‰Žhrôìôîôôôî9905!5.#">3 #"%3267\÷š™eÄkfÔv)þâ÷ùþí'spex w „x:? **þÓþåþîþÂ'§twzqÿãÊ{ 332767#"'&'&'&#"67632?;#"'&5_þÂ-HN10 øÚÆw@A;hUYY^`___䥖5!Hq;õ ?;:n,Q`þîþÆŸVv»)?!"D0›‚«á7´o[¦•ÿêt(<@!Ž ‹ h ‰)#‹"h&r) "5)üìÔìÔÄÄ1ôìÔìôìÔìôì90467.54632.#";#"3267#"$• ˜‡ûàjvyi•;vvsh——y…††dv†£nàþ÷8y–d‡›×"B6,@ß_B=T/Û$¬fÿêk{(\@!‹ yh#‰) ‹ y hr)& )ÜÄÄÔìÔì1ôüüìÔì9ôüýî0° KTX½)@))ÿÀ848Y´%%]!"&'532654&+532654&#"5>32)˜ªþÄþÙbÑoXÒrqŠ 2·uh‘‡zÀˆyÒ]ñ‘=”p·ì"#(YO5Û6E1>ìž­W‚0ÿê¡{A#"&'5327654'&+5327654'&#"567632?;#"'&5'Cr?@wuÞJœTCNOUH'NI/&‰XK1?@&[R>fZPOE´i>Ÿ–  !HZ<ê0=JJp\[ì"TO ÛE.) ì O.N€«Õ7´o[¦µ$lÿÖey. !27654'&+5327654'&%672'$‰þ÷*F(5:&J„…@*?;9þÁYÆÐon:8‡ƒ<:nmÒÆYþÓ“þ•þ”%?H Û"J7#"·-VW”bLHIGg”VV=ÊLŒþX`%#!53265!5!!5!3#RµÒþÄêbRþéþ×NÊÊ+ü×án„‹ÂáþÂþVÀ ;"32765#"'&54763!3676;#"#!"'&'32765öY1200\Z12;HG]¤lkkl¤'RW|á…*‰ˆþýTONOKHHIABwRR–šOPRR•:ýGb..¢¡úâ¡ Ìrvë..‡ÜýþŽ!6MM¤|þVU`*%#"'&54763)!"'&'3265"3265.=’_©mnnm©.'‹ŒþöVPQQMJJJ‘†Á[f11_[f¾b\¢¡úâ¡ üþŽ!6𤤖šOP¤•:š7_%%#"'&7632&'&#"32767'#5!7]edkòú`YXOQPQP•QPMN'"!øæe2—––•(ì1YX¤¢YY ¨Ýbþaoo ' !!3254óþgþ> þ¨CÂÅCýø¿µ®Nþ‚þ}èñV©#þ´LýþÊ~||¢bÿˆo`%254'!!! 54f-,,†þ­CÂÅCþ§—þ¸þ¯ˆW;HJ9S¾þ´LýßïÌüüÔ§þJ*^!32765!!#"'&§#"#NP--#þÝ–jŸQQ‡×ýVy44GF}ùì\]fij§*!4'&#"!476;#">32*þÝ#"NP--þÝ[ZÒy'dR–jŸQQ×ý)ªy44GF}ý@üklán„ˆ]fij§þV*(%4'&#"!476;#">32+5326#"NP--þÝ[ZÒy'dR–jŸQQSZÒy'dR)y44GF}ý@üklán„ˆ]fijÑý)Üblánjh!!!3#!!5!5!5!!–fþšÞDÊÊlülþêþâþÜþÂÕááÕÂÿý@`!5!#"'&5®þâD&&fºêÍmnáýlŽ.-ävxàjh` !!5!!5!ülülþ”þýbáážááXÿþz*#"';!"'&=&#"567632!5!3276xJHHN6>(*bêþÄÒZ\NŒJNHJRþØNG=FDF+é<„77állûu:?å= áü³le"&#";&;!"&=#&'&!5!!‚;2` 3RbêþÄѶ{¸Ñ@'þ×N 028?Üp„náØûoÏê)báüÌœrþD^%!5!;!"'&œþÖN*(bêþÄÐ\Záú„77állþH·. !;#"&5#5!!#"'&'32654'&+V$þ[=J¯íœ‰ß»œþÛl;S<5ssÜMNNMG“Egm88n~ÄÁþN„náØû`áþLåþ9 !qfÞst%)58jcf54Pÿå`"%#"'&326532653#5"'&!!fJ‘78ð&d(í(d&ðÕ77ˆ88pGDdd<wý1}TV{Ïý1{VT}Ïû tB&')(PþV`"%#"'&326532653#"'&!!fJ‘78ð&d(í(d&ðÕ77ˆ88pGDdd<wý1}TV{Ïý1{VT}ÏùöB&')(PþV{367632+5327654'&#"#4'&#"#367632°!32K’77GJ®c R""13í32ðÕ67DDpðF#"ddþÄý‰Údlá77„¦~)*+-yý1Ïy-+*)~ý1`tD$'R@þF‘{'!54'&'&'&#"+5326=!67632‘þ× &\55ZYªzRB'CKK[ ¦ªýVo›‘77#WV™þÉÜËyvë\‡Üp¤b./îDþF{"4&'&#"!!67632;#"'&5·&'U<5þÙ'CKLZ¡RSUu©Y_Ò-HWK¤ýÙ`¤b./wxâýj†/.ëv€ÄxY` !!!!xƒIþ}þëþ·`ýu‹û ‹ýubÿão{ !7632#"'"!3&'&!#3276bŒíîízi<. ˜% .5!!5#"'&'º0‚L^EE&$þÜ,XZv<::45,,! >&lnû ®`45ºÿå327676765!!5#"'&'º0‚L^EE& $þÜ,XZv<::45,,! >#9/u¶ùî®`45MþV„`%327676765!;#"'&'#=#"'&'M0A@M]FE& %()d'yÒZS+YYw<:945,! >&66nû \67álbÜ)…`45ºþV{.#"!!676320€N\FF&þÚ&*ZXx<994+,,! >&lnüR ®`45ºþV{!.#";#"'&5!676320€N\FF&(*f&xÒZ`&*ZXx<994+,,! >&lnþ%„77álp÷7®`45ˆJ`35!476;#"!ˆXZüöâT%%€áÚQPá! KýîáˆJ`35!4'&+532!ˆ~$$VàöüXZáK !áPQÚýüáhh`+!&'&'&+!! 32?674'&'&'&#À*9 þ ª 4'$þÊlwxHFþX>W) 1 +B- þm WþF`ML­tDC_ö(:% A` "#327654'&'32767!#!!öOO['(('ª%K-+%‘k§322?s99nnìþfêþñ HI ÝGþÂa/0!GHo KJ`©þV({8&'&#"#"';#"'&532654'&/.54632ÜQWXXb22Ö T KJrqä?A)d'yÒZ[ade^gj&%Q¨šêÔ_^_=ÿ48P2&TU­VWS)7álkü7<98"&¢ˆ¢´[þXv!#!53276546;#"T\ÑþÄêc()¨äñåCÙclá78ƒƒÊœá@[þXv!##!53265!5!!5!546;#"3R[ÒþÄêbRþéþ×)¨äñåB/ʶþJÚblán„‹ÂáNÊœá0Aý¶Â[þXv!&'&+532;!"'&³Båñä¨)(cêþÄÒ[TÂ@áœÊû}ƒ87álc;þXv&(%;++5$!346;#""#"6763‹¨8t‰ K\Ñ2þÒ4‡¨äñå@þÒ5Hi@`(‘Ò¡Yl Êœá@úýL56TˆþÂJ`!5!4'&+532!!þ‚~$$VàöüXZþâþÂ>áK !áPQÚýüáþˆþVJž!!;#"'&5!5!Ê€þ€%%TâöüZXþâžþÂáüDK !áPQÚ®á>Xÿãx`!5#"&=#53!!!3)32760þÚ–h ¤RR&:&Hþ‘þÇDNP,%¶þJ¦]fÔÐ/ÂèþèþÂyhF;Uÿ˜|`&327654'&'!##"54767#5!&@+99^_89+@ÉÎLE8’’èçþÜ6>OÎÑELQskŽXWWXŽksTHÅ;…lžþž:÷¢pAÅTÿþ}`$#'&55#53!?27654'&/ÑA;0}}Æo¤[Z¡¡%"%`D=/!D¬;…lžþžyxà:yáþ¦þÆ© 4aXŽksTH¶P`3!! Pdidþ×ïð`û jü–Ñ` !# # #!!Ñõ……Ó„†õÐ…„üüüý`üþ:—676;#"!! ;RSvòwZ**+ªþÌÿõþÌÙžIHßo<û¿×ý)D`!!!DOÕÔQþfþë`þ§Yýxþ(Ø.þV¢`!!;#"'&'!5!F€ý²N(*d&xÒZTý‹NýÊ`åý`²„77álbÜå vÿ[`%3276'&!367632+'47!5!R'& /ý6ý³Ú2]NÊó ËýïNýÊÜ9Gúåý`v[«þìþ½0@78å nþHc`! !5!!"'&'32654'&+7†ýÊþy‘NqMG™™þÚghhfa``]Š’KK“¨ÄÁÛåþ9 !qfÞst%)6jcf54eþHl` .&'&23676 !5!5#7#$!2&'&+Ä+¼•Œ c4'þ˜†ýÊþx’MqNF™ª”£þet´ ;K“¨}A U4XÁÛåþ9 !qfÞs.( #-[H*4¦+32765&'&#"67636!XTÃN33Y¡HHFFDII£Ø½wŒ[ªþ¾àrLG`Br+*#Ó…×ç‘^þ¦+!&'&54762&'&#"3yþ¾ª[Œw½Ø£IIDFFHH¡Y33NÃàý ð^‘ç×…Ó#þÖ+rB`GLr¦+!'"'&'327674'&#XBª[Œw½Ø£IIDFFHH¡Y33NÃ3àþ^‘ç×…Ó#*+rB`GLr¦þV+#%32767#'&54762&'&#"á3Y¡HHFFDII£Ø½ww½Ø£IIDFFHH¡Y4„`Br+þÖ#Ó…×a×…Ó#þÖ+rC_7ÿÇš¨ *32654&#"47632 '&47632"'&EWUyxª¬vyUWþò¦¥é䦥££þ.¥¦¼#"1<"Db"#6†^^¼†ƒÂaa„ý»»»»ýþýµ¶¶µ5'''/-6L&&wZ` ,@ hh  !Üì2ÔìÔì1/ìôìÔì9032654&#32654&#%!2#!¿§^^^^§œHNLJþÔüâSNdnìòýûÑË3332®Å0203á›Rs‘j¢ŸlÿÖey.% !";#""'&54767&'&547676H þÖF(5:&J„…@*?;9?YÆÐon:8‡ƒ<:nmÒÆY-¼kl%?H Û"J7#"·-VW”bLHIGg”VV=Êþ´þt=”+%#"'&7632676;#".#"32767'#5!Û^ddkòŽúVZÒy'dRQ P•QQœ'!"øæe2—––•åelán„þã10YX¤¢² ¨ÝxY` !!!!!!xFUFþºþ«þº`þk•û Ïþ1^þWt$!!3+5$)3!5!&#"?676ÌþÛ%¨8tFZÒ½þÒ4þ×NþÑòi]kb)+VúÒ¦Sk ïáû]L@6hþVh` !! !7!hþÜþ þœ¨þ@D4d$þV'þƒ¢¾ýô`¬ëæ`!!!ìD·ý`üÃþÝFþVM'%#"325#476;#"!26&"µ*;9H¼ÌɶR<;&IH¨a6þßþ¹,+˜XX˜+ž[1/0411aˆúmlá76eùö}þ¼\\¸D¸\’?&327654'&#"67632;#!5+53lTÃN34Y¡HHFFDII£Ù¼wŒ[ª Ééþ¾ÖÚàrLG`Br+*#Ò…×ç‘^p¾¾Â’?&5&'&547632&'&#";3+!5#53#ª[Œw¼Ù£IIDFFHH¡Y43NÃTÚÖþ¾éÉ€p^‘ç×…Ò#þÖ+rB`GLrþ Â¾¾Â3ÿãž %(26&"73!!!+5#"'&7632ã !rBBr!Õ¯þŸaýéŸ,-=s?@A@w6++ÐRÏþ¼\\¸D¸\–SþLåý`Û¦a11šš˜˜/.™ý~‚þ@º 4>!#5#"76323!#"'&'32654'&+26&"Óêþ®¯Z>?=;9:7SX--Xeýô! rBBr ¼Áü{¦ab4˜˜/.]SþLåþ9 !qfÞst%)6jcf54åþ¼\\¸D¸\ÿµ9<%3276'&26&"73!367632+'47!+5#"'&7632ü±! rBBr Ô¯þžƒ 8/y’zþÒŸ-,=s@?@Aw6++ÏRÜ9Giþ¼\\¸D¸\–SþLåý`v[«þìþ½0@78¦a11šš˜˜/.™ý~‚Bÿãž/I&'&#"#"'&'#"'&5#533367632532654'&/&'&547#3b1455;2`-,DD‰<@?@”—56««°æ(G998þU:=<8>@R0e/.ß3=ÿ48H:'SU­VW"(PQÚá>þ½K3Zü…H7<98"%RQˆ0*ýîK !‰þXH&.35476;#"+532767#"'&5#53#3äæ23‰‰(17~½Œ;“—56««–æ3žþÂNÊNNá0Abáü¬+Úblá7.bPQÚá>ûCžýîK !Qÿs€ž3<G367632&'&#"763#"'"''47&'&'#"'&5#5332'&#"#;&54­æY›6222'.-2U]>e«½=x1$”—65¬¬"!XN2þæß3-žþÂÌ)#,þô7¶¨šGµéþ½r]G&A#(ÊPQÚá>ûJ9K,ýîK !ˆÆÇJþX‡3;>32+5327654'&"####535476;#"Ï®Z?`0176~H<^®Ï°££32‰‘Š(Âb¨]fikÐýTüklá77„z45GG~ýüáNÊNNá04ÿã?&'&#"#"'&'#"&5#5!;5327654'&/&'&54632o0545;€2`--DD‰=?@A¾}n²b;:x9> Q1d/.Œ999=ÿ48H:'SU­VW#)Øû`áû¿„77H7:98"%RQˆ¢´.ÿû£#5!;!5!!!5#"&à²b:€aþ­þŸaýÙ¯~nÓ`áû¿„77ŸÛåý`ÛØ9˜ 333# #333# #9ßxy¿yyÞ¼ûyxú½ßxy¿yyÞ¼ûyxúsþP°þT¬ý¯þQ þP°þT¬ý¯þQ±³ %#!#!#!#!­•þ‰•þ‰±Âþ>)„Âþ>)8þJš"332765!!#"'&54'&+5328""NO/,$þÜLJj PR**d&xÒZV^ýVy44GG|ùì\]33ijѹ:7álcQþV€)3327653;#"'&=#"'&54'&+532ë8>@$$åBPa£JHxUA@#!Pa¨HE^ýVyhGF}ûË„nálkü}]fijѹ:7áleIœˆ#4&#"#367632ˆº,23ºº00De443þi~D:'(Fþ™hþ­5;<Iœˆ#4&#"#476;#"67632ˆº,23º;9‡M@400Deh3þi~D:'(Fþ™a<=~>JL4v†jKû+532765#5!5#53Kt‡Ê–?¾z¼¼ox~JÝ~r¿Uœ|&'&#"#367632|)*1>*/ ¼¼99L, $"b !<>þßtb6 U|32767>53#5#"'&'U)*1>*/ ¼¼99L, $"J !<>!ýŒb6 ­Â"32767>53#;#"'&'=#"&'))2;-, ¼@N†:5rM&J!I #<>!ý8~=7{J6:œÉ "#327654'&'3276?3#!322:l0]èj! (I%$FG—þÄ寘()|)œ²7((?Y**tÞœó 333# #ÞœUN—LWœ‚²WV²þ=þÃáýŒFþº°Î+5326?33¤&45LšL96þïŤÅYY((}">!bþi—ÿÿôtfÉÿÿ°‡Lÿÿ°‡LÿÿßÂòÁšÚÚ÷2764'4#Ú7&&'&6vTSSTvt'&l&'šSTìTSÚÚ÷0"'&4763"÷vTSSTv6&'&&tšSTìTSš'&l&'Hœ‰327654'&#"567632#º6}1!!9g..--,/.iŠyLY;mÎ8@+'6%@ § vJyQ5þêHœ‰#&'&547632&'&#"3Îm;YLyŠi./,--..g9!!1}8þd5QyJv § @%6'+@ðîáf5@ ƒÔÌ91ôÌ290K° TK°T[X½ÿÀ@878Y3#'#ðñ²ÇƲfþˆááðîáf5@ ƒÔÌ91ô<Ì90K° TK°T[X½ÿÀ@878Y 373ðÿ²ÆÇ²ÿîxããþˆ çÈ@ÔÌ1@ÔÄ0#ǽýÕ+ÿÿ-X¤Š ÿ[Ȇ@ÔÌ1@ÔÄ0#ǽ†ýÕ+ÿÿ-þj¤ÿ&·›6`!!hÍ›ÍÍþeä|ýþ„›ä6`!hÍ›ä|ÿÿÚ&÷`cþLÿÿÚ&÷`dþL.ô¤j 533##5#5´ââ´à‰áá´áá´ˆÕJ‰!5!Jþ>ÂÕ´ÿÿ¸FŒÿÿß;ò1Lá… R@°° ] ]ÔìÔì1ÔìÔì0K° TK° T[X½ÿÀ@878YK° TX½ÿÀ@878Y4632#"&732654&#"L¦vw¦¦wv¦™M67MN66Mþv§§vv§§v7LM66MM¾þoj@  °] ÔÄìÔÄ1/ÔüÄ90!33267#"&546-5%=2&M(6_)r|7GF'1œ \V5m Å9Ñ@$  °°  ÔÌÔÌ99991ÔüÔì9999990K° TK° T[X½ÿÀ@878YK° TK° T[X½ÿÀ@878Y@M           &]'&'&#"#4632326=3#"&j7 +$%Œg^$H)>%$'Œg^$BT%>;ˆ”+?:ˆ”ÿÿ)î=f‘þÈ´ 2%7;!"'&7þÈrÇ&&iêþá¸NBýŽs½«°87´o[¦²»´ 5&73733254ØœþúþàªÜÎ}~Îþ´ztoîÖÙ‚‡¿ï2ººþS®FEE['œª#5!;#"'&å¾z4?–ʆ:;¢ä~ýžJ>~=<J‡..#"#"'&'532654'&/&'&547632V4p8?@‰6d20IH’ADDE>€.8(.Fhbà[sTr..> ˜‘ÿÿLá…u)î=f4@ƒÔÜÔ@o]Ì991ô<Ì20´55]3#3#Vçþð®“Ùø¤fþˆxþˆÿÿðîáfh îȪ#ȾªþD¼ÿÿíîåª'““þãŽî¢f###à£ø’×®þðfþˆxþˆxÿÿ¸ 'tØs¸F >32#."­œ­ c¦d ™™FJKE¿‡2¹@ÔÌ1ÔÌ0!3Ùþæ±Â‡2ßÂòÁ!525#àþîxxÁöþøzßÂòÁ#3$5òzyþîÁözöÕî;f!#!¡ÅfþˆÿÿNý¯ƒÿ'C‡øÁÿÿNý¯ƒÿ'vÿyøÁoüÙäÿ#5353#&¶¶¾¾ý½·ýÕØüÙMÿ33##Ù½··½ü·½·SC~n!5!#Áþ’+½±½ýÕ ã1532654&'3#"& CI'1œ \V5mR2&;1'M(7^)s{6ûþ ÖÿÁ "&463"3Ö\\%22%þ €¸„2%&2Vý‚ÿ53533W¶¾·ý½··½;üÙfþN#5!##ò·+·½ý½½·`üÙŒÿ #53533##¶¶¾··¾ý½··½·SþG~ÿ5!S+þG½½/þX/¨ %+53276=!/[ZÒy'b+)#+úmlá75†}§þV§¦ 75!;#"'&§#)+b'yÒZ[)}}†57álmßþ2òÿ(µÔÌ1ÔÌ0´00]!!ßþíØö-þ2¤ÿ(@ ÔÜÔÌ1Ô<Ì203#%3#¸ììþuììØöööþ DÿÁ µ ÔÌÌÌ1µ  ÔÌÌÌ0#"&546324&#"326D]\\]„3%%22%%3þæ\€€\\\$32%&23tþçÿ:@ÔÌ1ÔÌ0!#Í±ÂÆþÎoþo3!@  ° ]ÔìÔÄÄ1/ÖþÅ90!#"&'532654&'Ã97{0e5-T$:A*.>j/_[ œ.(R<ÿÿ’þo?vÔ ýjÇÿ&#ǽÚþD¼-ý°¤ÿ&#5##¤¼þ¼ÚþŠººvÐþÿ@#"'#"'&'3276732767y0@k>=k´. MPMGÀÐ@FF¿0:‰€‰mðþáÿ“@ ÔÌ91Ô<Ì90 373ðÿ²ÆÇ²ÿþxããþˆðþáÿ“@ ÔÌ91ÔÌ2903#'#ðñ²ÇƲmþˆááþ¸ÿ> @ ° ]]ÔìÔì1Ô<Ôì0332673#"& dSSc ­œ­ÂEKJF™™þ¸ÿ@ #."#>32¸ d¦c ­œ­þEKJF™™ þÅÿ7˜@$  °°  ÔÌÔÌ99991ÔüÔì9999990@M           &]'&'&#"#4632326=3#"&j7 +$%Œg^$H)>%$'Œg^$BþR%>;ˆ”+?:ˆ”-þj¤ÿ&µÔÌ1ÜÌ0!!-wý‰Ú¼ÿÿþÑþÛBÿÿþÑÿîÿÿXÏy+aÀ¶Æx5!À¶Â¶Ñx5!ѶÂÂÿ‹²Ó'¤‹‹uwÑyÿúÿÁÅ'œ¢)¢?räsûþ ÖÿÁ0526544û%22%\þ „2&%2„¸€-ýø¤ÿn3353.¼þ¼ýøvººþŠJüé‡ÿ&!5#‡ýÃ’çÚýÃ=þnççÐþÿ@67632632#&'"#&'"Ñy0@k=>k´. NONFþÐ@FF¿0:‰€‰ma§p· '7'77h††‚††)††††ÚÂøï!#532654'&/&'&5463#"¾$ ”ˆ9?, ”ˆ;? ×'RRz .!RSz#ÿÿ:Ñ &33þíÿÿßÂòÁ™ÿÿ¹;Ì1tÚÿâà $#&'& #&%6iôy ÆÌý§ËÆ z¾ 3O¬G$%%$G­N(ôtf3ôAÝntòþ¿þVÝH%#ÝAÝnHþòþVÿ¤ #"=3;³XÄ3þV·—™hÿÿsþá'ÿÿÕî fvÿÿ-; þ&j͘ÿÿÿ¯°f'ÍýÚØÿÿÁyÿÿþ¡Jf'ÍüÌÜÿÿþyHf'Íü¤Þÿÿþµ%f'ÍüààÿÿÿUÿãuf'Íý€æÿÿþÉf'Íü;ëÿÿÿ‚wf'Íý­ïÿÿ þ&ÿÎÿÿ!°Õ$ÿÿ}‡×%ÿÿ¶XÕJ!°Õ)! °ûq“i0ååÕû/Ãü=ÿÿ¨JÕ(ÿÿs‰Õ=ÿÿ‰HÕ+\ÿãuð3"326&! ! éþqhhqrhhý‚  þ÷þüþýþ÷‹þü\ñþóþôññ  ñþˆþxþþ‚þxˆÿÿ¬%Õ,ÿÿuÉÕ.!°Õ)!!HþÙ“i“þÙþßÕú+ÇÿÿV{Õ0ÿÿwXÕ1‰HÕ )!!!!!HüA¿üA¿ðþ!ßÍüÃÿÿ\ÿãuð2ÿÿ‰HÕVÿÿ¢{Õ3bxÕ !! !!óþoý>’þnÂûêëçþüþþþüÿÿZwÕ7ÿÿÉÕ<\uÕ&.67654'&'3!35&'&547675#!üQQ™[……\˜wýëw˜]„„\™wþb#QQ Uk‚?  HJlÓÒlKFþüFKlÒÓlJHþüý=·?‚kUÿÿ¶Õ;PÕ3!35&'&!!6765!üwýëw“b'@'@'‘a“þü„+…Ä~[þ¥úŠ#üì#Šú[þ¥þ‚Ä…+Zw´F@$ª¨ «   OON N ÔìÔìääÀÀ9991/<î2þî99073&5323!>54&#"!Zîxlëílxîþ)QNpgfqPRþ'Óm¿8nþ’þÈ¿þñmÓ Oê§ÖèèÖ¦íMþôÿÿ¬%k' ìuàÿÿÉk' ìuëÿÿ6ÿçŒf&÷Íÿÿ•ÿêf&ûÍÿÿ¬þV/f&ýÍÿÿ f&ÿÍÿÿL…þ& Î6ÿçŒy(7!;#"'&''&'&7676'&'"7A$ÁDRfŸQ1*5ʵjpq½ç$„A;::6GEôlý¿™¥áT =$,’œ9x™ýУ˜[[¨®RMBƒþVo!%!! 5456'&¦þݲE,§àþrºbbØþ躷EþÈþö‚Iþäþ8 °– ëÜ ß ½ã8þV`!!&'&+532îwó)þnþÜé*&*Pn]o(þvÂû þVªðH ëJYbÿão!%/&547632&'&'&#"32#"76"326&G‘~}àcTy `&ZQh:#£îþçîíþçŒ?;ixxijxx)?—‡NM ×",fþÃýâþÃ=¦Kš¹þ¶¹¹J¹ÿÿ•ÿêtþV##52764'&# !5!³3ŒT][TŽF!;ýªòþ)lýžþ× MXž“[TáL&ÙDááþ†¬þV/{!4&#"!!>32/þÝENO[þÝ#–jŸ¢×ûTziŽ~ý`¨]fÓaÿço(&'&"2767  G -<Ô<- -9Ú9- þ$þçÜwÂp––pÂá¹v––v¹ýR¯á¯þQýÓ`;#"'&5#5û%%T:NüZXÉ`ý J!!áPNÝáÿÿ®®`qP ! !'&'&+532âŸþ×àÿþ×›)''^p–¶_oÄû<ýq-wJëJXÿÿ®þT¤`w/x`67676'&'!!!@|8M6P3E.*ˆ±{þœþÏ2'Z|u4@—bY|rNįät`þV#$! %$47#5! #52764'&æý©sþÂÜ÷lýÓÈþ3S][TŽF!š0A*Rááû½ ß î«LXž“[TáL&ÿÿbÿão{RÿÙ¾`#3267#"&'.=!!#5ž¢1F",c7Orþîþã¢`áýë?¼ " VX#süá–þVw{  #"&'!&"2‰Ô×ÇZ6þܼl¾nn¾{þÌþèþäþÐ]^ý¸ÒSýD¸¸þ¼¸¨þV*}$%#52764'&# '&!2.#"íR^\SŽF";þÄw’&Z§S@™RšM?áLXž“[TáL&œ9*,þô7;¶¨©WGbÿã`#"476)327654'&¼³þçîíþçŒz(ýšC$€ÐþñþÃ=ý¦Žá8\¡¥¹]^£›r'ˆJ`!!;#"'&5!ˆÂþ±%%T:NüZXþ±`áýîK !áPNÝL…`!"'&5#5!327676'&'!ŸüZX¥ÉJ9g>  L#7&$€‚PNÝáý JB7Ùg¦‡LGއ†þØ©­AþVj!2!$76676'&&˜`rþkþÜþjsƒ+*‹Z6†j{•þÕþ4þVª@ïBsåSV}ïdˆâþöÒþxaò†M>HþV‰`'!&'&+532!;#"'&¦Càþ×z¶#%&OudgRPCá)þ…¶#%&PvgdSr’þ6”LëJ<²”ÌüùþmLëJ>EþV`%6!!$!!ûn$þnþÜþn$n$ád ýìýç3þVª@ ýóþÝO@ÿã’`3676!#"'#"'&7!2çH WlrU€¯11¯€UslW H™þ86*üýCqS³³Sq½üþÖýí6ÈÿÿÓ1&ÿjÿÿL…1& jÿÿbÿãof&ÍÿÿL…f& Íÿÿ@ÿã’f&Ípÿé$ # 76'&!"'&7607676‰"B ws6Fqüþåÿn †«Ýrþ¤þÌ96‡©$(š-k<`z°þÎþƒÁê°„tÀö þ˜ÖþÝ€~xŒ›iÿém$ $6'&'&'&%6#"'&3676g2DTšG§jå î´Ðˆ€ €‰ðÛžQ;^{/G™/z¥ ¥xGÙCcX‘×Êþþ}ÆÕÕ¾UèjNk¡"§Õ!4''&676'&­\+*þÙ*SJtxL—GkíeJœZ vV³ˆ¦¥Êýêçˆ "40þz7/cîTÿÿþ$§f'ÍüOÿÿ"§k& ìu:þV–'67!!&'&4%67654'&ÐW°$¡d––T±þÜ¢e–)FF6$&EEÜj#«þU mžþñóºi$þaŸ mžöE+_¢q!výŠ+\¥uŒ!³`#5!#'$'%!76''iK•J# ðþ×÷þÔ 9$G@F=#áá¢þõþ-ÇÇÓ ¢¦þô½þt¾ ¦4þ‘`/'5&'&7'&7676'&#"5677632y&ÍŸ¼2¿!Š–¨/6Š5F\8R~÷ Š‚•¨0=‰2C\ýágO\ç“ ð–20þÀR[ÁFk{Zs›Bà="î–20BPZÀPa|bl™\þVuð "326&!&'&! hqhhqrhh!þÜ›\„  …Yçñþóþôññ  ñûþ` *‡Ä~ˆþxþþ„ƇbþVo{ "326&!&'&32hixxijxx)þÜ‹^Œíî[¹þ¶¹¹J¹ühþaŸ#jž=þÃþñþô¡i`þ9Õ $2'527654'&#"76)!8àb^\TŽF!;üþŸ‰|Œþ‚èDRìfaª“\Tá&(%ŽxyǬþüj€ýüZþVt`""#52764'&# '&76)¬›AMM=nR^\SŽF";þèw’“xñM[¨¤\ILXž“[TáL&œœ€áÿÿ¶XÕ) þVî"%&7632.#"!!#"&'53676y~f¯s7+P'R4F7czcç<;ƒ¾Ûý7µÆêî´´œWþ “RS;õ ²¢þÂþ•þЇ4ÿù‘`+6'&#"56776327'&'&7'&765F\8R~ö!Š‚•¨0=‰2C\8R~ö!Š–¨/6ûs›Bà= ð–20BPZÀPa|bl™Bà= ð–20þÀR[ÁFk{–þKw{!3!! ! #"&'$&"2ººàþ þ"óÔ×ÇZ6˜l¾nn¾Ôáµ(SþÌþèþäþÐ]^ñD¸¸þ¼¸ÿÿ¨ÿã%}FÿÿþXRM\ÿãuð!3276!&'&#"! ! @þQ )4qr4(þ_§ 4rq4þ¸  þ÷þüþýþ÷‹È_xx]ΔKyyHþÈþxþþ‚þxˆ ÿã}$%# '&76!2&'&#"!!32767FYPgþý’’““ZTSS?MOPL.ýå7LXGIC9*œœ,þô6[5XÑfAZ;¨ÿã%}%7032767!5!&'&#"6763 !"'&¨CIGXM7ýå.LPOM?SSTZ““’‘þügPY9 ;ZAfÑX5[6 ,œþëþíœÿÿ¢{Õ ÿÿ–þVwÀÿÿ˜ÿã9ð&V{Õ !!###V`²±bþžë þÕþÙ'ú+¬þÛ%ûTVþV{ü !!!#!V{—–}þçƒë…þçüþÙ'üÓþÛ%ûƒ.þVw{%!!!5#53! #"&&"2º¹þGþÜhhóÔ×ÇZbl¾nn¾žþéÁppÁ¡SþÌþèþäþÐ]OD¸¸þ¼¸˜ÿã9ð703254#">3 !"&˜LL¢¥¥¢LLDœU.>þÂþÒUš+HFAüýAFH$$þrþ‡þˆþr$ÿÿ˜ÿã9ð'y¦0ÿÿ˜ÿã9ð&4yÿEÿÿ¨Jk&L ïuÿÿ¨Jk&L ìuÿÞþXž,%+532654'&/"!#5!!6?67632žµÐÚˆbR#`)GG" -þݾÄþ+/5—‚^)Q+ü×án„Íz3%  Dþ1CÑÑýþ0$ 5iÑÿÿ¶Xk&J íu˜ÿã9ð:@!p€op op nr! üì2Ìì21äôìôìîöîôì0%# !2.#"!!32679AšZþÒþÂ>.]™?6•`—•<ýÄ›•I”J+"&ŽxyŽ'!þ¸2Uå—þü—äCDÿÿÿãVð6ÿÿ¬%Õ,ÿÿ¬%k&= ìu´+K° SK°QZX»@ÿÀ88Y1ÿÿmÿãðÕ-ÿòÇÕ%3264&+#+532>!32#6%tt%ðˆ¾Í% rFhn þñlìaøaýZѰþ–þ+âúoÛå¬ý¼Üþ'ÜÇÕ%3264&+!#3!332#6%tt%ðþ¾ððBðn þñlìaøaýZ˜ýhÕýÇ9ý¼ÜíìÜÿÞž'!!670767632!4'&'0'"0!#"Äþ+/5—‚^)QþÝ#`)GG" -þݾÑýþ0$ 5iÑýÄøz3%  Dþ1CÿÿuÉk&Q íuÿÿwXk&O ïuÿÿµk&Z ô‰þ¾HÕ 3!!!!!‰'q'þ¢þýÕû/Ñú+þ¾Bÿÿ!°Õ$¢{Õ3@pp p d!   üì2ü<ì99991/ôììÔì0%32654&+!!3 )Éy‘uu‘yþÙ¢ý…n5þñþËþkøbyyb'þüþÕÜ÷÷Üÿÿ}‡×%¶XÕ@ pdüìì1/üì0!!ÝþÙ¢Ñû/Õþü(þ¾¨Õm@p dp  ÜÌìÔìÜìì1/Ì2ü<<ôì0° KTX¿ÿÀ@8788Y@  ]!32645!3#!#ö ý0d*P‰ÿý~ÿÑý `Íü3Uc5äû/ýºBþ¾ÿÿ¨JÕ( ÅÕu@   Ü<ü<À91@ Bd /<<ì2290KSX¶ ÉÉY@ I:I:I:I:I:I:· <<<<3! ##'# !ñðßþþúMðMúþþßÕýõ ý¡üеþœdµýçv_ýõÿÿ}ÿãLðwXÕ M@  %d && üìüì991/<ä2990@  ]KSXÉÉY"!!!Xþüþ^þÅ Õú+=ûÃÕûÃ=ÿÿwXk&O ôÿÿuÉÕ.HÕ1@ÜÌìÜì1@ ppd/<ôìì0@ ]+3267!! ¾Í\ _c fþÙѰþ–þ+â aoM¬ú+ÑÿÿV{Õ0ÿÿ‰HÕ+ÿÿ\ÿãuð2‰HÕ@pd"üìüì1/<ôì0!!!!‰¿þÙþþÙÕú+Ñû/ÿÿ¢{Õ3ÿÿ˜ÿã9ð&ÿÿZwÕ7µÕ+326?!!×>£uÈP:a(7þ1<û1/š•j‘¸ý”l#¸Õ|@:  :: Ô<<Ôìü<<Ôì1@p dp/Ü<ì2ôÜ<ì20° KT°KT[°KT[°KT[°KT[X¿! ÿÀ @878Y@ 00 0 ???]!5&5475!!>54&'îÐûûÐÿÏüüÏÿsZUxÿsZVw„sîñsffþñðþ„pÒÞÑ…Ûÿÿ¶Õ;Pþ¾˜Õ G@ pd " ôìÜìÜì1/ä2ì2Ì0° KT°KT[X¿ @ ÿÀ878Y3!!!3!P'q'‰þÛÕû/Ñû/ýºBeg"@p d  Üìôì21/ä2Ôì90!#"&5!3265gþÝ%© Â¯#|G—bùìþVIÑÓþ3‹Vƒ‡¤N‚Ö ˆ@ dp:= : =: Ôìüìüì1/ì2ô<<0° KTX½ @ ÿÀ848µ ¹@8Y° KT°KT[°KT[°KT[X½ ÿÀ @848Y@ ////])33333‚ûÌð²ð²ðÖû.Ñû.ÒNþ¾ÄÕw@ d p:=: : =:ÔìüìÜìôì1/Ìü<<ô<<0° KTX½@ÿÀ848· ¹@8Y@   //// ])333333#Ôüzð²ð²ðBðÕû0Ïû0Ðû0ýº—Õ%32654&+#5!3 !5)šttš)þÙú!5þñþËìav‚aýZÑý¼ÜòçÜ(©Õ%32654&+!3 )!'šttšÿÿ  þñþ÷yÿìav‚aýZÕý¼ÜòçÜÕú+|UÕ,@p p d  !  üì2üì99991/äìÔì0%32654&+!3 !£yšttšyþÙ'n5þñþËìav‚aýZÕý¼Üòçܘÿã9ð!"63 !"'3 !ÿ(þíš’‡®.>þÂþÒ¨’›(ýâk|‡HHþrýþqHH‡{ÿãÉð&9@p"np r%p€d:$ :$%:'Ôü<ÜÅ9íí1/äôìôìô99ì0"36766'&!367632#"'&#2:**),4"(,"üš'shdºÞWgwo°ºeloçy™ìþû€xwx ëšyûÕýºÑÌÄÄÚþ—þÒÄÄÂ"ýuSˆÕA@ ! ÔÔìôì291@ B ppd /<ôìÔì90KSXµ  ÉÉY;#" .54$)!#Âtn½½ntþ‘FK½ÜþÙ¢þÕm_—^û„#˱æÌú+Ný²ÿÿ^ÿãT{DAÿãoK ,5@* .$)-ü2ìüìÔÄì1@ 'h!h ‰r-äôìÜìî0632#"4/&4767676%6"32654&¡n&0þÞu6¤€¾îþçîíþç$Z¨yU3þêixxijxxKÔ #oœfþÃþñþñþÃ=4 §“J•I¶X@ ýR¹¥¥¹¹¥¥¹wZ` ,@ hh  !Üì2ÔìÔì1/ìôìÔì9032654&#32654&#%!2#!›§}vv}§œŠNNŠþ@ÔüâSNdnéõýûßþü=FF;¦Ë0119Û¡Sl‘j¤Þý`@ ÜìÌ1/ôì0!!þÝ…ü{`Û?þâ`l@     ÜÌìÔìÜìì1/Ì2ü<<ôì0@  ]°KTX¿ÿÀ@878Y!265!3#!#ö(ýŒ5O{ÛýXÛ…þF’^ªýVUƒ­ü{þþâùÿÿ\ÿã}{HÄ`u@   Ü<ü<À91@ B /<<ì2290KSX¶ ÉÉY@ I:I:I:I:I:I:· <<<<3!##'#!ñðÊúþÿœHðHœÿþúÊ`þ©WþVýJ«zþÏ1zþU¶ªþ©™ÿê7{&>@ $ 'ÜÄÄÔìÔì1@‹yh!‰' ‹ y hr'ôüüìÔì9ôüýî0#"&'532654&+532654!"5>32YOþÄÞsœucŸ{rŠ F£‰T‘þÿžšU¦¥œs=•w™˜,ì1(TT5Û6E|4ßž™}q˜C` ]@  74 üì2ôì21@% /<ô<990° KTXA @ÿÀ88YKSX@ ÉÉY!!!CþÝþ›þÝ#e`û Ëý5`ý5Ëÿÿ˜CF&oŒÿÿ®®`úEi`/@ ÜÌìÔì1@h/<ìôì0@ ]+532>5!!; ¥Ù_ dPQþÝ…ÅPïäðIü‡¤û …Vz` ‚@  !  ÜìÜì91@  /<ä2Ä90@  %KSXÉÉÉÉY"K° TX» ÀÀ88Y° KTX½ @ ÿÀ848Y!!# ##V`²²`ð¬è®ð`ýqû 7ýsüɬ/` %@  74 üì2ôì21/<ä2Ôì0!!!!!/þÝþÃþÝ#=`û ýø`þƒ}ÿÿbÿão{R¬/`@74üìôì1/<ôì0!!!/þÝþÃþÝ`û …ü{`ÿÿ–þVw{Sÿÿ¨ÿã%}F¤/`@ ÜÌüÌ1/ôì20!!!5/þÌþÝþÌ`Ûü{…Ûÿÿ;þX˜`\OþV‚>@ : :: ÔüÜ<<ü<<Üü1@t h ‰hr‘ ìô<ì2ô<ì2ì0&733>54&'ð”þô ”ð– þô–ðFjjFðHjjHþV..™þgþÒþñþñþÒþs7£ªª££ªª£ÿÿ7š`[aþâ€` %@    7 ÔìôìÜì1/ä2ì2Ì0%#!!!!€Ûü¼#=#Ûþ`ü{…ü{Š$a!@  7 4üìôì21/ä2Ôì0;!!#"&5!µ\†k"þÞ¾Äö+[;èûŸ Ÿî3N‚` ˆ@ := : =: Ôìüìüì1/ì2ô<<0° KTX½ @ ÿÀ848µ ¹@8Y° KT°KT[°KT[°KT[X½ ÿÀ @848Y@ ////])33333‚ûÌð²ð²ð`ü{…ü{…:þâÄ`w@  :=: : =:ÔìüìÜìôì1/Ìü<<ô<<0° KTX½@ÿÀ848· ¹@8Y@   //// ])333333#éüQð²ð²ðVÛ`ü{…ü{…ü{þ(Œ`3264&#'32#!#5!FInjjnIÔóóÔþ^ûßþü=Œ;Û¬þ ®á±`3264&#32#!!B2jj2ÔóóÔþÈm%ßþü=Œ;þZ¬þ ®`û `û ‰$`$@h h 7 4üì2ô9ì1/äìÔì032654&#32#!¬{njjn{±ÔóóÔþ,ßþü=FF;þZ¬°°®`¨ÿã%{"'3 7!5!&#"63 þÅ‘…™.þ#Ø5é§„œ¸$þÝV uùÛèr TþÉýØþÇ8ÿãŒ{ 2@h‰hr  ::: !Ôü2Ü9ìÔì1/äÔìôìôì0"32654&33676#"'&'# ,^c+8T\üüðk"Bn§‰÷þ‚©mVfœÂ½¡«³Â›üt`þQ×[šþÚþÜþÚþÚ”uôþ `T`@@  ÜÔìÔì291@ B  /<ôìÔì90KSXµ  ÉÉY;#" .546)!#ÆnP­­Pnþš)+²î¨þÝyþû F=<ü¯èŠ Ÿ™û ­þSÿÿ\ÿã}f&lC'ÿÿ\ÿã}1&lj'þXw53!!!>325654&#"!«#µþK–…Ëßþ˜¦~R[i\þÝá´þLáþÙ]fÓþßþõþn2áƬgŠ€þßÿÿÞ f&jv¨ÿã%}<@"Ž ‹yh ‹ yh ‰r 75üì2ü2Ä1äôìôìîöîôì0%# !2.#"!!3267%JªbþýþÜ&Z§S@™R|œþ_„U”B9++89*,þô7;“UÑgš9:ÿÿ¬ÿã+{VÿÿLÿÿ1&ójÿÿþXRMË` 3264&##+532>5!32+.2jj2þÿv ¥Ù, dPV ŸóóŸûßþü=Œ;¦ÅPïäðIü‡¤þZ¬þ ®#Ë`3264&#!#3!332#.2jj2þÿþÕðð+ð ŸóóŸßþü=Œ;þ!ýø`þƒ}þZ¬þ ®B53!!!>32!4&"!«#µþK–jŸ¢þÝEœ\þÝá´þLáþÙ]fÓÑþ‰JyhŠ€þßÿÿ®®f&qvÿÿ˜Cf&oC'ÿÿ;þX˜F&zŒ«þâ/` !!!!#!«#>#þ¬Üþ¬`ü{…û þâ—Õ%32654&+535!!!3 )5)šttš)ýßú'Cþ½5þñþËþ»ìav‚a¾Ñ  ÑÓÜòçÜd(Œ32#!#53!!!3264&#FÔóóÔþ^ûû#’þnInjjnº¬þ ®¶á}þƒáþ)þü=Œ;ÿÿ\ÿãuðaÿÿbÿão{¶X@pdüìüÌ1/üüÌ0!!!ÝþÙžÑû/Õ2ýÊÞýš@ ÜìÜÌ1/ôìÌ0!!3þÝNÑ…ü{`:ýë/XÕ !#53!!!ÝþÙ‡‡¢ý…©˜ýh˜ðMþüþ·ð\ý` !#53!!!þÝ‚‚þhÊþ6ÊÛ»ÛàÛ¶þX‡Õ!2+532654'&+!!!Ý5~d+QµÔÚˆbR#XéþÙ¢ý…¸5iÑþü×án„¥z31ýRÕþüÞþX/`32+53276=4'&+!!!íŸQQY[ÐÃqb)("%LxþÝþ…ihÓ¶ýjlá77„‰|14þk`Ñ þ¾ÅÕ3 !3!3###' þþßðßþþ¶Lð MðMv_ýõ ýõ ý¡ýŽýºBµþœdµýçþâÇ`3!3!3###'þúÊðÊú®SÛ'œHðHœ¶ªþ©Wþ©WþVþ%þ«zþÏ1zþUÿÿ}þoLð&­ÊNÿÿ™þo7{&­ºnuþ¾ÉÕ3!#!!!=ŒþÛ#þžƒþÙ'ÎNþ)ýºB ¦þÕý²Ný´®þâ®`%3!#!!!)…þß#þÍdþÛ%`cþXÑþ `þT`þƒ}þ^%þ¾ÑÕ!#!!!!!3!¬ïþþÙ'q'íþÛ˜ýhÕýÇ9û/ýºþâÀ`)!!!!!!!ŸþÝþÃþÝ#=#!þßýî`þƒ}üqþN½Õ 33!!!#!Nð;Dþ¬ðþÅÕý¾B÷û"£ý]N¹` 33!!!#!NðC8þ¸ðþ½`þz†Òürýøÿÿ˜þo9ð&­uXÿÿ¨þo%}&­HxZþ¾wÕ )!!!!!üþÙþ…þ…%þÛÓþþü1ýº¤þâ/` )!5!!!!ûþÝþÌ‹þÌ!þßÑÑýBþÿÿÉÕ<9þV—`!!!94ûû4þbþÞ`ý)×û¿þ7ÉÉÕ! !3#!#35>"#>þ3ððþÙððÕý¨Xüw@þüþø@9þV—`!!3#!5#53594ûû4þbÈÈþÞÈÈ`ý)×û¿>Û°°Û>þ¾¶Õ!# ! ! ! ¶þÛ þãþäþ϶þV11þXýºBîþößþ%Ûý!þ7þâš`%3!# ! !!“þß5ÜÛþªžþƒVº»Vþ‡Ñþyþ‡Hþ²Nýèeg!3!670767072!4'&'&#"e#*/7”9‚^)QþÝ#`GG.-ýf2$ 5iÑý‹1z3% C€ýøÿÿ¬/Kÿÿ¬%Õ,ÿÿ Åk&M ôÿÿÄF&mŒuþX¸Õ !!!2+5327654'&#/“þÙ'ÎNþOUW.QZ[ÔÚˆe&)#1F®´þÕý²Nýã5oËþøolá77„¥~/1®þX–`!!!32+53276=4'&#ÓþÛ%`cþ ŸQQY[ÐÃqb)("%L•þk`þƒ}þ%ihÓ¶ýjlá77„‰|14‰þXHÕ%+53265!!!!!H\[ÒÚˆbRþþÙ'q'+ùnlán„mýhÕýÇ9¬þX/`%+53265!!!!!/Y[ÑÃqbRþÃþÝ#=#+ýjlán„çýî`þƒ}eþ¾g#"'&'&5!3276765!!!D+/5–9‚^)Q##`GG.-#þÝþÛú0$ 5iÑþ3z3% C€¤ùìþ¾FŠþâ$a%5#"'&'&5!;!!!k皈+# 7sk"þÞþßÑÏe[Ê3þ¯=! 'èûŸþâ!¨þÛùìÿÿ!°k&G ôÿÿ^ÿãTF&gŒÿÿ!°k&G ìu ´  +@ € p? 0/   ]1ÿÿ^ÿãT1&jgÿÿœÕˆÿÿÿã¤{¨ÿÿ¨Jk&L ôÿÿ\ÿã}F&lŒÿÿ\ÿãuðQÿÿ\ÿã}{ÿÿÿ\ÿãuk' ìuÉÿÿ\ÿã}&jèÊÿÿ Åk' ìÿøuMÿÿÄ&jÿèmÿÿ}ÿãLk' ìÿìuNÿÿ™ÿê7&jôènÿÿ ÿäÇÕyÿÿnþHc`8ÿÿwXN& ùOÿÿ˜C&ŠoÿÿwXk' ìuOÿÿ˜C&ojèÿÿ\ÿãuk&U ìu´ +1ÿÿbÿão&jèu´ +1ÿÿ\ÿãuð+ÿÿbÿão{ÿÿ\ÿãuk' ìuÙÿÿbÿão&jèÚÿÿ˜ÿã9k' ìÿÎudÿÿ¨ÿã%&jÌè„ÿÿµN& ùZÿÿ;þX˜&Šzÿÿµk' ìuZÿÿ;þX˜&jèzÿÿµk&Z öÿÿ;þX˜f&z‘ÿÿegk' ìu^ÿÿŠ$&jè~¶þ¾XÕ )!!!!ÝþÙ¢ý…%þÛÕþüü3ýºÞþâý` )!!!!þÝþ!þß`ÑýBþÿÿ(©k' ì(ubÿÿ±&jè‚ÿÿ}ÿãLðRÿÿ•ÿêtûÿÿ\þçuð4ÿÿZþV;{TÿÿÑÕ:ÿÿÑ`ZGÿÀŠÕ%!327.'7>5!.'#".G'qf 4².'7©%F"k¤†Á|;'®üp(L" 9øüRZ•< þù+2CÛboò!54&"!!!4> ^þÙqÌqæýþÙ;|Á Á|;®Cppþªþüþb®™ÛCCÛ!¯ò!#!#".> 4&";¯’þÙç‚»x9;|Á Á|;þÙqÌq8O3×¢þüþbžGÐΉECÛ™þôVpp`8[@#!¯ò4> 3#!4&"!!;|Á Á|;’’þÙqÌqþÙ®™ÛCCÛ™þôþüþbøppbÿã|Õ .5!!!26=!^;|ÁþôÁ|;'óý qÌq''™ÛCCÛ™®þ‹þüþppMƒò"3!>54&#"!5!2!k'Q¢€Psy:[?!þÙ †Ê‡C$P‚^KG^¨è‹µ´%NyT<1@W£ì”E®°4þüpaÕ 3!!!!p'Êý6?Õþ‹þüý¨þüboò!54&"!!4> ^þÙqÌqæûó;|Á Á|;®Cppý þü®™ÛCCÛ+ÿã¦ò(53#".4>;54."#4> 32>=#"OWW3^…¤ƒ[01\‚QkBj˜iBþA„Ç Ç„AþA;( k?=®CþüÊk¥p:2k¨ê®s8CiF%%FiCü®™ÛCCÛýViZ/J5Ê`!ÿã¯Õ!!3# .>;"265ö'’’;|ÁþôÁ|;9x»‚ç×3O8qÌqÕþbþüþô™ÛCE‰ÎÐGþü#@[8`ppVjfÕ!54&#"!!>32fþÙqfdpþÙ'.j?†Á|;1CpykýzÕþpCÛ™7Õ3!!™'wÕû/þüNÿåƒÕ2>53#".5##3Ë $0! þK†jkˆOþþ`ý58K..K8Ëý_|³t77t³|±üÕþ‹#ÿã­ð+<33>32.#"#".5467#2>54.'#í.6~šQ*`XGKX^,0W(y¾ƒD8X}£g›Ò€8*(†f 1aªc4W¡‚*,Õõ?eF&  þÃ4&dÖˆW ŒsS-]¦æ‰oÍ^þf_‹[,0^‹\Z‘g<TÎjfÕ!#".5!3267fþÙ.k>†Á|;'qfcq`û CÛ™1ý…pxl@ÿµ‘Õ%.5467>7!#züÏ5`I+qvaTóaÍ»˜-#ìþÉF4@M/B¬dRžODþ\/oqh( -GÿÀŠò <%267.#".'#".54>32>54."!54>2¶1X0/\."('êXH1V&å ? R¹eO‚]33]‚OX¨O!)!>WlZA$þÙU“ÅÞÄ’Uâ /#()H)“›þäv8z@–0Y)KB*RyPO}V-;5N´ck‘X% Q‰h¯í’?C–ó!¯ò4> 3!4&"!!;|Á Á|;’þGqÌqþÙ®™ÛCCÛ™ýVþüøppG‰î&>3"!".5467>7 3!¨ ?…šT&Xi}KªüøCqS.TQ'N)þÓ‰;5B;,ûÕþéEpP+þ÷?s_ýÚAeHNìˆB}< ü…aŒ(#´2!ÿã¯Õ!# .5!265ö¹’;|ÁþôÁ|;'qÌqÕþüýV™ÛCCÛ™®üpp2ÿãžî8#".=!32>54&#!!2>54&"!4>2ž>ÇŠ€Å…E*:U8?X7wpý¥[0C*[ªXþÖD|®Ò®}FRH5O4Æb°„ML€©\ )L:#$=S0_q1@#TOTUcžm:;nš_m&I^m!ÿã¯Õ .5#!26=!¯;|ÁþôÁ|;’¹qÌq''™ÛCCÛ™ªüppKÿå…Õ32>=!".54>7.+32%.#" =Wl[@$'R‘ÆæÆ’SBfx6:90 ]¥BIJ!øþÕ %&8\C%^gŒV%#T‹h®ñ”BF—ñ«|Η]    ÓþÉ~ Jªjfò!4&"!4> fþÙqÌqþÙ;|Á Á|;®üRøppü®™ÛCCÛMÿ°ƒò$.#"!5!232>Tot:[?!þÙ „ɈE<\o2“üÉ%L&8]C%§¡Ÿ%NyT<1@SžâƒÒ›eBþÍY6| Q‹»4î##54>32#4&'çþbUþ@ˆÖ–¡Ùƒ8þX`ºA¦xh„ÝžXXžÝ„üi§œªHˆîA2>54."267>54&#".54>32!!!ä>nS04\”c;.'3X( SL]€S-4Uy¢hœÐ}4*T€Vü%'Y%Ea<  'XWQ!F†g?7Sc,*!ý¬!)J!FS 7GNN#9~znT1e«äTµ©’2þûK!¯ò3#!4&"!4> ’’þÙqÌqþÙ;|Á Á|;®þôþüþbøppü®™ÛCCÛjÿãfÕ!265! .j'qÌq';|ÁþôÁ|;'®üppøüR™ÛCCÛ!¯Õ3!#".=!3267’þG.k>†Á|;'qfcqÕû/þüCÛ™Cpxl†iÿãgð?32>54'.54>32!4.#"#".5œ&=O*&F6!?ax|v[8*Fg‹Z‚»y:þÔ&9F >1;a||a;A~¹w{ĈH¿K\1*G8.?2,5Dc‡^+`]VA&@n‘Q3=! $;-4H7.6Gg‘e`¥yDE}¯kjfò!54&"!4> fþÙqÌqþÙ;|Á Á|;®Cppü®™ÛCCÛ2ÿåžîG"32>54.2#".=!32>54.#!3.54>Ž3D''D40C)(C4p¯z@KO:P2>ÇŠ€Å…E*:U8?X7:V8ý¤¶@y°ï/="#>//>#">.ÿ=pœ_^”(Sah.b°„ML€©\ )L:#$=S0*K8!*Y)^o>paÕ3!!!p'Êý6Õþ‹þüü¤±Õ -!>54.'.>75!#çIR) )RHÿIS( (SIÿ‡±g)*g°‡ÿ‡±i**i±‡ÿw+ZŽde“b23a“edŽZ+ü]£âÜœVzzVœÜþêã¤]‰3žî.4> #"&'!!!5#"32>54.Å9w¹»z;;z»€+f1ýcþÙ’µtK+.L98I,,žƒd©{EG|©cdª|FâþüššQ6L./M86N0.M7ÿÿ\ÿãuð2ÿã±Õ -7%>4.'#.54>;#".53"3æIS( (SIÿµ¿)\–nꇱi*,Pƒ¼‚»O,û )RH$. .$Õ,V€°zN% ’‘NrK$þ‰MË‚W›ƒiJ''Jiƒ›WWV, " ÿÿÚÚ÷dšI6×!#ý9ÄØc×þñþî¿f !¿þþÂfþˆxˆñH%#>7>73)P—vHü1WxHS‰b9ûBn™#2(L`?"+9'A~lPî¿f !¤þÂþfþˆxC¹@)#>32#".'332>54.#"Â7\{žQg¤s=*SzP1bS:¥6& ":K)S“sIñY„gH&7`‚K8hR19^F %"0 7`ƒ¼ñ3!¼ŒÌñ#©zPÿå`+%#"'&32>532>53#5#".!!eK‘78ð !2" í "2! ðÕmE!@4%pHCde;wý1@Q//Q>Ïý1>Q//Q@Ïû tBM%3•þV<{%!!!>32!54&#"<ý|þÝ#–j ¡þÝENO[ááþV ¨^eÑÓþëèziþ`AþV{(%#!#".54>325!32>4.#"mþÜl³dši76h–`Ê_$ýD4K0/L55L/0K4ááþVH»M–ÛŽ‹Û—Oèü¡¢€Z/0Y€¢€Y0/ZgþVj{%#!4&#"!!>32j€þÝENO[þÝ#–j ¡ááþVTziý`¨^eÑÓþ ÿãB!26=!!5#"&5!BýrDžY%þÛ”j¡¢%`áþ5yh‹óý0¦^eÓÑþLAþV{&!#".54>325!32>4.#"þol³dši76h–`Ê_$ýD4K0/L55L/0K4ÉáH»M–ÛŽ‹Û—Oèú×K¢€Z/0Y€¢€Y0/Z´ )!!!!Çüí%Cý½îþLáýb•þV<{!!>32!4&#"<üY#–j ¡þÝENO[Éá ¨^eÑÓý)ªziü¶6þVš{+<4.#"!!>323##".54>332>=#"(1_Q'PA(þÝ#G^l5O™vIEMQm€>HsR,5Wq<"5&#(f2(/=}d@%Ec?ûÕ ¨.I2:ˆâ¨ƒ«f)'JiANsK%þÏ5)BkM)=Aÿã&#"2>5#".4>;!3þÍ9N00NrO0$3PnY†¼w77x¼…Í$m/W~œ€[14\KRþ®M’‚mP,a¢ÔæÌšZ´þLá§þV*!4&#"!!>32*þÝENO[þÝ#–j ¡×ý)ªziûÕ¾ý¤^eÑHþV‰`!!‰ý¿#Éá ú×OþV3#3>322>53#5#".54."<íí &/6551& "2! ðÕmE451& "2" þV¾ýü'7_ŽdþÂ>Q//Q@Ïû tBM7_Žd>>Q/.Q@bÿão,!##".54>72>54./#"º÷ÚaéQ[-9D„Á~}Á„D"GnM7UtV7)<'*ms¼X‰›áG«^ƒØ›VV›ØƒZŸ…e ýýP€[16^I>`L<¯¦þV+!265!!#"&¦%DžY%þÛ”j¡¢‡û yh‹ƒùöP^eÓÿÿ¨+Kü™ÿã7.@!5#".4>7.546?!3:7672>=4.'7þÛ5I[5a…R$.X€QLPýø¦,G4Ev°¹¸²R&%0K]-V3lcRdögþVj{!4&#"!!>32jþ]ENO[þÝ#–j ¡ÉáTziý`¨^eÑÓü`ŠÿãFí*=!5#".5467#53>32.#"326=4.'FþÛ”j^„T&'$iÍ2}’¦\ "$! +% )KD<f©yCýŠ$&#OY#CdA##Kýµ¦^eLª]uæmáX’i: ø 0C(c‹©»E_>#‹ %SI6hÒÿÿ¦ÿã+`XþXÊ`%#!532>5!Ê,^”iþÄê1E+%+~²p3á9]B5gÿåj#5!3265!!5#"&瀣ENO[#þÝ–j ¡‰ªáû¢ziû ¨^eÑžþV3y323!!".54>7>54.#"'>Ul°~D'Aa„V_Qý|0P; 1Rm ÿÿ¨+{QüâþVï¢-!".54>7.546?32673ïýÀ*J8!2EPY.1\G+39x¼B#/?9#T2cF~kW=!Éá;U53y„ˆƒz2)E_:?ƒ:{¬@"G1?°8…ƒxf$*#PþV`+#".'#"'&32>532>53‘_6!@4%!eK‘78ð !2" í "2! ðþVÿ6:%3HCde;wý1@Q//Q>Ïý1>Q//Q@ÏùöŠþVGy,D3!!".54>7>54.54>32%">54.G9n¡i)C/&ý|1P: -=$!)>H>)Mƒ®ah°GþF<(','O_2/HÚ`ž™¢c'G=1á"9J'$RVT$!G&1J??OfGS’l?7j›X/>")@5/18#(1RsZM,%G7"u\{&"!!>32!!5>54.B-@)þÝ# 4I^7\†X*5F'ýý+<&*F+H`5ý{`¨*G5Fu—RPl+á¯0enzF8gN.ÿÿ¦ÿã+`XaþVp!#"&5!265!pþQ”j¡¢%DžY%ÉáP^eÓÑÙýTyh‹7ù#Qÿå{+!#4.#"#5#"&5332>73>32í "  ÕmE€oí "! ÕmEpÏ>Q/)H8ýtBMÓÙÏý1>Q/)G8ètBMÓÙ§þV*{!4&#"!!>32*þÝENO[þÝ#–j ¡×ý)ªziûÕ ¨^eÑÿÿuþX[}J¼`%!!ü¨%áá`üQþV+!#4.#"##"&5332>53>32í "ða5€oí " ðb6pÏ>Q/.Q@û‡D?ÓÙÏý1>Q/)G8œýãACÓÙAþV{*%!!!5#53!632#"4."2>Ó—ýiþÜnn$\Í`–h67išd³,4K`L55L`K4žþÝáDDáå¨ÃO—Û‹Û–Ný¢€Z/0Y€¢€Y0/Zÿÿbÿão{R*þV¦#)4#.'7".4>;"34.'>¦-h«ðBƒyh'º @CH(]c34iœiÑ~«i-ýQLGHKº.N;9N/A|Θ[þY§'?V4À5I/2Zš~Z2þFNˆÂr.x)ýá?fI-ý… ;[w.ÿã£%!5#"&5!265!£ýë”j¡¢%DžY%áá¦^eÓÑû yh‹ƒüÂ'!!!!ÂMþ³Mþ³'þ“þµþ‘-€¤ß%'-/HžþÅžߎŽþÝ;<;ÿÙ m$/#4''3767653653#"''##53³+²#*L¥&  š %™,s‚$ŠÛ»þ44؃ª`Opþ¶•Ô¦R3&#]|0qÂ<* üS3ýÐúÜE{;ÿÙ m*532767#"'&54767&'&5476'##53ÀB4V53Y31*"@GC1.N@?‡G?2,2&!e*Û»þ44؃ª`m|&z-,#-/ F?n=@;#þåv{ =TBV\ƒL¥¼98þôFGDC+P=YNŒcš -Þ%57&'&54767632&767²Îh8@}S‚nZdFG+”9:H:ZÍçê?LWaKaKQ6è&Xs%#ó4FD7ßCAƒŸÒRX£LÇÚ%5,iG—ƒec5ã0$ $*  êá,$ QB]WE‹fnfÄ`-S‘m‡\daçÙ‘Ö”w<$6!`‡]]T'ÿÿþãþÀ˜&c ÿè· µ %327654'&#"!#53!632YM,>5M(N365þŽ‹%65!"'&'&7!3276M 20šyæülÅ$.0`UZkFOIiøjû–þï·¯\HK‰éŠ\ssj1+-3<þ€Û,276'&'&'&#"&!4763&547632Œp1& 04¢Y2þçxAw~M©`bº|_ƒ‰'7&':ÿ&4OþìÇf7*—g?'H¯-8¬XDÿÿþµ°·&  ÿÆÖ°ÿÆ%Þ"327654'&'2'"'&5476).N(@A5/Vø¶“”ÇŽQ§%Tç=1V9>( <6-T÷ |”ÈPQ#Jï²Q¹Lþ “¤ &"34'&!5 767"'&'&547632û6LG( $L:0 ,*FŸ94D\0('3g' m8h"(uA~b7S:(0ý¤ ÿø5%5%0pýpþ¢ª¬ªþVª¬ª0€ Ö5%0p€ª¬ª*¤¦%654#"&'&547633"'&'5676Î &$ 50?4M_/?%M(=”ÿtVF,*#$!4D\0(%3g 1+k— 0þ¢ ÿø5%0pþ¢ª¬ªþºÓô(#'&54737676537654'3'&x=Es7"“ ,$“ 4G š +ˆ@&#^2$NQ2omb}8>#&!“RY$6¶ž€,It†5\ ;Æ•! 4&"2>"&462âFhEEhF³­ý°°ýô2GF34FG²ý°°ý®à¤ðò732767#"'&'àÀ>|*631„N:ŠB6^f:Ælq=& )LÈ0-Avÿÿ±–Žÿÿ±ý§ÿ Žøž8î˜4373ûÃÒ^^ÒÄîFþºÄ„û!!ÄJþ¶ûþ‰ldx )!dþä&.ˆ.l> ‰1‚<üþ>à}‚x!'!767!!"* þä%IiB=‡t/)uþØt†_pþÕþtþ¹mT›TP€fþä>ªx%!!7676537653#"'æ Dþæ7Cx<,2ô/<ò F·Ï(9y-Çý³8 {Ê)“[D >2¦Þ%,*Êþ¥1lL6 ¬ÿìäx*32767#"'&54767&'&5476`iSˆT0PQNB6fpkMH|eeÖpdOFO=4à xÜ!6E'5 Ú PN>Q!S#!'ÿ%}pÅmrh/>5l¯wUfÿÓlx "27654'&' '&47hPš5<ô<6RNLZt’þ’rZ–ŠþŒð·Q[[Q·ê¿»îþˆëîþ܆©©„&õäzBx!'# '53 ñJTþä[1½þö§´ý0xþ¢ýNþ˜|EeF2î2Zzx!!6767!êYm±,fJ Nc/®n?5&<—æúeNRaýãþ{þoçþ…Zzx!&'&'!6êZl°þÕfKMcþЯo>4xþÚþÄþ‚þhæúfNSaüä†ç{z|x&'&'&7676!&'&#"ЈZÊDgvi¶\6/1vþÇIF1>3#""@:Œ#Gl˜›ocyGþ¥þ—þ O%²(H'%s'ˆJ 3#3#!!@úúýVúú” ý^þà,þÔþÔ,úìþ÷Ë6767654'3³is$æKp˜mõ\erPO``NoÔv°_E9¸â!# ¨ºVéþ·I’Î@L !!%’goqgþÝpþÛþÝo÷Uþ«Ôþ«ÓÓU± 57&'&54767632&#"7»T "$C5H@&_ Šÿÿÿÿ–ÿ|ÑH&    ÿ†]l-%2767654/&'&54767#"'$47!&xH^'45œ!"1K7þ†9 ~xhWohúplþ¶,&y1l".BX6]EÊ+//193J<Èþ¼þÂ01) ˜|Þn]30 b,¦@^ˆn@ÿÿ ÿ†_í' ¨œÿ¡ÿ©Ñü)7G%63&'&54767&'5#"'&'#"'&547!%27654'&'67654'&#"9"*%D(3éì?=bÒf^E=SŽãP8C!N'-_"ªxƒ>fy(&547632&'327#"'!! x\‰úéààæý$…J£þÜk—¹ÇÜ –þjþòÌܤ£Öúx3767&'&547676&'&327ÖŠ†04†trÜzV`jXX>+a­?ðþê,ÒVv)k™›rm!ÜRA@!ôJþYÃÿÿZzx‡ÿÿZzxˆÿÿz|x‰>ÿës{%#"547"54263 !4#"÷游ʑ,L«·þÛ–f7¸ÍÉËpÈÀQQþ¾üÇuYlÿ°àŒ)"2546632&# '%7654t€€$äúåþ˜¶¸P‹š{¼¨”„ŒR~ÌþÓš²ŽÜ8:¤€t¨qÅþ­þõu;;=Mk¨ÄŒGùÿ…:.j‚)åyÿì}Œ47&76$!4&$'632y*, åN¿þÛ~jé÷+8HÌÌþu]€6OÓÙþàþÖý¿A¯¶£$ÂÆ,Ll^ȨþHŒ 463 &'%327'&32'4¢Ü:NJþÄìÃ*!y¬é çÐÖ@?A¦quýôýþùxsÍæ Ñó± A@@?Kÿÿ†š &"32654& 76'#5432!"!54n$ % *+÷þÛC{aKKªGþÉ‚ 5"32654&"76767$326765! 54%7654$ % #Õåtæäþ®º}“†QÒ†øþÂþe•ª­Ìm0o %"%ùɃ@þ¼â„<@BDkŸóþµQc¶CøúŒ;;eo">!½fÿãkz 3265!$'&7&5!2#"'3jþüøj~$¾þ²åþ÷,*Xý¼f,_¸²b…´¯2ýÎþÖþà×ÕO6€h­µKŽM{ÿãV{$"24#"54$76¦€€‹ÉȬåëÚÅ)ë€k쪤þƒ­ÈÈŽÇyxÌüÇ5ÿ✡ *%"32654&"&#"2#"5!23263!4#" $ & *|H, ¬êæ<¬8@˜>þÚ"&Yñ %"%úÓŽþPÄÚÒ–Wííþªü¶0ˆÍþn{$"272#"5"547663 !4#"Õ€€ÚÓ¨´9y‹6žþܸu3ï€ð§ÕãI¹ª jdÕmúÛbJSÿï~‘ +"32654&4323254#4%$7" $ % ëËàºfz3%ð:?þ—þ¨·µ( %"%H±­Ú¾ü˜|XðíüsEhfýñþ¹\[Kÿㄌ24#"5765&5476325!!"'€@>¸]J*½âþuP]#þ„Ê8Zs€@ü0á[2JFÌÝÛýfH²ÞüÑþ²MM}ÿïT|"247&76325!%$©€€þÔ›œåì¯ÀÏ%þ þî€ýÒ÷§&¶Ä¼¾þø¨xÔ´ýLþB}ÿïT"247&76325!%$©€€þÔ›œåì¯ÀÏ%þ þî€ýÒ÷§&¶Ä¼¾þø¨xÔhû˜þBTÿïü0 A"32654&!"32654&"' &54323253325&74453Œ$ % ýŠ$ & ¬TeþíœâØÉTXðXTÕМЀ…ù %"% %"%ûöJJ«’bß©Çþ4„„4þˆ‡Ì¨Ñ+,¸ýÍ@þ¼Tÿï} +"32654&#"' &5432325332536$ & 'BC¬TeþíœâØÉTXðXTñù %"%ý3^^JJ«’bß©Çþ4„„4þˆ‡èHÿïˆ} ,"32654&2?33253%&'# 47&76D$ % LRðZLðþÄ’>%ÏþÀ™Šä þðÒ %"%ý§á㩪ÝüÑþÀ,-=ð¦%žùÛ‚þ°P§Hÿïˆ ,"32654&2?33253%&'# 47&76D$ % LRðZLðþÄ’>%ÏþÀ™Šä þðÒ %"%ý§á㩪–ûþÀ,-=ð¦%žùÛ‚þ°P§ÿã„`!325!!"'#"543225"™Š"þTð)3¶Æ„u`ý,ÀÀÔüÅþ¾88œ–8‹fÿãk  32765!$'&7&5!2#"'3jþüøj??$¾þ²åþ÷,*Xý¼f,_¸²b…ZY°æüþÖþà×ÕO6€h­µKŽMdÿ )"32654&4%$5! &#%$&763232,$ $ /þõýôû(”ô¼î8Þþ.þ§ßÒÜ <–¡h $ $  ,^ö$ü“»RE?`þÔþš²{Ëä<>ÿ +%"32654&! '&'&7 3654#"%6#% $ 2þØþð,ŽL¹âç¤/-(ê°9þáXø!$ $•þ‰ýÔù¨·Öë‰þUz¨Æœ1o5Oÿåx{"326! %,'4323254#"0@@<þô)Ý þ þðþÜåô=;ÒèÕT€€ÎYþ×ý¸þÙœÒ÷ªr¨˜>ÿï0!-553! '&'&7 365# "32654& 54!"CЀþØþð,ŽL¹âç¤/-('êýð¤ý)% $ þæþLäþÍ@ýÃù¨·Öë‰þUz™!ü.!$ $‡6/'=ÿ訙 4"327$"327$7&76365&5632676#4#"%€A?‘€A?þþp‚Œƾ6\˜’Áw5@Wæò?:@@@L@@@üE>©/™µ²>iþ¶µ¬©cbþºü©•ý¤þ³Xÿ #+"32654&%$%&'&54327654=$ % ýèýê骅Ýë Ac©÷ôõ÷S %"$Ð36þÑýŒûH9ªÖíGt6caf5ÿïÚð 1"32654&$'&'$6!2327#"&#"%$&76$ %   ñýÙp¿h@\†ºbÌj„ýÐþÌöàØC‹ %"%ÎŇD0ütËHþ”G_)RþÒþqÒ}ßÙ] þýÑ¡ ''&'$! #"'"32?6‡¨+(x¥sûþ±x Ó8@7YCŒ´t þßþý¯N*(ˆ»ƒm©¹Es¡JžÊä¼þÍÿÿRÿô’Š'Çý^ÇúþRö’, '&76'&'07²þ¹ëào V®Ìö@P©þí5)C21¼ŸsþÚkf´!4#"! fþܺN=æþìÛöý Üð Auþö ¨ÿÿü—fÄ&È×û/ ùÇš%$ 5 '& ýü[_ýþþþ›0~º9eþœþÔº}¶ÿ–ë²%$ 3!5 54 ýü[`ªýf þšþ›G~º9fþ›P3ºº}´ ùÆš%$ 5 '&#'57 ýü[_ýþþþ›Ö&&á&&0~º9eþœþÔº}¶#º##º# _²%$ 3!5 54#'57 ýü\`ªýf þšþšÖ&&à&&G~º9fþ›P3ºº}´#º##º#iüëÿ&7'6'&762'6C3217*9ßÑ{[låƒþö,.--Ú¼ÈTb•€Ú‚f ýxmÿÆ&7'5667&763253% ¥¢2A˜šKA |•þÎþÛº þØf@T‘wdD:0;QFþºÚÿëâæ, &'676'&76L˜Èk`W þrþÔþåŸÒ,þÅsœWf-2G)4îû¨G^ÿ÷ýƒÚÿ&/'&767%254<±j‚#àè~½m]™²»ü¿! ýÉv*GÞÄW‘}¦Šèv"òEßÁ#ÞíÁþ„|ÿüúÕX!567&74$7673 þ—ɾ¹7iz¶ðúÐ%.£—°ƒZ?^¶ýÚ3óÙ´476763676'3!#5676'&'&'&3&76'$‘CM=!JXY[xß5þ¼ôâ?G¨b*­gW’/A67 ãˆ*u…t7.,›åÀU 3533##5#ðÌòòÌðzÛÛºÛÛÿÿÿ÷ÓÚíÑPhiÄ%&767'6&jÿþþþ½=DAAÄÉßÛÌÌ566bqŠ ! $546732654&'3.'!'qþýþúþÿþü-(÷xikvYK¦“@,’ùþûèí6\,"H%ŠŠƒ]x8Ú¡WeŒdn'6.#32! 6756&'&5!94P54S;9R3Õ5ý÷þÊÁC8½,Tf[·¼SƒZ00Z‚SPyP(@ýêÖ3i*3 !ø_#…bsBþüPþn*-%' 7! %>54.#".5! d÷ÿ}~ýýëýæ'3B$8, ¦†°/6O þõƒ† þáÏ /D2# "/--/"þÄKt/~þm¶ V4.+"32>5>7.54632632#".5.+"!4.­%' a+%!4"üÎ 'AT3¿À]KK™c–d30a‘`@eO8$C =c„c=þÔ"8HKI;&m8S8þ×9kS2"=U3ý_.,#C’£¶iëñEE3m¬xµr4&@SZ['š )þŠg’iI;6BY@-'+#aþnp*'%! 46732654&#".5 pþ ýæUQ² €sghfdXf Ö#Óïþf£JG_*)*jd_`mjQW8F"Z"76;(…þSbþnp*:! $'4>7326=4&+532>54.#".5 pý÷þÿþý !î xgmvcX??)E16K.`q Ð'Ü_^d`þrÓÕ=A?S&P#llUX\XUÑ/H23M5KN'4b09@ mþ``“4#Œmbp 34&'&>4.#"326%! 467.7! |54&+"#"5!263  D) E243Ÿ2R<×6:!_ IwWÈÍ †PIpl0@$þËHHLB«N‚y}IBfbmIS þÖ~½~? òEEþLbp*'#>54.#"#.5&!2p0UDå;?7O18X= B<çGX2 €À€?!T•…z9LŠ„BHtQ,+QuJA„‹L8x…”TüE…Âbþnp1!# $54>732>=4&+532654.#5 oüûþôþ÷*/¾ ~q1N7IX……UL=r¦iÑ_onqÍÅ×Ü$RK<|'su/H3/nwÜDK-E/àþn_|#*¤€bþnp*6"!.'.#"'>7&546! .5467>54.^ÖŒKþÐX;$ Ji$Q5qjý ,# ô  #?WUþôÃþÞdî¤Ugn¥3>~*®ìîññ?l- ! 7*&=0H'Q>DdA dp/4.#"326%# 4>3254&#!5463 J:T45S;qaq&?~¼}ýêAÂFn*yoU`þÎ÷ð WtFEnO¢––kl®{B„»w6*6ß^]46bbžŸÃÆbpõ 4&#"76%! $5&63!!">3Jtmiwsjmw&ýôþÿþýÅÆ ýâ((0gF ¢¡šþ¾¥©ýæúû‘¸·Þ4Aá37¶ 6!>=4&+"#4&/"!.=432>32¶(C3þí6A$ 3-?â7*2 'G:þÝ3D(ÇÑ3a$#W2ÓÌÔ:uuu;:mhb/÷Y[þl”Y[ñ0ein:73326&+532674&'$5!#pþýë&#ò  }rar}l{Na‡rþ©%»ŒPUjkæþÁ349 !524!vr‡ŠÌML6B <ëL,þè]‚)<´aþnqO)%!"$'!32>55 54%5%qýòÿÿ&rd<_C$?> 7C% Bä¢hþ˜þZÒÖkj5P6I CRc9Q{R*ì]ÛF¶Œ¶A!>54.+"#4.+"!.=4%2>32¶ "B9þÝ=G"  @â  E "HBþí9I*¬§ñ%”ô^?m$(hL³¹Ô73! 717dsÕ reþÛG„¼uØw»DþØþ×þÓþÒLýõ Àü1þí2úÀ—î­iDþ¹h­òšþ“þ”qþmp@D%# 4>73254.#"#'4.#"#".'32>32>32oòëýÿ*8— ‚p¹ "' ž $!#-#!$3+*< #'*"*5#5I#&rA«°/àâ·)WRGm3^5spëÓ9T7ªª6T:$,% )0( ' C77CÔÔþn¶*S4&/"32>5+".5;2>=#57##54632632o #/&—A}·v"j±€H".")8"þí)7"'5þAi‘Z(.džp(;B!(:&è½Òþél£m7ö,Öß$!EÜÒ6`RD:AD"bþnoí7%! 4>732>54.#".5!2<645!oþýÞ 3%Ñ~v1R:!:aICN  þõ ¯KF9fþ¸#@?A#A3c1sp"GkIw´x=8;,(&W"<:@'H 657!9þm¶*F>7$5432>32>54.+"#4&+"%.'&#"Â5þíÃÄ>d&'kFºº+C0ý%8% WâB%›Ž«Ô*þØ+4)"^?˜&2 üLý$##$ÿ÷B>me_13UKF%J(1þ^ 1(ß§ìGVØ…%=/" 9<dþnp ,! !>=#".54>7!3265!pþ ýé7àdl"847!€Á€@8aJ7=T73L3qu%þuÈõ]_ý' /k«{Brjg6=_L?:9!GY3Z]ãv@4.#"326%! 4>34&#"#54.#"!!2>3 P V^'þþêþì@€ÁCl-17%*§#%þìZ‚%#{RlSk?>iQPwN'›yþ  „¸r430RQ np 5Q6¦UOQSþªbp/4.#">3!654.#"!4632Â.B(BH18F-8¼ƒƒþĈ•"A[9chþÚØÕÝÞ2)4]F*§0;! USÜ%þ ¢þðp“OqJ#ˆzý­Ÿ¶¹¤¨5f?ZuŒ9þo—P4# 54>7!2>56+532'6&'&'!{PHY[;‚Ó˜þäþæ2P:ç*8#Qh;sèáa97¯!+)]h‰Fy1@˜X~¾?ca\N¦°»byA‚„…C•þ$O|X¨Î‡+=8âBR"vbpí 4.#"32>%! !2J 54.#"4>32>3 !4.#"#54.#">72!".5„ 6I+>^>9Q46U< þÚ2XzH)PG:&Zþì%#§*%++xCÁ€@þìþêx´y<NuO'!GqPQoF?kJqL')=)QSþZ6Q5 pn 1)þÒ+8:z¾„þõøMÇ{bþnníG32>54.#"! 472>'4&'.'" !!3#},69.,59/ñý÷ýû‚Õ  uh5V; `P4=  þ‚ "1½À)UUø&C11C&%@//@üõþ\¦l $$c]5O5Dn*0V*\b–þE#è F4/T9aoí 4&#"326%!".5!>3Jyhluxlgw%þÿþþƒÃ‚A$0oG¢¡ £ œ›¨þóþôLцºýÍ<5aþnpá(%! 46772656&'.'7%!%pþ÷þøþ@AÑqfm~`Nbcþœd xþˆed`dÍ×·Q§Uˆ2]3suioU‚'CˆH»5e)þ§OþüŠM>H·bpA! 5!32654.#!5!2>54.#!5!2>54.'.53pþÿþýýö%ofl€  þé   þè !.'!32'4'#53>54.+532654.+5325&'&'3pþ0ýÎ%! †´F»»"$ ¼¼"# »»Fƒ¸×$8F#¿#Ö`/-ê$ >¥GbbEJp=›†@Nbþîp* #>'6&#"267.5% 7$'ˆokk}mftÿHj }{ †‚&mCþ¶˜[ê…¦$#¨„£  ýaXê‘ýè’çXþÚQšNv+aþnp*"% 7326=4&#5326'!%pýñþ+*/vgi|”®®roþ›þÚæz}|þ`§“{jdtjypû«Å• ßþ»d=º|aþnp8%! %32>=4.+53>7#.54$"32$7pýõýü&wg4U< !>V6ØÕ.S@(9=<ÂA!!œšøkš†††…þZË}}3O55.G/á0QsH 4c’]ʽÐdb koþ¢®ëB)•smš'#"325;54#"! !35#$! 3#3ʽÅÂþy½ÊÂÅ›þ&þäÊÊþìÖkkk˜¢4¤¦“ü­†þc{L~fþš¦ÙLõþo¶* 34&+"265%!"'#52>'4&'#&3$5!2>3##P#3d!&þ£<(ÞÖ+I4bzþ_[ R(yQ\Ù@<<þ5>:<~‚Cþ%&‚Ñz{þ7ÑÎPþn8654#"!6=!! 47.xóñðõþØþˆõ]~þhþ‚¤«œqÎ!"ÍóóÇþ:þå±b}…^ooþÏN½c5Èÿ=T+(4&'.#"'67.5%'>54'"®3SNÙIm2R:Í¡ë86µokC/X£CÃ.L†|n#,m|‰IÃ'þ±´þÄbz¿D¯wwLu*.T*kP1Âï 3#3#3#Óïïþ<òòõõŒÐ»Ð¾Ò~àR4#"322"43!%"¾\PUX]òìèÑþç' œ¢°Óþãþ×*CÄw;l5ÿãË{ @32654&#"26=%!4&#"5>32>32+3267#"&'#"&ðIWY@=?=þ&2~2þ=Ãd_A=Bî/fÿêk{2#"'&'5327654'&+5327654'&#"56763 )ŒHIþèñ]hjyˆTlz2US>hu·2@`g#qriiXohib'Ÿª(@BW­ž ì &1EÛ OY"ì[\p”iýãgd %!!5!!!!!ý¼þ”þþ“þáþÛ%ááýbüþVÿãº{ (3!4&#"5>32>32#"&'#"&26=7326&#"Âc_uAH•ììþvììŽ&DžX&þÚ–h ¤+ÿÿ¦0)5!264&#!5!264&#!5!#GDÈþÄý‰Ï}TV{ý1Ï{VT}ý1`tBMQÐ!fJ‘oð&d(í(d&ðÕnˆpøœØà 33#'##hX°Êäþº:ú8ºIþªíü¼ÏÏôœÜà#3#3!5##3褤Äþœ²6œâp\Žà’®‘á’ËËD’þc"œ®á3264&#32654&#%!2#!Ö|XHLT||F<>DþÐ0œž\\ln¤¸þÐø6†<FÃ-43/ƒjiQZ nbym,œ¤à32654&#'32+æ2n\\nìÆèÊÊèÆKýæ{“’z•ÃþDÅDœŽà !!!!!!Žý¶Jþpjþ–œD’´‘ÛDœŽà 5!5!5!5!5!Dþ–jþpJœ’Û‘´’ü¼*Œ¨ï5#5!#"&54632.#"326~"6‚J¶ÆÈ¾8n0(dJD䞦<‚ÅÀ14AG¦’ýÈ™ƒ œÆà 33 ## º"ÒþØ4ÐÞRºàþ¶Jþ·þx]þåDœŒà3!DºŽœDýN’œ¶à 33###ÞppÞ d”d àþ‘oü¼žþ’nýb0œ¢à 33##0ȤÈþú¤àý `ü¼`ý 0œ¢à ##3¢¤þøÆ¤àü¼`ý Dý `Œ²ï "265446  &°BB@þ.¦H¦¦þ¸¦[‡—–‡‡–——×ÛÛ×ÖÛÛ2œžà32654&#%32+#ìLZJJZþúþĪªÄDºUõ7DC7‹{Š‹{þÇœÂà#'&'&+#!232654&#¶(ªÌr2D:º ¶ž`þºVLDBN'%4þÓÓ ^þ¶DrVf$ä5>=4œ´à##5!#ĺî˜ðœ´(Œªà32653#"&(ºF€Hº˜ª¨˜ÑýÇ?GG?9ýñ«ššäœìà 333# #ä¢DPœ^4¤l®jd¬àýšþsfü¼·þI)Œ¨ %"326=7#5#"&546;54&#"5>32§gR81IQ··"h?y† ¨€A?B}C=~G¬‹Ã/:*3bX ?þšF)-qeni() Œ|)Œ¨ ,27654'&#"367632+32767#"&*g))1J((··"35?x‡QO¨€! ?B>?B<~G¬‹è9*20X @fF*qen54( Œ|0Œ¡53#5#"&547632264&"鸸//@y…DC~8.,ßDxEEx¶Yý]6¬ŸUU»¶gg¶g÷ŒÚ @32654&#"26=%!4&#"5>32>32+3267#"&'#"&5¯.78('(&þÕ O þä?<&K& O4A^R>em€010$U..Y(>NR:p\..+*(*01º F55F vPU! ˆ/-0,g_hg45Š"%"%…ª0Œ¡4&"2>32#"&'#3éDxEEx½"Z8~‡…y@^¸¸y¶gg¶g¤44ªŸ¬76]g0Œ¡3#5#"&54632264&"鸸^@y…‡~8ZßDxEEx¶Mü™]67¬Ÿª4»¶gg¶gŒµ#"&54632!3267'.#"˜@†J±»´›­þ"a`@{DœHG?L»¨Ÿ™²¥–CJH #ËABE?Œµ>32#"'&=!.#"327679@†J±^]´›WVÞa`@{Dœ$$G?&&ïTTŸ™²RS–CJH #Ë@"!#"?$­2&'&54632&'&#";#"32767#"'&546ïX-.°˜:BCLV5DM64'BJt)ºbekÝ$%1aX„ &z ,2 „33?HS$­2#"'&'5327654'&+5327654'&#"567632âX-.°˜:BCLV5DM64'BJt)ºbekÑ$%1aX„ &z ,2 „33?HS.¯£ &4&"26#"&'5326=#"&5463253êHtGGtH¹™¬:r:4l:NJYAxw=^¹àTeeTUeeÀ—…—AFC,,¨•®2.P'mª !#5!#3#53yþ“åƒæµµ¸¸žõ~~þ‰þQÀ&œ« 373##&¹ÝàþõÌÁ?¹þ7Õêþw%5ðœº>32#4&"#4&"#3>2–A.\E—?•?—†FUGÐ(&p±þŸ“F/0Eþm“E0/FþmsA%+-M¯„+532654'&#"#3>32„:8…L?312¸¸_Be333þ<<~=JfD('Gþ™s^49:<"Œ¯ "3264&632#"hBLLBCLLþw±•–±±–•™h¸hh¸hþ¤0±±þбOŒ‚053264&#"567632#"'&O*./6ZaaZ41/)4558¤\]¸£>65¼—!e¼f– WXþÊ® "Õ¯ 4632#4&#""±•–±¸LCBLÕ˜±±˜\hh\"Œ¯Õ #"&533265¯±•–±¸LCBLÕ˜±±˜\hh\0­¡#3>32#"&64&"2踸^@y…‡~8ZßDxEExôþ¹b^67¬Ÿª4»¶gg¶g9œ˜Á3#;#"&5#535¦òò.6Ž›ŸpµµÁ²~þ×*$~Zz!~²MŒ„32653#5#"&M¸+d8¸¸^Befw˜þD:OFhý]49vÿœÒ•!5!264&#!5!#Êþ5®MAXOþkÁh:@…œ¤&Y2¤¤S;Y\º"#"'&5326532653#5"'&;A.\"#—?•?—†##U$#Û(&88±aþnF/0E’þnE0/F’ýA%œº#3ºàãà»–—ýsþéÿÿ&ª¤<ýdÿÿU|ƒYýdÿÿMÿð„s8ýdÿÿºs;ýdbþXH} (%32654&#"6!2.#">32#"&'!‡r]\qq\]rþÛó\´]S¬[|v+ŽfÀââ¾`–+þÛ“–µ´—˜´µW ïþó.,u|yPNþÔþÿþöþÈZRÿÿ:œ–àjh`53!5!!3#!!5!5æðþ”þþ”ððlül¶ÂááþùÂÕááÕZþXF!5!;#+532767#"&ƒþ×NRbêSZÒy'b+"ѶÓ`áû¿„n9}+Ødlá7,dØ0Œ¡#367632#"&64&"2踸0.@y…CD~8ZßDxEExôYs]6¬ŸUU4»¶gg¶gOŒ‚#"&632.#"3267‚/k>£¸¹¤8j4)`4ZaaZ6]*¼®6¯–!f¼e !JM‡,;2'&#"763#*''47&'&7632&'&#"…$"]R4€Ak´ÆA~3'\]]£8554)004Z01 * e‚µ@4'$W6XW –33^V%Œ¬ (.#"32654&7#"&54632''7'37æ>BMKAEI J?6«™”¯£‰(eÄ#²c¸:»*®FQFXdea7ÝMU›®«’„zBA=qAHEB$­(#"&'532654&+532654&#"5>32â`kǺ>„F8„HGWetJB[UMyVL…:˜°[Ý SH?f„2,z&" „ Xa1IJœ‡3###53546;#"®ÙÙ¸¬¬i˜*F7~þ õ~,qW~t¤]33#+532767#53 âppADp'@……þv?C„B2­Ÿ(#"'&5476;#"'&'53265"326=å'[ ¿ü­v\/<ž›¤~ýg+#,£¥ #5!;#"&è¼t4=”ǃs©Ü~ü¦J>~y,¯¥#5!;+53267#"&ç»t4=”57…L>0„s¢ã~ýŸJ>~x;:~78yxœY3!!yÌþþ0£­º3>32+5327654'&#"#4'&#"#367632–@/\#"-.n>3  •  —†"#+*$#Ð(&87²þŸz8=~J|FDþm“DFþmsA&­º"#"&533265332653##"&;A.\E— • —†F+*GÛ(&p±aþnF/0E’þnE0/F’üž0%+- ¤Å(#=4'&'.#"+53276=367632ż &:!"98kM4º*0/9e45þ‚>æR10U¯{ rCC„K{í\7BC¤Â"4&'&#"#367632;#"'&5š6&!ºº*/09e445Jj8<0( 1*[þËs\7BD~þK„CGn0œ¡ 33##0ô®Ïô®Ïþ”lýmþ“"Œ¯ !7632#"'"!3&'&+3276"XY•–XYYX–•YîB&&Eô &BC&=0XYYXþÐXYY´4(??(4þø-44ñ­à#+7675#5!#3!535&'76764'&ñfHm»/»mHffHm»ýÑ»mHµ//Ï//=0X@q~~q@XþÐX@h~~h@A^ 4¸4Rþ¢ 4¸4O­‚:&'&#"#"';#"'&=327654&/&'&547632S3787> ‡5e/.GH()?L„99=?@;A!"0Y3i10IJ†;<;ü- /0Pa10.~=< " -.L[22 ¯´+532765476;#"Û5:ƒÈ”>55˜‘*œy8<~ I‡q,+~ $9¯˜Á3#;+532767&'&5#535¦òò.6Ž59„L>†28µµÁ²~þ×*$~x9<~8)-z!~²Œµ"#5#"'&=#533333+3276ˆ¹0/Ae4344¹Æ¹-çÅ12‘õ]4;;umþïþïmD'!b·$327654'&'5!##"&54767#5!?)H;<#$) /,#¸’‘¸"'1%q+-AG%n›¸$#'&=#5;?27654'&/L)%OO|Fh99ee¹ <+&+lÛ!J=XŽYXDC~¯D~¯_71P<@/(fœº3# àãà»–—œsýéþGœŠ !!!5!V4þsý½tþ›€þˆ{€y­Ð!!;#"'&'!5!4þŒt?L„95þttþœ€þˆdJ~=7{€y.]£3276'&!367632+'47!5!üþ?3þ‰;1™€þ²tþœ («€þˆB3_šµ$€y)¦¨7!5!#"&'532654&+¨öþ›4ö[1G^Á¹AƒA>x;W\_\j™üz€ÿ yP|¦<79;"ޝ .#"3267"&54632õBCBBADEA•±±•–±±l““l~h––hþòÎÏññÏÎòÿÿ!þ °Õ&$«ÿÿ^þ T{&D«ÿÿ}‡k&% õÿÿ–ÿãw1&Edÿÿ}þ2‡×&%©ÿÿ–þ2w&E©ÿÿ}þj‡×&%·ÿÿ–þjw&E·ÿÿ˜þoAk' í‰u&­u&ÿÿ¨þopf&vf&­HFÿÿ‰uk&' õÎÿÿZÿã;1&Gœÿÿ‰þ2uÕ&'©ÎÿÿZþ2;&G©ÿÿ‰þjuÕ&'·ÎÿÿZþj;&G·ÿÿ‰þouÕ'­ÿH'ÿÿZþo;&­†Gÿÿ‰þuÕ&'³ÎÿÿZþ;&G³ÿÿ¨þJÕ&(³ÿÿ\þ}{&H³'ÿÿ¨þJÕ&(¶ÿÿ\þ}{&H¶'ÿÿ¨þoJk&­2&( ôÿÿ\þo}F&­2&HŒ'ÿÿ¶Xk&) õÿÿ®;k&I õÿÿuÿãjN&* ù2ÿÿbþXH&JŠÿÿ‰Hk&+ õÿÿ¬/k&K õÿÿ‰þ2HÕ&+©ÿÿ¬þ2/&K©ÿÿ‰Hk' ìu+ÿÿ¬/y&KjHÿÿ þoHÕ&+­þ±ÿÿCþo/&K­þÔÿÿ‰þHÕ&+´ÿÿ¬þ/&K´ÿÿ¬þ%Õ&,¶ÿÿþ&L¶ÿÿuÉk' íu.ÿÿ®®k' íÿuNÿÿuþ2ÉÕ&.©ÿÿ®þ2®&N©2ÿÿuþjÉÕ&.·ÿÿ®þj®&N·2ÿÿáþ2Õ&/©2ÿÿZþ2F&O©ÿÿáþ2N&˜ ùÿÿZþ2FN&™ ùÿÿáþjÕ&/·2ÿÿZþjF&O·ÿÿáþÕ&/³2ÿÿZþF&O³ÿÿV{k' íu0ÿÿRƒf&vPÿÿV{k&0 õÿÿRƒ1&PÿÿVþ2{Õ&0©ÿÿRþ2ƒ{&P©ÿÿwXk&1 õÿÿ¬/1&Qÿÿwþ2XÕ&1©ÿÿ¬þ2/{&Q©ÿÿwþjXÕ&1·ÿÿ¬þj/{&Q·ÿÿwþXÕ&1³ÿÿ¬þ/{&Q³ÿÿ\ÿãuù' í2' î2ÿÿbÿãoú&w&R‡”ÿÿ¢{r&3 íÿw|ÿÿ–þVwf&S‡ÿÿ¢{k&3 õÿÿ–þVw1&Sÿÿ…Ñk&5 õÎÿÿ#1&Uÿÿ…þ2ÑÕ&5©Îÿÿ#þ2{&U©ÿÿ…þ2ÑN&¶ ùÎÿÿ#þ2&·Šÿÿ…þjÑÕ&5·ÿÿ#þj{&U·ÿÿÿãVk&6 õÿÿ¬ÿã+1&Vÿÿþ2Vð&6©ÿÿ¬þ2+{&V©ÿÿþ2Vk&©&6 õÿÿ¬þ2+1&©&VÿÿZwk&7 õÿÿo1k&W õÿÿZþ2wÕ&7©ÿÿoþ21ž&W©ÿÿZþjwÕ&7·ÿÿoþj1ž&W·ÿÿZþwÕ&7³ÿÿoþ1ž&W³ÿÿjþ2fÕ&8ªÿÿ þ2%`&XªÿÿjþfÕ&8¶ÿÿ þ%`&X¶ÿÿjþfÕ&8³ÿÿ þ%`&X³ÿÿjÿãfù&8' í2 îÿÿ ÿã%ú&X&w‡”ÿÿ9˜T&9 î\ÿÿP&YwØÿÿ9þ2˜Õ&9©ÿÿPþ2`&Y©ÿÿÑr' ï|:ÿÿÑm&CÏZÿÿÑr' í|:ÿÿÑm&v1ZÿÿÑ`'j/:ÿÿÑë&jºZÿÿÑk&: õÿÿÑ1&Zÿÿþ2ÑÕ&:©ÿÿþ2Ñ`&Z©ÿÿ¶k&; õÿÿ7š1&[ÿÿ¶k' ìu;ÿÿ7šà&[j¯ÿÿÉk&< õÿÿ;þX˜1&\ÿÿs‰r&= ð.|ÿÿ¢9m&]gÿÿsþ2‰Õ&©=ÿÿ¢þ29`&©]ÿÿsþj‰Õ&=·ÿÿ¢þj9`&]·ÿÿ¬þj/&K·ÿÿo1&Wjÿ¢ÒÿÿÑ/&Zuÿÿ;þX˜/&\u ÿÿ®;k&A õÿÿbÿão!úÿÿ!þ2°Õ&$©ÿÿ^þ2T{&D©ÿÿ!þ2°r&ò ð|ÿÿ^þ2Tm&ógèÿÿ!°ù' ï&$ ô€ÿÿ^ÿãT¢&ņ<ÿÿ!þ2°k&ò ôÿÿ^þ2T&ósèÌÿÿ¨þ2JÕ&(©ÿÿ\þ2}{&H©'ÿÿ¨Jm' î1u(ÿÿ\ÿã}&wßHÿÿ¨þ2Jr&ú ð|ÿÿ\þ2}m&ûg"ÿÿ¬þ2%Õ&©,ÿÿþ2&L©ÿÿ\þ2uð&2©ÿÿbþ2o{&R©ÿÿ\þ2ur& ð|ÿÿbþ2om&gÿÿÿãÍk&b íÿ‘uÿÿ ÿãÈf&cv—ÿÿÿãÍk&b ïÿ‘uÿÿ ÿãÈf&cC—ÿÿÿãÍm&b îÿ‘uÿÿ ÿãÈ9&cw—ÿÿþ2Í&b©‘ÿÿ þ2È&c©—ÿÿjþ2fÕ&8©ÿÿ þ2%`&X©ÿÿÿãÌk&q íÿvuÿÿÿãÊf&rvÿdÿÿÿãÌk&q ïÿvuÿÿÿãÊf&rCÿdÿÿÿãÌm&q îÿvuÿÿÿãÊ9&rwÿdÿÿþ2Ì&q©ÿvÿÿþ2Ê&r©ÿdÿÿÉr' ï|<ÿÿ;þX˜m&CÐ\ÿÿþ2ÉÕ&<©ÿÿ;þ2˜`&\©,ÿÿÉm' îu<ÿÿ;þX˜&wß\ÿÿ6ÿçŒr&Î÷ÿÿ6ÿçŒr&÷ÿÿ6ÿçŒr&Û÷ÿÿ6ÿçŒr&è÷ÿÿ6ÿçŒr&Ü÷ÿÿ6ÿçŒr&é÷ÿÿ6ÿçŒÓ&Ý÷ÿÿ6ÿçŒÓ&ê÷ÿÿ°r'ÎþHØÿÿÿݰr'þØÿÿý™°r'ÛýØÿÿý°r'èýØÿÿþp°r'Üý{Øÿÿþ4°r'éýgØÿÿÿT°Ó'ÝþHØÿÿÿ"°Ó'êþØÿÿ•ÿêr&Îûÿÿ•ÿêr&ûÿÿ‘ÿê2r&Ûûÿÿ‡ÿê<r&èûÿÿ•ÿêxr&Üûÿÿ•ÿêŒr&éûÿÿÿJr'ÎýIÜÿÿÿJr'ýIÜÿÿüÌJr'Ûü;ÜÿÿüÂJr'èü;ÜÿÿýgJr'ÜürÜÿÿý5Jr'éühÜÿÿ¬þV/r&Îýÿÿ¬þV/r&ýÿÿ‘þV2r&Ûýÿÿ‡þV<r&èýÿÿ¬þVxr&Üýÿÿ¬þVŒr&éýÿÿ¬þV/Ó&Ýýÿÿ¬þV/Ó&êýÿÿþÞHr'ÎýÞÿÿþÞHr'ýÞÿÿü•Hr'ÛüÞÿÿü‹Hr'èüÞÿÿý+Hr'Üü6ÞÿÿýHr'éü6Þÿÿþ(HÓ'ÝýÞÿÿþ(HÓ'êýÞÿÿÓr&ÎÿÿÿÓr&ÿÿÿ‘2r&Ûÿÿÿ‡<r&èÿÿÿõxr&ÜÿÿÿÍŒr&éÿÿÿ ÓÓ&Ýÿÿÿ ÓÓ&êÿÿÿÿ%r'ÎýIàÿÿÿ%r'ýIàÿÿüå%r'ÛüTàÿÿüÇ%r'èü@àÿÿýq%r'Üü|àÿÿý?%r'éüràÿÿþU%Ó'ÝýIàÿÿþU%Ó'êýIàÿÿbÿãor&Îÿÿbÿãor&ÿÿbÿãor&Ûÿÿbÿãor&èÿÿbÿãxr&ÜÿÿbÿãŒr&éÿÿÿ[ÿãur'Îý”æÿÿÿÿãur'ýIæÿÿüàÿãur'ÛüOæÿÿüÖÿãur'èüOæÿÿþ%ÿãur'Üý0æÿÿýóÿãur'éý&æÿÿL…r&Î ÿÿL…r& ÿÿL…r&Û ÿÿL…r&è ÿÿL…r&Ü ÿÿLŒr&é ÿÿL…Ó&Ý ÿÿL…Ó&ê ÿÿþzÉr'ü³ëÿÿümÉr'èûæëÿÿüšÉr'éûÍëÿÿýµÉÓ'êü©ëÿÿ@ÿã’r&Îÿÿ@ÿã’r&ÿÿ@ÿã’r&Ûÿÿ@ÿã’r&èÿÿ@ÿã’r&Üÿÿ@ÿã’r&éÿÿ@ÿã’Ó&Ýÿÿ@ÿã’Ó&êÿÿÿowr'Îý¨ïÿÿÿ)wr'ýbïÿÿüàwr'ÛüOïÿÿüÖwr'èüOïÿÿþ>wr'ÜýIïÿÿþwr'éýIïÿÿþÈwÓ'Ýý¼ïÿÿþ}wÓ'êýqïÿÿ6ÿçŒf&C÷ÿÿ6ÿçŒfòÿÿ•ÿêf&Cûÿÿ•ÿêfóÿÿ¬þV/f&Cýÿÿ¬þV/fôÿÿÇÓf&Cÿÿÿ fõÿÿbÿãof&CÿÿbÿãofÿÿL…f&C ÿÿL…fÿÿ@ÿã’f&Cÿÿ@ÿã’fÿÿ6þVŒr&Ëœÿÿ6þVŒr&Ëœÿÿ6þVŒr&Ëœ ÿÿ6þVŒr&Ëœ!ÿÿ6þVŒr&"Ëœÿÿ6þVŒr&#Ëœÿÿ6þVŒÓ&Ëœ$ÿÿ6þVŒÓ&Ëœ%ÿÿþV°r&Í&ÿÿÿÝþV°r&Í'ÿÿý™þV°r&Í(ÿÿýþV°r&Í)ÿÿþpþV°r&*Íÿÿþ4þV°r&+ÍÿÿÿTþV°Ó&Í,ÿÿÿ"þV°Ó&Í-ÿÿ¬þV/r'ËþÈ:ÿÿ¬þV/r'ËþÈ;ÿÿ‘þV2r'ËþÈ<ÿÿ‡þV<r'ËþÈ=ÿÿ¬þVxr&>ËþÈÿÿ¬þVŒr&?ËþÈÿÿ¬þV/Ó'ËþÈ@ÿÿ¬þV/Ó'ËþÈAÿÿþÞþVHr&ÍBÿÿþÞþVHr&ÍCÿÿü•þVHr&ÍDÿÿü‹þVHr&ÍEÿÿý+þVHr&FÍÿÿýþVHr&GÍÿÿþ(þVHÓ&ÍHÿÿþ(þVHÓ&ÍIÿÿ@þV’r&Ërÿÿ@þV’r&Ësÿÿ@þV’r&Ëtÿÿ@þV’r&Ëuÿÿ@þV’r&vËÿÿ@þV’r&wËÿÿ@þV’Ó&Ëxÿÿ@þV’Ó&ËyÿÿÿoþVwr&Ízÿÿÿ)þVwr&Í{ÿÿüàþVwr&Í|ÿÿüÖþVwr&Í}ÿÿþ>þVwr&~ÍÿÿþþVwr&ÍÿÿþÈþVwÓ&Í€ÿÿþ}þVwÓ&Íÿÿ6ÿçŒF&÷Œÿÿ6ÿçŒ&Š÷ÿÿ6þVŒf&Ëœ‚ÿÿ6þVŒy&Ëœ÷ÿÿ6þVŒf&Ëœòÿÿ6ÿçŒ9&Ï÷ÿÿ6þVŒ9&ËœÅÿÿ!°k&Ø ôÿÿ!°N& ùØÿÿþñ°f'úþ*Øÿÿÿ¯°fÏÿÿ!þV°Õ&ÍØÿÿÇ rÎÿÿþVÿ¤ËÇ r!55#5! þ¿¶¶AÃþÿx¯ÿÿ Å9wÿÿ ;Å'ÏTjÿÿ¬þV/f'ËþȆÿÿ¬þV/{'ËþÈýÿÿ¬þV/f'ËþÈôÿÿ¬þV/9&Ïýÿÿ¬þV/9'ËþÈÔÿÿþ Jf'úýDÜÿÿþ¡JfÑÿÿýíHf'úý&ÞÿÿþyHfÒÿÿ‰þVHÕ&ÍÞÿÿ‘Â2r'ú6ÎþÊÿÿõÂxr&nÎÿ.ÿÿ ÂÅÓ'ÏšÎÿÿÓF&ÿŒÿÿÓ&ŠÿÿÿÇÓØ&øÿÿÿ þ×ÿÿ Ó9&Ïÿÿÿ Ó&Ðÿÿÿ¬%k&à ôÿÿ¬%N& ùàÿÿþ)%f'úýbàÿÿþµ%fÓÿÿ‡Â<r'ú@þÀÿÿÍÂŒr'‚ÿÿÿ ÂÅÓ'ÏšÿÿL…F& ŒÿÿL…&Š ÿÿL…Ø&ø ÿÿL…þöÿÿ–þVwr&Îÿÿ–þVwr&ÿÿL…9&Ï ÿÿL…&Ð ÿÿÉk&ë ôÿÿÉN& ùëÿÿýÙÉf'úýëÿÿþÉfÕÿÿþü{r'ý5èÿÿÇ;¤Ø'úrjÿÿ-; þÎÿÿÇîüfCÿÿ@þV’f&ËŽÿÿ@þV’`&Ëÿÿ@þV’f&Ëÿÿ@ÿã’9&Ïÿÿ@þV’9&Ëþÿÿþ8ÿãuf'úýqæÿÿÿUÿãufÔÿÿþBwf'úý{ïÿÿÿ‚wfÖÿÿZþVw´&ÍïÿÿÕî fvÇ r5!#7 È@µ·þ¿ï¯x-¼¤ßµÔÌ1ÔÌ0!!-wý‰ßþÝÿÿ-¼¤ß¼Ñ²´/Î1ÔÌ0!!Ñû/²ö¼Ñ²´/Î1ÔÌ0!!Ñû/²ö¼Ñ²´/Ì1ÔÌ0!!Ñû/²ö¼Ñ²´/Ì1ÔÌ0!!Ñû/²öÿÿþÑÿî&BB°‡L@ tWÔüÜÄ1üÌ0!3éþÇÅ×c‡~þ‚°‡L@ tWÔìÜÄ1üÌ0!#:Å×bþòþjþáo@ wWÔìÜÄ1üÌ0!#Í9ÄØcoþñþ°‡L#êb×Åþòþ˜‡9 &@ t WW ÔìÔìÜÄÜÆ1ü<Ì20!3!3ÑþÇÄ×bþÇÄÕ`‡~þ‚þñ~þ‚–‡9 &@ t WW ÔÄìÜÄþÜÆ1ü<Ì20!#!#9Ä×býø9Ä×bþòþþòþ–þá9o &@ w WW ÔÄìÜÄþÜÆ1ü<Ì20!#!#9Ä×býø9Ä×boþñþþñþ–‡9 #!#Ïb×ÄAb×Äþòþþòþœÿ;3Õ $@f d ?  Ô<Äü<Ä1ÄôÔ<ì20!!!!!5!çLþ´ÿþµKÕþ}ßûÈ8ßœÿ;3Õ9@ff  d ?  Ô<<Ä2ü<<Ä21äÔÄ2Ô<î2î20!!!!!!!5!!5!çLþ´Lþ´ÿþµKþµKÕþ}ßþ+àþ}ƒàÕßÑ`µ ÔÌ1ÔÌ0467>32#"&'.736€HIƒ256743„IH‚426úIƒ235624‚HIƒ447743ƒ?!°!?qþH9˜o #@w VV V ÔüÔüÔì1/<<ì220!!!!!!q'þÙþd'þÙþd'þÙoþ‘oþ‘oþ‘ј $0<HLp@?J%K+I"L 71= ¯+¯"­%¯j4­C¯: L(I1KJ\\F\7@\1.\1(\/ìÄÜìîÞîÝîÞî99991/<î2î2öîþîî29999904632#"&5%"32654&4632#"&%"32654&4632#"&%"32654&%–¥ww¨¨wu§2IH33JJü§xv¦¦vw¨4GH33JKþÞ¥xw§¨vw¦3HH33JKþ§'ûê!x¦§wx©¦wK24KK42IÝx§¨wx©¨öG45LM41Jü+x¦§wx©¨öH35LM41JúŸ^þ\ј1<HWg"2654&46367636762#"/#"/#"&"2654&4632#"&"2765454'&!"2654&#'ûêµ-@@ZBCþ×’kjIIjiKIÓ••jhIKihJKhj“4GHfJKþ±§xv¦¦vw¨h,A?[! #?,  [AB˜Ÿ^þ\—H35LM41J}x¦TSTS§wx©STST¨NG45LM41J}x§¨wx©¨ýžK24K&$13$&& )+ &K42I‡`JÕ!‡­þß`uþ‹ÿÿË`Õ')¼)ÿDÿÿ`ÁÕ')w')þ‰)‡`JÕ#!J¢þß`uÿÿÉ`Õ',¾,ÿBÿÿ`ÁÕ',w&,,þ‰Z/#@ UÔì291ÔÌ90 5/þìþ+#îÝÝ¤y#@ UÔ<ì91ÔÌ90 5-¤Õþ+þê#þwƒþvîÝÝÿÿ¯"Õ'þÌ4é)ð#'!6763267654'&!Ãþõ[`bedeÊæ""^XD#. þæ ‘S#F 8¼¥LAB\VC)*= áþø%(+C" ûþåÿÿMÑ B0¦þò¢ !#3#3!¦üòòòòþ¾ýŒ¾ýŒ¾/þò+ !53#53#5+þòòòòøÞ¾t¾t¾ÿÿ&«ð' øþÌ ø4ÿÿ&3ð' øþÌDÿÿž«ð'þ¼ ø4¨ÿ;‹Õ 2###°×Ýͼ¾¿Õè¾²Ûü²ùùšºð '47632"'"2764632#"&$"HƒŒ !! Œ þ(¨ª©TUUT©ª¨ <XFFš—HFFE4šÚØllÚÙllØ&œª@ !3!53#3#Xnäý|æ´´ººþ ~~w¯¿öœ¦ß E@    %²  ³± ^ Ô<Äü<Ä91ôüÔ<ì290KSXÉÉY"333##5!5úúÌmmºþw)þ¶þ´´¢%°ß#!!>32#"&'5327654'&#"G+þy8 –`_gf±A†F3B;=j8777\6677ß‘šON}„LL” &%GA(' ŒÅð ("264&'&#">32#"'&54632¿„"##"„F081.nr dDŠKLUTšºUTÎÏ033?'&JI''N’Ý• xv%$GH…ŒMMffåÛØ œ¢ß!#!†þ¦ÎMþUßuý2²µð )7"327654'%.5476  '&547672764'&#"¬ˆ**TDC**)þüNPRSRS('LT1/VWþÀWW11k"#x"##"<;##"#tF$#9:#i^Cj;<<=hC/.86Mz@AABxK97¿1b ±ð .532767#"'&547632#"'&27654'&#"J081.m99!22DŠKKTTš»UTghÎ033ÕA"##"ABF##®— <;w$HG…ŒLMffäÜkl ¥''JI''N’'(ÐÂ8 !!#5!5!5´þò–þð8ñ†ññ†ñÁÂG!!´ýLG†A¶Å!!!!šýfšýfÆ…„„¾ #.67SQQSdabc†ú~|ý†üý¾ 3#>54&¾dbbdSPPýþüü†ý|~úIœˆ#4'&#"#367632ˆº23ºº00Df433þi~D('Gþ™s^4;;ÿÿÿñºT;ýdÿÿ9ÁC{ýdÿÿ¬TtýdÿÿÿñÃTuýdÿÿö¦C=ýdÿÿ%ÿñ°C>ýdÿÿÿðÅT?ýdÿÿ¢C@ýdÿÿÿñµTAýdÿÿ ÿñ±TBýdÿÿ4œCýdÿÿ%«Dýdÿÿ¥¶)Eýdÿÿ¾ÿifFýdÿÿ¾ÿifGýdÿÿ)ÿð¨‚#ýdÿÿÿðµ‚)ýdÿÿ"ÿð¯‚2ýdÿÿÐt}ýdÿÿÿðµ‚*ýdÿÿIˆhVýdÿÿ&«g/ýdÿÿ'ªh{ýdÿÿº‚0ýdÿÿIˆ‚Hýdÿÿ0ÿ¡‚6ýdÿÿJÿñ‡ƒ|ýdÿÿ9˜%7ýdÃÖ$!!!!!!#"32.#"3267“$þ£Iþ·iýÐ8w@ÂââÂ@w88l!F„èi¡+»Eÿähð,6767# !2.#"3>32.#"!(%PQQ°_þãþ³M_°QQŸXµZ(3÷0zW !@!_f "IþË77 ef¡87þËIDþøèç„: ̦c[þÝŸ•[Õ!!!!3#!#5©²ý­/ýѲ²þ¡©z[þÝþêþÝÿXþÞ"XnSð#67632.#"!!!!!!35#535#56kpóQ N=ƒDh1.Iþ·Iþ·ÛüÈ«««ÿþw|þâ'&>:rÂÂÔþö ÔÂÂ'ÿB¨0#4'&#"#3676323632#754'&#"#Ãmž4C#$ææ+66CJ97wn8 |æ2@% Û¾ð¹75UUœýÙ`¤`/085cs® îãýVH)v75TR„ýÚÑÕ#5#535#53!3!3#3#!#!3'"aMüòBBB®‘¡nAAAAþR’¢þ”lbMxååÂÂå¶þJ¶þJÂåÂþJ¶þJ¶§ååÿäÎÕP3264&##532654&/.54%+#!2333632.#"#"'&'#"&5«\1551: %S2-./hTþþ,C{n§{C2 ,œ -B+^71]*,+!*wSsr04}]M¾þ_mÈlþ¢þ%N9"/:90/ ¢¥# †UýúÕ~^™>þ þð0035+. # «³³±ÔÛÿãÈÕF2654&+#.+#!232654&/.54632.#"#"'&9C;;CZåf?5<×H¤šPP,E$ 8;?@;;)=#…kˆ7yH@x597*6#ši“’>A?ZgfXþüÃspRýËÕÆÖ”¾-v/:90/ ¢¥²¬ þð0035+. # «³´ÑÕ"&)-1'#53'33733733#3#####5373'!37TE1ÏãÐäÍ1DThpùrJrørh&;;šžýx;;¹#þ¨èv’åååååå’v’üªVüªV’’þB¾vvþøþB¾vvvvÿãÏÕ !2#4&+!%"3;!¯ÚÕ¿Q~ÍþÿËþPÚÕ¿Q~ÏÕþÊþÃþ§Y¹Ÿû*5=Yþ§¹Ÿ×ÿÿ<þn¯&Óâl°ÿã5ð1@9&(  ox#o xn#r/21('/),&, 0',2ÔÄ2Ä2üÄÄ99999999991Ä2äôìôìîöîÎ2Ý<Î20@€†€]]632.#"!!!#3267#"'#73.5467#7Ñ,$ëS’DJŒMkŒºTþ‚AHJB @@=kbõqŒ‚~Es/4 %UAB`_KBjüÇoD7=AiK}f^[¸@”ûË ÿã¸ð)5'32327&547632#527654'#"'&#"654'&#"Ø¿˜•lCm(¸IQ œXMb ƒ…ÝoB0?i’qK:(/$3!%ê„Dl±ô¬X``S±ã«£¿àlmã@.jVBthP#lƒH+990C—<ÑÕ#(/! 3#3#!#!#535#53!327676'!%&'&+¢•5ˆ\cVVb\ˆþËnþÙffff„þ£y‘;*þƒ\ ;‘yÕnKŠg((gŒKnýÑtgPgþâM1 w((P· 1K,ÿ[•x$-#5!#5&'&76753&'&'6767»uOrz^b¢á­¯Œà¢]Xl`bPgh"'N;þŒ]=mi@^TÐýKF#ЬÐeiÏ¥"‰7ø?&û¾ 6Þ#PŽþùþûŽU"¸Õ53!3#3#!!!#537!!/3':á­?­á¨+}EhþÛgþxhþÜhF~+$++ˆP(½ÃUý«Ã•Ãþ›eþ›eÕ••ÊÿãÑð63267# $545#536767!5!654&#">323#!¯xmlÝvhßoþòþõ® O¢þ9+ rk`Ä_eÎgã|µPÞ=5¶YcRTþÏ45ßâ Â2 f@ÂPVFC ./èËÂ_TÂ.þÓ£ )%#&'$%6753&'&'6767£_h8:¢Ð¬þâŸÝ¢:8g_Q\DGHB[Tþ%;/¯³+R7þêr¼~oËr »¿7þËN'ü›(O‘Q"züó‡!ZwÕ !!!!!!Zûã¢þÙþ…þ…Õþþû-YþþgzÕ%#!#!'&+532767!7!&'&+7zVà  Vµ5K,!0þ¼´Ok¦Óy4 þ/Xy 4züXÕÃ8JÃ_@[ _ýçy,©ø>*Ã*;ÃŒÿä1ð %3267# !2."_|dT È„þøþ¸E}=[~èoi ‰† ƒ7@,ƒL¨]r•4‚*:0N²þ¯þ̾ ÿÏÉ'1.#"3267#"&632#3"32654&'2#"&6Ê5::@@:!;2.M'ˆššˆ'M #Ÿ+//+)00)‚’’‚ƒ””Ÿþì@!vÞv#Bþéö®öú5ü„qtsrrstqè÷þTöö¬÷µÕ3!3'!!!!!!¹—ü+—üaÝaþŸþ#þŸ]ûåûåxýƒ}ú+àý ;`!>54&#"!!>32NþÛ…:7StyþÛ/#t0¨e€Š Øý(ª5:=‡ý‹ý¤\g‹L;`4#"!'7!7>2!6+qStyþÛÒ›7ð?#&ûBþ¥00¨åŠþÛ… w‡ý‹6;ûãýNœ•Û>;}ÑN,7?2#".5467>"3267>54&'.!2+#3264&#hÚZZ\[¶Ú~}Ú¶[\ZZÚ~cªIGHHެcd¬FHHHHH©þss¥²²¥”ßß|AGGANZZ[Ü~}Ú¶[[¶Ú}~Ü[ZZGIG¬ebªIIHHªbe¬GIGwuuþü`Ñ7e5J•Õ3%!2+!327&+67654'&²þûJø þ÷øÝþ“mÝ5//5ݰ=*__*]ûåxýêëýýú~Ó#ýg)Z³²Z)þÕÉð'%!# ! %27&"676'&|ðþÜÃþÚþ¹F"C«ýobëbbëbn……¡……%þ°˜lkœþhþ‘üþ”43­34ûž¬ýŸ¬ûç­a¬ÇÕ%-13&'&7!.+!!2!27&#676'&%3{THv‡u2M;o.a4°þw§5}fþšcÛÖd)ýß“1EDý)šm=§þïs@1F„~þh‰|hý“ÕÖØÐb)‘ýˆtýÁLÉüVÿÿþãyŒ'tþþœ& ò>ÉüVÿÿþãyŒ'uþþœ& ò>ÉüVÿÿÿôþãy{'=þþœ& ò>ÉüVÿÿ/þâŽ{'{þþœ& ò?ÉüVÿÿ#þâŽ{'>þþœ& ò?ÉüVÿÿ/þã~{'{þþœ& òAÉüVÿÿþã~Œ'uþþœ& òAÉüVÿÿ#þã~{'>þþœ& òAÉüVÿÿþã~{'@þþœ& òAÉüVÿÿ/ôw{'{þþœ òBÇ› 5!!B#x‚4üÌ‚xêŽ#x‚à‚xþÓM '#'°"x‚à‚x$MþÝx‚üÌ4‚x#BÇ› '7!5!'7þÝx‚üÌ4‚x#êþÝx‚à‚xþÝþÓM !737"þÜx‚à‚xþÞ#x‚4üÌ‚xþÝBÇ›5!'7'7[‚xþÝ#x‚‚x#þÝx‚Á‚x#Ž#x‚‚xþÝŽþÝx‚þÓM'3'7#7ø‚x$Ž"x‚‚xþÞŽþÜx‚x#þÝx‚ýå‚xþÝ#xšÿì- 7!##švœ»<œýÄ» v»ýÄœ<»¤ÿì7 #5'#5!7»ýÄœ<»œ þd»ýÄœ<»£ÿá6t %!537536vþd»ýÄœ<»Wv»<œýÄ»šÿâ-u '33v»<œýÄ»vœ»<œýÄ»BÇ›3!'7!5!7óœþï“ÊOþë‚xþÝ#x‚‰”Ê¡àðp€‚x#Ž#x‚ðpBÇ›#5!7!'7'7!'Þœ“ÊO‚x#þÝx‚þw”ÊÁàðp€‚xþÝŽþÝx‚ðp;mˆ6#7!#32767676767676&'&'&#"#"'&'÷»vœ» "!0 #?"A=&.&>Ž #!$5>+;6-0$(»œv»# *%;(#8MX!GL!!+Im–6#"'&'&'&'&'&#"'67676327676'#5!#ÚO$0-6;+>4!# Ž>&.&=A"?,.!" »œv»([+!!O7!XM8#(H. % #»vþdBÇ›!!'#537¥êþ‚xúZ‚xþÝ#x‚Zúx¡à‚xú‚x#Ž#x‚úxþÓM'75'3''#ø‚xú‚x$Ž"x‚úx‚àê‚xúZ‚x#þÝx‚Zúx‚þBÇ›'73'7'7#'7!5,‚xúZ‚x#þÝx‚Zúx‚þ¡‚xú‚xþÝŽþÝx‚úx‚àþÓM77#75'73Ø‚xú‚xþÞŽþÜx‚úx‚àc‚xúZ‚xþÝ#x‚Zúx‚êBÇ›'!5!7òwûþ>‚xþÝ#x‚Âúx1òxú‚x#Ž#x‚úxBÇ›'7!'7'7!'4òxú‚x#þÝx‚þ>ûw1òxú‚xþÝŽþÝx‚úxBÇ› 53#5!5ÍÂÂýŽ‚xþÝ#x‚¡úý,ú‚x#Ž#x‚þÓM %'3'3!5ø‚x$Ž"x‚úý,Âr‚x#þÝx‚ýŽÂÂBÇ› !'7'7!#3r‚x#þÝx‚ýŽÂ¡‚xþÝŽþÝx‚úÔþÓM 7#7#5!Ø‚xþÞŽþÜx‚úÔ‹ýŽ‚xþÝ#x‚rÂÂþÓM%7'3'7!!5"þÜx‚‚x$Ž"x‚‚xþÞ"ý,Â#x‚Y‚x#þÝx‚þ§‚xþÝÂÂBÇ(276767654'&'&'4#!5g    @16T)+51@ýô‚xþÝ#x‚¡  àQ87;=49(*‚x#Ž#x‚BÇ(!'7'7!"'&'&'&547>763"j ‚x#þÝx‚ýô@15+)T61@   ¡‚xþÝŽþÝx‚*(94=;78Qà  BÇ$=+#5#53547>76"3276767654&'&'&g@16**)+50AGáä‚xþÝ#x‚äT61@  G    ))87;=49(*àà‚x#Ž#x‚H;78Rà  H  BÇ$=23'7'7##5#"'&'&'&54767676";54'&'&'&j@16Tä‚x#þÝx‚äáGA05+)**61@    G R87;H‚xþÝŽþÝx‚àà*(94=;78))ß  H  BÇ›F26767676763226767'7'7#"'&'&'&'&'&"#"'5[ #$! ‚x#þÝx‚,"    "/‚xþÝ#x¡   %$   ‚xþÝŽþÝx‚ "  ! ‚x#Ž#xB²¯#'7#533'7'vÃ8«1¦‚xþÝ#x‚Ã8«1¦‚x#þÝxÁþñ'è‚x#Ž#x‚'ç‚xþÝŽþÝx9ÿû~š 7'7…–cþ°ŒîŠkný"«Ý[Ô k‹îOc–uþP¥%þ¤·8ƒ 5!#ЂxþÞ"x‚hà©‚x#Ž#x‚ûw©™ƒ !#!'7'þzàf‚x$þÜx©üW‰‚xþÝŽþÝx·ÿâ8e !3!5Јàý˜‚xþÞ"x¼©ûw‚x#Ž#x™ÿâe '7'7!3‚x$þÜx‚ýšà¼‚xþÝŽþÝx‚‰üWº5p !5!7#7[þ_‚xþÝŽþÝxwàü©‚xþÝ#x?ÿâ°^ !3!5Xxàü¨‚xþÞ"x¼¡ý‚x#Ž#x2XŸ '5476767632#4'&'&'&7#7,#!A=PNZ]KS;>#"Ö!*#13#'D‚xþÝŽþÝxq!TPA>! #;SK]ZNP=A!#q‚xþÝ#x‚%'C "()/ZOR?<# !>APT2ÿìŸV 5!7!##2lûüvœ»<œýĻʌŒÁv»ýÄœ<»Bÿâ  !!#33#'7!5!'7x‚ýp‚xþûÂÂÉÂÂþûx‚ýp‚x x‚à‚xþûÔüŸý,þûx‚à‚x7ÿÙš42#"'&'.5476732767>54/#7!ß&>((*MGgZsn_aMOP(%R«.-'<0CA57---0»vœ\˜bon_cMG.(()LNÄkoaZU•-8:>=96/(-,r=ZH»œv»7ÿÙš4#5!#53276767654'&'7#"'&'&'&5476ò»œv»0---75AC0<'-.«R%(POMa_nsZgGM*((=\»vþd»HZ=r,-(/69=>:8-•UZaokÄNL)((.GMc_nmd˜BÁ›5!B#x‚4Á·#x‚àBÇ¡!!BMüÌ‚xþÝ¡à‚x#øÓM3'#ø¸"x‚àMþÝx‚üÌþÙM#'Øà‚x$Mû³4‚x#BÁ›!5!'7û³4‚x#Áà‚xþÝBÇ¡'7!5þÝx‚üÌ¡·þÝx‚àøÓM!37øà‚xþÞMüÌ‚xþÝþÙM!#73ضþÜx‚à#x‚4Bÿâš  '7!5!'7 5!!þÝx‚üÌ4‚x#û³#x‚4üÌ‚xéþÝx‚à‚xþÝýŽŽ#x‚à‚x ÅM  '#' #737¾"x‚à‚x$rŽþÜx‚à‚xMþÝx‚üÌ4‚x#û³#x‚4üÌ‚xBÿâš 5!!'7!5!'7B#x‚4üÌ‚x*þÝx‚üÌ4‚x#éŽ#x‚à‚xÁþÝx‚à‚xþÝBÿâš'5!!!!5í«#x‚4üÌ‚‚4üÌ‚xþÝ>«Ž#x‚à‚‚à‚x#Ž ÅM73'#'#'3i«Ž"x‚à‚‚à‚x$Ž¢«þÝx‚üÌ4‚‚üÌ4‚x#Bÿâš'7!5!'7!5!'7ä«þÝx‚üÌ4‚‚üÌ4‚x#>«ŽþÝx‚à‚‚à‚xþÝŽ ÅM%#73737#hªŽþÜx‚àƒà‚xþÞŽ««#x‚4üÌ‚‚4üÌ‚xþÝBÿâš '7!55!þÝx‚üÌ#x‚4¼·þÝx‚à·#x‚àBÿâš !! !5!'7BMüÌ‚xþÝMû³4‚x#¼à‚x#»à‚xþÝBÇ›!73!!!'7#5!!™{Va6úþÈPˆþEV`6»DxþÝ#xúþ\HHVßž;cffœ:bDx#Ž#xªHHBÇ›!7'#53533'7'7##5'35#žHHçþâDxþÝ#xDDx#þÝxDçççHéHHfDx#Ž#xD¼¼DxþÝŽþÝxD¼¼fHBÇ›!'7#5!7!5!73'7/!7'!8þ…Va6ú8Pþx»V`6»Dx#þÝxú¤HHþªƒž;cffœ:bDxþÝŽþÝxªHHBÇ›!!5!3HH\ý DxþÝ#xDöyHHfDx#Ž#xDfþÓM#'3'#' fDx$Ž"xDfI\ü¤öDx#þÝxDý \HBÇ›!5!'7'7!5!7žü¤öDx#þÝxDý \HyfDxþÝŽþÝxDfHþÓM%37#73±fDxþÞŽþÜxDfHñ\ý DxþÝ#xDöü¤HBÇ›5!'7'7%!7'!™DxþÝ#xDŸDx#þÝxDýûkHHý•HƒDx#Ž#xDDxþÝŽþÝxDfHHHþÓM'3'7#77'ºDx$Ž"xDDxþÞŽþÜxªHIIHWŸDx#þÝxDþaDxþÝ#xªHHkHH}ÿÆ6##7!#ŽV`Jýê»vœnJÄVý¢Jpœv»ýêJ›ÿÆT '#5!#5'5Cý¢Jnœv»ýêJ`Äý J»vþdpýéJ^V›ÿâT›%753!5373™ý J»vþdpýéJ^Vó^Jýënþdv»Jý }ÿâ6›%33!'38V^Jýépþdv»JóV`Jýê»vœnJBÇ›!!!!5!!qüYýNxþÝ#x²üèdfYfx#Ž#xfBÇ›'!5!7'!5!7!5³Yüè²x#þÝxýNYüdYfxþÝŽþÝxfYfBÇ›3773#''#5[¬KÂÁLnDvÁÂv‚xþÝ#x¡PÎÎPà~ÚÚ~‚x#Ž#xBÇ›'7'7#''#5377v‚x#þÝx‚vÂÁvDnLÁÂK¡‚xþÝŽþÝx‚~ÚÚ~àPÎÎPþÓM%#5#535#535'3'3#3Øàúúúú‚x$Ž"x‚úúúžžžÂV¼‚x#þÝx‚¼ÂVÂþÓM3#3#7#75#535#5353Øúúúú‚xþÞŽþÜx‚úúúúà®ÂV»‚xþÝ#x‚»ÂVŸBÇ› #553353!Æ‚xþÝ#x‚C»{»¡à‚x#Ž#x‚àààààþÓM 5'3'#7#7ø‚x$Ž"x‚áßànÆ‚x#þÝx‚Æ}»»þÊ»»BÇ› 3'7'7+53#53°Æ‚x#þÝx‚Æ}»»þÊ»»¡‚xþÝŽþÝx‚àààþÓM 7#757'3'3Ø‚xþÞŽþÜx‚àßà߯‚xþÝ#x‚Æ}»»6»»BÇ› !!#3x‚ýp‚xþû–x‚à‚xþûÔBÇ› 3#'7!5!'7ÍÂÂþûx‚ýp‚x–ý,þûx‚à‚xŠØ 5!5! !!5¤¤ýcþm“÷ý ê¹¹]¸ýý§§çþ€ÁŠ 333'#!#°\¸^º¨èþ€æ¦Zý¤þùý ÷“AŠÌØ !!75!!5œý¤þøý ö”ê]¸]¹þYç€çþYÁŠ ###3!3"^¸\¸þZæ€èþX0ý¤÷ý þmÁŠ 3'335%!!# #Ä^º¸\¸þä€þ€æ¦¨èàz¸¸þ†þènnZþÞg“þmþ™ÁŠ %3'3#!5%# #3!Ä^º¸\Ò^þ榨èÊü¸¸ýdddZß“þmþ!þèÁŠ #!5#7'# #3! Ò^Ô^º¸æ¦¨èÊüî÷ýÇdd9c¸¸ý¾ß“þmþ!þèÁŠ # #3!3#!!5#3¨æ¦¨èÊüîf–\Ò F Ô^ß“þmþ!þèוýdd•ükn’ÁŠ'33%# ##!#'37"º¸\¸þç馨ééèþ€æ`º¸\\\~¤¤ýÜ$y“þmÜýå?¸¸TTÁŠ %3'3#!5'3!3#7# ##'37Ä^º¸\Ò^pÊüîÈæé馨éé躸\\\¾À¤¤þ@ddZþèÜ“þmÜ?¸¸TTBÌÝ 5#35!7'!!!5 5ddœ¸¸ý¾þèß“þm’Óý¢Ó]¹¹]þäÉÉçþYþYç'ÿì d!#7!##‹ügävœ»<œýÄ»dgüdþ¥v»ýÄœ<»,¥x!5!!53753¤ûœþôþdºýÄœ<¼cûgüü‚»<œýÄ»þdÁŠ 3'3#7## #3 3Ä^º¸\\¸º^þ俦¨èèþXþZæZ¤¤ýÖ¤¤Ç“þmþœþm“BÇ›676323'7'7##"'&'#58X„)O$A?“‚x#þÝx‚“:[‚†V6N¡J9\ 63S‚xþÝŽþÝx‚H9ZY8Jà ÅM 3'#'737Ž"x‚à‚xÀþÜx‚à‚xþÞMþÝx‚üÌ4‚xüÖ#x‚4üÌ‚xþÝBþã'7!5!'7!5!'7!5!'7ä«þÝx‚üÌ4‚‚üÌ4‚‚üÌ4‚x#««?«ŽþÝx‚à‚‚à‚‚à‚xþÝŽ««ŽBÇ›#5!5!53!<Âþá‚xþÝ#x‚ÂSÁúú‚x#Ž#x‚úúàBÇ›!5!53!'7'7!#”þ®R ‚x#þÝx‚þàÂÁàúú‚xþÝŽþÝx‚úB½›'7'7###5353v‚x#þÝx‚§Í§‚xþÝ#x‚§Í¡‚xþÝŽþÝx‚þü‚x#Ž#x‚úúBÇ›533##5##5#5353NÂÂXÂÙ‚xþÝ#x‚Ù¡úúàúúúú‚x#Ž#x‚úúBÇ›3533'7'7##5##5#5353ƒWÂÚ‚x#þÝx‚ÚÂW¡úú‚xþÝŽþÝx‚úúúúàúBǨ#5##5#533333'7'7åj%j‘‚xþÝ#x‚‘j%j‘‚x#þÝx‚Áúúúú‚x#Ž#x‚þùþù‚xþÝŽþÝx‚ŠØ  !!5¤¤cþm“÷ý 깹þÉàBŠÌØ 7!5!œ¤þùý ÷“êþ޹þY7à7þYŠÌØ  ! 7˜þm“¡“þmýü¤¤g¤Áþɧ§þÉ7þYþY7)¹¹rþ޹!°Õ !!!!hŒþé)þm'Z‹\'þmcüÕþqú+ÿã½ð76! !&'&"2767!! '&  '& Q(þ‰ 5øjjø5 w(Q þÚþÙ  êsÊÉÉf’)råþèþèår)’fÉÊÉswÿãZe 0563 #"'&547632654'&#"3276767&#"l’j/‡<F½“£ªh|olÔnh'8 _§S}()G:3?1&QŠ‚3!eÜ$þût·qƒþ¹z[n¸Ì ERAIo:«ü±I-.$,Q?I­ŒY£CÕ 7!!5!!5!!£pýpý ü`û|ç†ñú+£ÿ¡C43!!#7#53#5!!5!3!”À ýc¿D“hû>hþZ×™rr¶h4_ú+__û|ç†ññþzçþ„|?X”­!0?"'&''7&'&54767>2"&'2767>54'&ww&'''OO¾Ý_:3www('''OO¾Ý_;4ò•AA565 ÷¬þ A•AA565 ¬ww49_pm__ONP(&www4;_mp__OOP((D56€MJ@ö ”þ  56€JM@ÿúÙK@&%h¬ÔÌ91/äì90KSXÉÉÉÉY"% !!{þíþî‘ðû!Ý5ü˲úqÿúÙ!!{ýÛþßþ²üËþƒúqdmôC±q?°3° 3±Áí±Áí±Áí°°Þ°2±Áí±Áí°°Þ°2°2±Áí±Áí±Áí013!!"&63!!"!Q )Sñþ’öö’ñþS) ‡PH{ŽæÌ_ž_ÌæŽ{HPædÿ;w¹ +m±q?°3°3±Áí±Áí±Áí±Áí±%Áí°°Þ° 2°2°2±Áí±Áí±Áí±Áí°°Þ°2°2°2°2±Áí±Áí±Áí±*Áí±+Áí°/°"/01#"!#73#!!3!!"'&'7&'&63„S) W¼ ®J×+!yœþ•œ ñþ53W ×^c>Hö’Ž{HPæPHC4|ÅPuæþ_æþ`æêPú`—¯ž_ÌcnƒB° /° 3° 3±’í±’í±’í°°Þ°2±’í±’í°°Þ°2°2±fí±fí±fí01!!3!!".>3!!"Uüè*^Œòþ’÷÷’òþ‹_*ñÞ&,bÞ‰íí‰à`+dmôC±q?°3°3±Áí±Áí±Áí°°Þ°2±Áí±Áí°°Þ°2°2±Áí±Áí± Áí01&'.#!5!2#!5!26767!5€ )Sþñ’öö’þñS) üämPH{ŽæÌþ¡þbþ¡ÌæŽ{HPædÿ;w¹ +k±q?°3°3°*3°+3±Áí±Áí±Áí±Áí±Áí°°Þ°2°2°2±Áí± Áí±Áí±Áí°°Þ°2°2°2°%2±Áí±Áí±Áí°/°"/01%326767!73&'&''7#53!5!&#!5!2'#܃S) þîV¼ þSK×,"xþëk› þñ52X ×^c>Hö’æŽ{HPæPHC4û„ÅPuæ¡æ æêPú`—¯þbþ¡ÌcnƒB°/°3°3±fí±fí±fí°°Þ°2±’í±’í°°Þ°2°2± ’í± ’í± ’í01!5!&'&#!5!2#!5!276|üç*]Œþò’÷÷’þò‹^+Þ&,bÞ‰íþêí‰à`+˜þL9î@¸·__ÔìÔì1Üìì20!!!9ÿþ_ÿîø^Óù-¢þLPî *@ · ¸·   Ô<Ä91Üìüì990 5!! !!5mþÀýyÁþ=šü/9)ŒÕý üæÓ‡B ú·vüÌ1Ôì0!!BKûµúîXy !!5!3!!!5!òþfšíšþfšûß!bìbþžìþžîÿÿqÿB`ÕÿÿyžTU þeÿÿt´rþÿÿXÑ)#É1ÿÙ–¾ ,@  ½¼   ÔÄ91Äüì90'%3##q@`ªƒØ4þ4»ÛžÆ{ý»$Ðùëøÿÿ1ÿÙ–v&!uÿ)†ÿÿ1ÿÙ–e&!=ÿ=†±ß  %.#"326"&'#"&54632>3"3Ÿ6J032#"&'#"&54632Õ0P2;JC88bý6J0#@ a/<ü<1@h h/ì/ì047632&#"#"'732ëUp†s•XlNGUnˆs•XlNGD"•McoŽH©ùÞ•McoŽHþ^Ñ#+4632&#"#"'732%4632&#"#"'732ñro‘nQ.A&ro‘nQ.A&ýõro‘nQ.A&ro‘nQ.A&D"‘´K&©ùÞ‘´K&©"‘´K&©ùÞ‘´K&ÿÖþ^û#+A4632&#"#"'732%4632&#"#"'732%4632&#"#"'732aroKnR&roKnR&þ‹rnLnR&rpKmR&þŠroKnR&roKnR&D"‘´Kz©ùÞ‘´Kz©"‘´Kz©ùÞ‘´Kz©"‘´Kz©ùÞ‘´Kzÿÿ“iB£'–4þW'–þÒþW–ÿÿ$ÿÿ”i>£'–0$'–þÓ$–þWÿÿÀi£'–ÿÿ$–þWÿÿ“iB£'–0$'–4þW'–þÓ$–þÒþWÿÿB ó&–tJiŸ£ !!!!!!PMþ³Mþ³üøêýÖþ“:þ“>ëÿÿ/6¦Ó'–þnþ$'–þoT'–˜þ$'–”TÿÿXyý'–ýî'–~7XÔy0#"'&'.#"5>323326yKOZq Mg3NJN’S`‚u_Gˆ0ê;73 ":?å<776<XÔy032?3632.#"#"&'XJˆG_u‚`S’NJN3gM qZOK0A<677<å?:" 37;Xcyž&#"5>323267#"''ä43NJN’SFX‡É‰;5GˆJKOK[‰ÉC :?å<7Dþj323326!!yKOZq Mg3NJN’S`‚t_FŠü(!ûßZé<73 ":?å=676=ÁëX'yü#"'&'.#"5>323326!!yKOZq Mg3NJN’S`‚u_Gˆü)!ûßüê;73 ":?å<776<þYíX z'767'"'!!'7#5!7&'&567676ò·F^UE;eFT(O^ýj–ŒgÑR…;uIF\<[ETFR‚ &ÉÆþ¼'"Bè6$¨ëþùP·ëæ(9âL5hX<yé"#"'&'.#"5>323326!!!!yKOZq Mg3NJN’S`‚u_Gˆü)!ûß!ûßéê;73 ":?å<776<þPìãíXÿ©yé.#"'&'.#"5>3233263!!!'7#5!7!5!7yKOZq Mg3NJN’S`‚u_Gˆ`ªþ¹–Ýý‡a°«G–þ#z`°éê;73 ":?å<776<þPìãí“uíãì“uXÿqy/7#5!7!5!7&'&#"5>3236767!!!!'þ¦\þžÂUQ:43NJN’S`‚jÚNDJKHEL=aþ?]ý‚RÚ<íãìÒ# :?å<77 YÀ Aê;•ìãíÊXXþyü7Z@110+5.*'   '’.5’ ’ ’810*8ü<ì291ÔìÔìÔüÔìÀ99999990#"'&'.#"5>323326#"'&'.#"5>323326yKOZq Mg3NJN’S`‚ t_FŠIKOZq Mg3NJN’S`‚ u_GˆZé<73 ":?å=67 6=âê;73 ":?å<77 6<X=yÄ4&'&#"5>3223267#"'3267#"'&''75>3243NJN’S`fÛ]GˆJKO)-D\NFŠIKOZq gÛZ·pN’S#(þ  :?å<76Zë323326#"'&'.#"5>323326!!yKOZq Mg3NJN’S`‚ u_GˆJKOZq Mg3NJN’S`‚u_Gˆü)!ûß²ê;73 ":?å<77 6<þ ê;73 ":?å<776<þYíXy³7R#"'&'.#"5>323326#"'&'.#"5>323326#"'&'.#"5>323326yKOZq Mg3NJN’S`‚ t_FŠIKOZq Mg3NJN’S`‚ u_GˆJKOZq Mg3NJN’S`‚u_Gˆué<73 ":?å=67 6=}ê;73 ":?å<77 6<þ ê;73 ":?å<776<X<yé"32?3632.#"#"&'!5!5XJˆG_u‚`S’NJN3gM qZOK!ûß!ûßéA<677<å?:" 37;þùììþ1ííW©yY %52% $'"51þpþ¶Z¸¹Vý(Iþ§¸¹þ©Øœåœ£åþ¶œåœ£åXyð;76767!##"'&'&'#5!!5367676323!&'&'&i1*+VÙ /J]?3hG2"ÙW,!::!,þ©Ù"2Gh3?]J/ Ùþª+*%'H@4ë50U(33!\?&ë5?H'â'H?5ë&?\!33(U05ë4@H'%X'yð!!5367676323!&'&'&!!i:!,þ©Ù"2Gh3?]J/ Ùþª+*ý¾!ûßõ'H?5ë&?\!33(U05ë4@H'%þíÿÿX'y¨& –)ÿÿXÿZy¨& '–ýH–)ÿÿXÿZy¨'–þ—)'–kýH ÿÿXÿZz¨& '–þ—ýH–l)Qý€ !!!!3#3#—éýéýþºììììí´ë²þ¿ þ¾Qý€ !5!5##:ýéý/ìììííÇëëþcþ¿AÈþ¾BX'yÛ 365&'!!5!&547!5!!%43‘44Äûßþþ!ÿð0?=00=G(Üíí?.4;ëëU.X'yƒ !!!!"264&'#"&5476X!ûß!ûß3FFfFG2ƒTUZY€¬X^í´ëâD11CCaE±RR}wWT¦||U[X'y¹!!!!2&'56X!ûß!ûßçÊ×ÚØÜÒí´ëÉ—ô— žô—X'y˜!!!!3# X!ûß!ûßÖê¢éÂwtí´ëM[ý¥*þÖX'y˜!!!!33#X!ûß!ûßÖÈtwÂé¢í´ë¨þÖ*ý¥X'y{!!!!!!%X!ûß!ûßjCdfAþûfþøþúdí´ëY2þξþ;¾3X'y !!!!33!X!ûß!ûßiÓ¡oýUí´ë þî3ý'X'y!6=Q!!!!53#5#"&4632264&#"%#3267#"&546324&#"#"3##5#535463X!ûß!ûßii3#32#6454&#"#4&#"#3>32V"ûÞ"ûÞV!Z6^b¯"%25¯'26¯¯ R28Wí´ë35uoþ² :5SNþó[5SMþò%Q//7V'x:%)!!!!#546?>54&#"5>323#V"ûÞ"ûÞJ´ 6 0*)^3@"   v v  ü<ì291Ô<ì2Ô<ì2.À990!3!!!'7#5!7!N“ü–’¢þÅ®éýmü–’¢A°þÛ1}´ëÜíþϲíÜX<yÆ !!!!!!X!ûß!ûß!ûßøìãíŠëXÿy{!5!73#!!!!'7#537!5!~ýÚ’PÛ$ˆôfZþ=e(ýlNÛ"†ñeþªÂÛëµbSëãìãí­bKíãìXÿ y‚ !!!!!!!!X!ûß!ûß!ûß!ûß‚íºíºíºíXy¨ &@v  ü<ì2291/ìÔÌ90 5!5yýãûß!ûß´ÑÑóPëNüFîîXy¨ &@v  ü<<ì291/ìÔÌ9055%!!X!ûßãý!ûß´ôþ²ëþ°óÑþ îXÿy 3!! 5!5X!ûß!ýãûß!ûßí ÑÑóPëNüFîîXÿy 3!!55%!5X!ûß!ûßã>ûßí ôþ²ëþ°óÑþ îîXþ}y#5!7!5!73!!!' 5ê’ZYþM{~¡ þ¦X²ý†¡šýãûß!ííi îií–‰ÑÑóPëNXþ}y#5!7!5!73!!!'55%ê’ZYþM{~¡ þ¦X²ý†¡‡!ûßãííi îií–‰ôþ²ëþ°óÑWÿ‘yq&%5767$'567¶þóRȳÇ}v”ÖœP¸ þ«Ä³Ç~w•ÔžÝå§»PþÊ(Fåd%Æå©þEP7(Gåe#Xÿúy%5%7%'Ðþˆbk›8ñþ¦jÄýñyšüõ¼x”ìï!:•_ú|þå¡ùÏþ¾:¥XCXÿúy'75%%57'xýžk›8ñZjþ<yšüõ¼Š”ìïþß:•_ú|¡ùÏB:ý[XCXÿ<yD7%!!'7!5!7%5%yã¹k¿þåSnþKAöý¶Dµ*þøZWþOzdµ#@4¼=ôPêhó‹¼îÄLxî÷ŠëÈ"LXÿ<y@7'#5375%7%5!!'’©‰þ zÌ0üVFþdæjµeýÁG†ý'Cµ³0'üöîPóaÌuôž6LþÜvë·ÊîÄLXÿ²y¨!#"'&'.#"5>323326 5yKOZq Mg3NJN’S`‚u_GˆJýãûß!ê;73 ":?å<776<çÑÑóPëNXÿ²y¨!#"'&'.#"5>32332655%yKOZq Mg3NJN’S`‚u_Gˆü)!ûßãê;73 ":?å<776<çôþ²ëþ°óÑXÿ<yD+.7%3267#"'&'&''75>327%5%º¿þåRmþKKt`GˆJKOZq Gµ:GAFJN’SMþOyeµþŒá¹l<ôPëgó‹Ú 6ýãûß!¢ôþ²ëþ°óÑ´ÑÑóPëNXÿ yy  5 55%yýãûß!ûß!ûßã¢ÑÑóPëNïôþ²ëþ°óÑXþTy1!7%'757%57%5%77'à4¦÷PGþx0¸ý–eà4¦÷Pþ¹‰0þGkB$Þë$Þ1F¦4ôFÿ\ó}š‹ëÄþ»F¨5óF\ô|šŒëÃüt?®t?XþTy15%%''5%75%7XZuàuçþ•:¥þ &ý¦uàvèk;þZô&…ô¾vFþ‰Iës¼…ô}˜ó¿þˆFyJës»†ó}Vÿ¡wa%&'567$wþãþ«Sëþh²ìºäœçÿþ¤"/þ±þž_žD$ö#Q’_Vÿ¡wa%$Vçœäºì²þhëSþ«ÿbþ¡’Q#ö$Džþ¡bO/"Xþ[yó5%$X¦{þqþïþ±Qþ_ý€Œ•#ëpýÿþ¾O÷þíKIþëþ®÷4 &Xþ[yó%%$yýnþq{¦ûß•Œý€þ_Qþ±#yý±Bp“Rýû&þö4þ RIKXÿ2yó%%#"'&'.#"5>323326%$yKOZq Mg3NJN’S`‚u_GˆJþïþ±Qþ_ý€Œ•Žê;73 ":?å<776<TþíKIþëþ®÷4 &Xÿ2yó%%#"'&'.#"5>323326%$yKOZq Mg3NJN’S`‚u_Gˆü)•Œý€þ_Qþ±Žê;73 ":?å<776<TRýû&þö4þ RIKVÿwô67&%'&'567677\ßRN@ˆ”Eº§ªþû´ß¾²ë¶è\SiôIýRaþž¥_ÓbÃþžþ™ýÖIGE#ö"R!+þ¼Vÿwô'76?&'67&qßRN@ˆ”Eº§ª´ß¾²ë¶è\SiòIýRab¥_ÓbÃbþ™*Iý¹E#ö"R!+DXŠyx!!"3!!"'&5476?:ýÆn˜LMm:ýÇ×ƒŽŽxáš|~KM᎚ÏÙŽXŠyx2#!5!27654&#!5’ÌŽŽƒ×ýÇ:mML˜nýÆxŽÙÏšŽáMK~|šáXÿŠyy %&'&5476;3!!!"''#"T=1ŽŽÌ†c³HæþÂØýÇc³w.n˜LÂ!5šÏÙŽE¼áýÔáþþFÇš|~K XÿŠyy +'7#5!!5!232654'&'}=1ŽŽÌ†c³Hæ>Øýê9c³þ‰.n˜LA!5šÏÙŽþÿE¼á,áFü9š|~K XÿØy)%!5!!"3!!"'&5476yûßç:ýÆn˜LMm:ýÇ×ƒŽŽÆîîcáš|~KM᎚ÏÙŽXÿØy)7!!2#!5!27654&#!5X!ûß:ÌŽŽƒ×ýÇ:mML˜nýÆÆîQŽÙÏšŽáMK~|šáXÿyÖ(#"3!!!"#!!'7#537&'&5476;7ŽOn˜L!ñÆþãÕòýÇ-uý/Kµ.~Û=M=ŽŽÌ¦C³Hš|~KîáýÔáuîÄLxîž#BšÏÙŽ­EXÿyÖ(!5!27+!!'7#537!5!327654/¶ØýÊ:*'E³E/&ŽŽƒ×`-uý/Kµ.~Û-þø/ mMLL ,á³E²(–ÓÏšŽuîÄLxîuáMK~|M Xÿy)!%!'7!5!7#"'&54763!!"3!!yþ(­¸6þæØ^N×ƒŽŽÌ:ýÆn˜LNl:þß=6ÆîØ”DîuŽšÏÙŽáš|~KMá1DXÿy) 2!!'7!5!7!5!27654&#!5’ÌŽŽKh]6þ(­¸6þæØ^ýÊ:lNL˜nýÆ)ŽÙÏšR"KDîØ”DîuáMK~|šáXVy¬!!!!X!üÊ6û߬ëý€ëXVy¬!5!!5yûß6üʬûªë€ëXÿìy 5!!!!!X!ûß!üÊ6ûßëë*ëþ@ëXÿìy !5!!5!!5yûß!ûß6üÊë?üjëÀë3·Ô3?2"&'&'&547676"2767>54&'&'3!!#!5!ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:FíªþûªþüÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9þúªþýª3·Ô372"&'&'&547676"2767>54&'&'!!ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ³ýMÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9þäª3·Ô3?2"&'&'&547676"2767>54&'&'77''7ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ8x¹¹x¹¸y·¸x¸ÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9¸yº¹x¹·x·¸x¸3·Ô372"&'&'&547676"2767>54&'&''ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ±xéxÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9ý_xéx3·Ô7!!2"&'&'&547676"2767>54&'&'ÁMþ³.óÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:F/þ“XVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;93·Ô3BL2"&'&'&547676"2767>54&'&'2#"&546"32654ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:F˜7b%&'œqq—šœX>=,-?ÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9d)'%`8nš—qqœ¡>Z<=,,3·Ô!)/7?E2"&'&'&547676&'&'&'75676767'%654'ïóÑWV,+++WWÑóÑWW+++,VW:F!#¬!E:ßþÙ Öˆ :E!¬#!F: ×& ÝÓXVWih{xihWVXXVWhix{hiWVþþ9þõ  9{18@9pø 9 ö÷9 w:A92t3·Ô!;!!!!2"&'&'&547676"2767>54&'&'+{ý…{ý…ÄóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:F@ XVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;93·Ô372"&'&'&547676"2767>54&'&'!!ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ³þMÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9þäª2K¡º 3!!#!5!!!!ªþûªþüáüèªoû‘ÝþúªþýªþüåÅû‘2K¡º !!!!!³ýMåüèªoû‘תþÈüåÅû‘2K¡º 77''7!!! yææxæåxååxåüèªoû‘ixçæxæäyååxåþsüåÅû‘2K¡º !!!!!ÁMþ³3üèªoû‘/þ“ÍüåÅû‘B!!#/^ü¢íýöîýôB!!5!3 ü¢^í î úüB!#!5þRíþPîûêîB35!3!B®í°îûêîÁ·w Ôì1Ôì0!!ÁMþ³þ“ávð\ !!'â*]])ñ]òò\@þä¯þ寯X'yü32?3632.#"#"&'!5XJˆG_u‚`S’NJN3gM qZOK!ûßüA<677<å?:" 37;þííXýÓy5 -5  5!5Xãý!ûß!ýãûß!ûßþÇÑÑóþ°ëþ²nÑÑóPëNüFîîXýÓy5 555%!!yûß!ýþÂ!ûßãý!ûßþÇôNëPóÑ©ôþ²ëþ°óÑþ îXy¨ %5!5!yûß!ýãûß!ôôNëPóÑõîXy¨ 7-55!Xãý!ûß!ôÑÑóþ°ëþ²ºîîXþ[yó$%$X’þ…ýZ!þkýt€¡þñþ¯O+yOþ¾ýÿpýmþ®& 4÷þ®þëIKXþ[yó$%$yýZþ…þqOþ¯þñ¡€ýtþk+ëpBý±ü KIRþ 4þö&ýûXþ ym!$67&'%'&'57&'$77ÙáIyœ±'Ȭ½ë)ÂÛþØ~ዜ®Ë°(Äßí8m0þ¬pšþ®ž[µ^°þ®äˆ¿þúþ¾D·ý¶0†A ë!F¼I lþúXþ ym!67'6?6?$Xà,uá|•¦Õ¼0Íôþéè‚áJy“À7Ù±Ñùþÿ¡Rþâ‹#0ý½( þöDà](ë3ˆý¤0Zˆ³BÇ‹ý„ÕRÖ\R\XþÜy&3#!!!!'7#537!!!>ØF©ý¡žþ =0ý|bØF©ý=þÆ„õ¡þ»&NÂëþ@ë©ëþðNÂë©–ýUÀþ@XþÜy&3!!!'7#537!5!!5!3>ØF©þ =0ý|bØF©ý=þÆ¡ýЄ ¡³&NÂüj©ëþðNÂë©ëÀëëþ@ÀXÿy5!7!!!!!!!'7XÛwý®!üÊ6þµ_H4þ%£·Hë©–ëþ@ëCfëçfXÿy!!!'7!5!7!5!!5yþµ_H4þ%£·HþÌÛwý®6üÊüjCfëçfë©ëÀëXþ½y¨" %3267#"''&#"5>327%5yýãþÃL;5GˆJKOK[_Éb43NJN’SFXHýç!´ÑÑóeâ3275%X!þV€_;5GˆJKOK[_Éb43NJN’SFXJýåã´ôþ²ë‡,þæ323267#"''yþïþ±Qþ_ý€Œ•ýk43NJN’SFX]É_;5GˆJKOK[_É¡þíKIþëþ®÷4 &ù® :?å<7Dþæ323267#"''X•Œý€þ_Qþ±{43NJN’SFX]É_;5GˆJKOK[_É¡Rýû&þö4þ RIKü :?å<7Dþæø # #hÖÁþëþëÁøýGšþf’þò>¬ 3 3hþ*ÁÁþòºþfš’>¬ # #!!hÖÁþëþëÁ ™üg¹ýGšþf¬’>¦ # #!!!!hÖÁþëþëÁ ™üg™üg¹ýGšþf¦j¦þò¢!#!¦üòþö¾ùœ/þò+!#5+þöòøÞd¾¦þò¢!3¦ òþò"ùœ¾/þò+!53!+þò þò¾d–¯R!!3#ò½þCÜRLþ  –¦R!!3# ½þC RLþ ¯~3#!!ܽþC~þ L ¦~!!3# ½þC R¼þ Xjyƒ!#yüÍîƒíþÔGèŠ,$%%$únnƒƒþ’þ’ƒþÊÁÁ!"ÁÁýßœ„„nn‚‚þ’ýÞ 8ººýôýʸÿÿ°Ë €œ°Ë!%6 !&'&"Ëû;1˜1™2ûõQ2–qàp–°`°XX°ÁV@@V¸Y  67"7Ò,›J5þPþP5J•ÈkÐÎX*7ýú7*I=ûûœÛP"2642#"''7&546÷©xt­yΞi56ØwYÎeÏ:Ö©v¬uv©o3…N˜Ö=ÎeÎXtØ#îO'+6@KV#"&46235462+32"&=#"&46;5#'54&#"3!3264&#"32654&#!#"3265§‚k——Ö˜‚—Ö——k‚‚k——Ö—‚˜Ö——k‚‚‚L65LL5‚6LM56LM56LM5ýû‚5LL56LJ—×——k‚‚k——×—˜×——k‚‚k——ט‚5LL56LLkLL5ýú‚5KK65LL65KK5Xjyƒ!3!yûßî3jþÔ Ñµœ!#!µýè¨ ýÅËÑÄœ5!#¨ ý5; ÿpµ;!!3µýXËýÅÿpÄ;)3!ýX;ý5åþ‡f477632#"&'&'&#"åjkÜbwL=.> \þ×ÐýÞàbP \†ûÐþÞàbP]ýY­"\þI\\·\\þI·þ`LLMK\y>þÞ>(ËI !!3#!#%33'¯üêÝ(³³(Èd³³&þsÈd¹üß‘þÿþÿÿýÿ4ÿ¼œ^7 hýÌ\ØØ\D?cþäcÿÑ¿!!!±þOÑZ‰øç©øWÿË¿ !!!!5!5!!–¥ü[ÅûË¥ü[¥ü[Zýï©øWþÜëTÿË¿ !!!!!!!!!Í5þË5þËþÉ¥ü[ÅûË¥ü[®þËþþ˰fý ©øWä5ÿË¿ ! 7 !!–¥þ-þ.Oƒ„þ|cû;5ü[ÒZ¦þ.Òþ|„„_øW©ü­Ãý=ÒÿÿÿË¿& ý ÿË¿ #276'&"! '&'676 !%!§ápàqááqàpò¥B`™þϘ_BB_˜1™`Bü[5û;ßýú‚@@‚‚@@ûE¦I7XX7H"H7XX7IÃøW©þ¢Ë3#3#&'$%67%676'&Êff2þÎffÊffþÏ1ffþ¤á=>>=E>>áá>3þ;°ý@°;þ$Ü;°À°;þ¥ýú‚#p#3ü#‚‚#ÿÿtËD& ý kÈÿ4Ë¡ !%!!Åû­,üÔáüË5Ìmø“Æ5Aù¸ÿ4Ë¡ !!!!Ëû;ÅrüÔµ5ÌmùY5Aù¸ÿË¿ !! !–¥ü[ÅûË¥ü[¥ý#ZCoü¾©øW^pKû± þùÿË¿ !!! ;ü[5û;Åü[Ýý#Z²þ‘þ½©üµ»þµüüÿË¿ !%!!%!ÅûË¥ýe‚xþì¥ü[x‚ê©øWã‚xÆÆý x‚ÿË¿ !!'7!!'7!Ëû;Åþìx‚ýe›‚xü[ê©øçýþìx‚ýÂxþìàÿÄËÕ'3273632#'#"'$%65'&#"§ápp./þ­ÝNRR˜™2þó„Ü]PQ™˜þÏ ùp±áqp/Üþý‚@ €ªX°þ þ¶¯þáÉX°`H°>üá€å‚@!þ¢°3 33!#!3!3ÊP“þÊþ“O€J€€3þ¢ú+þ¢^Õû/ýæÿ4Ë¡ 57!!#xðñrû;ráþwÎ/úû³Kürø“müØü-Ñü‰ÿ4Ë¡ % !%!5 !53!]õõþ“Åû­áþþ‚Ý‚üä«üUþPmø“rZ[zú†ÔÿË¿ !! '!'!Åû;´x‚cý½‚xþ~¿øWþçx‚ú†‰ùwz‚xùw!þ¢°3 3!###!##ÊãþmPÊOþmâÊ€€Ê€3þ¢ú+þ¢^Õüâýæÿ4Ë¡!5 !! 3!xáþþSû;Åû­ŠÎ‰üZüKû³þ”mû»yü‰Ñÿ4Ë¡ !!!!5!#]þõýžÅû;ráüáþ~ÝñüU[ø“ûZZµú,Ôú†ÿË¿ !%!!7!!7Åýïþ‚xþ&þž‚þæx‚ê©øW‰ú†‚xpùwx‚ÿÿçÿêÕ&  üÿÿÿËÕ&Û ûÿÿÿË>' gÈ ûÿÿçÿê÷& ý üÿÿÿËD' kÈ ûÿÿÿË¿&  ÿÿÿìZå^&— ÈÿÿÿË¿& ÿÿávð7&— þÿÿÿ-Ƥi& ý þÿ8ÿÿtËÇ' kÈ þ–ÿÿXÏyi&a þÿ8ÿÿXmyi&! þÿ8!°Õ%!567!6!&'&'&'yKHžþ—¶ FJ97§±;íþ6L2J!/,3 4(`™é<ýµ£?å-jýooþÁ Ô  þlXÿãyð(8#"'&56776326"&'&&'&'&'&'3276y m{ø÷{d m{÷ø{cþf/ %#2J!UI*/YKX M3 +/fg/™é þº«ÁÁžå D«ÂÁœþæo}R‘ ( ép}ýI ( " ëq}}RXþ¢y3#"'#&'&#"5>323326yKO32 7 ‘]J3,AI¥¥^9ly—s:932M‡#‡þ%‡üÜÅü§]J3,AI¥¥^9ly—s:932"326=7#5#"&546;54&#"5>32›0û;0]J3,AI¥¥^9ly—s:932ËþÙ'þÙ'þÙý‰þÙ'þÙ'þÙ•]J3,AI¥¥^9ly—s:92".33&'."#67>76#FV“ÊÞÊ“VV“ÊÞÊ“=ÏÀÁÎ m•¦•m ƒ¹&#Km þ%¹„ mK$ÞÊ“VV“ÊÞÊ“VV“‚þ–j,(Km@@mK(·þ¶ mK,þäK/,Km F^Š¢%.!4>2".7!&'."67>54hâþ<þÀV“ÊÞÊ“VV“ÊÞÊ“7@mK%(þØe` 7•¦•7  þØ(%Km@c§ùÞÊ“VV“ÊÞÊ“VV“9S•m %H¼ 6@@6 }ýÛ m•SPF^Š¢ %7'32>4.#52".uˆÐÚtþ&’FÞýð@m•¦•m@@m•SoÊ“VV“ÊÞÊ“Vnt]þ&sÙ’ÞFþUS•m@@m•¦•m@V“ÊÞÊ“VV“ÊÿË¿!!!–¥ü[ÅZ‰øç©øWèýüèm !5! þÝ º¦±­ýüêrâ0þ™ýàþpüèýü †!!è#þ݆övèþè† !&5 Îÿ侻êü«þTþþ_ðCÔêéýüém 5!Æ­±¦º ýüêp gþýýÐþüŽêÆýüé†!0éþ݆öv Šéþé† !!Æ# ÆšÿΆêüþ,ý½ð¡æ¬Uèýüèm!!! þÝþ#ýü qþÝèýü †!!è#þ݆övèþè†!! Ýý†÷±þÝ rèýüèm!!Åþ#ýüN#öÅýüè†!0èþ݆öv Šèþè†!!!Å#ý݆öŽ#ÜýêÁm !4763!!"öþæ{zÝþçf+!ýêuõŒþð0%¡þöy!4'&/32765!-9+eþæn:æ==à@ne(Á =’þïýF®½|AEuĬýHþõ˜<ÜþÁy 3!!"'&5ö!+fþíÚ}{yø¡¡%0þðŒ‰ùWÜýôöy!!öþæýô …ýêõm 4'&#!!2Û!+fþçÝz{ýê}¡%0Œõø‹ÛþÀy&'&!;!76¤<(en@à==æ:nþæe+Á!<˜ ¸ýTÄuEþåA|½ýRº’=þõy !#!!2765Û{}Úþíf+!yø©ù‰Œ0%¡åþå†!åþ †özŠŠ% !!!#!55!˜þm“w€ý “¸ý¤¤öЧ§ç™üç¿þ]]¹¹]ËÄ! !!Ëû;bcû;Å $û<ønþ$cη ÜìÜì1´/<Üì03!3nîîþ$ªþC½ýVÿÿÿìå( $ÿìþåÿ!ùþþûÿìþå !ùþ ýöÿìþå!ùþüñÿìþå!ùþûìÿìþå!ùþúçÿìþå!ùþùâÿìþå#!ùþ#øÝÿìþå(!ùþ(÷ØÿìþF(!Zþ(÷Øÿìþ§(!ºþ(÷Øÿìþ(!þ(÷Øÿìþh(!|þ(÷ØÿìþÉ(!Ýþ(÷Øÿìþ*(!>þ(÷Øÿìþ‹(3žþ(÷Øÿÿiþå( ,} ÿìþF( #'+/3!33!33!33!33!33!3¦ ü䟟Ÿüåž ü䟟Ÿüåž ü䟟Ÿüåžþþûþûmþûþûnþûþûmþûþûnþûþûmþûþûÿìþå(%8K#!1!!!!!!!#!1!!!!!!!#!1!!!!!!!#!1!!!!!!F ?þÁ?þÁ?þÁ?þ"Ÿ>þÂ>þÂ>þÂ>þ#Ÿ>þÂ>þÂ>þÂ>þ"ž>þÂ>þÂ>þÂ>þ(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþûÿìþå(!%)-13#3#3!3!##!#3#3#3#3#3#3#žžžžžÞŸÞŸ þ#ŸŸŸ|  þŸŸþŸŸ|  þŸŸþmÖÖþû÷Øþûþû¶þûýýŽþûýÿÿÿì#å( !#ÿÿEþä( /Zÿìþh!|þûìÿÿiþå 6}ÿÿÿìh( 6ÿÿÿìþå(& 6& 7 8ÿÿÿìþå(& 7 8ÿÿÿìþå(& 6& 8 =ÿÿÿìþå(& 7& 8 =ÿÿiå( 6}ÿÿÿìþå(& 6 =ÿÿÿìþå(& 6& 7 =ÿ±Ëw!ÅNÄû<ÿ±Ëw7!!!xáürÅ$àû®Äû<ÿ±Ëw 3!254#!") ) xäääýçärVVþªýçþªääääýèVþªýèþªÿÿÿ±Ëw& J Aÿ±Ëw !%!5!5!5!5!5!5!5!5!5!Åû­áüáüáüáüáüNÄû54&'.#"!624‚HI„347652ƒIH€637þìùúJƒ347744ƒIH‚426532ƒü©<ùÄÿìþå( 67672"'327$%&#"!€ôzzzzõõzzzzþ’1˜™˜™2þΙ˜™˜þµùú4ŒFGýÎFGý@°XX°À°XXùÜ(÷Øÿìå( !#%&#")7632ùþΙ˜™˜þÏKü/ôzzzzõûì`°XX°þ GGÿìþå 3327$3!#"'&1˜™˜™2û›Ñõzzzzôþþ °XX°`ûìþçGG7š| %63"71˜™{yô`°X{GŒþæ7š| 2#'&#8–š2{ô{x|X°þ G7ÿ¬š 527638x{ô{þΚT{Gþ ®Z7ÿ¬š "'$33™™˜þÏ{ôy{TX°`þæŒGË|0#'&"#%632Ë¡áqpppà¡1˜™˜™2ƒA@ƒþþ_±XX±ÿ¬Ë32763#"'$§ápppqá¡þΙ˜™˜þÏþý‚@@‚þ °XX°`ÿ±ËwÅNÄû<ÿ±ËwÅNÄû<ÿ±Ëw!ÅNÄÿ±Ëw!Åvû<Ñ`/3267>54&'.#"467>32#"&'.H+(*h9;i)*,++(i::f+),H736€HIƒ256743„IH‚426úž ŸŸ?þÁŸŸ ž:ý´“II“L“IIüØÞ¸[[¸ý"¸[[ÿ±Ëw !!!!!!Åû­·þIàþIý×NÄû<š¸ü àýÖÿ±Ëw !%!!5!!!Åû­·þI)·ü NÄûjBZ7="¯-?33 #&'&+"'&#"/573;2?"#'57#&'#"#567635a)8Ç)kOkaKA-'–= //G)‰ªÝ,Yþ¦=  !H$ /+þHDH)á+) $., f›ŸYYÿúx« !=Z…±Ü Lx73&'37&'67&'67&'67'32654'&'7654&#"3672 $54767&'&47'&27632#"/#"?#"54?'&5432'&327632#"/#"?#"54?'&5432'&327632#"/#"?#"54?'&5430'&327632#"/#"?#"54?'&5432&5432&56327&5432'&327632#"/#"?#"54?'&5432'&327632#"/#"?#"54?'&5432PO€~ )¹*+'þë)+(@&'$Ê|÷¯®ø|e‹?/A}]\ŠB-7“„1SLoWŽþäþjþã\vLLr%%,* #$ )*n$ % +) $ #*+ý    ? ù'+&þ´()&û(+&p   üò% % +) $ $*+„*EC*Z*,)-)-*,þ%&%&žf“‘ÐБ“fU 5HhfeefhH2Ùpu^èQFs¥£ææ£¥sKQèGþ4 4  22044 22 9     û  ýL%('*Þ%)(*%)(*t     þ144 22 0´r!2CTev‡˜©ºËÜíþ+&'&54?6?6/&2#"/547672#"/547672#"'=47672#"/54762#"/54762#"'=4762#"/547672#"'=47672#"/54762#"/547672#"/547672#"/547672#"/5476l=.%G\&#- Lj.ÄN 0d&K4i¹    }    g    s            &        ‘    þ    Ì    Ù    Á    ÆHƒ5-V"*2¥þ±îíþ±š™û¿-­.ŠøþüøŠ”T<:U'EGE'Dîþ²Nî•””þí–ÖþÓ-Öˆö……öˆU]ÿþÿ\`CD‹cbF]WöøW±ZA@ZZ@AZZA@[[@AZKPrq  qrPGe†ÞÞ†dMPä  äP }ŸÙ2þÎÙ›ÿþ¿k A4&#"26%4&#"326#"547&'&4632 $54'&'&4632XP79NNqOý.N97OO79N'þ«÷õþ«]E‹ac‹DC_\ÿnÿ\U>D‹bcŠEXFDbbDEaaEEaaEDaaþ+èþ¹Gè©„Uò««òUSjŽ©ëë©i LVò««òV‚6›Ê "32654&7#"32?ÉÉŽÉǾ˜þÎÙ×þÎ/Ú`TšcÈŽÉÉŽÈ;™þPþÏ1°2ÓY.£Ë1"264&"3264#"54327&5432#"'&'@Kjj–jiO—iiLKiý÷¡rq¡ rtPŠŸss ¡rqQÜ©ð©©ð©Z©ð©©ðýäTdµþÿµ·€‰IU·þÿ·µþÿ ÿÿ½È)5AMYdp{†‘©µ3/&76'!'47653!476=332654&#"#"&54632'#"&54632#"&54632&'&676&'&676'.7>'.76$6&'&%6&'&6>'.>'.f<‡Ž;Ö.=+ý²,>/Ö;އ»Kyüz~LZ|WX{{XX{IE11EE11ET    m   â  þù  ;  þÉ R   þÿ  Ê  ȇ‹…s@dd@s…‹‡}þ½>}=/Nêþn’êN/=}>þ@‰ÀÀ‰ˆÁÁ‡MllMNkk¶ýéë& % þI% % "!$#  "! "È!!þÖ & %± % & ÉÉ%-5AMYdp|ˆ”¦ÀÚ5#!4'&'5#2#"&546"264&"264"2647>'.7>'.%676&'&>&'&7>'.%7>'.676&'&676&'&753!476=3''676%27/&76'77&'&/#?6'&7ÔliilŒYz{XW|{‰bEEbEd‘  ¹  þì  8  þÁ  @  ñ  Í  .Hxtü¬txH¸%?%5ÈE$„…6  6…„$DÉ5%?%-5!!®1(§ÿÿ§~(1¯ 5,4t4(4Äþ²NÄ4(4t4;¼„…»»…„¼h–hh–à%%þ#%%Ø $ %þ_ $ $ø!"­!$!/!!Š!"þ¿ $ $‹ $ %ê:-,GÙþŒtÙG,-:º XL†¬¢RqqR¢¬†LX ![$n“€[ii[€“n$[!ob !!'!téüKZüùGü•kcÿýn "!!'!##&+572367676hûÿNn_5æ, S Grj3#-EmDûïJü‚~o.(þÉã*!¶4\tR~ƒU…LÚ !!'!  ##' нüCI3ýZ  >þô <þòþõ< þôÙü5ËDü½CXþõ <þóþò< þ÷; ÉYD36273 ##'5&< +ZþÀ@\þÁþ¿\Dþ¼Cýì ûZýäýèYýë\ÿüµ5#,5>~3+&=4%3+&=4%3+&=43+&=4%3+&=43+&=43+&=4%33 #&'&+"'&#"/573;2?"#'57#&'#"#567635@)£A({@(­@){A)ÎA(@A(þ^)4Ä 'iOj_J@,&“< /‰/F(†¨Ú0‘'ù&Ÿ‘&‚'Ü'J&¤‘(lNþÒ5  >! )&þV?<?$¥&$ '& Z‡‹N Nƒ‚ />Eqw†!674#!!6?676'4#'323276767654#3#&'&'&6%67!672!&=75$/563&43!32+'!67#>54&53° *üì, Ç 3)="(&)09$) L&TþE` MPÎøAý[M²H üY þŽ þß$ ;—&&e=O%/ ýNÿý ,8(.7L1Rþà»f~H8SQ,zH%9D6 )jGP@ö4€Rjd¦‰_*KfsûDŽIR 9! O  î-]‘&C+Õ/3#"'43727&'#"$472776725676&5&ûU8†Ã)$ tJ .; Çd3fÿþ,"3' VD (ã™ GL/7;;,g ¹t^F$Ý< ŽLD&?>ÄX4RÈ !/# I ?„‰ P?D!)Mþæv>“/¢z2!"&54676737#&'&54>;7#"&546767!7!"&54>3!6763!2hýô!.)g$'‰Ä30ý¹!/&j ! /:(/  )/ 9)/  9)0:*0¡z2463!2!2#!!+32#3#i9/ ! j&/!ý¹03ĉ&$g).!);0)9  /)9 /*  /(:Ã!!C4&#!"!&3!!"3!#";#"3&'6737#&'6737!"'67!7!"'63!67!2e;'þá+ýpCCo þàCCÿ´CCŽ2CCKK<‹LL¹ÿKK%ý“JJ”60"2=2).=<==<@=:>=;TT USUT UT83$ýQŒEÊ!D72654'6#"'4#"'54#"'54#"'675674767#%ª$4:JILLHOKHLKIhghgighgD>-ü²sJ1 b6'SSý cRRþÄ ßSS®?SS\\K¬\\ä;\\þ–ý]]üÔ!AþŠ*>K›Â !C!254+'3254+'!254#!'!254!&#!"0!463!!2!!#!3#3lCC2ŽCC´ÿCCþà oCCýp+þá'qýª=2"06”KJý“%LKÿ¹LL‹:=@<==<=.)ýg¯%27TT TUST ¨ŒÿùEÂ!C32=732=7325732'654&#'%2&'&5&'5&'ªIKLHKOHLLIJ:4$üëN->Dghgighgh³SS=®SSÝ þÆSSb ýSS'6a!0J)K>*þŠB üÔ\\üþ˜]]:ä]]«J]] ÿþÅ¿O€ˆŸ®µ¼ÍÓÚÞâæêîòöúþ!%)-1523656;2#'7+"/#"'+"5&54775'"'5476;25'7&567635&56;374765'75'76=4'&+ '"'4!#"'&36365&5&#%#754'&5&&547'5367&7+&'&'735&2?"5775537'7'3533553535'32767&5%2?&#%55'575775775uéo,Mz"060D½/²5I:2'5:ƒ†6 &" *:D:­çS46$.e QÉNþð5  u4MDa• 6ªbUþþP+ ,H;`›I23µÖN5(½ý (#I0·MšÓ '^5%Ì#£¥!:X+‘ "*  þìÞã›6W}W:þuW4 5vŽT ­& /Hþ3Vœ ¾œXD9\SL+&31.d+%X!Q $2``KPPPG[6%# Qy- 6[[3GK[¯»OþÂ`_A[-)$t7ˆ L-$ L6=˜" (CJ#«R"Ä0© :‚~GB{~Eþoj<4S[¿Za LC5 ) .U%+Z&)ƒþÍ¢ ›7e<ILAaMoK33K@G6 $$(& (''&1/----2)( (-((d.'-T?OK8T$ !T3¦(-<((')))())( ÿûÈÓ&2%2#"'&=477654'#"'5473ôt\*eýè OÉ@UýCƒXqù P ýS. P ÓMOŠbý >YÑaYÆ®58Šl7P ÌP@ ÉÃ$0<FX + &=%6&#"3 6=%&#"';27!54767%!&'&'2+"'&=476^7×\þÿž¬þËÕP—¸‡‡ô¿g㑵¾Hþìô‰r©'.)%­sêMþ§éª Mþ¦#ªfþ›C-7!%A.; ÂþÓŽ®þïÎw:ŽÒk‹Kðžþÿ·qz† ¶ü+H*þÖG;M ê² þÖtu/&((A÷A&:+C;."¯/ 8Pi>'67&&&'6.7#"'&'#"'676'773.#'6'5676&&5476'&'67&&Ü07 ^< 1x,B±5þ±@2 JV«Mv!#uA+UBDX[f¹*;-10)..C,·sB#HKU‹ •P‚]12<0üÑVQ‰ Ä}%'Hˆ6-T}^€$k7 R—‡2'Æ7f!Aþ\;y?1!50BEt„"!zkQ;0šqu0\·o‚i:5oP¥ýZjsXFaÀPJÂGl;4ejNÿÿƒ^1F[q‹•šŸ¤©®³¸½ÂÇÌÑü7&&'7'6&'$#&7'&#"'5&767#&''5$'67'6'6'5$'67'656&'67&'6'&'''5$7676'&&'6'63&7"7&'7&'7&'7&'6'6%676767&77&77&''5&"'6%35&'.54>23#67#&8 p +WDTc'H¼ ‚@‘þ¢XO`= Ü ¡;*)8 kDþÿv/P’k-J KDþ°hGaÊ DŠ`–ë÷gBD–ê 6¦¬DDDþŸ ¼=3dTDW, › :gò þ•—j)YŠi#'WtI-9w18$^8;./7-ýI)jS)'#i\-IM91D;8%a7/.ØD=uöRNBR&'%QBNRöqÏ d2 D s9ý8C ["ü|44&3, '2^3ŸR T(B?#'9C- !y ~#Z10>N?$%—Y4 )%FN? ({ Ûusis< 3(&^T05<>7;,#4[:O(vAfG‡EtYB z^~4j #,;b:['~Av@~E‡Q‚ Bak4~_ª¾²H#˜T2 $$$$ 2T˜"`ÿÿqØ$&'6&'67327&#!65#&3Öjjdn¯h ±±wž˜– WþÑV“Ÿ–˜žݱ±ŽqZre¸óóÂ[cþ÷7þ µ®®µô7 cyÿþXÚ ,35'533#3!'#'5!5!5#53!5!5#!!üʶª~~ ”þbˆ°††þl–v¤F þôFþô A<<3ff¢X¯ý苜…þ›‚q°X¢üÏ»GccGap 3264&#!2+73 #'#5# 3m«`hh`þÎ2©®®©«³´þ±`³ÄˆÑ³hþ¶µ|þ;vÙvü¼Ê·±²¶üÂþ“þ}ÖÖääŠfÌÿûÍ33#!!#'!'57!5#'5735 ¶¯¯6þʶþÌ4®®Íš”p˜ü†z˜p”š7šd+!#!573#'5!3!'573!#'73!#'5ÄIx¬OOþTxþ·€þSVV­€dYþ\yþ·vþVPPªvIy¤Y³',32#' 37+ &5%6323'#57'53m¯¦½þð¥Jl{Ë~m@+þݼh4ˆú1¥…4Œ†4ˆ¨'0þþ¾¼>,_ ©ÍvÒNþk±n¥mm±nÉÁObs32732753"'#"'432364'5;+"'#"'53275'&'&54?5572'#&'&547634%476='Ü4&#68$$B )îZµ¶>&A†_;i88u-o1bFGfQ¢_ïÐM5mw€LÚbkj‡I,KòÀ=''8 0##Rm4 üÚ¹+ž¨¯áÜ´5!PP"4\=Ñ»œ¸þèÇŽŠ"8Q¥Ã½®<½WTÚ¦9[”°&¬”BCŽ›(Ægÿùj[T_g2#27654'73&#"#'&'#"56='"'46'4#"4735#5&547/63654'%654i=Ku/3¼noƒ|s׉nI3n ';6WN`fI:% +KkÑsÅ:om¼ÛP½|@R/%S <…[Er*JKN·ZEnv‘¶¢i˜íþ÷þâ )‡%*6&Û-ŠCl67jG‡V°"6;›%Ÿ 2Ö™p ç–+nEU»¯_rBþ(†Ea€LtD:•j[~^9šŒÂ"22#'#"'#&'663327'#&'756=4'&+"6«¾©xdœq•…¯‰sÑ¥[šy®W—¼ãe¹6Êo`Oa‰!¥ˆ¼°ys•`Mþk{eK[®ef â ‹™ OmÞY<0}¶  !432#"767 654'YôõYþ§õôþ§x_Pšþ툋—K¡†þÙ\Yþì¦QõZþ¦õôþ©Wô´_‹bþíýñŒåþYþäXÁÄþ¡Ãº(432654#">32#"&546324&"26%#"5432ižtv¡þ³äêþÇxsŸq1"00" 0ýÍ/B//B/#þ úúþŸaúú`ir›¦|àHþÇúŠ›!//!"00""00"!/0 úþ¡_úúbþž ¨¶#>DJPV\bhn27654'&#"&7367'67675673#''5&'&'7&'%67'7&'67'%7&'&'%6767%&'ê&$h%$%%34$&þ1++XSA N@`˜==Žk>P CRX++XYC P>kŽ==l?L ?Q‹ oL+ NnþùŸ;PÖ?ýüÔ; @ þË nMþÓNnä3%%%%34%&&%s==`?J >PW,,WW? K?_==‰f?H?PW,,WU?H?^‘êÒ<…›=þ¡…Ke+cLþ« mC¾†P`kÕ<—<!¤°4(0847632#"'&7327654#"&#%#&7&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ó¤=6 5N'V[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿ÃˆˆþÞ ÌþõʯX[V[X[V[!¤°4(0847632#"'&7327654#"73$3&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ѧ=6þóþý3QNV[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿Ãˆˆþw Ìþð Ê'X[V[X[V[!¤°4!)47632#"'&%#$''&'6%&'6!««ñ󫪪«óñ««4>;D@KDzcngkþ?dnhkê󫬬«óñ«ªª«íþ½Iø Ökpinipi !¤°4 "*2:AIX3#''%#&'52#"'&5476!!'5%!!'53'5%3'5%3#'32765'&#"M==¼,Â/ý¥Å0œ#¶¨H ™8&O”6ýã þ÷|þò7iY0Âþ6.Á/¤==e6a&i1r4þîz0Ç1¹Æ2œ+ްK“Nƒ2HŒQÖ>>>>Ûf^2Æ"/Æ1]þîÓ8`1"Y 4f2yœ5Æ+ +"'5$76%&'547327676=&#;… hþz°­0/O{™þ·†[’(Âþ´*TœåQþ«¡›ÅþªÃþ~ý`N®ÇŠÜO =ÂþþtäR–ð[\ 8d•<ß+% &56;2'5$%75#"3šþvþîhŒ²²0.Pþì~šNˆ^–(þ8P,V èRZ¤žy­ÆˆcO±ËþõþpáO >Åí‘èS–õ\^ þÂþüf½ÿ`«1B7#5#53'&'&54767&'&=33676=3#327654'&O&"}|f‡ÌÐz¿¿‹g}}"&&"}†UQn$mQU†}"ú$nQUVV{xVVUQ<"{³±u^Å^¿À\Å _u±³{"#|± zUOOUz ±|#YOT{zQPPQz{TO‘ÿ›@>)4'&#"3276&5476327#'#53'&­`_„‡__¾‡„_`ýo‹ŠŠÅÂŠŠ‰q“ßä‡ÑÑ™k‡]^^]‡†²YYÁÃň‰‰ˆÅÃhÙgÑÓfÙ‘ÿ›@> '"3276'&'7#5373'#"'&5476j‡__¾‡„_``_ÈÑчäß“q‰ŠŠÂÅŠŠ‹q¥YXþòº]]XY†ÚfÓÒhÚhÃĈ‰‰ˆÄÃjš¼0 '&'&376&+"'&5'476%7!¢Z{z[ZZ[~\Yƒ¶¹‚ƒ‚²²WþÞm‚pþçN#ZX[þ[YZ[öþP€€·¶ƒQmþ€p#þïT²±G*Š®52764'&#"#463233#!5èsPQPPtrQPŽô­±yzgÖüLQQäQPPQr®ö{{®Ÿtú|gŽ®*#®"#53533#632#47654&#"#dd¨¨i§qq„CB’igIIuªªþ“gzy±UØr}ppDt PQsþ_C…ŽS 7"27654'&7#"&54767##53#533333#3##h. @\ ! 2(>>?ZW~>'3íûûí|íú}}úíË! -/@ /- !^'?XY??~YX?(Fþ˜}R}þ˜hþ˜h}ý®}hL……S<#5#535&'&'5'73'3#'73'676=35'73'13§|‡e{vw}wwUATwx|xxS@Wwx}vv|dˆšš|re{±Eus~~suE|VAKtrrtý¶@X{Ius~~suI­{dr|×*ú®! #!!!'!27674'&#ß_í82þ½Vý)‰3{D™#M®ÅHZûWýÏ{s{þ?zK›8¹! %#"#&5463 67!2#6#";Íz\)MaBuh __ itBaM(]yÍ ¤þäŽtŒt¤ý[+##+¥¤tŒtŽý\ýó5ÿøœÄ."264&'67>3"#"&54767&'&#52hqžžáŸrd:BJ|^€d#!pâ¡ âq $cƒ]7A;ºªñ©©ñª{26”ŽXÿY "z¬¬òò¬¬z" YXŽ”62 ¶Î&'5 %$ 56?6'.ˆ‹j‡‡þéý–þ拈|½½½½*xIIz'ü¨&|JJx, F42$8"3264,'5'&54632264&" &$#"&547>ÈœmmNMmþ©ÿþÕ}ÏÉ l¨yz©U<ÊþMnnšnmê+}Ïþ7 l¨yz©U<Ƀ|²||²þ,&(uO#eœŠÂÂþíaHGŠ|²||²|Q'(sO#eœ‹Â‹‰`IH=ÿý”! <>'.463227#"&5454&#"&'&5476766&D„9‚BB8ÍÄž—Àÿv?W:pbW~ütp„) "-ffÉ)-gtpQ@3ƒAA:ACj±Â›¥þGžmN?ijb¯¦«v‘ˆr56WÀGe((Wi0154d)-?Ã/þê¢6?2>32>32#&'567'6'#4&&#4'3>64&"Á-S‹5,9"\0+Fþôgv!4u|‡W")^,k ikdSò¶!e˜b[Ÿ€¨š_[±ÑþÇõH”|NYC¦Žò¦™ý:ÂöR®¤ýHB’’=†Gý`þS¿”nžUµ|ê#!!!53&54632!!5#67654&"U'ûÙŒþtü0·„„¸0þZ =y­y= :…]†Zs¢ãã¢sZ†† Jjk••kjJ 2ÿfŸÆ4%353'5#"'&''#&&#4'3>32>32YE;<ˆˆ<‡-!&Y*dx cf_Oz.*O„2)7âZe`Ž`b<`°£ýíW¸¯ýušœAL™¡h`©ˆ²¤ýû8™Ç!5!1##'!5!Õþ_drÀrý•Pkþ^K{Uý¾ÇÑý¾Æý_W¡{¼Ï'/27632#"'#576&#"4'5267>327&'"2XCZŸd}uud$gqŠ~dV)40„tlx„!&%"dLk„ƒ}Îý:µ›UwŒmƒ±a4 ˆþsªÐ—O¶â¥HK{ü×w¢Y@x® A63276327632&"'&#"'&#'6327627632&#"'&#"'&#'YçR #{=('%{XNCEz>O&z>'(#ó&çR #{=O&{YNCEz>'(%{=('#ó&ˆÀee22eeà$Él66kd23dÉEPÀdd33ddà$Êl76kd34eÊE^s#!5!37!!'ÒÓó‘ þýþô‘óÔôþôþý ‘ôLþØþç3—4þèþØ(þÌþñ—þðþÍ(CŽ€ $Td67&'&"!3!67>54.#"!5&'.54>325467675#53533#63232>54.#"3'8xpA?9l9>@q<;9'þ¨Dý} 5RT—P=: SSPSS ;r>>p  p>>r> !þAèèþÛ% )–RS—Q1 )6BB6) 1Q—SR–) þÛp  ""V{zHNRh|¥»&'4>32"'4>32&'4>32&54>32&54>32#!5!'!567>54.#"32367>4.#"323732>4.#"327>54.#"732>54.#"©I )),·(?)(#!3()3Ž$))BGÅ!(( K{ýmgŠþêŒ,ý´;±îh IXI þîL$  ãP   H''1þ|G''#ýÄs%'')ý‹7$ ''A ýìŠ ''HþžþT¬Ý¬9.¡%~~ “þrFýÃ)ý¼~ý— wpa!'-23353#3!53573#'5#5335!75!!5'57!íò–ìePPeüeQQeè•DüpáHý>H@²AýΈˆŽ~ƒþ‚}}…ü„~Žˆûœ00mrTTrýÇeppe-Ýþ!ÞÿøóÅ7CQ^&54767&'&'5676767&'&54>32!535#5##3654."!2>4.#" 1""#@%@#!@% ?$##0 çüíÞÜa…1%?E?%4¶þ™,/--+D,/1+ 4;AB<>"  "#>"">#"  ">#10$ITNnVB,þ¥ Çþn ?%#Najiþùý-/‚ö4^t&Aê«Ycgbá3%' þ»+ ((NV8OQÄ¿>:<uyúg**œ5 kœ5h P[32>4.#"732>54.#"!5&546767&'&546767&'&4>32'&'.#"È+L)+L*+M)(LH     Äüã> |n @: !:;! 8An} E04¸`a·30ØTL**LTM((Ê    ü ++xÜ: 8>>q ?9 9? q>>8 :Üx++c^UZbbZU^jÿüg% $TdhyŠ47&'&";67>54.#"!5&'.54>325467675#53533#63232>54.#"!57#&'.54>3234'67632#7$5oh<:5ôdó4:;i865%þÁý«1MNJ96 MMJMM 68JNM0þv    +þ0’Ç +/0U-,,¬+,.T1/, Ƭ9j9:h  h:9j9þa××þð &ŒLMŒK- '2==2' -KŒMLŒ& þð1  ý©ŽŽ“V//X//X//V6›ÅHLP&'4>32"'4>32&'4>32&54>32&54>32#!5!5!M ,,.Â*C,+%š#7+,7–%,+ FKÑ#++ P‚ýDý²Ný²AM**4þd;K))$ý ›'**,ýdY&"**E ýÌ£#**Lþˆþ:Æ¥??ò@@”=Å%)5!5!3353#3!53573#'5#5335!mýøDý€Íá‹Û^JJ^üW^KK^׋ü²²LLüæZZ,}}ƒuzþ%yu„„u{Ø{uƒ}ûë--âïÇ4@4767&'&'5676767&'&54>32!&7535#5##3ª 1!!#?%?#!?% >$""/ áüõÜ_ŒŒ¨1+ 4:AA<="  !#=""=#!  "=![1”=%T e >6.HC'L"‹'G€ þ×üá12Œh˜„[FHå¸`[$%okß+*8þd .øNëýcèv[Æ.7&546767&'&546767&'&4>32 †w "E> #@!!?% =E!w‡ ./‚î@ =CDz" E>"">E "zDC= @î‚/.€…QO##"'##565'##"/547?kM±Ã …,4N"D±F &Fi™?šJO‰ãä/FB!‰O¶ é{|êIm¬<&–§=ˆ…ÃM2227632#&547636=4'&#"#4'&#"=³` ]Á¬d¶þŽ2þ c¤B¼«†ØU›;/ÙG;SœXMâB:þ®@B Õ½þ;7h’–­f%þÐ ´»þ#>…|Ž\þ@¬¸’9‘…@O &&5 i×þC þn:Õþ^¥¦þ¨Oýžý¹ G  ýÞýÛ%½2…ŸO7236;2"'##'65##"'&5476;235&'&=476j°S c1=EÃO¬ ;ÇSC«FRÊTÊ6*F@E1°;Oº+.`„1¦62¨V âþæYiä¦8/ÀD ;8[B ¥V†RP"<B+"'##565#+"'&575477;2732;276=4'&3&'"ih;F”(wQ"D±G".FWƒC©ïNfþêBy" bO–DUq5¦½u4  P¹þˆro¬@ ³ æ|ïS`64 ¤¯'<¤þ·kn™,³:y‰!‘ªìü@JD …ÆO2367632#&5476;§_#KYo¬h«þMþ2ФEOÁL)…XY¸D<κýö6©³­f%‘…@O &47iž9þ) þ2\OýçE ýŸ[ r1† V2`g26;2"'##'65##"'&5476;2&'5476&+"3276733276=4/#"567654'&#"35&5m¦V^2"ÌL ­<ÆTC¬FRËUË7* 2Q±;Æ‹ XaÈ2p2@­^ DJ‚ŠF Ð,aXj™-!˜DØ2V©9/mˆ±.0­R ãþäZjæ§9/ÂC \‘ §Vþ ¯7yMó5bomœ&#·'p[?$–G¥üOQ.£Æ,H3#&'&'&6%3#&'&'&63#&'&'&6 $&54673 >4'&'~ v¥ …' Š w§ „( Š w¦ …' Š$ˆ›–þïþÙþï–šˆk=Fˆõ ö‡F>jG3~Pjb¤‡^*IerÀNÀ{ ˜ùÌ‘?qš®JAŸeƒ}Ωv6\~þx(ONPPNO(!8?ˆ|EE|ˆ?8!r!_ª3#"/4?23D¹-!ÈÇ]UªûFš+}{<Ž¢!/ª3#'654'&'#"547326R£ãs9×WÔ5åÈ[Sª%3;Bƒ‰[/OBC'ü*ž|<jÿ_g¥#"=4?2%#"=4?2ÙŒµ3ɧ%QMýûŽ?Ë )TK¥¿û7’(›w7ÑŸü5’s ?|ÀO"'4723!#"5472!5½ÖÀÀYAý>ÇÔÂRHIÂOûó°‡q 1 ýÓ«‘g 4ª€€D%® 3363'$6'"I+¡ˆ×ýÔ4‹ ˜p®üuàòþoS‚üþ±^£±* ¯ 3%#'#3%#¶';&þÂ2 ¯þI˜û¦Ê—Hý¼þ“‡j7*š¯(,377#'#'547#5773%%ö,ppsr,þð'zzxz'þð¯þá9…8þ 4€?þè„þ¹/9†9e5ƒ>ø:ý¹þœƒ_`ÿþqE#&#"'5654'5673;54'56732733273+&##&"#&'565*”ŸG1 VV2Iž“s3'{'3sžI1VV 0G s3'{'3s­P3+1='3s™ŸH1WW1HŸ™s3'=1+3PþˆŸH2WW2HŸ.ÿð£ ;G7567&'&'3#6737'#&'7#&'6735'67#3335#5Î*)SR))þµ&*&';((:'&)'ȶkk¶Èn\\[[nȶ kk ¶Èn[[\\n`ff/ee.((&(;((:(&((@))SüÈS**˜n\][[oþ„¶ jj ¶|o[\\\n»· jj ·e‹(þ°P(‹ /ÿû¢N#.6CMhwŒ—¦¯!2732!'5675&'&=32#&'567637&/7&+"+&'532?4/%32#'#&'&=4?#'57335'3!273+#&='#"/547354;2?!&=35-,;K„þ÷>Ž #WU*† åy "ÑššHV ýηz/;@"¿q=o ‰)we)$I­ýÅY'L‰ „ALaXw˜Hå ••ƒ>ãX%CÉII°$PþÌþC/DÎN6g+å ø b%ï ƒ×#þñ ƒ – æjÕnNË Ð :3ò ÔO+5{bQ¤< ,ëåd- –Á ƒåXÿ]Ü ˆþ÷f '^ ƒ‚J‰JA!Ó< •8 2E35733!&54?'7'7!!"'&%#'73676'77'7'&'676Ü}ˆ“]}þžþ =-«-HW(þŸ7*! >€yšš*1“c±ý½{F=.«,H-.'”d°(#Y+Gþ‹C†8957jN»})%%tGl5nm3(,H:þÎ0/(_ki¼N}!Nÿ920K †1DW3!5>7>54&#"5>32&54?'7'7!!"'&%#'73676/77'7'&'676@òþ‰.’#5*"I?6O"[m" cýå<,§+GU þ¨5) ð<|w••)/a­ýËyD<,§+G,,&‘a«(!>B<#q'%NG91 Mè7835hL·{'$$qEh3kj2'+Gú8þÖ/.&Hgh·L{ Lú8*/D *(=Pc#"&'532654&+532654&#"5>32&54?'7'7!!"'&%#'73676/77'7'&'676öD|q%N24H'CB=9PS3464E>6O#]o<ýk <-ª,GV$þ¤6)"þ=~x˜˜Ž*0’b¯ýÄzE<.©+G--&“b­)"í<+BI N $% $B G @6%6þ¡7946iM¹|($%sEi4mk3(,Gþ9þÒ0.'Sii¹M{!Mý8//$­d "5H333##5!5&54?'7'7!!"'&%#'73676'77'7'&'676¯¯‡\\xþÝþè"@/³.K[5þ9+#9A…€ŸŸ—,3šg¹ý£€J@0³.K00(›h¸+$wÄ,þÔHmmIþÞ;<79oQă+&'yJp7sq5*/K <þÁ22)…ooÄQƒ"Rþõ;@2> “32EX!#"632#"&'532654&#"&54?'7'7!!"'&%#'73676'77'7'&'676ÊHæ$evyn$L27C'€y™™*1“c±ý¿{F=.ª,H-.&•c°)"¸ERUHHS S /(*. þÈ8956jN»~(%%tGk5nm3(,H:þÏ00'\ji»N}!Nÿ91/K† "7J]"3264&7.#"632#"&54632&54?'7'7!!"'&%#'73676/77'7'&'676]'00'*//l+2>AB(S`dT^dyg7ý<,§+GU þ¨5) ð<|w••)/a­ýËyD<,§+G,,&‘a«(!Û.T--T.ÀH D&RECSukf{ýÜ7835hL·{(#$qEi4lj2'+Gú8þÖ/.&Hhg·Lz Lú8*.- ¤X.A!#!&54?'7'7!!"'&%#'73676'77'7'&'676²Ìn¿þúþœ!?/±.JY0þ•8+"(@ƒ}žž”,2—f¶ý¬H?/¯-J.0'™f´*#À&þK”þ:;68nPÁ*%'wIn7rp5).J<þÆ21(vmmÁQ"Pþù;:1-¤K':7&54?'7'7!!"'&%#'73676'77'7'&'676N!?/±.JY0þ•8+"(@ƒ}žž”,2—f¶ý¬H?/¯-J.0'™f´*#ˆ:<68mPÀ*&&wHn7qp5 ).J;þÆ11)wnlÁP‚!Pþø;;19ÿÿ˜9'9HR!273!567&#2&'676+&'67'#'6765'533!273+#/#"/47$,7Jv þÿI” MO $Ép%„|I ^ ƒ—ý[€T—<K«"(–™~GÙW$?8?])Î( EA÷sÂ#þÀÐL, ëTØ 0ø ` +þüWþûVÛ„þÿ`$$a.£|%2<J\e3 + &=762367#&'&#367&#&#"3274/"34?3'35732?5#+'535^-¹JþÎ|‹þ·°@ñ‘h'\-Öe@<þ¹r2&H); èuZJM üÍ=9jl:j€gbƒ.Qñþi2QÀ|þé…þ¶³:*}( ¸dpR·!h Üj Ä`]_©Ìi$x:-(^%±,3½"¸Ø¿´Ea‡ HMP EÞ7šg /:BR`j # &5%6; 65%&# 327#57&/#2#&'676+'%3#'#&/47'3327##'%3#"/6j1²Mþã{þÇ®G&€þz v$¬EþðxŠþݨEÅë(+=RÌ:n:D!s« Y!úgQKuý¢Ïm;} uA;>õ‚eþçá¸=gþñ†žþ¯Cy¥?°?ýÍþÔ¢B|“*¨>þüw4I ™'¿ 5@Â`  þý©bÇC·$Ð Í j$ÎHÛ?²iÏM!%.£|7H27&' # &5%6367&#'.7&67263'#%; 65%&# ŒmJB|…e6´OþÞ}Ÿþ°I+o|BJn‹þ›^jaygwaaygxaj^ýåw‚$®FþìyþتFGœ›”¢þ퇢þ½±D{§C´?þ`”›œ’Í– “B]w‚‚w]B“ –JþÐ¥C}–.«?þøyP%.232#!7&!"4#".54767267Œ†pñ ñ … {u*ð‚þ_ J¹cllÆm8*#I…‘„%<($|Ê€Xþ¤#{NwÀtû7mÅnld4)¾5:I…IIB“,<•_4767632#"'&'&!%!!ÿ  þ>Wü$`ü 4 ýñZû¦|b<•_/374767632#"'&'&4767632#"'&'&!%!!  Ñ  ýUWü$`ü H ô  ý Zû¦|b<•_/GKO4767632#"'&'&4767632#"'&'&4767632#"'&'&!%!!  è  é  ýUWü$`ü H     ý Zû¦|b<•[/G_cg4767632#"'&'&4767632#"'&'&%4767632#"'&'&4767632#"'&'&!%!!  Ñ  þ/  Ñ  ýUWü$`ü   þK   ô  ýZû¦|b<•_/G_w{4767632#"'&'&4767632#"'&'&%4767632#"'&'&4767632#"'&'&4767632#"'&'&!%!!  Ñ  þ/  Ñ  é  þ>Wü$`ü   þL   ô  È ýñZû¦|b<ÿü•V/G_w“—4767632#"'&'&%4767632#"'&'&4767632#"'&'&4767632#"'&'&%4767632#"'&'&4767632#"'&'&!%!!ç  þ0    Ñ  þ/  Ñ  ýUWü$`ü +    .  þ    @  üãZû¦|b.£t )2 $$ >54.#"4>32#"&hš–þðþÙþð–™þ˜…ðð…‰ð€ò‡¹..--t“þîþÖþò——*“ýÆ„ð„„ð„ƒó‚‚óœ2..2/.£y )62 $$ >54.#"4>32#"&$2#".46hš–þðþÙþð–™þ˜…ðð…‰ð€ò‡¹..--ýæ1.-.y“þîþÖþò——*“ýÆ„ð„„ð„ƒó‚‚óœ2..2/¨/2..2/.£t 2 $$2>4.#"hš–þðþÙþð–™²-..-t“þîþÖþò——*“ýf/2..2/.ÿö£j '2 $$2>4.#"$32>4."hš–þðþÙþð–™²-..-ýq.-.1-j“þîþÖþò——*“ýf/2..2/y2..2/R–7!!R-ûÓ–R–7!!%!!R³þMz³þM––ÿþ;» 67'&/#'3#67$#%‡€×¯¾ÒP=Û=Ͱ̼çþb’N+»#ð!f"K++!|o5ý›<É?þ1s^#'3#67$#¶BìBݽÜËùþBTð..#…x:ýkAÙDþ 'ÿÿª(''7'777'77'/'7%턌„!bƒŒ‚ì탃a 2Öì~ãƒÀ€~ÀƒáÄï„…b„Ž„ïî…Ž… bPþæÜðÁ„ää„Á²ÓR32>54.#"##"'5##"&'&'0!5!5&'.4>32!!676767'7'ü :!9!"9 :!¸ ‰ûF GùF;kY_þÏ1278e56d:81)þ×RLk<GúG E~^ÿ : : ; ;ûåNG 5 e4G( Li) enf77fne )iý¶ (G4eþó5 G( Pm 9Y%&'%67&673&/'67'&'"&'4?&'37' '7 &/7&'#>7$ü±%8Ð8EFu/- 6uNDL2·¶2LENu/80uFD8ÑþjæçþU½þ4þ5¿ïB%y…\AêÌ@Y„y$F 0=/0 Ÿä,-X7ˆ0 ;~*2 %ÚÚ% 2*~69ˆ7X-,äãoýìoþ ýò ýôþó+F9d1 ) ð( 1d9C1¼ÿýì*CT'&#"'5&767#&$'&%'6'&'''$'676'&5$'6%'.54>32”D$ú "¶ž@FÆþèª,þî¼ÂNNNþvÔF8p^Lb2 òþ– þØN**µ+ û”B@0"AR/0?wA·%od/D&3.YaQ/5#3$"þ´þuŠI' @3/uŠ= =#n- .... ¾w3% % 32+#".7!"&'&'#&=4;73737€ÏÏÏþDÏÏϯ *‘Ï$#‚GFHÌýúÍH‚%#Ι+¡(&½aa½'Ämý“99mý“9ù ý•3.055_4iý—4_550.3k  #ttòòt»k"632&'.'#####ÖŠv)%—8 _^¨>:k{•Z¬²G_?×gÖ@`H,>|:=+,j,,<†6O/2Ù33þþ<bþžbþžÄJÿý‡ 132>4.#"367#&7&$735&'.4>2Ï,P*+P,.N+)P¤…Æ—þd"/%(þMM®Ø~95DLM‰‘‹NMD2)WN,,NWP**þgˆ¨!ʇ„wÖœs~ × ‡&ˆ—ŠJJŠ—ˆ&³Ó?GO277''"/&'&'7&'&'7&47'6767'676?  6"&462EG#96\>42(p __ p(24>\69#G#:5\>42(p __ p(24>\5:ÚþÙÑÑ'ÑàNmNNmÓ€ U%4m+3 EJ5:6JE 3+m4%T  T%4m+3 EJ6:5JE 3,l4%T €ÿÒþÙÐÐ'\nMMnM* §? !&+05:?DP‘3&7"7&'7&'7&'7&'6'6%676767&77&77&'"32654&'5&'.4>323#67#&#"'5&'&547&"'6%6761´a$O` "NiB*4l,4"U47),3(üà$aM#"aT*BF 4,=44#Y3,)ý0BB0/CBO"!-$F$FJßF1.#- -#-2MßJF$G# 8<g7*!2U6J%n=_CBnT‡> rYw0d "*7]6U$u=n;wBLz >‡\e0wZ3C.1BB1.C(N "%""%" M#p.PA.$ý;QW¹$.AŽP-{ "R Ç&.FRŠ–ž¦²ºÂÊÖ2#".54>&'767&%76'&''67&'&'&'67676547676'&7>3263'##"'&'&'&54767&'&547676&'&#"6&%6767&'&'&676&5467&'&6732767&h·@9h),)RP| ˆ |PR-*g:>/**Y&()((')&&)')(()% @9f+.TRþ"`33`Š\_ .np, ·Œ00441/‹¸ ,pn, ]]Â&&()&&EEEJ03þÙ2WyQT.,d9@.**..12®30IDE%&**%&F¦°+.SEFE.IMMI."#FES.ˆ !  ";-0.--.0ÙIM+.REF$$‘œœ‘1.%2S_`Q2%-1OQQO2-$3Q`_R3&.>ƒGIIGƒ"" 7447#.$$FER/+L"  !®75/57%"€IJJI€*ÿþ§ )p~Œ67&'67&'4&6%67.'4'6&&'6767&54?67&'&#&'#&'5&'"'67&'&47632>4.#"72#".4>š"0'-, )*ÿ#'0£5%"ÿ*%%, ),,"èGNY ”I'+""$(J“¡YNO21, 9,4=SM:7,: -12-[¥[Z¥[]¦WX¦þI‹OM‹KL‹MNŒ2Ž“ Y{•\ b³CWDJgABcp7L^BML0”b \•u]! “@R%KlhhO+wÕÕw+O hhlK$PZÀX'@D 0:)ww*;0 EA&XÀZw´¥[[¥´§[[GJŒ˜ŠMMŠ˜ŒJ"¯( %3!'#!52#"62#".54>o:û5þ(·þ67%'$(ûánüª HŠ0þLº*ýçˆI"33'554#$/* ýÜPRüÆ 6hþÁ"þ&>I >ýª >A>óߨ!!®u¼¼þ‹»Øþ‰ûŸaÞóÁ!&5476'#5!+ÈÁþ{ÀÈh_aö6‘ýøŽ6mHHm.r£óZy™'#"'&#"'&'&'&547676763232767676'&'&'&/&'&'&547676762!2!%3276767654'&'&'&#"&#"3276767654'&'&Ë—Pz  ,D@   7;+  23  M9£8G þ)•ý:       Ö        r‘         0   L:5’U    ç    .\£ rŒ26767654'&'."#"'%"'&'&'&54767676;27>764'.'&+"'&'&'&547676762%632$"26767654'&'&¬#  #  @Ò!R<¥þíOq< ; 3@M JC3 ; 763276;%326767654'&'&'&#"6767654'&'&'&#"32É““Í E7Ÿþñ9E"  21 +96  >B+  # zOþo       ´       ²Ž49D   /    "    :     þ      =J”Zx–´Òþ-4H67&'&'&+"'&'&'&4767676327632 #"/#"'&'&'&54767676;276276767654'&'&'&"276767654'&'&'&""'&'&'&547676762"'&'&'&547676762'&'&'&547654'&'&'&";276-&#"+"276767654'&5476%327%&"'&'&4767628?.  !  !a=ð›?^'þ¡_)\?›ð=a! !# "!.8?¿""  "  "  "   f  2 .?E ‚S¡@6•üf G=. 2  Å•6@þˆ•˜  B   )_>9 Ž9>_)  % ωþI    †    ? *        º…ª ;d.      ?P   !-  þ@( ,#%>  NpNM&_*# (! &) ,,f&  ! (K_  þZ0-  Yi D   cp-)L &gK1 [šN3$ n/ "!0{Iö"H#fmt2>•,7HBI.;/8[,  Q[z)  .)ÑS9L *E   '+(4%(4  *X >  7A)¯ ‚–0'-570+I;-% *þ§#%(0  ]'5.  U-•¤ü9Lp{‰7654'"'&#"+"'7&54?67676763276323273#5%6767'&#"6%"/67#"27632327654'73654'676547&© t!M#l5G;@¼\ 2BX-0%-m * ‡‘ '¡?,±Ný«ï ?¨'!Ÿ&­R;-> <\-R5-6E!"$b$6$!q",ý¢; t@P"û#C ß  *FSÀ "¥DX@! %z$(œ`]”jM¦P   ¦&O/+@ü p_u<  3  DMKZRdYL6D•_Y«BI‹5.!!''kGW„z¦")3SZ67654/##3276?7%754'654'36767632#"'&54767632'ò0,,;À ý(| w| kוýäýûi«5þ.U,þ\\¤ ýê    %gÒ .  Á;,-0j{w {w3ýûýä–ØþV. ÒýT, ¥\þ[^     Æ þ-5&à«Ä '-EL4'&'&/767675'7! !'7!654'!4'!!$4767>2"&'&'!654'•$$•üæCCC||]ªþVý£|êìýâV#þåýu    Ž9ÊZ(f(Y<™PP™PŽòñŽÕáPr+  VHW»zÝ")3SZ&'&#"227654'&''/%'654.#"65&'&'&547632#"'&'&76#"ò À;,,0ýw |w ˆ¡•ýú Ò5, þ\\¤ý£     ©. þ.V0-,:Á ý£ w{ w­ Ø•ýåýúÀhÓ .o,þ[\¥ ýè     ܪ6þ.;+–]#C4'%%.'&"27>7%$66%"'&'&'&47676762%'b&à¢×þI    ·þ)þ^àtƒœNþñ/  /þ²þdƒÉ÷IWÒ?    @ÑVùiDV /  V%¬&%$64'%%&'&'&"27676èÄþþ@Ë))ËÀüþ< "  " ÷â]N¸O]â    ˜À9|23277632#"'&'&5476"# õÒ6vþ®þà>? (-=%P8jŠó?  #þjþ<  y†"$"Jr‡B23277632#"'&'&5476"" öÑYTo ýÍk%…,02?=VŽ8ji™Aý{ÃC {œu+'qP?  ' 7 ÛssþþssþsstsXþŒrsþrtssþsr@¼QÏ  ' 7 5íþäþåíþäííÅþåíþåííþåíƒÿìN¾B2632#"'&'#"'&547677&'&54763267632676É   ©ŸBt  ahŒ´>) ¦¹c!  ,Hs¦¾ *·Ü¡Â   }©¶þÐ,"2A "Øì  ‰{•¦3ÿýž+Q26#"'#"'&'#'&'#"'&547&'&54767&'&54763267632676  Ó΂    NjÉM  r¬kW* & \„ÊÚ *3 #Àþﳎ*3 T§åv! ( šº¥ê5+" ,«£ç¿ @‘V #!!!!!%!!!!!!!!#!5!3 þ»þÅ;E;ÿJþ¶þEþ¶J»”Jþ¶“þ¶J“Ð<þÄþ»þÅ;E;þEþ¶J»Kþ!”þ·I”KV{ !!!!!!÷„þ|þãþ|„þîþ‹uv9˜f35#7!!#!5!3³³³Öþ*´þ+Õ´ܳ´þ*Ö´Ö0¡r!!%!!!!!!Ñ/þÑ0 þ`þÏþ` 1¡/þÏþ` 1 ›) !!#!5!3Ë^þ¢Òþ¢^ÒÀÒýêÒ^~S3!!'#'!!#!!3!5Lƒƒþúþ¼ƒƒ„Dƒ¯ÁþúÁƒþ¼ý³ƒʃD„ÚþúÁý³MÁA #5!#3!3'3#!#35!3###5353þÅõõ;õ¯õõþ9õõÇŒõõ¯õõ¯ããþËýÝ#5AþIýÝ#·äþš³ýÝ#³ä0¡vQ#"#3;54'&'&'!"3276767653#4'&'&'&+3!52767>5/]LED73!&&54GBO]63H>SkS>H388]OBG45&&!35FEL]63H>Sü•S>H38882I32367675&'&'.5467676236767>32#"&'&'&'#"'&'.546767675&% ¢>#"? ?"#> ¢   G  ¢ >#"? ?"#>¢  G  ù   F  ¢>##> >##> ¢  F   ¡ ?#"> >"#?¡ÿí·Š›4'&'&'&'.54767676322767676767632#"'&'&'&'&'&#"'&'&'&5476767676765"#"'&'&'&5476767632B ,#,+%) 3!, &&*-#''#-*&& &$0 )$W$) 0$' L+,$&&$,/"&&$b3") M*,%&&%,."'%%0 )$W#) 4!, &&+,$''$,+&& &$1 ,#,+$)ÿ庈0267632#"'&'&'3&'&'&54676763267632#"'&'#"'&'&'&5476767#6767632#"'&'"'&'&'&54767#"'&'&'&54767676325##"'&'&'&54767#"'&'&'&476767632&'&547676763235#"'.'&5476767632&'&54767676h â         á   -  ( á        á   ‡     à '    *  á        à   .    à     +ÿç¦j276767653"4'&'&'&+sidUS+*+'WPihtthiPW'+*+SUdi),)URhexuhbXR,,,,RYaitwfgSU),%ÿæ¬t?247676763"'&'&'&5!276767653"4'&'&'&ðLEA86:4DDMMDD4:68AEþêtjdVT,*+(XQjhvvhjQX(+*,TVdj-76DCOME@:66:?FLOCC67-*UShgyvjbYS,-,-RZbjvyghTU*,(ÿð©8 %%! !)tËÌtõþ›þœJ‡þHcˆdeˆcþH•]Fþº]þÙþ‚~Êþ]þýþ^þý¢CÿæŽ5 )!%%!2#"'&'&'&54767676hzþt@z@Az@þt{ne_RP)((&SNcdome_RP)((&SMdd0þ‡éþˆééxé}*(QObbrle]TP)**(QObbooe]TN+*(ÿæ©.'"276767654'&'&'! !˜_)(""""()_)(""""(Yˆ¸þˆþ›þœˆþ¸¸$(*/.*(#  #(*./*($‡þ]þýþ^þý¢#ÿé®< '1%%2"'&'&'&5476767! !#xÍÎxøþ˜þ™a)(#""#()a)(#""#(Y‰þDg‰gh‰gþD•^Iþ·^þÖþW $(*0.+($  $(+.0*($ ‹þYþûþZþû¦(ÿð©8 3'7'3!%%!! !hEÛ±C²±C±ÛDeþµ g  g þµfˆ¸þˆþ›þœˆþ¸ ÒÑÑiþÆÂþÆÃÃ:ÂÑþ]þýþ^þý¢=ÿü” 3'7'3!%%!7!7'7!hTDEDDTƒ¨þªƒþ¨þ©ƒþª¨‚NÿÏPÏÐPÏÿIQ2P11P2#þmùþmùù“ù¬ó–ó––ó–(ÿö©? -5%7'%!! !] þP ¤ g¥±þµfeeˆ¸þˆþ›þœˆþ¸r­ŒÂ6þ‘96ŒŒÆþÆŒ]þ^þýþ^þý¢.£ /'%!!%!77!¢þÄyrëþâryþĈyqm"þ_þÐö^÷ö^öþÐlçþŒ%«Ð%tæu%þ°ýþß´þß³³!´6ÿþ›‚3% %#'-7í÷:|þÆ:|þÆ÷þÆ|9þÇ|kþ”¶Öµ¶Öµþ•kµÖ¶µÖWÿÿz`37'%7% %#'ZZ´ZZþòþ£Z]´^Zþ¢^Zþ¢´þ£ZË›››ÊœË”þmËœÊËœÊþm“Êœ0ÿý¡o #'!5!73!ÅP6þ°Mþ°6Pþ$Ýþ¯6PMP6þ¯Ýþ¯6Rþ#Üþ¯6QLR6þ¯Üþ$Q6þ®L$ÿð­z     - h<_þõµþK þ¡<;þ¡ þL´þö_zþK þ¡<;þ  þJ¶þô`;<_þõ ÿé·† '!'/7'?!7% % -¡Þ[ºßÛ9^Û[[þÈÞZþGßÚþÈ^ÚZZz'}*þÖ}þÙzyþÙ}þÖ*}'q^Ü\\þÈÞZþGßÚþÈ^ÚZZ:Þ\»ßÜOþÖ}þØzyþÙ}þÖ*}'yz(}2ÿäŸ % %  h_Øþ‡yþ(_^þ(zþ†Øÿþ£þ¹þº£þë£FG£ÿà²s% % -hVHÏzþ†Ïþ¸VUþ¸Ïþ†zÏHrþ†Ïþ¸VUþ¸Ïþ…{ÏHUVHÏÿê·†% % -h‚hþëhþá‚þáhþëh†þëhþá‚‚þáhþëh‚‚h$ÿÝ­h7% %' 7-'hXË5 ´þÿ´þö5ËXVÌ6þõ³ÿ³ 6Ìgþÿ³þö5ËVWÌ6þö³þÿ³ 6ÌWVË5 ³0¡t/37%!!%'#''7'%!5!%7'77;[‚TïAð:#þÅTþ¯8#þÆðAî€T‚[‚TïAðþÆ#9þ®TþÅ#8îAî€T Tþ®8#þÇðAð‚Tƒ[Uƒñ@îþÈ#7þ¯SþÇ#9ï@ïU[ƒTïAï8#1ÿð èŸ54'&5476276767632#"#"#"327232#"'&'&/"'&5476=&'&'#"'&'&54767632332?&547'&#"#"#"'&'&54767632676?>$,.c.,$> ]5 71+: H3> kR  Sk >3H :+17 7Z  >$,.c.,$? Z7 71+: H3> lR  Rk >3H :+17 9X ø ib9@R'))'R@9dg  8d< +$;)01):$* \570+9 F3= kQ  Sj  =3F 9+077Y  >$,.a.,$? Y770+9 G3= kR  Qk =3G 9+079W ·    > h`9@Q'(('Q@9bf  7c<+$:)/0(:$+HH#:.'W4,CEH@,4W'*>&DL:Z##KGW“,f ',;[;;+*Q„--}KOW*AA*WSGu5-ˆU&+;;[;,)  '+;[<>**Q…--}KNW+@@-USFu5-‡S(+;>Y;+* !ÿå°½™±É67654'&"327632#"'&'&/#"'&5476=#"'&'&5476763232?'&#"#"'&'&5476763254'&5476276767632#"'&#"#"'&#"327676%32767654'&'&#"#"i/)F)/,UK:M $\/8E(5>H6-EFJA-5H;8)D7.\# L;KU,*UK;K #\.7F'5>H5-DE-6H<7*C8/\$ M:K U+þÓ:6-21 4 $:<;$ 4 22-6 O;(A7##7A(;þ÷ !*:#.#;&Rm!CcJMU)??,RMJcCoS%9#.#;)!  );#-$:'Qn!DcIMU*??*UMIcD oS%;#.$:* f /D;;D/ $­i"276767654'&'&'767632#"'#"'&'&'&'#"'&'&'&5476767#"'&'&'&5476767632&'&5476767632 o00'))'00o00'))'0]0+)*+%# #+%0%##&&.0%+%   #%'.0$,#0%-# #%'.0$.  #%'-1$,#$%*/0961/*%%*/1690/*%) "*&0-(%$$$)-0&*!&"*!$$)-0&-#%(-0&*"" (-0&*"$$(./& »†nŠ£¿Øô%#"'&'&'&5476767#"'&'&'&5476767632&'&54767676267632#"'#"'&'&'&27654'&'&'&"67&'&'&'276767&54767'&'&#"276767654'&/?676767654'&'&'&#"h &,&1/(&#!$&1%-$!&$/'.)2$-%c%-$2-*++&$!$-%1&$!#&(/1&,& =s0 9 55%R 9 ²!_  º, 9 R%5Âs  _!È#'"+'0/)&$%%).2'+$ * '1.*%%%%*.1' * "+'2.)%%$&)/0'+"'#ŽL% %Lýì %#M L:2(&6  û_ M#% è  6&(2: ÿí»”-[Õ3b‘¯Ý &'#"'&'&'&547676763267'&#"327%327676764'&'.#"7632#"'%&'&54767676324676762676322##"'&'"'&'.5#"'&'&'&54767"'&'&'&54767676&'&'&'&'&'67676?&'32767677676765&'&'.#"7676767&'&'&/326767674'&'&'67'&'&'&#"67'&'&'&'67676767"276767654'&'&'"'&'&'&54?&'276767654'7654'&'&'&"67'&547676762‹¯    ¯ž(  b›  (›¬      üÍ #!"G"!# * " ' ## G!""  '  Y m  Š   ( y ‹  ( O k  w Š  m Q (  þO (  ‹ ˆ   ? ?   + / L* / *   +. M+ .*  Ý !!!! '? ?' "#& #'"!!  '? ?'  !"!  $& þŒ ‹  m P   å O   ‹ ˆ    þ“ m  ‹ Ž   y ‹   O k  £   þ“¯    ¯ž bš š¬      %ÿ߬j<\l"276767654'&'&/2#"'&'&'&47676762#"'&'&'&54767676% %-–[''!  !''[&( !! (TB39)+,+76?A3:(+,+76>tjeVT,++(XRiiuskdVT,**(XQijtuþßzþÞ"z!uv!z"þÞzþß#&(,-''""''-,(&#e)*:6?;97,+)*97z88,+,*UThgyricYT+,,*USigtvjbZR-,þÞzþßvvþàzþÞ"z vv!z2ÿíŸ9“œ§²ÁÐ"327632#"'&'&/#"'&5476=#"'&'&5476763232?'&#"#"'&'&5476763254'&5476276767632#"'&#"27654'&%&'&#"327676%327632 654'&'&#"#"i"(-‰+S I9K #Y.6C&4<F4,CDH?,4F96(B5-Y" K8IS*)RI8J "Y-5D&3<F4,CˆC,4F:6(A6.Y# K9I R*€"(-62 #9þ~þÉ3 #9;þÉ 01+5€6 00,5`%;G,AþÞ $.?'!3&@!*Yx$ ImPT]-EE0ZTPmI "zZ)!?&3!'@-$ #,A'!2'?!*Yx$ImQT\.EE.\TQmI#yZ)!A&2"'?.#Öþ~&41%%14>3t-3>41%%14>3f^CC^Býß%@þÛº#@þÝãþÛ@%ýÆþÝ@#ä-4>41%%14>4þŒ-3>41%%14>3Ñ+  V  ++  V  !ÿã°r +?Sg"&46277''"'&'&476762"'&'&4767622"'&'&4767$2"'&'&4767eeeþãBääAãý»äBã†ãAä#U##U##U##U#ýÇV%**%V&**KV&**&V%**~ŽffŽeýßãAã†ãAã$ãAãýüãAã„V%**%V&**üµV&**&V%**Ì#U##U##U##U# ÿêº &3@MYam+%5%32476;#"'&'?632&54?#"632/&54#"/72#547"&462"'&=3¹þÁ?û_?þÁôü6Æ üÏü6Æ  Æ6ü] Æ6üþ'?&M&©C_CC_?&M&< 'L&&L'Ã!Æ6üü¢ Æ6ü^ü6Æ!üÏü6Æ ÞþÂ>ýõ_CC_Dý<>þÂ"ÿé¯l267632%632#"'%3#"'&'"'&547#"'&54727%#"'&47632%&'&54763&5476h!#;Ö'&1'þÛh 9##8þ)'1!, Ò;#A#;Ò '&1')þ8##9 hþÛ'12Ö;# 4þµ%.&! Â6 = 6Ä%".% þµ3 3 Gþó%.5Ä6 = 6 %".þðG 4 $ÿõ­8 ! 54."#"54$32632#"_”‚éöé‚ àþÀ“‡Š’þÀâÉþãÉ€è~~èýa>âþûâþÂEÿÁŒ  %!#!3!üp EEûþ?üp9Eûÿ=”V %!%!35!üc×ûðE:œüd FFûð8ÿ¸™ %!!!ü[:Fûü:¤ü\;[ûü0¡q %!!7!üNíû×]<²üN;)Gûí+ÿú¦t  ,þüoþýýÄþüþüþü9þýþüþþþû;þûþýþ’þüþüÿ ¶œ#¶›œùqÍÿ ™!þË™ùrŽQþË€k!ýÓkù` ÝÏôÙ!733ôþé}b>vÏóóÓÄþÇ!#7#Ô)…iC~ÆþîïïÿÿÏÑÙ' …Ý …ÿ#ÿÿöÄÛÇ' †Ý †ÿ#gÿ]jOS2#"327676765#"'&546;57!##"'&'&'&54767676%#¹     42;%-ú´n`Ô®úrr£#26A@:V7:$)&7.Y›q   % $.277g[•š½£(Ëdü¢VDQ49%*,04?()-#úæþÿÿÙÒÉ52&'&547676762"'&'&'&5476767h‚c"$n‘jlŽn(Lfe*+$$$$+*e*+$%%$+É! #'(*dRj¨¨jSc*('!üù"%*,20,+%""%+,02,*%"¾ÿãÓ%C&'&547676762476767622"'&'&'&5476767hcØn(%X%&&&W%(nØ–e*+$$$$+*e*+$%%$+,ŸƒDj*('(&,,&('(*kCƒÿ"&*,11,*%##%*,11,*&".i£%%&%&54767676247676762hhþÔ*(42u24)(()42u24(*”þÃiÂÅ\=97,*+*96@@69*+*,79=’ZÅrÿû_'#"'&'&'&547676763"'&'&'&5476767632_ÑÓdœA=;0-/.=:DD:=./-0;=AžbÓŠxþ”ª1.=8DC9() 1F="%".4"tNa5Œ&$4! /.r<@6B2L²_0>Q#kI|…Î"rz7&‹)?),%=^K=.C26F@13.!9+cM313 ÆN676 547&'&327#"'#536767&'&'&5432&5476323254'&543253%5@26šþÑ`', =NR6#!vWR>4 2:O t51"".1&X°.RO A5Ƚ )T/1þ¥Î86,FAS :#(=‹:tA0 9SD 'A#5þ×}11BO9ðÿ›á‚ "'&'&'&547676763"3á—Šƒpm8884ql‡Š—YTN‡! !C@RP]e:6pl‡†˜™‰€tm9:'62Õ~•~jf77ðÿ›á‚"05276767654'.'4ð]PR@C! !‡NTY—Їlq4888mpƒŠe'67fj~•~Õ27&:9mtŠ™˜…ˆlo7:fÿ‡kR !&547jljjlþïyyxzQ»þ“þ‰þº¿q¶µp¿nÿ‡c$0!!676n wu;;vþ÷i43f$ºþœ°°³³¹µ²²lcCÿ}ŽU# 3ÕþŒtÕþŠ‚ëìýDÿ}U 3 DuþŒÔtþŒ‚ëìýýÒÿVÿ.! !þþ¶þáJþ©ëìýÒÿVÿ. ! ÓêþJáþ©ëìýýÍÿAÑ! !þmþ^¢“þ\¾GHü¸ÎÿBÒ ! Σþ^’¢þ^¾HHü¸ü¸Éþåv!'7DÄWèèWÄÃWçÂçWÃÉþë|'7'7ÄWèèWÄbÃWçû>çWÃþ¸¸^$#"&=4&+5326=46;#"3¸—²xMe,,fLx²—1d=AOOA=dÆ‚…Ç׈i€h†ØÇ„O߀€ŒßOùþ°Øi(326=467&'&=4&+532;#"+ú5nCFVU$#Cn5¥ÂBB*)p//oTBBÂ¥ÌP€âŽAAáP‚DBÉÛ‡45‚iŠÙÉDCS/~å #!5!3}þ¥ãýñþúãŠþ¥ªt’]} 7%ýd”^º=ý¤Š]•ýdý¤>S¢~5 /ý%Û0~þ‚¨#ª#þÉþÉtÁ]« '-fý¢”œþñ\=]ýd•]º>ý¤-¡¤á!'7!.€ Øþ(þ÷€ýìïòÀ``ÀòI)ˆ=2"&'&'&5476?!".'&47>3!'&'&54767>2ˆ þÔ '!  ‹ý`!! ‹  !' ,Æ& þÔ   Œ&‹   þÔS¶~&!5! Fýò7þÉÒ8þÉþÉ-x¤!5!5 VüØ(Mþ³r¨úþ²þ²6u› #3#3#3!!5 é´´ðZZ–--ïþÓ-Iþ·(,þÔ,þÔ,þÔ,²þ¸þ·Sœ~  55!#3#3#3Fƒ´´ƒþã9««äUUŽ**©bÚ]^Úb«þU«þU«þU«S„~ô!!5 Fýò7þÉ.©þÉþÉ`tq!%  ¨ýqþ®ûïÆËËRþ®þ®{¤V$%! ÀSþþÀÛü%äÁÁ@þÀþÀ{V½ tùÛü%îÎþ2þ26Œ›=3!5 5!"'&'&'&6  $hIþ·ý˜$  Õh$  •þ·þ·•  6‹›<47676763!5 5!"6  $hIþ·ý˜$  ó$  •þ·þ·•  $O‚à!! eþëþä þþ6n›55!âlMþ³lýT‰wæccæw¤ekl!5!!53 ' !_þú²[þ¥y"þÞþk©d©þ¥þ¥â©""©òe/lå5!!53 ' !_þú²[þ¥"þÞþ/©d©þ¥þ¥â©""©ò5·œü !73#57!%!6ÍUcG™ýùjýý¶bÊzbýªŒïd©þ“þ¸ŽÇ©""©òaÖp« 5!'53#'!!!7%aÜcߎA[ýØÄýØ(ZqþZ{{þä{þÄ’Ò’ûû}ÛTM %'!'!53 !“;þqKÊRnKþ’a2þÎþ6Ûw–îwþ’–þ’Iw22wþŠT‚}> 3#5!7!!! –ZŒQþtZþQ°0þðLþ´>þs¢þs£äþjLK2NŸu '!53#'5!'7! !£p…Sn%þ’R&ý %µUa2þÎýŸ÷wþ’Kþ’J,L÷»w22w)ý¨1 '7!573#5!7! !œr&j&St&þŒSýp¸Wl6þÊý”qûM,LþŒLþŒyû¾y77y‘½@¬!6767632#"'&'&'! ‘ 6IYZgb^UMI%&&"LF\Zfc^UM3!çtþŒ§:6I&&&#LHZZhc\UMH'&&#L2<tt€ XNy "&*.37#37#37#37#5'!!55!!3'#3'#3'#3'#r+qr*r€r+r€r+rV…€…{‹‹{þê…þ€°*q+*r*+r++r+««««««««9ÇÇÆ†\]†ÆÇ«««««««t¹]¢ 7&#"7'7 #%5²Ž#t…69Ï.þwZæþ¦Y“96…t"Ï.*þ¨X/æþ§åSÑ~k 55!5!!7'!n‚‚nÿþUªŽþVŽŽªŽº±†GG†±8:ŽÈu\j '327'' #3ƒŽ95…t"ŽÏ.þÖYþ§/æYæ¿"u„69Ï.þxXæþ¨XN¹ƒî2%&#"6767&'&"67632&'&547676767‚}:"  s %*&*(&þŒ"!#!þ÷"O>>;Ž*‰§E/4767!"!47676763"'&'&'&5!3!&'&5¦Œv þ¸ þ5 $ %% $ Ë H vgMME %!#"!% EMu¯\—2&'&'&'&54767#"'&'276?&'&'32\": ö þ¨#'$'$#Y@öI:86†—s…6::I ö þ§#&'#'" X ÷ :5*œì+B67"'&'&'&547676$47676762"'&'&'%&'&'&547676762$¸àª[ /  ýH =ýaö=   / Z«þïI=X  q> d(*c Á    ÂXJn´°.676767632#"'&'&'&%&'&54767&'&54765 #&+*1)„Fþº„-Y)) .EOÍÍO/3S>>S&/ #$))%#Ã]]Ã#%))$#&¾«¦e"'&'.54?654'&'&'&+"#!".4?64/&4676763!2;276767654/&54676762«Ã åIþ ]]òIå ù à  Q ’  ¹¹  ’ Q  Ã%e«ñg"'&'.54?654'&'&'&+"#!".4?64/&4676763!2;276767654/&54676762«þ» GKaýç u~iKG E²þÜ ²Ã êú  Ó² þÜ2 Ÿ²+#76767&'&/3#6767!5!!5!&'&'Ÿg?j7R=y66y=R6k?þVO ýœñS+ +Sýd _8=ey‹u'&uŠtj<þu,*44Gee‡eeG35*+S/~å #!5!3}þ¥ãýñþúãŠþ¥ªþ²Ñ&*'$&76#"'6767Ñ Ì7þ>{J<×pÝý1þ„ GM+þ² SR·µ-PAd·ÌmüR›ì þ²Ð&567$'&76&#""+MG þ„1ýÝp×7Ìþ²á ì›®mÌ·dAP-üK·þ®S uþ#\u ! !hôþ þ óþ˜Ñþ—iý/uûÛûÓ-1ýüŽQþò€ ! !Rþâþð‚üpüpQþò€ ! !þãþðþâ‚üpuþ#\u hôþ þ uûÛûÓ-B\¨33##!##533ìí´´íþùí¶¶íú®þRîþP°þP°î®þRB\¨333333#######5”ÙÙÙPPÙÙÙRú®þR®þR®þRîþP°þP°þP°îÿÿw“Xs™ÿ±Ëw7!!!xáürÅ$ðýžÄû<ÿ±Ëw!!!xáürÅðû®Äû<ÿ±Ëw7!!xáürÅ$àû®Äû<ÿ±Ëw%!!YürÅ$àû®Äû<ÿ±Ëw% hËþ5ýžbcýJÊÊþ6býžýžÿ±Ëw žÊýžbcýþ6”þ6býžýžÿ±Ëw ! žÊËûÓbcýþ6Êbýžýžÿ±Ëw! ž•þ5ýžbcýÊþ6býžýž ÿ±Ëw #)-17%#535#5#5#5##5'3#5#5#5#5#5##5##5###5ËÍZssssô®š´ðVÈrrrrÅsZš®š´šVr~ÌrZH®®N³³ýrrrrZZrÌH®®N³³bÈVrrrrrrVÈ…þVÑÕ%%;#"'&5! !&'&+3264&#¬Tb'~ÒV^ª û–,A/þ¼´ Ok^‹yihz)†láhhÚÕÌæš¶ A^ýçy©þi_Ú^`ÿã~ð!5!!5#"'&3227654'&"Z$þÜ3QRmÐtsêØaOOþr<<Ô>==>Ô<<6Ÿú+©b22ËÊrv/0ýYˆ†ðˆ‡VþV{Õ##!!+53265}žë þ`²±b¸ÐyMdR¬ýsûTÕýqúeþôØãn…!°Õ !!!!!i‹þé@þ—þm'\‹Z'cüÕþq`ÿã~ð!%!!67632#"'&4'&"276„þÜ$3QRmÐtsêØaOOŽ<<Ô>==>Ô<<ŸÕ©b22ËÊþŽþŠþp/0§ï‡ˆˆ†ðˆ‡‰HÕ!!!!‰'˜ýhþÙÕýÇþüýh¬/`!!!/ý þÝ#ãÛýø`þƒAj2!$76676'&&˜`rþkþÜþjsƒ+*‹Z6†j{•þÕþ4@ïBsåSV}ïdˆâþöÒþxaò†M>ºÿå !5#"'&'3276767654&+5!2þÜ,XZv<::40‚L^EE& Sbê<Òµ@ûÀ®`45,,! >&64pä„ná×bÿão{&"26$  6 54&"òOsPOsPýpÛþçþ% ]`xÓxiPPsOO*=þÃýâþÃCWW ¥¹¹¥ÿÿ†þÎK_XýdœÉà3!3h¦»àþÿà»&ºü¼Dþšð6.54$32.#";#"'%&'&'&'32654&'þßžãgÎe_Ä`kr*(…¶SU†@aS@G:‰ˆþâdLohvÝlmxPLU»žËè/.þàCFVP>((20Ejm¦âp6€GþÝxþY41TRcYCesþ‰Õ%;#"/&'5!!ˆ”FùdSwk¬ê哟ýwòªF3³GþÝx´¯ôÝô®ÿåîÕ#'!767#"&5476?67654747! [`bedeÊæ""^XD#. þõDü­#Fþô8¼¥LAB\VC)*= ý%(+C" çþå¦:¢!#!¦üòþö¾ýä/:+#5!!!òüþöV¾ý&¦þò¢Ì3!!°òþ P¾Ú/þò+Ì!53!+þò þò¾ÿÿ¨èðN¿Œ#533ÒÀÀ1¼мútŒút¿Œ#533ÒÀÀ1¼œ¼û¨Œút¿Œ#533ÒÀÀ1¼h¼üÜŒút¿Œ#533ÒÀÀ1¼4¼þŒút¿Œ!#533#ÒÀÀ1¼¼¼Ðút¿Œ53#3ÿÀþ¼¼м¼û0Œ¿Œ53#3ÿÀþ¼¼œ¼¼üdŒ¿Œ53#3ÿÀþ¼¼h¼¼ý˜Œ¿Œ53#3ÿÀþ¼¼4¼¼þÌŒ¿Œ!53#ÿÀþ¼¼¼ŒútŒ¿Œ!!#­þ¼Œ¼û0¿Œ3!!#¼ñþ¼Œþ̼üd¿Œ3!!#¼ñþ¼Œý˜¼ý˜¿Œ3!!#¼ñþ¼Œüd¼þÌ¿Œ!3!¼ñŒû0¼EœŒä 3'#'32+53265 ENPZþÝ#–jŸ¢[ZÒy'dRªyh}ýý¤]fÓÑýTüklán„ÿÿÁ'ˆ!J=!5!5!5!Jþ>Âþ>Â!´´´ãáîÕ!#ã !Ç#Õýqþ›eçªçÕ¶dÔÌ1ôÌ0!çÿÕýÕ+ÿÿeg^lþDe"&'&#"3;!"&5#"'&!5!!  ;2‡RbêþÄѶ{¹Ñ@'þ×N à?28ýÔ„náØû+Ðì)báüÌœPþ¾˜Õ !!3!#!P= gþÛ}þ^þüÕûÃ=û/ýºB=ûÃaþâ€{3##4&#"!!>32äœÛäENO[þÝ#–jŸ¢×þþªziŽ~ý`¨]fÓbÿão#2#"67.5463%""326&rêþçîíþç¦v.ð”6þ VHrPixxijxx|þ¾þõþñþÃ=»k)mƒÑ9%Qï¹þ¶¹¹J¹ JG@& t ZYX  Xü<ì2ìü<ü<ì991/<ä2ü<Ììî2990!!!!!!#53546;#"%%þÛþÉ\þÛþÉþÛ½½§äPDB/þÜ-cû üáNÊœá0 J?@" t ZYX Xü<ì2ìüüì991/<ä2üìî29903#!#535463!!#"î¼¼þÛ½½§äöþÛÅB/ÃcáüáNÊœùì30ÿÿýLÆ' òþª ÿÿEýLå' Äþª ÿÿÿÜýhîX' ØþÆ Sÿÿÿàý„ñ' äþâ TÿÿýLÆ' aþª ÿÿEýLå' Dþª ÿÿÿÜýlX' @þÊ Sÿÿÿàýlñ' 8þÊ Tÿÿý0Æ' SþŽ ÿÿEý`å' .þ¾ ÿÿÿÜýd]X' þ Sÿÿÿàý`ñ' Dþ¾ TÿÿÿÜÆ˜' ë· ÿÿEÿìå†' õ¥ ÿÿÿÜî' ô2 Sÿÿÿàñ4' ïS TÿÿÿÜÆÍ' Gì ÿÿEÿìåÕ&  5ôÿÿÿÜz<' ;[ Sÿÿÿàñ_' @~ TÿÿÿÜÆÞ'L$ý² ÿÿEÿìå& L ýÛÿÿÿÜmD'Lþ Sÿÿÿàñ?'Lþ Tÿÿÿ–ÿ|Ñ!' 0â ÿÿÿNÿ å&  4Âÿÿÿìq©&  Èjÿÿÿìå&  VØÿÿÿ–ÿ|Ñ1' 8P ÿÿÿNÿ å &  ,(ÿÿÿìq•&  Ü´ÿÿÿìå&  B"ÿÿXþ ­Ž' ³ã[ý4ù¶75353;#"'&'&5327'&54767&5$0óáááÌ2a@M(1„Žl\>mFÜ|i»ÌÉ–úþ{©ƒ1‡'OŒZÃ$Äþáá^ááå>B/á7*Š_lH>Ãþ÷«^OpåbĘÞûÉDh 'à@5Âÿÿÿìý~\c& ‹ þÜÿÿÿìýÚüc& Œ  ÿ8ÿÿXþ ­Ž' [ý4ù¶73#%3#;#"'&'&5327'&54767&5$0ááþ¢ááö2a@M(1„Žl\>mFÜ|i»ÌÉ–úþ{©ƒ1‡'OŒZÃ$Ä>áááã>B/á7*Š_lH>Ãþ÷«^OpåbĘÞûÉDh 'à@5ÂÿÿÿìþÈ\c& ‹ lþÈÿÿÿìþðüc& Œ @þðÿÿXþ ­Ž' ¢[ý4ù¶8<5353&'&5327'&54767&5$';#"'&'!53áJ½E>>mFÜ|i»ÌÉ–úþ{©ƒ1‡'OŒZÅ& 2a@M(1„ŽýñáþNáá.á1]_lH>Ãþ÷«^OpåbĘÞûÉDh 'à@5Â>B/á7 Êááÿÿÿìýn\c& ‹ ¨þÌÿÿÿìý‚üc& Œ @þàÿÿXþ ­Ž' &»[ý4ù¶9=5335353&'&5327'&54767&5$';'!53¥áMááZ >mFÜ|i»ÌÉ–úþ{©ƒ1‡'OŒZÅ& 2a@M(©œýñáþ‹áááá.á#._lH>Ãþ÷«^OpåbĘÞûÉDh 'à@5Â>B/á?ááÿÿÿìýŠ\c& ‹ üþèÿÿÿìý‚üc& Œ TþàÿÿÿÌþÒ' “Æ_ÿÿÿ`þ å' Æ –ÿÿÿÌþ»æ&_LUýºÿÿÿ`þ å& –Léý×ÿÿ ÿ†]lœÿnÿ†l1%!"'$47!32767654/&'&54767;#"'‹ ‹`þþplþ¶,&y1[xH](45[ "G(7þ†9 ÷-RTáHLF0 b,¦@^ˆn@",DX6,vÊB"C@,\ ÈþÖþÂ04GýÚ?á!ÿÿÿì+ Ãÿÿÿâö Äÿÿ ÿ†cû' ¬œÿÿÿnÿ† ÿ& F Tÿÿÿì+²& G ÿÿÿâö²& H œÿÿþµ°° ÿ«þæ &%#"'$47!3276765'!;#"E E<˜fÛ¤ƒþó1 &~LCi*r$".$ .04^>¦zjF/?‚¬¶¯ƒI,6gb`-d t8@áÿÿÿ¡ÿ©Ñüžÿ¡<ü"0@%3!"'&547!763&'&54767&'5%376'&'&'%67654'&#"ÑkûýãÈí¼B)!F'-p 77/&9 A5ÿÿÿìÿ©3ü ÓÿÚ<ü$4#50!&'&54767&'53376'&'&'%67654'&#"&®<*%D(E×+kþ/61"þÝ  á3]Q=ERH' è>Èí¼B*á)!F'-p 77/&9 A5ÿÜîX %!#53276=!’Hþwå®ë,1VVá,1j°°äÿàñ%#!53276=!3!!"^@ãþ¥ð¡,1"1,£þ“ãHHá,1jÙÙj1,áÿÿþ¢Ñurÿÿÿ±þ å* ØÿÿÿÜþÔrX' 3þÔ SÿÿÿàþÔñ' ?þÔ Tÿÿ0€ ÔtÿÿÿàñÔ&itÿÿäk¦u·å” ;#"'&=!Ú1,cKíŽ\W#u71,á\W¶+ÿÿ0ý¤ ÿøvÿÿ0€ ÖwÿÿÿàñÖ&wiÿÿ*¤¦xÿÿÿàñ&xiÿÿ0þ¢ ÿøyÿÿÿàþ¢ñá&yiÿÿþºÓôzÿÿÿàñô&ziÿÿ;Æ•!{ÿÿÿàñ!&i{ÿÿ -ÞOÿÿàð´'|ÂUÿÿàæ´& v|Âÿÿ§Q'}ÿöÂUÿÿØæQ& v}'ÂÿÿLþ “õ'}`þfqÿÿþ åñ& Ö}ÿüþbÿÿªý§&~ùUÿÿý§æ& v~Vÿÿþ¢ÑÊ'}þñþ;rÿÿÿ±þ åw& Ø}þäüèÿÿÿÜÿ& S}ÿêþpÿÿÿàñÿ& T}þpÿÿÖúUæ !;! '&1,´œþøþäPWœxû”j0,â\eÿÿþ¢Æ' ÿþ¢ ÿÿEþ¢å&  ÿÑþ¢ÿÿÿÜþ„îX' ÿäþ„ Sÿÿÿàþpñ' ÿøþp Tÿÿ°ÿÆ%i' æˆpÿÿVåú& Ò ÿÿÿÜÆk' CŠ ÿÿEÿìåk&  LŠÿÿÿÜs3& S 4Rÿÿÿàñ3& T >RÿÿÿÜÆÉ' >Š ÿÿEÿìåÉ&  0ŠÿÿÿÜq‘' 2R Sÿÿÿàñk' 7, TÿÿXþ ­Ž' ÿŸ[ÿÿXþ ùŽ& Š ÿ(ÿÎÿÿÿìþÔ\c& ‹ ÿ þÔÿÿÿìþÔüc& Œ ÿ þÔÿÿXþ ­Ž[Xþ ùŽ/;#"'&'&'327'&54767&5$&¬ na`(1¤Šl;)'IÜ|i»ÌÉ–úþ{©ƒ1‡'OŒZÃ$ÄB”(-s}ná}cˆ`ˆDÍÿ«^OpåbĘÞûÉDh 'à@5Âÿì\c&'&'&5672+5327676G+ƒ9ÐR¡HK©¥ñí0€7‘h°ŸÁ€dwÉ}[;  ó#4fò5uTD<áO1?)ÿìüc)+53276767&'&'&5676;#"'&CD™›Å€dwÉ}[;¤+ƒ9ÐR¡HKŸ¯ñí&7 Q94FD7< 33M! '_´Ú%5,iG—ƒec5ã0$ $*  ê CAƒŸÒRXá,$ QB  á8-S‘m‡\daçÙ‘Ö”w<$6!`‡]]T'3WE‹fnf'ÿàÀ -%&'+53276=3676+"7327654'&#"V<%&:WE*((0ïHN“ÒRX£LÇÚ¯ã€]>4FD7$á(/`rNN`J‹fnfÄ`-á,$ QBÿàñ 9"327654'&#"'&'+53276=3676;#"/EC8‚\?hÚ¢8Q%VE*(ðFO“ÑQX $3H3 &_žQB*,$ þbá$/drNN`J‹fnf' á5-ÿÿþãþÀ' ÿOžcÿÿþ­þì& ¢ ÿžÿÿÿàÀÁ& £ ÿàÿÿÿàñ³& ¤ ÿèÒÿÿ µeæ %%327654'&#"%;#"/#!#53!632M,>5M5M5M(N365,Kÿ±ÿì+)5!27654'&54767’þZ’˜)6þÿr uéþ^JÞf>^á\$$(B;‹G&m16þôÌ%*%Xþ÷y}qe›ÿâö$%)5!27654'&54767;#"'0Vþâþ>®˜)6þÿr uéþ^Jð',8.RáP¤"‚á\$$(B;‹G&m16þôÌ%*$YýªâYÿÿþŽ‹mÿµþŽú#;#"''&'&7!3276765@390gL(5òæúnÆ$.0`UZkFOûkK',á7bCsLŠèŠ\ssj1+-3diøjÿì )5!2765!VPþ¾ýºÚÚ,0œÛe\á,1jlÿìå%#!532765!;!"^@ãþ±ä¡,1"1,£õþŸãHHá,2ilû”j1,áÿÿ<þ€Ûnþå¤$5;#"''&!4763&547632276'&'&'&#"D5("V‹  nt‰¹Y2þçxAw~M©`bºþp1& 04!+ á3DP&4OþKµÇf7*—g?'J­ Œ7&':ÿâÿÐ'œ*%276'&'&'&#+53767632#"31?1& 04£"J@žZZ¨-aAµ`bº|aÚè7&'9àዞ`@(H®.8¬XDÿâÿÐåœ/%276'&'&'&##"'+532767632;#"1?1& 04š…uÚi"IAkZZƒ+SAµ`bº ,Dd›¦è7&'9üPlá}®P@(J¬G7áÿÿþµ°×' ÿ·ö ÿÿÿ«þæ& N ÿO-ÿÿÿÜî3' ÿèR Sÿÿÿàñ3' ÿñR Tÿÿ°ÿÆ%ÞpVå| %&'&'2&'!;#"'0'#"'$5476™ f=eÏf^E=Sޝ‘*%"*%ä '   P8C!N'-_Ÿ è;ËÑæ49rFq#+áCIQ=ERHþfÖþ§\DM´§`L(2þü2(L`§´MD\Yý>GE:8E&uH„g>MOuf‹U`p\`wxáxw`\p`U‹fuOM>g„HÿÿLþ “¤qþ å¤ )"34'&!5 767"'&'&5476323¯6Láÿÿþ¢Ñurÿ±þ å*8$4'&'&5476762;#"'&#"'&&7!2767ç#/1/N,`V@I #¬,+3 *L>Košz’ß$m<49f,; 2$0bjCA2:Zƒá¬ª *Ll’,ÿÿÿÔÿìå»& ä}þ#,ÿÿlýpS& ã~þÈÿÉÿÿlýUå& ä~þÈÿ®lÿìS#"'5327!65!S€;Q®õjK`UrHþ{/!BþÆÌ_M¤ ó PSü»g®lÿìå%"'5327!65!;#"h¯þëjK`UrHþ{/!a=Mi«±À ó PSü»g®ý.þá.þæ¢j (  !46?>54&#">32!5h:ýÆýÆ´ &DX^DæÊeÉb`·T\\-?ZP> jýÆûðýÆ:ûëþå =TBV\ƒL¥¼98þôFGDC+P=YNŒcš{Õî;f@ÔÌ1ÔÌ0!#!¡Åfþˆ-¤ö1@ ÔÜÔÌ1Ô<Ì20K°TX½@ÿÀ878Y3#%3#¸ììþuììööööÕî¸ö8µÔÌ1ÔÌ0K° TX½ÿÀ@878Y@ //]!#œþâÅöþø îÅø!Ñ@  °° " "ÔÌÔÌ999991Ô<üÔ<ì99990K° TX½"ÿÀ""@878YK° TX½"ÿÀ""@878Y@]             ! !.]'&'&#"#5463232653#"&j6-(ŒmX$K&<'$'ŒkX%G"<2j‚'<9jîþö8µÔÌ1ÔÌ0K° TX½ÿÀ@878Y@ //]#7ÇÅþâöþøðîáöb@ ÔÌ91Ô<Ì90K° TK° T[X½ÿÀ@878YK° TX½ÿÀ@878Y@/// ]!#'#Í5ß²ÇÆ²öþø¡¡ðîáöh@ ÔÄ91ÔÄ290K° TK° T[X½ÿÀ@878YK° TX½ÿÀ@878Y@//// ]373ÍݲÆÇ²ßþø/ôwqB@ ÔÌ991ÔÌÔÌ0K°TK°T[K°T[X½@ÿÀ878Y´78]'T%#%ôvwc¸k 3>323.#"bLM`­”“­c<=<=‡‡c¸k @  ]]ÔìÔì1ÔÜÄ20332673#"&bLM`­”“­k<=<=‡‡ßuòkµÔÌ1ÔÌ0!!ßþíköcbk/@ ÔÌÔ@O?/]Ì1Ô<ÌK° QX¹@8Y20!#!#FþâŰþâÅkþøþøocÉk#!#‹ÇÅþâ“ÇÅþâkþøþøZwð%!!!5676767654'&67632¸ þõ þõ?. ,A=J@AABƒ–$G þ呚›tP;*AE 1)Z58¼¥BKS;r`] /-’¤NµÔÌ1ÔÌ0!!-wý‰N¼ƒÿNÿ¦!5!Nü5ËêÿËÿ¦!5!Ëû;Åêçÿêÿ¦!5!êüýêPÆ÷ 2"&46"264hxO()£îž¡­nMKpNöT'd;t¡žî£•LpKLn-;¤13#%3#¸ììþuìì1öööáá53#áááá?á%3#%3#^ááþ¢áááááá?? 3#3#%3#¯áá¯ááþ¢áá?á}áááEÿìå%"'&547!32767654'!;#"'&'[ØuÉg&d2MU%* !KA#7$ê)FådVPV@-&*QVKZ;3(á. 'VÿìqÙ0654'&#"32327676'#"'&54767632#!0'!+ýËñí6E&o­Tb–N}„N;51E1Ðm‘þ¿G.%0þ¨(, #CQ‡-3”E$2&UOqÿkJ'ÿìåE!5;!"'#!5327&'&54767632"67654'&'&”$X*ráþňº¸ˆþÄâw#=)+?XTfnp +%"& 04X=†:@+Há99á^.LHhã '#2."$ ÿíþå.@%&'&'&5476763237## '&547!32766'&'&"ŒV>¨_j2^k„$l"$:?02\š„ÿþ¾[3#*2-‘~^xf $!$#1/GB  iuw^h68@6`aþåázR”K@ÀmšzŒªdQLF6fþˆ_fj.<UjVo+\7/2C!F”€xâ)Ab"$ +*"Nþ¢?á 5353!53¯á2áýÁáþ¢áá^ááááþ¢áá5353áááþ¢áá^ááþ¢?á 5335353!53á}áááýÁáþ¢áááá^ááááº·í ·ýI·èýÒ- œ² 5œüdœ´þlþ”¶· %4'&"27>"'&47623J22Jƒ?@¸?@@?¸@Ü$2%&2¸@@@@¸@??lþXdÕ@@%d p & &üìüÄì91/Ôìä2990KSXÉÉY!!+53265!lÙ\\Ðy'dRþ;þñÕûõ úgþönlán…ßûõÿÜÆ!"'&547!32764'¸¶pþ»óœ±g3|nuZqX4;õTfnLH0DI®0þ(Ñ"6654&#322765#"'&54767632!&'&47!i)@5,!,)'þÂÊjŒ$šƒi”+³Tc¢Q_V.N—þóÝ¢¢057D(K#N$.=*ý,šÌ–"Fc½8(ÎR&HTÌêñ™ÿŒ“suÖ~¿]zJ\ÿÿýôÆk' ˆýô' @Š ÿÿÿÜÆ…&  9¤ÿÿXþ ­Ç&[}ÿ®ÿ8ÿÿXþ ­1&[ ¾PÿÿXþ ­&[ BÿÿÿÌþ×'>ýÒ_ÿ–ÿ|Ñ‚:654'&32#"'$&7!3276767#"'&54767632¸,,;!%&,?¼Mï²¥š{þí# $xZ;re73 C’\|-wqb`YM]#ì&-#*Bþ|^6()[:Š\^ˆ-"')Ha‡c)s52(#ˆ4‹þâÿÿþŽÄ&m„þµ°°#"'$47!3276765'!°T<˜fÛ¤ƒþó1 &~LCi*r$".$(ÿÖ•jF/?€ ¬¶¯ƒI,6gb`-dŸÿÿLþ “t&qŒþ@ÿÿþ¢ÑX&rþìþ$ÿÿ°ÿÆ%ÞpTz-¦ÈU_<õÉ.É.ümüÙÙjmþÑümþøÙÑhÑÑãç¤!%ç5yBj-Áq{¼s}fƒ‡oÁsXXXé!}˜‰¨¶u‰¬muáVw\¢\…Zj9s¦o/9Ç^–¨Z\®b¬®ZR¬b–Z#¬o P7;¢°ö´Xã“wºöª-wX--XÕ®FÁo9Á///°!!!!!!˜¨¨¨¨¬¬¬¬w\\\\\wÿújjjj¢^^^^^^¨\\\\b¬bbbbbB    ;–;!^!^!^˜¨˜¨˜¨˜¨‰ZZ¨\¨\¨\¨\¨\ubububub‰ÿà ¬¬¬¬¬ÿø mu®®áZáZáZáZÿÙ%w¬w¬w¬ÿ’j¬\b\b\bD…#…ü…#¬¬¬¬ZoZoZoj j j j j j ;s¢s¢s¢® ¢–+-˜˜¨ÿä}–a¨\}l[& ¬¬®ZPR¬\ –…¬b;ooZZus nƒs n’QãþIã!^¬\bj j j j j \!^!^ubu®\b\b nubw¬ÿú!^!^o\¨\oެ\b\b=ò…#jŽj ¬Zo6n‰¬js¢!^¨\\b\b\b\b;1%oÿúÿú ¬¢9Ànxx–¬¢MFX\•f0l|šbb§§§jjXlrPPP@DxbKRººMººˆˆhA©[[[;ˆˆXUTP:D.vne¦¦¦¦7wl=x^hëF’’3B‰QJ4.98QII†UUÞô°°ßÚÚHHðð - -››ÚÚ.ˆßL¾ )þÈ'JH–ÇÕð -ß-†L)ð 펿ßßÕNNoØS ûV;`S/§ß-to’ -Ððð -XÀÿúû-JÐaÚß¹ÿô¿sÕ-ÿ¯Áþ¡þyþµÿUþÿ‚!}¶!¨s‰\¬u!Vw‰\‰¢bZ\PZ¬6•¬L6ƒ8b•¬a®P®/b–¨bˆLAHE@LbL@pi"þ$":4\b`Z¶ cr-4–¨\ ¨¢–˜VV.˜˜˜¨¨ÿÞ¶˜¬¬mÿòÿÞuw‰!¢}¶(¨ }wwuV‰\‰¢˜Z#PeNN(|˜S^AwÞ?\™˜˜®EV¬b¬–¨¤;O7aŠN:(‰¨8`\\Þ¨¬#®˜;«(\b¶Þ/\¶Þ }™u®%NN˜¨Z¤997e¬¬ u®‰¬eŠƒ!^!^¨\\\\\ }™ nw˜w˜\b\b\b˜¨;;;eжÞ(}•\ZGb!!bMpb+!j™N#j@G!G!2!KjM4H!j!ij2p3\ÚšˆC¼P•AgA´•6A§HOb¦¨™gЦgž¨âPŠu¦aQ§u¼QAb*.Â-;;¸Y¨ à±L±Ö°XXXèèÿÌÿÌÿ<ÿ<þãþã HHÿàÿ–<°L0ä00*0þ;à±±8Äl}>¬fBZZzˆ¸’±XXXXÿÌÿÌÿ– ÿ¡Äl}>>LÖZZz>lyKGf{5SK}}TTHHfd>O>X5RRkü˜ ÿ– i ÿìÿ÷òÿý3ÿ÷hbdPabbbbbdbbaabdb9b^baabcbaamMcP~5fiba)(+øô",DD*:PN D002(ä))0÷00$$.'&M"O""09Mÿ&UMb:jZ0OJ%$Jt2M'?'',,x 0"ñO9G.)"!^}–}–}–˜¨‰Z‰Z‰Z‰Z‰Z¨\¨\¨\¶®ub‰¬‰¬‰¬ C‰¬¬u®u®u®áZáZáZáZVRVRVRw¬w¬w¬w¬\b¢–¢–…#…#…#…#¬¬¬ZoZoZoZoj j j j 9P9P77;s¢s¢s¢¬o;®b!^!^!^!^¨\¨\¨\¬\b\b    j ;;;66666666ÿÞýšýþqþ5ÿTÿ"••‘‡••ÿÿüÍüÃýhý6¬¬‘‡¬¬¬¬þßþßü–üŒý,ýþ(þ(‘‡õÍ  ÿÿüæüÈýrý@þUþUbbbbbbÿ\ÿüáü×þ&ýôLLLLLLLLþ{ünü›ýµ@@@@@@@@ÿpÿ*üáü×þ?þþÈþ}66••¬¬ÇbbLL@@66666666ÿÞýšýþqþ5ÿTÿ"¬¬‘‡¬¬¬¬þßþßü–üŒý,ýþ(þ(@@@@@@@@ÿpÿ*üáü×þ?þþÈþ}6666666!!þñÿ¯!ÇÇ  ¬¬¬¬¬þ þ¡ýíþy‰‘õ Ç  ¬¬þ)þµ‡Í LLLL––LLýÙþþýÇ-Ç@@@@@þ8ÿUþBÿ‚ZÕÇ--°°j°˜–––œœ9‡Ë‡ÉZ¤¯é¦/&&ž¨&ö% ¾¾I9ö% ¾¾)"I&'I0J9YEn'<2 <,.ZgŒ;;2J Zu!//ÿô/#/#/BþBþBþš¤£šBB;IBþBþBBBþBþþBBBBBB9·™·™º?222B77BBøþBBøþB BB B BBBBBBþBþBþ}››}BBBBþþBþBþBBÁAÁÁÁÁÁÁÁB',ÁB BBBBBBBB!w££?ÿúÿúddcddc˜BXqy111± XX¶¶¶¶’ÿÖ“”À“BJ/XXXXXXXXXXXXXXXWXXXXXXQQXXXXXXXXVVNXXXXXXXXXWXXXXXXXXXXXXVVXXXXVVXXXXXXXXXXXXXX2222BBBBÁáXXXXXXXXXXXXXXXXX9?rn’’’’¦/¦/  XG¸œ#X  åC@_24!!ççÿìá-XX!XXç–@ƒç64HFFFèèèéÆéèèèèÅèÜÜÜÛånÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìiÿìÿìÿìÿìEÿìiÿìÿìÿìÿìÿìiÿìÿìÛÛDDÛÛÛÛÛÛÛÛu77ÿìÿìÿìÿì7777ÿìaa¯¯"5"Y::È;+6.oc…ÉN8/&//0ŒŒ "N`yaÌ7g!!!!œ•½‘‘G®CL×54=/U28Y^CVpÞœj6”âgv€‘2 ‘1.r¢jD±7`./<KD$>K--9.7.P<<<<<<....RR–s'¼J*R*"ˆóÞ..:=4%=?D-W&W;%˜J@ƒ3@V90›~0G+%(C(#(=(.6W0$2$0174!$%2 02)!"$E=80+ÍQÝÓögÿ¾.rA1ððfnCDÒÒÍÎÉÉùStSt-IS-6SS`{{66O6ee5a}T2)‘XtSuN*u5&%2SuQQuBBw…`V!`‰¬Aºb†s®¦/¦/¨EEöööG¹¹‰¬ÁˆãçelPab EÿÜÿàEÿÜÿàEÿÜÿàEÿÜÿàEÿÜÿàEÿÜÿàÿ–ÿOÿìÿìÿ–ÿOÿìÿìXÿìÿìXÿìÿìXÿìÿìXÿìÿìÿÌÿ`ÿÌÿ` ÿnÿìÿâ ÿnÿìÿâÿ«ÿ¡ÿ¡ÿìÿÚÿÜÿàÿ±ÿÜÿà0ÿàä·00ÿà*ÿà0ÿàþÿà;ÿà àà§ØLªÿ±ÿÜÿàÖEÿÜÿà°VEÿÜÿàEÿÜÿàXXÿìÿìXXÿìÿìXXÿìÿìèèèèÿÌÿ`ÿÌÿ`ÿ<þøÿìÿìÿ<þøÿìÿìþãþ­ÿàÿàþãþ­ÿàÿà ÿÐÿÜ ÿÐÿÜHTÿìÿìHTÿìÿìÿ–ÿOÿìÿìÿíÿìÿìÿœÿìÿâÿµÿìÿì<ÿâÿâÿ«ÿÜÿà°VÿìÿìLÿ±ÿ±ÿÜÿàÿvÿlÿïÿÔllll.Õ-Õ ðð/ßoZ-ƒçP-EÿìÿìÿíÿOlXXXÿÌÿ–L°DDDD”Ø”€xÐX°HœØ0d  \  à ` ° ÜŒÐ$p´üääÐ||Ø,èDœ ¨ààdè` ÜÈxä h Ð!!P!”!Ø""H#@#Ø$`$ø%¨& &ì'`'È(@(¼)**Œ++¤,<,°-Ì.@.´/H0@11Ð282ü3(3ì4t4t4Ä5„677à8$9X9˜:´;”<<<P>¼?D@@@@ðAHAxAˆAàBlBÜBüCC<D0DTDxD¤DÐE F€G4GLGdG|G”G¬GÄGÜHH8HÐHüI IDIpIœIÀJ4K8K\K€K¬KÐKèLhMXMpMˆM¬MÄMÜMôOdO|O”O¬OÐOèPPP0PHQ`QxQQ¨QÐQðRRpSxSS¨SÐSðTT¤TèUU4ULUdU|U”U¬UÄUÜUôV V$V<VTVlVœV¬WhWˆW W¸WÐWèXXX0XHXlX„XœX´XÌXäXüYY8Y\Y˜Z(ZÌZð[[@[X[p[ˆ[ [¸[Ð\\Ì]€]¤]¼]Ô]ì^h^€^´^Ì^ä^ü__,_P_Ä`\`t`Œ`¤`¼`Ô`ìaa˜b0bdbŒb¤b¼bÔbìcŒdœd´dÌdädüee,eDe\eteŒe¤e¼eÔeìfff@ftfØgpgœg¼gðhh0hHhlh„hœh´hÌhäii(iLiti¸iÐièjjj0jHj¨kkÔkäl@lŒlìmxmänXnhnÐo4op(pˆq,qär0rŒs spsütDtŒtäu<u„uÌv0v|vÄw<wTwlwÜx8x yy„zzxzˆ{ {t{Ì|(|`|x|”}}\}¨~~H~ˆ~ülØ€t€èXÀ‚0‚„‚ ‚¼ƒƒƒ,ƒDƒ\ƒtƒŒƒ¤ƒ¼ƒÔƒô„ „,„D„d„|„œ„´„Ä„ä„ü……<…T…l…„…œ…´…Ì…ä…ü††,†D†\†t†Œ†¤‡‡‡0‡H‡`‡x‡‡¨‡À‡Ø‡ðˆˆ ˆ8ˆPˆhˆ€ˆ˜ˆ°ˆÈˆàˆø‰‰(‰@‰X‰p‰ˆ‰ ‰¸‰Ð‰èŠŠŠ0ŠÄ‹L‹d‹|‹ÈŒ\Œ¬Œø(@Xx°ÈàøŽŽ0ŽHŽ`ŽÌ\Ô4È‘`‘È’X’Ü““`“ô”<”°•,••¼–,–Œ——x—ؘ„™ ™œššˆšø› œDœøÌžˆŸŸd  ˜¡ ¡l¡À¢¢t¢ì£8£t£¤¤$¤”¤Ð¥`¥Ì¦8¦Ð§H§´§è¨\¨È©X©ôªHªœ««d«Ð¬ ¬H¬Ü­P­ô®<®¤®ì¯l¯¸°°h°à±T±|±¸²²0²|²ä³T³ð´P´°µµ„¶ ¶ ·4·¸·ì¸l¸¨¸Ì¹L¹¼º0º¸»x¼8½ ½”¾h¾ø¿°ÀÀdÀ¤ÁÁˆÁÔÂ4ÂtÂÈÃÃˆÃøÄ0ÄpÄ€ÄĠİÄìÅ(Å„ÅàÆ<ƘÆÈÆØÇÇÇ@Ç\ÇpDŽǰÇÌÇÜÇìÈŒÈìÊÊ,ÊhʼÊôˀ˸ÌÌ4Ì\̬̄ÌÌÌÜÌìÌüÍ ÍÍ,ÍXÍh͸ÍìÍüÎHÎXθÎÈÎäÏÏ,ÏDÏxϨÏÐÏøÐÐ(Ð<Ð`ЀРÐäÑÑ8Ñ\ÑˆÑ¤ÑØÒÒ<Ò|ÒèÓÓxÓˆÓ¤ÓÈÔ Ô`ÔœÔìÕ ÖÖDÖTÖdÖtÖÖ¨ÖÄÖà××8×`׸×ìØTØlØ|ØØÔØôÙÙ8ÙHÙXÙpوٰ٘ÙÈÙàÙøÚÚ(Ú@ÚPÚ`ÚpڜڬڼÚÌÛ<ÛLÛ\ÛˆÛ˜Û¨ÛàÛðÜÜÜLÜ\ÜlÝÝÝ|Þ,ÞDÞ\Þtތޤ޼ÞÔß\ßÈàà°àÀá$áláÌâââ\âlâ¼ã0ã@ã˜ãìä`äÈååhåàæPæ çç(ç@çXçpçˆèè”èüéé,é´ê(êÈë4ë”ììpì€ìðíPí€íøîTîäïDïTïdïÜðTðÌðÜðìðüñ4ñpñØò4òLòdò|ò”óó4óÔóäóôô,ô<ô¤ôüõxõõ¨õÀõôööˆö˜öÔ÷÷ ølø|øüùù$ùœù¬ù¼ùÌúú ú0ú@ú„ûlû|ûôü\ýýÄþþhþÜÿ0ÿðˆ˜dø0ìüÄt,œX´Ä ,l|4Dœø ° ` ¨ ü h ¸ X ð   ˆ  @P`xˆðH ¸ÐèxÐàð4x°äD üTl„È Hˆ¼ð T„”ÄD”ÜHXh€˜h°øpÈäüPhxˆ ¸ÈØð 8Phxˆ ¸Ðè ,<Ld|”¬ÄÜô $<Tl˜ÄÜô$4DTÐ ŒÜ , ” À! !¤""\"|"Ü#ˆ#Ô$8$ì%4%¸&&¤&ð'„'Ì(D(”)L)œ)ä*4*Ü+ +ä, ,˜-$-4-Ð-à..$.l.Œ//$/¤/ô0p0À1 1„1°1ø2 33\3|44˜4Ü4ì5¨5ð6 6°6è707Ä7Ô8X8Ü9˜: ::d:à;(;8;X;ÔD>ð?8?Œ?¬@@8@¬AA,ADA\AtAŒA¨AÀAØAðBB BŒB¤BüCCXCpD,DDDøEEpEˆFF F8FPFhG$G„HH(HŒI I°IÈIôJxJ¤JÀK8KTKØLL`LpL„L¬LÈLøMXMØN\NÄO O\O¬P$P`P PÄPøQLQdQ|Q”Q¬QÄQÜQôR R$R<RTRlR„SS,TTT$T4TDTTTØUXUÀUÐUàUðV@VÌW8W¨X$XÌY8YŒZ ZhZì[T[°\ \È]H]Ø^h^´_ _¬`<`¤aTaübŒc4c¨cÄddTdld¸eeleÔf,f˜fègLglg´hdhh¤hèiXiÜjpk\kØl€m,mÐnHnØo€p pxqq¤r$ràsTsÈtˆupvvÜw`x x°yPy´zŒ{d{È|T}}ü~|~𔀠€¨, ‚‚”‚ăƒÌ„`„œ…8…p…¨…ì†H†¬†à‡$‡Œ‡È‡øˆ(ˆ„ˆ´ˆä‰$‰\‰|‰´‰äŠŠ\Š ‹‹(‹d‹œŒ ŒŒè ôŽDŽ œ0¤Ü‘‘t‘Ô’’|’°’ä“4“t“´“ô”`”ˆ”œ”°”ĔؕX•h•¨•ü–T–¤—,—¨˜˜\˜œ™™X™œ™Ðšš<š¬šà›,›P›èœPœÄ,XÌžXŸŸLŸ¨  € ð¡¡H¡”¡ü¢X¢°¢È¢à¢ø££(£@£X£p££¬£Ä£Ü£ô¤ ¤$¤<¤T¤l¤„¤œ¤´¤Ì¤ä¤ü¥¥4¥L¥d¥|¥”¥¬¥Ä¥Ü¥ô¦ ¦$¦<¦T¦l¦„¦œ¦´¦Ì¦ä¦ü§§,§D§\§t§Œ§¤§¼§Ô§ì¨¨¨4¨L¨d¨|¨”¨¬¨Ä¨Ü¨ô© ©$©<©T©t©”©¬©Ä©Ü©ôª ª$ª<ªTªlª„ªœª´ªÌªäªü««0«L«d«|«”«¬«Ä«Ü«ô¬ ¬$¬<¬T¬l¬„¬œ¬¼¬Ü¬ô­ ­$­<­T­l­„­œ­´­Ì­ä­ü®®,®D®\®t®Œ®¤®¼®Ô®ì¯¯¯4¯L¯d¯|¯”¯¬¯Ä¯Ô¯ì°°°4°T°l°„°œ°´°Ì°ä°ü±±,±D±\±t±Œ±¤±¼±Ô±ì²²²4²L²d²|²”²¬²Ä²Ü²ô³ ³$³<³T³l³„³œ³´³Ì³ä³ü´´,´D´\´t´Œ´¤´¼´Ô´ìµµµ4µLµdµ|µ”µ¬µÄµÜµô¶ ¶$¶<¶T¶l¶„¶œ¶´¶Ì¶ä¶ü··,·D·\·t·Œ·¤·¼·Ô·ì¸¸¸4¸L¸d¸|¸”¸¬¸Ä¸Ü¸ô¹ ¹$¹<¹T¹l¹„¹œ¹´¹Ì¹ä¹üºº,ºDº\ºtºŒº¤º¼ºÔºì»»»4»L»d»|»”»¬»Ä»Ü»ô¼ ¼$¼<¼T¼l¼„¼œ¼´¼Ì¼ä¼ü½½,½D½\½t½„½œ½¬½Ä½Ô½ì½ü¾¾$¾<¾L¾d¾t¾Œ¾¤¾¼¾Ô¾ì¿¿¿4¿L¿d¿|¿”¿¬¿Ä¿Ü¿ôÀ À$À<ÀTÀlÀ„ÀœÀ´ÀÌÀäÀüÁÁ,ÁDÁ\ÁtÁŒÁ¤Á¼ÁÔÁìÂÂÂ4ÂLÂdÂ|”¬ÂÄÂÜÂôà Ã$Ã<ÃTÃlÄÜôÃÌÃäÃôÄ ÄÄ,ÄTÄdÄ|Ä”ĬÄÄÄÜÄôÅ ÅÅ4ÅDÅ\ÅxÅŨÅÀÅØÅðÆÆÆ0ÆHÆ`ÆxƈƤÆÀÆØÆðÇÇ Ç0ÇHÇ`ÇxÇǨÇÀÇØÇèÈÈÈ(È8ÈPÈhÈ€ȘȰÈÈÈØÈðÉÉÉ(ÉPÉPÉPÉPÉPÉPÉPÉPÉPÉPÉPÉPÉ|ɌɴÉÜÊÊ,ÊDÊ€ʼÊøËË|ËÜÌ<ÌtÌÌÍPÍ´ÍÐÎ0Î0Ï„дÐÔÐðÑÑ0ÑLÑlѬÑðÒ Ò”Ò¨ÒØÓÓ$Ó@Ó\Ó”Ó”ÔÔLÔÈÕ8Õ´ÕÜÖˆ××H×d׌×À×ôØDØXØl؀ؔبؼØÐØäØøÙ Ù Ù4ÙHÙ\Ùpل٘٬ÙÀÙÔÙèÙüÚÚ$Ú8ÚLÚ`ÚtÚèÛœÜ,ÜlÜØÝhÝÜÞÄß”à<àœà´áÐââtãôäå$弿(æÈçTçŒèè|ééhéÄê0êtêèë¤ìì¬íXíäî(î8îHîXîàïï ï@ï`ï€ï ïÀïàðð ð@ð`ðxð¨ðÜññ@ñˆñÐòò0ò`òòØó óÌôxôÀõõPõ˜õØööTööÌ÷÷X÷àøhù(ùäúÈû$ûhû ûØüüHü€ü¸ý<ýÀýüþdÿÿ¤ÿÈÿð@h´Ø,€Ôd¬ô0pÔH¬ì,l¬d¤ä$` à,xÈ  ` ¬ ð 8 t ° ð , h ¤ ü L    \ È\ ðT¨HŒä4„ð$X¨äPèxD¼ìˆˆ¸´Hð\l€”¤4¬p´ÜHˆðp , P t  ¼ Ô!!@!`!¸""p"Ø#@#Ä$8$È%\&\&ü'°( ))`***¨*È*è++L+”+ð,`,¨,ì-,-|-À.¨/4/¸0@0t0Ð11l1È2 2L2°33x3Ì4 4ˆ4ð5d5Ø6t77\7 8$88Ø99t9Ì:T:Ø;D;°;ø<@<°= =t=È>H>È?0?˜?À?è@@PAAÌB˜CPDDìEÔF”GHG˜GÔH(HdHŒH°HØHüI,I`IÄJJlJ¤JØK0KˆLLLôMXM¤MðNhNàOpOüPP PLP„P¬PÔQQHQhQˆQ¨QÈQðRR@RhRˆRÜRìS0SpSÈT¬TÐTôUU4UTU¬VV<V Vü[¨\\0\\\¤\ü]T]l]ð^x^^È^ü_H_”_ä`4`Àa aPa¤aøbDbŒbÜc,cDc\ctcŒc¤c¼cÔcìddd8dPdhdôe´ff\fÄfÜfìfüg g$g<gTglg|gÌhXhøiàj¤k´lXlüm|m¨männ8npnnÈnìoo,oPopo”oÌp$p\pxp°qq@q\q¨qÔrr,rHrdr€rœr¸rÔrðs s(sDs`s|s˜s´sÐsät˜uˆv0vDvXvtvˆvœv¸vÐvìwww4wPwlw˜wìxx\x¸yìztzü|œ|¸|ä}},}H}t}”}Ä}à~~$~P~l~˜~´~à~ü$@lˆ°Ìø€€<€X€€€ €Ô¤ø‚\ƒT„„¼„ô…H…œ…ô†L†°‡‡(‡P‡´ˆ(ˆxˆÌˆü‰(‰T‰€‰ÈŠ Š(ŠDŠ\Št‹‹4‹`‹ˆ‹°‹ìŒ8ŒdŒŒŒð0l¬ìŽ`ŽÔLÄì<h„°Ìô‘ä’P“—™Ðšš`š°››˜œ`(Œž( \££8£°¤$¤|¥Ô§l§´§è¨´©xªª¨«l¬4¬ô­¸±(±¤²¼´·8·´¸<¸¬¹¹”º$»d¼ˆ½ ½¬¾T¿ÄÀ€Á@ÁÔÂìÀÄÄÔÅTÅÐÆ\ƼÇ ÇÀÈlÈÐÉ<ÉÌÊ,ÊäË ÌdÌÔÍtͼÎTÏÏ”мÒàÓxÔ”Õ¨Ö¸ØDÙ<Ù¼Ú€ÛHÛØÜHÜèÝ0ÝÐÞ”Þèßà8áá\á¸ââ|âÌãã°äpåTçLè0é@êhëTìdí„î`ï ð$ñTò ó”ô,ôœõTöL÷ŒùúØûlü$üŒýý4ý\ý¼ýüþpÿd˜¬TÐpp<Ð |  L t ¼ €Ø8Üd °L|x ¤!„""l"Ð##X$ %%”%È&&H&x&Ø'H(0(À)|*ü,Ä00„1H1¬2@2Ð3Œ4 4€4ø5`5¬6 6p6È7x7¼8 8\8Ä9p;$=$>d@”B0DüJøLTN¤OdPPàR`SÜU0V€WÄX<XpX¤XÔYY\YxY”Y°YÔYøZZ0[([Ô\¨]$]¤^Ä_¨``€`¼`üa$aLataœaÄaìbb<b cc@clc˜cÄcôd˜dÀdèe8eˆe°eàff4fˆfÜgg4gxg¼h hXh¤hðiDi˜j j¨kkHk lHlàm„n`nüp(q\qôr$rˆrìs(sPsxs˜sÜt0t@tlt˜tÀtèuuHuxu¨vLvÄw4w€w¼x,xTx|xðyXy¼yÐyøz zè{p{{°{Ð{ð||(|P|x| |È|ð}}@}h}}°}Ø~~(~H~t~ ~Ì~üT”Äô€<€˜€¨€Ð€ô$4¤à‚0‚¬ƒLƒÔƒì„„„4„L„d„|„”„¬„Ą܄ô… …$…<…T…l…„…œ…´…Ì…ä…ü††,†D†\†t†Œ†¤†¼†Ô†ì‡˜‡°‡È‡àˆŒˆ¤ˆ¼ˆÔ‰Œ‰¤‰¼‰ÔŠЍŠÀŠØŠð‹‹ ‹0‹Ì‹Ü‹ìŒŒŒ4ŒLŒ\ŒØŒè´ÄŽlŽ ŽäŽô4D\l °ÀØè(8P`xˆ ¸Ðè‘‘‘0‘H‘`‘x‘‘¨‘¸‘ð’’ ’8’P’h’€’˜’°’È’à’ø““(“@“X“p“ˆ“ “°”D”¬•0•H•`•x•• ––(–@–P–¨–À–Ø–è—¸˜H˜ì™™™4™L™\š4š¼›h›€›˜›°›È›ØœLœ¬ 8Ph€žPž°Ÿ@ŸXŸpŸˆŸ Ÿ¸ŸÐŸè   0 H ` p¡<¡¤¢ ¢0¢¤¢Ü£ £0£Ô¤X¤è¥¥¥0¥H¥X¥Ô¦”§0§@§È§Ø¨„¨œ¨´¨Ì¨ä¨ü©©,©D©\©t©Äªªªªªªª¨ªØ«0«ˆ¬À­­ ®0®®Ä¯¯@¯œ¯Ì°L°x°”°°°Ì±±<±T±x±¨²²´³X´ ´Ôµµ(µ`µ€µ µð¶x¶Ì·t·”·¬·Ä·Ü·ô¸ ¸À¸Ø¹<¹T¹l¹|  +e@¯$_ÀB]ŽÐ 5m » “4ÿ ¾    S *b *¤ æ &  "I : &Ù h•Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain DejaVu Sans MonoDejaVu Sans MonoBoldBoldDejaVu Sans Mono BoldDejaVu Sans Mono BoldDejaVu Sans Mono BoldDejaVu Sans Mono BoldVersion 2.33Version 2.33DejaVuSansMono-BoldDejaVuSansMono-BoldDejaVu fonts teamDejaVu fonts teamhttp://dejavu.sourceforge.nethttp://dejavu.sourceforge.netFonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. http://dejavu.sourceforge.net/wiki/index.php/Licensehttp://dejavu.sourceforge.net/wiki/index.php/Licenseÿ~Z   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a¬£„…½–膎‹©¤ŠÚƒ“òó—ˆÃÞñžªõôö¢­ÉÇ®bcdËeÈÊÏÌÍÎéfÓÐѯgð‘ÖÔÕhëí‰jikmln oqprsutvwêxzy{}|¸¡~€ìîºýþ    ÿ øù !"#$%&'()*+ú×,-./0123456789:âã;<=>?@ABCDEFGHI°±JKLMNOPQRSûüäåTUVWXYZ[\]^_`abcdefghi»jklmæçnopqrstuvwxyz{|}~€¦‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’Øá“”•–—˜™š›œÛÜÝàÙßžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     Ÿ !"#$%&'(›)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456²³78¶·Ä9´µÅ:‚‡;«<Æ=>?@ABC¾¿DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz÷{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™Œš›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     ˜ ¨!"#$%&'š™ï()*+,¥-./’012345œ6789:;<=>?@ABCDEFGH§IJKLMNOPQRSTUVWXYZ[\]^_`ab”•cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n¹ o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ             ÀÁ              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                         sfthyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F4uni01F5uni01F6uni01F8uni01F9AEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccentuni021Auni021Buni021Cuni021Duni021Euni021Funi0220uni0221uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236dotlessjuni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240uni0241uni0243uni0244uni0245uni024Cuni024Duni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BBuni02BCuni02BDuni02BEuni02BFuni02C0uni02C1uni02C8uni02C9uni02CCuni02CDuni02D0uni02D1uni02D2uni02D3uni02D6uni02D7uni02DEuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02EEuni02F3 gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0343uni0358uni0361uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omega1uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni0472uni0473uni0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni04A2uni04A3uni04A4uni04A5uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04BAuni04BBuni04C0uni04C1uni04C2uni04C3uni04C4uni04C7uni04C8uni04CBuni04CCuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni0510uni0511uni051Auni051Buni051Cuni051Duni0531uni0532uni0533uni0534uni0535uni0536uni0537uni0538uni0539uni053Auni053Buni053Cuni053Duni053Euni053Funi0540uni0541uni0542uni0543uni0544uni0545uni0546uni0547uni0548uni0549uni054Auni054Buni054Cuni054Duni054Euni054Funi0550uni0551uni0552uni0553uni0554uni0555uni0556uni0559uni055Auni055Buni055Cuni055Duni055Euni055Funi0561uni0562uni0563uni0564uni0565uni0566uni0567uni0568uni0569uni056Auni056Buni056Cuni056Duni056Euni056Funi0570uni0571uni0572uni0573uni0574uni0575uni0576uni0577uni0578uni0579uni057Auni057Buni057Cuni057Duni057Euni057Funi0580uni0581uni0582uni0583uni0584uni0585uni0586uni0587uni0589uni058Auni0606uni0607uni0609uni060Auni060Cuni0615uni061Buni061Funi0621uni0622uni0623uni0624uni0625uni0626uni0627uni0628uni0629uni062Auni062Buni062Cuni062Duni062Euni062Funi0630uni0631uni0632uni0633uni0634uni0635uni0636uni0637uni0638uni0639uni063Auni0640uni0641uni0642uni0643uni0644uni0645uni0646uni0647uni0648uni0649uni064Auni064Buni064Cuni064Duni064Euni064Funi0650uni0651uni0652uni0653uni0654uni0655uni065Auni0660uni0661uni0662uni0663uni0664uni0665uni0666uni0667uni0668uni0669uni066Auni066Buni066Cuni066Duni0674uni0679uni067Auni067Buni067Euni067Funi0680uni0683uni0684uni0686uni0687uni0691uni0698uni06A4uni06A9uni06AFuni06BEuni06CCuni06F0uni06F1uni06F2uni06F3uni06F4uni06F5uni06F6uni06F7uni06F8uni06F9uni0E81uni0E82uni0E84uni0E87uni0E88uni0E8Auni0E8Duni0E94uni0E95uni0E96uni0E97uni0E99uni0E9Auni0E9Buni0E9Cuni0E9Duni0E9Euni0E9Funi0EA1uni0EA2uni0EA3uni0EA5uni0EA7uni0EAAuni0EABuni0EADuni0EAEuni0EAFuni0EB0uni0EB1uni0EB2uni0EB3uni0EB4uni0EB5uni0EB6uni0EB7uni0EB8uni0EB9uni0EBBuni0EBCuni0EC8uni0EC9uni0ECAuni0ECBuni0ECCuni0ECDuni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni10F6uni10F7uni10F8uni10F9uni10FAuni10FBuni10FCuni1D02uni1D08uni1D09uni1D14uni1D16uni1D17uni1D1Duni1D1Euni1D1Funi1D2Cuni1D2Duni1D2Euni1D30uni1D31uni1D32uni1D33uni1D34uni1D35uni1D36uni1D37uni1D38uni1D39uni1D3Auni1D3Buni1D3Cuni1D3Euni1D3Funi1D40uni1D41uni1D42uni1D43uni1D44uni1D45uni1D46uni1D47uni1D48uni1D49uni1D4Auni1D4Buni1D4Cuni1D4Duni1D4Euni1D4Funi1D50uni1D51uni1D52uni1D53uni1D54uni1D55uni1D56uni1D57uni1D58uni1D59uni1D5Auni1D5Buni1D62uni1D63uni1D64uni1D65uni1D77uni1D78uni1D7Buni1D85uni1D9Buni1D9Cuni1D9Duni1D9Euni1D9Funi1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5uni1DA6uni1DA7uni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1uni1DB2uni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Buni1E9Funi1EA0uni1EA1uni1EACuni1EADuni1EB0uni1EB1uni1EB6uni1EB7uni1EB8uni1EB9uni1EBCuni1EBDuni1EC6uni1EC7uni1ECAuni1ECBuni1ECCuni1ECDuni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE8uni1EE9uni1EEAuni1EEBuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011 figuredashuni2015 underscoredbl quotereverseduni201Funi2023uni202Funi2031minuteseconduni2034uni2035uni2036uni2037 exclamdbluni203Duni203Euni2045uni2046uni2047uni2048uni2049uni204Buni205Funi2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni2090uni2091uni2092uni2093uni2094uni2095uni2096uni2097uni2098uni2099uni209Auni209Buni209Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9uni20AAdongEurouni20ADuni20AEuni20AFuni20B0uni20B1uni20B2uni20B3uni20B4uni20B5uni20B8uni20B9uni2102uni2105uni210Duni210Euni210Funi2115uni2116uni2117uni2119uni211Auni211Duni2124uni2126uni212Auni212B estimatedonethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215F arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbseuni21A9uni21AAuni21ABuni21ACuni21ADuni21AEuni21AFuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21B8uni21B9uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21DEuni21DFuni21E0uni21E1uni21E2uni21E3uni21E4uni21E5uni21E6uni21E7uni21E8uni21E9uni21EAuni21EBuni21ECuni21EDuni21EEuni21EFuni21F0uni21F1uni21F2uni21F3uni21F4uni21F5uni21F6uni21F7uni21F8uni21F9uni21FAuni21FBuni21FCuni21FDuni21FEuni21FF universaluni2201 existentialuni2204emptysetgradientelement notelementuni220Asuchthatuni220Cuni220Duni2213uni2215 asteriskmathuni2218uni2219uni221Buni221C proportional orthogonalangle logicaland logicalor intersectionunionuni222Cuni222D thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2241uni2242uni2243uni2244 congruentuni2246uni2247uni2249uni224Auni224Buni224Cuni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2258uni2259uni225Auni225Buni225Cuni225Duni225Euni225F equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Funi2290uni2291uni2292 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendiculardotmathuni22C6uni22CDuni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EFuni2300uni2301houseuni2303uni2304uni2305uni2306uni2308uni2309uni230Auni230Buni230Cuni230Duni230Euni230F revlogicalnotuni2311uni2312uni2313uni2314uni2315uni2318uni2319uni231Cuni231Duni231Euni231F integraltp integralbtuni2325uni2326uni2327uni2328uni232Buni2335uni2337uni2338uni2339uni233Auni233Buni233Cuni233Duni233Euni2341uni2342uni2343uni2344uni2347uni2348uni2349uni234Buni234Cuni234Duni2350uni2352uni2353uni2354uni2357uni2358uni2359uni235Auni235Buni235Cuni235Euni235Funi2360uni2363uni2364uni2365uni2368uni2369uni236Buni236Cuni236Duni236Euni236Funi2370uni2373uni2374uni2375uni2376uni2377uni2378uni2379uni237Auni237Duni2380uni2381uni2382uni2383uni2388uni2389uni238Auni238Buni2395uni239Buni239Cuni239Duni239Euni239Funi23A0uni23A1uni23A2uni23A3uni23A4uni23A5uni23A6uni23A7uni23A8uni23A9uni23AAuni23ABuni23ACuni23ADuni23AEuni23CEuni23CFuni2423upblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockltshadeshadedkshadeuni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259F filledboxH22073uni25A2uni25A3uni25A4uni25A5uni25A6uni25A7uni25A8uni25A9H18543H18551 filledrectuni25ADuni25AEuni25AFuni25B0uni25B1triagupuni25B3uni25B4uni25B5uni25B6uni25B7uni25B8uni25B9triagrtuni25BBtriagdnuni25BDuni25BEuni25BFuni25C0uni25C1uni25C2uni25C3triaglfuni25C5uni25C6uni25C7uni25C8uni25C9circleuni25CCuni25CDuni25CEH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7 invbullet invcircleuni25DAuni25DBuni25DCuni25DDuni25DEuni25DFuni25E0uni25E1uni25E2uni25E3uni25E4uni25E5 openbulletuni25E7uni25E8uni25E9uni25EAuni25EBuni25ECuni25EDuni25EEuni25EFuni25F0uni25F1uni25F2uni25F3uni25F4uni25F5uni25F6uni25F7uni25F8uni25F9uni25FAuni25FBuni25FCuni25FDuni25FEuni25FFuni2600uni2601uni2602uni2603uni2604uni2605uni2606uni2607uni2608uni2609uni260Auni260Buni260Cuni260Duni260Euni260Funi2610uni2611uni2612uni2613uni2614uni2615uni2616uni2617uni2618uni2619uni261Auni261Buni261Cuni261Duni261Euni261Funi2620uni2621uni2622uni2623uni2624uni2625uni2626uni2627uni2628uni2629uni262Auni262Buni262Cuni262Duni262Euni262Funi2638uni2639 smileface invsmilefacesununi263Duni263Euni263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647uni2648uni2649uni264Auni264Buni264Cuni264Duni264Euni264Funi2650uni2651uni2652uni2653uni2654uni2655uni2656uni2657uni2658uni2659uni265Auni265Buni265Cuni265Duni265Euni265Fspadeuni2661uni2662clubuni2664heartdiamonduni2667uni2668uni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi2670uni2671uni2672uni2673uni2674uni2675uni2676uni2677uni2678uni2679uni267Auni267Buni267Cuni267Duni267Euni267Funi2680uni2681uni2682uni2683uni2684uni2685uni2686uni2687uni2688uni2689uni268Auni268Buni2690uni2691uni2692uni2693uni2694uni2695uni2696uni2697uni2698uni2699uni269Auni269Buni269Cuni26A0uni26A1uni26B0uni26B1uni2701uni2702uni2703uni2704uni2706uni2707uni2708uni2709uni270Cuni270Duni270Euni270Funi2710uni2711uni2712uni2713uni2714uni2715uni2716uni2717uni2718uni2719uni271Auni271Buni271Cuni271Duni271Euni271Funi2720uni2721uni2722uni2723uni2724uni2725uni2726uni2727uni2729uni272Auni272Buni272Cuni272Duni272Euni272Funi2730uni2731uni2732uni2733uni2734uni2735uni2736uni2737uni2738uni2739uni273Auni273Buni273Cuni273Duni273Euni273Funi2740uni2741uni2742uni2743uni2744uni2745uni2746uni2747uni2748uni2749uni274Auni274Buni274Duni274Funi2750uni2751uni2752uni2756uni2758uni2759uni275Auni275Buni275Cuni275Duni275Euni2761uni2762uni2763uni2764uni2765uni2766uni2767uni2768uni2769uni276Auni276Buni276Cuni276Duni276Euni276Funi2770uni2771uni2772uni2773uni2774uni2775uni2794uni2798uni2799uni279Auni279Buni279Cuni279Duni279Euni279Funi27A0uni27A1uni27A2uni27A3uni27A4uni27A5uni27A6uni27A7uni27A8uni27A9uni27AAuni27ABuni27ACuni27ADuni27AEuni27AFuni27B1uni27B2uni27B3uni27B4uni27B5uni27B6uni27B7uni27B8uni27B9uni27BAuni27BBuni27BCuni27BDuni27BEuni27BFuni27C5uni27C6uni27E0uni27E8uni27E9uni29EBuni29FAuni29FBuni2A2Funi2B12uni2B13uni2B14uni2B15uni2B16uni2B17uni2B18uni2B19uni2B1Auni2C64uni2C6Duni2C6Euni2C6Funi2C70uni2C75uni2C76uni2C77uni2C79uni2C7Auni2C7Cuni2C7Duni2C7Euni2C7Funi2E18uni2E22uni2E23uni2E24uni2E25uni2E2EuniA708uniA709uniA70AuniA70BuniA70CuniA70DuniA70EuniA70FuniA710uniA711uniA712uniA713uniA714uniA715uniA716uniA71BuniA71CuniA71DuniA71EuniA71FuniA722uniA723uniA724uniA725uniA726uniA727uniA789uniA78AuniA78BuniA78CuniA78DuniA78EuniA790uniA791uniF6C5uniFB52uniFB53uniFB54uniFB55uniFB56uniFB57uniFB58uniFB59uniFB5AuniFB5BuniFB5CuniFB5DuniFB5EuniFB5FuniFB60uniFB61uniFB62uniFB63uniFB64uniFB65uniFB66uniFB67uniFB68uniFB69uniFB6AuniFB6BuniFB6CuniFB6DuniFB6EuniFB6FuniFB70uniFB71uniFB72uniFB73uniFB74uniFB75uniFB76uniFB77uniFB78uniFB79uniFB7AuniFB7BuniFB7CuniFB7DuniFB7EuniFB7FuniFB80uniFB81uniFB8AuniFB8BuniFB8CuniFB8DuniFB8EuniFB8FuniFB90uniFB91uniFB92uniFB93uniFB94uniFB95uniFB9EuniFB9FuniFBAAuniFBABuniFBACuniFBADuniFBE8uniFBE9uniFBFCuniFBFDuniFBFEuniFBFFuniFE70uniFE71uniFE72uniFE73uniFE74uniFE76uniFE77uniFE78uniFE79uniFE7AuniFE7BuniFE7CuniFE7DuniFE7EuniFE7FuniFE80uniFE81uniFE82uniFE83uniFE84uniFE85uniFE86uniFE87uniFE88uniFE89uniFE8AuniFE8BuniFE8CuniFE8DuniFE8EuniFE8FuniFE90uniFE91uniFE92uniFE93uniFE94uniFE95uniFE96uniFE97uniFE98uniFE99uniFE9AuniFE9BuniFE9CuniFE9DuniFE9EuniFE9FuniFEA0uniFEA1uniFEA2uniFEA3uniFEA4uniFEA5uniFEA6uniFEA7uniFEA8uniFEA9uniFEAAuniFEABuniFEACuniFEADuniFEAEuniFEAFuniFEB0uniFEB1uniFEB2uniFEB3uniFEB4uniFEB5uniFEB6uniFEB7uniFEB8uniFEB9uniFEBAuniFEBBuniFEBCuniFEBDuniFEBEuniFEBFuniFEC0uniFEC1uniFEC2uniFEC3uniFEC4uniFEC5uniFEC6uniFEC7uniFEC8uniFEC9uniFECAuniFECBuniFECCuniFECDuniFECEuniFECFuniFED0uniFED1uniFED2uniFED3uniFED4uniFED5uniFED6uniFED7uniFED8uniFED9uniFEDAuniFEDBuniFEDCuniFEDDuniFEDEuniFEDFuniFEE0uniFEE1uniFEE2uniFEE3uniFEE4uniFEE5uniFEE6uniFEE7uniFEE8uniFEE9uniFEEAuniFEEBuniFEECuniFEEDuniFEEEuniFEEFuniFEF0uniFEF1uniFEF2uniFEF3uniFEF4uniFEF5uniFEF6uniFEF7uniFEF8uniFEF9uniFEFAuniFEFBuniFEFCuniFEFFuniFFF9uniFFFAuniFFFBuniFFFCuniFFFD dlLtcaronDieresisAcuteTildeGrave CircumflexCaron fractionslash uni0311.case uni0306.case uni0307.case uni030B.case uni030F.case thinquestion uni0304.caseunderbar underbar.wideunderbar.smalljotdiaeresis.symbols arabic_dot arabic_2dots arabic_3dots uni066E.fina uni06A1.init uni06A1.medi uni066F.fina uni06A1.finaarabic_3dots_aarabic_2dots_a arabic_4dotsarabic_gaf_bararabic_gaf_bar_a arabic_ringEng.altuni066Euni066Funi067Cuni067Duni0681uni0682uni0685uni0692uni06A1uni06B5uni06BAuni06C6uni06CEuni06D5¸€@t¾þ»»º»¹ú·ú¶µG¶»µG´2³–²2±d°–¯®¯k®¬«þª© ªú© ¨§Œ¨þ¨À§¦Y§Œ§€¦¥&¦Y¦@¥&¤þ£2¢¡ G¡þ¡¸ÿÑ@ÿ ŸA GŸAž2žk2œþ›úšú™þ˜—%–“þ’þ‘þþe}ŽŽŒŒ‹f‹2Š ‰ˆ»‰þˆ‡]ˆ»ˆ€‡†%‡]‡@†%…„…„ƒ–‚þe2€€d~–}d|S{f{2zez2yxfxdwþvþts s rq.rþq.pfp}onm»nþml]m»m€li%l]l@kkji%j»i@ÿ%hfhdgfgdfefedþcþbþa}`þ^d\[\þ[Z2Y-YXWWþV2UþTS TS RQR–QPQPOþNMdN–MdLþKþJIJ–IHúGúF}EDE}DCA?2>=<=þ<; <; :9:–98 99€8 8@76776-6545K4343212d1-10/@0D/.-.-,--¸@@ ,+,,¸@ +*++¸À@ * **¸€@W)K('K&$&$%$%K$$#""2! 4!>  4þ2¸€@ ¸@@ ¸@WK–77ú22ú2X}X       ¸À@   ¸€@   ¸@´ ¸@–  ¸d…+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++pyzo-4.12.3/pyzo/resources/fonts/DejaVuSansMono-BoldOblique.ttf000066400000000000000000007145101421373005400245270ustar00rootroot00000000000000 FFTMYôRÜ,GDEF.í$úHDGPOSî·ŒÈGSUBD‚`¸TþOS/2åÛ6TVcmap¶ñÀ¬Îcvt ¤>ˆþ|8fpgmçQñÄ´‹gasp@ glyfÑü6‰LÍäheadõfÅÞ06hhea ’±Þh$hmtxžõŒÊÞŒ†loca_TŒò'maxp ºB nameÅç¶4!Ÿpost«):ÔZáprepÔ±Ÿ™•¸ŽÆÔ.™É!É!<abbcders ¡ ¢ £ ¤ ¾ >Lcyrllao latn*ÿÿÿÿÿÿmarkÈ¾Ø ntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬cI gM aH +þu ^D ,þv dJ dJ `F -þw aG bH cI ;oQQ ;obI ;ofM <paG aG dJ QQ `G aG W= E_bber>DJPV\bhntz€†Œ’ª`°|°°|°ÑÑŽ°°‡°°Š°•°’° €¦cyrllao &latn0SRB ÿÿÿÿ4ISM I K _ q Ž œ µ ¹!!!!!!!"!$!&!+!.!_" """" "-"="i"‹"’"¥"Æ"Í"é"ï####!#(#+#5#>#D#I#M#P#T#\#`#e#i#p#z#}#ƒ#‹#•#®#Ï$#&&<&G&g&o'Æ'à'é)ë)û*/+,d,p,w,z,..%..§§§'§Ž§‘öÅûÿýÿÿ  Íæôøü!$CLP»ÆÌÐÖàîóCXatz~„ŒŽ£Ððbr¢ªºÀÇËÏ1Ya‰„‡Š”™¡¥§ª­»ÈÐ,0>bw{…›¹0Th|›Ÿ¬°¶¼ÆÊØàèîø HPY[]_€¶ÆÖÝòö   & / 9 < E K _ p t   ¸!!! !!!!"!$!&!*!.!S!"""""'"4"A"m""•"Å"Í"Ú"ï#####%#+#5#7#A#G#K#P#R#W#^#c#h#k#s#}#€#ˆ#•#›#Î$#%€&8&?&`&i'Å'à'è)ë)ú*/+,d,m,u,y,|.."..§§§"§‰§öÅûÿùÿÿÿãÿÂÿ¹ÿ·ÿ³ÿ²ÿ°ÿ¯ÿ­ÿ¬ÿ¦ÿ¤ÿ£ÿŸÿÿ›ÿ™ÿ˜ÿ”ÿÿ„ÿÿmÿeÿSÿOÿLÿGÿFÿEÿDÿCÿ5ÿ3ÿ%ÿ ÿþÿþùþõþóþñþïþÙþÑþ¾þ¼þ»þºõÄõÃõÁõÀõ¾õ¸õ·õ¶õµõ´õ²õ±õ°õ¥ó£çžç™ççŽç‰ç}ç|ç{çuçdçbçYçDçCçæÿæýæ÷æóæñæðæíæãæáæÝæÛæÓæÑæÇæÅæÃæÁæ¿æ¹æ·æµæ³æ±æ°æ¯æ®æ­æ«æªæ©æ§æ¦æ¤æ£æ¢ææœæšæ’æ‘ææŠæ‰ævæfædæcæ`æ^æææ æææææåÿåüåúåÖå¦å¥å¤å£å¢åœå–å“ååå‹ålåfåZåUåEåDåBå@å=å;å2å1å/å-å,å*å)å'å&å$å"å!åååååå äêä—ã;ããâêâéá”á{átßsßeß2ÞPÝÜÿÜûÜúÜùÛaÛXÛPbwbsbqbbÜ¡ «   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a†‡‰‹“˜ž£¢¤¦¥§©«ª¬­¯®°±³µ´¶¸·¼»½¾¼rdei¾x¡pk#vjóˆšÀs÷øgw¨µ´Çl|í¨ºcn¼TÛ¬m}Àb‚…—°±¸¹´µ¹ Á: ÊË ¢ £½y¶º„ŒƒŠ‘Ž•–”œ›óeuqqrszvtf#3#¶îN#'#¸\ #Í#3#þ#/٨𢃮º¦˜¼°ô%¢Ã%1ž/;¶¢¤Å¤sÕÃáîÕ˜¢ÕÕðqÕîoúVú#Áéd\œH¾```{ÓšÃî\{šá`ª¸ߢƒšoÍ7ºLøÑ'5ª%ÓÕ={¢¤ðD=!Ï¢/îÑsë¶, °%Id°@QX ÈY!-,°%Id°@QX ÈY!-,  °P° y ¸ÿÿPXY°°%°%#á °P° y ¸ÿÿPXY°°%á-,KPX °šEDY!-,°%E`D-,KSX°%°%EDY!!-,ED-ÿÿhþ–h¤@ ˜˜7/ÄÔì1ÔìÔì0!%!!hüsüåþ–øòr)RÕ ]@.    49    ÔäôÄÀ99991/äÜÄ0KSXíííí9Y"!!! #‰ 7þö# fÇ!þåÕýqþ›eçªçÕ@ 9ÔÌÔÌ1ô<Ì20!!!çÿÿÿÕýÕ+ýÕ+ÿ×ô¾N@3      ÔÌ91/<Ä2Ô<<Ì22Ô<<Ì220#3333#3#####73#73ðËJË^Í^Ý^ð6ñHð6ñ^Þ_Í^Þ_ð5òHð5ò^qþÛrþŠvþŠ×þÛ×þ‹uþ‹u×%×v'þÓD /m@;)%%$(<54&#.'.54$?3.'‡;Rb9–5HS49U´a3Y²WDœÿË0/G’L22 ZD*9û’-.,=BZ(¤|±íííú',þÂ.¨‚¸ï!Ø '3V@-(  (?? ?>.?%1"+1""4ÔÄìÜìîÞî99991/îÎöîÞîî999904632#"&"32654& 4632#"&"32654&!º……»»……º?9PP9:OPþ½)ûè˹†„¼¼„†¹=8ON9:QRX†º»……º¹O::OO:9PýP¢`þ^’†º»…„»¹P::OP99Qÿßÿã¾ð&0—@O$%$&%%$()'/.040'$ % -<;C<BE%%!&!0$ ' !* 1ÔÄìÔÌî99999991/äöîöîî99990KSXÉ9É9ÉÉ9Y"%#"&547.54$32.#">73!3267ãV³WÀäź äF‡A16€BX^&(Ý*0ë xlsþÄþ®Z^^,Z.H23Õ°£i:d/·Ûÿ#&GB"tWþ :š]û[öÛ4•\c„çªçÕ¶9ÔÌ1ôÌ0!çÿÕýÕ+Rþò7 @ G   ÔüÄ9991üÌ0 #&57éê89áRPþÈý¥þÛþͦ¬J¡"F!qþòV @G  ÔÄì9991üÌ04'3qéê89áQQþýþÿþò8[%3¦«þ¶¢þÞýºþßy9TðJ@(   B   Ô<Ä2Ü<Ä2991ôÔ<Ä2ÄÄ2990 %#'-73%Tþ¶JLþ´¬þµLLþ´LK¬LÁ­®¸þ¨X¸®­¶Xþ¨¶B\¨ #@ H   Ô<Äü<Ä1Ô<Äü<Ä0!!#!5!ß®þRíþP°¨þRîþP°î®Ñþáìo4@4IÔäÄÀ1üÌ0KSXíí9Y"!#²:6þò׬oþñþô¼ ß·ÔÌ991ÔÌ0!!+u8ýŒßþÝ\ðo/@4IÔäÀ91/ì0KSXííY"!!¢NFþ²oþ‘ÿB3Õ@ 49/Ì991ôÌ0KSXY"3#TßüªÝÕùmZÿãwð /ò@ J$J-B$E0 '0ÔÄìÔìÎ1äôìîÔÎ0@Â////////// / / ?????????? ? ? D@@@@@E UPPPPPU ookkkkk k o ‹‹‹‹‹ ‹ ————— — C////////// / / ¿¿¿¿¸¿¸¿¸¿¸¿¸¿¿ ¿ ¿ ]]4632#"&3267654&#"#"&547>32éI45JJ54IjDG@k$6ABGCj$6AøfUIñÁ×eSJòÁÙé5HI43IGüqljc˜\rkhe•þ¤õÕþIŸ‰˜ìÕÓºœ‰ší+üÕ O@(4JJ9J   ÔÔÄÀ991/ì2ôìÔì0KSXííY"!%!!!^J¼þ¿3Fï53übÉL Jû/þüÿãoðc@24LK JBJ ÔÔì9999991/ìôìôì9990KSXí9íY"!!7%6754&#">32bi3üK13^’pcRÐv3mÖeÁòþ:(þüüø.Rb™HQ;: (*¾–ùþ{"ÿáÿã`ð(M@,M LK#M L K MBE) ) &  )ÔÔìÔì9991Ääôìôìîöîî90#32654&#">32!"&'32654&ž4|›sjSÇn6hÁXÌö½§†„þ¹þçfåz6`Ïlš¢œoUFL*( ŸŒÁ$¤„æþð&$.0‰Rc`Õ o@<      4 J9    ÔÜä991/äÔ<ì290KSXííííÉÉY" !!3#!!þu•5²¤1¤>þæ?ý®:ý¾–üjýþ¾BÿãÕj@84JLKJ J9 E  ÔÔìÀ9991ÄäôìîöîþÄ90KSXíí9Y"!!>32!"&'32654&#"T+3ýÄ5!H)ÅéþœþÌ_¿_3F«_¬ÇŽzN¥OÕþüþë éÅþõþÇ  (*ž‡hy(&`ÿß‘î '8@M M L KM%BE(  (ÔìÔìÀÀ91äôìôìîÖî904&#"326.#">32#"&5476$32#[Mi“[Kl’n3<ŒHÔ/<˜Y§ÂþÌéãäymb¹C‹-XgÈ“XjÈþô,.ÙÑABßÁþýþ©ûûÙš—ˆ‡mÉÕ3@4J9ÔÌÄ991/ôì0KSXííY"!!!Ã)ý þÁßý‡ÕÑúüÑ?ÿãqð #/N@$ M' M-MBE'0 $*$  *  !0ÔÄìÔìÔìî991Ääôìîî990¶)*+]4&#"326.5432#"&54632654&#" k[pŽo[mþ¨hk'յᲖmzþ×ïÒçÆà[Ge\S\}ÝXg—vVh—·n·ÆŸ”Ì©{ÜþîÇ´©ï7I]x]OY|7ÿáhð'4@M LKM %MBE("  (ÔìÔì91äôìÄîöîî9073267#"&532#"&32654&#"73=ŒHœÔ0=˜X¦Á2éããylaþêºCŒ%YMh”[Kl ,.ÙÑABÞÂWüúÙþc–ˆ…¡XeÈ’XkÊ1L'O@)4INI ÔäôäÀ91/ìüì0KSXííííY"!!!!þNHþ²?NFþ²'þ“þµþ‘ªþáL' F@"4IIN   ÔÄäÔäÀ991ìüÌî0KSXíí9Y"!#!!wN6þòט¼NHþ²oþñþÇþ“Xmy˜@ üì291ÔÌ90 5yüåûß!žþãþåùŸì X'yÛ@HH ü<ì21ÔìÔì0!!!!X!ûß!ûßí´ëXmy˜@ ü<ì91ÔÌ9055X!ûßžúþ`ìþaù#uð!‡@K !4  !  ;<B!   "ÄÔÄæî9991/ÎöÆîÍî99990KSXííí9íY"!!!7>?654&#">32Z 7þöXþöX]k‘JEYÍt5fÖh¥Æbui~þ呚`N]~C9>IH 7:¥†_¦bViŒÿòþÁÍs ?a@4-0)? OO P,)O0P O09@? < ,- <&<3@ÔÄüÄîî999991ÔÄüìþÄýÄîî999902654&#"#7#"&5432>54&#"3267# 476$32ÓhŽQGgP Å+r<‹ ÿ·Hh |i|âX[`ìÈO¢Q?k¿_þãþ±XTtP½Âì-·‰MX³‚S]¦R15°™Þ31/#B[kv{þØ›ïþé00®95~D¤<‰ºÍͨ@$ÿÕ n@:      4<Q9    ÔÌ91/<äüì90KSXÉÉÉÉÉÉÉÉY" !!!!!Íþø›hqþÛþp¢þÕÃý¡qú+qþÿìš×#@I###  # #4T T9T S"  "#$ÔôÔìÔì9991/äìôìî90KSXí9í9í9í9Y"²]´ ]32654&# 32654&#%!2#!VÅœ“joTDÅy{VZþKâÓ×¾¯‹šLEKæÃþ¦þF…VRFþ¥mjD@릤¡Æ žƒl»?C<ƒÿãÃðJ@UCVUCV BE  ÔÄì9991äôìôìîöî0K° TX½ @ ÿÀ878Y%#"476$32.#"3267²M¡Uïýya™RM@2‘XPš6EU~vQ¡^+$$槉nr$$þ¸DEaUkþÓ‡’›CIÿøÕ ]@+   4V 9V    ÔôÔì9991/ìôì0KSXí9í9Y"² ]´]3267654&#! #! º`pš+4A}þ½;%hH^þúÛþ¶Ëü?XXj%~„€ öøWÅq—ÒE\PáÕ U@/  4VV9 VS   ÔÄä91/äìôìî0KSXííííY")!!!!!¾ü_ ¤3ý…??1ýÁL{Õþüþ¾þüþy/ôÕ P@+4VV9S   ÔÄä91/äôìî0KSXííííY"!!!!!Áý…>B3ý¾þÙ#¢Ñþ¾þüýuÕfÿã¨ð&x@3#&& !"&4"##V%VUCV BE'%$#"&'ÔìÔÄ991äôìôìþÔî990KSXí9íY"K° TX½'@''ÿÀ878Y%#"476$32.#"3267#7!ßFÄsòþö‘xb˜QMB3ŠQG4)E "€t$?9Î1Ì^;@"פ‡os$$þ¸CF;9/~Mb·N#øÿøÙÕ ‡@?     4VS9   ÔäÔä91/<ä2ôì0KSXííííííííY"²P]@ PPPPP]!!!!!!'oqn'þÝþÙþþÙÕýÇ9ú+˜ýh¶Õ J@&  4V9 V    ÔÄÄÀ991/ì2ôì20KSXííY"!!!!! 3y3þ×¼)4üˆ3)¼Ñþüü3þüÍÿìÿãÕR@+  4 UCVV 9E  ÔÌ991äôìîöî990KSXí9íY"'3267!!#"&AN±gtq”þ—4Ç!RCC¶qoÖNX`_lŒòü ª¬7785ÿîXÕ w@B      49   ÔÄä91/<ä290KSXííííÉÉÉÉY"!! !!'l3\ý¢RþÑþ¬_þÚÕýÓ-ý¤ü‡žªþ P!Õ6@4V9ÔÄä91/äì0KSXííY"3!!P#'ðw3Õû/þüÿÇ Õ â@I     4 9   ÔäÔä991/<ä290KSXííííÉÉÉÉY"K° TK° T[X½ @ ÿÀ878Y@>  /////   '//)/;8]]!!## #ça1)hþßýíþÛÛ/çüÕýqú+®ýqûRÿççÕ ¤@:  49  ÔäÔä9991/<ä2990KSXííííÉÉY"²(]@*5(*'%300005QWPPWPWPW]]!!! ! /×ÓþàþÛáÓþùÕûÃ=ú+=ûÃ=ÿã“ð)P@V'VB'E*! *ÔìÔì1äôìî0@+0044553300000000 0!0"0#0$0%]4&#"3267>7>47>32#"&dPQ;d$+PQ;c%-üÙdUMúœ×ãbTNûœÙâüxxGE'\sÇKxvGE,ƒSsÇþ ÈššŒ—üîÊþc—˜ýºÕk@;    4TT 9   ÔäÔì9991/ôìÔì0KSXí9íí9í9Y"32654&#%!2+!)T’‘h}þ‘¤ì÷I:N蹤mþÙÝþJ‡‡[Mø·¯ràB[QýÑ=þç“ð-|@%VV BE." " ".ÔìÔì99991äôìÄî990@A000 0 0 00000000005553$3%3&0'0(0)0*0+0,0- ]#"&547>324&#"3267>7>ÚåcTNûœÓçaU#iI”Ó›PQ;d$+PQ;c%-úðÊ—˜÷àÕþ]›Bn/º†xxGE'\sÇKxvGE,ƒSsÇÕ @Q       4T T9    ÔäÔì999991/<ôìÔì9990KSXííí9í9ÉÉ9Y"²(]²(]!&'&+!!232654&#=D¤þÓj5iusþÙ#šèàÄþZP{‡‹\\Á HWýçx »ý²Õ¯µ»áþi€|NMÿã‡ð'·@;'''4 ' UC!V U C VBE('$ $(ÔìÔìÀÀ99991äôìôìîöî990KSXÉ9É9Y"¶   ]@    ( ]]@() ( ( 9 9 9 I I I Y Y Y h h h y y y ( ]].54!2.#"!"&'32654&'úÀ|CgÃ[9D¶ov”¸t’‡þ¾þînå|;aÔk…˜FE˜P–~Ü))þã>?qXTS3A·…æþî451QUud>[´Õ}@4V9ÔôÔÄ991/ôì20KSXííY"K° TK°T[K°T[K°T[K°T[K°T[X½@ÿÀ878Y@ ¯¯])!!!jþÚïþ1#3þ…Óþþ-ÿãøÕs@=   4  VE9 ÔìÀÀ9991ä2ôì99990KSXíí9í9íY"!3267!#"&546D¸'Ç\TlÇ'¹#P?LÐ}Ûì '®ü/RZz|øüR´¹?JNÆ·*dË-ÕF@#49ÔÌ91/ä290KSXÉÉÉÉY"%!!!ú-ý{þdA#òãú+Õ)ZÕ @A      4 9    ÔÌ91/<ä290KSXÉÉÉÉÉÉÉÉY"²]@**5888]33!!!þlî )þ3þò þÂþôÕû¸Åý;Hú+üðÿq?Õ u@?    4 9   ÔÌ91/<ä290KSXÉÉÉÉÉÉÉÉY")! !!/þÝÈþpþ½fþá#»hAýÃþÇþ1Ïý‘NÕ`@149 ÔÄÄÄ91/ä290KSXííÉÉÉÉY"!!!‘%»›Bý‡sþÛsÕýw‰üwý´Lÿß Õ 7@4V9V   ÔÌ91/ìôì0KSXÉÉY"!!!7!ñ1ü”¼3ûé/Zý}Õôü#þüôÝßþò?F@!4WWGÔÄÔÄÖÆ991üìÔì0KSXííY"!#3!Dû&òþçò%þ¾úZ¾TÿBåÕ.@49ÔÄÀ91ôÌ0KSXÉÉY"#ÆÊÇÕùm“jþòÉB@4WWGÔÄÔÔÔÄ991üìÔì0KSXííY"!73#7!dþ%òò%üþò¾¦¾9¨˜Õ@ 9ÔÌ91ôÌ290 # #ãµòþÂþÃòµÕýÓ-þÓ-þÑþÛµW/Ì1Ôì0!5Ñû/þÛ¾¾sî`f/¶ÔÌ91ÔÌ0K° TK°T[X½ÿÀ@878Y#ÑÆþÙfþˆx/ÿãu{ *@O      4!  ]]!<"\]%[E_ (  !"(+ÔìÔì99999991/ääôìôìîî9990KSXíí9í9í9Y"K° TK° T[K°T[K°T[K°T[K°T[K°T[X½+ÿÀ++@878Y@23 0!0"3#vv…†       x¦¦¦ ¦¦¦ ]]"3267%!7#"&54$!37>54&#"7>32²¬¦Q?v 7{þÝC­n—±7%ÁfaRÏv/qÉ[Ùàhm?Rº¬mý}MM¯•×ã1 9<98ú''˜“'j/ÿã ´@J    4 <<E[G    ÔäÔì999991/ìäôìî990KSXíí9í9íí9í9Y"K° TK°T[K°T[K°T[X½ ÿÀ @878Y%254&#"!!>32#"&XoŸSJr¥Z)þÛ/%w?¦_’«=7EÒuoÑÊepþëÆhwÏý¤`cÛ½ƒþýi}–ÿã…{W@ ` <K< K [E  ÔÄì9991äôäìæîîÆ0K° TK°T[K°T[X½ÿÀ@878Y%#"$5!2.#"3267¼M£Sâþÿo(bªL5=ˆNªÕz|FŸ[%!!ø×=Œ)+þô:8øÆ€~44Bÿãø ´@J    4 <<E[ G    ÔìÔä999991/ìäôìî990KSXí9ííí9í9í9Y"K° TK° T[K°T[K°T[X½ ÿÀ @878Y"3254&7!!7#"&547>32yo SIr§Z‘}%þÑþÝB¥_’«>8EÒup“þåÊepÆhw…ùì¦`cܾk’Lÿãƒ}&w@#`d<Kc#< [E'& 'ÔìÔì99991äôììæîîî0K° TK° T[X½'ÿÀ''@878Y@ÏÏÏÏÏÏÏÏÏÏ Ï& ]%#"$547>32!3267>54&#"á_ÎnøþþXPTè†Ñü ý †ƒlØ]¨fYdŽ(7**íäafmðÆ-vSce>;h Ubvvçô©@=    4 ddG e    ÔÄä99991/ä2üìî2990KSXí9íííY"K° TX½@ÿÀ878YK° TK°T[K°T[X½ÿÀ@878Y!!!!7!7>;#"XX+þ¨®þÛ®þï+*¸ïð+æA:¬LáüáNÓ“á7þX¦ +Ò@\+ + + + +* +'(&)+ +4)* `<<K<&[*ef,* )+ + ,ÔÄì99991Äääôìæîîî99990KSXí9íí9í9í9í9Y"K° TK° T[K°T[X½,ÿÀ,,@878Y²]%254&#"!"&'326?#"&547>327!s¨RHr¨P5þìþïb¶W6K¥W}6›`¹TIFÉjh‡#%ö »doþ÷¹fo¢þëç --u|…SUѲ‹lgtng¶;`Û@L   4  <[G   ÔäÔì99991/<ìôì99990KSXíí9í9ííí9Y"K° TK° T[K°T[K°T[K°T[K°T[X½ÿÀ@878Y@    7 ]!>54&#"!!>32NþÛ…:7StyþÛ/#t0¨e€Š Øý(ª5:=‡ý‹ý¤\g‹L7 “@5   4 i hded    ÔäÔÔÄ991/ì2ôìüì0KSXííííY"K° TK° T[K°T[K°T[K°T[K°T[X½ÿÀ@878Y!!!7!!!!5D®l+ü+mƒþá´%CþÛ`üáážþªÿÁþX¸@?   4 id dhef  ÔÄä.991äôììîî990KSXí9íííY"K° TX½@ÿÀ878YK° TK° T[K°T[K°T[X½ÿÀ@878Y´]%#!73267!7!7!!Ý!=/;¢þÍ-çdf¦þ×+N)þÛB%+§.;4ák‡TáËVR “@D      4eG   ÔÄä991/<ìä90KSXííííÉÉÉÉY"K° TX½ ÿÀ @878Y!! !!%˜”rþ9þÉÞtRþÛüòZþ^ýB `þTé Œ@/ 4dGd  ÔÄÀ999991/ìüì990KSXí9íY"K° TK°T[K°T[K°T[X½ÿÀ@878Y@ ‰‰‰‰]3!!"&5467!7!q>N-þ×ͪ ËþÎ+Vm!-%áp‚F,¸áÿß¶{+‰@k !    $!"!#""!4&$!  <)[$e" $,"%  &!"% # % " ,ÔÄìÔäî.999999999991/<<æö<î29990KSXíííí9íí9Y"K°TK° T[K°T[K°T[K°T[X½,ÿÀ,,@878Y@™? ? ? ?????7???????@@@@@@@ @ GOOOOOOOOOO O!O"O#O$O%O&O'O(PPPPPP P __________ _!_"_#_$_%_&_'_(…… …!‡"„$„%„&„'L]>32#>54&#"#>54&#"#3>32 €L\l Œï‹ #"09‹ð $"/7‹ðÙÕ)yEEWð@Kpa/aKý1Ï3=(*Zwý1Ï*B(*Wzý1`tDKK;`{Î@L   4  <[e   ÔäÔì9991/<äôì99990KSXíí9í9ííí9Y"K° TK° T[K°T[K°T[K°T[K°T[X½ÿÀ@878Y@ ]!>54&#"!!>32NþÛ…:7RuyþÛÙ% 0¨e€Š Øý(ª5:=†ý‹`¨\g‹LXÿãy} !@ <<[E ÔìÔì1äôìî04&#"32!2!"&R]U{¦aSy¦ýM ×òþ³þõ×ò¬mvþðÍjy6B‘ñÖþ½þpñÿÛþV‘{ª@M4<<[Efe    ÔäÔì999991äääôìî990KSXíí9í9íí9í9Y"K° TX½ @ ÿÀ878Y%!!>32#"&7254&#"{{þÛ-%!G¤]“ª>8EÒupËo¡SJr§ZÏý‡ ¨baÛ½þüj|rÉepþëÆhwDþV¢}¶@N4<<[Efe  ÔìÔä999991äääôìî990KSXí9ííí9í9í9Y"K° TK° T[K°T[X½ ÿÀ @878Y7!!#"&547>32"3254&V'%þÓþÝs?¦_’«>8FÐto‘Ëo TJr¥ZÑùöP_dܾk‚‘}sþåÊdqÆhwšË{}@5       4 <[ e   ÔäÌ91/äôìÔÄ990KSXíí9í9íY"K°TX½ÿÀ@878Y.#"!!>32–0vJ¦³(dþÙÛ%#>Æw>o,/+)°Ïýü`®`iZÿãF{'¼@<    4 ``<K<K%[E( " "(ÔìÔìÀÀ99991äôäìæîîî90KSXÉ9É9Y"K° TK° T[X½(ÿÀ((@878Y@(-/// / / ,/. / :::JJJYYY ]].#"#"&'32654&/.54$32F2K®]^nIJ€vþíõhÏc3V¾]n{=…Xzrâ]º=þ56F;-7%%Œr¶Ï##8;KC.4'$‹p¨Ï¤‘ž¦@>  4 de d  ÄÀ9991/ìô<Äì2990KSXíííí9Y"K° TX½@ÿÀ878YK° TK°T[K°T[X½ÿÀ@878Y!!;#"&5467!7!P>+þhjÿã`×@O   4  <E e  ÔììÔä9991/ä2ôì99990KSXíí9í9ííí9Y"K° TK° T[X½@ÿÀ878YK°TX½ÿÀ@878Y@      ]!3267!!7#"&546{#ƒ:6Sqz#ÙþÛ!,ªeЇÙýT4:?ŒŠwû ¦Zi„H¬Ï`¨@#4eÔÌ91/ä290KSXÉÉÉÉY"K° TK° T[X½@ÿÀ878YK°TK° T[K° T[K°T[K°T[K°T[X½ÿÀ@878Y@    ] !!ÏýÙþ‹P…`û `ü’nZ-` °@B      4 e    ÔÌ91/<ä290KSXÉÉÉÉÉÉÉÉY"²]@.&))::KL   **-<<<IM[\]]333! !`ð!ãæ#üþ^þèïþé`ü¦5ýËZû Ný²ÿ´Ë` Ú@@    4 e   ÔÌ91/<ä290KSXÉÉÉÉÉÉÉÉY"K° TX½ @ ÿÀ878YK°TK°T[K°T[K°T[K°T[K°T[K°T[K°T[X½ ÿÀ @878Y@ )8HYY]] !! !Ëþ#þÕªþÑþ´þþ-” `ý×ýÉdþœRþÃ=ÿ¦þXé`·@A     4  df e  ÔÌ991ä2ôì9990KSXÉÉÉÉÉ9ÉY"K° TX½@ÿÀ878YK° TK° T[K°T[K°T[X½ÿÀ@878Y+7326?!!'p£~ð-uWd<'Ù)5yÆiß54&+7326?>!3#"3o%”Ĩ + `w>%=€)+»•${hY& }‚_S) DP¿m}88×0=L=¿nœ×à¾Vѧ†WLE'Í.8;3öþÙ¶kÔÌ1üÌ0#Ùãøÿáþ²0µ@i+,+,,+ 4+1''%,%W'W/W'G1/, 1'&%(&01Ä.ÀÀÀ991üÄìÔìî999999990KSXí9í9í9í9Y"326?>7.546?>54&+732;#"+{gX' ~^T) BQy%“ͤ)_t>%>ƒ)+Æø–UͤŠTOG*Ñ06<1¾`r#m× :UF¿t–×Þ“XÏy++@ ll  üì1ÔüÔìÀ9990#"'&'.#"5>32326yKOZq Mg3NJN’S5dJ t]FŠ+é<73 ":?å=6 7=RÕ ]@. 49 ÔÄôäÀ99991/ôÜÄ0KSXí9íííY"!!!3Hþõ8 þÝþöfÇ#ºú+eþ›hþÇN˜$R@1` `J K JK[ E%  ""%ÔìÀÀÀ91ä2ô<äÄì2äÆì2îî0.'>7#.547>73N5-n@‡@@3>A77ÂÐmfP×{7Ž75rþˆˆ»h5þø(/ýL.)þø"þà íÈ›jSYþá"üƒ´þû®j…ÿéÝð@F  4 dLK<B J  ÔÔÔÔÄÀ9991/Ä2ì2ôìôìî2990KSXííí9íY".#"!!!!3#737$32Ý5i!P+þ®?á3ü4ë@Ç-Ç%3ïJ°þö))†°áþ²þüNáÅ ì º°^T /c@8  *( -'! ) -0)'!$ * ( $0ÔÄ2ÌÔÄ2Ì9991ÔÄ2ÌÔÄ2Ì99904&#"3267'#"&''7.5467'7>32;dJIeeIJd¬ª¬ƒª$P0'T-ªª¬ƒ¦)S.'QƒIccIJffqªª)S,/Q$ªƒ¬¨ª*S)/Q&ªƒ¬ÿã?Õˆ@K  4 u u9   ÔÄ.À9991/ä2Ô<ì2Ü<ì290KSXííÉÉÉÉY"!!3!!!!!7!'!73=®˜=þŠß%þ¿s—$þdVþÛTþd%˜:þ¿%ßÕý¨Xýð»—½þJ¶½—»öþ¢Ù˜@ Ô<Ì21ÔÌÔÌ0##Ùããã˜ý öý öhÿ=#ðG‰@N7829 %8?/;.2;+;;EB+H785 (" 5%(9B 8?"B5("B54&'.#"#"&'732654/.5467.54632‰P&:>#&N:)9>&"J-Dƒ?U^=micUor-+ïÃR±b.JžKV^˜dmPzr30ë¿G 7,X&':6&'X(#@Ïå"!D?)HECAzLT–C+e?˜¾å!"D?Ee DHsK]š2)b? ;H1a@ÔÜÔÌ99991Ô<Ì20K° TK° T[X½@ÿÀ878Y@////????]]3#%3#Zî1ìþ¤í1ë1ööö}ÑN1ID@%  q po>qpo2n>n&JD  8 ,/ÆþåÄ2îÎ1ÔìÔüôüäõþäÎÎ0.#"3267#"&546322#"&'.5467>"3267>54&'.P4[0akjb5`*7j2©ÊÊ©7iµÚZZ\[[[Ú~}Ú[[[\ZZÚ~cªIGHHGG¬cd¬FHHHHH©¨h__g¨»›œº$ZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZGIG¬ebªHHIIHHªbe¬GIGÓ¬ð *.t@A! '~!~ -~+ +'~}~|B/! *$-,.+/  $ $ /ÔìÔì99999991ôäìüìÌÔÄîîî9990#7#"&546;7>54&#"7>32"3267!!XÏ.{OkßЇIF9“S!PA”¤þÈzu:,Upý˰#ýPþ@X65zh• #(*(&®i^ E…HK,:xþªNN# 1@    // ÔüÔì991Ô<Ì299077N-þÀê-þv\/þÁé-þw#îÝÝ‰îÝÝXjyƒ@ H üüì1ÔÄì0!#!X!îü̓ýç,ô¼ ß·ÔÌ991ÔÌ0!!+u8ýŒßþÝ}ÑN 4L\@3-*+'0!o5n2+oAn M*',$0-!1"3+"$ G3 ;/ÆþåþõîÄî29991ÔÄüô<ÄþõÎÎ99902#"&'.5467>#32654&'2#'.'##%"3267>54&'.hÚZZ\[[[Ú~}Ú[[[\ZZÚb@@998(…NG&7O¬?9)¤cªIGHHGH«cc¬GHHHHH©NZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZþb¤((+)oXZAU 81¦…:/ðq®GIG¬ebªJGHHGJªbe¬GIG¦XB1·ÔÌ991ÔÌ0K° TK° T[X½@ÿÀ878Y!!Ëw%ý‰¼V´ð@m mBÔìÔì1ôìÔì02#"&546"32654&hCz//12.0zD¾ÀHdbHHdcð30/xDBz./3¾ŽÁ¢dHHbcGHdXy *@H  H   Ô<Ä2ü<Ä21/ìÔ<Äü<Ä0!!#!5!!!ßšþfíþfšþf!ûßþžìþžbìbûêîœðL@&ŒŒ4ŒŒŽ Œ‹3ÔÔì9999991üììôìî90KSXííY"!!76754&#"7>32¶ýh3[HC?•ML’I›þfD-‘%A[-1$#¢lcŒþá/ð(K@+Œ ŒŽ#Œ Œ Ž Œ‹)  &33)ÔÔìÔì9991üììôìîÆöîî90#732654&#"7>32#"&'732654&omX^PF0ŠPIBžypScÛËK“E>’O`oW’73(.˜fYZo cJ†“šQF-59î¸f-µÔÌ1ÔÌ0K°TK° T[X½ÿÀ@878Y!#wAþFÅfþˆÿÉþT{`&•@V   &#$"% 4 % <"Ef e'&'%  'ÔäÀ991ä2äô<ì2990KSXíí9í9íí9íY"!3267!3267#"&'#"&'7-!„D=Rfƒ!– +.P$HL 5{F:LaþT ýX0?Fps¨üø#! ÞKSOO0/þfÿ;¦Õ `@-  49  ÔÔäÔ<äÀ9991Ä2ôÌ90KSXÉÉÉÉ9Y"!###.54 þ¸¾-¿þÕ¾¤«¸EÕùfùùN¬ŽÙ'˜-/@4IÔäÀ91Ôì0KSXííY"!!ßNHþ³þ“ÿÿ—þo|«!œÏß S@+334Œ Œ Œ‹     ÔÄÀ991üììÔìî20KSXííY"3?33!;ìjååŇãýo-+•)ýN‘ݬ+ð 4@~~ }~B  ÔìÔì99991ôìüìÜì0432#"&4&#"326!!3ïÁ›­îÀœ®%D=WxEIHþô7:¥†_¦bViŒñÿÿÿk&$ ®3uÿÿÿwk&$ «3uÿÿÿrk&$ ¯3uÿÿÿ“m&$ ¬3uÿÿÿnk&$ ª3uÿm !‘@J    !  !4 < = Q  " !  "ÔÄÔÌÔÎ99991/<îæÖÎî9990KSXÉÉÉÉÉÉÉÉY"32654&#"!!!.54632!oM66MN56MEkþÙþu¢þÙ”$*§vt¨/þæþþP6MM66MMþûúqþ$j5u¨¨u;lâýÿjÕ…@L    4V <V9VQS  ÔÌ91/<äììôì2îî0KSXÉÉÉÉííííY"!!!!!!!33þÝ<3þüN64ýÍHþå›þýŒ‡þðã}ÕþüþÉþüþnþüjþ–Õþüý…{ÿÿƒþoÃð&&«uÿÿák&( ®Xuÿÿák&( «Xuÿÿák&( ¯Xuÿÿák&( ªXuÿÿ¶k&, ®/uÿÿ¶k&, «/uÿÿ¶k&, ¯/uÿÿ¶k&, ª/uÿðÕ"}@F!" 4<V9V #" #ÔäÔìÀ99991/Ä2ìôìî20KSXí9ííí9Y"! #!#733#3267654&#;%hH^þúÛþ¶‰/‡f?Ó-ÓN`pš+4A}ÕöøWÅq—ÒE\P˜íFþºíþrXXj%~„€ÿÿÿççm&1 ¬3uÿÿ=ÿã“k&2 ®3uÿÿ=ÿã“k&2 «3uÿÿ=ÿã“k&2 ¯3uÿÿ=ÿã“m&2 ¬3uÿÿ=ÿã“k&2 ª3uw“Xs 0@   ü<Ì291Ô<Ì290  ' 7 Xþ¶J¨þ¶þ¹¨Jþ¶¨GJËþ¸þ¶¦Hþ¸¦JH¨þ¸HÿsÿÁL'.l@8+'/.(+%&"V"+VB"E/ .(% '& &/ÔîÖìÀÀ99999991äôìîÀÀ9999999032.547>327#"&''.#"wM8}›4üô bUNüi¦=š‹Í L5Nûœr­9 áK4y™6b<=2^ý®"J'Ö¢™Ž—BAªsã8a,>ŽO‹ìb˜JH´rN47þÛþ®ÿÿ-ÿãøk&8 ®9uÿÿ-ÿãøk&8 «9uÿÿ-ÿãøk&8 ¯9uÿÿ-ÿãøk&8 ª9uÿÿ‘Nk&< «/uÕˆ@L  4TT9 ÔäÔì9991/ôÔìÔì0KSXíí9í9íí9í9Y"!!32# 32654&#w@þÙ#'/ì÷I:Né¸V‘’g|Lþ´Õ㸯qÞB\R®þJ†ˆ[Mÿã…3@e )*+*&'%(++*4("!%3.+%`< %<.G E))*31! (+*1!  ! 1*4ÔÔÄÜÄîÎ99999999991/äþîîÖî99990KSXí9íÉ9É9Y"K°TK°T[K°T[K°T[K° T[X½4ÿÀ44@878Y@lllllllllll ]#"&'732654/.546754&#"!6$32yœ`L;:þÿÜB‚@1:k.ZhoE,*·©ZR]rÛþÛÛ)ÔÆÃ #dS9`L;}D¼Þú ODBoG-g;‡»%@GfeûžfÔÝ®±+dÿÿ/ÿãuf&DCÿÿ/ÿã×f&Dvÿÿ/ÿãuf&Deÿÿ/ÿã‡9&Duÿÿ/ÿãu1&Djÿÿ/ÿãu&DsÿáÿãÏ{ L3@ƒ. .8765493.01/2.43 <1!C=("L !`"<`= ]]1]"K%c9]=\F@[+%E1_MLI 32!"<=.(16C.I..MÔìÔìÄÔÄ999999991ää2ô<äì2ìæî2îîîî999990KSXí9í9í9í9Y"K°TX½MÿÀMM@878Y@,3;3<3=   ¥/ 0 1 2Ï ÏÏÏÏL0000;0<0=]]7#"3267>54&#"!3267#"&'#"&546;7>54&#"7>32>32ÏJbu:1CP% (,8Gšþ=UF8‰A/9ˆQ^† =“Y–óÌl DA4‹V/O‘ERt4‹T~ˆ‘NgU332#"&Zo¡SJr§Z“{þÛ%uG¤]“ª>8EÒupÑÉepþëÆhwý‡¾ý¤baÛ½þüj|ÿÿÿ¦þXé1&\jÿÿÿN&$ ¸ÿÿ/ÿãu&Dˆÿÿÿ™k& ³$ÿÿ/ÿãuF&ŠDÿÿÿþoÕ'tc$ÿÿ/þou{'t Dÿÿƒÿãk&& «Áuÿÿ–ÿãf&FvVÿÿƒÿãk' ¯Áu&ÿÿ–ÿãœf&eVFÿÿƒÿãÃk& ´d&ÿÿ–ÿã…1&‹KFÿÿƒÿã4k&& °Áuÿÿ–ÿãçf&FfVÿÿÿø¼k&' °IuÿÿBÿãv' ©wÿ®GÿÿÿðÕ’Bÿãs'À@h'&% #"$      4 "  <"<E[G %      (ÔìÔäÀ999991/ìäôìîÕ<Î2990KSXíííí9í9íí9í9Y"!7!7!3#!7#"&547>32"3254&VBþÐ%/%’%’óþÝB¥_’«>8EÒup“Îo SIr§ZT½tt½û¦`cܾk’qþåÊepÆhwÿÿáN&( ¸ÿÿLÿãƒ&Hˆ'ÿÿák& ³(ÿÿLÿã‡F&Š'Hÿÿák& ´(ÿÿLÿãƒ1&‹'HÿÿþoáÕ't(ÿÿLþoƒ}'tHÿÿák&( °muÿÿLÿãÓf&HfBÿÿfÿãøk' ¯¹u*ÿÿþX¦f&eJÿÿfÿãËk& ³2*ÿÿþX¦F&ŠJÿÿfÿã¨k& ´2*ÿÿþX¦1&‹Jÿÿfþ¨ð'ªÎ *ÿÿþX¦+'–ZrJÿÿÿøÙk' ¯Lu+ÿÿ;`k' ¯ÿ-uKÿø4Õ!!7!3#!!!#73!7'+q+&+‡ ‡×þÚþþÙ׆ †#q#Õààà¤û¯˜ýhQ¤¤µµ8#!67654&#"!#737!!!>32%þÝ„ :7St|þÝ÷   # þë>0¨e€Š×ý)ª,:=‡ýö¤zz¤þÂ\g‹&ÿÿ¶m' ¬/u,ÿÿ;9&uÓóÿÿ¶N&, ¸ÿÿB&óˆÿÿ¶k& ³,ÿÿ`F&ŠóÿÿBþoÞÕ&,(tiÿÿþo>&Lt}ÿÿ¶k& ´,7` j@"4ded   ÔÔÄ991/ì2ôì0KSXííY"K°TK°T[K°T[K° T[X½ ÿÀ @878Y!!!7!!5D®l+ü+mƒþá`üáážÿß¾Õ%3267#!#"&!#3!3{>,lBJO‹ç1£»>]wIG†þ8/9/¿±¾0ýÇ0¾²JX`_lŒòü ª¬n85½þüü3þüÍ þu¯ž"%+73267#7!7#3!!!7!#3#_#6%/z]à0¨IR°Ù.¯+ÖGÖû{¨¹ .ý. ‹ÒqÕGÖH§.;4ák‡TáËVýÂüáážþªÿÿÿìÿãÊk' ¯‹u-ÿÿÿÁþX f&eÚäÿÿÿîþ0XÕ'ª‰(.ÿÿRþ0'ª¾(NA` !! !!%Jªcþ7þ¼ÍwSþÛ`þƒ}þ^ýB `þTÿÿPsl' «/v/ÿÿérm' «.wOÿÿPþ0!Õ'ª‹(/ÿÿÔþ5 &ªL-OÿÿPÍÕ' ©Îÿn/ÿÿé!' ©"ÿ®OÿÿPÕÕ'y§¬/ÿÿél'y?¨Oÿº!Õ d@8   4  V9   ÔäÌ.9991/äì90KSXííííY"3'%!7!P`ƒs+Ž'_úsþ^\w3öcšÓÕþ®šþÙþ#þü%¤ž@J 4dGd  ÔÄÀ99991/ìüì990KSXí9íííY"K°TK°T[K° T[X½ÿÀ@878Y3!!"&5467'!7!%=N-þ×Ω 5þìZ¢bþÏ+V^"gþEl -%áp‚F,Ã’Éáþ:ËŠþÓÿÿÿççl' «Bv1ÿÿ;³o&vú Qÿÿÿçþ0çÕ&ªC(1ÿÿ;þ0`{&ªj(Qÿÿÿçòk&1 °uÿÿ;¥f&QfÿÿÿSÿ'_ýâQŸÿÿþV²ò6&#"!!>32 +73267šIjmIM½þÙ#'/>Î~½‰8¬4qqÐy,%dg÷oKN‚ü4Õð€þÝþßüŒþönlãn…fþX†{#+732767654'&#"!!>32v…1poÒy,'d43| NOv|þÝÙ# 1ªjŸ<$×ýTüklá77„=+,5Ž~ý`¨]fi?eCÿÿ=ÿã“N&2 ¸ÿÿXÿãy&Rˆÿÿ=ÿã™k& ³2ÿÿXÿãyF&ŠRÿÿ=ÿãCk& µ2ÿÿXÿãôf&RHÕc@84V V 9VS    ÔìÀÀÀ91/äì2ôì2î0KSXííííY"!"&547>3!!!! ";b3ý¿ûÔC54&#"!3267#"&'#"&547>32>32267>7>54&#"þ (,7G™þ> VH9‡@/9ŠR^…2\›¤@68Ç„Sx%0ŠR‚‹ür4D 394D3²B'40UYFÓ54O]72î((QEKK¨žŒ<€‰=<;>‹ƒ1†XþZ@JvaZxHA@I*|HQz"IAÿÿl' «0v5ÿÿš]o'v¤ Uÿÿþ0Õ'ªš(5ÿÿ!þ0Ë{&ª™(Uÿÿªk&5 °7uÿÿšçf&UfVÿÿÿã‡l' «Bv6ÿÿZÿã³o&vú Vÿÿÿãk' ¯Nu6ÿÿZÿãFf&eVÿÿþo‡ð&6«ÿÿZþoF{&V«ÿÿÿã¢k&6 °/uÿÿZÿã‘f&Vfÿÿ—þoÕ&7«ÿÿ¤þo‘ž&W«µÿÿ´k&7 °Ouÿÿ¤r‚&W ©sµÕ)#73!!!3#kþÙh÷&÷bþ…22þ…b÷&÷ÀùþþþÀ‘ž!!!3#;#"'&54?#737!7!>>,þ¸&¸&Uá,öüI/#²&²þâ,>žþÂáŽÀÄ)!áP3k=P¶ÀŽá>ÿÿ-ÿãøm' ¬9u8ÿÿjÿã9&uXÿÿ-ÿãøN&8 ¸ÿÿjÿã&Xˆÿÿ-ÿãøk& ³8ÿÿjÿãF&ŠXÿÿ-ÿãøm&8s8Rÿÿjÿã &Xsöÿÿ-ÿãCk& µ8ÿÿjÿãôf&Xÿÿ-þ_øÕ&8tÊðÿÿjþo`&Xt‰ÿÿ)Zr' ¯G|:ÿÿZ-o&e Zÿÿ‘Nr' ¯:|<ÿÿÿ¦þXéo&e \ÿÿ‘Nk&< ª/uÿÿÿß l' «Bv=ÿÿ1³o&vú ]ÿÿÿß k& ´2=ÿÿ1¤1&‹]ÿÿÿß k&= °/uÿÿ1¤f&]fçô)!7!7>;#"oþÛ®þï+*¸ïð+æA:áNÓ“á7P/ÿã'%!#737!3#>32#"&7254&#"})þÛ÷º º%ù ù??¦_’«=7EÒuoÊoŸSJr¥ZÏÏö¤zz¤þÂ`cÛ½ƒþýi}qÊepþëÆhw!Ü× (1!2)"#7676763232>&# 32676&#æJù×%³’¨‡#*þ×þÛþ¶ì,& ÿ<&j{hÁD-po#PnŸU-ƒbˆ×½¼¢ İØÂÀ%/!M›ALæþ¥P¸SýºþF`wyjÿÿÕÕFÿãP"'!!!632&"2IÍ6 þÜ.)þK‘³ÉNK76þð?H¾’?K¾æÑþ~ºœ–þæþèþ̨D¸¸þ¼¸;pÕ%32>&+'3 !“y‘ˆ/b‘yþTµˆmn5å`þÆþËøbòbýR¦†©ýÑÜþÜ.ÿã}&"2>32#"&'!'7?H¾’?K¾›H¢ZÇ›76þðÀeƒ þܵ|‹D¸¸þ¼¸î]]þÐþäþèþÌba¦¦†èÿã9ð703276#">3 !"&@?‚L¢×11s¢LœY@K£U.ðIIþtþÒU“+HFAüýAFH$$þrþ‡þˆþr$‹ÿã¡k %27# %6326;#"&#"£”­@š©þÒðIje‹©/-på`+];2 x•¢×1]ì‡þ¸HŽx#¤@á7.8‡þÿýþ"€ÿãž#%27# !2676;#"&#"¨™4¥Âþýç56c:XoÒy,'_8,"4n§ªdD4®/ÓsþóV89×Vlá7+þôrUŠþô?ÿÿÿðÕ’!·Õ"#767676; !#26&sÿ>_ŒìnþMMþzþ’캮¾33j¶&4M–Fmþ£þtþsþ¡Ëü?ÛÚ;Ö#";! &767676?6%3!]Ĉ‹_ÄþY¸þÞþþÛÞ)%W4©ÄDýe¦jyw`êú+ÂØ ®Q2“[nÿã"7632!7!!7 26&"À˜67…‹Ê³GKþ)þÒþÜ ƒª?I¾‘?J¾4–œº‚Ñùì¦Ãìþ¼¸¸D¸Tþ=˜{%/%#"'&'&'732?676#"32%26&#"P„ßcRs* Y%WQhA( £îÜjVîíÜ53­Mþãiœ@Tijœ@T5?—‡NM ×",f==þÃþñþù¦Kš¹J¹¹þ¶¹ÜÕ 3!!!!!2{LýÁ3??ý…2¢þÞ‡Bú+[ÿãuð6'&#">3 ! 732767S€LœY@M¡U¼JJþªþüþý¼JqrK2(HÄbyAFH$$þxþþ‚þxˆ~_þüPxxP<ÿãªð'"267# &7>7.76$32.#";•€¤vðäg5kãqþ÷é*Ϧˆx$0ì\Áa4_¸Tn‹hnž2œ}s^o1/þî$&ä٢ǩ…µÎ!þô(*]SOWþüÿ±þX Õ!!!+7276?!íýä?ã3þ^ 2foÒV,h3/BÑþ¾þüþ}+Ødlá72‰}-ÿšþX7!!#!732767!7!7>;#&X,þ¨®0gqÑþÄ+êc34¦þð,'Æäñ+åoÂbáüÙclá78ƒTáNÊœáÿãNk(%27#7!# %632676;#"'&# #]17Ê0Ì…ÉëþÞíHiaŽ«<: nÒb,];2]ÀþÅjPÄ+ì"øýT”“s¦C  lá7.Rþ:þdOTþÞ^Õ '!!%3276V‡þÿB¨bCýä†K3ü×4BÀÈ‹þüÛþáý%þ‚þvþñ ]¯þõu~‚•ÿtÿþä*'&76'&#"#3>32?67673.†€¡Y‰,/)3 ?@21}è.èu+ŒU-,)3 [;CIè9ýžšy}Û V*4GF}ýý¤]fijÑþõ« 4 T^ˆx ·Õ!!!#"'&Ÿ•þ×2y2þ×f¹2êÍVWÎþüýŽ.-þüvx·Õ!!3#!!!#73 2y2þ×b÷&÷6)2ü‡2)6÷&÷bÑþüþ ÀþêþüÀ÷ÿ‚1Õ!!!676&9›8þ¸ß£cþÙ#'s@Ø‹‡x6¯@G:$›üw ¦þÕý²GÝq3°= Ù676;#"3! !!ê1poÒy,'b53Dªcþ8þ¼ÍwSþÛ»Aúmlá75†þ¢}þ^ýB `þTİÛ3+;!"&?#73!7!­¸%¸ =bê,þÄÑŒ1¨%¨pþ×,NœñÀ^„náØû^ÀBáüÝÿ¸ê!!''%!Hþúþ׋þ¬þ×&ïE P)+î £ûUTý¬ÅE•¢¦W¶ ÿåÕ%#"&326732673#7"&ª/sJ‘H>ÃðÕd9ÕíÕd6ÕðþÞÕ&}ˆ`pGDÈ<ìû¼}TV{Dû¼{VT}Dú+tBMQÿcþVnÕ!+732767!!! m@¥_•0,<::=ÍÓþÞþÅÏÓþäZ4áKЬûÃ=ú+=ûÃeþVw{!6&#"!!>32vàþÝ×0NOw}þÝÚ#!1ªjŸy×ûTziŽ~ý`¨]fÓ>ÿãuð  &7%63 6'&#"!3276Ñþ"+ztTa¼J}þN3*&U”VyþQqrK;‡ ßtxþxþý€p¬ÅODÖ2PþüÈ_xx]ÿÿÿåÿãI&2¨Ÿ„ÿÿÿÿÿãÜ&R§Ÿ—ÿûÿãEð &7%6327!#327&#"_þ´ ,|[GPÐWvþÝêÝ’þéD@!CgF—gU%‡ ßq›€ú+p ü×Äþ¡i5x yôh8þVf{327!##""327&iWí›g—þÓêï©m«°í¤iœ@Ti+Nd* =|eùòÎrýПª¹þ¶¹]]QôÕ32>&#"#7676763! !#!ÒU‘ˆ/b‘þ¾ÿ>_Œ/5ä`þÇþËmþÙÝþJbòb'&4M–FmÜþÜýÑÿÕþVv$&"2"'!#776;#"36322?I¾‘?J¾<´GrþÜ#=doÒy,'_9,!ƒÌÀ˜6SþZD¸¸þ¼¸ô»ý¸Ñalá7+‰ÃþÌþèþWy* ÿ}Õ!!&+!!3 3267654#*4¦þ¼w/k^DþÙ"'.ƒ jJ ºþ^O‹y{ÁÓ @_ý祩þ ÕîfH‡9Dš¶ þi_m$,{Aÿã˜ð(03267# &7>?>76&#">32Ç›Rd emlí†;rêoþòß, ÔÁ‰c ak`Ñm8nØgãÖ'Â7eCYcRTþÏ45ßâ¦ÚB01Q>PVFC ./èËž»|ÿã[{'>323267#"&7>?676&#"^_Ã_Ôǹ¯U”V ^g^Ôl2sÛeäÂ"¶§X ß YbX¹\=´¢ˆ¢&"<89<:7ÿ##­­©&2P8954ÿÿÿÑ ÕçÂþXÌ&(;#"&7# %53232#%4'&'32'3pÑ ?å+ñäŠ'͇þÌ24/2ÒF:Št8)¨þoa@ iHYÛûÏ@áœÊ lY¡ÒÒ265L†þX ž !!;#+732767&'&7!7!Ê>,þg=Uá$1hoÒy+'b6+ÓBJ+dþâ,>žþÂáýîKA¶+Öflá7,eHQÚá>R×"#76767632'!!å,!ÿ<&j{h/ñ2þ…ðþÙðÕ!H!M›ALþþû-Ó…t67676;#"!!;#"&7!7Ñ+pe²y,'b53+þg=Uá,öü“*eþâ+`Ûmb á75gáýîKAá¡Úá´þVÕ!!!!;# 4?ðþ…22þ…è “',~þÁÓþþûV=,‰á >ÿÿÿÈÿã&8›Ÿ<„ÿÿÿÑÿãÞ'XÿhŸ˜Y´##"67#7!32676&'!Üîc7%=þ¢ëíÓ=%¡î)×4a{ *Cgfž* "C4Ùámþñ¿þÈþ’n8¿mÓþôOê§ÖèèÖ¦íM >NÕ'73!"'&7!276@„ ëc7%=¯ªþßýG,"•2'Âf™^!ÃH˜9mþñ¿þÈ·²°n°üŽ.-øX“TÕ !!776&ÛþÜrþÙrý.Ÿ‹Ñ/—š8i52þJý´L‰ý¨Ó@\M×ÿ¬þXF` +7326?!76&ÞþQ¦ëò,wZ`@"¸%f´‘^_Ô1eW?-˜üïþÑß=o<Aý)_;;& Ø#O9ÿá Õ!3!!!7#73!ò/þ0ã&þ—ùÂ2ûê/]&ß·ýwÕôýùÀþêþüô&À÷0¡`!3!!!?#7!!"-þë›&þ»êM+üi-ào% ýÊ`åþýÂÛÛåÑ ÿÐÿäÕ"# '&7!327676'&+7!!‹6þù™Úþ®lw+>V=bëF #Ü!'ÿ+»ýÊ3ò0þ!Je6;©þçm?t€ßk9)’³Úqôþo dnÿËÿäãÕ %2767!! &76767677!!#  ŽX<>+©šþ®þ69[euS’þ½0ò3ýÊ-+ÿþ×(8êN5J߀tPcfq! ‘ôþüþÚÏ‹..þHâ`!#"32767# '&76767677!!°+¨“UU}Š]fel:mllgþÚ‚ƒ+[cwS“þÑ-+ýÊÄÚ45fcj6þ×%tsÞfq! ÇåÛÿéþV®`932767#"'&547676%76767654'&+!7!lEOieë=m#*&.dnoom+†itjöqYhY>f*$.÷üYýË(Ñ'"08g!ŠCA &%+â K;jC:$ $"âÜÿßið$!!?#7!7>76&#">323+Qu3üL1Á„¢%UG\[ coOÒv5sÕ^íä%Y[u%÷6UþüüªtÀAV…Adm?<')Ý¿Xš^ÀHÿÐÿäìÕ"#!!!2! '&7!32676'&+3Ž¥¢3ý…DsF:3+¯°þÚþ®lw+>D@oЧAA“f†OþüþŸ@tfÞstt€ß_95jcf54ÿäþH•` 2!"'&'32676'&+!!‚ˆna33+¯°þÚgdd_9U¹[ЧAA“¨Y­)þYÄ0,fgŽÞst%)58jcf54vÑþ58ÿâž%#"'&'327676'&+#7;7!3÷ ¤Ip-*‘åÙ£EF=:=BDH¡oA%7ÃT8Ú%Ö!B!é%61^‘ç×…Ò#*+rB`GLr!¦¦ÂÿÛþVÀ{!!676;27676'&#"@<þ×<)"^O_œ§,% cý&Ð !iI£7„þÚ ¥o%,p\])(þUÅN¤& A,AËþòQ€Õ!!t þÞþõÕú+ÿÿleÕ'‚ÿ‚åÖÕ!!!!!!!7!7!7!t Cš.þf+š.þfXþõXþf.š+þf.šÕþ¥ëÜíþ:ÆíÜëÿÿRÕÿÿÿ¢k&$ °/uÿÿ/ÿã‘f&Dfÿÿ¶k&, °/uÿÿ‘f&ófÿÿ=ÿã¢k&2 °/uÿÿXÿã‘f& ­fÿÿ-ÿãøk&8 °Duÿÿjÿã f&Xfÿÿ-ÿãøá'h^Í' ª<8ÿÿjÿãO&¾q#;ÿÿ-ÿãø' «N' ª6õ8ÿÿjÿã0&¾…xŸÿÿ-ÿãø' ª6õ&8 °kÿÿjÿã&¾rŸÿÿ-ÿãø&8' ª6õ ®Šÿÿjÿã&¾„rŸÿÿSÿãz{ýÿÿÿ á'h^Í' ª<$ÿÿ/ÿãuO&¦q#;ÿÿÿ á'h^Í&$ ´ ÿÿ/ÿãuO'q#;&‹DÿÿÿjN&ˆ ¸ÿÿÿáÿãÏ&¨ˆÿÿfÿã,k' °¹u*ÿÿþX¦f&fJÿÿÿîXk' °Pu.ÿÿRk' ° uNÿÿ=þ_“ð&2tôðÿÿXþ_y}&Rtôðÿÿ=þ_“N&¡ ¸ÿÿXþ_y&¢ˆÿÿÿÐÿäk' °/uyÿÿÿäþHžf&6fÿÿfÿãýk' «¹u*ÿÿþX¸f&vJÿŠÿãÞÕ333327673#"7##­ûoÞoû· 8E! WûH;þü˜;ÞûÕýÇ9üRJ˜%2:8}¿þ‹þÐþì0qýhÿÿÿççk&1 ®[uÿÿ;`h&Q„üÿÿÿjHk' «uˆÿÿÿáÿãÏf&v¨ÿÿÿsÿÁLk&š «3uÿÿÿ®ÿ‹f&ºvÿÿÿvk& ¶$ÿÿ/ÿãuf&“Dÿÿÿfk& ²$ÿÿ/ÿãuF&•Dÿÿák& ¶(ÿÿLÿãƒf&“'Hÿÿák& ²(ÿÿLÿãƒF&•'Hÿÿ¶k& ¶,ÿÿ7f&“óÿÿ¶k& ²,ÿÿ7F&•óÿÿ=ÿã“k& ¶2ÿÿXÿãyf&“Rÿÿ=ÿã“k& ²2ÿÿXÿãyF&•Rÿÿk& ¶Î5ÿÿšËf&“dUÿÿk& ²Î5ÿÿšËF&•dUÿÿ-ÿãøk& ¶8ÿÿjÿãf&“Xÿÿ-ÿãøk& ²8ÿÿjÿãF&•Xÿÿþ‡ð&ª6ÿÿZþF{&ªVÿÿˆþÕ&ª7ÿÿ¤þ‘ž'ª„WÿÛþRjð: >54.#"7%>54.#"$32j4Q[y}ÈþÍþŠþ< +po‘Z97O-9Dë6ÿZŠO1)DF$•þï6ëh¦hE’"Sslr*¡g""h®’‡v@ "69LOa13I Uþ_"SLT>*> œ¤,F^]þOö{37>54&#"?>54.#"7632öº•B^0Vûâ1@{uŠsa6bB4<Ñ,ãR|D) '?? Œì,èøYŽZ<gyàA8C@#þhÀå&2>DR*=EEÎME=C/#4 ~Ï… 4ILÿÿÿøÙk' °Lu+ÿÿ;sk' °uKÿëÿtƒ%-%726#"'632#"'#67&'#"32!26&"^-g*3ž…}™-HõtC2%?%3+JL±˜67µ='g$ý0?!wi?!xØ… êðþ‡ yaGyl$>40/-ü»þ¼¸¸D¸ þX6Õ!!#+732767!7!Cò/üŒÂ31foÒy+'c5+ý0_ýwÕôü#þüØdlá7,dôÝ^þXÐ`!!1+732767!7!P,ý0M+2foÒy,'b5+ý-ÐýÊ`åý`ÛØdlá7,då ÿÿÿk& ´$ÿÿ/ÿãu1&‹DÿÿþoáÕ&«2(ÿÿLþoƒ}&«2Hÿÿ=ÿã á'h^Í' ª<2ÿÿXÿãyO&¸q#;ÿÿ=ÿã á'h^Í' ¬&2ÿÿXÿãyO&·q";ÿÿ=ÿã“k& ´2ÿÿXÿãy1&‹Rÿÿ=ÿã á'h^Í&2 ´ ÿÿXÿãyO&Üq";ÿÿ‘NN&< ¸ÿÿÿ¦þXé&\ˆªÿtZ %726#"7632#"'#67&'&7!7!5-g*3þ`…}š.HõtB‘%š9F1­þ×,NÙØ…šêðþ‡ y1BXlû}áû¢„7&ÿÃÿtŽ{/%726#"7632#"5#67&'&?6'&#"!!67632ž$S!)·9tc{.HÃ^9uz*41/ ?-2}þÝÚ#%9TŽ(8!Ø…`jêðþ‡ y1BXlûôƒ+5GQtý`l3!3ÓÑþߨžÿtž$%726#"'7632#"5#67&'&7!7!!!!$S")Ã!-:sd{.HÄ^9t {*41Yþâ,=%=,þØ…^¨jêðþ‡ y1BXlûÉá>þÂáÿÁþX®`%#!73267!7!Ý!=/;¢þÍ-çdf¦þ×+N+§.;4ák‡Táÿåÿãœ-26&"&"2>32 #"&'#7#"323Ü?(…q?*…Z?(…q?)…@8v?‹\77ІGV !Ì 4{G†Y77Ò‹?RsÍÏþ¼¸¸D¸þD¸¸þ¼¸î]]þÐþäþèþÌba¦¦ab40]]S5þJì{-&"226&"#"3273>32 #"&'#õ?(…q?*…ý¦?(…q?)…@8v?‹\77ІGV !Ì 4{G†Y77Ò‹?RsÍD¸¸þ¼¸üþ¼¸¸D¸ý]]04ba¦¦abþÌþèþäþÐ]]ý­ÿrÿÁM!!!#'#7'7'3'Ei‹þ…NþÙþ¡Ux€9M! &líµP{ÕÝsþ[üq^þí??y?ÜþRµƒÿrÿÁM( &#"# ''&7!27&'3267Åæ¢×2èM¡Uþ×yÍ‹,J‹.UK"F‹²ýj9¢LœZÇþÿýý_$$Áãr1£âyŽ MsÆ~ý"&€AFÿ¬ÿ‹Ó''7&7!27&'3267#"'&#"!tþcZO‚t® &ýÖ;UŸN5R²béuÌ ½!uwõ‚¶9 ~y§˜!ýêZ9:þó++~­~¶¨ÿóVÕ !3#!!#7•'•ô%ô6w3übiú%ÚûýÀþêþüÀÿ„ÿÁ_!'!!7#7#DDþˆ‹Fiþ…2¬<‹z4þ_–ØlTbþ_r‡BsˆIþ1üü\w†þs{1.#"#"';# /&'32676&/.76$32r2F¥Xbo Í P™t"þüä]-ž‘*‰þèaƒn2V¾^gv @†M¡{ Ô_·=ÿ4598P2&©­­¥PÛ­é s7:<98<"&¢ˆ¢´dþÖ`!;# /!W-üØ+"‚-Ÿ«+£þèa‚0i,ÑýÊ`åý);éPÛ­éVå [æÕ$"#"#7676767637$!!!2>'&#%N+& ÿ=&W1D›€-.þžþãeþÙ›Vp'32p½$0 "M›B?€~êëýýúmÈ66ÿ°š×+32654&#%!2#!#7332654&+3þDÅy{VZþKâÓ×¾¯‹šLEKæÃþB~.~ïÅœ“joÅè.ìþ¥mjD@릤¡Æ žƒl»?C<Rííf…VRgíÿïÿãøÕ47#73!!!3# &%32?!-R&R•'•®•'–Z&Z"NF”þ'ì'\`È2 þR`TfÀûýûýÀ¬´D“ÆêRZö=@ÿ¤Õ !!!ËþþÓ…œAþÝãûÕú+ÿ÷Õ!#!#73!2!&'&'32654&+JsþÙs¯0¯pèàĵ=D¤þÓj7Q‡‹\\\Ný²Nø¯µ»á HWýçx »ø€|NMŒÊ{.#"!!!#73!>32”(xM]˜2z&þ‚UþÛUc&c_%">Æw&6ÂþJ¶Âè®`i^ÿãŒ{ ,27676'&#"!67632!#32767# & ¤IJ%#NtQQþÈ}"EZ[d¾¯#&“þöÌ --dhhhu0hÏpþî±P**fL--XWq}J((ʵÄ^]1G%$:ú(&ÞxÿãÆ{7!!7#"763226&"ƒ$ÚþÜ!BTTeÀ˜67ŠˆÇZ?>þ]?H¾’?J¾Ážû¡¦a114˜˜/.þ±þ¼¸¸D¸ ÿãY{%!!67632#"'&&"2NþÜÚ$!BUSeÀ˜67‰‰ÇZ>?£?H¾’?J¾ž_¦a11þÌþèþ䘘/.OD¸¸þ¼¸ÿãÿã2$67632#"&'!676;#"3&"2ÂIQPZÇNN86þðÀeƒ þÜÓ1poÒy,'dg?H¾’?K¾Á]./˜˜þäþèþÌba¦@üklán„ýKD¸¸þ¼¸Hÿã'}70326&#"6763 !"'&H56EDU½AvRSRJ4[WXZuu66þ þýbQQ9 :´P¶7 ,œþëþìþȬÿsŒ}-%3276#"763!"'"''67&'&76!2&'&#"a46“ ƒSËŠ©*:þÅfÈJ0t65²²ZOQJ46GFR¾ è9Kµéþ½r]G&Aœœ,þô7¶¨šBþµŽ$26&"7!;#"'&?#"'&32ƒ?2˜|?5˜üs#þì6+a¨3418EEQ´EE77ºG00Ïþ¼¸¸D¸:Sút„nálküa11šš0/.ÿãé#26&"%!7#"32776;#"d?3˜{?4˜>Ôþ× 8‹Q¶77½H006Y]¨a,4Ïþ¼¸¸D¸¹ûÀ¦ab40/.]glá75%ÿãy{ 703267!77632!"&6'&#"%4_¹e™³ý 4§¥ù÷à57²±þçvÌÍ 00epEE7 ?:‚„w ”“þÂþîþå–—* q=><;Sÿãz{>3 #"'&7!6&#"32767énÜvwx75þ¤÷ùmm4÷™eÏw²-/peHH!'**—–þåþîþ“” w„‚:?þ—t;<>=qÿÛÿãÖ{ 332767#"'&'&'&#"67632?;#"'&7[þ“!HN<ª‡;="7ñ]eht.‚Riz7] M9hu+·2Dfb qrlm^.tklbþÙ‹Ç=@BW­ž ì &1EÛ OY"ì[\p”ÿÿÿêx{2!"'&'7327676'&+7327676'&#"767632+”±¯þÙbfej.Refrq&lZ<2·+uhCY M-zoVŽ.~lk]ñù"UU=”p\[ì"YO ÛE1& ì ž­WB@ÿÉÿê¬{A#"&'7327676'&+7327676'&#"767632?;#"'&7'En02‰‡ÞJ–O.=JLUH*SC+&‰+XK6E 8![U@l._RRE´Y5 ¸–!) !#HZ& þó7=JJp\[ì"TO ÛE.) ì O.N€«Õ7´o[¦µ$lÿÖšy. !27676'&+7327676'&%672'$Ðþ÷HG*F.< 4!J„*…@/E 42þäbÆÐ_]IFŒ~.,~~ÒÇMþû@M“þ•þ”%?H Û"J7#"·-VW”bLHIGg”VV=ÊLŒÿøþXT`%#!73267!7!!7!3#1ßÒþÄ,êbgLþé&3þ×,N_Ê&Ê+ü×án„‹ÂáþÂÿËþV ;"32767#"'&76763!3676;#"#!"'&'327675YAB !\ZAB=ˆNQP]¤LL1+‹‹¤'-hn|á.…*'(+”1¥¤þýTLJI3ACBIPQ wRR–šOPRR•:ýGb..¢¡úâ¡ Ìrvë..‡ÜýþŽ!6MM¤bþVì`*%#"'&76763)!"'&'3267"3267P£_©NO1,Œ©.'Ã2§§þöVMNK4BEEJ‘¤ +[†"!_[†=¾b\¢¡úâ¡ üþŽ!6𤤖šOP¤•:™r_%%#"'&7632&'&#"3276?#7!Þgjikòop23­­ú`UTG.GKMP•ba <='#"ø+æe2—––•(ì1YX¤¢YY ¨ÝHþao 7!!3276D¨I,þfþ=.B\íCCýcûµ®Nþ‚þ}èñV©#þ´LýþÊ~||¢Ðÿˆè`%276' !!! 76- ; /ëCCþ=h'.þ¸þ¯1*ˆW;HJ9S¾þ´LýßïÌüüÔ°þJÂ^!32767!!#"'&±#„NP;:|#þÒþÝu1ªjŸ<=‡×ýVy44GF}ùì\]fij!!6'&#"!676;#">32 þÝ„NP;:|þÝÓ1poÒy,'dg1ªjŸ<=×ý)ªy44GF}ý@üklán„ˆ]fij9þVJ(%6'&#"!676;#">32+7326¡}NP;;}þÝÔ1poÒy,'dh1ªjŸ=<(Ž2goÒy,'dh)y44GF}ý@üklán„ˆ]fijÑý)ÜblánÿÒý!!!3#!!7!7+7!!-f9þšúD^Ê&Ê)l,ü,l)@Ö&3þâþÜþÂÕááÕÂÑÿý`!7!#"'&7ïþâ,D€eº,êÍVW,áýlŽ.-ävxàÿýÕ` !!7!!7!=‚l,ü,l‚þ”,þ,ýbáážááÿþ*#"';!"'&?&#"767632!7!3276-VNMN6: bê,þÄÒEG1N—V,ZMOReþØ,N¤B>FIL+é<„77állûu:?å= áü³mú"&#";4;!"&?#&76!7!!‰; 2`=bê,þÄÑŒ1{¸&+Ñ@Dþ×,NŸ 028?Üp„náØûoÏê)báüÌœ þDÇ%!7!;!"'&4ÿþÖ+NþÖ bê+þÄÐGFáú„77áll°þHß. !;#"&7#7!!#"'&'32676'&+A|þZT)I°,í^0¨Þ+»Uœ,þ‚k6M%"+‰ŠÜMKJF:=ˆDh‚..n~ÄÁþN„náØû`áþLåþ9 !qfÞst%)58jcf54+ÿåñ`"%#"'&326732673#7"'&Í/sJ‘$%>zð‹d9‹í‹d6‹ðÙÕ&>>ˆ10pGDdd<wý1}TV{Ïý1{VT}Ïû tB&')(RþV`"%#"'&326732673#"'&ó.tJ‘#%>zðŒd9ŒíŒd6ŒðþÔÕi&>?ˆ00pGDdd<wý1}TV{Ïý1{VT}ÏùöB&')( þVÐ{367632 +7327676'&#"#6'&#"#367632./99K’#$={/Z^¯c, R-,„ 22ŒíŒ 31ŒðÚÕ'=?DD`ðF#"ddþÄý‰Údlá77„¦~)*+-yý1Ïy-+*)~ý1`tD$'Rÿ¥þFÒ{'!7676'&'&#"+7326?!67632Ñ…þ×P &\FF=+'qpªz-RT+«' VTT[ xªýVo›‘77#WV™þÉÜËyvë\‡Üp¤b./îÿÿþF&{"6&'&#"!!67632;#"'&7ÿ 'UMDlþÙÚ' VTUZ¡;<,U-u©BG&Ò-HWK¤ýÙ`¤b./wxâýj†/.ëv€Ä Æ` !!! !僖IÚþ}–þ·`ýu‹û ‹ýubÿão{ !7632#"'"!36'&!#3276-jª¬íîmoj««îíniN7!!7#"'&'Œ'zL^KK2 )d$ÙþÜ"?bdv<87.5,,! >&lnû ®`45+ÿå°327676767!!7#"'&'b'zL^KK2¹$þÒþÜ!>bev<77/5,,! >#9/u¶ùî®`45þV@`%327676767!;#"'&71?#"'&'F'=&66nû \67álbÜ)…`45!þV¤{.#"!!67632n(wN\ML2'·þÚ-&"&lnüR ®`45{þV¤{!.#";#"'&7!67632n(wN\ML2'\g&,xÒEJ0Ò&"&lnþ%„77álp÷7®`45·`37!676;#"!,d+gjüö,âT+,g€,áÚQPá! Kýîá `37!6'&+732!,~gVà,öüHK+d,áK !áPQÚýüáÿû`+!&'&'&+!! 32?676'&'&'&#º(0²þ s$"$VþÊÚlhi"USþœ0>W/ 9  %A- þm WþF`ML­tDC_ö(:% ÿÔý` "#327676'&'32767!#!!èO4O[-."!%K313ÇkåF;;Bm++|}ìþÚfêþñ HI ÝGþÂa/0!GHo KJ`|þVi{8&'&#"#"';#"'&732676'&/.76$32i2GRSXb78 Ì P˜;:"ƒ‚ä?@d',yÒEF12V^`^gu †N¡z  Ô_[\=ÿ48P2&TU­VWS)7álkü7<98"&¢ˆ¢´ÿšþX7!#!732767>;#"°0gqÑþÄ+êc34á'Æäñ+åCÙclá78ƒƒÊœá@ÿšþX7!##!73267!7!!7!7>;#"3U1foÒþÄ+êbhMþé&3þ×,)'Æäñ+åB9rÊ&¶þJÚblán„‹ÂáNÊœá0Aý¶ÂïþXâ!6'&+732;!"'&Eí Bå+ñäŠ'ácê+þÄÒFAÂ@áœÊû}ƒ87álcÿ³þX7&(%;++5$!3>;#""#"6763Ì‹¨)8t‰,\qÑ2þÔ;93‡Í'Æäñ+å@ ýØ5Hi >a2®‘Ò¡Yl Êœá@úýL56T:þÂ(`!7!6'&+732!!z>þ‚,~gVà,öüHJ*d,þâ>þÂ>áK !áPQÚýüáþÂÓþVž!!;#"'&7!7!>€+þ€ºTâ,öüKH+·þâ+>žþÂáüDK !áPQÚ®á>Cÿã `!7#"&?#73!!!3)3276UþÚ 0ªh z( R&R_&_:_&_H&þ‘þÇ0NP:0¶þJ¦]fÔÐ/ÂèþèþÂyhF;Vÿ˜ó`&327676'&'!##"76767#7!fO.A((^_IJ27É&Î@+#2°±èçç0 KW\Î&ÑELQskŽXWWXŽksTHÅ;…lžþž:÷¢pAÅ•ÿþƒ`$#'&77#73! ?27676'&'7,6!1œœÆo¥CC,=¡,¡%C=!&`VO6!«;…lžþžyxà:yáþ¦þÆ© 4aXŽksTH¶ÿã`#!!>iŠþ×Eþf`û jü–ÿ“n` !###!!dõþåÓþåõªüüüý`üþÿ£ê676;#"!!fZ`avò+wZ00A!ÖþÌsþ~þÌÙžIHßo<û¿×ý)°ú`!!!±O’Qýè\þë\`þ§Yýxþ(ØÿêþV]`!!;#"'&7!7!Ü€,ý/N"d&+xÒEB$ýŒ,ÑýÊ`åý`²„77álbÜå ÿ…`%3276'&!367632+'67!7!'& -ýÊ-ý1Ù.CMÊ1;ó Ë ýï-ÐýÊÜ9Gúåý`v[«þìþ½0@78å ÿäþHž`! !7!!"'&'32676'&+MÝýÊ+-þ!Ik73+¯°þÚgdd_9W[Z]ЧAA“¨ÄÁÛåþ9 !qfÞst%)6jcf54 þH¨` .&'&23676!7!7#7#$!26'&+jº” ‹ c8*óÝýÊ+-þ Hk82+¯ «›£þi=9t´m3A“¨}A U4XÁÛåþ9 !qfÞs.( #-[H*4ÀV327676'&#"67636!PTÃdB&C¡HLJN:JML£Ø”])-¨n°`þ¾àrLG`Br+*#Ó…×ç‘^þе!&'&76762&'&#"3qþ¾`¤Hp-)‘æØ£FE>:>BDH¡o@$8Ãàý ð^‘ç×…Ó#þÖ+rB`GLr!'"'&'327676'&#`B`¤Hp-)‘æØ£FE>:>BDH¡o@$8Ã3àþ^‘ç×…Ó#*+rB`GLrQþVÞ#%32767#'&76762&'&#"&C¡HMJN:KLM£Ø”]*¨*‘æØ£EF=:>BCH¡oA„`Br+þÖ#Ó…×a×…Ó#þÖ+rC_6ÿÇš¨ *32676&#"67632 '&67632"'&EDCyxφvyhjþÙ1ÊÉéä‚13ÆÆþ.‚ƒï +)1< Rb6†^^¼†ƒÂaa„ý»»»»ýþýµ¶¶µ5'''/-6L&& ]` &27676'&+27>&+#!!2vH,+ !!Jœ&R^44T^§( ^)) …†òýûÚÔücc45º20ÅþLf2ËQHIj¢OP`GF›R:97ÿÖey.% !";#""'&76767&'&767676 HGþÖF.< 4!J„*…@/E 42bÆÐ_]IFŒ~.,~~ÒÇM@M¼kl%?H Û"J7#"·-VW”bLHIGg”VV=Êþ´þt,+%#"'&7632676;#".#"3276?#7!Xhiikòpq32­­ú2ioÒy,'dg7H–P•bc y'##ø+æe2—––•åelán„þã10YX¤¢² ¨Ý Æ` !!!!!!åFOUOFÚþºZþ«Zþº`þk•û Ïþ1ÿËþW˜$!!3+5$)3!7!&#"?676UþÛB%þب(9t0VoÒ½þÔ;93’þ×,Nýëòi ^kb3+VúÒ¦Sk ïáû]L@6<þVÿ` !! !7!ÒþÜþVþœùþÈDÎwS$þV'þƒ¢¾ýô`¬~²`!!!YD¢·9ý`üÃþÝEþV'%#"327#676;#"! 26&"f;EBH½‘86¶R310_]¨a,6!!þÓþßg?˜|?4˜=ž[1/0411aˆúmlá76eùö}þ¼\\¸D¸\j&327676'&#"67632;#!7+73dTÃdB'C¡HLJN:JML£Ù“])-¨n° É&é%þ¾%Ö&ÚàrLG`Br+*#Ò…×ç‘^p¾¾Â¼¡&7&'&767632&'&#";3+!7#73פHp-)‘åÙ£FE>:>BDH pA$8ÃTDÚ&Ö%þ¾%é&É€p^‘ç×…Ò#þÖ+rB`GLrþ Â¾¾Âÿöÿãä %(26&"73!!!+7#"'&7632Ú?re?r3òt¯U,þa*ýéŸ 066=s!"67_^w6!"³}ÏÏþ¼\\¸D¸\–SþLåý`Û¦a11šš˜˜/.™ý~‚þ@ð 4> !#7#"76323!#"'&'32676'&+26&"¾Bþ®¯¯ /m+rs°>:<6:1357Sm##XeþR?re?r2¼Áü{¦ab4˜˜/.]SþLåþ9 !qfÞst%)6jcf54åþ¼\\¸D¸\ÿæÿÕ9<%3276'&26&"73!367632+'67!+7#"'&7632µü÷?re?r2ñt¯U,þƒ$0Y/y4<‘ z þÒŸ /66=s"!68]_w6!#±}ÏÜ9Giþ¼\\¸D¸\–SþLåý`v[«þìþ½0@78¦a11šš˜˜/.™ý~‚gÿ㬞/I&'&#"#"'&'#"'&7#733367632732676'&/&'&767#3¬2'.05;$# u.Y"UU‰<<<9”—%'+d«,«>°>æ% 2X965ý¨/778>K L-^ ßg3=ÿ48H:'SU­VW"(PQÚá>þ½K3Zü…H7<98"%RQˆ0*ýîK !ÈþX &.37676;#"+732767#"'&7#73#3Ž>æ'AB‰+‰(& ,¦/DL~½+Œ;#“—%'+d«,«>ª‚æg3žþÂNÊNNá0Abáü¬+Úblá7.bPQÚá>ûCžýîK !€ÿsÇž3<G367632&'&#"763#"'"''67&'&'#"'&7#733276#"#;&76F=æ(w›6..)4)(1V€ ae«,<¼>x) '”—'%+d¬,¬=£ X N2®ßg3'&žþÂÌ)#,þô7¶¨šGµéþ½r]G&A#(ÊPQÚá>ûJ9K,ýîK !ˆÆÇ~þX³3;>32+7327676'&"####737676;#"Ï®!%n?`)…1KK~H+<$#} ^*)}®®Ï®°®£,£'BA‰‘+Š(&Âb¨]fikÐýTüklá77„z45GG~ýüáNÊNNá0ÿã®?&'&#"#"'&'#"&7#7!;7327676'&/&'&7>32­1&0/5;#$ u.Y!UU‰=<<:¾}D0¨²,bÔ ;0l9>%& K-] ¯966=ÿ48H:'SU­VW#)Øû`áû¿„77H7:98"%RQˆ¢´•ÿûå#7!;!7!!!7#"&¥§²,bÓ ;€äþ¬*,þa*ýد}DÓ`áû¿„77ŸÛåý`ÛØ3 333# #333# #3ß$Í¿&ÌÞþÊû%ÌúCß$Í¿%ÍÞþÊû&ËúsþP°þT¬ý¯þQ þP°þT¬ý¯þQ¯±" %#!#!#!#!?W•W9þ‰LW•W:þ‰±Âþ>)„Âþ>)ÍþJ"332767!!#"'&76'&+732¥…MP<:}$þÑþÜv1UTj¡;=(ˆd&,xÒEB^ýVy44GG|ùì\]33ijѹ:7álcâþV;)3327673;#"'&?#"'&76'&+732V…#>@22}åÒ,P,a£531,‹U-+(ˆP,a¨31^ýVyhGF}ûË„nálkü}]fijѹ:7áleôœƒ#6&#"#367632‚OºK !23%$FºªºB65De)(3þi~D:'(Fþ™hþ­5;<ôœƒ#6&#"#676;#"67632‚OºK !23$%FºwGE‡M@@65DeQ3þi~D:'(Fþ™a<=~>JL4vj½û+732767#7!7#73 Œ‡Ê–? ]¾z¼&¼ox~JÝ~r¿œµ&'&#"#367632–'(1>-3 8¼z¼%?>L,"b !<>þßtb6 »32767>73#7#"'&';'(1>-3 8¼z¼%?>L,"J !<>!ýŒb6 ì­‹"32767>73#;#"'&?#"&' '&2;1/  8¼z@N†.+%~M&GI #<>!ý8~=7{J6:Êœ "#327676'&'3276?3#!322:S0  {è+%&)E NO—þÄz寘()|)œ²7((?Y**tœ1 333# #œ‹—´œü²•²þ=þÃáýŒFþºÛ°"+7326?33q7<=LšL9=(šÅUìÅYY((}">!bþi—ÿÿÃtCfǤ‡¾8@4GÔÄä91üÌ0KSXíí9Y"!3ÝþÇ5׬‡~þ‚q‡‹!#R94þñ×­þñþ‚~ÿÿáÂ$Á˜YÚ®27>'H#x7-.6vDC.cdvt'&l&'šSTìTSÚr0"'&6763"!vDB.cdv6..tšSTìTSš'&l&'eœ¡327676'&#"767632#µ6}>) -g.001 010iŠb=iEq6Î8@+'6%@ § vJyQ5þê_œ×#&'&767632&'&#"3PÎ6i1I[Ši,-( )*,.gF( $}8þd5QyJv § @%6'+@PîFf6@ ÔÌ991ÔÌ290K° TK°T[X½ÿÀ@878Y3#'#œó·°˜ð¾fþˆáážî‘f6@ ÔÌ991Ô<Ì90K° TK°T[X½ÿÀ@878Y#373Fò¶®™î¾îxããÓçþ@ÔÌ1@ÔÄ0#ýl½lýÕ+ÿÿ¦XBˆÓÿ[þ†@ÔÌ1@ÔÄ0#ýl½l†ýÕ+ÿÿMþjéÿ&µ.£`!!‹ƒ›þ£ƒþeä|ýþ„¿ä[`!Cƒ›ä|ÿÿ&Y`aÿ«þLÿÿÈ&`bÿ«þLôµj 733##7#7,´,â"â,´,à"‰áá´áá´wÕ[‰!7!9þ>"ÂÕ´ÿÿ¾`FŠÿÿR;“1‹Ïá :@ŠŠ 2 2ÔìÔì1ÔìÔì0K° TK° T[X½ÿÀ@878Y4632#"&732654&#"Ϧwv¦¦vw¦™M76MN57Mþv§§vv§§v7LM66MMþo®#@  Š 2 ÔÄìÔÌ91/ÔüÄ90!33267#"&546œK04*%P-1\+ctNPJ!)œ MB<yh9¢@   ŠŠ  ÔÌÜÌ99991ÔüÔì999999990K° TK° T[X½ÿÀ@878YK° TX½@ÿÀ878Y@'           ]'&'&#"#>3232673#"&ã1*"4 ‹ˆ_"=.3$&4 ‹}e#AT%!E<‚š$'C>ÿÿuîôfþ®´…2%7;!"'&7þá–È""iê#þá·:/ ýls½«°87´o[¦²» 7673733276ñr)þúþß$Ù¡ÎY¢Îþaœ toîÖÙ‚‡¿ï2ººþS®FEE[cœn#7!;#"'&Ã^¾zw(?–ʆ./¢ä~ýžJ>~=<'.#"#"&'732676&/.7>32.j8?F4`O¤’A„A8z ˜‘ÿÿÏásuîôfL@ ÔÜÔÌ1Ô<Ì20@/,,,,&87663146LLJJBB]!#3#ðþ¦¬Šöþ¿¤fþˆxþˆÿÿžî‘ffÞîôª#óV¾VªþD¼ÿÿÁîª'‘þã‘;îf###y£¯’Ž®Çfþˆxþˆxÿÿ¾` &qr$؆+F>32#654'&"†"ËœH7(+¦r™L;b"@#%KE³‡a¹!3Íþæì‡2­Â$Á!727#03þîxyÁöþøzáÂ$Á#3$7#0yyþî30Áözö9îÿf!#¾AþÿÅfþˆÿÿúý¯çÿ'C‡øÁÿÿ²ý¯1ÿ'vÿyøÁ6üÙóÿ#7373#í·%·#¾l½ý½·ýÕoüÙ-ÿ33##Û¾$·%¶$½ü·½·dC´n!7!#Òþ’%+l½±½ýÕ‹ãE7326764'3#"&Œ:A'= œtV5bR2&;1'M(7^)s{6-þ 9ÿÁ "&54763"ý]XbL]%FþŽ„o?wS?„:%PúýKÿ73733ú%·#¾$·%ý½··½·üÙþN#7!##n·%+%·#¾ý½½·áüÙ2ÿ #73733##˜·%·#¾$·%¶$½ý½··½·@þG‘ÿ7!A$+$þG½½õþXi¨ %+73276?!P0qoÒy,'b63#+úmlá75†}ÈþVš¦ ?!;#"'&È# b',yÒEE)}}†57álmôþ28ÿ(!·ÔÌ991ÔÌ0@ //??]!!$0þíØöBþ2êÿ(E@ÔÜÔÌ99991Ô<Ì20@////????]]3#%3#ýì0ìþ¥ì0ìØöööÀþ ÿÁ µÔÌÌÌ1µ  ÔÌÌÌ0#"&5476322654#"cL\]XbL\]Yò%FI%EìwS@o?wS?oÄ;#Q:%Pˆþ6ÿ:!#ìÂÆþΗþo|%@  Š  2ÔìÔÌÄ91/ÖþÅ90!#"&'732654&'4$$™‚4f0+R#DI0\,cv œ62E7ÿÿÔþoƒtÔÞýjóÿ&#òV½VÚþD¼ ý°Èÿ&#7##ÈI¼$þ$¼IÚþŠººvæþÿ@#"'#"'&73276732767/…5@k0Kjµ  LP(LG*ÀÐ@FF¿0:‰€‰mIþ;ÿ“@ ÔÌ991Ô<Ì90#373òñ·²šó²þxããþòÿ“@ ÔÌ991ÔÌ2903#'#Jñ·²œñ²mþˆáábþÿ> @Š  ÔÌÔÌ1Ô<Ôì990332673#"&5bXLQuƘ”“ =HMEŽ›ƒ…(þÎÿ@#454'&"#>32È(+¦q"ËœG7þ@$%JF™L;bþ ÿ7n@   ŠŠ  ÔÌÜÌ99991ÔüÔì999999990@'           ]'&'&#"#>3232673#"&‡1*"4 ‹ˆ_"=.3$&4 ‹}e#AþR%!E<‚š$'C>Mþjéÿ&·ÔÌ991ÜÌ0!!rw%ý‰Ú¼ÿÿþÑþÛBÿÿþÑÿî³6Ï›+#"'&'.#"7>32326›-WšOZg Gb3N˜V,ZœS5`D j]F•+é<73 ":?å=6 7=­¶Ùx7!­&&¶ÂÂÿí¶äx7!&Ñ&¶ÂÂÿ¬ÿ‹Ó'!týtuwÑyÿrÿÁM'‹N‹?räsþ ÿÁ 2654#72#!%FI]YcL]þŽ;#Q„o>wS@ ýøÈÿn3373 I¼$þ$¼IýøvººþŠüé¿ÿ&!7#¿pýÃpD,ç,ÚýÃ=þnçç³þëÿ@67632632#6'"#6'"´/…5@k0Kjµ  LP(LG*þÐ@FF¿0:‰€‰mH§‰· '7'77Nšlšh išlšh )††††¥Â,ï!#732676'&/&'&7>3#"¾¤ˆ9F " ¤ˆ;D×'RRz .!RSz#ÿÿ:Ñ &ÎÎþíÿÿ­Â$Á—ÿÿ¼;ý1rjþñ⦠$#4'& #6%6…ék9¿Äý§ÓÍ ‰Æ 3O¬G$%%$G­N(ÃtCf3Ä¡ÝÎtòþŽþVH%# ¡ÝÎHþò{þVsÿ¤ #"?3;c³X$Ä3þV·—™hÿÿªþáL'ÿÿ9î¸fvÿÿ ;(þ'Ëp˜jÿÿÿf&ÖËýÚÿÿ˜-yÿÿÿáf&ÚËüÌÿÿþÝÙf&ÜËü¤ÿÿÿ¶f&ÞËüàÿÿÿ¹ÿã“f&äËý€ÿÿþtNf&éËü;ÿÿÿÌxf&íËý­ÿÿO(þ&ÌýÿÿÿÕ$ÿÿÿìš×%ÿÿ¶zÕHÿÕ)! ûqµiÀ)þ_Õû/Ãü=ÿÿáÕ(ÿÿÿß Õ=ÿÿÿøÙÕ+[ÿãuð3 "326&! ! ×2þ2 q—449qr—449ýJV¼JJþªþüþý¼‹þü\ñþóþôññ  ñþˆþxþþ‚þxˆÿÿ¶Õ,ÿÿÿîXÕ.ÿÕ3!!!·þÙµiqþÙ3Õú+ÇÿÿÿÇ Õ0ÿÿÿççÕ1ÿ÷ÚÕ )!!!!!·üA2¿¾üA2¿þoþ!2àÍüÃÿÿ=ÿã“ð2ÿÿ‰jÕTÿÿºÕ3ÿÑ Õ !! !!óþÎ22ý>3þÂ2ûê2ëçþüþþþüÿÿ´Õ7ÿÿ‘NÕ<[uÕ%-67676/3!37&'&7676?#!ÑaE5”Mp))šjx3ýë2w”No))™jžx32ýØU'^A  Uk‚? HJlÓÒlKFþüFKlÒÓlJHþüý=·?‚kUÿÿÿq?Õ;Õ3!37&'&!!6767!x3ýë2wŠHkKC'C1% ™'™[1C'CK¶|›þü„+…Ä~[þ¥úŠ#üì#Šú[þ¥þ‚Ä…+ÿÌx´'3&7323!>76&#"! îc7%=^ëíÓ=%¡î)þ)4a{ *Cgfž* "C4þ'Óm¿8nþ’þÈ¿þñmÓ Oê§ÖèèÖ¦íMþôÿÿ¶k' ª/uÞÿÿ‘Nk' ª/uéÿÿ5ÿçìf&Ëõÿÿdÿê¸f&ËùÿÿeþV¸f&ËûÿÿO¸f&Ëýÿÿ(þ&Ì 5ÿçìy(7!;#"'&''&'&767676'"7™9þÏDR,fŸA<1=Ë´NR6=ˆ®¾ç„AMK!"*'GD#ôlý¿™¥áT =$+’œ9xšýУ˜[[¨®RMBÿÁþV‚!%!! 7676'&EaþÝ,Y²ÀÒ7Yþo¼-DaÓ.+þå+¹9(·Ž-EþÈþö‚Iþäþ8 °– ëÜ ß ½ãAþV¸`!!&'&+732é)})ý”SþÜSW $ *.PmO^(þvÂû þVªðH ëJY8ÿã|!%/&767632&'&'&#"32#"76"326&€„ßcRs* Y%WQhA( £îÜjþªîíÜ53­Miœ@Tijœ@T)?—‡NM ×",fþÃýâþÃ=¦Kš¹þ¶¹¹J¹dÿêRtB"3276767#"'&76767&'&767632&'&'&#";’xM9 -;rthf+ k4nhûtt _^ƒ<<ŒàW^s* Z$WQi@((4g—+ç/ )A!!*%ÛVV¢yKK@?d‡NM ×"* !߈þVÖ#727>'&# !7!­:1‹DMmdŽ,F;ýªg[1þ),l,ýTþ× MXž“[TáL&ÙDááþ†eþVw{!6&#"!!>32vàþÝ×0NOw}þÝÚ#!1ªjŸy×ûTziŽ~ý`¨]fÓaÿço(6'&"2767  ]ÔYB2,ÚVD0vþ$ÆlÜÆwÂp––pÂá¹v––v¹ýR¯á¯þQýO’`;#"'&7#7h“T:,NüJI+dÉ,`ý J!!áPNÝáÿÿA`oIz!!'&'&+732Ȳþ×`þþ×k !!^p-–¶P_Äû<ýq-wJëJXÿÿÿÉþT{`wœ–`67676'&'!!! •Jf <34&ªÞ‘þœW2'Z|u4@—bY|rNįät`pþVÖ$! %$67#7! #727>'&xý©P;€þÊ4ì÷,l,ýÓ1%Æ+þ.!0ŒCMmdŽ,Fš0A*Rááû½ ß î«LXž“[TáL&ÿÿXÿãy}RÿÙÐ`#3267#"&'.?!!#7Ð,¢h%F"%.f7Ok zþî®þ㮢,`áýë?¼ " VX#süáÿýþVž{  #"&'!&"2"˜68þîÇZ}#rþܾt*?H¾’?K¾{þÌþèþäþÐ]^ý¸ÒSýD¸¸þ¼¸ÎþV®}$%#727>'&# '&!2.#"ÒŒDLmdŽ,E;þÄ_s56cZŸJ45ŽR½! <1áLXž“[TáL&œ9*,þô7;¶¨©WG,ÿãÈ`#"676)327676'&È™(5þªîíÜ51­•(,ý™G/N TikMN Ÿ6€ÐþñþÃ=ý¦Žá8\¡¥¹]^£›r'É·`!!;#"'&7!õÂ,þ±gT:,NüJI+dþ±`áýîK !áPNݤ`!"'&7#7!32767654'!2üJI+d¥,É“9gZ"7=#) : ¤PNÝáý J!!7Ùg¦‡LGއ†þØ©­HþV—j!2!$76676'&œ˜HU:cþaRþÜRþw`?‰œ€,;;.wL^&7)L™4 j{•þÕþ4þVª@ïBsåSV}ïdˆâþöÒþxaò†M>ÿÃþV`'!&'&+732!;#"'&L&þÇþ×i !O-ueXF.&:)ýïh !P-vgVGr’þ6”LëJ<²”ÌüùþmLëJ>sþV$`%6!!$!!ã‚4f$ghþdSþÜSþzfg$f8^®$ád ýìýç3þVª@ ýóþÝO@ÿã`3676!#"'#"'&7! 2UH%g;‹‰e€¯T¯€E\…ž‘gH[™þ86*üýCqS³³Sq½üþÖýí6ÈÿÿOH1&jýÿÿ¤1&j ÿÿXÿã¸f&Ëÿÿ¸f&Ë ÿÿ@ÿã¸f&Ë oÿéV$ # 7676!"'&7607676¥"&WxsI]ñ5þº¤þåÿcLC@¬ÚÛn)þlþÈ!‡©?Fš-k<`z°þÎþƒÁê°„tÀö þ˜ÖþÝ€~xŒ›^ÿém$ $6'&'&'&%6#"'&3676„ #T— A™@è’ÛCNµÑ^XST§²ðÛujH*<,_zEf™/z¥ ¥xGÙCcX‘×Êþþ}ÆÕÕ¾UèjNk¡‹Õ!6''&676'&ŸwJK'hþÙh-Cj}3Q’´øk@‰ˆ1qS³ˆ¦¥Êýêçˆ "40þz7/cîTÿÿþ.‹f&Ëûõÿÿ‹k' ªÿãu8þV•'67!!&'&6%67676'&#j¸S$SšPw5/ºi¸QþÜQ›Px50ª,%Y* 2žz)&W * Üj#«þU mžþñóºi$þaŸ mžöE+_¢q!výŠ+\¥uŒ!`#7!#'$7%!767'K,•,J.Qðþ× 7÷þÔe9YD5%F?JMF=$3áá¢þõþ-ÇÇÓ ¢¦þô½þt¾ ¦þ`/'7&76776767676#"7677632gᯪ-ùiº“À¦¹DN›KF]D,]{ð”À¥¹ BUœGC]ýágO\ç“ ð–20þÀR[ÁFk{Zs›Bà="î–20BPZÀPa|bl™‚þVœð "326& !&'&! òq—54:qr–459ÕQþÜQ“A_JKU½KI«tçñþóþôññ  ñûþ` *‡Ä~ˆþxþþ„ƇˆþV–{ "326& !&'&32Óiœ@Tijœ@TŠQþÜQ…HniWíîÛ45«p¹þ¶¹¹J¹ühþaŸ#jž=þÃþñþô¡iZþ9Õ %2#727>'&#"76)!"@oNK!mdŽ,F;üðIIƪ|Œ3þ‚èYk11sìfb©“\SáL%ŽxyǬþük€ýüþÿIþVÑ`""#727>'&# '&76)Ý›P^! ;/mŒCMndŽ,F<þè^t66±‘ñ,M[¨¤\ILXž“[TáL&œœ€áÿÿ/ôÕ)ÿUþV¥"%67632.#"!!#"&'73276Ú•y¯n2.&J'QAU7czcç<;ƒ¾Ûý7µÆê=PÿüÐÕ 3 '&7 6'&# µ¥Àþ«Aˆ2þ¸^N5±ý]/:…1H]H‡þ<ýs}/'þüF;Í;þͰ„&)F6Uz !!!yþ*þäEýŠäþ­œüdyšý‰kþV‚ð!!6%$!6'0#0?&'&&eþñZTM6Ù+&”m| þß­mS(5G,nýmBPÏ22iØýøÏAþÍþÚýÔý€–ë+¤J%ßýÆ5O7Œe5ÿáþx%!'!&'&'7#676ó§ÿ|þ5ÿd!Œbv0BË»HSœî ´´œWþ “RS;õ ²¢þÂþ•þЇÿÞÿùç`+676#"76776327'&7677676LF\D+^{ð “Á¤ºCUœGD\E,^zñ “À¥ºDNûs›Bà= ð–20BPZÀPa|bl™Bà= ð–20þÀR[ÁFk{PþKŸ{!3!! ! #"&'$&"2u)ºà,þ þ"Uktó˜68þîÇZ}#Ç?I¾‘?J¾Ôáµ(SþÌþèþäþÐ]^ñD¸¸þ¼¸ÿÿ–ÿã…{FÿÿÿÁþXM[ÿãuð!3276!6'&#"! ! .þQqrK;þ¸§rqK.þ{JV¼JJþªþüþý¼‹È_xx]ΔKyyHþÈþxþþ‚þxˆŸÿã}$%# '&76!2&'&#"!!32767»N]Tgþüst66±±ZPOK45GJO^8%)ýå*;XMNO9*œœ,þô6[5XÑfAZ;Fÿã%}%7032767!7!&'&#"6763 !"'&F57DAX^C$ýå)$:PUSI4\VXZtu66°°þýhKT9 ;ZAfÑX5[6 ,œþëþíœÿÿÕ ÿÿÿÛþV‘ÀÿÿƒÿãÃð&ÿÄ Õ !!## #ç`yêbþÞþè×ëgèþÕþÙ'ú+¬þÛ%ûTÿÉþVü !!!# !ã{]Ð}Çþç¼ëLàþçüþÙ'üÓþÛ%ûƒÿªþVž{%!!!7#73! #"&&"2“7¹%þGþÜh%hƒtó˜68þîÇZ}£?H¾’?K¾žþéÁppÁ¡SþÌþèþäþÐ]OD¸¸þ¼¸ÿã9ð703276#">3 !"&@?‚L¢×11s¢LœY@K£U.ðIIþtþÒU“+HFAüýAFH$$þrþ‡þˆþr$ÿÿƒÿãÃð&.y¦ÿÿÿã9ð'yÿE2ÿÿák&J ®Xuÿÿák&J ªXuœþX -%+732676'&/"!#7!!6?67632¦1ooÐÚ+ˆbhZ])GM% :Zþݾ(Ä(þd15<™ ‚T$=)+üklán„Íz3%  Dþ1CÑÑýþ0$ 5iÑÿÿ¶zk' «¨uH|ÿãÂð 7# 547!2& !¹d)­@š©þÒÃIŒ.­z@yþÑÁ.<2gs͇þ¸HCÀuŽyŽHþ¸‡å—þüÿÿÿã‡ð6ÿÿ¶Õ,ÿÿ¶k&; ªXuÿÿÿìÿãÕ-ÿaœÕ"%32>4&+# +732>!32#Ó%‡ Q%þŒðˆ#FwêÍ%0 r\E^ShqnÂ;þÆlìa¥cQýZѰþ–þ+âúoÛå¬ý¼¼9þÏÜÿƒœÕ %326764&+!#3!332#Ó%‡Q%þŒþ¾ð"ðnBnðqn .þÆlìa|)cQýZ˜ýhÕýÇ9ý¼¼:DìÜœ $!!6?67632!6'&/"!# Ä(þd15<™ ‚T$=)oþÝb])GM% :ZþݾÑýþ0$ 5iÑýÄøz3%  Dþ1CÿÿÿîXk' «uOÿÿÿæék&M ®uÿÿ(Fk& ³Xþ¾øÕ 3!!!!!"'ïqï'þÞþ¢>þý>Õû/Ñú+þ¾BÿÿÿÕ$ÕÕ%32>&+!!3 )gy‘ˆ/b‘yŠ¢2ý…:n5ä`þÆþËþkøbòb'þüþÕÜþÜÿÿÿìš×%¶zÕ!!ÍðþÙ"¢2Ñû/Õþüÿxþ¾ÏÕ!!3267!3#!™ ½þþý¯qd; ÕPï‰qÿ>ý~>Íý ýZFU1Kû/ýºBþ¾ÿÿáÕ(ÿ|VÕ#!3!##'„®ŒyfðfEþˆVú5pEðE*þûv_ýõ ýõ ý¡üеþœdµýçÿÿÿáÿã`ðÿæéÕ !!!éþÞþüÓý‹þÅ"ÓsÕú+=ûÃÕûÃ=ÿÿÿæék& ³MÿÿÿîXÕ.ÿuÙÕ +3267!!h#FwêÍ\3 _vN2SfþÞþÙðѰþ–þ+â aoM¬ú+ÑÿÿÿÇ Õ0ÿÿÿøÙÕ+ÿÿ=ÿã“ð2‰jÕ!!!!«¿þÞþÙðþðþÙÕú+Ñû/ÿÿºÕ3ÿÿƒÿãÃð&ÿÿ´Õ7(FÕ+3276?!!\ÀuÈ2P:K=SþÒ1Äs1/š•j‘¸ý”lËÕ#476?!#7&$>4&'.CÔÿÌ•/þ¼ÒÿÍ”t’ÕAƒwƒ* r\KQñsffþÍ’LSðþ„„4èw¡í(þ°þ‹ÑÖxŸÿÿÿq?Õ;ÿÞþ¾¿Õ #!!!3!""'ïqï'ï‰qþÛ>Õû/Ñû/ýºB•þ !#"&7!3267þþÒþÝ•6· Â‡)g#YkG—{QùìþVIÑÓþ3‹Vƒ‡¤ÿ½Ö )33333ñûÌ"ðð²ððð²ððÖû.Ñû.ÒÿÜþ¾2Õ)333333#büz"ðï²ïðï²ïðïBqðÕû0Ïû0Ðû0ýº|lÕ %326764&+#7!3 !Ò)š‡ Qš)þUùú)!q5Ä-þÆþËìav,fQýZÑý¼¼ÃD~ ,0ÜþÞþÙs¢þbòÁ½O½n†„#«i08æÌú+Ný²Ö—^m!ÿÿ/ÿãu{D$ÿã…K!,46?6767676%67632 $26764&"$12~¹…X3&E)0þÙw=¹=”¾î¸5þªþ%¸(BÓœ BÓœ‹LŒ §À,•I¶X@ Ô #oœfþ÷ŸLXþñþà ü†‘¹¥G†‘¹ b` !3!2!'327654&+7327654&+ ÚÔü®Ò^E?þ"¶§}AQ`}§+œŠ,7<Šœ`|jÜGy_#þ¿Û&Y15Û>#3qj`!!C¯þÝÚ+…ü{`Ûÿ¶þâ«`3267!3#!!!JcLE†O¯{cÛ8ýX8 („þ÷VþâùUƒ­ü{þþâùªþF’ÿÿLÿãƒ}Hÿ¡-`#!3!##'_…§‡CðC þ³wÿI`;ð;0ﶪþ©Wþ©WþVýJ«zþÏ1zþU4ÿêM{-?3267654&+7327654#"7>32#"&4.Z™{r’‰F£+‰TN]랤+Z«¥œ|e‰KKaÑ­Þs—,ì1(T =0Û Th4ßO@p}qLÊ\L+°` 3!!!+Ú#‹ð#ÚþÝ‹þ`ý5Ëû Ëý5ÿÿ+°F&ŠmÿÿA`úÿØÖ`+732>7!!}&(>ÑÙ_/ d^FRQÚþݯ…ÅPïäðIü‡¤û …ÿéç` !!## #Ã`31`ÚðžþÕè/ ð`ýqû 7ýsüÉ?œ` !!!!!œÚþÝeþÃeþÝÚ#J=J`û ýø`þƒ}ÿÿXÿãy}R?œ`!!!œÚþݯþïþÝÚ`û …ü{`ÿÿÿÛþV‘{Sÿÿ–ÿã…{Fæœ`!!!7œ+þ̯þݯþÌ+`Ûü{…Ûÿÿÿ¦þXé`\=þV’%.547733>764&'0M’®5G˜OðO’®4þ¹˜MJŠ!9CðK‰!9DþVüšMZ.™þgû™N[þñþÒþs7£ªP€}£ªP€}ÿÿÿ´Ë`[þâm` 3!!!3#Ú#¯=¯#¯œcÛ8`ü{…ü{þ(þa;!!#"'&'&7!M  0rk_"ÚþÞQkç†v'<+=! 'èûŸ e[Ê3ÿáï` )33333ûÌÚ𯲯𯲯ð`ü{…ü{…ÿéþâ÷`#333333#Ú𯲯𯲯ð¯VcÛ8`ü{…ü{…ü{þik`3#7!32#'327654&+¶®û,RÔ·"þëÔTIn;KTnIáþZ—t&+°®Û&\/4ÿ²` 327654&#32#!!222;KT2bRÔhO"þëÔþÈÚ“Ú%Úßþü&\/4þZVAt&+°®`û `û ` 327654&#32#!œ2{n;KTnR±Ô·"þëÔþ,Úßþü&\/4þZ—t&+°®`Fÿã6{"'3 7!7!&#"63 ŒÅ5n™^þ#+Øé§š4¬¸tO5þ V uùÛèr T›k¢KXþìþÇÿã>{:"32767676765&'&'&!36767632#"'&'&7#å)N-  #*- " üÚ%Tj7!32+22;KT2¯v&(>ÑÙ,/ d^FRVR Ÿ·"þëŸûßþü&\/4¦ÅPïäðIü‡¤þZ—t&+°®ÿ¶ª` 327654&#!#3!332#22;KT2þ¢eþÕeðÚðJ+JðR Ÿ·"þëŸßþü&\/4þ!ýø`þƒ}þZ—t&+°®(3#73!!!>3 !654#"(®«+«U#Uµ+þK:1ªjIþÝ@ rNw8á´þLáþÙ]fþóCTþ‰J;,zŠ€þßÿÿAf&voÿÿ+°f&C<mÿÿÿ¦þXéF&ŠxZþâ¸` 3!!!!#ZÚ#¯>¯#Úþ¬8Ü8`ü{…û þâ]^Õ%32676&+737!!!3 )Ò)š‡aš)þ5)ú'C)þ½)5å/-þÆþËþ»Úìav‚a¾Ñ  ÑÓÜòçÜdtc32#!#73!!! 32>&#aÔÑDþëÔþ^¹û+ûJ#J’+þn\2Inu_nº¬þ ®¶á}þƒáþ)þü=Œ;ÿÿ>ÿãuðaÿÿbÿão{¶¶!!!ÍðþÙ"ž<nÑû/Õ2ýÊSˆš!!3%¯þÝÙN=Ñg…ü{`:ýë°zÕ )#73!!!!ÝþÙ‡.‡s¢2ý…@©/þW˜ðMþüþ·ðHj` !#73!!!íYþÝY‚+‚V+þ+h+Êþ6ÊÛ»ÛàÛ¶þX{Õ!2+732676'&+!!!–5~Z&=)_1ÞÔÚ+ˆbhRWê…þÙ"¢2ý…¸5iÑþü×án„¥z31ýRÕþüÞþX×`32+73276?6'&+!!!~íŸ==)$1noÐÃ+qb43KxOþÝÚ)þ…ihÓ¶ýjlá77„‰|14þk`Ñÿ|þ¾VÕ#!3!3###'„®ŒzeðeDþˆ=Lqð> 4qEðE)þúv_ýõ ýõ ý¡ýŽýºBµþœdµýçÿ¡þâ-`#!3!3###'_…§‡CðC þ³RScÛ8'I`;ð;0ﶪþ©Wþ©WþVþ%þ«zþÏ1zþUÿÿÿáþo`ð&L«Êÿÿ4þoM{&l«ºÿîþtXÕ3!#!!!é–€þÛM þ¬_þÚ 'l3\ý¢ýpŒžªþ ÕýÓ-ý¤®þ¼p`%3!#!!!Q†hþß?#ÍwSþÛÚ%JªcþÑýëD `þT`þƒ}þ^%þtÕ!#!!!!!3!¬ïþþÙ"'nqn'ïí€þÛ˜ýhÕýÇ9û/ýpþ¼é`)!!!!!!!ŸþÝgþÃgþÝÚ#J=J#±!hþßýî`þƒ}üqýëÿ½NÕ #3!!!#!C"ðp;pD0þ¬òðƒþŃÕý¾B÷û"£ý]ÿá&` #3!!!#!ÚðLCL8)þ¸±ðeþ½e`þz†ÒürýøÿÿƒþoÃð&V«uÿÿ–þo…{&v«HJþtšÕ )!!!!!üþÙðþ…22þ…½%€þÛÓþþü1ýpUþ¼ ` )!7!!!!ûþݱþÌ)‹)þ̈!hþßÑÑýBýëÿÿ‘NÕ<ŽþVì`!!!Ž4nˆ4ýYþÞY`ý)×û¿þ7ÉRÕ!!3#!#37‘>­˜>ýƒ ð3ð3þÙ3ð3ð Õý¨Xüw@þüþø@ZþVì`!!3#!7#737Ž4nˆ4ý È+È"þÞ"È+È `ý)×û¿>Û°°Û>þtÌÕ3!#! !!S–€þÛM ½þ„þÏIþå1´m1ýÉýpŒîþößþ%Ûý!7þ¼S`%3!#! !!0“hþß?5“þÜþªþëVyüVþÑýëDyþ‡Hþ²Nýèeâ!3!670767072!6'&'&#"e.#/5?•:‚T$=)zþÝm]GM2:eýf2$ 5iÑý‹1z3% C€ýøÿÿ;`Kÿÿ¶Õ,ÿÿÿ|Vk& ³Kÿÿÿ¡-F&ŠkÿîþXTÕ !!!2+7327676'&#-¶bþÙ"'r@NýæUM(<(_0poÔÚ+ˆe14R(E®´þÕý²Nýã5oËþøolá77„¥~/1®þXp`!!!32+73276?6'&#"OþÛÚ%JªcýÁ Ÿ==)$1noÐÃ+qb43K•þk`þƒ}þ%ihÓ¶ýjlá77„‰|14ÿøþXÚÕ%+73267!!!!!¿0roÒÚ+ˆbhyþþÙ"'nqn'+ùnlán„mýhÕýÇ9¬þX `%+73267!!!!!71noÑÃ+qbh_þÃgþÝÚ#J=J#+ýjlán„çýî`þƒ},þt–#"'&'&7!3276767!!!wb15<˜:‚T$=)f#Y]GM2:Q#þÒþÝMþÛ€ú0$ 5iÑþ3z3% C€¤ùìþt(þ¼þa%7#"'&'&7!;!!!+(kç†v'<+B  0rk_"ÚþÞ?þßhÑÏe[Ê3þ¯=! 'èûŸþ¼j !jþÒþÛ.ùìÿÿÿ™k& ³Eÿÿ/ÿãuF&Šeÿÿÿnk' ª3uEÿÿ/ÿãu1&jeÿÿÿjÕˆÿÿÿáÿãÏ{¨ÿÿák& ³JÿÿLÿãƒF&Šjÿÿ[ÿãuðQÿÿSÿãz{–ÿÿ[ÿãuk' ª3uÇÿÿSÿãz1&jÈÿÿÿ|Vk' ªÆuKÿÿÿ¡-1&jbkÿÿÿáÿã`k' ªuLÿÿ4ÿê§1&j_lÿÿÿÐÿäÕyÿÿÿäþHž`6ÿÿÿæéN&M ¸ÿÿ+°&mˆÿÿÿæék&M ªuÿÿ+°&jèmÿÿ=ÿã“k' ª3uSÿÿXÿãy1&jsÿÿ[ÿãuð)ÿÿbÿão{ÿÿ[ÿãuk' ª3u×ÿÿbÿão1&jØÿÿÿãÅk' ªŠubÿÿFÿã1&j9‚ÿÿ(FN&X ¸ÿÿÿ¦þXé&xˆÿÿ(Fk' ª9uXÿÿÿ¦þXé1&jxÿÿ(Fk& µXÿÿÿ¦þXôf&xÿÿ•k' ªãu\ÿÿ(þ1'j”|¶þt{Õ )!!!!ÝþÙ"¢2ý…½%€þÛÕþüü3ýpÞþ¼×` )!!!!þÝÚ)þˆ!hþß`ÑýBýëÿÿÿ—:k' ªMu`ÿÿÿ²1&j€ÿÿ<ÿãªðRÿÿdÿêRtùÿÿ=þç“ð4ÿÿDþV¢}Tÿÿ)ZÕ:ÿÿZ-`ZÿÀÚÕ#!327.'7>7!&'#".'·'ÆYf% Î $Æ'·#@2ÜB:v£†³a'®üp(L" 9øüR³x þù"32CÛÿÏ—ò!76&"!!!>  þÙXÌŠBæ3ýPþÚ¶e—Î ´a®Cppþªþüþb®™ÛCCÛ7žò!#!#".>  6&";ž3’PþÙPç‚­]6b—Î ´a4åXÌŠ +I3×¢þüþbžGÐΉECÛ™þôVpp`8[@#7žò> 3#!6&"!De—Î ´a4’3’PþÙÅXÌŠþÙ®™ÛCCÛ™þôþüþbøpp)ÿã©Õ .7!!!26?!:e˜Íþô´a·'HÕ"ýJXÌŠ''™ÛCCÛ™®þ‹þüþppÿØ­ò"#!>76&#"!7!2!(?'R³¡}#Oy:bN: þÙ;G†¹g Fr¡h2KG^¨è‹µ´%NyT<1@W£ì”E®°4þüÿß©Õ #!!!!!"'IÊ2ý6u?3Õþ‹þüý¨þüÿÏ—ò!76&"!!>  þÙXÌŠ“æ2ûô¶e—Î ´a®Cppý þü®™ÛCCÛÿšÿã¾ò(53#".>;76."#> 32>?#"uW2W'St¤yF.SqQk 4c˜pP1 Æý·kŸÔ ºiý—0;,# 'k?P®CþüÊk¥p:2k¨ê®s8CiF%%FiCü®™ÛCCÛýViZ/J5Ê`ÿæÿãòÕ!!3# .>;"267‰'P’3’4e—Îþô³b6a”È‚çþö3VD. XÌŠBÕþbþüþô™ÛCE‰ÎÐGþü#@[8`ppVÿÙWÕ!76&#"!!>32A þÙYfd‡~þÚ"'N3n?†´a1CpykýzÕþpCÛØÕ3!!#'ðw3Õû/þüÿÀÿåÎÕ2>73#".67##3‹  0% ‹þƒ>a‘jk}9T«ý!þH`ý58K..K8Ëý_|³t77t³|±üÕþ‹$ÿã,ð):33>32.#"#".7>7#2>76.'´í0.B’›¡Q*]TB>APZ,0[,uªdh¦êš›À` R:† XªmF)C•:TÕõ?eF&  þÃ4&dÖˆ‚å«d]¦æ‰oÍ^þf_‹[,0^‹\Z‘g<TÎx®Õ!#".7!3267®ÚþÙN3o>†´am'|Yfcˆ5`û CÛ™1ý…pxlÿµ×Õ%.7>76$7!#=ý1V< ’Šq ›{T£G•“Œ{f#*%ìþÉF4@M/B¬dRžODþ\GJLHA -ÿÀ«ò ?%267.#".'#".7>32>76."!7>2T1^9(T."0 j4EU/&>þý/aÅeOzLKn‹OXœE0L,Pl`Q?þÙ"„¯ÑÞ·u%â /#()$$)“M–ƒ:8z@–0Y)KB*RyPO}V-;5N´ck‘X% Q‰h¯í’?C–ó7Vò> 3!6&"!De—Î ´a…’2þGÅXÌŠþÙ®™ÛCCÛ™ýVþüøppÿçî%>3"!".7>7673!6jL›ž£T3&\u“^*üøCkF)@W5eiÇÜNP=;,¦ÕþéEpP+þ÷?s_ýÚAeH'ct€D‚y ü…aŒ(#´ÿèÿãBÕ!# .7!267‰¹2’…e—Îþô´`¶'ÅXÌŠÕþüýV™ÛCCÛ™®üpp!ÿã¬î8#".?!32>76&#!!2>76&"!>2e`š×Š€¶l$*.O8?_B) bpý¥3[0H4 LªhþÖc’¹Ò¢i'mP1@"Æb°„ML€©\ )L:#$=S0_q1@#TOTUcžm:;nš_m&I^myÿã˜Õ .7#!26?!‹e˜Íþô´a…’2¹ÅXÌŠ''™ÛCCÛ™ªüpp#ÿåŒÕ32>?!".7>7.+32%.#"f,PlaQ?'"®Òæ¹t$!jƒ‹877/ ]3¥AFGÏ<þí $%8j\F^gŒV%#T‹h®ñ”BF—ñ«|Η]    ÓþÉ~ Jªÿןò!6&"!> ‰·þÙÅXÌŠÅþÚ¶e—Î ´a®üRøppü®™ÛCCÛMÿ°·ò$6&#"!7!232>}Qt:bN9 þÙ;G„¹id{‚7†;ý < J&8l^I§¡Ÿ%NyT<1@SžâƒÒ›eBþÍY6| Q‹»>Ïî##7>32#6&'©þ¢evþk§ç–¡Èd ³þ¶7]ºA¦xh„ÝžXXžÝ„üi§œªÿݶî@2>7>."267676&#".67>2!!!÷>gE -#P”nK+ *›3^-"CL]zH   0Kj‰¬Ð˜h< Luœ`3ü&?'Y%Ea<'XWQ!F†g?7Sc,*!ý¬!PDFS 7GNN#9~znT1.Ss‹ŸUTµ©’2þûKÿŽžò3#!6&"!> @4’3’PþÙÅXÌŠÅþÚ¶e—Î ´a®þôþüþbøppü®™ÛCCÛ1ÿãùÕ!267! .F·'ÅXÌŠÅ'·e—Îþô´a'®üppøüR™ÛCCÛ/®Õ3!#".?!3267®ð’3þGN3o>†´` 'Yfcˆ~Õû/þüCÛ™Cpxl†-ÿãð=32>76.7>32!6.#"#".7a4L*8V;!3WorhI%=Vs’[‚¯cþÔ 3D A8* -WrwnMa•Æw{¶p&¿K\1"=V3.?2,5Dc‡^+`]VA&@n‘Q3=! $;-4H7.6Gg‘e`¥yDE}¯kÿןò!76&"!> ‰ þÙXÌŠÅþÚ¶e—Î ´a®Cppü®™ÛCCÛ!ÿå¬îG"32>76.2#".?!32>76.#!3.7>ò3I0>40H3>p£d!gX6@ `š×Š€¶l$*.O8?_C( 0O8ý¤3¶_¼ï/="#>//>#">.ÿ=pœ_^”(Sah.b°„ML€©\ )L:#$=S0*K8!*Y)^o>ÿß©Õ#!!!!"'IÊ2ý6¨Õþ‹þüü¤ÐÕ -!>7>.'.6>?!#4J[:%HHÿJ\;%IIþ=†žH6U†Á‡ÿ† K6WˆÃˆÿw+ZŽde“b23a“edŽZ+ü]£âÜœVzzVœÜþêã¤]‰ÿ¾Ýî.> #"&'!!!7#"32>76.}ZÆ­b\’È€+a-,2ýcþÙ‘2YtP6 #F98O6! "žƒd©{EG|©cdª|FâþüššQ6L./M86N0.M7ÿÿ=ÿã“ð2ÿåÿã§Õ .8%>.'#.7>; .673"3J[8""KIÿYƒP?jnêH…¢N-EeÄþþ³t:úIHÌ$0,$Õ,V€°zN%)JmHNrK$þ‰MË‚W›ƒiJ''Jiƒ›WWV, " ÿÿÚrbZIu×!#<95þòØ­×þñþìîãf !ãþGþÂdfþˆxQñ~%#>7>73S|RüKi„KVkC û 4W~™#2(L`?"+9'A~lP5îšf!ÈÒþÂþÙfþˆx¹†@)#>32#".7332>76.#"ÑÂUu¥Qgš`$ >b„P1^G(¥0*4H)Sž…cñY„gH&7`‚K8hR19^F %"0 7`ƒŸñ3!Ÿ9Œ!Ìñ#©z+ÿåð`+%#"'&32>732>73#7#".Ì/rK‘$$={ðŒ  2& ŒíŒ  2% ŒðÚÕ&|E!<-pHCde;wý1@Q//Q>Ïý1>Q//Q@Ïû tBM%3ÿýþV_{%!!!>32!76&#"!,ý|RþÞ+#!2©j y)6þÝ-1NOvQááþV ¨^eÑÓþëèziþ`QþVµ{*%#!#".7>327!32>76.#"t,mRþÜq³d‹L a…¥`Ê9!$®ý…"B0/VF6$B/0TF5ááþVH»M–ÛŽ‹Û—OèüPQ€Z/0Y€QQ€Y0/Z€ þVO{%#!6&#"!!>32O,€RþÝ×1NOv}þÝÚ#!2©j y)bááþVTziý`¨^eÑÓþ Fÿã‡!26?!!7#"&7!‡,ýrY/žt/%ŒþÛ 1¨j¡y)ã%U`áþ5yh‹óý0¦^eÓÑþLQþVµ{(!#".7>327! 32>76.#"!+þoq³d‹L a…¥`Ê9!$þÿýØ"B0/VF6$B/0TF5ÉáH»M–ÛŽ‹Û—Oèú×úQ€Z/0Y€QQ€Y0/Z€^ )!!!!/üí/%UC,ý½‚îþLáýbÿýþV_{!!>32!6&#"Î+üZ+#!2©j y)ŽþÝ…1NOv¤Éá ¨^eÑÓý)ªziü¶ÿžþVÀ{,=>.#"!!>23##".7>332>?#"N SQ'WN< ÏþÞ+#!UgqjcS?!EM(rˆ>HlC Kfx<È1&#."f60$/=}d@%Ec?ûÕ ¨.I28Zƒ®pƒ«f)'JiANsK%þÏ5)BkM)=ÿãÔ(#"2>7".67>;!3Í9WA-DrYB-fB4Me}˜²†^:`•Î…ÍU$Um,/W~œ€[14\KRþ®M’‚mP,,Pm‚“LsÌšZ´þLáÿçþVI!6&#"!!>32IþÝ„1NOvÏþÞ€#u1ªj x×ý)ªziûÕ¾ý¤^eѱþV`!!,ý¿-#þÿÉá ú×ÿþVì1#3>322>73#7#".67>."~ï€íb*f63/&<  2% ‹ðÙÕ&|E3/&<  2% þV¾þ9.7_ŽdþÂ>Q//Q@Ïû tBM7_Žd>>Q/.Q@.ÿã©, !##".7>72>76./#":¾|ËQ,[n¢Ò~}°eAa‚Sc&Kt`J4 0"*m•¼X‰›áG«^ƒØ›VV›ØƒZŸ…e ýýP€[16^I>`L<¯„þV–!267!!#"&„â%Ú0žt}%þÔþÛs1¨j¡y‡û yh‹ƒùöP^eÓÿÿ7\KüDÿã-?)7#".>7.7>?!326?2>?>.'¢þÛ CSa5ax:"R|¢b%0K]-V3lcRdö þV1{!6&#"!!>32ü+þ]×1NOv}þÝÚ#!2©j y)µÉáTziý`¨^eÑÓü`\ÿã©í*=!7#".7>7#73>32.#"326?6.''rþÛ 1¨j^u;T9i,ÍC™§±\ !# 1'$ )PMI"b•_"ýe ## Ot6Y@7LKýµ¦^eLª]uæmáX’i: ø 0C(c‹©»E_>#‹ %SI6hÒÿÿpÿã“`XpþX``%#!732>7!ŽOtžiþÄ,ê1J6% Ò%+~²p3á9]B5žÿå¯#7!3267!!7#"&ž·€+£Ù1NOv}#ÚþÝ!2©j y‰ªáû¢ziû ¨^eÑ6þVyy523!!".7>7>76.#"'>íl¥h& ":Twžf8Q5,ý|0J/ Gi„Gbb8  )@+%KD9³*qˆy ÿÿ7\{QüoþV¢-!".7>7.7>?32673~,ýÀ*D- 4L_kq71T: LD›O)= 39#Z7AQ—…pT5Éá;U53y„ˆƒz2)E_:?ƒ:{¬@"G1?°8…ƒxf$*#RþV`+#".5#"'&32>732>73úd&j6!<-0qK‘$$={ðŒ  2& ŒíŒ  2% ŒðþÓþVÿ6:%3HCde;wý1@Q//Q>Ïý1>Q//Q@ÏùöIþVy.H3!!".7>7>76.7>32%">76.X‹Á|1Q:#',ý|1J/*=M+(* 2;/ 7Qfu@h¥k)þ,LE4 #?^C, %AÚ`ž™¢c'G=1á"9J'$RVT$!G&1J??OfG7gYI47j›X/>")@5/18#(17WG;64%G7"B{&"!!>32!!7>7>.ƒ-H8' }þÝÚ#!BTc7\y@ .#"#7#"&7332>73>32í‹  $ Õ&|E€E*‹í‹  $ Õ&|E€F+Ï>Q/)H8ýtBMÓÙÏý1>Q/)G8ètBMÒÚþVq{!6&#"!!>32qŽþÝ…1NOvÏþÝ,#!2©j y×ý)ªziûÕ ¨^eÑÿÿ%þX¹JOÒ`%!!Ò+ü¨Ù%®áá`ü)þV¤+!#>.#"##"&7332>73>32í‹  #" Þðg(l6€E*‹í‹   "# åði%o6€F+Ï>Q/.Q@û‡E>ÓÙÏý1>Q/)G8œýãACÒÚÿ¶þVË{+%!!!7#73!632#"6."2>«8—,ýi þÜ m,mó$!„Ë`‡J a‡©d³Ž "B`UG5$B`TFžþÝáDDáå¨ÃO—Û‹Û–Ný¢€Z/0Y€QQ€Y0/ZÿÿXÿãy}RÿìþV¼#*5#.'7".>;"3>.'>¨U†½€RðRA{lXÞ2:C'}]‡QMz¦iÑV}œNýÊLP @KP  E9|;YA+A|Θ[þY§'?V4À5I/2Zš~Z2þFNˆÂr.<<)ýá?fI-ý… ;[wÿæÿã:%!7#"&7!267!:,ýë 1¨j¡x)â%Ú/žt}%®áá¦^eÓÑû yh‹ƒüZv'!!!!)MGþ³@MHþ³'þ“þµþ‘¼Çß%%Pc8þ¬þÝߎŽþÝvvÿôÿë¦{%#"767"76263 !6#"Ñ(÷æ('¹H¸&&Ê‘\«·? þÛš–fH¸ÍÉËpÈÀQQþ¾üÇuY6ÿ°—Œ)"276$632&# 7%7676À€€;ã  ä@2þ€Áà PН{¼‡ºiŒSŒÌþÓ02³½—Ý8A%¤€t¨qÅþ­þõu;;=Mk¨ÄŒGùÿ…:.j‚)åNÿì~Œ67&76$ !6&$'632NB!/6äN‡:pþÛp"Zkê/&'î:KGÌ' Ïþp]€6OÓÙþàþÖý¿A¯¶£$ÂÆ,Ll^Ȩcþ‚Œ >3 &7%327'&3276¸Ý9fy3e`þÂí›,x­12åçÑ @ ?A ¦quýôýþùxsÍæ Ñó± A@@?Wÿÿš &"32676&  76'#7632#"!76r$# %!E+È:|þÚ08MtÙ$&Ú¸"=ÿyþÛ!$` %"%:ñþÙý~ñ–6Y»Àh>{aKKªOþÏ‚ 5"32676&"76767$326767! 76%7676†$" %"SÕ*þ€æå=+þe¹Ç |“›QÓ/FþøK#þÂþe01°µ¹Ìm7$o %"%ùɃ@þ¼â„<@BDkŸóþµQc¶CøúŒ;;eo">!½HÿãØz 3267! &767&7!2#"'3Qþüøk "n%n9÷þ±äà! 6FWý ¼f9O¸²b…´¯2ýÎþÖþà×ÕO6€h­µKŽM0ÿã‰{$"26#"76$76g€€v’!ÊÈ J§!(åë''*ÚÅ( ë€k쪤þƒ­ÈÈŽÇyxÌüÇÿèÿâÏ¡ *7"32676&"&#"2#"7!23263 !6#"ß$" %"Œ|-T«&+éç)C=¬ o˜þŠ,[\4@¼(+âþ*‚gP]#Ž#žAþ„Ê)is€@ü0á[2JFÌÝÛýfH²ÞüÑþ²MMMÿïÀ|"267&76327!%$ÿ€€þg0¼•%'äì%%â!ÀÏ)‡%‡Vþ þî€ýÒ÷§&¶Ä¼¾þø¨xÔ´ýLþB&ÿïí"267&76327!%$×€€þh0»•%'åë$%ã ¿Ï*Û%ÛWþ þî€ýÒ÷§&¶Ä¼¾þø¨xÔhû˜þBÿï0 A"32676&!"32676&"' &76323273327&76673Ò$" %"ý‹$" %!H¬Etþízv,âØ"'ÊYTX<ð<XTYÓ!)М $Ð1(aªù %"% %"%ûöJJ«’bß©Çþ4„„4þˆ‡Ì¨Ñ+,¸ýÍ@þ¼ÿùÿï *"32676&#"' &763232733273g$# %!›ª¬Etþí{v,âØ"'ÊYTX<ð<XTôñù %"%ý3¼JJ«’bß©Çþ4„„4þˆ‡èÿïó} ,"32676&2?33273%&'# 67&76”$" %"HR!-ð-"ZL!ðŸ>þÅ’6.ÎþÀ=/¹ƒ 3ã -þ¯ Ò %"%ý§á㩪ÝüÑþÀ,-=ð¦%žùÛ‚þ°P§ÿíÿï! ,"32676&2?33273%&'# 67&76m$# %!IS!-ð.!ZL!äðô>þÄ’5.ÏþÀ>.ºƒ 2ä .þ®!Ò %"%ý§á㩪–ûþÀ,-=ð¦%žùÛ‚þ°P§ÿ¿ÿãô`!327!!"'#"763227"%™Š%"¡?þTð>¶Æ„u `ý,ÀÀÔüÅþ¾88œ–8‹ ÿã  32767! &767&7!2#"'3)þüøjPP#Â%Â:÷þ±äà! 6FWý ¼f:O¸²b…ZY°æüþÖþà×ÕO6€h­µKŽM-ÿïÊŒ )"32676&6%$7! &#%$&763232$" $")þþþ19û(ϱϼï ,Ë:Cþ.þ§¼)ÒÛ80— h $ $  ,^ö$ü“»RE?`þÔþš²{Ëä<ÿùÿl +7"32676& ! '&'&7 3676#"%6ä%" $"äIl1þØþð'ŽK ¹%,âç/M¤$-)S&ê°W þ唸!$ $•þ‰ýÔù¨·Öë‰þUz¨Æœ1o5ÿå°{"326! %,76323276#"@@£ƒ$ƾ$Cq7™#e‘""Áw!TVè@¦ò™?:u@@@@L€üBE>©/™µ²>iþ¶µ¬©cbþºü©•ý¤þ³$ÿïÂŒ #+"32676&%$ %&'&76327676$" %!<ýè<<;z1ýêéœz")Ýë:3cª4V÷ôõ÷S %"$Ð36þÑýŒûH9ªÖíGt6cafÿúÿïIð 1"32676&$76'$6!2327#"&#"%$&76æ$# %!ø %ìýç?4p¿†h@„´Íºb°j… ýö;OýÑþÌÍ,àØ+=‹ %"%ÎŇD0ütËHþ”G_)RþÒþqÒ}ßÙ] ?þý¡ ''&'$! #"'"32?6û†T ’Éûþ²@Ex "$Ó837 YQ«Üs,%þ¤þý¯N*(ˆ»ƒm©¹Es¡JžÊä¼þÍÿÿÿô?Š'bÿúþbÿ}ý^†öÂ, '&767&'07©þ¸r$6êà3 l MÓ­8ö@P©þí5)C21¼ŸsþÚù´!6#"! ù“þÜŽ/ºN?tFæþë6TÛöý Üð Auþö ¨ÿÿü™ùÄ'rû/cùÚ%$ 7 76þ $ýü?IZ_E:ýû$ þœþš0~º9eþœþÔº}¶ÿ’β%$ 3!7 76Š %ýý?I[`Gª%ýf% #þ™þ›G~º9fþ›P3ºº}´ùš%$ 7 76#'?ý $ýü?IZ_E:ýû$ þœþšÓ$-á$-0~º9eþœþÔº}¶#º##º#A²%$ 3!7 76#'?ý $ýý?H[`Fª$ýf$ #þšþšÓ$-á$-G~º9fþ›P3ºº}´#º##º#-üë)ÿ&776'&762'62 30 .9ß&)Ñ{KYþñj¤þö,.--Ú¼ÈTb•€Ú‚f¹ýxYÿÆ&775667&763273% Û><˜™XM|•@@*þÎþÛº þØf@T‘wdD:0;QFþºÚÿäâá, &'6767676„˜;æ[L`þn ,þÓþå,­ä,þÅsœWf-2G)4îû¨G^ÿéýƒàÿ&/'&7767%276°Te/ßç'E~½QFGI¸˜èüÕ! ýÉv*EÞÄW‘}¦Šçu"ÍEÁ#IíKÁþ„|ÿìúX!767&76$7673Òþ(ŸÈ ¼¹"Ij†É1ñkúÐ%.£—°ƒZ?^¶ýÚ)óÕ´47676367673!#7676'&'&'&3&76'$ÖB?2! UfYGgy% ß ’=þ¼ô"ö!BEam‚%!9>TT ‚WK{þÝ;P´H9;Eþ¯d>G¨b*­gW’/A67 ãˆ*u…t7.,›ÿåÒU 3733##7#$ñ*Ì*ñ%ñ*Ì*ñzÛÛºÛÛÿÿUÓLíllPjjÄ%&76776&”ÿ)-þþý,.• >C B@ÄÉßÛÌÌ566>kŠ,! &547>73267654&'3.547!'b2þÌþúþÿ· ?0ñ" Lik6F›U #)CùþûÅþnZ*9%654' ;2! 47%>76.#".67! 3 Ìÿ5 R{üN^ýëþ6\-% .@$:0!¿9†xF?ÅO.&¶þõ-%Hnþ]=GÏ /D2# "/--/"ð$(Kt/eÙ6þmý e654.+"32>7>7.5467>32632#".5476&+"!6.#"æ" a9 !%!;-# üK !)-47 .îÀ]=Y™cŒO Sx›`@]C(Q CH OqxuV$þÔ0BH&"=/ m$88þ×9\ 52"=U3ý_.,#C’0'ƒiëñEE3mnEWµr4&@SX,/)š )þŠ9/'jiI;6BI$-'+#þn·*2%! 47>73267654&#".67!3 1Rþ þ- n_  ]sg{}DdXu  è LЩ þf<07JG_*)*BV_`%;XQW8'Z"76;(„þÄ4=þn²*K! &547>7326?654&+732>7654.#".547! /Ný÷þÿ¼ #-ÞTgm‡GX?)?)I:*  ,F.` ãGî¨ {i^7þr¶‡1:=A?S&P# @\UX\4IÑ/H275KN b09+ mþÍ2;`“4#q;#*!N&D654&'#">654.#"326%! &547>7.547! Ì%B?D%?9T\ *M63[J7 .N5iC3þÆþúþÿ©~eI8D‘X ;/‘Z¤!&9SR$%A\ý¼?4 IU,-UzM7.IN(•þþþúÞ‘GU‘¿3*t8!%dý*1?n-*¸bAØ >6.+"3267%#>76&+"#"&54?!263 H D.$<.24BÀ/IjK×CN.B_ :Da„WÈza †BWp'0@$þË(7654.#"#.54676!2r/JmOåJZ6 'G18`M6 '-ç<@0< €²f!T•…z9LŠ„B90 FQ,+QuJAq3Q‹L8xo0bTüE…‚%Fþn£=!# &547>732>?654&+73267654.#7 0)þÞûþôÀ ,8;¦  Xq1R@+ &X…+…UY)i¢i,ŠwvfB ÍŹ‰4=$RK<|'#Ec/H3/3(.\ÜDK 7.5476$! .7>7>7654.ÃÖ4CxþÐD8# J~m.]7X"-,º A,  ô  +  2QUþôZP\ßdÖšUgn¥3>~ÓB]fìîÍ>H?l- ! # &=0H'Q>+#EA $Ä9654.#"326%# 47>327654&#!76$3  ,O45XI4 PqaŽ;a–É}þAe˜ÍFf,YoUj þÎðÊ F3 FFEnO@2Nx–kl®{BwIW„»w6*6ß3!!">3 Bmi• @ik•Ffýôþÿ±€#èÆ +ýâ(2 +9rF´E6Iš¡E7Hœ©ýæÒ‘BP‘¸·Þ4Aá37þHÎ >!>?654&+"#6&/"!.546?632>32ª '>Z?þíBV8 0 -?LâM7*C/ 2.þÝ'- 0úÑ3Z*^2Ó}Ô:uuu;:mhb/÷-"!Dþl”Y[ñ0A$Zn:! 47>733267654&+73267654&'$547!#8^þþ6  1)òWra Ql{'NproþÝ%¨Si]_9æþL6?349 !524!$E`‡‰0(IrÌML,= 5¼C'Ü"]‚)77 7654%7%1Týòÿº &Od¶ŒÿÖ¤G!>76.+"#6.+"!.546?6%2>32y 9XDþÝH\6 8@NâP  E$2 27þí./  0äß ›þòt?e.oL³pÔ7DfþþEÀ'À Ipg‘%1%/›Ÿ./:")5Q. ýóqGUàü ?2K{Ÿ(O247N R~)-0 /†9+ÿÜþm¹?'3 654&'#>73! 54å7e$iQÕl|–þ¶u¥Ñy0ØOt§_ Hþ‘þ×þÓºLƒbþÚ r[>±1þí2úÀ—î­iDþ¹h­˜"`rþ“þ”+·qHþm·@L%# 47>73276.#"#7>54.#"#".'32>32>326-þâëþH *:F$‚# \p¹."- ,ž !#4+($2&"n %(1<#5<1A«m/àâC5?)WRGm3^5"E`ëÓ9T7ªª6G &$,% )0( ' C77C¬lAO9þn*a6&/"32>7+".547;2>?#?##"# 4?>32632zo!6,*#@]¿v"j¨l û6Q1.VE.-Y$ZY’ 6Aa†[þ¹ )úÎDgb†¦c /@J&3! ")8"þí &"'5þAi‘Z(.du/19(1!(:&è½Òþél£m7ENa,Öß$!E°gDS6`RD:A3ÿñþn*í=%! 47>732>7>54.#".67!2>7!bþþ( ,?,Ä"% Yv1XH66UICY þä @¯G@3  =fþI3<#@?A#A3c1#D_"GkIwn@k=8;,(&W"<:@'H 657!9-þm÷*O>7&54?632>32>7654.+"#6&+"%654.'&#"d!? · 1öÄ>].rFºl )?U9þ/I3 @WQâQ B& + Y€šªþØ!.&"iK˜&2 ÌÛ35Lý$##$ÊtRfB>me_13UKF%J'þ^ 1(ß>8]ÀGVØ… :/" 9<$þnú 4! 47!>?#".547>7!3267!1Mþ þ5 7 ¹d~1(?99!€¸k ,LuU7IfF+ )H3q‡]%þuP7A+#§]_ý' /kw'=KBrjg6=_L?:9!8' 63Z]ã+ÕJ654.#"326%! &547>3654&#"#764.#"!!2>3  0Q64UE2 7\>V|?`þþê½d–ËCb$37%, §"* þìRZq3‹R2 >-C?>iQ7.NN'›yþâ›GS„¸r430( = np 5Q6¦UOQSò.6ÿËN7654.#">3!67654.#"!>32(@(BX+8732>7654+7327654&'&547!µgRM2`›ß˜þä¬8TtMÐ7Q=* ËQoJ.Yè(áa'3ƒ!&VE‰Fy1@}6~¾?­pŠ\N¦°»byA‚„…C•`þï$O|X&e· 4-˜'. >"e7#í"654.#"32>%! 47!2,N6ËAœ7]J552þËþøþSk$D=0nþO; LR&þ²F5·!HpKþùójHU$ -!: (X32>7654.#">32>32!>54.#"#76.#">72!".547T &B+>dL4 ,K46YH5ªHg‚H)L?. 6‘ZØþì  $ §(%,":3ƒC¶h4þ»þêx¥]<0HO'!GqPB0 BF?kJqL')=)QSüJ`6=( pn 1)þÒ+8:z€%GVþõøM‚!JUÿîþn€íV32>7654.#"! 47672>7654&'.'" 547!!3#¤ "1>8* #0>8)YRý÷þD ž¹ Uh5[E0 AH+, þ» E‚ Oc#½-À7" xJ+ø$211C&0//@üõþ\83;l $$=P5O5/`*0V*û-4b–þE#è F4.P9}6'*Uí#654&#"326%!".547!>3 Hhl” Glg•F5þËþþƒµf¸$m7;267654&'.54?%!%!(þÎþøþK `R¶$# Kcm’;FU?9þ¦2Q% Wi2þ VXR3Í×B6?Q§Uˆ2]3& @aio5l'Cv4»5e)þ§OþüŠM>H‘@.­N! 4?!3267654.#!7!2>76.#!7!2>76.'.5473#%þÚþýþ? %LflŽ  þé+  þè+8Q2‰` ä)J_2ò MA7(’h}¾¿A3<††#@YJR( ÛÝ P$*(° =^!Q&vFReÿÿþnîf! 4767>54&'!327654'#73>764.+732676.+732754'&5473ñAþ0þR4   &L d†´1»)»",  ¼)¼", »)»Fw‹ ×2A!˜OH<"^<[˜cOþ½d#Ö`*$œ(/$ 5GbP&Jp1m†@>| þî›*->7654&#"267.547% 323$'¢ ?drŸ Jmf“þ}Hn$k> 73´³“!a7 9þÅzjþÿ—5-D…$#¨„C5L ýaX¹M8=þ‹JY’çXþÚQšNv+þnÿ*+% 4?326?654&+73267!%3RýðþH G$GTgi“l~®&®r“ þ—&þÚNí,¾qHþ`:2;“{@Vtj!K`û«Å• ßþ»d=™I(,ÿïþnêG%! 47%32>?654.+73>7#"#".5476$!3"32$7RýõþH ' Og4ZF/ 4R6Ø,Õ/\P>;>>{µm 'D*œ­Ýk¯D!³“~XþZN9D*$Dh3O556/á0QsH 3cn*).ʼÐdb~koþ¢®ëB)H#Ë 3#"327;7654#"! 47!37#$47! 3#3éʽ«Âç¢Ê ©ÅõEþ&þUJäÊÊþ\ Fì™ k*kk0s¢4x¦pü­†þ',{L,3fþð(.¦ÙLõ!þo*=654&+"267%!"'#72>76&'#&3$4?!2>3Ý#P# Y d- 7Rþ£<$-þûÖ)+N<*ž b,:`*þ  ,Q[ @1‚QÙ!-<þ5/<M þmR*3%! &547%$7654#"'>32327>.'7K,þÆþêþù¿ IrB=5&Þ!çÄÀ} -þ‘þã-Ãþ0õR&ÜÝ¿Š4<vzU`!Q *9!H«©˜h1;Þ…Bë(!¥ó,($•u'þmªE0!3267654.'%!#"'323267!! &547ë&pZudŽ +SC0ER& \þŽQÁdŽ&Zþþû ýà 3>y~,+ Bhe0b>~E=?þ'&‚ •z{þ7µ„06~þnÅ8 +67654#"!6?!! 54767.54°Ëø(Èõþ©VÈ 7þeþøI~=þhþ¹ %·¡aqœ"Í(!ªóÇþ²7Aþå±b}Q^ooþÏô)1½c5¦Z-Nÿ=Ž+2654&'.#"'67.547%'>7654'"3/ShÁ^t*<" W Œ#ÞØO[˜o‚  3'SŽ3Ã'!,†|n#,m|N &Ñþè'  'X¢3$YÓ»,6þ׿/<CÄw;l ÿãø{ L32654&#"326?%!>54&#"7>32>32+3267#"&'#"&5467 Jbu:1CPýÛ (,8GþfÃUF8‰A/9ˆQ^† =“Y–óÌl DA4‹V/O‘ERt4‹T~ˆÍNgU354&#"7>32>32#"&'#"&5467"3267>7>54&Ê (,7Gþg VH9‡@/9ŠR^…2\›¤@68Ç„Sx%0ŠR‚‹Ž4D 394D3¬B'40UYFÓ54O]72î((QEKK¨žŒþÄ€‰=<;>‹ƒ1†X¦@JvaZxHA@I*|HQz"IAÎ/Ü{ 32!6&#"Ï4WíîÛ4þÛ Tjiœ /=þÃþñ¥¹¹¥ÍÿãÛ/ #"!3267Û5þ©íîÛ5% Tjiœ /þñþÃ=¥¹¹¥)9†)!2>&#!!#ý'9¬yu{~ý}9`9¦WIô&DžX&þÚ–h ¤Bÿü-‚7373!!2>&#!!#-­.ù.¬.|þ9ßTVQXþ>99t;*´ììþvììŽ&DžX&þÚ–h ¤*ÿÿ\0)7!2>&#!7!2>&#!7!#uA0ÝþÄý‰.Ï}\N{ý1.Ï{^L}ý1.`)t=8fÐ!fJ‘oð&d(í(d&ðÕnˆp§œ‡à 33#'##œ›°jä\ºú`ºIþªíü¼ÏÏ£œ!à#3#3!7##3!¸"¤¤,Äþœ'²]œ„T¡ŽEà’®‘á’ËËD’þcÑœ¹á (3267654&#3267654&#%!2#!Ï1|XS 7T=&|FE .Dþé0œzn]jK¹¸þÐø6C(3FÃ-4 )ƒ^GQZ ]<ymÛœ³à 3267654&#'32+h2nt 5nÏÆèˆ+ðèÆKýæ{“C1:^•¡v>LÞÅóœßà !!!!!!=ý¶¢Jþp#jþ–+œD’´‘Ûóœßà 7!7!7!7!7!ó+þ–j#þpJ¢œ’Û‘´’ü¼ŒÐï!7#7!#"&547>32.#"326Ð~"J>ŠJ¶€)ó¾8i+$\ê>¸¢¸HêHºàþÁ?ü¼tþŒÿœÑà 7!#3!73…0ºjºýмjN’’ýà’’ Œ×à73267#7!#"&&,p>JQ Räžoª¦<|ÅÀ14AG¦’ýÈ™ƒ»œ à 33##]º@bÒþ˜ÒЕd7ºàþ¶Jþ·þx]þåóœWà3!󢺆ŽœDýN’Éœà 33## #kÞ)·Þ¢ ‚«”‚ àþ‘oü¼žþ’nýbßœóà 33# #Èv¤¢Èv¤àý `ü¼`ý ßœóà ##3ó¢¤vþ‚Æ¢¤v|àü¼`ý Dý ` ŒÃï "267654>  &54ç\Zþ*ÐHc*Ðþ¸c[‡—Y<)_‡–[=(À×Û¯gEWÖÛ¯fFáœÄà 3267654&#'32+#"/LZT7ZëþÄÁÄD=ºUõ7D(/‹kW$‹{þǽœ—à!#'&'&+#!23267654&#² pÌI D:@º¢ ¶vtþó,VLN 0N'%4þÓÓ ^þ¶DcP#Vf$ä5>$,Qœà##7!#sº†î˜ðœ´Œýà32673#"&54gºo0€V oºg!¶ª¨eÑýÇ';7654'&#"7>32¤g\ 1IdÃF·*q?y8)´¨€?B‚JA‚G¬9&Ã/: bX ?þšF)-8*Bni Œ>(R,ŒÃ42767654'&#"367632+32767#"&54.g-. 1J21ÄF·*89?xb[Y¨€?B@BI@‚G¬_è9 20X @fF*bBn54 ŒfR,$ŒÞ 73#7#"&547>322>54&"¸z¸'54@yQ ¨~8)'þü&xY&x¶Yý]6‹P2<Ÿª» +Qg +QâŒù I32676&#"26?%!654&#"7>32>32+3267#"&'#"&47À .7A '(0 þ±O+ þû%<&R,$T4AU#[>eL“€00$[42](>GY:p1..+*(*01º '&5F v (D! ˆ/-0,X9hg,Š"%"%dvUÝŒ— 654&"2>32#"&'#3Á&xY'xl-d8~S ¦y@T¸©¸y +Qg+R¤44ŠQ2<¬76]gŒ÷3#7#"&547>322>54&"þA¸©¸(h@yQ ¨~8Pþü&xY'x¶Mü™]67‹P2<Ÿª4» +Qg+RŒÀ'#"'&547>32!3267'654'&#"aD‹J±M7 ×›F2 þ"*`@‚JtG?Y»T32#"'&54?!654'&#"32767pD‹J±N6 ×›G1 Þ )`@‚JtG?-,ïT32&'&#";#"32767#"'&547>ðU&˜:@BIS4CM!:+$BJt+@5GHDC<ICD>ºXP{Ý$% aX„ z ,'  „3-5HSÎ:#"'&'732767654'&+732767654'&#"767632áU&˜:@BIS4CM!:+$BJt+@5GHDC<ICD>ºXP{Ñ$% aX„ z ,'  „3-5HS(¯õ ,654&"26#"&'7326?#"&547>3273+tZ)t\”³¬:o7/g:NW #bAx[ ±w=T¹à -ReT"+QeÀ—…—AFC,,ŒR)1•®2.Pim !#7!#3#73Zþ“aåƒæIµþ÷¸&¸žõ~~þ‰þQÀÑœÁ 3%3##{¹YàþÈÍ̈I/¹þ7Õêþw%5ðÙœÕ%>32#654&"#654&"#3>2ÅH.\"D—N ?# N•N ?!N—y† NU?Ð(&O+>iþŸ“. 0Eþm“,!/FþmsA%+-&¯´#+73267654'&#"#3>32¬KFC…L??F12%$E¸z¸jBe(3þ<<~=Jf ('Gþ™s^49:&>#Œ¸#"3267654'&>32#"'&54ŽB`BC`þQÓ•–H2 Ó–•G3™h\$. 4h\$. 4ʱX?^'-˜±X?^'ŒŠ"0732>54&#"767632#"'&#+,6ZuAZ442/9778¤K6Ú£>42¼—!e|6V– W?b&,›® Õ˜>32#654&#"Ó•–z ¸-CB`Õ˜±—^'-$.Th\9ŒÏÕ#"&54733267ÏÓ•–z ¸-CB`Õ˜±—^'-$.Th\Ú­Â#3>32#"&$654&"2Ò@¸©¸(i@yP ¨~8P&xY'xôþ¹b^67ŒQ1;Ÿª4»‚ *Qg‚+QLœÄÁ3#;#"&547#737ô"òò:'6Ž›ŸO8µµ"Á²~þ×*$~K@ )!~²4ŒÂ32673#7#"'&5454&#!7!#™þ5 ®MH GOþk Á h7(—œ¤&4!.¤¤E$Y\üø(#"'&547326732673#7"'& H.\ D—N ?" N•N ?! N—y† ''U Û(&8+>iaþn, 0E’þn+!/F’ýA%Tœ÷ #3÷þ¦ãf»7öýsþéÿÿ¸¤×ýdÿÿµƒWýdÿÿ4ÿðÂsÓýdÿÿT÷sÖýdþV³} +"3254&%$!2.#">32#"&'!¼r¨RHr¨Pýä4b¶V6J¦V~Œ6š`ž¸THFÊjh†"þÚßþ÷»do ¹fo¢çþ÷--u|…SUѲ‹þælgtng¶ÿÿéœçà°jA`73!7!!3#!!7!7;%ð3þ”,þ,þ”3ð%ð*l+ü+l*¶ÂááþùÂÕááÕ\þXr!7!;#+732767#"&Þ¨þ×+NÓ=bê 1foÒy+'b6+ÑŒÓ`áû¿„n9}+Ødlá7,dØóŒ­ #367632#"&$654&"2¼¸z¸'63@yQ SU~8P&xY&xôYs]6‹P2<ŸUU4» +Qg +QFŒ¹#"&547>32.#"3267K3p>£ Û¤8f/#Z4ZuAZ6c1¼•a',›¯–!f^7U !GMº 4;27654#"763#*''67&'&5467632&'&#"g""]L4€UkŸ ÆA ~ / 6'nn£833/#--4Z:; $ eeµ@4'$>a'ÇXW –33^%&ŒÆ ..#"3267>7#"&547>32''7'37å;B] -AE]u0 Í™”y‰'MѾM¸-ɺFQF"-Pea7ÝMf"+/›®’[&*„zBA=qAHEBê´.#"&'73267654&+732676&#"7>32ã^P Ûº>C4HG[ XtJBaOM{YOˆ:˜ iÝ I2?f„2"z&" „ PG1IWœÜ3###737>;#"Þ ÙÙb¸b¬¬ z˜*#F7~þ õ~,qW~¤T33#+732767#73`â^ppMQp'@……þv?C„B,­ó-#"'&547676;#"'&'73267"326?Ô2e ¿ü­v\/<s›¤~ýg+€£Q#7!;#"&54®Ž¼t§ =”ǃJ©Ü~ü¦!1~bF)¯€#7!;+73267#"&54Ü^»tw =”AB…L>:„J¢ã~ýŸ!1~x;:~78bF);œ<3!!¶Ì[ þþ0£ð­ì8>32+732767654'&#"#654'&#"#367632ÜH/\ D8:n>3J   N•N N—z† &(+*>Ð(&8)?kþŸz8=~J|-Dþm“* FþmsA&.­(#"&54733267332673##"&"I.\!D—N  # N•N !N—¨†;O+*>Û(&N+>jaþn. 0E’þn,!/F’üž0%+-¶¤ó*#?676'.#"+73276?367632éJ¼ ,":*,"FEkM4`º4549e(þ‚>æR10U¯{ rCC„K{í\7B)@(餅(6&'&#"#367632;#"'&547Â6/*<ºzº4459e( H5Jj+ 0( 1*[þËs\7B*?(1þ% „C0C#óœÞ 33# #môgGÏzôgGÏþ”lýmþ“Œ¸)67632#"'&54%"!3654'&+3276"ij•–G3 ji–•H2uB0%ôBC0Õ˜XYY>^'-˜XYY>](ñ4(? -4þø-44å­ì)3676?#7!#3!737&'&567>54'&é%wTq»/»iD9D9­ÀX@q~~q@Ae#¿X@h~~h@Add^ 4z5#Rþ¢ 4z5#-­¢D&'&#"#"';#"'&54?327676&/&'&54767632¢-467>"#z3`&QQ() ?L„- 7<=;A$%*U1e(ST†;:9ü) /"1a10 !~=&E)5 " -"2[22 ±¯ +732767676;#"@FƒÈ”> ~=>˜‘*œy8<~ I‡q,+~ $c¯ÛÁ 3#;+732767&'&547#737 "òò:'6Ž@D„L>!…* 8µµ"Á²~þ×*$~x9<~8)@ )!~²ŒÆ&#7#"'&54?#733333+3276|/¹64Ae)445¹5Æ5¹5-çÅ12#‘õ]4;%=#+mþïþïm '!bú-3267654'&'7!##"&5476767#7!c1( ;G%n>›Á+##"'&54?#7;?2767654'&'7# a`|Fc+"ee¹&"( <60 #kÛ!J'$+ŽYXB+D&,¯D~¯Q#71P$&/(fÚœ}3# ÚZãf»7öœsýéþ œÇ !!!7!“4þDsý½½þ›€þˆ{€yÛ­™!!;#"'&547!7!e4þCt ?L„-þt½þœ€þˆd!~=&G&€y÷]´!3276'0#"!367632+'67!7!Ý þ“3þD‰)M1i!™€þ²½þœ (®€þˆB3_iµ$€yܦ %!7!#"&'73267654&+´'þ›4þØZ/C<Ú¹A= 9r;Wg K\j™üz€ÿ f3|¦<7 )5޾!654&#"3267"&547>32CB_DE_Ø•i(à•–i(à-&7u“l~,'5v–hþÄkCNÏñÃlBOÎòÿÿÿþ Õ&©$ÿÿ/þ u{&©Dÿÿÿìšk& ´%ÿÿ/ÿã1&‹dEÿÿÿìþ2š×&%§ÿÿ/þ2&E§ÿÿÿìþjš×&µ%ÿÿ/þj&µEÿÿƒþoÍk&&&«u «‰uÿÿ–þof&vV&F«Hÿÿÿøk& ´Î'ÿÿBÿãø1&‹œGÿÿÿøþ2Õ&§Î'ÿÿBþ2ø&§GÿÿÿøþjÕ&µÎ'ÿÿBþjø&µGÿÿÿÞþoÕ&'«ÿHÿÿþoø&G«†ÿÿÿÎþÕ&±Î'ÿÿþø&±GÿÿþáÕ&±(ÿÿ'þƒ}&±'HÿÿþáÕ&´(ÿÿCþƒ}&´'Hÿÿþoák& ³&(«2ÿÿLþo‡F&Š'&H«2ÿÿ/ôk& ´)ÿÿçôk& ´Iÿÿfÿã±N&* ¸2ÿÿþX¦&JˆÿÿÿøÙk& ´+ÿÿ;`k& ´Kÿÿÿøþ2ÙÕ&§+ÿÿ;þ2`&§KÿÿÿøÙR&+ ª\ÿÿ;`y&KjHÿÿÿHþoÙÕ'«þ±+ÿÿÿkþo`'«þÔKÿÿÿøþÙÕ&²+ÿÿ;þ`&²Kÿÿþ¶Õ&´,ÿÿþ7&´LÿÿÿîXk&. «uÿÿRk&N «ÿ‡uÿÿÿîþ2XÕ&§.ÿÿRþ2&§2NÿÿÿîþjXÕ&µ.ÿÿRþj&µ2NÿÿPþ2!Õ&§2/ÿÿéþ2 &§OÿÿPþ2N& ¸3ÿÿéþ2N& ¸4ÿÿPþj!Õ&µ2/ÿÿMþj &µOÿÿ2þ!Õ&±2/ÿÿþ &±OÿÿÿÇ k&0 «?uÿÿÿ߸f&PvÿÿÿÇ k& ´0ÿÿÿß¶1&‹PÿÿÿÇþ2 Õ&§0ÿÿÿßþ2¶{&§Pÿÿÿççk& ´1ÿÿ;`1&‹Qÿÿÿçþ2çÕ&§1ÿÿ;þ2`{&§QÿÿÿçþjçÕ&µ1ÿÿ;þj`{&µQÿÿÿçþçÕ&±1ÿÿþ`{&±Qÿÿ=ÿã“ù&2' ¬ «2ÿÿXÿãù'…H“&uRÿÿºr&3 «ÿw|ÿÿÿÛþV¸f&S…ÿÿºk& ´3ÿÿÿÛþV‘1&‹Sÿÿk& ´Î5ÿÿšË1&‹Uÿÿþ2Õ&§Î5ÿÿšþ2Ë{&§Uÿÿþ2N& ¸ÎQÿÿšþ2Ë&ˆRÿÿþjÕ&µ5ÿÿMþjË{&µUÿÿÿã‡k& ´6ÿÿZÿãF1&‹Vÿÿþ2‡ð&§6ÿÿZþ2F{&§Vÿÿþ2‡k& ´&6§ÿÿZþ2F1&‹&V§ÿÿ´k& ´7ÿÿ¤‘k& ´Wÿÿ´þ2Õ&§7ÿÿ¤þ2‘ž&§WÿÿMþjÕ&µ7ÿÿMþj‘ž&µWÿÿþÕ&±7ÿÿþ‘ž&±Wÿÿ-þ2øÕ&¨8ÿÿBþ2`&¨XÿÿþøÕ&´8ÿÿþ`&´XÿÿþøÕ&±8ÿÿþ`&±Xÿÿ-ÿãøù&8' ¬ «2ÿÿjÿãù'…H“&XuÿÿË-T&9 ¬\ÿÿ¬Ï&YuØÿÿËþ2-Õ&§9ÿÿ¬þ2Ï`&§Yÿÿ)Zr&: ®|ÿÿZ-o&Cè Zÿÿ)Zr&: «|ÿÿZ-o&vH Zÿÿ)Z`'j5/:ÿÿZ-í&j¼Zÿÿ)Zk& ´:ÿÿZ-1&‹Zÿÿ)þ2ZÕ&§:ÿÿZþ2-`&§Zÿÿÿq?k& ´;ÿÿÿ´Ë1&‹[ÿÿÿq?k&; ªuÿÿÿ´Ëà&j¯[ÿÿ‘Nk& ´<ÿÿÿ¦þXé1&‹\ÿÿÿß r&= ¯.|ÿÿ1¤m&]eÿÿÿßþ2 Õ&§=ÿÿ1þ2¤`&§']ÿÿÿßþj Õ&µ=ÿÿ1þj¤`&µ]ÿÿ;þj`&µKÿÿ¤‘&Wjÿ¢ÒÿÿZ-/&Zsÿÿÿ¦þXé/&\s ÿÿçôk& ´Aÿÿ8ÿã|!øÿÿÿþ2Õ&§$ÿÿ/þ2u{&§Dÿÿÿþ2?r& ¯|ÿÿ/þ2um&Žeèÿÿÿ™ù& ³€' ®l$ÿÿ/ÿãu¢'„B<Åÿÿÿþ2™k& ³ÿÿ/þ2u&ŽqèÌÿÿþ2áÕ&§(ÿÿLþ2ƒ}&§'Hÿÿám&( ¬puÿÿLÿãƒ&Hußÿÿþ2ár&• ¯|ÿÿLþ2ƒm&–e"ÿÿþ2¶Õ&,§ÿÿþ27&§Lÿÿ=þ2“ð&§2ÿÿXþ2y}&§Rÿÿ=þ2“r& ¯|ÿÿXþ2ym&žeÿÿÿåÿãIk&b «ÿ‘uÿÿÿÿÿãÜf&cv—ÿÿÿåÿãIk&b ®ÿ‘uÿÿÿÿÿãÜf&cC—ÿÿÿåÿãIm&b ¬ÿ‘uÿÿÿÿÿãÜ9&cu—ÿÿÿåþ2I&b§‘ÿÿÿÿþ2Ü&c§—ÿÿ-þ2øÕ&§8ÿÿjþ2`&§XÿÿÿÈÿãk&q «ÿvuÿÿÿÑÿãÞf&rvÿdÿÿÿÈÿãk&q ®ÿvuÿÿÿÑÿãÞf&rCÿdÿÿÿÈÿãm&q ¬ÿvuÿÿÿÑÿãÞ9&ruÿdÿÿÿÈþ2&q§ÿvÿÿÿÑþ2Þ&r§ÿdÿÿ‘Nr&< ®|ÿÿÿ¦þXéo&CÜ \ÿÿ‘þ2NÕ&§<ÿÿÿ¦þ2é`'§,\ÿÿ‘Nm&< ¬1uÿÿÿ¦þXé&\ußÿÿ5ÿçìr&õiÿÿ5ÿçìr&õ¡ÿÿ5ÿçìr&õvÿÿ5ÿçìr&õƒÿÿ5ÿç&r&õwÿÿ5ÿç:r&õ„ÿÿ5ÿçìÓ&õxÿÿ5ÿçìÓ&õ…ÿÿÿr&ÖiþHÿÿÿr&Ö¡þÿÿýìr&Övýÿÿþr&ÖƒýÿÿþÃr&Öwý{ÿÿþ¹r&Ö„ýgÿÿÿÓ&ÖxþHÿÿÿÓ&Ö…þÿÿdÿêRr&ùiÿÿdÿêRr&ù¡ÿÿdÿê–r&ùvÿÿdÿê r&ùƒÿÿdÿê&r&ùwÿÿdÿê:r&ù„ÿÿÿcár&ÚiýIÿÿÿ•ár&Ú¡ýIÿÿýár&Úvü;ÿÿýGár&Úƒü;ÿÿýºár&Úwürÿÿýºár&Ú„ühÿÿeþVwr&ûiÿÿeþVwr&û¡ÿÿeþV–r&ûvÿÿeþV r&ûƒÿÿeþV&r&ûwÿÿeþV:r&û„ÿÿeþVµÓ&ûxÿÿeþVµÓ&û…ÿÿÿ1Ùr&ÜiýÿÿÿcÙr&Ü¡ýÿÿüèÙr&ÜvüÿÿýÙr&܃üÿÿý~Ùr&Üwü6ÿÿýˆÙr&Ü„ü6ÿÿþâÙÓ&ÜxýÿÿþâÙÓ&Ü…ýÿÿO°r&ýiÿÿO°r&ý¡ÿÿä–r&ývÿÿ  r&ýƒÿÿH&r&ýwÿÿO:r&ý„ÿÿOµÓ&ýxÿÿOµÓ&ý…ÿÿÿc¶r&ÞiýIÿÿÿ•¶r&Þ¡ýIÿÿý8¶r&ÞvüTÿÿýL¶r&Þƒü@ÿÿýĶr&Þwü|ÿÿýĶr&Þ„ürÿÿÿ¶Ó&ÞxýIÿÿÿ¶Ó&Þ…ýIÿÿXÿãyr&iÿÿXÿãyr&¡ÿÿXÿã–r&vÿÿXÿã r&ƒÿÿXÿã&r&wÿÿXÿã:r&„ÿÿÿ®ÿã“r&äiý”ÿÿÿ•ÿã“r&ä¡ýIÿÿý3ÿã“r&ävüOÿÿý[ÿã“r&äƒüOÿÿþxÿã“r&äwý0ÿÿþxÿã“r&ä„ý&ÿÿ¤r& iÿÿ¤r& ¡ÿÿ¤r& vÿÿ¤r& ƒÿÿ&r& wÿÿ:r& „ÿÿµÓ& xÿÿµÓ& …ÿÿþÿNr&é¡ü³ÿÿüòNr&éƒûæÿÿýNr&é„ûÍÿÿþoNÓ&é…ü©ÿÿ@ÿãr& iÿÿ@ÿãr& ¡ÿÿ@ÿãr& vÿÿ@ÿã r& ƒÿÿ@ÿã&r& wÿÿ@ÿã:r& „ÿÿ@ÿãµÓ& xÿÿ@ÿãµÓ& …ÿÿÿÂxr&íiý¨ÿÿÿ®xr&í¡ýbÿÿý3xr&ívüOÿÿý[xr&íƒüOÿÿþ‘xr&íwýIÿÿþ›xr&í„ýIÿÿÿ‚xÓ&íxý¼ÿÿÿ7xÓ&í…ýqÿÿ5ÿçìf&õCÿÿ5ÿçìfðÿÿdÿêRf&ùCÿÿdÿê¸fñÿÿeþVwf&ûCÿÿeþV¸fòÿÿO’f&ýCÿÿO¸fóÿÿXÿãyf&CÿÿXÿã¸fÿÿ¤f& Cÿÿ¸fÿÿ@ÿãf& Cÿÿ@ÿã¸fÿÿ5þVìr&¹Éœÿÿ5þVìr&ºÉœÿÿ5þVìr&»Éœÿÿ5þVìr&¼Éœÿÿ5þV&r&Éœ½ÿÿ5þV:r&Éœ¾ÿÿ5þVìÓ&¿Éœÿÿ5þVìÓ&ÀÉœÿÿÿþVr&ÁhÿÿÿþVr&ÂhÿÿýìþVr&ÃhÿÿþþVr&ÄhÿÿþÃþVr&hÅÿÿþ¹þVr&hÆÿÿÿþVÓ&ÇhÿÿÿþVÓ&ÈhÿÿCþVwr&ÕÉþÈÿÿCþVwr&ÖÉþÈÿÿCþV–r&×ÉþÈÿÿCþV r&ØÉþÈÿÿCþV&r'ÉþÈÙÿÿCþV:r'ÉþÈÚÿÿCþVµÓ&ÛÉþÈÿÿCþVµÓ&ÜÉþÈÿÿÿ1þVÙr&ÝhÿÿÿcþVÙr&ÞhÿÿüèþVÙr&ßhÿÿýþVÙr&àhÿÿý~þVÙr&háÿÿýˆþVÙr&hâÿÿþâþVÙÓ&ãhÿÿþâþVÙÓ&ähÿÿ@þVr& Éÿÿ@þVr&Éÿÿ@þVr&Éÿÿ@þV r&Éÿÿ@þV&r&Éÿÿ@þV:r&Éÿÿ@þVµÓ&Éÿÿ@þVµÓ&ÉÿÿÿÂþVxr&hÿÿÿ®þVxr&hÿÿý3þVxr&hÿÿý[þVxr&hÿÿþ‘þVxr&hÿÿþ›þVxr&hÿÿÿ‚þVxÓ&hÿÿÿ7þVxÓ&hÿÿ5ÿçìF&Šõÿÿ5ÿçì&õˆÿÿ5þVìf&Éœÿÿ5þVìy&õÉœÿÿ5þVìf&ðÉœÿÿ5ÿçì9&õjÿÿ5þVì9&`Éœÿÿÿ™k& ³ÖÿÿÿN&Ö ¸ÿÿÿf&Ö•þ*ÿÿÿfÍÿÿÿþVÕ&Öhÿÿ°riÿÿ{þVsÿ¤É°r!77#7!Ž2þ¿³µ"AÃþÿx¯ÿÿyh9uÿÿ ;¼&jjTTÿÿCþVwf&!ÉþÈÿÿCþVw{&ûÉþÈÿÿCþV¸f&òÉþÈÿÿeþVw9&ûjÿÿCþVw9&oÉþÈÿÿþ·áf&Ú•ýDÿÿÿáfÏÿÿþ™Ùf&Ü•ý&ÿÿþÝÙfÐÿÿÿøþVÙÕ&Ühÿÿä–r'iþÊ•6ÿÿHÂ&r'iÿ. nÿÿÆÂµÓ&ijMšÿÿO`F&ŠýÿÿOB&ýˆÿÿOHØ&ý“ÿÿO(þÕÿÿOh9&ýjÿÿO¼&ýkÿÿ¶k& ³Þÿÿ¶N&Þ ¸ÿÿþÕ¶f&Þ•ýbÿÿÿ¶fÑÿÿ  r'¡þÀ•@ÿÿRÂ:r'¡ÿ ‚ÿÿÆÂµÓ&¡jMšÿÿ¤F&Š ÿÿ¤& ˆÿÿ¤Ø& “ÿÿ(þôÿÿÿýþVžr&iÿÿÿýþVžr&¡ÿÿ¤9& jÿÿ¼& kÿÿ‘Nk& ³éÿÿ‘NN&é ¸ÿÿþ…Nf&é•ýÿÿþtNfÓÿÿÿºr&æ¡ý5ÿÿs;HØ&j•rÿÿ ;(þÌÿÿsî`fCÿÿ@þVf&)Éÿÿ@þV`& Éÿÿ@þV¸f&Éÿÿ@ÿã9& jÿÿ@þV9&™Éÿÿþäÿã“f&ä•ýqÿÿÿ¹ÿã“fÒÿÿþîxf&í•ý{ÿÿÿÌxfÔÿÿÿÌþVx´&íhÿÿ9î¸fvL°r7!#7 M"A"¶»þ¾ï¯xô¼ ß·ÔÌ991ÔÌ0!!+u8ýŒßþÝÿÿô¼ ß­ÿżDz@ ÔÌ991ÔÌ0!! Ñ1û/²öÿżDz@ ÔÌ991ÔÌ0!! Ñ1û/²öÿżDz@ ÔÌ991ÔÌ0!! Ñ1û/²öÿżDz@ ÔÌ991ÔÌ0!! Ñ1û/²öÿÿþÑÿî&BB¤‡¾8@4GÔÄä91üÌ0KSXíí9Y"!3ÝþÇ5׬‡~þ‚¤‡¾4@4GÔäÄÀ1üÌ0KSXíí9Y"!#…95þò׬þòþ¬þáÇo4@4IÔÄäÀ1üÌ0KSXíí9Y"!#:6þò׬oþñþï‡a#a8×s8þòþÇå d@2     4 G    ÔäÄÔÄä991ü<Ì20KSXíí9íí9Y"!3!3üþÇ5׬ÓþÇ5׬‡~þ‚þñ~þ‚“‡¶ `@0     4 G   ÔäÄÔÄäÀ91ü<Ì20KSXíí9íí9Y"!#!#}95þò׬þ-95þñ׬þòþþòþÿ²þáÓo `@0     4 I   ÔäÄÔÄäÀ91ü<Ì20KSXíí9íí9Y"!#!#š93þïÕ¬þ+:3þïÕ¬oþñþþñþÞ‡X #!#P8×s8A7×t8þòþþòþ¶ÿ;yÕ Z@/4; 9    ÔäÀ9991ÄôÔ<ì20KSXííííY"!!!!!7!yLL+þ´ÑÿÑþ´+LÕþ}ßûÈ8ß1ÿ;{Õ†@J   4;;  9      ÔäÀ99991äÔÄ2Ô<î2î20KSXííííííY"!!!!!!!7!!7!yLN-þ´ZL+þ²JÿJþ¶+LZþ´-JÕþ}ßþ+àþ}ƒàÕßÑ`µ ÔÌ1ÔÌ0467>32#"&'.736€HIƒ256743„IH‚426úIƒ235624‚HIƒ447743ƒ?!°!?qþHÿªLo u@;    4I   ÔäÔäÔäÀ999991/<<ì220KSXííííííY"!!!!!!:FþÅþÀ'Eþ×þ¬;HþÇoþ‘oþ‘oþ‘ј $0<HLp@?J%K+I"L 71= ‰+‰"‡%‰>4‡C‰: L(I1KJ11F17@11.11(1/ìÄÜìîÞîÝîÞî99991/<î2î2öîþîî29999904632#"&5%"32654&4632#"&%"32654&4632#"&%"32654&%–¥ww¨¨wu§2IH33JJü§xv¦¦vw¨4GH33JKþÞ¥xw§¨vw¦3HH33JKþ§'ûê!x¦§wx©¦wK24KK42IÝx§¨wx©¨öG45LM41Jü+x¦§wx©¨öH35LM41JúŸ^þ\ј1<HWg"2654&46367636762#"/#"/#"&"2654&4632#"&"2765454'&!"2654&#'ûêµ-@@ZBCþ×’kjIIjiKIÓ••jhIKihJKhj“4GHfJKþ±§xv¦¦vw¨h,A?[! #?,  [AB˜Ÿ^þ\—H35LM41J}x¦TSTS§wx©STST¨NG45LM41J}x§¨wx©¨ýžK24K&$13$&& )+ &K42Ia`lÕ!aõþ—`uþ‹ÿÿ¥`(Õ'ÄÿDļÿÿê`ãÕ&Ä'Äþ‰Äw¨`$Õ#!$¢Ù`uÿÿê`âÕ'ÇÿBǾÿÿ1`›Õ'Çþ‰&ÇÇw1m#@ /Ôì91ÔÌ907m2þÃå)þw#üãâÕŠƒ=w#@ /Ôì91ÔÌ90 7%'ð‡ýß-Bë#þwƒþvîÝÝÿÿ³Õ'þÌ4$xð$(!6763267676'&!}þõ¦bm4mjjeÊ`a ./piQ 3* ( ýò7 7‘S#F 8^^¥LAB\VC)*= áþø%(+C" ûþåÿÿMÑ B0ßþò? !#3#3!Dû&òzò%òzò%þ¾ýŒ¾ýŒ¾jþòÉ !73#73#7Éþ›þ%òzò%òzò%øÞ¾t¾t¾ÿÿÿÞóð' ·þÌ ·4ÿÿ³ð' ·ÿ 4ÿÿ´ð'þÌ ·ôÿ;ÝÕ 2###T××%#þùÒ¤¼,¾þÔ¿HÕè¾²Ûü²ùùš/ð #647632"326767654'&#"#"&4767>32J%#J2.L'3/&%&H=4UUg‰˜$%95¬e‰š <e?<7UabH>8TbaxöYL+*„î|€RMV„œ¸@ !3!73#3#Ómnæý|æR´¹*¹þ ~~w¯¿œÕß _@3 3  3 334Œ  ‹    ÔÜÄ991üüÔ<ì290KSXííííY" 333##7!7îþÆúRÍeml#¼$þ{)þ¶þ´´¢íß%!!67632#"'&'7327654'&#"Ú@%þk&‹SS~ÚDDK<$2=?o^_Œ‰yvtSL&& œß!#!o«ýèã þ?ßuý2² ð -=4&#"326'&'&547632#"'&54767327654'&#"L@P23('AMdôJ&&ii—€PP?@jN++ij©•RRFGž !2F/. !;A-,¨1:+*B0T÷'(=gHI78YR99./G}KL78d_CC¯)"!4,#"!ð$3732767#"'&547632#"'&327654&#"!$+223oKK"+66?uEDlm¥£OP++LEcb„012Ð 7I54@5M33®– <=u$>>l‘``FGŒytsTL%%188R1<98ÐÂ8 !!#5!5!5´þò–þð8ñ†ññ†ñÁÂG!!´ýLG†A¶Å!!!!šýfšýfÆ…„„R #.547R““#$Ž42£¢®þ®¤P¬]`¹Z¢F¢R 654&'3““#$Ž33£¢¯Q¤P¬]`¸[¢þº¢ œ™#6'&#"#367632™OºJ 23%%Eºyº65Df)'3þi~D('Gþ™s^4;;ÿÿ/ÿñTÖýdÿÿ!ÏC{ýdÿÿTtýdÿÿÿñTuýdÿÿÕCØýdÿÿíÿñCÙýdÿÿ!ÿñTÚýdÿÿCÛýdÿÿ ÿñTÜýdÿÿ!ÿñTÝýdÿÿ4œÞýdÿÿ%«ßýdÿÿ¥¶)àýdÿÿÿiRfáýdÿÿÿiRfâýdÿÿÿ𼂾ýdÿÿÿðÀ‚Äýdÿÿÿð¸‚ÍýdÿÿÄøt{ýdÿÿÿð¾‚ÅýdÿÿôƒhTýdÿÿÑÁgÊýdÿÿcnhyýdÿÿÙÕ‚Ëýdÿÿ ™‚ãýdÿÿÚÿ‚ÑýdÿÿÿñƒzýdÿÿLÄ%ÒýdL Ö%!!!!!!#"32.#"3267þªBþ¿#býÔ9=Aú$%ÃAs2 1eð*E²þõ ò &° Bÿãóð/6767#"476$32.#"!>32.#"'*]u7rÒ^ùþ×^\l1¯aÁd3O¡[¿þýPs 4ža#.C&g† $Nþµ12J³=ƒš¦78þËIDþœþõ¬bÇ­`eþÝž–Õ!!!!3#!#7¸±4ý®1/5ýÒ!l!l.þ¡/u"ÀþÝþêþݹ¼þü¼ÿåÕð#!!37#737#737632.#"!!!H!è.ü/Ë »)¾Á(Á0…ˆøSŸL25~@q?<>(þÁA)¸þö ¸ïWïz|þâ%(=;zïWïÿêÿB¤/#6'&#"#3676323632#?6'&#"#fk×" 4AZCáˆá6;:AI00¡lL yaTáH1?."CÖ¾ð¹75ªœýÙ`¤`/085cs® îãýVH)v75TR„ýÚÿ°!Õ#7#737#73!3!3#3#!#!3' -aüÍ&A-B&AV®<¡VmVB&A-B&AVþR<¡Vþ“V¿-axååÂÂå¶þJ¶þJÂåÂþJ¶þJ¶§ååÿãDÕ&^32654&##;7332654&/.54'+#!2333632.#"#"'&'#"&5467%b>B/-H*!  $ 2644.YKý&)qUu.±†&l=7¦¨5I5g30`+05+dP~57ŠKN*¾þ_€zQVþ¢þ& .(D) 64$( (œŠ91iOUMýúÕkc§>þ %þê2473$ .‘ÃÛ ˆ€@!ÛÿãÇÕF2676&+#.+#!232676&/.7>32.#"#"'&v@@ .@U(§Ø:31::Ë™6œ}_Q(5059=7>"8 {U’…5p@8l269#2 ŽSžŠ;<?ZgfXþüÃspRýËÕÆÖ”¾-v/:90/ ¢¥²¬ þð0035+. # «³´TÕ"&)-1'#73'33733733#3#!#!#7373'!37kI4Ûñ;Ýò;Ù:4HZnÛþøOÛþøoH r„§ý1 rä'þ“§èv’åååååå’v’üªVüªV’’þB¾vvþøþB¾vvvvÿÏÿã=Õ !2 #6&+#%"3;3ÒÉ6:°: 1t½ÓîkþsÊ7:°: /u¾ÒïÕþÊþÃþ§Y¹Ÿû*5=Yþ§¹Ÿ×ÿÿBþjs&Ój/ÿßÿãÓð,v@@#$u& uUCJ UC JB E*-,&+*'## %+#-ÔÄÄÄüÄÄ9999999991Ä2äôìôìîöîî2Ý<î290632.#"!!!!3267#"=#73>7#7]VçPœI@8‹Oi¬9’RþZRþê€hM’s?LUãþÉT°Tòø$$þ¸KM‡½g»|Œ>Zþ¸$$ î»+K!½Õ!!!!!!#7‘j[øKý¼Hþ³Ÿþšþ©cþãw_`uýß!ý‹˜ý8Lý´Ș© Õ!'?'7!!!77áoþÏDo  o ^þ~8*8þ‰3nž!n<ýÄ^:MS¨:MSþþûþà9MR¨9Mþ7ð.i€Ž'6767632#"'&'32767654'&#"67'6767632#"'&'&/#"'&54767632327676767654&'&&#"032Ho¤$*(0.;' '#-/29"f  ,#'  !%ü ² l*%$GmoOL'$  0@&++6)!  5SK# 0*G(o¶&4+-' 1þ  þ7+Уc]97#96O3AHJB @@=kb¬3JMqŒ‚~Es/4 %UA4G_KBjüÇoD7=AiK}f^<={@”ûË  ÿãð1@'32327&54767632#72767654'#"'&#"6764'&#"±®Ïœq:])| \f§£K* *…m*žžç*tQ;)„˜v;.*/qI"'" ê„Dlг26¬X``7a0<ã«‚“&'àlmã@.j?3thP#lƒ$:990C#iÕ"',!23#3#+!#737#73!!6'&+!323¤é~|TG HL%:N蹤mþÙ±VUYY˜þ† ½yGþ³Õ[Z©H--HpB[QýÑHZHHZ(zffêfEÿ[Øx&1#7!#7&'&54776?3&'&'6767¥o#@xy{]^œÐjW>Ë¢Û›XPaS+RG]b¼!&LA¸^I€-//STÐýKF#ЬÐdtiÏ¥"‰7ø?&û¾ 6Þ#PŽþùaQˆYU"ÿŒªÕ73!3#3#!!!#737!!/3'# äCLã«!E-þØ-þt¤þؤF!~D(DjQ½ÃUý«Ã•Ãþ›eþ›eÕ••ÊÿÄÿãð63267# &767#736767!7!676&#">323#!semlí†;rêoþòß,&®' c¯þ8&+ak`Ñm8nØgãÖ'|&µbïA5&¶YcRTþÏ45ßâ Â2 f@ÂPVFC ./èËÂ_TÂ6þÓ )%#&'&%6?3&'&'67679jm;;6¢5Í—ùKGE¶ß$¢%95bTF©IHccþ ¥>6Æ10™%R7þêr¼~oËr »¿7þËN'ü›(O‘Q"züó‡!oÕ !!!!!!ë2ûã²þÙ¦þ…33þ…Õþþû-Yþþr Õ&#!#!'&+732767!7!&'&+7 |à |µ"A]*4¦þ¼k .k¦0Óy@ þ/~y)zü~ÕÃ2@Ã_@[ @_ýçy,©ø>*Ã*;Ãtÿä¸ð%%3267# '&547!2."‰U|d©] Ö„þø{OH“}†8Srèyx ¬A< ƒ7@,ƒLÔ‰Ák|r•4‚*:0N²þ¯ue¢v tÿÏÑ ,>.#"3267#"&5467>32#3"32654&'2#"&5467>8+1=N.*:4*G$jt)',qI!Cjš„š<-@.?du$")oDdt$"(o¹þô9"£‚QT#Eþ徬iÈPYVù÷5üŽ®IF¯ŽIDèË«c¹L]]ɬa»M\^µÕ3!3'!!!!!!¹—ü+—üaÝaþŸþ#þŸ]ûåûåxýƒ}ú+àý ÿÿ;`K;`4#"!'7!7>2!6+qStyþÛÒ›7ð?#&ûBþ¥00¨åŠþÛ… w‡ý‹63"!#7267 ‡ 8±† 7’  þçb%þžþ4)/†°Ô*W- àþÙ-†°Ô*W-  §4Dþá¦4EŸ€:F€9Gþ=¾Õü²œ•Û>;ûãýNœ•Û>;}ÑN,6>2#".5467>"3267>54&'.33264&#32+hÚZZ\[¶Ú~}Ú¶[\ZZÚ~cªIGHHެcd¬FHHHHH©þsß”¥²²¥”|AGGA|NZZ[Ü~}Ú¶[[¶Ú}~Ü[ZZGIG¬ebªIIHHªbe¬GIGwýêŒ5e7J•Õ3%!2+!327&+67654'&²þûJø þ÷øÝþ“mÝ5//5ݰ=*__*]ûåxýêëýýú~Ó#ýg)Z³²Z)þÕÉð'%!# ! %27&"676'&|ðþÜÃþÚþ¹F"C«ýobëbbëbn……¡……%þ°˜lkœþhþ‘üþ”43­34ûž¬ýŸ¬ûç­a¬ÇÕ%-13&'&7!.+!!2!27&#676'&%3{THv‡u2M;o.a4°þw§5}fþšcÛÖd)ýß“1EDý)šm=§þïs@1F„~þh‰|hý“ÕÖØÐb)‘ýˆtýÁLŽ #!$5>+;6-0$(»œv»# *%;(#8MX!GL!!+Im–6#"'&'&'&'&'&#"'67676327676'#5!#ÚO$0-6;+>4!# Ž>&.&=A"?,.!" »œv»([+!!O7!XM8#(H. % #»vþdBÇ›!!'#537¥êþ‚xúZ‚xþÝ#x‚Zúx¡à‚xú‚x#Ž#x‚úxþÓM'75'3''#ø‚xú‚x$Ž"x‚úx‚àê‚xúZ‚x#þÝx‚Zúx‚þBÇ›'73'7'7#'7!5,‚xúZ‚x#þÝx‚Zúx‚þ¡‚xú‚xþÝŽþÝx‚úx‚àþÓM77#75'73Ø‚xú‚xþÞŽþÜx‚úx‚àc‚xúZ‚xþÝ#x‚Zúx‚êBÇ›'!5!7òwûþ>‚xþÝ#x‚Âúx1òxú‚x#Ž#x‚úxBÇ›'7!'7'7!'4òxú‚x#þÝx‚þ>ûw1òxú‚xþÝŽþÝx‚úxBÇ› 53#5!5ÍÂÂýŽ‚xþÝ#x‚¡úý,ú‚x#Ž#x‚þÓM %'3'3!5ø‚x$Ž"x‚úý,Âr‚x#þÝx‚ýŽÂÂBÇ› !'7'7!#3r‚x#þÝx‚ýŽÂ¡‚xþÝŽþÝx‚úÔþÓM 7#7#5!Ø‚xþÞŽþÜx‚úÔ‹ýŽ‚xþÝ#x‚rÂÂþÓM%7'3'7!!5"þÜx‚‚x$Ž"x‚‚xþÞ"ý,Â#x‚Y‚x#þÝx‚þ§‚xþÝÂÂBÇ(276767654'&'&'4#!5g    @16T)+51@ýô‚xþÝ#x‚¡  àQ87;=49(*‚x#Ž#x‚BÇ(!'7'7!"'&'&'&547>763"j ‚x#þÝx‚ýô@15+)T61@   ¡‚xþÝŽþÝx‚*(94=;78Qà  BÇ$=+#5#53547>76"3276767654&'&'&g@16**)+50AGáä‚xþÝ#x‚äT61@  G    ))87;=49(*àà‚x#Ž#x‚H;78Rà  H  BÇ$=23'7'7##5#"'&'&'&54767676";54'&'&'&j@16Tä‚x#þÝx‚äáGA05+)**61@    G R87;H‚xþÝŽþÝx‚àà*(94=;78))ß  H  BÇ›F26767676763226767'7'7#"'&'&'&'&'&"#"'5[ #$! ‚x#þÝx‚,"    "/‚xþÝ#x¡   %$   ‚xþÝŽþÝx‚ "  ! ‚x#Ž#xB²¯#'7#533'7'vÃ8«1¦‚xþÝ#x‚Ã8«1¦‚x#þÝxÁþñ'è‚x#Ž#x‚'ç‚xþÝŽþÝx9ÿû~š 7'7…–cþ°ŒîŠkný"«Ý[Ô k‹îOc–uþP¥%þ¤·8ƒ 5!#ЂxþÞ"x‚hà©‚x#Ž#x‚ûw©™ƒ !#!'7'þzàf‚x$þÜx©üW‰‚xþÝŽþÝx·ÿâ8e !3!5Јàý˜‚xþÞ"x¼©ûw‚x#Ž#x™ÿâe '7'7!3‚x$þÜx‚ýšà¼‚xþÝŽþÝx‚‰üWº5p !5!7#7[þ_‚xþÝŽþÝxwàü©‚xþÝ#x?ÿâ°^ !3!5Xxàü¨‚xþÞ"x¼¡ý‚x#Ž#x2XŸ '5476767632#4'&'&'&7#7,#!A=PNZ]KS;>#"Ö!*#13#'D‚xþÝŽþÝxq!TPA>! #;SK]ZNP=A!#q‚xþÝ#x‚%'C "()/ZOR?<# !>APT2ÿìŸV 5!7!##2lûüvœ»<œýĻʌŒÁv»ýÄœ<»Bÿâ  !!#33#'7!5!'7x‚ýp‚xþûÂÂÉÂÂþûx‚ýp‚x x‚à‚xþûÔüŸý,þûx‚à‚x7ÿÙš42#"'&'.5476732767>54/#7!ß%?((*MGgZsn_aMOP(%R«.-'<0CA57---0»vœ\˜apn_cMG.(()LNÄkoaZU•-8:>=96/(-,r=ZH»œv»7ÿÙš4#5!#53276767654'&'7#"'&'&'&5476ò»œv»0---75AC0<'-.«R%(POMa_nsZgGM*((=\»vþd»HZ=r,-(/69=>:8-•UZaokÄNL)((.GMc_nmd˜BÁ›5!B#x‚4Á·#x‚àBÇ¡!!BMüÌ‚xþÝ¡à‚x#øÓM3'#ø¸"x‚àMþÝx‚üÌþÙM#'Øà‚x$Mû³4‚x#BÁ›!5!'7û³4‚x#Áà‚xþÝBÇ¡'7!5þÝx‚üÌ¡·þÝx‚àøÓM!37øà‚xþÞMüÌ‚xþÝþÙM!#73ضþÜx‚à#x‚4Bÿâš  '7!5!'7 5!!þÝx‚üÌ4‚x#û³#x‚4üÌ‚xéþÝx‚à‚xþÝýŽŽ#x‚à‚x ÅM  '#' #737¾"x‚à‚x$rŽþÜx‚à‚xMþÝx‚üÌ4‚x#û³#x‚4üÌ‚xBÿâš 5!!'7!5!'7B#x‚4üÌ‚x*þÝx‚üÌ4‚x#éŽ#x‚à‚xÁþÝx‚à‚xþÝBÿâš'5!!!!5í«#x‚4üÌ‚‚4üÌ‚xþÝ>«Ž#x‚à‚‚à‚x#Ž ÅM73'#'#'3i«Ž"x‚à‚‚à‚x$Ž¢«þÝx‚üÌ4‚‚üÌ4‚x#Bÿâš'7!5!'7!5!'7ä«þÝx‚üÌ4‚‚üÌ4‚x#>«ŽþÝx‚à‚‚à‚xþÝŽ ÅM%#73737#hªŽþÜx‚àƒà‚xþÞŽ««#x‚4üÌ‚‚4üÌ‚xþÝBÿâš '7!55!þÝx‚üÌ#x‚4¼·þÝx‚à·#x‚àBÿâš !! !5!'7BMüÌ‚xþÝMû³4‚x#¼à‚x#»à‚xþÝBÇ›!73!!!'7#5!!™{Va6úþÈPˆþEV`6»DxþÝ#xúþ\HHVßž;cffœ:bDx#Ž#xªHHBÇ›!7'#53533'7'7##5'35#žHHçþâDxþÝ#xDDx#þÝxDçççHéHHfDx#Ž#xD¼¼DxþÝŽþÝxD¼¼fHBÇ›!'7#5!7!5!73'7/!7'!8þ…Va6ú8Pþx»V`6»Dx#þÝxú¤HHþªƒž;cffœ:bDxþÝŽþÝxªHHBÇ›!!5!3HH\ý DxþÝ#xDöyHHfDx#Ž#xDfþÓM#'3'#' fDx$Ž"xDfI\ü¤öDx#þÝxDý \HBÇ›!5!'7'7!5!7žü¤öDx#þÝxDý \HyfDxþÝŽþÝxDfHþÓM%37#73±fDxþÞŽþÜxDfHñ\ý DxþÝ#xDöü¤HBÇ›5!'7'7%!7'!™DxþÝ#xDŸDx#þÝxDýûkHHý•HƒDx#Ž#xDDxþÝŽþÝxDfHHHþÓM'3'7#77'ºDx$Ž"xDDxþÞŽþÜxªHIIHWŸDx#þÝxDþaDxþÝ#xªHHkHH}ÿÆ6##7!#ŽV`Jýê»vœnJÄVý¢Jpœv»ýêJ›ÿÆT '#5!#5'5Cý¢Jnœv»ýêJ`Äý J»vþdpýéJ^V›ÿâT›%753!5373™ý J»vþdpýéJ^Vó^Jýënþdv»Jý }ÿâ6›%33!'38V^Jýépþdv»JóV`Jýê»vœnJBÇ›!!!!5!!qüYýNxþÝ#x²üèdfYfx#Ž#xfBÇ›'!5!7'!5!7!5³Yüè²x#þÝxýNYüdYfxþÝŽþÝxfYfBÇ›3773#''#5[¬KÂÁLnDvÁÂv‚xþÝ#x¡PÎÎPà~ÚÚ~‚x#Ž#xBÇ›'7'7#''#5377v‚x#þÝx‚vÂÁvDnLÁÂK¡‚xþÝŽþÝx‚~ÚÚ~àPÎÎPþÓM%#5#535#535'3'3#3Øàúúúú‚x$Ž"x‚úúúžžžÂV¼‚x#þÝx‚¼ÂVÂþÓM3#3#7#75#535#5353Øúúúú‚xþÞŽþÜx‚úúúúà®ÂV»‚xþÝ#x‚»ÂVŸBÇ› #553353!Æ‚xþÝ#x‚C»{»¡à‚x#Ž#x‚àààààþÓM 5'3'#7#7ø‚x$Ž"x‚áßànÆ‚x#þÝx‚Æ}»»þÊ»»BÇ› 3'7'7+53#53°Æ‚x#þÝx‚Æ}»»þÊ»»¡‚xþÝŽþÝx‚àààþÓM 7#757'3'3Ø‚xþÞŽþÜx‚àßà߯‚xþÝ#x‚Æ}»»6»»BÇ› !!#3x‚ýp‚xþû–x‚à‚xþûÔBÇ› 3#'7!5!'7ÍÂÂþûx‚ýp‚x–ý,þûx‚à‚xŠØ 5!5! !!5¤¤ýcþm“÷ý ê¹¹]¸ýý§§çþ€ÁŠ 333'#!#°\¸^º¨èþ€æ¦Zý¤þùý ÷“AŠÌØ !!75!!5œý¤þøý ö”ê]¸]¹þYç€çþYÁŠ ###3!3"^¸\¸þZæ€èþX0ý¤÷ý þmÁŠ 3'335%!!# #Ä^º¸\¸þä€þ€æ¦¨èàz¸¸þ†þènnZþÞg“þmþ™ÁŠ %3'3#!5%# #3!Ä^º¸\Ò^þ榨èÊü¸¸ýdddZß“þmþ!þèÁŠ #!5#7'# #3! Ò^Ô^º¸æ¦¨èÊüî÷ýÇdd9c¸¸ý¾ß“þmþ!þèÁŠ # #3!3#!!5#3¨æ¦¨èÊüîf–\Ò F Ô^ß“þmþ!þèוýdd•ükn’ÁŠ'33%# ##!#'37"º¸\¸þç馨ééèþ€æ`º¸\\\~¤¤ýÜ$y“þmÜýå?¸¸TTÁŠ %3'3#!5'3!3#7# ##'37Ä^º¸\Ò^pÊüîÈæé馨éé躸\\\¾À¤¤þ@ddZþèÜ“þmÜ?¸¸TTBÌÝ 5#35!7'!!!5 5ddœ¸¸ý¾þèß“þm’Óý¢Ó]¹¹]þäÉÉçþYþYç'ÿì d!#7!##‹ügävœ»<œýÄ»dgüdþ¥v»ýÄœ<»,¥x!5!!53753¤ûœþôþdºýÄœ<¼cûgüü‚»<œýÄ»þdÁŠ 3'3#7## #3 3Ä^º¸\\¸º^þ俦¨èèþXþZæZ¤¤ýÖ¤¤Ç“þmþœþm“BÇ›676323'7'7##"'&'#58X„)O$A?“‚x#þÝx‚“:[‚†V6N¡J9\ 63S‚xþÝŽþÝx‚H9ZY8Jà ÅM 3'#'737Ž"x‚à‚xÀþÜx‚à‚xþÞMþÝx‚üÌ4‚xüÖ#x‚4üÌ‚xþÝBþã'7!5!'7!5!'7!5!'7ä«þÝx‚üÌ4‚‚üÌ4‚‚üÌ4‚x#««?«ŽþÝx‚à‚‚à‚‚à‚xþÝŽ««ŽBÇ›#5!5!53!<Âþá‚xþÝ#x‚ÂSÁúú‚x#Ž#x‚úúàBÇ›!5!53!'7'7!#”þ®R ‚x#þÝx‚þàÂÁàúú‚xþÝŽþÝx‚úB½›'7'7###5353v‚x#þÝx‚§Í§‚xþÝ#x‚§Í¡‚xþÝŽþÝx‚þü‚x#Ž#x‚úúBÇ›533##5##5#5353NÂÂXÂÙ‚xþÝ#x‚Ù¡úúàúúúú‚x#Ž#x‚úúBÇ›3533'7'7##5##5#5353ƒWÂÚ‚x#þÝx‚ÚÂW¡úú‚xþÝŽþÝx‚úúúúàúBǨ#5##5#533333'7'7åj%j‘‚xþÝ#x‚‘j%j‘‚x#þÝx‚Áúúúú‚x#Ž#x‚þùþù‚xþÝŽþÝx‚ŠØ  !!5¤¤cþm“÷ý 깹þÉàBŠÌØ 7!5!œ¤þùý ÷“êþ޹þY7à7þYŠÌØ  ! 7˜þm“¡“þmýü¤¤g¤Áþɧ§þÉ7þYþY7)¹¹rþ޹!°Õ !!!!hŒþé)þm'Z‹\'þmcüÕþqú+ÿã½ð76! !&'&"2767!! '&  '& Q(þ‰ 5øjjø5 w(Q þÚþÙ  êsÊÉÉf’)råþèþèår)’fÉÊÉswÿãZe 0563 #"'&547632654'&#"3276767&#"l’j/‡<F½“£ªh|olÔnh'8 _§S}()G:3?1&QŠ‚3!eÜ$þût·qƒþ¹z[n¸Ì ERAIo:«ü±I-.$,Q?I­ŒY£CÕ 7!!5!!5!!£pýpý ü`û|ç†ñú+£ÿ¡C43!!#7#53#5!!5!3!”À ýc¿D“hû>hþZ×™rr¶h4_ú+__û|ç†ññþzçþ„|?X”­!0?"'&''7&'&54767>2"&'2767>54'&ww&'''OO¾Ý_:3www('''OO¾Ý_;4ò•AA565 ÷¬þ A•AA565 ¬ww49_pm__ONP(&www4;_mp__OOP((D56€MJ@ö ”þ  56€JM@ÿúÙK@&4<†ÔÌ91/äì90KSXÉÉÉÉY"% !!{þíþî‘ðû!Ý5ü˲úqÿúÙ!!{ýÛþßþ²üËþƒúqdmô3!!"&63!!"!Q )Sñþ’öö’ñþS) ‡PH{ŽæÌ_ž_ÌæŽ{HPædÿ;w¹ +#"!#73#!!3!!"'&'7&'&63„S) W¼ ®J×+!yœþ•œ ñþ53W ×^c>Hö’Ž{HPæPHC4|ÅPuæþ_æþ`æêPú`—¯ž_Ìcnƒ!!3!!".>3!!"Uüè*^Œòþ’÷÷’òþ‹_*ñÞ&,bÞ‰íí‰à`+dmô&'.#!5!2#!5!26767!5€ )Sþñ’öö’þñS) üämPH{ŽæÌþ¡þbþ¡ÌæŽ{HPædÿ;w¹ +%326767!73&'&''7#53!5!&#!5!2'#܃S) þîV¼ þSK×,"xþëk› þñ52X ×^c>Hö’æŽ{HPæPHC4û„ÅPuæ¡æ æêPú`—¯þbþ¡Ìcnƒ!5!&'&#!5!2#!5!276|üç*]Œþò’÷÷’þò‹^+Þ&,bÞ‰íþêí‰à`+˜þL9î@’‘44ÔìÔì1Üìì20!!!9ÿþ_ÿîø^Óù-¢þLPî *@ ‘ ’‘   Ô<Ä91Üìüì990 5!! !!5mþÀýyÁþ=šü/9)ŒÕý üæÓ‡B ú·H üÌ1Ôì0!!BKûµúîXy !!5!3!!!5!òþfšíšþfšûß!bìbþžìþžîÿÿÿB3ÕÿÿyžTU þeÿÿt´rþÿÿXÑ)¾É1ÿÙ–¾ ,@  —–   ÔÄ91Äüì90'%3##q@`ªƒØ4þ4»ÛžÆ{ý»$Ðùëø1ÿÙ–v(3#532654&#"5>32#"&'532654&'%3##oooJUOFEŠDE‹C¢¸ibouÁ¸K–JC˜PU_bþ¬@`ªƒØ4þ4»Û˜’2,-3˜teI^p\yš@8=DýÆ{ý»$Ðùëø1ÿÙ–e 333##5!5'%3##¼úúÌmmºþw>@`ªƒØ4þ4»Û¯þ¶þ´´¢ý&Æ{ý»$Ðùëø±ß  %.#"326"&'#"&54632>3"3Ÿ6J032#"&'#"&54632Õ0P2;JC88bý6J0#47632&#"#"'732ëUp†s•XlNGUnˆs•XlNGD"•McoŽH©ùÞ•McoŽHþ^Ñ#+4632&#"#"'732%4632&#"#"'732ñro‘nQ.A&ro‘nQ.A&ýõro‘nQ.A&ro‘nQ.A&D"‘´K&©ùÞ‘´K&©"‘´K&©ùÞ‘´K&ÿÖþ^û#+A4632&#"#"'732%4632&#"#"'732%4632&#"#"'732aroKnR&roKnR&þ‹rnLnR&rpKmR&þŠroKnR&roKnR&D"‘´Kz©ùÞ‘´Kz©"‘´Kz©ùÞ‘´Kz©"‘´Kz©ùÞ‘´Kzÿÿ“iB£'1ÿÿ$'1þÒþW14þWÿÿ”i>£'1þW'1þÓ$10$ÿÿÀi£'1þW1ÿÿ$ÿÿ“iB£'1þÒþW'1þÓ$'14þW10$ÿÿB ó'1t¶JiŸ£ !!!!!!RMþ³Mþ³üúêý£þ“þ þ“ëÿÿ/6¦Ó&¶'1”T'1˜þ$'1þoT1þnþ$ÿÿXyý&Ò'1~1ýîXÔy0#"'&'.#"5>323326yKOZq Mg3NJN’S`‚u_Gˆ0ê;73 ":?å<776<XÔy032?3632.#"#"&'XJˆG_u‚`S’NJN3gM qZOK0A<677<å?:" 37;Xcyž&#"5>323267#"''ä43NJN’SFX‡É‰;5GˆJKOK[‰ÉC :?å<7Dþj323326!!yKOZq Mg3NJN’S`‚t_FŠü(!ûßZé<73 ":?å=676=ÁëX'yü#"'&'.#"5>323326!!yKOZq Mg3NJN’S`‚u_Gˆü)!ûßüê;73 ":?å<776<þYíX z'767'"'!!'7#5!7&'&567676ò·F^UE;eFT(O^ýj–ŒgÑR…;uIF\<[ETFR‚ &ÉÆþ¼'"Bè6$¨ëþùP·ëæ(9âL5hX<yé"#"'&'.#"5>323326!!!!yKOZq Mg3NJN’S`‚u_Gˆü)!ûß!ûßéê;73 ":?å<776<þPìãíXÿ©yé.#"'&'.#"5>3233263!!!'7#5!7!5!7yKOZq Mg3NJN’S`‚u_Gˆ`ªþ¹–Ýý‡a°«G–þ#z`°éê;73 ":?å<776<þPìãí“uíãì“uXÿqy/7#5!7!5!7&'&#"5>3236767!!!!'þ¦\þžÂUQ:43NJN’S`‚jÚNDJKHEL=aþ?]ý‚RÚ<íãìÒ# :?å<77 YÀ Aê;•ìãíÊXXþyü7Z@110+5.*'   'l.5l l l810* 8ü<ì291ÔìÔìÔüÔìÀ99999990#"'&'.#"5>323326#"'&'.#"5>323326yKOZq Mg3NJN’S`‚ t_FŠIKOZq Mg3NJN’S`‚ u_GˆZé<73 ":?å=67 6=âê;73 ":?å<77 6<X=yÄ4&'&#"5>3223267#"'3267#"'&''75>3243NJN’S`fÛ]GˆJKO)-D\NFŠIKOZq gÛZ·pN’S#(þ  :?å<76Zë323326#"'&'.#"5>323326!!yKOZq Mg3NJN’S`‚ u_GˆJKOZq Mg3NJN’S`‚u_Gˆü)!ûß²ê;73 ":?å<77 6<þ ê;73 ":?å<776<þYíXy³7R#"'&'.#"5>323326#"'&'.#"5>323326#"'&'.#"5>323326yKOZq Mg3NJN’S`‚ t_FŠIKOZq Mg3NJN’S`‚ u_GˆJKOZq Mg3NJN’S`‚u_Gˆué<73 ":?å=67 6=}ê;73 ":?å<77 6<þ ê;73 ":?å<776<X<yé"32?3632.#"#"&'!5!5XJˆG_u‚`S’NJN3gM qZOK!ûß!ûßéA<677<å?:" 37;þùììþ1ííW©yY %52% $'"51þpþ¶Z¸¹Vý(Iþ§¸¹þ©Øœåœ£åþ¶œåœ£åXyð;76767!##"'&'&'#5!!5367676323!&'&'&i1*+VÙ /J]?3hG2"ÙW,!::!,þ©Ù"2Gh3?]J/ Ùþª+*%'H@4ë50U(33!\?&ë5?H'â'H?5ë&?\!33(U05ë4@H'%X'yð!!5367676323!&'&'&!!i:!,þ©Ù"2Gh3?]J/ Ùþª+*ý¾!ûßõ'H?5ë&?\!33(U05ë4@H'%þíÿÿX'y¨'1) ÿÿXÿZy¨'1)'1ýH ÿÿXÿZy¨& '1kýH1þ—)ÿÿXÿZz¨'1l)'1þ—ýH Qý€ !!!!3#3#—éýéýþºììììí´ë²þ¿ þ¾Qý€ !5!5##:ýéý/ìììííÇëëþcþ¿AÈþ¾BX'yÛ 365&'!!5!&547!5!!%43‘44Äûßþþ!ÿð0?=00=G(Üíí?.4;ëëU.X'yƒ !!!!"264&'#"&5476X!ûß!ûß3FFfFG2ƒTUZY€¬X^í´ëâD11CCaE±RR}wWT¦||U[X'y¹!!!!2&'56X!ûß!ûßçÊ×ÚØÜÒí´ëÉ—ô— žô—X'y˜!!!!3# X!ûß!ûßÖê¢éÂwtí´ëM[ý¥*þÖX'y˜!!!!33#X!ûß!ûßÖÈtwÂé¢í´ë¨þÖ*ý¥X'y{!!!!!!%X!ûß!ûßjCdfAþûfþøþúdí´ëY2þξþ;¾3X'y !!!!33!X!ûß!ûßiÓ¡oýUí´ë þî3ý'X'y!6=Q!!!!53#5#"&4632264&#"%#3267#"&546324&#"#"3##5#535463X!ûß!ûßii3#32#6454&#"#4&#"#3>32V"ûÞ"ûÞV!Z6^b¯"%25¯'26¯¯ R28Wí´ë35uoþ² :5SNþó[5SMþò%Q//7V'x:%)!!!!#546?>54&#"5>323#V"ûÞ"ûÞJ´ 6 0*)^3@"   H H   ü<ì291Ô<ì2Ô<ì2.À990!3!!!'7#5!7!N“ü–’¢þÅ®éýmü–’¢A°þÛ1}´ëÜíþϲíÜX<yÆ !!!!!!X!ûß!ûß!ûßøìãíŠëXÿy{!5!73#!!!!'7#537!5!~ýÚ’PÛ$ˆôfZþ=e(ýlNÛ"†ñeþªÂÛëµbSëãìãí­bKíãìXÿ y‚ !!!!!!!!X!ûß!ûß!ûß!ûß‚íºíºíºíXy¨ &@H  ü<ì2291/ìÔÌ90 5!5yýãûß!ûß´ÑÑóPëNüFîîXy¨ &@H  ü<<ì291/ìÔÌ9055%!!X!ûßãý!ûß´ôþ²ëþ°óÑþ îXÿy 3!! 5!5X!ûß!ýãûß!ûßí ÑÑóPëNüFîîXÿy 3!!55%!5X!ûß!ûßã>ûßí ôþ²ëþ°óÑþ îîXþ}y#5!7!5!73!!!' 5ê’ZYþM{~¡ þ¦X²ý†¡šýãûß!ííi îií–‰ÑÑóPëNXþ}y#5!7!5!73!!!'55%ê’ZYþM{~¡ þ¦X²ý†¡‡!ûßãííi îií–‰ôþ²ëþ°óÑWÿ‘yq&%5767$'567¶þóRȳÇ}v”ÖœP¸ þ«Ä³Ç~w•ÔžÝå§»PþÊ(Fåd%Æå©þEP7(Gåe#Xÿúy%5%7%'Ðþˆbk›8ñþ¦jÄýñyšüõ¼x”ìï!:•_ú|þå¡ùÏþ¾:¥XCXmy˜55X!ûßžúþ`ìþaùXÿ<yD7%!!'7!5!7%5%yã¹k¿þåSnþKAöý¶Dµ*þøZWþOzdµ#@4¼=ôPêhó‹¼îÄLxî÷ŠëÈ"LXÿ<y@7'#5375%7%5!!'’©‰þ zÌ0üVFþdæjµeýÁG†ý'Cµ³0'üöîPóaÌuôž6LþÜvë·ÊîÄLXÿ²y¨!#"'&'.#"5>323326 5yKOZq Mg3NJN’S`‚u_GˆJýãûß!ê;73 ":?å<776<çÑÑóPëNXÿ²y¨!#"'&'.#"5>32332655%yKOZq Mg3NJN’S`‚u_Gˆü)!ûßãê;73 ":?å<776<çôþ²ëþ°óÑXÿ<yD+.7%3267#"'&'&''75>327%5%º¿þåRmþKKt`GˆJKOZq Gµ:GAFJN’SMþOyeµþŒá¹l<ôPëgó‹Ú 6ýãûß!¢ôþ²ëþ°óÑ´ÑÑóPëNXÿ yy  5 55%yýãûß!ûß!ûßã¢ÑÑóPëNïôþ²ëþ°óÑXþTy1!7%'757%57%5%77'à4¦÷PGþx0¸ý–eà4¦÷Pþ¹‰0þGkB$Þë$Þ1F¦4ôFÿ\ó}š‹ëÄþ»F¨5óF\ô|šŒëÃüt?®t?XþTy15%%''5%75%7XZuàuçþ•:¥þ &ý¦uàvèk;þZô&…ô¾vFþ‰Iës¼…ô}˜ó¿þˆFyJës»†ó}Vÿ¡wa%&'567$wþãþ«Sëþh²ìºäœçÿþ¤"/þ±þž_žD$ö#Q’_Vÿ¡wa%$Vçœäºì²þhëSþ«ÿbþ¡’Q#ö$Džþ¡bO/"Xþ[yó5%$X¦{þqþïþ±Qþ_ý€Œ•#ëpýÿþ¾O÷þíKIþëþ®÷4 &Xþ[yó%%$yýnþq{¦ûß•Œý€þ_Qþ±#yý±Bp“Rýû&þö4þ RIKXÿ2yó%%#"'&'.#"5>323326%$yKOZq Mg3NJN’S`‚u_GˆJþïþ±Qþ_ý€Œ•Žê;73 ":?å<776<TþíKIþëþ®÷4 &Xÿ2yó%%#"'&'.#"5>323326%$yKOZq Mg3NJN’S`‚u_Gˆü)•Œý€þ_Qþ±Žê;73 ":?å<776<TRýû&þö4þ RIKVÿwô67&%'&'567677\ßRN@ˆ”Eº§ªþû´ß¾²ë¶è\SiôIýRaþž¥_ÓbÃþžþ™ýÖIGE#ö"R!+þ¼Vÿwô'76?&'67&qßRN@ˆ”Eº§ª´ß¾²ë¶è\SiòIýRab¥_ÓbÃbþ™*Iý¹E#ö"R!+DXŠyx!!"3!!"'&5476?:ýÆn˜LMm:ýÇ×ƒŽŽxáš|~KM᎚ÏÙŽXŠyx2#!5!27654&#!5’ÌŽŽƒ×ýÇ:mML˜nýÆxŽÙÏšŽáMK~|šáXÿŠyy %&'&5476;3!!!"''#"T=1ŽŽÌ†c³HæþÂØýÇc³w.n˜LÂ!5šÏÙŽE¼áýÔáþþFÇš|~K XÿŠyy +'7#5!!5!232654'&'}=1ŽŽÌ†c³Hæ>Øýê9c³þ‰.n˜LA!5šÏÙŽþÿE¼á,áFü9š|~K XÿØy)%!5!!"3!!"'&5476yûßç:ýÆn˜LMm:ýÇ×ƒŽŽÆîîcáš|~KM᎚ÏÙŽXÿØy)7!!2#!5!27654&#!5X!ûß:ÌŽŽƒ×ýÇ:mML˜nýÆÆîQŽÙÏšŽáMK~|šáXÿyÖ(#"3!!!"#!!'7#537&'&5476;7ŽOn˜L!ñÆþãÕòýÇ-uý/Kµ.~Û=M=ŽŽÌ¦C³Hš|~KîáýÔáuîÄLxîž#BšÏÙŽ­EXÿyÖ(!5!27+!!'7#537!5!327654/¶ØýÊ:*'E³E/&ŽŽƒ×`-uý/Kµ.~Û-þø/ mMLL ,á³E²(–ÓÏšŽuîÄLxîuáMK~|M Xÿy)!%!'7!5!7#"'&54763!!"3!!yþ(­¸6þæØ^N×ƒŽŽÌ:ýÆn˜LNl:þß=6ÆîØ”DîuŽšÏÙŽáš|~KMá1DXÿy) 2!!'7!5!7!5!27654&#!5’ÌŽŽKh]6þ(­¸6þæØ^ýÊ:lNL˜nýÆ)ŽÙÏšR"KDîØ”DîuáMK~|šáXVy¬1°/°3±›í±›í°°Þ°2±›í±›í°/°3±›í±›í01!!!!X!üÊ6û߬ëý€ëXVy¬1°/°3±›í±›í°°Þ°2±›í±›í°/°3±›í±›í01!5!!5yûß6üʬûªë€ëXÿìy I±?°3±›í±›í° °Þ° 2±›í± ›í°°Þ°2±›í±›í°/°3°3° 3±›í±›í015!!!!!X!ûß!üÊ6ûßëë*ëþ@ëXÿìy K±?°3±›í±›í°°Þ°2±›í±›í° °Þ° 2±›í± ›í°/° 3±›í±›í±›í±›í01!5!!5!!5yûß!ûß6üÊë?üjëÀë3·Ô3?2"&'&'&547676"2767>54&'&'3!!#!5!ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:FíªþûªþüÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9þúªþýª3·Ô372"&'&'&547676"2767>54&'&'!!ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ³ýMÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9þäª3·Ô3?2"&'&'&547676"2767>54&'&'77''7ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ8x¹¹x¹¸y·¸x¸ÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9¸yº¹x¹·x·¸x¸3·Ô372"&'&'&547676"2767>54&'&''ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ±xéxÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9ý_xéx3·Ô7!!2"&'&'&547676"2767>54&'&'ÁMþ³.óÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:F/þ“XVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;93·Ô3BL2"&'&'&547676"2767>54&'&'2#"&546"32654ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:F˜7b%&'œqq—šœX>=,-?ÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9d)'%`8nš—qqœ¡>Z<=,,3·Ô!)/7?E2"&'&'&547676&'&'&'75676767'%654'ïóÑWV,+++WWÑóÑWW+++,VW:F!#¬!E:ßþÙ Öˆ :E!¬#!F: ×& ÝÓXVWih{xihWVXXVWhix{hiWVþþ9þõ  9{18@9pø 9 ö÷9 w:A92t3·Ô!;!!!!2"&'&'&547676"2767>54&'&'+{ý…{ý…ÄóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:F@ XVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;93·Ô372"&'&'&547676"2767>54&'&'!!ïóÑWV,+++WWÑóÑWW+++,VWœ£GE:;99;:EG£FF:;99;:Fþ³þMÓXVWih{xihWVXXVWhix{hiWVj9;ŒSPŒ;99;ŒPSŒ;9þäª2K¡º 3!!#!5!!!!ªþûªþüáüèªoû‘ÝþúªþýªþüåÅû‘2K¡º !!!!!³ýMåüèªoû‘תþÈüåÅû‘2K¡º 77''7!!! yææxæåxååxåüèªoû‘ixçæxæäyååxåþsüåÅû‘2K¡º !!!!!ÁMþ³3üèªoû‘/þ“ÍüåÅû‘B!!#/^ü¢íýöîýôB!!5!3 ü¢^í î úüB!#!5þRíþPîûêîB35!3!B®í°îûêîÁ·IÔì1Ôì0!!ÁMþ³þ“ávð\ !!'â*]])ñ]òò\@þä¯þ寯X'yü32?3632.#"#"&'!5XJˆG_u‚`S’NJN3gM qZOK!ûßüA<677<å?:" 37;þííXýÓy5 -5  5!5Xãý!ûß!ýãûß!ûßþÇÑÑóþ°ëþ²nÑÑóPëNüFîîXýÓy5 555%!!yûß!ýþÂ!ûßãý!ûßþÇôNëPóÑ©ôþ²ëþ°óÑþ îXy¨ %5!5!yûß!ýãûß!ôôNëPóÑõîXy¨ 7-55!Xãý!ûß!ôÑÑóþ°ëþ²ºîîXþ[yó$%$X’þ…ýZ!þkýt€¡þñþ¯O+yOþ¾ýÿpýmþ®& 4÷þ®þëIKXþ[yó$%$yýZþ…þqOþ¯þñ¡€ýtþk+ëpBý±ü KIRþ 4þö&ýûXþ ym!$67&'%'&'57&'$77ÙáIyœ±'Ȭ½ë)ÂÛþØ~ዜ®Ë°(Äßí8m0þ¬pšþ®ž[µ^°þ®äˆ¿þúþ¾D·ý¶0†A ë!F¼I lþúXþ ym!67'6?6?$Xà,uá|•¦Õ¼0Íôþéè‚áJy“À7Ù±Ñùþÿ¡Rþâ‹#0ý½( þöDà](ë3ˆý¤0Zˆ³BÇ‹ý„ÕRÖ\R\XþÜy&3#!!!!'7#537!!!>ØF©ý¡žþ =0ý|bØF©ý=þÆ„õ¡þ»&NÂëþ@ë©ëþðNÂë©–ýUÀþ@XþÜy&3!!!'7#537!5!!5!3>ØF©þ =0ý|bØF©ý=þÆ¡ýЄ ¡³&NÂüj©ëþðNÂë©ëÀëëþ@ÀXÿy5!7!!!!!!!'7XÛwý®!üÊ6þµ_H4þ%£·Hë©–ëþ@ëCfëçfXÿy!!!'7!5!7!5!!5yþµ_H4þ%£·HþÌÛwý®6üÊüjCfëçfë©ëÀëXþ½y¨" %3267#"''&#"5>327%5yýãþÃL;5GˆJKOK[_Éb43NJN’SFXHýç!´ÑÑóeâ3275%X!þV€_;5GˆJKOK[_Éb43NJN’SFXJýåã´ôþ²ë‡,þæ323267#"''yþïþ±Qþ_ý€Œ•ýk43NJN’SFX]É_;5GˆJKOK[_É¡þíKIþëþ®÷4 &ù® :?å<7Dþæ323267#"''X•Œý€þ_Qþ±{43NJN’SFX]É_;5GˆJKOK[_É¡Rýû&þö4þ RIKü :?å<7Dþæø # #hÖÁþëþëÁøýGšþf’þò>¬ 3 3hþ*ÁÁþòºþfš’>¬ # #!!hÖÁþëþëÁ ™üg¹ýGšþf¬’>¦ # #!!!!hÖÁþëþëÁ ™üg™üg¹ýGšþf¦jôþòT!#!Wü$òþÂþö¾ùœoþòÝ !#7Üþžþö>ò$øÞd¾ôþòb!3õb þÂò$þò"ùœ¾}þòÝ!73!zþ$ò> þò¾d–¯R!!3#ò½þCÜRLþ  –¦R!!3# ½þC RLþ ¯~3#!!ܽþC~þ L ¦~!!3# ½þC R¼þ Xjyƒ!#yüÍîƒíþÔGèŠ,$%%$únnƒƒþ’þ’ƒþÊÁÁ!"ÁÁýßœ„„nn‚‚þ’ýÞ 8ººýôýʸÿÿ°Ë œ°Ë!%6 !&'&"Ëû;1˜1™2ûõQ2–qàp–°`°XX°ÁV@@V¸Y  67"7Ò,›J5þPþP5J•ÈkÐÎX*7ýú7*I=ûûœÛP"2642#"''7&546÷©xt­yΞi56ØwYÎeÏ:Ö©v¬uv©o3…N˜Ö=ÎeÎXtØ#îO'+6@KV#"&46235462+32"&=#"&46;5#'54&#"3!3264&#"32654&#!#"3265§‚k——Ö˜‚—Ö——k‚‚k——Ö—‚˜Ö——k‚‚‚L65LL5‚6LM56LM56LM5ýû‚5LL56LJ—×——k‚‚k——×—˜×——k‚‚k——ט‚5LL56LLkLL5ýú‚5KK65LL65KK5Xjyƒ!3!yûßî3jþÔ Ñµœ!#!µýè¨ ýÅËÑÄœ5!#¨ ý5; ÿpµ;!!3µýXËýÅÿpÄ;)3!ýX;ý5åþ‡f477632#"&'&'&#"åjkÜbwL=.> \þ×ÐýÞàbP \†ûÐþÞàbP]ýY­"\þI\\·\\þI·þ`LLMK\y>þÞ>(ËI !!3#!#%33'¯üêÝ(³³(Èd³³&þsÈd¹üß‘þÿþÿÿýÿ4ÿ¼œ^7 hýÌ\ØØ\D?cþäcÿÑ¿!!!±þOÑZ‰øç©øWÿË¿ !!!!5!5!!–¥ü[ÅûË¥ü[¥ü[Zýï©øWþÜëTÿË¿ !!!!!!!!!Í5þË5þËþÉ¥ü[ÅûË¥ü[®þËþþ˰fý ©øWä5ÿË¿ ! 7 !!–¥þ-þ.Oƒ„þ|cû;5ü[ÒZ¦þ.Òþ|„„_øW©ü­Ãý=ÒÿÿÿË¿&£ ¼ÿË¿ #276'&"! '&'676 !%!§ápàqááqàpò¥B`™þϘ_BB_˜1™`Bü[5û;ßýú‚@@‚‚@@ûE¦I7XX7H"H7XX7IÃøW©þ¢Ë3#3#&'$%67%676'&Êff2þÎffÊffþÏ1ffþ¤á=>>=E>>áá>3þ;°ý@°;þ$Ü;°À°;þ¥ýú‚#p#3ü#‚‚#ÿÿtËD' È ¼ÿ4Ë¡ !%!!Åû­,üÔáüË5Ìmø“Æ5Aù¸ÿ4Ë¡ !!!!Ëû;ÅrüÔµ5ÌmùY5Aù¸ÿË¿ !! !–¥ü[ÅûË¥ü[¥ý#ZCoü¾©øW^pKû± þùÿË¿ !!! ;ü[5û;Åü[Ýý#Z²þ‘þ½©üµ»þµüüÿË¿ !%!!%!ÅûË¥ýe‚xþì¥ü[x‚ê©øWã‚xÆÆý x‚ÿË¿ !!'7!!'7!Ëû;Åþìx‚ýe›‚xü[ê©øçýþìx‚ýÂxþìàÿÄËÕ'3273632#'#"'$%65'&#"§ápp./þ­ÝNRR˜™2þó„Ü]PQ™˜þÏ ùp±áqp/Üþý‚@ €ªX°þ þ¶¯þáÉX°`H°>üá€å‚@!þ¢°3 33!#!3!3ÊP“þÊþ“O€J€€3þ¢ú+þ¢^Õû/ýæÿ4Ë¡ 57!!#xðñrû;ráþwÎ/úû³Kürø“müØü-Ñü‰ÿ4Ë¡ % !%!5 !53!]õõþ“Åû­áþþ‚Ý‚üä«üUþPmø“rZ[zú†ÔÿË¿ !! '!'!Åû;´x‚cý½‚xþ~¿øWþçx‚ú†‰ùwz‚xùw!þ¢°3 3!###!##ÊãþmPÊOþmâÊ€€Ê€3þ¢ú+þ¢^Õüâýæÿ4Ë¡!5 !! 3!xáþþSû;Åû­ŠÎ‰üZüKû³þ”mû»yü‰Ñÿ4Ë¡ !!!!5!#]þõýžÅû;ráüáþ~ÝñüU[ø“ûZZµú,Ôú†ÿË¿ !%!!7!!7Åýïþ‚xþ&þž‚þæx‚ê©øW‰ú†‚xpùwx‚ÿÿçÿêÕ&  »ÿËÕ !5!'!! Ëû;Åûq“i0ååêZÕû/Ãü=ÿÿÿË>& º Èÿÿçÿê÷& » ¼ÿÿÿËD& º ÈÿÿÿË¿& £ÿÿÿìZå^' *È2ÿË¿ !!!!!!!ÁMþ³Mþ³þÕ¥ü[Å'þ“þµþ‘Z‰øç©øWÿÿávð7' ½ÿ2ÿÿ-Ƥi' ½ÿ8 ¼ÿÿtËÇ' ½– ÈÿÿXÏyi' ½ÿ8aÿÿXmyi' ½ÿ8!!°Õ%!567!6!&'&'&'yKHžþ—¶ FJ97§±;íþ6L2J!/,3 4(`™é<ýµ£?å-jýooþÁ Ô  þlXÿãyð(8#"'&56776326"&'&&'&'&'&'3276y m{ø÷{d m{÷ø{cþf/ %#2J!UI*/YKX M3 +/fg/™é þº«ÁÁžå D«ÂÁœþæo}R‘ ( ép}ýI ( " ëq}}RXþ¢y3#"'#&'&#"5>323326yKO54&#">32!!!¸ þõ þõ>PZ?-\\T·`bÉeÊæD^XD&ýÓ¥ü[Åþ呚cŒNY=P+CDGF 89¼¥Lƒ\VBT= ýš‰øç©øWÓ`;#"'&5#5û%%T:NüZXÉ`ý J!!áPNÝá–þVw{  #"&'!&"2‰Ô×ÇZ6þܼl¾nn¾{þÌþèþäþÐ]^ý¸ÒSýD¸¸þ¼¸@ÿã’`3676!#"'#"'&7!2çH WlrU€¯11¯€UslW H™þ86*üýCqS³³Sq½üþÖýí6ÈÿÿÿËy& º™ƒÿN}(!5!'# '&76!2&'&#"!!32767Nü5Ë1FYPgþý’’““ZTSS?MOPL.ýå7LXGICê“*œœ,þô6[5XÑfAZ;ÿÿçÿê`& »’ÿÿÿË`& º”6ÿçŒy(7!;#"'&''&'&7676'&'"7A$ÁDRfŸQ1*5ʵjpq½ç$„A;::6GEôlý¿™¥áT =$,’œ9x™ýУ˜[[¨®RMBþ$ÁÎ !!#!#5!ÛËÝý ÝËï½íþC½í4ÿ¼œ: %+"326=7#5#"&546;54&#"5>32 7 ‘]J3,AI¥¥^9ly—s:932M‡#‡þ%‡üÜÅü§]J3,AI¥¥^9ly—s:932"326=7#5#"&546;54&#"5>32›0û;0]J3,AI¥¥^9ly—s:932ËþÙ'þÙ'þÙý‰þÙ'þÙ'þÙ•]J3,AI¥¥^9ly—s:92".33&'."#67>76#FV“ÊÞÊ“VV“ÊÞÊ“=ÏÀÁÎ m•¦•m ƒ¹&#Km þ%¹„ mK$ÞÊ“VV“ÊÞÊ“VV“‚þ–j,(Km@@mK(·þ¶ mK,þäK/,Km F^Š¢%.!4>2".7!&'."67>54hâþ<þÀV“ÊÞÊ“VV“ÊÞÊ“7@mK%(þØe` 7•¦•7  þØ(%Km@c§ùÞÊ“VV“ÊÞÊ“VV“9S•m %H¼ 6@@6 }ýÛ m•SPF^Š¢ %7'32>4.#52".uˆÐÚtþ&’FÞýð@m•¦•m@@m•SoÊ“VV“ÊÞÊ“Vnt]þ&sÙ’ÞFþUS•m@@m•¦•m@V“ÊÞÊ“VV“ÊÿË¿!!!–¥ü[ÅZ‰øç©øWèýüèm !5! þÝ º¦±­ýüêrâ0þ™ýàþpüèýü †!!è#þ݆övèþè† !&5 Îÿ侻êü«þTþþ_ðCÔêéýüém 5!Æ­±¦º ýüêp gþýýÐþüŽêÆýüé†!0éþ݆öv Šéþé† !!Æ# ÆšÿΆêüþ,ý½ð¡æ¬Uèýüèm!!! þÝþ#ýü qþÝèýü †!!è#þ݆övèþè†!! Ýý†÷±þÝ rèýüèm!!Åþ#ýüN#öÅýüè†!0èþ݆öv Šèþè†!!!Å#ý݆öŽ#ÜýêÁm !4763!!"öþæ{zÝþçf+!ýêuõŒþð0%¡þöy!4'&/32765!-9+eþæn:æ==à@ne(Á =’þïýF®½|AEuĬýHþõ˜<ÜþÁy 3!!"'&5ö!+fþíÚ}{yø¡¡%0þðŒ‰ùWÜýôöy!!öþæýô …ýêõm 4'&#!!2Û!+fþçÝz{ýê}¡%0Œõø‹ÛþÀy&'&!;!76¤<(en@à==æ:nþæe+Á!<˜ ¸ýTÄuEþåA|½ýRº’=þõy !#!!2765Û{}Úþíf+!yø©ù‰Œ0%¡åþå†!åþ †özŠŠ% !!!#!55!˜þm“w€ý “¸ý¤¤öЧ§ç™üç¿þ]]¹¹]ËÄ! !!Ëû;bcû;Å $û<øþ$—Î!3!39Wî…ü …îï½ýVªÿÿÿìå(¿ÿìþåÿ!ùþþûÿìþå !ùþ ýöÿìþå!ùþüñÿìþå!ùþûìÿìþå!ùþúçÿìþå!ùþùâÿìþå#!ùþ#øÝÿìþå(!ùþ(÷ØÿìþF(!Zþ(÷Øÿìþ§(!ºþ(÷Øÿìþ(!þ(÷Øÿìþh(!|þ(÷ØÿìþÉ(!Ýþ(÷Øÿìþ*(!>þ(÷Øÿìþ‹(3žþ(÷Øÿÿiþå(Ç} ÿìþF( #'+/3!33!33!33!33!33!3¦ ü䟟Ÿüåž ü䟟Ÿüåž ü䟟Ÿüåžþþûþûmþûþûnþûþûmþûþûnþûþûmþûþûÿìþå(%8K#!1!!!!!!!#!1!!!!!!!#!1!!!!!!!#!1!!!!!!F ?þÁ?þÁ?þÁ?þ"Ÿ>þÂ>þÂ>þÂ>þ#Ÿ>þÂ>þÂ>þÂ>þ"ž>þÂ>þÂ>þÂ>þ(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþûÿìþå(!%)-13#3#3!3!##!#3#3#3#3#3#3#žžžžžÞŸÞŸ þ#ŸŸŸ|  þŸŸþŸŸ|  þŸŸþmÖÖþû÷Øþûþû¶þûýýŽþûýÿÿÿì#å(¼#ÿÿEþä(ÊZÿìþh!|þûìÿÿiþåÑ}ÿÿÿìh(Ñÿÿÿìþå(&Ñ&ÒÓÿÿÿìþå(&ÒÓÿÿÿìþå(&Ñ&ÓØÿÿÿìþå(&Ò&ÓØÿÿiå(Ñ}ÿÿÿìþå(&ÑØÿÿÿìþå(&Ñ&ÒØÿ±Ëw!ÅNÄû<ÿ±Ëw7!!!xáürÅ$àû®Äû<ÿ±Ëw 3!254#!") ) xäääýçärVVþªýçþªääääýèVþªýèþªÿÿÿ±Ëw&åÜÿ±Ëw !%!5!5!5!5!5!5!5!5!5!Åû­áüáüáüáüáüNÄû54&'.#"!624‚HI„347652ƒIH€637þìùúJƒ347744ƒIH‚426532ƒü©<ùÄÿìþå( 67632#"'327$%&#"!€ôzzzzõõzzzzþ’1˜™˜™2þΙ˜™˜þµùú4ŒGGýÎGGý@°XX°À°XXùÜ(÷Øÿìå( !#%&#")7632ùþΙ˜™˜þÏKü/ôzzzzõûì`°XX°þ GGÿìþå 3327$3!#"'&1˜™˜™2û›Ñõzzzzôþþ °XX°`ûìþçGG7š| %63"71˜™{yô`°X{GŒþæ7š| 2#'&#8–š2{ô{x|X°þ G7ÿ¬š 527638x{ô{þΚT{Gþ ®Z7ÿ¬š "'$33™™˜þÏ{ôy{TX°`þæŒGË|0#'&"#%632Ë¡áqpppà¡1˜™˜™2ƒA@ƒþþ_±XX±ÿ¬Ë32763#"'$§ápppqá¡þΙ˜™˜þÏþý‚@@‚þ °XX°`ÿ±ËwÅNÄû<ÿ±ËwÅNÄû<ÿ±Ëw!ÅNÄÿ±Ëw!Åvû<Ñ`/3267>54&'.#"467>32#"&'.H+(*h9;i)*,++(i::f+),H736€HIƒ256743„IH‚426úž ŸŸ?þÁŸŸ ž:ý´“II“L“IIüØÞ¸[[¸ý"¸[[ÿ±Ëw !!!!!!Åû­·þIàþIý×NÄû<š¸ü àýÖÿ±Ëw !%!!5!!!Åû­·þI)·ü NÄûDJPV\bhn27654'&#"&7367'67675673#''5&'&'7&'%67'7&'67'%7&'&'%6767%&'ê&$h%$%%34$&þ1++XSA N@`˜==Žk>P CRX++XYC P>kŽ==l?L ?Q‹ oL+ NnþùŸ;PÖ?ýüÔ; @ þË nMþÓNnä3%%%%34%&&%s==`?J >PW,,WW? K?_==‰f?H?PW,,WU?H?^‘êÒ<…›=þ¡…Ke+cLþ« mC¾†P`kÕ<—<!¤°4(0847632#"'&7327654#"&#%#&7&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ó¤=6 5N'V[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿ÃˆˆþÞ ÌþõʯX[V[X[V[!¤°4(0847632#"'&7327654#"73$3&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ѧ=6þóþý3QNV[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿Ãˆˆþw Ìþð Ê'X[V[X[V[!¤°4!)47632#"'&%#$''&'6%&'6!««ñ󫪪«óñ««4>;D@KDzcngkþ?dnhkê󫬬«óñ«ªª«íþ½Iø Ökpinipi !¤°4 "*2:AIX3#''%#&'52#"'&5476!!'5%!!'53'5%3'5%3#'32765'&#"M==¼,Â/ý¥Å0œ#¶¨H ™8&O”6ýã þ÷|þò7iY0Âþ6.Á/¤==e6a&i1r4þîz0Ç1¹Æ2œ+ްK“Nƒ2HŒQÖ>>>>Ûf^2Æ"/Æ1]þîÓ8`1"Y 4f2y½ÿ`«1B7#5#53'&'&54767&'&=33676=3#327654'&O&"}|f‡ÌÐz¿¿‹g}}"&&"}†UQn$mQU†}"ú$nQUVV{xVVUQ<"{³±u^Å^¿À\Å _u±³{"#|± zUOOUz ±|#YOT{zQPPQz{TO‘ÿ›@>)4'&#"3276&5476327#'#53'&­`_„‡__¾‡„_`ýo‹ŠŠÅÂŠŠ‰q“ßä‡ÑÑ™k‡]^^]‡†²YYÁÃň‰‰ˆÅÃhÙgÑÓfÙ‘ÿ›@> '"3276'&'7#5373'#"'&5476j‡__¾‡„_``_ÈÑчäß“q‰ŠŠÂÅŠŠ‹q¥YXþòº]]XY†ÚfÓÒhÚhÃĈ‰‰ˆÄÃjš¼0 '&'&376&+"'&5'476%7!¢Z{z[ZZ[~\Yƒ¶¹‚ƒ‚²²WþÞm‚pþçN#ZX[þ[YZ[öþP€€·¶ƒQmþ€p#þïT²±G*Š®52764'&#"#463233#!5èsPQPPtrQPŽô­±yzgÖüLQQäQPPQr®ö{{®Ÿtú|gŽ®*#®"#53533#632#47654&#"#dd¨¨i§qq„CB’igIIuªªþ“gzy±UØr}ppDt PQsþ_C…ŽS 7"27654'&7#"&54767##53#533333#3##h. @\ ! 2(>>?ZW~>'3íûûí|íú}}úíË! -/@ /- !^'?XY??~YX?(Fþ˜}R}þ˜hþ˜h}ý®}hL……S<#5#535&'&'5'73'3#'73'676=35'73'13§|‡e{vw}wwUATwx|xxS@Wwx}vv|dˆšš|re{±Eus~~suE|VAKtrrtý¶@X{Ius~~suI­{dr|×*ú®! #!!!'!27674'&#ß_í82þ½Vý)‰3{D™#M®ÅHZûWýÏ{s{þ?zK›8€…QO##"'##565'##"/547?kM±Ã …,4N"D±F &Fi™?šJO‰ãä/FB!‰O¶ é{|êIm¬<&–§=ˆ…ÃM2227632#&547636=4'&#"#4'&#"=³` ]Á¬d¶þŽ2þ c¤B¼«†ØU›;/ÙG;SœXMâB:þ®@B Õ½þ;7h’–­f%þÐ ´»þ#>…|Ž\þ@¬¸’9‘…@O &&5 i×þC þn:Õþ^¥¦þ¨Oýžý¹ G  ýÞýÛ%½2…ŸO7236;2"'##'65##"'&5476;235&'&=476j°S c1=EÃO¬ ;ÇSC«FRÊTÊ6*F@E1°;Oº+.`„1¦62¨V âþæYiä¦8/ÀD ;8[B ¥V†RP"<B+"'##565#+"'&575477;2732;276=4'&3&'"ih;F”(wQ"D±G".FWƒC©ïNfþêBy" bO–DUq5¦½u4  P¹þˆro¬@ ³ æ|ïS`64 ¤¯'<¤þ·kn™,³:y‰!‘ªìü@JD …ÆO2367632#&5476;§_#KYo¬h«þMþ2ФEOÁL)…XY¸D<κýö6©³­f%‘…@O &47iž9þ) þ2\OýçE ýŸ[ r1† V2`g26;2"'##'65##"'&5476;2&'5476&+"3276733276=4/#"567654'&#"35&5m¦V^2"ÌL ­<ÆTC¬FRËUË7* 2Q±;Æ‹ XaÈ2p2@­^ DJ‚ŠF Ð,aXj™-!˜DØ2V©9/mˆ±.0­R ãþäZjæ§9/ÂC \‘ §Vþ ¯7yMó5bomœ&#·'p[?$–G¥üOQr!_ª3#"/4?23D¹-!ÈÇ]UªûFš+}{<Ž¢!/ª3#'654'&'#"547326R£ãs9×WÔ5åÈ[Sª%3;Bƒ‰[/OBC'ü*ž|<jÿ_g¥#"=4?2%#"=4?2ÙŒµ3ɧ%QMýûŽ?Ë )TK¥¿û7’(›w7ÑŸü5’s ?|ÀO"'4723!#"5472!5½ÖÀÀYAý>ÇÔÂRHIÂOûó°‡q 1 ýÓ«‘g 4ª€€D%® 3363'$6'"I+¡ˆ×ýÔ4‹ ˜p®üuàòþoS‚üþ±^£±* ¯ 3%#'#3%#¶';&þÂ2 ¯þI˜û¦Ê—Hý¼þ“‡j7*š¯(,377#'#'547#5773%%ö,ppsr,þð'zzxz'þð¯þá9…8þ 4€?þè„þ¹/9†9e5ƒ>ø:ý¹þœƒ_›þ²&*'$676#"'6767 Ì5þN@#3 J<*Ä”Ýý ýÍ$8ÿFJ,þ² SR·µ-PAd·ÌmüR›ì Gþ²a&767$7676&#""G,*PH$Å/YýÝLꊛ-;;/xL^&7)L˜5 j{•þÕþ4@ïBsåSV}ïdˆâþöÒþxaò†M>Àÿåé !7#"'&'3276767676&+7!2éÓþÜ"?bdv<78.6(yL^KL2^=bê+<Ò‹@ûÀ®`45,,! >&64pä„ná×bÿão{&"26$  6 76&"Ì@s_@s_ýxjVÛÜjþªþ%|nO TÓœ iPPsOO*=þÃýâþÃCWW ¥¹¹¥ÿÿþν_Výd,œíà 3!3-»þ~þÿ>»&ºü¼Dþ‡ð4&'&54!2.#";#"/&'&'&'32654&'úÁ=>CgÃ[9D¶ov”¸{’‡¡^„rE@G9:‰pí.#$"r|;aÔk…˜FE˜QJK~Ü))þã>?qXTS6A·…æ‰P!zGþÝxþ251QUud>[þ<Õ%;#"/&'7!!H†<ÖVTw9k¬†ÇÃ/_ýw3ò0ªF3³GþÝx´¯ôÝôWÿå«Õ$(!767#"'&7676?67676767!R ¦bm4mjjeÊ`a ./piQ 3* ( 7þõ7Dü­#Fþô8^^¥LAB\VC)*= ý%(+C" çþå’ƒ?!#!Dû&òŒþ÷¾ý-¨ƒÉ#7!!šò%ü²þ÷V¾üoßþòƒ3!!ò%þ³ P¾‘jþòƒ!73!dþ%ò þò¾Ó÷fð$!?>76&/.76$32.#"¼7þõ7 7GL+  Êe¾W4RªT\i 3IA"þåv{ =TBV\ƒL¥¼98þôFGDC+P=YNŒcšwIŒ#7337À%À¼þìмútŒút<IŒ#733üÀ$ÀY¼þ으û¨ŒútIŒ#733ÀÀ$À•¼þìh¼üÜŒútÄIŒ#733„À$ÀѼþì4¼þŒútˆIŒ!#733#HÀ%À ¼þì¼¼ÐútˆIŒ73#3d%À%ý ¼¼м¼û0Œˆ Œ73#3)$À$ý[¼¼œ¼¼üdŒˆÑŒ73#3í$À$ý—¼¼h¼¼ý˜Œˆ•Œ73#3±$À$ýÓ¼¼4¼¼þÌŒˆZŒ!73#u%À%Ýþì¼¼¼ŒútŒˆIŒ!!#œ­%þ,¼û0ˆ Œ3!!#œ¼<ñ$þ´¼Œþ̼üdˆÑŒ3!!#œ¼xñ$þx¼Œý˜¼ý˜ˆ•Œ3!!#œ¼´ñ$þ<¼Œüd¼þ̈ZŒ33!ˆ¼ïñ%Œû0¼lœ³ä 3'#'ŽYÌkg—“KäÜQoývŠoQ˜eà #'737CYÌkg—“K˜ÜQoŠývoQ¥œ+à 3#73#Gä>P¢>ä&äàþ¿êêþÄÇ¥œ+à 73 73¥>N¢ >h&ä&œAêêþ¿}ÇÇÿÿ#©D ‘ÿ~ýd¶Ô37 !7 !7 ¶1^8þ¢1^%þŽ1Ç:$Á£-Hû‰ýXûþŒåcmþûþZ Ú`!7 6!7 6!7  *6þÊ*6þÊ*N(¡‰6ØôØäØþèžaY¨þ¸¶Ëƒð 7!$ò*.þçP)jc@ýÙÐØßN1Ô þµ¶Vƒ{ 7!$ë3>þçP)jc8ýÑ^þù³N1Ô þÝÿøþVÙÕ%+73267!!!!!Â3rqÐy,%dgxþþÙ"'nqn':þönlãn…lýhÕýÇ9;þX`!>54&#"!!>32+73267!:7StyþÛ/#t0¨e€Š ˆ1ÞÒy+'dhª5:=‡ý‹ý¤\g‹L/ýSü×án„ÿÿ1L'U!}=!7!7!7!þ>"Â"þ>"Â!´´´ÓáÕ! #u fÇ!Õýqþ›e±ªÕ¶9ÔÌ1ôÌ0!lÿlÕýÕ+ÿÿ•þ\nþDÌ";!"&7#"76!7!!%&#";4 l=bê,þÄÑŒ1l{¹',Ð@Dþ×,NŸ ýÛ; 2`CýÔ„náØû+Ðì)báüÌœì28?ÿÞþ¾ÞÕ !!3!# !/×ÓîiqþÛ>háÓþùÕûÃ=û/ýºB=ûÃþâZ{ 3##67654&#"!!>32#cšcÛ8ã…:7R;:yþÛÙ% 0¨e€ŠØþþª:=HH†ý‹`¨\g‹&')ÿãÕ*2 54767.54763%"&"2676½ê±5þªþ%¸5Ê"b…”6(þV)/\ÍBÓœ BÓœ |þóœLXþñþà ŸLX»kbMBÑ@Kþ€‘¹¥G†‘¹¥GB¨@]       4 ddGe       ÔäÔôÔÄ999991/<ä2ü<Ììî2990KSXí9íííííííY"!!!!!!#737>;#"Û%9þÝþÀZÙþÛ®þÉ®þÛ®¾-¾'ÆäP+CB:þÜ-cû üáNÉá1B‹@M    4 ddG e      ÔäÔä99991/<ä2üìî2990KSXí9íííííY"3#!#737>3!!#"dº+¼®þÛ®¾-¾'ÆäôþÓþÛÂB:ÃcáüáNÉùì31ÿþæËj%!?6?>54&#">32  @7 7 ‚iubÆ¥hÖf5tÍYEJ‘s]X©ËÊýWþ5Êþåv{“iVb¦_†¥:7þôHI>9C~dN`šÙýÆûðýÆ:9îÿf!#¾AþÿÅfþˆ“;ö\@ÔÜÔÌ99991Ô<Ì20K°TX½@ÿÀ878Y@////????]]3#%3#Pë/íþ¦ë1ìöööö5îDösµÔÄ1ÔÄ0K° TX½ÿÀ@878YK° TX½ÿÀ@878YK°TX½@ÿÀ878Y@++//]]!#+þÀÏöþøsî`ø¨@ Š ŠÔÌÔÌ99991Ô<üÔ<ì99990K° TX½@ÿÀ878YK° TX½ÿÀ@878YK°TX½@ÿÀ878Y@%         ]'.#"#>3232673#"&Û1!#5 ‰ƒ`%A#5%'4 ‰‚^%@!% @8€Š) =:€ŠXÿãy} !@ <<[E ÔìÔì1äôìî04&#"32!2!"&R]U{¦aSy¦ýM ×òþ³þõ×ò¬mvþðÍjy6B‘ñÖþ½þpñÁîXö¶ÔÄ91ÔÄ0#ɲåöþøXî?ö@ ÔÄ991Ô<Ä90!#'#L\—©¤æ´öþø¡¡šîsö@ ÔÄ991ÔÄ290!373þ¤‰ª•åµî¢¢/ôwo@ ÔÌ991ÔÌÔÌ0'T%#%ôvuÆcfk>32#."Æ(Ç“”J@V˜76 c‡C:m=<=üc™k@  ÔÌÔÌ1ÔÜÄ290332673#"&5ü ROGjš(Æ“ˆ“k<7=6‡‡}uÓk·ÔÌ991ÔÌ0!!¿0þíkö´cCk!#!#&þ¯Å}þ¯ÅkþøþøOcvk#!#k”Åë“”Åëkþøþø¿ð,!!!767676767654'&#"67632I 7þõYþõ01O9!B\ÿåÿÿÿü8QÿÖ A|ÿÑÂR…´ÿÈÿÒY>“ÿ­ÿâ0ÿÑÿÌ.ÿéÿàÿÑÿå8ÿÛQlRÿ/=X-j-j-j-j-jSÿ/ÿ/ÿjÿáfÿîR=X=XÿÑÿåfÿ‹ÿç;ÿjÿáÿsÿ®ÿ/ÿ/LL=X=Xšš-j-jZˆ¤ÿÛÿø;ÿì ^ÿ/L=X=X=X=X‘ÿ¦ªÿÄžÿÁÿæ5ÿsÿsÿ­ÿôÿ…†d[ÿ°ÿðÿ¤ÿ÷Œ^x ÿäH¬B%SÿÜ-ÿÊlÿùÿÌb™Hа9ÿÓÑÿþm °+R ÿ¦ bK@ÿìU+!{ÿüÿÕ|ÿ›ÿ›ïÿ´:ÓCV•ÿäÿ”ÿ¤°ÿëÿå ÀÐQ6 7 ÿÌ<~E¼ÿ÷ÿçgÈ€~•3¯ÍâôôìÊÛäqáYe_PžÓ¦ÓM.¿Èw¾RÏyuþ¯cÄ`w<Ĉ“Às9Py¦¾R ’ÏužÞÁ;¾†³­á9ú²6od‹-ú·á@õÈôBÀˆ—ÔÞ æIb(M6­ÿîÿ­ÿs ³H¥­¼þòÃŽ{ª9 ÿ˜ÿþÝÿÿ¹þtÿÍOÿÿì¶ÿÿßÿø[ÿîÿÿÇÿçÿø=‰ÿÑ´‘[ÿqÿÍ‘5deO5ÿÂA8dˆeaOAIÿÉœpXÿþÎ,ÉHÿÄs@OX@o^þ.8‚ˆZI/ÿVUkÿâÿßP–ÿÁ[ŸFÿÛƒÿÅÿÊÿ«ƒœ¶|ÿìÿaÿƒœÿîÿæ(ÿÿì¶ÿxÿ|ÿáÿæÿæÿîÿuÿÇÿø=‰ƒ´(ÿqÿÞ•ÿ½ÿÜ|ÿ—ÿëÿ—ÿÂ/$ qÿ¶Lÿ¡4++AÿØÿé?X?ÿÛ–æÿ¦=ÿ´(ÿáÿéiÿ²FÿóLLQqZÿÁÿ˜ÿ¶(A+ÿ¦Z]t>b¶S°H¶Þÿ|ÿ¡ÿá4ÿî®%ÿ½ÿზJU‘ŽZ7e;ÿ|ÿ¡ÿî®ÿø¬,(ÿ/ÿ/ÿjÿáL[S[Sÿ|ÿ¡ÿá4ÿÑÿåÿæ+ÿæ+=X[b[bF(ÿ¦(ÿ¦(ÿ¦•(¶Þÿ—ÿ²<d=D)ZÿÏ77)ÿØÿßÿÏÿšÿçÿÙÿÀ$x7ÿçÿé!y#ÿ×M>ÿÝÿŽ1/-ÿ×!ÿßÿ¾=ÿæZìQ5Ÿ+ÿýQ FQÿýÿžÿç±ÿ.„7D \ppž67oRIp?*%O)ÿ¶XÿìÿæZÿô6NcWOH0ÿè—$ÿ×M&ÿùÿíÿ¿ -ÿùÿéÿò$ÿú?†ü™ÿ’-¹ÿäÿéÍÿì)ÿUj>$!K9$ ÿÖ#ÿÜH9ÿñ-$+ÿË# ÿî* ÿÿÿï! ~N²] ,¿ÿÚÎÍ)B*§£ÑÛóóéÿ»óÉßß á½Q$âÝ(iÑÙ&9ÚL4ÎüT4Téj\óFGêW,KÒdêêÈ€;ð¶éóå-±c>Ú Û÷Üÿ/ÿì/ÿì/ÿì/ƒ–ÿøBÿøBÿøBÿßÿÏ'CL/çfÿø;ÿø;ÿø;ÿHÿkÿø;ÿîRÿîRÿîRPéPéPM2ÿÇÿßÿÇÿßÿÇÿßÿç;ÿç;ÿç;ÿç=XÿÛÿÛšššMZZZ´¤´¤MM-B-jˬˬ)Z)Z)Z)Z)Zÿqÿ´ÿqÿ´‘ÿ¦ÿß1ÿß1ÿß1;¤Zÿ¦ç8ÿ/ÿ/ÿ/ÿ/LLL=X=Xÿåÿÿÿåÿÿÿåÿÿÿåÿÿ-jÿÈÿÒÿÈÿÒÿÈÿÒÿÈÿÒ‘ÿ¦‘ÿ¦‘ÿ¦55555555ÿÿýíþþÄþºÿÿddddddÿdÿ–ý ýHý»ý»eeeeeeeeÿ2ÿdüéýýý‰þâþâOOä HOOOÿdÿ–ý9ýMýÅýÅÿÿXXXXXXÿ¯ÿ–ý4ý\þyþyÿüóý þo@@@@@@@@ÿÃÿ¯ý4ý\þ’þœÿ‚ÿ755ddeeOOXX@@55555555ÿÿýíþþÄþºÿÿCCCCCCCCÿ2ÿdüéýýý‰þâþâ@@@@@@@@ÿÃÿ¯ý4ý\þ’þœÿ‚ÿ75555555ÿÿÿÿÿ{y CCCeCþ·ÿþ™þÝÿøäHÆOOOOOOþÕÿ RÆÿþÿþ‘‘þ…þtÿ‚s s@@@@@þäÿ¹þîÿÍÿÍ9LôôÿÅÿÅÿÅÿŤ¤¬ïÓÿ²Þ¶1ÿªa¥ê¨ê11=$ßjÿÞ/í! ! /!í! !ÄôÑcÙ ÚLLCBÿåÿêÿ±ÿÏBÿß©EÿŒÿÅ6ortt;;2ÿoJ ÿÍÿîÿ/* / BþBþBþš¤£šBB;IBþBþBBBþBþþBBBBBB9·™·™º?222B77BBøþBBøþB BB B BBBBBBþBþBþ}››}BBBBþþBþBþBBÁAÁÁÁÁÁÁÁB',ÁB BBBBBBBB!w££?ÿúÿúddcddc˜BXy111± XX¶¶¶¶’ÿÖ“”À“BJ/XXXXXXXXXXXXXXXWXXXXXXQQXXXXXXXXVVNXXXXXXXXXWXXXXXXXXXXXXVVXXXXVVXXXXXXXXXXXXXX2222BBBBÁáXXXXXXXXXXXXXXXXX9?rn’’’’ôoô}  XG¸œ#X  åC@_24!!ççÿìá-XX!XXç–@ƒç64HFFFèèèéÆéèèèèÅèÜÜÜÛåÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìiÿìÿìÿìÿìEÿìiÿìÿìÿìÿìÿìiÿìÿìÛÛDDÛÛÛÛÛÛÛÛu77ÿìÿìÿìÿì7777ÿìaa¯¯"!!!!½‘‘G®CL×€‘2 ‘1r¢jD±7›GuQ uBBwÿù=ÿÇCÿÏÿø?@Àb,W’¨ßj÷w<Ĉˆˆˆˆˆˆˆˆˆˆl¥¥#¶ ¶¶ÿø;1UÓ±•nÿÞ)BBÿ9“5sXÁXš/Æü´OâƒçP-DDDDØÜðèH¤œðL€Ì Œ  Ô   P Ø4ÈDÀ P˜”´\`Ôdèà¤(È|ØøÐ¨d p!|"´#\$0$ %p&$&¸'$'”'à(L((¼) *+°,`-€.t/h0È22Ô3Ü4¬5€7”8¼94:H;l<0=h>h?˜@lAXBtClDE\EˆFÌGTGTGèHÄI¬J¤KˆKÌM(M°NÌOÔPHP„P¸QøRHRÄS0SÔT˜TäUøV˜VäVôWxX X„X¤XÄXäYàYøZZ(Z@ZX[`\@\X\p\ˆ\ \¸\Ð\è]]^ ^$^<^T^l^„^œ_``4`L`d`|`”atcc,cDc\ctcŒc¤e¸eÐeèfff0fHf`fxfg g¸gÐgèhhh0hiŒi¤i¼iÔiìjkkk4kLkdk|k”k¬kÄkÜkôl l$l<lTlll„lœl¬mìnnn4nLndn|n”n¬nÄnÜnôo o$o<oTolo„oœo´oÌp(p p¸pÐpèqqq0qHq`qxrrˆss s8sPshs¨sÀsØsðtt t8tPthu vv,vDv\vtvŒv¤vÀw,w w¸wÐwèxxx0yz¨zÀzØzð{{ {8{P{h{€{˜{°{È{à{ø||(|@|X|˜}}}4}L}d}|}”}¬}Ä}Ü}ô~ ~$~<~T~l~„~œ~´~Ì~ä~ü,h而€œP¸‚‚ˆƒƒƒ„ƒì„P„ð…(…œ† †t†Ø‡`‡ÄˆXˆ¤ˆô‰L‰¨‰üŠHЏ‹ ‹X‹Ô‹ìŒŒ|ŒàPÐŽHŽÌL\äT°‘‘X‘p‘Œ’’d’´““\“¤” ”˜• •À–8–°— —œ˜ ˜,˜H˜˜˜¨˜À˜Ø˜ð™™ ™8™P™h™ˆ™ ™À™Ø™øšš0šHšXšxšš°šÐšè›››0›H›`›x››¨›À›Ø›ðœœ œˆœ œ¸œÐœè0H`x¨ÀØðžž ž8žPžhž€ž˜ž°žÈžàžøŸŸ(Ÿ@ŸXŸpŸˆŸ Ÿ¸ d ø¡¡(¡Ä¢¢h¢€¢˜¢°¢È¢è££ £8£P£h£ˆ£ £¸£Ð¤@¤Ø¥T¥”¦4¦Ô§<§Ð¨\¨˜¨ì©Œ©ØªTªÜ«H«t«è¬L¬à­H­°®0®œ¯4¯´°4°¨±±Ä²d³³Ì´l´¼µx¶¶„¶ä·@·˜¸¸ˆ¸à¹ ¹X¹àºXº˜»4»¬¼$¼È½L½À½ô¾l¾ä¿|À(À€ÀÜÁXÁ°Â Âd¨Ã@üÄpÄÀÅ4Å„ÆÆ\Æ°Ç Ç¤È$ÈLÈŒÈÔÉÉXÉÄÊ<ÊÜË@˨Ì̈ÍÍ Î@ÎÌÏÏŒÏÌÏðÐxÐôÑpÒÒÐӜԄÕÖÖ ×h×ÀØ(ØlØäÙhÙ¼Ú$ÚlÚÄÛÛŒÜÜ<Ü|ÜŒÜìÝÝ$Ý`Ý ÞÞhÞÄß ßPß`ßß ßÈßäßøà à<àXàhàxáádâdâtâ´ã ãHãÈäädäˆä´äàå å,å<åLå\ålå|åŒå¼åÌæ$ædætæÈæØçPç`ç€çœçÈçàè$è@èlè˜è¸èÌèàéé,éPé˜éÌéðêêHêdêœêÐë ëxëàëüìdìtìì¸ííLíˆíàî îìïï,ï<ï˜ï´ïÐïìðð<ðdððèññŒñ¤ñ´ñÈò ò,òHòtò„ò”ò¬òÄòÔòìóóó4óLódó|óŒóœó¬óØóèóøôô€ôô ôÈôØôèõ$õ4õDõTõ”õ¤õ´öXöhöà÷T÷l÷„÷œ÷´÷Ì÷ä÷üøŒùùPùôúÄû0û|ûàü ü0üxüˆüØý\ýlýÐþ,þ¬ÿÿ`ÿÈLÀˆ ¸Ð茀˜°HÀ`Ô<°(8¬@À  ´  0 @ ¸ 4 ° À Ð à  X Ì , D \ t Œ$< °ÀØè`ÌPh€˜Ôä4DlÄÔ,<tŒœìü HXhxÀDTŒÜP¨dÈ8˜¨@¬Ð(8H`p¸ô0@l|Œ¸ÈTdœð$d¸ tÐì    ¨!$!4!D!\!l!è"T"¼"Ô"ì##<# $$$ $P$|$¸$ô%`%Ä&(&Œ&¤&¼''P'”'Ü((T(l(„(¼(ô))8)€)Ä**\*Ð*à*ð++ +˜,,X,¨-,-Œ-¬-Ä-Ü-ô. ..,.D.\.l.|.”.¬.Ä.Ü.ô/ //,/D/\/t/Œ/¤/¼/Ì/Ü/ô0 0$0<0T0l0„0œ0´0Ì0ä0ü101`1x11 1°1À1Ð1à1ð2l2Ä3833è4\44ä5ˆ5ü6P6t6à77ä8T99h9ì:@:ì;<;Ø<$<¤<ü=À>>d>¼?h?´@ˆ@´APAèAøB B°BØBøC@C`CØCüDŒDäElEÄFF FÐG$GÜH\H¬HÔIpJJLJ\K KtL,L<LxLÈMhMxNN”OhOäOôPHPÔQ$Q4QXQäRpR€S,S|S¬SÔT,TÀU8U´V<VôWdWÄXPX¸YPYÄZ(ZŒ[`[ð\Œ](]|]ð^„_ _Œ`D`ôa”b<b´bÐccdc|cÌd$deeXeÈff€f fìgœgÌgàh$h°iXjk k¼l”mdn n°o`p,pØqdr rØsptHtØu`v<wPxxøy”zp{{à|X}T~T~Ìt€\€‚‚¤ƒt„„Ü…|†† ‡@‡t‡Üˆ¼‰\‰œŠ„ŠÀŠü‹D‹¨ŒŒHŒ”dœÐŽ<ŽpޤŽè D€°äD”‘‘0‘|‘¸’L’ì“X”0”””ø•t•ô–¤—T—ܘ˜P˜Ì™@™°šš\šœ››L›¤›ôœxœ œ´œÈœÜœð€Üž8ž¤ŸŸ  0 ¼¡¡H¡Ø¢,¢x¢¸¢ì£4£´£ô¤P¤t¥ ¥ ¦(¦¨¦Ø§\¨¨Ð©$©ª ª˜««D«x«Ð¬D¬°­­4­L­d­|­”­¬­Ä­Ü­ü®®0®H®`®x®®¨®À®Ø®ð¯¯ ¯8¯P¯h¯„¯ ¯¸¯Ð¯è°°°0°H°`°x°°¨°À°Ø°ð±± ±8±P±h±€±˜±°±È±à±ø²²(²@²X²p²ˆ² ²¸²Ð²è³³³0³H³`³x³³¨³À³à´´´0´H´`´x´´¨´À´Ø´ðµµ µ8µPµhµ€µœµ¸µÐµè¶¶¶0¶H¶`¶x¶¶¨¶À¶Ø¶ð··(·H·`·x··¨·À·Ø·ð¸¸ ¸8¸P¸h¸€¸˜¸°¸È¸à¸ø¹¹(¹@¹X¹p¹ˆ¹ ¹¸¹Ð¹èººº0º@ºXºpºˆº ºÀºØºð»» »8»P»h»€»˜»°»È»à»ø¼¼(¼@¼X¼p¼ˆ¼ ¼¸¼Ð¼è½½½0½H½`½x½½¨½À½Ø½ð¾¾ ¾8¾P¾h¾€¾˜¾°¾È¾à¾ø¿¿(¿@¿X¿p¿ˆ¿ ¿¸¿Ð¿èÀÀÀ0ÀHÀ`ÀxÀÀ¨ÀÀÀØÀðÁÁ Á8ÁPÁhÁ€Á˜Á°ÁÈÁàÁøÂÂ(Â@ÂXÂpˆ ¸ÂÐÂèÃÃÃ0ÃHÃ`ÃxÃèÃÀÃØÃðÄÄ Ä8ÄPÄhÄ€ĘİÄÈÄàÄøÅÅ(Å@ÅXÅpňÅ ŸÅÐÅèÆÆÆ0ÆHÆ`ÆxÆƨÆÀÆØÆðÇÇ Ç8ÇPÇhÇ€ǘǰÇÈÇàÇðÈÈÈ0È@ÈXÈhÈ€ÈȨȸÈÐÈàÈøÉÉ(É@ÉXÉpɈÉ ɸÉÐÉèÊÊÊ0ÊHÊ`ÊxÊʨÊÀÊØÊðËË Ë8ËPËhË€˘˰ËÈËàËøÌÌ(Ì@ÌXÌp̈Ì ̸ÌÐÌèÍÍÍ0ÍHÍ`ÍxÍͨÍÀÍØÍðÎÎ Î8ÎPÎ`ÎxΈΘÎÄÎÔÎìÏÏÏ4ÏLÏdÏ|ÏŒϤÏ´ÏÌÏèÐÐÐ0ÐHÐ`ÐpЈРиÐÐÐèÐøÑÑ0ÑHÑ`ÑxÑÑ ѸÑÐÑèÒÒÒ0ÒHÒXÒpÒˆÒ˜Ò¨ÒÀÒØÒðÓÓ Ó8ÓHÓ`ÓpÓˆÓ˜ÓÄÓÄÓÄÓÄÓÄÓÄÓÄÓÄÓÄÓÄÓÄÓÄÓøÔÔ<ÔpÔ¤ÔØÔðÕPÕ¬ÖÖ0ÖÔ×tØØPØäÙ¼Ú Ú<ÚðÚðÜDÝtÝ”ݰÝÐÝìÞÞ(ÞlÞ°ÞÌßdßx߬ßàßüàà4àtàtááXáôâlãã(ãÜäxä¨äÄäìå$å\å´åÈåÜåðæææ,æ@æTæhæ|ææ¤æ¸æÌæàæôççç0çDçXçlç€ç”ç¨ç¼çÐçäèhé(éÈêêˆë$ë¤ì¸í˜îDî¬îÄïÌðð|ò$òäóxô ôõ<õÔööŒ÷ ÷Ìøø,ø˜øÜù€ú<ú¬ûDûðü|üÀüÐüàüðýxý˜ý¸ýØýøþþ8þXþxþ˜þ¸þØþøÿÿ@ÿtÿ¨ÿØ h˜Èø(p¸dX è0p°ì(d ðxÀ| ` ¼  8 p ¨ à  P Ô X ” ü œ<`ˆ°Ø(LpÄl´üDŒÈlàD„ÄD ü<|¼ø8xÄ`°øDˆÐ HˆÄ<”ä8˜ô`°ô8ˆì@œà$|Ì  ˆ ¼ ð!@!|!è"€"°##Ü$T$„$à%t%È&$&¸' 'T'´'à( (0(D(X(h(È)h)Ä*<++ +D+l+˜+Ø,,d,ä- -Ä-è..0.H.„.´.Ô/,/„/ä0L0´181¬2<2Ð3Ð4p5$66ˆ6Ô7888<8\8|8À99d9Ô::`: :ð;4<<¨=,=´=è>D>„>à?<?€?À@$@„@ìA@AhAÐB8B¬C C¼D`D¤DèElEØF FdF¼GGœH HŒHøI@IˆIøJhJ¼KKLLxLàM8MN NŒOTPPÔQŒR@S(TTÐU„UÔVVdV VÈVìWW8WhWœXXTX¨XàYYlYÄZPZÌ[0[”[à\,\¤]]¬^8^t^„^°^è__8_l_¬_Ð_ø``@`h``¸`àaaTada¨aèb@c$cHclcŒc¬cÌd$d|d´eetj j€j¨jÔkktkÌkälhlðmm@mtmÀn n\n¬o8o„oÈpppp¼qqTq¤q¼qôr r$r<rTrlr´rÌrässs0s¼t|tàu$uŒv$v\v°w w8w¼wÔwìxtx¤y0yÐz¸{||Œ}0}Ô~T~€~¼~ØHh Äà€€(€H€l€¤€ü4Pˆà‚‚4‚€‚¬‚Ԃ胃 ƒ<ƒXƒtƒƒ¬ƒÈƒä„„„8„T„p„Œ„ …T†D†ì‡‡‡0‡D‡X‡t‡Œ‡¨‡Ä‡Ø‡ðˆ ˆ(ˆTˆ¨ˆÀ‰‰tЍ‹0‹¸Xt ¼èŽŽ0ŽPŽ€ŽœŽÄŽà (Tpœ¸àü(Dlˆ´Ðø‘‘<‘\‘‘Ô’`’´“””Ä•x•°––X–°——l—¼—ä˜ ˜p˜ä™4™ˆ™¸™äšš<š„šÈšä›››0›Ä›ðœœDœlœ¨œô H¬ìž(žhž¨ŸŸ  € ¨ Ð ø¡$¡@¡l¡ˆ¡°¢ ¤¤Ì¥Œ¦ §8§ø¨x¨ô©€©àªDªä««ô¬d­­L­ì®°¯¯4°T°”°ð±T±´²²T²è³L³¬³è´´8´X´œ´ðµµ,µXµ€µ¨µØ¶¶8¶h· ·˜¸¸X¸”¹¹,¹X¹ÔºDº¬ºÀºè»Œ»Ø¼p¼”¼¸¼Ü½½„½°½Ü¾¾4¾\¾ˆ¾´¾à¿ ¿8¿\¿„¿¬¿Ô¿øÀ(ÀXÀˆÀ¼ÀÐÁÁ\ÁÁĈ˜ÂÄÂèÃÃ(àÃàÄPÄàÅèÆÄÆÄÆÄÆÄÆÄÇPÇpÇôÈ„ɈÊÊ0ÊpʰÊèË(Ë|ˬËÜÌÌ ÌÐÌìÍÍ$ÍlÍ”Íä ¿+k@®‰_ÀB m¶ H‹Ê  “^4 \ ¾    S :z :Ô . 4U "¦ :Ü &6 hòCopyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain DejaVu Sans MonoDejaVu Sans MonoBold ObliqueBold ObliqueDejaVu Sans Mono Bold ObliqueDejaVu Sans Mono Bold ObliqueDejaVu Sans Mono Bold ObliqueDejaVu Sans Mono Bold ObliqueVersion 2.33Version 2.33DejaVuSansMono-BoldObliqueDejaVuSansMono-BoldObliqueDejaVu fonts teamDejaVu fonts teamhttp://dejavu.sourceforge.nethttp://dejavu.sourceforge.netFonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. http://dejavu.sourceforge.net/wiki/index.php/Licensehttp://dejavu.sourceforge.net/wiki/index.php/Licenseÿõÿ~Z ¿  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a¬£„…½–膎‹©¤ŠÚƒ“òó—ˆÃÞñžªõôö¢­ÉÇ®bcdËeÈÊÏÌÍÎéfÓÐѯgð‘ÖÔÕhëí‰jikmln oqprsutvwêxzy{}|¸¡~€ìîºýþ    ÿ øù !"#$%&'()*+ú×,-./0123456789:âã;<=>?@ABCDEFGHI°±JKLMNOPQRSûüäåTUVWXYZ[\]^_`abcdefghi»jklmæçnopqrstuvwxyz{|}~€¦‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽØá‘’“”•–—˜™šÛÜÝàÙß›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     Ÿ !"#$%&›'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐѲ³ÒÓ¶·ÄÔ´µÅՂ‡Ö«ׯØÙÚÛÜÝÞ¾¿ßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     ÷ !"#$%&'()*+,-./01234Œ56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸˜¹º»¨¼½¾¿ÀÁš™ïÃÄÅÆÇ¥ÈÉÊ’ËÌÍÎÏМÑÒÓÔÕÖרÙÚÛÜÝÞßàáâã§äåæçèéêëìíîïðñòóôõö÷øùúûüý”•þÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ         ¹                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ÀÁ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À sfthyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F4uni01F5uni01F6uni01F8uni01F9AEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccentuni021Auni021Buni021Cuni021Duni021Euni021Funi0221uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236dotlessjuni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240uni0241uni0243uni0244uni0245uni024Cuni024Duni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BBuni02BCuni02BDuni02BEuni02BFuni02C0uni02C1uni02C8uni02C9uni02CCuni02CDuni02D0uni02D1uni02D2uni02D3uni02D6uni02D7uni02DEuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02EEuni02F3 gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0343uni0358uni0361uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omega1uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni0472uni0473uni0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni04A2uni04A3uni04A4uni04A5uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04BAuni04BBuni04C0uni04C1uni04C2uni04C3uni04C4uni04C7uni04C8uni04CBuni04CCuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni0510uni0511uni051Auni051Buni051Cuni051Duni0531uni0532uni0533uni0534uni0535uni0536uni0537uni0538uni0539uni053Auni053Buni053Cuni053Duni053Euni053Funi0540uni0541uni0542uni0543uni0544uni0545uni0546uni0547uni0548uni0549uni054Auni054Buni054Cuni054Duni054Euni054Funi0550uni0551uni0552uni0553uni0554uni0555uni0556uni0559uni055Auni055Buni055Cuni055Duni055Euni055Funi0561uni0562uni0563uni0564uni0565uni0566uni0567uni0568uni0569uni056Auni056Buni056Cuni056Duni056Euni056Funi0570uni0571uni0572uni0573uni0574uni0575uni0576uni0577uni0578uni0579uni057Auni057Buni057Cuni057Duni057Euni057Funi0580uni0581uni0582uni0583uni0584uni0585uni0586uni0587uni0589uni058Auni0E81uni0E82uni0E84uni0E87uni0E88uni0E8Auni0E8Duni0E94uni0E95uni0E96uni0E97uni0E99uni0E9Auni0E9Buni0E9Cuni0E9Duni0E9Euni0E9Funi0EA1uni0EA2uni0EA3uni0EA5uni0EA7uni0EAAuni0EABuni0EADuni0EAEuni0EAFuni0EB0uni0EB1uni0EB2uni0EB3uni0EB4uni0EB5uni0EB6uni0EB7uni0EB8uni0EB9uni0EBBuni0EBCuni0EC8uni0EC9uni0ECAuni0ECBuni0ECCuni0ECDuni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni10F6uni10F7uni10F8uni10F9uni10FAuni10FBuni10FCuni1D02uni1D08uni1D09uni1D14uni1D16uni1D17uni1D1Duni1D1Euni1D1Funi1D2Cuni1D2Duni1D2Euni1D30uni1D31uni1D32uni1D33uni1D34uni1D35uni1D36uni1D37uni1D38uni1D39uni1D3Auni1D3Buni1D3Cuni1D3Euni1D3Funi1D40uni1D41uni1D42uni1D43uni1D44uni1D45uni1D46uni1D47uni1D48uni1D49uni1D4Auni1D4Buni1D4Cuni1D4Duni1D4Euni1D4Funi1D50uni1D51uni1D52uni1D53uni1D54uni1D55uni1D56uni1D57uni1D58uni1D59uni1D5Auni1D5Buni1D62uni1D63uni1D64uni1D65uni1D77uni1D78uni1D7Buni1D85uni1D9Buni1D9Cuni1D9Duni1D9Euni1D9Funi1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5uni1DA6uni1DA7uni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1uni1DB2uni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Buni1E9Funi1EA0uni1EA1uni1EACuni1EADuni1EB0uni1EB1uni1EB6uni1EB7uni1EB8uni1EB9uni1EBCuni1EBDuni1EC6uni1EC7uni1ECAuni1ECBuni1ECCuni1ECDuni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE8uni1EE9uni1EEAuni1EEBuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011 figuredashuni2015 underscoredbl quotereverseduni201Funi2023uni202Funi2031minuteseconduni2034uni2035uni2036uni2037 exclamdbluni203Duni203Euni2045uni2046uni2047uni2048uni2049uni204Buni205Funi2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni2090uni2091uni2092uni2093uni2094uni2095uni2096uni2097uni2098uni2099uni209Auni209Buni209Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9uni20AAdongEurouni20ADuni20AEuni20AFuni20B0uni20B1uni20B2uni20B3uni20B4uni20B5uni20B8uni20B9uni2102uni2105uni210Duni210Euni210Funi2115uni2116uni2117uni2119uni211Auni211Duni2124uni2126uni212Auni212B estimatedonethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215F arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbseuni21A9uni21AAuni21ABuni21ACuni21ADuni21AEuni21AFuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21B8uni21B9uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21DEuni21DFuni21E0uni21E1uni21E2uni21E3uni21E4uni21E5uni21E6uni21E7uni21E8uni21E9uni21EAuni21EBuni21ECuni21EDuni21EEuni21EFuni21F0uni21F1uni21F2uni21F3uni21F4uni21F5uni21F6uni21F7uni21F8uni21F9uni21FAuni21FBuni21FCuni21FDuni21FEuni21FF universaluni2201 existentialuni2204emptysetgradientelement notelementuni220Asuchthatuni220Cuni220Duni2213uni2215 asteriskmathuni2218uni2219uni221Buni221C proportional orthogonalangle logicaland logicalor intersectionunionuni222Cuni222D thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2241uni2242uni2243uni2244 congruentuni2246uni2247uni2249uni224Auni224Buni224Cuni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2258uni2259uni225Auni225Buni225Cuni225Duni225Euni225F equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Funi2290uni2291uni2292 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendiculardotmathuni22C6uni22CDuni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EFuni2300uni2301houseuni2303uni2304uni2305uni2306uni2308uni2309uni230Auni230Buni230Cuni230Duni230Euni230F revlogicalnotuni2311uni2312uni2313uni2314uni2315uni2318uni2319uni231Cuni231Duni231Euni231F integraltp integralbtuni2325uni2326uni2327uni2328uni232Buni2335uni2337uni2338uni2339uni233Auni233Buni233Cuni233Duni233Euni2341uni2342uni2343uni2344uni2347uni2348uni2349uni234Buni234Cuni234Duni2350uni2352uni2353uni2354uni2357uni2358uni2359uni235Auni235Buni235Cuni235Euni235Funi2360uni2363uni2364uni2365uni2368uni2369uni236Buni236Cuni236Duni236Euni236Funi2370uni2373uni2374uni2375uni2376uni2377uni2378uni2379uni237Auni237Duni2380uni2381uni2382uni2383uni2388uni2389uni238Auni238Buni2395uni239Buni239Cuni239Duni239Euni239Funi23A0uni23A1uni23A2uni23A3uni23A4uni23A5uni23A6uni23A7uni23A8uni23A9uni23AAuni23ABuni23ACuni23ADuni23AEuni23CEuni23CFuni2423upblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockltshadeshadedkshadeuni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259F filledboxH22073uni25A2uni25A3uni25A4uni25A5uni25A6uni25A7uni25A8uni25A9H18543H18551 filledrectuni25ADuni25AEuni25AFuni25B0uni25B1triagupuni25B3uni25B4uni25B5uni25B6uni25B7uni25B8uni25B9triagrtuni25BBtriagdnuni25BDuni25BEuni25BFuni25C0uni25C1uni25C2uni25C3triaglfuni25C5uni25C6uni25C7uni25C8uni25C9circleuni25CCuni25CDuni25CEH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7 invbullet invcircleuni25DAuni25DBuni25DCuni25DDuni25DEuni25DFuni25E0uni25E1uni25E2uni25E3uni25E4uni25E5 openbulletuni25E7uni25E8uni25E9uni25EAuni25EBuni25ECuni25EDuni25EEuni25EFuni25F0uni25F1uni25F2uni25F3uni25F4uni25F5uni25F6uni25F7uni25F8uni25F9uni25FAuni25FBuni25FCuni25FDuni25FEuni25FFuni2600uni2638uni2639 smileface invsmilefacesununi263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647spadeuni2661uni2662clubuni2664heartdiamonduni2667uni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi27C5uni27C6uni27E0uni27E8uni27E9uni29EBuni29FAuni29FBuni2A2Funi2B12uni2B13uni2B14uni2B15uni2B16uni2B17uni2B18uni2B19uni2B1Auni2C64uni2C6Duni2C6Euni2C6Funi2C70uni2C75uni2C76uni2C77uni2C79uni2C7Auni2C7Cuni2C7Duni2C7Euni2C7Funi2E18uni2E22uni2E23uni2E24uni2E25uni2E2EuniA708uniA709uniA70AuniA70BuniA70CuniA70DuniA70EuniA70FuniA710uniA711uniA712uniA713uniA714uniA715uniA716uniA71BuniA71CuniA71DuniA71EuniA71FuniA722uniA723uniA724uniA725uniA726uniA727uniA789uniA78AuniA78BuniA78CuniA78DuniA78EuniA790uniA791uniF6C5uniFFF9uniFFFAuniFFFBuniFFFCuniFFFD dlLtcaronDieresisAcuteTildec6462Grave CircumflexCaron fractionslash uni0311.case uni0306.case uni0307.case uni030B.case uni030F.case thinquestion uni0304.caseunderbar underbar.wideunderbar.smalljotdiaeresis.symbolsEng.alt¸€@t˜þ•»”»“ú‘úG»GŽ2–Œ2‹dŠ–‰ˆ‰kˆ†…þ„ƒ „úƒ ‚Œ‚þ‚À€YŒ€€&€Y€@&~2}þ|{zG{þ{¸ÿÑ@ÿzyAzGyAxw2xkw2vþuþtúsúrþqp%olþkj j ii€hghh€gg@fþeþd:d}cbcbaba`;`2_^_^];]d\ [Z»[þZY]Z»Z€YX%Y]Y@X%WþV;V}U:U2T;T'SRSdRQ–PdOSM;M2L:L2KJ;JdIþHþGF F F@ED.EþD@ÿ.CBA»BþA@]A»A€@=%@]@@?k>=%>»=%<;4K–7 7   @6ú 2 ú  2X}X–¸d…++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++pyzo-4.12.3/pyzo/resources/fonts/DejaVuSansMono-Oblique.ttf000066400000000000000000007304641421373005400237340ustar00rootroot00000000000000 FFTMYôRÜ,GDEF0h%öHDGPOSTµÂŒÈGSUBEb7TþOS/2ì¯äíTVcmap­Óy¬Îcvt ÁÕç&|¼fpgmç”ñÄ8‹gaspÄ glyf•ÈùÐÜ headõÅìÜ6hhea B/í$hmtxAz6í8„loca^d¼(ümaxpC*¸ nameØn.:*Ø!fpost½ŸàYL@`prep8ÿ‰¬DîÆÔ.™É!É!<`aabcdqr ! " # $ = >Lcyrllao latn*ÿÿÿÿÿÿmarkÈ¾Ø ntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬cI cI aG /þu ^D 0þv `F dJ `F 1þw dJ bH cI ;jS9 ;jbI ;jfM ;iaG aG dJ G- `G aG Z@ D^aadq>DJPV\bhntz€†Œ’®t|w|w|w|wÑÑ€t’`…~Œ~€`Ñ~Ž` €¦cyrllao &latn0SRB ÿÿÿÿ4ISM I K _ q Ž œ µ ¹!!!!!!!"!$!&!+!.!_" """" "-"="i"‹"’"¥"Æ"Í"é"ï####!#(#+#5#>#D#I#M#P#T#\#`#e#i#p#z#}#ƒ#‹#•#®#Ï$#&&<&G&g&o'Æ'à'é)ë)û*/+,d,p,w,z,..%..§§§'§Ž§‘öÅûÿýÿÿ  Íßæôøü!$CLP»ÆÌÐÖàîóCXatz~„ŒŽ£Ððbr¢ªºÀÇËÏ1Ya‰„‡Š”™¡¥§ª­»ÈÐ,0bw{…›¹0Th|›Ÿ¬°¶¼ÆÊØàèîø HPY[]_€¶ÆÖÝòö   & / 9 < E K _ p t   ¸!!! !!!!"!$!&!*!.!S!"""""'"4"A"m""•"Å"Í"Ú"ï#####%#+#5#7#A#G#K#P#R#W#^#c#h#k#s#}#€#ˆ#•#›#Î$#%&8&?&`&i'Å'à'è)ë)ú*/+,d,m,u,y,|.."..§§§"§‰§öÅûÿùÿÿÿãÿÂÿ¹ÿ¸ÿ¶ÿ²ÿ±ÿ¯ÿ®ÿ¬ÿ«ÿ¥ÿ£ÿ¢ÿžÿœÿšÿ˜ÿ—ÿ“ÿÿƒÿ€ÿlÿdÿRÿNÿKÿFÿEÿDÿCÿBÿ4ÿ2ÿ$ÿÿþþþøþôþòþðþîþØþÐþ½þ»þºþ¹õÃõÂõÀõ¿õ½õ·õ¶õµõ´õ³õ±õ°õ¯õ¤ó¢çç˜çŽççˆç|ç{çuçdçbçYçDçCçæÿæýæ÷æóæñæðæíæãæáæÝæÛæÓæÑæÇæÅæÃæÁæ¿æ¹æ·æµæ³æ±æ°æ¯æ®æ­æ«æªæ©æ§æ¦æ¤æ£æ¢ææœæšæ’æ‘ææŠæ‰ævæfædæcæ`æ^æææ æææææåÿåüåúåÖå¦å¥å¤å£å¢åœå–å“ååå‹ålåfåZåUåEåDåBå@å=å;å2å1å/å-å,å*å)å'å&å$å"å!åååååå äêä—ã»ã„ã‚ãjãiâáûáôßóßåß²ÞÐ݇ÝÝ{ÝzÝyÛáÛØÛÐb÷bóbñbb\! +   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a†‡‰‹“˜ž£¢¤¦¥§©«ª¬­¯®°±³µ´¶¸·¼»½¾¼rdei¾x¡pk#vjóˆšÀs÷øgw¨µ´Çl|쨺cn¼TÛ¬m}Àb‚…—°±¸¹´µ¹ …Á: ÊË " #½y¶º„ŒƒŠ‘Ž•–”œ›ódtqpqrzuse##¸Ë¸ª¸¸‡¾‰ºË¦ü¸ÓǸX!œÓ¸¸#/Ù¨¸{{¸R¤fÍÑ͇‡“¤oƒÝ´‹˜Z´ºÅ!þ˸¸ô7öª={fššƒÕsÕ þá+¤´œbÕ˜‡ÕÕðb¤Õ#Ӹ˦¼3N{T…\q#wé!`jÏÕ#fy```{œ¸w`ªéø{Å{´RNNÑfœœfœfœÍúƒ‘þHF?{L˜¢'5oojo{ªª-–{öª{=“föoD7fî…´}s¶, °%Id°@QX ÈY!-,°%Id°@QX ÈY!-,  °P° y ¸ÿÿPXY°°%°%#á °P° y ¸ÿÿPXY°°%á-,KPX °ÝEDY!-,°%E`D-,KSX°%°%EDY!!-,ED-ÿÿhþ–h¤@ ÛÛO/ÄÔì1ÔìÔì0!%!!hüsüåþ–øòr)s`Õ Y@.   :TSQ ÔäôÄÀ991/äüì0KSXíííí9Y"3 #3#–ÊX¢2sË2ÊÕýqþ›eý¸þRªÕ@UQÔìÜì1ô<ì20###®Ñ®ÕýÕ+ýÕ+ÿúѾP@5 X X    ÔÌ91/<Ä2Ô<<ì22Ô<<ì220#3 33!!!!###!7!!7! öSõiöiŸh'ÿT'þþh hõi iÿ'Tþþ'h…þ²‡þaŸþašþ²™þbžþbž™NšŸþÓ; 0l@@()%/0%W$ZXWZX!0 !()/ %$, 1ÔìÔìÀÀ9991/Ä2ÄìôìîÆöî9999902654&'#.'7.54$?3.'+uVŸ^®Pw—Te;_À_#Q½hZ°Ÿ Ñ0d/UœH AšYQ®²þîØ LþE‘tNUÍš‰cEJû¶-.+´73#'#"&547.54632.#"326773>J ¨zk{Ç;_ÈhÃëǼöÏA|9#*zLq‰,_‡‹¬A’G‹ýÓBÍ‹¨þófÝqGGÖ¯¨!g4l7®Ó·&&s^/ƒ¸IÅuw 96ª¾Õ·QÔì1ôÄ0#¾®ÕýÕ+uþò @hg   ÔüÄ9991üì0 #&5ìï;< OJüþÓýþÒ’þÒ¢½:Ž/W–þò3 @hg  ÔÄì9991üì04'3–ìï;< NKþþüþò,c/’.¢¼þÅŽþÑý©þë¦J+ðN@,  i i a    Ô<ì2Ü<ì2991ôÔ<ì2Äì2990 %#'-73%+þšf9þ°sþ°9fþš9PsPßÂÃbËþ‡yËbÃÂcËyþ‡ËXqy“ '@m lm    Ô<ìü<ì1Ô<ìü<ì0!!#!5!¼½þC¨þD¼“þDªþD¼ª¼Ëþáœ/5@:onÔÄäÀ1üì0KSXíí9Y"3# ü)þñ™¬/Ïþ/ßZƒ·ÔÄ991ÔÌ0!!P !ýöƒ¤bš//@:nÔäÀ91/ì0KSXííY"3#žü<ü/þÑÿB#Õ@ :QÔÄìÀ1ôÄ0KSXY"3T¿üª¾“ùmbÿãoð /Â@ c'cae0$ -0ÔìÄÔìÆ1äôìîÔÆ0@’////////// / / OOOOOOOOOO O O  ŸŸŸŸŸŸŸŸŸŸ Ÿ Ÿ 0////////// / / ÀÀÀÀÀÀÀÀÀÀ À À ]]4632#"&#"&47>32267654&#"áP77ON87PŽsTTߔürUUݓþý‹P‰/E]bkPŠ0F\gî7PP78NOE¿þEŠˆöÀ·†öûg`Œ°š‹f_‹þ_½Š{ÓÕ T@* :ccQc   ÔÔÄÀ99991/ì2ôìÔì0KSXíí2Y"7!7%3!!œ9Ýþ #`Ëþþ5!üɪuL¸JúÕªfð\@ÔÔì99991@ q cac/ì2ôìôÄ9990@í9í%!!7754&#"7>32 ¬ ün!7'€r\Ô~)pÑa¹äGR!¬´ªªª#×Ë]jCDÌ12›`­g*ž›ÿîÿãNð(J@+c W q cW qc#ae) )  & )ÔÔìÔì991Ääôìôìîöîî90!"&'732654&+732654&#"7>32úr€þ±þèlÍ^&[¾b¶àŠ™ šžº{RÂq%{ÂT¼Ø³¤~êþä%%É45»•uy¦–|d_((º!°˜™Ï?Õ s@>      : cQ     ÔÜÄÀ991/äÔ<ì290KSXííííííY" !33##!7JýÙœé¾ÆÇFÆEý†$ýÍü3¤þœd¿ÿãTÕ j@8  : cWbccQe!   !ÔÔìÀ9991ÄäôìîöîþÄ90KSXíí9Y"!!>32#"&'732654&#"`ô!ýÅH/Y,¼æi`Xãl»H)T°^ºô¡ŽO¥KÕªþ‘ã¹|êVPP!Í32ꮀ’(&\ÿãhð *;@ ccr W bc(ae+ "+ÔìÔìÀÀ91äôìôìõÆîî04&#"32.#">32#"&5476$32\tk’Æzk $:ˆKÁû7D»q²ÁPDNÇzËÝNDb1ÏKŽRqzü¾y‰ 'º%'þáþåfiǸwîSa`êצf’××®¼Õ5@:cQÔÄÌ91/ôì0KSXííY"!#!¨üÛÙ ý<Õ^ú‰+)ÿãfð #/?@" c* c$cae*t0 '-!0ÔÄìÔìÔìî991ìäôìîî9904&#"326.5432#"&546"32654&5„vŽ·†p”µþykl(ֲߠ~€þÐíÏíÑɤuf{¨xÍt„Åši~¸â&‘i¶¶ã)¦…Ñþï̳¦ì`¡|cr®}[l?ÿãLð *3@cr c( ca(e+"+ÔìÔì91äôìîÖÆõÆî032654&#"732#"&5467>32#"&Jtk’ÆxkÄþõ#:ˆKÁû7D»q²ÁPCNÈzËßNDbþÎÐKŒqzü¾zˆþôûÙº%'fiȹvíS`aëÖ¦þš’ÖØX#%O@):nunÔäôäÀ91/ìôì0KSXííííY"3#3#'ü<ûYü;ü%þÑþ9þÑËþá#' Z@.   :nonu   ÔÄäÔäÀ991äüìî0KSXíí9ííY"3#3#“ü)þþ™Ÿ½ü<û/ÏþÇþÑXyw!@wvüì291ôì90 5yü®Rûß!ÁþÀþ÷¢¦¢X`y¢@ llÔ<Ä21ÔìÔì0!!!!X!ûß!ûß ¬BªXyw!@wvü<ì91ôì9055X!ûßRÁ¶þ^¦þ^·=F`ð!@H !!!:c caS  ! !"ÄÔäÖî9991/îöþÔîÅ9990KSXííí9íY"#7>?>54&#"7>323#`¾MqkUGpcOÅi$mÊe™Áa‚iT<öË1Í‘š[‚^[Ho8JRGB¼98£~^¡lVFfVþòþÿãþþu @o@5.1*@ xx -*x1!x1:A@= -. ='=4AÔÄüÄîî9991ÔÄüÄþÄÕÄîî999990@ ””––]2654&#"#7#"&54327>54&#"3267# 476$32Å}®eX{¬c´3ŽQƒ¦¶T’‚Žþù_TXá9xC-BŽSþàþ¥|n&Ÿ½à Ó˜`nÑ—ap}o?D¸‘Ü9H=+#4~Œœ}þÕþÿþÚƒ{=É‘ƒŽÑ°M/ÿ–Õ v@B      :cyQ    ÔÄ91/<äôì90KSXííííííííY" !3#!#ßþ”®¢ö¦É#ýø¸Ù-üú®ú+…þ{Õ u@@       :c cQc z   !ÔäÔìÔì9991/ììôìî90KSXí9í9ííY"32654&# 32654&#%!2)mkø¸Ãˆ{Xô—­o}þb»Ëиœ}…þÁþÝþ<ÉýÝ®¤kffþ>‘^T¦ŸššÏž|êþüsÿã¼ð2@|{c|{c ae  ÔÄì9991äôìôìîöî0%#"5476$32.#"3267°T«[æýŒrk¥PžK)@ŽP_¢Ghœ“UµX5)) ðܰ‰‚|*(Ï?>QS{þ€Á­¸@=ÿøjÕ P@(   : c Qc   ÔäÔì99991/ìôì0KSXí9í9Y"%267654&+ )D¹àD6E¤ÁrâgTGhþÉþ÷þÑ#¦}s?…°˜ûw/øü¢þ¨…¿£Õ5ÍÕ X@0    :ccQcz   ÔäÄ991/ììôìî0KSXííííY"!!!!!!Xu!ýTV ýrh¾!üwÕªþFªýãª\îÕ S@,    :ccQz  ÔäÄ991/ìôìî0KSXííííY"!!!!#o!ý\Vd ý›‹ËÕªþHªý7Nÿã˜ð)a@3&))#$"%):%&"&c("c|{cae*('&%)*ÔìÔÄ9991äôìôìþÔî990KSXí9íY"%#"5467>76$32.#"3267#7!ÉWÎuèù! #^8k¦PŸM)AQb¬D,N"#ž‘Dl%LÙš`>? ùZËou½C‚|*(Ï?>SQ4œarÈQ«º%#‰¦ÿøÙÕ {@B     :czQ   ÔäÔä9991/<ä2üì0KSXííííííííY"3!3#!#Êv)vËþÝÊ‹ýÕ‰ËÕýœdú+Çý99˜Õ ?@"  : cQc   ÔÄ91/ì2ôì20KSXííY"!!!!7!!Z>!þÆß:!üÂ!9àþÆÕªûªªÿçÿãNÕU@.  : {cc Qe  ÔÌ991äôìîöÆ990KSXí9íY"'73267!7!#"&-H¸gŽ(¤þƒ!HÅ8ðîaÈ=ìOS’ÎDªüþßã.ÿøJÕ j@;      :}   ÔäÌ991/<ì290KSXííííííY"33 ##ÊæþýA¬Ûþ˜ÁpËÕýy‡ý•ü–å¨ýÃN Õ8@:cQÔäÄ9991/äì0KSXííY"3!!qÊþþÑ!üeÕúÕªÿÅ Õ ´@D     : }   ÔäÜä99991/<ì2Ä90KSXííííÉÉÉÉY"²]@&  ]]!!# ##å nžþݺþNsÿºÕý ôú+/üåúÑÿú×Õ …@<  :}  ÔäÔä9991/<ì2990KSXííííííY"²]@  )]!3!#ïÃþÝÿþøðÂÕû3Íú+Íû3Rÿãð)!@c c'ae**ÔìÔì1äôìî0%267654&#"#"&47>7>32öU/J\inUŽ/L\i÷-+C'XÚ‘ÉÂ++C'XÚ‘ÊÇf_‘œ¾Ž‡f_“þh¾ˆunþþˆ\’;yöoÿˆ\’;yõ3´Õh@6    :cc Q   ÔäÔì99991/ôìÔì0KSXí9í9í9íY"32654&#%!2!##mê¥Å|‚þm¸ÎØþÀþèéuË/ýÏ¿Ÿlg¦¸®ùþâý¨Rþòð-3@c%c ae.+"+.ÔìÔì991Ääôìî990#"&47>7>32267654&#"ø ×Å++C'XÚ‘ÊÃ@%6ŒOšš¼U/J\inUŽ/L\iîoÿˆ\’;yõÿSÅot¬C_ˆ!¼\•f_‘œ¾Ž‡f_“þh¾ˆ Õ™@R       :c c Q      ÔäÔì9999991/<ôìÔì9990KSXí9í9íííí9Y"#.+#!232654&#þHW6yÉj,mnÀ{Ë! ÏãÏþ)fÛ£Ã~ˆÁj±þhyœbý‰Õ³£·ðWýpiÿã{ð'³@:    : |qc|qc%ae(  "(ÔìÔìÀÀ99991äôìôìîöî90KSXí9í9Y"²8]@<'''))))777  (((%%%%88VVVV]].#"!"&'732654&/.54!2{'Q®]¥Ðby£—þ´þáhÉd)bÉp¥ÎX…e¸“J Pµ¢Í;<¤GX('2§ëþí--ÑEB°‡RZ)!:“yÝ( 5Õ@@:cQÔôÔÄ99991/ôì20KSXííY"!!#!Át!þ+ÿÌþ+ÕªúÕ+PÿãÏÕ~@K   : ceQÔìÀÀ991ä2ôì90KSXíí9í9íY"33267>73#"&546s²Ë³mnY|--²Ë²*_NG¶jÀÏ=˜üh š;\\9>—‰˜ühÛÍ?8;´¦%~Ç+ÕJ@':}ÔÄ91/ì290KSXííííY"%3!3þV×ý1þþ“ƾú+ÕR`Õ ç@J        : }    ÔÄ91/<ü<Ä90KSXííííííííY"² ]@\  ;u Ÿ Ÿ      )%& 86736 FFCE ZVTU kfch e zvvy u „‰ ƒ “™ ” %]]333##‘¿ZIÓyÆþÂþ¼ÕûF üÞ¼ú+füšÿ9Õ ~@H      : }    ÔÌ91/<ì290KSXííííííííY"33 ##òÈà¸çý¬DÉþþç‘Õýìý1üúdýœÃDÕf@5:} ÔÄÄÄ9991/ì290KSXííííííY"33#ÃÊìñÚý…σÕýu‹üÉýbžÿúúÕ 9@:cQc   ÔÄ91/ìôì0KSXííY"!!!7!1Éü-"ü Ðý)Õšûoªš‘þòG@":~~gÔÄÔÔÄÆ991üìôì0KSXííY"!#3!m§ðþÕðþVùüdÿBÕÕ0@:QÔÄÀ91ôÄ0KSXííY"#3ժǪ¾““þò C@ :~~gÔÄÔÔÔÄ991üìôì0KSXííY" !73#7 þ›þXð+ðøÞH¨‰Õ@ QÔÌ91ôÌ290 # #ÁȲþ‘þ’²ÈÕýÓ‹þu-þÑþmµ€/Ì1Ôì0!5Ñû/þmPPÅîPf2@ ‚ÔÌ91ôì0K° TK°T[X½ÿÀ@878Y#‹ÅüfþˆxHÿã?{ .ð@a! "   : % ‰ ‡&W%ˆ"‡)†e,% &,/ÔìÔì99991/Ääôüôìîî99990KSXíí9í9í9í9í9Y"² ']@65$0%0&5'         ¥   ¦¦¦¦¦¦ ¦ ¨¦¦¯' ]]"326?#7#"&54$!37>54&#"7>32´wt+DRgX”×&Ç}¸ HÄn™·5ö ~uVÇo#lÂYºÏ 3{IScÔ¹)Lý¦^e§ŠÄë= U[33´''¤‘ h;ÿãT%Ž@L$#  $#"$# !#$#$#%$$#:! ‡‡e†$‹""#%!#$ $#&ÔäÔì999991/ìäôìî990KSXíí9í9íí9í9Y"%267>54&#">32#"&'#3Tˆ.19eeS‰30:k>¤f¤¶RHLÛ|b…"¹/¹ZV^èl€€\XVéo{…RTVϺ‘þàlsVTœÿãq{4@WZWZ‡‡ †e   ÔÄì9991äôìþôîõî0%#"&547>32.#"3267¬I§Zàæk[]ß…Y¦O%BŒUnª<8?‰ˆ`±S3')áÜ•bcb++¶:6YYRÓh‘>?wÿãå%Ž@L  $%#: ‡# ‡e#†‹ &ÔìÔä999991/ìäôìî990KSXí9ííí9í9í9Y""3267>54&3#7#"&547>32®X†.16feU‰018mªs¸þѸA¥d£µPEKË|a’ßWWZås€€ZXWçrx†CùìTVÒ¼!lvxWbÿãf} &\@"‰ W&Y#‡ Œ‡† e'  &  'ÔìÔì99991äôìäþôîî0@h hooooo ooooo ]]>54&#"#"&547>32!3267ª‚t{Ë,uiÈgßèxjSÉmºß üÙš“XÑr“#x†´˜ý¦++ßÖœ,mVZå¿"eN 4‹’98Ýj@9     : ‰‡‹      ÔÄä999991/ä2üìî2990KSXííííY"#"!!#!7!7>3ÝÐ_`þ¿¸¾þÕ)&Á»™Secü/ÑNÁ¥;þHy{.¦@[ ... ..-.)*+(,..: , W‡ ‡ ‡)† Ž-/-,. .#/ÔÄì9991ääÄôìîîÕî99990KSXí9íí9í9í9í9Y"%267>54&#"#"&'7326?#"&547>3273O….17pdšÓr5þõ÷RŸK%IP•¤%:®nš¶PHJÐoe˜"¸‘ZTZàjw…þ¯ÿw‡Iþññ¶,. ºuW[׸‹jp|aU—TH’@R    :  ‡†‹ ÔäÔì99991/<ìôì990KSXíí9í9ííí9Y"#67654&#"#3>323‡¸‡]W²!{¸/¸tK¯b‹š ¶ýJ· G'QWº¨ý‡ý¤ab‘‚ ^=ì h@7   : ‰‰     ÔäÔÔÄ99991/ìì2ôìî0KSXííííY"!!!7!!3#f×¾münm¡þâ¸-¸`ü/BCéþVÛ r@@  :  ‡‰Ž   ÔÄä91ìäôìîî990KSXí9íííY"!7!+73263#òÀþÃöÝ)ʵþé_nJ¸-¸åûŒÕÁœw«éZ´ {@:!!     :‹   ÔäÌ991/<ìä90KSXííííííY"²w]·v}p]]33 ##‰¿ª%ñýøuÕþͨX¿ü–¶þZýFF…þ?7Ñ]@/:‰‰    ÔÄÀÀÀ99999991/ìüì990KSXíí9Y";#"&5467!7!XY[ÓÏ­© ÓþÄô˜#6IHœƒP.óÿòš{+Ô@e    $%"%#""%:!  &$ ‡)†$" $"%  &!"% # %" ,ÔÄìÔäî.999999999991/<<æö<î299990KSXíííí9íí9Y"K° TX½,ÿÀ,,@878Y>32#>54&#"#>54&#"#3>32ì'}MVg¨}.3KT+}¨}/1JQ-}¨Ù¨,o@K\îDIm\6ˆkýw\u?8ßýaq=:wéý``323‡¸‡]W²!{¸Û¸ K¯b‹š ¶ýJ· G'QWº¨ý‡`¨ab‘‚ ^uÿãZ{ !@‡‡ †e  ÔìÔì1äôìî0"324&'2#"&547>¸¤Ûpp¤Ûp_ÄÍRJOâ“»ÊRKOßßþªþøVœÖΊþïmvvÛˇqtxÿþþVh{%@N%$#" ! :‡‡†eŽ&&# &äÔì.99991äääôìî990KSXíí9í9íí9í9Y"%#3>32#"&7267>54&#"%o¸-¸=¬d¢²OFKÌzdèQ†-18gfU‰018pýÉ RXлþànvzTHYU\çqZXXär{…bþV{{%s@=  :‡‡ †eŽ&# &ÔìÔä999991äääôìî990KSXíí9í9íY"%#"&547>3273#"3267>54&=¥f¤¸RHKÑ‚d‡#¸þÕ¸Uˆ.19efRŠ20:kTVÏ»Ž"pvxUUùö‰XV^èl€€[WUëp{ƒÙÃ{h@7       : c†    ÔäÌ991/äôìÔÄ990KSXíí9í9íY".#"#3>32 -wL¤ê&k¸Ù¸(CÕ‡Gs(y,,åÇýÛ`Ûx~%#sÿã5{)Ø@;  !    ! : !WZWZ‡‡'†e* ! $*ÔìÔìÀÀ99991äôìþõîõî90KSXí9í9Y"²]@`++''99IIDDYYYY)iiii)yyytty)šššš) ' ' //55GGv]].#"#"&'732654'&/.54$325#GM‰—ÝHutþàîQ°c%^±S…¨Ä CyàX¢9´-/f\b8{\µß##¾55w\c4!€gªÉ!Ãdžp@@  : ‰ ‰  ÄÀ9991/ìô<Äì2990KSXíí9ííY"!!;#"&5467!7!=¡þ^wNfÏß§ wþÕ+>žþÂý 3B5“ovD/`>}ÿåm`‘@Q     :  ‡e   ÔìÔä99991/ä2ôì990KSXíí9íí9í9íY"332673#7#"&546…¹‡]U°!{¹Ú¸!I²iƒ˜ ª¶ýJ%DOU¹©yû ¨ba“~']¶¾`J@'!!!!:ÔÌ91/ä290KSXííííY"33#¶²šöÆýšî`üD¼û \#` ñ@J      !!! ! :     ÔÌ91/<ô<Ä90KSXííííííííY"² ]@f   * J ‡ ’Ÿ Ÿ ¦¯ ¯    *$ :4 GCD ZZ T kfh c yxy u ƒ‰ € ™—“¨£¨   !]]333##\° ¢1j¿þ¥<þצ`üwBý¾‰û oý‘ÿº¸` ~@H!! ! !  !  !!!:    ÔÌ91/<ä290KSXííííííííY" ## 3¸þ>Åôþ_â4þÛÄÙq`ýÝýüþDT þu‹ÿÙþVÉ`~@F!  !!!!!:  ‡Ž   ÔÌ991ä2ôì9990KSXííííí9íY"+7326?33>g›6:•`”lQu<+Ù·¬ãÍhkµþíILJš]qTNü¢^Nm` 7@!!:‰‰  ÔÌ91/ìôì0KSXííY"!!!7!?.!üïuü»!ý¤`¨üÛ“¨%¸þ²˜4­@)(54.  $-5ÔÀÀÀÀ9991@: 5'- )'.)~‘)~'‘~g5üìüüüì99999990KSX@* -.-..-    í9í9í9í9Y#";#"&546?67654&+7326?>7>3˜Nˆ^3!xoIP/VaNH»£- bq>=‘~2H6/Š…O–ü ‘gK@&ô!3?9m{D%ì 2-UK“n–ô{'"þ¾·’Ôì1üÌ0#¾¬øÿòþ²Ñ4­@e -.-..-    :-5)  )'.)~‘'~)‘~g54.  5)('*(5Ä.ÀÀÀ991üìüüüì99999990KSXí9í9í9í9Y"7326?>7.546?>54&+732;#"#Nˆ^3!xpJP/UbMJ¼¢- bp>= /H6/Š„þ²O–ü ‘fLA&ó"3@9l{ D%ì 1-VJ“n–ô|Ž'"Xìy &@ ll üÄ1Ôü<Ôì2990#"'&'.#"5>32326yKOZq Mg3OIN’S5dJ t]F‰ ®;73 !;?®<6 7=…sÕ ^@/ :SQ ÔÄôäÀ99991/ôüÄ0KSXí9íííY"#73#3BË1ËþÝËX¢1×þú+eþ›{þÇ?˜$V@3WY WY‡ ‡† e %  "" %ÔìÀÀÀ91Ää2ô<Äìþôîõî990.'>7#.547>73? 1{HªA‹K!K‰?7f7·Ì¢F›V8f7<}þ¨¥åu5¬&,üš-(¬!þâòúD`16þá"ü+`þ·á‚™ÿøÍð@F  : ‰ Wq‡a c  ÔÔÔÔÄÀ9991/ì2ôìôìÔ<î2990KSXííí9íY".#"!!!!73#737$32Í%6y?‹š&+rþZ ü3!íZÆÇ/3ä<‚¶¸+-ªÉÙþ/ªªÑîôÍÃLB /}@B (-  * -'! ÈÉÈ) -0)$ !'$* EFE( $0ÔÄ2ìüÄ2ì9999999991ÔÄ2ìüÄ2ì99999999904&#"3267'#"&''7.5467'7>32d|[Z}}Z[|¦Z¦¨^¦.[20`0¤\¦¨^¦.[3.^ƒZ{{Z\}~t¦]¦1]02[-¦^§£Z¦3].2]-¦_¨/øÕ¢@]  : ° °  Q    ÔÄÀ9991/ä2Ô<ì2Ô<ì290KSXííííííííY"!#!7!7'!73333!! þwbÇbþs7þËöÍÏßËÓþlüþÈn ‰ ýô o#—o1ýh˜ýÏo—#þ¢¾˜@ ÏÏÔ<ì21ÔìÔì0##¾¬¬¬˜ý öüý ödÿ7-ç4Bv@E$%B<;5& %, X—˜X—˜2aC$%5 "<%&,/B;"%/"%8%/?%)CÔìÄÔìÔìîÀÀ999991Äôìôìîöî9990.#"#"&'732654/.5467.54632>54&/-!G‰:g„†V|U„r))óÇF™S!J=p…· J}P€v)%ðºG“þÄTXk“PRVU~®¤&(bHOZ ;VuEe´5#Z7Ä¡$'^Nb| 3UoI`¬?%P5•ÃûÆ3o75p^34p73`S´F-n@¦ÔÜÔÌ99991Ô<ì20@@@@@PPPP]K° TX½@ÿÀ878YK° TX½@ÿÀ878Y3#%3#ÛË'Ë®Ë'ËÊÊÊ}ÑN1ID@' £ £¥&>££¢>œ2šJ- /,(8 (8*D/æþÅþå2î1ôìüôìÔìþýîÖî0.#"3267#"&54632'"3267>54&'.'2#"&'.5467>`:o:u‡Œ‚8g24r=´Ïг=rÄjµKKMMKLµijµLLKLKKµkÚZZ\[[[Ú~}Ú[[[\ZZÚ/l•€„ŽhȬ­Ê¡JKK¸jh·KLLLLLµij¸KKJgZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZßÕ ð +/o@?  .¼,·#¹"¸·,º ¶·&a0 .- )/,0 #"6)60ÔìÔì9999991ôìôÄÄììôîîî9990"326?#7#"&546;47654&#"7>32!!Ù”‹I"3267>54&'.X“XP:&rk1=-7‚èffZJJDÚZZ\[[[Ú~}Ú[[[\ZZÚ~jµKKMMKLµijµLLKLKKµLbeG]C;º®P*þضTè6?>5VZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZgJKK¸jh·KLLLLLµij¸KKJ¸b+ö@ ÌÔÄ991Ôì0!!ÕVýªö”+u¦ð @• –•a#$# Ôìüì1ôìüì02#"&546"32654&hAu,-/º†‡´¸…OomOPqpð1.-rB„·´‡†ºoPPlnNOpXy“.@ ¬ l¬ l   Ô<ì2ü<ì21/ìÔ<ìü<ì07!!!!#!5!X!ûßd½þC¨þD¼ªª“þ·ªþ´LªI3œßðj@5ÐÐ: ÐÐ ÐÑaKÔÔì9999991ôäìÔìî99990KSXí9í9Y"!!?$54&#"7>32ì‹ýÓª!9J?3zST}5vˆþËrnŒýi3=%)o^‹ó×ð(H@*Ð Ð Ò ÐÐ ÒÐÑ#a)   KK& )ÔÔìÔì991ôäìôìÆîöîî90#"&'732654&+732654&#"7>32HNЯB;Ch2p‚UYHHavVV*e<Gz7yƒr\ [Gƒžy\NC@jP@33sd[Ot?îff/·‚ÔÌ1ôì0K° TK°T[X½ÿÀ@878Y3#‹ÛþuœfþˆÿÙþV‡`&§@\   &#$"% :%   ‡c"e Ž'&'  %'ÔäÀÀ9991ää2ô<ìì99999990KSXíí9í9íí9íY"3326733267#"&5#"&''-»ˆmf‰¤!º¨ (J!CO5‹b\| mþV ýH6[a¦ªü¢  ”UIRLSSýÍ}ÿ;uÕ g@0  :Q  ÔÔÄÔÄÀ99991Ä2ôÌ90KSXÉÉÉÉ9Y"!###.54ß–þ¸‹/¿þѤ±ÌZÕùfùáN¾¡ÑÇ/þ`/@:nÔäÀ91Ôì0KSXííY"3#þ;ü`þÏÿÿ¶þusª\œšß X@. JJ:Ð Ð ÑÐ`     ÔÄÀ991ôìäÔìî20KSXíí2Y"3?33!qÎuçî‰Íý× c)t'ý+nßÕ)ð!7@ ¼º·¶· a"  !"6 6"ÔìÔì99991ôìôìüì0"&5467>3232654&#"!!y˜®A8=¢Z—­@7=¡þûcWjœcWk›Ù¤ý\ºµW²CJN¶žX°BJNTixØ—ix×ýª{RZ# 3@ Å u   CCÔüÔì991ô<ì2990?777R+^ú#ƒT+^ú#ƒÓ °þ^Rþ^Ó °þ^Rÿÿ/þòm{'؉üV'{þþœ 0ÿÿ/þòy{'{þþœ& 0tšüVÿÿ/þòmŒ'؉üV'uÿœ 0ÿåªÕ!@J !!!:S WY ce Q"  ! ! "ÔìÔÔä9991äôüôìþÅ9990KSXííí9íY"33267#"&546?>7#73¿PojUGodOÄj%lËe˜Âb‚hT=öË1ËDš]ƒ]YHo8JRGB¼98£~^¡lVFfVþÿÿÿ–k&$ -3uÿÿÿ–Ek&$ +3uÿÿÿ–3m&$ .3uÿÿÿ–…^&$ ,3uÿÿÿ–LN&$ *3uÿ–m !”@Q   !! !!  !:  c “ [ y   " ""!"ÔÄÔìÔî99991/<ææÖîî9990KSXííííííííY"4&#"326!.54632#!#œY?@WW@?Y½þ”®É33Ÿsr¡PFšÉ#ýø¸ÙZ?YWA?XXîüú`#kEr¡¡rQ ú–…þ{ÿoÕ‰@P   :c ccQc§z  ÔÌ91/<ìììôì2îî0KSXííííííííY"!!!!!!#!!þ®V3!þÍjd!ýâKþ °¸¼\þœ5–ÕªþFªýãªþÕªüüÿÿsþu¼ð&&ªdÿÿ5Ík&( -`uÿÿ5Ík&( +`uÿÿ5Ím&( .`uÿÿ5ÍN&( *`uÿÿ9˜k&, -9uÿÿ9˜k&, +9uÿÿ9˜m&, .9uÿÿ9˜N&, *9uÿøjÕk@;  : ‰ cQc    ÔäÔì99991/Ä2ìôìî20KSXííííY"%267654&+!! )#73D¹àD6E¤Ár[ þökgTGhþÉþ÷þщ{¦}s?…°˜þ+•ýá/øü¢þ¨…¿£Å•{ÿÿÿú×^&1 ,/uÿÿRÿãk&2 -+uÿÿRÿãk&2 ++uÿÿRÿãm&2 .+uÿÿRÿã^&2 ,+uÿÿRÿãN&2 *+u–®;T .@     Ô<Ì91Ô<Ì290 7   –^þ¢t^_tþ¢\tþ£þ¤%\^uþ¢^uþ¢þ¤w^þ¢ÿº° 8o@;)9$863 '$*73(c$c3a$e9)9(*-7  '-6 8 -9ÔìÔìÀ999999991äôìîÀÀ99999990%3267654&' .#"#"&''7.547>327B^Bp¡=26ýyf[8q¡<2:$iSXðžQ‡6^cwhTXïŸMƒ6Tdå,2¤®‘'{#ý)u'+¤®”þÏl ¨<[ÄþZ”š—..…@ª:VÆ¥•™–++}@ÿÿPÿãÏk&8 -7uÿÿPÿãÏk&8 +7uÿÿPÿãÏm&8 .7uÿÿPÿãÏN&8 *7uÿÿÃDk&< +9u3‡Õ ‹@I   :c cQ   ÔäÔì999991/ôÔìÔìÀ0KSXíí9í9íí9í9Y"#32! 32654&#FHË#Ë3ñÏÙþ¾þè`iê¤Æ|‚mþ“Õþî°§ìþï¶ý縘gb7ÿãf5©@[#$# $$#45512035:3*$ #0W‡0‡‹e445$'# 35'*-  '' '-56ÔÔÄüÄîî999999991/äþîþÕî990KSXí9íí9í9Y">32#"&'732654&/.5467>54&#"#*ï˰¾ ®É)<3sQþýÞG†A;…Gƒ—6U=Z8˲h\yŽÛ»qÔÏ •!F$‡`&=,'U…W·×¤ !}l4R?/D\?ƒÀ$OY‡‰û“ÿÿHÿã?f&DCÿÿHÿãjf&DvÿÿHÿã?f&DdÿÿHÿãZ7&DtÿÿHÿã?&DjÿÿHÿã?N&DrÿÑÿã¾{ OP@…'O'OO'  ';:987<6'5':+ $!F@6?$O4‰%W$ˆ!‡(@W?ˆ<‡ŒIC†.(ePOL?965F$%+4@L'1PÔìÔÄÔÄ99999991ä2ô<ä2ü<ôìþôîì29999990KSXíí9í9í9íí9Y"@`>#>$>%0?0@Z#Z$Z%Z&ooollloooooj#j$j%j2o3o4o5oNoO{#{${%{&‹#‹$‹%‹&%9#9$9%2?2@I#I$I%I&j3 ]]7#"3267>54&#"!3267#"&'#"&546;7>54&#"7>32>32ç1}i##N;Ze=D;SjÕþaUF5";„Hj‹/]€˜ñàuUM1…L#OŠ8Rv2ŒPyºH'!b3Cšƒ'\ÿÿœþuq{&Fªhÿÿbÿãff&HCÿÿbÿãff&Hvÿÿbÿãff&Hdÿÿbÿãf&Hjÿÿ=ìf&óCãÿÿ=If&óvãÿÿ=ìf&ódãÿÿ=&ójãwÿãj!0…@L:! %%‡+‡ e‹1( .(!. ( 1ÔìÔìÀ99991ìÄôìî99990KSXííí9íY"#"&5467>32.''%'3%.#"324&f{qKFMãÁÌLGLç†0 5)þ×Õhÿ%P,³Ýsh§Ô/«þÖ—‹þÿhtx×Ë~ôio{&V:^\VÈ‘X\þ þÈýx„A@eÿÿTV7&QtÿÿuÿãZf&RCÿÿuÿãff&RvÿÿuÿãZf&RdÿÿuÿãZ7&RtÿÿuÿãZ&RjX–yo '@ÇÇl D Ô<Äü<Ä1ÔÄüÔìî03#3#!!îõõõõþj!ûß‹õÙö¢ª/ÿ –¼ '1m@:'2"1( +%&"‡"+‡†"e2'2& 1(.%.  . 2ÔìÔìÀ999999991äôìîÀÀ99999990 324&.547>327#"&''.#"ýêN4£ÜýPKQß“Nx.p]{ RJOâ“J{3w\%I4¤Û9ýW.ý`0€PŽnwu$$‰M’2€TŠþïmvv%%L¾þ¨þô'ÿÿ}ÿåmf&XCüÿÿ}ÿåmf&Xvüÿÿ}ÿåmf&Xdüÿÿ}ÿåm&XjüÿÿÿÙþVÉf&\vÿþþVh%Ž@M%$#" ! :‡‡e†Ž&& &ÄÔì.9991ìääôìî990KSXíí9í9íí9í9Y"%#3>32#"&7267>54&#"%o¸ƒ¸r=¬d¢²OFKÌzdèQ†-18gfU‰018pýÉÉý²RXлþànvzTHYU\çqZXXär{…ÿÿÿÙþVÉ&\jÿÿÿ–i0&$ 7ÿÿHÿã?ö&D‡ÿÿÿ–„m&$ 2ÿÿHÿãJH&D‰ÿÿÿ–þu.Õ'sÖ$ÿÿHþu?{'snDÿÿsÿãÀk&& +®uÿÿœÿãÀf&FvZÿÿsÿã×m' .×u&ÿÿœÿãqf&dZFÿÿsÿã¼P&& 3Kÿÿœÿãq&FŠKÿÿsÿããm&& /®uÿÿœÿã¨f&FeZÿÿÿøjm&' /*uÿÿwÿãèg )Ÿÿ·9Q?}GÿÿÿøjÕ’wÿã‡-Ó@|  "! #+,-+,-*: °Ó‡+ ‡"e+†‹ %.ÔìÔäÀ999991/ìäôìîý<î2990KSXííí9íí9í9í9í9Y""3267>54&!7!733##7#"&547>32®X†.16feU‰018mª>þ´I¸ÀÁú¸A¥d£µPEKË|a’ßWWZås€€ZXWçrx†5y••yúúTVÒ¼!lvxWÿÿ5Í0&( 7ÿÿbÿãfö&H‡#ÿÿ5Ím&( 2ÿÿbÿãfH&H‰ÿÿ5ÍP&( 3ÿÿbÿãf&HŠÿÿ5þuÍÕ'sh(ÿÿbþuf}'sHÿÿ5Ím&( /uÿÿbÿã…f&He7ÿÿNÿã˜m' .9u*ÿÿ;þHyf&dJÿÿNÿã¶m&* 22ÿÿ;þHyH&J‰ÿÿNÿã˜P&* 32ÿÿ;þHy&JŠÿÿNýØð'©€ÿá*ÿÿ;þHyN'•Q.JÿÿÿøÙm' .Ku+ÿÿTHm' .ÿ,uKÿø4Õ3!733##!##73!7Ê+*+Ê+‡ ‡×ÊŠýÖŠÊ׆ †ª,*,Õààà¤û¯Çý9Q¤¤àà,##654'&#"##7373!!67632 †¹‡ (p~ZX!{¸÷} }¸a þŸ>C^^r¬>%¶ýJ·A1B)G[X¯ý‡ö¤zz¤þÂ`21qBiKÿÿ9˜^' ,9u,ÿÿ=97&tãóÿÿ9˜0&, 7ÿÿ=+ö&ó‡ÿÿ9˜m&, 2ÿÿ=JH&ó‰ÿÿ]þu½Õ&,$slÿÿAþuñ&Lspÿÿ9˜P&, 3=ì` C@":‰‰   ÔÔÄ991/ì2ôì0KSXííY"!!!7!!f×¾münm¡þâ`ü/Bÿä¤Ö%73267#7!#"&!#3!73#w)+tD]d%—ù}¶4©›@€þfC ÛØÛ ý½ ÚÙÛ>ìOS’ÎDªüþßã.êûªªþSå !!!7!!3#!7!+73263#-×¾münm¡þâ¸-¸‰ÀþÃöÝ)ʵþé_nJ¸-¸aü/BCéú½åûŒÕÁœw«éÿÿÿçÿã‡m' .‡u-ÿÿþVçf&dããÿÿÿøýàJÕ&©hþ.ÿÿZýà´'©ŽÿþNÚ` 33 ##Y¾[>àýõváþÒ¢W¾`þ/ÑþZýFBþ?ÿÿNIl' +7v/ÿÿ7Im' +7wOÿÿNýà Õ&©lþ/ÿÿ7ýàÑ'©±ÿþOÿÿNRÕ' )§ÿn/ÿÿ7Ô ' ))ÿºOÿÿNbÕ'yc/ÿÿ79'y;ŽOÿãÓ e@8    : Qc     ÔäÄ.99991/ìä90KSXííííY"3%!!'%sÊr)IþqqÑ üdq–JÓý°ÑdþéýϨ3hd´XZ€@K:‰‰   ÔÄÀÀÀ99991/ìüì990KSXíííí9Y";#"&5467'!7!%XY[ÓÏ­© ;þÇJ¨sþÄôs;JþX˜%6IHœƒ#O(Ûc$)ý×ÙbþÛÿÿÿú×r' +I|1ÿÿT_m&vùQÿÿÿúýà×Õ&©(þ1ÿÿTýàH{&©QþQÿÿÿú×m&1 /„uÿÿT~f&Qe0ÿÿÿÞÃ'^þIQ{(þV•ò+7327676&#"#3>32Ï&nn¥Í§Z98Å#T|Â'·Ê#Ê'LÎ~»‡3Ãijœ>>’ñ´©ÚËüWÕÆotþûþú}þVn{$+73267654'&#"#367632\‹&mo¥Í¹Zr‹ 'qXW!{¸Ú¸!D]^s«>%¶ý6Ãijœ|~ÊA2B)G[\«ý‡`¨`21qBjJÿÿRÿã0&2 7ÿÿuÿãZö&R‡ÿÿRÿã„m&2 2ÿÿuÿãZH&R‰ÿÿRÿãøk&2 4ÿÿuÿãÉf&RŽ#HÕ"b@7!"!"!"!""!:c c Q c"!    #ÔìÀÀÀ91/Äì2ôì2î0KSXííííY"%!"&5476$3!!!! ";P!ý¤ÚÖB5VñR!þšWH!þ¹k!v¦/1}{>᪪ÍÑ’lçêþFªýãlm7´~j¦=xzÿúÿãø{,8PÃ@\-'@?6758'@@?  '@? '?@?:8/-59 - E5-‰ Wˆ‡ Œ5‡*†eQB8/.- N N2'N'!QÔìÔì999991ä2ô<ìäþôîî99999990KSXíí9í9íY"²o.]@oo o o jjo-i/o8 ]>32!3267#"&'#"&5467>7>32!7>54&#"267>7>54&#"ß:‡PzŽþ aUF6#;„G_ˆ":Q™;'8´uP|4IB=Skþ7<`(HCA_(Jü?@˜…+ƒTZ[nNX:2¬)+E@AD¦œ6†Ny»GfkDþVL8GN€€ýœGB,•jl‡ MTEF5”`V’$QWÿÿ l' +7v5ÿÿÙ6m'vÐUÿÿ ýàÕ&©}þ5ÿÿ3ýàÃ{&©†þUÿÿ m&5 /BuÿÿÙÃf&UeZÿÿÿã{r' +I|6ÿÿsÿã_m&vùVÿÿÿã{m' .ou6ÿÿsÿãJ‚&dEVÿÿþu{ð&6ªÿÿsþu5{&Vªÿÿÿã{m&6 /9uÿÿsÿãNf&Veÿÿ þu5Õ&7ªÿÿÃþudž&Wªyÿÿ 5m&7 /`uÿÿÃ&W )W*Ÿ3Õ!!!!#!7!!Às!þ-p !þ÷pËpþ÷! pþ+ÕªýÀªý¿Aª@²Vž!!!3#;#"'&54?#737!7!ò>¢þ^-åå- &uÏáÏE+-åå-þÕ+>žþÂéŽé1%91“S5e:JéŽé>ÿÿPÿãÏ^' ,7u8ÿÿ}ÿåm7&tüXÿÿPÿãÏ0&8 7ÿÿ}ÿåmö&X‡ÿÿPÿãÏm&8 2ÿÿ}ÿåmH&X‰ÿÿPÿãÏ9&8r ëÿÿ}ÿåmÇ&XrÿØÿyÿÿPÿãøk&8 4ÿÿ}ÿåÉf&XŽÿÿPþeÏÕ&8sÞðÿÿ}þsm`&XsžÿþÿÿR`t&: .J|ÿÿ\#m&dZÿÿÃDt&< .R|ÿÿÿÙþVÉm&d\ÿÿÃDN&< *9uÿÿÿúúr' +I|=ÿÿNmm&vù]ÿÿÿúúP&= 32ÿÿNm&]Šÿÿÿúúm&= /9uÿÿNmf&]eÝ!#!7!7>;#"-¸¾þÕ)&Á»ÝÐ_`ÑNÁ¥™Se;ÿãT/>32#"&'##7373!!267>54&#"²>¤f¤¶))HMmm|b…"¹÷Œ Œ¹Q þ¯0Tˆ.19eeS‰30:kÑTVϺ‘ms@?VTö¤zz¤û‰ZV^èl€€\XVéo{…TÉÕ!*32676H#!"#7>332676&#ŒWt”¦|”0çÔ"Ÿ€}'þÅûþŸ5E8 œ#à~2j£·ƒ£/þ>orqp¦À±‰¢ ˘ÈÚ//&r1Fµ£üôý݇‹Œ…ÿÿ¾ÕE,ÿãL>32#"&'#!!&#"32¢<­fÊ«56þÚËdˆ¸.ð$ýÈVS^…†´*)_†…ÑRXþÉþïþëþÅWS¸ûý¬ÚÛÕÔÜD`Õ 327676'&#'3)'šjï°WWBB¨Ïëx@"(™™þùþF¸z¯ÉýÝ>=’DE¤¿d¡Ëgh´ä=iÿãn !&#"32>32#"'&'#'S^„†[Y*)/0†„î;¬fÊUV56“’ÌdDC¸¸–ÄY¬ÚmnÕÔnnRRX›œþïþëž+,S´ä|ÿã1ð70732#"7>3 !"&)=œXÅÿ<<‰ÅV·V)Uª[ïGHþtþá[š5Ï=@0230@=Ï))þgþ’þþj)0ÿã8g"%# !2676;".#"3267PUª[þáîG:YL 5n¥T?7 ?VÅÿ/;‰ÅXµU5))–p*™32jœ>5‡F=@þÐïþÎþÐ@=CÿãŽ!%# !2676;".#"3267DS¥RþüèkbF@)Jo¥Z98<ˆ]­å)(¬`¤M9++8(8rGjœ>>~”A:àÐÏá;>ÿÿÿøjÕ’HÉÕ3 !#"#7> 6&!#×éVýJKþvþªé6E8 œ #àaÿû@@˜ÿâÕþ”þ€þ‚þ•//&r1Fµ£úÑûHKûûwdÕ#";7!! &7676%3Ÿï¨¸~°ïþ' †þÞþFþùâ(H‹}ëXɉ’{‰¦ú+ÏË¡d¿ÂAàÕ#";7!! &7676%3|器~°ïþ' †þÞþFþùâ(H‹}ëXɉ’{‰¦ú+ÏË¡d¿ÂvÿãÏ 32676&#"7!#7#"32aS]…†µ)*`†…Y$ðþÒ¸>ªdˬ65%Êf‰LþTÚÜÔÕÛ}¸ùìSW;7XR‹3àÕ !7!!7!!7ßþÞüw!¿iýr!ŽVýT!Õú+ªªºªtÿã\ð7!'&#"7>32 !3276u,#(šV·V)Uª[ý¬LLþ¾þ«KýÂ'!(™š_PéS{@=Ï))þ€þyþzþ€~#úvuHÿã•ð(.76$32.#";#"3267#"&7>Â|i#0ÚI¶s$`¶Y†©„‹š š˜Ð”¦bÑp'nÞgõç(Ã"¤{µÛ º(({smz¦™‚–45É$&ëΕÇÿ„þVMÕ!!!!+7327677"ýµU !ýô%no¥°ŠZ98ÕªþHªý#Ãijœ>>~GþVè$+"!!+732767!7!767676;èÑb..þÂ)deµF1i/0Àþ×(#i,AJb™)(gcüÖ``œ01™åN´\''ÿã@g(%# !2676;".#"3267#7!™`ÚvþäíHG^Qo¥T?6B›_Åþÿ;=…ÆCk0NÙ š{KM—on™jœ>5‡MIþÏþÎþÉþÕ!‘¦GþRcI ! 7 3 3327ÿðP1þcþh¶þ¶ÙáÙüüþø8ÕÍ=Šþ?þuììnå¸ýÕ+ü¦þÓþ¼ŠŠJÿ©¡&#767673#"'&76&#"#367632ã88C=P§P-Ú77*8CBH "{¥.¦vhUUum¶þà™14IBœ›þeäá``Ö —Ž·«ý‡ý¤† 1á9˜Õ!7!!;#"'&7rþÇ!=!þǯ !Z¹ ÙªHE'+ªªüz=>«jfÆ7˜Õ!!3!!#!!7!!7!!Z=!þÇp !þ÷O9!üÃ!9Oþù!pþÇÕªýÀªþiªª—ª@ÿÝÕ676'&0##3ÛÂlœT%€-WEƒÅªôþªºqË"Ëœª r3r%Bs¬üì¤ý¸ÕýhT°7676;#"33 ##&nn¥Í¹Z98`=àýõwáþÒ¢W¾ê”Ãijœ>>~þÑþZýFBþ?¿‘;#"&?#73!7!;+6BY×饌&&ää„þÙß  ÝÝ –|~œÔÂÄŽ§üÉŽÿÒdÕ% ##''3ž‹:þ\¿¹þ.¿Zþe:´d¿½ònþþûÁÀý@‘Jûo |%ÿåÕ"%#"&33267332673#7#"&À0wJ‡F8ǨÅ.FPS-ŨÅ/#JIQ-ŧþÞ§,p?LWrHEÑ!þü ís{åöü ðp{åöú+`>~}þR]{#6&#"#3>32\Ú¹ÚOq®"{¸Ú¸!D»s«~¶ûœd—Ž·«ý‡`¨`cátÿã\ð  32'&#"32767\Lþ¾þ«LLBüý¬þð,#(š™_S;#'!(™š_P:éþzþ€~ˆ‡€þ€þÌ{{þø¸úvuûÿÿÿ×ÿã&2…žÓ¤ÿÿ ÿãÃ{&R–ž„*ÿã6ð%63273# &#"327-‚_8>ÏP¬çþݯïÓ±”þ9”0!ŠŠ°@@C‰‹Xé Yžƒú+Í üvÀ~^þæþ·þ¸þæ}þR4{ %63273##"'&7327&#"}UWeÒR“çþÞ°ïÔeŒÒëI:áMÑV~,Î`/´s%—+nú+Íýø—¼’þþu"m†mþâBxßÕ +#"#7>3! 27676&+ÔDþ¹[m^tÊ6E8 œ#à~'–ý½Ó^!€]mþ¤Mý¨//&r1Fµ£þÜEþ’8D…“ýÏ þV_˜*3267'"#"67232#"&'#76;#"‚IÇ"…±*Qø ×b@{Ã˪65þÜÊfˆo¹:ÛDN͹¨5/þ‰2ÚÖ¢þïFI¤þÆþêþïþÉWSýɬ.OœÝþøZÕ"#.+#3323 654'&#ÖJX3{Ùh.icÁGË"Ë4ÕönP‹cþEgÝ3->¹n§þhy¡]þ‘ÕþøoQ…Ùƒ^Yýî% P0EIÿã‹ð'>323267#"&7>?>76&#"hqÆVßÞ'áÙq—Œ™hÛ*tÝiüÜ)$èÜo›‚Œ^Åg¢''ñÈ ¾/ vp{‰DI×--àÕµÒ1#hcq…<;§ÿã3{'>323267#"&7>?>76&#"sW¬Zʸ®¥HÿszTÆq%p½SÒÈ «ŽM¾jl}S©X9!!¯¡“1€Yc55¾##»¦}œ#JKSQ..ÿÿÿæÿÕæ þV>!6'&#"3;#"'&7# 76!23Ä n| wZïd°®ÂAE#é¾þò)*/´@)¿-0A3šû=g)(™V\´®ÒØ`@o›ÞþV€ž !!;+73276?#"&7!7!>¢þ^wKuÏ&nn¥Í¹Z98(ÏŠ'wþÕ+>žþÂý |b“Ãijœ>>~¦Ë`>o4Õ&#7>3!!#6R8 œ #àÖÝ!þ-þÿË/7&r1Fµ£ªúÕ+©j!!;#"&7!7!7676;#"¨¢þ^wKuÏáÏŠ'wþÕ*&nn¥Í¹Z98`ý |b“¦Ë`Ãijœ>>~ þV5Õ;#"'&47!7!!0¹ߥE-þ+!s!þ-þû u™œjD£E?ªªúÁ7ÿÿÿÅÿã8'8ÿvžø¤ÿÿÿáÿå¼q'Xÿdž|M´##"67#7! 76'7"õa6$=þ™ðòÚ=$¨”ø"Ï"†Æ+-€4ç-+Fj"´¬†þà¼þÉþ‘n8¼!…¬¬Lþ·Þæþ÷ æÞIL¬X(Õ!"'&733276'3h©HE&ÔËÑ !Zšæ-+FiÚa6%<´¹jfÆ?ûÐ~>> æÞIL†þà¼þɸ¼¡C× #367632'&#"·þ¯ƒ¶‚þóÁÈ‹u2-P?b("8tþ*ýbž7ým‘È*9† ÿåþVZ`+7326?3676'&xSU|“lLbN1ïôŸJY]j,QN$hË:=šH†TNü”»~)+)“ =  Õ!3!#!!7#7!!CÉþè!þ÷Pþ¡"!ü e´!"æýÕšý°ªþiªš§ª@Xyb!!!#!!7!7!!K-!þ°8þžZþÔƒü»!þõ Ždý•b¨þ®¤þÒ–ª¤gÿàÿäÐÕ 7676'&+7!7!2! $7ªUU{rsNO¥®!Çý!É þ2ivZA=+þ¡þèþÜþÿ+³KKKK†IJ¦¹ª¨þG8+lhŠÝòòÝÿàÿäóÕ3! $76767637!!#" 76´É+þ¡þÜþèþÿ+fjkŒiþÞ É!ý!®¥kjUU{rs³ÝòòÝŠhl+8¹¨ªþG¦JI†KKKKþLn` 7!!#"3267# &767676¤âAj9ýeì@®¥zy38GF¾mÛgLxkj^þèÒV5z€r–Üܨ“þ ¦JK„KK21Ã%òÝŠhm*8ÿîþVC`'2767# 5476%$7654#!!7! ØTQSZ#^RYaþQ. $ÕþÞSýej!þNG6þ&æþî,³ ãî5%b f8“¨þd¶þì1a w[ð 6323#!!7!7!67676'&#"$ä¿ÛÝ$?1SP!åEþx®!üu!Íþå!²‚/" $‹4Dµøcé½``JUª?þ¨ªª—ª‚T<>¹<…ÿàÿäÕ % 7676'&#!!!!2! &73õ5å å6Ê6ç çŸW^#$†¨þí«Š!ŒŸ²zF·rO_¤þì¤}nw°¹~F¬VrAÿáþV¾{#3676327654'&+"Õ;¹-¹!D”ZÒ¸7% Sü˜À0 *vÜÛBzþÐ ªFN1pJ[05þWþäù2(E(Aïþ¯r_Õ3#•ÊþÝÊÕú+ÿÿ¨)Õ'‚Ê‚ÿ6vpÕ3!!!!#!7!7!7!•ÊO_!þ¡._!þ¡dÊdþ¡!_.þ¡!_Õþl¨ðªþÿªð¨ÿÿs`Õÿÿÿ–nm&$ /9uÿÿHÿãlf&Deÿÿ9˜m&, /\uÿÿ=Nf&óeÿÿRÿã‘m&2 /\uÿÿuÿã€f&Re2ÿÿPÿãÏm&8 /Nuÿÿ}ÿåmf&XeÿÿPÿãÏ ' *2ù'gHª8ÿÿ}ÿåm2&¾q%<ÿÿPÿãÏù' +`' *2ù8ÿÿ}ÿ客&¾„H<ÿÿPÿãÏû&8' *2ù /hÿÿ}ÿ墢&¾T<ÿÿPÿãÏù' *2ù' -n8ÿÿ}ÿåm¢&¾ƒB<ÿÿpÿãW{üÿÿHÿãx2&¦qM<ÿÿÿ–s 'gHª&$ 3ì„ÿÿHÿãx2'qM<Óÿÿÿo0&ˆ 7ªÿÿÿÑÿã¾ö&¨‡ÿÿNÿã˜m' /9u*ÿÿ;þHyf&eJÿÿÿøJm' /9u.ÿÿZ´m' /9uNÿÿRþeð&2sðÿÿuþeZ{&RsðÿÿRþe0&  7ÿÿuþeZö&¡‡ÿÿÿàÿäÐm' /9uyÿÿÿôþL”f&e5ÿÿNÿã˜k' +9u*ÿÿ;þHyf&vJÿ¯ÿã±Õ%2763#"'&7!#3!3ù6)44:¶>H„H…€8hEþÕŠ·#¶w+w·±57‡Of'þÀþ‹ŒMS™b–ý9Õýœdüuþï‹'ÿÿÿú×k&1 -FuÿÿTHf&QCÿÿÿo<k' +*uˆÿÿÿÑÿã¾f&v¨ÿÿÿº°k' ++ušÿÿ/ÿ –f&ºvÿÿÿ–'k&$ 5ÿÿHÿã?f&D’ÿÿÿ–Wm&$ 1ÿÿHÿã?H&D”ÿÿ5Ík&( 5ÿÿbÿãff&H’ÿÿ5Ím&( 1ÿÿbÿãfH&H”ÿÿ9˜k&, 5ÿÿ=öf&ó’ÿÿ9˜m&, 1ÿÿ=H&ó”ÿÿRÿãk&2 5ÿÿuÿãZf&R’ÿÿRÿãm&2 1ÿÿuÿãZH&R”ÿÿ k&5 5ÎÿÿÙÃf&U’–ÿÿ m&5 1ÎÿÿÙÃH&U”–ÿÿPÿãÏk&8 5ÿÿ}ÿåmf&X’ÿÿPÿãÏm&8 1ÿÿ}ÿåmH&X”ÿÿýâ{ð&©6ÿÿsýâ5{&©6Vÿÿ ýâ5Õ&©7ÿÿÃýâdž'©šW"þR+ð276$>54.7%>54.#"7$32+..;.9!)Fd2ýªý×"Æ;͈:_¸ˆ²$m¨`0*GL*¹þç(ΫÖ°/\KJ99&(?SP,þýþFu 3~ˆ}=Uc 6H«j+v~}<2I%¸¾¤¬RþO»{3 7,54&#"?>54.#"7$32p/M1! Œþþþê ‰]P;Eêñ²¿%AE(Dµ¦!&†cž_'!5!:3Í%3?=aÀ©Ž.‚pü›FTV‹U@Ïl)=;Zš…:tO#C8;+2)!ÿÿÿøÙm' /Ku+ÿÿTHm' /uKÿöÿlN(1%7276"'676#"'#7&/'&'&3232676&"C{!€¡h¥+<úG.-wi -C[d¢>>65÷¡Pjq¸ýSBÔš))DÔ›>>t#ôÚþÇO9 Y%Z5H›ž7WSCüñþTÚÜÔÕÛ4þV6Õ!!3+73276?!7!mÉü"%no¥Í¹Z98üÃÚýÕšûo*”Ãijœ>>~š‘‡þV§b!!#+73276?!7!y- üáƒ%nn¥Í¹Z98ý|! ý•b¨üÜ–Ãijœ>>~ª%ÿÿÿ–P&$ 3ÿÿHÿã?&DŠÿÿ5þuÍÕ&(ª2ÿÿbþuf}&Hª2ÿÿRÿã 'gHª' *2ù2ÿÿuÿãZ2&¸q%<ÿÿRÿã 'gHª' ,õ2ÿÿuÿãZ2&·q(<ÿÿRÿãP&2 3ÿÿuÿãZ&RŠÿÿRÿã 'gHª&2 3„ÿÿuÿãZ2&Ûq%<ÿÿÃD0&< 7ÿÿÿÙþVÉö&\‡*ÿl¸%7276"#7&'&7!7!676#"jC{!€Õ-wi $ÆþÙßâ¡h¥+=úF›>þœO9ÂaJ¸ùûwt#ôÚþÇ ÿl?{.%7276"'676"'#7&'&?6&#"#3>32ïCz"€­ «g $<ûF.-wj $..ZIQ,}§Ú§-o?…%$9›>>r.üÎþÈO9ÂaJ¸ëís{åý``¸>¢þ^›>>t#ôÚþÇO9ÂaJ¸;>þÂþV‡` !7!+7326òÀþÃöÝ)ʵþé_nåûŒÕÁœwBÿã@12676&"&#"32>32 #"&'#7#"323ïT(Ÿ~*))Ÿ(S'PP~))(PPN+n=yO56Éz32 #"&'#âT(Ÿ~*))ŸýØS'PP~))(PPN+n=yO56ÉzZBC þ¡ÕþÇ{Jþ8ûû…ºËFFJÝ!›@ýÿwÿº@) '&#"# /'&!27&'3267CÐOVÅÿ<eUª[þáwäZ.3G[M74YV¢üÝ EÅXµU$ þÐþÍ~ýÊ))Ë ÿF/³n™dJµI ü~' ˜@=ÿ¾ÿ ¼( &#"# /'&7!27&'3267wJ9H­å)OS¥RþütðM *$6aQI&%uN‹ýh G¬`¤M–7àÐSþ]++œ èL„½8 rM†…ýq;>ÿôLÕ 3!!!!!7!±Ë‘!þùOÑ!üdpþõ! ÕýªþiªAªÿÿºY #!7!7##'ú6óþº{þ-!;V2Jþ”Ë\þZÐ[ý„|ªBJ8jýÍýÖýäFþ`{5.#"3#"'&/&/7632676/&'&7>32`#F—S}‹N°G„o!ˆx²{z#L'Tf@G¾)^.%{hA>z™ëBš:: üÊZŸ9´..QSKJ#œ}¦^R ˜~$š=&[ó5#¾`cY€1!GJ¡¯!Žþ®b!;#"'&/&#?!€- üÊ.Õ{#L4[Tf@G¾1Z ý•b¨üË þø~$š=&[ó?œ%xÔÕ"#7>3!2##326&#ç6E8 œ#à~'úÖ*+þÓûuʕʌº4€//&r1Fµ£ãÛÝâý¨þ” “ÿ¾Õ'32654&#%!2)#7332654&+3ãXô—­o}þb»Ëиœ}…þÁþÝþ‘^T¦ŸþÌÏž|êþün••È®¤kfÆ•ÿ÷ÿãÏÕ67#733!33# &73276!P}!}ˑˀ!€+_J•þjÏÇÛ¬V,3ýë"={‰ªêýêýªÞÎ;w´¨¸w@¤ÿ¦ Õ #!#Óýª×Ï“ÆúéÕú+ÿÿÕ 32654&##.+##73!2#f‘£Ã~ˆPHW6yÉj,mnv{ËzÑ Ñ‡VÏãÏ/ýpiý’j±þhyœbý‰w¦¸³£·ðvÃ{& !!##733>32 ZþÆÕ+" ýÛX¸X» ºb¸(CÕ‹ŒRyXЙ¤þ<ĤøÛx~Hoÿãe{ )32676&#"3>32+3267#"&'.þ=¡¹dl˜×%È|¹ NÆ€«¦%þàó÷o“^Êe$mÃX‹µ-+qpepÓº)L¦d_Á¢»Â†y64¸''RR2“ÿã¡{73#7#"32 676& ͸ٸ>ªdˬ65&Êe‰ýØT^ ¶))`þöÑ‹û¤SW;7WþáþTÚÜÔÕÛ0ÿã4{%#3>32#"&&  ¸Ù¸>ªdˬ65þÚÊe‰(T^þö¶))` ‹\SWþÅþëþïþÉW¬ÚÜÔÕÛÿã '&#"3267632#"&'#7676;#"!S^…†´*)_†…î<€Uÿã{>3 !"&'732676&#"R¦RèkþžþüQ’E%=ˆ]­å)(¬`£M%++þÈýØþÈ*,ÁA:àÐÏá;>¸ÿl”w,%3276#"67&'&76!2&'&#"63 !"8K’ ƒe‰ š2&u45µµUNME!FJJP³yyPMvÄ+/#þ²RŽ9Kþí9DhT#3¡ #¬+qrþfr°ö½‰þVs$2676&"3;#"'&?#"32tSBÕš)*EÕBp¶þÍH8…33&5EEPµ‘56 ³QkþTÚÜÔÕÛCùØ~>>œjiáS,+;7WQÿãÏ$2676&"%7676;#"#7#"32:SBÕš*)EÕF&[]„8H0/ß·5‹P´55 ³PkþTÚÜÔÕÛ ”Ãijœ>>~û‚SW;7WSCÿãW{632!"&'7326?!706&#"ƒ1/Öðâ45þþû[»a$bµX®æ#üãÔ]Š…ˆ²^û"þÀþôþíþÇ++·98È·œ°©pÿãW{7!76&#"7>3 #"73267q#˜®XËx$qË[é54þ¢ðÖ¿Þpˆ…Î/Z·È89·++þÇþíþôþÀ"Å¢©°œÿúÿãÂ{ 4%676732#"'&7&'&7>3273;#"'&7ÿi& ýæ ,g€‹6¿­G3  'ŸROQT"S¦QÌY ±ŒP!1„0-'ÖŠÏ>8þœE#Z`vþí¢¡‘gœ»'#d4®*,œ#)u”™10œ`ZÈ{ÿêh{0&'&76$32&'&#";#"32767#"'&7>Êr53ÑQXZd cTTLŠ¥ @?‡¦Ÿ–½PP­c_^T"f]^Vþyx ±_A@^†ž § VJ=+,nQb54"­[\¦m”BÿêA{2#"&'7327676'&+7327676'&#"767632<< œÿU°["EXWd­eeKI–ž¥ˆQP ACŠKYYm n]_PÒÕNM_JJm¦\[­"45bQ77,+=J++ § ž†^@AÿÑÿê§{B#"&'7327676'&+7327676'&#"76763273;#"'&7'^)* zyÀ?„B"2AAKNO54qv|f>? /0h8DCS!SGGÊO 0ƒ/,'ñ=_JJm¦\[­"45bQ77,+=J++ § OAfƒ”™10œ`ZÈ¢A°ÿÖWy+ 27676'&+7327>'&%672#'&óþ­RWSvAM1‹ˆ‰‹&F3/þÇ]•­TS†g]Ouv¬”JíBNØþ^þB6@JN67š=6s-VW”gŽŽg”VW>ÂXÿöþVy`!+73267!7!!7!y þž\%Ý¥þêZr\þ FþÃõbh¤þ(ÃÓœ}}ؤiþJþHö&07676;#"#"&'7326?#"63"326Y&\]†19)(Ð1ƒƒÌ>€>#Fy6y"6ŒX®“3. ®ŒSÖmPIng—\"Ãijœ>>~ûÊûƒ‚¶.,¢°}^\:é:ýݧ×þbÙÚþHÌ\ &0"326#"&'7326?#"67630!©Rþø‡¸Pdˆ²1þàçL¡N$Y—C•¨">ªmÄ­3,•Èé9§×þbÙÚþÝüþü¶.,¢°}^\:ã£y—˜!%#7!#"76!2&'&#"32b7›AgN[RÊýì55µµ>dep!ijSG³yyOMM³­²Œýð">K¬MrqþfqrkþR` 7 333276Ä>-þþX.@uþÜÙáqÙý|þè2ÕÌ2<þBþÀèñV¯þpýdþÌþúÓØ`  33! 76%3276úþÙÙÜvÙþ…!þáþÒ #6” {q Jþqýßñ§§§±`ž;hh?ÌþR«^332673##"&̇¸‡Op‚®!{¹þÓ¹tD¼q¬|¨¶ýJ—Ž·«yùôVadá%>32#6&#"#7676;#"™D»s«},‡¹‡Oq®"{¸Ã&mo¥Í¹Z98 `cáäýJ¶—Ž·«ý‡ê”Ãijœ>>~NþV.->32+73276?6&#"#7676;#"ÃC¼s«},n&nn¥Í¹Z98nNq¯!{¸Â&nn¥Í¹Z98 `cáäýÊ€Ãijœ>>~€6—Ž·«ý‡ê”Ãijœ>>~3#!!!!!7!!7!!¤¸.¸þº×bb þž<münm<þ FþáéËþ¤þË5¤i»`!#"'&70!7!;žÍ¥FE'oþá׊BZ¹jfÆ;ý6~|2Ÿ` !!!!7!! ’þ“£münm£þ“`ü¾By&;#"&?&#"7>32!7!3267#"'I%®;7-¢»";#"&?67# 7632!7!3#'6#"3`CY×饌&%=þè&0õ6%KþÙߘúú©6M \–|~œÔ¾½öƒüó  „K9YþVz;#"'&7!7! BY×éŸLG'þÙß|~œjdÈ£ÏþLÎ.;#"&7#7!!2#"'&'7327676'&+7!‰0G¬»„g%ÆìW»!þ[T\G/-+þÞàLKMM&9—W—_^;<„Œ!¹ýë–|~œÔÂùþA¨þ$8+lhŠÝò%Ã12KK„KJ¦óCÙ{"%#"&33267332673#7#"&Þ0vJ‡F8~¨}.FPS,}¨}.#JIQ,}§Ú§-o?LWHEÑ!‰ýís{åýðp{åû `32 +73276?#6&#"#6&#"#3>320vJ‡F8e%ff–º§R54}.FPS,}¨}.#JIQ,}§Ú§-o?LWîHEÑþßý÷”Âjjœ>>~ís{åýðp{åý``32;#"'&ž†]pSS {µÙµ!EšX¨?>-‡?4ˆ),²ŸOO__¤ý‡^¬edwxèýH™10œ`` ±{ !3!#ÿ.¯ÄÞþðþÒ¯Ä{üy‡û…‡üy‰ÿãH{  #"%"!6'&!3276ñÒ½88þÐêé¼88ûŒ]R*7,3 ýÓ $3Œ]C{þÒþâþáþÓ-’m_°°_mýà„OmmOEî`!!!!!"'&763#";îþ_9þpF«ý©ôbb65™™ô´oo**EE´`šþÝ›þ”œŽŽ‚lkØÙlm”ÿâ0{73276?332767676'&#"#"&7#"'&7676±9% 2"9$#u#$ 09*&%¤þîŽP; -·nMO/†Mo',2) `pB§?UO+¹¶¶¹+OU=© ]  pþ“xeYæþôŽƒƒŽ†•׫BcþW}!*3#7;#3+737&'&76767676'&µðð¸ðð1›I^78˜v§/ðð¸ðð/¨L^87™{±˜¢J9]*)2þe¤U>^)*3"o¤¤üu—þâþá–uð¤¤í{–—{¨üÂBnÕÖmBü×HImÖÕnI³ÿå `7327673#7#"'&'Ø##,œgg%s¹Ú¹"Nfg…¬ ef¾Nû ®f21ŠÿåJ 7327673#7#"'&'®"#,Ÿdi$ŹþÔ¹"Ngf…¬ ei»øùö®f21gþVÔ`#7327673;#"'&?#7#"'&'‹"$,œfh%s¹Ái1Fµ>?)"Ngf…¬ ef¾Nü €™10œ``Ö®f21‡þVG{&'&#"#367632#"#,œgh%Ź,¹"Ngf…´ ef¾ü ®f21ÖþVG{#&'&#"#;#"'&?3367632###,œgg%siéþµ>@*Á¹"Nfg…´ ee¿ý²™10œ``Ö”à®f210¡{676;#"!!7!))ee´Ñ»j0-rmüniåÔb`œ02˜ýª0Þ{!!7!6'&+732étiünotk»Ñ´??åýªVš00œ`b ë`!#&'&+#!2327676'&#Í4**#rÃj)44a©\¹Ú„Ù\\ ŒþFBÆwHH77w 66^þÎq$%þ'`PQ¢iŒþ¯++ST** Ä`!#!3327673327676'&+ÛeT z|Ùþ|Ú¹\©aBBUÚÃêG>@ýÏÆwGI86wÆSŒi¢QP`þ'%$qþÎ^66þ7**TS++rþVf{=.#"#"/;#"'&?327676'&/&'&76$32f"F¡Z‰LM **Ž<¼CDØZ_iéþµ??* \^^a‚NO*+¤=¤>=Îf¯?®((**T@%$!*ML‰œ[[ ™10œ``Ö=Wg5-,QK((%$JK‚ž¬)þV¨676;#"+73276_xr#hbî°c-/ï*ceµF1i0/pRµ[V™((hû)Ö``œ01ÿ¼þV!+73267!7!!7!7>;#">þž\&Ü¥þêZr\þ FþÃ=$˳ÝÑc]uh¤þ(ÃÓœ}}ؤiN¸®™Qgý¥cþVoe;#"'&76'&+732¹i1Fµ@?+Ÿc°®ÃAJ(™10œ`aÕ(h((™Va¯YÿßþV!#"327673## 76!3676;#"¬³w |n*óµ¿'BeµþÑ*)¾é#ibî°d-/š3A0Ç›o@`ØÒ®´\V™()g¦þÂG`!7!6&+732!! >þ^¢vKuÏáω'v+þÕ>þÂ>`|b“¦Ëý þÂ@þWâž!!;#"&7!7!~>¢þ^ÉKuÏáω'ÉþÕ+>žþÂû÷|b“¦Ë >ÿÍÿã`!733!33##7#"&?)32763 ®b¸b:b¸bº ºX¸"WcauÁš-ñýÇ./|•i^Ĥøþøþ¤þ<¬f21ðç ŸPO_Uaÿââ`#7! 7676'&'7!# '&76767¯ º+zTW‹ kk/1X+´ ì^"!.þ«þ>rq,HK‹¼¤ÜEio‡ŸÂabž’do?ܤdqnˆëþÜ‘’ä“kmh’q` !+"'&7#7!?27676'&'&¨B^"!.þ«áFµ??*o›S‹g4kk/8QDÚdqnˆëþÜ``Ö;ý6™12abž’dw7,ÿÚ`!##3èýìÃ}ú¬üT`ÿ¢U` !###33U“þž­þŸ”Å­t­jü–jü–`üj–ÿ±» >;#"##‹u¬|“lLbM2ïóý÷ÃÈÈzšH†Tû²lü”ÕÛ}33#ÖÙ̇ÙýãfËf}þ8Èýýó ~þV`!!;#"'&?!7!k§ ý\  ;5‡*+)ýé!¤þ `¨üÛ§™10œ``Ö¨%Dÿ‘¢`!#67!7!7!332!703276#H ™ þ–!Pýej!ü°®tÛã.$þ² ® FY3<;4¨%“¨üÛ ö½“6[ÿôþL”` 2!"'&'7327676'&+7!7!{juZA=+þ¡þè^``c&K¾m¾qsMO¥®!ýej Ü8*mhŠÝò%Ã12KK„KJ¦ó“¨#þLk`$- 76676'&+7!7!2#6'07&#"327Lþ±'2)ö’ NO¥®!ýej þiv[@=8Q ™®9tŃ ž¾qþL½û;*1…JJ¦ó“¨þ$8+lg‹qUe¤R8yú*K/K'L327676'&#"76763 #Â?ÀlI,M³PTRV!SUTUlT$!‚‡°ÊrLb…Ar+¬#}ºªswýtþ™#&'&7676!2&'&#"3›Ê¤YV!$‡§UNME!FKIP³yF+@ÀüâŒwsªº}#¬+rA…bLr8Ó3!"'&'7327676'&#ºœÊ¤YV!$†¨þíUNME!FJJP³yF+@Àôýtwsªº}#¬+rA…bLr[þJÃ#676!2&'&#"32767# '&7)$†¨UMNE!FKJP³yFÎ,M³PRSV!STUUþíjV$>º}#¬+rA…ûà…Ar+¬#}º^-sB )67632 '&7 676'&#"67632"'&^*¹¸ØÓ}{)*þ•þP}}àRQìQQŠxxÈ ((/. O^5ÔœœÔØþИ˜ÙccÆŠffff‰.""""./B!!a } &327676'&# 327676&#%!2#!’FÝ]8< #$^Š6ÒU32 CVþ†²£==cn10yyÁþcþ˜36?\13Âþè+*?.V©”ˆi?>NNušTTzÿÖ#y+";#"3$''"'&7>7.767632‡tCL1‹ˆ‰‹&E3-uTWQaöMBþÇc’­ST†g]Ovu¬–Ø6=š76NJ@6¾¢s—þxþ¨Â>WV”gŽŽg”WV0%#7!#"'&76325676;#"#&'&#"32Z6tg­>—Ô\]44ž›Û3D *POˆ¾N(&±;7†a`P45†ƒ²Œýð2Ÿ   Ø^`œ03—”j&Brqþfqr ±{ 3!3#!#ÿÊVVÊÞÊgýãgÊ{þA¿û…ýî4þV3#3## 76!3!7#"3276Z¸-¸Ùµ¿)AdµþÑ+(Á¾þÃ;µw {i0éËû ›p?`ÝÍÑû3A0NþLñ` ## 33¹³ý}ë¸þ ðÎk¹þL—þ TýÝ#…Ž{3!!dʽ!ý{ü/ª"þV<)%#"'&76327676;#"# 276'&"n?LL]®ONg¯]99&*POˆ¿O&&þκïO((ÛVUO()ÛU¨d01¢¢¢¢10dÆÖ``œ01™ùÚ¤þjtsst–tssxL$327676'&#"76763 3###73Â?ÀlI,M³PTRV!SUTUlT$!‚‡°*çç6Ê5äårLb…Ar+¬#}ºªswÔ¤þì¤þ™$7&'&7676!2&'&#";3###7*¤YV!$‡§UNME!FKIP³yF+@À>Fåå6Ê6ç¸Ôwsªº}#¬+rA…bLrþš¤þì¤ÿòÿãß #26&"3!!!+7#"32§O8¯’O8¯ vnT !ýÄŸýõ^!4EAN€bg߀N/1–%úþjçç–ç+^þL¨üÛ“¨a31DD10MüûþLì C3276'&#"%#7#"'&76323!2#"'&'7327676'&+7!´OXWJHOWXHƼo!7>>Jz-.gmkzJ,+voV !þ®?B3+å¨9789&)nArJK(*ch cþqúþjtsst–tss_ü3¨d01¢¢¢¢10d^þL¨þ$8*mhŠÝò%Ã12KK„KJ¦óÿ‘æ ,326&"!7!332+#67'#7#"3233276#°O8¯’N7°|“#þs !ýÄi\„ˆ/$É \Ø]!6}KyZfØzJXvn h *5úþjçç–çüþ“¨üÛ ö½3.#"#"'&'#"&7#7333#;732676'&/.7>32^!'^6Rb -R#n"#¸6757q€B)vQQ>o>ããvEk3m:Neb#`>¨{=g?®((TT@I!,KL‰œ¶!&ŸÒ`>þÂý ‰NM55YQK($)$•‚ž¬×þVõ%.!7676;#"+73276?#"'&7#73!33>#SM“‚„J$&ï)PPˆ5%N&'¡+.)vee>«5jþçvUžþÂN¶ZV™()gû)×_`œ02˜PMÔ`>úü ý Š&'Èÿpfž.6@3632&'&#"632#"'67&'#"&7#733276#"&77#3>äy3-.&!&,*0lQRO%Uu´0$È1(\rC)vQQ> -W N=ê.03rÝvEžþ‚#¬+qrþfr°ö½9DhT"2€ŸÒ`>úô9Kiø›ý ‰NƒþVf3+7327676&#"####737>;#";67632]ˆ)DCm˜Œ? †,JY|o¾³¾o¾ji$Šqhj;>´m"<~-x+&?®)TT?&$!,KL‰›\[&ý:ŠMVþ·ýÎ3-+RK(#*$JAD7 3!!!+sŠUŽ!ý]ýrvG–‰þL¨üÛ“Íüú†ÿâÅ 333# #333# #‡t1ðˆ2ðtþ͉4ü‰Lt2ï‰2ïtþΉ4ü‰Uþéþéýýþ=þéþéýýþ ­±!#!#!#!#s³S3ýk3Þ³S3ýk3UþXþûrþXþûHþJŒ#32673##"'&7?6'&+732?l>]p¥ {‹þÒ‹wFLMX‘33-mN%5ˆ**)êýÖŸž¾¤yùìbe22wxè0t ™10œ``Ö .þVî/!7#"'&7?6'&+73232673;#"'&7¥"32…JtI=N^EuªtB4|Jycþ…wYYk\þžgþ«88†ìŠ…ò3>32#6&#"#7676;#"Ç4|JycJtI=N^Eum>=r ’Bœ98†‚þ†wYXj\þž1Sw66WUzWô 3+732673#³t||r,B;¬tsÿý‚xlX6Vr‚[Œt.#"#3>32`,b@uzu0€S Ÿ qkþ¶sa97]|v32673#7#"&'q,b@uzu0€S ì qkJýa97*C32673;#"'&?#7#"&'>,b@ulC,r()/€T ì qkJýÕH VX66x a97ôŒÝ!+33276?3327676'&+°@7 LM‰ôzt3j>))4…{,&'þ¤}K,- ##K}ÙN;[--sþ÷?¡«5ÿ/.ÌŒ 333# #Ìt2ï‰2ïtþ͈4ýˆÿþéþéýýþü+7326?33YGkN\D0=/¦{}<{RpEW(K/iþêÿÿ»tfÆÏÇ 9@:ogÔÄä91üì0KSXíí9Y"#73Ëü)š¬ÇÏ~þ‚•Çg3#jü(þòš¬Ïþ‚~ÿÿðÂÁ—fï®672676ʠg @j G@ sA?,__ï=>X@?X=>POæPPVïž"'&6763"33sA?,__s @i F@ ïPPæOP>=X?@X>˜~•å327676'&#"767632#ÿ(yC, 2q24454555®E8QSoG=@*7K$@ ` XFh_@Cþ“~Àå#&'&767632&'&#"3ÖW€Gg:8Sh­512,-//2qK+ *y=þAmC@_hFX ` @$K7*@îfR@‚ÔÌ91ôì290K° TK°T[X½ÿÀ@878YK° TX½@ÿÀ878Y3#'#Í“¤…uáœfþˆññ×îNf:@‚ÔÌ91ô<ì90K° TK°T[X½ÿÀ@878Y#373“¤ƒwáœîxóóîçã@ÔÌ1@ÔÄ0#âkˆkýÕ+ÿÿ¸b+ö‡îþÑãü@ÔÌ1@ÔÄ0%#âkˆküýÕ+ÿÿhþ›Ûÿ/´O‚#!!reþÀrþ›ÙJý'þ¶ÖØ;#!HreÙJÿÿþN#`ÿŸþÿÿõþ=#aÿŸþ/ÿ£U 733##7#7-+–+àà+–+àuàà–àà–yßYu!7!;þ>Âß–ÿÿÕ)JH‰ÿÿwDmŠø)N h@“Î “" I"Ôìüì1Ôìüì0K° TK° T[K° T[X½@ÿÀ878YK°TK°T[K°T[K°T[X½@ÿÀ878Y4&#"3267#"&54632¢X@@WW@@X{ ssŸŸss ;@XWA@WX?sŸŸstŸŸçþuX"@  “  ÔÄÌ9991/ÔüÄ90!33267#"&546w=@/-!B "G"alK:e&%&… PG7x‘V7Ñ@!  ““ ÔÌ91Ô<üÔì99990K° TK° T[X½ÿÀ@878Y@=     ]K° TK° T[X½@ÿÀ878Y@           ]'.#"#>3232673#"&å/#*/}rY+D&/ )1}qY,B`1KNˆ’&/NM‰“ÿÿ¸îÉfŽþ—Þ\%3;!"'&7þ·‹¸iúþñ¯DA'ýwd¤”™10œ`ZÈ¢/« 7673733276Í‚#òþõ$忉“ã‰þs­ †€Üù´‡Àñ/ààþŠ®˜MMŒœœ8 ;#"'&547#7![ 8ˆ’h- oº."#W<(@":Q"œŠ/2&'&#"#"'&'732676'&/&'&767632Š-329V00 Y'x*,XW‰8<;A;;<=Rbk'h'(PP‚@77 a /$*+MW33 k2-*)*IX01 Õœî #'#37îþÆÎ‰žý‰RÀˆçþÏþ¾ööH+ß߀œÀ#&'&767632.#"3ÖW€Gg:8Sh­512,-^2qK+ *y[þAmC@_hFX `@$K7*@—*X!!7!˜ðþyþöЈú¨[*X!!7!3˜´þñ<ˆþöœˆ4ú¨*X3#!7*xˆþöˆxþðhú¨hˆã*X3#!7î´ˆþöˆ<þ¼œú¨4ˆ§*X%3!7²ðˆþöý‡ˆÐú¨ˆÿÿÝÇy¹ÿÿÁþ ‚ÿÁ¨ÿÿÅîPfCÿÿ?îffvÿÿîfdÿÿ‘V7t¸b+ö@ ÌÔÄ991Ôì0!!ÕVýªö”ÿÿ»Ñ ÎÕ)JH&@Ì H HÔìÜì91Ô<Ôì90332673#"&546ØxWUPjw ³‹†‘HADJL’€vwDm$@ ¦ÍÔÌ991ôì0@ @@PP]3# Í)ÍÌÿÿ´F-j¨òDÆ2#767676#"76wç #?:”G: w[F[ƪ@$C!Xl05^ ƒÿÿø)Nr¸îÉfH@ ‚ÔÜÔÌ1ô<ì20@)////2222BBBBVSUU]3#3#°½þÒ‡LÅþ¼‡fþˆxþˆÿÿ×îNfeöîÖª#ÕVˆVªþD¼ÿÿ*'ÿ4Ì€îöf#!#2„‡¯u‰–fþˆxþˆxÿÿÕ)JÜ&pq0ÌŸ)H>32#6&#" 'º‘A3wRUWn)H9fLJJLÕÇe #3Äïþ’ÇY¾ÂÁ#77#73â2òoo1ñÃþÿ{‰þðÂÁ73#3"ð1ñ1opòÃþþ†{?î«f3#ÐÛМfþˆÿÿ'ý¸²ÿ0CbøÊÿÿÝý¸ÿ0vÿžøÊ€ýöþë73#7#7K"ˆ_ˆ#°þ:±þ±ˆÖýLþë#33"ˆ_ˆ"°ý²±걈ˆ†Žp!7!#ëþžê_ˆèˆþ“ü@q732676&'3#"&”4P.8  …m]0_hw-+76 >&Dzs5.þ :ÿÁ"&54763"÷]XbL]3+61þlbo?wS?b#.A#>lý²qþë3!7373À±þ±"ˆþ:ˆˆ±¡ý²¦þë#7!##S±ê±#ˆþcˆˆ±vý{þë #73733##'±±"ˆ"±±"ˆý²ˆ±±ˆ±fþckþë7!fêþcˆˆ5þVÆ€ %+73276?Æ&mo¥Í¹Z98€”Ãijœ>>~”PþVE€ 73;#"'&7m¹ !Z¹Í¥EE&€”~>>œjià þcÿ/"@ ¦ÔÌ991Ôì0@ @@PP]3#HÍ'ÍÑÌ_þdÙÿ.>@¦ÔÜÔÌ99991Ô<ì20@@@@@PPPP]3#%3#‡Ë(˰Ê(ÊÒÊÊÊÁþ ‚ÿÁ µÔÌÌÌ1µ  ÔÌÌÌ0#"&5476322654&#"‚cL\]XbL\]Yù3b233`0ìwS@o?wS?oæQA#>QB#=®ýâ>ÿ;3#Oïþ’Åþ§¶þus&@  “  ÔÔÜÄ991/ÔüÄ90!#"&'732654&'+%#w,^/(I CK@]$]m<6N6ÿÿñþubs ùýsØÿ/#ØWˆWÑþD¼4ýåÿ/#7!#œ@‰&þë&‰@Ñþ¶ÂÂJéþ9ÿX#"6533273273"]LtÚ&uhf,vie-vGÜtþ‹R––•–þâƒþÿ“@ ‚ÔÌ91Ô<ì90#373Ä“­‹„å‹þxõõ:þºÿ“@ ‚ÔÌ91Ôì2903#'#z“­‹†ã‹mþˆõõuþëÿ8&@Ì H HÔìÜì91Ô<Ôì90332673#"&546xxWUPjw ³‹†‘ÈADJL’€v@þ¸ÿ:#454'&#"#>32´w%)WUow'º‘A3þB"%JLH9f0þöÿ5—@!  ““ ÔÌ91Ô<üÔì99990@=     ]@           ]'.#"#>3232673#"&…/#*/}rY+D&/ )1}qY,Bþ^1KNˆ’&/NM‰“hþ›Ûÿ/@ ÌÔÄ991Üì0!!…VýªÑ”ÿÿþÑþmBÿÿþÑÿ]³<ì• #"'&'.#"7>32326•"VšOZg Gb3O™U"YS5`D i]F• ®;73 !;?®<6 7=Ä&h!5&ühh¤¤ÄÑh5!ÑĤ¤ÿ¾ÿ ¼' MùN`LÐMÿwÿº@'/ZsVFFJþ ÿÁ27654H#3+723]YcL]þl$-A#>bo>wS@4þ€ÿÊ3!735@‰&&‰@þ€JÂÂþ¶ý ²ÿ/!!±jýÙjN6þë6ÑýÚ&þbþê²þ9èÿX632#6#"#6'"#72tLtÚ&uhf,vie-vGÜtúRþæ––•–rË_‡ '7'77V–M•dre–M•drI}`}}a~~a}}`¨Â)Ò.7>77>76'&'£‡RN/£‡RNÇ0PQn +0PQn ÿÿËÑ &ÎÎÿÿÿ¾ÂÁ–ÿÿDøq‹þóðž7"#6%62#&%¥nþÞþïšv.êéßð.vdþù®Žð<<ðŽ»tf3¼¡¾ÎtòþµþVH%#¡¾ÎHþò“þVYÿ¤ #"?3;L„X$• 3þV·—¤hÿÿËþá#'ÿÿ?îffvÿÿ´FÏØ'Êirjÿÿÿ–f'Êþ>ÕÿÿÇ/þ`yÿÿÿƒÍf'ÊýDÙÿÿÿQÙf'ÊýÛÿÿÿƒ˜f'ÊýDÝÿÿÿãf'ÊýÚãÿÿþÔDf'Êü•èÿÿÿ¼„f'Êýóìÿÿ‡ÏØ&Ëüÿÿÿ–Õ$ÿÿÕ%ÿÿEÕGÿ“Õ%!3:cýßeûyëõªyû‡ªÕÿÿ5ÍÕ(ÿÿÿúúÕ=ÿÿÿøÙÕ+tÿã\ð!7!#"32 32)þr!Ž€Pš™¾@@P™šÑLþ¾þ«LLBüý¬Ǫþ/’þæþ·þ¸þæbþzþ€~ˆ‡€þ€ÿÿ9˜Õ,ÿÿÿøJÕ.ÿ“Õ3#3#eÑëõ§ÑsÕú+#ÿÿÿÅ Õ0ÿÿÿú×Õ1ÿ÷ÚÕ !7!7!!7Ù!üA!\ý×!)A!üA!Õªªüòªý9ªªÿÿRÿãð2ÿÿÿ÷ÚÕSÿÿ3´Õ3ÿæÿÕ !!7 7!!ýÉ"!ü !6þª!õ!üÞëý¿ªªA@ªªÿÿ 5Õ7ÿÿÃDÕ<tZÕ&/3!737&'&7676?#7!67676'&'=­Oe-.‘sµ“!þ!“­Oe.-’s´“!ñ!þÆO3P6"IþÇnO3Q7"+v[sëësZtªªtZsëës[vªªü£*DžD*ýÉ7*DžD*ÿÿÿ9Õ;ÃìÕ67633!737&'&3^µO?g?CËCL ¶*“!þ!“*«DVLCËC?0BµÕü["W‘DWþ©þx¿— ÖªªÖ —¿ˆWþ©þ¼‘W"¥ÿ¼„´#73&7323!7676 D"õa6$=gðòÚ=$¨”ø"þ1"†Æ+-€þÌç-+Fj"¬† ¼7oþ’þȼþß…¬¬LIÞæ þ÷æÞþ·L¬ÿÿ9˜N' *9uÝÿÿÃDN' *9uèÿÿEÿçÙf&Êôÿÿ„ÿâff&Êøÿÿ|þVff&Êúÿÿ‡ff&Êüÿÿ„ÏØ&ËEÿçÙy +76'&32703;#"'&''&'&767ö±aSh#+68U…qœ¤þ½ Yo^D Cm5ÆUW6:˜¬¢ çìo‰·ÜikÕ*þ½%ý¡Û1)0œT*XmY*–œ)‡—ÿÕþVl!7#76'$ï`¹+^Ç‹F6¿ 9Tþƒd6ß97þ+!k;%èþþ8Eþçþšþìb6þÑþ=q'ª0½ þàAþV­`&+7323#å^1FÂzí¿ýS¾SD~ž°ýS]û þVª_ÿãH" 4"32676&%&'&76$32&'&#"76“Œº*)eŒ»)*fþh!2 Åf0"=DQR JD,  %ië\_88þÐêé¼88˜&ßÚÖÕÛÛÕÖÚL (=\ˆ¤ $­+.! ”—þâþáþÓ-—&„ÿâJm@0326?#"'&'&'&767676;7#"'&'&76?6?27.#"²YE$UØÞ^Çb$6{€ x@4 ' *hv~ hI)  ,BMQ¦X#i¦BÆþô2("P7Kpš°µ-*/6 B£6 .(³¤ˆ\=2 “þRè%#677676'&# !7!£„@EYa£D3' 9ýµYM‘ýì$f$ü®%#KOxsPWKL,#%5,*3àe¹¹þaþZþi|þV\{#6&#"#3>32\Ú¹ÚNq¯!{¸Ú¸!D»s«}¶û `—Ž·«ý‡`¨`cá‰ÿãHÜ6'&#"!3276 #"•%%*ŒfZ2ýË%%*Œf[þÔÒªHIþ¾êéªIH<⇙™‡â¸à‰šš‰8þwþþŠþy‡vs‡`;#"'&7#71lXn´@?*nÒ`ý+‘.0œ`bÔ;ÿÿÚ`n8{ ##'&#7‚øÃ™ýÝü#š1Eeú›<üÄ2ÆžÿÿÿÙþV‡`wàa`!367676'&'31]|Æj†e Pº4&ªÞ‘`üT|¬p5dwƒY|rNįätŒþRº&%#677676'&# 6%$67#7! ¼„@EYa£D3' 9ý’\-cþï3&ìÐ$$ý‹9%!ý¿*<KOxsPWKL,#%5,*áèp$ÅR¹¹þÝ¿ ª&Üþ¿ÿÿuÿãZ{RHÿÙÅ`!#3267#"&7!##”1$†%7-%M%qB"‚þT¶´¶`¸ýPH?… ƒ°œüX¨%þVz{6#"&'#76&#"32èVU65þÛÊfˆn¹¼=ˆ¢HS\…†µ)*`†…{žþêþïþÉWSýÉÆ<†üÞ¬ÚÛÕÔÜéþR®{$%#677676'&# !2.#"¿„@EYb¢D3& 9þüélaQ’F&<ˆ]­æ()HIKOxsPWKL,#%5,*8(8*,ÁA:àÐÑno{ÿãË` 32676'&%#"763!†;^$)eŒ»)&°@±,8˜˜êé¼84˜ñ$§ Go¹ÕÛÛÕÃs*’çþâ——- ™¸èŸ`%;#"'&7!7!!¡lXn´@?*gþ—#’#þ“jÌ0œ`bÔ¸¸ýã‘„ƒ`%"'&7!337676'&'1#%lþrÒn*?@´®§,4ºP4R}œ0.‘ÕýÅÔb`ÓËášs{Zƒw€f»v³tþV®h )"27676'&'2##"'&7673~A…^i`*)84 ŽY`53¡¢½N·NÇ^_4:™ G>d$(69g…;Ë‘ýRh]ßÝc[„þÙþæ–˜þn‘™›,„m£Js¾Øeg¯.þVÑ`#&+73 3;# zEþŒ¿ X›1F Ev¿ýôXœ1FþþúzýÖ å~ž°þ„,üôþ~ž›þVå`%67673#&'&733œCJe!|¹~*ž“N·N_f*~¹|!C2;¾·Œ@W¦ýxØ‘‡þo‘‡‘؈ý¦W@Ô2ÿã—`&#"&'#"'&376763767OpJoºUn"”Yº&p·¾´8,@V8)IªI V?E+8H`þøý¿{¹gLHk¹{Aþíþáâ>‘oRyþ‡Ro‘>âÿÿ‡-&jüÿÿ„ƒ&jÿÿuÿãff&Êÿÿ„ƒf&Êÿÿ2ÿã—f&Ê ”ÿé5$ # 7654'$'&763 '7676q Z¬­iM¼Kþ÷ þþðNCEB§¯ÒM þ\Ií,!2¦°T†pA{‰¡¥zýúþ‰á Ʋ—ÊÔþ‚Íÿ þýi¡˜õˆÿéR$ $6'&'&'&7!2#"'&3276 (*f«>5{BÇþÛ_ÐNwR«^YTT§²äÁuomÃM9T^yƒhp¿w¦¡‰{Aª K¤û~ÔÈþþ}ÆÕÕÈëþSjœ~9«Õ#6''&7676'&¿€‚F ~Ë~#*Tj}!Q’¿ïu6hU0rROþú¥ývŠ´~*+4ª0þr‰51_”Tÿÿþ„«f'ÊüEÿÿ9«N' *ÿúuqþViÕ'#&'&7673767676'&' ¸O¯Pg85¤tÃE¸E­Rh85¥vÁ [Bh)$7]þ¦¢[Bf*$6þV“y–§vaþŸx—þâþò§x¥GnÕ¼‡Fü½CImÖ¹ŠDÛ` !3237667%&# 67#7!±ý°C4FT°Wª_°QA1¹*\þäícîþèt3NB$_$¨ýþ«Óþ+Tý‘÷ýß3þÌ ¸ÿþþ`/%76#"'&767676676'&632767v‹þ蜧àp9Ž ‚ yN žà”Ò@ð{],p9Ž ƒ yN žà”Ò, þ–  ZMf lh©Ë|„TD‘Y|þ÷lpŒî"=àlh©Ë|„TD‘Y| lcœð›þVƒð #"32&'&32pPš™¾@?P™šþ“O¬CVLLBüý¬LK¡|»O ’þæþ·þ¸þæýÏ–"”¿ˆ‡€þ€þyþ|•"þj¯þVo{ "32676& #&'& ㌻)*fŒº*)e÷N¸N¢I^871Ò¼78˜wßÚÖÕÛÛÕÖÚü þm“w–.þÒþâþá–v‚þRÕÕ#"32#677676'&#"'&76)NÚd<;tzIEYb¢D3& 9êw]PGÇ­2e!+w˜þÍþÎþÐTOxsPWKL,#%5,*ËžnͱªÄþRÀ`#7! 32'27676'&'&'&76763¡þ›þô¤­96è»: '2D£aZD@„bIH))rYÁÄœˆþØþìþÈ*,5%#,LKWPsxOJonÑÔlUÿÿ\îÕ)ÿGþVÀ#!#"&'32767!7!676327.#"@dOW0]+ )b9­x¬‰Aþ¿<[Fx,L 0_1ªs£ q_K!¤s¥’Á7oQ>¤dŽ 1ÿüÊÕ 7"'&7 6'&724ÀVþ‰9-Š$æDO6÷ü¾,9-Š$æDO‡þ[~ý,`*l#½FR¶Úþ‘`*l#½FRva #!3aþ<¸lý&½¸þ›püÆMý]¤þVwð!#76#'0#0?&'&zªrdc&¯A‹qXþßá.Ya*uh.nËm3òƒi“FKýŒI MÆfþÕþñý½þ7þ³LÊó[OFëýÆ5±`¶4 þóx #&'#&' #'@þÖ¹»#ýÚ¹¤I(¢Ó -ȹX‡¢ÕèVU65þÛÊfˆ7á!»S\…†µ)*`†…þÆppª¬>„žþêþïþÉWSþ㪓¬ÚÛÕÔÜÿã1ð70732#"7>3 !"&)=œXÅÿ<<‰ÅV·V)Uª[ïGHþtþá[š5Ï=@0230@=Ï))þgþ’þþj)ÿÿsÿã¼ð&-y‹ÿÿÿã1ð'yÿc1ÿÿ5Íâ'C„|Iÿÿ5Í4'jW$IPþ*k×/32676&#"##7!!676767632#"'6¢K Ž'QOqj_2W"NËö!~!þCf-5%G— H ?-V6‚€÷Sþá•Ë —Ž*\«þo-ªªýó* % T päþFþèwuÿÿEâ'v}|Gpÿã¸ð 7# 547!2& !Nmz®)ª°þáÁG°Š)þ„{\Is!•WÆñ}ÏRI¿sŠo™RÏ}˜tþÿªÿÿÿã{ð6ÿÿ9˜Õ,ÿÿ9˜4'j6$:ÿÿÿçÿãNÕ-ÿ\™Õ !%326764&+32+# #726°Z™ K^•u·7þÒϬ1=}øì Š’eBS¦Ž‚4tyþý¨Â‡6þåã+úþÆý÷Wªÿ‘Õ %326764&+!#3!332#°Z™ J_þ¹ŠþuŠº"ºw‹wºu³b6+þÒ¦Ž‚4tyý)Çý9Õýœdý¨q@yBRÜã"=×"676767632#6&#"##7!ïf.5$G—ŸH ?,_ËZOqi`2W!NËö!~!-ýó* % T päþΗŽ*\«þo-ªªÿÿKâ'vP|NSÿÿÿùØâ'C$|Lÿÿ&m&W 2þ¾øÕ 33!3!#"Ëþÿ)ËþÞþv>«>ÕúÕ+ú+þ¾Bÿÿÿ–Õ$¾Õ32676&#!3)!jjï°®„¨DýEXëx@"(þÎþùþF"†ÉýÝ{’‰fþ>¿d¡ËÏÕÿÿÕ%EÕ3!!F"œ!ý/þÿÕªúÕÿqþ¾çÕ32!3#!3!!_M0¸4ZTþÿy_ª>üÅ>+ÑàþB9,¹þ¾ìL ÒúÕþBþ¾þþ×àýƒÿÿ5ÍÕ(ÿ~BÕ#333##'‚ݪϨt»tÏþlƒÅ`}Z»Z5þ¤{Zý­Sý­Sý¦ü…Šºþ0кývÿÿÿîÿãNðÿùØÕ #3!#"ÃïçþÞÃïýÕû3Íú+Íû3ÿÿÿùØm&L 2ÿÿÿøJÕ.ÿs×Õ #726!#S1?zùý Š’eBS.þÞË+úþ»þWªú++ÿÿÿÅ Õ0ÿÿÿøÙÕ+ÿÿRÿãð2ÿ÷ÚÕ!#!#¿þÞËý×þÿËÕú++úÕÿÿ3´Õ3ÿÿsÿã¼ð&ÿÿ 5Õ7&Õ+7327676733§Z[:UL\”!mQ770×Ù–ÕÕ©žoJ+'¬/.M *5üÂ>0©Õ!47%73 #7&>4&'03ù Ë Y3øþóËøe ®«s;ªtCŸ¯ÜoS zz þùÙwþüþ¬ ˜˜ ȇ{Üý{ÜW‡ÿÿÿ9Õ;ÿÞþ¾¿Õ #3!33#""Ëþÿ)Ëþÿ†_ª>ÕúÕ+úÕþB§ÕÕ47332673##"'§dË_ /mu€h{ËþÞË€›~·Dá¦MþAr(Exú+’:bÿáñÕ )33333Ïü"ºþÿàºþÿàºÕúÕ+úÕ+ÿÊþ¾ÚÕ#333333#6"ºþÿàºþÿàºþÿ†_ª>ÕúÕ+úÕ+úÕþB;Õ%326&+ !7!32#~й3€ŒŠþ©þû!ÏuŠûÖ++þÒú¦“ ”ý)+ªý¨âÝÛãÿ¯Õ !3%327676&+ 332#"ËþÞü½[f\G\w[þ©"Êu[ÂÖ++þÒÁÕú+¦J8–…”ý)Õý¨âÝÛã3;Õ%326&+ 332#ê¹3€Œêþ©"ÊuêûÖ++þÒú¦“ ”ý)Õý¨âÝÛãÿãLð"'7 767!7!64'& 763 >°Š)}y}|2ýˆ!sDþ‰±)ª°xKHþtRÏ}“”çª_Ö@˜}ÏRÌ€Às‰þ‘þjÿÿÿã÷ð #"32332 ##3ã€(lk•@@(klþoJÿÊÊ{LKþïþlu8o‚Ë#Ë ’þæþ·þ¸þæ½Ciþ€þyþzþ€jMýfÕÿ»þÕ#.5476$3!#! 3!!"Eòdx )1öÒþÞË{þÞþ'ôgþù²š'•e0:ÒÞú+wý‰Ù¼‰)ÿÿHÿã?{DGÿãs7 -65# 3 6  &546?6767676%67ZÜþäTOŒþF¼™8þÐþ-›  12¸3&+%5ôdSÜ2/bLþP`¦ª{ö–WjþâþÓøY˜§¾•I¹UA Ž  +tšd`#!2#!327654&#32>4&#>ª™,Ç€CžyÁþcu<äU2D:VþÄGï_{8k`ŠSâo4ÚnTÊþÏ+8Y+Jþ9þ“piEO”^`#! ½¸ÚðÊü6`–ÿàþâx`327!3#!3!! UC7xQì½yU–8ý-8è „Ÿþ„4D$þâ´Æd ü6þLþâÊ4þòd÷ÿÿbÿãf}HÿÎð`#333##'2Ž Ç«T¨TSÇþÂx³X‹D¨DEþÚÌ”þP°þP°þlý4±þ¡_±ýðÿÿBÿêA{ÿV‡` #33#’ý|¸Ú¸„¸Ú¸)ü×`ü×)û ÿÿV‡H&l‰ÿÿÚ`úÿ±‡`!#!+73267vÚ¸½þ_0%VjZº7#UuL!`û Êõ½þÑj–v®ÿÐ` 3## #3Sý¸Ú¸þˆ¸¾¸Ú¸­³û åþáý`V‡` !#3!3#Yþd¸Ú¸YçY¸Ú¸ýý`þ9Çû ÿÿuÿãZ{RV‡`!#!#²þ½¸ÚWÚ¸Êü6`û ÿÿÿþþVh{Sÿÿœÿãq{F1t`#!7! ½¸½þÉ&Êü6Ê––ÿÿÿÙþVÉ`\IþV~.473 #>4&Y}ˆJ6sØtSûâP¸PÚsTýàN¸ʦ}‰J7Ö™þ‚™uœÑâ® ™þgÐâþQþõþs€ü©¢}—oÿÿÿº¸`[+þâ[` 33!33#+Ú¸½潸½ŒU–8`ü6Êü6þL݈b47332673##"'&Ý G¸G¹XvMa¸Ú¸[:”‹ŒT;‰0:oþ‘‰'õûžÒ+R8Â` )33333èü(Ú¨½ð½¨½ð½¨`ü6Êü6Êÿÿþâ±`#333333#Ú¨½ð½¨½ð½¨½U–8`ü6Êü6Êü6þLng` !!2#!# 7654+‹°Xѳ(þøÖþH½ø #ãøF`þ;“p#ѤÊüϵŒþ—ÿûÖ` )332' 7654+# þïÚ¶X[ÑfM þøÀ#ãSFÚ¸Ú`þ;S@p#)¨¤™µŒþ—Çû `X`%32676&+3!2#.ø‚‘pøþäÙ¸XÑÌAþùÖ™YZ^Xýþ`þ;§þ°¤aÿã6{? 67!7!654'& 763 !"a&gfÚ,ýâ.Hþ¥¢&© tP6þŸþü¥9¿yÕ°oGp{ÁVœk£KWþìþÈÿáÿã§{ $6764'&"3  '&547##3–&#˜¡%,þ«ŽB:„SþäþÍO9Ž^¸Ú¸úÆh—4lôÁk—¨ûèíþVþçŠd˜:Aþ`;E`3.547>3!##;#";m0{ !ú–Ú¸YÁþ¥ÊT7äGã8ƒßn]*4¨šû Çþ9á;ImVaÿÿbÿãfm&Câiÿÿbÿãf¿&j#¯isþV63#733!!63 76654#"s¾¾¾U¸UÀþ@M‰òþ ~ä6 ¸Š¯!3Ñ´þLþsÃþ×FVýs_¥A;©·«þûÿÿ”·m&vQgÃÿã‡{%# '&!2.#"%!3267ÃR¥Rþütt56aQ’F&<ˆ]­sU,ýâ@H¬`¤M9++œœ8*,ÁA:pS‰°dq;>ÿÿsÿã5{Vÿÿ=ìLÿÿ=¿&ójÔ¯ÿÿþVÛMÿ§`"%2654+##+73267!32èÐ(² F ½½å0%VjX¼'#UuL!N5XŸ´)þø™Ï„þ—™Êõ½þÑ€i–v®Žþ;“p#ѤÿÔy`%27654+32+!#3!3»Ð#² FdŸ³(þø¤½dþ”d¨Ú¨YlY¨™µ„þ—“p#Ѥýý`þ9ÇJó3#733!!63 #654#"J¾¾¾U¸UÀþ@M‰è>¹> ¯®!3Ñ´þLþsÃþäK^þ¾BA2²·«þûÿÿÚm&v0nÿÿV‡m&C@lÿÿÿÙþVÉH&w‰rþâ£` 33!3!#rÚ¸½罸Úþ 8—8`ü6Êû þâf;Õ%32676&+32#!!7!73!~й€ŒŠJ*ŠûÖ++þÒúþ¬×þû +Ê+q ¦“……”zÔâÝÛãQ¤àà¤n`733!!!2#!32676&+nøT¸T©þW;ÑÌ !þøÖþH½ø|—wyøÍ“´þL“þΧ¨¨¤ÍüÏXZZZÿÿtÿã\ðaÿÿ‰ÿãH{E@3!3!F"ò?§]ý/þÿÕ2þ$úÕ”œš#!3¶¸Ú8=¹b¨üX`:þEÕ !!##73!!Ó#!ýݡˡ‚!‚`œ!ý/èªüÂ>ªíªs^` !!##73!!Π!þ`a¸a‚!‚Xð$ýÈžªþ ôª¸EþfÕ#!!!2+7327676&#›ŠË"œ!ý/V7ºZY.<4€~äL!>†GE&8]|Çý9ÕªþFwrîþÎþô|zªKKÂ"Ÿž”þV^`#!!3 +7327676'&#«_¸Úð$ýÈ;ú:B,5)edµÁ¬n*14! )†çþ`¸þÏGQåþòÖ``œ07“ª )ÿ~þ¾BÕ#3333###'‚ݪϩs»sÏþlj:`ª?`}Z»Z5þ¤{Zý­Sý­Sý¦ý/þBŠºþ0кývÿÎþâð`#3333###'2Ž Ç«T¨TSÇþÂ_MU–84X‹D¨DEþÚÌ”þP°þP°þlýÊþL±þ¡_±ýðÿÿÿîþuNð&Kª·ÿÿBþuA{&kª½ÿ÷þÈJÕ%3###33åt]Ë<)þªºqË"ËøíýEªþ8ì¤ý¸Õýh˜ýžþìÚ`%3###33ã†Z·6*þÒ¢W¾Ú¾[>àýõ¸þ4Bþ?`þ/ÑþZÿøþÈÙÕ!#!#3!33#¶Ê‹ýÕ‰Ë#Êv)vËþþË^ËÇý9ÕýœdúÕþVþìˆ`!#!#3!33#­¸bþb¸Ú¸WçW¸¶·Z¶ùþ`þC½üXþ4ÿáKÕ #3!!!#!"ºwlw"!þ˜þÿºŠþ”ŠÕýœdªúÕÇý9` 33!!!#!Ú¨YšYðþ¸½¨dþfd`þ9Ç–ü6ýýÿÿsþu¼ð&Uªdÿÿœþuq{&uªh þÈ5Õ !#!7!!3#?Ìþ+!t!þ+ßË^Ë+ªªûþ+þìt` !#!7!!3#c¸·þÉ#&#þÉ“·Z¶®²²ý þ4ÿÿÃDÕ<±þVÉ`33#±ÃŸóÃý~VÀV`ü”lû²þD¼ÃJÕ33!!#!7!7Ã×ìëÙý !þöRËRþø!Õým“üÉPªþ\¤ªP—þVÉ`333##7#737±ÃžôÃý} ÈÈ/À/ÈÈ `ü”lû²5–ññ–5ÿ€þÈ0Õ%3### 33çg]Ë<ñýøÚŽþØÙÛ»Ùý¹ªþ8ƒý}¾ýÍ3ýBÿßþìË`%3### 33±‹Z·6ñþbÕ*þ×ÌÚvÏþ¸þ4Áþ?Hþk•ýèÿú×#6&#"#36?6?2aË\Nqj`2X!PË"Ë„+74H—0ŸI >ôþ Ú—Ž*\«þc×ýU'% T pÿÿTHKÿÿ9˜Õ,ÿÿÿ~Bm&J 2ÿÿÿÎðH&j‰ÿøþfJÕ32+7327676&+#33·]Y.<4€~äL!>†GF%9]|—rË"ËøíqwrîþÎþô|zªKKÂ"Ÿžý¸Õýh˜þVÚ`3 +7327676'&+#33x::B,5)edµÁ¬n*14! )†Ý/W¾Ú¾[>àwGQåþòÖ``œ07“ª )&þ?`þ/ÑÿøþfÚÕ%+732767!#3!3Ë4€ãL!>†GF%vý׊Ë"Ëw)wËhþòzzªKKÂ_ý9ÕýœdVþV‡`+732767!#3!3©)edµÁ¬n*1fþb¸Ú¸WçW¸Ö``œ07“ þ`þC½EþÈÕ !#!!3#Ë"œ!ý/àË^ËÕªûþ”þì^` !#!!3#L¸Úð$ýÈ’·Z·`¸ýþ4_H #Hþϸ1ùáÿÿÿ–„m&D 2ÿÿHÿãJH&d‰ÿÿÿ–LN' *3uDÿÿHÿã?&jdÿÿÿoÕˆÿÿÿÑÿã¾{¨ÿÿ5Ím&I 2ÿÿbÿãfH&i‰ÿÿtÿã\ðQÿÿpÿãW{–ÿÿtÿã\N' *+uÆÿÿpÿãW&jÇÿÿÿ~BN' *WuJÿÿÿÎð&jjÿÿÿîÿãNN' *$uKÿÿBÿêA&jôkÿÿÿàÿäÐÕyÿÿÿôþL”`5ÿÿÿùØ0&L 7ÿÿV‡ö&l‡ÿÿÿùØN' *+uLÿÿV‡&jlÿÿRÿãN' *+uRÿÿuÿãZ&jrÿÿtÿã\ð(ÿÿ‰ÿãH{ÿÿtÿã\N' *+uÖÿÿ‰ÿãH&j×ÿÿÿãLN' *ÿùuaÿÿaÿã6&jñÿÿ&0&W 7ÿÿÿÙþVÉö&w‡ÿÿ&N' *5uWÿÿÿÙþVÉ&jwÿÿ&k&W 4ÿÿÿÙþVÉf&wŽÿÿ§ÕN' *+u[ÿÿ݈&j{ÂþÈÙ× !#3"'&'&7332767673ë=Ë^Ëj+75G—0 H >,ZËUNqj_2X!IËþÞþÈâ$'% T päÑþI—Ž*\«zú)üþì‰b!#3#"&73326?3ö6·Z·J'A^s«},4¹4Nq¯!(¸ÚþìÌ~5" 2áä þõ—Ž·«Îûžÿÿÿ¯N' *+u_ÿÿÿûÖ&jÿÿHÿã•ðRÿÿ„ÿâJmøÿÿRþòð4ÿÿbþV{{TÿÿR`Õ:ÿÿ\#`Z:ÿÄ·Õ&>73&'#".73327.'jA,ÕÊÉ?-9dQL}¨n£bÉÊÕ *_VM73IÊ3_,@ Jûô\’9 ž):D;x·| û¶,\L06k2ÿíið#76.#"!!#>2@Ê+ +`UVqH% ]!üúWÉÈcºÜ£akß,[K00K[,þ#ªþ= |¶x::x¶|s`ð&##!".7>32 >.#"3!`!}WÊWþój af¹on¤`Hu *`UVrK- &]V mªþ=Ã>ƒËÊ€;;€Êþ‘µ7kT46b‡¢‡a6Lð>23##6.#"#kcºÜ£aQ»!»WÊÕ +`UVqH% +Ê |¶x::x¶|þaªþ=J,[K00K[,ß@ÿã›Õ".73!!32>?3ôcºÜ£bÉÊH!üúl *_VUsH% +ÊÉ|·x;;x·| þ‹ªýÕ,\L00L\,ßÿùšð)!!332>76."#7>2‹I^lld'g!üD?Ë32€ˆ‡tW8m¢€bGË!~¨Èسs%^­™€cA ªK¡1\‚¡¼i°n00n°¬ï”BB”ïÿç¡Õ 7!!3!!Ò‹!ü«"ËI!üꪪÕþ‹ªÿíiò#76.#"!!>2@Ê+ *`UVrH% ´!ü1ÈcºÜ£akß,\L00L\,ü`ª |·x;;x·|ÿ›ÿã¿ð*:"#>323##".>;7>&32>7#"û¸ƒ\>°Ã´qŸËxw­f ƒ"ƒ8Ro†IHpD.To…HŠ0þ³ .#":/&8Š$8-L1j«yüs¦“Ü’IK•Þ“4¯þãk¥q;3l¨ê­r8{­nüÚ¨m?AkP@ÿãÇÕ&33##".7>3!"32>7ÈÊH}!}Wg“ºnoŸ\m–»j þÒVuN/ "[VUtK( eÕþ‹ªþBÊ;HÖØ‘KªBq“¢”pC4Tk75Õ#76.#"#3>32 Ê, +`UVqH% ŒÊ#ÊT=ŽOn£aîß,\L00L\,ý3ÕþP&*;x·|ÅÕ3!!+ËþþÑ!üdÕúÕªÿÏÿã¿Õ2>73".67##3ÓŒ8`?,Œº‡;_ŒÒ{8e·¸¹!ºH`ý1Kf>>fKÏýIw«o55o«wüOÕþ‹2ÿãð*B33>32.#"".67>7#2>7>.+Ç·04<†“žR<[NH**\°OaŸB ëŽ,5NkŠ­Ô˜e8 ]@Š£ SÕõ?eG% ×F6:4T¡ïžSŒvT0-Tv¨[€çeþ4?yl[B%#?Wgu=@ykX@$aëš…Õ!##".7332>73«ÊT=ŽOn£b€ÊŒ +_VUrH% Cʯ%*;x·|ý3,\L00L\,X/ÿÊÀÕ%.7>76$73(ý0R8&FhG‰0±wîuáË®€M-8–Ì@/7B(FO[3b²V;þ‰3qqm`M-ÿОð1<.'#".>32>76."#7>2"3267.Ž8K\4P2°4gàpHpGEd€Hg±KEg8l¢€cGË"~¨Èسs%üÂ=W9?LŸK9}T¢™Œ=nƒf6a-S^&JnqO)MBaé‚‚´n10n°¬ï”BA“ïýkI‚HME23!6.#"#kcºÜ£a¨»!þ{Õ +`UVqH% +Ê |¶x::x¶|üžªJ,[K00K[,ßÿð ð$"!".7>7>736$33!ëmþî¤9 üö<`? {w?{;Â䀯=™ü„Y[ ,D,¢ò&KA·®üȤ8Y>Pâ•Q“Cþþ®¯¾üzsž3". y-^ÿöÿã.Õ!#".7332>7©…!»¨cºÜ£aÉÊÕ *_VUsH% Õªüž|·x;;x·| û¶,\L00L\,8ÿãŸð9 .732>76.#!7!2>76&"#>32V^–Ñþô±cÒ 8h |Y8 ?iIý°!PBeH, hìÒ^аedd& 1EW1@V- ¼_«‚MMƒ¬`AqU1.Ql>?fF&ª*GZ0vpq{[”i88g‘Z;hS<G`s¨ÿã„Õ".7#7!32>?3ecºÜ£b¨»!…Õ *_VUsH% +ÊÉ|·x;;x·|bªû¶,\L00L\,ß8ÿãhÕ/2>?3".7>7'.+732'.#"009m¢aGË!~¨Èزr& z“›AR3k%-!{3zBÑ)à %,.H„oÒü¯n20n¯€­î”BE–í©¥òN(ªÕÔg N|ò!#6.#"#>2©ÊÕ *`UVrH% ÕÉÈcºÜ£aJ,\L00L\,û¶ |·x;;x·|mÿÆŸð'6."#7>2#732>¥09m¢bFË"~¨Èزs%!HYee`(Õ)ý:*ÚZ.H„oü¯n20n°¬ï”BE–í©q¶hD!cÒEÔeNWÄð##7>32#>.9ª¾ªYvN0¾ h¤á“Ãb µ¾² "ZGü”l Ip•X*9‚ØœVVœØ‚ü\•O•vOÿøžð)E6.#".67>32!!33267>>.#"32>I &H7VpC  -Gc‚¢c”¶[ p•¬Sg!üD?Ë(Lf9  +L>/¿2R91AGH 8{vlQ0e¬â~yåÁ‘%ªL¢.+4^êdªzEEh|7)=(4[{G)0nw€ÿ£ð>23##6.#"#kcºÜ£aQ»!»WÊÕ +`UVqH% ÕÉ |¶x::x¶|þaªþ=J,[K00K[,û¶SÿãÐÕ332>73".7&ÊÕ *_VUsH% ÕÊÉcºÜ£bÕû¶,\L00L\,Jûô|·x;;x·|(\Õ332>733!#".7iÊC +_VUrH% ŒÊþþä!þRT=ŽOn£a`þ¨,\L00L\,ÍúÕª¯%*;x·|-ÿãvð=332>76.7>32#6.#"#"..ÒEmDAt]@ >YfmeW9Q„µtsŸ\Ò /WA@dH. 1`€†}X&a•Æw{¶p&¿KuO)&IjE:S>-&$.;SqLQ‘n@@n‘Q4W>"!;S2BV<-1?af`¥yDE}¯|ò#76.#"#>2SÊ+ *`UVrH% ÕÉÈcºÜ£akß,\L00L\,û¶ |·x;;x·|8ÿã ðD"32>.'2 .732>76.#!7!.7>PeC')VIBdG+*~j`! 0EW1@U- ]–Ðþô²cÒ 7i¦|X6 ?hIý®!&Z‰³L&AU`YC))CY`V@Ê:i”Y;fQ:Ibq9_¬ƒNMƒ¬`AqU13Vq>:_D%ª9DHY“j:ÿö’Õ!!#ãIø"ý¸Ê"Õþ‹¯üOÕ,ªÕ +3>.'.6>?3#^JjN9.&WHÁJlN9.&XIþt†F6Rƒ¿‡Á†žG6S„À‡Á³/g¥ð©k23k¨ð¥g/ûëW›ÜÜœVzzVœÜþêÝœWÿÏáð.>2#".'!!#7#7"2>76.¯VŠ¿ö¤[V‰¾{ HD:@Ô"ý,/Ê/¾"™œoK-2a˜lI, .£•_¡vBDv¢^`¢wC *þº¯ôô¯©(Hf|gK*'HhA>fJÿÿRÿãð2 ÿã€Õ)3>#"&'.6?33"&7>;7">.#2>d0HeE"IUc;l¤6==Â!YUŸÅš @k™g¶H|ŸPýÏ)/D/ 'A| #ZRŸRnI/T†i!  i‡T_–g83„‹EfC þ‹B‰ÙªÑ*F)ý¹mœd/üÐ5f–ÿÿVïža¨þ(Õ3#UÓâÕ˜þÁ?ÿÿÞõmvŸªñ%%#>7>73B˜ >Zs@5~sX˜  1O@;jV>,Mÿÿ'î²fCb}è*#>7632#".'332>76.#"žZ~žZ@BC}Y) 4Oj@*M=&¥1*,C)13‰¢ñs³ƒV$MvR3YB&0K6 %*?*  ßñ3!Ÿ9Œ!Ìñ#©z5ÿåØ`)%#".673327673327>73#7#"Ý0uKDT% ~¨}GO*++}¨}/JI(+}§Ú§-o?–rHE.qÀ“‰ýw“9=?äýñ78=‘sû `32O/¹/Nq‚­"_ªýVR¸,¸!D»s¬}¶ôô—޶¬þþV ¨abà]þVsw %#".7>32733## 6& û>©fe‘Rfޱed‰¹¾¨¨S¹þÏT\ ²T^þô‹TXQ—؈ŠÛ™RVT“ü/þV¬þRÙÚ¬Ú+þV3{3##6&#"#3>32 k””R¹ÙNq‚­"{¸Ú¸!D»s¬}¶ýÙþV`—޶¬ý‡`¨abàbÿãr3!!326?3#7#"&bܸUÑý/kPpƒ¬!.¹Œ¹!D¼r­{¨lþLýח޶¬ëý0¨adà]þVsw%#".7>32733! 6& û>©fe‘Rfޱed‰¹þï¨þŸþÏT\ ²T^þô‹TXQ—؈ŠÛ™RVT“ú‡‘¬þRÙÚ¬Ú7C )3!!!ý#/¸Uzý†¡%þLüÃþVO{#6&#"!!3>32O‡¹‡Nq‚­"²ªüž,¸!D»s¬}¶ýJ¶—޶¬ül ¨abàÿªþV´{+;6.#"#3>323##".7>32>7#"¥ ?qRM{^CË·+¸!-X^g=f—Zeh$hz‚>HlC Kfx7".7>3!33Oþí;lZD,ZŠrX? \\¿ð›P YŒ¿{U¹U¨Ñ:l›ae p;32¦¹‡Nq‚®!η€¸uD»s¬}-¶—޶¬ûݾý¤abàå°þV`!!3„‹ý½-¸þå ÿ¨þVÓ-327673#7#".6?>'&#"#3>32« JI()-|§Ù§-o?HQ 1 JI()-Ϧ€§g-o?HQ ßy“8=?äû `7'32>7>.'#"ˆ!Za”Æö¤Ye„œSìˆý¢.`POzY: !&™NzZ=`ª2onf*zΗUU—Îz‡ËR³!b—Òý·S•oAAo•S3omf*Bq— þV332673##"&7|¸ÜOpƒ­!{¹þÔ¹sD»r­|-û”—޶¬{ùöRadàåÿÿNBKú]ÿâ0E#7#".7>7.7>?3326732>?>.'±#;Pb.d¸"O_n;Y~IWƒ¬i8K+ CÇJ*  .'ýñ(N=MvV6 KCDzdG,± /{“§[ýÿ¬,J6Bv¦e`À´¤D-?N( ?OU100$ üÛEvV17]{DV3ywl'5{‰•+þV {3!6&#"#3>32 ¾•þ²ÙNq‚­"{¸Ú¸!D»s¬}¶ü/`—޶¬ý‡`¨abàoÿã°(;2.#"#7#".767#73>32>?6.'_2 56rtr5v±m%t¸!!M\k>\{ErQ‘ÒD¬ºý>5S0KsR2 OkHm— *MnD O†·rý¬¨,H4@qšZ’+Œ^ uAûŸXuF76.#"'>32ýt*?' Qy–œ˜|W >fG#MMGu+dqz@j£g%W{“—rIÏ/?$2msz~ƒ…‡D;`C$%6"e-H47i™cK•‰~q`LÿÿNB{QúvþVæ’1!!".7>7".7>?3267Ïý¾#9& =Xn|ƒ@-gR, IBre%5P ;N'#?)V¡Žx[:þå+A,:ˆ“‹€4 ElL<{7`q,`/'8% q<‰„s+'\þVÿ`(%#".673327673327673##"0uKDT% ~¨} IO*)-}¨}/KI((-}§þÓ§f-o?–rHE.qÀ“‰ýw“9=;èýñ78=<çùö 7>76.7>32%">76.tX{”—qI  ýt&>) mW", '1' 4K]hm6f£i)þH+[N:  ( AKœ†_ >cëOš‘‰}p_N+9 BI;=@#5ZRLQY45_Q@.5g•—4N3!ADFLR,RN=‚‰‘K?`B!!{$"#3>32!!7>76.‹>jR9 ¸Ú¸"Eµyc€B 8Qh@)ýýIqS8*XÛ4ZzFýs`¬dcF}®gS‚v9„4myŠPIa8ÿÿwÿåg`XúJþV~3326733!#"&J‡¸‡Opƒ­!йþ›¬þ›sD»r­|¨¸ýH—޶¬/øÓ‘Radà-ÿå¢{.!#>'&#"#7#".673327673>32ü¨| JI((ƒ§-o?GP ¨| JI()-|§-o?GP y“8=€eý^`32T‡¹‡Nq‚­"͸,¸!D»s¬}¶ýJ¶—޶¬ûÝ ¨abàÿÿ]þH›{J"Œ…`%!!3_&ý"Ù¸`,þV¡.!#>'&#"##".673327673>32û¨| JI((Ö§e-o?GP ¨| JI()-ѧg-o?GP y“8=€eû´ 32#"&&#"32]?òý¹wwý¹?©de‘Sf°fg‡'T\†‡³T_‡†þ»ccTVR™ÛŠ‡Ù—QV®ÙÚþTÚÿÿuÿãZ{RÿãþVº$+6##".'73".7>;2"6.#2>ªa™Ó‹R¸RKzdQ$“8FW8Ÿb“]% P}§f¯Vе`ý—;}„ k8vcŸ^ŒdAC‚ךUþ[¥7P2€,J5.-PpCHpM'þGH‰È™+OHBRýåZŒ`2üÒBu¡ÿã3326733!7#"&ܸÜPpƒ¬!|¹¾èþ_!D¼r­{¨lû”—޶¬{ü/¨adà¬$R%3#3#ÝÓ1Ó¥Ó1ÓþþRþ\£„ƒ$7'{vþüvƒ?9¤9>ÿôÿë—{)7&7676&767#"767#"763263 #6#"Ö? ?B ‰~ ?B (Ææ('õHÊ(&Ê‘\½–? ¸ !â‰sôBA?>BA?ýÍÉÊpпQQþ¾üÇ9ªŽ2ÿÝ“Œ,"2"76767$32632&#"# 76%7676¿€€`Ò,ÎΘåA-þÂþÒ èIòOža™L@3älþ^0&Ͻå%þÆJX4*o€”ä‰abþ©íu;\SfŽÕa‘ùÆŽ:F‚½78UØNÿìQŒ8327&'"76#"%67&76$ #&67 #"'632`24F616þÙC!/6ä!‡:p¸p2\©²¾ -;! ú9' 2«Ì'#Ìþu`þ0'"/Ü€6OÓÙþàþÖý¿A·¸K¥¥ %[9.ȵÀþŒ!>3 #"&?327#'&&776j¸Ýefy3ÉÍÖL¿x¯/F‚.×Ð B BC ¦quýôýþùðÐ Ñóßh!Ï ACBBˆÿÿ_š )"32676&2 6''&7632#7676r$# %!Eùec9}¸;V ÈØ#&Úô!OþÄÐf¸!*•` %"%:yxþÙý~)ŽR¦·Àh•††KKª>Üiþ´‚ 9"32676&&7656767$ 3276320! 76-676 $" %"YÏ)þ‚ÊÊ=(þqþê´dz€0y—*/F k?Wþ¤þ0,Só!þâsF3Ho %"%þìÑ…}@þ¼Ö~Y9pe·DØóþµQcFÓøâlWNn©-7V¼=ÿïÊ• ,2676&'&! 3%$6567&7'7$"%"ü"/@Up¸prþþ=²‘.<l³"$À~"L7’’—¤ $! $ýŒ®¸?ýÁý´=‘Qmê.°ºu½G4 ¡0ÿã‰{$"276$#"76$76g€ € Ö›'þÊþË&T*&çë''*ÚÅ( ë@@@«ÉÃþPßÈÈŽÇyxÌüÇHÿ⢡ *%"32676&"#" #"7323272 #6#"?$# %!Fz>6-U&*Õû)€Còƒ&"$‚…òC£¸ž+7žñ %"%ú&áþPÄÚÒ–Wþàþ©ü¶0Ûþà—þŸ{#$"2"22#"7#&767663 #6#"€€]€€<ð"$ÚÒ,r#§&#´‘#Œ‹uÿ¸ó|yÜ€¦€ýݹÃãI¾²edÕmúÛ%£‹>ÿã©{'&7766323276#6%$7"”B CC þæ"ÊØ!(þ×)*ª²$r1ü1®¤®cRsBþ¬þ°F;öÖBCACK±­ÊàÔØ¼Jþûüjeý·þ­h0šÿ×ÿ㿌 26#"73267$76767673!"'#@€@>þŠz]iFþé(+âî*ˆÙs€@ü0eœgÌÝÛýu©±/üÑþ²ssMÿïÀ|"267&76% 3%$ÿ€€þg+ܰ%'äí&þ±!&%<9‡¸‡Vþ þî€ýÒÚÄ&¶Ä¼—þѨÌ'´ýLþB&ÿïí"267&76! 3%$×€€þh*ܰ%'åì%þ± '%<:Û¸ÛWþ þî€ýÒÚÄ&¶Ä¼—þѨË'hû˜þB ÿïP J"32676&"32676&+&'#"'&7632'3273767&76676'7Ì$" %!ý“$" %"cYt…~@<w+ÓØ''íN f‹<¸<stZñ!)Ѳ! >‰@#­blbú &"$ %"%ûöIJTOšbßÅÇþo;„„4þË‹‚̨јP6A^g[Ãoþ¤PIÿïú$0+&'#"'&7632'32737673"32676& kb{dXt…~@=w+ÓØ'(ìN f‹<¸<stô¸üm$# %!,¤PIIJTOšbßÅÇþo;„„4þË‹‚èýå %"%2ÿïÖ} ,"32676&2737673%&'# 67&76²$# %!tn!<¸=#vi ž¸ž>þàhXtþÞ>.ºƒ 2äí,þ”!Ò %"%ü³§4þË®¥/üÑþÀIJ=ð¦%žùÛþª§ ÿï ,"32676&2737673%&'# 67&76Š$" %"sn <¸=#vi ô¸ô>þáiXtþÞ=/¹ƒ 2äî,þ“ Ò %"%ü³§4þ˯¥èûþÀIJ=ð¦%žùÛþª§ÿ¿ÿãÐ`3323!"'#"763227Ó¸6½Ð6¸¡?þxð>¶Æœ)`ý,þíÔüÅþ¾88œ–{‹ÿïõ ,2676&'&! 3%$4767&7'7÷$"$"ü"/@UÀ¸Àrþþ>±.<k´"$Á}#L7“ ‘˜¤ $! $ýŒ®¸Úü&ý´=‘Qmê.°ºu½G4 ¡-ÿﱌ +"32676&6! ! &%$&7676$" $"T,þ½ýó>96ŽŒÓþ¨màJGþ2þ§¼)Òà)BÛX $ $è8$Ü{¼Šžþþš²{ÌÑN&ÿ .%"32676& %&'&'&7!2767!"'676%" $"ºIl1þôèŠDã%,Ïú/MNèfQ!S6þÆå=(³wø!$ $•þ‰ýÔúÝT·Öë‰þ®¨rJco<ù7ÿåš{"326! %&$7623 76! %@@£ƒ$ƾ$âE#ßá#e·$!¦¢"SWø@¦¸¦D?@w@@@@L€üBE>©/™µ²}ÌþŸ¶µ ·©cbþºü©WZýšþ³Cÿ %-"32676&%$ %&'&763 76.$" %!þ<<ùú;z1þ É{#*Üí*E:8)"9]‘þÄþÀ B<S %"$Ð36þÑýŒûH9ª×ØG)#¯$67œšŸÿïKØ 6"32676&$76%$76!232'&#"%$'&76$" %"ÍT1$þÉþ 04žˆKZEhr‹”ó‡Z;UÒ EÖ?Oýñþìq\,à×)l”‹ %"%þùþÃ+DçüYl0þ•yP^d6QþÁþqt^}ßÖ]Fkÿ&ì¡$"2''&'$! '&7"32?6•€€þ\gR1“Êž×þã?F‡)+ÓÓ(#(&etm«Ôhà%þ¥ €û™†N)=‰»“mÎØÍÍÃdĽþÏÿÿ•ÿå€'aÿýuaþýúɘ ! &7623$76'76"4þþ¶£+åñ-* A H¤ý B8 ?;þÿ¨kÙØP$U.FŠM?>=(±{ ##"2#"73276#"I·O¸‹7ÿ¤NÚ&&åá&TR ;C >@{þjýËVÁÇÇ®þR777ÿÿüDZr'qû/bTì~i! ! !7 76! $%þ>=&=>þ?&'þºþ˜%»~?>þÂþÁ~»ÅTæîi! ! 3!? 76! %%þ>=&=MÔý©'&þºþ˜%»~?>þÂwJ„~»ÅTì~i! ! !7 76! #7$%þ>=&=>þ?&'þºþ˜Ð+î+%»~?>þÂþÁ~»ÅNÜÜTæîi! ! 3!? 76! #7%%þ>=&=MÔý©'&þºþ˜Ì*î*%»~?>þÂwJ„~»ÅTÜÜœý3<ÿ²"36676'#"7632š‚AB˜¦/D³$ªe?Iõ¼þÏo[$žºN[‹uÖ'ýŽ…ÿ¯"327"767&7623273â,óJHê … ‚ž@„@&²,þW’s> [yu?{EBXFþºÃ@Š '676%"7676! 6"3ŠÄoc þ¥A"!7Ùæ*‹9üŸ.`hH;È‚A?×~= h‚\$…kb8:;-F¡_Zkf2)<à• 73733##7<Ø*Ž*ØØ*Ž*¸ŽØØŽØØÿÿÿáækP˜ö<r 632#"326˜#ÔÐ#&ÔиLT¾´´È{-z!! 476733 654'&5473$aþ1þ‡c¾h ÛAåµ\ïþ??KibcW?3×O)$—çþ•YFö,þW9%3%! 47%67654#"&547! 654% !; -[þ þQ[|#½·™4_X Šâ¾ þóþ¶A F+þ,Q7654ßþí>±¾Ê)jS:PrYÌz™ Ÿ | ˆþ½f[þâþ|v °2K_[ ½ÿajËþºBOeµœ¨u>3Ö[Œ'! 47!23654##7! 654# 3 ý`þEþyeËÄ,2ôè » 9£Œ þ¿ÒþñIãïþdL] }!¯˜>>&þç-4ýT\Gôþ‰P?ïYNû#! 47)!"363654# ; jþ2þ‰‡CMÎþ"9#Y¸|ÊÞþïJÕ$ýÜOFU¶[°þÚ€þ¬GYH:åþ…Q?ë"´ .#67654+"#654+"#&54?!2363 Ž.ç³Ù(7 wK@(6 6)M”,3 ƒÂw \{h4[`5ÆìÚÀÏ.$„ÏþëN1Päþü-+¦˜®´56fØhhþÌJ\QS1! 476733 654+7327654'&5473ù\þDþp #w¯t ð@ ß?R×(öû¬Ú#'Æ©Úþ&79B·Z~“/(ÊI>3Ù‡È|0‘A'$É"Ë=TÀ0KþYÄ2! 4733 7 7654%7%ðOþ0þz »Þ'4¶þB ¦ ;ýñ hþÓ­þk+2"¥ ¨4 ? 3|g9 ›Ò€ 1Ì¿þ†þáb¥5\ ÷TŽôÒ¸ÛÁ[?§þÃ=4$OþÛ¥30¾“ŸÇ@DgûN{”RþŸ=bbþñJ^ ñ!! 4733 654&54767dþ=þ‚ĶÄá HÄç?™ áýý]K[îüK<ër'"xƒV”}|8;?ž-ÿùþY£ê%3! 47! 65'#z #¦Aƒ‹ýÊþ0×)†oâY¥vþ­"uRþû>þ_iý=ÏpŠdþ¨=v_-TýånlþY¢ 5! 476733 7654##7654'#"'73263236;2LþMþe ¢³¢ ù/‘e„40…J>X>HAV++3OLg!kˆõ +þ„34=ŸZ{~,$Èðê*!tþòÁÁW;|†_µbc¸·á1:NþWê <K!# 473; ?654'#736?654+"!# 4?!23632654+"32VGþ48þ’ ·Ñ/+ $PP7$ HS;(]þ¾þÑPwŠ0s‹å1¯xþ*FM¢2…2=þ”2:(!®Þe<'D—”¶:)i{Êþ „dyq+%È^(‘i!¡@5`:DU7?1½™KþVã 76?&54?!3676?654+"#654+"'6&#"‹IAÎ `_ƒ6Z•/ÌŒ˜"+ dd:"< < +L—2ËÂ/fiÉSÕë66PîggþçJ^Fô±§®Û>.„¯þË5<(KþúŠHAþöþÓØŽJTUþY¼÷"! 473$?## 47%33 73ïIþFþi ¼ó/0l¯þ‰28Øþ¤+ Ö.e³/þˆ'18'!¼ðôbMES§ÎÝB6Ùë \–'3! 47%3654#"#7654#"#323632654# 32ù\þYþfeÆÁ-8 n(€U,›Gܺ_¬ù þ¼Ýþ÷HüèÝþ#jJY!0%€Ò!#*!…âlÁÁÚ.8ý/RAòþ…J;÷(#$654'&# #! '54#"36326užAþŲ4@Ïþþ:r²îBpc•ÒÃ*7GÊ06RÚNáK\þ¸¼ÇAM<áþ×ýµ¾Vþô`M ³Öþäh†3þY %3! 4?! 654+7327654'&5473›¼’bý÷þT?‚Ô: XJ”¸°¤#ƒl·eƒ…™Xf”!þÀsaDdLúþÛž‡hþ¸‚*"Žˆ¸^)%w"]&/t[Çñ ! 47!233654# 3 cþ/þ‹hÆ×s²þƒÛþöMÑýûWK[sNüQ@ïþvM<ã]þ)6!23632#654#"#7654#"367  4?3$654+ ú<0¬dº¥™8 ( nŽ)8_Ámeþ+þ˜Â¿"GÊþéÔ@ÁÁÏDYM3bÐ#!/%~Õþßþ¡Pcýý\Pc&fMñrXDè&þYBñ5C! 4767 654'&547 547!33#;27654+"ÅNþ4þ{ c{-å2ƒM]ÿ AAKUcB¸ ½]]ýЄ§&ƒªþm%3=i^i$I&!³}S^Wá/8M ´þ0N¢i7H?bJ‰+ß'ƒÉ%~_ñ! 473363654# 3 gþ9þ‡«v)c¯vÎÔþîJÚ  ýó`N_äý¡„þ¤N^Q@êþƒO?ìHþYC×+%! 4767 654'&54?%773%í[þ.þˆ†U Ö>‡sþÐ#..’58#þʦ})þ0B@M}ŒYiG>2ÒBŒ‚w x´€èþó±†}J­”›$Lv?! 4?33 7654'#7327654+7327654'&5473ãFþ7þx ¼ ß'RûûdRûù[ëÀ¦úÄ™yŸuhþ˜-5>ee/'¾Ô*e–zL˜„Mš hŒ/.h~:PmþY¸Z! 47654'3!27654'#7367654+7327654+7327654'&5473­;þTþ> ;kE ¹ D]D ûgˆˆ†kŠŠ„oˆˆ†¥o¦¦z!¹‘&¸Žº‡|þÕW;F+ ŸÌW`EGÆÐáþ©5,ì ,#wކ jŠœ\‘ŽIy#B2)q¥""x» ƒ’0/!Iþó`#27&547% 323&'$654# r•a¼ jÅx>þÆF…)úqæì) Í#<Ûþö `þþ /M1·(Z¶õÿQmLI J†v–þjt˜þ|Žç 7&U¼þÁ6({”ù:FðŒ‘‘ý?Oþ®¡#p§þƒ*!ˆ#þY3+!! 47%$7654#"7! ! 654'7)SýõþX I]X{µ ©=` *þ•þ¹5 I;%¬7þY83<srg$zŸ8A:ð08ÔƒMþî.'Ï)&G%\Ln-RþYn('3! 654'7!+"'#; 3! 47)­m;¼¸À Yþ@¹D,÷2»Oþ;þu þýÌ—0-*Å’?ºÕ.0þ8Yã(!»þp#09 þWª$*!6?3! 5476%$47$7654! ©T­ 6þuþÃò7þŒþÝ -þ¬ÈC1 þöþÀk¹þ¿7@þë©už!yŒLLþæá(/çTKÿ)."Ã!)ü.'Õsÿyh"56&#"'6?&547%'54' |\_‚ZsWxšUäqð†¾ÕþÜ:)^ª_‡ytJfƒÞFOµ÷Èþ«=%š¢þÛSD@–b*“Ç2Ãã 3#3#3#À"À¬º"ºþ½"½ã°½®è®sõ‡2"5476;%"654#"32‹¥ 7Ö¥ @$¹ëþþFÇap% Xx$¬-8þã²0<LµRQžÂ(mº2&qÿã{ O3267>54&#"326?%!>54&#"7>32>32+3267#"&'#"&5467ò1}i##N;ZeýÃD;Sjþ+ïaUF5";„Hj‹/]€˜ñàuUM1…L#OŠ8Rv2ŒPy¤H'!b3Cšƒ'\iÿêV{0#"'&'732676'&+732676'&#"767632r53þíÑQXZd cTTLŠ¥ @?‡¦Ÿ–½PP­c_^T"f]^Vþyx ±A@^†ž § VJ=+,nQb54"­[\¦m” þP¹d %!!7!!!#73þ)¾þ“’þ“¡þq¸-¸Ñü¾ý½éÿÐÿãÎ{,8P%#"&546?!>54&#"7>32>32#"&!3267"3267>7>54&é:‡PzŽöaUF6#;„G_ˆ":Q™;'8´uP|4þ·B=SkÉ<`(HCA_(Jb?@˜…+ƒTZ[nNX:2¬)+E@AD¦œ6†Ny»GfkDªL8GN€€dGB,•jl‡ MTEF5”`V’$QWõ/µ{  #6&#"ö71Ò¼7Ã)eŒ»)/.þÒþâÖÚÚÖôÿã´/  33267´8þÏþ.¼8Ã*fŒº*/þâþÒ.ÖÚÚÖ+0[%!7!2676&#!7!#áýJ$¶—£œ«ý‡$^$¨WD"þþ¸lp‚Џ¸2¨r¬¨Vÿþ$W?373!7!2676&#!7!#W'Ž(A'Ž'#þ#æjxexþE$$v:&"¾zÌ̈ÊÊýü¸lp‚Џ¸2¨r¬¨+S")7!2676&#!7!2676&#!7!#rB0çþßýw!í}oåý ð|påý!`!`6, YÌ"iJ‡o¨5FP;¨9JI9§§!c?Le«œ…à !3#'!#¦Ù lš~„þ¶n„|þUü¼ÚÚ¤œ!à#3#3!7##3!Õ0ÂÂ;áþª)Ýit¤:ÓÂTà_ø_þÑ_ÖÖD_þP°æœ§à (3267654&#3267654&#%!2#!²;—okIjT1•[_=]þþydUZF½¦þê+þÎEO2BXü?F(1]bFMX b8rt木à 267654&+2+µ ›$O¡=~ÏØ‰*óØ¿¢ù·N9Poývçªu;IÖËDûœËà !!!!!!.þP0œþd;¼ýÆà_ø_þÑ_ûœ×à !7!!7!7!7×¢ýƺ;þdœ0þRàü¼_/_ø_ŒÍï!#"&547>32.#"326?#7!`<†L²‚(ö´¡¢z…Ãàü¼°ýPDýP°Œµï654&#"3267 &547> 'a`s$'`as©*ÆþÂY*Å>Z=hG6qž¸hF6q¸ÚרaJ^ÛשcIà 3267654&#%!2+#ý=”XsHYþÿy»ž”AƒþÆSJ1H]oP {þ°Àœà #'.+#!23267654&#’.9"T‰G C>zD€¢›|yþà:‹\hF[' ?]äÓZ4þŸDmNShPþ×IK/CAœ à!!#!SÍþÚ€þÙà_ýåŒãà33267>73#"&'.540dn  F67Q  o€d931qCBe#% ÝýÉ=4!!!!4<8ýý€l$! !#D7œ>à 333# #5|*Ã…Þ|þÑx ßyàýYÁþ>¨ü¼ñþ)Œ¨ ."326?#7#"&546;7>54&#"7>32¯KI+3A7]ˆ}Ot.{F`s§›PI6~FD{8u‚× E)/7wg+þš]58]Nm„" 03e\Q:&Œ« 03267654&#"3>32+3267#"&'&54"&eu6D`‡~Ot1}Pl[¶™›;];@Ez8WrÓ??#6vh+f]85]:im+9g..-)Œ² 73#7#"&547>32267654&"-tˆt'k?€W !º@Vþ‰ -¨r .¨p¿NýO/0ŽP2;™®0þç8,1]{w7+2^zÛŒö O3267>54&#"326?%!>54&#"7>32>32+3267#"&'#"&5467¥ NC2%8@þ— +%4C þØ8 =5,[!&S-CXY:Q`˜J 51S02V$3K X2MZ )7",Kà) ',GH.P3>,1 `.+-,QEpz1 +/^%##%VIG4Œ³%267>54&#">32#"&'#3L5V$@?5V %C'h@gs4-0ŠN>Tu¿uã304‚=GH320‚?DKÜ/0thQ¡=@G0/OgŒÎ%"3267>54&3#7#"&5467>32h7T"@@5W#EkIt¿t)h?gr3+/€N>\Ç103€AGH311@CKDü™O/0ujP¢54&#"#"&5467>32!32676RIM€ŒB~AŒ’KC4EuŒþb\8ƒH  CKeUþ¯}wX¨=02€k8, NR $Œ­(7!7654'&#"7>32#"'&5473267. ö!0m8LH€9¥I2 !Ý—‡<'w$UT‚»2!<&8 fW<\*0–³Q6O)3 /bW*§0.547>32.#";#"3267#"&547>H9­ƒ3q?>j0Vh IUid^x \m>w5@v6 ˆoð?# KX ]0*,Q>- )5a[C=S*§0#"&'73267654&+73267654&#"7>32ÐH9­ƒ3q?>j0Vh IUid^x \m>w5@v6 ˆo¾?# KX ]0*,Q>- )5a[C=S¦¿.267>54&#"#"&'7326?#"&5467>327302S#G?a…HO"¨œ3d0.c2^g%nEar2-/ƒF?`tí3/2}32#>54&#"#>54&#"#3>32ÑN16A PiN  05OiN /3Oj‰j F)/:Ï&)=3M<þ•g3B $H}þ™g6@ # C‚þ™s6"#*+­¦+73267654&#"#3>32›XŠht9HW&HQnMt‰t+vHl>!þpmwXEG$%?g`þžs^67d;*.Œ£ "32654&'2#"&5467>›gŠFGgŠF<{‚4/1\v€4/2ÇÀ“IHÀ“IHWxsM™=BBzrL—?AC4Œ>32#"&'73267654&#"¯3i3¤{ "ߤ3\+&V:m‘ Jmg!#4Õ>32#654&#"4#À“’a { 2XYuÕ ©‰S2;6*3_zx4ŒÕ#"&54733267#À“’a { 2XYuÕ ©‰T1;6*3_zx­Ì%#3>32#"&7267>54&#"¾Fs½t'l?fp1,0€M?Y’3U#A@5W#FëþÂbP.1tiP¡>BD/(203@GG221€@DKDœÁ!!;#"&5467#737­'þùK1@‚ŒjbK¼¼'Á²Pþ¬ %R>B&TP²+¦332673#7#"&5466TuU;5PoMu‰t.qBR`‹„þ|&,0h_bý^76RG4Ôý}!7!267654&#!7!#‰þK¶_fVlþqÀi7"¢g32#"&'#ÂN†.08pdšÔrýì6 øRžL&HžP”¤&:®nš¶PHJÐnf˜"¸2ZTZàjw…Qÿw‡Iñ¶,. ºuW[׸‹þíjp|aU—ÿÿéœç௠ `!!!7!!7!!7!!¬þ<münm<þ pFþ“’þ“Fh¤þË5¤iþ—’þV);+73276?#"&7!7!ÎBY×&mo¥Í¹Z980¥Œ&ÆþÙß–|~€Ãijœ>>~ÔÂùŒ² #3>32#"&654&"26¤tˆt'k?€W !º@Vw -¨r .¨pëNqO/0ŽO2<™®08+2]{w7+2^z3Œž#"&5467>32.#"3267!.i8Ž‘D9;ŒT8i2)Y5El%$'VV[).™XX ` @?s'"@*bhj*Œ§!0#"&5467>32.''7'37.#"32654&NG/-0Yy0-0‘T  !»­Y†B´¡2q‹IAi† ƒ`§TN:ACxrF‰;>E0 430pQ13þè ¯ŽCJ´$8%¬0#"&'73267654&+73267654&#"7>32îPBÅ 6o9,n?m U_chVeLW0pDEv3„y að H*]fa;7#9Q0" ,] P75H3œž#"3###737>3žƒ<< òóxtx½» yvU/88PýÝ#P,l\>­“73#7!3#+7326?Þ™cÇ3! €Ut 2VPoQ¶’/f18_*^j(kD|X ¸~5Û;±xt4)2_z£‘f[bF53ŽN/8³*«¦332673##"&546UtU(FRmNt½uJ+wGl?‰…þ{#&?g`büO68d;)&œ«3#!3#3!737#737#ËttÍ)>ßÞ&æýÀæ&ññ,µ‚rþæ\­PP­\Ê”œ=#"&547#7!;+hH Fµ)W 9tœ`:!(@Pþp7œÍ !#3!73#@ågæýÀågæPþ-PPÓœÍ#3!737#737#7!#‘è&æýÀå&èè-æ@å-õ\­PP­\ÊPPÊ/­¢3#"5476;33#7#"3276.ttþŧªy‰t‰rx)? rPHB‚ü,^ssýW?#5˜" ½­ ;#"&547#7!:!8‡“dM ±º.‘!7X`32#654&#"eV!10‹X+a7[2SVR ;Fi‘xlX6V~a88f5/=þ…w,!"Ck\[­v+764'&#"#3>32;#"'&547¿B :G44NW‰W,`8[  C  1"U œH/-B-56\þžsa88B$6/<þÍH 5 X6,+<ùœØ 33# #…«¾o{Œ«¾o{þùý~úþ-Œ¤( #"'&54767"!654'&!3276&;& $_`”“;% #`àX;3e þ¡ XY;*T6S1;¡TTT5S1< U=5c%3!=þÏ3"==,®³!,7#7!#3!737&'&54767676767654'&”˜¢—b.% #`Ji˜þ^—i0% #`No`f/#; þýg5'; §\\A5S1<¡TA†\\… D5S1< UD ]þ/%>w6*3"%þ;Ö )=x5*4")%­¬F&'&#"#"/;#"'&54?32767654'&/&'&547>32¬,329V01 Y&v+²ˆ9<  C’ r'  :v=R21 g&h'¢‚@nýb /$+0Wf , X6!9%/"19- *,X`þ­Ó>;#"+7326ÁLG{no>; –~r-C;‘]MecU-:ýJxlX6€­ÇÁ%!!;+73276?#"'&547#737â"þùBJ‚DCh‚u9"#ƒ,B¼¼"Á²Pþ¬#]m;t>g>t>uu7t7>=Jz0 Ûþ™N^B;™\þæþæ\ý`9C*D'0$+-6/ù‹Ø&7!267654&'7!##"&547>72MlI¶†27”;!׎|]X³\{'yK5\mY.`#{\8b(!ƒ¤ŒS $Ry:6œœ"3+"&5473;7267654&'&tË [‡44*Ä8a'"ƒ¤W8%/þp+)mY/eœÀ##3À{iþ°{’œýòsœµ !!!7!´þýñîþƒ^þ=R^ÃP­!!#;#"'&54?!7!åœþVG  2!V þ°ªþÄ^þ=R 5 X6,+; ^à ^È#67#7!7!3632#7327654#Ma äþ\&ýénIŠwÒ n#8œ!!^ÃR^þ=¢_jR !ô¨Ý 2#"&'73267654&+7!7!‹CJ9Cݱ;y>/xDxVhnLþ\&§ f2|‡mTP2I]R^%Œ¬ä "654'&#"!3276  &5476& XY@8 Mþœ XY@9½&S.ËþÚS.l?32&VVL~g?f&VVM]ªXK_ÑÛ©YK_Ðÿÿÿ–þ Õ&$¨ÿÿHþ ?{&D¨ÿÿP&% 3ÿÿ;ÿãT&EŠ2ÿÿþcÕ&%¦ÿÿ;þcT&E¦ÿÿþ›Õ&%´ÿÿ;þ›T&E´ÿÿsþuÀk' +®u&&ªdÿÿœþuÀf&vZ&FªhÿÿÿøjP&' 3Îÿÿwÿãå&GŠÎÿÿÿøþcjÕ&'¦Îÿÿwþcå&G¦ÿÿÿøþ›jÕ&'´Îÿÿhþ›å&G´ÿÿÿ¨þujÕ&'ªþòÿÿwþuå&GªìÿÿÿøþjÕ&'°Îÿÿ:þå&G°ÿÿ5þÍÕ&(°ÿÿHþf}&H°ÿÿ5þÍÕ&(³ÿÿ>þf}&H³ÿÿ5þuÍm&ª2&( 2ÿÿbþufH&ª2&H‰ÿÿ\îP&) 3ÿÿÝP&I 3ÿÿNÿã›0&* 72ÿÿ;þHyö&J‡ÿÿÿøÙP&+ 3ÿÿTHP&K 3ÿÿÿøþcÙÕ&+¦ÿÿTþcH&K¦ÿÿÿøÙN' *`u+ÿÿTHX&KjHÿÿÿ?þuÙÕ&+ªþ‰ÿÿÿbþuH&Kªþ¬ÿÿÿøþÙÕ&+±ÿÿTþH&K±ÿÿ0þ˜Õ&,³ÿÿ0þì&L³ÿÿÿøJk&. +uÿÿZ´k&N +ÿruÿÿÿøþcJÕ&.¦ÿÿZþc´&N¦2ÿÿÿøþ›JÕ&.´ÿÿZþ›´&N´2ÿÿNþc Õ&/¦2ÿÿ þcÑ&O¦ÿÿNþci0&3 7ÿÿ þci0&4 7ÿÿNþ› Õ&/´2ÿÿhþ›Ñ&O´ÿÿNþ Õ&/°2ÿÿ:þÑ&O°ÿÿÿÅ k&0 +8uÿÿÿòšf&PvÿÿÿÅ P&0 3ÿÿÿòš&PŠÿÿÿÅþc Õ&0¦ÿÿÿòþcš{&P¦ÿÿÿú×P&1 3ÿÿTH&QŠÿÿÿúþc×Õ&1¦ÿÿTþcH{&Q¦ÿÿÿúþ›×Õ&1´ÿÿTþ›H{&Q´ÿÿÿúþ×Õ&1°ÿÿ:þH{&Q°ÿÿRÿãù' +2' ,2ÿÿuÿã®ù&R&t„H“ÿÿ3´r&3 +ÿw|ÿÿÿþþVhf&S„ÿÿ3´P&3 3ÿÿÿþþVh&SŠÿÿ P&5 3ÎÿÿÙÃ&UŠÿÿ þcÕ&5¦ÎÿÿÙþcÃ{&U¦ÿÿ þc0&Q 7ÎÿÿÙþcÃö&R‡ÿÿ þ›Õ&5´ÿÿhþ›Ã{&U´ÿÿÿã{P&6 3ÿÿsÿã5&VŠÿÿþc{ð&6¦ÿÿsþc5{&V¦ÿÿþc{P&¦&6 3ÿÿsþc5&¦&VŠÿÿ 5P&7 3ÿÿÃdP&W 3ÿÿ þc5Õ&7¦ÿÿÃþcdž&W¦ÿÿhþ›5Õ&7´ÿÿhþ›dž&W´ÿÿ:þ5Õ&7°ÿÿ:þdž&W°ÿÿPþdÏÕ&8§ÿÿ_þdm`&X§ÿÿ0þÏÕ&8³ÿÿ0þm`&X³ÿÿ:þÏÕ&8°ÿÿ:þm`&X°ÿÿPÿãÏù' +2' ,8ÿÿ}ÿå®ù&t&X„H“ÿÿÇ+E&9 ,\ÿÿ¶¾&YtØÿÿÇþc+Õ&9¦ÿÿ¶þc¾`&Y¦ÿÿR`r&: -|ÿÿ\#m&CÕZÿÿR`r&: +|ÿÿ\#m&vOZÿÿR`4'j8$:ÿÿ\#¿&j¯ZÿÿR`P&: 3ÿÿ\#&ZŠÿÿRþc`Õ&:¦ÿÿ\þc#`&Z¦ÿÿÿ9P&; 3ÿÿÿº¸&[Šÿÿÿ9N' *`u;ÿÿÿº¸¿&[j¯ÿÿÃDP&< 3ÿÿÿÙþVÉ&\Šÿÿÿúút&= ..|ÿÿNmm&]dÿÿÿúþcúÕ&¦=ÿÿNþcm`&¦]ÿÿÿúþ›úÕ&=´ÿÿNþ›m`&]´ÿÿTþ›H&K´ÿÿÃdâ&Wjÿ¢Òÿÿ\#b&ZrÿÿÿÙþVÉb&\r ÿÿÝP&A 3ÿÿ_ÿãH"÷ÿÿÿ–þcÕ&$¦ÿÿHþc?{&D¦ÿÿÿ–þct& .|ÿÿHþc?m&Ždèÿÿÿ–„ù' -T&$ 2€ÿÿHÿãJ¢&Ń<ÿÿÿ–þc„m& 2ÿÿHþc?&ŽpèÌÿÿ5þcÍÕ&(¦ÿÿbþcf}&H¦ÿÿ5Í^&( ,Tuÿÿbÿãf7&Htÿÿ5þcÍt&• .|ÿÿbþcfm&–d"ÿÿ9þc˜Õ&,¦ÿÿ=þcì&L¦ÿÿRþcð&2¦ÿÿuþcZ{&R¦ÿÿRþct& .|ÿÿuþcZm&ždÿÿÿ×ÿãk&b +ÿ‘uÿÿ ÿãÃf&cv—ÿÿÿ×ÿãk&b -ÿ‘uÿÿ ÿãÃf&cC—ÿÿÿ×ÿã^&b ,ÿ‘uÿÿ ÿãÃ7&ct—ÿÿÿ×þc&b¦‘ÿÿ þcÃ{&c¦—ÿÿPþcÏÕ&8¦ÿÿ}þcm`&X¦ÿÿÿÅÿã8k&q +ÿvuÿÿÿáÿå¼f&rvÿdÿÿÿÅÿã8k&q -ÿvuÿÿÿáÿå¼f&rCÿdÿÿÿÅÿã8^&q ,ÿvuÿÿÿáÿå¼7&rtÿdÿÿÿÅþc8&q¦ÿvÿÿÿáþc¼q&r¦ÿdÿÿÃDr&< -|ÿÿÿÙþVÉm&CÕ\ÿÿÃþcDÕ&<¦ÿÿÿÙþVÉ`&\¦úÿÿÃD^&< ,TuÿÿÿÙþVÉ7&\tÿÿEÿçÙr&iôÿÿEÿçÙr&¡ôÿÿEÿçÙr&vôÿÿEÿçÙr&ƒôÿÿEÿçÙr&wôÿÿEÿçÙr&„ôÿÿEÿçÙÑ&xôÿÿEÿçÙÑ&…ôÿÿÿ–r'iþ¢Õÿÿÿ–r'¡þpÕÿÿþ®r'vývÕÿÿþàr'ƒývÕÿÿÿ]r'wýóÕÿÿÿ{r'„ýóÕÿÿÿ–Ñ'xþ¢Õÿÿÿ–Ñ'…þpÕÿÿ„ÿâJr&iøÿÿ„ÿâJr&¡øÿÿ„ÿâJr&vøÿÿ„ÿâJr&ƒøÿÿ„ÿâÊr&wøÿÿ„ÿâÊr&„øÿÿÿÁÍr'iýÙÿÿÿóÍr'¡ýÙÿÿýÍÍr'vü•ÙÿÿýÿÍr'ƒü•ÙÿÿþJÍr'wüàÙÿÿþhÍr'„üàÙÿÿ|þV\r&iúÿÿ|þV\r&¡úÿÿ|þV\r&vúÿÿ|þV\r&ƒúÿÿ|þVÊr&wúÿÿ|þVÊr&„úÿÿ|þVœÑ&xúÿÿ|þV”Ñ&…úÿÿÿÙr'iý]ÛÿÿÿÁÙr'¡ý]Ûÿÿý‚Ùr'vüJÛÿÿý´Ùr'ƒüJÛÿÿýæÙr'wü|ÛÿÿþÙr'„ü|ÛÿÿÿÙÑ'xýDÛÿÿÿÙÑ'…ýDÛÿÿ‡r&iüÿÿ‡r&¡üÿÿ8Jr&vüÿÿjJr&ƒüÿÿjÊr&wüÿÿ‡Êr&„üÿÿ‡œÑ&xüÿÿ‡”Ñ&…üÿÿÿÁ˜r'iýÝÿÿÿó˜r'¡ýÝÿÿýæ˜r'vü®Ýÿÿþ˜r'ƒü®ÝÿÿþJ˜r'wüàÝÿÿþh˜r'„üàÝÿÿÿf˜Ñ'xýÝÿÿÿ^˜Ñ'…ýÝÿÿuÿãZr&iÿÿuÿãZr&¡ÿÿuÿãZr&vÿÿuÿãZr&ƒÿÿuÿãÊr&wÿÿuÿãÊr&„ÿÿ ÿãr'iýÚãÿÿÿóÿãr'¡ýãÿÿýÍÿãr'vü•ãÿÿýÿÿãr'ƒü•ãÿÿþàÿãr'wývãÿÿþþÿãr'„ývãÿÿ„ƒr&iÿÿ„ƒr&¡ÿÿ„ƒr&vÿÿ„ƒr&ƒÿÿ„Êr&wÿÿ„Êr&„ÿÿ„œÑ&xÿÿ„”Ñ&…ÿÿÿ]Dr'¡üùèÿÿý´Dr'ƒüJèÿÿý¹Dr'„ü1èÿÿþÈDÑ'…üùèÿÿ2ÿã—r&i ÿÿ2ÿã—r&¡ ÿÿ2ÿã—r&v ÿÿ2ÿã—r&ƒ ÿÿ2ÿãÊr&w ÿÿ2ÿãÊr&„ ÿÿ2ÿãœÑ&x ÿÿ2ÿã—Ñ&… ÿÿÿ¼„r'iýÚìÿÿÿ¼„r'¡ývìÿÿýÍ„r'vü•ìÿÿýÿ„r'ƒü•ìÿÿþù„r'wýìÿÿÿ„r'„ýìÿÿÿ±„Ñ'xýÚìÿÿÿ^„Ñ'…ýìÿÿEÿçÙf&CôÿÿEÿçÙfïÿÿ„ÿâJf&Cøÿÿ„ÿâffðÿÿ|þV\f&Cúÿÿ|þVffñÿÿ‡f&Cüÿÿ‡ffòÿÿuÿãZf&Cÿÿuÿãffÿÿ„ƒf&Cÿÿ„ƒfÿÿ2ÿã—f&C ÿÿ2ÿã—fÿÿEþVÙr&Èœ¹ÿÿEþVÙr&ÈœºÿÿEþVÙr&Èœ»ÿÿEþVÙr&Èœ¼ÿÿEþVÙr&½ÈœÿÿEþVÙr&¾ÈœÿÿEþVÙÑ&Èœ¿ÿÿEþVÙÑ&ÈœÀÿÿÿ–þVr&hÁÿÿÿ–þVr&hÂÿÿþ®þVr&hÃÿÿþàþVr&hÄÿÿÿ]þVr&Åhÿÿÿ{þVr&Æhÿÿÿ–þVÑ&hÇÿÿÿ–þVÑ&hÈÿÿ[þV\r'ÈþÈÕÿÿ[þV\r'ÈþÈÖÿÿ[þV\r'ÈþÈ×ÿÿ[þV\r'ÈþÈØÿÿ[þVÊr&ÙÈþÈÿÿ[þVÊr&ÚÈþÈÿÿ[þVœÑ'ÈþÈÛÿÿ[þV”Ñ'ÈþÈÜÿÿÿþVÙr&hÝÿÿÿÁþVÙr&hÞÿÿý‚þVÙr&hßÿÿý´þVÙr&hàÿÿýæþVÙr&áhÿÿþþVÙr&âhÿÿÿþVÙÑ&hãÿÿÿþVÙÑ&häÿÿ2þV—r&È ÿÿ2þV—r&Èÿÿ2þV—r&Èÿÿ2þV—r&Èÿÿ2þVÊr&Èÿÿ2þVÊr&Èÿÿ2þVœÑ&Èÿÿ2þV—Ñ&Èÿÿÿ¼þV„r&hÿÿÿ¼þV„r&hÿÿýÍþV„r&hÿÿýÿþV„r&hÿÿþùþV„r&hÿÿÿþV„r&hÿÿÿ±þV„Ñ&hÿÿÿ^þV„Ñ&hÿÿEÿçÙH&ô‰ÿÿEÿçÙö&ô‡ÿÿEþVÙf&ÈœÿÿEþVÙy&ÈœôÿÿEþVÙf&ÈœïÿÿEÿçÙ7&jôÿÿEþVÙ7&Èœ`ÿÿÿ–„m&Õ 2ÿÿÿ–i0&Õ 7ÿÿÿ–f'•þpÕÿÿÿ–fÌÿÿÿ–þVÕ&hÕÿÿ2Âxriÿÿ“þVYÿ¤È2Âxr#727#73V2ñ"ñÃþÿd¯ÿÿ‘V7tÿÿ´F£‹'jMTjÿÿ[þV\f'ÈþÈ!ÿÿ[þV\{'ÈþÈúÿÿ[þVff'ÈþÈñÿÿ|þV\7&júÿÿ[þV\7'ÈþÈoÿÿÿ;Íf'•ývÙÿÿÿƒÍfÎÿÿÿ Ùf'•ýDÛÿÿÿQÙfÏÿÿÿøþVÙÕ&hÛÿÿ8ÂJr'•úiÿÿÿjÂÊr& diÿ8ÿÿלÑ'jFšiÿÿ‡JH&ü‰ÿÿ‡+ö&ü‡ÿÿ‡-Ø&“üÿÿ‡ÏØÔÿÿ‡V7&jüÿÿ‡£‹&küÿÿ9˜m&Ý 2ÿÿ9˜0&Ý 7ÿÿÿm˜f'•ý¨Ýÿÿÿƒ˜fÐÿÿjÂJr'•ú¡ÿÿÿˆÂÊr& d¡ÿ$ÿÿÏ”Ñ'j>š¡ÿÿ„ƒH&‰ÿÿ„ƒö&‡ÿÿ„ƒØ&“ÿÿ„ÏØóÿÿ%þVzr&iÿÿ%þVzr&¡ÿÿ„ƒ7&jÿÿ„£‹&kÿÿÃDm&è 2ÿÿÃD0&è 7ÿÿÿ Df'•ýDèÿÿþÔDfÒÿÿÿó´r'¡ýåÿÿ´F-Ø'•rjÿÿ´FÏØËÿÿÅîPfCÿÿ2þV—f&È)ÿÿ2þV—`&È ÿÿ2þV—f&Èÿÿ2ÿã—7&j ÿÿ2þV—7&È™ÿÿÿTÿãf'•ýãÿÿÿãfÑÿÿÿT„f'•ýìÿÿÿ¼„fÓÿÿÿ¼þV„´&hìÿÿ?îffvdÂxr73#3"e"ñ"Žòï¯d/ßZƒ·ÔÄ991ÔÌ0!!P !ýöƒ¤ÿÿ/ßZƒ­ÿÍìºy@ ‰ÆÔÄ991üì0!!Ñû/yÿÍìºy@ ‰ÆÔÄ991üì0!!Ñû/yÿÍìºy@ ‰ÔÄ991Ôì0!!Ñû/yÿÍìºy@ ‰ÔÄ991Ôì0!!Ñû/yÿÿþÑÿ]&BBðÏÇ 9@:ogÔÄä91üì0KSXíí9Y"#73Ëü)š¬ÇÏ~þ‚ÏÇ 5@:ogÔÄäÀ1üì0KSXíí9Y"3#¤ü)þñ™¬ÎþËþáœ/5@:onÔÄäÀ1üì0KSXíí9Y"3# ü)þñ™¬/ÏþÇB#7B*™t*ÎþÎöÇ‘ e@3     :o g     ÔäÄÔÄä991ü<ì20KSXíí9íí9Y"#73#73¼û&™¬þ ü'š®ÇÏ~þ‚ÏÏ~þ‚ÝÇy _@0     : og     ÔäÄÔÄäÀ91ü<ì20KSXíí9íí9Y"3#%3#²ü)þòš¬ôü)þòš¬ÎþÎÎþÿðþá‹/ _@0     : on     ÔäÄÔÄäÀ91ü<ì20KSXíí9íí9Y"3#%3#Åü'þóü'þðš¬/ÏþÏÏþ)Ç #7##7*šs*Ï*šs*ÎþÎÎþÎÃÿ;oÕ \@0:‡ Q”   ÔäÀ99991äôÔ<ì20KSXííííY"3!!#!7!¢°Roþ‘Ù®ÙþoÕþ\™û£]™;ÿ;oÕ‰@L       :‡ ‡ ” Q   ÔÄÀ9991äôÄ2Ä2î2î20KSXííííííY"%!#!7!!7!3!!!Éþ‘R®Pþ‘ojþoR°Roþ‘hnßþ\¤š™¤þ\™ýá?Ñ‘! · ™ & Ôì1Ôä04632#"&?¬}|­®}|«ú|«¬{|­«?áq?¢ðþˆÿ¾)/ w@<    :n    ÄÔäÔäæÀ999991/<<î220KSXííííííY"3#3#3#ü<üoü;üþ¡ü;ü/þÑ/þÑ/þÑј'3?Km@<%1= ÊÊ1Ë%Ê+\CË7ÊIF:4(:"FG4"@ "G""".G"@(/ÄìÄôìîöîîöî99991/<î2î2öîþîî299990'32654&#"4632#"&32654&#"4632#"&32654&#"4632#"&H%'üH_EDbcCE_y¥xx¦§wy¤LaEEacCEay¦yx¦¦xy¦ aEF`bDEay¦yx§§xy¦7aŸ`ýJGacECcaEy¥¦xy¨¦ÓEaaECcaEx§§xy¨§ý"GaaGCcaEx¦¦xy¨§Ñ˜ @LP[f4632#"&62654&#"4626763267632#"'&'#"'&'#"&732654&#"/2654&#"2654&#"¦yx¦¦xy¦yaŠacCEÚŠÈE EfdE Efd‹‹deF FceF  Fce‰eO:9QR8:O%'ýQtPR8:QzQtPR8:Qyx§§xy¨§¿ŠaaECcüy¥S  SS S¦xy¨T TT T¦{GacECcaÑaŸ`ýJGaaGCcaEGaaGCca†`FÕ3†õËþ—`uþ‹ÿÿð`ÜÕ'ÄÿjÄ–ÿÿZ`rÕ&Ä'ÄþÔÄ,Î`þÕ#3þWÙË`uÿÿ8`”Õ'ÇÿjÇ–ÿÿ¢`*Õ'ÇþÔ'Ç,Ç5m#@ÅuCÔì91ôì907m+þ¡ø!þ{#Óþøþõ°¢R=s#@ÅuCÔì91ôì90%77=+_ú#ƒÓ °þ^Rÿÿ?”Õ'þÌ4M_ð$#7>3273767676'&f¾· #`o%iÊhº\[..piR6 þÌ2Ë2T6J! 7‘­ #D¼98``¡LAB\VBT=ýÅþþBþR-;,,1Y7ÿÿ»Ñ Bžþò !#3#3!m§ðˆðð‡ðþVýEýF“þò  #73#7!!73'ðð‡ð¨þ›þXð;»øÞÿÿÿæëñ' 6þÌ 64ÿÿx³ñ' 6ÿ^Sÿÿ?Óñ'þÌ 6'ÿ;¹Õ 2###/ר%$þéÚ¤0¿þÐHÕ辸Ýü²ùášað $<4762#"&%#"'&5476767632276767654'&#"bJ&%6¸N89JKdƒ??&&:9JJcƒ@@þY6.,!/!!H8,. /#"@  ,¶køMO&&EDl{zOO&%EDý‚8NtsdV'&5NtujO'&?œ’ !3!73#3#û(wæýÀæe´ûttýÝPPÓD‚œªß t@> JJ J  J: ÐÑ`   ÔÜÄÀ991ôôÔ<ì290KSXííííÉÉY"33##7!7 !ü¢iuw!‹#þ~Íþª ßýäo¸¸y}þy4ß&!!>32#"&'7327654'&#"üþ1 <MM##A>IM`H~09v?}RR66`5782ß_Ì ?@gFAB0.rABaH() bð64'&#"326.#"67632#"'&5476767632f''HbCB))Ha‚´'\2‚TT%1;?LvBA.5BCR‰JJ-Bfg‹200é?#"GFkC'&–ThPP =87h?FC.7ABx]deRx<< aœß!#!¥u ýã’ þ$ß5üòäAð,:4'&#"3276&'&547632#"'&5476"327654'&M-,O`=>ZLc==þùH$%dcx–BAkS,+ÌŸ‹POFG2UnNER98((ŸA%%87V;F34();eHHfPOA@0.Ku˜99d]BBUZF7@11F2að4327654'&#"732767#"&54767>32#"'&NH`DC)(HaAB´'.-3UT%.?>Lx‚-5†RˆKK4.BgfŒ3//“@DGFkE&&KKý¬h PPŸ9pgCBC.66BAx^ÈRw=< Û¶, !!#5!5!5žþèjþè,ù_ùù_ùÔ¶3!!šýf3_a¶¥!!!!šýfšýfÁ`D_–; #.547;”—%&e1/£ž¨þªªQ©[j¯PªO›–< 654&'3–”˜&&f00¤ž¨VªQªZi°Pªþ±›œ¦#6&#"#367632¥KK;PZ;:Dy-@@Px^!þ{…TP43`þžs^6~ÿÿaÿñTÖýdÿÿ\šC{ýdÿÿ3ßTtýdÿÿÿñ×TuýdÿÿªCØýdÿÿ4ÿñCÙýdÿÿbÿñTÚýdÿÿaCÛýdÿÿAÿñTÜýdÿÿaÿñTÝýdÿÿ?¶Þýdÿÿ8¶—ßýdÿÿŶ àýdÿÿ–ÿi;fáýdÿÿ–ÿi<fâýdÿÿ)ÿ𨂾ýdÿÿ%ÿð¬ƒÄýdÿÿ.ÿð£‚ÍýdÿÿÕîszýdÿÿ$ÿð­‚Åýdÿÿìÿð…XSýdÿÿ ÇgÊýdÿÿœ8nxýdÿÿñà‚Ëýdÿÿ¦‚ãýdÿÿÿÌ‚Ñýdÿÿ"Š“yýdÿÿD%ÒýdQÁÖ##"32.#"3267!!!!!!>D¯ Hó¯Es.+mD„«;m„C€>Fçþ,oþ‘6ˆþ¸667756ŸGFêþDêFG €þµ€þk€Nÿ¦¡9,6<073&'3267#"'#7&'#7&'&476$;73&' &$/zE"/2þ. rÒd'aÈd"y#,'4yQ …e_d« zÝsZlL245…+,þ#$-â r§Õ9(û™YYï34@W}Å œ²XŽ—Iï FR¨lñzŸd ûNÿã¡ð2%6767#"476$32.#"3>32.#"ŸJGkd'cÉeíþôf_e¬k½R"P±h×M24WFyŠ7–W,6m¤Œ ,Yï348²XŽ—GGÕa^¤¨lñzÌkVeX]¤ɨ9—Õ!!!!3###7ó¸ìýÄKýû4»º,°-¡˜=ªþHªþÏ”þü”-³ð#!!73#737#737632.#"!!!BïüØB¼»º¹0ñÖ@@!8y:ˆˆ&eþœcþ“ªªm•.ò¶(*ŸÐ•.ÿBI+#6'&#"#367623632#6&#"#Se@ GT<=In‚n1;:,teM=GhUNnM2FU<=In"¾xGM_a¢ý‡`®f21>&>EÖ3öáý\ž¡œ__¤ý‡ÿÙøÕ"&)''#!333#3#!###737#73377Û'(‚%hækÄk¢¢¢¢kþðhækÄk¢¢¢¢ûƒ'(¯ÎÎþò““4ýÚ&ýÚ{“{ýÚ&ýÚ&{“{{““þòÎÎÿãÃÕ?X32654&#+#32333632.#"#"'&'#"&54673#;732654/.54å5{TY=6Ó5M‹{9bãcg9Y³>^,T(#O)GQ_Y<Šo+/UOO:߆9%)1_,BRl D?/ýϰ¤itþ¢’^‰ý¨Õ¾·>þÂ/J®((cUc53pa²à €‚7!`ý ". @:M46tY`;%y^ ÿã¢ÕE326&##.+#!232676&/.7>32.#"#"'&;’TdGT}CEEFt¦“y`L#6 3468J[ 1^#^G”v;d((]3OX 1Q#kN¢|45/ýúØ–bý‰ÕÖØº$~´3YQKP%$•‚ž¬®((TT@I!*™‰œ¶*Õ"&)-1'#73'3!73!733#3#####7!73'!!7g=&…[8•\8†9%=!Ogþû¦€þÿ¦!h Àá"ü¯Á¶!Qþ;!uÂÂÂÂÂÂuü€€ü€€ýg™uuþüýg™uuuuÿÙÿãEÕ %2 #6&#!#)"33!3ò“Æ“5EŽ@+SˆþýýMþrÆ”6DŽ?,S‰úÒþÖþÜþ‘VðÓú²*$oþªðÓNÿÿwþš‡&Óikÿÿöÿã¨ð-|@C$%°|{c!|{ c °'+a!e.'.-,+($$ &,$.ÔÄÄÄüÄÄ9999999991ääÔ<Ì2ì2îöîîöîî299032.#"!!!!3267#"5#73>7#7î]LèJ—H'FƒGŠßGÙ2þ8 ›/þˆ‘‡L«U'P VÝå¬1… ž1´!*(ÏA<ÓÅl+\4n6«·@=Ï*( -n;Y'l!3Õ33!!###5¹q¹pËõý0¤þ4àýṄhZ{ý‹uý…rý×ý)èrŸ/Õ!7!!77#'?'dþ,!o þ/K¨¿·ÎyË_¡¹°%ªªþ~aMn†jMwý‘ë]Mk…fM þ'¾3lƒ‘'67>32#"'&'"32676767654'&'&67'>7632#"'.'&/#"'&547>3232676767654'&'&&#"32\!+"X3&; #$06- ³-$   #  üª ³U@'D[i&#  />$*)5' / 2/=! S6&X´&8^) 5þ$  þ'*Þ›kSo;48O07zfi8@ 3l8#?7%!73:'& »)3^ ";6T€$B~od¯4LNtŽ…Fu05 .' #UB4F_ˆ¤üŠA9‰pT‚ne?<&#cEŸû‰# ÿã5ð1A'632327&54767632#72767654'#"'&#"%67654'&#"~m°fp,=,>‹ Xa|jG) )l#Štæz`MJ”cg1 1.$Q./*`ðNkB¾04¬X``7a0<㫃”%&†q¢J<“ Na~hFÙl¯*!#??0W!}3!Õ!&+!23#3#!###737#73!32767!%&+V¸Îl[p[ `f(S þèéu˳dcnm˜ýþêÖ‡ ýí%ÑéÕ\MˆZ.+ZfJý¨—ZYZþó™ó*/Y³‹‹<ÿ[–x&1#7&'&54776?3&'&'6767#7!'€Æ_L@¾™Ñ€_R_J&FYQa×G=D;Gnpiuel_Ò[6*5¥§ƒÆn‚nͦ‰$F×_0,û?'‘¦ýS*%²§ l™þÑd‹YlÿÆÖÕ7!3!#3##!##7373!/3|ÐIî­…H¿>þ2õÂ…¬g°bƒÏ¿'R{ýø{Ï{ýøýø{ÏÏÏ{AÿÙÿãøð667676&#"7>323#!!3267#"&767#736767!7e AŒ^Åg'qÆVßÞ' ›éoÕ):ü§7™hÛ*tÝiüÜ)Ù W’þD¯ 4cq…<;Í''ñÈK={[/ {9b{‰DI×--àÕN@{ O/{…þÓ¼!,&'&#2767#&'&776?¼)GLKfÊf]]o)gc_\4d5´]ª=?û·,e+\RVý°Å_P0- W6¤Õi--ûñ--iÓH$"þðuÖ9BËtæâ"#û£ùBuª¡f´lCg3Õ !!!!#!Às!ûs!þ-ÉËÉþ+Õªxªû÷ pÕ%!!##.+732767!7!&'&+7Oþ¨F#Oã\c–J,+3|Ùi.hcÁ Ý‘VGýèOÛ(<‘óOÕ{P{†V^86¨þhy¡]¦M@f{L5N{tÿä¸ð%%3267# '&547!2."‰U|d©] Ö„þø{OH“}†8Srèyx ¬A< ƒ7@,ƒLÔ‰Ák|r•4‚*:0N²þ¯ue¢v ÿÏÈ#5D.#"3267#"&5467>32%3#%"&5467>3232654&#"5E$(H)-CD$PK1X.v@@+xF)PÚžü»Ÿjz'!4€Rf}'!2¶77Sq95/I—º:!*'?©[jb!8¾´£…ãZ@AKùËä^ÃChfÀ–fËDielmcäµfaBF5Š:žÕ3!3%!!!!!!½üD¾þîf™eþ›þgþšqúó úó dýˆxú+Ûý%ÿÿTHKTH632#64&#"#'?3%Ç—Å‹š‡¸‡]W²!{¸éÞ þ1¸$þÁ¸Ã‘‚EmýJ·H…Wº¨ý‡­EbOû¾YbcJ…Õ %# !3!# ýG¸¹üâH¦Mþ¸ýZMd úóqûáú+áûÿy¦Õ 02#"547"327654!!3>3"##726‰ 4±‰ 4—2 3 þÌbþžý[çõ®yÜ$U2 çõ®yÜ$U2  .=þõ .= Š0ZŠ/=þ ”1¤ûQ~ƒ®¸>;û\¯ü‚ƒ®¸>}ÑN*3>"32>54.'2#".5467>32654&#%!2+#hjµ–MMKLµijµ˜KL–µkÚZZ\[¶Ú~}Ú¶[\ZZÚ&“RXXRþø’••’“uçJ–¸jh·KLLL˜µij¸–JgZZ[Ü~}Ú¶[[¶Ú}~Ü[ZZþ¸þéICBISqmopþÖBšÕ 33!27&#%!2+!67654'&¢À` ý`sïööðòþ€1:+YX*qúó ýj’dÛÓÕÚýˆZý™)VŸžV)þø¼ð (%#'#  %27&"676'&\æÓ¿,þðþºF Eµý]ì]]ì][††{††þÝï¥ab¥þ[þžþüþŽ 22×22ûjT%¶ýœµ%5û¯$¶c¶$%½Õ &.2&'&+3!.+!!2!27&#676'&%3¶A::f&AVy©à-`5­þ‹¢?vfþ«AÙÖd)ýò7%LK$ý2¬—01/ÉþåO„~þh–bý‰ÕÖØÐb)¥ýj’ý™)V>U)-úó “fÕh@6    :    Q  1 1010/üþìÕîÖî91ô<<ì2Ô<<Ä90KSXÉÉÉÉY"###5!3###¶¢r¢´‰}¬rœ7¦qÕ^þä^ÿý¾âþÓ-þB0™Õ %#!!!5!b¶ÅýJZCýJÉû—¶ý]d úóqdúódd ÿÿÿ¼„´ìÿÿÿøJÕ.ÿÿÿ–m‡ ÿçÆ-)7 7673 $54$32!"53!25&'&#"é6Ky {U>ZLtþÅþà ¢"š˜"£ü3à8M{€{M7äM3TT<`xGZ³A¯°E®®þ»°IpP3RQ4Oÿÿ/þãm{& 0'{þþœu‰üVÿÿ/þãmŒ& 0'tþþœu‰üVÿÿ/þã£{& 0'{þþœÙ‰üVÿÿ/þ㣌& 0'tþþœÙ‰üVÿÿ/þ㣌& 0'uÿœÙ‰üVÿÿ/þã£{& 0'ØÿœÙ‰üVÿÿ/þã£{& 0'{þþœÚ‰üVÿÿ/þã£{& 0'ÙÿœÚ‰üVÿÿ/þã£{& 0'{þþœ܉üVÿÿ/þ㣌& 0'uÿœ܉üVÿÿ/þã£{& 0'Ùÿœ܉üVÿÿ/þã£{& 0'Ûþþœ܉üVÿÿ/øm{& 0{þþœBå} 5!!B#Z pü ZR#Z ¤ ZµM '#'’"Z ¤ Z$MþÝZ üp Z#Bå} '7!5!'7þÝZ üp Z#þÝZ ¤ ZþݵM !737@þÜZ ¤ ZþÞ#Z pü ZþÝBå}!5!'7'²ým ZþÝ#Z “ Z#þÝZß Z#R#Z  ZþÝRþÝZµM%7#7'3'º ZþÞRþÜZ  Z$R"Z Ý ZþÝ#Z “ Z#þÝZ ¸a 7!##¸:œãntý’':ý’tnã¸a #5'#5!ý’tnãœ'þdãý’tn¸a )53753ßþdãý’tnntý’ãþd¸a 733!¸ntý’ãþd:œãntý’Bå}3!'7!5!7ÁÎþÑ“Žcþ} ZþÝ#Z 㔎ƒ¤úR¨ Z#R#Z úRBå}#5!7!'7'7!'Î/“Žcƒ Z#þÝZ þ”ŽߤúR¨ ZþÝRþÝZ úRY‹xa532767676767632&'&'&#"#"'&/#7!$f ! +!3-68+2",j!!!3 .6+85.0$m:œâ w '07)(6;C+ : ,:'+€àœ:Y‹xa5!5!#5#"'&'&'.'&#"'6767632327676­þõœ:m$0.58+6. 3!!!j,"2+86-3!+ ! fâ:þdà€+':, : +C;6()70' wBå}!!'#537i&ýÚ Zú– ZþÝ#Z –úZƒ¤ Zú Z#R#Z úZµM'75'3''# Zú Z$R"Z úZ ¤& Zú– Z#þÝZ –úZ ýÚBå}'73'7'7#'7!5h Zú– Z#þÝZ –úZ ýÚƒ Zú ZþÝRþÝZ úZ ¤µM77#75'73º Zú ZþÞRþÜZ úZ ¤' Zú– ZþÝ#Z –úZ &Bå}'!5!7òZúýä ZþÝ#Z úZ1òZú Z#R#Z úZBå}'7!'7'7!'4òZú Z#þÝZ ýäúZ1òZú ZþÝRþÝZ úZBå} 53#5!5뤤ý4 ZþÝ#Z ƒúýhú Z#R#Z µM %'3'3!5 Z$R"Z úýh¤Ì Z#þÝZ ý4¤¤Bå} !'7'7!#3æÌ Z#þÝZ ý4¤¤ƒ ZþÝRþÝZ ú˜µM 7#7#5!º ZþÞRþÜZ ú˜©ý4 ZþÝ#Z ̤¤µM%'7'3'73!5úZ  Z$R"Z  Zúúýh¤úZ  Z#þÝZ ýè Zú¤¤Bå#(276767654'&'&'4#!5d >b-*,%:0ý“ ZþÝ#Z ƒ  ¤*+(54<852.& Z#R#Z Bå#)!'7'7!"'&'&'&547676763"mE Z#þÝZ ý“0:%,*-11> ƒ ZþÝRþÝZ &.258<45(+¤  Bå#$>2+#5!5!54767676"3276767654'&'&'&l>b-*,%:0—¤þΠZþÝ#Z 2)-019 o #*+(54<852.&ÕÕ Z#R#Z };47(+£ }  Bå#%?!'7'7!#5#"'&'&'&54767676";54'&'&'&e910-)2 Z#þÝZ þΤ—0:%,*-11> o #+(74;} ZþÝRþÝZ ÕÕ&.258<45(+¤  } Bå}X3267676767632267676?'7'7#&"'&'&'&'&'&""'&'&'&#5! !  Z#þÝZ   > >   ZþÝ#Zƒ" *!#$' *  ZþÝRþÝZ  %  '%  %' "  Z#R#ZBÑ‘!'7#5!3'7'²þè<Œ2å ZþÝ#Z <Œ2÷ Z#þÝZßþò î Z#R#Z  î ZþÝRþÝZq`• %7'7]¸Jþ±Qïg„zý=— ZÃÓ„hï PJ¹ÔþV}ý쪷e 5!#” ZþÞ"Z †¤Ç Z#R#Z û•Ç·e !#!'7'<þ ¤„ Z$þÜZÇü9k ZþÝRþÝZ·e !3!5”â¤ýz ZþÞ"ZžÇû• Z#R#Z·e '7'7!3< Z$þÜZ ý|¤ž ZþÝRþÝZ kü9ºR %!5!7#7yþAc ZþÝRþÝZÝѤü‹ ZþÝ#Z?’] !3!5Ò¤üŠ ZþÞ"Zž¿ý Z#R#ZQX€å)7676767632#4'&'&'&7#7K$<9JGTWDL7: ˜%#0(79).%$ ZþÝRþÝZ5NSH;9!6:IFT7/0'$&$2(G ZþÝ#ZQX€å*7#756'&'&'&'&0#676767632† ZþÝRþÝZ $%.)97(0#%˜ :7LDWTGJ9<$5 ZþÝ#Z G(2$&$'0/7TFI:6!9;HSN2Ÿ 7!##5!¸:œãntý’†l':ý’tnã?PPBÖ !!#33#'7!5!'7æ#Z Ìý4 Zþݤ¤¤¤þÝZ ý4Ì Z³#Z ¤ Z#þݘüŸ#ýh#þÝZ ¤ ZXyù6#"'&'&'&547672767>54'&/#7!•J%%%'HD_SlhX[HJ%%%%Jw422-A8;>112-!:œzJZ[ghX\HC+%%'GKY[eg[WMs2=>FD{2,/2{DF>H'ãœ:Xyù6#5!#52767>54'&'7#"'&'&'&54767<ãœ:!-211>;8A-224wJ%%%%JH[XhlS_DH'&&&Iz:þdã'H>FD{2/,2{DF>=2sMW[ge[YKG'%%+CH\Xhg[[IBß}5!B#Z pß{#Z ¤Båƒ!!BMü Zþ݃¤ Z#µM3'#|"Z ¤MþÝZ ü»M#'º¤ Z$Mû³p Z#Bß}!5!'7û³p Z#ߤ ZþÝBåƒ'7!5þÝZ üƒ{þÝZ ¤µM!37¤ ZþÞMü ZþÝGåM!#73å{þÝZ ¤#Z pB|  '7!5!'7 5!!þÝZ üp Z#û³#Z pü ZþÝZ ¤ ZþÝýÊR#Z ¤ Z*§M !737 3'#'2þÜZ ¤ ZþÞýÊR"Z ¤ Z#Z pü ZþÝMþÝZ üp ZB| '7!5!'7%!!þÝZ üp ZüÖ#Z pü ZþÝuRþÝZ ¤ ZÁ#Z ¤ Z#B|'5!!!!5 É#Z pü  pü ZþÝ>ÉR#Z ¤  ¤ Z#R*§M73'#'#'3hÊR"Z ¤  ¤ Z$R„ÉþÝZ üp  üp Z#B|'7!5!'7!5!'7ÆÉþÝZ üp  üp Z#>ÉRþÝZ ¤  ¤ ZþÝR*§M%#73737#hÈRþÜZ ¤  ¤ ZþÞRÉÉ#Z pü  pü ZþÝBA! '7!=!þÝZ ü#Z pß{þÝZ ¤¤{#Z ¤BA! !! !5!'7BMü ZþÝMû³p Z#ߤ Z#¤ ZþÝBå}!73!!!'7#5!!q£Va6úþÒZˆþEV`6ãNZþÝ#Z"þ>RRjÕ¨;mR¤R¦:lNZ#R#Z RRBå¯!!373'7'7#'7#537!7'!þþRRßÈšNZ#þÝZNãŒ|NZþÝ#ZNÂ.Œ9#!RRƒRRöNZþÝRþÝZNž ~NZ#R#ZNÚ þô¤RRBå}!'7#5!7!5!73'7'%!7'!`þ]Va6ú.Zþx»V`6ãNZ#þÝZþÞÂRRþ–¨;mR¤R¦:lNZþÝRþÝZ RRBå}!!5!RRpüâNZþÝ#ZNƒRRRNZ#R#ZNRµM#'3'#'RNZ$R"ZNRSpüNZ#þÝZNüâpRBå}!5!'7'7!5!7²üNZ#þÝZNüâpRƒRNZþÝRþÝZNRRµM%37#73»RNZþÞRþÜZNRRÝpüâNZþÝ#ZNüRBå}!!7/7'7!5²ýmRR“R¤NZ#þÝZNþNZþÝ#ZNƒRRR¤NZþÝRþÝZNNZ#R#ZNµM'77#7'3»SRRSQNZþÞRþÜZNNZ$R"ZpRRýmRRAþNZþÝ#ZNïNZ#þÝZ›ÿÆ6a##7!#Žtn:ýÌ:œn3:âtý’:5pœ:ýÌ:›ÿÆ6a '#5!#5'5Cý’:3nœ:ýÌ:nâý’:4:þdpýË:nt›6›%753!5373·ý’:4:þdpýË:ntón:ýÍnþd:4:ý’›6›%3!'3Žn:ýÍnþd:4:ý’n:ýÌ:œp5:ý’tBå}5!!!!!¿ZþÝ#ZÐüÞw™ügw"?Z#R#ZRwRwRBå}!5!7!5!'!5!7ý0"wüg™wüÞÐZ#þÝ?RwRwRZþÝRþÝBå}37773'''#5:—–––;!\–––—[` ZþÝ#ZƒC­­­­C¤j­­­­j Z#R#ZBå}'7'7#'''53777² Z#þÝZ `[—–––\!;–––—:ƒ ZþÝRþÝZ j­­­­j¤C­­­­CµM%#5#535#535'3'3#3º¤úúúú Z$R"Z úúú¼¼¼¤t¤ø Z#þÝZ ø¤t¤µM533#3#7#75#535#5¤úúúú ZþÞRþÜZ úúú½½¤t¤÷ ZþÝ#Z ÷¤t¤Bå} !553353!þþ ZþÝ#Z »{»ƒ¤ Z#R#Z ¤¤¤¤¤µM '3'#7#7 Z$R"Z ¥£¤n Z#þÝZ þþ}»»þÊ»»Bå} !'7'7!+53#53° Z#þÝZ þþ}»»þÊ»»ƒ ZþÝRþÝZ ¤¤¤µM 7#77'3'3º ZþÞRþÜZ ¤£¤ßþþ ZþÝ#Z }»»6»»Bå} !!#3æ#Z Ìý4 Zþݤ¤Z#Z ¤ Z#þݘBå} 3#'7!5!'7뤤þÝZ ý4Ì ZZ#ýh#þÝZ ¤ Z¼¦ 5!5! !!? üöOþ‹uüÿôÃÃ]Ìþ%uuÉþ¨óÞv 333'#!#¦\Ì^ÄvÊþ¨ÈtPüö ÂþïüÿuB¼¹¦ !!75!!5’üö Âþðüþtô]Ì]Ãþ‹ÉXÉþ‹óÞv ###3!3,^Ì\ÂþŒÈXÊþŠ& üöÂüÿþ‹óÞv 3'335%!!# #Î^ÄÂ\ÌþîXþ¨ÈtvÊàpÂÂþþòŒŒFþèšguþ‹þ™óÞv %3'3#!5%# #3!Î^ÄÂ\È^þ$ÈtvÊÊýÒ~ÂÂý‚ŒŒFéuþ‹þþèóÞv #3#!5#3/# #3!àðJ\È^Ê^|HGeÈtvÊÊýšJý‚ŒŒ~{GGýMéuþ‹þþèóÞv 3#!!5#3# #3!F \È F Ê^þÈtvÊÊýïŸý‚Œ©üWŒ~ýÈéuþ‹þþèóÞv 3'333'37# ##!#Î^ÄÂ\ÌfÄÂd^¬ÈtvÊÊÊþ¨ÈˆÂÂý¾ ÂÂ^­uþ‹ÈýÇ9óÞv #!5#3'%3'37#7# ##3!3È^Ê^Ä fÄÂd^¬ÈÈÈtvÊÊÊÊýȈþJŒŒ¶ÂÂÈÂÂ^þ‹Èuþ‹ÈþßþèB¼¹¦ '#35!7'!!!5 5ŒŒ~ÂÂýÈþèêtþŒ—Éý¢É]ÃÃ]þîÉêÉÉþ‹þ‹ÉEŒF 7!##!#*:œãntý’aüI':ý’tnã»IüFEŒF %!53753!5!lþdäý’tn~æûºüåntý’ãþd&û»IüóÞv #7#3'# #3 3\ÂÄ^^ÄÂÈtvÊÊþŠþŒÈPýÖÂÂ*ÂÂOuþ‹þtþ‹uBå}'0#"'&'#53676323'7'7%&'&#"!3276Å4RvxN1kk2Ow9g' í Z#þÝZ þ™ 0GD2 &þÛ +JD5ß@3PO2B¤B4R,( :  ZþÝRþÝZ ¤11¤/0*§M !#737'#' RþÜZ ¤ ZÂ"Z ¤ Z$#Z pü Z*þÝZ üp Z#Bÿa7!5!'7!5!'7'7!5! üp  üp Z#ÉÉÉÉþÝZ üp? ¤  ¤ ZþÝRÉÉRÉÉRþÝZ ¤Bå}#5!5!53!¤þ¥ ZþÝ#Z [¤qßúú Z#R#Z úú¤Bå}!5!53!'7'7!#²þp¤\ Z#þÝZ þ¤¤ߤúú ZþÝRþÝZ úBå}#53533'7'7##÷ ZþÝ#Z ÷¤ø Z#þÝZ ø¤ß Z#R#Z úú ZþÝRþÝZ úBå}#5##5#53533533Ò¤t¤÷ ZþÝ#Z ÷¤t¤½ßúúúú Z#R#Z úúúú¤Bå}#53533533'7'7##5##þ¼¼¤t¤ø Z#þÝZ ø¤t¤ߤúúúú ZþÝRþÝZ úúúBå}53533533'7'7##5##5 ZþÝ#Z §†8†¨ Z#þÝZ ¨†8†ß Z#R#Z úúúú ZþÝRþÝZ úúúú¼¦ !! ?ÂÂOüÿþ‹uôÃäþÝuuB¼¸¦ 7% !5’Âþïuþ‹üÿôþzÃR#þ‹þ‹#¤¼¸¦7 ! ?ÂÂSÂý:þ‹uµuþ‹ôÃÆþzÃRþÝuuþÝ#þ‹þ‹#%¬Õ %!3!3hÕþV[þ7Ñl nÑþ7²üüRÕþ{…ú+uÿã\ð #&'&#"327673 u ö…B!ÊOœœOÊ!B…þ oôÆcI7™þÍý˜þÍ™7IcŶÿãL 0"'&547632654'&#"563 3276767&#" \m`c²u\6% G¼Gnth r5?£€þÁ,/H@3H5,Yš„:$Ue·¾”˜I+HQ\‡N­,¨öt­qƒþ¸œzSd69->eSY×®l²Õ 7!!5!!5!!²´ýL´ýLkü•ªìªëªú+²ÿ¢5!#7#53!5!!5!733!ýŠšZŠ‹þëDŠþ2þ›/ŠÕþûŠÕú+^^ªìªëª``ªþëýkþìIbŠ£!0?"'&''7&'&54767>2"&'2767>54'&&cv-'''OO¾Ý_@8vcu-'''OO¾Ý_A:÷£GE:;9($(¯ýØ#&G£FF:;9¢cv8@_pm__ONP(-vcu:A_mp__OOP(-9;ŒSPF($(ŽýØ9;ŒPSF'ÿúÙO@*BBBB:ÂÄÔÌ91/äì90KSXííííY"#3 !ÑýþáúqÃûéÿúÙ!#7!ßýøÑhqýúqÌP¸C±?°3° 3±í±í±í°°Þ°2±í±í°°Þ°2°2±í±í±í013!!"&63!!"!0",˜ZØþ(ˆè††èˆØþ(\JN*"‡f_‚–ªÄQŽQĪKM€_fªÿOPi%+i±?°3°3±í±í±í±í°°Þ°2°&2°'2±í±í±$í±%í°°Þ°2°2°2°2±í±í±í±í±í°/°/01%3!!"''7&'&6;73#!!#"!#LØþ(0,:£CyEB†èˆª6£'|°>þŽv\JK-".4ú"$:®ª ½1Ýc¬©ŽQı2ªþ#ª‡KK‚_fªf_lF‚¥O]B°/° 3° 3±í±í±í°°Þ°2±í±í°°Þ°2°2±í±í±í01!3!!".>3!!"Nüí=c…Øþ(ˆæ††æˆØþ(…c=ÖªI9[ªÜܪ[9IP¸C±?°3°3±í±í±í°°Þ°2±í±í°°Þ°2°2±í±í± í01&'.#!5!2#!5!276767!5  ,˜Zþ(؈膆èˆþ(Ø\JL, üâ1f_‚–ªÄþ¯þrþ¯ÄªKM€_fªÿOPi%+h±?°3°3°3°3±í±í±í±í±í°°Þ°2°$2°%2±í±í±&í±'í°°Þ°2°2°2±í±í±í°/°/01&#!5!27+'7#53!5!3276767!73&'&'…þ(Ø/-9£CyDD†èˆ«6£'{®’þÀrx\JJ. þÓ4ù %: ª ½1Ýc¬©þrþ¯Ä±2ªݪýyKK‚_fªf_lF‚¥O]B°/°3°3±í±í±í°°Þ°2±í±í°°Þ°2°2±í± í± í015!&'&#!5!2#!5!2767ƒ>b†þ(؈憆æˆþ(؆b>,ªI9[ªÜþþܪ[9I˜þL9î@ ÖLLÔìÔì1Ä2Ôì0!#!˜¡›ý•þL¢ø^øâþL=î -@  Ö ÖÕ×  Ô<Ä91äôìî990!!5 5!!LñüR%ýÛšý# þÕ‰\—P_ŒüÝX-y×¶lÔÄ1Ôì0!!X!ûßתXy“!5!!5!3!!yûß!ý›þD¼¨½þCéªûmIªLþ´ªþ·ÿÿÿB#Õÿÿ¦¯+U þeÿÿ+G¦ÂrýÒÿÿ?š‘ê¾É;ÿÙ   /@     ÔÄ991ÔÄÀÀ90'%3##d)#ÛÓ”/þöÝ}bý%¿ƒù¼9;ÿÙ v 3'%3###"&'532654&+532654&#"5>32d)#ÛÓ”/þö>^c¾±:r;Eq-evnmBJ]b`W,p;Eu2‘¨XÝ}bý%¿ƒù¼9ÔlP|†yQDJLl?<8?yvcG];ÿÙ e '%3##33##5!5 !d)#ÛÓ”/þöÚ¢ttŠþ}ƒþîÝ}bý%¿ƒù¼9Sýæoººy“þcºúð %.#"326"&'#"&54632>3"3ª8\32#"&'#"&54632¶9[=G[TFBiË8\=G[SDCj~/“[w¬£~S€NA„U}¦„^ˆsˆd†lk€ut†c…jmvÿuÛ §Ôdƒ|kÖ¥­Îs}Tõ!3!Tü*ª,ÖüÔ}Tõ!3!Tü*ªýp¤ÖüÔ¤,¢33# ¤NíM¿þûþû¢û^¬üT¤,¢3 3#¤¿¿þ³í¢üT¬û^¤,¢$476767632#4'&'&'&#"#¤;9_UijªB9¬ KGLV32326yKOZq Mg3OIN’S5dK t]F‰¯;73 ";@®<7  6<Xñy32767>32.#"#"&'XJ‰F]t Kd5S’NIO3gM qZOK?<6  7<®@;" 37;X®yG&'&#"5>323267#"''43OIN’S61-NˆSXIF‰JKOQdSˆP  ;@®<7 Wþ‘"323326X!ûß!KOZq!Sc1NJO’R`‚!t]DŠ¢ª¤°;83$777=X`yÃ!!#"'&'.#"5>32326X!ûß!KOZq Mg3OIN’S5dK t]F‰ ¬c¯;73 ";@®<7  6<XbzÕ'767#"'!!'7#5!7&'&567676ǧfYUE5kIQ%\n*ýx˜rYéQ’MoIF\<[ETFR‚ Æqþà$"B²2(²«þdš«ç%(9¬L5XXÀy$!!!!#"'&'.#"5>32326X!ûß!ûß!KOZq Mg3OIN’S52'V t]F‰جÀ¬ϯ;73 ";@®<7 " 6<X1y0%#5!7!5!73!!!'#"'&'.#"5>32326Qùu‹þ{hq,ùþ‹‹ý„gqTKOZq Mg3OIN’S52'V t]F‰À¬À¬R=¬À¬R ¯;73 ";@®<7 " 6<Xy.1%!5!7!5!7&'.#"5>3273267#"'!!!!'hþðMEþnÐK Mg3OIN’S523J:V›Q F‰JKO!8¡þ!E$ýŸFœÀ¬À¬Ñ";@®<7 î8á32326#"'&'.#"5>323326yKOZq Mg3OIN’S5dK t]F‰JKOZq Sc1NJO’R`‚ t]DŠï;73 ";@®<7  6<þа;83 $77 7=X0yÃ8&#"5>327&'&#"5>323267#"'3267#"/'Ý00NJO’R:G67'43OIN’S520N]Ša91F‰JKO?J4r[DŠKKOdgbŠ£ 7² ;@®<7 !7)þ½32326#"'&'.#"5>323326!!yKOZq Mg3OIN’S5dK t]F‰JKOZq Sc1NJO’R`‚ t]DŠü*!ûß“¯;73 ";@®<7  6<þа;83 $77 7=þˆ¬X•y“7S#"'&'.#"5>323326#"'&'.#"5>32326#"'&'.#"5>323326yKOZq Sc1NJO’R`‚ t]DŠKKOZq Mg3OIN’S5dK t]F‰JKOZq Sc1NJO’R`‚ t]DЏ°;83 $77 7=¯;73 ";@®<7  6<þа;83 $77 7=XÀy$!5!53276767632.#"#"&'yûß!ûßJ‰F]t V'25S’NIO3gM qZOKج¬þ”¬¬#?<6 " 7<®@;" 37;WÝy' %52% $'"51þpþ¶Z¸¹Vý(Iþ§¸¹þ©Ùœ²œ£²þ¶œ²œ£²XDz¾;%76767!##"'&'&'#5!!5367676323!&'&'&i1*+Vá WJRNMR  áW,!::!,þ©á\HSLPM% áþª+*ß%'H:^¨2:A<336G84¨^:H'@'H?Y¨ L=@33/N0<¨^:H'%X`z¾!!5367676323!&'&'&!!i:!,þ©á\HSLPM% áþª+*ý¾!ûß#'H?Y¨ L=@33/N0<¨^:H'%ýäªÿÿX`y'1¹ ÿÿXÿéy& '1ýº1¹ÿÿXÿìy'1þo¹& 1”ý½ÿÿWÿìz'1þný½& 1”¹J.‡Õ 3#3#!5!5Jìììì=üûüû>þð§þ𹬬–ªªJ.‡Õ ##!!!!‡ìììü¯üûüû>þð—þðþ7¬BªX`y¢ 365&'!!5!&547!5!!%43‘448ûß>þÀ!þÉú0IG00GG2ðªª?8>;¨¨_8X`y !!!!"264&'2#"&546X!ûß!ûßIdd’deH:l'**©z{¤¨ ¬Bª¬bFE``‹bq+((d:s¡žvv£X`yK!!!!2&'56X!ûß!ûßæË×ÚØÜÒ ¬BªS—²— ž²—X`yD!!!!73# X!ûß!ûßÖê¢é«¦ ¬BªòZý¦ªþVX`yD!!!!33#X!ûß!ûßÖ•¦«é¢ ¬BªLþVªý¦X`y¥!!!!!!'X!ûß!ûß° TU ÚUÜÛT ¬Bª­ÿžÿŸŸX`y° !!!!!3!X!ûß!ûß–-Éeý“ ¬Bªþz(ýiE`Œ07GO!!!!#"3###535463!3267#"&54632.#"'53#5#"&4632264&"X!ûß!ûß4@#mmC???DíþÐJB&G$$K&aqk[Q_B;18BÇCC?-I\\I-?Ìp`ctiF6A?9iÚýÐ=$#t¾u#g“SS“SX`y*!!!!>32#4&#"#4&#"#3>32X!ûß!ûß."]?T\Y88EQY7:DQYYU;;R ¬Bª¥=:xoþµHOM]QþÊHPL^PþÊ%U20=X`yÚ ,!!!!3#7#546?>54&#"5>32X!ûß!ûßÃffc`--A6(Y1/a3\p$-, ¬BªiÈN2A+,/-7#!^aO&E++ X%yÝ<@ l  l  Ô<Ä291Ô<Ä2ü<Äþ<Ä990!3!!!'7#5!7!X‡ö}¤Ëþ²¸ýyø}¤ÉJ¸ýþ¢;fÕªì¬þÅhÓ¬ìXÀyB !!!!!!X!ûß!ûß!ûßجÀ¬‚ªX yú%#5!7!5!7!5!73!!!!!'Gï=XþkåXýËU7ëþÈY‘þ Z:ýwSÀ¬À¬Àª¸AwªÀ¬À¬¶@Xyî 7!!!!!!!!X!ûß!ûß!ûß!û߬¬„¬À¬‚ªVw? (@®­l  ü<ì2291/ìôì905!5wûß!üß!ûß¶¶L¨K¸çþ ªªXy? (@®­l  ü<<ì291/ìôì90-5!!X#üÝ!ûß!ûß¶êç¸þµ¨þ´VªVÿTwŸ 3!!5!5V!ûß!ûß!üß!û߬¶L¨K¸çþ ªªVÿTwŸ 3!!-5!5V!ûß!üß!ûß!û߬Âêç¸þµ¨þ´VªªVþµwŸ#5!7!5!73!!!'5 Êp[þ5mš{*Éþ•[Æý”™y~ûß!ü߬¬`ª¡u,ª`¬Ÿvë¶L¨K¸çVþµwŸ#5!7!5!73!!!'-5 Êp[þ5mš{*Éþ•[Æý”™y£!üß!û߬¬`ª¡u,ª`¬Ÿvëêç¸þµ¨þ´Wy&%5767$'5674½þà[ØÂš‚zšØ¢b¾þ¥ØÁš|˜Û Ûˆ²ªMþþ)I²g#ˆ²ªþM(J²h#Xÿãy %5%%%'áþw2r™K/þ’dÒýþt™äþÙé”›¦Þm0ñx¶Šþ»®·Ëþ‹0ÝoVXÿãy '75%%5%'ð‰ýÎr™KþÑndþ.t™ä'éo›¦Þþ“0ñx¶ŠE®·Ëu0ý#oVXÿ y!5!%5%%%!!'XÿÓÇþôC_þ^?s¡Mþ¤Nªþ#N+ýžP¢êJ>ýžªƒ¨´`5íY¸dñ|¶–ìªó5Xÿ y!!'7#5375%7%57'à™ýËNƒýEO¢>³ë:þÛfLþNæt¡ÐøÎt€¨±ñªó5¾ª²\¶hì}¸˜a5ý…H<VÿÔw?#%#"'&'.#"5>323265wKOZq Mg3OIN’S52'V t]F‰Jûß!üßõ¯;73 ";@®<7 " 6<¶L¨K¸çVÿÔw?!(%#"'&'&'&#"5676323276-5wKHGOZq M343OFGINIIS52'V t]FDEü)!üß!ûßõ¯;3 " @®< " 6êç¸þµ¨þ´Vÿ w+.%"5>327%5%%%3267#"'&'&''}QIN’SEþ^As¡Mþ§P©þ#Bt]F‰JKOZq _¢4þýÕO;@®<7Öƒ¨µ_5ìX¸cò|¶–Ï6Vÿ w27'732767#"'&'&''5676?5%7%5ƒôÊ3—ýÍ;L t]FDEJGLGOZq P32326&%&%5$7$7wKOZq Mg3OIN’S5dK t]F‰JþÝþl”#·þä÷þ©aí·¯¯;73 ";@®<7  6<RþÐO]þÞïÉ—‚9¦=}–ËVÿŽw±*%#"'&'.#"5>3232655%$wKOZq Mg3OIN’S5dK t]F‰ü)·íaþ©÷þçº#”þl¯¯;73 ";@®<7  6<RïË–}=¦9‚”Ìï"]OVÿ[w§67&%'&'5$774£h›m µUéÁ²þÖ ¢¦ÀéGöc _eT§2þªw™ï°nþëwÔï÷ýô2"O0¦Bþ¼j%Vÿ[w§'567&'567&™£h›m µUéÁ²* ¢¦Àéþ¹öc _eT¥2Vw™ï°nwÔï÷ 2ýÞO0¦BDj%X£y_%!"'&54763!!"3!yý½ÉŠ‹‹ŠÈDý¼‰¾_`ˆD£‹‹ÈÆ‹–ÀˆŠ^`X£y_75!27654&#!5!2#XDˆ`_¾‰ý¼DÈŠ‹‹ŠÉ£–`^ŠˆÀ–‹ÆÈ‹‹XÿÄy> #"&'&5476;7!!!!"#'J‰¾_+30TD‹‹ŠÈ~K¡9þºÝ#ý½ K¢ÉÀˆŠ^+#E‹ÈÆ‹ß5ª–ýp–ß5XÿÄy> 32654'&'7+'7!5!!5!237RJ‰¾_+30TD‹‹ŠÈ~K¡9þíFÝýÝC K¢9ÀˆŠ^+#E‹ÈÆ‹ß5ª––ß5Xy%!5%!"'&54763!!"3!yûß!ý½ÉŠ‹‹ŠÈDý¼‰¾_`ˆDªªªš‹‹ÈÆ‹–ÀˆŠ^`Xy%!=!27654&#!5!2#yûßDˆ`_¾‰ý¼DÈŠ‹‹ŠÉªªªš–`^ŠˆÀ–‹ÆÈ‹‹Xÿ,yÖ&%!!'7#5!7&'&5476;73!!!#"$UýrGŸ6ã:qY‹‹ŠÈ²Gž5âþìÜðýÝ^‰¾_=RªªÔ5Ÿª¬ Y‹ÈÆ‹Ö5¡–ýp–&Àˆˆ`=Xÿ,yÖ!++!!'7#5!7!5!&#!5!27327654'&'ƒ92‹‹ŠÉD4VýqFŸ5â3þ²Û ý¼D&#Ižþ¼ˆ`__Ç 2ÆÈ‹‹šªÔ5Ÿªš––Û5ü9`^Šˆ`Xÿ0y!%!'7!5!7#"'&54763!!"3!!yþ§„Rþ è|†ÉŠ‹‹ŠÈDý¼‰¾_a‡Dþ±AQªªÐjfªš‹ŒÇÆ‹–ÀˆŠ^`–5eXÿ0y"%!'7!5!7#!5!27654&#!5!2yþ§„Rþ è|ý½D‡a_¾‰ý¼DÈŠ‹‹]zTQªªÐjfª›–`^ŠˆÀ–‹ÆÇŒ^DeXwy‹1°/°3±í±í°°Þ°2±í±í°/°3±í±í01!!!!X!ü‰wûß‹ªý@ªXwy‹1°/°3±í±í°°Þ°2±í±í°/°3±í±í01!5!!5yûßwü‰‹ûìªÀªXyô H°/°3±í±í° °Þ° 2±í± í°°Þ°2±í±í°/°3°3° 3±í±í017!!!!!!X!ûß!ü‰wû߸ªæªý˜ªXyô J°/°3±í±í°°Þ°2±í±í° °Þ° 2±í± í°/° 3±í±í±í±í01%!5!5!!5yûß!ûßwü‰¸ªª<üDªhªOi‚ž3?2"&'&'&547676"2767>54&'&'3!!#!5!úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FÞŒþìŒþížPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9þëŒþîŒOi‚ž372"&'&'&547676"2767>54&'&'!5úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FÂýMžPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9þÕŒŒOi‚ž3?2"&'&'&547676"2767>54&'&'77''7úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FþBcÄÃcÃÂcÂÂcžPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9­cÄÃcÃÂcÂÂcÂOi‚ž372"&'&'&547676"2767>54&'&''úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F,cþcžPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9KcþcOi‚ž73#2"&'&'&547676"2767>54&'&'éüüݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FþÏ¿POO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9Oi‚ž2L2#"&546"326542"&'&'&547676"2767>54&'&'h7b%&'œqq—š§nNL88OôݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F)'%`8nš—qqœ‡MpLM77äPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9Oi‚ž!'/7=E2"&'&'&547676%&'&'& 654'67676-úݾOO''''OO¾Ý¾OO''''OOfÿ:F-þìTþ1-F:þžþ:E.þûþìSÿ1.E:žPOO__pm__ONPPNO__mp__OOAþÏš9î––FPQþ¼™þÒ9ƒ.™9ë––EQPDš19Oi‚ž!;!!!!2"&'&'&547676"2767>54&'&'+{ý…{ý…ÏݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F;gZfÖPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9Pjž.22"&'&'&54676"267>54&'&'&!5!úݾžNNON¿Ý¾OO''NON-RŒ9;99;9FG£Œ:;99;:FFxþm“žPž¾pn¼PNPPNP^_mp¾ON<<9;ŒSQ‹;:<9;ŒPSŒ;:þ+ŒPiƒœ%!!!3!!#!5!ôüèŒ3ûÍÒŒ8þÈŒþÉ7õüå§û͘þÇŒþÊ6ŒPiƒœ %!!!!5ôüèŒ3ûÍrýMõüå§ûÍ_ŒŒPiƒœ%!!!7   'ôüèŒ3ûͬc  cþôcþøþöc õüå§ûÍ#cþõ cþôþøcþ÷c Piƒœ 3#!!!éüü üèŒ3ûÍþÏêüå§ûÍXy!!#yü‡¨ýÓªýÓXy!!5!3Ñü‡y¨-ª-úüXy!!5!!þC!þDZªªû¦Xy!!5!½½ûß¼û¦ªªZé/å`·nÔì1Ôì03#éüü`þÏ›É7 !!'  TS ÙTÚÚS8ÿÿžÿžžÿX`yÃ!532767>32.#"#"&'yûßJ‰F]t Kd5S’NIO3gM qZOK ¬¬·?<6  7<®@;" 37;XþAy 755%5!5X!ûß#þûß!üß!ûßʶþ´¨þµ¸ç¬¶L¨K¸çþ ªªXþAy % 5 -5!!yüÝ#ûß!ûß!üß!ûß!ûßÊêç¸K¨L êç¸þµ¨þ´VªVw?  55!5!wüß!ûß!ûß!‰êç¸K¨LVªXy? 55%5!X!ûß#üÝ!‰¶þ´¨þµ¸çöªªVÿw± $75$&%&%5$7$7¤"±ËþøÞþn³·þäíþŸW÷·þÝþl”ÈÏüÜœƒ8È6üsïË–}=¦9‚—ÉïþÞ]OVÿw± $'$'5%$5)ànþÞþøË±±#”þlþÝ·÷WþŸíþä·š6È8ƒœÜüÏû0O]"ïÉ—‚9¦=}–ËVþŒw)%*67&'&%&''&'57&%5$?7d¢MjT˜VÊ¥©þ3˱þÞ!³¢º£Ð÷¶3Òþòaí4m"cjX)3õS]ï‡[þîe¥ï¹¡œÜüÏÈýÈ3N@È%H£Z-¦=}þ¤k$VþŒw)$(6%'56?56%7$'57&%¢¥š»ÿËDÑ>þ’à¡¢WwZŒ©NçœÌ(þåÛ·+/m")3ýó3 ¦+SØi0È6šþ3hiü˜y÷‡¬ïËjeåïË–ÜXÿ[y§3!!!'7#! !PžYäþØþæBýzržYä†þ¢þh§?ݪý@ªþä?Ýü–Àý@Xÿ[y§3!'7#5!!5!!PžYäýzržYä(ý¾†sþ昧?Ýûìþä?ݪÀªªý@ÀXÿ>yô!!!!!!'7!5!7!X!ü‰wþÒ R`þ§„Rþ ègý±ôªý˜ªfªÐjfª€Xÿ>yô%!'7!5!7!5!!5!!yþ§„Rþ ègý±wü‰!þÒ R¸ªÐjfª€ªhªüDfVþíw?%%&'&#"5>327%5 %3267#"''43OIN’S:Z0ýì!üß!þx2XIF‰JKOQd>ˆ3  ;@®<7 Ò§¨K¸çê¶{ß"327V!üß!þ?E>XIF‰JKOQd>ˆC43OIN’S:Z0ýì¶êç¸þµ¨þí"323267#"''&%&%5$7$743OIN’S61-NˆSXIF‰JKOQdSˆ¹þÝþl”#·þä÷þ©aí·  ;@®<7 Wþ‘"323267#"''55%$43OIN’S61-NˆSXIF‰JKOQdSˆþ˜·íaþ©÷þçº#”þl  ;@®<7 Wþ‘"ø # #hÖ£þÍþÍ£øýGÇþ9’þò>¬ 3 3hþ*£33£þòºþ8È’>Ž !!# #œ™ügÌÖ£þÍþÍ£ŽrcýGÇþ9’>ˆ !!!!# #œ™üg™ügÌÖ£þÍþÍ£ˆrˆrcýGÇþ9þò)!##€¨ðþ¹¸ùm˜þò´ ##7³þž¸GðøÞ“þò9 33b¸þ¹ðþò"ùm¨þò´!733QþXðG¸þò“%–¯C!!3#ò½þCÍrrCr[þ  –—C!!3# ½þCrrCr[þ %ѯ~!!3#ò½þCÍrrCr­þ  Ñ—~!!3# ½þCrrCr­þ Xsy^!#yü‡¨^¬þÁëap$%%$牉þþ‰þñ¸¸¸¸ýøЉ‰€‚ŠŠþ~ýøô±±þ ýå±ÿÿ°Ë ›œ°Ë%6 %!&'&"1˜1™2ûÀ»*ÀzôzÀ°`°XX°þ rÅoGGn¸Y  67" Ò,›J5þPþP5J­ø…X*7ýú7*#LþÈ8¦åP"2642#"''7&546ÄŠ‡ÇŒîži56Ø]ÌQÍBÖɉLJ‰Ão3…N˜ÖEÌQÌ\|ØGéŠ+-7AJT35#"&546;5#"&46235462+32"&=54&#"3#"2653264&"2654&#ÏÏ‚·YxxY·‚Ï‚¸€€ZxxZ€€¸‚þÉE1/EE0uu0EE`EŸv/EDaEEaDE/¢ÐþÈwZ€\Z‚Ђ¶€ZwwZ€¶‚ЂZ\€Zw u0EE`Eþ`E/1EE0E`EE0ýëu0EE1/EXsy^!3!yûߨysëþÁ+ѵ~!#!µýèrŠ ýŭѦ~5!#Šr rýS;+ÿ޵;!!3µývrr­ýÅÿަ;)3!rýv;ýSþLl4732#"'&'.#"0 ¾ÊPd@7+ hþ$¼TA6?&Hý•þÓú˜|þlj #"&546323250Ç ¾ÊPd@7+ h‰úõ$ýýþDTA6?&Hk-khéiÉ !!!#%!!h\‘þrþoâa þ`ÉüÞ¾"¾¾(ËI  !! #37!#3'ËþQüêþÓ'ÈÈ'þHƒƒþo99ÈɃƒ¹þo!þpþáþâ=»»ýÃþâ»»}(TI #!!7!#3'âlÈÈÞü)×ý‘ƒƒþokkÈɃƒš=þáþâr!r»»ýÃþâ»»+2³Ÿ" #/;GS_kwƒ›§³¿Ë×ãïû+7CO[gs‹—£¯»ÇÓãïû!2#!"543!254#!"+"=4;2+"=4;27+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;22+"=4"=43+"=4;2+"=4;2"=43!2#޵\\üK\=µüKl]Џ\¸\\\]¦iiüÅ\][]\\\\\\\\]\\]\\\\\\x::f>]ýY­"\þI\\·\\þI·þ`LLMK\y>þÞ>(ËI !! 3#)%3!'¯üêþû-'ÈÈ'¸þúƒÈÈ9þ6ƒ¹üß‘þá»»þáþâ=ýûHÿÓˆJ7 hýàHØØH--JþäJÿ4Ñ¡!!!ríþrÑZ‰ùmø“ÿ4Ë¡ !%!!5!5!5!!Åû­áüáüáüÌmø“rº¬ìªÿ4Ë¡ 3#3#!%!!5!!îõõõõþÅû­áüáüoöþõþžmø“r‡ªXÿ4Ë¡  ! !! !Ã¥¦þZþáþþSû;Åû­ðñüÜþZ¦¦û$ÄþðüÊmü­ðþáÿÿÿ4Ë¡&£ ;ÿ4Ë¡ '3276'&#"!#"'&'!!67632!€ôzzzzõõzzzzüáIw™˜™˜wHSû;Åû­Hw˜™˜™wIüõýÎGG2GGû$Ê_EXXE^ýÅmý¨_DXXE_çþ¢Ë3#%673#&'%676'&1rs˜rs2þÎsr˜sr·ôTTTT@TTõõT|À°Bôþ B°ý@°Bþ)×B)ýÎ1Ì1@ü4121ÿÿtËD' †È ;ÿ4Ë¡ !%!!Åû­Yü§áüžbÌmø“Æ5Aù¸ÿ4Ë¡ !!!!Ëû;Årü§ˆbÌmùY5Aù¸ÿ4Ë¡ !%!5!Åû­áüáüáüÎÌmø“rXˆÀˆaû…eþÌÿ4Ë¡ !%! !Åû­áü2üÎáüÌmø“ràþxý›1éþxéÿ4Ë¡ !%!!5!!Åû­áüî ZþëZ üÌmø“rÏ ZnZ ÿ4Ë¡ !!'7!!!'7Ëû;ÅrþëZ üîáü ZÌmùêþëZ ý1X1üê ZÿÄËÕ'327#"'$%'3632# 6'&#"€ôzz=>þlÏ–WW™˜þÏs¿PYX˜™2þç¾þv”Òõzz>ÜþçGjŒü²X°`O°ú®X°þ þ¯°þéòü•ŒG%þ¢¬3 33!#!!3˜/Éþ˜þ É.öŽööÕ^þ¢ú+þ¢^ÕúÕkü•kÿ4Ë¡ 7!!#xðñrû;ráþc¦/þíû³Krø“müìüåüuÿ4Ë¡ % !%!50!53!ŠþÞþÞþÀÅû­áü‚Ý‚üªyû‡þŠmø“rZ[zú†Ôÿ4Ë¡ !!%!!''!Åû;´ŸþGZ ¤ ZþH¡ø“r‰þìZ úE» Zùw%þ¢¬3 !#!3!###.þ7÷˜øþ7/˜öö˜öÕ^þ¢ú+þ¢‰ü•kü•kÿ4Ë¡! !! 3!xáþþSû;Åû­ž¦üZKû³þ{mû§üuåÿ4Ë¡ ! !%!#5!5!Šý¼"ýžÅû­áþ~Ýþ~áü+û‡þ‚mø“rÔú†z[Zÿ4Ë¡ !7!)!7Åýï Zþì¹ý½þb¸þìZ Ìmø“ûúE Zþì‰ùwZ ÿÿÿ4ÑÕ&  :ÿ4ËÕ % !3!5!ªþ¾þ¾†ûyÉõèû;Ūyû‡ªÕù_rÿÿÿ4Ë?' ‚È 9ÿÿÿ4Ñé& ; :ÿÿÿ4ËD' †È 9ÿÿÿ4Ë¡&£ ÿÿÿìZå^' ªÈ2ÿ4Ë¡ !!!3#3#xáürÅýüüüüZ‰ùmø“óþÑþ9þÏÿÿ›É&2 <ÿÿÿ?Ô‘H& ; <ÿ8ÿÿt˦' †È <–ÿÿXìyH&a <ÿ8ÿÿXyH&! <ÿ8%¬Õ *!%#567!676&'&'&'&ªý|z*(2J E<iKH#&ºõÙGIJEÂ‡Ø Eý¢—|-2 M3 +þO  ! r®;ýŸÆ ?®9yý?pýæ¸  ! Xÿãyð*= 67 '&5677%"632327'&32767#"'&'.#"yÞ{h p{þ"zi piE5 5dJ t]BFþZCEŽF4 Zq Mg3ðħþЮþ°´ÄĨ1®P³$˜sÎ 7%’˜ý‚þÛ’˜˜sÎ3 !Xþ¢y3#"'#&'&#"5>323326yKOGU˜43OIN’S52˜^NF‰z®;7 ü(  ;?®<6 Ïûó'=þáÑ'3#3!!#7#537éüü ü`?þ‡+š¨Æ0'þÑþ7ϺrSSrºÿ4Ë¡!!!!3!!!'7#5!7!xáürÅû÷Ådƒ¢þõ“žýûÇdƒ “þeZ‰ùmø“n;fÕªì¬þÅhÓ¬ìÿ4Ë¡&*!!!#546?>54&#"5>323#xáürÅýá¾=TZ>/ƒmN²b^¿hºÝC^XE&ÅËËZ‰ùmø“]šb‰RY;X1YnED¼98À¡Lƒ\VBT=/þòþ6Ï`;#"'&'#5Ä"$lYo´RQÒ`ý+‘.0œ`bÔ;¾þVT{6#"&'#76&#"32„èttèÊf™,¹nƒ䇅†ŠŠ†…{žþêþïþÉWSýÉÆ<†üÞ¬ÚÛÕÔÜFÿãŒ`&#"&'#"'&37676376' ƒ2KºU‚€XºK2ƒ¾~)@V"ª"V@)~`þøý¿{¹gLHk¹{Aþíþáâ>‘oRyþ‡Ro‘>âÿÿÿ4Ëy&™ 9œÿ45{!%&'&#"!!32?# '&76!2!5! %%cj·f_¥ý[_f·€MJOhkþôœœ en(',üg™® c\©©\c§œœ(œœ úãrÿÿÿ4Ñ`&’ :ÿÿÿ4Ë`& 9”Fÿç•y *'&'&3273;#"'&''&'&767þ,-±b=MJMU…Hi;c¤Í( #) Xn^T).\-Ærv~¡ çìo‰·ÜikÕ*þ½%ý¡Û1)0œT*XmY*–œ)‡—þ.·µ #5!!!#áÇo¿oÇþ.Ú­þ%Û­þ&HÿÓˆ:07 %#"326=7#5#"&546;54&#"5>32hýàHØØHþ#[]E>Vcii!fHatŽŠŒLT5m4:j2O85%--JþäJó??8?vh+þš]85l[hmKDg/RÚË: 953353!53!5!#"326=7#5#"&546;54&#"5>32as7sþ9s¡û;Åü·#[]E>Vcii!fHatŽŠŒLT5m4:j2Op"¸Þr§??8?vh+þš]85l[hmKDg..RÚË:1=[%5!!5!#"326=7#5#"&546;54&#"5>32#"326757#5#"&546;5.#"5>32›0û;0´#[]E>Vcii!fHatŽŠŒLT5m4:j2Op""[]E>Vbii"eIasŽŠŒLS5m4:j2Op"Úrrrr??8?vh+þš]85l[hmKDg..R}??8?vh+þš]85l[hmKDg..RkËŠ*.26:>B#5#"&546;54&#"5>32#"326=%=!!%%%5!55qi!fHatŽŠŒLT5m4:j2O85%Ñ#[]E>VcÊþÔ,þÔ,þÔý“þÔ,þÔ,þÔþš]85l[hmKDg/R}??8?vhþñyŒy¼rDŒyŒyyŒyþ¢rr¼yŒyR8~Ï4<DLTZ`%#5&'&'&''7&5475'7676767537'5676767'7&'&'&'5'7'%654šd3/D9±2°°2±9D/3d4.E9±2°¯2°9E.42* ¨¨ *2ƒ2* ¨¨ *2¼©©*©©8Ë8fWfEOPDfWg8ËË8fWeDPOEeWf8g * apÃa *  * aþÃa * ³ba.43•ab-45F^Š¢'04>2".33&'."#67>76#FV“ÊÞÊ“VV“ÊÞÊ“ðÀÁï"v ² v"Z¤Ï83Pv"þÎ¥"vP3ÞÊ“VV“ÊÞÊ“VV“nþ˜h<8PvDDvP8¢þ‚"vP9þÁ~?9Pv"F^Š¢&0!4>2".7!&'."67>4'&hóþþÑV“ÊÞÊ“VV“ÊÞÊ“DvP47þ´9°; ² ;Ñþ´74PvD"MÇþýÞÊ“VV“ÊÞÊ“VV“’² v"i c;DD;gý—"v ²P F^Š¢ %7'32>4.#52".‘®ÍîVþ—FÊýúoDv ² vDDv YoÊ“VV“ÊÞÊ“VS’wþVî—ÊFþ_Y vDDv ² vDoV“ÊÞÊ“VV“Êÿ4Ë¡!!!xáürÅZ‰ùmø“ý𸆠#53Û຦ þüZýðê—â0ýóþ†ýîüíýüÛ‰3#ÃÉösþ¸‰ #5Û“ˠР‰êü¥þWþþeEî%3êý𹆠53öZþü ¦º ýðêz þýýÐþüiêöýü¹‰#0¹Ã‰ös þ¹‰ 3#öàР˓‰êüÍýÛþþ»›ì©[ýü¸m#!!Ûàþ#ýü qÃýüÛ‰3#ÃÉösþ¸‰!!ÛÝý`‰÷Nà uýü¸m!5!õþ# ýü®Ãöõýü¸z3#õÃÃzö‚þ¸z3!5!õÃý`ÝzöšÃ ýêÁm #4763!!"ƺoyºþçeD9ýêuß‘ž°fW™ýüƆ#'&%'53 763ý:*eºnKþû==Mnºe(Á =“þCýè ·_A»Ec³ ýèþH˜< þÁ† 3!!"'&5Æ9Deþí¸{o†ø”šVf°žád ýôÆŒ#3ƺºýô ˜ýêÅm 4'&#!5!2 9Deþçºyoýê}™Wf°ž‘ßø‹ ýüÀ†&'&3!3#76Ô<(eºnM==þûKnºe*Á!<˜¸ýôþMcE»A_þIýô½“=þņ 3#!5!2765 ºo{¸þíeD9†øœáž°fVšþlj3Æþ ‰öw¼v% !!!!55!#Žþ‹u©Xüÿïý ̼uuÉ™ý]ÃÃ]eËÄ! !!Ëû;bcû;Å $û<ø:þ.]µ3!3:~¨\T\¨~þ.‡þ%Ûýyÿìðåœ5!ùð¬¬ÿìšåò!ùšXþ¨ý–¸È3 ý– 2õÎÈý–È!È@ý– 2õÎÿìðåœ 5!!5!!5!±4üï)üï4𬬬¬¬¬ÿìšåò !!!!!±4üï)üï4šXþ¨Xþ¨Xþ¨ý–¸È 333     ý– üôÀ²ýNf üôÈý–È !!!È@þÀ@þÀ@ý– üôÀ²ýNf üôÿëðåœ 53353353353¼´³´²´½𬬬¬¬¬¬¬ÿìšæò 3333333¼´³´²´½šXþ¨Xþ¨Xþ¨Xþ¨ý–¸È 3333       –2ýÎø2ýÎsÙþ'ýsÙþ'Èý–È !!!!È@þÀ@þÀ@þÀ@–2ýÎø2ýÎsÙþ'ýsÙþ'ý–åœ!!ÍýÓý–¬û¦ý–åò!!ÍýÓý–\þ¨ûüÈý–åœ!!Èþ#ý–¬û¦Èý–åò!!Èþ#ý–\þ¨ûüÿìý–¸œ!5!ýÔÌý–Z¬úúÿìý–¸ò!!ýÔÌý–Xú¤ÿìý–œ!5!Èþ$ý–Z¬úúÿìý–ò!!Èþ$ý–Xú¤ðåÈ3! -ðØúÔ¬šåÈ3! -š.û*þ¨ÈðåÈ!!È@ÝðØúԬȚåÈ!!È@Ýš.û*þ¨ÿìð¸È5!3, ð¬,ú(ÿ울È!3, šXÖùÒÿìðÈ5!!Ü@ð¬,ú(ÿìšÈ!!Ü@šXÖùÒý–åÈ3!! -ýÓý– 2úÔ¬û¦ý–åÈ3!! -ýÓý– 2û*þ¨ûüÈý–åÈ #!!!P@ÝýÓý–ZØúÔ¬û¦Èý–åÈ 33!!ÈP -þ#ý–,úÔ¬û¦Èý–åÈ!!!È@Ýþ#ý– 2úÔ¬û¦Èý–åÈ #!!!P@ÝýÓý–.û*þ¨ûüÈý–åÈ 33!!ÈP -þ#ý–\Öû*þ¨ûüÈý–åÈ!!!È@Ýþ#ý– 2û*þ¨ûüÿìý–¸È!5!3ýÔ, ý–Z¬,õÎÿìý–¸È!!3ýÔ, ý–XÖõÎÿìý–È !5!!#ýÔÜ@Pý–Z¬,ú(û¦ÿìý–È !5!33Èþ$, Pý–Z¬,úÔúúÿìý–È!5!!Èþ$Ü@ý–Z¬,õÎÿìý–È !!!#ýÔÜ@Pý–XÖùÒûüÿìý–È !!33Èþ$, Pý–XÖû*ú¤ÿìý–È!!!Èþ$Ü@ý–XÖõÎÿìý–åœ!5!!ýÔùýÓý–Z¬¬û¦ÿìý–åò !!!!ýÔÌ-ýÓý–XV¬û¦ÿìý–åò !5!5!!ýÔ,ÍýÓý–Z¬Vþ¨ûüÿìý–åò!!!ýÔùýÓý–Xþ¨ûüÿìý–åœ!5!!Èþ$ùþ#ý–Z¬¬û¦ÿìý–åò !!!!Èþ$Ýþ#ý–XV¬û¦ÿìý–åò !5!5!!Èþ$Üþ#ý–Z¬Vþ¨ûüÿìý–åò!!!Èþ$ùþ#ý–Xþ¨ûüÿìðåÈ5!3!, -ð¬,úÔ¬ÿìšåÈ !3!!, -ýÓšXÖúÔ¬VÿìšåÈ 5!3!!5, -ý3ð¬,û*þ¨VÿìšåÈ!3!, -šXÖû*þ¨ÿìðåÈ5!!!Ü@Ýð¬,úÔ¬ÿìšåÈ !!!!Ü@Ýþ#šXÖúÔ¬VÿìšåÈ 5!!!!5Ü@Ýüãð¬,û*þ¨VÿìšåÈ!!!Ü@ÝšXÖû*þ¨ÿìý–åÈ #!5!3!¸ ýÔ, -ðû¦Z¬,úÔ¬ÿìý–åÈ !!3!!ýÔ, -ýÓý–XÖúÔ¬û¦ÿìý–åÈ !5!3!!ýÔ, -ýÓý–Z¬,û*þ¨ûüÿìý–åÈ !!3!!ýÔ, -ýÓý–XÖû*þ¨ûüÿìý–åÈ !5!!!!ýÔÜ@ÝýÓý–Z¬,úÔ¬û¦ÿìý–åÈ !5!3!!Èþ$, -þ#ý–Z¬,úÔ¬û¦ÿìý–åÈ !5!!!!Èþ$Ü@Ýþ#ý–Z¬,úÔ¬û¦ÿìý–åÈ !!!!!#ýÔÜ@Ýþ#Pý–XÖúÔ¬Vûüÿìý–åÈ #5!5!!!!Pþ$Ü@ÝýÓý–V¬,û*þ¨ûüÿìý–åÈ !!33!!Èþ$, PÝþ#ý–XÖû*V¬û¦ÿìý–åÈ !5!533!!Èþ$ÜP -þ#ý–Z¬VÖû*þ¨ûüÿìý–åÈ !!!!!ýÔÜ@ÝýÓý–XÖû*þ¨ûüÿìý–åÈ !!3!!Èþ$, -þ#ý–XÖû*þ¨ûüÿìý–åÈ !!!!!Èþ$Ü@Ýþ#ý–XÖúÔ¬û¦ÿìý–åÈ !5!!!!Èþ$Ü@Ýþ#ý–Z¬,û*þ¨ûüÿìý–åÈ !!!!!Èþ$Ü@Ýþ#ý–XÖû*þ¨ûüÿìðåœ5!35!, -𬬬¬ÿìšåò!!!¸-û,šXþ¨Xþ¨ý–¸È33   òÖû*ú¤ûüÈý–È!!È@þÀ@òÖû*ú¤ûüÿìDåH5!5!ùûùœ¬¬þ¨¬¬xý–XÈ333x   ý– 2õÎ 2õÎý–åH !!!!ÍýÓ-ýÓý–²¬¬¬üRxý–åœ !!##xmþs  ý–¬û¦Zû¦xý–åH !!3!!xmý3 -þsý–²¬úúZ¬üRÿìý–¸H !5!5!5!ýÔ,ýÔÌý–®¬¬¬úNÿìý–Xœ 5!###l   ð¬úúZû¦Zÿìý–XH !5!!!5!¸ý4lþ þt,ý–¬úN®¬û¦DåÈ 3!!! -ýÓ-D„û€¬¬¬xðåÈ 333!x   ðØúÔ,úÔ¬xDåÈ 3!3!¸ ü“ Íœ,û€¬þ¨„ú(¬ÿìD¸È 5!5!5!3,ýÔ, D¬¬¬€ù|ÿìðXÈ 5!333Œ   ð¬,úÔ,ú(ÿìDXÈ 5!35!3Œ ýÔÌ œ¬€úÔþ¨¬Øù|ý–åÈ 3!!!! -ýÓ-ýÓý– 2û€¬¬¬üRxý–åÈ 333!!x   þsý– 2õÎ 2úÔ¬û¦xý–åÈ 3!33!!¸ ü“  -þsœ,û€¬úú 2õÎZ¬üRÿìý–¸È !5!5!5!3ýÔ,ýÔ, ý–®¬¬¬€õÎÿìý–XÈ !5!333xþtŒ   ý–Z¬,õÎ 2õÎÿìý–XÈ 5!3!5!33Œ  þt,  œ¬€úÔúú®¬û¦ 2õÎÿìý–åH !5!!5!ýÔùýÓý4ùý–®¬¬üR¬¬ÿìý–åœ 5!!###ùþs   ð¬¬û¦Zû¦Zÿìý–åH 5!!5!3!!ùü“þt, -þsœ¬¬úú®¬û¦Z¬üRÿìDåÈ 5!5!3!ùû, -D¬¬X¬€û€¬ÿìðåÈ 5!333!Œ   ð¬,úÔ,úÔ¬ÿìDåÈ 5!5!333!ùûŒ   D¬¬X¬€úÔ,û€¬ÿìý–åÈ!5!5!5!3!!!!ýÔ,ýÔ, -ýÓ-ýÓý–®¬¬¬€û€¬¬¬üRÿìý–åÈ5!333!!###Œ   þs   ð¬,úÔ,úÔ¬û¦Zû¦Zÿìý–åÈ !!!!5!5!333!¸-þsþ þt,ýÔŒ   ý–Z¬üR®¬û¦¬€úÔ,û€¬ý–åœ 4763!!"Q[¨yþ‡Y[ý–`¡†¬~|ü ÿìý–¸œ 4'&#!5!2.-Yþˆx¨[Qý–`~=?¬†x¨ü ÿìð¸È 5!2653#xY[ Q[¨ð¬~|2ûΨx†ðåÈ !"'&533!åþ‡¨[Q [Yyð†x¨2ûÎ|~ÿ“ý–>È3mù²ûý– 2õÎÿ“ý–>È#3>²û²ý– 2ÿ“ý–>È # # 3 3>²ýÜýݲ}ýƒ²#$²ý„ý–cûûcúçÿìð|œ5!ð¬¬F¸È3 F‚ú~|ðåœ5!|ið¬¬ý–¸F3 ý–°ûPÿìš|ò!šXþ¨ÈFÈ!È@F‚ú~|šåò!|išXþ¨Èý–F!È@ý–°ûPÿìšåò5!5!!5iý—ð¬Vþ¨VÈý–È333ÈP Pý–°‚ú~ûPÿìšåò!!!iý—šXV¬VÈý–È#!#P@Pý–°‚ú~ûPÿÿÿìå( ?ÿìþåÿ!ùþþûÿìþå !ùþ ýöÿìþå!ùþüñÿìþå!ùþûìÿìþå!ùþúçÿìþå!ùþùâÿìþå#!ùþ#øÝÿìþå(!ùþ(÷ØÿìþF(!Zþ(÷Øÿìþ§(!ºþ(÷Øÿìþ(!þ(÷Øÿìþh(!|þ(÷ØÿìþÉ(!Ýþ(÷Øÿìþ*(!>þ(÷Øÿìþ‹(3žþ(÷Øÿÿiþå( G} ÿìþF( #'+/3!33!33!33!33!33!3¦ ü䟟Ÿüåž ü䟟Ÿüåž ü䟟Ÿüåžþþûþûmþûþûnþûþûmþûþûnþûþûmþûþûÿìþå(%8K#!1!!!!!!!#!1!!!!!!!#!1!!!!!!!#!1!!!!!!F ?þÁ?þÁ?þÁ?þ"Ÿ>þÂ>þÂ>þÂ>þ#Ÿ>þÂ>þÂ>þÂ>þ"ž>þÂ>þÂ>þÂ>þ(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþûÿìþå(!%)-13#3#3!3!##!#3#3#3#3#3#3#žžžžžÞŸÞŸ þ#ŸŸŸ|  þŸŸþŸŸ|  þŸŸþmÖÖþû÷Øþûþû¶þûýýŽþûýÿÿÿì#å( <#ÿÿEþä( JZÿìþh!|þûìÿÿiþå Q}ÿÿÿìh( Qÿÿÿìþå(& Q& R Sÿÿÿìþå(& R Sÿÿÿìþå(& Q& S Xÿÿÿìþå(& R& S Xÿÿiå( Q}ÿÿÿìþå(& Q Xÿÿÿìþå(& Q& R Xÿ±Ëw!ÅNÄû<ÿ±Ëw7!!!xáürÅ$àû®Äû<ÿ±Ëw 3!254#!") ) xäääýçärVVþªýçþªääääýèVþªýèþªÿÿÿ±Ëw& e \ÿ±Ëw !%!5!5!5!5!5!5!5!5!5!Åû­áüáüáüáüáüNÄûž ŸŸ?þÁŸŸ ž:ý´“II“L“IIüØÞ¸[[¸ý"¸[[ÿ±Ëw !!!!!!Åû­·þIàþIý×NÄû<š¸ü àýÖÿ±Ëw !%!!5!!!Åû­·þI)·ü NÄûDJPV\bhn27654'&#"&7367'67675673#''5&'&'7&'%67'7&'67'%7&'&'%6767%&'ê&$h%$%%34$&þ1++XSA N@`˜==Žk>P CRX++XYC P>kŽ==l?L ?Q‹ oL+ NnþùŸ;PÖ?ýüÔ; @ þË nMþÓNnä3%%%%34%&&%s==`?J >PW,,WW? K?_==‰f?H?PW,,WU?H?^‘êÒ<…›=þ¡…Ke+cLþ« mC¾†P`kÕ<—<!¤°4(0847632#"'&7327654#"&#%#&7&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ó¤=6 5N'V[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿ÃˆˆþÞ ÌþõʯX[V[X[V[!¤°4(0847632#"'&7327654#"73$3&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ѧ=6þóþý3QNV[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿Ãˆˆþw Ìþð Ê'X[V[X[V[!¤°4!)47632#"'&%#$''&'6%&'6!««ñ󫪪«óñ««4>;D@KDzcngkþ?dnhkê󫬬«óñ«ªª«íþ½Iø Ökpinipi !¤°4 "*2:AIX3#''%#&'52#"'&5476!!'5%!!'53'5%3'5%3#'32765'&#"M==¼,Â/ý¥Å0œ#¶¨H ™8&O”6ýã þ÷|þò7iY0Âþ6.Á/¤==e6a&i1r4þîz0Ç1¹Æ2œ+ްK“Nƒ2HŒQÖ>>>>Ûf^2Æ"/Æ1]þîÓ8`1"Y 4f2y½ÿ`«1B7#5#53'&'&54767&'&=33676=3#327654'&O&"}|f‡ÌÐz¿¿‹g}}"&&"}†UQn$mQU†}"ú$nQUVV{xVVUQ<"{³±u^Å^¿À\Å _u±³{"#|± zUOOUz ±|#YOT{zQPPQz{TO‘ÿ›@>)4'&#"3276&5476327#'#53'&­`_„‡__¾‡„_`ýo‹ŠŠÅÂŠŠ‰q“ßä‡ÑÑ™k‡]^^]‡†²YYÁÃň‰‰ˆÅÃhÙgÑÓfÙ‘ÿ›@> '"3276'&'7#5373'#"'&5476j‡__¾‡„_``_ÈÑчäß“q‰ŠŠÂÅŠŠ‹q¥YXþòº]]XY†ÚfÓÒhÚhÃĈ‰‰ˆÄÃjš¼0 '&'&376&+"'&5'476%7!¢Z{z[ZZ[~\Yƒ¶¹‚ƒ‚²²WþÞm‚pþçN#ZX[þ[YZ[öþP€€·¶ƒQmþ€p#þïT²±G*Š®52764'&#"#463233#!5èsPQPPtrQPŽô­±yzgÖüLQQäQPPQr®ö{{®Ÿtú|gŽ®*#®"#53533#632#47654&#"#dd¨¨i§qq„CB’igIIuªªþ“gzy±UØr}ppDt PQsþ_C…ŽS 7"27654'&7#"&54767##53#533333#3##h. @\ ! 2(>>?ZW~>'3íûûí|íú}}úíË! -/@ /- !^'?XY??~YX?(Fþ˜}R}þ˜hþ˜h}ý®}hL……S<#5#535&'&'5'73'3#'73'676=35'73'13§|‡e{vw}wwUATwx|xxS@Wwx}vv|dˆšš|re{±Eus~~suE|VAKtrrtý¶@X{Ius~~suI­{dr|×*ú®! #!!!'!27674'&#ß_í82þ½Vý)‰3{D™#M®ÅHZûWýÏ{s{þ?zK›8€…QO##"'##565'##"/547?kM±Ã …,4N"D±F &Fi™?šJO‰ãä/FB!‰O¶ é{|êIm¬<&–§=ˆ…ÃM2227632#&547636=4'&#"#4'&#"=³` ]Á¬d¶þŽ2þ c¤B¼«†ØU›;/ÙG;SœXMâB:þ®@B Õ½þ;7h’–­f%þÐ ´»þ#>…|Ž\þ@¬¸’9‘…@O &&5 i×þC þn:Õþ^¥¦þ¨Oýžý¹ G  ýÞýÛ%½2…ŸO7236;2"'##'65##"'&5476;235&'&=476j°S c1=EÃO¬ ;ÇSC«FRÊTÊ6*F@E1°;Oº+.`„1¦62¨V âþæYiä¦8/ÀD ;8[B ¥V†RP"<B+"'##565#+"'&575477;2732;276=4'&3&'"ih;F”(wQ"D±G".FWƒC©ïNfþêBy" bO–DUq5¦½u4  P¹þˆro¬@ ³ æ|ïS`64 ¤¯'<¤þ·kn™,³:y‰!‘ªìü@JD …ÆO2367632#&5476;§_#KYo¬h«þMþ2ФEOÁL)…XY¸D<κýö6©³­f%‘…@O &47iž9þ) þ2\OýçE ýŸ[ r1† V2`g26;2"'##'65##"'&5476;2&'5476&+"3276733276=4/#"567654'&#"35&5m¦V^2"ÌL ­<ÆTC¬FRËUË7* 2Q±;Æ‹ XaÈ2p2@­^ DJ‚ŠF Ð,aXj™-!˜DØ2V©9/mˆ±.0­R ãþäZjæ§9/ÂC \‘ §Vþ ¯7yMó5bomœ&#·'p[?$–G¥üOQr!_ª3#"/4?23D¹-!ÈÇ]UªûFš+}{<Ž¢!/ª3#'654'&'#"547326R£ãs9×WÔ5åÈ[Sª%3;Bƒ‰[/OBC'ü*ž|<jÿ_g¥#"=4?2%#"=4?2ÙŒµ3ɧ%QMýûŽ?Ë )TK¥¿û7’(›w7ÑŸü5’s ?|ÀO"'4723!#"5472!5½ÖÀÀYAý>ÇÔÂRHIÂOûó°‡q 1 ýÓ«‘g 4ª€€D%® 3363'$6'"I+¡ˆ×ýÔ4‹ ˜p®üuàòþoS‚üþ±^£±* ¯ 3%#'#3%#¶';&þÂ2 ¯þI˜û¦Ê—Hý¼þ“‡j7*š¯(,377#'#'547#5773%%ö,ppsr,þð'zzxz'þð¯þá9…8þ 4€?þè„þ¹/9†9e5ƒ>ø:ý¹þœƒ_Òþ²Ç&*'$676#"'67667à h5þX@!2 ^:H~]ÕÞ(ýø#7NEþ² SR®õQO‰1ØÌ¡üLÜH~þ²&77$7676&#""~EV*˜(ÞÕ ’:^¨#Dþ89hþ²HÜ´¡ÌØ1‰OQü ®þ®S uþ#\u ! !hôþ þ óþ˜Ñþ—iý/uûÛûÓ-1ýüކþòü 3#‡˪þ5hª‚üpüpÕþòK #3Jþ5ªËhª‚üpuþ#\u hôþ þ uûÛûÓ-Xqy“33#####533ܨõõ¨è¨ôô¨×¼þDªþD¼þD¼ª¼þDXqy“333333#######5ʨ¢¨¢¨ss¨¢¨¢¨r×¼þD¼þD¼þDªþD¼þD¼þD¼ªÿÿ–®;T™ÿ±Ëw7!!!xáürÅ$ðýžÄû<ÿ±Ëw!!!xáürÅðû®Äû<ÿ±Ëw7!!xáürÅ$àû®Äû<ÿ±Ëw%!!YürÅ$àû®Äû<ÿ±Ëw% hËþ5ýžbcýJÊÊþ6býžýžÿ±Ëw žÊýžbcýþ6”þ6býžýžÿ±Ëw ! žÊËûÓbcýþ6Êbýžýžÿ±Ëw! ž•þ5ýžbcýÊþ6býžýž ÿ±Ëw #)-17%#535#5#5#5##5'3#5#5#5#5#5##5##5###5ËÍZssssô®š´ðVÈrrrrÅsZš®š´šVr~ÌrZH®®N³³ýrrrrZZrÌH®®N³³bÈVrrrrrrVÈÿ÷þLÕ +;#"'&47!2#.+3 654'&#ŹߥE-( ömPŠc–JW3|Ùi.icÁ€ gÝ3,>™œjD£EóoQ…Ùƒ^n§þhy¡]ýk7„ýî% P0ELÿããð 73#7 '&7#"326±TÆD¸þÞ¸&”þ;X2PÙ”kk;!Ø”×;!Vš¯”ú+ÁÞÏu'¡AššþÒ¨zþ¿5.¨ÿÅþV Õ ##!!+732767-þ]™rÿº"n˜þÚ&mo¥Í·Z98'üíúÙÕýøúÃijœ>>’¶=Õ %!#3!3újþV˜õ§Ñ" ¸Ñ²üüRÕþ{…ÿÙÿãpð '#36 3265#" þ¬þ:D¸"¸&”ÅX2ü°Ù”Ö;!Ø”lk;!}þf¯”ÕÁÞÏuþÙ¡þäþ¿5.¨yAššþÒ¨ÿøbÕ3!!#Ëwô!ý ŠËÕýœªý9V.`#3!rd¸Ú¸YŸýý`þ9–Mÿç‡h '"27676'&'2#"'&7673WA…\j_,+:5 Š]d97œŸÁ·Ç^`5;—~Ÿ F?c%*9:e…;Ë‘ýRh]ßÝc[„þÙþæ–˜™›,„m£Ks¾Øeg¯. ÿå!#7#"&'732676&+732¹+E؃Do/$2rI¬à(=cÑݳˆ$Ûw"$¼.*ØÌgQ™®¸‰ÿãH{"2>   676326—†pJ‡róÒ½pþÐþ-¼pÄTýÇT (n…‡IÀ^ˆ[]…þÒýÃþÓ-=þâ°þP@7'"]_$5ÿÿzÿWXUýdYœà 3#3)m„þK›q„ûåü¼Dþ{ð9;#"./&'&'732654&/.54!2.#"y@ŸQ!3?.E7@±52ed)bÉp¥ÎX…e¸“J Pµ_'Q®]¥Ðby£—¦ˆÙ¢UOª #8$ìH -ÑEB°‡RZ)!:“yÝ(&Í;<¤GX('2§ëŠpÿùþúÕ#7!7!;#".'&/&#Úý!ÉücO¬$FJ(Q!r I[35-Í5`š‘ªšûo^Í+7ª&()6ó?–ÿå¨Õ$36767#"'&7676?>7#7¾· #`o%iÊhº\[..piR6 42Ë2ÿT6J! 7DüS #D¼98``¡LAB\VBT=;þþú¾®-;,,1Y7»ƒ!##m§ð•¸üþÛƒ #7!#Ë𨲸…üoþò̓3!3ÝðþV³¸‘“þòîƒ!733;þXð–¸þò)uð$%#?>'./.76$32.#"¡2Ë2" &GI.¸g¶S%T¥Ol™ /IIþþþ“{4<5/VV‰LŸÂ89¼CFnY1^5YV‚eš—*X3# 3±ªª ˆþöXˆû0Xú¨[*X3# 3uªª= ˆþö$ˆüdXú¨*X3# 39ªªy ˆþöðˆý˜Xú¨ã*X3# 3ýªªµ ˆþö¼ˆþÌXú¨§*X73#3#ÁªªûˆþöˆˆˆXú¨§*X3##3€ªªýɈ ˆXˆû0X§îX3##3Dªªþˆ ˆ$ˆüdX§²X3##3ªªþAˆ ˆðˆý˜X§vX3##3̪ªþ}ˆ ˆ¼ˆþÌX§:X%3#!#3ªªþ¹ˆ ˆˆˆX§*X!#!!/ˆ yþXˆ§îX!#3!!/ˆ ˆ<ñþXþ̈§²X!#3!!/ˆ ˆxñþXý˜ˆ§vX!#3!!/ˆ ˆ´ñþXüdˆ§:X%!!3Iñý‡ ˆˆˆX{œ£ä 3'#'ž:ËYy…j…­?äÝCƒýU«ƒC-˜Uà #'7374:ÍY{…j…«?˜ÝCƒ«ýUƒCלùà 3#3#7ò€€¢€G3f*ŽDþ‘ÈÈלùà #73#73Þ€€¢€G3fRŽü¼oÈÈÿÿUwD ÿ~ýdöçÔ37 !7 !7 ö |Wþ„|;þpO:$Á£-H£'£Å¢þŒåcmþûþZ3»`!7 !7 !7 3T6þ¬Tþ¬ )’~6™|™˜þèžMY¼þ¸èË[ð 7! ¢2L­P)j *ý±ÍþþÒ.1Ô ÛèV[{ 7! ¢2L­P)j %ý²XþþÒ.1Ô ½ÿøþVÙÕ +732767!#3!ÙþÚ&mo¥Í§Z98Šý׊Ë"Ëw)wÕúÃijœ>>’Çý9ÕýœdTþVH!+732767654&#"#3>32¨&ܥ͹³0Œ]W²!{¸/¸tK¯b‹š ÃÓœúË G'QWº¨ý‡ý¤ab‘‚ ^4ÿÿX#%[Iw !7!7!7!þ>Âþ>ÂI–––åá`Õ3 #–ÊX¢2Õýqþ›eÚªôÕ·QÔì1ôÄ0#ôl®lÕýÕ+ÿÿ§ÕÕ[£þV¤!6#"3;#"'&7# 7632!7!3#â6M \kCY×éŸKG&}=þè&1ô5&KþÙߘúú„K9üÚ|~œjdȆ½öƒüó ÿöþ¾ÓÕ !33###ïÃþþ†_ª>ÜþøðÂÕû3ÍúÕþBÍû3)þâ*{3>323##67654&#"#¸ K¯b‹š jŒU–8®‡]W²!{¸`¨ab‘‚ /03ýàþL· G'QWº¨ý‡aÿã› %"32676&'6#">7.7>3%"”Œº*)eŒ»)*foé½88þÐêé¼8-¤:G% ßžü"þ(½gßÚÖÕÛÛÕÖÚœþÑþâþáþÓ-åØ*/Ž1|”±kI5bç±@`   : ‰ ‡‹      ÄÔÄÔÄ2ÆÀ999991/<æ2þ<îîî2990KSXííí9íííííY"3#'#"!#!##737>3/¸-¸Jµ__•Û¸¾þ%¾¸¾ÉÇ&Á»éé™Secû Ñü/ÑNÁ¥bç‰@K   : ‰ ‡‹    ÔÄÜÄ99991/<ä2üìî2990KSXííí9íííY"!#!"!!##737>øïþѸþÓ__)þÙ¾¸¾ÉÇ&Áùì{Secü/ÑNÁ¥ÿßÿTÏ#'-7>?67654'&#"06763237 e3232673#"&ã"*&"6}#|U">##$(8 } ~\79 32mn 6.mnôî=öY¶ÔÄ91ÔÄ0@//]]K°TX½@ÿÀ878YK° TX½ÿÀ@878Y#ª“‹¾öþø‡îø]@ ÔÄ91Ô<Ä90@/// ]K° TX½ÿÀ@878YK°TX½@ÿÀ878Y3#'#Õž…‹Ñ˜øþö²²ºî5øc@ ÔÄ91ÔÄ290@//// ]K° TX½ÿÀ@878YK°TX½@ÿÀ878Y#373-Õžˆ‹Ñ—î ²²/ømf@ ÔÌ991ÔÜÔÌ0'F#øllá{Wm> #.#"á#¶ C9wVSRo{xz=5]8796{„m @  HHÔìÔì1ÔÜÄ20332673#"&wYRSlw#·†m6978w{zµƒªP"@ ¦ÔÌ991Ôì0@ OO__]3#ÝÍ(ÍPÍcøk3#3#=ºþèšGºþèškþøþøœc'k#!#V’š²ù’š²kþøþø·ñ,0#7676?>7654'&'"#"7676323#/Â! HK40 >2'@M*N=KL |2! !#OJ; þüË2Ë‘šbEBTY;X1-%#DÙ>YHˆiû—Tz ¸Ú_<õÉ0É0üÇýø9mþÑüÇþÙødÑhÑÑsRÿú!ÿìu–¦XË/bb{ÿî\®)?XËXXXFÿãÿ–sÿø5\Nÿø9ÿçÿøNÿÅÿúR3R  PÇRÿÃÿúd“HÅH;œwb;T=Z7ÿòTuÿþbÙsÃ}¶\ÿºÿÙN¸ÿòX…{ÿøÍ/d´ßJX/¸+X3?ÿÙ}Ƕ\ßR///ÿ–ÿ–ÿ–ÿ–ÿ–ÿ–ÿos55559999ÿøÿúRRRRR–PPPPÃ37HHHHHHÿÑœbbbb====wTuuuuuX/}}}}ÿÙÿþÿÙÿ–Hÿ–Hÿ–Hsœsœsœsœÿøwÿøw5b5b5b5b5bN;N;N;N;ÿøTÿø,9=9=9=]A9=ÿçÿøZN7N7N7N7ÿãXÿúTÿúTÿúTÿß(}RuRuRu#ÿú Ù 3 Ùssss Ã ÃŸ²P}P}P}P}P}P}R\ÃÿÙÃÿúNÿúNÿúN;T,Di0CÿøHdAv3tHÿ…G'Gÿª97ÿÝT¿ÿÓ%ÿc}tÿ× *}x I§ÿç Þo© ÿÆÿáMX¡ÿæ XÿáÿáÿîÿáÿõAÿár¨vsÿ–H9=RuP}P}P}P}P}pHÿ–HÿoÿÑN;ÿøZRuRuÿáÿõN;ÿ°ÿúTÿoÿÑ/ÿ–Hÿ–H5b5b9=9=RuRu Ù ÙP}P}s Ã"RÿøTÿ÷4‡ÿ–H5bRuRuRuRuÃÿÙ* ÃB‘ÿxÿxÿ¿ÿõÿ‘Žxÿ¾ÿ÷ÿ¦ÿÿvo0U¸‰QCpÿû{BÿÒ°ÿ÷JykÓÌ%N2¢YÏCm!A ‰E”c³Šg‡Ö00 r)ÿ½cÿà¦@ÿÎa’ÿÛÿ£ÿ²Õ~Dÿõ#'þ8[^az 4N…"xþÿó¡×ȃQD† H.ììz[]*ôÌü»Ï•ðfV˜×î¸îhOÖõ/yÕwøç‘¸þ˜/œ"Õ€—[ã§ÝÁÅ?‘¸Õw´¨ø¸×ö*€ÕŸÕ¾ð?'Ý€Öˆ“.l¡vf5P _Á®¶ñù4éƒ:u@0h<ÿ¿ÿx4²r¨¾þô»µ“Ë?´ÿ–ÇÿƒÿQÿƒþÔÿ½‡ÿ–Eÿ”5ÿúÿøt9ÿøÿ”ÿÅÿúÿøRÿø3ÿç ÃtÿÃÿ½9ÃE„|‡„EÿÖA_„“|‰‡8ÿÙàŒuH%é{è„t›2‡„u„2”ˆ9þ„9qÿÿ›¯‚Ä\ÿH1v¤ ÿ׳œt¢73ÿþsÿÅÿéÿÒs55PEp99ÿçÿ\ÿ‘"Kÿú&ÿ–Eÿq5ÿ~ÿîÿúÿúÿøÿsÿÅÿøRÿø3s &0ÿÿÞ§ÿáÿÊÿ°3ÿ»HGd”ÿàbÿÎBVVÿ±ÿÑVuVÿþœ1ÿÙIÿº+ÝÿÿnÿûXaÿá;bbs”Ãs==ÿÿÔJVÿÙrfnt‰E”EsE”ÿ~ÿÎÿîBÿøÿøVÿásœ +ñ×ÿÿàÿûT9ÿ~ÿÎÿøÿøVE”_ÿ–Hÿ–HÿoÿÑ5btptpÿ~ÿÎÿîBÿáÿõÿúVÿúVRut‰t‰a&ÿÙ&ÿÙ&ÿÙ§ÝÂüÿ°ÿûH„RbR\:ÿísL@ÿùÿçÿíÿ›ÿÏ2š/Lÿðÿ÷8¨8mWÿøÿ£S(-8ÿö,ÿÏR V¨Þª'}Ÿ5]+b]7ÿªÿü°ÿ¨J N]+o&¦Î5Nv\9wJ-#]Œ,ÿÒuÿã¬\ÿô2NÀˆi=0H—>ÿ×M& 2 ÿ¿-7ÿçCk•˜(üÇTTTTœ'@ÿáìE_<ÿá˜{^,UTSX"”W[Y"QKÿò^ÿùlN)KU\3[]&_HLIS"-=#R sÇsi ÿÐõô+V+«¤ææûûéÁôÊëëîÀA)&Û%$**? ñ+.444D+Ôó#?[+#Ié ’3-*%3>*&”/½˜tóó [ù-%þ€Æù6P ô%ÿ–H;;;sœÿøwÿøwÿøhÿ¨wÿø:5H5>5b\N;ÿøTÿøTÿøTÿ?ÿbÿøT00ÿøZÿøZÿøZN N NhN:ÿÅÿòÿÅÿòÿÅÿòÿúTÿúTÿúTÿú:Ru3ÿþ3ÿþ Ù Ù Ù hsss Ã Ãhh::P_00::P}ǶǶR\R\R\R\R\ÿÿºÿÿºÃÿÙÿúNÿúNÿúNTÃ\ÿÙ_ÿ–Hÿ–Hÿ–Hÿ–H5b5b5b9=RuRuÿ× ÿ× ÿ× ÿ× P}ÿÆÿáÿÆÿáÿÆÿáÿÆÿáÃÿÙÃÿÙÃÿÙEEEEEEEEÿ–ÿ–þ¯þáÿ^ÿ|ÿ–ÿ–„„„„„„ÿÂÿôýÎþþKþi||||||||ÿÿÂýƒýµýçþÿÿ‡‡8jj‡‡‡ÿÂÿôýçþþKþiÿfÿ^uuuuuu ÿôýÎþþáþÿ„„„„„„„„ÿ^ýµýºþÈ22222222ÿ½ÿ½ýÎþþúÿÿ±ÿ^EE„„||‡‡uu„„22EEEEEEEEÿ–ÿ–þ¯þáÿ^ÿ|ÿ–ÿ–[[[[[[[[ÿÿÂýƒýµýçþÿÿ22222222ÿ½ÿ½ýÎþþúÿÿ±ÿ^EEEEEEEÿ–ÿ–ÿ–ÿ–ÿ–2“2‘´[[[|[ÿ;ÿƒÿ ÿQÿø8jׇ‡‡‡‡‡99ÿmÿƒjˆÏ„„„„%%„„ÃÃÿ þÔÿô´´Å22222ÿTÿTÿ½ÿ½?d//ÿÍÿÍÿÍÿÍÏÏËöÝÿð)Ã;??ÿ¾†ðZÎ8¢5=?M“ÿæx?'a?4baAa––a\34baAa––)%.Õ$ì œñ"DQNN9-.ÿÚ ÿÙwÿö!Ÿ 3<ÿÆÿÚ…gpt:TTJÿyB%0ÿ½ÿøÿ– /////////////BBB¸¸¸¸BBYYBBBBBBBBBBBBq····º?QQ2BXXBBBBGB*BB*B*BBBBBBBB››››BBBBBBBBóBóóóóóóóBEEóB*BBBBBBBB%u¶²²Iÿúÿú‚‚˜XX¦+?;;;º)}}¤¤¤¤?5»¼è»XJWXXXXXXXXXXXXXXXWXXXXXWJJXXXXXXXEXXXXXXVXVVVVWXXXXVVVVVVVVVXVVVVVVXXXXXXXXXXXXXXOOOOOOOOPPPPPXXXXéXXXVXVVVVXXXXVVVVPIr’’’’’˜¨% % Xa¸¦GX++|h}2H%%ÿì?XX%XX6¾FœFHRFFFöõ    :ÿìÿìÈÿìÿìÈÿëÿìÈÈÈÿìÿìÿìÿìÈÈÿìÿìÿìÿìÈÈÈÈÈÈÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÈÿìxxxÿìÿìÿìxxÿìÿìÿìxxÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿ“ÿ“ÿ“ÿì|ÿìÈ|ÈÿìÈÿìÈÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìiÿìÿìÿìÿìEÿìiÿìÿìÿìÿìÿìiÿìÿìÛÛDDÛÛÛÛÛÛÛÛu77ÿìÿìÿìÿì7777?ÿìaa¯¯"!!!!½‘‘G®CL×€‘2 ‘1r¢jD±7Ò~u†ÕuXX–ÿøLÿŶÿÙÿøVM ‰zYÿù–»Û“)—[ã§§§§§§§§§§§{-××Uö3èèÿøTX[åÚ§£ÿö)abbÿß? ?‡ô‡º/ᵜõœ^?DDDDÐÜìô@pÌ,È x¨ô0 Œ  Ð ” H  à@ÐHÔ d¬œÐ|`ü¨8¼ TÌddXÀt8 8!l!Ø"¼#0$T%%¤&&€&Ì'<'€'¬'ü)|*„+,$,ü-°.è/Ø0€181ð2”3ð4Ü5d6l7X89\:(;;€<°=l>8>¤?ð@ AhAèAèBxCTD8ELFLF”GÐHhI„J„KK8KhLÐMM|MèN¨OhO´PØQ€QÌQÜRdS S„S¤SÄSäTÔTìUUU4ULVTW4WLWdW|W”W¬WÄWÜWôX XìYYY4YLYdY|Yð[[0[H[`[x[\p]¸]Ð]è^^^0^H`€`˜`°`È`à`øaa(a@aXb|b”b¬bÄbÜbôc chd|d”d¬dÄdÜdôeüff,fDf\ftfŒf¤f¼fÔfìggg4gLgdg|g˜g¨i i$i<iTili„iœi´iÌiäiüjj,jDj\jtjŒj¤j¼jÔjìkDk¸kÐkèlll0lHl`lxlmmpmènnn0nHn„nœn´nÌnänüoo,oDoìpÔpìqqq4qLqdq|qär\rtrŒr¤r¼rÔrìsÈu|u”u¬uÄuÜuôv v$v<vTvlv„vœv´vÌvävüww,wpwÜwôx x$x<xTxlx„xœx´xÌxäxüyy,yDy\ytyŒy¤y¼yÔyìzz@zÔ{d{t{ä|D|¼} }˜~~~„~Ü4¤Ü€L€Ì‚‚€ƒƒHƒœƒô„P„ „ì…`…¬…ø†l†„†œ‡‡|‡ôˆˆ‰‰€ŠŠŠ„Šô‹8‹œ‹äŒŒŒŒìD ðŽ@Ž´(˜ ”‘‘p‘Ü’D’`’|’Ì’Ü’ô“ “$“<“T“l“„“œ“¼“Ô“ô” ”,”D”d”|”Œ”¤”Ĕܔô• •$•<•T•l•„•œ•´•Ì•ä•ü––,–œ–´–Ì–ä–ü——,—D—\—t—Œ—¤—¼—ԗ옘˜4˜L˜d˜|˜”˜¬˜Ä˜Ü˜ô™ ™$™<™T™l™„™œ™´™Ìšh›››0›Øœ0œˆœ œ¸œÐœè @Xpˆ¨ÀØðž\žôŸpŸ¨ P ø¡X¡ð¢„¢À££¼¤¤p¤ð¥\¥„¥ô¦D¦È§,§¨¨t©©ˆªªtªÜ«ˆ¬ ¬À­ˆ® ®t¯¯”°°l°Ä±±|² ²d² ²Ø³T³È´´œµµˆ¶ ¶Œ¶ø·,·œ¸¸À¹l¹¸ºº|ºÌ»@»„»È¼@¼¸½x½Ð¾<¾¾ü¿H¿”ÀÀ„ÀøÁ Á\ÁœÁÌ „ÂôÃŒÃðÄTĸÅ0żÆDÆØÇpǨÈÈHÈlÈøÉpÉìÊpËHËøÌ¸ÍTÎ ÎÀÏxϼÐ$ÐhÐàÑtÑÀÒ,ÒlÒ°ÒôÓ\ÓÐÔ ÔLÔ\Ô¸ÔÜÔìÕ,ÕlÕÐÖ4Ö¬× ×<×L×|׌״×Ð×ä×øØ(ØDØTØdÙÙ|Ú¨Ú¸ÚøÛLÛÜ4ÜlÜÌÜðÝÝHÝtݘݨݸÝÈÝØÝèÝøÞ,Þ<Þ ÞàÞðß@ßPßÄßÔßôàà<àTàà¬àØááá0áDálá”á¸ââ<âdâŒâ¼âØããDã€ãääTäpäØäèåå,åtå´åôæTæ˜çŒç¼çÌçÜè8èTèlèˆè¤èÜéé4é|é°êê4êDêXêœê¼êØëëë$ë<ëTëdë|ë”ë¬ëÄëÜëôì ìì,ì<ìhìxìˆì˜ííí(íLí\ílí¨í¸íÈíØîî$î4îÜîìïdïØïððð ð8ðPðhð€ñññÐò„óLó¼ôôxô¸ôÈõõõhõôööXöÄ÷D÷°÷ôø`øôùPù¸úDú\útúŒú¤ú¼ûDûÈü4üLüdüøýlþ þ€þìÿhÿäÿôhÈøxØläôxì`p€ÐŒð 8Pðl|Œ¤´(˜  ( @ X    ü  0 ” ¤ ø  < T d ¬ ¼ Ì Ü   ( 8 ˆ   P ¤ Ü pЀôXh| dt¨ÀÐTŒœÈØè$ °ä8l¬d°ˆèˆ  0HXÌ0”¬ÄÜpÔäô LˆÄ,”ôTl„ÌT”Ô  ( @ t ¨ ¸ è!0!p!¸""h"x"ˆ" "¸#$#”#è$8$h$”$´$Ì$ä$ü%%$%4%L%d%t%„%œ%´%Ì%ä%ü&&$&4&L&d&|&”&¬&Ä&Ô&ä&ü'','D'\'t'Œ'¤'¼'Ô'ì((x(Ø(ð)))()8)H)X)h)ì*L*È+(+ˆ,,8,”-H-Ä..@.¬/l/Ä0(0à181¼22À33¬44|4à5°66d6Ä7p7Ä8Œ8¸9H9Ü9ì:°:À:ä:ô;<;L;Ì;ðT>„>Ø?ˆ@@L@pAA AìAüBÐC CØD(DXD¨E<ELEäFlG<G´GÄHH¨HôII(IÀJ@JPKKPKxK¤L0LÈMˆNN”OXOøP`PðQlQüRtRÜSDT4TÔUpV V`WW XDX¼Y„Z8Zä[ \(\D\¬]] ]l]À^^|^Ì_,_”_ð` `xaaLa`a”bbˆc(càd`ee¨fDf g(g¬h0h¨i4iÈj8jØkHk¸lTm0m¼nhnÜoxpp püq rhrÈsXt uu€vv¤wLwüxŒyyœzzDz¨{|(|h}X}}Ì~~|~ð$pô€D€|€´ XŒÐ‚ ‚0‚l‚œ‚Ѓ0ƒ0ƒ„ƒô„ „Œ„È…T…ä†P‡8‡°ˆ(ˆ¤‰$‰´ŠDŠÔ‹‹H‹ÐŒ8Œ˜Œø8xðŽHŽ Žôtœ°ÄØì€à‘<‘¨’ ’¬“D“Ô””l”ì•@•Œ•Ì––H–¬–ì—L—p˜,˜¬™™œ™ÌšP››Ôœ œ˜üž$žXž¸Ÿ$Ÿ   4 L d | ” ¬ Ä ä¡¡¡0¡H¡`¡x¡¡¨¡À¡Ø¡ð¢¢ ¢8¢P¢l¢ˆ¢ ¢¸¢Ð¢è£££0£H£`£x££¨£À£Ø£ð¤¤ ¤8¤P¤h¤€¤˜¤°¤È¤à¤ø¥¥(¥@¥X¥p¥ˆ¥ ¥¸¥Ð¥è¦¦¦0¦H¦`¦x¦¦¨¦È¦è§§§0§H§`§x§§¨§À§Ø§ð¨¨ ¨8¨P¨h¨„¨ ¨¸¨Ð¨è©©©0©H©`©x©©¨©À©Ø©ðªª0ªHª`ªxªª¨ªÀªØªð«« «8«P«h«€«˜«°«È«à«ø¬¬(¬@¬X¬p¬ˆ¬ ¬¸¬Ð¬è­­­(­@­X­p­ˆ­¨­À­Ø­ð®® ®8®P®h®€®˜®°®È®à®ø¯¯(¯@¯X¯p¯ˆ¯ ¯¸¯Ð¯è°°°0°H°`°x°°¨°À°Ø°ð±± ±8±P±h±€±˜±°±È±à±ø²²(²@²X²p²ˆ² ²¸²Ð²è³³³0³H³`³x³³¨³À³Ø³ð´´ ´8´P´h´€´˜´°´È´à´øµµ(µ@µXµpµˆµ µ¸µÐµè¶¶¶0¶H¶`¶x¶¶¨¶À¶Ø¶ð·· ·8·P·h·€·˜·°·È·à·ø¸¸(¸@¸X¸p¸ˆ¸ ¸¸¸Ð¸è¹¹¹0¹H¹`¹x¹¹¨¹À¹Ø¹ðºº º8ºPºhº€º˜º°ºÈºØºð»»»(»@»P»h»x»» »¸»È»à»ø¼¼(¼@¼X¼p¼ˆ¼ ¼¸¼Ð¼è½½½0½H½`½x½½¨½À½Ø½ð¾¾ ¾8¾P¾h¾€¾˜¾°¾È¾à¾ø¿¿(¿@¿X¿p¿ˆ¿ ¿¸¿Ð¿èÀÀÀ0ÀHÀ`ÀxÀÀ¨ÀÀÀØÀðÁÁ Á8ÁHÁ`ÁpÁ€Á¨Á¸ÁÐÁèÂÂÂ0ÂHÂ`Âpˆ˜°ÂÌÂäÂüÃÃ,ÃDÃTÃlÄÜôÃÌÃÜÃøÄÄ(Ä@ÄXÄpÄ€ĘİÄÈÄàÄøÅÅ(Å8ÅPÅhÅxňÅ ŸÅÐÅèÆÆÆ(Æ@ÆPÆhÆxÆ Æ Æ Æ Æ Æ Æ Æ Æ Æ Æ Æ ÆÐÆàÇÇPLjÇÀÇØÈ4ÈŒÈäÉɨÊ@ÊØËˤÌ|̼ÌØ͈͈ÎÔÏüÐÐ8ÐXÐtÐаÐøÑ@Ñ\ÑäÑøÒ,Ò`Ò|Ò˜Ò´ÒôÒôÓ°ÓìÔ ÕÕÄÕìÖœ×<×l׈×°×èØ ØpØ„ؘجØÀØÔØèØüÙÙ$Ù8ÙLÙ`ÙtوٰٜÙÄÙØÙìÚÚÚ(Ú<ÚPÚdÚxڌڠÛÛàÜ€ÜÈÝ@ÝÐÞdßdà@àðáXápâ|âÈã$äØå˜æ(æÐç@çìèŒèÄé@éÀêêàêðëXëœì@ìøíhîî°ïdï¤ï´ïÄïÔð\ð|ðœð¼ðÜðüññ<ñ\ñ|ñœñ¼ñÜñôò$òXòŒò¼óóLó|ó¬óØôôLô”õ<õäö,ötö¼÷÷D÷„÷À÷üø8øtøÀùHùÔú˜û`üxüØýýTýŒýÄýüþ4þlþøÿˆÿÄ,Ô| Èð@hŒ°X¬ô<„ÌH¬(ŒÌ LŒèD„Ä  D „ Ä  p À  X ¤ ì 8 t ° ð , h ¤ üL¬ dÔ(l° ðLÔ,|Ì4hœì$€H°|ø$ļPðè|À$P ´ÈØ<Ø8° t ˜ À è!!„!ü"P"è#À#ä$$$$P$h$ $Ð$ð%L%¨&&t&Ü'`'Ø(p))ü*¨+`,T,Ì--Ô.H.`.€. .À//H/¤00X0˜0Ø1$1l2P2Ô3`3ä44t4´55p5´5ô6T6¸7 7t7È808”9 9”:4:à;$;h;ìL>Ü?D?¬?ô@8@¤AAdA´B0B¼C$CCèD@D¼E<FF´G€H4HäIÌJ¼K|L LpL¨MM@MhMŒM°MØNN4NœNìO@OxO¬PP|QQ¨QüRLR˜RäS`SäTˆU(U`UpUœUÔUüV$VXV˜V¼VàWW(WPWxW WÈWèX<XLXXÔY,ZZ8Z\Z|ZœZ¼[[l[¤\\`a apa˜aÄbbXb´bÌcXcÜcôd,d`d¬døeDe”f$ftf¼g g\g¨gôhDh”h¬hèiii0iHi`i¤i¼iÔiðjj j¼kˆkìl,l”mmTm´n8nPnÌnänüoŒo¼pTqrrÐtt¤uPuÐuüv4vPvˆvÀvÜww4wPwtw˜w´wÔxx`x˜x´xìyDyxy”yàz z8zTzpzŒz¨zÜ{{L{ˆ{À||H|”|¸|Ü}}$}H}l}}´}Ô}ø~~@~`~€~ ~Ä~ì@l”Äð€€@€h€”€À€èDl”Àì‚‚<‚h‚”‚¼‚àƒ ƒ8ƒ`ƒˆƒ´ƒà„„8„l„ „Ô……<…p…¨…à††P†„†¸†ì‡ ‡T‡x‡¤‡Ð‡üˆ$ˆLˆxˆ¤ˆØ‰‰0‰d‰‰¼‰ðŠŠHŠ|ЬŠà‹$‹T‹ˆ‹È‹üŒ,ŒlŒ ŒÐXœøŽ,ŽdŽ”ŽÈŽèD`|˜´Ðì$Hp”¼Ðì‘‘$‘@‘\‘x‘”‘°‘̑蒒 ’<’X’t’ˆ“<”,”Ô”è”ü••,•@•\•t••¬•À•Ø•ô––<––¨——\˜™™ ›@›\›ˆ›¤›Ð›ìœœ8œhœ„œ¬œÈœô<X„ Èäžž,žTžpžœž¸žàžüŸ$ŸDŸxŸ¼ H œ¡¡ø¢¬£`£˜£ì¤@¤˜¤ð¥T¥¤¥Ì¥ô¦4¦¨¦ø§L§|§¨§Ô¨¨D¨ˆ¨¤¨À¨Ø¨ð©<©h©”©¼©äª ªlª˜ªÀ«$«d« «à¬ ¬”­­€­ø® ®H®p®œ®¸®ä¯¯(°±ˆ²D³³˜´°µpµð¶l¶ø·X·¼¸\¹¹l¹Üº|ºÄ»d¼(¼|¼¬½Ì¾ ¾h¾Ì¿,¿|¿ÌÀ`ÀÄÁ$Á`ÁˆÁ°ÁÐÂÂhÂx¤ÂÐÂøà ÃPÀðÃàÄ„ÅÅ„ÅàÆƈưÆÜÇhǼÈ4ÈHÈpÉÉ€ÊÊ,ÊPÊpÊ”ËË@ËpË ËÌËôÌ ÌLÌx̤ÌÌÌðÍÍ@ÍhÍŒͼÍìÎÎLÎ`ΨÎðÏ$ÏXϬÐÐ(ÐTÐxШиÑ(ÑhÑÐÒXÓdÔ@Ô@Ô@Ô@Ô@ÔÜÔøÕ¬Ö$×P×ÈØHØÐÙÙDÙ”ÙÐÙüÚ(ÚÄÚøÛÛ0ÛLÛ”Û¼Ü  >+h@¸P_ÀBcè V‘ ß “%4 # ¾    S 0k 0¶  ,( "m :£ &ý h¹Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain DejaVu Sans MonoDejaVu Sans MonoObliqueObliqueDejaVu Sans Mono ObliqueDejaVu Sans Mono ObliqueDejaVu Sans Mono ObliqueDejaVu Sans Mono ObliqueVersion 2.33Version 2.33DejaVuSansMono-ObliqueDejaVuSansMono-ObliqueDejaVu fonts teamDejaVu fonts teamhttp://dejavu.sourceforge.nethttp://dejavu.sourceforge.netFonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. http://dejavu.sourceforge.net/wiki/index.php/Licensehttp://dejavu.sourceforge.net/wiki/index.php/Licenseÿõÿ~Z >  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a¬£„…½–膎‹©¤ŠÚƒ“òó—ˆÃÞñžªõôö¢­ÉÇ®bcdËeÈÊÏÌÍÎéfÓÐѯgð‘ÖÔÕhëí‰jikmln oqprsutvwêxzy{}|¸¡~€ìîºýþ    ÿ øù !"#$%&'()*+ú×,-./0123456789:âã;<=>?@ABCDEFGHI°±JKLMNOPQRSûüäåTUVWXYZ[\]^_`abcdefghi»jklmæçnopqrstuvwxyz{|}~€¦‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽØá‘’“”•–—˜™ÛÜÝàÙßš›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     Ÿ !"#$%›&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐѲ³ÒÓ¶·ÄÔ´µÅՂ‡Ö«ׯØÙÚÛÜÝÞ¾¿ßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     ÷ !"#$%&'()*+,-./01234Œ56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸˜¹º»¨¼½¾¿ÀÁš™ïÃÄÅÆÇ¥ÈÉÊ’ËÌÍÎÏМÑÒÓÔÕÖרÙÚÛÜÝÞßàáâã§äåæçèéêëìíîïðñòóôõö÷øùúûüý”•þÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰¹ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ %ÀÁ & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? sfthyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DFuni01E0uni01E1uni01E2uni01E3Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F4uni01F5uni01F6uni01F8uni01F9AEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccentuni021Auni021Buni021Cuni021Duni021Euni021Funi0221uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236dotlessjuni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240uni0241uni0243uni0244uni0245uni024Cuni024Duni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BBuni02BCuni02BDuni02BEuni02BFuni02C0uni02C1uni02C8uni02C9uni02CCuni02CDuni02D0uni02D1uni02D2uni02D3uni02D6uni02D7uni02DEuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02EEuni02F3 gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0343uni0358uni0361uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omega1uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni0472uni0473uni0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni04A2uni04A3uni04A4uni04A5uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04BAuni04BBuni04C0uni04C1uni04C2uni04C3uni04C4uni04C7uni04C8uni04CBuni04CCuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni0510uni0511uni051Auni051Buni051Cuni051Duni0531uni0532uni0533uni0534uni0535uni0536uni0537uni0538uni0539uni053Auni053Buni053Cuni053Duni053Euni053Funi0540uni0541uni0542uni0543uni0544uni0545uni0546uni0547uni0548uni0549uni054Auni054Buni054Cuni054Duni054Euni054Funi0550uni0551uni0552uni0553uni0554uni0555uni0556uni0559uni055Auni055Buni055Cuni055Duni055Euni055Funi0561uni0562uni0563uni0564uni0565uni0566uni0567uni0568uni0569uni056Auni056Buni056Cuni056Duni056Euni056Funi0570uni0571uni0572uni0573uni0574uni0575uni0576uni0577uni0578uni0579uni057Auni057Buni057Cuni057Duni057Euni057Funi0580uni0581uni0582uni0583uni0584uni0585uni0586uni0587uni0589uni058Auni0E81uni0E82uni0E84uni0E87uni0E88uni0E8Auni0E8Duni0E94uni0E95uni0E96uni0E97uni0E99uni0E9Auni0E9Buni0E9Cuni0E9Duni0E9Euni0E9Funi0EA1uni0EA2uni0EA3uni0EA5uni0EA7uni0EAAuni0EABuni0EADuni0EAEuni0EAFuni0EB0uni0EB1uni0EB2uni0EB3uni0EB4uni0EB5uni0EB6uni0EB7uni0EB8uni0EB9uni0EBBuni0EBCuni0EC8uni0EC9uni0ECAuni0ECBuni0ECCuni0ECDuni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni10F6uni10F7uni10F8uni10F9uni10FAuni10FBuni10FCuni1D02uni1D08uni1D09uni1D14uni1D16uni1D17uni1D1Duni1D1Euni1D1Funi1D2Cuni1D2Duni1D2Euni1D30uni1D31uni1D32uni1D33uni1D34uni1D35uni1D36uni1D37uni1D38uni1D39uni1D3Auni1D3Buni1D3Cuni1D3Duni1D3Euni1D3Funi1D40uni1D41uni1D42uni1D43uni1D44uni1D45uni1D46uni1D47uni1D48uni1D49uni1D4Auni1D4Buni1D4Cuni1D4Duni1D4Euni1D4Funi1D50uni1D51uni1D52uni1D53uni1D54uni1D55uni1D56uni1D57uni1D58uni1D59uni1D5Auni1D5Buni1D62uni1D63uni1D64uni1D65uni1D77uni1D78uni1D7Buni1D85uni1D9Buni1D9Cuni1D9Duni1D9Euni1D9Funi1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5uni1DA6uni1DA7uni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1uni1DB2uni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Buni1E9Funi1EA0uni1EA1uni1EACuni1EADuni1EB0uni1EB1uni1EB6uni1EB7uni1EB8uni1EB9uni1EBCuni1EBDuni1EC6uni1EC7uni1ECAuni1ECBuni1ECCuni1ECDuni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE8uni1EE9uni1EEAuni1EEBuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011 figuredashuni2015 underscoredbl quotereverseduni201Funi2023uni202Funi2031minuteseconduni2034uni2035uni2036uni2037 exclamdbluni203Duni203Euni2045uni2046uni2047uni2048uni2049uni204Buni205Funi2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni2090uni2091uni2092uni2093uni2094uni2095uni2096uni2097uni2098uni2099uni209Auni209Buni209Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9uni20AAdongEurouni20ADuni20AEuni20AFuni20B0uni20B1uni20B2uni20B3uni20B4uni20B5uni20B8uni20B9uni2102uni2105uni210Duni210Euni210Funi2115uni2116uni2117uni2119uni211Auni211Duni2124uni2126uni212Auni212B estimatedonethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215F arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbseuni21A9uni21AAuni21ABuni21ACuni21ADuni21AEuni21AFuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21B8uni21B9uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21DEuni21DFuni21E0uni21E1uni21E2uni21E3uni21E4uni21E5uni21E6uni21E7uni21E8uni21E9uni21EAuni21EBuni21ECuni21EDuni21EEuni21EFuni21F0uni21F1uni21F2uni21F3uni21F4uni21F5uni21F6uni21F7uni21F8uni21F9uni21FAuni21FBuni21FCuni21FDuni21FEuni21FF universaluni2201 existentialuni2204emptysetgradientelement notelementuni220Asuchthatuni220Cuni220Duni2213uni2215 asteriskmathuni2218uni2219uni221Buni221C proportional orthogonalangle logicaland logicalor intersectionunionuni222Cuni222D thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2241uni2242uni2243uni2244 congruentuni2246uni2247uni2249uni224Auni224Buni224Cuni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2258uni2259uni225Auni225Buni225Cuni225Duni225Euni225F equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Funi2290uni2291uni2292 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendiculardotmathuni22C6uni22CDuni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EFuni2300uni2301houseuni2303uni2304uni2305uni2306uni2308uni2309uni230Auni230Buni230Cuni230Duni230Euni230F revlogicalnotuni2311uni2312uni2313uni2314uni2315uni2318uni2319uni231Cuni231Duni231Euni231F integraltp integralbtuni2325uni2326uni2327uni2328uni232Buni2335uni2337uni2338uni2339uni233Auni233Buni233Cuni233Duni233Euni2341uni2342uni2343uni2344uni2347uni2348uni2349uni234Buni234Cuni234Duni2350uni2352uni2353uni2354uni2357uni2358uni2359uni235Auni235Buni235Cuni235Euni235Funi2360uni2363uni2364uni2365uni2368uni2369uni236Buni236Cuni236Duni236Euni236Funi2370uni2373uni2374uni2375uni2376uni2377uni2378uni2379uni237Auni237Duni2380uni2381uni2382uni2383uni2388uni2389uni238Auni238Buni2395uni239Buni239Cuni239Duni239Euni239Funi23A0uni23A1uni23A2uni23A3uni23A4uni23A5uni23A6uni23A7uni23A8uni23A9uni23AAuni23ABuni23ACuni23ADuni23AEuni23CEuni23CFuni2423SF100000uni2501SF110000uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250BSF010000uni250Duni250Euni250FSF030000uni2511uni2512uni2513SF020000uni2515uni2516uni2517SF040000uni2519uni251Auni251BSF080000uni251Duni251Euni251Funi2520uni2521uni2522uni2523SF090000uni2525uni2526uni2527uni2528uni2529uni252Auni252BSF060000uni252Duni252Euni252Funi2530uni2531uni2532uni2533SF070000uni2535uni2536uni2537uni2538uni2539uni253Auni253BSF050000uni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254FSF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000uni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Fupblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockltshadeshadedkshadeuni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259F filledboxH22073uni25A2uni25A3uni25A4uni25A5uni25A6uni25A7uni25A8uni25A9H18543H18551 filledrectuni25ADuni25AEuni25AFuni25B0uni25B1triagupuni25B3uni25B4uni25B5uni25B6uni25B7uni25B8uni25B9triagrtuni25BBtriagdnuni25BDuni25BEuni25BFuni25C0uni25C1uni25C2uni25C3triaglfuni25C5uni25C6uni25C7uni25C8uni25C9circleuni25CCuni25CDuni25CEH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7 invbullet invcircleuni25DAuni25DBuni25DCuni25DDuni25DEuni25DFuni25E0uni25E1uni25E2uni25E3uni25E4uni25E5 openbulletuni25E7uni25E8uni25E9uni25EAuni25EBuni25ECuni25EDuni25EEuni25EFuni25F0uni25F1uni25F2uni25F3uni25F4uni25F5uni25F6uni25F7uni25F8uni25F9uni25FAuni25FBuni25FCuni25FDuni25FEuni25FFuni2600uni2638uni2639 smileface invsmilefacesununi263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647spadeuni2661uni2662clubuni2664heartdiamonduni2667uni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi27C5uni27C6uni27E0uni27E8uni27E9uni29EBuni29FAuni29FBuni2A2Funi2B12uni2B13uni2B14uni2B15uni2B16uni2B17uni2B18uni2B19uni2B1Auni2C64uni2C6Duni2C6Euni2C6Funi2C70uni2C75uni2C76uni2C77uni2C79uni2C7Auni2C7Cuni2C7Duni2C7Euni2C7Funi2E18uni2E22uni2E23uni2E24uni2E25uni2E2EuniA708uniA709uniA70AuniA70BuniA70CuniA70DuniA70EuniA70FuniA710uniA711uniA712uniA713uniA714uniA715uniA716uniA71BuniA71CuniA71DuniA71EuniA71FuniA722uniA723uniA724uniA725uniA726uniA727uniA789uniA78AuniA78BuniA78CuniA78DuniA78EuniA790uniA791uniF6C5uniFFF9uniFFFAuniFFFBuniFFFCuniFFFD dlLtcaronDieresisAcuteTildeGrave CircumflexCaron fractionslash uni0311.case uni0306.case uni0307.case uni030B.case uni030F.case thinquestion uni0304.caseunderbar underbar.wideunderbar.smalljotdiaeresis.symbolsEng.alt¸€@‘ÛþÚþÙØþ×þÖšÕþÔ´GÔ}Ó%Ò2Ñ–ÐþÏþÎÍþÌþËþÊþÇþÆ}ÅþÄþÃ2»Á}À¿ŒÀþÀÀ¿¾Y¿Œ¿€¾½&¾Y¾@½&¼»/¼ú»/ºþ¹2¸·–¶þµ´Gµþµ¸ÿÑ@ÿ´G³²d³–²d±þ°¯°þ¯®þ­k¬þ«»ª©ªú©¨–§¦þ¥¤¥þ¤£–¢¡¢þ¡Y ¡ }Ÿ:žY ž:þœ› œþ› šþ™þ˜V˜—–þ•–”þ“–’Š ‘þþf þŽþþŒþ‹Š ‹þŠ ‰XA‰úˆ ‡W%‡d†…»†þ…„]…»…€„ƒ%„]„@ƒ%‚þ–€XAþ~XA~þ}þ|d{dzy@ÿ}xþwþvþuþtst2srqpq(poþnþmþlkldkjkji hþgf f f@ed.eþd.cXAc–bY ba`»aþ`_]`»`€_[%_]_@^þ]þ\[%\»[%ZY ZY XW%XAWVW%VUþTþSRSþRQþPþOþNBNSMþLxKJ}KþJ}IH–GþDþCþB2A@BAF@?-@B?>@ÿ?->=þ<þ;þ:9S:–98(9S8(7þ6þ5ú4»3þ2þ1þ0þ/+ /.d-È,+ ,+ *þ)(þ'-'–&þ%%2$þ#þ"þ!-!1 d 2 @:–%þ%þþ:þBþ-B–þ þ þ : – þ  þ@$-þ-:-  ¸d…++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++pyzo-4.12.3/pyzo/resources/fonts/DejaVuSansMono.ttf000066400000000000000000012135041421373005400223260ustar00rootroot00000000000000 FFTMYôRÜ,GDEF~ÞqÐH°GPOS¸Êø9ŒGSUBç÷þ ;„€OS/2Œüi²@Vcmap\°5@\.cvt é— VŒ0fpgm[kßX¼¬gaspYh glyf¯šÛYtÍÜheadóšÅ0'P6hhea¸'ˆ$hmtx5«.h'¬ºlocarTPAh3hmaxp'tÐ name`ãêˆtð!postÑ™†–zprep:ÇÀ(ÆÔ.™É!É!¨…†—˜˜™Ÿ ¡¢¦§¨©­®®¯·¸¾¿ÄÅÅÆÆÇst€ÆÇÇÈÉÊר  Ž  [ \ c d Ø °øDFLT&arab0cyrl>grekPlao \latnjÿÿÿÿ SRB ÿÿÿÿÿÿ4ISM 4KSM 4LSM 4MOL 4NSM 4ROM 4SKS 4SSM 4ÿÿmark mark,mark4mkmk:rtbdB &.6>FPX`RxÀš | ž„–5Œ5´8" pýä~yh&0  c"càz}wx{]j]jbj¸® $6HZl~ àP|H 0ÿà¬ÿÜ àP|H <ÿˆPÿ„ ¨, ýÜ Tÿ` ýÜ àP|H  ÿ¤  \ cvy~hhhÀnÊ ìÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\XdýßÔ|dÿ²hþˆ0ÿ`tÿXtÿXüýÌ ýÐ<ý·ÿ|ÿŒ0ýà0ýìhþL þ„(þÜ þÀTÿplÿxý̈ýÐ`ÿx<ÿD(þDüÿdþ|tÿXLþ\8ÿ(PýÜ@þ´@ýàtÿXtÿX4ýè`ýàtÿXdýì ýç4ýÜXýÜHýà.ýäýãÔÿD5ÿjTÿj`ÿ_ þpiý¨Fý¨WýÚWýÚ…ý¨@ý¨TýÚQýÚXý¨:ý¨BýÚ`ýÚ‚ÿjLÿj[ÿ›Zÿœ[ÿjIÿjWÿœTÿœLÿj4ÿjKÿœ]ÿœÔÿL”ÿ@ôÿjVÿjàÿ8ˆÿ8ôÿjbÿjtý¨\ý¨¬þ Xþ Tý¨Hý¨„ÿXÿTý¨8ý§¸ýäXþ hý¨dý¨ÄýäXþ ôþ ôþ ôþ ôþ ?ÿjÆÿj,ÿj,ÿjTÿ_îÿj,ÿj,ÿjTÿdTÿd¸ÿdÿdLþp˜þpOþ¢[þ¢ÀdýØÌýØÿ€dÿXdÿx°ÿXdþhþhDþŒXþŒ,ÿLlÿ„lÿ„Tÿp<ÿ„Xÿ|lÿ„Hÿ€Hÿ|Tÿtýýþˆ þlýý<ÿ„Tÿpýý|ÿ€Dÿ\8ÿ\8ÿ\8ÿ\8ÿ\¼ýÀŒý½¼ýÀœý¼˜þ Xþ,ÿlÿd\þ þ,ÿl,ÿlxþDþ,ÿl,ÿlLþ þ,ÿlÿlðÿlØÿlðÿlÐÿpðÿlÐÿhðÿlÜÿlzý×zý×àÿ“^ÿzý×zý×’ÿŸ^ÿŸ^ÿ-dÿžÿujÿàþàý¹8ÿjÿ:ÿKÚÿQØÿ¢ÿ]Xþmþþadÿ‡jÿuÿu¬þ£FÿXÿ'þþUÂýÅ@ÿLÿ{RÿKRÿo°ÿ'ýÒLýéýÑ.þ‘ý­’ý¼:þ‹Rþ…xýÐtÿXDýØôýÐ4ýàEýßþnPýÜ þp OOSsŸ" Ë3 Î Ño Ô ×s ç çw î ïx ò Vz X [ß Í Òã Ô Ôé Ö ×êvy~hhh¸®Î $6HZl~ œh“5 œh[ œh›ö Tl+ú œhßÝ œhßÝ œhßÝ \hŸÝ \ c tuwxz{|} &,28>DJPV]j]j]j]j]jbj]j]jh°|’ âÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú ˜„dtР̸h¨dü8 |Ô$ ô|`HÐLÀDü˜ \ðÜt@¸4Hè¸ìÔœ(|ôXTü„œøðÌĘ(ølððt¼¬<˜0¼Úx®x_`Ÿ ièFèWèWè…è@èTèTè[è:èBè`è‚LLL[Z[I¯WTLâ4âKª]ªl8ôô@^ª  äô@bªÒèºè¬èXè²è¦è„èXè²è–ç¸èXèÆèÂèÄèXèoM¼âª¿˜ñ!T±ÿñŒxóxú¤ú¤T€T€¸€€Ì&”~Oè[è°¸ ØXàŒPXD€Øô,aDf\ØPèh<è È\œÈ\Ø\ô0,Ä0à@ð, d `ø€Ô|tL`0ܤȰ0€„Ü@Ø\ àÜ ¬¸T`@´”L8ˆ4η5ÞóÅD´80H <DŒÜ<Șxˆ(LÐX$TÔtðØÀÜèÜÀäìôÐäðèÈà„0¨TÄLh„„0Øp€Lh<øpøø¬¸l$d¬`Ô0œh8<à÷ï PÈLdh¼ŒØx„8„T´äˆ‡R m$vêˆ2z¯`îƒM;)üR¦Dhp_)I R|Ôo~ê4ÔćOOQRTs™™#œŸ$ Ë( Î Ñd Ô ×h ç çl ê ím ð [q Í ÍÝ Ò ÒÞ Ô Ôß Ö ×à tuwxz{|} &,28>DJPV]j]j]j]j]jbj]j]jh° N  $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<Dh³xzOšâhšDšäh*hDhhhh“DhšÆhÐhvhhþV¾h¹þYDx¾hþVÂþVÆhxhhsDþVhDDDDDDzzzzhhhh6ähhhhhhhhhhh46ÆÆÆÆÆÆvvvvhhhhh¾hhhhhhhhhhþVþVþVDDƳ³Ð³Ð³Ð6h6hzvzvzvzvšhþVšhþVšhþVhþVâ¾â¾hhhhhhhhš¹þYDšxšxšxšxä¾ä¾9hþVhþVhhhhhhDÆDÆhhhhhhhxhxhhhhhhhhhh“shþVhšhšhšhhhhhhhh ³Ð66hhhþVVh³"þVhþVšhþVhhhDDxä¾þVhùÿhXþVÒþVjþøhhhhhDÆD¤þVhhþVšþVhþVhþV$=D]‚‡4Š˜:š§Iª¸WºÂfÄÅoÈÈqÊÙrÜã‚åïŠòó•ö÷—úü™ÿœ ¤¯±"#·&3¹6kÇñòýôõÿ W W Y Y ` ` c d ƒ „­|Üú ¹æìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü      & , 2 8 > D J P V \ b h n t z € † Œ ’ ˜ ž ¤ ª ° ¶ ¼ Â È Î Ô Ú à æ ì ò ø þ     " ( . 4 : @ F L R X ^ d j p v | ‚ ˆ Ž ” š   ¦ ¬ ² ¸ ¾ Ä Ê Ð Ö Ü â è î ô ú     $ * 0 6 < B H N T Z ` f l r x ~ „ Š – œ ¢ ¨ ® ´ º À Æ Ì Ò Ø Þ ä ê ð ö ü      & , 2 8 > D J P V \ b h n t z € † Œ ’ ˜ ž ¤ ª ° ¶ ¼ Â È Î Ô Ú à æ ì ò ø þ     " ( . 4 : @ F L R X ^ d j p v | ‚ ˆ Ž ” š   ¦ ¬ ² ¸ ¾ Ä Ê Ð Ö Ü â è î ô ú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèhÕhhÕh³Õ³6Õ6zÕzžÕžšÕšhÕhhÕhšÕšhÕhšÕšhÕhhÕhhÕhhÕhhÕh6Õ6hÕhhÕhhÕhhÕhhÕhhÕhhÕhšÕšh`hhh³`³hhv`vhhh`hþVhhhhþVšš22h`hh`hh`hh`hþVh`hþVh`hh`hhhh`hh`hh`hh`hh`hþVh`hhhhhhhzÕz³Õzzzzhhhh6Õ6hhhhhhhÕhhhhhh6Õ66Õ6hhhhhhh`h³`vvvvhhhhhhhhhhhh`hhhhhhþVhhþVhþVhhhhÕh`³³³³³³³6h6Õ6hhzvzvzvzÕv`zvšhþVšhþVšhþVšÕhþVhhhÕhhhhhhhhhhÕhh`hšhþVhÕšš`šš2šÕ2š2šÕš22šÕš22hhhÕh`hhãhÕhþVh`hþVhhhhhhhÕhh`h6h6Õh`6h`hhhhhhÕh`hhhÕhhhhÕhhhhhhhhhhhhhhÕh`hhhhþVhšhšhšhhhhhhÕhhÕhhhhÕhhh Õ ³Õ³³`³6Õ66Õ6hÕhhhh`hþVVÕVhÕh³Õ³ÕþVhhþVšÕšhÕhþVhhhÕhhÕhhÕhšš22hhhÕhhÕhþVh`hþVhÕhùÕùÿ`ÿhÕhh`hþVìÕìh`hþV6Õ6þVhÕhh`hhÕhhÕhh`hþVhÕhhÕh6Õ6h`hh`hh`hh`hŒŒ)`)³`³YYhhv`vv`vš`šv`vZ`Zr`rv`v±`±þV>>þVh`hþV•`•n`nþVh`hh`hþVooooþVD`Dh`h88PP>>þVh`hh`hþVh`hþV¶`¶þVüf&þVh`hh`hh`hh`hhhþVh`hhh6`6þVh`hþVh`hþVc`ch`h``h`hþVssþVssþVx`xþVssþV¤`¤þVhhþVh`hh`hh`hh`hh`hhhh`h`þVh`hÿŽh`hþVh`hþV$$ªª$$h`h ` >`>h`hh`hþVh`hhhþV$$ªªh`hh`h`h`v`h`h`h`h`h`h`h`h`h`h`³`h`h`hh`h`h`h`h`h`h`h`5`h`h`³`h`'ð'}{}hàhœRàRœEàEœ^à^œràrœàœhàhœhàhœ¼à¼œ?à?œaàaœiàiœhàhœhàhœhàhœGàGœàœhàhœhàhœhàhœ6Õh\œaðadâd5ð5gð'eâe`â`6Õ6þLhÕ¤þViÕihhh`hhÕhþVšÕšþVhÕhþVhhþViiþV1Õ1`hÕ%$=D]‚˜4š¸KºÂjÄÈsÊðxòóŸök¡ÑÑææñòô 5<:>BbDHggolq†u‹Œ‹™š"xx£¯¯¤<<¥¦‚‚§…‡¨‰‰« W W¬ Y Z­ _ `¯ c d± ƒ „³ Š Œµ Ê Ê¸†—™Ÿ¢¦©¬¯·"¿Ä+ÆÆ12ÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðh`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`h`hhhhhhhhhhhhhhhhhhhhhhhhhhh`h`h`û/†—™Ÿ¢¦©·¿Ä-ÆÆ3È¾Ø ntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬ÑÑ ÑÑ ÑÑ ÑþÑ ÑÑ ÑþÑ ÑÑ ÑÑ ÑÑ ÑþÑ ÑÑ ÑÑ ÑÑ ÑÒÑÑ ÑÒÑÑ ÑÒÑÑ ÑÑÑÑ ÑÑ ÑÑ ÑÑ ÑÑ ÑÑ ÑÑ ªÄÇÇÊ×>DJPV\bhntz€†Œ’ÿ÷tÑwÑwÑwÑwÑÑÑtÑÑ`Ñ~Ñ~Ñ`Ñ~Ñ`û/ÇÇÊ× Ê8DFLT&arab0cyrlDgrek`lao llatnvÿÿÿÿ SRB ÿÿÿÿÿÿÿÿ4ISM >KSM >LSM >MOL 4NSM >ROM 4SKS >SSM >ÿÿÿÿ ccmp8dlig>finaDinitJligaPloclVlocl\medibrligh &.6>FNV^PTÜ à d ä d ‚ÀØ ¾ $$XLMLM†›œŸ¢¦©¹¿ÂÃÆÉÉ&   %hp5 é ë í ï ñ õ ÷ û ý         ! % ) - 1 5 9 = A E I M Q U W Y ¥ ‘ • ¡ ™ µ ± ¹ ½ à Á © Å É Ï Õ ÍPhjsŸ# Õ Õ4T' ó ù ÿ      # ' + / 3 7 ; ? C G K O S Ó [ § Ÿ “ — £ › · ³ » ¿ « Ç Ë Ñ ×TTVVX\ahjprs˜›Ÿ"T' ò ø þ      " & * . 2 6 : > B F J N R Ò Z ¦ ž ’ – ¢ š ¶ ² º ¾ ª Æ Ê Ð ÖTTVVX\ahjprs˜›Ÿ"  b õ c õ F G> $ ` ï ^ ë \ é a ï _ ë ] é F G O ŽLI óæLMÑ3™3™×f  æ&ÿÒùû(PfEd@ ÿÿþšmã`ßßß,,$, ,üü~Ããðöù!AEM¹ÁÉÍÓÞéîó?CXauz~ŠŒ¡Îá_cs›¥³»ÄÈÌùV_‡Š  :UZmt{€„‡‘˜¤©¯¾Ìù‚„ˆŠ—Ÿ£¥§«¹¼Íü .<[ex{…·¿-Mcy™›¡­±¹½ÇÍÝåëõùEMWY[]}´ÄÓÛïôþ  # & 7 : > I K _ q Ž œ µ ¹!!!!!!!"!$!&!+!.!_" """" "-"="i"‹"’"¥"Æ"Í"é"ï####!#(#+#5#>#D#I#M#P#T#\#`#e#i#p#z#}#ƒ#‹#•#®#Ï$#&/&‹&œ&¡&±'' '''K'M'R'V'^'u'”'¯'¾'Æ'à'é)ë)û*/+,d,p,w,z,..%..§§§'§Ž§‘öÅûûû•ûŸû­ûéûÿþtþüþÿÿýÿÿ  Íæôøü$CLP»ÆÌÐÖàîóCXatz~„ŒŽ£Ððbr¢ªºÀÇËÏ1Ya‰  !@Z`ty~ƒ†‘˜¤©¯¾Ìð„‡Š”™¡¥§ª­»ÈÐ,0>bw{…›¹0Th|›Ÿ¬°¶¼ÆÊØàèîø HPY[]_€¶ÆÖÝòö   & / 9 < E K _ p t   ¸!!! !!!!"!$!&!*!.!S!"""""'"4"A"m""•"Å"Í"Ú"ï#####%#+#5#7#A#G#K#P#R#W#^#c#h#k#s#}#€#ˆ#•#›#Î$#%&8&& &°''' ')'M'O'V'X'a'”'˜'±'Å'à'è)ë)ú*/+,d,m,u,y,|.."..§§§"§‰§öÅûûRûŠûžûªûèûüþpþvþÿÿùÿÿÿãÿÂÿ¹ÿ·ÿ´ÿ³ÿ±ÿ¯ÿ®ÿ¨ÿ¦ÿ¥ÿ¡ÿŸÿÿ›ÿšÿ–ÿ’ÿ†ÿƒÿoÿgÿUÿQÿNÿIÿHÿGÿFÿEÿ7ÿ5ÿ'ÿ ÿÿþûþ÷þõþóþñþÛþÓþÀþ¾þ½þ¼þAþ@þ?þ7þ2þ/þ.þ)þ%þ þþþþþþþý÷ýóýîýàýÓý°ö)ö(ö&ö%ö#ööööööööö ôèçþçôçóçîçâçáçàçÚçÉçÇç¾ç©ç¨çhçdçbç\çXçVçUçRçHçFçBç@ç8ç6ç,ç*ç(ç&ç$ççççççççççççç ç ç ççççæÿæ÷æöæõæïæîæÛæËæÉæÈæÅæÃæ{æyæræmælæjæfæeædæaæ_æ;æ æ æ æææåûåøåõåòåðåÑåËå¿åºåªå©å§å¥å¢å å—å–å”å’å‘ååŽåŒå‹å‰å‡å†å„å‚å€å|åsånåOäüä ääääã´ã³ã±ã°ã¯ã®ã«ãªã¨ãŠã‡ã†ã€ãgã`á_áQáà<ÞóÞëÞçÞæÞåÝMÝDÝ6.$êØ h g e l øþ ~ ÃbÍã†æðôö¨øù«ü!­$AÓCEñLMôP¹ö»Á`ÆÉgÌÍkÐÓmÖÞqàézîî„óó…?†CCÆXXÇaaÈtuÉzzË~~Ì„ŠÍŒŒÔޡգÎéÐáð_'bc—rs™››¢¥§ª³«º»µÀÄ·ÇȼË̾ÏùÀëí1VñY_a‡‰ŠEG  I  KLMN!:O@UiZZ`m€ttŽy{~€’ƒ„•†‡—‘‘™˜˜š¤¤›©©œ¯¯¾¾žÌÌŸðù ‚ª„„¬‡ˆ­ŠŠ¯°”—±™Ÿµ¡£¼¥¥¿§§Àª«Á­¹Ã»¼ÐÈÍÒÐüØ   ,.0<>[be<wx@{{B……C›·D¹¿ah-|0M’Tc°hyÀ|™Ò››ðŸ¡ñ¬­ô°±ö¶¹ø¼½üÆÇþÊÍØÝàå èëîõøù4 E:HM`PWfYYn[[o]]p_}q€´¶ÄÅÆÓÔÖÛâÝïèòôûöþþ     # & &% / 7& 9 :/ < >1 E I4 K K9 _ _: p q; t Ž= œX   µe ¸ ¹{!!}!!~! !!!‚!!…!!‡!"!"ˆ!$!$‰!&!&Š!*!+‹!.!.!S!_Ž!" ›"""""""" "'"-("4"=/"A"i9"m"‹b""’"•"¥…"Å"Æ–"Í"͘"Ú"é™"ï"ï©##ª##±##¿##!Á#%#(Ç#+#+Ë#5#5Ì#7#>Í#A#DÕ#G#IÙ#K#MÜ#P#Pß#R#Tà#W#\ã#^#`é#c#eì#h#iï#k#pñ#s#z÷#}#}ÿ#€#ƒ #ˆ#‹ #•#• #›#® #Î#Ï $#$# %&/ &8&‹ P&&œ ¤& &¡ ±&°&± ³'' µ'' ¹' '' ½')'K Ù'M'M ü'O'R ý'V'V 'X'^ 'a'u '”'” '˜'¯ '±'¾ 7'Å'Æ E'à'à G'è'é H)ë)ë J)ú)û K*/*/ M++ N,d,d W,m,p X,u,w \,y,z _,|, a.. e.".% f.... j§§ k§§ z§"§' §‰§Ž …§§‘ ‹öÅöÅ ûû ŽûRû ûŠû• ÀûžûŸ Ìûªû­ Îûèûé Òûüûÿ Ôþpþt Øþvþü Ýþÿþÿ dÿùÿý eÖpÖ£ j×ö×ÿ ž   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a†‡‰‹“˜ž£¢¤¦¥§©«ª¬­¯®°±³µ´¶¸·¼»½¾!rdei#x¡pkˆvjXˆš%s\]gw ,l|墨cn!T@m}%b‚…—¹ êÁ:q/0 Ž "y'„ŒƒŠ‘Ž•–”œ›ógwqstuzxvh¸Ë¸Ëª‘¸f¸‡¸ÃË˸¸Ë‰ºË¦ü˃ò Ç7ƒ¾X!Ëœçu¼ÓÉÛuç9ºËÓ!߸‰¾‰Ã¾{¾Xm¤®{¸o{¸RÍÑ͇‡“¤oÍ˸ƒ‘Ý´‹ô˜éZ´ºÅ!þÕöª=f‹ÅššƒÕs þáÕ+¤´œbœÕ˜‡ÕÕð¤¸#Ӹ˦¼1NÓ {T\qÛ…#wé`jÏÕ#fy```{{w`ªébø{!Åœ{´RNNÑfœœfœfœÍúƒ‘þHF?{L˜¢'oo5jo{ªª-–{öª3=œf‹öÍoD7fî…´}sÕ·, °%Id°@QX ÈY!-,°%Id°@QX ÈY!-,  °P° y ¸ÿÿPXY°°%°%#á °P° y ¸ÿÿPXY°°%á-,KPX ¸EDY!-,°%E`D-,KSX°%°%EDY!!-,ED-,°%°%I°%°%I`° ch ŠŠ#:Še:-ÿÿhþ–h¤¼¶ƒ/ÄÔì1ÔìÔì0!%!!hüsüåþ–øòr)ÏÕ @‡†ˆ Ô<ì2991/äüì03#3#Ë¡ËËÕýqþ›eý¸þRªÕ@‰ˆÔìÜì1ô<ì20###®Ñ®ÕýÕ+ýÕ+;J@0Œ Œ    ÔÌ91/<Ô<<ü<<Ô<<Ä2ì220333!3!###!5!!5!#3¬hõi iôþçTúþßh iöiŸhþþ)Tþö/hõTö¾þaŸþašþ²™þbžþbž™NšŸýÇþ²¾þÓZ /d@9($)%/%‹$Ž(‹Ž!$, ( 0Ô<ì2ü<ìüäî1/Æ2ÄîöîîÆöî99990>54&'#.'5.546753.'´n|pÞhumÔdfÉbdËcÈÊÓ¿dO¢TU¡PÎØé¼DþNtd]gÑp^VdûÀ-.)´>Bʶ–»ëë­+/þQššÎ !°˜ *9V@/7(" ’"’7“(’.‘“’+  % 4  + :ÄÔìüìîþî99991/îîöîþîî9999032654&#"4632#"&'%32654&#"4632#"&¸iNMklLNi‡¸†@s..2º‡ˆ¶þH#)üiOMllMMk‡¸‡@u--1º†‡¸?NjkMMljO‡¹0./t?…º·`¢`åOikMMkjN‡¹0--uA†¹¸9ÿãÅð*7³@b  -,.+2345617B7 1 +"1—"!%—–™ (! 7+!(!(! .8ÜìÄüÄÆîî99999991/ÆäöîÖÎî9990KSXí9í9íí9Y" >54/3#'#"5467.54632.#"3267>7# '&¤JKªÕNSºjØþ抋20Ç­AƒF;}Eap:6\[È›*\,#‹ýÑ1–h F'¡óXåmFD ̉êdHŠG–®·'%[M;ÏI£\—Ç ª¾Õ·ˆÔì1ôÄ0#¾®ÕýÕ+ªþòu @œ›  Ôì2ì991üì0#&547u…ƒƒ… —””—äþ;æåþ:æîÃàßÄì\þò' @œ›  Ôüì2991üì03#654\ —””— …ƒƒìþ<ßáþ<ìèÆã䯦J+ðN@,   –    Ô<ì2Ü<ì2991ôÔ<ì2Äì2990 %#'-73%+þšf9þ°sþ°9fþš9PsPßÂÃbËþ‡yËbÃÂcËyþ‡ËXqy“ '@¡  ¡   Ô<ìü<ì1Ô<ìü<ì0!!#!5!¼½þC¨þD¼“þDªþD¼ª¼“þáò/@ £¢ÔìÔÌ1üì03#öüÅšc/Ïþdßmƒ¶ ÔÄ1Ôì0!!d ý÷ƒ¤éå1¶¢Ôì1/ì03#éüü1þÏfÿB7Õ@ ˆÔìÔì1ôÄ03#y¾üî¿Õùm…ÿãLð # @¥ — —–™$!"!$üììÔìî1äôìîÔî0@Ö////////// / / ?????????? ? ? OOOO O ____ _ ŸŸŸŸŸŸŸŸŸŸ Ÿ Ÿ ¯¯¯¯¯¯¯¯¯¯ ¯ ¯ ¿¿¿¿¿¿¿¿¿¿ ¿ ¿ F////////// / / __________ _ _ ¿¿¿¿¿¿¿¿¿¿ ¿ ¿ $]]4632#"&"32'2#"ãM68PO98K…‹‹Ž‹‹Žïõõïïôôî7PP78NLœþÐþÉþÊþÐ0670 þxþþ‚þxˆ~ˆöFÕ &@——ˆ— ## ÔìÄüì1/ì2ôìÔì0%!5%3!!:þ®PÊ6üȪuL¸JúÕª˜#ðQ@)%%B§ —–—  "$üÄüìÀÀ91/ì2ôìôÌ0KSXí9í2Y"%!!567>54&#"5>32u®üu»5dF“€[ÈpgÇaÛ Yd8ÕªªªÅ.>z—O}ŽBCÌ12é½`ÀtAæ‰ÿã7ð(G@)— ‹ ¦ —‹ ¦—#–™©)&" )üÄÄüìÔì91ìäôìôìîöîî90#"&'532654&+532654&#"5>32“œþëõgÖgfÆb¦²²˜šš‹œ‘†Y¾hy½IÚ‰'Ç•Îë&$É54–‚™¦zms{((º Ûµ{¤foÕ B@   B —ˆ   $üüÔ<ì291/äÔ<ì290KSXÉÉY" !33##!5ßþ)×!êÇÇÉý‡üëÍü3¤þœd¿ÿã-Õ=@"—‹Ž— —ˆ ™ª "üÄüÄìî1ääôìîöîþÄ90!!>32#"&'532654&#"ÏôýÄ+W,èþã÷wÅN\ºa§µ»§QšFÕªþ‘þîêìþð Í21°¢ ²%%…ÿãLð$=@#— — «‹Ž—–™%"& "%üììüäì1äôìôìåîî90.#">32# !2"32654&ß?ŽMÀÆ0ªnØíôÝþüò#J”þÝ””†ˆˆ´º%'þßþçdkþ÷óòþöu‘zýlº¤¤º±­®°‹7Õ5@%%B—ˆ"üìÄ991/ôì0KSXííY"!#!‹¬ýêÓý5ÕVú+ƒÿãNð #/C@% —'—-—–™'©0 $*$ "!0üÄìüÄìîî991ìäôìîî990"32654&%.54632#"$54632654&#"h‡“•…ˆ“•þÊ‘òÐÑò‘–ŸþþääþÿŸM€yz€{y€Å—ŠŠ™—Œ‰˜T!´²ÑѲ´!!ÈŸÊäãÉ Ébx~~xz€ÿãFð $;@"—« ‹ Ž—"—–"™%"  &%üäìüìì1äôìîöîõî902654&#"532#"543 !"&T““†ˆ‡á?ŽMÀÅ/ªnØíóÞòþÝþëI”–º¤¤º±­®°ý‰º%'!dk ôñ þŠþoþ‡þséå'@ ¢¬¢Ô<ì21/ìôì03#3#éüüüü'þÑþ9þÏ“þáò' %@¢£¢¬  ÔüÔüÔÌ1äüìî03#3#öüÅšc üü/ÏþÇþÑXyw!@®­('üì291ôì90 5yü®Rûß!ÁþÀþ÷¢¦¢X`y¢@   Ô<Ä21ÔìÔì0!!!!X!ûß!ûß ¬BªXyw!@®­('ü<ì91ôì9055X!ûßRÁ¶þ^¦þ^·=ôð"{@B  %%B‹ —–†!    ) #ÔìÄÔÔìî99991/îöþôîÍ9990KSXí9í9Y"#546?>54&#"5>323#¬¾=TZ>/ƒmN²b^¿hºÝC^XE&ÅËË‘šb‰RY;X1YnED¼98À¡Lƒ\VBT=/þòþþÁšs 4p@1(+$ 4¯ ¯ '$¯+¯1+5' ( + . !+ -.5ÜìüÄþ<Äî991ÄÔüÄþÄÕÄîî999990@ €€€€€€]4&#"326#5#"&5463254&#"!267# !2€kkkk€Œ%ƒR¡ÓÓ¡P†$°‘öþÝJ6l90?{:þ›þ]x<Ñú!››‚››þèo?Dò¼¼òF=?œ¾þþ¹þ·þz‡ÒŒ†Îþöà%¬Õ ˜@A%%%% % % %  % B—°ˆ   / Üì91/<äüì90KSXííííííííY"²]@    †‰]]!3#!#hÕªþ±õÉÑnýõlÑ#ý®ú+…þ{¦qÕ =@#— —ˆ— ± 21 0!üì2üìÔì9991/ììôìî9032654&#32654&#%!2)qï°–ž¨ïë’ƒ”þJºåøƒƒ“§þöþùþFÉýÝ{’‰fþ>p}qd¦Æµ‰žÏ ËÏ‹ÿã1ð.@³²— ³ ²— –™2 10üì2ì1äôìôìîöî0%# !2.#"32671M¢[þáþÃ?[¢MJªVÅÄÄÅX©I5))–pn™))Ï=@þÐþÍþÎþÐ@=‰RÕ(@— ˆ— 2 10üìüì99991/ìôì0% 6&!# )´ÿÊÉÿ`dVDþ¼þªþѦûHKûûw/þ”þ€þ‚þ•ÕÅNÕ )@——ˆ—±  13 üì2üÄÄ1/ììôìî0!!!!!!ÅvýTŽýr¿üwÕªþFªýãªéXÕ $@——ˆ±14 üì2üÄ1/ìôìî0!!!!#éoý\eý›ËÕªþHªý7fÿãPð<@!—— ³ ²— –™ 625üìüÄüÄ1äôìôìþÔî990%# !2.#"3267#5!PQËvþäþÄ@^¬PQª_ÅÅ¿ÆCe)Ùš{KM—on™56ÏMIþÏþÎþÉþÕ!‘¦‰HÕ &@—±ˆ 1 0 üì2üì21/<ä2üì03!3#!#‰Ë)ËËý×ËÕýœdú+Çý9ÉÕ %@ —ˆ—77 Ôì2üì21/ì2ôì20!!!!5!!É=þÇ9üÃ9þÇÕªûªªmÿã¼Õ,@ ²—— ˆ™  5üÔüÄ1äôìîöÎ990753265!5!#"&m[ÂhqþƒGÓ÷`¾=ìQQ•ËDªüþæê,‰ÉÕ —@!% %B´  0 üì2À91/<ì290KSXííY"²]@L&&6FUWX dzy{ ',+&:IGG[WXXWkzx]]33 ##‰Ëwíý»VôþšËÕýh˜ýžüì¤ý¸×sÕ@ —ˆ14üìì1/äì03!!×ËÑüdÕúÕªVyÕ …@,  B ´   / 0 üìüì91/<ì2Ä90KSXÉÉÉÉY"² ]@$  &)&) 6968  ]]! !###V»þö™þõºÕýøú+'üíúÙ‹FÕ m@B´10 üìüì991/<ì2990KSXÉÉY"²]@&)&8Wdjuz &)FIWgh]]!3!#‹øÃÿþÃÕû3Íú+Íû3uÿã\ð #@ ——–™2 625üìüì1äôìî0#"32#"32‰‡š™‡‡™š‡Ó÷ýýö÷üý÷éIþæþ·þ¸þæIþzþ€~ˆ‡€þ€ÅuÕ+@—— ˆ 2 8 3üì2üì91/ôìÔì032654&#%!2+#ꌜþL´úþÿûêÊ/ýÏ”……“¦ãÛÝâý¨uþò\ð=@ —— –™ 2 625üìüì99991Ääôìî9990"#"32#"32ú÷÷üý÷‰‹È—‡š™‡‡™š‡€†‡€þ€þyþÚþ™H¾d÷Iþæþ·þ¸þæÑÕj@8  %%B— — ˆ    21  0üì2üÄì99991/<ôìÔì9990KSXíí9Y"#.+#!232654&#øNnRËÙ²M{cÁË ö¡ýÐÝ‘Ž—Áo¦þhy¡]ý‰ÕÞÒ”»Yý‰‹ÿãJð'„@=  %  %B ³§—³§—%–™( &919"0(üìÄüìä99991äôìôìîöî90KSXí9í9Y"²]@ ]].#"#"&'532654&/.54$32ô\¹^¦m•jÒÀþøüiÔksÍh™ªu‘lм ßV¾¢Í;<…qch#1ÒµÕà--×ID‰{pv /¾ Èñ'/¢Õ@—ˆ::Ôìüì1/ôì20!!#!/sþ-Ëþ+ÕªúÕ+“ÿã=Õ)@ —™ˆ10üìüì1ä2ôì9033267>53#"&'.“Ë  yVWx! Ê9FBªjiªCE:=˜ü m];<<;\löühåÁ?;::;>Å9˜ÕL@)%%%%B´/0üì91/ì290KSXííííY"%3#3h_ÑþKõþKѪ+ú+ÕÑÕ á@D    %%% % B ´   /Ì91/<ü<Ä90KSXííííÉÉÉÉY"² ]@^ //+ ??8 ZZ  &*%*(+ % & 5:5:;: 4 6 TTZXWV[[RW X ] gh yvy v #]]333# #ŪӬÅß¿ËÊ¿ÕûD"üܾú+wü‰¾Õ Æ@K % % % %%%% % B ´  ;/; 0 üäüä91/<ì290KSXííííííííY"²7]@8  '()& X xyw !%+% 5UYX es]]3 3 # #VÙHNÙþAßÙþ’þuÚôÕýÍ3ýBüéƒý}%¬ÕY@.%%%%B´<< Ôìüì9991/ì290KSXííííY"3 3#%×lkÙþ!ËÕým“üÉýbžœ‘Õ E@%%B—ˆ—/0 üÄüÄ991/ìôì0KSXííY"²]²]!!!5!²Éüô"ü ÷ýÕšûoªš‘Ïþòw@¶·¶µ=ÔüÄ21üìôì0!#3!ϨððþXùüfÿB7Õ@ ˆÔìÔì1ôÄ0 #%¾üíÕùm“Zþò@¶·¶µ=ÔÄ2ì1üìôì0!53#5þXððøÞH¨‰Õ@ ˆÔÌ91ôÌ290 # #ÁȲþ‘þ’²ÈÕýÓ‹þu-þÑþmµ¸/Ì1Ôì0!5Ñû/þmPPîöf%@ º¹<Ôì1ôK° TK°T[X¹@8Yì0 #Ýšþ»fþˆx…ÿã#{ )n@*  ¶Œ!‹ ¿Œ$¾™   D >*ôìÄüì22991/Ääôüôìîî99990@00 0!0"       ¢    ]#"326757#5#"&546;5.#"5>32¾=¡£zl˜®¹¹;³€«Ìûó÷†“^À[f»X‹Å=& 3qpepÓº)Lý¦d_Á¢»Â†y64¸''RR2“ÁÿãX 0@ Œ Œ™¾›G Fôì22üì1/ìäôìî9904&#"326>32#"&'#3–ˆ…†ŠŠ†…ˆýã,›fÊèéËd™.¸¸/ÖÚÛÕÔÜÚxRXþÉþïþëþÅWSÃÿã%{/@ ‹ À‹ÀŒŒ ¾™ FôÄ2ì1äôìþôîõî0%# !2.#"3267%JRþüþÛ%QšNI“]­º»¬`˜A9++88*,ÁA:àÐÏá;>{ÿã0@ŒŒ™¾›G Hôìüì221/ìäôìî9903#5#"3232654&#"Z¸¸.™dËéêÊešþˆ……‹‹……ˆÑCùìSW;7Wþ ÖÚÜÔÕÛÚ{ÿãX{E@& ‹ ¶Œ ÁŒ¾ ™ IHôìüìÄ991äôìäîîôî990!3267# 32.#"Xüã¿®XÀmiÃ[þûþÚ ðÖ÷¸‘ˆ…¬^Z·È89·++9 @þÞÅ¢©°œÃ'4@ ¶Œ›    Ô<Äü<Ä2991/ä2üìî2990#"!!#!5!5463'ÑcMþ¸þÕ+©³™Qgcü/ÑN¸®{þH{ )H@' ' ‹ ŒŒŒ$¾Ã(Â*' G!H*ôÄìüì221ääÄôìîîÕî999904&#"326#"&'5326=#"3253Z‡‡Žˆ‡¸îçL¦Sb C•ˆ,˜mÄêêÄl–/¸9Ï××ÏÏÙÚþÝüþü¶.,¢°}^\::VZ‘Ã,@ Œ¾ › J  Fôì2üì1/<ìôì990#4&#"#3>32¹jq‹¸¸1¨s«©¶ýJ¶—Ž·«ý‡ý¤`cá²D .@¶ Ä ›Â¶L LK Ô<äìü<ì1/ì2äüìî0!!!5!!3#×münmþḸ`ü/BCéºþV 8@ Œ¶Ä›Âà  Ô<ì2ÄÄ991ääüìîî990!5!+53263#XþÃõ³¥þêZZ¸¸åûŒÃÓœ}¥éì² Å@:  B›  DE ôìì291/<ìä90KSXííííííY"²]@R546Ffuv ('(;;797JIYYkiiiyxyy]]33 ##ì¾ãàþGþáþb‰¾ü{ÑþZýFBþ?   &@  ¶ Ŷ L ÔìüÌ991/ìüì990;#"&5!5![Y×饵þÙß–|~œÔÂùmo{"£@'  Œ ¾ÂMNMNME#ôK° TK°T[X¹ÿÀ8Yü<üìüì91/<<äô<ì299990@G000000 0 0 ?????????€€€€€€€ € € #]>32#4&#"#4&#"#3>32¤"iJ‡o¨5FP;¨9JI9§§!c?LeîHEÑþßýwís{åýðp{åý``32¹jq‹¸¸1¨s«©¶ýJ¶—Ž·«ý‡`¨`cá‰ÿãH{ #@ŒŒ ¾™ D>ôìüì1äôìî0"32654&'2#"hŒŒé÷öêéöößÚÖÕÛÛÕÖÚœþÒþâþáþÓ-.¾þVT{3@ŒŒ¾™Ã GFôì22üì1äääôìî990%#3>32#"&4&#"326w¹¹.™dËçèÊf™ð‡…†ŠŠ†…‡ýÉ SWþÆþêþïþÉWõÖÚÛÕÔÜÚ‰þRw 3@ Œ Œ¾™Ã G>ôìüì221äääôìî99032654&#"#"3253#L‡……‰‰……‡-™eÉéèÊd™.¹¹+ÖÚÛÕÕÛÚýŠSY7:WSùöjƒ{O@ —¾  ÔÄì21/äôìÔÌ990@%  0030@@C@PPPP].#"#3>32ƒ;zI¬¶¹¹.¿ƒDv6y.*ØÌýÓ`Ûw"$Õÿã{'u@@    B ‹À‹ÀŒŒ%¾™( OI"E(ôÄìüìä99991äôìþõîõî990KSXí9í9Y".#"#"&'532654/.54632ÍO S}{\·J‰ìÒS¶jg¼Tz†õEŸ’ÚÊZ¦9´..QSKJ#œ}¦»##¾55cY€1“¡¯!ƒž1@¶Â¶  Ô<Äü<Ä2991/ìô<Äì2990!!;#"&5!5!f¢þ^^uÏáϪþÕ+žþÂý |b“¦Ë`>Ãÿã^,@ Œ™   JFôìüì21/ä2ôì990332653#5#"&økp‚й¹1©q¬¨¨¶ýJ—Ž·«yû¢¨adádm`e@)BÂIEôì91/ä290KSXííííY"²']@%]]3 3#d¿EF¿þrí`üT¬û Ñ` @E      B    /Ì91/<ô<Ä90KSXííííÉÉÉÉY"² ]@Œ      &&)&))#, 96993< EI F J VX W Y fifij e vzx| r -   ++>>< H Y jih {yz|  ]]333# #¶Ã ¢Ã¶þú°³²°`üwBý¾‰û fýšL…` ©@H      B  IE ôÄüÄ91/<ä290KSXííííííííY"² ]@ fivy  :4 ZV ]] # # 3 ^þo¸Õþ¸þ¹Õ¸þoÌ)'`ýèý¸Áþ?Hþk•hþV` @E       B  ŒÃ IEôìÄ91ä2ôì9990KSXííííí9íY"²8]@v  &&8IIY ]]+532673 3Z.Gc".Š\”mQ\GþOÃLGÃhu¿þø:NNš^ÄNü”lËb X@B¶Â¶IE ôÄì2991/ìôì0KSXííY"²8]@68EJWXejuz ]!!!5!ã-ý}ƒü»ƒý•b¨üÜ–ª%Ýþ²ô$f@5 %   ! ¶ ¶Æ Ƕµ% $  = %Ô<Äü<Ä299999991üìäôìî99999990#"&=4&+5326=46;#"3ô@ù©kŒ>>j©ù@FŒU[noZUŒ¾”Ýï—tr–ðÝ“WŽøŽŽœøVþ¾·µÔì1üÌ0#¾¬øÝþ²ô$j@7%   ¶¶#ÆÇ¶µ%#= %Ô<Ä2ü<Ä99999991üìäôìî99999990326=467.=4&+532;#"+ÝDVZon[VD>ù¨k@@k¨ù>¾XøœŽŽøX“Ýð–rt—ïÝ”Xìy &@    'üÄ1Ôü<Ôì2990#"'&'.#"5>32326yKOZq Mg3OIN’S5dJ t]F‰ ®;73 !;?®<6 7=ÏÕ @†ˆ Ô<ì2991/ôüÌ0533ËË¡×þþû)eþ›ýqÕþÇ%˜!N@*‹ ‹Ë ˾ ™ " E"ôìÔ<Ô<<ì221Ää2ô<Äìþôîõî990.'>7#&5473%C‚??ƒBI‚9gáþüÞg9‚þÞ„  5¬(,üš-(¬"þâ9ûú=þá"ü+` 츸ë‹Xð>@  ¶ ‹§—– — Ô<ÄÄü<ÄÔÄ1/ì2ôìôìÔ<î2990.#"!!!!53#5354632D>C†sþü3ìÇÇÛßA‰¶¸,,³ÀÙþ/ªªÑîþúÍÃLB /@ (-  * -'! ÿ¸@'ÿ) -0)$ !'$* xyx( $0ÔÄ2ìüÄ2ì9999999991ÔÄ2ìüÄ2ì99999999904&#"3267'#"&''7.5467'7>32d|[Z}}Z[|¦Z¦¨^¦.[20`0¤\¦¨^¦.[3.^ƒZ{{Z\}~t¦]¦1]02[-¦^§£Z¦3].2]-¦_¨%¬Õ@D% % %%B ç çˆ< e e<Ô<ìì2ü<ì2ì99991/ä2Ô<ì2Ô<ì290KSXííííY"3 33!!!#!5!5'!53%×lkÙþ¶üþÅV‘þoËþqZþËóÕým“ýÏo—#oýô o#—oþ¢¾˜!¼·Ô<ì21ÔìÔì0##¾¬¬¬˜ý öüý öÇÿ= ð2>j@<#$93 $*ÎÏÎÏ0–?#54&¨S9akÍÔ‚[]=:Ì­I›WW”9fqÝÖ€][<;ȧH™þ>=÷><¶¤''PGZswšeZŒ54m@ލ¤''TLf{x™f[1,pE‚ŸýÕ-Z/L‡…-Z/Lˆ?F‘@ÞÝaaÔüÔì1ô<ì203#%3#?ËˈÊÊÊÊÊ}ÑN1ID@' Ú ÚÜ&Ô>ÚÚÙÔ>Ó2ÑJ\ ^,8 8YD/æþÅþå2î1ôìüôìÔìþýîÖî0.#"3267#"&54632'"3267>54&'.'2#"&'.5467>`:o:u‡Œ‚8g24r=´Ïг=rÄjµKKMMKLµijµLLKLKKµkÚZZ\[[[Ú~}Ú[[[\ZZÚ/l•€„ŽhȬ­Ê¡JKK¸jh·KLLLLLµij¸KKJgZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZÕÁð %)d@6  (ó&í&ñí  ïîíð#–*& (' j kji*üìÄüì22ÀÀ9991ôäüôìÄîíÖîî99990"326=7#5#"&546;54&#"5>32!!¬|WHiƒ1ƒR–»¬¶wu3}CD‡?¸¬ýkœýdPDN@Ms=þ@pABˆtŒZ\#!¬ý {w# /@  ü¬  v vÔü<Ôì2991ô<ì2990 5 5LþÓ-þ+›þÓ-þ+#¿þôþô¿¢R¢¿þôþô¿¢RXsy^@  'üÔì1ÔÄì0!#!X!¨ü‡^þ?dßmƒ¶ ÔÄ1Ôì0!!d ý÷ƒ¤}ÑN4L…@I  ] ] B  ×× ÖAÔ)Õ5Ô)ÓÑM  \\ [G#X;#Y//æþåþõÄîî299991ôìüäþí2îÖî9990KSXíí9Y"2#'.+##32654&2#"&'.5467>"3267>54&'.X“XP:&rk1=-7‚èffZJJDÚZZ\[[[Ú~}Ú[[[\ZZÚ~jµKKMMKLµijµLLKLKKµLbeG]C;º®P*þضTè6?>5VZZ[Ü~}Ú[[[[[[Ú}~Ü[ZZgJKK¸jh·KLLLLLµij¸KKJ=b“ö¶¶ÔÌ1Ôì0!!=Výªö”+u¦ð @Ì ÍÌ–STS Ôìüì1ôìüì02#"&546"32654&hAu,-/º†‡´¸…OomOPqpð1.-rB„·´‡†ºoPPlnNOpXy“.@ ã  ã    Ô<ì2ü<ì21/ìÔ<ìü<ì07!!!!#!5!X!ûßd½þC¨þD¼ªª“þ·ªþ´LªIBœ}ða@WWBA     @–ÔÄÔÄì9991ôìäÔìî990KSXí9íY"!!57>54&#"5>32ãšýÅçeQdR1q?Ay;ެJwrnâaz3=L$$}…k9wuFœð(\A          @#–) & )ÔÄÄÔìÔì991ôìäôìîÆöîî90#"&'532654&+532654&#"5>32Û^c¾±:r;Eq-evnmBJ]b`W,p;Eu2‘¨X`lP|†yQDJLl?<8?yvcG]Ûîºf%@ º¹<Ôì1ôK° TK°T[X¹@8Yì03#ôÆþ»šfþˆÃþTž` L@* Œ‹™Ã Â!   JF!ôìüìÄ9991ä2äô<ìüÄ9903326533267#"&'#"&'øxo¹ ! &D">K .…Y\,þT ýHŽ—ª¦ü ;8 ”OOPNLPýÕjÿ;Õ #@ˆWW1 ÜüüÔì91Ä2ôÄÌ0!###.54$FÀ¿×ìÕùfùáNݸ¾èé/å`¹µÔì1Ôì03#éüü`þÏÿÿ‹þu)­Xœ“ß 9A      @ – aW}a Ôììüì1ôìäÔìî2035733!jÍßåŠÌý× c)t'ý+nôÕÝð 3@óñíðí –  jkjiüìüì991ôìôìüì0"32654&'2#"&546!!hfssfeusgªËÊ«ªÊË«¤ý\{œ‹‹šˆ‹œu༻ßß»¼àü`{Á\# /@  ü¬ vv Ô<üÔ<ì991ô<ì2990 5 %5 ‡Õþ+-þÓþ:Õþ+-þÓ#þ^Rþ^¿  ¿þ^Rþ^¿  ÿÿþòZ{'=¸üV'{þþœ ¯ÿÿþòZ{'{þþœ& ¯tÉüVÿÿþòZŒ'=¸üV'uÿœ ¯ÁÿåÝÕ!%‚@G  %%B!‹ "†$ —™$ˆ&# # )"#&ÔüÄÔìÖî99991äôìþÍôî9990KSXí9í9Y"33267#"&546?>54565#53%¾=TZ>/ƒmN²b^¿hºÝC^XC&ÄÊÊDšb‰RY;X1YnED¼98À¡Lƒ\V@T?þÿÿ%¬k&$ ¬u@O ]1ÿÿ%¬k&$ ªu@O ]1ÿÿ%¬m&$ ­u´  +@ /  ]1ÿÿ%¬^&$ «u´# +@O#@]1ÿÿ%¬N&$ ©u´ +@p0? /]1%¬m !Á@W % %%% %!%! %!! % !B  — È É  !  PPK/K!"Üäüäî2î299999991/<ææÖîî9990KSXííííííííY"²€]@… ŠŠ… € €€]]4&#"326!.54632#!#Y?@WX??Y˜Õªþ”:A rr¡@;¬ÑnýõlÑZ?YWA?XXüýP!yIr¡¡rIv$ú‰…þ{œÕg@7 % %%%B— ——ˆ—°±   c /Ô<î2ÖÄÄ91/<îîîôî2îî0KSXííííY"!!!!!!#!‰þ®3þÍeýáþ e¸šxÊ5ÕªþFªýãªþÕªüüÿÿ‹þu1ð&­d&ÿÿÅNk&( ¬uÿÿÅNk&( ªuÿÿÅNm&( ­uÿÿÅNN&( ©uÿÿÉk&, ¬uÿÿÉk&, ªuÿÿÉm&, ­u ´ Ic:1ÿÿÉN&, ©u´+1NÕ ;@!¶ —ˆ —  21 0 0ü<ì2ìüìÄ91/Æ2îöîî20 )#53 6&!#!!´VDþ»þ«þÑ}}/ÿÊÉÿ`þøÕþ”þ€þ‚þ•Å•{úÑûHKûþ+•ýáÿÿ‹Fb&1 «y´"+@O"@]1ÿÿuÿã\k&2 ¬u@O]1ÿÿuÿã\k&2 ªu@O]1ÿÿuÿã\m&2 ­u´ +@ /]1ÿÿuÿã\^&2 «u´ 0!+@O0@!]1ÿÿuÿã\N&2 ©u´ +@p0? /]1–®;T .@     Ô<Ì91Ô<Ì290 7   –^þ¢t^_tþ¢\tþ£þ¤%\^uþ¢^uþ¢þ¤w^þ¢ÿº° +k@:+)&  *&——&–™, #* #)+262#5,üìüìÀ999999991/äôìîÀÀ9999990324&' .#"#"&''7&5327sƒTš‡ ýÝøsVƒ»)+÷ýy´=g² %÷üs­9‹d/NZInˆ-ýËÏQUþÜþ†PeæQþþ£þzþ€QQËFüIž‡€RPÉJÿÿ“ÿã=k&8 ¬u@O]1ÿÿ“ÿã=k&8 ªu@O]1ÿÿ“ÿã=m&8 ­u´ $+@ $/ $ ]1ÿÿ“ÿã=N&8 ©u´$!+@p!$0!?$ !/$!$]1ÿÿ%¬k&< ªu@ ]1ÉÕ4µ—— ¸@ ˆ 28  3üì22üì99991/ôüìÔì032654&#33 !##“êžžþLÊþøøþüþÊ!ý󄃃ƒ´þòÒÚÛÑþ‘¼ÿã}/V@1-'!  *‹Œ*Œ›™.  !' $'$-DF0ôìüÌÆîÔîî99991/äþîþÕî9904632#"&'532654&/.5467.#"#¼ÒØÌÒ›¨7C:—oàÄE‡BL…;l€AxC\[¢œyqyr»qÕÎÝØ|d1M*%]¤tš²¤aQG_J'8…O€«#krƒ‹û“ÿÿ…ÿã#f&DCÿÿ…ÿã#f&Dvÿÿ…ÿã#f&Dgÿÿ…ÿã#7&Dwÿÿ…ÿã#&Djÿÿ…ÿã#&Du)ÿã°{ C@I=70 6 %C ‹Œ"7‹6¿. ¶Á3Œ@:¾("™D%=/.M/u MCM6+sDôÄìüìÄüÄì29991ä2ô<ì2ô<ì2ôîþ<ôî999990@ 05060708]5#"32654&#"!3267#"&'#"&546;54&#"5>32>321©xYS\JíMWWLëþepO27„Gn• '…aœ£È¿uc^8„>M„<[|%!„Y®‘ºHZqYa…4—…ˆ+#"¡33¬)+RNPP¬¤«³Xx€+'¨#!?@=BíþÎÿÿÃþu%{&­hFÿÿ{ÿãXf&HCÿÿ{ÿãXf&Hvÿÿ{ÿãXf&Hgÿÿ{ÿãX&Hj@@]1ÿÿ²Df&óCÿÿ²Df&óvÿÿ²Df&óg @@ 0 ]1ÿÿ²D&ój´ +1‰ÿãH)‹@O BŒ $Œ™ ›*'! !'D! >*ôìüì9999991ìÌôìî99990KSXííí9íY"#"32.''7'3%.#"32654&ÍŶûåäûûà"#!H&þéí¶Û!!®#R-’™”ˆ‰”:/Ôþ„ÈþôþØ(  (-Y,\bPÈ‘^bþ ÒÇÄÔÔÄnËÿÿÃ7&Qwÿÿ‰ÿãHf&RCÿÿ‰ÿãHf&Rvÿÿ‰ÿãHf&Rg´+@]1ÿÿ‰ÿãH7&Rw´. +@ 0 ?. /. .]1ÿÿ‰ÿãH&Rj´ +@ p_PO@]1X–yo '@þþ  w Ô<Äü<Ä1ÔÄüÔìî03#3#!!îõõõõþj!ûß‹õÙö¢ª/ÿ –¼ +s@>+,&  )&  *&Œ& Œ¾&™,+,* # )#D>,ôìüìÀ999999991äôìîÀÀ99999990 32654&'.#".5327#"&''mþ1$eA H#cC‹•‹')öédž<“]¤*,öêg9 \ ýÑ//ÛÕ4o¯0.ÖÊ0tG GÃq.78°MÃBÁzþáþÓ;<ºLÿÿÃÿãf&XCÿÿÃÿãf&XvÿÿÃÿãf&Xg´ +@]1ÿÿÃÿã&Xj´ +@ p_PO@]1ÿÿhþVf&\v¾þVT3@ŒŒ™¾ÃÅ GFôì22üì1ìääôìî990%#3>32#"&4&#"326w¹¹.™dËçèÊf™ð‡…†ŠŠ†…‡ýÉÉý²SWþÆþêþïþÉWõÖÚÛÕÔÜÚÿÿhþV&\jÿÿ%¬0& ¶$´ +@ @O /]1ÿÿ…ÿã#ö&ŠDÿÿ%¬m& ±$´+@ _PO@/ ]1ÿÿ…ÿã#H&ŒDÿÿ%þuàÕ'vÇ$ÿÿ…þur{'vYDÿÿ‹ÿã1k&& ªZuÿÿÃÿã%f&FvZÿÿ‹ÿã1t' ­~|&ÿÿÃÿã%f&gZFÿÿ‹ÿã1P& ²K&ÿÿÃÿã%&KFÿÿ‹ÿã1m&& ®ZuÿÿÃÿã%f&FhZÿÿ‰Rg&' ®ÿ²oÿÿ{ÿã ' ¨:ÿ¯G ¹@8@]1ÿÿNÕ’{ÿãÑ$H@ "ç ¸ @"ŒŒ™¾›   GH%ôìü<Äü<Ä1/ìäôìîý<î2990!5!533##5#"3232654&#"ZþÏ1¸¿¿¸.™dËéêÊešþˆ……‹‹……ˆÑ5y••yúúSW;7Wþ ÖÚÜÔÕÛÚÿÿÅN0& ¶(ÿÿ{ÿãXö&Š#HÿÿÅNm& ±(ÿÿ{ÿãXH&ŒHÿÿÅNP& ²(ÿÿ{ÿãX&HÿÿÅþuNÕ'v1(ÿÿ{þuX{'vöHÿÿÅNg&( ®$oÿÿ{ÿãXa&Hh#ûÿÿfÿãPm' ­u*ÿÿ{þHf&gJÿÿfÿãPm& ±2*ÿÿ{þHH&ŒJÿÿfÿãPP& ²2*ÿÿ{þH&JÿÿfýÃPð'¬€ÿá*ÿÿ{þHN'˜.Jÿÿ‰Hm' ­u+´ +@ /]1ÿÿÃm' ­uKK°QX¹@8Y@p`O]0ÎÕ?@!—  —±ˆ   1 0ü<ì22Ìü<ì22Ì1/<ä2üìÜ<<ì2203!533##!##53!5‰Ê*ʇ‡ÊýÖʆ†Ê*Õààà¤û¯Çý9Q¤¤ààF?@" ¶ Œ¾› J  Fô<Ìü22Ìüì1/<ìôìÜ<ì2990#4&#"##5353!!>32¹jq‹¸}}¸aþŸ1¨s«©¶ýJ¶—Ž·«ý‡ö¤zz¤þÂ`cáÿÿÉ^' «u,´ +@ O@ ?0 / ]1ÿÿ²D7&wóÿÿÉ0& ¶,´+@O@]1ÿÿ²Dö&ŠóÿÿÉm& ±,´+@O@]1ÿÿ²DH&ŒóÿÿÉþuÕ&,vFÿÿ²þuD&LvPÿÿÉP& ²,²D` "@¶Â¶LLK Ôäìüì1/ì2ôì0!!!5!!×münmþá`ü/BÿÿÿæÌØ =@²—™!  — ˆ— "!ÔÌ2ÜÌ2ÔÌÄÄ1/ì2ô<ì22ôìôÌ0%532765!5!#"'&!#3!53#Œ=„Ga'&þýHH¨AA@ý-]ääý£ää@ìQQJKËDªüþæuuêûªªÿûþKŠ I@& Œ à ¶Ä›Â¶ ! Ô<ÄÌÜ<ÌÜ<ü<ÄÄ1/ì2ä2ü<ì2î2ôì0!5!+53263#!!!5!#3#ÒþÃõ³¥þêZZ¸¸üi‚,ý+ëë——åûŒÃÓœ}¥éÀü/BCéÿÿmÿãÊm' ­0u-ÿÿºþV¨f&gæÿÿ‰ýàÉÕ&¬jþ.ÿÿìýà²'¬ÿþNì²` Ä@9  B  DE ôìì291/<ì290KSXííííííY"²]@R546Ffuv ('(;;797JIYYkiiiyxyy]]33 ##ì¾ãàþGþáþb‰¾`þ/ÑþZýFBþ?ÿÿÈsl' ªþív/@ ]1ÿÿ  l' ªÿ¡vOK°QX¹@8Y@ŸO]0ÿÿ×ýàsÕ&¬fþ/ÿÿ ýà &¬ûþOÿÿ×sÕ' ¨®ÿm/ÿÿ †' ¨ ÿ¹Oÿÿ×sÕ'y`†/ÿÿ ¼'y×OÿösÕ 7@ —ˆ  1 4ü<ìì2.9991/äì903%!!'7×Ë;NþwÑüd‘PáÕý˜Ûoþîýãª;jnžL >@!  ¶Å¶  Ô<Ìü<Ì2999991/ìüì9990;#"&5'!5!%[Y×饵þÕP{þÙß;Pþu–|~œÔÂ$Ño/ý¾Ûnþíÿÿ‹Fk' ª!u1ÿÿÃm&vQÿÿ‹ýàFÕ&¬*þ1ÿÿÃýà{&¬0þQÿÿ‹Fm&1 ®*uÿÿÃf&Qhôÿÿ–&Q{aþI“þV=ò2@ —–ˆ— 10ôì2üìÄ1/Ôìäôì90+5327654&#"#3>32=YZ¥Í§Z-,t|˜ÊÊ6¸~»¹çüÃijœ>>’ñ´©ÚËüWÕÆotþûÃþV{ 2@ Œ¾Â¶ JF!ôì2üìÄ1/Ôìäôì90+5327654&#"#367632YZ¥Í¹Z-,jqFE¸¸1TTs«TU¶ý6Ãijœ>>~Ê—Ž[\«ý‡`¨`21qpÿÿuÿã\0& ¶2´+@ O@/ ]1ÿÿ‰ÿãHö&ŠR´+1ÿÿuÿã\m& ±2´ +@/ ]1ÿÿ‰ÿãHH&ŒR´#+@]1ÿÿuÿã\k& ³2ÿÿ‰ÿãHf&‘RHÁÕ;@—  —ˆ— ±  -ÜìüÄÄÔì299991/ìì2ôì2î0%! )!!!";Áý£þÙõô(RþšHþ¸þþ±‹‹±=ªªMœ¡KªþFªýãæþ¤þ¦åÿãº{ 8i@92/ & 8 ‹ ¶ Œ#ÁŒ5/¾)#™92& MuMCM,s9ôìüìÄüì29991ä2ô<ì2äî2îôî9999904654&#"265&#"!3267#"&'#"32>32PVWMþ¦fRPhgPP¬þcpPƒ/;}Jb“04€T½ªª½Y€/%‚W¯‘ & ‘‡‰ž+ýê¨ï#®§þóþó§‡T£53¬+)CBDA88>A>AíþÎÿÿÑk' ªÿµu5ÿÿjˆm'vÎUÿÿýàÑÕ&¬rþ5ÿÿ ýàƒ{&¬ˆþUÿÿÑg&5 ®ÿÄoÿÿjƒf&UhZÿÿ‹ÿãJk' ªu6ÿÿÕÿãm&vVÿÿ‹ÿãJm' ­u6ÿÿÕÿãf&gVÿÿ‹þuJð&­6ÿÿÕþu{&­Vÿÿ‹ÿãJm&6 ®uÿÿÕÿãf&Vhÿÿ/þu¢Õ&­7ÿÿƒþuž&­yWÿÿ/¢m&7 ®u´ +1ÿÿƒ~&W ¨/¢Õ-@ — —ˆ: : Ô<ìÌü<Ìì1/ôì2Ô<ì20!!!!#!5!!/sþ- þ÷Ëþ÷ þ+ÕªýÀªý¿Aª@ƒžB@! ¶¶ ¶  Ô<<ÄÄü<<ÄÄ2991/ìô<Äì2Ô<ì2990!!3#;#"&=#535!5!f¢þ^åå^uÏáϪååþÕ+žþÂéŽé|b“¦ËéŽé>ÿÿ“ÿã=^' «u8´/ +@O@ ]1ÿÿÃÿã7&wX´'+@/ ]1ÿÿ“ÿã=0& ¶8´+@ O@/ ]1ÿÿÃÿãö&ŠX´+1ÿÿ“ÿã=m& ±8´+@/ ]1ÿÿÃÿãH&ŒX´+@]1ÿÿ“ÿã=U&8u OÿÿÃÿãÙ&XuÓÿÿ“ÿã=k& ³8ÿÿÃÿãf&‘Xÿÿ“þe=Õ&8vðÿÿÃþu°^&Xv—ÿÿÑt' ­|:´+1ÿÿÑm&gZ´+1ÿÿ%¬t' ­|<´ +1ÿÿhþVm&g \ÿÿ%¬N&< ©u´ +1ÿÿœ‘k' ªu=ÿÿËm&vV]ÿÿœ‘P& ²2=ÿÿË&]ÿÿœ‘m&= ®uÿÿËf&]hÃ',@ ¶ Œ ›Â Ô<ÄüÄ991/äüìî990#!5!546;#"¦¸þÕ+©³ÝÑcMÃû=ÑN¸®™QFÿãX%>32#"&'##53533!!#&#"32y,›fÊèéËd™.¸{{¸aþŸˆ…†ŠŠ†…ÑRXþÉþïþëþÅWSö¤zz¤üc¬ÚÛÕÔÜ¥Õ)?@$— —ˆ— ± 2 !$'+ÔÜÔ9ì2ÜìÔì91/ììôìî9032654&#32654&#%!2)"#546x°–ž¨xt’ƒ”þÂBåøƒƒ“§þöþùþ¾>dœ©ÉýÝ{’‰fþ>p}qd¦Æµ‰žÏ ËÏ/Wp1FŸ¹ÿÿ¦qÕHÁÿãX>32#"&'#!!&#"32y,›fÊèéËd™.¸ðýȈ…†ŠŠ†…ÑRXþÉþïþëþÅWS¸ûý¬ÚÛÕÔÜ0¡Õ 327654'&#'3)'¡ï°KKOO¨ïë{e5……þùþF¦qÉýÝ>=’DE¤¿d¡Ëgh´ä=<ÿã” !&#"32>32#"'&'#'Òˆ„†FDDF†„þl,šfÊttttÌdLL.¸ÂzY¬ÚmnÕÔnnRRX›œþïþëž+,S´ä|‹ÿã1ð/@21 Ü<ôì1@ ³ ²— ³²—– ™äôìôìîöî0>3 !"&'532#"‹M¢[?þÃþá[¢MI©XÅÄÄÅVªJž))þgþ’þþj))Ï=@0230@=<ÿã•g"%# !2676;".#"3267âM¢[þáþÃ?ZO*Z¥T3,JªVÅÄÄÅX©I5))–p*™32jœ>5‡F=@þÐïþÎþÐ@=^ÿãsŽ!%# !2676;".#"3267ÀJRþüþÛ%FC=Z¥Z-,I“]­º»¬`˜A9++8(8rGjœ>>~”A:àÐÏá;>ÿÿNÕ’ÉÕ3 !#"#546 6&!#FéVDþ¼þªé6<0œÀcÿÊÉÿÕþ”þ€þ‚þ•//&r1Fµ£úÑûHKûûwƒNÕ#";5!! $5476%3ƒï¨ž–°ïýE†þFþùþö5e{ëɉ’{‰¦ú+ÏË¡d¿Âÿã4 32654&#"5!#5#"32_ˆ…†ŠŠ†…£ð¸.™dËéèÊf›,þTÚÜÔÕÛ}¸ùìSW;7XR‹ˆþ=G{ 7%2654&#"#"/532376?654'&'&'&'&32hŒŒ§(>vwÅf2—BFKI I<' )iëy|öêéö{ÚÖÕÛÛÕÖÚL (=\ˆRR $­+.! ”—-þÓþáþâ—&ÅNÕ +@ 1 3 üÄÄüì21@ — —ˆ—±/ììôìî0!5!!5!!5Nüw¿ýrŽýTÕú+ªªºªuÿã\ð=@ 26 25ôìÄôì991@ ³ — –——™ôìÔîôôÔî9905!54#"5>32#"327uŠ–VªJM¢[ý÷÷ýýö׌””~ éSñ@=Ï))þ€þyþzþ€~#øþûÿþ‰ÿã7ð(>@  22&0)üìÔìÔÄÄ1@ ³ —–)—±)³ —#™)ôìÔìôì9ôìÔì0.54$32.#";#"3267#"$546¸ƒ‰ÚI½yh¾Y†‘œ‹šš˜²²¦bÆfgÖgõþëœ"¢{µÝ º(({smz¦™‚–45É$&ëΕÇ?þV’Õ!!!!+532765|ýµ ýôYZ¥°ŠZ-,ÕªþHªý#Ãijœ>>~ÃþV'$+"!!+532765!5!547676;'Ña'&þQRµF1i&&þ×(W%6†MIþÏþÎþÉþÕ!‘¦þR¶I ! 5 3 3325ÚDþ`þH&þ0ØttÚý¢ÆØÌŠþ?þuììoä¸ýÕ+ü¦þÓþ¼ŠŠEA&#767653#"'&54&#"#367632ó"&76/§˜šJI_BG}¦¦MKUv˜¶þà™14IBœ›þeäá``Ö —Ž·«ý‡ý¤† 1áÉ:Õ!5!!;#"'&5þÇ=þÇ,-Z¹Ùª\Y+ªªüz=>«jfÆÉÕ!!3!!#!!5!!5!!É=þÇ þ÷9üÃ9þùþÇÕªýÀªþiªª—ª@nÃÕ67632'&#"##3‡¡i~\/j!-<Bm¤VôþšËËœª c3r%3s¬üì¤ý¸Õýhì²5476;#"33 ##ìYZ¥Í¹Z-,ãàþGþáþb‰¾ê”Ãijœ>>~þÑþZýFBþ?  ;#"&=#53!5!;+[Y×饵ääþÙß ÝÝ –|~œÔÂÄŽ§üÉŽ1mÕ% # #''3C\Pþñ¿þ¿þ¶¿©"þ–P®¿½ònþþûÁÀý@‘Jûo |mÿåoÕ"%#"&33265332653#5#"&8"iJ‡o¨5FP;¨9JI9§§!c?LerHEÑ!þü ís{åöü ðp{åöú+`=ÃþR{#4&#"#3>32¹jq‹¸¸1¨s«©¶ûœd—Ž·«ý‡`¨`cáuÿã\ð  32'&#"32767\÷þö÷üý÷Ô:Dš™C; 9C™šD8 éþzþ€~ˆ‡€þ€þÌ{{þø¸úvuûÿÿÿã§'¡y¤2‘ÿÿ ÿã²{'¡„R—-ÿã¤ð%63273# &#"327-N5>Îo“毴oþ8݈=ŠŠyyŠŠ=é Yžƒú+Í üvÀ~^þæþ·þ¸þæVþR«{ 763273##"'&7327&#"VúPeÒo~ç°µnÓêoV°×AAÎ( /´s%—+nú+Íýø—¼’þþu"m†mþâB8™Õ!+#"#54763! 27654&+™þÈVn]Ê6<0œ``~'—RþÓ@œ]þ¤Mý¨//&r1FµRQþÜEþ’8D…“ýϾþVT˜*3265'"#"67232#"&'#76;#"wÑ"…‡û Ö. [ÂËçèÊf™,¹Ë?N͹© /þ‰2ÚÖ¢þïFI¤þÆþêþïþÉWSýɬ.OœÝþøÑÕ#.+#33232654&#øN76SËÙ²M{cÁËËÕö¡ýÐÝ‘Ž—¹77§þhy¡]þ‘ÕþøÞÒ”»Yý‰‹ÿãJð'>323267#"$546?>54&#"ái¾Vß ¼Ðl‘uª™hÍskÔiüþøÀÒj•m¦^¹\¢''ñÈ ¾/ vp{‰DI×--àÕµÒ1#hcq…<;Õÿã{'>323267#"&546?>54&#"P¦ZÊÚ’ŸEõ†zT¼gj¶SÒì‰J·\{}S O9!!¯¡“1€Yc55¾##»¦}œ#JKSQ..ÿÿxmÕévþV[!&'&#"3;#"'&5# 54!238!n|wx'%d°®ÃQW¾þò/µR5¿-0A3šû=g)(™V\´®ÒØ`@o›ƒþVž !!;+53276=#"&5!5!f¢þ^^uÏYZ¥Í¹Z-,(ϪþÕ+žþÂý |b“Ãijœ>>~¦Ë`>/¢Õ&#5463!!#ŃF1œÀÖÝþ-Ë/7&r1Fµ£ªúÕ+ƒ!!;#"&5!5!5476;#"f¢þ^^uÏáϪþÕ*YZ¥Í¹Z-,`ý |b“¦Ë`Ãijœ>>~/þV¢Õ!!;#"'&5!/sþ-,-Z¹ß¥ZYþ+ÕªúÁ~>>œjiÃ?ÿÿ ÿãÈ'¡š¨8ÿvÿÿ'ÿãªq'¡|XÿdJ‡´##"47#5! 54'5‡õ{nþàðòþßo{øÏx†´4³†x´¬†þà¼þÉþ‘n8¼!…¬¬Lþ·Þæþ÷ æÞIL¬š*Õ!"'&533254'3úª\ZÌ,,Zš´†xÚzn“jfÆ?ûÐ~>> æÞIL†þà¼þɸ¼À×#367632'&#"kö·þSÁHÇcm.-PKG "(3tþ*ýbž7ým‘È*9† þVÉm+5326?3 67632'&#"nQGJ|“lLT3!þ;Ã^2Q+31705+hË:=šH†TNü”»~)“ )œ‘Õ!3!#!!5#5!!²Éþuèþ÷Pþð"ü ´"výÕšý°ªþiªš§ª@œ5b!!!#!!5!5!!Þ-þò8þžYòƒü»áþõŽý•b¨þ®¤þÒ–ª¤gÿä·Õ 7654'&+5!5!2! $5ädc{dd\^¤®rýÊþˆh‚bVPþÐþèþÜþгKKKK†IJ¦¹ª¨þG8+lhŠÝòòÝÿä·Õ3! $54767635!!#" 76îÈþÐþÜþèþÐRUciþˆÈý r®¦\\dc{dd³ÝòòÝŠhl+8¹¨ªþG¦JI†KKKK}þLT` 5!!#"3267# $547676pþejýe®®¥]\dc¾mÈTjdc^þèþÐQVb€Üܨ“þ ¦JK„KK21Ã%òÝŠhm*8­þV$` 2767# 4%$54#0!!5! »TMOQWPVaþ –ëþÞåýejþžoþ0âþî,³ î5%b|8“¨þdåþì1a‹˜#ð 6323#!!5!5!67654'&#"¤Ð¿Û -"BPæ8þ»®üu~þå²i–9DµÞcé½``JUª?þ¨ªª—ª‚T<>¹<…ÿä¶Õ % 7654'&#!!!!2! &53h<= \^¤þGœý/"icUPþÐþèþRz,Êž[ŽÇ+3†IJ ªþI8+leÝò[tµG)}þLT` 7654'&#!!!76!"'57?\]¥þÔðýȨgƒcUQþÐþè»ÔªþöÃ-5†IJ,¸þ39+lhŠÝòJÃcÂÿãž 4'&+#5333#!"'53276MJY­>ååÊçç¥lunŠþœŸ³c9·rO_¤þì¤}nw°¹~F¬VrA}þVg{#36763254'&#"6¹¹4‡QÒ¸MNüÏr98xÜ­zþÐ ªBR1pq™þWþäù…BAïÎÕ3#ÊÊÕú+ÿÿ9˜Õ'‚ÿ6‚ʤ-Õ3!!!!#!5!5!5!Ê^þ¢^þ¢Êþ `þ `Õþl¨ðªþÿªð¨ÿÿÎÕÿÿÿ%¬m&$ ®uÿÿ…ÿã#f&DhÿÿÉm&, ®uÿÿ²Df&óhÿÿuÿã\m&2 ®uÿÿ‰ÿãHf&Rhÿÿ“ÿã=m&8 ®u´#+@ /##]1ÿÿÃÿãf&Xhÿÿ“ÿã= ' ©ù&8jªÿÿÃÿã2&Ž&Xq<ÿÿ“ÿã=ù' ©ù&8 ªÿÿÃÿã¢&Ž&X‡<ÿÿ“ÿã=û' ©ù&8 ®ÿÿÃÿã¢&Ž&X’<ÿÿ“ÿã=ù' ©ù&8 ¬ÿÿÃÿã¢'†<¾ÿÿzÿãW{ÿÿÿ%¬ ' ©ù'jª$ÿÿ…ÿã#2'q<¦ÿÿ%¬ 'jª& ²„$ÿÿ…ÿã#2'q<Öÿÿœ0' ¶ªˆÿÿ)ÿã°ö&ЍÿÿfÿãPm' ®u*ÿÿ{þHf&hJÿÿ‰Ém' ®u.ÿÿì²m' ®uNÿÿuþe\ð&vð2ÿÿ‰þeH{&vðRÿÿuþe\0& ¶¡ÿÿ‰þeHö&Š¢ÿÿÿä·m' ®uyÿÿ}þLTf&h8ÿÿºþVËa&h#ûæÿÿfÿãPk' ªZu*ÿÿ{þHf&vJ=ÿã”Õ%2763#"'&5!#3!3m6!¶h9…€H†þÕ¶¶+·R‡Of'þÀþ‹ŒMS™b–ý9Õýœdüuþï‹'ÿÿ‹Fk' ¬u1ÿÿÃf&CQÿÿœk' ªðuˆÿÿ)ÿã°f&v¨ÿÿÿº°k' ªušÿÿ/ÿ –f&vºÿÿ%¬k& ´$ÿÿ…ÿã#f&•Dÿÿ%¬m& °$ÿÿ…ÿã#H&—Dÿÿ»Nk& ´(ÿÿ{ÿãXf&•HÿÿÅNm& °(ÿÿ{ÿãXH&—Hÿÿ»k& ´,ÿÿ²Df&•óÿÿÉm& °,ÿÿ²DH&—óÿÿuÿã\k& ´2ÿÿ‰ÿãHf&•Rÿÿuÿã\m& °2ÿÿ‰ÿãHH&—Rÿÿ‰Ñk& ´Î5ÿÿhƒf'•–UÿÿÑm& °Î5ÿÿjƒH'—–Uÿÿ“ÿã=k& ´8ÿÿÃÿãf&•Xÿÿ“ÿã=m& °8ÿÿÃÿãH&—Xÿÿ‹ýâJð&¬6ÿÿÕýâ{&¬Vÿÿ/ýâ¢Õ&¬7ÿÿƒýâž&¬YW}þRTð. 56$>54&#"57>54.#"5632 4o¹ÿþê™È1¹\}p_s£ø54&#"57>54.#"5$32Fp>!Bl˜³•J¢õžc(v];?Øß"AW?-1CA#E¨“ †p¸tgÍDZX%KŠlaF='‚.`[b[3XpV‹U 32=Ët|˜ÊÊ6¸~»¹çúkŸ´©ÚËüWÕÆotþûÿlŸ(1%7276"'676#"'#7&/'&'&3232654&"m B{€© rh¤úG0wD &8Md£\]»¡P{#¸ý™lÔooÔ›>>t#ôÚþÇO9 Y%Z5H›ž7WSCüñþTÚÜÔÕÛœþV’Õ!!3+53276=!5!²Éüô"YZ¥Í¹Z-,üÃ÷ýÕšûo*”Ãijœ>>~š‘ËþVb!!#+53276=!5!ã-ý}ƒYZ¥Í¹Z-,ý|ƒý•b¨üÜ–Ãijœ>>~ª%ÿÿ%¬P& ²$ÿÿ…ÿã#&DÿÿÅþuNÕ&­2(ÿÿ{þuX{&­2Hÿÿuÿã\ ' ©ù'jª2ÿÿ‰ÿãH2'q<¸ÿÿuÿã\ &2' «õjªÿÿ‰ÿãH2'q<·ÿÿuÿã\P& ²2ÿÿ‰ÿãH&Rÿÿuÿã\ 'jª& ²„2ÿÿ‰ÿãH2'q<Þÿÿ%¬0& ¶<ÿÿhþVö&Š\ ÿl %7276"#7&'&5!5!676#"Ø B{€wD3'þÙß rh¤úF›>þœO9ÂaJ¸ùûwt#ôÚþÇjÿlf{.%7276"'676"'#7&'&=4&#"#3>324 B{€¹zgŸúG1wD3'5ZI9§§!c?…98›>>r.üÎþÈO9ÂaJ¸ëís{åý``>t#ôÚþÇO9ÂaJ¸;>þºþV` ,@ Œ¶Âà  ÔìÄÄ991äôîî990!5!+5326XþÃõ³¥þêZZåûŒÃÓœ}xÿãY12654&"&#"32>32#"&'#5#"323íQ SS ¦QPQRRQPó]=z‹Œz<\o\32#"&'#äQ SS ýZQPPSSPPó]=yŒŒz<\o\G­º JRþü’Ã\ØD%QM((_]q"!ýä ^¬`˜A–7àÐSþ]++œ èL„½8 rM†…ýq;>¼Õ 3!!!!!5! ËþùÑüdþõ ÕýªþiªAª!ÿºÉ#!5!7##'ÍóóËþ-.d'JþuËþ†gÐ[ý„|ªBJ8jýÍýÖýäFÕþ{5.#"3#"'&/&/5632654/&'&54632ÍO S}{\·J‰vh°˜“*L'TrGYí3e2{zD>z†õE¡GIÚÊZ¦9´..QSKJ#œ}¦^R ˜~$š=&[ó5#¾`cY€1!GJ¡¯!Ëþb!;#"'&/&#=!ã-ýj1 “*L4[TrGYí=Zƒý•b¨üË þø~$š=&[ó?œ%7šÕ"#5463!2##326&#v6<0œÀ~'úþÿûÊÊŒœ//&r1Fµ£ãÛÝâý¨þ” “qÕ(!2)#5332654&#32654&+3¦ºåøƒƒ“§þöþùþFžžËë’ƒ”ëï°–ž¨ïëÕÆµ‰žÏ ËÏn•,þ>p}qdü?È{’‰Æ•ÿã¼Õ)533!33##"&'.=)3267>5~ËÊ9FBªjiªCE:àýë  yVWx! AªêýêýªåÁ?;::;>Åâ`m];<<;\l9˜Õ #3#iþ¡ÑµõµÑ+úÕÕú+ÑÕ!!2#.+##5332654&#ãLö¡’N76SËÙ²M{cmËÎÎˉ‘Ž—ÕÞÒ”»77§þhy¡]ý‰w¦ý‰Žƒ{.#"!!##533>32ƒ;zI¬[M ýý¹Üܹ.¿ƒDv6y.*l\¡¤þ<ĤøÛw"$šÿã8{ )32654&#"3>32+3267#"&'.þ> ¤zl˜°¸¸<²€¬Ìüòøˆ’^À\f¼XŠÆ<& +qpepÓº)L¦d_Á¢»Â†y64¸''RR2“{ÿã{0@ŒŒ™¾ÂG Hôìüì221/ìäôìî99053#5#"3232654&#"Z¸¸.™dËéêÊešþˆ……‹‹……ˆÑû¢SW;7Wþ ÖÚÜÔÕÛÚÀÿáWy 0@ Œ Œ™¾ÂG Fôì22üì1/ìäôìî9904&#"326>32#"&'#3•ˆ……‹‹……ˆýã.™dËéêÊeš,¸¸-ÖÚÜÔÕÛÚxSWþÅþëþïþÉWS‹^ÁÿãX $9@Œ  Œ™¾!Œ›G! F%üì22Ä99ôì1/üìäôÄìÆî04&#"326>32#"&'#46;#"–ˆ…†ŠŠ†…ˆýã,›fÊèéËd™.¸³¥Ì¸ZZ/ÖÚÛÕÔÜÚxRXþÉþïþëþÅWS~ÃÓœ}}¸ÿã{0@ Ü<Ôì1@‹À ‹ ÀŒ Œ¾ ™äôìþôîõî0>3 !"&'532654&#"¸JœR&þÚþüPšNH”\®º¼¬`˜@%++þÈþìþìþÈ*,ÁA:àÐÏá;>Ãÿs:{!)47&'&!2.#"63 !"'3254#"´ 90•%QšNI“]­ºcUÃ-þ²RG+>œjiáS,+;7W{ÿã7 &32654&#"%5476;#"#5#"32;mjkookjDGH„8H$#·${P´ÎϳQ{#þTÚÜÔÕÛ ”Ãijœ>>~û‚SW;7WSzÿãW{432!"&'5326=!7!.#"z÷Öð þÚþû[ÃimÀX®¿üã¸^¬…ˆ•^û"þÀþôþíþÇ++·98È·œ°ªzÿãW{?@ I HôìÄôì991@ ‹ Œ ¾¶ÁŒ™ôìôîôôôî9905!54&#"5>3 #"73267z¿®XÀmiÃ[&þàðÖ÷¸•ˆ…¬Z·È89·++þÇþíþôþÀ"Æ¢ª°œÿã³{ )%654'2273;#"&5 '&'&'& 56BLþ+>ç—üwšŒ9P!1„jâþ”cGF:þ“šÖŠÏ>8þœE#Züèu”™aœºÈQ`vþíþ½‘gœ»("ch®V©ÿê({09@ Œ Œ¾2¶2&Œ%!Œ*™2 &.F1üìÔìÔÄÄ1ôìÔìÔìôìÔì0&'&54632&'&#";#"32767#"'&546ÁwA@ôÑQ[\ihWVLŠ”HH‡¦Ÿ–¨Z[­c[[MaZ[Vþ‹Š”_A@^†ž § VJ=+,nQb54"­[\¦m”©ÿê({(<@! ‹ÀŒ#¾)¶) ‹ À Œ™)& )ÜÄÄÔìÔì1ôüüìÔì9ôüýî0#"&'532654&+532654&#"5>32„•þëÿU¶`L¶d­µ©–ž¥ˆ•ŠK­hi·PÒô‚_”m¦·­"#ibQnW=JV§ž†^8ÿê™{B#"&'5327654'&+5327654'&#"56763273;#"'&55c88hh¿@ˆH9DDK‚CE@?qv|f6688h8AANODE<ž[K©ŠO 0ƒA=Ó1_JJm¦\[­"45bQ77,+=J++ § OAfƒ”™10œ`ZÈ¢A°ÿÕ"y( !27654'&+532764&%632#"'$žþ­Sv<;;!‹ˆˆ‹!;yþ±U¡ ÉkbbkË ŸUþíØþ^þA;;LL67šss.­”gŽŽg”®=ÂXŠºþVq^!+53265!5!!5!qþŸ³¥þêZZþþÃõh¤þ(ÃÓœ}}ؤgþ {þH4&05476;#"#"&'5326=#"43#"326íHH†1:hhÎ>†CO‚6xn#{X®ÐЮ÷Ömssngn^ Ãijœ>>~ûÊûƒ‚¶.,¢°}^\:é<ýÛ§ØþbÙÚþH4^ $!"326#"&'5326=#"4763!|þø‡Žˆ‡¸îçL¦Sb C•ˆ,˜mÄêuqÈé9§ØþbÙÚþÝüþü¶.,¢°}^\:ᥟzX˜ %#5!#"!2&'&#"32²œBHXNÊüþÖ,>hh€xpVH²dbbd²®²Œýð">:K¬MrqþfqrfþQk^".5 3 3265â+]ŸÜž^+ þrÚ.$Øý‡ãaËÛ<þTþ³8VA""AV8T¬þrŽú–LE"þÐþñEfj^ ! 5473 33254Ö²þãþѸþrÚ(*Øýöu{q?ñþ²§±òþsýZž;hh?¼þR^332653##"&¼¸lp‚Џ¸2¨r¬¨¨¶ýJ—Ž·«yùôVadáÃ>32#4&#"#5476;#"}2¨r¬¨¸jr€Œ¸ZZ¤ÎºZX `cáäýJ¶—Ž·«ý‡ê”Ãijœ|~ÃþV(>32+5327654&#"#5476;#"}1©r«©X[¥Ì¸[-,jr€Œ¸ZZ¤ÎºZX `cáäý6Ãijœ>>~Ê—Ž·«ý‡ê”Ãijœ|~Ž23#!!!!!5!!5!! ¸¸þâÖbþžnünlþ‚~þâéÍþ ¤þË5¤iÆ ^!#"'&5!5!; ̦ZXþàØXZºjfÆ;ý8~| 2^ !!!!5!! ’þ’nünlþ”^ü¾BXy&;#"&=&#"5>32!5!3267#"'’.H>Øê¤¶./OIN’S)&þÚÞr\F‰JKOUi–“(?œÔÂÆ ;?®<6‰ü§5=>®;7-4 ;#"&=# 5432!5!3#'&#"3ª[YÖ襵>þéö5*þÙßúú¸GN\–|~œÔÂܽöƒüó  „K9 þV  ;#"&5!5![Y×饵þÙß|~œÔ£(þL¨-;#"&5#5!!2#"'&'532654'&+5!¨HH¬»„‘쀺þ·TgOE@óàKOPUC W˜ JJ„ŒXýì–|~œÔÂùþA¨þ$8+lhŠÝò%Ã12–„KJ¦óhj{!%#"&3326532653#5#"&2"hJˆn¨4FP<¨8”8¨¨ d>LfHEÑ!‰ýís{åýðp{åû `LfHEÑ!‰ýís{åýðp{åù×)32+532654&#"#4&#"#3>32ž"iJ‡o¡–º¨SN5FP;¨9JI9§§!c?S,5îHEÑþßýcÂÔœ|~•ís{åýðp{åý^^@;#+²þVM{+532765367632#4&#"ê{ˆ5Dº1DCW¨VV¹\^oA@ÖÀœ01™r¬e22wxèý\žŸž__¤ˆþV{ 4'&#"#3>32;#"'&è./]p@Aµµ2†X¨VV?4ˆ<>²ŸOO__¤ý‡^¬edwxèýH™10œ``A{ !3!#ÝÄþðþ#Ä{üy‡û…‡üy‰ÿãH{  #"%"!&'&!3276Ò÷öêéöߌH?7?HŠýÓ4HŒH4{þÒþâþáþÓ-’m_°°_mýà„OmmOEŒ`!!!!!"'&763#";þ‹dþœ€ý¨ó~~~~ó —KKKK—`ªþí›þ¤¬ŽŽ“hgÏÐhiªÿâ&{.4'&#"3276=332#"'&'#"'&57!2€9P‘ƒHJ|")u) }¦07‰_CC_vD8@jëxZþœq¡osçþÈO+¹¶¶¹+O«ˆžz2ee2zš|·ÿ­ í°‰þVH&/#5!#3!535&'&76767654'&ð˜ð¡_|{_¢ðýhð¬d{{d¬¸E,HH,ýO1HH1o¤¤üu—þâþá–uð¥¥í{–—{¨üÂBnÕÖmBü×HImÖÕnI˜ÿå±^732653#5#"&'˜;zI¬¶¹¹.¿ƒDv6ç.*ØÌ+û¢Ûw"$˜ÿå±732653#5#"&'˜;zI¬¶¹¹.¿ƒDv6ç.*ØÌìùáÛw"$fþV€^;#"&=#"&'532653YZNb¥³.¿ƒDv6;zI¬¶¹}}œÓÃïw"$¼.*ØÌ+jþVƒ{.#"#3>32ƒ;zI¬¶¹¹.¿ƒDv6y.*ØÌü)Ùw"$jþVƒ{;#"&53>32.#"#,,[êþ¥³¹.¿ƒDv6;zI¬[[}?>œÓÃrÙw"$¼.*llÌ 2{476;#"!!5!RR´Ò¼j&$pünhåÔb`œ02˜ýª 2{!!5!4&+532ÈjünnHlºÐ´RRåýªVš`œ`bzW^!#&'&+#!2327654'&#Ô7545®Ã¢?;;a©¹„ÙlkpýõÆw?@@?w 66^þÎq$%þ'^NM¦iŒþ¯++ST**zW^!#!3327673327654'&+ÔjpklÙþ|¹©a;;?¢Ã®545þ(Æw?@@?wÆSŒi¢QP^þ)%$qþÐ^66þ7**TS++¼þV{8.#"#"';#"&=327654'&/&'&54632ØN§[ˆDF20”@ÄRRz|Øhj&"nèþ´¤fdbb‚FF24ª@¬LLàÎfµ?®((**T@%$!*ML‰Z[Ÿ70œÀÖû5-,QK((%$JK‚ž¬}þVT+5326546;#"Ó³¥þêZZ©³ÝÑcMÃÓœ}}¸®™Qg}þVT!+53265!5!!5!546;#"4þŸ³¥þêZZþþÃ=©³ÝÑcMh¤þ(ÃÓœ}}ؤiP¸®™Qgý¥}þVT^;#"&54'&+532Ó'&cÑݳ©--Zêþ¥³Èüßg()™®¸ |@>œÓvþV[!#"327673## 54!3476;#"8³tn!Ê·¿5RµþѾWQî°d%'š3A0Ç›o@`ØÒ®´\V™()g¦þÂ+`!5!4&+532!!Hþ^¢^uÏáϪ+þÕþÂ>`|b“¦Ëý þƒþWž!!;#"&5!5!f¢þ^^uÏáϪþÕ+žþÂû÷|b“¦Ë >ÿãÑ`!533!33##5#"&=)3276ޏ:¸™™¸CYYuÁÇñýÇ>>|•WMĤøþøþ¤þ<¬f21ðç ŸPO_U_ÿâr`#5! 7654'&'5!# '&54767_ºm?B° XXBGd´ìr86þäþ>ŽŽ45w¼¤ÜEio‡ŸÂabž’do?ܤdqnˆëþÜ‘’ä“kmhAw` !+"'&5#5!?27654'&'&UBr86þäáFµRQ›S&(g3XXBO\LÚdqnˆëþÜ``Ö;ý6™12abž’dw7,HŠ`!# #3ŠÄþ¢þ¢Â¤ú¬üT`Â` !# # #33”¸·­¸¸“ë­Á­jü–jü–`üj–HŠ >;#"# #4N”|’lLT2"ÆÄþ¢þ¢ÂÈÈzšH†Tû²lü”fk}3 3#fÙ%.Ùþ]Ë}þ8Èýýó ÂþV`!!;#"&=!5!Õ§ýù;4ˆzýéþ `¨üÛ§™10œÀÖ¨%§ÿ‘*`!#47!5!5!332!'3254#ª™þ–´ýejýL¯<Ûãþ²®FX3<;4¨%“¨üÛ ö½“6[}þLT` 2!"'&'5327654'&+5!5!aj€bVQþÐþè^cdjTÈm¾cd\]¥®®ýejÜ8*mhŠÝò%Ã12KK„KJ¦ó“¨iþLh`$- 76654'&+5!5!2#4'07&#"327ãþ±*öž \^¤®®ýejþeidTQ'd™(— }Ńž¾cþL½û;*1…JJ¦ó“¨þ$8+lg‹qUe¤R8yú*K/KÂ327654'&#"56763 #¾?¿W::f°PONNLQQUŠmlpªËrLb…Ar+¬#}ºªswýtÂ#&'&5476!2&'&#"3ʪpln‰UQQLNONP³c9:VÀüâŒwsªº}#¬+rA…bLrÂ3!"'&'5327674'&#¾ËªplmŠþíUQQLNNOP³c9:VÀôýtwsªº}#¬+rA…bLrÂþJ#476!2&'&#"32767# '&5Ân‰UQQLNONP³c99c³PNONLQQUþí‰n>º}#¬+rA…ûà…Ar+¬#}º_-sB (47632 7 654'&#"47632"'&_ššØÔššþÑþOþ̵edÆdeŠdeã"!/."!B^!"5ÔœœÔØþÐ0ÙccÆŠffff‰.""""./B!!Ñ} -@¶ ¶Â¶  F!üì2ÔìÔì1/ìôìÔì9032654&#32654&#%!2#!›Ý]_Z^áÒUTTVþe²Àb`sÑÁþcþ˜i?\dÂþèU?.V©”ˆi}œuš¨°ÿÖ"y+";#"3$''"'&5467.5476322s9@< Љ‰Š <@7uTxþìV“­ddjbbjdd­–Ø6=š76NJ@6¾¢s—þxþ¨Â>WV”gŽŽg”WV6l0%#5!#"'&76325476;#"#&'&#"32Ît£:˜Ô{}|Û3H ><ˆ¾N½?7†KJJK†‚²Œýð2Ÿ   Ø^`œ03—”j&BrqþfqrA{ 3!3#!#ÊÊÊýãÊ{þA¿û…ýîÊþV3#3## 54!3!5#"3276š¸¸¸´¾5QµþÐÂþÂ3µw{j&éËû ›p?`ÝÍÑû3A0wþLZ` ## 33ZºýÜìRý–ð8ºþL—þ TýÝ#õÜ{3!!õÊý{ü/ª#þV|)%#"'&76325476;#"#276'&"»,BC]®nmmn®]CB,==ˆ¾O¹þ)??Û????Û?¨d01¢¢¢¢10dÆÖ``œ01™ùÚ¤þjtsst–tssÂ$327654'&#"56763 3###53¾?¿W::f°PONNLQQUŠmlpªççÊåärLb…Ar+¬#}ºªswÔ¤þì¤Â$5&'&5476!2&'&#";3###5Hªpln‰UQQLNONP°f::W¿>ååÊç¸Ôwsªº}#¬+rA…bLrþš¤þì¤ÿãš #26&"3!!!+5#"32¨d¯ee¯n þaŸýõ^!;8N€¡¡€N8:úþjçç–ç+^þL¨üÛ“¨a31DD10MüûþL´ C3276'&#"%#5#"'&76323!2#"'&'5327654'&+5!22XW3223WX2´o#55JzLMMLzJ55#o ö?M;31¶¨9;<@3xAr;<78chþqúþjtsst–tss_ü3¨d01¢¢¢¢10d^þL¨þ$8*mhŠÝò%Ã12KK„KJ¦ó6ÿ‘™ ,326&"!5!332+#47'#5#"3233254#©d¯ee¯þs þai$„ˆÈ\Ø\#jKy™™yKj#n0 h*5úþjçç–çüþ“¨üÛ ö½3.#"#"'&'#"&5#5333#;532654'&/.54632/e6RR;Y%w02”‚6:8>q€aQQoãã-Ek>v;NTj&g[‡{=l?®((TT@I!,KL‰œ¶!&ŸÒ`>þÂý ‰NM55YQK($)$•‚ž¬™þV4%.!5476;#"+53276=#"'&5#53!3‰A<“‚„J==ˆ5%N¡;=ee¥þçUžþÂN¶ZV™()gû)×_`œ02˜PMÔ`>úü ý Š&'µÿpž.6@3632&'&#"632#"'47&'#"&5#533254#"&57#3uäZ310.///0l;;;2v³È1+\!r€aQQþ$-WO=ÕMTÝ-Ežþ‚#¬+qrþfr°ö½9DhT"2€ŸÒ`>úô9Kiø›ý ‰N‡þVH3+5327654&#"####53546;#";67632G11l™Œ?KJYho´njjhqij;/´m(56Ft<;¤ýHÖ``œ01™²Ÿž¾¤ý‡Ñü/ÑN»«™Phc®e22wxæÿãë%7&'&#"#"'&'#367632327654'&/&'&¾;>ABgf$&n/•<>][£ALODŠŠKT›LDCýëKEJIa54%"…0€92?®)TT?&$!,KL‰›\[&ý:ŠMVþ·ýÎ3-+RK(#*$JAÛô 3!!!+ÛŠýùýqvŠóþL¨üÛ“ÍüúÿâB 333# #333# #t‘‰‘t¹ˆ˜™ˆ¹t‘‰‘t¹ˆ˜™ˆUþéþéýýþ=þéþéýýþ­B!#!#!#!#³ýk³ýkUþXþûrþXþû²þJ 4&+53232653#„þÛ9O%5ˆzºpŠŠc×Ä™aœÀÖýBþþ¤yùìbÉÅþV "32653;#"'&'5#"4'&+532¾”Zgo0>*m/2OŠë?*mbÀþþ¤yûŽ”fœ\gç¬É×Ä™10œÀÖAœ @ ÔÜ32tNN^luu)qJy}þ…wYYk\þžgþ«88†Aš3>32#4&#"#5476;#"µ)qJy}tNN^lu43r “B¬98†‚þ†wYXj\þž1Sw66WUæ­ë 3+532653#wtgr,B0ttý‚xlX6Vr‚™œ8.#"#3>327.bjtt%uT ¯ qkþ¶sa97™Œ832653#5#"&'š.bjtt%uT ü qkJýa97Q­€32653;#"'&=#5#"&'Q.biuB-r33$vS ü qkJýÕH VX66x a970œ¡!+33276?3327654'&+¬CGDD‰ôuj=%%(f{n!!!þ×|K((((K|éN;[--sþ÷?¡«5ÿ/.œB 333# #t‘‰‘t¹ˆ˜™ˆþéþéýýþ­À+5326?33Š1]O\D05 þâ{ÜÝ{bpEW(K/iþêÿÿìtëfÉÿÿÏÇ-ÿÿÏÇ-ÿÿðÂáÁšßïò452654DŽà@XX@rPPPPï=>X@?X=>POæPPßïò"'&4763"3òtPNNPt@XX@ïPPæOP>=X?@X>^Žsõ327654'&#"567632#ý(y6$$>q31210336­WEDGkM@*7K$@ ` XFh_@Cþ“^Žsõ#&'&547632&'&#"3ÓkGDFV­63301213q>$$6yMþAmC@_hFX ` @$K7*@)î¨f7@ º¹ Ôì91ôì290K° TK°T[X½ÿÀ@878Y3#'#“ö‹µ´‹fþˆõõ)î¨f7@ º¹ Ôì91ô<ì90K° TK°T[X½ÿÀ@878Y373ö‹´µ‹öîxõõþˆ$ç­@ÔÌ1@ÔÄ0#¬ˆýÕ+ÿÿ=b“öŠ$þÑ­ü@ÔÌ1@ÔÄ0%#¬ˆüýÕ+ÿÿ=þ›”ÿ/·¶#!!h²e³³þ›ÙJý'þ¶¶Ø#!h²eÙJÿÿßþò#cþÿÿßþò#dþ>ÿ”U 533##5#5–àà–àuàà–àà–ˆßJu!5!Jþ>Âß–ÿÿ/)¢HŒÿÿDÎVá{ W²È ¸@ È P{PÔìôì1Ôìôì0K° TK° T[X½ÿÀ@878YK° TX½@ÿÀ878Y#"&546324&#"326{ŸtsŸŸstŸ{X@@WW@@Xôs  ssŸŸs?XW@AWX¤þu"³  ¸@  |ÔìÄÔÌ1/ÔüÄ90!33267#"&546w-+76 >&Dzs5=X..… W]0i²7»@!  ÌÌ PPÔìÔì99991Ô<üÔ<ì99990K° TK° T[X½ÿÀ@878YK°TX½@ÿÀ878Y@?       ]'.#"#>3232673#"&d9!&$|f['@%9! '$}f['@Z7JQ†”!7JQ†”ÿÿXîf‘þ¡Þs%3;!"'&5þ¡k¸&&iúþñ¯WRý–d¤”™10œ`ZÈ¢%«¬ '&73733256µ²òþö¶úˆ¿¸ˆþ¼‹‡€Üù´‡Àñ/ààþŠ®˜MMŒVœ| ;#"&5#5!„88ˆ’hrº.EGWwl:Q[œv/).#"#"&'532654'&/.54632P1j8WV>](}24›‰8{D@}=RX o)k`‚@q a//$)*+MWfk2-*SIXaœ¿ #'#37±ÿ ‰Î͉úˆ¼»þÏþ¾ööH+ßß^œs#&'&547632&'&#"3ÓkGDFV­63301213q>$$6y[þAmC@_hFX ` @$K7*@,¥X!!5!þyЈú¨,¥X!!5!3þñˆœˆ4ú¨,¥X3#!5ˆˆþðhú¨hˆ,¥X3#!5ˆˆþ¼œú¨4ˆ,¥X%3!5ˆý‡ˆÐú¨ˆÿÿÓÇüÿÿþ DÿÁ«ÿÿîöfCÿÿÛîºfvÿÿ)î¨fgÿÿ²7w=b“ö¶¶ÔÌ1Ôì0!!=Výªö”ÿÿ»Ñ 3/)¢H ¹ @ ¹PPÔìÜì1ô<Ôì0332673#"&/w `WU`w ž‘žHLJJLDÎ@ ÞÝaÔì1ôì03#ÍÍÌÿÿ?F‘j™ò8Æ2#567654#"56Jæ24”C1xZ@Vƪ@$C!Xl05^ ƒÿÿVá{uXîf%@º¹ÔÜÔÌ991ô<ì203#3#ªà‰ ³ø‡fþˆxþˆÿÿ)î¨fh"#ªˆªþD¼ÿÿVîvª'“Ì“ÿ4Òîf#!#„͇ø¾‰ßfþˆxþˆxÿÿ/)¢Ü'tÌs/)¢H >32#.#"/ ž‘ž w`UW` )LJJLÕÇ" #3Äï»’ÇYïÂâÁ#55#53áñppñÃþÿ{‰þðÂáÁ53#3"ðñppñÃþþ†{Ûîæf3# Æqšfþˆÿÿyý¸Xÿ0CbøÊÿÿyý¸Xÿ0vÿžøÊœýÔþë53#5#5Lˆˆ°þ:±þ±ˆÌýþë#33Tˆˆ°ý²±걈s†^p!5!#Öþžêˆèˆþ£ü.q532654&'3#"&£=X..… W]0ihw-+76 >&Dzs5úþ ÖÿÁ "&463"Ö]]3GGþlb€¸bG23Gbý²Lþë3!5353›±þ±ˆþ:ˆˆ±^ý²Hþë#5!##±걈þcˆˆ±_ýIþë #53533##±±ˆ±±ˆý²ˆ±±ˆ±sþc^þë5!têþcˆˆöþV€ %+53276=YZ¥Í¹Z-,€”Ãijœ>>~”¶þVÛ€ 73;#"'&5¶¹,-Z¹Í¥ZY€”~>>œjiÃþcÎÿ/@ÞaÔì1Ôì03#ÍÍÑÌ?þd’ÿ.@ ÞaaÔüÔì1Ô<ì203#%3#@ÊʈÊÊÒÊÊÊþ DÿÁ µ ÔÌÌÌ1µ  ÔÌÌÌ0#"&546324&#"326D]\\]bG33FF33Gþæ\€€\\\2GF34FG˜ýâåÿ;@ÔÌ1ÔÌ03#öï»’Åþ§‹þu)8³  º@ |ÔìÔÌÄ1/öþÅ90@ IYiy‰™]!#"&'532654&'¼85xv-W,"K/:=,,>i0Y[ ƒ0.W=ÿÿ®þu#v $ýs­ÿ/#¬ˆÑþD¼Uýå|ÿ/#5!#|‰þë‰Ñþ¶ÂÂJÎþ9ÿX#"4533273273"h;tÚv gfv ifvÜtþ‹R––•–þâ)þ¨ÿ“@ º Ôì91Ô<ì90373ö‹´µ‹öþxõõþˆ)þ¨ÿ“@ º Ôì91Ôì2903#'#“ö‹µ´‹mþˆõõ/þ¢ÿ8 ¹ @ ¹PPÔìÜì1ô<Ôì0332673#"&/w `WU`w ž‘žÈLJJL/þ¢ÿ: #.#"#>32¢w `WU`w ž‘žþLJJLþ²ÿ5†@!  ÌÌ PPÔìÔì99991Ô<üÔ<ì99990@?       ]'.#"#>3232673#"&d9!&$|f['@%9! '$}f['@þX7JQ†”!7JQ†”=þ›”ÿ/¶¶ÔÌ1Üì0!!>VýªÑ”ÿÿþÑþmBÿÿþÑÿ]ÿÿXìy aÄ&h!5&ühh¤¤ÄÑh5!ÑĤ¤/ÿ –¼'‹\ ]`LÐMÿº°'ogDdFFJúþ ÖÿÁ 26544#ú3GG3]]þlG32Gb¸€Uþ€|ÿÊ3!53U‰‰þ€JÂÂþ¶Uý |ÿ/!!|ýÙžþëÑýÚ&þbþêÎþ9ÿX632#&#"#&'"#72h54'&' ’ˆRJ 6"”†RH Ç0PQn +0PQn ÿÿËÑ &33ÿÿÿïÂâÁ™ÿÿDÏtÿð¾7"#4%62#&% nþâþô~vüäéåüvþó®Žð<<ðŽìtëf3ìA¾ntòþæþVåH%#åA¾nHþòþVúÿ¤ #"=3;ú„X•3þV·—¤hÿÿ“þáò'ÿÿÛîºfvÿÿ?FºØ&jÍrÿÿ¬f&ØÍþ>ÿÿé/å`yÿÿÿNf&ÜÍýDÿÿþíHf&ÞÍýÿÿÿf&àÍýDÿÿÿµÿã\f&æÍýÚÿÿþp¬f&ëÍü•ÿÿÿ·f&ïÍýóÿÿ6ÏØ&ÿÎÿÿ%¬Õ$ÿÿ¦qÕ%ÿÿ×sÕJ%¬Õ1´/0ôä1´´—/ìä0@%%%%ìììì% !3ªþ¾þ¾†ûyÉõªyû‡ªÕÿÿÅNÕ(ÿÿœ‘Õ=ÿÿ‰HÕ+uÿã\ð6@ 26 25üìÄüìIJ€]1@—–—± —™ôìôìôì0!5!#"32#"320þqY‡š™‡‡™š‡Ó÷ýýö÷üý÷ǪˆIþæþ·þ¸þæIþzþ€~ˆ‡€þ€ÿÿÉÕ,ÿÿ‰ÉÕ.%¬Õ0´/0ôä1³´/<ä0@%%%%ìììì3#3#öÑÉõÉÑþÕú+#ÿÿVyÕ0ÿÿ‹FÕ1‰HÕ (·1  Ô<Äô<Ä1@ —ˆ —± — /ìôìôì0!5!5!!5HüAôý×)ËüAÕªªüòªý9ªªÿÿuÿã\ð2ÿÿ‰HÕVÿÿÅuÕ3xmÕ <µ 1 Ô<ä21@ —ˆ—/ì2ôì20@% %%%ìììì !!5 5!!þ9"ü Æþ:õüÞëý¿ªªA@ªªÿÿ/¢Õ7ÿÿ%¬Õ<uZÕ&/M@"2  &,2(0Ô<<ÜìÄ2ü<<Ä2Üì1@&(——ˆ '—  — /ü<Ü<ì2ôü<Ü<ì203!535&'&547675#5!67654'&'Ͱa|{a±“þ“±a{{b°“ñ“L+CC+LËL*DD*+v[sëësZtªªtZsëës[vªªü£*DžD*ýÉ7*DžD*ÿÿ¾Õ;uZÕ9@  Ô<ÔìÄü<ÄÔì1@ —  —ˆ/ä22ü<Ü<ì2067633!535&'&3ÍI.KË{b°“þ“°b{ËL-IÕü["W‘DWþ©þx¿— ÖªªÖ —¿ˆWþ©þ¼‘W"¥J‡´@@qqro prol ôìäôìäää991@ ø÷ù/<î2öî0353&5323!5654#"Jõ{n ðò!o{øþ1x†´šš³†x¬† ¼7oþ’þȼþß…¬¬LIÞæ þ÷æÞþ·L¬ÿÿÉN' ©uàÿÿ%¬N' ©uëÿÿFÿç•f&÷Íÿÿ©ÿê(f&ûÍÿÿÃþVf&ýÍÿÿ6Ïf&ÿÍÿÿ3iØ& ÎFÿç•y *'&'&3273;#"'&''&'&767þ,-±b=MJMU…Hi;c¤Í( #) Xn^T).\-Ærv~¡ çìo‰·ÜikÕ*þ½%ý¡Û1)0œT*XmY*–œ)‡——þVa!%#54'$Q¹Í«þ‚«Qã þ0kêþûEþçþšþìb6þÑþ=q'ª0½ þà þVm`&+532 3#Ü-^1FÂAÿF¿þ[¾D~ž°ýS]û þVª‰ÿãH" 4"32654&%&'&54632&'&#"76hŒŒþY(>íÅf2—BFUR I<' )iëy|öêéö{ßÚÖÕÛÛÕÖÚL (=\ˆ¤ $­+.! ”—þâþáþÓ-—&ÿÿ©ÿê({™þR&%#457654'&# !5!ø„OTJP£E* :ýµLýìfüþ.,KOxsPWKL,#%5,*3àe¹¹þaþZþiÃþV{.@ J  Fôì2üì1@  Œ¾ Âà /ääôì90#4&#"#3>32¹jq‹¸¸1¨s«©¶û `—Ž·«ý‡`¨`cá‰ÿãHÜ9@ D >ôì2üì21@ ¶ŒŒ›™äôìÄì¶ï¿@]ì0&'&#"!32762#"ƒ?HŒH?5ýË@HŒH@þëé÷öêéöö<⇙™‡â¸à‰šš‰8þwþþŠþy‡vs‰6Ï`@ ÔÌüÌ1@ ¶Â¶/ìôì0;#"'&'#5Ä"$lYo´RQÒ`ý+‘.0œ`bÔ;ÿÿì²`úD† # #'&#5‚ÃþÆþ~ÃëJ/š1Feú›<üÄ2ÆžÿÿÃþTž`wtB`!367676'&'3ÊþªÆ!xdLjºE.*ˆ±{`üT|¬p5dwƒY|rNįät¢þR8&%#457654'&# 4%$47#5! „OTJP£E* 9ý’MþèÜÐý‹ýÇKOxsPWKL,#%5,*áèp$ÅR¹¹þÝ¿ ª&Üþ¿ÿÿ‰ÿãH{RPÿÙž`!#3267#"&5!##P117,#J%q\þT´`¸ýPH?… ƒ°œüX¨¾þVT{.@ G  Fôì2üì1@ ŒŒ¾™ Ãääôìî906#"&'#764&#"326„èttèÊf™,¹nƒ䇅†ŠŠ†…‡{žþêþïþÉWSýÉÆ<†ý´ÖÚÛÕÔÜÚÃþR%{$%#457654'&# !2.#"ì„OTJP£E* :þüþÛ%QšNI“]­º]^KOxsPWKL,#%5,*8(8*,ÁA:àÐÑno‰ÿãk` 2@  D>ôìôìij991@ Œ¶Â™äôì2ì0"32654'&7'"763!a‡FHŒ¬<ÝΗr×éö{sñ§PSÕÕÛÛ’ù-¢þæä§- ™¸Ÿ2^!@  ÔÌüÄÌ1@ Œ ¶/ìôì20%;#"'&5!5!!æ$lYo´RRþ˜’þ’Ì0œ`bÔ¶¶ýã‘3i`%27676'&'3%"'&5#5!t–Z;jºF-*€…þú´RRÒ"$œ³v»f€wƒZ{sšáËÓ`bÔ;ý+‘.0LþV…h )O@ '#*° KQXÜÔYìÔ´0'€']<Äü<Ô´0€]ì1@'ŒŒ ¾™Ã*ìä2ô<ì2ì20"27654'&'2##"'&7673A\VMMG*ŠwÁ·Ç|~~hšA1LLNeË‘ýRh]ßÝc[„þÙþæ–˜þn‘™›,„m£Ks¾Øeg¯.YþVx`#&+53 3;# îŽþ÷¿t·/œ1FC ¿þ‹¶/1FþÿúzýÖ å~ž°þ„,üôþ~žƒþVN`%67653#&'&533Ä?>T¹‚y·y‚¹T>?·Œ@W¦ýxØ‘‡þo‘‡‘؈ý¦W@ÔFÿãŒ`&#"&'#"'&37676376' ƒ2KºU‚€XºK2ƒ¾~)@V"ª"V@)~`þøý¿{¹gLHk¹{Aþíþáâ>‘oRyþ‡Ro‘>âÿÿ6Ï&ÿjÿÿ3i& jÿÿ‰ÿãHf&Íÿÿ3if& ÍÿÿFÿãŒf&Í–ÿé$ # 76'&%$'&763 '7676] N“¬ŽI5í|Àuÿþítf €†ÒM2þŽCð6R¥¯6WpA{‰¡¥zýúþ‰á Ʋ—ÊÔþ‚Íÿ þýi¡˜õtÿéR$ $6'&'&'&7!2#"'&3276‹5Jg¬“NéþÝnð-R«‡€ €‰äÁŸ• ÃNr^ydPp¿w¦¡‰{Aª K¤û~ÔÈþþ}ÆÕÕÈëþSjœ~"§Õ#4''&5676'&­qO*Ë*d\txL—Jsåo@z8 vVOþú¥ývŠ´~*+4ª0þr‰51_”Tÿÿþp§f&Íü•ÿÿ"§N& ©umþVdÕ'#&'&7673567654'&'ĸ³h„„]¾¸²i……^½V5RR*a¸W4QQ(þV“y–§vaþŸx—þâþò§x¥GnÕ¼‡Fü½CImÖ¹ŠD9˜` !32376&7%&# 67#5!’ý°'T±ª¯Q0þäî'(íþç 0A_¨ýþ«Óþ+Tý‘÷ýß3þÌ ¸4þ‘`/&'&7'&7676'&#"56776327'5½ö!½`È=`ˆ[+Ž9[R~ö!*½`È=`ˆ[+Ž9[&͘­7 ðœclþ÷|Y‘DT„|Ë©hlà="îŒpl |Y‘DT„|Ë©hlýàfMZ  uþV\ð #"32&'&32‰‡š™‡‡™šÿ³_{÷üý÷|^µ ’þæþ·þ¸þæýÏ–"”¿ˆ‡€þ€þyþ|•"þj‰þVH{ "32654&#&'& hŒŒ1¸¨`{öÒ÷{_ßÚÖÕÛÛÕÖÚü þm“w–.þÒþâþá–v‹þRLÕ#"32#457654'&#"'&76)çÚMb°zYTJP£E* 9êŸ{Ÿ‹2e+w˜þÍþÎþÐTOxsPWKL,#%5,*Ëžnͱª›þR)`#!"#457654'&#"76))þ›ÁI]]_b…NTJP£E* 9»þÛ“Š eÄUlÔÑnoJOxsPWKL,#%5,*8(ˆÿÿéXÕ)þV#!47632.#"!!#"&'53276®ˆ`©1c3$R,x:KAþ¿‹b­9f.1d0W@R‚ Žd¤>QoþÉý?’¥s¤!K_`ÿüÕ7"'&76'&52ãn ê'BƒæQ_šý¬'BƒæQ_‡þ[~ý,`*l#½FR¶Úþ‘`*l#½FR„M #!3Mþç¸âý&¸âpüÆMý]!þVšð!#56#'0#0?&'&ªbT›B×ÀàáîŽ9[@[½`È7"7þÜ>Ž9[@[þã™þ÷|"Oš Šz:6hlà0%þÁ[Ml |"Ošþ÷Šz:6hlà0%?[M¾þVT{ 7636#"&')! $&#"32¾n×èttèÊf™,¨þhþÕ‡…†ŠŠ†…<†žþêþïþÉWSþsªÚ)¬ÚÛÕÔÜÿÿÃÿã%{FÿÿºþVMuÿã\ð&'&#"!3276 32† 5Dš™C6 >ý¿BC™šD@Ö÷þö÷üý÷qßopÞªþÕˆ†Oþzþ€~ˆ‡€þ€¢ÿã {!&'&#"!!32?# '&76!2 %%cj·f_¥ý[_f·€MJOhkþôœœ en('® c\©©\c§œœ(œœ ¢ÿã {"056763 !"/532767!5!&'&#"¢'(ne œœþôkhOJM€·f_ý[¥_f·jc%®£ œœýØœœ§c\©©\c ÿÿÉÕ ÿÿ¾þVTÀÿÿ‹ÿã1ð&VyÕ ! !###V»þö™þõºÕþ{…ú+'þ` úÙþVO` !!###Ìιâ™ã¹`þ{…û ²þ` ú¤UþVT{##5#537636#"&'!&#"32w¹iinƒÕèttèÊf™,á;‡…†ŠŠ†…þÆppª¬>„žþêþïþÉWSþ㪓¬ÚÛÕÔÜ‹ÿã1ð7532#"5>3 !"&‹I©XÅÄÄÅVªJM¢[?þÃþá[¢5Ï=@0230@=Ï))þgþ’þþj)ÿÿ‹ÿã1ð&0y‹ÿÿ‹ÿã1ð'yÿc4ÿÿÅNk' ¬uLÿÿÅNN' ©8uLÿ¾þ*o×/32654&#"##5!!676767632#"'4=N qjqjW.EËö~þC%0"@• X Uki÷Sþá•Ë —Ž*\«þo-ªªýó* % T päþFþèwuÿÿ×sk' ªHuJ‹ÿã1ðL@!—±³²—³²—–™21 0üì2ü2Ì1äôìôìîöîüî±I±IPX³@8Y0327# !2&#"!^À½¼–š°þáþÃ?°š˜¾¾£s•äþÖ}ÏR–oo™RÏ}þôþÿªÿÿ‹ÿãJð6ÿÿÉÕ,ÿÿÉN&= ©u´+1ÿÿmÿã¼Õ-ÿíÇÕ%326&+32+##526!Z}y^þþϬÊìŠv¦Ž•þý¨âþHã+úþÆý÷Wª"ÇÕ%32654&+!#3!332#!Z}x_ºþuºº‹º³wgþþ¦Ž‚Œ•ý)Çý9Õýœdý¨qcêÜãÿ¾o×"676767632#4&#"##5!%0"@• X UËjqjW.EËö~-ýó* % T päþΗŽ*\«þo-ªªÿÿ‰Ék' ªuQÿÿ‹Fk' ¬uOÿÿhm& ±Z‰þ¾HÕ 33!3!#‰Ë)Ëþv«ÕúÕ+ú+þ¾Bÿÿ%¬Õ$¦qÕ2@— —ˆ—  21 0üì2üìÄ91/Ììôìì032654&#!3)!qï°–ž¨ÌýEë{e5……þùþF†ÉýÝ{’‰fþ>¿d¡ËghÕÿÿ¦qÕ%×sÕ¶14üìì1´—ˆ/ôì03!!לý/ÕªúÕ!þ¾°Õ0@  ÔìÜìÔìÜì1@ —ˆ—/Ì2ì22ôì0%3#!#32!!3!7yªüŪM0'TËþB /ѪþBþ¾ìL Òªþ×àþáþáÿÿÅNÕ(ÂÕx@   Ü<ü<À91@ B´ /<<ì2290KSX@ % %ííY@ I:I:I:I:I:I:· <<<<33 ##'# 3 »Ïþá0ÅÞY»YÞÅ0þáÏÕý­Sý¦ü…Šºþ0кýv{Zý­ÿÿ‰ÿã7ð‹FÕ <@  B´ 10 üìüì991/<ì2990KSXÉÉY"33!#‹ÃøÃþÕû3Íú+Íû3ÿÿ‹Fm& ±Oÿÿ‰ÉÕ.FÕ$@  ÔÜìÔì1@ —— ˆ/<ôìì0#526!#ãËýŠv.Ë+úþ»þWªú++ÿÿVyÕ0ÿÿ‰HÕ+ÿÿuÿã\ð2‰HÕ@ 10üìüì1µ—ˆ/<ôì0!#!#‰¿Ëý×ËÕú++úÕÿÿÅuÕ3ÿÿ‹ÿã1ð&ÿÿ/¢Õ7hÕ?@ B—™ˆÔÄÄ1ä2ôì0KSX@%%%%ììììY+532767673 3å;E,LE\”mQ.-"þXÙ74Õ©žoJ+'¬/.M *5üÂ>BÕg@2  2 Ô<<Ôìü<<Ôì1@— ˆ—/Ü<ì2ôÜ<ì20° KT°KT[°KT[°KT[X¿! ÿÀ @868Y3#5&%>54&'¥II¥Ë ¶¶þõËúǸ Ë¥II¥<{ÜÇÈÜz þªþÿþüþ¬ ˜˜ WS ûáÜÈÇÜÿÿ¾Õ;Pþ¾•Õ $@ˆ —  ÔìÔìÜì1/ì2Ìì2033!33#PË)ˆªÕúÕ+úÕþB‰DÕ @— ˆ   0üìÔì21/ì2Üì0332673##"&‰Ënmuz[ËËv–~·¯Ôþ£PExú+’:Är`Õ &@   ÔìÜìÜì1@ ˆ—/ì2ü<<0)33333`üºàºàºÕúÕ+úÕ+<þ¾°Õ/@   ÔìÜìÜüÜì1@  ˆ —/Ìì22ü<<03333333#<ºàºàº†ªÕúÕ+úÕ+úÕþB uÕ*@ 2 ÔÜì2/ì1@ —± ¶ ˆ— /ìôìôì0%32654&+!5!32#ŒŠÊþûÏŠûþþú¦“……”ý)+ªý¨âÝÛãAnÕ ,@  2Ôì2/ìÜì1@ — ±—ˆ/<ä2ìôì0!3%327654&+332#£Ëü[fN+ôììüìÔÄ1@Œ"¶#¶(Œ ¾™+äôìÜìÔìî0! 3 632#"6/&4767676%67…þãþäŒý˜xÞÞ÷öêéû$[§€3#F#3ðbJÅ/°þPÕÛ{þÒþáþâþÓ3-§wR•I¹UA Ž  +tšÑ` -@¶ ¶Â¶  F!üì2ÔìÔì1/ìôìÔì9032654&#32654&#%!2#!‰ï_eUkóäUTTVþeªÈ_c…mÑÁþcþ“pPO^ÇþÏUCCV–špoˆuš¨ñ`@ ¶ÂÜìÄ1/üì0#!¹¸ðÊü6`–iþâh`0@  ÔìÜìÔìÜì1@ ¶ ¶/Ì2ì22ôì0%3#!#325!!3ïy–ý-–C7 ì¹þ„"–þLþâ´Æd ü64þòd÷!ÿÿ{ÿãX{H;—`x@  Ü<ü<À91@ B /<<ì2290KSX@  ííY@ I:I:I:I:I:I:· <<<<33##'#3¨ÿÇﳿh¨h¿³ïÇÿ`þP°þlý4±þ¡_±ýðÌ”þPÿÿ©ÿê({Ã` =@ F üì2Ôì21@B /<ì2990KSX@ ééY #33#bþ¸¸縸)ü×`ü×)û ÿÿÃH&Œoÿÿì²`ú`"@ ÔÜìÔì1@¶Â ¶ /<ìôì0!#!+53265 ¸þ_—º7#U^`û Êõ½þÑé–v®=›` N@B      Üì2Üì21/<Äì290KSX@  ííííY3 3###=¸ww¸¸þå¸þå¸`ýM³û åþáýÃ` $@¶   F üì2Ôì21/<ä2Ôì0!#3!3#bþ¸¸縸ýý`þ9Çû ÿÿ‰ÿãH{RÃ`@¶ÂFüìÔì1/<ôì0!#!#bþ¸W¸Êü6`û ÿÿ¾þVT{SÿÿÃÿã%{Fá`@ ¶ÂÜüÌÌ1/üü<0#!5!иþÉ&Êü6Ê––ÿÿhþV`\cþVec@    Ô<<Ôìü<54&xjjxÜÉÇÞ¸ÞÇÉܸ¸xjjÖ™õõ¢œ ++ ™þgþõþÕþÕþõþs€ü©¢õõ™ÿÿL…`[|þâ^` $@ ¶  ÜìÔìÜì1/ì2Ìì20%#!3!3^–ü´¸渖þL`ü6Êü6Ãb!@   FüìÔì21¶¶  /ì2Üì0332673##"&øknXrE¸¸5Œ‹ŒÈóoþ‘d]'õûžÒ+£}U` $@ ¶   ÜìÜìÜì1/ì2ü<Ä0)33333Uü(¨ð¨ð¨`ü6Êü6ÊPþâ¸`-@   ÜìÜìÜüÜì1@  ¶/Ìì2ü<Ä0)333333#"ü.¨ð¨ð¨–`ü6Êü6Êü6þLŒ`)@  ÔÜì2/ì1@ ¶ ¶ ¶ /ìôìÔì0%32654&+#5!!2#Îø|†‰yø¸ø°ÑíèÖœXZZZýþÊ–þ;§¨¨¤hi` +@   Ôì2/ìÜì1@ ¶¶ /<ä2ìÔì0!3%32654&+332#±¸üµS|†‰yS¶¶[ÑíèÖ`û šY[[[ýü`þ;§¨¨¤Ã8`*@¶ ¶     Füì2Üì91/äìÔì0%32654&+3!2#{ø€€ø¸¸ÐíçÖ™YZ^Xýþ`þ;§¨¨¤Ãÿã%{K@  Ü<Ôì2Ä1@‹À‹ÀŒ ¶Œ¾™ äôìÜîþôîõî± I±IPX³ @8Y07532767!5!&'&#"5>3 !"&ÃA˜`¬^S ýâE^¬]“INšQ%“’þüR9¿>;qd°‰Rp:AÁ,*þÈþìþ윜+Nÿã{ ?@#Œ¾ Œ™¶   Üì2Ô2ìÔì1/äÜîäîôì904&#"726332#"'##3ÍpLLqjUUeý9ŽÒßæš™Óޏ¸?ÆÙôÁÁêúþÜþÓþÒþçíþ`¨Ø`B@  ÜÔìÔì291@ B ¶¶Â /<ôìÔì90KSX·  ííY;#".5463!##“r7äã8rë5ªÜ–¸ÁþþaUmVüŒß‚§¨šû Çþ9ÿÿ{ÿãXm&lCâÿÿ{ÿãX¿&lj#¯#þVT533!!>32564&#"##¾¸Àþ@1¨|°¶úíy­j{Š‹¸Ñ´þLþs`cæßþ´þŽ.¥˜·«þûÑÿÿ m&jvQÃÿã%{L@ ‹À‹ÀŒ¶Œ ¾™  F ôÄ2ü2Ä1äôìÜîþôîõî±I±IPX³@8Y0%# '&!2.#"%!3267%JRþü’“%QšNI“]­]Eýâ S^¬`˜A9++œœ8*,ÁA:pS‰°dq;>ÿÿÕÿã{Vÿÿ²DLÿÿ²D&ój´ +1ÿÿºþVM Ë`%2+##+53265!327ÐÐ ½åRC¼'#U^5Ÿíè™iþ—™Êõ½þÑ€i–v®Žþ;§þ°¤Až`%254+32+!#3!3 ÐÐ Ÿí褽þ”¨¨l¨™µ´þ—§þ°¤ýý`þ9Ç#9533!!>32#4&#"##¾¸Àþ@1¨s«©¹jq‹¸Ñ´þLþs`cáäþ¾B—Ž·«þûÑÿÿì²m&qv0ÿÿÃm&oC@ÿÿhþVH&ŒzÃþâ` 33!3!#øç¸þ —`ü6Êû þâ uÕ%326&+32#!!5!53!ŒŠŠûþþúþ¬þûÊq¦“ ”zÔâÝÛãQ¤àऌ533!!!2#!3264&+ø¸©þWÑíèÖþH¸ø|†‰yøÍ“´þL“þΧþ°¤ÍüÏX´Zÿÿuÿã\ðaÿÿ‰ÿãH{×s@—ˆ14üìüÌ1/ôìÌ03!3!×ò§ý/Õ2þ$úÕòš@ ¶ÂÜìÜÌ1/üìÌ0#!3¹¸8¹¨üX`:þUsÕ 3!!!!##U‚œý/#ýÝË‚èíªþ½ªüÂ>ñ` !#53!!!!‚‚ðýÈ þ`ôª¸þöªþ ×þfsÕ#!!!2+5327654&#¢Ëœý/7ºqohfäL>†87||Çý9ÕªþFwrîþÎþô|zªKKÂ"ŸžþVR`#!!3 +5327654'&#¹¸ðýÈúHRRQµÁ¬n!&&1†çþ`¸þÏGQåþòÖ``œ07“ª )þ¾ÂÕ3 3333###'0þáÏ»Ïþáö:ªÞY»YÞ{Zý­Sý­Sý¦ý/þBŠºþ0кýv;þâ®`33333###';ïÇÿ¨ÿÇïÍM–4¿h¨h¿Ì”þP°þP°þlýÊþL±þ¡_±ýðÿÿ‰þu7ð&­·Nÿÿ©þu({&­½n‰þ¾ÉÕ%3###33VrÔþšËËwíý»ªþBì¤ý¸Õýh˜ýžìþâ²`%3###33,†Äþb‰¾¾ãàþG¸þ*Bþ?`þ/ÑþZþ¾³Õ%3##!#3!3ÞÕÕËý×ËË)˪þBÇý9Õýœdbþâ|`%3##!#3!3¹Ãøþ¸¸縸þ*ùþ`þC½q¹Õ 33!!!#!qºl"þ˜ºþ”ÕýœdªúÕÇý9}¯` 33!!!#!}¨šðþ¸¨þf`þ9Ç–ü6ýýÿÿ‹þu1ð&­dXÿÿÃþu%{&­hx/þ¾¢Õ %3##!5!!ÏÕÕËþ+sþ-ªþB+ªªáþâ` %3##!5!!ÐÃøþÉ&þɸþ*®²²ÿÿ%¬Õ<\þVt`3 3#\ÃIIÃþTÀ`ü”lû²þD¼%¬Õ3 3!!#!5!5%×lkÙþ! þöËþøÕým“üÉPªþ\¤ªP\þVt`3 33##5#535\ÃIIÃþTÈÈÀÈÈ`ü”lû²5–ññ–5þ¾¿Õ%3## # 3 3XfÔþ’þuÚôþPÙHNÙþAªþBƒý}¾ýÍ3ýBLþâ†`%3## # 3 3úŒÄþ¸þ¹Õ¸þoÌ)'Ïþo¸þ*Áþ?Hþk•ýèŒG×#4&#"#36?6?2GËjqjW.EËË#20@•0 X Uôþ Ú—Ž*\«þc×ýU'% T pÿÿÃKÿÿÉÕ,ÿÿÂm& ±Mÿÿ;—H&Œm‰þf¸Õ32+5327654&+#33s·tohfäL>†87||—wËËwíqwrîþÎþô|zªKKÂ"Ÿžý¸Õýh˜ìþVm`3 +5327654'&+#33j:HRRQµÁ¬n!&&1†Ý'¾¾ãàwGQåþòÖ``œ07“ª )&þ?`þ/щþfHÕ%+532765!#3!3HhgãL>†87ý×ËË)ËhþòzzªKKÂ_ý9ÕýœdÃþV`+532765!#3!3RQµÁ¬n!&þ¸¸ç¸Ö``œ07“ þ`þC½Œþ¾G× %"'&'&5332767653##|#3/@•0 X TËjqjW.FËËÕª$'% T päÑþI—Ž*\«zú)þ¾ìÃþâb%6#"&53326=3##c<1Ts«©¹jq‹¸¸Ã¸~3$2áä þõ—Ž·«ÎûžþâÖÇ#¸ùáÿÿ%¬m& ±G´+@ _PO@/ ]1ÿÿ…ÿã#H&Œgÿÿ%¬N&G ©u´ +@p0? /]1ÿÿ…ÿã#&jgÿÿœÕˆÿÿ)ÿã°{¨ÿÿÅNm& ±Lÿÿ{ÿãXH&Œlÿÿuÿã\ðQÿÿzÿãW{ÿÿÿuÿã\N' ©uÉÿÿzÿãW&jÊÿÿÂN' ©uMÿÿ;—&jmÿÿ‰ÿã7N' ©ÿïuNÿÿ©ÿê(&jñnÿÿÿä·Õyÿÿ}þLT`8ÿÿ‹F0& ¶OÿÿÃö&Šoÿÿ‹FN' ©uOÿÿÃ&joÿÿuÿã\N&U ©u´ +@p0? /]1ÿÿ‰ÿãH&uj´+@ pO@]1ÿÿuÿã\ð+ÿÿ‰ÿãH{ÿÿuÿã\N' ©uÙÿÿ‰ÿãH&jÚÿÿ‹ÿã1N' ©ÿßudÿÿÃÿã%&jì„ÿÿh0& ¶ZÿÿhþVö&ŠzÿÿhN' ©uZÿÿhþV&jzÿÿhk& ³ZÿÿhþVf&‘zÿÿ‰DN' ©u^ÿÿÃ&j~×þ¾sÕ %3##!!¢ÕÕËœý/ªþBÕªþâñ` %3##!!¹Ãøðýȸþ*`¸ÿÿAnN' ©ubÿÿhi&j‚ÿÿ‰ÿã7ðRÿÿ©ÿê({ûÿÿuþò\ð4ÿÿ‰þRwTÿÿÑÕ:ÿÿÑ`ZwÿÄZÕ'>53.'#".53327.'S5 Ê#"? F,X,p¨n®y@Ê:hVL4=_Ê3_,@ Jûô\’9 ž2D;x·| û¶,\L06k2€Pð#54.#"!!#4>2*Ê:iUVh:üúÊ@y®Ü®y@kß,[K00K[,þ#ªþ= |¶x::x¶|U|ð&##!".54>324.#"3!|}Êþój­zB?x­on¯yAÊ:jUVh88hV mªþ=Ã>ƒËÊ€;;€Êþ‘µ7kT46b‡¢‡a66›ð4>23##4.#"#6@y®Ü®y@»»Ê:iUVh:Ê |¶x::x¶|þaªþ=J,[K00K[,߀ÿãPÕ".53!!32>=3*@y®Ü®y@Êüú:hVUi:ÊÉ|·x;;x·| þ‹ªýÕ,\L00L\,ß`qð)!!332>54."#54>2q'@TXX$güCË32vvnU3%Mv¢vN%ËPмØÀT^­™€cA ªK¡1\‚¡¼i°n00n°¬ï”BB”ïxYÕ %!!3!!C‹üªËüꪪÕþ‹ª€Pò#54.#"!!4>2*Ê:iUVh:ü0@y®Ü®y@kß,\L00L\,ü`ª |·x;;x·|+ÿã¦ð*:"#4>323##".4>;54.32>5#"…¸yHÄEƒ½xw¼ƒEƒƒ2Y{IHzY22YzHŠF°"2#"4#Š$3!L1j«yüs¦“Ü’IK•Þ“4¯þãk¥q;3l¨ê­r8{­nüÚ¨m?AkP@Uÿã|Õ&33##".54>3!"32>55Ê}}Ay¯no­x?Bz­j þóVh88hVUj:Õþ‹ªþBÊ;HÖØ‘KªBq“¢”pC4Tk7“=Õ#54.#"#3>32=Ê:iUVh:ÊÊ6†On®y@îß,\L00L\,ý3ÕþP&*;x·|š6Õ3!!šËÑüdÕúÕª]ÿãtÕ2>53".5##3ˆ $=`: ºI‚Ò…M·ºº`ý1Kf>>fKÏýIw«o55o«wüOÕþ‹6ÿãšð)A33>32.#"#".5467#2>54.+6·4/s†–R<]QN-k¹Oa”8¡û­[4Sz¤jŸÍw./-Šý%Hq¦sK* &J¼… +%Õõ?eG% ×F6:4T¡ïžSŒvT0d¯î‰€çeþ4?yl[B%#?Wgu=@ykX@$aë“=Õ!##".5332>53=Ê6†On®y@Ê:hVUi:ʯ%*;x·|ý3,\L00L\,X[ÿÊvÕ%.54676$73vüÞ4[C'h{uŸµîÙk˵˜n>7<–Ì@/7B(=gb²V;þ‰3qqm`M-_ÿÐrð.9.'#".4>32>."#54>2"3267.p^QeLœ#H$XÍpHxU//UxHgÀX2:%Mv¢vN%ËPмØÀTýB=IG?L>D‹©þÍ|nƒf6a-S^&JnqO)MBaé´n10n°¬ï”BA“ïýkI‚HME23!4.#"#6@y®Ü®y@»þ{:iUVh:Ê |¶x::x¶|üžªJ,[K00K[,ßVzð!"!".54676736$33!zmï‚ÙüöPâ•£„þþ®¯¾üzsž3D3y-^6ÿã›Õ!#".5332>5…»@y®Ü®y@Ê:hVUi:Õªüž|·x;;x·| û¶,\L00L\,@ÿã‘ð9 .532>54.#!5!2>54&"#4>32‘<}ÂþôÀ|;Ò!Hr sI#(MqIý°PB];~ìyÒAv¥ed§xC4L.Dc@¼_«‚MMƒ¬`AqU1.Ql>?fF&ª*GZ0vpq{[”i88g‘Z;hS<G`s6ÿã›Õ".5#5!32>=3›@y®Ü®y@»…:hVUi:ÊÉ|·x;;x·|bªû¶,\L00L\,ß`ÿãqÕ/2>=3".54>7'.+532'.#"3&Nw¢uM$ËPмØÀTKu‹AZ8n%-{3~Hûô (-/HuSÒü¯n20n¯€­î”BE–í©¥òN(ªÕÔg N“=ò!#4.#"#4>2=Ê:iUVh:Ê@y®Ü®y@J,\L00L\,û¶ |·x;;x·|`ÿÆqð'4."#54>2#532>ž&Nw¢uM$ËPмØÀT$>PXZ(èüûî ^.HuSü¯n20n°¬ï”BE–í©q¶hD!cÒEÔeNAð##54>32#4.ǾVi9¾>†Ð“Ó7¾9iGü”l Ip•X*9‚ØœVVœØ‚ü\•O•vO`pð)D4.#".54>32!!33267>4.#"32>†1N7VvM*0Nr™c”Ê{6DoLgüCË(^E/ %H>LpJ%CR¿2R91AGH 8{vlQ0e¬â~yåÁ‘%ªL¢.+4^êdªzE 5GOP%)=(4[{G(*añ6›ð4>23##4.#"#6@y®Ü®y@»»Ê:iUVh:Ê |¶x::x¶|þaªþ=J,[K00K[,û¶“ÿã=Õ332>53".5“Ê:hVUi:Ê@y®Ü®y@Õû¶,\L00L\,Jûô|·x;;x·|!¯Õ332>533!#".5!Ê:hVUi:ÊäþR6†On®y@`þ¨,\L00L\,ÍúÕª¯%*;x·|iÿãgð=332>54.54>32#4.#"#".iÒ0UtDAmN,Bk‰‰kB5o¨ts¬q8Ò<]A@]=+IbnsnbI+A~¹w{ĈH¿KuO)&IjEH`B.0:Y_Q‘n@@n‘Q4W>"!;S25K8)%&1A[zR`¥yDE}¯“=ò#54.#"#4>2=Ê:iUVh:Ê@y®Ü®y@kß,\L00L\,û¶ |·x;;x·|@ÿã‘ðD"32>4.'2 .532>54.#!5!.54>Ú^66^IB]96¦j¨u=4L.Dc@;}ÁþôÁ};Ò Gs¦sG (LpIý® 1!=u§L&AU`YC))CY`V@Ê:i”Y;fQ:Ibq9_¬ƒNMƒ¬`AqU13Vq>:_D%ª9DHY“j:‡JÕ!!#RøýËÕþ‹¯üOÕFŠÕ +3>4.'.>753#Ia;;aHÁIb::bIÁ‡®e&'e­‡Á‡®f((f®‡Á³/g¥ð©k23k¨ð¥g/ûëW›ÜÜœVzzVœÜþêÝœW3ð.4>2#".'!!#5#5"2>54.ò7s²ö±r66r±{ JJBÔý,Ê¿äœg>@i˜d;<£•_¡vBDv¢^`¢wC *þº¯ôô¯©(Hf|gK*'HhA>fJÿÿuÿã\ð2GÿãŠÕ)3>#"&'.=33"&54>;5"4.#2>Š/P?ESb;l¨7>73y˜)Jg=2yjH˜'F_7D„jAñ 1O@;jV>,MÿÿyîXfCb²è*#4>7632#".'332>54.#"Pž7dV=BC„h@"Cb@*QG5 ¥6& 4G)20‚}ñs³ƒV$MvR3YB&0K6 %*?*  üñ3!¼ŒÌñ#©zgÿåi`'%#".5332653327653#5#"2"hKD];¨ HO<¨JI§§!c?–rHE.qÀ“‰ýw“9zæýñ78=?äû `32¹jq‚ŠªýV¸¸1¨s¬¨¶ôô—޶¬þþV ¨abàIþV‡w %#".54>32533## 6& &-˜fe¡p<32Ê””¹jq‚Џ¸1¨s¬¨¶ýÙþV`—޶¬ý‡`¨abà¤ÿã-3!!326=3#5#"&¤¸Ñý/kpƒ‰¹¹1¨r­§¨lþLýח޶¬ëý0¨adàIþV‡w%#".54>32533! 6& &-˜fe¡p<32¹jq‚Šªüž¸1¨s¬¨¶ýJ¶—޶¬ül ¨abàBþVŽ{+;.#"#3>323##".54>32>7#",U}RMsL'¸¸"IUd=f§wEeh Gfz>HsR,5Wq<%A3$Ä2("5/f¡q<*Zeûë ª:L-S™Ú†ƒ«f)'JiANsK%þ< IvV)=(5)Iÿã‡%!"2>5".54>3!33&þí;`F& BeŠfC ¹6q¯ð­o42n­{¹¨Ñ:l›ae p;32¹jq‚Џ¸1¨s¬¨¶—޶¬ûݾý¤abàåGþVŠ`!!3ÿ‹ý½¸þå hþVh+327653#5#".=4'&#"#3>32¼JI§§!c?H\3JI§§!c?H\3ßñ78=?äû `7%32>54.'#"EZ!%9wµöµv9=iŒPþñÏ”jAþCmPOmD5.™NmD`ª2onf*zΗUU—Îz‡ËR³!b—Òý·S•oAAo•S3omf*Bq—¼þV332653##"&5¼¸kpƒ‰¹¹1¨r­§û”—޶¬{ùöRadàåÿÿ½Kú«ÿâ%/D#5#".547.546?3327>32>=4.'D)ZwG¸?Uh;Y‹`3Ķ9T83Ç9 $2" 8þC9W=MlC6_K9cI*,± 5~’¤[ýÿ¬,J6Bv¦eÁ`›-?N( ?OU010$ $üªEvV17]{DV3ywl'5{‰•rþV_{3!4&#"#3>32Ê•þ²jq‚Џ¸1¨s¬¨¶ü/`—޶¬ý‡`¨abàŸÿã2*=2.#"#5#".547#53>32>=4.'Å 86jd](xÀ‡I¸?Qf>\ˆ[-86‘Ò2}–­þ'CX0Kg?-bšm18— *MnD O†·rý¬¨,H4@qšZ’+Œ^ uAûŸXuF54.#"'>32 ýt*D07".546?3267Ïý¾#=/"?p½ŠM  þå+A,:ˆ“‹€4 ElL<{7`q,`/'8% qZ×Õ¾A'gþVi`'%#".5332653327653##"2"hKD];¨ HO<¨JI§§!c?–rHE.qÀ“‰ýw“9zæýñ78=?äùö 54.54>32%">54.):_y~y_: ýt&C1RH $7@7$IxšPf­}Fþ*+VD*-6-2?ƒkD)KiëOš‘‰}p_N+9 BI;=@#5ZRLQY4O†`65g•—4N3!ADFLR,QO=‚‰‘K?`B!„M{$"#3>32!!5>54.;>`@!¸¸1¢ycŽZ+7R5)ýý?\<=cÛ4ZzFýs`¬dcF}®gS‚v9„4myŠPIa8ÿÿ½ÿã^XúfþVj3326533!#"&f¸kpƒ‰¹¬þ›1¨r­§¨¸ýH—޶¬/øÓ‘Radàhÿåi{,!#4'&#"#5#".53327653>32i¨JI §!c?G[4¨JI§!c?G[4ñ78=€eý^`32¹jq‚Џ¸1¨s¬¨¶ýJ¶—޶¬ûÝ ¨abàÿÿþH4{J"ù×`%!!3±&ý"¸`hþVi,!#4'&#"##".53327653>32i¨JI §!c?G[4¨JI§!c?G[4ñ78=€eû´ 32#"&&#"32ˆòý¹xx¹.™de¡p<;p¡fg—‡‰‰‡†þ»ccTVR™ÛŠ‡Ù—QV®ÙÚþTÚÿÿ‰ÿãH{R(þV¨$+6##".'73".54>;2"4.#2>¨8z˸K€nb-{!GP]8b›n::oŸf¯ŠÂ{9ýH}t{yK€c^M!C‚ךUþ[¥7P2€,J5.-PpCHpM'þGH‰È™+OHBRýåZŒ`2üÒBu¡Hÿãˆ3326533!5#"&H¸kpƒ‰¹èþ_1¨r­§¨lû”—޶¬{ü/¨adàÿÒR%3#3#ÿÓÓÓÓþþRþd¤mƒ$7'dƒ„ƒþü‚ƒ?9¤8>1ÿÙ–"$/#4'&'3767653653#"''##53— ra{ .r &q,bS !¿žöþ/”ÓÛ#12jÿî{¢Í@E#$]|0q«!<"üÉ5üÇDƒúAÛb1ÿÙ–)*5"32767#"'&54767&'&'&76'##53|LAV:218UG&/=8O6-N@?_F?D(7-"ŽGqžöþ/”ÓÛ#)^ %$ \*$@.!* n F?\KH* #TH#ûÃ5üÇDƒúAÛbZw %3#%3#3#%3#ô´þ˜´´þ ´´” ý^ úúúúúúúìÑ %3#%3#%3#3#%3#´´þ¶´´þ¶´´þ…´´Ì þ& úúúúúúúúúìÖûì!#53©Ó¤R¬@þÀdýmñ 327654'+53367657M593¯pQf$h?FA@6b !©eþ¿I(R[2*Öû #53 3#©Ó¤RÓÓÓ%¬@þÀý-þÚ÷ð$%#5754&'./.54632.#"Ë'/XZH߸gÁ^a³Olƒ39ZZ8þþþ“{4<5/VV‰LŸÂ89¼CFnY1^5YV‚eš²U-Þ"%56767&'&54767632&767²/SD4Ž35gcbnZdF31`È9:H:ZÍçU°!LOTAKv?=¹0ps2#¹ÿÿ½þ &U~ÿÿþóÑ[&r}ÿrýä Ä3# ¸¸ùìÿÿEþȰ' ¼,þÈ ËÿÿÞÿÆó' ½q„pÿÿEÿì° ' ½¸Š ËÿÿEÿì°' ¾¤Š ËÿÿXþ ­f' ¼— [Xþ ­f$$27'&5767&XÃ$ÄþÚ×àJÁÔ–úþ”©ƒÔ`‰eŸ‡_'@5š ´¼÷‰^£v¸bĘÞße4)ÿÿXþ ­°' ¼Ê[èÿÚèj%67654'&'3#"'532T®!þµ­ ¸€’ÿÿÿÌþD¶' ¼U _ÿ$þ˜î?%#"'&7673327676'4/37653323#"'&'Œ &!UNBAE3I0<¨^yM\dsÕè‚ቬ+;H2zm¥^\꜑#P}g£x&þªŸ™R" C~m8(ÿÿÿ$þ˜°' ¾c aÿþÀ =%327654'&#"67632+"'&5#"'&5473767654'&'3H€Ij($@GgLÄK1Žš¬ZX¸Ú%5,0.3cM‚[|d¬h<2=B%A ! ª ¸.DF-%!mN€<±RNy¾mK¯ƒ+VZ˼¬Ìœ‘2);jˆh>ÔH7(ÿÿÿþÀM' ¼O·c ¤ %327654'&#"!#53367632,ŒIj($?GhKˆýûàà¸L1Žš«[W¸~¸.DF-%!mNþظ\û€<±RNy¾mKÿÿ ¤' ¼Yezþ ·**!27# '&54767&'&54763"32767XwSÁÔ–úþ[¦bWqM3/XÌ|üÃt]0-.()žþþïìѱžv¸c¼oɱeƒ8‚ÐM©A4hKE¸•ƒ¹uÿÿzþ ·F' ¼}°gÿìå¸#5!ù¸¸ÿÿÿ¶ÿ¤ŒÌ' ¼ü6 Óÿÿþ}t' ½S~ ÌÿÉŸ!=#"'5327654'&'&767663#'&54733276{J&P DfXRNB8D-<9wLR! Xn*' X &/.Q&+üÑ8±üOþš\ˆ79L¸K5:,]-#4CþÈK%63#"'&&733276u¸2le–¢cwò@¸A¦(IiTcI9(jû–þzGœ1H*VŠ\ss~B")‚þTó.327654'&'&#"&#4763&547632#XzL,5;(.;Dn2KÈxAZ¢M\MO¶bxX²'*9:X DD(ÁNOþì­f7*(”„?$S§-8’APÿÿ6þµ`' ¼êÊ ÕÞÿÆóÞ"327654'&'2#"'&5476B!799[]KB{˜Æ¶“¥„`Q§%T*WE{R,,9.UMAx³ |”ÈKU#JïµN¹Lþ 3† &"4'&!5 767&'&'&547632á?,3/ÀV%.¬-º¾þjs¡à1v-‹3tÓ9>YHƒÄ9!$7+(¸;þôþÚ®.TV¸Lh‹+b‰ÙZ3[ŽfþóÑ5%#"'$47332767654'&'&767632#4'&y„à±]HþÛ?¸B¤KSxlkA;"„b^M`72¸'#}[7 Ã0&huqƒc“-##NG".*3:,ƒ–=2IB‰="9), g:^Mÿÿþ Ñ' ½rþ rDºŒš5%5%DHý¸Hªn‚nþŽn‚nDºŒý&567&'&54763233"/#"'&5332767654&#"t$!lD?I'8 .4LT^s7Z $08ž " ,d$* 9^W4'6O'&n=NVš)qaKî" %DþŒÿö5%%5%DHý¸Hþn‚nnn‚nDºŒª5%DHºn‚nD¹Œý/&'&54763233"'&'#5276767654'&#"’ lD?I'8" +EÉ“™‹V  ,º 8_W4'6O -n=*{nmp" %DþèŒÿØ5%DHþèn‚n0Ë ô('&54737676537654'3'&x!9EO)"a 2=`KG g&ZG„M'DA2omb}8T"¨RY$6Å­s9It…6X !Váz 4&"2>#"&4632X€XX€Xzžtr  rtô?XW@AWX³æ  æŸ¹ÐÁ732767#"&' gC*6:*kWZZB6"˜D¦6{S )L}@"F€ÿÿ½¿wŽÿÿ½þ ÿÄŽøÚ\îv4373Š‚‚ŒÄîFÃÃþºúÂÖ¼3#úÜܼú–< !#'3<´&1›ÄyI ©Ü!nþÝþ”›š8#'337673#"í ´&1›ÆCR´z6 ´*bôoajr›þ©Ü!n›˜•UPymþú†L%#'37676537653#"'ä ´&1›Ä/(0H´/<´(Fœ„!34.5WY¾þ9©Ü!nr|> @2¦Þ%,*ÊþÏ;l>3 ìÿìä *"2767#"'&54767&'&'&76`ygˆ\NNY‡p0.VþhG ”ŽhR¤cÏplþ¶?¸AËOXj<9U9iÊDGTOAŽÑþÂ7.?#¢›ou\N/ b Š\^ˆxHÿÿ ÿ§a8' Ǫœÿ½“å&6F('&5473327&'&5476&'5#"'767654'&#"%327654'&ÝþÜCv¸-(;G--0M,QÛÜ;(J¯ƒš$"':AGb 41~!$@€K5:,+  iEN@TSZ '¹C´ÖÙ49g=qlä@H=.%4-+#%v¼%'Šr.C!0B7,gŒ`áo†6ÿµoU%m—¯`m!´3/AbM3))´I˜·áÿÿ~R‡ÿÿ~Rˆÿÿ¢0‰>ÿëd{*>@ #% +ÜìÌÌÜ<ÌÌ/ì1@™%+<ôÌÜÌ@ (Œ!¾,ü<ìÌÜÌ0%&76'&&76'&#"547#"543263 #4#"??BL??B¢ÆæôÊÊ‘,L½–¸â‰WôBA?>BA?>üÃÍÉÊpпQQþ¾üÇ9ªŽlÿÝ®Œ,"2"54767$32632&#"# '4%7654‚€€DÒ¼»—åþ˜¶þãçJÖPžŠ†i?3Ìkþ]´²ÖþÈKM?o€”ä‰abþ©íu;\SfŽÕa‘ùÆŽ:F‚½78UØyÿìPŒ8327&'"'&#"%47&76$#&67 #"'632Y60I616þ®*, å!¿¸©±›*:ú9«ÌÌþu`þ0'"/Ü€6OÓÙþàþÖý¿A·¸K¥¥ %[9.ȵöþÛŒ!463 #"&'7325#'&&7'6÷¢Ýe›ÌÖt ½!y¯‚×Ñ×CBB¦quýôýþùðÐ Ñóßh!Ï ACBB|ÿÿUš )"32654&24''&5432#5476n$ % *ú|{¸eÈÙÚô6þÄÏL¸j` %"%:yxþÙý~)ŽR¦·Àh•††KKª>ÜaþÉ‚ 9"32654&&5456767$ 3276320! 54-6546$ % #ÒåvÊÉþŠþû©dz]#x—†°.þ¤þ>åþâr>>$o %"%þìÑ…}@þ¼Ö~Y9pe·DØóþµQcFÓøâlWNn©-7V¼sÿï\• ,2654&'&! 3%$4567&7'7×$!% ‚/@¸þþ¢¦l´À~.ZA“¤ $! $ýŒ®¸?ýÁý´=‘Qmê.°ºu½G4 ¡{ÿãV{,@ /üÌÜÌ/ì1@ Œ¾™<ôÌÜÌüü0%"32544$#"54$76f@@@øþÊþËçëÚÅ)ë@@@@ëÉÃþPßÈÈŽÇyxÌüÇ•ÿâo¡ *%"32654&"#" #"5323272#4#"€$ % äzw6Õûòƒ^"$J…ò¸7fñ %"%ú&áþPÄÚÒ–Wþàþ©ü¶0Ûþàþ>{#$"2"22#"5#&567663 #4#"&€€þ퀀¦ñÚÓ!§³‘7y‹ž¸ô{^Ü€¦€ýݹÃãI¾²edÕmúÛ%£‹jÿãh{'>@ $/ü<ÌÜÌ@ )ÜìÜì1@Œ"™)<ôì@ &Œ ¾)ü<ìÌÜÌ0&7'64323254#4%$7"6CBCþôÊØþª²ü¤bRþ¬þ°ØÖBCACK±­ÊàÔØ¼Jþûüjeý·þ­h0šKÿãTŒ 24#"53265$54767653!"'#€@>¸z]Uþèâî]x˜¸þ´®TrÙs€@ü0eœgÌÝÛýu©±/üÑþ²ss}ÿïT|"247&76% 3%$©€€þÔ¶·åíþì%<¸þ þî€ýÒÚÄ&¶Ä¼—þѨÌ'´ýLþB}ÿïT"247&76! 3%$©€€þÔ¶·åíþì%<¸þ þî€ýÒÚÄ&¶Ä¼—þѨË'hû˜þBcÿïõ J"32654&"32654&+&'#"'&5432'3253765&7465&'7„$ % ý’$ & àcge…~PLÒØñfЏrtóгJwT˜\Uú &"$ %"%ûöIJTOšbßÅÇþo;„„4þË‹‚̨јP6A^g[Ãoþ¤PIcÿïb$0+&'#"'&5432'32537653"32654&b\U{cge…~PLÒØñfЏrt¸üÔ$ & ,¤PIIJTOšbßÅÇþo;„„4þË‹‚èýå %"%eÿïl} ,"32654&2537653%&'# 47&76b$ $ 0n¸uh¸þàigeþÞ˜ŠäíþÖÒ %"%ü³§4þË®¥/üÑþÀIJ=ð¦%žùÛþª§eÿïl ,"32654&2537653%&'# 47&76b$ $ 0n¸uh¸þàigeþÞ˜ŠäíþÖÒ %"%ü³§4þ˯¥èûþÀIJ=ð¦%žùÛþª§ÿã``3323!"'#"543225c¸½Ð¸þxð)3¶Æœ)`ý,þíÔüÅþ¾88œ–{‹sÿï\ ,2654&'&! 3%$4567&7'7×$!% ‚/@¸þþ¢¦l´À~.ZA“¤ $! $ýŒ®¸Úü&ý´=‘Qmê.°ºu½G4 ¡dÿïmŒ +"32654&&! ! &%$&7676=$ $ Wþ½ýó6¸t±Óþ©máþ2þ§ßÒàJŽÛX $ $è8$Ü{¼Šžþþš²{ÌÑN&aÿïpŒ .%"32654&%&'&'&7!2765!"'676F% $ þôèW‹D ãÏúNèbfPþÆå'·Gø!$ $•þ‰ýÔúÝT·Öë‰þ®¨rJco<ùoÿåb{"326! %&$'423 54! P@@<þô)½ôþ"ðþÜåÙFþÌþéT€€ÎYþ×ý¸þÙœÓ×=IØÄÌÕbÿï"œ 2:%"32654&%!$76! 6'&'7%&'&'&7!276 54! H& $ JFþêþ òŽr cž€²þôèXŠD âÎûNèbfPþ¤tþŒþ¶ø!$ $=™üéš1T„v® ’—ýÃúÝT·Öë‰þÑEmMdÿè½™ 6"327$"327$7&76365+&7632676#4#"€A?‘€A?îþ`‚ŒƾºßṦ¢5@V÷¸C?/@@@L@@@üE>©/™µ²}ÌþŸ¶µ ·©cbþºü©WZýšþ³wÿïjŒ %-"32654&7$%&'&763 54\$ % ôþùúþ ʪ†Üí=A8)SUþÄþÀB<S %"$Ð36þÑýŒûH9ª×ØG)#¯$67œšŸUÿïÚØ 6"32654&$'&%$76!232'&#"%$'&762$ % TþÀýþžˆ\oEh@”Mó‡qKUÒPæýðþìˆnà×^™‹ %"%þùþÃ+DçüYl0þ•yP^d6QþÁþqt^}ßÖ]F0ÿ&©¡$"2''&'$! '&5"32?6*€€Ê+=x¥‚×þâ ˆÓÔ#esZŒ¯hàþá €û™†N)=‰»“mÎØÍÍÃdĽþÏÿÿ[ÿåd€'ÇÑúÉÇÑýuûŠÿ“ ! &7623$54'74"mþþ¶Ãåñ#!AVЍýB8?þÿ¨kÙØP$U.FŠŒ~>=!{ ##"2#"5324#j·¸ÿ¤=Úåá¦;C>{þjýËVÁÇÇ®þ‰nnÿÿüÅ!r&È×û/Sì~i! ! !5 74! $þ&þ>þºþ˜%»~?>þÂþÁ~»ÅSæi! ! 3!= 74! %þ&>Ôý©þºþ˜%»~?>þÂwJ„~»ÅSì~i! ! !5 74! #5$þ&þ>þºþ˜Þî%»~?>þÂþÁ~»ÅNÜÜSæi! ! 3!= 74! #5%þ&>Ôý©þºþ˜Ýî%»~?>þÂwJ„~»ÅTÜÜÏý3‡ÿ²"36654'#"5432¿‚AA\(D³ªeN[̼þÏo[$žºN[‹uÖxýŽ™ÿ¯"325"547&5423253,ró>Jêm‚ž„²,þW’s> [yu?{EBXFþºÃEŒ '656%"'&76! 4"3Œ¨ŠVþ¥A!. Ùå{x9üá’f>.`h>4È‚A?×~= h‚\$…kb8:;-F¡_Zkf2)Iàˆ 53533##5JØŽØØŽ¸ŽØØŽØØÿÿÿðáÑP–ö;r 432#"324–ÔÐÔЄLT¾´´È 3z! 473! 4'$33þ1þ=P¾U½þܵ~iïþÉibcWþ·OÖJf¡3‚ž4! %56'&53!! 4þ<þ1ƒ£µ~¡k¼þïþñ  ýà!«TŠx½Y9¹vþwsþ•þknþWa!%! %674#"&5! % %aþ þlÕ·‰._‹z-³þ¾þ¶FH+þ,ÔÍS©Ž‹.+RLo þÛ¤TnþµBþ½þÀ7þWš !,6752363 ! 54+"&$54+"32Ý(TþÞX[P<ªfþ¦þªI+yhÊZþËtÔ•Gwº™á, ÈÆbbþ+þê]þÄmþLþÿȧVÔñ¶÷þè þW3! 473! 5 &5 3þIþ%¼$þ&>°8– þw’js…þûñ¤ ÞoeK…rþdžþW2'! 673! =4+5374# #&5! 2þ4þ:iÀp íIIâáþü-¡<±žåí-þ„˜]mxRþößbóŒðóÊXxR~Xþ{Ñ\+þþž2 ! 75&7!  4'"62þ5þ8ÈÈTW\F¹þëþõ ;¨º¯øþùIJ:éQþ½›U-þ\pþþ˜!ÔÖÚ7š %#65+"! 5!2363 6#&32šï¢Ô„!SþËþ‡}’GJtAýªFW´¥¬HCþ¢§®Bu¶Üþæccýyi‘þï½þá 2#! #&! 2ð’ÉþüþæÆ”îÒÃ#þ¥Ècþ þæþôÏZìžþY4! 473! =+53254!5 4þCþ(p­bîAAäþZZþõþw§‹fq€þæü2˜Ææšþ€Ð11þØ þW2 #&$'6?! &65lþí_¾$þ³^M>p ùÌÆvŸ\ˆþ½þYþ1x°Oh_[ ‚Ëþ)eµœ¨uGž4! !234!#5!  ! 4þEþ%ËÄDþä軣˼ýâïþ  }í˜>>&þ†ýT—þ‰þ‚Ÿ2û! )!"363! %2þ2þ:MÎþ#@¸͹þêþï$ýÜê¶[°þÚ€þ gþ…þ„7š ##654#"#4+"#&=!2363 š¼³³™K@ BM”ËÂÇ{hIF`€ÆìÚÀÏ×ÏþëÏäþüÖÀáìfØhhþ& 4!! 473! !#53274%$534þDþ'e¯[þì?R×þéþܬïWºèÚþ&²·Z~“þßIJ‡È•!6°G))þûË=iŸþY32! 3! 5 '%5%3þ0þ>»'þMÝýñhþ˜”þkoã ¨4>>HS2>+3ö‹|'! %!5!$! 3#3%! ! 5)54!  þIþ8Äþïþ<̳rrrþäþïþú ýéþ÷þò¶þ±Of¡kQþ¯Ø”¡²ÎÉÓcÖØÃ7þXš!,!"'#!52'4#&3$5!23634+"32šþÍ~ þ³· Mas€þÂ1·D>¶3½ˆLI§v–þjt˜þ|Žç ²½þÁÙ”xðŒ‘‘þuþ®¡¯§þƒÓkþYf!! %$54#"'! ! 4'7fýõþGD˜µ¥ `Uþ¯þÈ6I@šbþY§srg¼Ÿ8A:þ¨ÔƒMþîþÜ){6\l¡þY4(3! 4%7%#"'#% 3! ¡­#þù«þ>¹U&»þ;þ3þýÌ¿0ý±?âþõþ7YãþûþpŒnþWc$!6=3! 47$$5! nöþ–þڞòþŒþªïþd¿?;þÅþÀk¹þHþë©užµŒLLþæ8çTWJÿ&)ü* ÿy¤54&#"'675&%'% ït_‚C‚Ctìä§þy‘þ`þÜ^q²|‡ytJf­Iµ8ý=\ þÛ£Êb*“#2®ã 3#3#3##ÀÀѺºþ/½½ã°½®è®•õ;2"4;%"4#"32lÐÕѹëþþFí|pux$þïþãLµRQžÂ´ºÉ)ÿã°{ B32654&#"26=%!>54&#"5>32>32+3267#"&'#"&º1©xYS\JþM®LþëepO27„Gn• '…aœ£È¿uc^8„>M„<[|%!„Y®‘¤HZqYa…þq4—…ˆ+#"¡33¬)+RNPP¬¤«³Xx€+'¨#!?@=Bí2©ÿê({0#"'&'532654'&+532654'&#"567632wA@ôÑQ[\ihWVLŠ”HH‡¦Ÿ–¨Z[­c[[MaZ[Vþ‹Š”A@^†ž § VJ=+,nQb54"­[\¦m”²þPDd %!!5!!!#53öþ)þ“’þ“þḸÑü¾ý½éÿãº{ 6326="326&!54&#"5>32>32#"&'#"&±PVWMZfRPhgPPüTëcpPƒ/;}Jb“04€T½ªª½Y€/%‚W¯Í & ‘‡‰ž+¨ïþÝ®§§þyT£53¬+)CBDAþìýþì>A>Aí2‰/H{  #4&#"‰öÒ÷ÃŒ/.þÒþâÖÚÚÖˆÿãG/  33265Göþ.÷ÃŒ/þâþÒ.ÖÚÚÖ+¦[%!5!2654&#!5!#áýJ¶—Ž·«ý‡^¨adá¸lp‚Џ¸2¨r¬¨?ÿþ’W75353!5!2654&#!5!#?ŽŽŽˆþæid€xþEvDFžzÌ̈ÊÊýü¸lp‚Џ¸2¨r¬¨+¦")5!2654&#!5!2654&#!5!#HEÑþßýwís{åýðp{åý``àü¼°ýPDýP°.Œ£ï &#"32 &6 Ua`UU`aÚœþ››>œ…pžž¸·žUÚ×Ö¶××?œ’à32654&#%!2+#¾”XcbYþí£¢ž”ƒþÆSJKR]öþ°œÀà#'.+#!232654&#–1E4€‰p1M>z€›¥eþŸ‹\Y_[' ?]äÓZ4þŸD|vShPþ×IKHMœÏà!!#!ÍþÚ€þÙà_ýåAŒà33267>53#"&'.A L67K €$,*kCBk*,$ÝýÉ=4!!!!4<8ýý€l$! !#näœíà 333# #ä|Zk…mZ|x€yàýYÁþ>¨ü¼ñþEŒŒ )#"326757#5#"&546;5.#"5>32«&ffMD_ntt&pQl€ž™œT];y:Av7X|&×??8?vh+þš]85l[hmKDg..REŒŒ )32654&#"3>32+3267#"&'.&&ffMD_ntt&pQl€ž™œT];y:Av7X|&Ó??8?vh+f]85lZimKDg..RGŒŠ53#5#"&546323264&#"tt`?€““€?aþÇVTSXXST¿NýO/0°›™®0¡ðz{î{ûŒÖ B32654&#"26=%!4654&#"5>32>32+3267#"&'#"&5™kK84:/þÊ0n0þÊ6@F2Q #S-E^T=bg~yI>;#T'1S&9NT8m\)3?26JàUJLXP ZQ`.+-,`\`d1CH^#$"%„¬GŒŠ4&"2>32#"&'#3V¨WW¨ÿaA’“€?`tt]ðz{î{Ü.1®™›°0/OgGŒŠ3#5#"&546323264&#"tt`?€““€?aþÇVTSXXST¿Dü™O/0°›™®0¡ðz{î{1Œ !3267#"&54632.#" þ xn7yEB{9¥¹µ˜†œt\UTm ï2gp f¯š–³¢nZ_bW1Œ 5!54&#"5>32#"&732671öxn7yEB{9¥¹µ˜†œt\UTm »2gp f¯š–³¢nZ_bWO‚(.54632.#";#"3267#"&546ÿKQ™„3sCBm0W][Uhd^jrm>s0=r6 ®]ðH5KX ]0*"0Q>-7;af]=SO‚(#"&'532654&+532654&#"5>32ÒKQ™„3sCBm0W][Uhd^jrm>s0=r6 ®]¾H5KX ]0*"0Q>-7;af]=SG¦Š '4&#"32#"&'5326=#"&5463253UQUZZVPÉ–‘0i4>d+]V_E|““|D^tgèxxèz)‘f[bF53¯”“°02QIªˆ !#5!#3#53WþØæ?æµµssž#PPþ-þ¼ƒ8œ™ 33##8x0þêBŽþûVxþìþyDIû%œ¬">32#4&#"#4&#"#3>32‹B/UFj",2%j$/.#jj?'0@Ï)&u¢þ•g…@E€þ™g†?E€þ™s6"#'[­v+5327654&#"#367632v89hu9CGR,+tt54Ilj!þpm;32#"&'53264&#"X.c4¤¸¸¤3a1.\;muvl=_)î®þÊ®l$!~è~!#:Õ— 46 #4&#":›&œ{[YX[Õ ©© xzzx:Œ—Õ  &533265—›þÚœ{[YX[Õ ©© xzzxG­Š#3>32#"&$4&"2¼uu`?€’’€@`8U¨WW¨ëþÂbP/0°›™®0¡ðz{î{Mœ„Á!!;#"&5#535}þù;J‚ƒk¼¼Á²Pþ¬F7R]rTP²[Œv332653#5#"&[tCGRWttkGlj‰…þ{TPg`býŽ^68~ÿÒ}!5!2654&#!5!#´þKµ`YslþqÁj=?Žg32#"&'#3‡‡Žˆ‡¸îçL¦Sb C•ˆ,˜mÄêêÄl–/¸ŠÏ×מÙÚ#ü¶.,¢°}^\þÆþùþøþÆVZ‘ÿÿ:œ–àœ5`!!!5!!5!!5!!5þnünlþpþ”’þ’h¤þË5¤iþ— þV ;+53276=#"&5!5![Y×YZ¥Í¹Z-,0¥µþÙß–|~€Ãijœ>>~ÔÂùGŒŠ#3>32#"&$4&#"32»tt`?€““€?a9VTSXXSTëNqO/0°›™®0¡ðz{î{XŒy#"&632.#"3267y.c4¤¸¸¤3a1.\;muvl=_)¼®6®l$!}ut~!#QI€+325&#"47&'&547632.#"632#"d&/\R@5a$^`^¥63302b3q>>>5|¼Ò4ì *š &:/Z–™XX `@?æ@bŠj:Œ—)#"&54632.''7'37.#"32654&¨|sŸŸŸ .¯•sŠP·m4\a^UV^%ƒwÔp–¦¦–”¦237,pQ57þîvonwwn=rO‚(#"&'532654&+532654&#"5>32ÑT]®¡5sQ0"*0] XK5HWœz#"3###535463z„>1óót¼¼kqU.98PýÝ#P,gab­o53#5!3#+53276=ΙÈ<””98h “9œ\ÇPýé\ m;d+]V_E|“‘~4Ûwuxèzz£‘f[bF53¯”³[«v332653##"&[tCGRWttkGlj‰…þ{TPg`büO68~CœŽ3#!3#3!535#535#4ttµ)ßßæýÀæññµ‚rþæ\­PP­\Êaœp #"&5#5!;phqµ)99uœun@PþpFFIœˆ !#3!53#I?ææýÁææPþ-PPÓGœŠ#3!535#535#5!#ŠèæýÁæèèæ?æõ\­PP­\ÊPPÊd­m3#"54;33#'0#"3276‡ttd¿ªytrx !3rJMB ‚ü,|ssýW?#5˜$ U­| ;#"&5#5!ƒ98ˆ“dvº.‘FFXtp(QU­| ;+53276=#"&5#5!ƒ98ˆ89ht9hrº.EGbm;32+53276=14&#"#4&#"#3>32ŠB.V"#23_uj3",2%j$/.$ii>(0@Ï)&:;¢þÝSm;32#4&#"MU!1$XT8[]V;;FQ‘xlX6V~a88†þ…wYYk\U­|$54'&#"#367632;#"'&5¹:G()WW*+7[//$1!U&'œH/Y,-56\þžsa8BDþÍH V6X66x?œ’ 33##?«-{«þÓ{þùý~úþ:Œ— #"'&547"!&'&!3276Õ&NNNM”“MNNàX-(e(-Wþ¡ !-XY-!TU ¡TTTT¡ U=5cc5=þÏJ,==,:®—&/#5!#3!535&'&5476767654'&3—¢—fwx=%þ;Ö )=xw>)[­v<.#"#"/;#"'&=32654'&/.547632P1j8W*,]({44MN‰8> 0B“ r34@>?=RX!k)k`FG‚@98ýb/$+*MW33 V6X66x"192-*TIX00x­Y46;#"+5326 j{mo>1gr,B0‘]MecU-:ýJxlX6M­„Á!!!;+53276=#"'&5#535}þùJ‚88h‚u9ƒ56¼¼Á²Pþ¬F]m;T_Ã^­s!!#;#"'&=!5!jþ¹G$2!V&'þ¯GþÅ^þ=R V6X66x ^ÃM^„#47#5!5!3632#'03254#’aå´þ\'þLn&ŠÒ m,8œ!!^ÃR^þ=¢ŠjR33¨ž2#"&'532654&+5!5!dCP>i¿±;}C5~Dx~uhnþ\'§ xM|‡mTPJS]R^:Œ—ä .#"!326 #"&54UYXUcþVXYVþ¾&œ›”“›l~¢¢~g~££]ÜÐÑÛÛÑÐÿÿ%þ ¬Õ&«$ÿÿ…þ #{&«Dÿÿ¦qP& ²%ÿÿÁÿãX&2Eÿÿ¦þcqÕ&©%ÿÿÁþcX&©Eÿÿ¦þ›qÕ&·%ÿÿÁþ›X&·Eÿÿ‹þu1k' ªZu&­d&ÿÿÃþu%f&vZ&­hFÿÿ‰RP& ²Î'ÿÿ{ÿã&ÎGÿÿ‰þcRÕ&©Î'ÿÿ{þc&©Gÿÿ‰þ›RÕ&·Î'ÿÿ{þ›&·Gÿÿ}þuRÕ'­þò'ÿÿ{þu&­ìGÿÿ‰þRÕ&³Î'ÿÿ{þ&³GÿÿÅþNÕ&³(ÿÿ{þX{&³HÿÿÅþNÕ&¶(ÿÿ{þX{&¶HÿÿÅþuNm& ±&(­2ÿÿ{þuXH&Œ&H­2ÿÿéXP& ²6)ÿÿÃ'P& ²IÿÿfÿãP0& ¶2*ÿÿ{þHö&ŠJÿÿ‰HP& ²+ÿÿÃP& ²Kÿÿ‰þcHÕ&©+ÿÿÃþc&©Kÿÿ‰H5' ©\+ÿÿÃX'jHKÿÿþuHÕ'­þ‰+ÿÿ7þu'­þ¬Kÿÿ‰þHÕ&´+ÿÿÃþ&´KÿÿÉþÕ&¶,ÿÿ²þD&¶Lÿÿ‰Ék' ªu.ÿÿì²k' ªÿ%uNÿÿ‰þcÉÕ&©.ÿÿìþc²&©2Nÿÿ‰þ›ÉÕ&·.ÿÿìþ›²&·2Nÿÿ×þcsÕ&©2/ÿÿ þc &©Oÿÿ×þcs0& ¶˜ÿÿ þc 0& ¶™ÿÿ×þ›sÕ&·2/ÿÿ þ› &·Oÿÿ×þsÕ&³2/ÿÿ þ &³OÿÿVyk' ªu0ÿÿmof&vPÿÿVyP& ²0ÿÿmo&PÿÿVþcyÕ&©0ÿÿmþco{&©Pÿÿ‹FP& ²1ÿÿÃ&Qÿÿ‹þcFÕ&©1ÿÿÃþc{&©Qÿÿ‹þ›FÕ&·1ÿÿÃþ›{&·Qÿÿ‹þFÕ&³1ÿÿÃþ{&³Qÿÿuÿã\ù&2' « ª2ÿÿ‰ÿãHú'‡”&RwÿÿÅur' ªÿw|3ÿÿ¾þVTf&‡SÿÿÅuP& ²3ÿÿ¾þVT&SÿÿÑP& ²Î5ÿÿjƒ&UÿÿþcÑÕ&©Î5ÿÿjþcƒ{&©UÿÿþcÑ0& ¶Î¶ÿÿ=þcƒö&Š·ÿÿþ›ÑÕ&·5ÿÿ=þ›ƒ{&·Uÿÿ‹ÿãJP& ²6ÿÿÕÿã&Vÿÿ‹þcJð&©6ÿÿÕþc{&©Vÿÿ‹þcJP& ²&6©ÿÿÕþc&&V©ÿÿ/¢P& ²7ÿÿƒP& ²Wÿÿ/þc¢Õ&©7ÿÿƒþcž&©Wÿÿ/þ›¢Õ&·7ÿÿƒþ›ž&·Wÿÿ/þ¢Õ&³7ÿÿƒþž&³Wÿÿ“þd=Õ&ª8ÿÿÃþd^&ªXÿÿ“þ=Õ&¶8ÿÿÃþ^&¶Xÿÿ“þ=Õ&³8ÿÿÃþ^&³Xÿÿ“ÿã=ù' «' ª28ÿÿÃÿãú'‡”&wXÿÿ9˜E' «\9ÿÿdm&wØYÿÿ9þc˜Õ&©9ÿÿdþcm`&©YÿÿÑr' ¬|:ÿÿÑm&CÀZÿÿÑr' ª|:ÿÿÑm&v@ZÿÿÑ4'j$:ÿÿÑ¿&j¯ZÿÿÑP& ²:ÿÿÑ&ZÿÿþcÑÕ&©:ÿÿþcÑ`&©Zÿÿ¾P& ²;ÿÿL…&[ÿÿ¾5' ©\;ÿÿL…¿&j¯[ÿÿ%¬P& ²<ÿÿhþV&\ÿÿœ‘t' ­.|=ÿÿËm&g]ÿÿœþc‘Õ&©2=ÿÿËþcb&©]ÿÿœþ›‘Õ&·2=ÿÿËþ›b&·]ÿÿÃþ›&·Kÿÿƒâ'jÿ¢ÒWÿÿÑ&uZÿÿhþV&u \ÿÿÃ'P& ²Aÿÿ‰ÿãH"úÿÿ%þc¬Õ&©$ÿÿ…þc#{&©Dÿÿ%þc¬t' ­|òÿÿ…þc#m&gèóÿÿ%¬ù& ±€&$ ¬ÿÿ…ÿã#¢'†<Åÿÿ%þc¬m& ±òÿÿ…þc#&sèÌóÿÿÅþcNÕ&©(ÿÿ{þcX{&©HÿÿÅN^' «*u(ÿÿ{ÿãX7&wHÿÿÅþcNt' ­|úÿÿ{þcXm&g"ûÿÿÉþcÕ&©,ÿÿ²þcD&©Lÿÿuþc\ð&©2ÿÿ‰þcH{&©Rÿÿuþc\t' ­|ÿÿ‰þcHm&gÿÿÿã§k' ªÿ‘ubÿÿ ÿã²f&v—cÿÿÿã§k' ¬ÿ‘ubÿÿ ÿã²f&C—cÿÿÿã§^' «ÿ‘ubÿÿ ÿã²7&w—cÿÿþc§&©‘bÿÿ þc²{&©—cÿÿ“þc=Õ&©8ÿÿÃþc^&©Xÿÿ ÿãÈk' ªÿvuqÿÿ'ÿãªf'vÿdrÿÿ ÿãÈk' ¬ÿvuqÿÿ'ÿãªf'Cÿdrÿÿ ÿãÈ^' «ÿvuqÿÿ'ÿãª7'wÿdrÿÿ þcÈ'©ÿvqÿÿ'þcªq'©ÿdrÿÿ%¬r' ¬|<ÿÿhþVm&CÌ\ÿÿ%þc¬Õ&©<ÿÿhþV`'©ú\ÿÿ%¬^' «u<ÿÿhþV7&w\ÿÿFÿç•r&÷ÎÿÿFÿç•r&÷ÿÿFÿç•r&÷ÛÿÿFÿç•r&÷èÿÿFÿç•r&÷ÜÿÿFÿç•r&÷éÿÿFÿç•Ñ&÷ÝÿÿFÿç•Ñ&÷êÿÿ%¬r&ØÎþ¢ÿÿ%¬r&Øþpÿÿþk¬r&ØÛývÿÿþk¬r&Øèývÿÿÿ¬r&ØÜýóÿÿÿ¬r&ØéýóÿÿÿÁ¬Ñ&ØÝþ¢ÿÿÿ¬Ñ&Øêþpÿÿ©ÿê(r&ûÎÿÿ©ÿê(r&ûÿÿ©ÿê(r&ûÛÿÿ©ÿê(r&ûèÿÿ©ÿê(r&ûÜÿÿ©ÿê(r&ûéÿÿÿ~Nr&ÜÎýÿÿÿ~Nr&ÜýÿÿýŠNr&ÜÛü•ÿÿýŠNr&Üèü•ÿÿþNr&ÜÜüàÿÿýóNr&ÜéüàÿÿÃþVr&ýÎÿÿÃþVr&ýÿÿÃþVr&ýÛÿÿÃþVr&ýèÿÿÃþVr&ýÜÿÿÃþVr&ýéÿÿÃþVÑ&ýÝÿÿÃþVÑ&ýêÿÿÿLHr&ÞÎý]ÿÿÿLHr&Þý]ÿÿý?Hr&ÞÛüJÿÿý?Hr&ÞèüJÿÿý£Hr&ÞÜü|ÿÿýHr&Þéü|ÿÿþcHÑ&ÞÝýDÿÿþcHÑ&ÞêýDÿÿ6Ïr&ÿÎÿÿ6Ïr&ÿÿÿõðr&ÿÛÿÿõðr&ÿèÿÿ'r&ÿÜÿÿr&ÿéÿÿÏÑ&ÿÝÿÿÏÑ&ÿêÿÿÿ~r&àÎýÿÿÿ~r&àýÿÿý£r&àÛü®ÿÿý£r&àèü®ÿÿþr&àÜüàÿÿýór&àéüàÿÿþ®Ñ&àÝýÿÿþ®Ñ&àêýÿÿ‰ÿãHr&Îÿÿ‰ÿãHr&ÿÿ‰ÿãHr&Ûÿÿ‰ÿãHr&èÿÿ‰ÿãHr&Üÿÿ‰ÿãHr&éÿÿÿÉÿã\r&æÎýÚÿÿÿ~ÿã\r&æýÿÿýŠÿã\r&æÛü•ÿÿýŠÿã\r&æèü•ÿÿþÿã\r&æÜývÿÿþ‰ÿã\r&æéývÿÿ3ir& Îÿÿ3ir& ÿÿ3ir& Ûÿÿ3ir& èÿÿ3ir& Üÿÿ3ir& éÿÿ3iÑ& Ýÿÿ3iÑ& êÿÿþè¬r&ëüùÿÿý?¬r&ëèüJÿÿýD¬r&ëéü1ÿÿþ¬Ñ&ëêüùÿÿFÿãŒr&ÎÿÿFÿãŒr&ÿÿFÿãŒr&ÛÿÿFÿãŒr&èÿÿFÿãŒr&ÜÿÿFÿãŒr&éÿÿFÿãŒÑ&ÝÿÿFÿãŒÑ&êÿÿÿɇr&ïÎýÚÿÿÿe‡r&ïývÿÿýЇr&ïÛü•ÿÿýЇr&ïèü•ÿÿþ¶‡r&ïÜýÿÿþ¢‡r&ïéýÿÿþù‡Ñ&ïÝýÚÿÿþ®‡Ñ&ïêýÿÿFÿç•f&÷CÿÿFÿç•fòÿÿ©ÿê(f&ûCÿÿ©ÿê(fóÿÿÃþVf&ýCÿÿÃþVfôÿÿÏf&ÿCÿÿ6Ïfõÿÿ‰ÿãHf&Cÿÿ‰ÿãHfÿÿ3if& Cÿÿ3ifÿÿFÿãŒf&CÿÿFÿãŒfÿÿFþV•r&ËœÿÿFþV•r&ËœÿÿFþV•r& ËœÿÿFþV•r&!ËœÿÿFþV•r&Ëœ"ÿÿFþV•r&Ëœ#ÿÿFþV•Ñ&$ËœÿÿFþV•Ñ&%Ëœÿÿ%þV¬r&&Íÿÿ%þV¬r&'ÍÿÿþkþV¬r&(ÍÿÿþkþV¬r&)ÍÿÿÿþV¬r&Í*ÿÿÿþV¬r&Í+ÿÿÿÁþV¬Ñ&,ÍÿÿÿþV¬Ñ&-ÍÿÿÃþVr&:ËþÈÿÿÃþVr&;ËþÈÿÿÃþVr&<ËþÈÿÿÃþVr&=ËþÈÿÿÃþVr'ËþÈ>ÿÿÃþVr'ËþÈ?ÿÿÃþVÑ&@ËþÈÿÿÃþVÑ&AËþÈÿÿÿLþVHr&BÍÿÿÿLþVHr&CÍÿÿý?þVHr&DÍÿÿý?þVHr&EÍÿÿý£þVHr&ÍFÿÿýþVHr&ÍGÿÿþcþVHÑ&HÍÿÿþcþVHÑ&IÍÿÿFþVŒr&rËÿÿFþVŒr&sËÿÿFþVŒr&tËÿÿFþVŒr&uËÿÿFþVŒr&ËvÿÿFþVŒr&ËwÿÿFþVŒÑ&xËÿÿFþVŒÑ&yËÿÿÿÉþV‡r&zÍÿÿÿeþV‡r&{ÍÿÿýŠþV‡r&|ÍÿÿýŠþV‡r&}Íÿÿþ¶þV‡r&Í~ÿÿþ¢þV‡r&ÍÿÿþùþV‡Ñ&€Íÿÿþ®þV‡Ñ&ÍÿÿFÿç•H&Œ÷ÿÿFÿç•ö&Š÷ÿÿFþV•f&‚ËœÿÿFþV•y&÷ËœÿÿFþV•f&òËœÿÿFÿç•7&÷ÏÿÿFþV•7&ÅËœÿÿ%¬m& ±Øÿÿ%¬0& ¶Øÿÿÿ‡¬f&Øúþpÿÿ¬fÏÿÿ%þV¬Õ&ØÍÿÿïÂárÎÿÿþVúÿ¤ËïÂár#525#53áñŽŽñÃþÿd¯ÿÿ²7wÿÿF²‹&jÏTÿÿÃþVf&†ËþÈÿÿÃþV{&ýËþÈÿÿÃþVf&ôËþÈÿÿÃþV7&ýÏÿÿÃþV7&ÔËþÈÿÿþNf&ÜúývÿÿÿNfÑÿÿþ[Hf&ÞúýDÿÿþíHfÒÿÿ‰þVHÕ&ÞÍÿÿõÂðr'Îÿúúÿÿ'Âr'Îÿ8dÿÿ²Ñ&ÎÏšÿÿ/ÏH&Œÿÿÿ6Ïö&ŠÿÿÿÏØ&ÿøÿÿ6ÏØ×ÿÿÏ7&ÿÏÿÿÏ‹&ÿÐÿÿÉm& ±àÿÿÉ0& ¶àÿÿþ¿f&àúý¨ÿÿÿfÓÿÿõÂðr'ÿúúÿÿÂr'ÿ$dÿÿ²Ñ&Ïšÿÿ3iH&Œ ÿÿ3iö&Š ÿÿ3iØ& øÿÿ3iØöÿÿ¾þVTr&Îÿÿ¾þVTr&ÿÿ3i7& Ïÿÿ3i‹& Ðÿÿ%¬m& ±ëÿÿ%¬0& ¶ëÿÿþ[¬f&ëúýDÿÿþp¬fÕÿÿÿ~ur&èýÿÿF‘Ø&júrÿÿ?FºØÎÿÿîöfCÿÿFþVŒf&ŽËÿÿFþVŒ`&ËÿÿFþVŒf&ËÿÿFÿãŒ7&ÏÿÿFþVŒ7&þËÿÿþ¦ÿã\f&æúýÿÿÿµÿã\fÔÿÿþ¦‡f&ïúýÿÿÿ·fÖÿÿJþV‡´&ïÍÿÿÛîºfvïÂár53#3"ððñï¯ddßmƒ¶ ÔÄ1Ôì0!!d ý÷ƒ¤ÿÿdßmƒìÑy¶¶ý/Æ1üì0!!Ñû/yìÑy¶¶ý/Æ1üì0!!Ñû/yìÑyµ¶/Ä1Ôì0!!Ñû/yìÑyµ¶/Ä1Ôì0!!Ñû/yÿÿþÑÿ]&BBðÏÇ-@ £µÔüÔÌ1üì0#53ËüÄšbÇÏ~þ‚ÏÇ-@ £µÔìÔÌ1üì03#1üÅ™bÎþ“þáò/²£¸¶ÔìÔÌ1üì03#öüÅšc/ÏþÏÇ-#5Ëb™ÅÎþÎÓÇþ %@£ µ  ÔÌÔìÔüÔÌ1ü<ì20#53#53œüÄšbþ5þÇ™bÇÏ~þ‚ÏÏ~þ‚ÓÇü '@ £µ  ÔìÔìÔÌÔÎ1ü<ì203#%3#üÅ™bþ5üÄšbÎþÎÎþÓþáü/ *´ £¸@  ÔìÔìÔÌÔÎ1ü<ì203#%3#üÅ™bþ5üÄšb/ÏþÏÏþÓÇü #5!#5Ïb™ÅÇbšÄÎþÎÎþ΢ÿ;/Õ '@Ë ˆÊ RQ R Ô<ìü<ì1äôÔ<ì203!!#!5!±nþ’±þ’nÕþ\™û£]™¢ÿ;/Õ<@ËË Ê ˆR Q R Ô<<ì2ü<<ì21äôÄ2Ô<î2î20%!#!5!!5!3!!!/þ’±þ’nþ’n±nþ’nßþ\¤š™¤þ\™ýá?Ñ‘! · Ð V Ôì1Ôä04632#"&?¬}|­®}|«ú|«¬{|­«?áq?¢ðþˆP1 #@¢   ÔüÔìÔì1/<<ì2203#3#3#Püü3üüþfüü1þÏ1þÏ1þÏј'3?Kt@%1= ÈÈ1¸µ%È+‘C¸@&7ÈIF:4(:PFz4P@ PzP"P.zP@(/ÄìÄôìîöîîöî99991/<î2î2öîþîî299990'32654&#"4632#"&32654&#"4632#"&32654&#"4632#"&H%'üH_EDbcCE_y¥xx¦§wy¤LaEEacCEay¦yx¦¦xy¦ aEF`bDEay¦yx§§xy¦7aŸ`ýJGacECcaEy¥¦xy¨¦ÓEaaECcaEx§§xy¨§ý"GaaGCcaEx¦¦xy¨§Ñ˜ DP\h4632#"&62654&#"'4626763267632#"'&'#"'&'#"&732654&#"32654&#"32654&#"¦yx¦¦xy¦yaŠacCE’%'û¢ŠÈE FedE  Fed‹‹deF  EdeF Fce‰eO:8RR8:OxQ::PR8:QzQ::PR8:Qyx§§xy¨§¿ŠaaECcýaŸ`ýJy¥S  SS S¦xy¨T TT  T¦{GacECcaEGaaGCcaEGaaGCca¬`$Õ3¬®Êþà`uþ‹ÿÿ`ºÕ')–)ÿjÿÿ€`PÕ'),')þÔ)¬`$Õ#3$VþÞÌ`uÿÿ`ºÕ',–,ÿjÿÿ€`PÕ&,',,,þÔZ/#@ ü¬vÔì291ôì90 5/þÓ-þ+#¿þôþô¿¢R¤y#@ ü¬vÔ<ì91ôì90 5 ¤Õþ+-þÓ#þ^Rþ^¿  ÿÿÐÕ'þÌ4ôð%#56763253767654'&¬¾ Yb^`_hºon"!^XE&ÅË->B%‘­ #D¼9``¡LAB\VBT=ýÅþþBþR-;,,1Y7ÿÿ»Ñ BžÏþòw !#3#3!ϨððððþXýEýFZþò !53#53#5þXððððøÞº»ÿÿ!±ð' µþ¼ µÿÿ!ð' µþ¼4ÿÿбð'þÌ µËÿ;gÕ 2###‹×ì׿Õ辸Ýü²ùáš=•ð ,47632""327654'&'2#"'&5476"%F$W+,,+WX+,,+X•LLLL•–JKKL @ !¡UU¯®UUUU®¯UUYnm×ÖnmmnÖ×mnHœˆ !3!53#3#z(æýÀæ´´ttýÝPPÓD‚ œß 5³ ¸ ²º @  W ÔÔ<Äì291ôôÔ<ì29033##5!5 !w¢ttŠþ}ƒþîßýæoººy“þc?}ß!!!>32#"&'532654&#"fÖþ6TTXY™Jz04?9= 25D‡IJLL‰¡–´«...´P\\PS****ÏhQQž;JJ‰‡KJÐáÔÞ þŽh¸h21Â12=œ…ß!#!=Hþ´ƒCþDß0üíä;Œ–î.="327654'&'&'&547632#"'&54767327654&#"hT-../RU-../ÀP--KK‚KK--P]12PPŽPP210'(KL('NMK(')+*š++*+NM*+/23Gc;::;cG3288Yq?@?@pZ88ÆC#$$#CDH$$0ˆð.27654'&#"532765#"'&547632#"'&SP-..-PS+***Œ(X/x==jDˆHIKL‰¢KKZ[¬-..44]\4421ab21þŸhQPž854&Øe_]]_eTSS„ý}~ý„‚þ€þAœ @ ÔÜ32tNN^luu)qJy}þ…wYYk\þžsa88†ÿÿ=ÿñ•T;ýdÿÿX“C{ýdÿÿB}TtýdÿÿFÿñœTuýdÿÿ C=ýdÿÿ?ÿñ}C>ýdÿÿIÿñ¡T?ýdÿÿ=…C@ýdÿÿ;ÿð–RAýdÿÿ0ÿñˆTBýdÿÿ?¶Cýdÿÿ8¶—DýdÿÿŶ EýdÿÿØÿiúfFýdÿÿØÿiùfGýdÿÿEÿðŒ‚#ýdÿÿ1ÿð ‚)ýdÿÿ:ÿð—‚2ýdÿÿ¿s}ýdÿÿ1ÿð ‚*ýdÿÿAhVýdÿÿ8™g/ýdÿÿV|n{ýdÿÿ%¬‚0ýdÿÿAƒHýdÿÿGÿŠ‚6ýdÿÿ[v“|ýdÿÿM„%7ýd ÿéÌå##"32.#"3267!!!!!!¯;†J¾ÜܾL…:9‚I™™I‚9þ^‘þo¬ýã¬78?*?77£IGïþ8ïGIƒþ­ƒþ`ƒ{ÿ¦c9'.473&'3267#"'#7&'#7&'&76?3&',;8+$"5:þÞlÀUXÅn;4";¢¢’ðŽÏ„PqJ8=þÞ0;ëi¥Õ<)û—^_ÓHH?W‡æÏgjιKüpþØî”Ëû•(_ÿäYð,%6767# !2.#"3>32.#"óYQbUYÈoþãþ¸HqÈWUÃn×årVŒ,Že#7!v€Š'/_ÓHGžghŸGGÕ_^þÇþØþÙœu]\Yª¶«CÕ!!!!3###5éZýpPý°÷÷Êé~WªþHªþµEþÇ9E‹lð#!!53#535#535632.#"!!!?-üì¿¿ÇÇÖè=—OLˆ=”t‡þyìþ¾ªªB_ó¶))›ÔHmÿBo)632#4&#"#5#&'&#"#3>323 0?‡o¨5FP;¨]iÆJI9§§!c?L3!BjbÑþßýwís{åý°þ’Eë78{åý``þÂý ‰N#55YQKP%$•‚ž¬®((TT@I!*™‰œ¶##ŸÒ` ÿãÉÕE326&##.+#!232654&/.54632.#"#"'&‹£]``]‹z/YM$¤¡TP*N(:?>?>SZAm)na„At02k:WX?^)}jž‹9>/ýúØ–bý‰ÕÖØº$~´3YQKP%$•‚ž¬®((TT@I!*™‰œ¶ÑÕ *-037#!3!73!733#3#####53'#53'33ìáÙ¹pgþýäý1Œ Å2CY†¿¿È¿†YD2ÅFIn¦$„uuþüý—muÂÂÂÂuü€wü‰€uÂý«ý™gu*ÿã§Õ %2#4&#!#)"33!3*£ÎÔ•Žþò•|þaÎÔ•~ÒþÖþÜþ‘VðÓú²*$oþªðÓNÿÿ{þ›Ñ&Ólz%ÿã%ð3p@< ç1&ç³ ²—(#³² —–#™43('1)-&- 2'-4ÔÄÄ2ìÄ2Ä99999999991äôìôìÆ2îöîî2Õ<î2032.#"!!!!3267#"#73&'&54767#7Ó0ßT“JBŸN’®á1þFi1þÓ®“OCH”Uâþí,®1u¦1´!(*Ï=DÐÌl-.&nËÑC>Ï*( n -/ l*§Õ33!!###5´¬<Ýýº„þ~rãýœ¬ŠTý‰wýsýÏý1ás/¢Õ!5!!77#'%5'þ+sþ-åPþËæPþÊËÐMÑMžªªþñ¡o؈¢oÙý¸º¡nÙˆ¢nþ9Æð-bwƒ'67>32#"'&'"326767654'&'&67'>7632#"'.'&/#"'&54632326767654'&'&&#"32fbU!O3'A"+0.!‚. !  ü°_ \5#?\kŸ2,,#2!$(2( 4" )1>((E8&^ ,9Q Fþ‘ þ9)ЗiRm:3X’wdg7? 2øj7#=5(6$ 629T/ ·(2M !:5S}$@{mbõqŒ‚~Es/4 -& "TAB`]…’ü›|@8†nR€kcd]aCœû ".ÿãŽð)5'632327&547632#527654'#"'&#"%654'&#"¹‹“o|@X"07ãPYˆtaTkµ~jü†[Iw‰mqJ2530D#24!`ðNkB±þ¬X``S±ã«£¿Â†q¢J<“Xr~hFÙl¯V1??0W¦jÑÕ$)! 3#3#+##535#537!&#!3276'!Å´‚^x_ ^r&a~áêÊ[[[[ÊÜM¥ýþê±u ýòÕþ÷t:9s{FYý¨rsstcccþCtç;8s5ÿ[‰x$-#5&'&76753&'&'6767#5!'ь߉¨¨‰ßŒi`p^_kbkN?H9x"cxhuŒ…OooO¥§Ìmnͦ‰$F×_0,û?'‘¦ýS*%²§ l™þÑþÒ™l'©Õ5!3!#3##!##5373!/3F¥Ð¥íA¬…¤¿šþ3›Á¤…¬C¯=ƒ>ã¿`R{ýø{Ï{ýøýø{ÏÏÏ{AÿãÑð667654&#"5>323#!!3267#"$547#536767!5? 7¦^¹\i¾Vß œé^Ì':ü§,ª™hÍskÔiüþøÙ HˆþE¯ 4cq…<;Í''ñÈK={[/ {9b{‰DI×--àÕN@{ O/{‚þÓO!,&'&#2767#&'&576757O[TUeeUT[Y\Y[d¹sÔÔy²e]Y\þŠ[CvlC¤Õi--ûñ--iÓH$"þðuÖ9BËtæâ"#û£ùBuª¡f´lC/¢Õ !!!!#!/sûsþ-Ëþ+Õªxªû÷ hqÕ%!!##.+532767!7!&'&+7q7þ§V#7ãKP’N76SËÙ²M{cÁÝ‘G; ýè7Û4Kó7Õ{P{†V^77§þhy¡]¦M@f{L5N{Œÿä1ð %3267# !2."_|dT È„þøþ¸E}=[~èoi ‰† ƒ7@,ƒL¨]r•4‚*:0N²þ¯þ̾ ÿÏÐ(2.#"3267#"&54632%3#"326.2"&54Ä:F#KVVK#F:-Q.~”•ƒ*Pʇýª‡Ã=II=323‡¸‡]W²!{¸/¸tK¯b‹š ¶ýJ· G'QWº¨ý‡ý¤ab‘‚ ^TH632#64&#"#'?3%Ç—Å‹š‡¸‡]W²!{¸éÞ þ1¸$þÁ¸Ã‘‚EmýJ·H…Wº¨ý‡­EbOû¾YbcJ…Õ %# !3!# ýG¸¹üâH¦Mþ¸ýZMd úóqûáú+áû ÇÕ #  "32!!3463"##526ebþž±223äbþžý õÌWÜU&õÌWÜU& ýê•þìþ ”1¤ûQ~ƒ®¸>;û\¯ü‚ƒ®¸>}ÑN*3>"32>54.'2#".5467>32654&#%!2+#hjµ–MMKLµijµ˜KL–µkÚZZ\[¶Ú~}Ú¶[\ZZÚ&“RXXRþø’••’“uçJ–¸jh·KLLL˜µij¸–JgZZ[Ü~}Ú¶[[¶Ú}~Ü[ZZþ¸þéICBISqmopþÖBšÕ 33!27&#%!2+!67654'&¢À` ý`sïööðòþ€1:+YX*qúó ýj’dÛÓÕÚýˆZý™)VŸžV)þø¼ð (%#'#  %27&"676'&\æÓ¿,þðþºF Eµý]ì]]ì][††{††þÝï¥ab¥þ[þžþüþŽ 22×22ûjT%¶ýœµ%5û¯$¶c¶$%½Õ &.2&'&+3!.+!!2!27&#676'&%3¶A::f&AVy©à-`5­þ‹¢?vfþ«AÙÖd)ýò7%LK$ý2¬—01/ÉþåO„~þh–bý‰ÕÖØÐb)¥ýj’ý™)V>U)-úó “fÕh@6    B  × ˆ  ` `_`_/üþìÕîÖî91ô<<ì2Ô<<Ä90KSXÉÉÉÉY"###5!3###¶¢r¢´‰}¬rœ7¦qÕ^þä^ÿý¾âþÓ-þB0™Õ %#!!!5!b¶ÅýJZCýJÉû—¶ý]d úóqdúódd ÿÿJ‡´ïÿÿ‰ÉÕ.ÿÿ%¬m‡ ÿçÆ-)7 7673 $54$32!"53!25&'&#"é6Ky {U>ZLtþÅþà ¢"š˜"£ü3à8M{€{M7äM3TT<`xGZ³A¯°E®®þ»°IpP3RQ4Oÿÿþãe{'uÉüV& ¯{þþœÿÿþãeŒ'uÉüV& ¯tþþœÿÿþãZ{'>ÉüV& ¯{þþœÿÿþãZŒ'>ÉüV& ¯tþþœÿÿþãZŒ'>ÉüV& ¯uþþœÿÿ þãZ{'>ÉüV& ¯=þþœÿÿþãj{'?ÉüV& ¯{þþœÿÿþãj{'?ÉüV& ¯>þþœÿÿþâ_{'AÉüV& ¯{þþœÿÿþâ_Œ'AÉüV& ¯uþþœÿÿþâ_{'AÉüV& ¯>þþœÿÿþâ_{'AÉüV& ¯@þþœÿÿøZ{& ¯{þþœBå} 5!!B#Z pü ZR#Z ¤ ZµM '#'’"Z ¤ Z$MþÝZ üp Z#Bå} '7!5!'7þÝZ üp Z#þÝZ ¤ ZþݵM !737@þÜZ ¤ ZþÞ#Z pü ZþÝBå}!5!'7'²ým ZþÝ#Z “ Z#þÝZß Z#R#Z  ZþÝRþÝZµM%7#7'3'º ZþÞRþÜZ  Z$R"Z Ý ZþÝ#Z “ Z#þÝZ ¸a 7!##¸:œãntý’':ý’tnã¸a #5'#5!ý’tnãœ'þdãý’tn¸a )53753ßþdãý’tnntý’ãþd¸a 733!¸ntý’ãþd:œãntý’Bå}3!'7!5!7ÁÎþÑ“Žcþ} ZþÝ#Z 㔎ƒ¤úR¨ Z#R#Z úRBå}#5!7!'7'7!'Î/“Žcƒ Z#þÝZ þ”ŽߤúR¨ ZþÝRþÝZ úRY‹xa532767676767632&'&'&#"#"'&/#7!$f ! +!3-68+2",j!!!3 .6+85.0$m:œâ w '07)(6;C+ : ,:'+€àœ:Y‹xa5!5!#5#"'&'&'.'&#"'6767632327676­þõœ:m$0.58+6. 3!!!j,"2+86-3!+ ! fâ:þdà€+':, : +C;6()70' wBå}!!'#537i&ýÚ Zú– ZþÝ#Z –úZƒ¤ Zú Z#R#Z úZµM'75'3''# Zú Z$R"Z úZ ¤& Zú– Z#þÝZ –úZ ýÚBå}'73'7'7#'7!5h Zú– Z#þÝZ –úZ ýÚƒ Zú ZþÝRþÝZ úZ ¤µM77#75'73º Zú ZþÞRþÜZ úZ ¤' Zú– ZþÝ#Z –úZ &Bå}'!5!7òZúýä ZþÝ#Z úZ1òZú Z#R#Z úZBå}'7!'7'7!'4òZú Z#þÝZ ýäúZ1òZú ZþÝRþÝZ úZBå} 53#5!5뤤ý4 ZþÝ#Z ƒúýhú Z#R#Z µM %'3'3!5 Z$R"Z úýh¤Ì Z#þÝZ ý4¤¤Bå} !'7'7!#3æÌ Z#þÝZ ý4¤¤ƒ ZþÝRþÝZ ú˜µM 7#7#5!º ZþÞRþÜZ ú˜©ý4 ZþÝ#Z ̤¤µM%'7'3'73!5úZ  Z$R"Z  Zúúýh¤úZ  Z#þÝZ ýè Zú¤¤Bå#(276767654'&'&'4#!5d >b-*,%:0ý“ ZþÝ#Z ƒ  ¤*+(54<852.& Z#R#Z Bå#)!'7'7!"'&'&'&547676763"mE Z#þÝZ ý“0:%,*-11> ƒ ZþÝRþÝZ &.258<45(+¤  Bå#$>2+#5!5!54767676"3276767654'&'&'&l>b-*,%:0—¤þΠZþÝ#Z 2)-019 o #*+(54<852.&ÕÕ Z#R#Z };47(+£ }  Bå#%?!'7'7!#5#"'&'&'&54767676";54'&'&'&e910-)2 Z#þÝZ þΤ—0:%,*-11> o #+(74;} ZþÝRþÝZ ÕÕ&.258<45(+¤  } Bå}X3267676767632267676?'7'7#&"'&'&'&'&'&""'&'&'&#5! !  Z#þÝZ   > >   ZþÝ#Zƒ" *!#$' *  ZþÝRþÝZ  %  '%  %' "  Z#R#ZBÑ‘!'7#5!3'7'²þè<Œ2å ZþÝ#Z <Œ2÷ Z#þÝZßþò î Z#R#Z  î ZþÝRþÝZq`• %7'7]¸Jþ±Qïg„zý=— ZÃÓ„hï PJ¹ÔþV}ý쪷e 5!#” ZþÞ"Z †¤Ç Z#R#Z û•Ç·e !#!'7'<þ ¤„ Z$þÜZÇü9k ZþÝRþÝZ·e !3!5”â¤ýz ZþÞ"ZžÇû• Z#R#Z·e '7'7!3< Z$þÜZ ý|¤ž ZþÝRþÝZ kü9ºR %!5!7#7yþAc ZþÝRþÝZÝѤü‹ ZþÝ#Z?’] !3!5Ò¤üŠ ZþÞ"Zž¿ý Z#R#ZQX€å)7676767632#4'&'&'&7#7K$<9JGTWDL7: ˜%#0(79).%$ ZþÝRþÝZ5NSH;9!6:IFT7/0'$&$2(G ZþÝ#ZQX€å*7#756'&'&'&'&0#676767632† ZþÝRþÝZ $%.)97(0#%˜ :7LDWTGJ9<$5 ZþÝ#Z G(2$&$'0/7TFI:6!9;HSN2Ÿ 7!##5!¸:œãntý’†l':ý’tnã?PPBÖ !!#33#'7!5!'7æ#Z Ìý4 Zþݤ¤¤¤þÝZ ý4Ì Z³#Z ¤ Z#þݘüŸ#ýh#þÝZ ¤ ZXyù6#"'&'&'&547672767>54'&/#7!•J%%%'HD_SlhX[HJ%%%%Jw422-A8;>112-!:œzJZ[ghX\HC+%%'GKY[eg[WMs2=>FD{2,/2{DF>H'ãœ:Xyù6#5!#52767>54'&'7#"'&'&'&54767<ãœ:!-211>;8A-224wJ%%%%JH[XhlS_DH'&&&Iz:þdã'H>FD{2/,2{DF>=2sMW[ge[YKG'%%+CH\Xhg[[IBß}5!B#Z pß{#Z ¤Båƒ!!BMü Zþ݃¤ Z#µM3'#|"Z ¤MþÝZ ü»M#'º¤ Z$Mû³p Z#Bß}!5!'7û³p Z#ߤ ZþÝBåƒ'7!5þÝZ üƒ{þÝZ ¤µM!37¤ ZþÞMü ZþÝGåM!#73å{þÝZ ¤#Z pB|  '7!5!'7 5!!þÝZ üp Z#û³#Z pü ZþÝZ ¤ ZþÝýÊR#Z ¤ Z*§M !737 3'#'2þÜZ ¤ ZþÞýÊR"Z ¤ Z#Z pü ZþÝMþÝZ üp ZB| '7!5!'7%!!þÝZ üp ZüÖ#Z pü ZþÝuRþÝZ ¤ ZÁ#Z ¤ Z#B|'5!!!!5 É#Z pü  pü ZþÝ>ÉR#Z ¤  ¤ Z#R*§M73'#'#'3hÊR"Z ¤  ¤ Z$R„ÉþÝZ üp  üp Z#B|'7!5!'7!5!'7ÆÉþÝZ üp  üp Z#>ÉRþÝZ ¤  ¤ ZþÝR*§M%#73737#hÈRþÜZ ¤  ¤ ZþÞRÉÉ#Z pü  pü ZþÝBA! '7!=!þÝZ ü#Z pß{þÝZ ¤¤{#Z ¤BA! !! !5!'7BMü ZþÝMû³p Z#ߤ Z#¤ ZþÝBå}!73!!!'7#5!!q£Va6úþÒZˆþEV`6ãNZþÝ#Z"þ>RRjÕ¨;mR¤R¦:lNZ#R#Z RRBå¯!!373'7'7#'7#537!7'!þþRRßÈšNZ#þÝZNãŒ|NZþÝ#ZNÂ.Œ9#!RRƒRRöNZþÝRþÝZNž ~NZ#R#ZNÚ þô¤RRBå}!'7#5!7!5!73'7'%!7'!`þ]Va6ú.Zþx»V`6ãNZ#þÝZþÞÂRRþ–¨;mR¤R¦:lNZþÝRþÝZ RRBå}!!5!RRpüâNZþÝ#ZNƒRRRNZ#R#ZNRµM#'3'#'RNZ$R"ZNRSpüNZ#þÝZNüâpRBå}!5!'7'7!5!7²üNZ#þÝZNüâpRƒRNZþÝRþÝZNRRµM%37#73»RNZþÞRþÜZNRRÝpüâNZþÝ#ZNüRBå}!!7/7'7!5²ýmRR“R¤NZ#þÝZNþNZþÝ#ZNƒRRR¤NZþÝRþÝZNNZ#R#ZNµM'77#7'3»SRRSQNZþÞRþÜZNNZ$R"ZpRRýmRRAþNZþÝ#ZNïNZ#þÝZ›ÿÆ6a##7!#Žtn:ýÌ:œn3:âtý’:5pœ:ýÌ:›ÿÆ6a '#5!#5'5Cý’:3nœ:ýÌ:nâý’:4:þdpýË:nt›6›%753!5373·ý’:4:þdpýË:ntón:ýÍnþd:4:ý’›6›%3!'3Žn:ýÍnþd:4:ý’n:ýÌ:œp5:ý’tBå}5!!!!!¿ZþÝ#ZÐüÞw™ügw"?Z#R#ZRwRwRBå}!5!7!5!'!5!7ý0"wüg™wüÞÐZ#þÝ?RwRwRZþÝRþÝBå}37773'''#5:—–––;!\–––—[` ZþÝ#ZƒC­­­­C¤j­­­­j Z#R#ZBå}'7'7#'''53777² Z#þÝZ `[—–––\!;–––—:ƒ ZþÝRþÝZ j­­­­j¤C­­­­CµM%#5#535#535'3'3#3º¤úúúú Z$R"Z úúú¼¼¼¤t¤ø Z#þÝZ ø¤t¤µM533#3#7#75#535#5¤úúúú ZþÞRþÜZ úúú½½¤t¤÷ ZþÝ#Z ÷¤t¤Bå} !553353!þþ ZþÝ#Z »{»ƒ¤ Z#R#Z ¤¤¤¤¤µM '3'#7#7 Z$R"Z ¥£¤n Z#þÝZ þþ}»»þÊ»»Bå} !'7'7!+53#53° Z#þÝZ þþ}»»þÊ»»ƒ ZþÝRþÝZ ¤¤¤µM 7#77'3'3º ZþÞRþÜZ ¤£¤ßþþ ZþÝ#Z }»»6»»Bå} !!#3æ#Z Ìý4 Zþݤ¤Z#Z ¤ Z#þݘBå} 3#'7!5!'7뤤þÝZ ý4Ì ZZ#ýh#þÝZ ¤ Z¼¦ 5!5! !!? üöOþ‹uüÿôÃÃ]Ìþ%uuÉþ¨óÞv 333'#!#¦\Ì^ÄvÊþ¨ÈtPüö ÂþïüÿuB¼¹¦ !!75!!5’üö Âþðüþtô]Ì]Ãþ‹ÉXÉþ‹óÞv ###3!3,^Ì\ÂþŒÈXÊþŠ& üöÂüÿþ‹óÞv 3'335%!!# #Î^ÄÂ\ÌþîXþ¨ÈtvÊàpÂÂþþòŒŒFþèšguþ‹þ™óÞv %3'3#!5%# #3!Î^ÄÂ\È^þ$ÈtvÊÊýÒ~ÂÂý‚ŒŒFéuþ‹þþèóÞv #3#!5#3/# #3!àðJ\È^Ê^|HGeÈtvÊÊýšJý‚ŒŒ~{GGýMéuþ‹þþèóÞv 3#!!5#3# #3!F \È F Ê^þÈtvÊÊýïŸý‚Œ©üWŒ~ýÈéuþ‹þþèóÞv 3'333'37# ##!#Î^ÄÂ\ÌfÄÂd^¬ÈtvÊÊÊþ¨ÈˆÂÂý¾ ÂÂ^­uþ‹ÈýÇ9óÞv #!5#3'%3'37#7# ##3!3È^Ê^Ä fÄÂd^¬ÈÈÈtvÊÊÊÊýȈþJŒŒ¶ÂÂÈÂÂ^þ‹Èuþ‹ÈþßþèB¼¹¦ '#35!7'!!!5 5ŒŒ~ÂÂýÈþèêtþŒ—Éý¢É]ÃÃ]þîÉêÉÉþ‹þ‹ÉEŒF 7!##!#*:œãntý’aüI':ý’tnã»IüFEŒF %!53753!5!lþdäý’tn~æûºüåntý’ãþd&û»IüóÞv #7#3'# #3 3\ÂÄ^^ÄÂÈtvÊÊþŠþŒÈPýÖÂÂ*ÂÂOuþ‹þtþ‹uBå}'0#"'&'#53676323'7'7%&'&#"!3276Å4RvxN1kk2Ow9g' í Z#þÝZ þ™ 0GD2 &þÛ +JD5ß@3PO2B¤B4R,( :  ZþÝRþÝZ ¤11¤/0*§M !#737'#' RþÜZ ¤ ZÂ"Z ¤ Z$#Z pü Z*þÝZ üp Z#Bÿa7!5!'7!5!'7'7!5! üp  üp Z#ÉÉÉÉþÝZ üp? ¤  ¤ ZþÝRÉÉRÉÉRþÝZ ¤Bå}#5!5!53!¤þ¥ ZþÝ#Z [¤qßúú Z#R#Z úú¤Bå}!5!53!'7'7!#²þp¤\ Z#þÝZ þ¤¤ߤúú ZþÝRþÝZ úBå}#53533'7'7##÷ ZþÝ#Z ÷¤ø Z#þÝZ ø¤ß Z#R#Z úú ZþÝRþÝZ úBå}#5##5#53533533Ò¤t¤÷ ZþÝ#Z ÷¤t¤½ßúúúú Z#R#Z úúúú¤Bå}#53533533'7'7##5##þ¼¼¤t¤ø Z#þÝZ ø¤t¤ߤúúúú ZþÝRþÝZ úúúBå}53533533'7'7##5##5 ZþÝ#Z §†8†¨ Z#þÝZ ¨†8†ß Z#R#Z úúúú ZþÝRþÝZ úúúú¼¦ !! ?ÂÂOüÿþ‹uôÃäþÝuuB¼¸¦ 7% !5’Âþïuþ‹üÿôþzÃR#þ‹þ‹#¤¼¸¦7 ! ?ÂÂSÂý:þ‹uµuþ‹ôÃÆþzÃRþÝuuþÝ#þ‹þ‹#%¬Õ %!3!3hÕþV[þ7Ñl nÑþ7²üüRÕþ{…ú+uÿã\ð #&'&#"327673 u ö…B!ÊOœœOÊ!B…þ oôÆcI7™þÍý˜þÍ™7IcŶÿãL 0"'&547632654'&#"563 3276767&#" \m`c²u\6% G¼Gnth r5?£€þÁ,/H@3H5,Yš„:$Ue·¾”˜I+HQ\‡N­,¨öt­qƒþ¸œzSd69->eSY×®l²Õ 7!!5!!5!!²´ýL´ýLkü•ªìªëªú+²ÿ¢5!#7#53!5!!5!733!ýŠšZŠ‹þëDŠþ2þ›/ŠÕþûŠÕú+^^ªìªëª``ªþëýkþìIbŠ£!0?"'&''7&'&54767>2"&'2767>54'&&cv-'''OO¾Ý_@8vcu-'''OO¾Ý_A:÷£GE:;9($(¯ýØ#&G£FF:;9¢cv8@_pm__ONP(-vcu:A_mp__OOP(-9;ŒSPF($(ŽýØ9;ŒPSF'ÿúÙO@*iiiiBùûÔÌ91/äì90KSXííííY"#3 !ÑýþáúqÃûéÿúÙ!#7!ßýøÑhqýúqÌP¸3!!"&63!!"!0",˜ZØþ(ˆè††èˆØþ(\JN*"‡f_‚–ªÄQŽQĪKM€_fªÿOPi%+%3!!"''7&'&6;73#!!#"!#LØþ(0,:£CyEB†èˆª6£'|°>þŽv\JK-".4ú"$:®ª ½1Ýc¬©ŽQı2ªþ#ª‡KK‚_fªf_lF‚¥O]B°/° 3° 3±í±í±í°°Þ°2±í±í°°Þ°2°2±í±í±í01!3!!".>3!!"Nüí=c…Øþ(ˆæ††æˆØþ(…c=ÖªI9[ªÜܪ[9IP¸&'.#!5!2#!5!276767!5  ,˜Zþ(؈膆èˆþ(Ø\JL, üâ1f_‚–ªÄþ¯þrþ¯ÄªKM€_fªÿOPi%+&#!5!27+'7#53!5!3276767!73&'&'…þ(Ø/-9£CyDD†èˆ«6£'{®’þÀrx\JJ. þÓ4ù %: ª ½1Ýc¬©þrþ¯Ä±2ªݪýyKK‚_fªf_lF‚¥O]5!&'&#!5!2#!5!2767ƒ>b†þ(؈憆æˆþ(؆b>,ªI9[ªÜþþܪ[9I˜þL9î¹@ €€ÔìÔì1Ä2Ôì0!#!˜¡›ý•þL¢ø^øâþL=î 7´  ¿ @  Ô<Ä91äôìî990!!5 5!!LñüR%ýÛšý# þÕ‰\—P_ŒüÝX-y×¶ ÔÄ1Ôì0!!X!ûßתXy“!5!!5!3!!yûß!ý›þD¼¨½þCéªûmIªLþ´ªþ·ÿÿfÿB7Õÿÿ¦¯+U þeÿÿ+G¦ÂrýÒÿÿ?š‘ê#É;ÿÙ   /@     ÔÄ991ÔÄÀÀ90'%3##d)#ÛÓ”/þöÝ}bý%¿ƒù¼9ÿÿ;ÿÙ v'uÿe†!ÿÿ;ÿÙ e'=ÿe†!ºúð %.#"326"&'#"&54632>3"3ª8\32#"&'#"&54632¶9[=G[TFBiË8\=G[SDCj~/“[w¬£~S€NA„U}¦„^ˆsˆd†lk€ut†c…jmvÿuÛ §Ôdƒ|kÖ¥­Îs}Tõ!3!Tü*ª,ÖüÔ}Tõ!3!Tü*ªýp¤ÖüÔ¤,¢33# ¤NíM¿þûþû¢û^¬üT¤,¢3 3#¤¿¿þ³í¢üT¬û^¤,¢$476767632#4'&'&'&#"#¤;9_UijªB9¬ KGLV32326yKOZq Mg3OIN’S5dK t]F‰¯;73 ";@®<7  6<Xñy32767>32.#"#"&'XJ‰F]t Kd5S’NIO3gM qZOK?<6  7<®@;" 37;X®yG&'&#"5>323267#"''43OIN’S61-NˆSXIF‰JKOQdSˆP  ;@®<7 Wþ‘"323326X!ûß!KOZq!Sc1NJO’R`‚!t]DŠ¢ª¤°;83$777=X`yÃ!!#"'&'.#"5>32326X!ûß!KOZq Mg3OIN’S5dK t]F‰ ¬c¯;73 ";@®<7  6<XbzÕ'767#"'!!'7#5!7&'&567676ǧfYUE5kIQ%\n*ýx˜rYéQ’MoIF\<[ETFR‚ Æqþà$"B²2(²«þdš«ç%(9¬L5XXÀy$!!!!#"'&'.#"5>32326X!ûß!ûß!KOZq Mg3OIN’S52'V t]F‰جÀ¬ϯ;73 ";@®<7 " 6<X1y0%#5!7!5!73!!!'#"'&'.#"5>32326Qùu‹þ{hq,ùþ‹‹ý„gqTKOZq Mg3OIN’S52'V t]F‰À¬À¬R=¬À¬R ¯;73 ";@®<7 " 6<Xy.1%!5!7!5!7&'.#"5>3273267#"'!!!!'hþðMEþnÐK Mg3OIN’S523J:V›Q F‰JKO!8¡þ!E$ýŸFœÀ¬À¬Ñ";@®<7 î8á32326#"'&'.#"5>323326yKOZq Mg3OIN’S5dK t]F‰JKOZq Sc1NJO’R`‚ t]DŠï;73 ";@®<7  6<þа;83 $77 7=X0yÃ8&#"5>327&'&#"5>323267#"'3267#"/'Ý00NJO’R:G67'43OIN’S520N]Ša91F‰JKO?J4r[DŠKKOdgbŠ£ 7² ;@®<7 !7)þ½32326#"'&'.#"5>323326!!yKOZq Mg3OIN’S5dK t]F‰JKOZq Sc1NJO’R`‚ t]DŠü*!ûß“¯;73 ";@®<7  6<þа;83 $77 7=þˆ¬X•y“7S#"'&'.#"5>323326#"'&'.#"5>32326#"'&'.#"5>323326yKOZq Sc1NJO’R`‚ t]DŠKKOZq Mg3OIN’S5dK t]F‰JKOZq Sc1NJO’R`‚ t]DЏ°;83 $77 7=¯;73 ";@®<7  6<þа;83 $77 7=XÀy$!5!53276767632.#"#"&'yûß!ûßJ‰F]t V'25S’NIO3gM qZOKج¬þ”¬¬#?<6 " 7<®@;" 37;WÝy' %52% $'"51þpþ¶Z¸¹Vý(Iþ§¸¹þ©Ùœ²œ£²þ¶œ²œ£²XDz¾;%76767!##"'&'&'#5!!5367676323!&'&'&i1*+Vá WJRNMR  áW,!::!,þ©á\HSLPM% áþª+*ß%'H:^¨2:A<336G84¨^:H'@'H?Y¨ L=@33/N0<¨^:H'%X`z¾!!5367676323!&'&'&!!i:!,þ©á\HSLPM% áþª+*ý¾!ûß#'H?Y¨ L=@33/N0<¨^:H'%ýäªÿÿX`y& –¹ÿÿXÿéy& '–¹'–¹–ýºÿÿXÿìy'–”ý½& –þo¹ÿÿWÿìz'–”¹& –þný½J.‡Õ 3#3#!5!5Jìììì=üûüû>þð§þ𹬬–ªªJ.‡Õ ##!!!!‡ìììü¯üûüû>þð—þðþ7¬BªX`y¢ 365&'!!5!&547!5!!%43‘448ûß>þÀ!þÉú0IG00GG2ðªª?8>;¨¨_8X`y !!!!"264&'2#"&546X!ûß!ûßIdd’deH:l'**©z{¤¨ ¬Bª¬bFE``‹bq+((d:s¡žvv£X`yK!!!!2&'56X!ûß!ûßæË×ÚØÜÒ ¬BªS—²— ž²—X`yD!!!!73# X!ûß!ûßÖê¢é«¦ ¬BªòZý¦ªþVX`yD!!!!33#X!ûß!ûßÖ•¦«é¢ ¬BªLþVªý¦X`y¥!!!!!!'X!ûß!ûß° TU ÚUÜÛT ¬Bª­ÿžÿŸŸX`y° !!!!!3!X!ûß!ûß–-Éeý“ ¬Bªþz(ýiE`Œ07GO!!!!#"3###535463!3267#"&54632.#"'53#5#"&4632264&"X!ûß!ûß4@#mmC???DíþÐJB&G$$K&aqk[Q_B;18BÇCC?-I\\I-?Ìp`ctiF6A?9iÚýÐ=$#t¾u#g“SS“SX`y*!!!!>32#4&#"#4&#"#3>32X!ûß!ûß."]?T\Y88EQY7:DQYYU;;R ¬Bª¥=:xoþµHOM]QþÊHPL^PþÊ%U20=X`yÚ ,!!!!3#7#546?>54&#"5>32X!ûß!ûßÃffc`--A6(Y1/a3\p$-, ¬BªiÈN2A+,/-7#!^aO&E++ X%yÝ<@       Ô<Ä291Ô<Ä2ü<Äþ<Ä990!3!!!'7#5!7!X‡ö}¤Ëþ²¸ýyø}¤ÉJ¸ýþ¢;fÕªì¬þÅhÓ¬ìXÀyB !!!!!!X!ûß!ûß!ûßجÀ¬‚ªX yú%#5!7!5!7!5!73!!!!!'Gï=XþkåXýËU7ëþÈY‘þ Z:ýwSÀ¬À¬Àª¸AwªÀ¬À¬¶@Xyî 7!!!!!!!!X!ûß!ûß!ûß!û߬¬„¬À¬‚ªXy? (@åä ( ' ü<ì2291/ìôì905!5yûß!üß!ûß¶¶L¨K¸çþ ªªXy? (@åä  (' ü<<ì291/ìôì90-5!!X#üÝ!ûß!ûß¶êç¸þµ¨þ´VªVÿTwŸ 3!!5!5V!ûß!ûß!üß!û߬¶L¨K¸çþ ªªVÿTwŸ 3!!-5!5V!ûß!üß!ûß!û߬Âêç¸þµ¨þ´VªªVþµwŸ#5!7!5!73!!!'5 Êp[þ5mš{*Éþ•[Æý”™y~ûß!ü߬¬`ª¡u,ª`¬Ÿvë¶L¨K¸çVþµwŸ#5!7!5!73!!!'-5 Êp[þ5mš{*Éþ•[Æý”™y£!üß!û߬¬`ª¡u,ª`¬Ÿvëêç¸þµ¨þ´Wy&%5767$'5674½þà[ØÂš‚zšØ¢b¾þ¥ØÁš|˜Û Ûˆ²ªMþþ)I²g#ˆ²ªþM(J²h#Xÿãy %5%%%'áþw2r™K/þ’dÒýþt™äþÙé”›¦Þm0ñx¶Šþ»®·Ëþ‹0ÝoVXÿãy '75%%5%'ð‰ýÎr™KþÑndþ.t™ä'éo›¦Þþ“0ñx¶ŠE®·Ëu0ý#oVXÿ y!5!%5%%%!!'XÿÓÇþôC_þ^?s¡Mþ¤Nªþ#N+ýžP¢êJ>ýžªƒ¨´`5íY¸dñ|¶–ìªó5Xÿ y!!'7#5375%7%57'à™ýËNƒýEO¢>³ë:þÛfLþNæt¡ÐøÎt€¨±ñªó5¾ª²\¶hì}¸˜a5ý…H<VÿÔw?#%#"'&'.#"5>323265wKOZq Mg3OIN’S52'V t]F‰Jûß!üßõ¯;73 ";@®<7 " 6<¶L¨K¸çVÿÔw?!(%#"'&'&'&#"5676323276-5wKHGOZq M343OFGINIIS52'V t]FDEü)!üß!ûßõ¯;3 " @®< " 6êç¸þµ¨þ´Vÿ w+.%"5>327%5%%%3267#"'&'&''}QIN’SEþ^As¡Mþ§P©þ#Bt]F‰JKOZq _¢4þýÕO;@®<7Öƒ¨µ_5ìX¸cò|¶–Ï6Vÿ w27'732767#"'&'&''5676?5%7%5ƒôÊ3—ýÍ;L t]FDEJGLGOZq P32326&%&%5$7$7wKOZq Mg3OIN’S5dK t]F‰JþÝþl”#·þä÷þ©aí·¯¯;73 ";@®<7  6<RþÐO]þÞïÉ—‚9¦=}–ËVÿŽw±*%#"'&'.#"5>3232655%$wKOZq Mg3OIN’S5dK t]F‰ü)·íaþ©÷þçº#”þl¯¯;73 ";@®<7  6<RïË–}=¦9‚”Ìï"]OVÿ[w§67&%'&'5$774£h›m µUéÁ²þÖ ¢¦ÀéGöc _eT§2þªw™ï°nþëwÔï÷ýô2"O0¦Bþ¼j%Vÿ[w§'567&'567&™£h›m µUéÁ²* ¢¦Àéþ¹öc _eT¥2Vw™ï°nwÔï÷ 2ýÞO0¦BDj%X£y_%!"'&54763!!"3!yý½ÉŠ‹‹ŠÈDý¼‰¾_`ˆD£‹‹ÈÆ‹–ÀˆŠ^`X£y_75!27654&#!5!2#XDˆ`_¾‰ý¼DÈŠ‹‹ŠÉ£–`^ŠˆÀ–‹ÆÈ‹‹XÿÄy> #"&'&5476;7!!!!"#'J‰¾_+30TD‹‹ŠÈ~K¡9þºÝ#ý½ K¢ÉÀˆŠ^+#E‹ÈÆ‹ß5ª–ýp–ß5XÿÄy> 32654'&'7+'7!5!!5!237RJ‰¾_+30TD‹‹ŠÈ~K¡9þíFÝýÝC K¢9ÀˆŠ^+#E‹ÈÆ‹ß5ª––ß5Xy%!5%!"'&54763!!"3!yûß!ý½ÉŠ‹‹ŠÈDý¼‰¾_`ˆDªªªš‹‹ÈÆ‹–ÀˆŠ^`Xy%!=!27654&#!5!2#yûßDˆ`_¾‰ý¼DÈŠ‹‹ŠÉªªªš–`^ŠˆÀ–‹ÆÈ‹‹Xÿ,yÖ&%!!'7#5!7&'&5476;73!!!#"$UýrGŸ6ã:qY‹‹ŠÈ²Gž5âþìÜðýÝ^‰¾_=RªªÔ5Ÿª¬ Y‹ÈÆ‹Ö5¡–ýp–&Àˆˆ`=Xÿ,yÖ!++!!'7#5!7!5!&#!5!27327654'&'ƒ92‹‹ŠÉD4VýqFŸ5â3þ²Û ý¼D&#Ižþ¼ˆ`__Ç 2ÆÈ‹‹šªÔ5Ÿªš––Û5ü9`^Šˆ`Xÿ0y!%!'7!5!7#"'&54763!!"3!!yþ§„Rþ è|†ÉŠ‹‹ŠÈDý¼‰¾_a‡Dþ±AQªªÐjfªš‹ŒÇÆ‹–ÀˆŠ^`–5eXÿ0y"%!'7!5!7#!5!27654&#!5!2yþ§„Rþ è|ý½D‡a_¾‰ý¼DÈŠ‹‹]zTQªªÐjfª›–`^ŠˆÀ–‹ÆÇŒ^DeXwy‹1°/°3±í±í°°Þ°2±í±í°/°3±í±í01!!!!X!ü‰wûß‹ªý@ªXwy‹1°/°3±í±í°°Þ°2±í±í°/°3±í±í01!5!!5yûßwü‰‹ûìªÀªXyô H°/°3±í±í° °Þ° 2±í± í°°Þ°2±í±í°/°3°3° 3±í±í017!!!!!!X!ûß!ü‰wû߸ªæªý˜ªXyô J°/°3±í±í°°Þ°2±í±í° °Þ° 2±í± í°/° 3±í±í±í±í01%!5!5!!5yûß!ûßwü‰¸ªª<üDªhªOi‚ž3?2"&'&'&547676"2767>54&'&'3!!#!5!úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FÞŒþìŒþížPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9þëŒþîŒOi‚ž372"&'&'&547676"2767>54&'&'!5úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FÂýMžPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9þÕŒŒOi‚ž3?2"&'&'&547676"2767>54&'&'77''7úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FþBcÄÃcÃÂcÂÂcžPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9­cÄÃcÃÂcÂÂcÂOi‚ž372"&'&'&547676"2767>54&'&''úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F,cþcžPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9KcþcOi‚ž73#2"&'&'&547676"2767>54&'&'éüüݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:FþÏ¿POO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9Oi‚ž2L2#"&546"326542"&'&'&547676"2767>54&'&'h7b%&'œqq—š§nNL88OôݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F)'%`8nš—qqœ‡MpLM77äPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9Oi‚ž!'/7=E2"&'&'&547676%&'&'& 654'67676-úݾOO''''OO¾Ý¾OO''''OOfÿ:F-þìTþ1-F:þžþ:E.þûþìSÿ1.E:žPOO__pm__ONPPNO__mp__OOAþÏš9î––FPQþ¼™þÒ9ƒ.™9ë––EQPDš19Oi‚ž!;!!!!2"&'&'&547676"2767>54&'&'+{ý…{ý…ÏݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F;gZfÖPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9Oi‚ž372"&'&'&547676"2767>54&'&'!5!úݾOO''''OO¾Ý¾OO''''OO~£GE:;99;:EG£FF:;99;:F2þm“žPOO__pm__ONPPNO__mp__OO=9;ŒSPŒ;99;ŒPSŒ;9þIŒPiƒœ%!!!3!!#!5!ôüèŒ3ûÍÒŒ8þÈŒþÉ7õüå§û͘þÇŒþÊ6ŒPiƒœ %!!!!5ôüèŒ3ûÍrýMõüå§ûÍ_ŒŒPiƒœ%!!!7   'ôüèŒ3ûͬc  cþôcþøþöc õüå§ûÍ#cþõ cþôþøcþ÷c Piƒœ 3#!!!éüü üèŒ3ûÍþÏêüå§ûÍXy!!#yü‡¨ýÓªýÓXy!!5!3Ñü‡y¨-ª-úüXy!!5!!þC!þDZªªû¦Xy!!5!½½ûß¼û¦ªªZé/å`¹µÔì1Ôì03#éüü`þÏ›É7 !!'  TS ÙTÚÚS8ÿÿžÿžžÿX`yÃ!532767>32.#"#"&'yûßJ‰F]t Kd5S’NIO3gM qZOK ¬¬·?<6  7<®@;" 37;XþAy 755%5!5X!ûß#þûß!üß!ûßʶþ´¨þµ¸ç¬¶L¨K¸çþ ªªXþAy % 5 -5!!yüÝ#ûß!ûß!üß!ûß!ûßÊêç¸K¨L êç¸þµ¨þ´VªVw?  55!5!wüß!ûß!ûß!‰êç¸K¨LVªXy? 55%5!X!ûß#üÝ!‰¶þ´¨þµ¸çöªªVÿw± $75$&%&%5$7$7¤"±ËþøÞþn³·þäíþŸW÷·þÝþl”ÈÏüÜœƒ8È6üsïË–}=¦9‚—ÉïþÞ]OVÿw± $'$'5%$5)ànþÞþøË±±#”þlþÝ·÷WþŸíþä·š6È8ƒœÜüÏû0O]"ïÉ—‚9¦=}–ËVþŒw)%*67&'&%&''&'57&%5$?7d¢MjT˜VÊ¥©þ3˱þÞ!³¢º£Ð÷¶3Òþòaí4m"cjX)3õS]ï‡[þîe¥ï¹¡œÜüÏÈýÈ3N@È%H£Z-¦=}þ¤k$VþŒw)$(6%'56?56%7$'57&%¢¥š»ÿËDÑ>þ’à¡¢WwZŒ©NçœÌ(þåÛ·+/m")3ýó3 ¦+SØi0È6šþ3hiü˜y÷‡¬ïËjeåïË–ÜXÿ[y§3!!!'7#! !PžYäþØþæBýzržYä†þ¢þh§?ݪý@ªþä?Ýü–Àý@Xÿ[y§3!'7#5!!5!!PžYäýzržYä(ý¾†sþ昧?Ýûìþä?ݪÀªªý@ÀXÿ>yô!!!!!!'7!5!7!X!ü‰wþÒ R`þ§„Rþ ègý±ôªý˜ªfªÐjfª€Xÿ>yô%!'7!5!7!5!!5!!yþ§„Rþ ègý±wü‰!þÒ R¸ªÐjfª€ªhªüDfVþíw?%%&'&#"5>327%5 %3267#"''43OIN’S:Z0ýì!üß!þx2XIF‰JKOQd>ˆ3  ;@®<7 Ò§¨K¸çê¶{ß"327V!üß!þ?E>XIF‰JKOQd>ˆC43OIN’S:Z0ýì¶êç¸þµ¨þí"323267#"''&%&%5$7$743OIN’S61-NˆSXIF‰JKOQdSˆ¹þÝþl”#·þä÷þ©aí·  ;@®<7 Wþ‘"323267#"''55%$43OIN’S61-NˆSXIF‰JKOQdSˆþ˜·íaþ©÷þçº#”þl  ;@®<7 Wþ‘"ø # #hÖ£þÍþÍ£øýGÇþ9’þò>¬ 3 3hþ*£33£þòºþ8È’>Ž !!# #œ™ügÌÖ£þÍþÍ£ŽrcýGÇþ9’>ˆ !!!!# #œ™üg™ügÌÖ£þÍþÍ£ˆrˆrcýGÇþ9Ïþòw!##Ϩð¸ùmZþò##5¸ðøÞ“Ïþòw33ϸðþò"ùmZþò!533þXð¸þò“%–¯C!!3#ò½þCÍrrCr[þ  –—C!!3# ½þCrrCr[þ %ѯ~!!3#ò½þCÍrrCr­þ  Ñ—~!!3# ½þCrrCr­þ Xsy^!#yü‡¨^¬þÁëap$%%$牉þþ‰þñ¸¸¸¸ýøЉ‰€‚ŠŠþ~ýøô±±þ ýå±ÿÿ°Ë œ°Ë%6 %!&'&"1˜1™2ûÀ»*ÀzôzÀ°`°XX°þ rÅoGGn¸Y  67" Ò,›J5þPþP5J­ø…X*7ýú7*#LþÈ8¦åP"2642#"''7&546ÄŠ‡ÇŒîži56Ø]ÌQÍBÖɉLJ‰Ão3…N˜ÖEÌQÌ\|ØGéŠ+-7AJT35#"&546;5#"&46235462+32"&=54&#"3#"2653264&"2654&#ÏÏ‚·YxxY·‚Ï‚¸€€ZxxZ€€¸‚þÉE1/EE0uu0EE`EŸv/EDaEEaDE/¢ÐþÈwZ€\Z‚Ђ¶€ZwwZ€¶‚ЂZ\€Zw u0EE`Eþ`E/1EE0E`EE0ýëu0EE1/EXsy^!3!yûߨysëþÁ+ѵ~!#!µýèrŠ ýŭѦ~5!#Šr rýS;+ÿ޵;!!3µývrr­ýÅÿަ;)3!rýv;ýSþLl4732#"'&'.#"0 ¾ÊPd@7+ hþ$¼TA6?&Hý•þÓú˜|þlj #"&546323250Ç ¾ÊPd@7+ h‰úõ$ýýþDTA6?&Hk-khéiÉ !!!#%!!h\‘þrþoâa þ`ÉüÞ¾"¾¾(ËI  !! #37!#3'ËþQüêþÓ'ÈÈ'þHƒƒþo99ÈɃƒ¹þo!þpþáþâ=»»ýÃþâ»»}(TI #!!7!#3'âlÈÈÞü)×ý‘ƒƒþokkÈɃƒš=þáþâr!r»»ýÃþâ»»+2³Ÿ" #/;GS_kwƒ›§³¿Ë×ãïû+7CO[gs‹—£¯»ÇÓãïû!2#!"543!254#!"+"=4;2+"=4;27+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;22+"=4"=43+"=4;2+"=4;2"=43!2#޵\\üK\=µüKl]Џ\¸\\\]¦iiüÅ\][]\\\\\\\\]\\]\\\\\\x::f>]ýY­"\þI\\·\\þI·þ`LLMK\y>þÞ>(ËI !! 3#)%3!'¯üêþû-'ÈÈ'¸þúƒÈÈ9þ6ƒ¹üß‘þá»»þáþâ=ýûHÿÓˆJ7 hýàHØØH--JþäJÿ4Ñ¡!!!ríþrÑZ‰ùmø“ÿ4Ë¡ !%!!5!5!5!!Åû­áüáüáüÌmø“rº¬ìªÿ4Ë¡ 3#3#!%!!5!!îõõõõþÅû­áüáüoöþõþžmø“r‡ªXÿ4Ë¡  ! !! !Ã¥¦þZþáþþSû;Åû­ðñüÜþZ¦¦û$ÄþðüÊmü­ðþáÿÿÿ4Ë¡& º ÿ4Ë¡ '3276'&#"!#"'&'!!67632!€ôzzzzõõzzzzüáIw™˜™˜wHSû;Åû­Hw˜™˜™wIüõýÎGG2GGû$Ê_EXXE^ýÅmý¨_DXXE_çþ¢Ë3#%673#&'%676'&1rs˜rs2þÎsr˜sr·ôTTTT@TTõõT|À°Bôþ B°ý@°Bþ)×B)ýÎ1Ì1@ü4121ÿÿtËD& º ëÈÿ4Ë¡ !%!!Åû­Yü§áüžbÌmø“Æ5Aù¸ÿ4Ë¡ !!!!Ëû;Årü§ˆbÌmùY5Aù¸ÿ4Ë¡ !%!5!Åû­áüáüáüÎÌmø“rXˆÀˆaû…eþÌÿ4Ë¡ !%! !Åû­áü2üÎáüÌmø“ràþxý›1éþxéÿ4Ë¡ !%!!5!!Åû­áüî ZþëZ üÌmø“rÏ ZnZ ÿ4Ë¡ !!'7!!!'7Ëû;ÅrþëZ üîáü ZÌmùêþëZ ý1X1üê ZÿÄËÕ'327#"'$%'3632# 6'&#"€ôzz=>þlÏ–WW™˜þÏs¿PYX˜™2þç¾þv”Òõzz>ÜþçGjŒü²X°`O°ú®X°þ þ¯°þéòü•ŒG%þ¢¬3 33!#!!3˜/Éþ˜þ É.öŽööÕ^þ¢ú+þ¢^ÕúÕkü•kÿ4Ë¡ 7!!#xðñrû;ráþc¦/þíû³Krø“müìüåüuÿ4Ë¡ % !%!50!53!ŠþÞþÞþÀÅû­áü‚Ý‚üªyû‡þŠmø“rZ[zú†Ôÿ4Ë¡ !!%!!''!Åû;´ŸþGZ ¤ ZþH¡ø“r‰þìZ úE» Zùw%þ¢¬3 !#!3!###.þ7÷˜øþ7/˜öö˜öÕ^þ¢ú+þ¢‰ü•kü•kÿ4Ë¡! !! 3!xáþþSû;Åû­ž¦üZKû³þ{mû§üuåÿ4Ë¡ ! !%!#5!5!Šý¼"ýžÅû­áþ~Ýþ~áü+û‡þ‚mø“rÔú†z[Zÿ4Ë¡ !7!)!7Åýï Zþì¹ý½þb¸þìZ Ìmø“ûúE Zþì‰ùwZ ÿÿÿ4ÑÕ& ¹ ÿÿÿ4ËÕ& ¸Ûÿÿÿ4Ë?& ¸ çÈÿÿÿ4Ñé& ¹ ºÿÿÿ4ËD& ¸ ëÈÿÿÿ4Ë¡&  ÿÿÿìZå^' È—ÿÿÿ4Ë¡& ÿÿ›É' »ÿ—ÿÿ?Ô‘H' »ÿ8 ºÿÿt˦' »– ëÈÿÿXìyH' »ÿ8aÿÿXyH' »ÿ8!%¬Õ *!%#567!676&'&'&'&ªý|z*(2J E<iKH#&ºõÙGIJEÂ‡Ø Eý¢—|-2 M3 +þO  ! r®;ýŸÆ ?®9yý?pýæ¸  ! Xÿãyð*= 67 '&5677%"632327'&32767#"'&'.#"yÞ{h p{þ"zi piE5 5dJ t]BFþZCEŽF4 Zq Mg3ðħþЮþ°´ÄĨ1®P³$˜sÎ 7%’˜ý‚þÛ’˜˜sÎ3 !Xþ¢y3#"'#&'&#"5>323326yKOGU˜43OIN’S52˜^NF‰z®;7 ü(  ;?®<6 Ïûó'=þáÑ'3#3!!#7#537éüü ü`?þ‡+š¨Æ0'þÑþ7ϺrSSrºÿ4Ë¡!!!!3!!!'7#5!7!xáürÅû÷Ådƒ¢þõ“žýûÇdƒ “þeZ‰ùmø“n;fÕªì¬þÅhÓ¬ìÿÿÿ4Ë¡&" ÿÿ6Ï`ÿÿÿ¾þVT{ÿÿFÿãŒ`ÿÿÿ4Ëy& ¸÷ÿÿœÿ45{& ·,ÿÿÿ4Ñ`& ¹ÿÿÿÿ4Ë`& ¸ÿÿFÿç•y÷þ.·µ !· /Üì/Üì1·¶ ¶/<ì2Üì0#5!!!#áÇo¿oÇþ.Ú­þ%Û­þ&HÿÓˆ:07 %#"326=7#5#"&546;54&#"5>32hýàHØØHþ#[]E>Vcii!fHatŽŠŒLT5m4:j2O85%--JþäJó??8?vh+þš]85l[hmKDg/RÚË: 953353!53!5!#"326=7#5#"&546;54&#"5>32as7sþ9s¡û;Åü·#[]E>Vcii!fHatŽŠŒLT5m4:j2Op"¸Þr§??8?vh+þš]85l[hmKDg..RÚË:1=[%5!!5!#"326=7#5#"&546;54&#"5>32#"326757#5#"&546;5.#"5>32›0û;0´#[]E>Vcii!fHatŽŠŒLT5m4:j2Op""[]E>Vbii"eIasŽŠŒLS5m4:j2Op"Úrrrr??8?vh+þš]85l[hmKDg..R}??8?vh+þš]85l[hmKDg..RkËŠ*.26:>B#5#"&546;54&#"5>32#"326=%=!!%%%5!55qi!fHatŽŠŒLT5m4:j2O85%Ñ#[]E>VcÊþÔ,þÔ,þÔý“þÔ,þÔ,þÔþš]85l[hmKDg/R}??8?vhþñyŒy¼rDŒyŒyyŒyþ¢rr¼yŒyR8~Ï4<DLTZ`%#5&'&'&''7&5475'7676767537'5676767'7&'&'&'5'7'%654šd3/D9±2°°2±9D/3d4.E9±2°¯2°9E.42* ¨¨ *2ƒ2* ¨¨ *2¼©©*©©8Ë8fWfEOPDfWg8ËË8fWeDPOEeWf8g * apÃa *  * aþÃa * ³ba.43•ab-45F^Š¢'04>2".33&'."#67>76#FV“ÊÞÊ“VV“ÊÞÊ“ðÀÁï"v ² v"Z¤Ï83Pv"þÎ¥"vP3ÞÊ“VV“ÊÞÊ“VV“nþ˜h<8PvDDvP8¢þ‚"vP9þÁ~?9Pv"F^Š¢&0!4>2".7!&'."67>4'&hóþþÑV“ÊÞÊ“VV“ÊÞÊ“DvP47þ´9°; ² ;Ñþ´74PvD"MÇþýÞÊ“VV“ÊÞÊ“VV“’² v"i c;DD;gý—"v ²P F^Š¢ %7'32>4.#52".‘®ÍîVþ—FÊýúoDv ² vDDv YoÊ“VV“ÊÞÊ“VS’wþVî—ÊFþ_Y vDDv ² vDoV“ÊÞÊ“VV“Êÿ4Ë¡!!!xáürÅZ‰ùmø“ý𸆠#53Û຦ þüZýðê—â0ýóþ†ýîüíýüÛ‰3#ÃÉösþ¸‰ #5Û“ˠР‰êü¥þWþþeEî%3êý𹆠53öZþü ¦º ýðêz þýýÐþüiêöýü¹‰#0¹Ã‰ös þ¹‰ 3#öàР˓‰êüÍýÛþþ»›ì©[ýü¸m#!!Ûàþ#ýü qÃýüÛ‰3#ÃÉösþ¸‰!!ÛÝý`‰÷Nà uýü¸m!5!õþ# ýü®Ãöõýü¸z3#õÃÃzö‚þ¸z3!5!õÃý`ÝzöšÃ ýêÁm #4763!!"ƺoyºþçeD9ýêuß‘ž°fW™ýüƆ#'&%'53 763ý:*eºnKþû==Mnºe(Á =“þCýè ·_A»Ec³ ýèþH˜< þÁ† 3!!"'&5Æ9Deþí¸{o†ø”šVf°žád ýôÆŒ#3ƺºýô ˜ýêÅm 4'&#!5!2 9Deþçºyoýê}™Wf°ž‘ßø‹ ýüÀ†&'&3!3#76Ô<(eºnM==þûKnºe*Á!<˜¸ýôþMcE»A_þIýô½“=þņ 3#!5!2765 ºo{¸þíeD9†øœáž°fVšþlj3Æþ ‰öw¼v% !!!!55!#Žþ‹u©Xüÿïý ̼uuÉ™ý]ÃÃ]eËÄ! !!Ëû;bcû;Å $û<ø–þ.:µ· ÜìÜì1´¶/<Üì03!3–¨T¨þ.‡þ%Ûýyÿìðåœ5!ùð¬¬ÿìšåò!ùšXþ¨ý–¸È3 ý– 2õÎÈý–È!È@ý– 2õÎÿìðåœ 5!!5!!5!±4üï)üï4𬬬¬¬¬ÿìšåò !!!!!±4üï)üï4šXþ¨Xþ¨Xþ¨ý–¸È 333     ý– üôÀ²ýNf üôÈý–È !!!È@þÀ@þÀ@ý– üôÀ²ýNf üôÿëðåœ 53353353353¼´³´²´½𬬬¬¬¬¬¬ÿìšæò 3333333¼´³´²´½šXþ¨Xþ¨Xþ¨Xþ¨ý–¸È 3333       –2ýÎø2ýÎsÙþ'ýsÙþ'Èý–È !!!!È@þÀ@þÀ@þÀ@–2ýÎø2ýÎsÙþ'ýsÙþ'ý–åœ!!ÍýÓý–¬û¦ý–åò!!ÍýÓý–\þ¨ûüÈý–åœ!!Èþ#ý–¬û¦Èý–åò!!Èþ#ý–\þ¨ûüÿìý–¸œ!5!ýÔÌý–Z¬úúÿìý–¸ò!!ýÔÌý–Xú¤ÿìý–œ!5!Èþ$ý–Z¬úúÿìý–ò!!Èþ$ý–Xú¤ðåÈ3! -ðØúÔ¬šåÈ3! -š.û*þ¨ÈðåÈ!!È@ÝðØúԬȚåÈ!!È@Ýš.û*þ¨ÿìð¸È5!3, ð¬,ú(ÿ울È!3, šXÖùÒÿìðÈ5!!Ü@ð¬,ú(ÿìšÈ!!Ü@šXÖùÒý–åÈ3!! -ýÓý– 2úÔ¬û¦ý–åÈ3!! -ýÓý– 2û*þ¨ûüÈý–åÈ #!!!P@ÝýÓý–ZØúÔ¬û¦Èý–åÈ 33!!ÈP -þ#ý–,úÔ¬û¦Èý–åÈ!!!È@Ýþ#ý– 2úÔ¬û¦Èý–åÈ #!!!P@ÝýÓý–.û*þ¨ûüÈý–åÈ 33!!ÈP -þ#ý–\Öû*þ¨ûüÈý–åÈ!!!È@Ýþ#ý– 2û*þ¨ûüÿìý–¸È!5!3ýÔ, ý–Z¬,õÎÿìý–¸È!!3ýÔ, ý–XÖõÎÿìý–È !5!!#ýÔÜ@Pý–Z¬,ú(û¦ÿìý–È !5!33Èþ$, Pý–Z¬,úÔúúÿìý–È!5!!Èþ$Ü@ý–Z¬,õÎÿìý–È !!!#ýÔÜ@Pý–XÖùÒûüÿìý–È !!33Èþ$, Pý–XÖû*ú¤ÿìý–È!!!Èþ$Ü@ý–XÖõÎÿìý–åœ!5!!ýÔùýÓý–Z¬¬û¦ÿìý–åò !!!!ýÔÌ-ýÓý–XV¬û¦ÿìý–åò !5!5!!ýÔ,ÍýÓý–Z¬Vþ¨ûüÿìý–åò!!!ýÔùýÓý–Xþ¨ûüÿìý–åœ!5!!Èþ$ùþ#ý–Z¬¬û¦ÿìý–åò !!!!Èþ$Ýþ#ý–XV¬û¦ÿìý–åò !5!5!!Èþ$Üþ#ý–Z¬Vþ¨ûüÿìý–åò!!!Èþ$ùþ#ý–Xþ¨ûüÿìðåÈ5!3!, -ð¬,úÔ¬ÿìšåÈ !3!!, -ýÓšXÖúÔ¬VÿìšåÈ 5!3!!5, -ý3ð¬,û*þ¨VÿìšåÈ!3!, -šXÖû*þ¨ÿìðåÈ5!!!Ü@Ýð¬,úÔ¬ÿìšåÈ !!!!Ü@Ýþ#šXÖúÔ¬VÿìšåÈ 5!!!!5Ü@Ýüãð¬,û*þ¨VÿìšåÈ!!!Ü@ÝšXÖû*þ¨ÿìý–åÈ #!5!3!¸ ýÔ, -ðû¦Z¬,úÔ¬ÿìý–åÈ !!3!!ýÔ, -ýÓý–XÖúÔ¬û¦ÿìý–åÈ !5!3!!ýÔ, -ýÓý–Z¬,û*þ¨ûüÿìý–åÈ !!3!!ýÔ, -ýÓý–XÖû*þ¨ûüÿìý–åÈ !5!!!!ýÔÜ@ÝýÓý–Z¬,úÔ¬û¦ÿìý–åÈ !5!3!!Èþ$, -þ#ý–Z¬,úÔ¬û¦ÿìý–åÈ !5!!!!Èþ$Ü@Ýþ#ý–Z¬,úÔ¬û¦ÿìý–åÈ !!!!!#ýÔÜ@Ýþ#Pý–XÖúÔ¬Vûüÿìý–åÈ #5!5!!!!Pþ$Ü@ÝýÓý–V¬,û*þ¨ûüÿìý–åÈ !!33!!Èþ$, PÝþ#ý–XÖû*V¬û¦ÿìý–åÈ !5!533!!Èþ$ÜP -þ#ý–Z¬VÖû*þ¨ûüÿìý–åÈ !!!!!ýÔÜ@ÝýÓý–XÖû*þ¨ûüÿìý–åÈ !!3!!Èþ$, -þ#ý–XÖû*þ¨ûüÿìý–åÈ !!!!!Èþ$Ü@Ýþ#ý–XÖúÔ¬û¦ÿìý–åÈ !5!!!!Èþ$Ü@Ýþ#ý–Z¬,û*þ¨ûüÿìý–åÈ !!!!!Èþ$Ü@Ýþ#ý–XÖû*þ¨ûüÿìðåœ5!35!, -𬬬¬ÿìšåò!!!¸-û,šXþ¨Xþ¨ý–¸È33   òÖû*ú¤ûüÈý–È!!È@þÀ@òÖû*ú¤ûüÿìDåH5!5!ùûùœ¬¬þ¨¬¬xý–XÈ333x   ý– 2õÎ 2õÎý–åH !!!!ÍýÓ-ýÓý–²¬¬¬üRxý–åœ !!##xmþs  ý–¬û¦Zû¦xý–åH !!3!!xmý3 -þsý–²¬úúZ¬üRÿìý–¸H !5!5!5!ýÔ,ýÔÌý–®¬¬¬úNÿìý–Xœ 5!###l   ð¬úúZû¦Zÿìý–XH !5!!!5!¸ý4lþ þt,ý–¬úN®¬û¦DåÈ 3!!! -ýÓ-D„û€¬¬¬xðåÈ 333!x   ðØúÔ,úÔ¬xDåÈ 3!3!¸ ü“ Íœ,û€¬þ¨„ú(¬ÿìD¸È 5!5!5!3,ýÔ, D¬¬¬€ù|ÿìðXÈ 5!333Œ   ð¬,úÔ,ú(ÿìDXÈ 5!35!3Œ ýÔÌ œ¬€úÔþ¨¬Øù|ý–åÈ 3!!!! -ýÓ-ýÓý– 2û€¬¬¬üRxý–åÈ 333!!x   þsý– 2õÎ 2úÔ¬û¦xý–åÈ 3!33!!¸ ü“  -þsœ,û€¬úú 2õÎZ¬üRÿìý–¸È !5!5!5!3ýÔ,ýÔ, ý–®¬¬¬€õÎÿìý–XÈ !5!333xþtŒ   ý–Z¬,õÎ 2õÎÿìý–XÈ 5!3!5!33Œ  þt,  œ¬€úÔúú®¬û¦ 2õÎÿìý–åH !5!!5!ýÔùýÓý4ùý–®¬¬üR¬¬ÿìý–åœ 5!!###ùþs   ð¬¬û¦Zû¦Zÿìý–åH 5!!5!3!!ùü“þt, -þsœ¬¬úú®¬û¦Z¬üRÿìDåÈ 5!5!3!ùû, -D¬¬X¬€û€¬ÿìðåÈ 5!333!Œ   ð¬,úÔ,úÔ¬ÿìDåÈ 5!5!333!ùûŒ   D¬¬X¬€úÔ,û€¬ÿìý–åÈ!5!5!5!3!!!!ýÔ,ýÔ, -ýÓ-ýÓý–®¬¬¬€û€¬¬¬üRÿìý–åÈ5!333!!###Œ   þs   ð¬,úÔ,úÔ¬û¦Zû¦Zÿìý–åÈ !!!!5!5!333!¸-þsþ þt,ýÔŒ   ý–Z¬üR®¬û¦¬€úÔ,û€¬ý–åœ 4763!!"Q[¨yþ‡Y[ý–`¡†¬~|ü ÿìý–¸œ 4'&#!5!2.-Yþˆx¨[Qý–`~=?¬†x¨ü ÿìð¸È 5!2653#xY[ Q[¨ð¬~|2ûΨx†ðåÈ !"'&533!åþ‡¨[Q [Yyð†x¨2ûÎ|~ÿ“ý–>È3mù²ûý– 2õÎÿ“ý–>È#3>²û²ý– 2ÿ“ý–>È # # 3 3>²ýÜýݲ}ýƒ²#$²ý„ý–cûûcúçÿìð|œ5!ð¬¬F¸È3 F‚ú~|ðåœ5!|ið¬¬ý–¸F3 ý–°ûPÿìš|ò!šXþ¨ÈFÈ!È@F‚ú~|šåò!|išXþ¨Èý–F!È@ý–°ûPÿìšåò5!5!!5iý—ð¬Vþ¨VÈý–È333ÈP Pý–°‚ú~ûPÿìšåò!!!iý—šXV¬VÈý–È#!#P@Pý–°‚ú~ûPÿÿÿìå( ¤ÿìþåÿ!ùþþûÿìþå !ùþ ýöÿìþå!ùþüñÿìþå!ùþûìÿìþå!ùþúçÿìþå!ùþùâÿìþå#!ùþ#øÝÿìþå(!ùþ(÷ØÿìþF(!Zþ(÷Øÿìþ§(!ºþ(÷Øÿìþ(!þ(÷Øÿìþh(!|þ(÷ØÿìþÉ(!Ýþ(÷Øÿìþ*(!>þ(÷Øÿìþ‹(3žþ(÷Øÿÿiþå( ¬} ÿìþF( #'+/3!33!33!33!33!33!3¦ ü䟟Ÿüåž ü䟟Ÿüåž ü䟟Ÿüåžþþûþûmþûþûnþûþûmþûþûnþûþûmþûþûÿìþå( '/7?GOW_gow3##3#3#3#;##;##;##;##;##;##;##;##;##;##;##;##Š  žž  žž  žž  ž>ŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸ>ŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸ> ŸŸ  ŸŸ  ŸŸ  ŸŸ ûþûþûþûþûþûþûþûþûùâþûþûþûþûøÝþûþûþûþûøÝþûþûþûþûÿìþå(!%)-13#3#3!3!##!#3#3#3#3#3#3#žžžžžÞŸÞŸ þ#ŸŸŸ|  þŸŸþŸŸ|  þŸŸþmÖÖþû÷Øþûþû¶þûýýŽþûýÿÿÿì#å( ¡#ÿÿEþä( ¯Zÿìþh!|þûìÿÿiþå ¶}ÿÿÿìh( ¶ÿÿÿìþå(& ¶& · ¸ÿÿÿìþå(& · ¸ÿÿÿìþå(& ¶& ¸ ½ÿÿÿìþå(& ·& ¸ ½ÿÿiå( ¶}ÿÿÿìþå(& ¶ ½ÿÿÿìþå(& ¶& · ½ÿ±Ëw!ÅNÄû<ÿ±Ëw7!!!xáürÅ$àû®Äû<ÿ±Ëw 3!254#!") ) xäääýçärVVþªýçþªääääýèVþªýèþªÿÿÿ±Ëw& Ê Áÿ±Ëw !%!5!5!5!5!5!5!5!5!5!Åû­áüáüáüáüáüNÄûž ŸŸ?þÁŸŸ ž:ý´“II“L“IIüØÞ¸[[¸ý"¸[[ÿ±Ëw !!!!!!Åû­·þIàþIý×NÄû<š¸ü àýÖÿ±Ëw !%!!5!!!Åû­·þI)·ü NÄû"¯-?33 #&'&+"'&#"/573;2?"#'57#&'#"#567635a)8Ç)kOkaKA-'–= //G)‰ªÝ,Yþ¦=  !H$ /+þHDH)á+) $., f›ŸYYÿúx« !=Z…±Ü Lx73&'37&'67&'67&'67'32654'&'7654&#"3672 $54767&'&47'&27632#"/#"?#"54?'&5432'&327632#"/#"?#"54?'&5432'&327632#"/#"?#"54?'&5430'&327632#"/#"?#"54?'&5432&5432&56327&5432'&327632#"/#"?#"54?'&5432'&327632#"/#"?#"54?'&5432PO€~ )¹*+'þë)+(@&'$Ê|÷¯®ø|e‹?/A}]\ŠB-7“„1SLoWŽþäþjþã\vLLr%%,* #$ )*n$ % +) $ #*+ý    ? ù'+&þ´()&û(+&p   üò% % +) $ $*+„*EC*Z*,)-)-*,þ%&%&žf“‘ÐБ“fU 5HhfeefhH2Ùpu^èQFs¥£ææ£¥sKQèGþ4 4  22044 22 9     û  ýL%('*Þ%)(*%)(*t     þ144 22 0´r!2CTev‡˜©ºËÜíþ+&'&54?6?6/&2#"/547672#"/547672#"'=47672#"/54762#"/54762#"'=4762#"/547672#"'=47672#"/54762#"/547672#"/547672#"/547672#"/5476l=.%G\&#- Lj.ÄN 0d&K4i¹    }    g    s            &        ‘    þ    Ì    Ù    Á    ÆHƒ5-V"*2¥þ±îíþ±š™û¿-­.ŠøþüøŠ”T<:U'EGE'Dîþ²Nî•””þí–ÖþÓ-Öˆö……öˆU]ÿþÿ\`CD‹cbF]WöøW±ZA@ZZ@AZZA@[[@AZKPrq  qrPGe†ÞÞ†dMPä  äP }ŸÙ2þÎÙ›ÿþ¿k A4&#"26%4&#"326#"547&'&4632 $54'&'&4632XP79NNqOý.N97OO79N'þ«÷õþ«]E‹ac‹DC_\ÿnÿ\U>D‹bcŠEXFDbbDEaaEEaaEDaaþ+èþ¹Gè©„Uò««òUSjŽ©ëë©i LVò««òV‚6›Ê "32654&7#"32?ÉÉŽÉǾ˜þÎÙ×þÎ/Ú`TšcÈŽÉÉŽÈ;™þPþÏ1°2ÓY.£Ë1"264&"3264#"54327&5432#"'&'@Kjj–jiO—iiLKiý÷¡rq¡ rtPŠŸss ¡rqQÜ©ð©©ð©Z©ð©©ðýäTdµþÿµ·€‰IU·þÿ·µþÿ ÿÿ½È)5AMYdp{†‘©µ3/&76'!'47653!476=332654&#"#"&54632'#"&54632#"&54632&'&676&'&676'.7>'.76$6&'&%6&'&6>'.>'.f<‡Ž;Ö.=+ý²,>/Ö;އ»Kyüz~LZ|WX{{XX{IE11EE11ET    m   â  þù  ;  þÉ R   þÿ  Ê  ȇ‹…s@dd@s…‹‡}þ½>}=/Nêþn’êN/=}>þ@‰ÀÀ‰ˆÁÁ‡MllMNkk¶ýéë& % þI% % "!$#  "! "È!!þÖ & %± % & ÉÉ%-5AMYdp|ˆ”¦ÀÚ5#!4'&'5#2#"&546"264&"264"2647>'.7>'.%676&'&>&'&7>'.%7>'.676&'&676&'&753!476=3''676%27/&76'77&'&/#?6'&7ÔliilŒYz{XW|{‰bEEbEd‘  ¹  þì  8  þÁ  @  ñ  Í  .Hxtü¬txH¸%?%5ÈE$„…6  6…„$DÉ5%?%-5!!®1(§ÿÿ§~(1¯ 5,4t4(4Äþ²NÄ4(4t4;¼„…»»…„¼h–hh–à%%þ#%%Ø $ %þ_ $ $ø!"­!$!/!!Š!"þ¿ $ $‹ $ %ê:-,GÙþŒtÙG,-:º XL†¬¢RqqR¢¬†LX ![$n“€[ii[€“n$[!ob !!'!téüKZüùGü•kcÿýn "!!'!##&+572367676hûÿNn_5æ, S Grj3#-EmDûïJü‚~o.(þÉã*!¶4\tR~ƒU…LÚ !!'!  ##' нüCI3ýZ  >þô <þòþõ< þôÙü5ËDü½CXþõ <þóþò< þ÷; ÉYD36273 ##'5&< +ZþÀ@\þÁþ¿\Dþ¼Cýì ûZýäýèYýë\ÿüµ5#,5>~3+&=4%3+&=4%3+&=43+&=4%3+&=43+&=43+&=4%33 #&'&+"'&#"/573;2?"#'57#&'#"#567635@)£A({@(­@){A)ÎA(@A(þ^)4Ä 'iOj_J@,&“< /‰/F(†¨Ú0‘'ù&Ÿ‘&‚'Ü'J&¤‘(lNþÒ5  >! )&þV?<?$¥&$ '& Z‡‹N Nƒ‚ />Eqw†!674#!!6?676'4#'323276767654#3#&'&'&6%67!672!&=75$/563&43!32+'!67#>54&53° *üì, Ç 3)="(&)09$) L&TþE` MPÎøAý[M²H üY þŽ þß$ ;—&&e=O%/ ýNÿý ,8(.7L1Rþà»f~H8SQ,zH%9D6 )jGP@ö4€Rjd¦‰_*KfsûDŽIR 9! O  î-]‘&C+Õ/3#"'43727&'#"$472776725676&5&ûU8†Ã)$ tJ .; Çd3fÿþ,"3' VD (ã™ GL/7;;,g ¹t^F$Ý< ŽLD&?>ÄX4RÈ !/# I ?„‰ P?D!)Mþæv>“/¢z2!"&54676737#&'&54>;7#"&546767!7!"&54>3!6763!2hýô!.)g$'‰Ä30ý¹!/&j ! /:(/  )/ 9)/  9)0:*/¢z2463!2!2#!!+32#3#i9/ ! j&/!ý¹03ĉ'$g).!*:0)9  /)9 /)  /(:Ã!!C4&#!"!&3!!"3!#";#"3&'6737#&'6737!"'67!7!"'63!67!2e;'þá+ýpCCo þàCCÿ´CCŽ2CCKK<‹LL¹ÿKK%ý“JJ”60"2=2).=<==<@=:>=;TT USUT UT83$ýQŒEÊ!D72654'6#"'4#"'54#"'54#"'675674767#%ª$4:JILLHOKHLKIhghgighgD>-ü²sJ1 b6'SSý cRRþÄ ßSS®?SS\\K¬\\ä;\\þ–ý]]üÔ!AþŠ*>K›Ã!!D!254+'3254+'!254#!'!254!&#!"0!463!!2#!!#!3#3lCC2ŽCC´ÿCCþà oCCýp+þá'qýª=2"06”JJý“%KKÿ¹LL‹:=@<==<=.)ýg¯$38TU TUSU TTŒÿùEÂ!C32=732=7325732'654&#'%2&'&5&'5&'ªIKLHKOHLLIJ:4$üëN->Dghgighgh³SS=®SSÝ þÆSSb ýSS'6a!0J)K>*þŠB üÔ\\üþ˜]]:ä]]«J]] ÿþÅ¿O€ˆŸ®µ¼ÍÓÚÞâæêîòöúþ!%)-1523656;2#'7+"/#"'+"5&54775'"'5476;25'7&567635&56;374765'75'76=4'&+ '"'4!#"'&36365&5&#%#754'&5&&547'5367&7+&'&'735&2?"5775537'7'3533553535'32767&5%2?&#%55'575775775uéo,Mz"060D½/²5I:2'5:ƒ†6 &" *:D:­çS46$.e QÉNþð5  u4MDa• 6ªbUþþP+ ,H;`›I23µÖN5(½ý (#I0·MšÓ '^5%Ì#£¥!:X+‘ "*  þìÞã›6W}W:þuW4 5vŽT ­& /Hþ3Vœ ¾œXD9\SL+&31.d+%X!Q $2``KPPPG[6%# Qy- 6[[3GK[¯»OþÂ`_A[-)$t7ˆ L-$ L6=˜" (CJ#«R"Ä0© :‚~GB{~Eþoj<4S[¿Za LC5 ) .U%+Z&)ƒþÍ¢ ›7e<ILAaMoK33K@G6 $$(& (''&1/----2)( (-((d.'-T?OK8T$ !T3¦(-<((')))())( ÿûÈÓ&2%2#"'&=477654'#"'5473ôt\*eýè OÉ@UýCƒXqù P ýS. P ÓMOŠbý >YÑaYÆ®58Šl7P ÌP@ ÉÃ$0<FX + &=%6&#"3 6=%&#"';27!54767%!&'&'2+"'&=476^7×\þÿž¬þËÕP—¸‡‡ô¿g㑵¾Hþìô‰r©'.)%­sêMþ§éª Mþ¦#ªfþ›C-7!%A.; ÂþÓŽ®þïÎw:ŽÒk‹Kðžþÿ·qz† ¶ü+H*þÖG;M ê² þÖtu/&((A÷A&:+C;."¯/ 8Pi>'67&&&'6.7#"'&'#"'676'773.#'6'5676&&5476'&'67&&Ü07 ^< 1x,B±5þ±@2 JV«Mv!#uA+UBDX[f¹*;-10)..C,·sB#HKU‹ •P‚]12<0üÑVQ‰ Ä}%'Hˆ6-T}^€$k7 R—‡2'Æ7f!Aþ\;y?1!50BEt„"!zkQ;0šqu0\·o‚i:5oP¥ýZjsXFaÀPJÂGl;4ejNÿÿƒ^1F[q‹•šŸ¤©®³¸½ÂÇÌÑü7&&'7'6&'$#&7'&#"'5&767#&''5$'67'6'6'5$'67'656&'67&'6'&'''5$7676'&&'6'63&7"7&'7&'7&'7&'6'6%676767&77&77&''5&"'6%35&'.54>23#67#&8 p +WDTc'H¼ ‚@‘þ¢XO`= Ü ¡;*)8 kDþÿv/P’k-J KDþ°hGaÊ DŠ`–ë÷gBD–ê 6¦¬DDDþŸ ¼=3dTDW, › :gò þ•—j)YŠi#'WtI-9w18$^8;./7-ýI)jS)'#i\-IM91D;8%a7/.ØD=uöRNBR&'%QBNRöqÏ d2 D s9ý8C ["ü|44&3, '2^3ŸR T(B?#'9C- !y ~#Z10>N?$%—Y4 )%FN? ({ Ûusis< 3(&^T05<>7;,#4[:O(vAfG‡EtYB z^~4j #,;b:['~Av@~E‡Q‚ Bak4~_ª¾²H#˜T2 $$$$ 2T˜"`ÿÿqØ$&'6&'67327&#!65#&3Öjjdn¯h ±±wž˜– WþÑV“Ÿ–˜žݱ±ŽqZre¸óóÂ[cþ÷7þ µ®®µô7 cyÿþXÚ ,35'533#3!'#'5!5!5#53!5!5#!!üʶª~~ ”þbˆ°††þl–v¤F þôFþô A<<3ff¢X¯ý苜…þ›‚q°X¢üÏ»GccGap 3264&#!2+73 #'#5# 3m«`hh`þÎ2©®®©«³´þ±`³ÄˆÑ³hþ¶µ|þ;vÙvü¼Ê·±²¶üÂþ“þ}ÖÖääŠfÌÿûÍ33#!!#'!'57!5#'5735 ¶¯¯6þʶþÌ4®®Íš”p˜ü†z˜p”š7šd+!#!573#'5!3!'573!#'73!#'5ÄIx¬OOþTxþ·€þSVV­€dYþ\yþ·vþVPPªvIy¤Y³',32#' 37+ &5%6323'#57'53m¯¦½þð¥Jl{Ë~m@+þݼh4ˆú1¥…4Œ†4ˆ¨'0þþ¾¼>,_ ©ÍvÒNþk±n¥mm±nÉÁObs32732753"'#"'432364'5;+"'#"'53275'&'&54?5572'#&'&547634%476='Ü4&#68$$B )îZµ¶>&A†_;i88u-o1bFGfQ¢_ïÐM5mw€LÚbkj‡I,KòÀ=''8 0##Rm4 üÚ¹+ž¨¯áÜ´5!PP"4\=Ñ»œ¸þèÇŽŠ"8Q¥Ã½®<½WTÚ¦9[”°&¬”BCŽ›(Ægÿùj[T_g2#27654'73&#"#'&'#"56='"'46'4#"4735#5&547/63654'%654i=Ku/3¼noƒ|s׉nI3n ';6WN`fI:% +KkÑsÅ:om¼ÛP½|@R/%S <…[Er*JKN·ZEnv‘¶¢i˜íþ÷þâ )‡%*6&Û-ŠCl67jG‡V°"6;›%Ÿ 2Ö™p ç–+nEU»¯_rBþ(†Ea€LtD:•j[~^9šŒÂ"22#'#"'#&'663327'#&'756=4'&+"6«¾©xdœq•…¯‰sÑ¥[šy®W—¼ãe¹6Êo`Oa‰!¥ˆ¼°ys•`Mþk{eK[®ef â ‹™ OmÞY<0}¶  !432#"767 654'YôõYþ§õôþ§x_Pšþ툋—K¡†þÙ\Yþì¦QõZþ¦õôþ©Wô´_‹bþíýñŒåþYþäXÁÄþ¡Ãº(432654#">32#"&546324&"26%#"5432ižtv¡þ³äêþÇxsŸq1"00" 0ýÍ/B//B/#þ úúþŸaúú`ir›¦|àHþÇúŠ›!//!"00""00"!/0 úþ¡_úúbþž ¨¶#>DJPV\bhn27654'&#"&7367'67675673#''5&'&'7&'%67'7&'67'%7&'&'%6767%&'ê&$h%$%%34$&þ1++XSA N@`˜==Žk>P CRX++XYC P>kŽ==l?L ?Q‹ oL+ NnþùŸ;PÖ?ýüÔ; @ þË nMþÓNnä3%%%%34%&&%s==`?J >PW,,WW? K?_==‰f?H?PW,,WU?H?^‘êÒ<…›=þ¡…Ke+cLþ« mC¾†P`kÕ<—<!¤°4(0847632#"'&7327654#"&#%#&7&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ó¤=6 5N'V[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿ÃˆˆþÞ ÌþõʯX[V[X[V[!¤°4(0847632#"'&7327654#"73$3&'67&'67!««ñ󫪪«óñ««v‰ˆÀÁ‰‰þîÁÀˆ‰Ѧ=6þóþý3QNV[Sþ.U[Rê󫬬«óñ«ªª«ñ¿‰ŠŠ‰¿Ãˆˆþw Ìþð Ê'X[V[X[V[!¤°4!)47632#"'&%#$''&'6%&'6!««ñ󫪪«óñ««4>;D@KDzcngkþ?dnhkê󫬬«óñ«ªª«íþ½Iø Ökpinipi !¤°4 "*2:AIX3#''%#&'52#"'&5476!!'5%!!'53'5%3'5%3#'32765'&#"M==¼,Â/ý¥Å0œ#¶¨H ™8&O”6ýã þ÷|þò7iY0Âþ6.Á/¤==e6a&i1r4þîz0Ç1¹Æ2œ+ްK“Nƒ2HŒQÖ>>>>Ûf^2Æ"/Æ1]þîÓ8`1"Y 4f2yœ5Æ+ +"'5$76%&'547327676=&#;… hþz°­0/O{™þ·†[’(Âþ´*TœåQþ«¡›ÅþªÃþ~ý`N®ÇŠÜO =ÂþþtäR–ð[\ 8d•<ß+% &56;2'5$%75#"3šþvþîhŒ²²0.Pþì~šNˆ^–(þ8P,V èRZ¤žy­ÆˆcO±ËþõþpáO >Åí‘èS–õ\^ þÂþüf½ÿ`«1B7#5#53'&'&54767&'&=33676=3#327654'&O&"}|f‡ÌÐz¿¿‹g}}"&&"}†UQn$mQU†}"ú$nQUVV{xVVUQ<"{³±u^Å^¿À\Å _u±³{"#|± zUOOUz ±|#YOT{zQPPQz{TO‘ÿ›@>)4'&#"3276&5476327#'#53'&­`_„‡__¾‡„_`ýo‹ŠŠÅÂŠŠ‰q“ßä‡ÑÑ™k‡]^^]‡†²YYÁÃň‰‰ˆÅÃhÙgÑÓfÙ‘ÿ›@> '"3276'&'7#5373'#"'&5476j‡__¾‡„_``_ÈÑчäß“q‰ŠŠÂÅŠŠ‹q¥YXþòº]]XY†ÚfÓÒhÚhÃĈ‰‰ˆÄÃjš¼0 '&'&376&+"'&5'476%7!¢Z{z[ZZ[~\Yƒ¶¹‚ƒ‚²²WþÞm‚pþçN#ZX[þ[YZ[öþP€€·¶ƒQmþ€p#þïT²±G*Š®52764'&#"#463233#!5èsPQPPtrQPŽô­±yzgÖüLQQäQPPQr®ö{{®Ÿtú|gŽ®*#®"#53533#632#47654&#"#dd¨¨i§qq„CB’igIIuªªþ“gzy±UØr}ppDt PQsþ_C…ŽS 7"27654'&7#"&54767##53#533333#3##h. @\ ! 2(>>?ZW~>'3íûûí|íú}}úíË! -/@ /- !^'?XY??~YX?(Fþ˜}R}þ˜hþ˜h}ý®}hL……S<#5#535&'&'5'73'3#'73'676=35'73'13§|‡e{vw}wwUATwx|xxS@Wwx}vv|dˆšš|re{±Eus~~suE|VAKtrrtý¶@X{Ius~~suI­{dr|×*ú®! #!!!'!27674'&#ß_í82þ½Vý)‰3{D™#M®ÅHZûWýÏ{s{þ?zK›8¹! %#"#&5463 67!2#6#";Íz\)MaBuh __ itBaM(]yÍ ¤þäŽtŒt¤ý[+##+¥¤tŒtŽý\ýó5ÿøœÄ."264&'67>3"#"&54767&'&#52hqžžáŸrd:BJ|^€d#!pâ¡ âq $cƒ]7A;ºªñ©©ñª{26”ŽXÿY "z¬¬òò¬¬z" YXŽ”62 ¶Î&'5 %$ 56?6'.ˆ‹j‡‡þéý–þ拈|½½½½*xIIz'ü¨&|JJx, F42$8"3264,'5'&54632264&" &$#"&547>ÈœmmNMmþ©ÿþÕ}ÏÉ l¨yz©U<ÊþMnnšnmê+}Ïþ7 l¨yz©U<Ƀ|²||²þ,&(uO#eœŠÂÂþíaHGŠ|²||²|Q'(sO#eœ‹Â‹‰`IH=ÿý”! <>'.463227#"&5454&#"&'&5476766&D„9‚BB8ÍÄž—Àÿv?W:pbW~ütp„) "-ffÉ)-gtpQ@3ƒAA:ACj±Â›¥þGžmN?ijb¯¦«v‘ˆr56WÀGe((Wi0154d)-?Ã/þê¢6?2>32>32#&'567'6'#4&&#4'3>64&"Á-S‹5,9"\0+Fþôgv!4u|‡W")^,k ikdSò¶!e˜b[Ÿ€¨š_[±ÑþÇõH”|NYC¦Žò¦™ý:ÂöR®¤ýHB’’=†Gý`þS¿”nžUµ|ê#!!!53&54632!!5#67654&"U'ûÙŒþtü0·„„¸0þZ =y­y= :…]†Zs¢ãã¢sZ†† Jjk••kjJ 2ÿfŸÆ4%353'5#"'&''#&&#4'3>32>32YE;<ˆˆ<‡-!&Y*dx cf_Oz.*O„2)7âZe`Ž`b<`°£ýíW¸¯ýušœAL™¡h`©ˆ²¤ýû8™Ç!5!1##'!5!Õþ_drÀrý•Pkþ^K{Uý¾ÇÑý¾Æý_W¡{¼Ï'/27632#"'#576&#"4'5267>327&'"2XCZŸd}uud$gqŠ~dV)40„tlx„!&%"dLk„ƒ}Îý:µ›UwŒmƒ±a4 ˆþsªÐ—O¶â¥HK{ü×w¢Y@x® A63276327632&"'&#"'&#'6327627632&#"'&#"'&#'YçR #{=('%{XNCEz>O&z>'(#ó&çR #{=O&{YNCEz>'(%{=('#ó&ˆÀee22eeà$Él66kd23dÉEPÀdd33ddà$Êl76kd34eÊE^s#!5!37!!'ÒÓó‘ þýþô‘óÔôþôþý ‘ôLþØþç3—4þèþØ(þÌþñ—þðþÍ(CŽ€ $Td67&'&"!3!67>54.#"!5&'.54>325467675#53533#63232>54.#"3'8xpA?9l9>@q<;9'þ¨Dý} 5RT—P=: SSPSS ;r>>p  p>>r> !þAèèþÛ% )–RS—Q1 )6BB6) 1Q—SR–) þÛp  ""V{zHNRh|¥»&'4>32"'4>32&'4>32&54>32&54>32#!5!'!567>54.#"32367>4.#"323732>4.#"327>54.#"732>54.#"©I )),·(?)(#!3()3Ž$))BGÅ!(( K{ýmgŠþêŒ,ý´;±îh IXI þîL$  ãP   H''1þ|G''#ýÄs%'')ý‹7$ ''A ýìŠ ''HþžþT¬Ý¬9.¡%~~ “þrFýÃ)ý¼~ý— wpa!'-23353#3!53573#'5#5335!75!!5'57!íò–ìePPeüeQQeè•DüpáHý>H@²AýΈˆŽ~ƒþ‚}}…ü„~Žˆûœ00mrTTrýÇeppe-Ýþ!ÞÿøóÅ7CQ^&54767&'&'5676767&'&54>32!535#5##3654."!2>4.#" 1""#@%@#!@% ?$##0 çüíÞÜa…1%?E?%4¶þ™,/--+D,/1+ 4;AB<>"  "#>"">#"  ">#10$ITNnVB,þ¥ Çþn ?%#Najiþùý-/‚ö4^t&Aê«Ycgbá3%' þ»+ ((NV8OQÄ¿>:<uyúg**œ5 kœ5h P[32>4.#"732>54.#"!5&546767&'&546767&'&4>32'&'.#"È+L)+L*+M)(LH     Äüã> |n @: !:;! 8An} E04¸`a·30ØTL**LTM((Ê    ü ++xÜ: 8>>q ?9 9? q>>8 :Üx++c^UZbbZU^jÿüg% $TdhyŠ47&'&";67>54.#"!5&'.54>325467675#53533#63232>54.#"!57#&'.54>3234'67632#7$5oh<:5ôdó4:;i865%þÁý«1MNJ96 MMJMM 68JNM0þv    +þ0’Ç +/0U-,,¬+,.T1/, Ƭ9j9:h  h:9j9þa××þð &ŒLMŒK- '2==2' -KŒMLŒ& þð1  ý©ŽŽ“V//X//X//V6›ÅHLP&'4>32"'4>32&'4>32&54>32&54>32#!5!5!M ,,.Â*C,+%š#7+,7–%,+ FKÑ#++ P‚ýDý²Ný²AM**4þd;K))$ý ›'**,ýdY&"**E ýÌ£#**Lþˆþ:Æ¥??ò@@”=Å%)5!5!3353#3!53573#'5#5335!mýøDý€Íá‹Û^JJ^üW^KK^׋ü²²LLüæZZ,}}ƒuzþ%yu„„u{Ø{uƒ}ûë--âïÇ4@4767&'&'5676767&'&54>32!&7535#5##3ª 1!!#?%?#!?% >$""/ áüõÜ_ŒŒ¨1+ 4:AA<="  !#=""=#!  "=![1”=%T e >6.HC'L"‹'G€ þ×üá12Œh˜„[FHå¸`[$%okß+*8þd .øNëýcèv[Æ.7&546767&'&546767&'&4>32 †w "E> #@!!?% =E!w‡ ./‚î@ =CDz" E>"">E "zDC= @î‚/.€…QO##"'##565'##"/547?kM±Ã …,4N"D±F &Fi™?šJO‰ãä/FB!‰O¶ é{|êIm¬<&–§=ˆ…ÃM2227632#&547636=4'&#"#4'&#"=³` ]Á¬d¶þŽ2þ c¤B¼«†ØU›;/ÙG;SœXMâB:þ®@B Õ½þ;7h’–­f%þÐ ´»þ#>…|Ž\þ@¬¸’9‘…@O &&5 i×þC þn:Õþ^¥¦þ¨Oýžý¹ G  ýÞýÛ%½2…ŸO7236;2"'##'65##"'&5476;235&'&=476j°S c1=EÃO¬ ;ÇSC«FRÊTÊ6*F@E1°;Oº+.`„1¦62¨V âþæYiä¦8/ÀD ;8[B ¥V†RP"<B+"'##565#+"'&575477;2732;276=4'&3&'"ih;F”(wQ"D±G".FWƒC©ïNfþêBy" bO–DUq5¦½u4  P¹þˆro¬@ ³ æ|ïS`64 ¤¯'<¤þ·kn™,³:y‰!‘ªìü@JD …ÆO2367632#&5476;§_#KYo¬h«þMþ2ФEOÁL)…XY¸D<κýö6©³­f%‘…@O &47iž9þ) þ2\OýçE ýŸ[ r1† V2`g26;2"'##'65##"'&5476;2&'5476&+"3276733276=4/#"567654'&#"35&5m¦V^2"ÌL ­<ÆTC¬FRËUË7* 2Q±;Æ‹ XaÈ2p2@­^ DJ‚ŠF Ð,aXj™-!˜DØ2V©9/mˆ±.0­R ãþäZjæ§9/ÂC \‘ §Vþ ¯7yMó5bomœ&#·'p[?$–G¥üOQ.£Æ,H3#&'&'&6%3#&'&'&63#&'&'&6 $&54673 >4'&'~ v¥ …' Š w§ „( Š w¦ …' Š$ˆ›–þïþÙþï–šˆk=Fˆõ ö‡F>jG3~Pjb¤‡^*IerÀNÀ{ ˜ùÌ‘?qš®JAŸeƒ}Ωv6\~þx(ONPPNO(!8?ˆ|EE|ˆ?8!r!_ª3#"/4?23D¹-!ÈÇ]UªûFš+}{<Ž¢!/ª3#'654'&'#"547326R£ãs9×WÔ5åÈ[Sª%3;Bƒ‰[/OBC'ü*ž|<jÿ_g¥#"=4?2%#"=4?2ÙŒµ3ɧ%QMýûŽ?Ë )TK¥¿û7’(›w7ÑŸü5’s ?|ÀO"'4723!#"5472!5½ÖÀÀYAý>ÇÔÂRHIÂOûó°‡q 1 ýÓ«‘g 4ª€€D%® 3363'$6'"I+¡ˆ×ýÔ4‹ ˜p®üuàòþoS‚üþ±^£±* ¯ 3%#'#3%#¶';&þÂ2 ¯þI˜û¦Ê—Hý¼þ“‡j7*š¯(,377#'#'547#5773%%ö,ppsr,þð'zzxz'þð¯þá9…8þ 4€?þè„þ¹/9†9e5ƒ>ø:ý¹þœƒ_`ÿþqE#&#"'5654'5673;54'56732733273+&##&"#&'565*”ŸG1 VV2Iž“s3'{'3sžI1VV 0G s3'{'3s­P3+1='3s™ŸH1WW1HŸ™s3'=1+3PþˆŸH2WW2HŸ.ÿð£ ;G7567&'&'3#6737'#&'7#&'6735'67#3335#5Î*)SR))þµ&*&';((:'&)'ȶkk¶Èn\\[[nȶ kk ¶Èn[[\\n`ff/ee.((&(;((:(&((@))SüÈS**˜n\][[oþ„¶ jj ¶|o[\\\n»· jj ·e‹(þ°P(‹ /ÿû¢N#.6CMhwŒ—¦¯!2732!'5675&'&=32#&'567637&/7&+"+&'532?4/%32#'#&'&=4?#'57335'3!273+#&='#"/547354;2?!&=35-,;K„þ÷>Ž #WU*† åy "ÑššHV ýηz/;@"¿q=o ‰)we)$I­ýÅY'L‰ „ALaXw˜Hå ••ƒ>ãX%CÉII°$PþÌþC/DÎN6g+å ø b%ï ƒ×#þñ ƒ – æjÕnNË Ð :3ò ÔO+5{bQ¤< ,ëåd- –Á ƒåXÿ]Ü ˆþ÷f '^ ƒ‚J‰JA!Ó< •8 2E35733!&54?'7'7!!"'&%#'73676'77'7'&'676Ü}ˆ“]}þžþ =-«-HW(þŸ7*! >€yšš*1“c±ý½{F=.«,H-.'”d°(#Y+Gþ‹C†8957jN»})%%tGl5nm3(,H:þÎ0/(_ki¼N}!Nÿ920K †1DW3!5>7>54&#"5>32&54?'7'7!!"'&%#'73676/77'7'&'676@òþ‰.’#5*"I?6O"[m" cýå<,§+GU þ¨5) ð<|w••)/a­ýËyD<,§+G,,&‘a«(!>B<#q'%NG91 Mè7835hL·{'$$qEh3kj2'+Gú8þÖ/.&Hgh·L{ Lú8*/D *(=Pc#"&'532654&+532654&#"5>32&54?'7'7!!"'&%#'73676/77'7'&'676öD|q%N24H'CB=9PS3464E>6O#]o<ýk <-ª,GV$þ¤6)"þ=~x˜˜Ž*0’b¯ýÄzE<.©+G--&“b­)"í<+BI N $% $B G @6%6þ¡7946iM¹|($%sEi4mk3(,Gþ9þÒ0.'Sii¹M{!Mý8//$­d "5H333##5!5&54?'7'7!!"'&%#'73676'77'7'&'676¯¯‡\\xþÝþè"@/³.K[5þ9+#9A…€ŸŸ—,3šg¹ý£€J@0³.K00(›h¸+$wÄ,þÔHmmIþÞ;<79oQă+&'yJp7sq5*/K <þÁ22)…ooÄQƒ"Rþõ;@2> “32EX!#2632#"&'532654&#"&54?'7'7!!"'&%#'73676'77'7'&'676ÊHæevyn$L27C'€y™™*1“c±ý¿{F=.ª,H-.&•c°)"¸ERUHHS S /(*. þÈ8956jN»~(%%tGk5nm3(,H:þÏ00'\ji»N}!Nÿ91/K† "7J]"3264&7.#"632#"&54632&54?'7'7!!"'&%#'73676/77'7'&'676]'00'*//l+2>AB(S`dT^dyg7ý<,§+GU þ¨5) ð<|w••)/a­ýËyD<,§+G,,&‘a«(!Û.T--T.ÀH D&RECSukf{ýÜ7835hL·{(#$qEi4lj2'+Gú8þÖ/.&Hhg·Lz Lú8*.- ¤X.A!#!&54?'7'7!!"'&%#'73676'77'7'&'676²Ìn¿þúþœ!?/±.JY0þ•8+"(@ƒ}žž”,2—f¶ý¬H?/¯-J.0'™f´*#À&þK”þ:;68nPÁ*%'wIn7rp5).J<þÆ21(vmmÁQ"Pþù;:1-¤K':7&54?'7'7!!"'&%#'73676'77'7'&'676N!?/±.JY0þ•8+"(@ƒ}žž”,2—f¶ý¬H?/¯-J.0'™f´*#ˆ:<68mPÀ*&&wHn7qp5 ).J;þÆ11)wnlÁP‚!Pþø;;19ÿÿ˜9'9HR!273!567&#2&'676+&'67'#'6765'533!273+#/#"/47$,7Jv þÿI” MO $Ép%„|I ^ ƒ—ý[€T—<K«"(–™~GÙW$?8?])Î( EA÷sÂ#þÀÐL, ëTØ 0ø ` +þüWþûVÛ„þÿ`$$a.£|%2<J\e3 + &=762367#&'&#367&#&#"3274/"34?3'35732?5#+'535^-¹JþÎ|‹þ·°@ñ‘h'\-Öe@<þ¹r2&H); èuZJM üÍ=9jl:j€gbƒ.Qñþi2QÀ|þé…þ¶³:*}( ¸dpR·!h Üj Ä`]_©Ìi$x:-(^%±,3½"¸Ø¿´Ea‡ HMP EÞ7šg /:BR`j # &5%6; 65%&# 327#57&/#2#&'676+'%3#'#&/47'3327##'%3#"/6j1²Mþã{þÇ®G&€þz v$¬EþðxŠþݨEÅë(+=RÌ:n:D!s« Y!úgQKuý¢Ïm;} uA;>õ‚eþçá¸=gþñ†žþ¯Cy¥?°?ýÍþÔ¢B|“*¨>þüw4I ™'¿ 5@Â`  þý©bÇC·$Ð Í j$ÎHÛ?²iÏM!%.£|7H27&' # &5%6367&#'.7&67263'#%; 65%&# ŒmJB|…e6´OþÞ}Ÿþ°I+o|BJn‹þ›^jaygwaaygxaj^ýåw‚$®FþìyþتFGœ›”¢þ퇢þ½±D{§C´?þ`”›œ’Í– “B]w‚‚w]B“ –JþÐ¥C}–.«?þøyP%.232#!7&!"4#".54767267Œ†pñ ñ … {u*ð‚þ_ J¹cllÆm8*#I…‘„%<($|Ê€Xþ¤#{NwÀtû7mÅnld4)¾5:I…IIB“,<•_4767632#"'&'&!%!!ÿ  þ>Wü$`ü 4 ýñZû¦|b<•_/374767632#"'&'&4767632#"'&'&!%!!  Ñ  ýUWü$`ü H ô  ý Zû¦|b<•_/GKO4767632#"'&'&4767632#"'&'&4767632#"'&'&!%!!  è  é  ýUWü$`ü H     ý Zû¦|b<•[/G_cg4767632#"'&'&4767632#"'&'&%4767632#"'&'&4767632#"'&'&!%!!  Ñ  þ/  Ñ  ýUWü$`ü   þK   ô  ýZû¦|b<•_/G_w{4767632#"'&'&4767632#"'&'&%4767632#"'&'&4767632#"'&'&4767632#"'&'&!%!!  Ñ  þ/  Ñ  é  þ>Wü$`ü   þL   ô  È ýñZû¦|b<ÿü•V/G_w“—4767632#"'&'&%4767632#"'&'&4767632#"'&'&4767632#"'&'&%4767632#"'&'&4767632#"'&'&!%!!ç  þ0    Ñ  þ/  Ñ  ýUWü$`ü +    .  þ    @  üãZû¦|b.£t )2 $$ >54.#"4>32#"&hš–þðþÙþð–™þ˜…ðð…‰ð€ò‡¹..--t“þîþÖþò——*“ýÆ„ð„„ð„ƒó‚‚óœ2..2/.£y )62 $$ >54.#"4>32#"&$2#".46hš–þðþÙþð–™þ˜…ðð…‰ð€ò‡¹..--ýæ1.-.y“þîþÖþò——*“ýÆ„ð„„ð„ƒó‚‚óœ2..2/¨/2..2/.£t 2 $$2>4.#"hš–þðþÙþð–™²-..-t“þîþÖþò——*“ýf/2..2/.ÿö£j '2 $$2>4.#"$32>4."hš–þðþÙþð–™²-..-ýq.-.1-j“þîþÖþò——*“ýf/2..2/y2..2/R–7!!R-ûÓ–R–7!!%!!R³þMz³þM––ÿþ;» 67'&/#'3#67$#%‡€×¯¾ÒP=Û=Ͱ̼çþb’N+»#ð!f"K++!|o5ý›<É?þ1s^#'3#67$#¶BìBݽÜËùþBTð..#…x:ýkAÙDþ 'ÿÿª(''7'777'77'/'7%턌„!bƒŒ‚ì탃a 2Öì~ãƒÀ€~ÀƒáÄï„…b„Ž„ïî…Ž… bPþæÜðÁ„ää„Á²ÓR32>54.#"##"'5##"&'&'0!5!5&'.4>32!!676767'7'ü :!9!"9 :!¸ ‰ûF GùF;kY_þÏ1278e56d:81)þ×RLk<GúG E~^ÿ : : ; ;ûåNG 5 e4G( Li) enf77fne )iý¶ (G4eþó5 G( Pm 9Y%&'%67&673&/'67'&'"&'4?&'37' '7 &/7&'#>7$ü±%8Ð8EFu/- 6uNDL2·¶2LENu/80uFD8ÑþjæçþU½þ4þ5¿ïB%y…\AêÌ@Y„y$F 0=/0 Ÿä,-X7ˆ0 ;~*2 %ÚÚ% 2*~69ˆ7X-,äãoýìoþ ýò ýôþó+F9d1 ) ð( 1d9C1¼ÿýì*CT'&#"'5&767#&$'&%'6'&'''$'676'&5$'6%'.54>32”D$ú "¶ž@FÆþèª,þî¼ÂNNNþvÔF8p^Lb2 òþ– þØN**µ+ û”B@0"AR/0?wA·%od/D&3.YaQ/5#3$"þ´þuŠI' @3/uŠ= =#n- .... ¾w3% % 32+#".7!"&'&'#&=4;73737€ÏÏÏþDÏÏϯ *‘Ï$#‚GFHÌýúÍH‚%#Ι+¡(&½aa½'Ämý“99mý“9ù ý•3.055_4iý—4_550.3k  #ttòòt»k"632&'.'#####ÖŠv)%—8 _^¨>:k{•Z¬²G_?×gÖ@`H,>|:=+,j,,<†6O/2Ù33þþ<bþžbþžÄJÿý‡ 132>4.#"367#&7&$735&'.4>2Ï,P*+P,.N+)P¤…Æ—þd"/%(þMM®Ø~95DLM‰‘‹NMD2)WN,,NWP**þgˆ¨!ʇ„wÖœs~ × ‡&ˆ—ŠJJŠ—ˆ&³Ó?GO277''"/&'&'7&'&'7&47'6767'676?  6"&462EG#96\>42(p __ p(24>\69#G#:5\>42(p __ p(24>\5:ÚþÙÑÑ'ÑàNmNNmÓ€ U%4m+3 EJ5:6JE 3+m4%T  T%4m+3 EJ6:5JE 3,l4%T €ÿÒþÙÐÐ'\nMMnM* §? !&+05:?DP‘3&7"7&'7&'7&'7&'6'6%676767&77&77&'"32654&'5&'.4>323#67#&#"'5&'&547&"'6%6761´a$O` "NiB*4l,4"U47),3(üà$aM#"aT*BF 4,=44#Y3,)ý0BB0/CBO"!-$F$FJßF1.#- -#-2MßJF$G# 8<g7*!2U6J%n=_CBnT‡> rYw0d "*7]6U$u=n;wBLz >‡\e0wZ3C.1BB1.C(N "%""%" M#p.PA.$ý;QW¹$.AŽP-{ "R Ç&.FRŠ–ž¦²ºÂÊÖ2#".54>&'767&%76'&''67&'&'&'67676547676'&7>3263'##"'&'&'&54767&'&547676&'&#"6&%6767&'&'&676&5467&'&6732767&h·@9h),)RP| ˆ |PR-*g:>/**Y&()((')&&)')(()% @9f+.TRþ"`33`Š\_ .np, ·Œ00441/‹¸ ,pn, ]]Â&&()&&EEEJ03þÙ2WyQT.,d9@.**..12®30IDE%&**%&F¦°+.SEFE.IMMI."#FES.ˆ !  ";-0.--.0ÙIM+.REF$$‘œœ‘1.%2S_`Q2%-1OQQO2-$3Q`_R3&.>ƒGIIGƒ"" 7447#.$$FER/+L"  !®75/57%"€IJJI€*ÿþ§ )p~Œ67&'67&'4&6%67.'4'6&&'6767&54?67&'&#&'#&'5&'"'67&'&47632>4.#"72#".4>š"0'-, )*ÿ#'0£5%"ÿ*%%, ),,"èGNY ”I'+""$(J“¡YNO21, 9,4=SM:7,: -12-[¥[Z¥[]¦WX¦þI‹OM‹KL‹MNŒ2Ž“ Y{•\ b³CWDJgABcp7L^BML0”b \•u]! “@R%KlhhO+wÕÕw+O hhlK$PZÀX'@D 0:)ww*;0 EA&XÀZw´¥[[¥´§[[GJŒ˜ŠMMŠ˜ŒJ"¯( %3!'#!52#"62#".54>o:û5þ(·þ67%'$(ûánüª HŠ0þLº*ýçˆI"33'554#$/* ýÜPRüÆ 6hþÁ"þ&>I >ýª >A>óߨ!!®u¼¼þ‹»Øþ‰ûŸaÞóÁ!&5476'#5!+ÈÁþ{ÀÈh_aö6‘ýøŽ6mHHm.r£óZy™'#"'&#"'&'&'&547676763232767676'&'&'&/&'&'&547676762!2!%3276767654'&'&'&#"&#"3276767654'&'&Ë—Pz  ,D@   7;+  23  M9£8G þ)•ý:       Ö        r‘         0   L:5’U    ç    .\£ rŒ26767654'&'."#"'%"'&'&'&54767676;27>764'.'&+"'&'&'&547676762%632$"26767654'&'&¬#  #  @Ò!R<¥þíOq< ; 3@M JC3 ; 763276;%326767654'&'&'&#"6767654'&'&'&#"32É““Í E7Ÿþñ9E"  21 +96  >B+  # zOþo       ´       ²Ž49D   /    "    :     þ      =J”Zx–´Òþ-4H67&'&'&+"'&'&'&4767676327632 #"/#"'&'&'&54767676;276276767654'&'&'&"276767654'&'&'&""'&'&'&547676762"'&'&'&547676762'&'&'&547654'&'&'&";276-&#"+"276767654'&5476%327%&"'&'&4767628?.  !  !a=ð›?^'þ¡_)\?›ð=a! !# "!.8?¿""  "  "  "   f  2 .?E ‚S¡@6•üf G=. 2  Å•6@þˆ•˜  B   )_>9 Ž9>_)  % ωþI    †    ? *        º…ª ;d.      ?P   !-  þ@( ,#%>  NpNM&_*# (! &) ,,f&  ! (K_  þZ0-  Yi D   cp-)L &gK1 [šN3$ n/ "!0{Iö"H#fmt2>•,7HBI.;/8[,  Q[z)  .)ÑS9L *E   '+(4%(4  *X >  7A)¯ ‚–0'-570+I;-% *þ§#%(0  ]'5.  U-•¤ü9Lp{‰7654'"'&#"+"'7&54?67676763276323273#5%6767'&#"6%"/67#"27632327654'73654'676547&© t!M#l5G;@¼\ 2BX-0%-m * ‡‘ '¡?,±Ný«ï ?¨'!Ÿ&­R;-> <\-R5-6E!"$b$6$!q",ý¢; t@P"û#C ß  *FSÀ "¥DX@! %z$(œ`]”jM¦P   ¦&O/+@ü p_u<  3  DMKZRdYL6D•_Y«BI‹5.!!''kGW„z¦")3SZ67654/##3276?7%754'654'36767632#"'&54767632'ò0,,;À ý(| w| kוýäýûi«5þ.U,þ\\¤ ýê    %gÒ .  Á;,-0j{w {w3ýûýä–ØþV. ÒýT, ¥\þ[^     Æ þ-5&à«Ä '-EL4'&'&/767675'7! !'7!654'!4'!!$4767>2"&'&'!654'•$$•üæCCC||]ªþVý£|êìýâV#þåýu    Ž9ÊZ(f(Y<™PP™PŽòñŽÕáPr+  VHW»zÝ")3SZ&'&#"227654'&''/%'654.#"65&'&'&547632#"'&'&76#"ò À;,,0ýw |w ˆ¡•ýú Ò5, þ\\¤ý£     ©. þ.V0-,:Á ý£ w{ w­ Ø•ýåýúÀhÓ .o,þ[\¥ ýè     ܪ6þ.;+–]#C4'%%.'&"27>7%$66%"'&'&'&47676762%'b&à¢×þI    ·þ)þ^àtƒœNþñ/  /þ²þdƒÉ÷IWÒ?    @ÑVùiDV /  V%¬&%$64'%%&'&'&"27676èÄþþ@Ë))ËÀüþ< "  " ÷â]N¸O]â    ˜À9|23277632#"'&'&5476"# õÒ6vþ®þà>? (-=%P8jŠó?  #þjþ<  y†"$"Jr‡B23277632#"'&'&5476"" öÑYTo ýÍk%…,02?=VŽ8ji™Aý{ÃC {œu+'qP?  ' 7 ÛssþþssþsstsXþŒrsþrtssþsr@¼QÏ  ' 7 5íþäþåíþäííÅþåíþåííþåíƒÿìN¾B2632#"'&'#"'&547677&'&54763267632676É   ©ŸBt  ahŒ´>) ¦¹c!  ,Hs¦¾ *·Ü¡Â   }©¶þÐ,"2A "Øì  ‰{•¦3ÿýž+Q26#"'#"'&'#'&'#"'&547&'&54767&'&54763267632676  Ó΂    NjÉM  r¬kW* & \„ÊÚ *3 #Àþﳎ*3 T§åv! ( šº¥ê5+" ,«£ç¿ @‘V #!!!!!%!!!!!!!!#!5!3 þ»þÅ;E;ÿJþ¶þEþ¶J»”Jþ¶“þ¶J“Ð<þÄþ»þÅ;E;þEþ¶J»Kþ!”þ·I”KV{ !!!!!!÷„þ|þãþ|„þîþ‹uv9˜f !!#!5!335#ÂÖþ*´þ+Õ´³²²´þ*Ö´Öýw²0¡r!!%!!!!!!Ñ/þÑ0 þ`þÏþ` 1¡/þÏþ` 1 ›) !!#!5!3Ë^þ¢Òþ¢^ÒÀÒýêÒ^~S3!!'#'!!#!!3!5Lƒƒþúþ¼ƒƒ„Dƒ¯ÁþúÁƒþ¼ý³ƒʃD„ÚþúÁý³MÁA #5!#3!3'3#!#35!3###5353þÅõõ;õ¯õõþ9õõÇŒõõ¯õõ¯ããþËýÝ#5AþIýÝ#·äþš³ýÝ#³ä0¡vQ#"#3;54'&'&'!"3276767653#4'&'&'&+3!52767>5/]LED73!&&54GBO]63H>SkS>H388]OBG45&&!35FEL]63H>Sü•S>H38882I32367675&'&'.5467676236767>32#"&'&'&'#"'&'.546767675&% ¢>#"? ?"#> ¢   G  ¢ >#"? ?"#>¢  G  ù   F  ¢>##> >##> ¢  F   ¡ ?#"> >"#?¡ÿí·Š›4'&'&'&'.54767676322767676767632#"'&'&'&'&'&#"'&'&'&5476767676765"#"'&'&'&5476767632B ,#,+%) 3!, &&*-#''#-*&& &$0 )$W$) 0$' L+,$&&$,/"&&$b3") M*,%&&%,."'%%0 )$W#) 4!, &&+,$''$,+&& &$1 ,#,+$)ÿ庈0267632#"'&'&'3&'&'&54676763267632#"'&'#"'&'&'&5476767#6767632#"'&'"'&'&'&54767#"'&'&'&54767676325##"'&'&'&54767#"'&'&'&476767632&'&547676763235#"'.'&5476767632&'&54767676h â         á   -  ( á        á   ‡     à '    *  á        à   .    à     +ÿç¦j276767653"4'&'&'&+sidUS+*+'WPihtthiPW'+*+SUdi),)URhexuhbXR,,,,RYaitwfgSU),%ÿæ¬t?247676763"'&'&'&5!276767653"4'&'&'&ðLEA86:4DDMMDD4:68AEþêtjdVT,*+(XQjhvvhjQX(+*,TVdj-76DCOME@:66:?FLOCC67-*UShgyvjbYS,-,-RZbjvyghTU*,(ÿð©8 %%! !)tËÌtõþ›þœJ‡þHcˆdeˆcþH•]Fþº]þÙþ‚~Êþ]þýþ^þý¢CÿæŽ5 )!%%!2#"'&'&'&54767676hzþt@z@Az@þt{ne_RP)((&SNcdome_RP)((&SMdd0þ‡éþˆééxé}*(QObbrle]TP)**(QObbooe]TN+*(ÿæ©.'"276767654'&'&'! !˜_)(""""()_)(""""(Yˆ¸þˆþ›þœˆþ¸¸$(*/.*(#  #(*./*($‡þ]þýþ^þý¢#ÿé®< '1%%2"'&'&'&5476767! !#xÍÎxøþ˜þ™a)(#""#()a)(#""#(Y‰þDg‰gh‰gþD•^Iþ·^þÖþW $(*0.+($  $(+.0*($ ‹þYþûþZþû¦(ÿð©8 3'7'3!%%!! !hEÛ±C²±C±ÛDeþµ g  g þµfˆ¸þˆþ›þœˆþ¸ ÒÑÑiþÆÂþÆÃÃ:ÂÑþ]þýþ^þý¢=ÿü” 3'7'3!%%!7!7'7!hTDEDDTƒ¨þªƒþ¨þ©ƒþª¨‚NÿÏPÏÐPÏÿIQ2P11P2#þmùþmùù“ù¬ó–ó––ó–(ÿö©? -5%7'%!! !] þP ¤ g¥±þµfeeˆ¸þˆþ›þœˆþ¸r­ŒÂ6þ‘96ŒŒÆþÆŒ]þ^þýþ^þý¢.£ /'%!!%!77!¢þÄyrëþâryþĈyqm"þ_þÐö^÷ö^öþÐlçþŒ%«Ð%tæu%þ°ýþß´þß³³!´6ÿþ›‚3% %#'-7í÷:|þÆ:|þÆ÷þÆ|9þÇ|kþ”¶Öµ¶Öµþ•kµÖ¶µÖWÿÿz`37'%7% %#'ZZ´ZZþòþ£Z]´^Zþ¢^Zþ¢´þ£ZË›››ÊœË”þmËœÊËœÊþm“Êœ0ÿý¡o #'!5!73!ÅP6þ°Mþ°6Pþ$Ýþ¯6PMP6þ¯Ýþ¯6Rþ#Üþ¯6QLR6þ¯Üþ$Q6þ®L$ÿð­z     - h<_þõµþK þ¡<;þ¡ þL´þö_zþK þ¡<;þ  þJ¶þô`;<_þõ ÿé·† '!'/7'?!7% % -¡Þ[ºßÛ9^Û[[þÈÞZþGßÚþÈ^ÚZZz'}*þÖ}þÙzyþÙ}þÖ*}'q^Ü\\þÈÞZþGßÚþÈ^ÚZZ:Þ\»ßÜOþÖ}þØzyþÙ}þÖ*}'yz(}2ÿäŸ % %  h_Øþ‡yþ(_^þ(zþ†Øÿþ£þ¹þº£þë£FG£ÿà²s% % -hVHÏzþ†Ïþ¸VUþ¸Ïþ†zÏHrþ†Ïþ¸VUþ¸Ïþ…{ÏHUVHÏÿê·†% % -h‚hþëhþá‚þáhþëh†þëhþá‚‚þáhþëh‚‚h$ÿÝ­h7% %' 7-'hXË5 ´þÿ´þö5ËXVÌ6þõ³ÿ³ 6Ìgþÿ³þö5ËVWÌ6þö³þÿ³ 6ÌWVË5 ³0¡t/37%!!%'#''7'%!5!%7'77;[‚TïAð:#þÅTþ¯8#þÆðAî€T‚[‚TïAðþÆ#9þ®TþÅ#8îAî€T Tþ®8#þÇðAð‚Tƒ[Uƒñ@îþÈ#7þ¯SþÇ#9ï@ïU[ƒTïAï8#1ÿð èŸ54'&5476276767632#"#"#"327232#"'&'&/"'&5476=&'&'#"'&'&54767632332?&547'&#"#"#"'&'&54767632676?>$,.c.,$> ]5 71+: H3> kR  Sk >3H :+17 7Z  >$,.c.,$? Z7 71+: H3> lR  Rk >3H :+17 9X ø ib9@R'))'R@9dg  8d< +$;)01):$* \570+9 F3= kQ  Sj  =3F 9+077Y  >$,.a.,$? Y770+9 G3= kR  Qk =3G 9+079W ·    > h`9@Q'(('Q@9bf  7c<+$:)/0(:$+HH#:.'W4,CEH@,4W'*>&DL:Z##KGW“,f ',;[;;+*Q„--}KOW*AA*WSGu5-ˆU&+;;[;,)  '+;[<>**Q…--}KNW+@@-USFu5-‡S(+;>Y;+* !ÿå°½™±É67654'&"327632#"'&'&/#"'&5476=#"'&'&5476763232?'&#"#"'&'&5476763254'&5476276767632#"'&#"#"'&#"327676%32767654'&'&#"#"i/)F)/,UK:M $\/8E(5>H6-EFJA-5H;8)D7.\# L;KU,*UK;K #\.7F'5>H5-DE-6H<7*C8/\$ M:K U+þÓ:6-21 4 $:<;$ 4 22-6 O;(A7##7A(;þ÷ !*:#.#;&Rm!CcJMU)??,RMJcCoS%9#.#;)!  );#-$:'Qn!DcIMU*??*UMIcD oS%;#.$:* f /D;;D/ $­i"276767654'&'&'767632#"'#"'&'&'&'#"'&'&'&5476767#"'&'&'&5476767632&'&5476767632 o00'))'00o00'))'0]0+)*+%# #+%0%##&&.0%+%   #%'.0$,#0%-# #%'.0$.  #%'-1$,#$%*/0961/*%%*/1690/*%) "*&0-(%$$$)-0&*!&"*!$$)-0&-#%(-0&*"" (-0&*"$$(./& »†nŠ£¿Øô%#"'&'&'&5476767#"'&'&'&5476767632&'&54767676267632#"'#"'&'&'&27654'&'&'&"67&'&'&'276767&54767'&'&#"276767654'&/?676767654'&'&'&#"h &,&1/(&#!$&1%-$!&$/'.)2$-%c%-$2-*++&$!$-%1&$!#&(/1&,& =s0 9 55%R 9 ²!_  º, 9 R%5Âs  _!È#'"+'0/)&$%%).2'+$ * '1.*%%%%*.1' * "+'2.)%%$&)/0'+"'#ŽL% %Lýì %#M L:2(&6  û_ M#% è  6&(2: ÿí»”-[Õ3b‘¯Ý &'#"'&'&'&547676763267'&#"327%327676764'&'.#"7632#"'%&'&54767676324676762676322##"'&'"'&'.5#"'&'&'&54767"'&'&'&54767676&'&'&'&'&'67676?&'32767677676765&'&'.#"7676767&'&'&/326767674'&'&'67'&'&'&#"67'&'&'&'67676767"276767654'&'&'"'&'&'&54?&'276767654'7654'&'&'&"67'&547676762‹¯    ¯ž(  b›  (›¬      üÍ #!"G"!# * " ' ## G!""  '  Y m  Š   ( y ‹  ( O k  w Š  m Q (  þO (  ‹ ˆ   ? ?   + / L* / *   +. M+ .*  Ý !!!! '? ?' "#& #'"!!  '? ?'  !"!  $& þŒ ‹  m P   å O   ‹ ˆ    þ“ m  ‹ Ž   y ‹   O k  £   þ“¯    ¯ž bš š¬      %ÿ߬j<\l"276767654'&'&/2#"'&'&'&47676762#"'&'&'&54767676% %-–[''!  !''[&( !! (TB39)+,+76?A3:(+,+76>tjeVT,++(XRiiuskdVT,**(XQijtuþßzþÞ"z!uv!z"þÞzþß#&(,-''""''-,(&#e)*:6?;97,+)*97z88,+,*UThgyricYT+,,*USigtvjbZR-,þÞzþßvvþàzþÞ"z vv!z2ÿíŸ9“œ§²ÁÐ"327632#"'&'&/#"'&5476=#"'&'&5476763232?'&#"#"'&'&5476763254'&5476276767632#"'&#"27654'&%&'&#"327676%327632 654'&'&#"#"i"(-‰+S I9K #Y.6C&4<F4,CDH?,4F96(B5-Y" K8IS*)RI8J "Y-5D&3<F4,CˆC,4F:6(A6.Y# K9I R*€"(-62 #9þ~þÉ3 #9;þÉ 01+5€6 00,5`%;G,AþÞ $.?'!3&@!*Yx$ ImPT]-EE0ZTPmI "zZ)!?&3!'@-$ #,A'!2'?!*Yx$ImQT\.EE.\TQmI#yZ)!A&2"'?.#Öþ~&41%%14>3t-3>41%%14>3f^CC^Býß%@þÛº#@þÝãþÛ@%ýÆþÝ@#ä-4>41%%14>4þŒ-3>41%%14>3Ñ+  V  ++  V  !ÿã°r +?Sg"&46277''"'&'&476762"'&'&4767622"'&'&4767$2"'&'&4767eeeþãBääAãý»äBã†ãAä#U##U##U##U#ýÇV%**%V&**KV&**&V%**~ŽffŽeýßãAã†ãAã$ãAãýüãAã„V%**%V&**üµV&**&V%**Ì#U##U##U##U# ÿêº &3@MYam+%5%32476;#"'&'?632&54?#"632/&54#"/72#547"&462"'&=3¹þÁ?û_?þÁôü6Æ üÏü6Æ  Æ6ü] Æ6üþ'?&M&©C_CC_?&M&< 'L&&L'Ã!Æ6üü¢ Æ6ü^ü6Æ!üÏü6Æ ÞþÂ>ýõ_CC_Dý<>þÂ"ÿé¯l267632%632#"'%3#"'&'"'&547#"'&54727%#"'&47632%&'&54763&5476h!#;Ö'&1'þÛh 9##8þ)'1!, Ò;#A#;Ò '&1')þ8##9 hþÛ'12Ö;# 4þµ%.&! Â6 = 6Ä%".% þµ3 3 Gþó%.5Ä6 = 6 %".þðG 4 $ÿõ­8 ! 54."#"54$32632#"_”‚éöé‚ àþÀ“‡Š’þÀâÉþãÉ€è~~èýa>âþûâþÂEÿÁŒ  %!#!3!üp EEûþ?üp9Eûÿ=”V %!%!35!üc×ûðE:œüd FFûð8ÿ¸™ %!!!ü[:Fûü:¤ü\;[ûü0¡q %!!7!üNíû×]<²üN;)Gûí+ÿú¦t  ,þüoþýýÄþüþüþü9þýþüþþþû;þûþýþ’þüþüÿ ¶œ#¶›œùqÍÿ ™!þË™ùrŽQþË€k!ýÓkù` ÝÏôÙ!733ôþé}b>vÏóóÓÄþÇ!#7#Ô)…iC~ÆþîïïÿÿÏÑÙ' Ý ÿ#ÿÿöÄÛÇ' Ý ÿ#gÿ]jOS2#"327676765#"'&546;57!##"'&'&'&54767676%#¹     42;%-ú´n`Ô®úrr£#26A@:V7:$)&7.Y›q   % $.277g[•š½£(Ëdü¢VDQ49%*,04?()-#úæþÿÿÙÒÉ52&'&547676762"'&'&'&5476767h‚c"$n‘jlŽn(Lfe*+$$$$+*e*+$%%$+É! #'(*dRj¨¨jSc*('!üù"%*,20,+%""%+,02,*%"¾ÿãÓ%C&'&547676762476767622"'&'&'&5476767hcØn(%X%&&&W%(nØ–e*+$$$$+*e*+$%%$+,ŸƒDj*('(&,,&('(*kCƒÿ"&*,11,*%##%*,11,*&".i£%%&%&54767676247676762hhþÔ*(42u24)(()42u24(*”þÃiÂÅ\=97,*+*96@@69*+*,79=’ZÅrÿû_'#"'&'&'&547676763"'&'&'&5476767632_ÑÓdœA=;0-/.=:DD:=./-0;=AžbÓŠxþ”ª1.=8DC9() 1F="%".4"tNa5Œ&$4! /.r<@6B2L²_0>Q#kI|…Î"rz7&‹)?),%=^K=.C26F@13.!9+cM313 ÆN676 547&'&327#"'#536767&'&'&5432&5476323254'&543253%5@26šþÑ`', =NR6#!vWR>4 2:O t51"".1&X°.RO A5Ƚ )T/1þ¥Î86,FAS :#(=‹:tA0 9SD 'A#5þ×}11BO9ðÿ›á‚ "'&'&'&547676763"3á—Šƒpm8884ql‡Š—YTN‡! !C@RP]e:6pl‡†˜™‰€tm9:'62Õ~•~jf77ðÿ›á‚"05276767654'.'4ð]PR@C! !‡NTY—Їlq4888mpƒŠe'67fj~•~Õ27&:9mtŠ™˜…ˆlo7:fÿ‡kR !&547jljjlþïyyxzQ»þ“þ‰þº¿q¶µp¿nÿ‡c$0!!676n wu;;vþ÷i43f$ºþœ°°³³¹µ²²lcCÿ}ŽU# 3ÕþŒtÕþŠ‚ëìýDÿ}U 3 DuþŒÔtþŒ‚ëìýýÒÿVÿ.! !þþ¶þáJþ©ëìýÒÿVÿ. ! ÓêþJáþ©ëìýýÍÿAÑ! !þmþ^¢“þ\¾GHü¸ÎÿBÒ ! Σþ^’¢þ^¾HHü¸ü¸Éþåv!'7DÄWèèWÄÃWçÂçWÃÉþë|'7'7ÄWèèWÄbÃWçû>çWÃþ¸¸^$#"&=4&+5326=46;#"3¸—²xMe,,fLx²—1d=AOOA=dÆ‚…Ç׈i€h†ØÇ„O߀€ŒßOùþ°Øi(326=467&'&=4&+532;#"+ú5nCFVU$#Cn5¥ÂBB*)p//oTBBÂ¥ÌP€âŽAAáP‚DBÉÛ‡45‚iŠÙÉDCS/~å #!5!3}þ¥ãýñþúãŠþ¥ªt’]} 7%ýd”^º=ý¤Š]•ýdý¤>S¢~5 /ý%Û0~þ‚¨#ª#þÉþÉtÁ]« '-fý¢”œþñ\=]ýd•]º>ý¤-¡¤á!'7!.€ Øþ(þ÷€ýìïòÀ``ÀòI)ˆ=2"&'&'&5476?!".'&47>3!'&'&54767>2ˆ þÔ '!  ‹ý`!! ‹  !' ,Æ& þÔ   Œ&‹   þÔS¶~&!5! Fýò7þÉÒ8þÉþÉ-x¤!5!5 VüØ(Mþ³r¨úþ²þ²6u› #3#3#3!!5 é´´ðZZ–--ïþÓ-Iþ·(,þÔ,þÔ,þÔ,²þ¸þ·Sœ~  55!#3#3#3Fƒ´´ƒþã9««äUUŽ**©bÚ]^Úb«þU«þU«þU«S„~ô!!5 Fýò7þÉ.©þÉþÉ`tq!%  ¨ýqþ®ûïÆËËRþ®þ®{¤V$%! ÀSþþÀÛü%äÁÁ@þÀþÀ{V½ tùÛü%îÎþ2þ26Œ›=3!5 5!"'&'&'&6  $hIþ·ý˜$  Õh$  •þ·þ·•  6‹›<47676763!5 5!"6  $hIþ·ý˜$  ó$  •þ·þ·•  $O‚à!! eþëþä þþ6n›55!âlMþ³lýT‰wæccæw¤ekl!5!!53 ' !_þú²[þ¥y"þÞþk©d©þ¥þ¥â©""©òe/lå5!!53 ' !_þú²[þ¥"þÞþ/©d©þ¥þ¥â©""©ò5·œü !73#57!%!6ÍUcG™ýùjýý¶bÊzbýªŒïd©þ“þ¸ŽÇ©""©òaÖp« 5!'53#'!!!7%aÜcߎA[ýØÄýØ(ZqþZ{{þä{þÄ’Ò’ûû}ÛTM %'!'!53 !“;þqKÊRnKþ’a2þÎþ6Ûw–îwþ’–þ’Iw22wþŠT‚}> 3#5!7!!! –ZŒQþtZþQ°0þðLþ´>þs¢þs£äþjLK2NŸu '!53#'5!'7! !£p…Sn%þ’R&ý %µUa2þÎýŸ÷wþ’Kþ’J,L÷»w22w)ý¨1 '7!573#5!7! !œr&j&St&þŒSýp¸Wl6þÊý”qûM,LþŒLþŒyû¾y77y‘½@¬!6767632#"'&'&'! ‘ 6IYZgb^UMI%&&"LF\Zfc^UM3!çtþŒ§:6I&&&#LHZZhc\UMH'&&#L2<tt€ XNy "&*.37#37#37#37#5'!!55!!3'#3'#3'#3'#r+qr*r€r+r€r+rV…€…{‹‹{þê…þ€°*q+*r*+r++r+««««««««9ÇÇÆ†\]†ÆÇ«««««««t¹]¢ 7&#"7'7 #%5²Ž#t…69Ï.þwZæþ¦Y“96…t"Ï.*þ¨X/æþ§åSÑ~k 55!5!!7'!n‚‚nÿþUªŽþVŽŽªŽº±†GG†±8:ŽÈu\j '327'' #3ƒŽ95…t"ŽÏ.þÖYþ§/æYæ¿"u„69Ï.þxXæþ¨XN¹ƒî2%&#"6767&'&"67632&'&547676767‚}:"  s %*&*(&þŒ"!#!þ÷"O>>;Ž*‰§E/4767!"!47676763"'&'&'&5!3!&'&5¦Œv þ¸ þ5 $ %% $ Ë H vgMME %!#"!% EMu¯\—2&'&'&'&54767#"'&'276?&'&'32\": ö þ¨#'$'$#Y@öI:86†—s…6::I ö þ§#&'#'" X ÷ :5*œì+B67"'&'&'&547676$47676762"'&'&'%&'&'&547676762$¸àª[ /  ýH =ýaö=   / Z«þïI=X  q> d(*c Á    ÂXJn´°.676767632#"'&'&'&%&'&54767&'&54765 #&+*1)„Fþº„-Y)) .EOÍÍO/3S>>S&/ #$))%#Ã]]Ã#%))$#&¾«¦e"'&'.54?654'&'&'&+"#!".4?64/&4676763!2;276767654/&54676762«Ã åIþ ]]òIå ù à  Q ’  ¹¹  ’ Q  Ã%e«ñg"'&'.54?654'&'&'&+"#!".4?64/&4676763!2;276767654/&54676762«þ» GKaýç u~iKG E²þÜ ²Ã êú  Ó² þÜ2 Ÿ²+#76767&'&/3#6767!5!!5!&'&'Ÿg?j7R=y66y=R6k?þVO ýœñS+ +Sýd _8=ey‹u'&uŠtj<þu,*44Gee‡eeG35*+8þ²š&*'$&'&#"'67667š h7þHm^:-ˆ3ÕÞþ° REþ² SR®õQO‰1ØÌ¡üLÜH7þ²™&57$'&54&#""7ER þ°ÞÕ3ˆ-:^mþH7hþ²HÜ´¡ÌØ1‰OQü ®þ®S uþ#\u ! !hôþ þ óþ˜Ñþ—iý/uûÛûÓ-1ýüކþòK 3 #‡ªþ窂üpüp†þòK # 3Jþçªþ窂üpuþ#\u hôþ þ uûÛûÓ-Xqy“33#####533ܨõõ¨è¨ôô¨×¼þDªþD¼þD¼ª¼þDXqy“333333#######5ʨ¢¨¢¨ss¨¢¨¢¨r×¼þD¼þD¼þDªþD¼þD¼þD¼ªÿÿ–®;T™ÿ±Ëw7!!!xáürÅ$ðýžÄû<ÿ±Ëw!!!xáürÅðû®Äû<ÿ±Ëw7!!xáürÅ$àû®Äû<ÿ±Ëw%!!YürÅ$àû®Äû<ÿ±Ëw% hËþ5ýžbcýJÊÊþ6býžýžÿ±Ëw žÊýžbcýþ6”þ6býžýžÿ±Ëw ! žÊËûÓbcýþ6Êbýžýžÿ±Ëw! ž•þ5ýžbcýÊþ6býžýž ÿ±Ëw #)-17%#535#5#5#5##5'3#5#5#5#5#5##5##5###5ËÍZssssô®š´ðVÈrrrrÅsZš®š´šVr~ÌrZH®®N³³ýrrrrZZrÌH®®N³³bÈVrrrrrrVÈþLÑÕ'!2#.+;#"'&32654&# ö¡’N76SËÙ²M{cÁ,-Z¹ß¥ZYËÝ‘Ž—óÞÒ”»77§þhy¡]ýk~>>œjiý‰jÿãRð"53#5#"'&323276'&#"š¸¸3UVná‚àpVTýÕML•”NMMN”•LA”ú+Ál99ÏÑlgš-,þ€ý¥›šœ™..™›šVþVyÕ ##! !+532765¾þö™þõºYZ¥Í·Z-,'üíúÙÕýøúÃijœ>>’%¬Õ %!#3!3iÕþVOõþ7Ñn lѲüüRÕþ{…jÿãRð"%#367632#"'&'&#"327"¸¸3UVná‚þüàpVT+ML•”NMMN”•L’”ÕÁl99ÏÑþ”þ™þf-,€[›šœ™þÓþÑ™›š‰HÕ3!!#‰Ëôý ËÕýœªý9Ã`#3!{¸¸Ÿýý`þ9–Lÿç…h '"27654'&'2#"'&7673A\VMMG*ŠwÁ·Ç|~~hšA1LLNeË‘ýRh]ßÝc[„þÙþæ–˜™›,„m£Ks¾Øeg¯.˜ÿå±!#5#"&'532654&+532±¹.¿ƒDv6;zI¬¶McÑݳªÛw"$¼.*ØÌgQ™®¸‰ÿãH{"264   676326­†^\‡`þsÒ÷öþ-öüýÇ!\…‡[À^ˆ[]…þÒýÃþÓ-=þâ°þP@7'"]_$5ÿÿæÿëhXýdœÉà3#3hÝ„þí›þí„ûåü¼D‹þð8.#";#"./.'&'532654&/&'&54$32ô\¹^¦m•jÒÀ„j·‚º–3!2_Pf-ÞEfosÍh™ªu‘lÑ]^ ßV¾¢Í;<…qch#1ÒµÕpZ‰¤ª"D0ì7/×ID‰{pv 0^_ Èñ'œþ’Õ35!5!;#"./&#œ÷ýÉüôfaÔ-BQO(Qr Lcu9ýB_š‘ªšûo^Í,97ª&P7ó?ÁÿåÝÕ%36767#"'&5476?>5#5%¾ Yb^`_hºon"!^XE&ÅË->B%DüS #D¼9``¡LAB\VBT=;þþú¾®-;,,1Y7Ï:w!##Ϩð¸ýµZ:#5!#J𨸅ý&ÏþòwÌ3!3‡ðþX¸ÚZþòÌ!533þXð¸þòKÿÿÚ÷ðN,¥X3#3,ªªñˆXˆû0Xú¨,¥X3#3,ªªñˆ$ˆüdXú¨,¥X3#3,ªªñˆðˆý˜Xú¨,¥X3#3,ªªñˆ¼ˆþÌXú¨,¥X%3#3#,ªªñˆˆˆˆXú¨,¥X3##3ûªªþ¹ˆˆXˆû0X,¥X3##3ûªªþ¹ˆˆ$ˆüdX,¥X3##3ûªªþ¹ˆˆðˆý˜X,¥X3##3ûªªþ¹ˆˆ¼ˆþÌX,¥X%3#!#3ûªªþ¹ˆˆˆˆX,¥X!#!!´ˆyþXˆ,¥X!#3!!´ˆˆñþXþ̈,¥X!#3!!´ˆˆñþXý˜ˆ,¥X!#3!!´ˆˆñþXüdˆ,¥X%!!3´ñý‡ˆˆˆXTœ|ä 3'#'L:öL’j”LäÝCƒýU«ƒCT˜|à #'737†:øL”j’L˜ÝCƒ«ýUƒC(œ¨à 3#3#'(€€€ f*ŽDþ‘ÈÈ(œ¨à #53#73¨€€€ fRŽü¼oÈÈÿÿ(¨D }ýdA·Ô!5 !5 !5 ‡|þ„|þpO ®¸ £'£Å¢þŒåcmþûþZnž`!5 !5 !5  Tþ¬Tþ¬ „ ™|™˜þèžMY¼þ¸ëËôð 5! ¥u¤‹ ý±ÍþþÒ.1Ô ÛëVô{ 5! ¥u¤‹ ý±XþþÒ.1Ô ½‰þVHÕ+532765!#3!HYZ¥Í§Z-,ý×ËË)ÕúÃijœ>>’Çý9ÕýœdÃþV4&#"#3>32+532765bjq‹¸¸1¨s«©YZ¥Í¹Z-,¶—Ž·«ý‡ý¤`cáäý6Ãijœ>>~ÿÿéå'ˆIJ !5!5!5!Jþ>Âþ>ÂI–––áÏÕ3#Ë¡Õýqþ›eª¾Õ·ˆÔì1ôÄ0#¾®ÕýÕ+ÿÿ‰DÕ^þV4 ;#"&5# 5432!5!3#'&#"3ª[YÖ襵>þéö5*þÙßúú¸GN\|~œÔ†½öƒüó  „K9Tþ¾•Õ !33###TøÃ†ªÜþÃÕû3ÍúÕþBÍû3zþâ^{3##4&#"#3>32ÒŒ–¯jq‹¸¸1¨s«©¶ýàþL¶—Ž·«ý‡`¨`cá‰ÿãH %"32654&'6#"467.5463%!"hŒŒèøöêéö{1PAžüþ(¼rßÚÖÕÛÛÕÖÚœþÑþâþáþÓ-åØ*/Ž1|”–‡I5#7N@* ¶ ŒÄ››      JEEô<äì2ü<Äî2991/<æìþîîî299903#'#"!#!##535463¸¸w´cM“¸þ%¸ÉÉ©³éë™Qgeû¢Ñü/ÑN¸®#7B@# ¶Œ›   JE Eô<äìü<Äî991/<æþîî29990#!"!!##5354637¸þÕcM%þÛ¸ÉÉ©³ùì{Qgeü/ÑN¸®ÿÿEþ °& Ë ÅÿÿÿEþ å& ¿ Åüÿÿÿÿìþ ¼X& Ò Å ÿÿÿÿìþ åX& Ó Å ÿÿÿEþ °& Ë Ä½ÿÿÿEþ å& ¿ Äxÿÿÿÿìþ X& Ò ÄŒÿÿÿÿìþ åX& Ó ÄŒÿÿÿEþ °& Ë Æ“ÿÿÿEþ å& ¿ Ærÿÿÿÿìþ  X& Ò Æzÿÿÿÿìþ åX& Ó Æ˜ÿÿÿEÿì°½& Ë Å7'ÿÿEÿìåÃ& ¿ Å-ÿÿÿì¼x& Ò Åâÿÿÿìåm& Ó Å×ÿÿEÿì°& Ë Æ“„ÿÿEÿìå' Æ„ ¿ÿÿÿìy& Ò Æãÿÿÿìå|& Ó ÆŒæÿÿEÿì°W& ËLLýfÿÿEÿìåH'L4ýW ¿ÿÿÿì¸õ& ÒLKþÿÿÿìå& ÓL]þÿÿÿ¶ÿ¤Œr& Ó ¾tâÿÿÿjÿ¥å' ¾„v Ãÿÿÿì?' ¾,~ Àÿÿÿìå' ¾–€ Áÿÿÿ¶ÿ¤Œ~& Ó Æˆèÿÿÿjÿ¥å ' ÆŒt Ãÿÿÿì?' Æ,x Àÿÿÿìå ' ÆšŠ ÁÿÿXþ ­f&[ Å{¯ÿÿXþ ùf&  Å/}ÿÿÿìþ>\/' Åaÿ8 ÿÿÿìþ>ü/' Å ÿ8 ÿÿXþ ­f&[ ½ŠÿÿXþ ùf&  ½&ÿçÿÿÿìÿ8\/' ½¼ÿ8 ÿÿÿìÿ8ü/' ½ÿ8 ÿÿXþ ­f&[ Ä*–ÿÿXþ ùf&  ÄÅBÿÿÿìþ\/' Äðÿ ÿÿÿìþ>ü/' Äÿ8 ÿÿXþ ­f&[ Æ2¯ÿÿXþ ùf&  ÆÅ^ÿÿÿìþ\/' Æüÿ ÿÿÿìþ>ü/' Æÿ8 ÿÿÿÌþa7&_ ¾Ð¦ÿÿÿ`þ åD' ¾\´ ÿÿÿÌþ›'LUýª_ÿÿÿ`þ å„'Léý“ ÿÿ ÿ§]œÿƒÿ§2%#"'$4733267654'&54767;#"'&'õ0Q€cÏplþ¶?¸AËOL¢Ú64)¶>.VþhFd((&*=#>¶2(I=/ b Š\^ˆxHj<9"1B,f%TOAŽÑþÂ7.NýÂ?¸ÿÿÿì+ Bÿÿÿìæ Cÿÿ ÿ§cG&œ Ǭÿÿÿƒÿ§J' ÇT Åÿÿÿì+9' È Æÿÿÿìæ9' Èœ Çÿÿ6þµ° ÕÿÕþ æ &#"'&47332767654'3;#"'ÈGŽŒ¬{ê5¸7¡9T?:!e¸#"#V4^Wþ÷t<;?x®Ž®Ž´C3§^w¸Ë3UT8@¸0­ÿÿÿ½“åžòå&6D%3!"''&5473327&'&5476&'5%67654'&#"%3276'&'&bþˆ¾Jƒ¤‘Dv¸-(0g:-0M,QÔãùGýÍ$"':AG 5' 3¸¸43%@€K5:,+ CfN@TSZ '¹A¶ÈçO@H=.%4-+#%v¼_U[1C "&_ÿÿÿìÿ½ãå Rÿìòå,:%&'&5476&'53!"'+532767654'&#"%3276'&'&\:-0M,QÔãùG Êþ ¾J†¡÷îFâ$"':AG 5' 3ÈCfN@TSZ '¹A¶ÈçO8¸44¸U@H=.%4-+#%v¼_U[1C "&_ÿì¼X %!#53 76=3`Hþ©Õž,1¸VV¸,1jÙÙ»ÿìåX%#!5!276=33!!"^L×þ±¢,0¸2,£*þŸÖVV¸,1jÙÙj1,¸ÿÿþóÑrÿÿÿ|þðå WÿÿÿìþÔX' ½‡þÔ ÒÿÿÿìþÔåX' ½“þÔ ÓÿÿDºŒštÿÿÿìåš&tiÿÿDºŒýu"åk ;#"'&=3Ú1,cK‚Ž\W¸L71,¸\W+ÿÿDþŒÿövÿÿDºŒªwÿÿÿìåª&iwÿÿD¹Œýxÿÿÿìåý&ixÿÿDþèŒÿØyÿÿÿìþèå¸&iyÿÿ0Ë ôzÿÿÿìåô&izÿÿVáz{ÿÿÿìå&{iÿÿ²U-ÞOÿÿЃ&U|Âÿÿæƒ'| õÿÿ³ 9&U}ÿöÂÿÿäæ9'}' õÿÿLþ 3µ&q}`þ>ÿÿZþ åµ'}2þ> Uÿÿ¶þ  &U~ùÿÿþ æ&~V õÿÿþóÑV&r}ÿYýßÿÿÿ|þðå_'}þäüè Wÿÿÿìþç'}ÿêþp Òÿÿÿìåç'}þp Óÿÿ ÄULæ 3;!"'&L¸2,´ÐþøêPXs¡ûkj1,¸\eÿÿEþ¢°& Ë ¼þ¢ÿÿEþ¢å' ¼Ñþ¢ ¿ÿÿÿìþÔ¼X& Ò ¼øþÔÿÿÿìþÔåX& Ó ¼þÔÿÿÞÿÆó&p ½j„ÿÿòå' ½Æ„ QÿÿEÿì° & Ë ½¿ŠÿÿEÿìå ' ½œŠ ¿ÿÿÿì#è' ½“R Òÿÿÿìåè' ½“R ÓÿÿEÿì°& Ë ¾ºŠÿÿEÿìå' ¾¨Š ¿ÿÿÿì,â& Ò ¾œRÿÿÿìå¼& Ó ¾›,ÿÿXþ ­f&[ ¼ŸÿÿXþ ùf' ¼pÿÎ ÿÿÿìþÔ\/' ¼ þÔ ÿÿÿìþÔü/' ¼ þÔ ÿÿXþ ­f[Xþ ùf.%3#"'&'&'27'&5767&5$Ñ(1{R=IrbàJÁÔ–úþ”©ƒÔ`‰eŸ‡_Ã$Äm3HZ¸¸–dœ²P·üŠ]£v¸bĘÞße4)¸@5š [ _wÿì\/&'&'&5672+5327676SSgU´R¡HK¢¬ÜLX¦J‘KÝ£€dãht^¸#4bš4bBP¸H:jVÿìü/);#"'&'+53276767&'&'&5672~ÜAI2h6ýž—¸€•Å:H~ÿÿÿÌþD¶&_ ¼] ÿÿÿ`þ å¶' ¼ï  ÿÿÿ$þ˜îaþØþåîF"'&''#"'&7673327676'&/37653323;#"'4A@E2J/1%=Gq_ev<¤W!.052#)Ÿ1'/-%¤% *i¤),;?d<G!C~m8(P¨^yM\dsÕè‚ቬ+;H2zm¥^\꜑#P}g£x&þª‹),¸`a ÿìÿÝ”è1%27653323#"'&'#"'&'+53276=3æC*%¥&+h¤>!UNBAF3I2Q, E;eF*L$F¤µtg£x&þªŸ™R" C~m8*@#?9,%¸#GvÀœOdTÿìÿÝæè7323;#"'#"'&'#"'&'+53276=32765Ñ!5d¤*,""@e;6:HO7* F35C%&F:DF*7@¢`*%R¦Šx&þª‹),¸`X I6[m8*6759,%¸#GvÀœOdTtgÂÿÿÿ$þ˜°&a ¾6 ÿÿþØþå°' ¾ì  ÿÿÿìÿÝ”°' ¾–  ÿÿÿìÿÝæ°' ¾R  ÿÿÿþÀcþÅþå G%327654'&#"%;#"/+"'&5#"'&5473767654'&'367632ýŒIj($?GhK=.';4f¬ˆÚ&4-//3fJ‚Z}e¬h<2ÔH7(2€<±RNÿìÁ ,%327654'&#""'&'+53276=367632#IŒIj($?GhKRJNA'f^‚K+%A¸-L1’–«[W¸~¸.DF-%!mNþØ*#=Џ,PdrNP2€<±RNy¾mKÿìå 6%327654'&#""'&'+53276=367632;#"/#ýŒIj($?GhKRJNA'fDP*-¸-L1’–«[W.';4f¬ˆ¸.DF-%!mNþØ*#=Џ.2€rNP2€<±RNy4G ,¸^xÿÿÿþÀ4&c ¼OžÿÿþÅþå4' ¼ž !ÿÿÿìÁv' ¼Wà "ÿÿÿìåh' ¼4Ò #ÿÿ ¤eå '%327654'&#"%;#"/#!#53367632ŒIj($?GhK=*=%-:]U}•ýû²²¸L1’–«[W¸.DF-%!mNN5FC¸Oi¸\û€<±RNÿì¤ %327654'&#"!#53367632,ŒIj($?GhKˆýûþþ¸L1Žš«[W¸~¸.DF-%!mNþظ\û€<±RNy¾mKÿìå '%327654'&#"%;#"/#!#53367632ŒIj($?GhK=*=%-:]U}•ýûÚÚ¸L1’–«[W¸.DF-%!mNN5FC¸Oi¸\û€<±RNÿÿ ¤&e ¼Cÿÿå' ¼C )ÿÿÿì¤' ¼C *ÿÿÿìå' ¼C +ÿÿzþ ·*g”þ ô,7347&'&5476762;# '!27'&"676'”»=& hYîYe Ev7DW_”àÐþ·øš)k_ÁÔ–úþRb©4/F†0ÔŒ2H9)74--38&">8`@%(¸äjm=žv¸b¾w $A7. ÿìù*727&'&5763"327%+5=¡ÊK4XÌ}ûÚº>SF8I þ\þ¢²Y¸];dŒ}M©‰ÿ4F!¸Å¤¸ÿìå$/%+532767&'&5476762;#""654'hÂÊðÚkB;(aD hYîYf MXD=pÛñʨ4/gg/¹¹¸($'UZ'-)74--38)-'bM,(¸U __ ÿÿzþ ·F&g ¼w°ÿÿ”þ ôL' ¼Ö¶ 1ÿÿÿìùF' ¼w° 2ÿÿÿìåL' ¼¶ 3ÿÿÿ¶ÿ¤ŒÀ& Ó ¼ð*ÿÿÿjÿ¥åL' ¼ö¶ Ãÿÿÿì?' ¼©~ Àÿÿÿìå~' ¼"è Áÿÿþ}t& Ì ½]~ÿÿÿíþå' ½Nk Âÿÿÿì?& À ½,~ÿÿÿìå~& Á ½–èÿÿÿÉŸlÿ¡ÿÉå!D#"'5327654'&'&7676;#"''&5473327676J&P DfXRNB8D-<9_¸h$$EB|=Q&v+6ºú(  %þ¶z|qe›ÿìæ))5!27654'&54767;#"'&/œþPœ“/6þÊ2 hêý¬F F&,@X„B:f"``¸h$$EB|=Q&v+6ºú(  %ý?¸+)x.›ÿÿCþÈKm þÈå$;#"'#"'&&733276761,+K‚8N3h^}cwò@¸A¦(IiTcEûkj1,¸3]?~/"*VŠ\ss~B")ƒ9(jÿìé )5!27653éWPþðýºÚ,1¸s²e\¸,1j•ÿìå%)5327653;! hLþðþàêÚ,0¸2,ÚéþßþôVV¸,1j•ûkj1,¸ÿÿ‚þTónGþåt4%327654'&'&#"#"'&#4763&547632;#" zL,5;(.;DÀ …KÒp#IÈxAI¢M\HTª(RfV­¨*9:X DD(©PNKOþ“m­f7*(”„?$G³@^¸ÿìÿΦm*%'+53276767632%327654'&'&#"d`ŒÔp@h t4,+‡^]EE½ýð>Ÿ/4:''5)24ed0¸$#1µP8O«$*ŽME5EX !a%ÿìÿÎåm/%#"'+53276767632;#"%327654'&'&#"|a‹Ön@h¸Œ4,+‡^]HBÁ3&id›®þ>Ÿ/4:''5).4fb0¸$#1µP8S§1>/¸ÇE5EX d%ÿÿ6þµ„& Õ ¼ÓîÿÿÿÕþ æ¯' ¼w Íÿÿÿì¼è& Ò ¼Rÿÿÿìåè& Ó ¼RÿÿÞÿÆóÞpòåî $&'&'&'3;#"'&'#"'&5476 xRo´t¸$8pq¨ZI-&Šœ8:½Ìm*12e CY>)2Ñ'+¨®eO,¸3;I0š­Dÿìÿ½ãå-=67654'&#"27&'&5476&'5#"'+5327654'&º$"':Aù4N--0M,QÛÜ;(J¯ƒšx’¯Ñb 41~! @H=.%4-+#%vˆ iEN@TSZ '¹C´ÖÙ49g=ql)¸D%'Šr.C!v-‹3j  °;AWE… ¸L9P)8K6(¸œS/V¸L_”+Y‡9›K1\SÿÿþóÑrÿ|þðå7%&'&'&54767632;#"'&##"'&'&73327676 ,)MW,‚.@"##C@"*5NhµŒLy“ä $²Eq‚:€<3, $.=N/[ŠÀ¸¬¥ EW3235hýêýêuFX^"!ݺh¿^b²Nmƒ/>ZUËþüþéòübª=*(DV\BAL¡À89¼DEnY1X;YTBEbš“þþÿÿ%¬Õ$ÿÿ¦qÕ%ÿÿ‹ÿã1ð&ÿÿ‰RÕ'ÿÿÅNÕ(ÿÿéXÕ)ÿÿfÿãPð*ÿÿ‰HÕ+ÿÿÉÕ,ÿÿmÿã¼Õ-ÿÿ‰ÉÕ.ÿÿ×sÕ/ÿÿVyÕ0ÿÿ‹FÕ1ÿÿuÿã\ð2ÿÿÅuÕ3ÿÿuþò\ð4ÿÿÑÕ5ÿÿ‹ÿãJð6ÿÿ/¢Õ7ÿÿ“ÿã=Õ8ÿÿ9˜Õ9ÿÿÑÕ:ÿÿ¾Õ;ÿÿ%¬Õ<ÿÿœ‘Õ=ÿÿ…ÿã#{DÿÿÁÿãXEÿÿÃÿã%{Fÿÿ{ÿãGÿÿ{ÿãX{HÿÿÃ'Iÿÿ{þH{JÿÿÃKÿÿ²DLÿÿºþVMÿÿì²Nÿÿ  Oÿÿmo{PÿÿÃ{Qÿÿ‰ÿãH{Rÿÿ¾þVT{Sÿÿ‰þRwTÿÿjƒ{UÿÿÕÿã{VÿÿƒžWÿÿÃÿã^Xÿÿdm`YÿÿÑ`ZÿÿL…`[ÿÿhþV`\ÿÿËb]ÿÿ…ÿãLðÿÿöFÕÿÿ˜#ðÿÿ‰ÿã7ðÿÿfoÕÿÿÿã-Õÿÿ…ÿãLðÿÿ‹7ÕÿÿƒÿãNðÿÿÿãFðÛîæf@ÔÌ1ÔÌ03# Æqšfþˆ?‘ÙQ@ ÞaaÔüÔì1Ô<ì20K°TX½@ÿÀ878YK°TK° T[X½ÿÀ@878Y3#%3#?ËˈÊÊÙËËËÛîZökµÔÄ1ÔÄ0K° TX½ÿÀ@878YK°TX½@ÿÀ878Y@&  //// //]]3# ºåšöþø²éÑ@ Ì Ì ÔÄÔÄ99991Ô<üÔ<ì990K°TK°T[X½@ÿÀ878Y@t        !      ]]'.#"#4632326=3#"&d9 #(}gU$=19#(}fT"<9! 2-ev 3)dwyîööiµÔÄ1ÔÄ0K° TX½ÿÀ@878YK°TX½@ÿÀ878YK°TX½@ÿÀ878Y@ //]#1Åšãöþø7îšø]@ ÔÄ91Ô<Ä90K° TX½ÿÀ@878YK°TX½@ÿÀ878Y@ //, ]3#'# ½ÓŒ¦¥Œøþö²²7îšøi@ ÔÄ91ÔÄ290K°TX½@ÿÀ878YK° TX½ÿÀ@878Y@ //*//]373 ÓŒ¥¦ŒÓî ²²þöøZj@ ÔÄ991ÔÜÔÌ0'3$øll/{¢m > #.#"/ ž Ÿ waSRd {xz{w8796/{¢m ²¸@ PPÔìÔì1ÔüÄ20332673#"&/w dRSaw Ÿžm6978w{zƒÎP·ÞaÔì1Ôì03#ÍÍPÍXck@ ÔÌÔÌ1Ô<Ì203#3#\ºåšzºåškþøþø»cyk#!#uÅšåùÅšåkþøþøf•ð$(#5476?>54'&'&56763#®Â7:)*%>8'9@B9Q[~CG=9. ÇËË‘šbEBTY;X1I*%#DÙ>"Y`¡LAB\VE'*=þÃþ=œ“0¶¶ÔÌ1Ôì0!!=Výª0”œÿ45ÿ¦!5!5üg™Ìrÿ4Ëÿ¦!5!Ëû;ÅÌrÿ4Ñÿ¦!5!Ñý/ÑÌr^Ôsé 2"&46"264hrL&'œâ—š«vURyVéP%`8nš—âœ|TyRTv?F‘3#%3#?ËˈÊÊÊÊÊ––53#–––––73#'3#ú––ú–––––– 3#3#'3#}––}––ú–––d–––Eÿìå&"'&547332767654'3;#"'&'ºƒ)¸+ubE‚W-7¸!K4/+X`t8AÛ>|Š0l7%5A8>7KZd3(¸,*OQ/9ÿì?Ù0654'&323276767'&54767632#!V)B,4((7(*Hý®ñT—O<?a‚Nb–NLZB`.NJ|m‘þ¿+M;3*)3P&þ· ]027EW4,”E$2Hf3ŒÐˆ,'ÿìå 3;!"'#!5327&'&5476762"67654'&'È·$&”áþňº¸ˆþÄâ’($¹€28 D@$ 8úP–2*I1C2¸99¸(M.L,0W¸ 5+5DE2.4!ÿíþåä.@%&'&'&54767632;+'$'&547332766'&'&#"ŒB.y9“(“)Wp8c2X]0LhŽ—¤þÓ^E>¸>:Ãluž{/"'"5 9Ld/  #+m¹=¥E2X‘:Ö¸Sm•JN¾Š}¦`k›I=‚"'&4762<R8R8z?@¸?@@?¸@Ü(8)*8…¸@@@@¸@??•þV<ÕD@!B´ —  10üìüÄì291/<Ôìì2990KSXÉÉY33+532765#•¹5¹YZ¥Í¹Z-,ý˹Õû—iúÃijœ>>’iû—Eÿì°'&5473327654'–¦˜þéßš)¸+ub„¼j{G„{yo9;á>|Š0lALj@Gþ}tÙ8654'&32676#"'&54767632'&'&5473)B,4((7(*Hþ[ÔbË?z…Kb–NLc9g'!.9¥»éΊMR·VV+M;3*)3P&ý;fÔ4KCW-3”E$2Zwf ü޳ƒ”¿j}´Ø»™H(°ÿÿEþ ° ' ɘþ & Ë ½¸ŠÿÿEÿì°¶' Ä©  ËÿÿXþ ­¯'}ÿ®ÿ8[ÿÿXþ ­ª' ÅÂ[ÿÿXþ ­ª' ¾T[ÿÿÿÌþµ&_>ýÒÿ¶ÿ¤Œx9654'&"32#"'&&733276767#"'&54767632£)B,4P7&,Hi§²¥£rô$¸$xZƒT¼0A&?z…Kb–NLZB`.¸,L95T2R$þ¦T&()XŠ\^ˆ“-"2(hLDV‚,4”D$2Hf3‹þ»ÿÿCþÈúÄ'„m6þµ°#"'&47332767654'3dGŽŒ¬{ê5¸7¡9T?:"F¸Hÿ»¤t<;?x®Ž®Ž´C3§b`ù˜ŸÿÿLþ 3H'pþqÿÿþóÑ'ÿ(ýàrÿÿÞÿÆóÞpTz­¬a_<õÉ1É1ûŠý¾UmþÑûŠÿ¾ÑhÑÑR¾!9ª\¦X“déf…ö˜‰f…‹ƒé“XXXô%¦‹‰Åéf‰Ém‰×V‹uÅu‹/“9%œÏfZH…ÁÃ{{Ã{òºì mɾ‰jÕƒÃdLhËÝÝXÕ‹Í%Ç?wXd=+XBFÛÃjé‹XôÁÁ%%%%%%‹ÅÅÅÅÉÉÉÉ‹uuuuu–““““%ɼ………………)Ã{{{{²²²²‰Ã‰‰‰‰‰X/ÃÃÃÃh¾h%…%…%…‹Ã‹Ã‹Ã‹Ã‰{{Å{Å{Å{Å{Å{f{f{f{f{‰ÃFɲɲɲɲɲÿÿÿümº‰ììÈ × × × ÿöL‹Ã‹Ã‹Ã“Ãu‰u‰u‰Hj j‹Õ‹Õ‹Õ‹Õ/ƒ/ƒ/ƒ“ÓÓÓÓÓÃ%h%œËœËœËÃF¦Á0<‹<^ƒˆÅu‰?Ã4AÉÉnì 1mÃu -V8¾‹Õxvƒ/ƒ/ 'Jšœœ}­˜}Â}9¤%…ɲu‰“ÓÓÓÓÃz%…%…)f{‰ìu‰u‰}ºf{=‹Ã)/%…%…»{Å{»²É²u‰u‰‰hj“ÓËÕ/ƒ}®‰Ã“œË%…Å{u‰u‰u‰u‰%h jƒºxx/!ÕË79Žš{ÀÁ¸Ã{{zz©©8°º{zff¼ÃÃŽÆ X (hhg²ˆ‰Eª‰˜˜fjj  zz¼}}}v¦ƒ_AHHf§}iÂÂÂÂ_Ѱ6Êwõ#ÂÂ6™™µ‡æÛ²ÅAAæ™™Q0ìÏÏðßß^^))$=$=¶¶ßß>ˆ/V¤Xþ¡%V[^,,,,,ÓÛ)=/?™VX)"VÒ//ÕïðÛyyœÌs£úb^_sö¶?˜‹®$UÎ))//=X/úUU΋Ûïÿìæ“Û?éÿþíÿÿµþpÿÎ6%¦×%Åœ‰uɉ%V‹‰u‰Åx/%uuJÉ%F©Ã63F— ‰©™Ã‰6ìDÃt¢‰P¾Ã‰Ÿ3LYƒF63‰3F–t"þp"m94u‰‹›é`„!Y4¾Ãºu¢¢É¾‹VU‹‹‹ÅÅÿ¾×‹‹ÉÉmÿí"ÿ¾‰‹h‰%¦¦×!ʼn‹‹‰V‰u‰Å‹/hBP‰r< AÅ‹<L…}Ñi{;©ÃÃì=ÉþÃáhcL|Ã}PhÃÃN¨{{#ÃÕ²²º A#ìÃhà u‰×U×;‰©‰ìbq}‹Ã/á%\%\LŒÃÉ;‰ì‰ÃŒÃÇ%…%…)Å{uzuz;‰©}‹Ã‹Ãu‰u‰u‰‹Ãhhhhhh‰Ã×Ah‰©u‰w€U6€`x€+U“š]6“[_6V6@6`“`A`6“!i“@‡F3uGßÖzáy²¼g·Ir¤IÏ·BI¼Gh‰¼½«rŸh=h­½òg¨„½fh¼ùhW‰(Hÿd11ZÖdÖÚ²½L½ EÞEEXXXèèÿÌÿÌÿ$ÿ$ÿÿ zzÿìÿ¶C‚6ÞLDDDDDD0V½½\ú–š†ìÊš~~¢È6Ö’½EEEEEEXXXXÿÌÿÌÿ¶ ú–š†¯¬~~¢>lyö|as{•jK}}cceesdaobwU0[ûŠüÆSSSSÏxEÿðV_Iÿð– žn7 žž7 ž žŸ7 Ÿ7Ÿ-77 7ž7žVž¡ ŸŸžv ŸŸ‹7k¡n #•)©²‰ˆ+?+üõ77LL,:d^E<<.?AäEEGûGG11OOGI8%[:X::GM[ÿ%#H™[#{:œ GXQ:OWbG[CaIGdUU~%%UU?::[xMÐ Fa^M3:%…¦Á¦Á¦Á‹Ã‰{‰{‰{}{‰{Å{Å{Å{éÃf{‰Ã‰Ã‰Ã7‰Ãɲ‰ì‰ì‰ì× × × × VmVmVm‹Ã‹Ã‹Ã‹Ãu‰Å¾Å¾jj==‹Õ‹Õ‹Õ/ƒ/ƒ/ƒ/ƒ“ÓÓÓÃ9d9dLL%hœËœËœËÃhÉ%…%…%…%…Å{Å{Å{ɲu‰u‰    “à ' ' ' '%h%h%hFFFFFFFF%%þlþlÿÿÿÁÿ©©©©©©ÿÿý‹ý‹þýôÃÃÃÃÃÃÃÃÿMÿMý@ý@ý¤ýþcþc66õõ'ÿÿý¤ý¤þýôþ®þ®‰‰‰‰‰‰ÿÊÿý‹ý‹þžþŠ33333333þéý@ýEþFFFFFFFFÿÊÿfý‹ý‹þ·þ£þùþ®FF©©ÃÃ6‰‰33FFFFFFFFFF%%þlþlÿÿÿÁÿÃÃÃÃÃÃÃÃÿMÿMý@ý@ý¤ýþcþcFFFFFFFFÿÊÿfý‹ý‹þ·þ£þùþ®FFFFFFF%%ÿ‡%ïïÃÃÃÃÃþÿþ[þí‰õ'/66ÉÉþ¿ÿõ3333¾¾33%%þ[þpÿ?FFFFFþ¦ÿµþ¦ÿÎJÛïddÏÏ“ÏÓÓÓÓ¢¢??P¬€¬€Z¤ÐôÏZ!!ÐË=H ?I=;0ØØA=XBF ?I=;0ØØE1:1A8V%AG[M {_‹m *{%*/.j5'‚/hŒ:TTJ B%0J‰%  BBB¸¸¸¸BBYYBBBBBBBBBBBBq····º?QQ2BXXBBBBGB*BB*B*BBBBBBBB››››BBBBBBBBóBóóóóóóóBEEóB*BBBBBBBB%u¶²²Iÿúÿú‚‚˜XXf¦+?;;;º)}}¤¤¤¤?5»¼è»XJWXXXXXXXXXXXXXXXWXXXXXWJJXXXXXXXEXXXXXXXXVVVVWXXXXVVVVVVVVVXVVVVVVXXXXXXXXXXXXXXOOOOOOOOOPPPPXXXXéXXXVXVVVVXXXXVVVVPIr’’’’’ÏZÏZ% % Xa¸¦GX++|h}2H%%ÿì?XX%XX6¾FœFHRFFFöõ    –ÿìÿìÈÿìÿìÈÿëÿìÈÈÈÿìÿìÿìÿìÈÈÿìÿìÿìÿìÈÈÈÈÈÈÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÈÿìxxxÿìÿìÿìxxÿìÿìÿìxxÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿ“ÿ“ÿ“ÿì|ÿìÈ|ÈÿìÈÿìÈÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìÿìiÿìÿìÿìÿìEÿìiÿìÿìÿìÿìÿìiÿìÿìÛÛDDÛÛÛÛÛÛÛÛu77ÿìÿìÿìÿì7777?ÿìaa¯¯"2"Y::È;+6.oc…ÉN8/&///ŒŒ "N`yaÌ7g!!!!œ•½‘‘G®CL×54=/U28Y^CVpÞœj6”âgv€‘2 ‘1.r¢jD±7`./<KD$>K--9.7.P<<<<<<....RR–s'¼J*R*"ˆóÞ..:=4%=?D-W&W;%˜J@ƒ3@V90›~0G+%(C(#(=(.6W0$2$0174!$%2 02)!"$E=80+ÍQÝÓögÿ¾.rA1ððfnCDÒÒÍÎÉÉùStSt-IS-6SS`{{66O6ee5a}T2)‘XtSuN*u5&%287u††uXX–jV%j‰ÃL˜‰æ‹œÁÏZÏZÚ,,,,,,,,,,,,,,,TT(((Anëë‰Ã鈉Tz‰##EEÿìÿìEEÿìÿìEEÿìÿìEEÿìÿìEEÿìÿìEEÿìÿìÿ¶ÿjÿìÿìÿ¶ÿjÿìÿìXXÿìÿìXXÿìÿìXXÿìÿìXXÿìÿìÿÌÿ`ÿÌÿ` ÿƒÿìÿì ÿƒÿìÿì6ÿÕÿìÿìÿìÿìÿ|ÿìÿìDÿìD"DDÿìDÿìDÿì0ÿìVÿì²³äLZ¶ÿ|ÿìÿì LEEÿìÿìÞòEEÿìÿìEEÿìÿìXXÿìÿìXXÿìÿìXXÿìÿìèèèèÿÌÿ`ÿÌÿ`ÿ$þØÿìÿìÿ$þØÿìÿìÿþÅÿìÿìÿþÅÿìÿì ÿìÿì ÿìÿìz”ÿìÿìz”ÿìÿìÿ¶ÿjÿìÿìÿíÿìÿìÿ¡ÿìÿìC ÿìÿì‚Gÿìÿì6ÿÕÿìÿìÞòÿìÿìLZÿ|ÿ|ÿìÿìÿ–ÿ@Sÿà…_³_R%¦‹‰Åéf‰Ém‰×V‹uÅu‹/“9%œ…ÁÃ{{Ã{òºì mɾ‰jÕƒÃdLhË…ö˜‰f…‹ƒÛ?Ûy77//X»f=œ^?Eÿìÿìÿíÿj•EEEXXXÿÌÿ¶C6LÞLLLL˜Ü˜˜ ü,„ÜxÐ 8d˜ x ( è d ¸  èœà4€Ä ôØ€ €Ü,Ð(€ì¼ô´PÐD츴ø„ø  œ!!T!Œ!Ð""@"„#p$$ˆ%%À&8''p'Ø(P)L)¤*°+ +˜,,,À-P.<.°/ /¬0ø1ä2Ð3X4$4T5$5¤5¤5ô6¸7L8d989„:¨:ì<<ì=`=˜=Ä?,?X?Ð@<@ðAÀBB´CC@CPC¸DHDÀDàEE FF8F\FŒF¸FðH$HÜHôI I$I<ITIlI„I¬IÐJlJ˜J¼JàKK<KtKèLìMM4MdMœMÀN@O$O<OTOlO„OœO´QQQ4QLQdQ„QœQ´QØQøS S$S<STS|S¬SÜT8U<UTUlU”UÄUÜVpVˆV´VÌVüWW,WDW\WtWŒW¤W¼WÔWìXXXDXTYY(Y@YXYpYˆY Y¸YÐYèZZZ0ZHZ`ZxZZ¨ZÀZð[$[°\D\x\\¸\Ð\ø]](]@]X]¨^P___0_H_``\`€`´`Ì`ä`üaa,aDa¸bHb`bxbb¨bÀbØbðc€ddDdddŒd´dÌdäe|f”f¬fÄfÜfôg g$g<gTglg„gœg´gÌgägühh8hPh¸iLixi iÌiìjj<jTjlj„jœj´jÌjðkk4kLkpkˆk k¸kÐkèlldlØm˜m¨n ndnÔo`oÔp@pPp´qqlrrtssÈt txtüuXuÐvv\v¸w wTw xxLxxüyy,yyüzlzð{\{Ô|L|\|È},}h}Ä~~ ~<~¨~üT¸€€H€´ Œø‚d‚Ѓ0ƒ”ƒè„„ „d„t„Œ„¤„¼„Ô„ì……4…L…l…Œ…¬…Ì…ì† †,†D†T†t†Œ†¬†Ä†Ü†ô‡ ‡$‡<‡T‡l‡„‡œ‡´‡Ì‡ä‡üˆˆ,ˆˆ¨ˆÀˆØˆð‰‰ ‰8‰P‰h‰€‰˜‰°‰È‰à‰øŠŠ(Š@ŠXŠpŠˆŠ Š¸ŠÐŠè‹‹‹0‹H‹`‹x‹‹¨‹ÀŒLŒàŒøTôŽDޔެŽÄŽÜŽô,Ld|”´Ìäü`ì‘`‘À’\’ø“X“ì”x”°”ü•œ•ð–D–À—@—h—Ô˜(˜¤™4™Äšpšø›x›ìœdœÈh𞸟l ( ¨ ð¡€¡ô¢`¢Ì££`£¼¤0¤€¤´¤ä¥X¥¸¥ì¦t¦Ü§D§Ä¨$¨ˆ¨¸©$©ˆªª°ªì«(«x«¸¬ ¬L¬ˆ¬ø­h® ®L®¬®ô¯X¯œ¯à°H°¸±$±L±„±Ä±ô²<²˜³³³ì´L´¬µ µ¤¶<¶Ä·T·„·è¸ ¸@¸Ä¹4¹¤º ºì»¼@¼Ì½ˆ¾¾À¾ü¿`¿ ¿ðÀXÀ¼ÁÁTÁ”ÁÔÂ4Â ÂØÃÃ(Ã8ÃHÃXÔÃÐÄ,ĈÄäÅ@ÅpŀŰÅÀÅèÆÆÆ,ÆXÆtƄƔÇ8ǜȴÈÄÉÉTɈÊÊ<ʘʸÊÜËË,ËLË\ËlË|ËŒËœË¬ËØËèÌ<ÌlÌ|ÌÄÌÔÍ$Í4ÍPÍl͘ͰÍèÎÎ,ÎPÎl΀ΔθÎÜÎüÏ@ÏpϔϸÏäÐÐ0Ð`ÐŒÐÌÑ8ÑdÑàÑðÒ Ò0ÒxÒ¸ÒôÓHÓ|Ô\ÔˆÔ˜Ô¨Ô¸ÔÔÔìÕÕ$ÕTÕxÕ¤ÕìÖ Ö€Ö˜Ö¨Ö¼Öü××8×`×p׀טװ×Àר×ðØØ Ø8ØPØhØxØˆØ˜ØøÙÙÙ(ÙÈÙØÙèÚ@ÚPÚ`ÚÀÚÐÚàÚðÛdÛtÛ„ÜdÜtÝÝÀÝØÝðÞÞ Þ8ÞPÞhÞøßlߨàLà\àÄá4áÜâ4âDâ„â”âäã`ãpã¼äLäÀåTå´ææìçHç¤è(è@èXèpèˆè é,é°êê0êHêÐëDëäìLì°í í”í¤îîlî˜ï ïhððtð„ð”ññpñàñðòòòLò„òôóPóhó€ó˜ó°ô@ôXõõõ õDõTõ¸öö„öœö´öÌöü÷ ÷”÷¤÷Üølø|ùHùXùÄùÜùìúPú`úpú€úÄúÔúäúôû„ü`üpüÄý(ý|ýäþXþØÿLÿô¬HX$¼ô|ŒXhÔìü`è<L °ôÜì@¤ø \ Ð L ¼ p  ¬ Ä Ü @ X 0P`Äl„œ´ä<”¤´ø<p¤`¼0HˆÈ@t¨ÀØ8Hx¼ø@ˆèø 8˜üDŒôHd”¬äü 4L\l„œ´Ìäü 4Ld|´àð0H`x¨ÀØð Lx¨¸ÈØèø„ÜP¨  x ¤ ø!œ""`"€"Ü##à$<$è%<%´&&¨&ü'„'Ð(D(œ)\)´**\*ü+L, ,4,¼-D-T...<.L.”.¤/ /@/´00h0´11d11Ø2|2ð303P3Ð4`4¤4´5x5À6p6¸6ä7,7´7Ä8P8È9ˆ9ô::L:Ì;; ;@;Ä<8 >Ì? ?X?x?Ô@@t@ä@üAA,ADA\AxAA¨AÀAØAðB\BtBÈBàC$C<CüDDÈDàEDE\EÜEôF F$F<FøGTGàGøH`HàI„IœIÈJhJ”J°K@K\KàL$LhLxLŒL´LÐMMXMÔNXNÄO O\O¬P,P`P PÄPøQPQhQ€Q˜Q°QÈQàQøRR(R@RXRpRˆSS(SøTTT(T8THTÈULU´UÄUÔUäV¤W4WìX\XÜYZ$Z°[0[ \`\È],]Œ^d^ð_€``\`ðaˆb$b”cTddœeTeÔeðfPfœf´føgDg”gìh4h„hèi<iXi¸jTj€j”jÄkk|køl„làm\mØnPnœoohoÌp0pœq qhqèr8r”ss¸t t¨uu„uôvlv¼w<wÐx xŒy yÄz,z˜{{”|||ô}d}È}ü~L ˜Ð€x€¬€à$€è‚‚d‚̃ ƒ<ƒlƒÈƒø„(„h„ „À„ø…(…X… …ä†D†l†Ð‡‡„ˆˆT‰‰d‰¼ŠŠtŠè‹\‹ÐŒŒ@Œ¨T¤ÔŽŽXŽ˜ŽÜ ˆ°ÄØì|ŒÔ‘(‘|‘Ì’P’ГD“„“Ì”8”|”À”ô•$•`•¼•ð–@–`–è—P—¤˜˜@˜°™D™ðš8šœ››`›´›Üœ œXœ´h€˜°Èàøžž(žHždž|ž”ž¬žÄžÜžôŸ Ÿ$Ÿ<ŸTŸlŸ„ŸœŸ´ŸÐŸì   4 L d | ” ¬ Ä Ü ô¡ ¡$¡<¡T¡l¡„¡œ¡´¡Ì¡ä¡ü¢¢,¢D¢\¢t¢Œ¢¤¢¼¢Ô¢ì£££4£L£d£|£”£¬£Ä£Ü£ô¤ ¤,¤L¤d¤|¤”¤¬¤Ä¤Ü¤ô¥ ¥$¥<¥T¥l¥„¥œ¥´¥Ì¥è¦¦¦4¦L¦d¦|¦”¦¬¦Ä¦Ü¦ô§ §$§<§T§t§”§¬§Ä§Ü§ô¨ ¨$¨<¨T¨l¨„¨œ¨´¨Ì¨ä¨ü©©,©D©\©t©Œ©¤©¼©Ô©ìªªª4ªLªdª|ªŒª¤ª¼ªÔªì« «$«<«T«l«„«œ«´«Ì«ä«ü¬¬,¬D¬\¬t¬Œ¬¤¬¼¬Ô¬ì­­­4­L­d­|­”­¬­Ä­Ü­ô® ®$®<®T®l®„®œ®´®Ì®ä®ü¯¯,¯D¯\¯t¯Œ¯¤¯¼¯Ô¯ì°°°4°L°d°|°”°¬°Ä°Ü°ô± ±$±<±T±l±„±œ±´±Ì±ä±ü²²,²D²\²t²Œ²¤²¼²Ô²ì³³³4³L³d³|³”³¬³Ä³Ü³ô´ ´$´<´T´l´„´œ´´´Ì´ä´üµµ,µDµ\µtµŒµ¤µ¼µÔµì¶¶¶4¶L¶d¶|¶”¶¬¶Ä¶Ü¶ô· ·$·<·T·l·„·œ·´·Ì·ä·ü¸¸,¸<¸T¸d¸|¸Œ¸¤¸´¸Ì¸Ü¸ô¹¹¹,¹D¹\¹t¹Œ¹¤¹¼¹Ô¹ìººº4ºLºdº|º”º¬ºÄºÜºô» »$»<»T»l»„»œ»´»Ì»ä»ü¼¼,¼D¼\¼t¼Œ¼¤¼¼¼Ô¼ì½½½4½L½d½|½”½¬½Ä½Ü½ô¾ ¾$¾<¾T¾l¾„¾œ¾¬¾Ä¾Ô¾ä¿¿¿0¿H¿`¿x¿¿¨¿À¿Ð¿è¿øÀÀ,ÀDÀ\ÀtÀŒÀ¤À´ÀÌÀäÀüÁÁ,Á<ÁXÁpÁˆÁ Á¸ÁÐÁàÁøÂÂ(Â@ÂXÂpˆ˜°ÂÈÂØÂèÃÃÃ0ÃHÃ`ÃxÈàðÃÈÃØÃüÃüÃüÃüÃüÃüÃüÃüÃüÃüÃüÃüÄ(Ä8ÄdÄĸÄàÄøÅ4ÅpŬÅÐÆ,ƈÆèÇÇtÇøÈ8ÈTȬȬÉüË(ËHËd˄ˠ˼ËÜÌ ÌhÌ„ÍÍÍDÍtÍͬÍÈÎÎΈÎÀÏ0ϘÐÐ@ÐøÑ„Ñ´ÑÐÑøÒ,Ò`ÒÄÒØÒìÓÓÓ(Ó<ÓPÓdÓxӌӠӴÓÈÓÜÓðÔÔÔ,Ô@ÔTÔhÔ|ÔÔ¤Ô¸ÔÌÔàÔôÕhÖÖ¨Öè×P×ÐØTÙ4ÚÚ¤ÛÛÜ,ÜtÜÌÞXÞôßtààtáá¨áÜâXâÌãhã¸ää|äÀå<åôædæüç¬è`è è°èÀèÐéXéxé˜é¸éØéøêê8êXêxê˜ê¸êØêðë ëTëˆë¸ììHìxì¨ìÔííHíî8îàï(ïpï¸ðð@ð€ð¼ðøñ4ñpñ¼òDòÐó”ô\õtõÔööPöˆöÀöø÷0÷h÷ôø„øÀù(ùÐúxúœúÄúìûû<ûdûˆû¬üüTü¨üðý8ý€ýÈþþDþ¨ÿ$ÿˆÿÈHˆä@€À@€Àl¼ T è4p¬ì(d øH¨`Ð $ h ¬ ü œ ì H Œ Ð ( x È 0 d ˜ è |D¬xô |  üŒÜ$”À$8H¬ÄÜT<dŒ´( ¨€¤Èä(`° hÔ4œ ˜0È ¼!h" ##Œ#Ø$”%% %H%h%ˆ%È&&l&Ø' '`' 'ì(4))œ*(*¬*à+<+|+Ü,8,|,¼--€-è.<..ø/\/Ô0\0ü1¨1ì202´3<3x3°44€55¤6 6t6¼77l7Ø8,8|8ø9„9ì:X:°;;„<<Ì=|>H>ü?¬@”A„BDBøCHC€CàDD@DdDˆD°DàEExEÈFFTFˆFðGXGðH„HØI(ItIÀJ<JÀKdLLL(LTLŒL´LÜMMPMpMM°MÐMøN NHNpNNäNôO8O|OÔP¼PàQQ$QDQdQ¼RRLR°SW´XX@XlX°YY\YtZZ„ZœZÔ[[T[ [ì\<\Ì]]d]´^^P^œ^ì_<_T_l_„_œ_´_Ì_ä_ü``,`H```xaaàbDb„bìccc$c4cLcdc|c”c¤côdŒe8f8gh8hÜiˆjj4jljˆjÀjøkkLklkˆk¬kÐkìl l@l˜lÐlìm$m|m°mÌnnDnˆn¤nÀnÜnøo,odoœoØppPp˜päqq,qPqtq˜q¼qàrr$rHrlrr°rÐrðss<sdss¼sätt@thtt¸täuu8uhu”u¼uävv<vdvŒv¸väw w0w\wˆw°wØxx0xXxˆx¼xðy$yXyŒyÀyøz0zhz zÔ{{<{p{¤{È{ô| |L|t|œ|È|ô}(}T}€}´}à~ ~@~l~˜~Ì~ü0t¤Ø€€L€|€¼€ð `¨ì‚H‚|‚´‚䃃8ƒTƒ”ƒ°ƒÌƒè„„ „<„X„t„˜„À„ä… … …<…X…t……¬…ȅ䆆†8†T†p†Œ†¨†Ä†Ø‡Œ‰‰¼‰Ð‰äŠŠŠ(ŠDŠ\ŠxŠ”ЍŠÀŠÜŠø‹$‹x‹‹èŒDxŽŽˆ(DpŒ¸Ô‘‘ ‘P‘l‘”‘°‘Ü‘ø’$’@’l’ˆ’°’Ì’ø““<“X“„“ “È“ä” ”,”`”¤•0•„•è–à—”˜H˜€˜Ô™(™€™Øš<šŒš´šÜ›››àœ4œdœœ¼œè,pŒ¨ÀØž$žPž|ž¤žÌŸŸTŸ€Ÿ¨   L ˆ È¡¡|¡ð¢h¢à££0£X£„£ £Ì£è¤¥¥l¦ ª,¬ì­ ­|­Ì®,®´¯|°D°¨±D³x¶¶T¶Ì·@·˜¸ðºˆºÐ»»Ð¼”½,½Ä¾ˆ¿PÀÀØÄHÄÄÅÜÇ0ÊXÊÔË\ËÌÌ0Ì´ÍD΄ϨÐ@ÐÌÑtÒäÓ Ô`ÔôÖ Ö ×4×ôØtØðÙ|ÙÜÚ@ÚàÛŒÛðÜ\ÜìÝLÞÞÀß„ßôà”àÜátâ8â´ãÜææ˜ç´èÈéØëdì\ìÜí îhîøïhððPððñ´òò8óXô<ô|ôØõ<õœõìö<öÐ÷øtúlûPü`ýˆþtÿ„¤€@DtÀ´L¼t l ¬ 0 øŒD¬8T|Ü„¸Ìtð\ðœ l”Ü  "<#ø'°)X*ü+„,,.Ð0l1œ2˜3Ä4¤5(5Œ5ð646x7@848´8è9$9h9˜9ø:h;P;à<œ>?äC<C¤DhDÌE`EðF¬G,G HH€HÌI,IIèJ˜JÜK,K|KäLNDPDQ„S´UPX^_taÄb„c<de€fühPi jäk\kkÄkôl$l|l˜l´lÐlômm4mPnHnôoÈpDpÄqärÈs4s sÜttDtlt”t¼täu u4u\uÀv0v`vŒv¸väww¸wàxxXx¨xÐyy0yTy¨yüz(zTz˜zÜ{,{x{Ä||d|¸},}È~ ~h~Àh€€¤€‚ƒH„|……t…Ô††8†`†€†Ä‡‡(‡T‡€‡¨‡Ðˆˆ0ˆ`ˆ‰4‰°Š$Šxа‹$‹H‹p‹ðŒ@Œ´ŒÈŒð˜ðŽlŽŒެŽÌŽìŽü$LtœÄì<dˆ¨Ìð‘‘4‘`‘Œ‘¸‘䑸’<’€’°’à“,“ˆ“˜“À“ä””$”„”¼••€– –¨–À–Ø–ð—— —8—P—h—€—˜—°—È—à—ø˜˜(˜@˜X˜p˜ˆ˜ ˜¸˜Ð˜è™™™0™H™`™x™™¨™À™Ø™ðšš š8šPšhš€š˜š°šÈšàšø››(›@›X›p›ˆ›˜œ4œDœTœlœ„œœœ´œÄ<Lžž,žàŸŸXŸhŸxŸŸ¨Ÿ¸ŸÐŸà  $ 4 L \ t „ œ ¬ Ä Ô ì ü¡¡,¡D¡\¡t¡Œ¡¤¡¼¡Ô¡ì¢¢¢,¢`¢x¢¢¨¢À¢Ø¢ð££ £8£P£h£€£˜£°£È£à£ø¤¤ ¤¸¥ ¥¤¥¼¥Ô¥ì¦¦¦|¦”¦¬¦¼§§,§D§T¨(¨¸©X©p©ˆ© ©¸©Èª˜««¸«Ð«è¬¬¬(¬ ­­|­”­¬­Ä­Ü­ì®˜®ð¯€¯˜¯°¯È¯à¯ø°°(°@°X°p°ˆ° °°±|±è²p²€²ô³,³t³„´ ´¤µ4µLµdµ|µ”µ¤¶¶Ø·h·x¸ ¸¸À¸Ø¸ð¹¹ ¹8¹P¹h¹€¹˜¹°ººlºlºlºlºlºlºü» »»,»<»L»\»l»|»Œ»œ»¬»¼»Ì»Ü»ì»ü¼ ¼¼,¼<¼L¼\¼l¼|¼Œ¼œ¼¬¼¼¼Ì¼Ü¼ì¼ü½ ½½,½<½L½\½l½|½Œ½œ½¬½¼½Ì½Ü½ì½ü¾ ¾¾,¾<¾L¾\¾l¾|¾Œ¾œ¾¬¾¼¾Ì¾Ü¿¿€ÀÁ4Á¼Â<ÂÌÃÃ8ÃŒøÃüÄ(ĬÄØÄôÅÅ,ÅtÅœÅ´ÅØÆÆ|ÇÇ´ÈxÉ0É`É„ɼÉÜÉüÊLÊØË,ËÜËüÌÌ,ÌDÌ\ÌtÍ$Í<͜ʹÍÌÍÜ Ù +k™W_ÀB]„· â @ Ž “Ô4Ò ¾    S  b  • È ï " :R &¬ hhCopyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. DejaVu changes are in public domain DejaVu Sans MonoDejaVu Sans MonoBookBookDejaVu Sans MonoDejaVu Sans MonoDejaVu Sans MonoDejaVu Sans MonoVersion 2.33Version 2.33DejaVuSansMonoDejaVuSansMonoDejaVu fonts teamDejaVu fonts teamhttp://dejavu.sourceforge.nethttp://dejavu.sourceforge.netFonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. http://dejavu.sourceforge.net/wiki/index.php/Licensehttp://dejavu.sourceforge.net/wiki/index.php/Licenseÿ~Z Ù  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a¬£„…½–膎‹©¤ŠÚƒ“òó—ˆÃÞñžªõôö¢­ÉÇ®bcdËeÈÊÏÌÍÎéfÓÐѯgð‘ÖÔÕhëí‰jikmln oqprsutvwêxzy{}|¸¡~€ìîºýþ    ÿ øù !"#$%&'()*+ú×,-./0123456789:âã;<=>?@ABCDEFGHI°±JKLMNOPQRSûüäåTUVWXYZ[\]^_`abcdefghi»jklmæçnopqrstuvwxyz{|}~€¦‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’Øá“”•–—˜™š›œÛÜÝàÙßžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     Ÿ !"#$%&'(›)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456²³78¶·Ä9´µÅ:‚‡;«<Æ=>?@ABC¾¿DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz÷{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™Œš›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     ˜ ¨!"#$%&'š™ï()*+,¥-./’012345œ6789:;<=>?@ABCDEFGH§IJKLMNOPQRSTUVWXYZ[\]^_`ab”•cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î¹ ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ÀÁ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú sfthyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F4uni01F5uni01F6uni01F8uni01F9AEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccentuni021Auni021Buni021Cuni021Duni021Euni021Funi0220uni0221uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236dotlessjuni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240uni0241uni0243uni0244uni0245uni024Cuni024Duni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BBuni02BCuni02BDuni02BEuni02BFuni02C0uni02C1uni02C8uni02C9uni02CCuni02CDuni02D0uni02D1uni02D2uni02D3uni02D6uni02D7uni02DEuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02EEuni02F3 gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0343uni0358uni0361uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omega1uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0462uni0463uni0472uni0473uni0490uni0491uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni04A2uni04A3uni04A4uni04A5uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04BAuni04BBuni04C0uni04C1uni04C2uni04C3uni04C4uni04C7uni04C8uni04CBuni04CCuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8uni04D9uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni0510uni0511uni051Auni051Buni051Cuni051Duni0531uni0532uni0533uni0534uni0535uni0536uni0537uni0538uni0539uni053Auni053Buni053Cuni053Duni053Euni053Funi0540uni0541uni0542uni0543uni0544uni0545uni0546uni0547uni0548uni0549uni054Auni054Buni054Cuni054Duni054Euni054Funi0550uni0551uni0552uni0553uni0554uni0555uni0556uni0559uni055Auni055Buni055Cuni055Duni055Euni055Funi0561uni0562uni0563uni0564uni0565uni0566uni0567uni0568uni0569uni056Auni056Buni056Cuni056Duni056Euni056Funi0570uni0571uni0572uni0573uni0574uni0575uni0576uni0577uni0578uni0579uni057Auni057Buni057Cuni057Duni057Euni057Funi0580uni0581uni0582uni0583uni0584uni0585uni0586uni0587uni0589uni058Auni0606uni0607uni0609uni060Auni060Cuni0615uni061Buni061Funi0621uni0622uni0623uni0624uni0625uni0626uni0627uni0628uni0629uni062Auni062Buni062Cuni062Duni062Euni062Funi0630uni0631uni0632uni0633uni0634uni0635uni0636uni0637uni0638uni0639uni063Auni0640uni0641uni0642uni0643uni0644uni0645uni0646uni0647uni0648uni0649uni064Auni064Buni064Cuni064Duni064Euni064Funi0650uni0651uni0652uni0653uni0654uni0655uni065Auni0660uni0661uni0662uni0663uni0664uni0665uni0666uni0667uni0668uni0669uni066Auni066Buni066Cuni066Duni0674uni0679uni067Auni067Buni067Euni067Funi0680uni0683uni0684uni0686uni0687uni0691uni0698uni06A4uni06A9uni06AFuni06BEuni06CCuni06F0uni06F1uni06F2uni06F3uni06F4uni06F5uni06F6uni06F7uni06F8uni06F9uni0E81uni0E82uni0E84uni0E87uni0E88uni0E8Auni0E8Duni0E94uni0E95uni0E96uni0E97uni0E99uni0E9Auni0E9Buni0E9Cuni0E9Duni0E9Euni0E9Funi0EA1uni0EA2uni0EA3uni0EA5uni0EA7uni0EAAuni0EABuni0EADuni0EAEuni0EAFuni0EB0uni0EB1uni0EB2uni0EB3uni0EB4uni0EB5uni0EB6uni0EB7uni0EB8uni0EB9uni0EBBuni0EBCuni0EC8uni0EC9uni0ECAuni0ECBuni0ECCuni0ECDuni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni10F6uni10F7uni10F8uni10F9uni10FAuni10FBuni10FCuni1D02uni1D08uni1D09uni1D14uni1D16uni1D17uni1D1Duni1D1Euni1D1Funi1D2Cuni1D2Duni1D2Euni1D30uni1D31uni1D32uni1D33uni1D34uni1D35uni1D36uni1D37uni1D38uni1D39uni1D3Auni1D3Buni1D3Cuni1D3Euni1D3Funi1D40uni1D41uni1D42uni1D43uni1D44uni1D45uni1D46uni1D47uni1D48uni1D49uni1D4Auni1D4Buni1D4Cuni1D4Duni1D4Euni1D4Funi1D50uni1D51uni1D52uni1D53uni1D54uni1D55uni1D56uni1D57uni1D58uni1D59uni1D5Auni1D5Buni1D62uni1D63uni1D64uni1D65uni1D77uni1D78uni1D7Buni1D85uni1D9Buni1D9Cuni1D9Duni1D9Euni1D9Funi1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5uni1DA6uni1DA7uni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1uni1DB2uni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Buni1E9Funi1EA0uni1EA1uni1EACuni1EADuni1EB0uni1EB1uni1EB6uni1EB7uni1EB8uni1EB9uni1EBCuni1EBDuni1EC6uni1EC7uni1ECAuni1ECBuni1ECCuni1ECDuni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE8uni1EE9uni1EEAuni1EEBuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011 figuredashuni2015 underscoredbl quotereverseduni201Funi2023uni202Funi2031minuteseconduni2034uni2035uni2036uni2037 exclamdbluni203Duni203Euni2045uni2046uni2047uni2048uni2049uni204Buni205Funi2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni2090uni2091uni2092uni2093uni2094uni2095uni2096uni2097uni2098uni2099uni209Auni209Buni209Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9uni20AAdongEurouni20ADuni20AEuni20AFuni20B0uni20B1uni20B2uni20B3uni20B4uni20B5uni20B8uni20B9uni2102uni2105uni210Duni210Euni210Funi2115uni2116uni2117uni2119uni211Auni211Duni2124uni2126uni212Auni212B estimatedonethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215F arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbseuni21A9uni21AAuni21ABuni21ACuni21ADuni21AEuni21AFuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21B8uni21B9uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21DEuni21DFuni21E0uni21E1uni21E2uni21E3uni21E4uni21E5uni21E6uni21E7uni21E8uni21E9uni21EAuni21EBuni21ECuni21EDuni21EEuni21EFuni21F0uni21F1uni21F2uni21F3uni21F4uni21F5uni21F6uni21F7uni21F8uni21F9uni21FAuni21FBuni21FCuni21FDuni21FEuni21FF universaluni2201 existentialuni2204emptysetgradientelement notelementuni220Asuchthatuni220Cuni220Duni2213uni2215 asteriskmathuni2218uni2219uni221Buni221C proportional orthogonalangle logicaland logicalor intersectionunionuni222Cuni222D thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2241uni2242uni2243uni2244 congruentuni2246uni2247uni2249uni224Auni224Buni224Cuni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2258uni2259uni225Auni225Buni225Cuni225Duni225Euni225F equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Funi2290uni2291uni2292 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendiculardotmathuni22C6uni22CDuni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EFuni2300uni2301houseuni2303uni2304uni2305uni2306uni2308uni2309uni230Auni230Buni230Cuni230Duni230Euni230F revlogicalnotuni2311uni2312uni2313uni2314uni2315uni2318uni2319uni231Cuni231Duni231Euni231F integraltp integralbtuni2325uni2326uni2327uni2328uni232Buni2335uni2337uni2338uni2339uni233Auni233Buni233Cuni233Duni233Euni2341uni2342uni2343uni2344uni2347uni2348uni2349uni234Buni234Cuni234Duni2350uni2352uni2353uni2354uni2357uni2358uni2359uni235Auni235Buni235Cuni235Euni235Funi2360uni2363uni2364uni2365uni2368uni2369uni236Buni236Cuni236Duni236Euni236Funi2370uni2373uni2374uni2375uni2376uni2377uni2378uni2379uni237Auni237Duni2380uni2381uni2382uni2383uni2388uni2389uni238Auni238Buni2395uni239Buni239Cuni239Duni239Euni239Funi23A0uni23A1uni23A2uni23A3uni23A4uni23A5uni23A6uni23A7uni23A8uni23A9uni23AAuni23ABuni23ACuni23ADuni23AEuni23CEuni23CFuni2423SF100000uni2501SF110000uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250BSF010000uni250Duni250Euni250FSF030000uni2511uni2512uni2513SF020000uni2515uni2516uni2517SF040000uni2519uni251Auni251BSF080000uni251Duni251Euni251Funi2520uni2521uni2522uni2523SF090000uni2525uni2526uni2527uni2528uni2529uni252Auni252BSF060000uni252Duni252Euni252Funi2530uni2531uni2532uni2533SF070000uni2535uni2536uni2537uni2538uni2539uni253Auni253BSF050000uni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254FSF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000uni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Fupblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockltshadeshadedkshadeuni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259F filledboxH22073uni25A2uni25A3uni25A4uni25A5uni25A6uni25A7uni25A8uni25A9H18543H18551 filledrectuni25ADuni25AEuni25AFuni25B0uni25B1triagupuni25B3uni25B4uni25B5uni25B6uni25B7uni25B8uni25B9triagrtuni25BBtriagdnuni25BDuni25BEuni25BFuni25C0uni25C1uni25C2uni25C3triaglfuni25C5uni25C6uni25C7uni25C8uni25C9circleuni25CCuni25CDuni25CEH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7 invbullet invcircleuni25DAuni25DBuni25DCuni25DDuni25DEuni25DFuni25E0uni25E1uni25E2uni25E3uni25E4uni25E5 openbulletuni25E7uni25E8uni25E9uni25EAuni25EBuni25ECuni25EDuni25EEuni25EFuni25F0uni25F1uni25F2uni25F3uni25F4uni25F5uni25F6uni25F7uni25F8uni25F9uni25FAuni25FBuni25FCuni25FDuni25FEuni25FFuni2600uni2601uni2602uni2603uni2604uni2605uni2606uni2607uni2608uni2609uni260Auni260Buni260Cuni260Duni260Euni260Funi2610uni2611uni2612uni2613uni2614uni2615uni2616uni2617uni2618uni2619uni261Auni261Buni261Cuni261Duni261Euni261Funi2620uni2621uni2622uni2623uni2624uni2625uni2626uni2627uni2628uni2629uni262Auni262Buni262Cuni262Duni262Euni262Funi2638uni2639 smileface invsmilefacesununi263Duni263Euni263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647uni2648uni2649uni264Auni264Buni264Cuni264Duni264Euni264Funi2650uni2651uni2652uni2653uni2654uni2655uni2656uni2657uni2658uni2659uni265Auni265Buni265Cuni265Duni265Euni265Fspadeuni2661uni2662clubuni2664heartdiamonduni2667uni2668uni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi2670uni2671uni2672uni2673uni2674uni2675uni2676uni2677uni2678uni2679uni267Auni267Buni267Cuni267Duni267Euni267Funi2680uni2681uni2682uni2683uni2684uni2685uni2686uni2687uni2688uni2689uni268Auni268Buni2690uni2691uni2692uni2693uni2694uni2695uni2696uni2697uni2698uni2699uni269Auni269Buni269Cuni26A0uni26A1uni26B0uni26B1uni2701uni2702uni2703uni2704uni2706uni2707uni2708uni2709uni270Cuni270Duni270Euni270Funi2710uni2711uni2712uni2713uni2714uni2715uni2716uni2717uni2718uni2719uni271Auni271Buni271Cuni271Duni271Euni271Funi2720uni2721uni2722uni2723uni2724uni2725uni2726uni2727uni2729uni272Auni272Buni272Cuni272Duni272Euni272Funi2730uni2731uni2732uni2733uni2734uni2735uni2736uni2737uni2738uni2739uni273Auni273Buni273Cuni273Duni273Euni273Funi2740uni2741uni2742uni2743uni2744uni2745uni2746uni2747uni2748uni2749uni274Auni274Buni274Duni274Funi2750uni2751uni2752uni2756uni2758uni2759uni275Auni275Buni275Cuni275Duni275Euni2761uni2762uni2763uni2764uni2765uni2766uni2767uni2768uni2769uni276Auni276Buni276Cuni276Duni276Euni276Funi2770uni2771uni2772uni2773uni2774uni2775uni2794uni2798uni2799uni279Auni279Buni279Cuni279Duni279Euni279Funi27A0uni27A1uni27A2uni27A3uni27A4uni27A5uni27A6uni27A7uni27A8uni27A9uni27AAuni27ABuni27ACuni27ADuni27AEuni27AFuni27B1uni27B2uni27B3uni27B4uni27B5uni27B6uni27B7uni27B8uni27B9uni27BAuni27BBuni27BCuni27BDuni27BEuni27C5uni27C6uni27E0uni27E8uni27E9uni29EBuni29FAuni29FBuni2A2Funi2B12uni2B13uni2B14uni2B15uni2B16uni2B17uni2B18uni2B19uni2B1Auni2C64uni2C6Duni2C6Euni2C6Funi2C70uni2C75uni2C76uni2C77uni2C79uni2C7Auni2C7Cuni2C7Duni2C7Euni2C7Funi2E18uni2E22uni2E23uni2E24uni2E25uni2E2EuniA708uniA709uniA70AuniA70BuniA70CuniA70DuniA70EuniA70FuniA710uniA711uniA712uniA713uniA714uniA715uniA716uniA71BuniA71CuniA71DuniA71EuniA71FuniA722uniA723uniA724uniA725uniA726uniA727uniA789uniA78AuniA78BuniA78CuniA78DuniA78EuniA790uniA791uniF6C5uniFB52uniFB53uniFB54uniFB55uniFB56uniFB57uniFB58uniFB59uniFB5AuniFB5BuniFB5CuniFB5DuniFB5EuniFB5FuniFB60uniFB61uniFB62uniFB63uniFB64uniFB65uniFB66uniFB67uniFB68uniFB69uniFB6AuniFB6BuniFB6CuniFB6DuniFB6EuniFB6FuniFB70uniFB71uniFB72uniFB73uniFB74uniFB75uniFB76uniFB77uniFB78uniFB79uniFB7AuniFB7BuniFB7CuniFB7DuniFB7EuniFB7FuniFB80uniFB81uniFB8AuniFB8BuniFB8CuniFB8DuniFB8EuniFB8FuniFB90uniFB91uniFB92uniFB93uniFB94uniFB95uniFB9EuniFB9FuniFBAAuniFBABuniFBACuniFBADuniFBE8uniFBE9uniFBFCuniFBFDuniFBFEuniFBFFuniFE70uniFE71uniFE72uniFE73uniFE74uniFE76uniFE77uniFE78uniFE79uniFE7AuniFE7BuniFE7CuniFE7DuniFE7EuniFE7FuniFE80uniFE81uniFE82uniFE83uniFE84uniFE85uniFE86uniFE87uniFE88uniFE89uniFE8AuniFE8BuniFE8CuniFE8DuniFE8EuniFE8FuniFE90uniFE91uniFE92uniFE93uniFE94uniFE95uniFE96uniFE97uniFE98uniFE99uniFE9AuniFE9BuniFE9CuniFE9DuniFE9EuniFE9FuniFEA0uniFEA1uniFEA2uniFEA3uniFEA4uniFEA5uniFEA6uniFEA7uniFEA8uniFEA9uniFEAAuniFEABuniFEACuniFEADuniFEAEuniFEAFuniFEB0uniFEB1uniFEB2uniFEB3uniFEB4uniFEB5uniFEB6uniFEB7uniFEB8uniFEB9uniFEBAuniFEBBuniFEBCuniFEBDuniFEBEuniFEBFuniFEC0uniFEC1uniFEC2uniFEC3uniFEC4uniFEC5uniFEC6uniFEC7uniFEC8uniFEC9uniFECAuniFECBuniFECCuniFECDuniFECEuniFECFuniFED0uniFED1uniFED2uniFED3uniFED4uniFED5uniFED6uniFED7uniFED8uniFED9uniFEDAuniFEDBuniFEDCuniFEDDuniFEDEuniFEDFuniFEE0uniFEE1uniFEE2uniFEE3uniFEE4uniFEE5uniFEE6uniFEE7uniFEE8uniFEE9uniFEEAuniFEEBuniFEECuniFEEDuniFEEEuniFEEFuniFEF0uniFEF1uniFEF2uniFEF3uniFEF4uniFEF5uniFEF6uniFEF7uniFEF8uniFEF9uniFEFAuniFEFBuniFEFCuniFEFFuniFFF9uniFFFAuniFFFBuniFFFCuniFFFDu1D670u1D671u1D672u1D673u1D674u1D675u1D676u1D677u1D678u1D679u1D67Au1D67Bu1D67Cu1D67Du1D67Eu1D67Fu1D680u1D681u1D682u1D683u1D684u1D685u1D686u1D687u1D688u1D689u1D68Au1D68Bu1D68Cu1D68Du1D68Eu1D68Fu1D690u1D691u1D692u1D693u1D694u1D695u1D696u1D697u1D698u1D699u1D69Au1D69Bu1D69Cu1D69Du1D69Eu1D69Fu1D6A0u1D6A1u1D6A2u1D6A3u1D7F6u1D7F7u1D7F8u1D7F9u1D7FAu1D7FBu1D7FCu1D7FDu1D7FEu1D7FF dlLtcaron DiaeresisAcuteTildeGrave CircumflexCaron fractionslash uni0311.case uni0306.case uni0307.case uni030B.case uni030F.case thinquestion uni0304.caseunderbar underbar.wideunderbar.smalljotdiaeresis.symbols arabic_dot arabic_2dots arabic_3dots uni066E.fina uni06A1.init uni06A1.medi uni066F.fina uni06A1.finaarabic_3dots_aarabic_2dots_a arabic_4dotsarabic_gaf_bararabic_gaf_bar_a arabic_ringEng.altuni066Euni066Funi067Cuni067Duni0681uni0682uni0685uni0692uni06A1uni06B5uni06BAuni06C6uni06CEuni06D5¹€²”]A–€þþþþšþ ²ëGA% } % 2 – þþ%þ%þ@Yþþþý}üþûþú2ù»ø}÷öŒ÷þ÷ÀöõYöŒö€õô&õYõ@ô&óò/óúò/ñþðþï2îí–ìëGìþì¸ÿÑ@ÿëGêédê–édèþçæçþæåþäkãþâ»áàáúàß–ÞþÝþÜÛÜþÛÚ–ÙØÙþØ Ø×}Ö:Õ Õ:ÔþÓÒ ÓþÒ ÑþÐþÏŠÏÎÍþÌ–Ë‹%ËþÊþÉ}ÈþÇþÆþÅš ÄþÃþÂþÁþÀ À¿ ¾½»¾þ½¼]½»½€¼»%¼]¼@»%ºþ¹–¸A·þ¶A¶úµš ´þ³d²d±°¯þ®þ@ý­þ¬þ«ªþ©¨©2¨§¦§(¦¥¤-¥}¤-£þ¢þ¡þ Ÿ dŸžŸž œþ›š ›þš ™˜.™þ˜.—A—––•»–þ•”]•»•€”%”]”@“þ’þ‘%‘»%‹%AŽ Ž Œ‹%Œd‹Š‹%Љþˆþ‡þ†…†þ…„þƒþ‚B‚Sþ€x~}þ~}}|þ{zþwþvþut uu¸@Út tÀss@rþqþpþonSo–nm(nSm(lþk2jþi2húg»fþeþdþcbcþbbaþ`þ_þ^Z ^]d\È[Z [Z YþXWþVþUU2TþSþRþQ}PþONþM-MþL»K(JIJ7ICIHEHþGCGdFEF»EDCD7CBCC¸@@ BABB¸@ A@AA¸À@ @? @@¸€@ ? ? ?¸@@d>þ=-=ú<þ;(:þ9B9d818K7þ6-6þ5K404K303þ2B2þ1-10/-/. .»-,--¸€@ ,,,¸@@–+*%+þ* *%):)þ(þ'þ&%B%E$#þ""þ! -!} -KBþþþþþþBF-B-Bþ-B¸@  ¸À@   ¸€@    ¸@´  ¸@7 þ  þ þ-þ:ú-:-¸d…++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++pyzo-4.12.3/pyzo/resources/fonts/JetBrainsMono-Bold-Italic.ttf000066400000000000000000004172701421373005400242720ustar00rootroot00000000000000 DSIG°GDEFjÙ8GPOS ÙLGSUB® ê”Ù\EROS/29âÂQ¨`cmapŸ&…2 `cvt @¸ : ÈÈfpgmPÀü<ð ýgaspÙ0glyfáoö&Ä‘NheadÇ Ÿ,6hheaÿÚ‡d$hmtx9¼jþˆlocaÔ¢k!2maxp‹Hˆ namežD ¸ipost¸(|¾€­prep¦íªEðÖ R°w_<õ èÚOH¾ÚP~ùÿïÙÔÿaùÿi﬘¸ ÌrÃà ýX¼ŠXKŠX^-E €JB ¡à³ÔÿÔõ—&Ð X!XXXXXX‡X&X!XOX%XXX)X"X X XX+XX%XX%X"XXX>XXXX%XXXUX%XYX&XÿêXUXXÏX#XX,X%XÿîX XÿÿX-XXAXGX*XÿïX0XX†X%XXXX&X$XX\XXIX[X8X'XÿóX‰X¤XgXCX6X©X„XX¤XÿþX X;XªXsXÿøX+X%X&X+XXEX[XIXX[XÿùXXFXXX4XÕXû¥Xý×XûCXý›XþXù4Xþ*Xû¥XûŒXýýXýäXûŒXýÞXýÞXþ²Xþ›XûƒXû~X!XýÖXþŽXüXþÑXX¨XªXÿíX XXcXàX¢XCX0X†XÿáX«XÖX'XÑXXXìXãX›X&XX1X7XÐX&XºXØX/XX›X1X7X/X X X X X X X/X%X%X%X%X"X"X"X"X)X)X)X)X)X"X1X1X1X1XUXUXX&X&X&X&X)X)X)X)X!X!X!X!X)X)X)X)X)X X7X7X7X7X:X:XXXXXÿûXÿàXÿæXOXX X&X X&X X&X/X/X/X/X/X/X/XXX%X)X%X)X%X)X%X%X%X)X)X,X)X,X)X,XXX"X!X"X!X"X!X"XXXXX)X)X)X)X)X)XX-XX-X"X X"X X"X XUX1X7X1X7X1X7X1X7X&X*XUX:XXXXX&X*X&X*X&X*XüXãXæXäXºXØXâXXX«XœXØX€X€X>X1X«XAX>X XXUXXXX)XOXOX-XX>XOXUXAXX>X#XXªX8XÿÿX"XX XUXAX%X,XX X XAX%XEXÿÿXÿýXÿüXÿÚXÿüXÿ]XXGX8XÿîXX X&XXXÂXÃX´X X¨X¹X¾XÀX´X X­X¾XXX"XXXaXAXX!X"XÿîXXXükXû»Xû–Xû~XþXþXýÚXX)X XXX/X%XXXÿêX(X)X)X/X=XÿïXXa"XU1ÿÐÿøÿû" !ÿâÿò4ÿõ#ÿÞÿÎ\>).ÿöÿÞ$ 1:ÿÒ0 /)ÿð.$&%"" ! 111"\=ÿûÿûÿÅÿÌ .1)ùªþRþ\þ4þBþRý°þú™üIþrýýþOþ~ûôüú¸üžþ{%&ÿÿ %ÿüÿëÿñ ÿÌ./))ÕæûÆþ¡ü™þQþQûƒþþVþtþ3ýÆûlùþ}ûðþ›þXþ›þhþ_ûUü ÿØþRþRý¡û{û’ûäûðû’û’û’ù;û¶û¶û’û’û’ýëûœþû¶û¶û«û’û’þþ™û{û{û’ýêþOû†ýèûÃýöýáû¡ýÐý¸û™ýâýÊþûãýÅû’ükþlþþýÍþ=þSûÇþVüSþVü@ý¦ý¦ýîý¦ý¦ý¦ûNý¦ý¦ý¦ÿáýÓÿ÷ ù4Z( ( ÿ°- -i2ÿŠÿöÿö[¢0 V:Š€ /9OZ~¬ÆÏÿ !’7ÇÉݼÀ O\_‘…     " & 0 3 : D p t „ ¬ ½!!!"!&!.!”!™""""""""+"H"`"e%ˆ%Êàà¢à³ÿÿ 0:P[¡®ÇÐ "’7ÆÉØ»ÀQ^€     & 0 2 9 D p t € ¬ ½!!!"!&!.!!•""""""""+"H"`"d%ˆ%Êàà à°ÿÿ[ÿõ ÿÎÿâÿàÿÝÿàÿ'ýÕÿVþPýSâ­âƒáAáXâbàKá@á á àÿßÓáÂá ágàOàëàíàóàà ààßùßíßÑß|ß¼ÝÜP"8!ß„ È$R®´llvvŒ$ "&*MPQdRbOWFE9D)GIJKLNa UHc\V’*+,X-. / 0Y123Z45678STŽYuvtws™WxƒpXC_{|“ihgžzy‚…†‡Z£¤¥¦§¨lÚØ²³´µ¶^ܸ¹º»½]n•¿ÀÁšÂm¢ÃÄÅÆÇÈÉÊo–ËÌÍÎÏ]ÝÑÒÓÔÕÛÖíîÙaLbÿcUŒzø÷deJK‹VMENQRABßÞ IG  [  jkPO·Ð_`fST !"#$—˜ ¡%&'(¼)*+,¾×Ž\FHD‘ŸŒ”€Ýöåò´Þßàïíõçé뚪›­¾ž®²«³Ÿ½ ˜™©œ¬¿À¡¯Á±°º¹¸¼·»¢ÛÐÉÈ£ÏÚÄÍÊÇˤƨ¥Î¦Ì§ÖØÑÒÔÙÓÕ×ÅÃôæñµ¶áâðîóèêìf[†‡Šˆ‰‹‰Š€–ˆ‰Š‹`‚Ž eMPQdRbOWFE9D)G:;<=>?@ABCIJKLNa  !"#$%&'(UHc\V’*+,X-. / 0Y123Z45678STާ¨©«Ø¶»¿•ÀšÁ¢ÄÃÅÆÈÇÉÊ–ÌËÍÏÎÒÑÓÔ‰Cuvs€hnXWq“™ÜlÜ_ !wixymÝZYprƒ‚g£¦µjkf[ˆ‰†‡]Ö¼„„…ŠgŠ‹ˆ¥¬¤­ª¯°±®³´²¹º¸z›Œ‘ž”Ÿœ°, °UXEY °(`f ŠUX°%a¹cc#b!!°Y°C#D²C`B-°,° `f-°,#!#!-°, d³BC°C ``B±CB±%C°CTx ° #°CCad°Px²C`B°!e!°CC²B °C#B²C`B#°PXeY²C`B-°,°+°CX#!#!°CC#°PXeY d °ÀP°&Z²( CEcE°EX!°%YR[X!#!ŠX °PPX!°@Y °8PX!°8YY ± CEcEad°(PX!± CEcE °0PX!°0Y °ÀPX f ŠŠa ° PX` ° PX!° ` °6PX!°6``YYY°%° Cc°RX°K° PX!° CK°PX!°Ka¸c° Cc¸bYYdaY°+YY#°PXeYY d°C#BY-°, E °%ad °CPX°#B°#B!!Y°`-°,#!#!°+ d±bB °#B°EX± CEc± C°`Ec°*! °C Ра+±0%°&QX`PaRYX#Y!Y °@SX°+!°@Y#°PXeY-°,° C+²C`B-°,° #B# °#Ba°bf°c°`°*-° , E °Cc¸b °PX°@`Yf°c`D°`-° ,² CEB*!²C`B-° ,°C#D²C`B-° , E °+#°C°%` EŠ#a d ° PX!°°0PX° °@YY#°PXeY°%#aDD°`-° , E °+#°C°%` EŠ#a d°$PX°°@Y#°PXeY°%#aDD°`-°, °#B³ EPX!#!Y*!-°,±E°daD-°,°` °CJ°PX °#BY°CJ°RX °#BY-°, °bf°c ¸cŠ#a°C` Š` °#B#-°,KTX±dDY$° e#x-°,KQXKSX±dDY!Y$°e#x-°,±CUX±C°aB°+Y°C°%B±%B±%B°# °%PX±C`°%BŠŠ Š#a°*!#°a Š#a°*!±C`°%B°%a°*!Y°CG°CG`°b °PX°@`Yf°c °Cc¸b °PX°@`Yf°c`±#D°C°>²C`B-°,±ETX°#B E°#B° #°`B `·BBBŠ` °#B°a±+°‹+"Y-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,± +-°+,# °bf°c°`KTX# .°]!!Y-°,,# °bf°c°`KTX# .°q!!Y-°-,# °bf°c°&`KTX# .°r!!Y-° ,°+±ETX°#B E°#B° #°`B `°aµBBŠ`±+°‹+"Y-°!,± +-°",± +-°#,± +-°$,± +-°%,± +-°&,± +-°',± +-°(,± +-°),± +-°*,± +-°., <°`-°/, `°` C#°`C°%a°`°.*!-°0,°/+°/*-°1, G °Cc¸b °PX°@`Yf°c`#a8# ŠUX G °Cc¸b °PX°@`Yf°c`#a8!Y-°2,±ETX±EB°°1*±EX0Y"Y-°3,°+±ETX±EB°°1*±EX0Y"Y-°4, 5°`-°5,±EB°Ec¸b °PX°@`Yf°c°+°Cc¸b °PX°@`Yf°c°+°´D>#8±4*!-°6, < G °Cc¸b °PX°@`Yf°c`°Ca8-°7,.<-°8, < G °Cc¸b °PX°@`Yf°c`°Ca°Cc8-°9,±% . G°#B°%IŠŠG#G#a Xb!Y°#B²8*-°:,°°#B°%°%G#G#a± B° C+eŠ.# <Š8-°;,°°#B°%°% .G#G#a °#B± B° C+ °`PX °@QX³  ³&YBB# ° C Š#G#G#a#F`°C°b °PX°@`Yf°c` °+ ŠŠa °C`d#°CadPX°Ca°C`Y°%°b °PX°@`Yf°ca# °&#Fa8#° CF°%° CG#G#a` °C°b °PX°@`Yf°c`# °+#°C`°+°%a°%°b °PX°@`Yf°c°&a °%`d#°%`dPX!#!Y# °&#Fa8Y-°<,°°#B °& .G#G#a#<8-°=,°°#B ° #B F#G°+#a8-°>,°°#B°%°%G#G#a°TX. <#!°%°%G#G#a °%°%G#G#a°%°%I°%a¹cc# Xb!Yc¸b °PX°@`Yf°c`#.# <Š8#!Y-°?,°°#B ° C .G#G#a `° `f°b °PX°@`Yf°c# <Š8-°@,# .F°%F°CXPRYX +.±0+-°~,±>+°@+-°,±>+°A+-°€,±>+°B+-°,±>+°@+-°‚,±>+°A+-°ƒ,±>+°B+-°„,±?+.±0+-°…,±?+°@+-°†,±?+°A+-°‡,±?+°B+-°ˆ,±?+°@+-°‰,±?+°A+-°Š,±?+°B+-°‹,² EPX°²EX#!!YYB+°e°$Px±EX0Y-K¸ÈRX±ŽY°¹cp±B¶G3#*±B@ ZN:* *±B@ `TD2! *± B¾ÀÀÀ À@ *±B¾@@@@@ *¹D±$ˆQX°@ˆX¹dD±(ˆQX¸ˆX¹DY±'ˆQXº€@ˆcTX¹DYYYYY@ \P<,*¸ÿ…°±D³dDDmmÐ&ÿ[Ôÿ Úÿö0ÿöÿ[Ôÿ Ú&ÿûÿZÔÿ Ú&ÿûÿZÔÿ mmÐÚ&ÿ[Ôÿ Úÿö0ÿöÿ[Ôÿ CCÿÓÔÿ ÿÎÔÿ CCý¸Ôÿ ³Ôÿ 3333`²2U—ì9€ïFÅí`™ë@¯×AmªÜþ_¥ß9~÷  O { á ' ^ ® M ç 6 •  ` Ð%°ç{ C^ÁúO±ÝZ´ÿ‚Ý÷2«ÂØEk‘Ê8l¸'³%;`}¢MÌøGš·ô ›>bÍÍçþ5Q«õ0›.€Ï  7 ­ Ø!!J!"J"¼"å#ë$$"$;$°$Ú$ÿ%L%”%Ä%ò& &&&M&t&Š&²''4'—'Ç'ö(0(M(k(”) )¡)Ê)ì*'*Á*ò+$+U+ +Õ,,R,Ø-$-J-v-È-ï.. .÷/8/f//â0 0:0e0¯0ç11_1ƒ1Ñ22A2m2•2¼2ó33±4055š5Î6!6\6²6Ø77B7‚7£7Ú88l8¥9 9,9L9r9§9Ð::::Œ:Ù;&;±<=<¶==<=b=Ø>>…>°?4?ƒ?Ñ@ @@@‘@Ã@õA AîBBIBtB®BóC*CrCíDDJD™DíE”`”š•B•¢•Ù•ò–-–k–ð—,—q—½˜*˜”˜¦˜½˜×™™L™‹™¬™×™ýš$šˆš²šØšþ›?›íœÝž ž{žÜŸZŸÍ ;  » ð¡K¤¤)¤G¤a¤ ¤ì¥P¥¶¦¦w¦Ó§L§«¨¨n¨Ò©-©iªMª‰ªà«G«z«µ¬¬h¬¯­­\®®º¯!¯ô°¼±b±ë²v²é³9³´J´æµ‚µ¼¶¶P¶—¶»·(·u·â¸­¸ö¹/¹`¹•¹Øººq»i»ý¼Ž½¾?¾¸¿nÀÀÜÁ<Á½Âd¹ÂñÃÃÄÄÄRÄŸÄÝÅRÅŸÅìÆ9Æ†ÆÆüÇnÇÇ£Ç´ÇØÇíÈÈ.Ȝȧ!7Ð 1@. LgW_O+3!%!'!!r¤rþª,Y þÔYÐý021;ýÏKÐ '@$h'9}6,/0@7&_276J-þšY38;3þªÿ[&0+|K°PX@/€a?Ma?MaEMAN@-€aGM_?MaEMANY@(&!)" +336632#"&'#326776&#"#qv U<+@)(;J*:E :002C121C¥Ë_278P0‰1P9 91 ¥k-6<4ƒ3;<2‡ÿƒ?M³ 2+&&77667OV’‚ Æ `{fŒ~(Ê“¿•É(}ˆj&ÿö&0 @aGMaEN'%%" +7326776&#"#6632#".7©545F544F|p6R6p6S4Ð2:93‡2::2et9P1‡ft9Q1! VK°PX@ aFM_?M_=N@i_?M_=NY@ 43 +73#7!3!66332##"&3Å4¬$EŸþ$,  !-  !rCqþLrÁ%%$$OÚ cK°PX@_>M_=NK°1PX@_32#".7ª444G/444G}/G]76R60.G^75S5Ò3;;3,3<<33R9 9Q2þÔ3Q9 :Q1Ú‚K°PX@€>MaGM=NK°1PX@€'9}6,/0@6Ú´276J-þšY38;3þª_Ú zµLK°PX@h>M?M=NK°1PX@h32373##732677#'3267376&#"Í+B(':K+>GxQ-CY5’“0?Z[132C103C-8O0Y0O8;3dýü.I4h2-y3;Ø39:2_-3:2">V³2+7%667677&'&&'%7þ 4   þñ‰}Î|} p ÿžL*gK°PX@'rigYaQ@(€igYaQY@ '!&!'  +3233#"##732677>77&&776&## E*B) " .wwY#7J*E3$.'3;; #$#3L.B)˜)*sR(A.t"$- E8œ!% 1Ð%@"Lh©JÏH‚ñ  Ðý0µµÿ""EÐ#/@,Lg_s3Q5|424G/352E | /GZ56R50.F]Ú8N0/6;3þÖ3;8.1O8:Q1.3Q9=Ð -@*_þsÐ 32#4&#"32677#+û.H]76R6/.H]6dp~604F/354G ~„±3Q: :Q2*2P9h]'.91þÖ3<<3E"DÐ )@&_4‰sþiw6M/,5zÐ -@*LhÐ@73#&&'&5##…š` Forš] FoÐþ"*.8¼ý0Þ+7þCWÐ *@'g_á%ÿ[BÚ'5@2LaDMaEMAN%#  +".7>32#'"'32676&#"ø5S5//G]76R60 I:\M S444G/444G :Q1,3R9 9Q2þÔDb¶œÜ3;;3,3<<3LÐ2@/ Lg_áÿöBÛ,jK°PX@$r~aDMaEN@%€~aDMaENY@  ,, +".7332676&''&&7>32#6&#"ø5S8958D&(HVO ,E[6fl €3/2? RMVL /H_ 4J.*21*&8 nN.J4j[(//'FrQ/M6UqÐ!@_Ð %@"_þ’HãþFmIÎÐtþrsírÏÿö¡º @aEN$" +76632#"&×=--+=--,X-55-,66#ÿö$0,·K°PX@)€€aGM b=NK°'PX@-€€?MaGM b=N@8€€?MaGM `=M bENYY@ '%, ,"!#% +77>3237333#"&7##".26776&#"+&9I*;: wB!M17 N9*@'Ù,; *,0?*Љ1P863_þbd7-289Q<4.œ.5;3ƒ4<ÿö%Ú*²K°PXµLµLYK°PX@>MaGMbENK°PX@32!3267376&#"ø6R6.G]65S5þ¡ 36)>{3DP} 466G 8P1‹1P89O1d$8>"7'Q7==6ÿîÿ[_Ú}K°PX@g_>MaANK°1PX@g_33#"3###9,58˜˜ "4D(¡ž  ÓÓ7‚g82*(^qN$:)nKqþ¢^g ÿ[[K°PX@ aFM_?M_AN@i_?M_ANY@!% +#7!##7326732##"&766`Ý[O,CV2–.@œ !.  !.²tþ1P9t7.Ï%$$%ÿÿ@0&e´ KK°PX@€a?M =N@"€?MaGM =NY@&&%#%" +#33663236632#6&#"#56'&#"W^ 8)(- 7*2- BhA@hA @&S,11,,1KAþ\—!"þk•1 (þk-F0bK°PX@!€~a?M=N@%€~?MaGM=NY@#" +3336632#76&#"-Wu X?XR‚ 030B6&_27o`*5<=4þªÿö%0)–K°PX@#rpaGMbENK°PX@$r~aGMbEN@%€~aGMbENYY@ )( +"&73332676''&&766332#&&##"#ã\h|.%)/9 SMYO ye)Zc|)#)*3 IP\S ~j PG$ : SGNTME7 VGRWA8Ð)@&1|.-0-? /{U~`¨›-8 Q32#". T655I/654J©//G^66T50/H]66S5•d^3<<3+3<<3þÕ+2Q::Q2þÕ1R: :RÐ(@%L3243K3u  !úþGF306H0I`73Q4'FDD&Vq„»4Z40;7/0O78Mÿö?Ð00@-€~_3)3>)ŽnßÿöÐ+-@*i77.7>.7L 787M 83F422G4$5Q5,8 EE 0I`99V80=$/ ,D[I@64DD46@28.0@?1.8_2F,7+ ^E/N77M/#;-+7,F2IHÚ+-@*iaDM=N*($"  +2#766767##".7>32676&#"m8V8 NC¥Æ#  5#-F,2K`g 877O 886NÚ!>V5D‰TÏñ%+  :Q24U=!ç9CD89DD[ý„@W_O +!!mþp„q8Z": IK°PX@†h?N@…†W`PY@  +3733##7#J¯y°¯x°‚¸¸o¹¹'WAbC,@)L=76/)(IWaQ!  +77.4773>77#'.'#'7>7'.''7@#!  q %(*FG&\   c! 2U2$&%)+)wj (--HH--( o   ;@;)*'(*):@;   ÿóÿ’g>@…v +3#ã„þ„>üT‰ÿ’Ð>@…v +#3Ð~É~n¬¤ÿö­0 @aGMaEN$$$" +76632#"&6632#"&«;***;***H;***:**+O*33*(11¬*33*(11gÿ`È0*@'€aGMAN  +%#6632#"&‡³m=+,+<++-—þÉ7:+44+*44C>7V³ 2+%7%ž  þaàþÊ L €rÍ}Î|} 6–'ÿ"@gW_O +!!!!H¸þH9¸þH sit©ÿû®Ð (@%_NK°1PX@ _<N@W_OYY´ +3#78~"f Úœ¤®"Ú d¶LK°PX@_>NK°1PX@_<N@W_OYY@   +773!773€ $þ¿ $®œœœœÿþZÐzK°(PX@(  g]>‰>]>QS?‰? ¸V¶¶¶¶V¸U····U¸¸ ÿûSÕ-;U@RL i ia UAA> U7Qþ³Q¤!>!#>!ÿG=>=G•!>!#>!ÿH<>=GG=>)gK°PX@'rigYaQ@(€igYaQY@ '!&!&  +#".776##73277>33#"33´E*B) "YwwX#8I*E3$-'3;< "$#3o.B)˜SsR)@-s"%œ- E8œ!%ªÿ’¼>@…v +3#?}•}>üTsÿ’ >"@gW_O +!#3!›l›þè>sý:sÿøÿt÷ÿå ±dD@W_O +±D!! ìþq+ÿƒÖM³ 2+766776&'ÎGiA £`| MWMIe}H¿—Å)€ˆg¿h%ÿöOÚ*Ô@ !LK°PX@$€>MaGMa=NK°PX@$€3234>773#7##".26774&#"-';J+32373#7>7#'326776&#"È*A(';K*32#7#"7763266776&#"33#".%2776#"6 9UoByuJ^E.‚ ‚W  FHUn5SXFFCf?wA F>};DkK(rjþM_36¯P¯^ 1?Ch`þÅ[h_(KlSSe^cP03ÿöAÖ$.´@)( LK°PX@)raDMa=Ma=NK°PX@*€aDMa=Ma=N@(€aDM_=MaENYY@&%%.&.""+ +77667&&7>32#6&#"73#'#"&7267' A3 %9K,[\ u& kG{‹V|#Ik\UÉ5m) $²ZHc!Á9Z),Fÿ’ó>"@gW_O +!73#7!^þè›l›nsÆsÿ’G40?@<.L€~iY_O"" +7332676&''&&766?3#6&#"#77&&%€858E&(HVM gQ} MM 3/1? RLVKsY } PR¿*21*&8 nNLePP eN(//'FrQQkPPh4$„@W_O +!!FÞþ"„qÿÿÏÿ¡Ã ) @@YaQ$# #+û¥#q0@-L…†W`P  +7!&&''3#7667û¥µ†Š°þò”ÍsÝþÙþÙÞÿÿý×ÿ’+>"GÄGýä@W_O %+ÿÿûCÿ’>#Fýv‚#FÿÄ‚GûP@baZLF ‚|{tnm>870*) LK°PX@…†_>NK°PX@…†_<N@…†WaQYY@Œ‹Š‰feTS"! "+ÿÿý›ÿ’>#Gý¨Fÿ΂w@"! B<;4.-LK°PX@…†_>NK°PX@…†_<N@…†WaQYY·&% $+ÿÿþÿ’g>#FýÚÿ°G\@>870*)LK°PX@…†_?N@…†WaQY@ HGFE"! "+ù4ÿûüÐ&M@JL€  €h _+ )–ssössössöss )*5+3ç*42*4û~ÿç.²‚K° PX@.pq  g  g _?N@,…†  g  g _?NY@ +%#7!7!7!7!7!7!73!!!!!þRfjfý–¢QýMü¦’jijm ýZMäüåQ\fWdW_W„„W_WdW!& '@$_?M_=N  +373#7!3!Å4¬$EŸrCqþLrýÖÿöÖ-NXbç@2]\SR'$ J* LK°PX@2raDMa =M  a =NK°PX@3€aDMa =M  a =N@/€aDM_ =M  a ENYY@%ZYPOYbZbOXPXMKIHB@>=;9-+)(&% +3&&77667&'&&747>32#6&#"73#'#"%7667&&7>32#6&#"#'#"&%267'!267'O7/ @6 %9K,-E,t& kG{‹V}"Jj*ýw A3 %:J,[\ u%&$1 ø|#Jj\UÙ5l) %þ5m)$\EZ7S6&?-/B)#*)",ÃiÌœ=G¼Z '?-bR#*)", þ>=Gc!Á:Z),Â9Z),ÿÿþŽÿ’€>"TÄTýä@…v %+ÿÿüzÿöFº#)û«#)ý¨)¥@aEN$$$$$# '+ÿÿþËÿöQº#)ýü)°@aEN$$$# %+ÿöNÚ3W@T€ €g  gaDM a E N33.,('%# "% +5737#737>32#6&#"3#3#32673#".77 A A A.F]73Q5|424G‘ ‘ ‘ 352E | /GZ56R5ëPFQ-3Q98N0/6;3+QFP3;8.1O8:Q1¨áÁç@YaQ&$ +>32#".­)4;? )4/ c0#J:0##0ªÿ’¼>"@gW_O +3#3#?}<}}<}>þ„´þ„ÿí(A.@+LW_O +'7667675&'&''3%667675&'&''3#¸  |„ŽÖ' |„ŽÐ‹(Ì  ÌððÌ  Ìðð (b%@"LW_O +3#'#73#Úˆ¼ |„ŽóÔ‡»  |„Î  ÊððÎ Ê(î@LW_O +3#'g‡¹  |ŽÌ  Ìðc(Ã@LW_O +#7667675&'&''3ÃØˆº  |ðÌ ÌàÐ@…v +3à¶m„Ð7þÉ¢ÑÆ@…v +#Æ·m…þÉ7CÐz#@ W_O +3#!3 m…Ÿþí·m…þÉ7þÉ0Ñg#@ W_O +3#!3Ç ·mþí„ ·þÉ7þÉÿÿ†ÿ`§—9@…AN "+ÿáÿ_—$@!_AN +%#'#·m…t·m…–þÉ7þÉ7«„Ho±dDK°.PX@YiaQ@*€€YiaQY@  +±D26773#".#"#76632ËM E3!)L E3!) Ñ6?6?Ö   ±dD@W_O +±D!!çþå k'ú.Çm±dDK°.PX@iYaQ@)€€iYaQY@  +±D%".#"#76632326773ˆ/6%  d R?/6%  d Sú#*#>FF<8620(& -!-"!#& (+ºŠ .±dD@# LW_O  +±D73#'&'&'#ºˆX]* !=Š‘‘9!:ØŠ9#±dD@W_O +±D336766773#Ø^*  =cˆ:  9‘ÿÿ,ÿö9",œI@F€WgaGMa EN210/"!   !+ÿ6”:±dD@/L……YbR(8 +±D73#"&'&'732676&#ùE'%$P;&   63= $!,= ›ÿ2w ,±dD@!…Y`P!& +±D%33#"&7667b !A Z9>+0 )K4+9#ÿÿ%ÿ2RÐ"# Ÿ6@jK°PX@!rcL gg_=@;Lg€€ i  a L g_?M_=N       %+ÿÿ!2"z™gK°PX@#aFM_?M_ =N@!i_?M_ =NY@!    %+ÿÿ&ÿö&"’)@&gaGMaEN'%%# '+ÿÿ&ÿö&"“VK°PX@ …paGMaEN@……aGMaENY@ '%%# '+ÿÿ&ÿö&"›7@4*LgaGMaEN!!!-!-'%%# '+ÿÿ&ÿöH"Œ¼K°PX@,a FMa Àn?Ð3@0g_Ànÿûÿ[#Ú,޵LK°PX@ >MaGMbEMANK°1PX@ MaDMaEN@ …†aDMaENYY@$"(( +7&7>3273#"'&#"32677 \ //G]7O5'kW 0.G^7M2-\24G)-4G'(€5E,3R9"6z3CþÔ3Q9 >y<3þû};3ûÿæÿâeN )l@ )LK° PX@…aGMaEN@ …†aGMaENY@$"&' +7&&77663273#"'732677665'&#"[ pF10k_% pK2*|%5F,!4FjC'‡et8n8Q‡ft1‘93‡ J :2‡OÚe@ LK°PX@_>M_=NK°1PX@_€€ c?MaGM  `=M aENYY@..! .>.>9764(& -!-"!#& (+ÿÿ+ÿöD¼"“ „K°PX@0…p€~aDMaEN@/……€~aDMaENY@)('& $$ !+ÿÿ,ÿö+",“„K°PX@0…p€~aGMaEN@/……€~aGMaENY@%$#"   !+ÿÿ+ÿöD»"› U@R.L€~ ga DMaEN%%%1%1)('& $$ !+ÿÿ,ÿö+",›U@R*L€~ gaGMa EN!!!-!-%$#"   !+ÿÿ+ÿöDÅ"# ‡K°!PX@0€~a BMaDMaEN@.€~ iaDMaENY@'%.+%2'2 $$ !+ÿÿ,ÿö+%",L@I€~ iaGMaEN#!*'!.#.   !+ÿÿ+ÿöD»"œ I@F€Wga DMaEN6543&% $$ !+ÿÿ=»"œ <@9g_MaGM a=NK°PX@1…€€3234>773#7##".26776&#"3#(:K+32!3267333#"&7667"76&#"ø6R6.G]65S5þ¡ 36)>{2EQ g>>%$ ¢ 466G 8P1‹1P89O1d$8>6%5&K3(3Q7==6ÿÿ%Q»"œ 5@2gg_2>6543/-'% "" !+ÿÿ%ÿöA¶" ƒK°PX@2 …r  igaDMaEN@3 …€  igaDMaENY@31/."%")% *+ÿÿ)ÿ[6"•¶LK°PX@/ … i a<:97532/-'% "" !+ÿÿ%ÿöAÅ" 3 @¶K°PX@/rga BMaDMaENK°!PX@0€ga BMaDMaEN@.€ igaDMaENYY@)'0-'4)4%")% (+ÿÿ)ÿ[3%"‡¶LK°PX@( i iaGM_AN@, i i?MaGM_ANY@42;82?4?/-'% "" !+ÿÿK»"› A@>L ghMaGM =NK°1PX@)€ g?PþÄÅ4¬$EŸÈ,  !-  !&K3(4>rCqþLrÁ%%$$ÿÿ"DÅ"2 hK°!PX@#a BM_ Lg g_ =LK°PX@9r~r  reaDMa ENK°PX@:€~r  reaDMa ENK°PX@;€~€  reaDMa EN@<€~€  €eaDMa ENYYY@IHDB:7/.! -- !+ÿÿÿ6%0"2ž3@- ; :LK°PX@8rpr  reaGMb ENK°PX@9rp€  reaGMb ENK°PX@;r~€  €eaGMb EN@<€~€  €eaGMb ENYYY@FEA?74,+ *) !+ÿÿUq»""œ 0@-g_"Z/@,…a@;iaBM¼"(“ _K°PX@!…p_Å"( * @bK°!PX@!aBM_¬ @…YaQ"" +332673#".çb#$-b jN';'¬?N&4A²Å 7K°!PX@ afN@YaQY@    +32##"&766W !,  !,Å%$$%Ù @eafN"#$"+6632#"&73276#"%K669L668J 57 6 p09900990445«$H»@@=€€YiaQ +26773#".#"#76632ËM E3!)L E3!) q6?6?œ*z¼°K° PX@_fNK° PX@W_OK°PX@_fNK°PX@W_OK°PX@_fN@W_OYYYYY@+73373œ†”i…“*’’’’ÿÿØŠ9œ@W_O$+€ÿpÿ¡@_CN +#7pob_‘‘ÿÿ€ÿpÿ¡?@_gN"+ÿÿ>Ð" gs@+@(iM_=NK°1PX@i_ÿÐ"?2@/M?M=M _CNK°1PX@%hM_=NK°PX@ ……_>M_=NK°1PX@ ……_M_=M_CNK°1PX@!_eþ" “£ÿâ@0@-…€M`=NK°1PX@#…€_MaGM =NK°1PX@(€h'9}6,/0@6|UQ44Q/276J-þšY38;3þªÿÿ>²"6¸2@/……776.#"#>32#".7732673#"&776632#&&#"c-E--N<(-E--N<(7 2Md99Y9  2Md99Y9 Ñ!MO0<<S;2<M"^+F22F+–+F22F+6Y?""?Y6–6X?##?X629B7v7B92nFä+9Bc±dD@X4L €i  igYa Q,,B@<:,9,98765/-'%  +±D%".77>32'32>776.#"32#'#732676&##9Y9  2Md99Y9  2MdÛ-E--N<(-E--N<(07x8:&'K!/10n#?X6–6Y?""?Y6–6X?#ð+F22F+–+F22F+ú^;1 / –‰‰Äªÿ[¯0&@#aGM_AN  +#73#"&766332.„JX !.  -¥ Hþ¸±%##%8ÿ[Ô0 "nK°PX@%rhaGM_AN@&€haGM_ANY@    +#"&76633266773#"33#".| .  .þ¤{^oO3B34”Ž7T6¬%##%þˆYiZÈ1,,1u9PÿÿÿÿÝ"?ÿ<ÔK°PX@&€_ >Ma?M=NK°PX@&€_ M aGM  a=NK°PX@.  €h3234>77#73733##7##".26774&#"-';J+3!###ôVY &9I+rbdNdb,]MP&?-ý0xýˆÿÿÿZ2&1@.L?MbEMAN## +33273#"&'&'#2r}7'3d7}7e07¦Ìþ¨47kXþ¨gq ˜ÿýÿùÚ -%K°PXµ Lµ LYK°PX@!gaDMa ENK°PX@+gaDMaDMa ENK°PX@)gaDM_7`F%'  ¨Ž!¨þè*//*þ¦*//*ih\Z[hPk½lÐlÿüÿöO0,5CL@I,L€ g aGM aEN--A?:8-5-5("#)%$ +%#"&766323676632#32673#"&'&'76&#"32676&#"3)D@ ) ZD)* 3(D@ Ö!gX8(* È " ó#)$FOKKORHœj$?HO$$O·####ÿÚ~ÆhK°1PX@'gg _>£#7# L # ˆ6@JM " GORHšl$?HO #l!6ùN$$Nÿ]ÿ[MÚB{K°PX@0raDMa?MbEMaAN@1€aDMa?MbEMaANY@ %2"-%7 +3267>332#"#"&7332676''&&7>36&##"##“9-8S*>P-=0K1h$+ E; "4D'KTj" ( 7F; "4D'0.=*7Rd8>1-(B//B(]YD&=+OC% C LA#9)&--&ýú^gÿü#æ'3@LJK°PX@!€j>Ma=NK°1PX@!€j323&'&&''77'37'32676&#"ù8V7 *?R.", +¥l6§n0- 1Ka 788M 887N!=U42Q:   *!L>_)_3?_*VQŒ?6Y>"ç9DD98DCG¼%´>K° PX@qW_O@†W_OYµ +!#7!YÌ'yþ­´ø‡8reÚ-5N@KL&K †W g_O...5.543210/-- +336766773#766767##'&&'&5#7!##,:P2N:7( /4(þÕd2<2rhf   fþ˜û    no   û622þÊ6ÿÿÿîÿ[_Ú.}K°PX@g_>MaANK°1PX@g_0W?WW?V/@ 9òG::GG::G&ÿ¥+€!9@6 L€~iY_O%" +&&7766773#&&#"32673#ÀMM lU}EP}8-6D540C}lM}nQUmVWcH&/7309-(MaW?Ð-nK°PX@'rga>4>?3>4>?3´¸éý!@ L\M`]N +37665#7733!¾t  FRg*j þÕù˜ 2V9þüA ¸Ñ.@+L€a`M_]N"&) +676633!77676&#"#6632É54P  h þö ‘8#N S;:>—!>& APK"3?;¨³Ïý#¢@ LK° PX@#rp_\MbaNK°PX@$€p_\MbaN@%€~_\MbaNYY@ ## +"&7332676&##?##73%;BN! a [ ã ; ,-P³;.@8;B)6*2:¹³ç -@*a`MaaN   +"326776&"&776632`(  & I?= U??= U¿%A%'A%þôI>A>II>A>I¾¸Ëý JK°PX@rh\M]N@€h\M]NY· +373#7#773] N M ª™VFIÇ@^§ÿÿ¹ÿÎç}þ-@*aTMaUN  !+ÿÿ´ÿÓé zþ@!@ LPM`QN %+ÿÿ ÿÓÑ{þ.@+L€aTM_QN"&* &+ÿÿ¨ÿÎÏ|þ¢@ LK° PX@#rp_PMbUNK°PX@$€p_PMbUN@%€~_PMbUNYY@ $$ !+¾ÿÓË JK°PX@rhPMQN@€hPMQNY· +%373#7#773] N M ª™VaIÇ@^§IÐ@54P  h þöŠA˜ 2W8þüý0PK"3?;0!>& AÿÿMÐ"„#|ÿjÿÓƒ‚-¶±dD@ #LK° PX@Drp   €  p  qg  j W `  PK°PX@E€p   €  p  qg  j W `  PK°PX@F€p   €  ~  qg  j W `  PK°PX@E€p   €  ~  †g  j W `  P@F€~   €  ~  †g  j W `  PYYYY@4310/.-,+* (( #+±DÿûWÕ!/=AO]d@a> A? @ L  ii  a "T D)@$@!…†W`P %+Aÿ’3>7@4…† g_?N +%##737#7333#3W0}0™˜˜˜,},£££¾þÔ,s‚tþét‚sÿÿ_&Ê'@$Lh?M=N '+ÿÿ!?"z ?@<…aMaANK°1PX@_8}W&e5:m\þ½-J5w0+.0980þ¤&ÿ[SÆ)R·"LK°1PX@73##73267&&'47#p¢k9pk-CX2FL-9„JÆþj%+6ký^-J5w0+Î%5þ/ükÿˆI4 -@*…v   +3!3!3ük”~•O•}•ý˜•}•x¬üT¬üT¬üTÿÿû»ÿ’ï>#GûÈ#Gý¨Gˆ"@W_O '+û–ÿöïÖ.Ow‹•@W3†…|{(%tK+LK°PX@; r a DMa =Ma =NK°PX@< € a DMa =Ma =N@6 € a DM_ =Ma ENYY@5Œƒ‚yxŒ••‚‹ƒ‹xywusrkigfdbNLJICA?><:.,*)'& +3&&77667&&'&&747>32#6&#"73#'#"%7667&&7>32#6&#"#'#"&&&77667&'&&747>32#6&#"#'#"%267'!267'!267'70 @6 %9K+-F,t% kG{‹V}"Jj*ûg A3 %:J,[\ t% ù}"Jk\Uy7/ @6 %:J,[\ t%&$2 ø}"Jj*þ26m)$65l) $55m)$\EZ7S6&?-/B)#*)",ÃiÌœ=G¼Z=GcY\EZ6T 5'?-bR#*)",þ>=GgÂ9Z),Á:Z),!Â9Z),û~f.. &@#gc_?N +%!!!!!!ûŒhù˜Hh ù—hù˜½WÈW_WþZï:WK°PX@† h?N@"…†W` PY@ +373!733##7!#7#þ#²yuy³²yþ‹y³¹¹¹¹o¸¸¸¸þÿ„%@"W_O +7!7!!þÍaÌþ3ssssýÚ#qe¶LK° PX@$pqhW_O@"…†hW_OY@  +!667675&'&'!7!'3#7!ýì\  üšEаþò”jüü   trþÙþÙsÿÿKÐ'@$hMN  &+ÿÿ%ÿöBÚ @a!Ma"N)'%#%+ÿÿ 1Ð%@"LhMN&+ÿÿEÐ/@,Lg_M_N!$!$!,'+ÿÿWÐ*@'g_MN&!$+ÿÿ+ÿöDÚ;@8€~a!Ma"N $$!+ÿÿ%QÐ)@&g_M_N'+ÿÿzÐ-@*LhMN  &+ÿÿbÐ-@*+(L_MN//%+ÿÿÿêpÐ&@LMN%+ÿÿ$ÿö%0*·K°PX@)€€a#M bNK°'PX@-€€Ma#M bN@8€€Ma#M `M b"NYY@! (& -!-"!#& (+ÿÿ%ÿö%0-C@@€ga#Ma"N  ( (%#  !+ÿÿ&ÿö&0@a#Ma"N'%%#%+ÿÿ+ÿö*0,ÿ;@8€~a#Ma"N   !+ÿÿ3ÿ[5&7.@+€jM_N"!##(+ÿÿÿïQ&6@ LMN%+ÿÿÿ[&0|K°PX@/€aMaMa"MN@-€a#M_Ma"MNY@)'" )" &+MÐ@_MN+!###‹Âr}_Ç_~Ðý0\ý¤"OÐ/@,g_M_N  (!!"+%6&##326!32## 99h$h;K·þ¼€3N2-DX3ùrÛ4<à=(t¦ ;P01Q9 ÐUÐ@LMN+313676673#66767##„oK üœrpK   ø›Ðþ'5*)ôý0Û4+þ ÿÿUqÐ"!@_MN$+1ZÐ@_MN+!#ZþÆ`}rÐtý¤ÐÿÐŒÐ0@- LhM N +33333#####|2f)-3d3,iž6f,13d3-•kwYþÁ?þÁ?þ¢þŽVþªVþªÿw7Ð #@ TM`N+3333#7!‹~`±`}`K(sþ|Ðý£]ý£ü‰ÿøÿwPÐ'@$TM`N+333333#7!kecYdec[dec1$[þDÐý‹uý‹uý‹ä‰ÿûkÐ @M`N+33333!mlc]cld^clrþÐýŒtýŒtý0ÿöHÚ-J@G €€€ga!Ma"N--$!$"$$ +>32#".7332676&##732676&#"W 0G[6op VAEC ˜w6U9};69M;:ee6H862G  0L5iYCT YIdr5J.+1:018q5-.63-ÿÿU¬"«9/@,L…iMN"")+ÿÿÿöBÛ!jK°PX@$r~a!Ma"N@%€~a!Ma"NY@! --!+ÿÿÿö%02–K°PX@#rpa#Mb"NK°PX@$r~a#Mb"N@%€~a#Mb"NYY@ *)!+ÿÿ! +@(i_M_N43(+ÿâÿöoÚ+gK°PX@ haMa"N@(hMa!MMa"NY@&$++)% +337>32#".77##"32676&Tq.R%8H((?(;%8G)(?)R4qÞ-=-=ÐþÙy)D00D)þŒ)D00D)–þ¼y+&þ€&**&€&+-Ð)@&hM_N  (#!"+%6&##32632##¦76t"t6I“,{6S5-G]7ùrÚ2<Ú:(þæ9Q23Q9ÐÿòtÐ1@.jM_N!+#332#3#%326776&##ro-;-D,(33###37#"³96 .G^7ìr}.b¬‰7p#o3H43eG2P8ý0 þà…á>43<#ÿö=Ú'H@E€€ga!Ma"N '' +".7332677#7376&#"#>32ó3O5}335EÜÜ451E } 1GX36T51.H] 6N0.491fn]094.0N68P0þË1O9ÿÞÿûPÐEK°.PX@_MaN@_MMaNY·!#+!####7327·™r}_¡>uY!DÐý0\þ”x}rƒÿÎÿtBÐ1@.S_M_N +'367667!3#7!#%# $"8Œa@'sþºs›Ož%l)#mNBýœøŒŒøöÔNk!' \|Ð"@LMN+3676673#7ãD ž†þƒƒhˆÐþÈ&&8ý0»ÿéT#+¹K°PX@"pi aMNK°PX@!…i aMNK°PX@!…†i aN@'…† jYaQYYY@)( +7".77>3732##726776&#3"Í/H/$*@R/ i /H.#+@Q/ iƒ/D#./þù/.I/D-8O0á0P9DD9P0á0O8D§?4á5@þª4?É@5>MÐTK°PX@jMN@€jMNY@ +%"&733267673#766767da*})65( 5}r}!3ÿm_ÿ-4Ný0Ò 2& '@$hMN +33373#7#X}#È"}W}"Ç"&ØØýÚÛÛÿÿ%ÿö."£™üU@R€  i ga#Ma "N!!@>:842.,!)!)&$   !+.ÿö3&DµLK°PX@MbN@MMb"NY·$#+73326733#7##".59}7,/0@7|WwU<(>'¼jþ§3891ZýÚ_274Iÿö2& %@"g_MN!#%+7&&7663!#7##337#"š92 ‚gW}eÁ---;ÆU?XbýÚ¹¹j&*¢,2&@_MN+!###qÁW}DÇD~&ýÚ²þNÿÞÿû5&EK°.PX@_MaN@_MMaNY·!#+!####73267œ™W}D¡&rY!#+ &ýÚ²Ùmqr7<$ÿö:Ú .`K°1PX@%€i_Ma"N@#€gia"NY@ #')#%"+7326776&#"32#".776632376&##©454G 445FŸBb> %.H]76S6 wZ16   HIžÐ3::3I3::3Á'JjBí2Q99Q1Idq3KXÿö-0';@8€~a#Ma"N$#! '&+"&76677676##"#66332332673#æjd naSL X(#1 |[)e` »PW -/)$6 €‚] XQHU 6>EMTN 9 $GP_& '@$LhMN+3373#'##u}#X«ÕŽgX#}&ÙÙþñþéââI&-0@-(L€_MN+336766773#66767##'&&'&'##Z’0 l—Wo/  Kh  /o&Ò   ÒýÚ),$““%-þ× ÿ[IÚ%-5ºK°!PX@._M  aM a M_NK°1PX@,  i_M  aM_N@*g  i  aM_NYY@3210-,'&"  %% +7"&77663376633#"2###7326?26776&#3"Êb^€b _Mee#b_€b [Bodw0B/0÷0060Ala„ajJJ]ja„al JJW!!b83„28î38Y82ÿÿ.ÿö3"ÄóiµLK°PX@"…aMMbN@&…aMMMb"NY@ ""$# *+:V&!@_MN+7!##: ÆE~E³ssþM³ÿÒq&6@3 LhM N +#3373373#'##7#.œ=f4-&f&'‚j‘Bi6.(f()† òòòòþõþåüüüü0)&)C@@€~g_MaN$!))$3$ +32676&##332676&##2#".7Ä&0&&,''1*4(*†»^[ L<D= {b=-D-;F"#þë&-$ %>OE2: A!!IhI_IiWþ¹RQ †þz"&Îþ2ÎýÚU ÿw6&'@$TM`N!#+73333333#7!"&=c> !IcI[IcI5$[þðOM †þz"&Îþ2Îþ2á‰V/+& #@ hMaN4!$2+7332676&##332##"&¸+-1-4)+‡9|—d\|b@aa¾&,)#%)Ii´bXWag8& )@&g_MaN4!$2+7332676&##7#7332##"&ß(*#&4&&{ˆ(wó{c^}b%ba¾&+)##)H÷r´aXWbeÿö 0%€K°PX@-€rga#Mb"N@.€€ga#Mb"NY@ %% +"&'332677#7376&#"#>32ñ`p}7-5E·¸54-E }3FU06S6.F] dW#+63d37+#,E07O1‘1O7)ÿw!&#@ TM`N!#+733333#7#"&7:{9 "jE|EK(r¾[[¼jþ–"'³þMü‰eÿðÿöN0#gK°PX@ haMa"N@(hMa#MMa"NY@##%# +3376632#"&77##"326776&Gh$S kQQM # kQQM R$h± ,$ ,$&ß>O\[PãP\\PDæÓ*$ã%**%ã$*.2&)@&jMN +7"&7733267673#766767óda}65( *}W}3šm_À»-3 ýÚn ÿýK&4@1jMaN'! +7332#"&3%26776&##>k;OP "3B&LO{WkWþÄ(<›‹µXJ4#:*VS&ýÚ]"4$v"ÿù(-.ŠK°PX@5 €€rga#Mb"N@6 €€€ga#Mb"NY@..4!$272 +66332##"&'3332676&##732676&##"D€X7^` O=Ž'=R1<[g|/&<(2&)Š…&,#$7#5 HUQH3> w%<*RI% %c"$ÿö9Ú .`K°1PX@%€i_Mb"N@#€gib"NY@ '$!'%"+7326776&#"'>33#"3676632#".7©455F 355Fc 7UpBžŸIc  @1YT .H]76T5Ð3::3I3::3¤CjI'zXK3qdI2P99P2&7™8@5… †gW_O +7#737#73733#3##KO¹í^}^N‚O¼ð[}–s‚tššt‚s–ÿÿ%Q´"ž4 8@5 ig_M_N$"$$# *+ÿÿ"DÐ)@&_M_N  &+ÿÿ"D´"Þ4ø;@8 i_M_ N$"   &+ÿÿÿõ@Ñ2@/€_Ma"N !+ÿÿ!2"™z5@2i_M_ N""$$$# )+ÿÿ ÿ[/0@-i_M_N!%%+1k9GK° PX@p_MN@…_MNY@ +73!#âx#þÆ`}rÐiÝý¤Ð1PGK° PX@p_MN@…_MNY@ +73!#Çx#þÆE}W&iÝþN&ÿÿ1Z²"­62@/……_MN  #+ÿÿÿö-"É “'ú@„K°PX@0…p€~a#Ma"N@/……€~a#Ma"NY@-,+*%$" (' !+ÿÿz²"Ÿ6@@= L ……hMN &+ÿÿ_"Ê “#ú@3@0L……hMN)+ÿÿ\|¬"¿9 8@5L…iMN #+ÿÿ3ÿ[;"¦D@A …€j aMM_N,*('""!## *+ÿƒMÐ FK° PX@qM`N@†M`NY@ +333##7#‹~`Ç`}r¢}£Ðý¤\ý0}}ÿƒ2& FK° PX@qM`N@†M`NY@ +333##7#q}EÇE}W¢}£&þN²ýÚ}}ÿûPÐ3@0jM_ N%! +#33332###7326776&##rh,+h,QR  nRƒ7€7÷#.!"Ðþíþí\QcQ\]þ£`)$a&)ÿûÿøG&%VK°PX@jMa"N@ jMMa"NY@ %#'! +337332#".77##%326776&##Sg€h1HJ /<#"7#*hf" 0&¹¹¹UEE"7''7"þóŽFÿÅÿûOÐ#jK°.PX@ i_MaN@+i_M_MaNY@" ##%%! +'3267!32#####%26776&##+)Y1-QR  nRƒccI.A*°#.!"'`:.þç\Q]Q\qþW%I:%e)$\%)÷ÿÌÿøL& 'hK°PX@ i_Ma"N@*i_Ma"Ma"NY@ ' '!%%"%" +%326776&##32#"&7###73267e! 5-5GH bGFH 2b+#2>$)<ŠN¹QDNBPPB<þ.L6g7/^ÿö0#rK°PX@,r€ga#Ma"N@-€€ga#Ma"NY@ $#"%+77>32#&&#"3#32673#"&#.G]6ao}8,5F¸·45-D}4EU0onÊ‘1O7cX#+73d36+#+E1p ÿö:Ú';@8€€ga!Ma"N$#"%+7>32#6&#"3#32673#".(1.G]63P5}425FÝÝ453C } 2FY36T5Î50P86N0.490]nf194.0N69OÚ!hK°1PX@&€hiM N@&…€hi NY@! #"% +#73733#136632#6&#"#n@ @}d e UŽ Q‹r6W~r~g73ŒsþhoÖý0ùªÿŒ«8G@D gW_ O +3#7!!!!#3!3!3›u›•þèù¬•›u›…•}•ý?•}•ÆsüT¬sý:s¬üT¬üTþRÿ‹À8$(9@6€ggW_O%!%!' +32776675&&776&##73233#"##3#rlK  O<;7 !$l~US .ii-, oU~—}•}G8BE8œ"%s_R™))s*)Q]­üTþ\ÿŒ°8 .@+gW_O  +!!!3#þ\•“þêuD}•}t¬sý:s¬üTÿÿþ4ÿ’Ë>"K”UýÁ0@- LgW_O !+þBÿ‹°8$(A@>€g gW_O('&%$#!'!%! +7326776633#"33#"&776&#3#þBi-+ oV~mJ  O;<7 !#m}US -ˆ}•}(s))Q]sGœ9BE8œ"%s_R™)*üSþRÿŒ¦8 &@#gW_O +!!7!!3#ruþê“•þm—}•}ÆsüT¬üTý°ÿ’ > .@+…†hW_O +3!!!!#`…«ýHBæüò‹„>þ½r}sþùþCZ'@$ J Iv +%7%!%7%þi  þdÝþÒ$æ  þcÝþÒ$R rË‚Ê{~ rË‚Ê{~ú™ÿ° îh@  LK°PX@€~ „>N@……… vY@ +3#72#3!3ú­}„}ýñl  xVþ< „}ƒýÔƒ}ƒŽ`üÂ`6 öõ þa>üÂ>üÂüIÿ® î=¶ LK°PX@†>N@ …vY@  +73#3üI}„}þa  oWþF O„}ƒ~büÀ• ñ%ó þd>üÂþrÿ®ƒî7· LK°PX@ †>N@ …vY@  +#7ƒ„}ýð€þF   oîüÀ`~b‘ó   ñýýCüZ!@JI…v +7%637"'&&'%%7%6637"'&&'%þRœþ#.")  þûþ#.& þûZË‚Ê} sË‚Ê} ÿÿþPÿ’Ñ>#þ.cÞ/@, LgW_O !+þ~ÿöÆÐ $0<åK°PX@;ri_=<;:!%%$$$" +%6632#"&6632#"&32##"&7667%667677&'&&'%'#732676&##732ûú:**+;***C;***:**+ê .  -#¢þ"3   þð®{^oO3C34•6T6O*33*(11¬*33*(11þÔ%#$%×Í}Î|} ZhZÈ1,,1u9Pÿÿü-¥g#Iý07#Lÿ~ Iûo7@B@?  igYga Q751/+)#$$$# *+ú¸ÿ°.î^¶LK°PX@€~„>N@………vY@ +3#7%6637"'%33#þ¡}ý}•Å"$þ‡ýdƒ}ƒþS}„}îþ ~þ —ö  ùýL>üÂ>üÂüžÿ®cî@@  LK°PX@†>N@ …vY@  +3#667677&'&&'%3þ×}ý}N   þ‘Vý¶ƒ}ƒîþž~þ ‡  óýá”>üÂþ{ÿ®‹î/·LK°PX@ †>N@ …vY´ +3#%667677&'&&'þÿ}ý}ëV¹   îþž~þ µýáñ  %ÿöBÚ%/@,%LaDMaEN"   +".7>326&#"32677ø5S5//G]76R60.G^Ž534G"534G" :Q1,3R9 9Q2þÔ3Q9 29<3ÙW19;3Ø&ÿö40%R@OL€~€~iYaQ %%"% +77>32373#7##".26776&#"-';K*323#726776&#"3‘$$/G^66T5%4!&’Ó 1%444G%!!s?6æ2Q::Q2æ6?s´5*ë3<<3ë*5´%ÿö.Ú -1@.…€iYaQ''%"+6&#"3267#".77663234'&&''3˜356F 366E|/G]76S5 {\/3   ‚¦X0& 4<<5D3;;31O9 :P1EjqA$”g6ŠOÿüÐ$@! L…W_O+3!733&4547#©Bþ„ý% Ðý”ddµ$$ÿÿMЩ @†W_O%+ÿëÿ[\Ð/@, LgW_O4!+77!!'7![óåþúHÏþãI¥tO>trþó{þõrÿñdÚ0@-L…†W_O+733676673#¹ åþ¹˜0¶pþœ&%ý&¶  Pù!0?I@FL  iYaQ21#"971?2?+)"0#0 !! +23676632#"&'##"&7766"326776&!"32>7'&Ê4B  4'== ,9!4A  3'=> \3%  ,& þê& &  ù30K?E3%30K?E=MKF0"E""E"G/ÿÌÿ[‚Ú(@%gW_O!'!+#"##73267>3‚w-9M-CX2qw-9L-DX2Úw0+þ-J5w0+å-I5ÿÿ/i6+"ŽdŽÿop@m€€  €  €i  i  i  Y a  Q541/,*'&#!88 !+/6Ð#@L…v+3#%'&&'&'#3676677?ÙªtÔªz‡4   j 7   h˜8þÈ`þÈ6Z•!!•P• !•)ÿö=Ú -K@H#L€igYaQ)'"!  +".77>32!32673!7&'&&#"ø6R4 " 3J^66S4 þ„) 2&32326767#".77766776&#")m&#6F('<&%8I*5  TG.*A*Fë-?"$'í'?--?'*'J?2^# ? .B).ÀM0*""½ÿÿIЄ@…v#+ÿÿÏ䡨 )î@@YaQ$##+ÿÿç@«  ±dD@W_O #+±DIÔ@ JW_O+7!!%7%*¿þA™   þ`àþÊ ssÊ €rÍ}Î}| *Ó@JW_O+7!!7%667677&'&&'%7*Àþ@þ!4   þðss}Î|} pÿÿûÆWA"F#FýÏ FûŸ[@XaFbZL¦¥žŠ‚t LÆÀ¿¸²±|{nm>870*)IWiaQª©˜—feTS"! "+ÿÿþœÿö]0#IýøI°'@$aGMaEN$$$$$$$# )+ÿÿü”ÿö 0#Iûð#Iý¨Iÿ`2@/ a GMa ENGEA?;9$$$$$$$$# *+ÿÿþL-³g#Iý¨7œ1@.*)#LiYaQ$$$# %+ÿÿþL-«g#Iý¨7Kÿt2@/$"! LiYaQ$$$# %+ûƒÿû$Ð #C@@g g  _ÎVµ2+%667677&'&&'%'%%þŽ   =   þðþÄ Hä£þþ]G‚€ ‚9ÎÎ}ÍÍýÆ;Ð+/37¶K°(PX@6   g 4400,,474765030321,/,/.-+*)('&%$#"!  +37#73733733733733#3##7##7##7##7#%7#!7#!7#ýÒa>_ p=\=Š=\=Ú=\=Š=\=O `?_ o>\>Š>[>Û>\>Š>[>Q‰>Ú?À?Š?þn?Š? ¸V¶¶¶¶¶¶¶¶V¸U········U¸¸¸¸¸¸ûl<Ð;?CGKOøK°(PX@E-',%+#*!) (  g=;;:9876543210/.-,+*)('&%$#"! . +%#7##7##7##7##7##7#737#73733733733733733733#3%7#!7#!7#!7#!7#r=[=Š=\=ù=[<Š<\=ù=[<Š<\=Q a?`o=[=Š=\=ù=[=Š=\=ù=\=‰=\=Q`?_þn?ù?þ¿?ù?Þ?Š?þP?Š?þ?‰?´´´´´´´´´´´´´VºV¶¶¶¶¶¶¶¶¶¶¶¶VºVVººººººººººù<Ð g(K°(PX@P+ 7 54 *(&$" g20.=<;:9876543210/.-,+*)('&%$#"!      9 +37#7!!7#%!77#%!737#3!73373!733733#3##7##7!#7##7!#7##7!#7##7#737#7373373!733ùÝŠ?Šª>þþ?è?Š?%?>§?Š?%?>Š?Šü\\=>[=Š=\=>\>Š=\=Q`?_n=[<‰=\=þý=[<‰=\=þý=[<‰=\=þý=[<‰=\=Q a>_ o>[=Š=\=>[=Š ººººººººººººººººº ¶¶¶¶¶¶¶¶¶VºV´´´´´´´´´´´´´´´´VºV¶¶¶¶¶¶ÿÿþwÿöÂÐ"N¢)ý¨ÃK°PX@1ri_5!66332##"&þ7T6z^nO3B34”.* øýƤÆüY-  .  Ð9P1ZhZÈ1,,1þ­ $sö  sþn%%#$ÿÿþ—ÿöQÐ")°NþÁK°PX@1ri_:87654-*$1&1   !+ÿÿþ_ÿ`x0#JýøJ°;@8 €aGMAN  "+ûUÿ’ > 4@1…†hW_O  +3!!!!ûUð„©éúìEDú’‰n¬þÀsƒrþüü ÿ’ '@  L…v +7%667677&'&&'%'3#7%&&'&'767667%ý»   þ’Ñ}}ý€þ‘   ¼îþ›~þ ó   ø¥ü†\þ›~þŸ‡ô   ÷ ÿØÿ[gÙ0]y‹‘—£¯³·zK° PX@"—–•‘Œ$ ; -*L’ JK° PX@"—–•‘Œ$ ; -*L’ J@"—–•‘Œ$ ; -*L’ JYYK° PX@]  € r rq  g j i  gj a fNK° PX@\ r rq g  i j i  gj a fNK° PX@V r rq  g j i  gj a fNK°PX@]  € r rq  g j i  gj a fNK°PX@^  € r  €q  g j i  gj a fNK°$PX@_  €  €  €q  g j i  gj a fN@^  €  €  €†  g j i  gj a fNYYYYYY@>´´°°™˜_^´·´·¶µ°³°³²±®¬¨¦Ÿ˜£™£”“މ‡€~mk^y_y\ZVUQO&5"%+#5&&5467&'&67632632&7632#5#"3267672>54&#"#"&54634.#"2"##"'"&#.554632>554&#"%7#%#'2#"&5464632#"&53%#5ú&cq(- BooB .(qc&ï8P0  CmN*D94?@’!.9D4?" "?  þ݃@BŽ@B1þ×F9þÊ9&,ˆf?T &!T>gˆ,&6$8& 7P4;G9/. "3'GêcQ´62((26´Qcþ˜ *))* ´9DD9T`ýè¥.¡ýè¥.Aý|277777ÿÿþP–'ÿ#€ý¨ÿìL,@)gWi_O&% '+ÿÿþPÈýÎ"D€ý¨ÿç"@YgaQ&% %+ý¡ÿvöÿç@W_O +!!ý³Cû¼qû{3™5@2…h g=N +%#7!7!7!7!73!!!þ„y}yýtÖiüÖu|}|ý(i,–––s‚tššt‚sû’#Hq.@+LWh_O# +3!73#'!#üŸ”Ë„Ø”Ì    ˆŠûsˆ‰³qÝíÝ  ÞîÞ'ûäAïS!3 ·-* 2+%7%%7%%7%üH þcÜþÒ ÿ þcÜþÒ   þbÜþÒ K  ~qÈ‚Èz|  ~qÈ‚Èz| ~qÈ‚Èz|ûðAûR#4 ·'$2+7%667677&'&&'%%7%667677&'&&'%%7%667677&'&'%üDþ#-   þúþ$-   þûþ#-  þúRÈ‚Çyy }rÈ‚Çyy }rÈ‚Çyy  }û’#Hq'9@6' LWhg_O +3!73#'!#!'7!û’ ”i‚h”Ì    ˆŠEûtF‰2 ';û} J'rrÝ  Þss% AA û’#òq&8@5 LWhg_O +3!!!!#3#üÝ”iÜûË >üFŠþ ”Ë   ˆ‰J'rt  ss''Ý  Þû’#òqdµ LK° PX@$pqhW_O@"…†hW_OY@  +3!!!!#û’ ”i(ú  ŠúÏF‰J'rt  ssù;#q #u@  LK° PX@'pqhW_O@%…†hW_OY@## +3!'3#7!#7!667675&'&'úI“k²Gаþò”mùNH‰³Î ]  quuþÙþÙvv'A    û¶#qe¶LK° PX@$pqhW_O@"…†hW_OY@  +3#7!7!7667677&'&''!7!ÜŠ°þò”júØ   úv3qþÙþÙss   tû¶#q':@7%LWhg_O +!667675&'&&'!7!'3#7!%667675&'&&''3#ûÈ=  û¸ðEаþñ“jü‹  †Š°þò”   trþÙþÙsk  ÝþÙþÙû’#q&:@7&LWhg_O +667675&'&&''3!'3#7!#%!667675&'&'!ü^  †ŠDZEаþò”jû°i“fP  û¥'  ÝrrþÙþÙssæ  Aû’#òq):@7'LWgg_O +667677&'&&''3!!!!#'667675&'&&''3#ý   …ŠDèüo';üi”v  †Š°þò“  ÝrtAAssÞ  ÝþÙþÙû’#òq$5@2#LWg_O$$ +667677&'&&''3!!#!7667675&'&&''3ý   …ŠŸübÚ”þ¾Ì  †Š°þò  ÝísîÞ  ÝþÙþÙýë#òq.@+LWg_O +%7667675&'&&''3!!ýëÌ  …ŠˆýyÛ#Þ  Ýísîûœ> V3EVÂK°PX@UMD LTSJCBI@UM D LTSJCBIYK°PX@/€   € i YaQ@6€  €   € i YaQY@;:33##%#%### +7663232>32326773#".#"#".#"#%77%67677&'&&'%7ý V=+2"&-=.)c U>(&.=..0þÖ   þmv+   þþ“+9F#+##+#$+9F#*##*##Pz€ €rÍ}þ¶y€ pÍ}þ#Hq.@+ LWg_O +7!73#'þ¼Ø”Ì    ˆŠsíÝ  Þîû¶#Hq$.@+ LWg_O +!73#'!%3#ûÈÇÙ”Ì   ˆŠü9ñ ”Ì    ˆŠ„íÝ  Þî9'Ý  Þû¶#Hq)A@>!LWgg_O)( +%7!'7!7!73#'73#û¶¹';üHh”Ì   ˆŠFà ”Ì    ˆŠ–sAAtrÝ  Þs´'Ý  Þû«þ„ ,@)W_O  +7!%!!%!!ÖüÖþ*ýÞÖþ*ssssssû’#-q.@+L…†W`P# +3!73#7!#üŸ”Ë3%}]}&úȉ³qÝíý²îÞ'û’#-q jµLK° PX@&pqhW_O@$…†hW_OY@  +3!73#7!#!7!û’ ”iÔ}]}û#F‰2 6úÓ J'rrý²ss% ‚ þXÚPµ LK°PX@ >M=NK°1PX@ M=NK°1PX@ 3232>3232>32326773#".#"#".#"#".#"#".###û’ ”¹%,<.+2"&/=.+3#'/>...d U>+0(/>..3!&.=..2!%,;..0 ˆ‰J'Ê #"#+##+##+##+##+##+#$+9F#*##*##*##*##*##*##*# Þýê#qAK°PXµ?Lµ?LYK°PX@1…€  † jYa Q@7…€€  † jYa QY@A@;964##%#%#6 +332>3232>32326773#".#"#".#"#ýê ”Ë  &,<.('.>.'c V>+/'.>..1  $+ƒ‰J'Ý  & #+#$+9F#*##*##*#×þOæÂ³3>@;€  €i YaQ32###%###$ +>3232>32326773#".#"#".#"#þU)5+2!'-=..0d)5,2!&.=..0c1/##+##+##+#$+0##*##*##*##û†#q]©@ ), LK°PX@8 r † W   i Y b   R@9  € † W   i Y b   RY@\ZWURPMKHFCA><97.-####### +7332>3232>3232>3232>7'3#7667675''#"#".#"#".#"#".#"#"&ûc#*9..3!)1=,.2!(0<,.1#&0!zаþò”Í $$,;..0&/=..2!'/>..3"&-;+>?e+$#+##+##+##+##+##+#$#ÈþÙþÙÞ "("#*##*##*##*##*##*#Fýè#q=áK°PX@ $' L@ ' L$KYK°PX@0…r † j Y b   RK°PX@1…€ † j Y b   R@7…€€ † j Y b   RYY@<:7520%##### +7332>3232>32335&'&&''3#7.#"#".#"#"&ýñc")9..1 (0=+.2  †Š°þò”Ç &/=..2 &,:,=?e+$#+##+##+# &  ÝþÙþÙØ #*##*##*#FûÃÿ’ã4OM@JNM0.L€~iY_OOO)) +7%667637&'&&'%&&#"#77&'%7%#32676''&&766?¨ &U7éþ<   þ9^)3B&*MXN wZ } bNþÄþæ   ‚)e2:O XHZO hQ 4P!þö}Òy…Ò-'!2pSOkPP %ä}Òx„ «4*JnQKbPýöÿ’4@D@A#87L€~iY_O"( +%#32676&''&&766?3#6&#"#77&&'%þ Äþæ  )f29O',HZO hQ } NP5-3A&+LXO xZ } /[&þˆÒx„  «4,#3nQKcPP dP).-&"2pSOkPPäýáÿ’ 4BD@A?>L€~iY_O)" +&&7332676&''&&766?37%667637&'&&'%&&#"#7þˆST 75:N'+IZN hQ } 'T8éþ<   þ‚9^*3A VLYN%:L- } gP+14,#3nQKcPP  þö}Òw„ Ò-&FpS(C4#PPû¡- g /=@:-,+ %/L…†W`P +3733##7#%%%%667677&'&&'%7ýÀß$|$ßß$|$ßþàþÊ   þa‰4   þñŸþ „ããsääwÎ|} €rÍQ} pÍ}ÎýÐ-*g 8@5 L…†W`P +3733##7#%%%ß$|$ßß$|$ßþàþÊ    þa„ããsääwÎ|}  €rÍý¸-g ?@<L…†W`P  +73733##7%667677&'&&'%7ý¸ß$|$ßß$|$¡4   þñŸþ sããsääW} pÍ}Îû™9 €Vh5@2hga.-& LYPJIB<;  IWaQ43  +%7%%77.4773>77#'.'#'7>7'".'%7%667677&'&&'%7ûô   þaáþÊ ±7\#! q%)*gg,,)  /f/ KQJ$&%)**ýþ 4   þñL €rÍ}Î|} 4j" (--ff--( "j"   Y@Y)*''*)Y@Y   *}Î|} pýâ9N€U2@//.' LOIHA;:  IWaQ32!  +%7%%77.4773>77'.'#'7>7'".'þ>  þaàþÊ ¬7\#! q%(*gg&]   .f/ KRJ$&%(+*L €rÍ}Î|}4j" (--ff--( "j"   Y@Y)*''*)Y@Y   ýÊ9 €EW0@-WVPLH?981+*IWaQ#" +77.4773>77#'.'#'7>7'".'%7%667677&'&&'%7ýÊ7\#! q%)*gg,,)  /f/ KQJ$&%)**ûþ 4   þñj" (--ff--( "j"   Y@Y)*''*)Y@Y   *}Î|} pþÿ’I>@ L…v +7%3#7þáþÊ   Ž‚þ‚> }Îy€ ÊØüTuûãÿ’Æ>'!@&#  L…v%$ +%37%667677&'&&'%#7û÷àþÊ   Š‚Z þ 7   þdþš‚?þˆÎy€ ÈÖ©þó}Íy€ Óý\wýÅÿ’ð>@ L…v +37%667677&'&&'%#I‚Yþ 7   þaþ™‚>§þñ}Íy€ Ôý[û’#q.@+ L…†W`P## +3!&&''3#7667!#û’ ”Ë†Š°þò”Íú숉J'ÝÝþÙþÙÞÞÿÿüeÿöyV#)û–#)ýNKÿB$@!! L$"JaEN$$$# %+þl$#jK°.PX@ida?N@(€id?Ma?NY@#"!   +".#"#7>32326773!!¶7^TL%)8d$8I*7^TL&)7d$8Iýžäý` ' (!$;* ' (!$;*`sþÖþ¾;@8€iYgaQ#"## +%7663232677!!#".#"þ bH4@.*' üþAG*4?/+& ëBBO+5+$t+5+!9þÖò¾v¶LK° PX@(riYgaQ@)€iYgaQY@###$ +7!732>32#76&#"#"&'þü 8?M4$7# d 9?M4+=t$+5+&5!B9!+5+ýÍA:Ú7BÕ@   LK°PX@-  ii  i   eaDNK°.PX@4  €  ii  i   eaDN@;  €  €  ii i   eaDNYY@98><8B9B76#%'##%#" +663232>32#7#"7763266776&#"#".#"#2776#"ý× ZB0F80%;9@RlJsqE_D.‚ ‚U AC8SC=DV:/D80 coG K= ?>J#*#9VeV9siþM`37¯P¯[.N@…†W_OY@  +7!3#þSŽ:}…}9sjü½fûÇÿv=î9K°PX@d>N@…W`PY¶ +!3!!ûÙs{}{túœüùqþVÿ«¯îAK°PX@†h>N@…†W`PY¶ +3!!#þÚ}9‘ýo9}îþ–sþšüSÿ«~î OK°PX@†h>N@…†W`PY@   +3!!#!3þ†}:µýK9}þR…}…îþ–tþ›Cü½þVÿ«Ãî TK°PX@†hg>N@"…†hW_OY@  +3!!!!#þÚ}&’ýn’ýn%}îït‚sëü@ÿ«~î iK°PX@ †hg>N@&… †hW_OY@    +3!!!!!3ýî„}&µýKµýK%ýÕ„}„UCït‚sëCü½ý¦ÿ‘I>9DHK°PX@G  rig g e<;:9987654321,*)' !% +%737#7373373!7>33#"33#".77!#7##7%!&##73267!7#ý¦ `@` o>Z>Œ>Z>z "8I*D3$.(3<; ##$2D*B* þI>Z>Œ>Z>\¦ #'¦K°(PX@8g  g c`n>\>Š>\>*.›l›þè.þ˜>\>Š>\>¸þÈ?æ‹>Š·U¸V¶¶¶¶$sý:s%····U¸¸¸ýîÿ’Z>#' K°(PX@7g   gc]>‰>]>Q`>^ m>]>‰>]>þå.<*>þµjˆ?‰nsÆsþܶ¶¶¶V¸U····þÛz¸¸¸ý¦ÿƒ?M%)-@LJIK°(PX@)  g`n>\>Š>\>%)¸‰`{ OV}ƒþ >\>Š>\>ªþÕ?æ‹>Š·U¸V¶¶¶¶sž"}ˆj¿fŒ~"Ÿs····U¸¸¸ý¦ÿû7Ð;?McK°PX@D  r  i g _=;;:9876543210/*'#! 4 +%737#73733733>332#732676&##"#!3##7##7%7#66332##"&ý¦`>_ o>[>‹>[>y 2GZ3%7T7(>O-nP3A3314Cþý>^ n>[>‹>[>>Š>",  !,! !¶V¸V¶¶¶¶*C08N0,J5XÆ2-,32+.¸V¶¶¶¶V¸¸Ï%%#$ý¦ÿt÷Ð!ˆK°(PX@.  g c_ n>]>‰>]>Q`=] mGüŒm‰>]>z‰=ˆ·U¸V¶¶¶¶V¸UÒqC··U¸ûNÿr>M.2Í@ & KJK°PX@1  g_ n>]>‰>]>Q`>^ mH<-'ÆŸ`z' &@+ú€n‰>]>QS>ˆ> ¸V¶¶¶¶V¸UÔ2…RÛ•É(}ˆjÛ2XE0 qE··U¸¸ý¦®Ð'37¢K°(PX@8i   g i]>‰>]>QC<++,;,+,&<+++;++,þD?‰? ¸V¶¶¶¶V¸U····@+44+*44ô,33,*44]¸¸ý¦ÿûÜÐ!%3ðK°(PX@9€  g ]>‰>]>Q_?_ o=]=‰=]=P_?^ 'Z.†.…ýÐ?‰?û 3   3  ·····U¸V¶¶¶¶V¸U2Xþ¨#¸¸Ð%%#$ÿÿý¦'Ð#Qý¨L¥K°(PX@= W  g  ig iW_O32:82?3?%$ +330>73#&&547##76632#"&726776&#"Sz" ,drz! ,c³%>**,%>**,a ' ' ÐþhG"(+%;JLEý0™I '(E@972þêè-66-è-66 ôôýÓÿö'Ú)-8˜@21!$ LK°PX@/€g gaDM  a=N@3€g gaDM=M  aENY@/..8/8#"+ +%7667&&7>32#6&#"!!#'#"&%!!267'ýá C5 &9K+-E,t&%#3 pÆþ$µT}%*Z/YWRÛþ%þŒ4l%²Z7N00N7Fd€€9239 Ú*@'L€,M.N+3'3#&&'45# $+€˜:  ™Áý&3''þÍù4üÐ*.2x@u……  €  „gg W _  O//++/2/210+.+.-,*)%$#!+37#73733733#3##7##7#%3!!#%7!7#ûi`?`o=\=‰=]=P `?_m>]>ˆ>]>RýÙ“ËOþ§‡‰Ç<úÅ?‰> ¸V¶¶¶¶V¸U····“'ÝsÞîss¸¸ZÿXÔ0@- L€fMgN+46776655#7#3Z,%‘nªªn( ›xxxðs-Xl-ªªª´%Ks4þ˜ÄþY(#:q4@1L…†W_O!:+367663!!"'&'#j¢  Jþ¶ ¢ièqÍ P  Ì' NÚ@L…v+'&&'&'##46767#5-!º Z ¹Úöiž  þþ  ži(#:q4@1L…†W_O:0+!25&'&''3#7667675#!(J   ¢ièçj¢  þ¶r  ÌþÙþÙÍ   ÿöNÐ @LI…v+753&'&53367677 º  Z  ¹þÝìiž  þþ  ži÷ÿ°#¨q7<@9/% 0$L…†W_OJZ+367663!25&'&''3#7667675#!"'&'#Pçj¢  h   ¢ièçj¢  þ˜ ¢iJ'Í   ÌþÙþÙÍ    Ì-KNl5@2L I†W_O!+#"'&'&&'&'#ÌÃ"  a=þ PlN þœ?f    ÇŸ L+l1@.LI†W_O+#546767''66767'##5+P þ;a   $ÃlþaÇ    þš>d N K+l/@,L J…W_O0+7327&'&&'77&'&&553!ŒÃ   þŸ=c Pþa™ d?þš    Çþa-KNj0@-LJ…W_O+7367667676633-P c<þŸ   ÃKŸÇ    f=þœ NÿXÔ@fMgN+!!Xý¨Ôû<iÿ[ï‰%D@A …ggW_ O % %$#"! +330.53#&&'&'#3!¥] K\€ 7ÝþÓ¥êþÛ+*1þ%+1þí.þaKê2ÿº&u%8D@A)&LiiW_O20('$"  +354>3232#!"&5467354&#"3'676654&#"n 0B&'B0 ##þ„##sÈ7--77Z 7--7 äç&?--?%ç#þN##²#çææ-77ýä   (11( ÿbÔ³2+býžÔýžýžÿŠÿbÔ @LfMgN+#býžvbý¤Ôýžýž`dÿöÿXÔ³2+XýžÔû<bÿöÿËÔ @LfMgN+3Xýžbsý£[ðbbý¢ýšÿÿ[ý„D@W_O #+¢ÑÆ@…v +#Æ·m…þÉ70Ñg#@ W_O +3#!3Ç ·mþí„ ·þÉ7þÉ ÿVNz7,@)754LJ6I…v.-"!+73&'&546767#5%'&&'&'#3676677% º   ¹""º  ¹þÞþÞµž   l  ži÷öiž  ý”  ži÷ö²dE`D1>DD R7]”#®Ñ1é  %# H .a* ˆ¹ A ] ns 4á F 0[ b‹ í Jÿ 2I \{ Tש 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoBold ItalicVersion 1.0.2;JB;JetBrainsMono-BoldItalic;2020;FLVI-614JetBrains Mono Bold ItalicVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-BoldItalicJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoBold ItalicVersion 1.0.2;JB;JetBrainsMono-BoldItalic;2020;FLVI-614JetBrains Mono Bold ItalicVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-BoldItalicJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0ÿœ-˜+QS RLO2KNJ!`$%&'()*,-./013456789:;<=DEFHIMPUVWYZ[\] ? " ^_>B GTX³A¸ð“ï# @²Ã     ׇ誩¾¿¶·´µÄÅÙÚaÛÜÝCßjxŽlØáÞào­ÉÇ®bcdËeÈÊÏÌÍÎÓÐѯgäÖÔÕh»ëæikmnqprsutvwzy{}|å~€ìºçf éî‘¡ãâ!"#$%&ýþ'()*ÿ+,-./012345678øù9:;<=>?@ABúCDEFGHIJKLMNOPQRSTûüUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ƒ|}~€‚ƒ„…†‡ˆ‰Š‹ŒދУ¢í‘’“”•–—˜«ˆ—°± ‰ê¤Œ¦†½„…–žñò󙚛œžŸ¼õôöƂ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#›Ÿ˜¨š™¥’œ§¹$%&'(”•)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžuni0000uni000Duni000Ahyphen_hyphen_greater.ligaslash_slash.ligaslash_asterisk_asterisk.ligaslash_asterisk.ligaasterisk_slash.ligaless_exclam_hyphen_hyphen.ligacolon_equal.ligahyphen_greater_greater.ligaless_less_hyphen.ligahyphen_greater.ligaless_hyphen.ligaless_equal_greater.ligaequal_equal.ligaexclam_equal.ligaless_equal.ligagreater_equal.ligaequal_colon_equal.ligaexclam_equal_equal.ligaampersand_ampersand.liga bar_bar.ligaperiod_period_period.ligaperiod_period.ligaEuro Uhungarumlaut uhungarumlautUogonekuogonekDcroatAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Hcircumflex hcircumflexItildeitildeImacronimacronIogonekiogonekNacutenacuteNcaronncaronOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteRcaronrcaronSacutesacute Scircumflex scircumflexTcaronUtildeutildeUmacronumacronUbreveubreveUringuring Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentWgravewgraveWacutewacute Wdieresis wdieresis grave.case dieresis.case macron.case acute.casecircumflex.case caron.case breve.casedotaccent.case ring.case tilde.casehungarumlaut.case caron.salt commaaccentcommaaccent.saltLdotldotuni021Buni013Buni0219uni0146uni021Auni0145uni0136uni0137uni0122lacuteuni013Cuni0157uni0156LcaronlcaronTbartbarhbarLacute napostropheuni0218uni0237uni0162uni0163uni0123Hbar Jcircumflex jcircumflextcaronuni2070uni2074uni2080uni2081uni2082uni2083uni2084 kgreenlandicibreveIbrevelongsengEngbar_bar_bar.ligaslash_slash_slash.liga"ampersand_ampersand_ampersand.ligaequal_equal_equal.ligaplus_plus.ligahyphen_hyphen.ligaequal_greater.ligauni041Duni041Euni0410uni0412uni0420uni0421uni0415uni041Auni041Cuni0425uni0430uni0435uni043Euni0441uni0443uni0445uni0440uni041Funi0411uni0418uni0422uni0413uni0416uni0426uni0429uni0428uni0417uni0419uni0405uni0455uni0456uni042Euni042Cuni042Buni042Auni042Funi042Duni041Buni0414uni0423uni0424uni0427uni043Duni0451uni0438uni044Funi043Funi043Buni0434uni0433uni043Auni043Cuni0444uni0439uni0442uni0436uni0432uni0448uni0449uni044Cuni044Auni044Duni0446uni044Euni0447uni044Buni0437uni0431uni0401uni0406uni0407uni0408uni0457uni0458uni0490uni0491uni0403uni0453uni040Cuni045Cuni040Euni045Euni040Funi045Funi040Auni045Auni0409uni0459uni0454uni0404uni045Buni0452uni040Buni0402ijIJSPC%bracketleft_bar_bar_bracketright.ligabar_braceright.ligabracketleft_bar.ligabracketleft_less.ligabraceleft_bar.ligabar_bracketright.ligaslash_equal.ligaless_less.ligaless_bar_bar_bar.ligaless_bar_bar.liga less_bar.ligagreater_greater.ligagreater_bracketright.ligacolon_question.ligacolon_question_greater.ligacolon_colon_equal.ligabar_bar_bar_greater.ligabar_bar_greater.ligabar_greater.ligazero.alta.altuni03BC estimateduni2113uni2215uni2219uni02C9asterisk_asterisk_asterisk.ligacolon_colon.ligacolon_colon_colon.ligacolon_greater.ligacolon_less.ligaequal_exclam_equal.ligaexclam_exclam.ligagreater_colon.ligaless_colon.ligaless_greater.liganumbersign_numbersign.liga%numbersign_numbersign_numbersign.liga0numbersign_numbersign_numbersign_numbersign.ligaperiod_question.ligaplus_plus_plus.ligaquestion_colon.ligaquestion_equal.ligaquestion_period.ligaquestion_question.ligasemicolon_semicolon.ligaslash_equal_equal.ligaless_bar_greater.ligauniE000period_equal.ligaperiod_hyphen.ligaunderscore_underscore.ligaequal_slash_equal.ligaless_hyphen_less.ligaless_less_less.ligagreater_greater_greater.ligaless_equal_less.ligaless_less_equal.ligaless_equal_equal.ligaless_equal_equal_greater.ligaequal_equal_greater.ligaequal_greater_greater.ligagreater_equal_greater.ligagreater_greater_equal.ligagreater_greater_hyphen.ligagreater_hyphen.ligaless_asciitilde_greater.ligahyphen_less.ligahyphen_less_less.ligaequal_less_less.ligahyphen_hyphen_hyphen.ligaless_hyphen_bar.ligaless_equal_bar.ligaslash_backslash.ligabackslash_slash.ligabar_equal_greater.ligabar_hyphen_greater.ligaless_asciitilde_asciitilde.ligaless_asciitilde.ligaasciitilde_asciitilde.liga"asciitilde_asciitilde_greater.ligaasciitilde_greater.ligaless_dollar_greater.ligaless_dollar.ligadollar_greater.ligaless_plus_greater.ligaless_plus.ligaplus_greater.ligaless_asterisk_greater.ligaless_asterisk.ligaasterisk_greater.ligaless_slash.ligaless_slash_greater.ligaslash_greater.ligaless_hyphen_greater.ligaperiod_period_less.ligaasciitilde_equal.ligaasciitilde_hyphen.ligahyphen_asciitilde.ligaasciitilde_at.ligaasciicircum_equal.ligahyphen_bar.ligaunderscore_bar_underscore.ligabar_hyphen.ligabar_bar_hyphen.ligabar_equal.ligabar_bar_equal.liganumbersign_braceleft.liganumbersign_bracketleft.ligabracketright_numbersign.liganumbersign_parenleft.liganumbersign_question.liganumbersign_underscore.liga$numbersign_underscore_parenleft.liganumbersign_colon.liganumbersign_exclam.liganumbersign_equal.ligauni2116ampersand_equal.ligauni20BDlambda"less_numbersign_hyphen_hyphen.ligauniE0A0 arrowleftarrowup arrowright arrowdown arrowbothuni2196uni2197uni2198uni2199blockuniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3uni2010minutesecond arrowupdn .ttfautohintÿÿ h  4lDFLTlatnÿÿÿÿcaltcaltzero2zero2Š  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰ŠýüN¾Pâ:ŒÞ0‚ÔD¨j¼,°  r Ä ( ˜  š ’ ä 6 ¾.ž tØH¸2Ì< òDº(¬ŒðB²"ª~îR¤öZ²"†öfúlÞP¤  l â!4!¤!ö"Z"¬"þ#P#´$$$v$È%%Š%ú&j&ú'j'Ú(J(º)*)|)à*V*Æ++ˆ+ø,h,Ø-<-”..t.ø/\/Ì00p0Â11r1â242Œ2ü3N3 44b4´5$5v5È6 6x6Ê7"7†7Ø8*8|8ø9V9j9†9x9†9”9¨9Î9ì: :$:2:F:`:n:Œ:¦:´:Â:Ö:ô;;;4;B;P;d;‚; ;²;Ô@*;â;ð<<4<&<4=ð>=þ>>,>N>b>t>Ž>¬>Ò>è? ??8?F?Z?t?š?´?È?î@ @*@8@R@p@‚@–@¨@Â@àAAA4AFATAnA‚A¤AÊAðBB,BJBpB–B´BÖBôCC4CVCtC®CÌ.@7˜7˜7˜7ˆ7ˆ7ˆ77x‹7f7fŒ"4H\7D7D7D7D727272726¶6¶7 6¢7 7 Ž6ø6ø6øŽ&:Pf|6Ò6Ò6Ò6Ò6Ò6¾6¾6¾6¾6¾6@6@6@6ª6*6*6”6”66~6~6~6h6h6h6h&:Pf|2¸2¸;¶;¶5î2¤;¢;¢5Ú5Ú5®5®5®5Æ5˜5˜;x5°5‚;b;b5š2¦;L;L5„.@;(;(D;;45($:ö.@2*2*:Ð2:À:À4Ð:°‘1ø:ž‘.@1Ø1Ø<â1È<Ò<Ò4~<‘1¦<°‘.@1.1.:,1::4,: ’0ü9ú’.@9Ú9Ú49Ê443Ú3ò’9¨3à“.@4°4°4°4 4 4 3ˆ4“4~4~”"4H\4\4\4\4\4J4J4J4J303048•34$4$–444– 0@R3ì3ì7Ò7Â3Ü7Â3Ì7²7²2´7¢–3ª7–"4H\3ˆ3ˆ7n7n3v7\7\7\2\2\7J—2H7676˜3<7"7"˜.@333ª3 3š3š1ò3Š˜2è3x˜.@3X3X2È3H2¸2¸1 2¨™3&2–™"4H\33332ò2ò2ò2ò1H1H2àš142Ì2Ì›2¸2¸2¸›$6H\p222’2’1ð2€2€2€1Þ2n2n1Þ0Ä0Ä2\œ0°2H2H1¤2424.@2R2R2R2B2B2B0Z222 2 ž"4H\1þ1þ1þ1þ1ì1ì1ì1ì001ÚŸ/î1Æ1Æ 1²1²1² .@1Þ1Þ-œ1Î-Œ-Œ/˜-| 1¬-j  0@R1Š1Š1Š1z1z1z1j1j7ˆ/41Z¡1H1H¢"4H\1&1&1&1&1111.Ü.Ü1£.È0î0î¤0Ú0Ú0Ú¤"4H\0¶0¶0¶6Ô0¤0¤6Â6Â.l.l6°¤.X0~6œ¤0j0j6ˆ¤&:Pf|6b6b2r4:4:6N2^4&4&4&-ö-ö-ö4¤-à-à3ü3ü¥-Ê23æ3æ¥5ø23Ð3Ð¥"4H\5Ò5Ò5Ò3ª5À5À3˜3˜-j-j3†¦-V5š3r¦5†5†3^¦$4DTdv5^5^365N3&3&5>35>5.32Ê52ö42,Ê2æ§4ü2Ô§.@4Ü4Ü3ð4Ì3à3à,x3Ч4ª3¾§.@4Š4Š1j4z1Z1Z,&1J§4X18§$4DTdv4242421ú4"4"0¼444443ò3ò0œ+ž3â¨3Ð3Щ"4H\3®3®3®3®3œ3œ3œ3œ+F+F3Šª+23v3v«3b3b3b«"4H\3>3>/è2R3,/Ö2@2@*Ö*Ö2.«*Â/°2«2ò/œ2«"4H\2Î2Î0¦1â2¼0”1Ð1Ð*f*f1¾¬*R0n1ª¬2‚0Z1–¬&:Pf|2\2\/ø/ø/ø2H/ä/ä/ä/ä)ð)ð)ð/Ь)Ú)Ú/º/º­)Ä/¤/¤/¤­1ò/Ž/Ž/Ž­"4H\1Ì1Ì/h/h1º/V/V/V)d)d/D®)P/0/0¯1€//¯ 0@R1\1\.ø1L.è.è1<.Ø0P(è.Ȱ1.¶° 0@R.Ð.Ð.”0è.À.„.°.t.t(„.d±.Ž.R±"4H\.l.l/¨/¨.Z/–/–/–(,(,/„±(/p/p². /\/\²"4H\-ü-ü-ü/8-ê-ê/&/&'¼'¼/³'¨-Ä/³-°-°.ì³"2BVh-Š-Š.Æ->-z.¶-j.¦.¦)$x-Z.–'V'*.‚´-4.p´&6FVfvˆ.H.H.H.8.8.8.(.(+¾..,Ü+ž..'¨-ø-ø&-èµ-Ö-Ö¶"4H\-´-´-´-´-¢-¢-¢-¢&8&8-·&$-|-|¸-h-h-h¸ 0@R-D-D*Ú-4*Ê*Ê-$*º-$%¼*ª¸-*˜¸.@,â,â*®,Ò*ž*ž%j*ޏ,°*|¸.@,,%P,€%@%@%%0¸,^%¸"2BRd-&)Ð*Â--)À-)°)°,ö) ,ö$¢)¹,Ô)~¹"4FZ,²,²)\)\, , , )J$J)8º$8,|)&º,h,h)º$6H\p,B,B(ì(ì,0(Ú(Ú(Ú,(È(È+2#È#È(¶»#´(¢(¢¼+ä(Ž(޼"4H\+À+À)\*Ô+®)J*Â*Â#X#X*°¼#D)$*œ¼+t)*ˆ¼"4H\"À"À(ì"À"®(Ú"®"®"è"è"œ¼"Ô(´"ˆ¼"t( "t½ 0@R&ð&ð'Š'z&à'z&Ð'j'j"l'Z½&®'H½.@&Ž&Ž&Ž&~&~&~"&n¾&\&\¿"4H\&:&:&Ô&Ô&(&Â&Â&Â!Â!Â&°¿!®&œ&œÀ%î&ˆ&ˆÀ"4H\&d&d%Ê&d&R%¸&R&R!R!R&@Á!>%’&,Á&%~&Â$4DTdv%ð%ð(Z(J%à(J&Â%Ð(:%À(*%À%°(( ²( Â%Ž'øÂ 0@R%l%l%l%\%\%\%L%L'¶ N%<Ã%*%*Ä"4H\%%%%$ö$ö$ö$ööö$äÅâ$Ð$ÐÆ$¼$¼$¼Æ"4H\$˜$˜$Î$˜$†$¼$†$†††$tÇr$–$`Ç$L$‚$LÈ 0@R$($^$($N$N$$>$$ #øÉ$#æÉ.@#ü#ü&0#ì& & ¸&É#Ê%þÉ.@#ª#ª&Ê#š&º&ºf&ªÉ#x&˜É 0@R#V#V#V#F#F#F#6#6##&Ê##Ë.@DDD444°$ËÌJ"4H\"š"š"š"š"ˆ"ˆ"ˆ"ˆRR"vÌ>"b"bÍ"N"N"NÍ 0@R"*"*ê"ÚÚ" Ê$>ÖºÍ!è¨Í"4H\!Æ!Ɔ#ú!´t#è#è~~#ÖÍjN#ÂÎ!z:#®Î"4H\!V!V!V! !D!D!! üÎú! èÎ! ! ÔÎ(<Rh~! ! ! ! ##!Š!Š!Š!Š#–––"î΀€!`"ØÎj!J!J"ÂÎ!4!4!4"¬Î$6J^!!!"†"† ú ú ú"r"`Ïô Ô"LÏ À À"8Ï$6J^ œ œ œ Ø Ø ˆ ˆ ˆ Ä–– ²Ï‚ b žÏ N N ŠÏ$6J^ * * *88   $$$ÏðþÏÜÜêÏ 0Bºº!2!2¨¨! ¸!І þÐ 0@Rdd TD€ ¼TpÐ"^Ð 0@Rðþ hàîîðÞоÌÐ"2BRdšššŠŠŠÔzzjj¢zZÑHHÒ.@dddTTT(DÒ22Ó"4H\þþþþÐÐìÔ¼ØØÕÄÄÄÕ.@jjjZZZfJÕ88Ö 0@RVFFö6&ÖÔÖ.@´´¾¤®®°žÖ‚ŒÖ.@bb¤R””^„Ö0rÖ.@¶¶¶¦¦¦ –Ö„„× 0@RbbÆR¶¶B¦¨–× „×"4H\þþþþììììPPÚØ<ÆÆÙ²²²Ù.@,,ôääæÔÙúÂÙ.@ÚÚÐÊÀÀ”°Ù¨žÙ.@BöÙääÚ"4H\üüüêêêêêØÚÖÞÄڰʰÛ"4H\ââºâШÐÐzz¾Ûf‚ªÛ–n–Ü"4H\rrr` ``  NÝöä:Ý&Ð&Þ&:Ndzªªì––””ìÞ€€nØÞjXXÂÞ˜BB¬Þ"4H\†  tt  bßöäNßÐÐ:ß"4H\¬¬šššòà†ÞÞá`ÊÊá"4H\¦¦<¦”*””**‚ânâZðZã"4H\666Ì$$ºººº¨ã¦þ”ãêê€ã"4H\ÆÆÆŠ´´xxJJfã6ŽRãzz>ã.@XXH  àüä&êä 0@Rðð„àttÐdä|Tä®Bä"2BRdzþþþîînÞåÌÌæ"4H\ª*˜®®æšròæÊ^Þæ.@€€¨p˜˜DˆçNvç"4H\,,TTBBB ì ì0è Øéàé"4H\ŽŽää|ÒÒÒ | |Àê h¬¬ëB˜˜ë"4H\ttLb:þþ ìë øØë(Äë"4H\® òœŽŽ œ œ|ì ˆvhì¸bTì 0@R X X¦ H–– 8† ê vì dì.@D ö ö44 æ Î Öí ÄíH"4H\tt‚ìbpÚÚ p pÈí \J´í(6 í"4H\@|ò.jj Xî ìDî¸ô0î$6H\pööŠŠäxxxÒffæ | |Tî h@@ï˜,,ï 0@RLL<øø,èh Øð Æð"4H\¤¤¤$’’ ¨ ¨ð ”lìñXXØñ.@66¶&¦¦ >–ñ„ñ.@ää úÔ ê êì Úñ² Èñ.@’’Ö‚ÆÆš¶ñ`¤ñ.@@@D044H$ñña.@DD þ4 î îð Þò Ìò\"4H\úúèòüü’’êò~ÌÖò®¸Âò.@ŒŒ–|††(vóZdó.@DDN4>>Ö.óôd"4H\ààt ôÎb â âxx Ðôd< ¼ô”( ¨ô.@rrbööæõ@Ôõ.@´´ 4¤ $ $¼ õ‚ ö"4H\ Ì Ì à º Î Îdd ¼öPè ¨ö €Ô ”ö.@ ^ ^² N¢¢ú’÷ ,€÷.@`` P  ¨ ÷. îø"4H\ ¸ ¸| Ì ¦j º ºPP ¨ø<D ”ø l0 €ø.@ J J :þþæîù Üù.@¼¼ ¬ ü ü” ìùŠ Úú.@ÌÌD¼44B$úšúS.@ttDd44ê$úBúU.@l \\’Lúê:ú.@ÊÊDº44@$ú˜úN 0@Rppº`ªªPš ÖŠú.xú.@øþèè„ØúÜÆú.@¼¼v¬ff2VúŠDú.@jjîZÞÞàÎú8¼ú"4H\`fNTTˆˆBût(.ûÊûV.FJJœ:ŒŒ|üùdücÓ:0Û"ܨÝQûùùùúQTUc ýüùKTU ùþÿSTc iùGT²KG ùGL¾ê kùùFGL ùlFG"ܳ$F •ùùEFG´ëE ùù/)EN"UÐT) ùmg)DK ùùùDKM¾pù+r*ùDIK ¶’ónsùùfùùDKTê¯ùù ùKT oùmDT.ùùhù qùDÌö¾ê°0ù)wILc:ùv(ùAòö7ùùùnKLTV uùùLMVÛM.yùùù 'ùLMâ—ù<(.H ùxIL­L%ù&nIKLÚIù5 $ùIJ ùIN ù ùùILNT$ prù oqùDLT(T –ùDTµ D ù4DN312ù{)ILNb ~ùLb1bù:9;ù)DLVb ù<ùGLV ù=ùDKLJ® @ùKL CùùKLBDù6ùù FùL ùHGDLùIùVDKŽÉŽ JùùKŽ*ùK. ùùDKKùùùODKLTùQùùPGHKLTSRùùùGHLTTùùUDTŽ ùùKŽ XùjDŽYihkùDLaŽZùlùùKL\d \ù[Kd]ùùùEKd _^ùEK`ùùùEFK baùFKdùùùFGK ecùGK vùz|{wùstx GILMNQSUV yùùQV uùQcpyzo-4.12.3/pyzo/resources/fonts/JetBrainsMono-Bold.ttf000066400000000000000000003767541421373005400231020ustar00rootroot00000000000000 DSIGýäGDEFj¸lGPOS ¸€GSUB°Tì9¸EROS/2:ÂP¨`cmap.4£v@Ncvt B< ÄhÈfpgmPÀü< ýgasp¸dglyfF›½’#dt2head½ u,6hheaÿÒùd$hmtx~”vP6locaqx²02maxpšTˆ nameô»¿0—˜postÞ†}g´­prep¦íªEÖ%ÔÍ_<õ èÚOH•ÚP~ù0ÿ ËÙÔÿXù0ÿ˘¸ ÏxÌé ýX¼ŠXKŠX^-E €'JB  à³ÔÿÔõ—&Ð XZXKHI¨=S=HP:LRJCIVP=SKc7EJ=K7'FOË3ID=6X1_:-" #G–=N57A<5?55d;<<ЖLPØ{êOî»<s=AK DdY>d!+‡7=Ëû´þ/ûŒýäýøù4þFû´ûŒþ ýäûŒýøýøþÏþÏû û LýÿþÒüsþæîÒ–0&–&iž8|δ¡Ýf3HFK€3{{DijFKDCVVVVSSSS=====7FFFFO3333====LLLL=====:KKKK##GEG333CDCDCDCI/V=V=V=V=V==:=:=:KÿåSLSLSSSEHEH======K_K_7:7:7:'FKFKFKFK#OGOG¡€žµ{{€Î´if{ÀÀc –-c:H'EKP=_Kc'-c--Ø\ÿå7NX'-=:!X-38K"# #.5F:*DC©­®••¤©¤®••©O""ÿþdPPLS”HDü°üû¹û þþ ýøK=JJCVK73==C# IKTE'cK+1-E7:SN+(9&7K=G+KiP5&G'K10N6K+710=PVSSLXccciKP#KK--ÿøÿúGCA7þ²þ‰üÄühú·úoþþ=ü<þ¡þ¡þAþ¡þ|þ`üþ©=þùêKK207=80-<þ¼þþþÈûùþZûˆýàüÀù0þsþOû ûàþ}þxþxþ€þ<û–þŽLLûžOËžþNþNýäû€ûŒûëûæûŒûŒûŒù4û´û´ûŽûŽûŽýæû¥þ ûæû´û´ûŒûŒþ\þ\ûªûªûŒýäþTûýîûÎþýúûªýÚýÁþ¡ýëý¿þûìþÿØûŒüaþŽþþýàþ0þ\ü"þ•ü’þ•ü’ýÂýÂþ/ýÂýÂýÂûjýÂýÂýÂý÷#ù4Z( ( ÿ° - -d–&i2ÿŠÿöÿöD(ˆ€ /9OZ~¬ÆÏÿ !’7ÇÉݼÀ O\_‘…     " & 0 3 : D p t „ ¬ ½!!!"!&!.!™""""""""+"H"`"e%ˆ%Êàà¢à³ÿÿ 0:P[¡®ÇÐ "’7ÆÉØ»ÀQ^€     & 0 2 9 D p t € ¬ ½!!!"!&!.!""""""""+"H"`"d%ˆ%Êàà à°ÿÿ[ÿõ ÿÎÿâÿàÿÝÿàÿ'ýÕÿnþUýSâ­â}áAáXâ\àKá@á á àÿßÓáÂáágàOàìàîàóàà àà ßùßæßÑß|ßÎÝÜP"e!ã‚žÆ "P¬²jjttŠ " $(øMPQdRbOWFE9D)GIJKLNa UHc\V’*+,X-. / 0Y123Z45678STŽYuvtws™WxƒpXC_{|“ihgžzy‚…†‡Z£¤¥¦§¨lÚØ²³´µ¶^ܸ¹º»½]n•¿ÀÁšÂm¢ÃÄÅÆÇÈÉÊo–ËÌÍÎÏ]ÝÑÒÓÔÕÛÖíîÙaLbÿcUŒzø÷deJK‹VMENQRABßÞ IG  [  jkPO·Ð_`fST !"#$—˜ ¡%&'(¼)*+,¾×Ž\FHD‘ŸŒ”€Ýöåò´Þßàïíõçé뚪›­¾ž®²«³Ÿ½ ˜™©œ¬¿À¡¯Á±°º¹¸¼·»¢ÛÐÉÈ£ÏÚÄÍÊÇˤƨ¥Î¦Ì§ÖØÑÒÔÙÓÕ×ÅÃôæñµ¶áâðîóèêìf[†‡Šˆ‰‹‰Š€`6‚‘’ eMPQdRbOWFE9D)G:;<=>?@ABCIJKLNa  !"#$%&'(UHc\V’*+,X-. / 0Y123Z45678STާ¨©«Ø¶»¿•ÀšÁ¢ÄÃÅÆÈÇÉÊ–ÌËÍÏÎÒÑÓÔ‰Cuvs€hnXWq“™ÜlÜ_23wixymÝZYprƒ‚g£¦µjkf[ˆ‰†‡]Ö¼„„…ŠgŠ‹ˆ¥¬¤­ª¯°±®³´²¹º¸z›Œ‘ž”Ÿœ°, °UXEY °(`f ŠUX°%a¹cc#b!!°Y°C#D²C`B-°,° `f-°,#!#!-°, d³BC°C ``B±CB±%C°CTx ° #°CCad°Px²C`B°!e!°CC²B °C#B²C`B#°PXeY²C`B-°,°+°CX#!#!°CC#°PXeY d °ÀP°&Z²( CEcE°EX!°%YR[X!#!ŠX °PPX!°@Y °8PX!°8YY ± CEcEad°(PX!± CEcE °0PX!°0Y °ÀPX f ŠŠa ° PX` ° PX!° ` °6PX!°6``YYY°%° Cc°RX°K° PX!° CK°PX!°Ka¸c° Cc¸bYYdaY°+YY#°PXeYY d°C#BY-°, E °%ad °CPX°#B°#B!!Y°`-°,#!#!°+ d±bB °#B°EX± CEc± C°`Ec°*! °C Ра+±0%°&QX`PaRYX#Y!Y °@SX°+!°@Y#°PXeY-°,° C+²C`B-°,° #B# °#Ba°bf°c°`°*-° , E °Cc¸b °PX°@`Yf°c`D°`-° ,² CEB*!²C`B-° ,°C#D²C`B-° , E °+#°C°%` EŠ#a d ° PX!°°0PX° °@YY#°PXeY°%#aDD°`-° , E °+#°C°%` EŠ#a d°$PX°°@Y#°PXeY°%#aDD°`-°, °#B³ EPX!#!Y*!-°,±E°daD-°,°` °CJ°PX °#BY°CJ°RX °#BY-°, °bf°c ¸cŠ#a°C` Š` °#B#-°,KTX±dDY$° e#x-°,KQXKSX±dDY!Y$°e#x-°,±CUX±C°aB°+Y°C°%B±%B±%B°# °%PX±C`°%BŠŠ Š#a°*!#°a Š#a°*!±C`°%B°%a°*!Y°CG°CG`°b °PX°@`Yf°c °Cc¸b °PX°@`Yf°c`±#D°C°>²C`B-°,±ETX°#B E°#B° #°`B `·BBBŠ` °#B°a±+°‹+"Y-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,± +-°+,# °bf°c°`KTX# .°]!!Y-°,,# °bf°c°`KTX# .°q!!Y-°-,# °bf°c°&`KTX# .°r!!Y-° ,°+±ETX°#B E°#B° #°`B `°aµBBŠ`±+°‹+"Y-°!,± +-°",± +-°#,± +-°$,± +-°%,± +-°&,± +-°',± +-°(,± +-°),± +-°*,± +-°., <°`-°/, `°` C#°`C°%a°`°.*!-°0,°/+°/*-°1, G °Cc¸b °PX°@`Yf°c`#a8# ŠUX G °Cc¸b °PX°@`Yf°c`#a8!Y-°2,±ETX±EB°°1*±EX0Y"Y-°3,°+±ETX±EB°°1*±EX0Y"Y-°4, 5°`-°5,±EB°Ec¸b °PX°@`Yf°c°+°Cc¸b °PX°@`Yf°c°+°´D>#8±4*!-°6, < G °Cc¸b °PX°@`Yf°c`°Ca8-°7,.<-°8, < G °Cc¸b °PX°@`Yf°c`°Ca°Cc8-°9,±% . G°#B°%IŠŠG#G#a Xb!Y°#B²8*-°:,°°#B°%°%G#G#a± B° C+eŠ.# <Š8-°;,°°#B°%°% .G#G#a °#B± B° C+ °`PX °@QX³  ³&YBB# ° C Š#G#G#a#F`°C°b °PX°@`Yf°c` °+ ŠŠa °C`d#°CadPX°Ca°C`Y°%°b °PX°@`Yf°ca# °&#Fa8#° CF°%° CG#G#a` °C°b °PX°@`Yf°c`# °+#°C`°+°%a°%°b °PX°@`Yf°c°&a °%`d#°%`dPX!#!Y# °&#Fa8Y-°<,°°#B °& .G#G#a#<8-°=,°°#B ° #B F#G°+#a8-°>,°°#B°%°%G#G#a°TX. <#!°%°%G#G#a °%°%G#G#a°%°%I°%a¹cc# Xb!Yc¸b °PX°@`Yf°c`#.# <Š8#!Y-°?,°°#B ° C .G#G#a `° `f°b °PX°@`Yf°c# <Š8-°@,# .F°%F°CXPRYX +.±0+-°~,±>+°@+-°,±>+°A+-°€,±>+°B+-°,±>+°@+-°‚,±>+°A+-°ƒ,±>+°B+-°„,±?+.±0+-°…,±?+°@+-°†,±?+°A+-°‡,±?+°B+-°ˆ,±?+°@+-°‰,±?+°A+-°Š,±?+°B+-°‹,² EPX°²EX#!!YYB+°e°$Px±EX0Y-K¸ÈRX±ŽY°¹cp±B¶G3#*±B@ ZN:* *±B@ `TD2! *± B¾ÀÀÀ À@ *±B¾@@@@@ *¹D±$ˆQX°@ˆX¹dD±(ˆQX¸ˆX¹DY±'ˆQXº€@ˆcTX¹DYYYYY@ \P<,*¸ÿ…°±D³dDD}}mmÐ&ÿ[Ôÿ Úÿö0ÿöÿ[Ôÿ Ú&ÿûÿZÔÿ Ú&ÿûÿZÔÿ }}mmÐÚ&ÿ[Ôÿ Úÿöý0ÿöÿ[Ôÿ HHCCÿÓÔÿ ÿÎÔÿ HHCCý¸Ôÿ ³Ôÿ 1111\¥<~Ï\»‡­(f½KyŸîT…¥NÝx—Ç÷ V Ð  ˜ 8 ‰ ä = ˜ ù E Ë þ-“Ù Fa½òEÏû^¶zÒë&Ÿ¶Ì3Y‚·#W™ ‹!Fcˆ-›ÃÜ`}²ÇOÒ÷\\uŒÀÜ5º šì:nŸC²é v!!>""">"^"w"å##8#ƒ#Î#þ$,$I$g$Ž$±$Ç$ï%O%l%Ë%ü&)&^&{&˜&½''„'­'Ï(({(¨(Ø) )E)x)¹)ô*T*~*§*Ó+)+U+…+å,,;,h,–,¾,æ--;-]--£-ò..L.q.–.¾.æ/ /*/X/ª00‘0í1!1U1‹1á22%2I2ƒ2¤2Å2è383q3ß3þ44>4s4’4Å4ñ5F5“5º6Q6Ü7R7¨7Õ7þ8P8~8Õ99c9”9Ä9÷:):z:¬:â;;Ð;û>=>k>´>â?1?}?Æ?ï@G@œ@íAA7A~AæB'BOBBºCC"CCCiCCÊDD,DmDšDâEExE«FFvGGTqTÂTíU/UVEVVÕWW'WlW´WæX)Y'YÈZZ·[:[Ï[ý\x\ã]~]á^7^^ï_—_Ï``^`åa&aPaqaaÈb$bCbeb÷cÆdÃeoeŽeËeëff@fƒfâgIg{g™h®höiAifi½iÚiójj=j_j†j§jÇjêkkHkskŒk³kÊkãl"lDl„lÉlàmm@mkmœmÃn0nZnnÕnôogo¡oçp*phpÀpþqGq}qÿrArjr¡ræs sBssÊsêttztÈtñuuNu¢uÍuÿv5vnvÂvíwYw²wôx]xÍyy5ySy}yŸyÃyäzzPzrz”z½zæ{{5{r{¯{ô|=|§}}A}n}Î~G~†~ÕO‚Ç€€f€»„É‚ ‚h‚h‚Ÿ‚Ђñƒ"ƒƒ©ƒÒ„Ø…›…ì† †l†Œ†¨†á‡‡»‡ñˆ$ˆaˆâ‰>‰¬‰úŠ^ŠËŠô‹t‹ãŒŒ`Œµ¡ŽNŽy«•ÿ‘\‘†‘¯‘Ø’’?’~’§’ã““R“d“{“˜“¿“Ý“ö”2”|”Ý•<•˜––_–Ñ—0—Ž—æ˜B˜˜Ø™º™óšJš¦šÙ››b›®›õœHœ„Užž“ŸŠ N ó¡y¢¢q¢Á££k¤¤¡¤Ú¥5¥m¨(¨l¨”¨û©b©ÆªªÕ« «>«t«¸«û¬L­­¯®C®Õ¯ì°c°ù± ²_²Å³B³Ý´-´b´ñµ6µ‚µÄ¶¶O¶Ä·2··Ì¸¸f¸{¸™¸¼¸Ó¹2¹¤¹µ¹Ù¹êººZþÐ 1@. LgW_O+3!%!'!Z¤þ¢,þÔÐý021;ýÏK Ð '@$g7&&5¨+RvJ-G1fZ˜¥ÇH}eI{ /EY3¿e~(Ê“=ÿö0 #@aGMaEN)'%" +7326554&#"#4>32#".5º=55==54>}"?X66X?"">Y66X?"Ð2::2‡2::21P99P1‡1Q9 9P1S/ý VK°PX@ aFM_?M_=N@i_?M_=NY@ 43 +73#5!3!46332##"&SŬ$Ÿþ$¡'  '(  'rCqþLr»%%$$/Ú cK°PX@_>M_=NK°1PX@_32#".5º>44>>44>}">Y66Y>""?X66Y>"Ó3<<3+3<<32Q::Q2þÕ1R: :R2HÚqK°PX@>MaGM`=NK°1PX@M?M=NK°1PX@g32353##5326557##".57326554&#":2F+>P x  U³2+7%667675&'&&'%5L" þÞÀþ@²uÍ}ÍRÿ‘ >(}@  "LK°PX@(rigYaQ@)€igYaQY@('!'!'! +5326''&675&&776&##53233#"#R3$) G;>8ki1:91ÐdVBR XH0L6@Ø9339(Á4--3CÿöÚ!;@8€~aDMaEN !! +2#&&#"32673#".54>15U>$}=24=;62=}j6X>"">XÚ7O0/5:3þÖ3:7.bs:R2*2R:IÐ -@*_þsÐ!Ðn¹nÍnPÐ #@ g_32#&&#"32655# û"?X66X?""?X6d~>/4>>45=~„±2R: :Q2*1Q9h]'.91þÖ3<<3ESÐ )@&_&~=c>4‰sþ4S:6L0,5KBÐ -@*Lg""?X6|}}|4<<4Ð9Q21Q9þåÐjá=33>=ÿ[ Ú$2@/LaDMaEMAN$$% +74>32#'".2654&#"=">Y66Y>"=6x‡g4YB&ï4>>44>>Ó+2Q::Q2þÕDd¶›8R8<3+3<<3þÕ3<K1Ð+@( Lg_3oÐ8P1HfþÍ þà…<34>7ÿö!Û+;@8€~aDMaEN ++ +".'332654&''&54>32#&&#",5Y@%€A57=.*Lº!z; (cJŽ8 =ŒÐþ//òþ//òý0ñ11þ<Ð @L3354&#"#6632#5##"&72655#"38O1Š92)8{ z]5VMaGMaENK°PX@#h32#&&#"3267326X>"">X60R>)}>.5<;6-?})?Q 8O11O83G-&/8218/&-G3=ÿö0'C@@€gaGMaEN''$"  +".554>32!3267354&#",6Y>"">Y66X>"þŸ=6)9 { *=MG<76= 8P1‹1P88P1d$7>"8'R7==66ÚuK°PX@g_>M=NK°1PX@g_@þhš3  5þh_30WK°PX@€a?M`=N@"€?MaGM`=NY@ #" +336632#54&#"#_v P>Ydƒ:307}&_27na(5;<4þª:ÿö0(–K°PX@#rpaGMbENK°PX@$r~aGMbEN@%€~aGMbENYY@ (' +"&'3332654''&&546332#&&##"#as €2%(/3UN^Zmf)[o €-")XJQb^rk OH% 7 PKNTME>5 SKQX-Ð)@&32#".ýE?55@@55?{">Y66Y>""?X66Y>"•d^3<<3+3<<3þÕ+2Q::Q2þÕ1R: :RN)Ð#@  L32)@,h !ûþæ?7:26@$@[74V=!%FEE%V q„»4[31:8.0N78M7ÿöÐ/ˆK°.PX·+!L@ !+LYK°.PX@&€g_4S:#?Z84V?&}@06AD8Xt  "Ö«’·":P13T; 3H-(1B66Awm  jx€ AÐ *@' Lh3)3>)Žnß5ÿö$Ð+-@*jW6BˆTÏñ%+   :Q24U=!ç9DD99CD?ÐRµLK° PX@r_,7BB78BB83==33==35V=!%3 GT#A[99[@#TF4$!32654&#",8\A#96„   1#-J6$A[CC76ED77CÚ"=X6BˆTÏñ%+  :Q24U=!ç9CD89DDdô„@W_O +!!dþp„s;\8 MK°PX@g_?N@Wg_OY@  +53533##5;³|³³|s´´sµµW:bD,@)L>870*)IWaQ"! +77.55367>77'.'#'7>7'.'&D'%!  p  !%'C'D*+) ! )\)    *[( " ),*wj (--HH*]' j   ;@;(*((*(;@;   <ÿ’>@…v +3#š‚þ£ƒ>üT<ÿ’>@…v +#3‚þ£‚n¬Ðÿö‰0 @aGMaEN$$$" +74632#"&4632#"&Ð3))44))33))44))3O*33*'22«*33*'22–ÿ`Œ0'@$aGM_AN  +%#4632#"&†‚nP4+,45++4—þÉ7:+44+*44L> V³2+%%LÀþÞ "þ@ˆÎu€ ‚uÍP–ÿ*@'gW_O +5!!!P¸þH¸þH‹tt‚sØÿû€Ð&@#_NK°1PX@ _<N@W_OYY´ +3#'ê eÚœ®ÙÚ U@ LK°PX@ _>NK°1PX@ _<N@W_OYY¶ +3#'#53#[~ e Ü~ eÚœœœ>ЀK°(PX@)  g !#>!ÿG=>=G•!>!#>!ÿH<>=GG=>(@ #"LK°PX@(rigYaQ@)€igYaQY@'% (( +2''&>33#"33#".776&##5ÆX 1E+D3$( G;@W_O +3#î}}>üT»ÿ’Ó>(@%gW_O +!#3»››n¬sý:s<ÿvÿç ±dD@W_O +±D!!<àþ qsÿƒ±M³ 2+7>554.'5s-G22G-JvR,¥™ /DW2¿3YE/ {Ie}H¿“Ê(=ÿöÚ*е LK°PX@$h>MaGMa=NK°PX@$h323&'&&553#5##".526554&#"=2F*32353#54>5##".57"326554&A2E+ ] 3@0gg_=N  +533##5#5!!ñ|³³|³Òþ.©´´sµµsþµ^ÿÿdô„D@W_O#+!ÿ[<Ú.9tµ LK°PX@&iiaDMaAN@-€iiaDMaANY@ #'!%*##$ +4>32#'#"55432&&554&#"33#".5%32554#"!'IhByˆ_ ;/‚‚QQHU]cYFFCmK)+ JJ>¸DkK(rjþM`37¯P¯P 0?Ch`þÅ[h_(KlCs03gHgc+ÿö>Ú&0z@0!LK°PX@)€aDMa=Ma=N@'€aDM_=MaENY@ (""* +467&&54>32#4&#"73#'#"&573267+512G,-J3t,&$+‹6ykp|/Fd[c&+&1 (@%gW_O +53#5!‡››nsÆsüT7ÿ’!4/?@<,)L€~iY_O"" +7332654&''&5467'53#&&#"#57&&7€A57=.*LºVM}P`<.18WPZ^cW}Rc¿+12*%6 3£KePP dP)..&HqSQkPPg=„@W_O +!!=Þþ"„sÿÿËÿà ) @@YaQ$# #+û´#q*@'L…†W`P# +!&&''3#7667!û´©¨“áâ’«úU„ÝþÙþÙÞÿÿþ/ÿ’Ñ>"GµGýó@W_O %+ÿÿûŒÿ’þ>#GûP#Fýv‚FÿÄ‚Ž@fe]QK!   ˆ‚ztsC=<5/. LK°PX@…†_>NK°PX@…†_<N@…†WaQYY@ lkYX'& $+ÿÿýäÿ’>#Gý¨Fÿ΂w@!  C=<5/.LK°PX@…†_>NK°PX@…†_<N@…†WaQYY·'& $+ÿÿýøÿ’>#FýÚÿ°G\@?981+*LK°PX@…†_?N@…†WaQY@ IHGF#" "+ù4ÿûôÐ%M@J€  € h_32#4&#"#'#"&3267%3267ÆXe06iW-J3t-%$+‹6ykp}/"Vý513F,-J3t,&$+?|/#V2Yd&+&1~&+&1 _]Z6S@!Y]0C)#,+#- ÄjËA$'¼ZA$'a"TÄTýä@W_O %+ÿÿütÿö4º+)û©@#)ý¨)§@aEN$$$$$# '+ÿÿþÃÿö=º#)ýø)°@aEN$$$# %+ÿö)Ú1W@T €€   gg a DMaEN11.,*)%#"# +#3#32673#".55#535#5354>32#&&#"`–––;62=}j6X>"::::">X65U>$}=24=ÒQFP3:7.bs:R2PFQ+2R:7O0/5:3+¦á²ç@YaQ($ +4>32#".¦$11$$11$c0##00##0îÿ’k>(@%gW_O +3#3î}}}>þ„ýÐ|þ„(C,@) LW_O +7667675&'&''3#37667675&'&''3±  œ‡´´‡óœ  œ‡´µô ÌððÌ Ìðð(C!%@"LW_O +3#'#73#¼‡œ  œ†µó´‡œ  œ†Ì  ÌððÌ  Ì(Ê@LW_O +3#'C‡œ  œ‡´Ì  Ìð(É@ LW_O +#7667675&'&''3É´†›  ›†ðÌ ÌÒÐÂ@W_O +3Ò‚nPÐ7þɖц@W_O +#†‚nPþÉ70Ð2#@ W_O +3#!3ÅmPŸþí‚mPþÉ7þÉ&Ñ(@W_O +3#3#‰Ÿ‚mß‚mþÉ7þÉÿÿ–ÿ`†—9@_AN "+&ÿ_(—$@!_AN +%##‚mP²‚mP—þÉ7þÉ7i‡ïo±dDK°.PX@YibR@*€€YibRY@  +±D26553#".#"#54632~M;3!-$!M;3!-$!Ô6?6?ž º  ±dD@W_O +±D!!žþä k8ú Çm±dDK°.PX@iYbR@)€€iYbRY@  +±D%".#"#54632326553˜0;+$dI?0;+$dIú#*#>FF;G|ƒÜ(±dD@…YaQ$" +±D332653#".|c)##,b/@''@/4&&4Μv (±dD@YaQ    +±D32##"&546 '(  ''%##%´_¤1 *±dD@iYaQ"#$" +±D4632#"&73254#"´B66BB66BB5775È09900990445¡„ ±dD@W_O +±D3#¡†hr’Ý„Ë ±dD@W_O +±D#73Orh†„’ÿÿf„.c’õÀ@C’ÏÀ@%±dD@W_O %+±Dÿÿ3ÿö"*’ŒµLK°PX@/€  ggaGM a=N@3€  ggaGM=M aENY@"!/.-,'%!+"+$"#% '+ÿÿH"ŒÒK°PX@-   i a @;Lih ig_ L……_;96410,G-G'%!+"+$"#% '+ÿÿ3ÿö1"*‘ µLK°PX@7€  i  igaGM a=N@;€  i  igaGM=M aENY@"!?=;9640.'%!+"+$"#% '+ÿÿ=ÿö"-’O@L€g gaGMa EN ,+*) ( (%#  !+ÿÿ=ÿö"-“O@L€g gaGMa EN ,+*) ( (%#  !+ÿÿ=ÿö"-›T@Q… …€ gaGMa EN 98,+*) ( (%#  !+ÿÿ=ÿö"-™“K°PX@3€ g a FMaGMa EN@1€  i gaGMa ENY@! ?=9731-+ ( (%#  !+ÿÿL-"z’+@(g_?M_=N (+ÿÿL-"z“+@(g_?M_=N (+ÿÿL-"z›/@,……_?M_=N )+ÿÿL-"z™\K°PX@"aFM_?M_=N@ i_?M_=NY@ $$$# *+ÿÿ=ÿö"’)@&gaGMaEN)'%# '+ÿÿ=ÿö"“)@&gaGMaEN)'%# '+ÿÿ=ÿö"›-@*……aGMaEN)'%# (+ÿÿ=ÿö"Œ‡K°.PX@* ia ÀÿÿÐÙ<@9 g_M aGMaEMANK°1PX@)hMaDMaEN@ …†aDMaENYY@&$(( +7&54>3273#"&'&#"32655G!">Y6*FlD"?X6(D!û 24>$/4>"{5E+2Q:1v1CþÕ1R: 9r<3þü|<3ùÿâ;H$-h@  LK° PX@…aGMaEN@ …†aGMaENY@(&)( +7&554>3273#"'73265544''&#"K+"?X6I6%kL">Y6L6#f#5=5"4>i7N‡1P94kC(‡1Q92:2‡M :2‡ /Úi@ LK°PX@_>M_=NK°1PX@_MaGM a=NK°PX@,  gh323&'&&553#5##".26554&#"3#/2E+32!3267333#"&547"54&#",6Y>"">Y66X>"þŸ=6)9 {240Rg=G= l<76= 8P1‹1P88P1d$7>=&-,$K3(19R7==6ÿÿVµ"œ F@CL……g_… …€gaDMaEN76%")% *+ÿÿ:ÿ["›z¶ LK°PX@)… …iaGM_AN@-… …i?MaGM_ANY@BA%''!%% *+ÿÿ=ÿö°" A@>  i ggaDMaEN53/."%")% *+ÿÿ:ÿ["†¶ LK°PX@. …j a:9"%''!%% *+ÿÿ=ÿö¿" ~K°PX@0€ga BMaDMaEN@.€ igaDMaENY@)'0-'4)4%")% (+ÿÿ:ÿ["z¶ LK°PX@' iiaGM_AN@+ ii?MaGM_ANY@42;82?4?%''!%% (+ÿÿK µ"› 8@5……h MaGM`=NK°1PX@&……@;iaBM21 *+ÿÿF"5›D@A(L …   …_ ?M`=N?>210/.. (+ÿÿCµ"'› .@+L€@;L    i_M_=NK°1PX@i_M?M=M _CNK°1PX@%gM_=NK°1PX@g_M_=M_CNK°1PX@!_M_=NK°1PX@W_MaGM`=NK°1PX@& g554.#"#4>32#".5732673#"&554632#&&#"d5I--J44J--I57%C^99^C%%C^99^C%ÎM E0;HH;2E M^+F22F+–+F22F+6Y?""?Y6–6X?##?X629B7v7B92-n+ä+9Bc±dD@X3L€ i  i gYaQ;:A?:B;B987654.,'%  +±D2#".554>32>554.#"732#'##72654&##,9^C%%C^99^C%%C^5I--J44J--I5Tx8C@L7.Hx0ä"?Y6–6X?##?X6–6Y?"þz+F22F+–+F22F+d;1 / –‰‰ÄbØÿ[€0&@#aGM_AN  +#53#"&546332pˆ\7 '(  ''¥‰_þ¡È%##%\ÿ[Ý0$iK°PX@%rhaGM_AN@&€haGM_ANY@ $$!$! +74>753#"33#".#"&546332\5J-oP3::4•7Y?# ''  ''--I6ZÈ1,,1u7M¯%##%ÿÿÿæÝ"?ÿ&<ÈK°PX@#_ >Ma?M`=NK°PX@#_ M aGM  a =NK°PX@.gh323&'&&55#53533##5##".526554&#"=2F*3!###".582F+bNb+F2&&?-ý0xýˆ,-?&KÿZ &-@*L?MbEMAN## +32653#"&'&'#2É0331}pd0; w&þ¨4774Xþ¨fr ˜Ì"ÿùBÚ-{K°PX@ LK°PX@  LK°PX@  LK°!PX@  L@  LYYYYK°PX@"g aDMa ENK°PX@,g aDMaDMa ENK°PX@*g aDM_<75$#)""# +75463354#"#66323676632#32673#"&'&'##"&732655#"7354&#"#VJ864gL>(.  .&ELÖf&4'.  2+?Ii7Ópˆ6@JMB=EQRHšl$5&Nz6#l!mN$$.ÿöEÚ7mK°PX@(€aDMa?MaEN@,€aDMa?M=MaENY@ 2",%4 +4>332#"#"&'332654''&&54634&##"#.7L-=0P8iJ"GJ.@'Jak& "9IG_O7.=*0u'(B//B(];YD&=+OC% C LAFU&--&ýÚ5ÿü$æ'3’@LJK°PX@ €j>Ma=NK° PX@ €j323&'&&''57'37#".732654&#"56L."0  7œgH'œh=:5#A\88[A#}B88CC88Bã2Q:   *"M?_)e8>_*VR‹?6Y>"!=U49DD98DCF¼´>K° PX@qW_O@†W_OYµ +!#5!FÌ{þ¯´ø„r5Ú-5P@ML&K€ „ g _O...5.543210/-- +336766773#546767##'&&'&'####56P"!N7 4 ZdM_ANK°1PX@ g_0U?UW?W7=.W?V «:FF::GG*?XU?U7>0W?WW?V/@ 9òG::GG::GDÿ¥"€%?@< #L€~iY_O%$ +&&5546753#.#"32>73#óQ^^Q}H^ }&2?@1&} ^H}mSSnVVaK  5554  KaWCÐ0B@?&L€ ga@;L hg >2@@2>3??3®¸Ìý(@% L\M`]N +535465#5733®t =If]¸A˜ 2V9þüA•¸ [@ LK°PX@ra`M_]N@€a`M_]NY·"&( +676633!57654&#"#6632›]H  hþõ†2NJ::G—A2( AOK#3?;•³ ý#¤@ LK° PX@#rp_\MbaNK°PX@$€p_\MbaN@%€~_\MbaNYY@ ## +"&5332654&##575##53A>II>A>I©¸¡ý *@' Lh\M_]N +3353#5#5'W‡\NNªý·QÏ@\ÿÿ¤ÿδ}þ-@*aTMaUN  !+ÿÿ®ÿÓÌ zþ@(@%LPM`QN $+ÿÿ•ÿÓ {þ[@ LK°PX@raTM_QN@€aTM_QNY·"&) &+ÿÿ•ÿΠ|þ¤@ LK° PX@#rp_PMbUNK°PX@$€p_PMbUN@%€~_PMbUNYY@ $$ !+ÿÿ©ÿÓ¡~þ*@' LhPM_QN &+O Æ(K°1PX@ "T D@$@!…†W`P %+ÿÿPÿ’>"T L@_K°PX@…†g_?N@#…†hW_OY@  $+ÿÿP=&Ê-@*Lg?M=N   &+ÿÿL-"z5@2…aM=NK°1PX@_3 °#)}3H,Úm*#ýà *E1Hÿ[0cK°PX@!aGM`=MaAN@%?MaGM`=MaANY@%!'" +36632##532654&#"#¿ I#GûÈ#Gý¨Gˆ@…v '+û¹ÿöìÚ%His}‡²@L*‡}sdDLK°PX@9 € a DMa =Ma =N@3 € a DM_ =Ma ENY@ …ƒ{yqogecb\ZXWSQGECB".#"( +467&&'4632#4&#"73#'#"&5!5467&&54>32#4&#"#'#"&%467&&'4632#4&#"#'#"&5%3267%3267%3267(16hW-J4u,&#+‹7ykp}/"V2Xfûá613F,-J3t,&#+@}/FdZd06iW-J3t,&$+?}/FdXeþŽ',&1“&+&1ýd&+&1 6T@!X^0C)#,+#- ÄjËB$(_]ZAKaµ6S@!Y]0C)#,+#- þ>AK_]©;Z),!Â33<àEÐ#@ _M`N%+313676673#46767##Ep  «šp  ¨šÐþD8.(äý0½7+þÿÿ'1Ð"@_MN%+cÐ@_MN+!#þÆ}Ðtý¤ÐVÐ0@- LhM N +33333#####qgkY+d+[ifpjb-d-`js]þÁ?þÁ?þ¥þ‹VþªVþªKÿwBÐ )@&TM`N +333#5!ɱ}Ksþ|Ðý£]ý£ü‰Ð+ÿwFÐ-@*TM`N +3333333#5+eZe\e6\Ðý‹uý‹uý‹ä‰1'Ð @M`N+33333!1h`g`gþ Ðýˆxýˆxý0-ÿö$Ú1P@M L €€€ga!Ma"N11$!$"&$ +>32#".'332654&##532654&#"6%?V47Y>"J?EQ#B]:7ZA&~B69DC:ed7@@71? /K63H,CT YI1O85J.+1:018q5-.63-ÿÿE¬"«9;@8 …i_M`N!!!2!2$#% *+ÿÿ7ÿö!Û!;@8€~a!Ma"N  ,,!+ÿÿ:ÿö02–K°PX@#rpa#Mb"NK°PX@$r~a#Mb"N@%€~a#Mb"NYY@ )(!+ÿÿS/ý +@(i_M_N43(+ÿöDÚ+hK°PX@ ga!Ma"N@(gMa!MMa"NY@)'" )% +354>32#".55##32654&#"…S0C((C00C))C0Sq5&&&&ÐþÙy)D00D)þŒ)D00D)–þ¼ÐýØ&**&€&++&N5Ð*@'gM`N(!+332##72654&##N}|6X>"">X6ùñ6AA6tÐþç9Q22R9n;23;Û+-Ð-@*iM`N")!+332##3#326554&#+l4-G11G- –llþÖ1*--*Ðþæ3H,1+H3Ðý0Rí1-/-3>Ð6@3g_M_N(!+5332##32654&#ãi5X?""?X5ç~a6AA6hhþæ 9Q11Q9 hþàÚ;22;( Ð,@)g_MN'+&&54>33###35#"´=E">Y6ì}c†ùoo3>=3eG1P8ý0 þà…á>43<9ÿöÚ'A@>€€ga!Ma"N'')$#" +732655#5354&#"#>32#".'¶;35<ÜÜ=42<}%>T36X>"">X63T>%È.491fn]094.0N68P0þË1O96N0ÿûÐEK°.PX@_MaN@_MMaNY·!#+!####5327w™}¡`Y!DÐý0\þ”x}rƒÿtBÐ9@6LS_M_N +5367667!3#5!73#$ Œ@sþº0О Œ÷)#nNBý›÷ŒŒ÷øÕNk"'<Ð"@LMN+3676673#7¥tl…þõƒJÜÐþÈ''8ý0»&ÿé2#+ˆK°PX@!i aM_NK°PX@ic aN@$W ii_OYY@+* +4>3532##5".533"26554&#&8M/i/M78L/i/M8i://:Ò.::.ä0P9DD9P0á0O8DD8O04?É@5þ¬?4á5@7 Ð+@( LjMN*#+3267673#546547"#"&5´>5'  }}C9crÐÿ-4Ný0Ò m_K & '@$gMN +353#5##ÉÇ}}Ç~&ØØýÚÛÛ&ÿÿ=ÿö"£™U@R€  i ga#Ma "N!!@>:842.,!)!)&$   !+G&#@ _M`N%+313676673#46767##Gs  ššs  –›&þ×4)%LýÚ+3(þ´+ & ,@)g_MN%+7&&54633#5##"335°€€ga#Ma"N###")" +6632#"&'332655#5354&#"6a6Y>"">Y6a}>-5<±±=4->uXc7O1‘1N7cX#+63d37+#KÿwB& )@&TM`N +333#5!ɱ}Ksþ|&þM³þMü‰&+ÿö.0'hK°PX@ ga#Ma"N@(gMa#MMa"NY@%#%% +354>32#".55##326554&#"“M+>%NZ[M%>+Mh"##"&ßB&>+ZMëM[,>&Hæ&þx#((#ë"(("7 &[µLK° PX@jMN@€jMNY@ +%"&5533267673#546547" cr}>5'  }}Cšm_À»-3 ýÚn 1'& 1@.iM`N &!+32##!3#%32654&###^h4I-Šllþâ +20- &´cX)D0&ýÚa.()10ÿù-1J@G €€€ga#Ma"N114!$284 +>332##"&'3332654&##532654&##"7#8I,6`lC=HE7O0<[u }2&<(-,)‡‚%((%6#1$:)RE3<@<%<*RI% %c"=ÿöÚ .`K°1PX@%€i_Ma"N@#€gia"NY@ %''$!$+4>33#"3676632#".53326554&#"='JiBŸŸIV ;1Yf">Y66Y>"}>45==54>½BjJ'zXK3qdI1Q99P23::3I3::3P™8@5…†gW_ O +37#53733#3##7#P…;ÀôEqES‡:ÁõCrCQ ‚tššt‚s––ÿÿV±"ž4A@> ig_M_ N$"   &+ÿÿSÐ)@&_M_N  &+ÿÿS±"Þ4;@8 i_M_ N$"   &+ÿÿÿõÑ2@/€_Ma"N !+ÿÿL-"™z/@,i_M_N$$$# *+ÿÿXÿ[Ùý/0@-i_M_N!%%+c9GK° PX@p_MN@…_MNY@ +53!#¢xþÆ}ÐiÝý¤ÐcGK° PX@p_MN@…_MNY@ +53!#¢xþÆ}&iÝþN&ÿÿc²"­6+@(g_MN #+ÿÿi"É“Ø+@(g_MN #+ÿÿKB²"Ÿ69@6LggMN &+ÿÿP="Ê“Ø9@6LggMN   &+ÿÿ<¬"¿9=@:L…iMN%%! #+ÿÿ#ÿ[5"¦0@- L…aMMN$"(+Kÿƒ Ð MK° PX@qM`N@†M`NY@ +33##5#ÉÇ}¢}£Ðý¤\ý0}}ÐKÿƒ & MK° PX@qM`N@†M`NY@ +33##5#ÉÇ}¢}£&þN²ýÚ}}&-JÐ3@0iM` N%! +333332###7326554&##-h€hR``Rƒ€è#((#Ðþíþí\QcQ\]þ£`)$a&)-M&8@5iM ` N'! +3335332###%26554&##-h€h-%<+YJ•€ -&¹¹¹*:$7ES þó`7"­ÿøÿûJÐ#jK°.PX@ i_MaN@*i_M_MaNY@#!%!! +53267!32####%326554&## 1R``Rƒc%;+m#((#e:.þç\Q]Q\qþW$I;%e)$\%)ÿúÿûM&#qK°.PX@!i_M aN@,i_M _M aNY@" ##%!! +53267!32####%26554&##0-JYXK•b):#˜ -g7/^¹UH8ESÆþ.L6d8!®ÿÿGÿö&0CÕ\À@A@>€€ga#Ma"N$$#")# (+ÿÿCÿöÚC¼XÀ@A@>€€ga!Ma"N(()$## (+Ú!bK°1PX@# giM`N@#… gi`NY@! #"% +3533#136632#4&#"##@}ee LN@W_OY´ +3#%667675&'&&'þ²}Hý¸}}•  îþ›~þ ¶ýÕñ   þ‰ÿ«NîC@  LK°PX@ _>N@W_OY@  +#5N}ý¸Hþk  –îü½`~eŠ÷   ñüÄÿ«=îJ@  LK°PX@_>N@W_OY@  +3#667675&'&&'%3þx}Hý¸} þjýÏ}îþ›~þ |   ÷ýÕ‹Cü½ühÿ«äîJ@  LK°PX@_>N@W_OY@  +3#73ühH}}ý¸h  –þk Œ}‰eü½`D  ñ+÷ þYCü½ú·ÿ«áîZ@  LK°PX@_>N@W_OY@ +3#7%667675&'&&'%3#þ}Hý¸}}•  þjýÌ}þR}îþ›~þ ‹ñ   ÷ýJCü½Cü½Cúoÿ«™îZ@  LK°PX@_>N@W_OY@ +3#7#3úoH}}ý¸h  –þk ~¯}‰eü½`; ñ+÷ Ÿü½Cü½Cü½þAåR#µ# 2+5%667675&'&&'%%667675&'&&'%5(½þC þæýó þæ½þCRÈ‚Çu{~þÚ{~vÈ‚ÇþAÜS#µ"2+%5!%%Üþç þCýü½þæ þCSv} }uÈ‚Èv} }uÈ=ÿö0%L@I€~€~iYaQ %%"$ +4>32353#5##".526554&#"=2F* ,@)gW_O   +!!5!!33’þnþëþÔ}>üTsÆüǬüTÿÿþ¡ÿ’_>BÀ@,@)gW_O  &+ÿÿþAÿ‘\>BýÀ@L@I€ ggW_ O&&&)&)('$" %% !+þ¡ÿ‘¼>$(L@I€ ggW_ O%%%(%('&#! $$ +233#"##532554675&&554&##53KUa%-ii-%aU~lKD:;C(#lþÔ}>_R™))s*)Q]sG8BE8œ"%süS­üSÿÿþ|ÿ’Ÿ>#UýÁK“5@2 LgW_O $+ÿÿþaÿ’}>#þcÝ7@4LgW_O !+üÿö¸Ð(4@N'K°.PX@$#%&(' L@$#%&(' LYK°PX@;ri_32&&#"32655,6Y>"">Y66Y>""?X<=34>=34> :R2+2Q::Q2þÕ1R:  1:<3ÜT0:<3Ûþÿ’ê> 4@1…†hW_O  +3!!!!þ]ƒwýV1Ûüûan¬þÀsƒrþüùêÿ’f>@@= gW_ O +73#5!!!#3!!3#N››þèùœ››þè¡}ý¼}ÆsüT¬sý:s¬üT¬üT¬ÿÿKÿZ &i-@*L-Ma.M/N#$%+ÿÿK Щ&@#†W_O$+ÿ[@Ú(@%gW_O!'!+#"##532654>3@w-1!323#526554&#"32‘&*">Y66Y>")&’Ó!)>44>)!s?6æ2Q::Q2æ6?s´5*ë3<<3ë*5´0(Ð*@' LK…W_O+3!533&&'&'#Ú©¥þ}ýkÐý”ddµ$$7ÿ[Ð,@)LgW_O4!+5!!'7!!57åþüI÷ùHþ(\trþó{þõrtBÿûH&)@&_-M.Ma.N!"+%33#"&55###5!#ê"!UbžzJ)M¹#)reVüþN³srUÚ1@. L…†W_O+533676673#¾W{Ô˜u¶pþœ&%ý&¶ >ù#2AI@FL  iYaQ43%$;93A4A-+$2%2 ## +23676632#"&'##"&554>"326554&!"32>5'&¬4J /'=I'5!4J /'=I'5",!!þê!!"ù30K?E3%30K?E3%KF0"E""E"G/=ÿöÚ -1@.…€iYaQ''%"+4&#"3265#".5546323&'&&''3ž=55=<66<}">Y66X?"i\/8  +&š§g9<4<<5D3;;31O9 :P1EjqA$”g6ŠOÿÿ8i +"ŽdŽÿoÁK° PX@Frr  r ri  j  i  Y b  R@J€€  €  €i  j  i  Y b  RY@#541/,*'&#!88 !+0(Ð# @# L…v+3#%'&&'&'#36766770ª©¥¥©ª{P  OO  P˜8þÈ`þÈ6Z•!!•P• !•-ÿúþä'32@/3'&%LiYaQ.).#+54632326767#".55'7665'4&#"”aQ'@-/A'2" ^B.*E1B%ñ+3KíN^-?'*'J?2^# ? .B)-d\M0*""½<ÿöÚ -Q@N,"L€igYaQ!!!-!-(&  +".554>32!326735&'&&#",6X?##?X66Y?"þ„ 5&:`5 -;He 5&&5 &D`:Ü:`D&%D`;oþý <2#9)£Ó  Óÿÿþ¼ÿûDÐ#MýäMÄ7@4_<;:98/,&3(3"   !+ûˆ Ð;?CGKOòK°(PX@D,'+%*#)!( g =;:9876543210/.-,+*)('&%$#"! - +37#53733733733733733733#3##7##7##7##7##7##7#%7#!7#!7#!7#!7#ûˆa!_n![!‹![!ù![!‹![!ù![!‹![!Ra!_o [ ‹ [ ù [ ‹ [ ù [ ‹ [ QÕ!ù!þ¿!ù!ß!‹!Å!‹!ü!‹! ºV¶¶¶¶¶¶¶¶¶¶¶¶VºV´´´´´´´´´´´´Vººººººººººýà Ð+/37¶K°(PX@6   g 4400,,474765030321,/,/.-+*)('&%$#"!  +37#53733733733733#3##7##7##7##7#%7#!7#!7#ýàa!`o![!‹![!Û![!‹![!Ra!_o [ ‹ [ Û [ ‹ [ Q}!Û!Á!‹!þo!‹! ºV¶¶¶¶¶¶¶¶VºV´´´´´´´´VººººººÿÿüÀÿöé0#Iûð#Iý¨Iÿ`2@/ a GMa ENGEA?;9$$$$$$$$# *+ù0 ÐKOSW[_cg4K°(PX@S;3:19/8-7+6)5'4%$" g =<;:9876543210/.-,+*)('&%$#"! < +7#5373373!73373!73373!733733#3##7##7!#7##7!#7##7!#7##7#5!7!!7!!7!!7#!7#!7#!7#ù‘!`o![!‹![!![!‹![!![!‹![!![!‹![!Ra!_o [ ‹ [ þý [ ‹ [ þý [ ‹ [ þý [ ‹ [ Q-!þý!ü{!þý!G!þý!é!‹!þG!‹!þG!‹!W!‹! ºV¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶VºV´´´´´´´´´´´´´´´´VººººººººººººººÿÿþsÿöžÐ#)ý¨N¢ÁK°PX@1ri_ÄVµ 2+%5%667675&'&&'%Äþ<þ 4@1…†hW_O  +3!!!!ûž]‚wäúñ0?ú—an¬þÀsƒrþüÿÿO Æ„@…v#+ÿÿËç« )ñ@@YaQ$##+ž@º« ±dD@W_O +±D!!žþä«kÿÿþN–ÿ#€ý¨ÿìL4@1gWi_O(% $+ÿÿþNÈôÎ#€ý¨ÿçD"@YgaQ(% %+ýäÿvÿç@W_O +!!ýä8ûÈqû€™0@-…h g=N +!7!5!73!!!!#7!û€ÖTüÖud}dŽý'T-ü‰a}aýt ‚tššt‚s––ûŒ#q.@+ LWh_O +3!73#'!#ük”©Œ´“¨  ª‘¶ûsª‘âqÝ íÝ  ÞîÞ'ûëAÂS#5 ·3$"2+%-%%5½þæ þCýó½þæ þCPþæ þC‹Èv} }uÈ‚Èv} }uÈJv} }uÈ‚ûæA½R#5 ·3$#2+55%667675&'&&'%5%5%667675&'&&'%55%667675&'&&'%5 þæ½ýóþC þæýó þæ½Au{~vÈ‚‚‚Çu{~výïu{~vÈ‚ûŒ#q$9@6$ LWhg_O +3!73#'!#!'7!ûŒß”WŠW“¨""ª‘XûtX‘\  Œ21ûuJ'rrÝ'$Þss% AA!ûŒ#ôq-=@:%LWhg_O-, +3!!!!#!3#ý¼”Wûû¬    UüY’áþ¯ß”© ª‘qrt    ss''Ý  ÞûŒ#ôqe¶LK° PX@$pqhW_O@"…†hW_OY@  +3!!!!#ük”WLú[ ¥ú³X‘âqrt!  ss'ù4#q !n@ ! LK° PX@&pqhW_O@$…†hW_OY@  +3!'3#7!#!6675&&'!ú”W¯W“áâ’YùNX‘↠ bø qrrþÙþÙss'  !  "!û´#qe¶LK° PX@$pqhW_O@"…†hW_OY@  +!7667675&'&&''!5!'3#7!û´¥   ú]LX“áâ’Xú´  trþÙþÙsû´#q&9@6 LWhg_O +5&'&&'!5!'3#7!5!6676%5&'&''3#76676D û®úW”àá“XüT  Y ¨“áâ’« H trþÙþÙss  $ÝþÙþÙÞ ûŽ#qB@?LWhg_O +%76675&&''3!'3#7!7!6675&&'!ûŽª"#¨“W‡W“áâ’YûwX°‰ ûy2#Þ'(ÝrrþÙþÙssæ! !AûŽ#ôq$<@9"LWgg_O$#!  +3!!!!#76675&&'667675&'&''3#üß“W+ü-22ÓûÕX’ª"!þ± ¨“áâ’qrtAAssÞ&%“  $ÝþÙþÙûŽ#õq">@; LWg_O"" +!!#7667675&'&''##7667675&'&''ýrµÎü2¶’ª ¨¾áâ’ª ¨qísîÞ  $ÝþÙþÙÞ  $Ýýæ#õq/@, LWg_O +!!#7667675&'&''þyµÇý9¶’ª ¨qísîÞ  $Ýû¥>V3EWÊK°'PX@TEK<UDLSR54JWVCBI@TEK< UDLSR54JWVCBIYK°'PX@.€€ iYaQ@5€  €€  iYaQY@;:1/##%###% +#54>3232>32326553#".#"#".#"#%5667675&'&&'%55ýd%1+7)"!'7..4#d%1,5& !'7..6%6þé þLÁ þé´þL+/!#+##+##+#$+0 #*##*##*#-u€ ‚uÍ}UuÍ}Ítþ #q(@% LWg_O +!73#'!þ É´“¨  ª‘¶ý7„íÝ  Þîûæ#q$/@,$ LWg_O +!73#'!3#û椴“¨  ª‘¶ü\£“¨  ª‘â„íÝ  Þî`Ý  Þ'û´#q%9@6 LWgg_O +!'7!5!73#'!%3#û´Ü21ü%3W“¨""ª‘XûÌõà“¨  ª‘ AAtrÝ&&Þs´'Ý  Þû´ô„ 2@/W_O   +!5!!!!5!ôþ*ýËÖþ*ýËÖ„sssssûŒ#þq-@*LWh_O +3!53#5!#ük”©8}}úǪ‘âqÝ íý²îÞ'ûŒ#þq 8@5 LWhg_O +3!53#5!#7!5!ük”WÙ}}û&X‘â­   2úÎ qrrý²ss''   ‚ þ\£ÚPµ LK°PX@ >M=NK°1PX@ M=NK°1PX@ 3232>3232>32326553#".#"#".#"#".#"#".###ûŒß”š%%6.,7)"!(8.+8*#!)8..4#dJ>+6& "(9..8)!!(8..7(!%6..6% ª‘J'É #"#+##+##+##+##+##+#$+9F#*##*##*##*##*##*##*# Þýä#q=ÖK°PXµ;Lµ;LYK°PX@0…r  † jYb RK°PX@1…€  † jYb R@7…€€  † jYb RYY@=<7520######6 +332>3232>32326553#".#"#".#"#ýäß”©  &7.,7)"!'7..3"dJ>+5%!'8..8'!'¤‘J'Ý  & #+##+##+#$+9F#*##*##*#ÖþTæ±³/zK°PX@,r   ri YbR@.€   €i YbRY@//######## +5463232>32326553#".#"#".#"þTJ>+7)"!'7..6%dJ>+7)"!'7..6%+9I#+##+##+#$+9I#*##*##*##û#q_ï@ (+ LK°PX@7… r †   i Y b   RK°.PX@8…  € †   i Y b   R@?…  €  € †  i Y b   RYY@][XVSQNLIGDB?=:7-,####### +332>3232>3232>3232>7'3#7667675&'&'#"#".#"#".#"#".#"#"&5ûc#4..8)!$)8,.8'!#(7,.6%'š“áâ’«  %6..6%!'8..8'!!)8..9(" '5,=J$#+##+##+##+##+##+#"" ËþÙþÙÞ "("#*##*##*##*##*##*#F9ýî#q<áK°PX@ "% L@ % L"KYK°PX@0…r † j Y b   RK°PX@1…€ † j Y b   R@7…€€ † j Y b   RYY@:8530.%##### +332>3232>32335&'&''3#7.#"#".#"#"&5ýîd"3..7'!")7,.7&  ¨“áâ’¥'!'8..8'!%5+>J$#+##+##+# &  $ÝþÙþÙÖ#*##*##*#F9ûÎÿ’Ú4PW@TN10/8. *'L€~iY_OPP)) +5%667635&'&&'%&&#"#57&'%5%#32654&''&&5467'5õ'Z<þ] þa=c*3:.-P\`fX}dSýï£þû œ-h29G0-L^_XN4P!þö}Òu…Ò-'!2pSOkPP %ä}Òt„ «4*$4nQKbPþÿ’4?M@J"? ;8L€~iY_O") +%#32654''&&5467'53#&&#"#57&'%þ£þû œ-h29G\L^`XN}O`<.2;.-P]_fX}eSýïˆÒt„ «4*JnQKbPP eO).-'!2pSOkPP %äýúÿ’ú4@R@O<9L€~iY_O@@)" +%32654''&&5467'535%667635&'&&'%&&#"#57&&'þz>59G\L^`XN}(Y<þ] þa=c*2;.-P]_fX}Ud¿+14*JnQKbPP!þö}Òu…Ò-'!2pSOkPP fQûª-þg /@@=,+* #/.-LWg_O +3533##5#%%%%667675&'&&'%55ý·ß|ßß|ßýóÀþÞ "þ@¶ þÞÀþ@„ããsääwÎu€ ‚uÍ(uÍ}ÍtýÚ-!g ?@< LWg_O  +53533##5%5ß|ßß|þÓþÞ "þAsããsääEu€ ‚uÍ}ýÁ- g 8@5 LWg_O +3533##5#5%667675&'&&'%ýÁß|ßß|ß‹Àþ@" þÞ„ããsääDÍ}Ítþ¡ÿ|+0@-!L J)("I…v+*$# +77676327531'77#''''7'þ¡   "E   ýë9C€EW4@1NHGF LWVUO?981+* IWaQ#" +77.553>77#'.'#'7>7'".'%%%&b'$!  p  !%'a'a++( !! =\=    =\< " )++ýŸÀþÞ "þ@j" (--ff--( "j"   Y@Y)*''*)Y@Y   )Îu€ ‚uÍý¿9€EW3@0UTSELWVLF>870*) IWaQ"! +7.553>77#'.'#'7>7'".''%667675&'&&'%5ýåa'%!  p  !%&b'b*,( " =\=    =\= " ),*a–" þÞÀþ@ë" (--ff--( "j"   Y@Y)*''*)Y@Y   "ÏuÍ}Íþÿ’ø>@L…v +3#75$þÞ ¯ ‚þ£‚+ýØVu€ ËÔüTu}ûìÿ’¼>''@$'&# L…v%$ +%35%667675&'&&'%#7ûìÀþÞ « ƒ?7þ@" þBú‚,ý܈Îu€ ÉÒ©þó}ÍtÓý`wþÿ’ä>@ L…v +35%667675&'&&'%#›‚=:þ@" þ>ú‚>§þñ}ÍtÕý^ ÿØÿ[gÙ0]y‹‘—£¯³·zK° PX@"—–•‘Œ$ ; -*L’ JK° PX@"—–•‘Œ$ ; -*L’ J@"—–•‘Œ$ ; -*L’ JYYK° PX@]  € r rq  g j i  gj a fNK° PX@\ r rq g  i j i  gj a fNK° PX@V r rq  g j i  gj a fNK°PX@]  € r rq  g j i  gj a fNK°PX@^  € r  €q  g j i  gj a fNK°$PX@_  €  €  €q  g j i  gj a fN@^  €  €  €†  g j i  gj a fNYYYYYY@>´´°°™˜_^´·´·¶µ°³°³²±®¬¨¦Ÿ˜£™£”“މ‡€~mk^y_y\ZVUQO&5"%+#5&&5467&'&67632632&7632#5#"3267672>54&#"#"&54634.#"2"##"'"&#.554632>554&#"%7#%#'2#"&5464632#"&53%#5ú&cq(- BooB .(qc&ï8P0  CmN*D94?@’!.9D4?" "?  þ݃@BŽ@B1þ×F9þÊ9&,ˆf?T &!T>gˆ,&6$8& 7P4;G9/. "3'GêcQ´62((26´Qcþ˜ *))* ´9DD9T`ýè¥.¡ýè¥.Aý|277777ûŒ#q.@+ L…†W`P# +3!&&''3#7667!#ûŒß”©¨“áâ’«ú骑J'Ý ÝþÙþÙÞÞÿÿüaÿöNV#KÿB#)û–)ýN+@(L JaEN)'#! !+þŽr$#eK°.PX@ida?N@(€id?Ma?NY@#"! #%#% +54>32326553#".#"!!þŽ1E*7dYR%)1d1E*7dYR%)1däýe$;* ' (!$;* ' (!esþÖô¾v¶ LK° PX@(riYgaQ@)€iYgaQY@#"## +%5463232655!!#".#"þVH4G61" üþAB+4E72!ëBBO+5+$t+5+!9þÖò¾o¶LK° PX@'riYgaQ@(€iYgaQY@ ###$ +!732>32#54&#"#"&'!þü "16G4HVd!27E4+CþA„$+5+OBB9!+5+ýàAÚ:EÙµ LK°PX@-  i i  i  eaDNK°.PX@4  €  i i  i  eaDN@;  €  €  i i i  eaDNYY@EC@>7631.,'% :: +232>32#'#"55432&&554&#"#".#"#54632554#"þq0L?5%1,/EcJsƒ_ ;/‚‚QKC8J5-7L:/J?5dOõ JJ>Ç#*#9VeV9siþM`37¯P¯P 0J‡P03gHgþ0–Ÿø6@3 L…gW_O +3!!'&&'&'##5!þþiŽªþruzŠåøùtÕ   Õõssþ\ÿ«hîGK°PX@g_>N@Wg_OY@  +5!3#þ\}}sjü½fü"ÿv†îAK°PX@d>N@…W`PY@  +5!3!ü"s}tŠqüùqþ•ÿ«¤îGK°PX@g_>N@Wg_OY@  +3!!þ•}’ýnUCþ–sþšü’ÿ«rî VK°PX@g_>N@Wg_OY@   +3!!!3þ@}µýKýÕ~UCþ–sþšCü½þ•ÿ«¤î YK°PX@gg_>N@!Wgg_OY@  +3!!!!þ•}’ýn’ýnUCït‚sëü’ÿ«sî hK°PX@gg _>N@%Wgg_ OY@    +3!!!!!3þ@}¶ýJ¶ýJýÕ}UCït‚sëCü½ýÂÿ‘ >7AEÙµ. LK°(PX@I  €ig g e<;9776543210/*('%!% +%537#5373373!'&>33#"33#".77!#7##7%&##5327!#7#ýÂa"ao![!‹![!‚1E+D3$( G;#'¬K°(PX@9g  g c>#'¬K°(PX@9g   gc7!##7#737#ûja!`o![!‹![!Ra!_o%435,RvJ-G22G-ú‡:‹![!R¼‹!‹ ¸V¶¶¶¶V¸UÐ2„RÔH}eI{ /EY3Ô2WD0 rA··U¸ýˆÐ'37®K°(PX@:i  gi 32#4&#"!!#'#"&5546!5%3267þ_2G+-I4t-&#+þ%m}/$U.Zf6Ûþ%þh'+).¨&@'?.0B("++".ÌtñšB%'dXZ"!>Y7dØØ}MMMÊd5;;5’>7N00N7Fd€€dF?×9239#5Ú"@ L,M.N+3'3#&&'&'##ÎK„ ƒk gÅý&4''þÌù4ôÐ)-1„@)L……  €  „gg W _ O..**.1.10/*-*-,+('#"! +7#53733733#3##7##7#53!!#5!7#ûÕ `p [!Œ [!Ra!_n!Z!Œ!Z!Sþ ”©Qþ®ª‘â”,úÇ ‹! ¸V¶¶¶¶V¸U····UeÝ sÞ'9ss¸¸ZÿXÔ0@- L€fMgN+46776655#7#3Z,%‘nªªn( ›xxxðs-Xl-ªªª´%Ks4þ˜ÄþY(#:q4@1L…†W_O!:+367663!!"'&'#j¢  Jþ¶ ¢ièqÍ P  Ì' NÚ@L…v+'&&'&'##46767#5-!º Z ¹Úöiž  þþ  ži(#:q4@1L…†W_O:0+!25&'&''3#7667675#!(J   ¢ièçj¢  þ¶r  ÌþÙþÙÍ   ÿöNÐ @LI…v+753&'&53367677 º  Z  ¹þÝìiž  þþ  ži÷ÿ°#¨q7<@9/% 0$L…†W_OJZ+367663!25&'&''3#7667675#!"'&'#Pçj¢  h   ¢ièçj¢  þ˜ ¢iJ'Í   ÌþÙþÙÍ    Ì ÿVNz7,@)754LJ6I…v.-"!+73&'&546767#5%'&&'&'#3676677% º   ¹""º  ¹þÞþÞµž   l  ži÷öiž  ý”  ži÷ö-KNl5@2L I†W_O!+#"'&'&&'&'#ÌÃ"  a=þ PlN þœ?f    ÇŸ L+l1@.LI†W_O+#546767''66767'##5+P þ;a   $ÃlþaÇ    þš>d N K+l/@,L J…W_O0+7327&'&&'77&'&&553!ŒÃ   þŸ=c Pþa™ d?þš    Çþa-KNj0@-LJ…W_O+7367667676633-P c<þŸ   ÃKŸÇ    f=þœ Nÿÿdô„D@W_O #+–ц@W_O +#†‚nPþÉ7&Ñ(@W_O +3#3#‰Ÿ‚mß‚mþÉ7þÉÿXÔ@fMgN+!!Xý¨Ôû<iÿ[ï‰%D@A …ggW_ O % %$#"! +330.53#&&'&'#3!¥] K\€ 7ÝþÓ¥êþÛ+*1þ%+1þí.þaKê2ÿº&u%8D@A)&LiiW_O20('$"  +354>3232#!"&5467354&#"3'676654&#"n 0B&'B0 ##þ„##sÈ7--77Z 7--7 äç&?--?%ç#þN##²#çææ-77ýä   (11( ÿbÔ³2+býžÔýžýžÿŠÿbÔ @LfMgN+#býžvbý¤Ôýžýž`dÿöÿXÔ³2+XýžÔû<bÿöÿËÔ @LfMgN+3Xýžbsý£[ðbbý¢ýš²dE`D1>DDR1V‡#š½1Ï  %  . .G*u ˆŸ ' C bK &­ FÓ $ b= Ÿ J± 2û \- T‰© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoBoldVersion 1.0.2;JB;JetBrainsMono-Bold;2020;FLVI-614JetBrains Mono BoldVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-BoldJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoBoldVersion 1.0.2;JB;JetBrainsMono-Bold;2020;FLVI-614JetBrains Mono BoldVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-BoldJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0ÿˆ-˜+QS RLO2KNJ!`$%&'()*,-./013456789:;<=DEFHIMPUVWYZ[\] ? " ^_>B GTX³A¸ð“ï# @²Ã     ׇ誩¾¿¶·´µÄÅÙÚaÛÜÝCßjxŽlØáÞào­ÉÇ®bcdËeÈÊÏÌÍÎÓÐѯgäÖÔÕh»ëæikmnqprsutvwzy{}|å~€ìºçf éî‘¡ãâ!"#$%&ýþ'()*ÿ+,-./012345678øù9:;<=>?@ABúCDEFGHIJKLMNOPQRSTûüUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ƒ|}~€‚ƒ„…†‡ˆ‰Š‹ŒދУ¢í‘’“”•–—˜«ˆ—°± ‰ê¤Œ¦†½„…–žñò󙚛œžŸ¼õôöƂ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#šœŸ¨™›¥’˜§¹$%&'()*+,-./0123456789:”•;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžuni0000uni000Duni000Ahyphen_hyphen_greater.ligaslash_slash.ligaslash_asterisk_asterisk.ligaslash_asterisk.ligaasterisk_slash.ligaless_exclam_hyphen_hyphen.ligacolon_equal.ligahyphen_greater_greater.ligaless_less_hyphen.ligahyphen_greater.ligaless_hyphen.ligaless_equal_greater.ligaequal_equal.ligaexclam_equal.ligaless_equal.ligagreater_equal.ligaequal_colon_equal.ligaexclam_equal_equal.ligaampersand_ampersand.liga bar_bar.ligaperiod_period_period.ligaperiod_period.ligaEuro Uhungarumlaut uhungarumlautUogonekuogonekDcroatAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Hcircumflex hcircumflexItildeitildeImacronimacronIogonekiogonekNacutenacuteNcaronncaronOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteRcaronrcaronSacutesacute Scircumflex scircumflexTcaronUtildeutildeUmacronumacronUbreveubreveUringuring Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentWgravewgraveWacutewacute Wdieresis wdieresis grave.case dieresis.case macron.case acute.casecircumflex.case caron.case breve.casedotaccent.case ring.case tilde.casehungarumlaut.case caron.salt commaaccentcommaaccent.saltLdotldotuni021Buni013Buni0219uni0146uni021Auni0145uni0136uni0137uni0122lacuteuni013Cuni0157uni0156LcaronlcaronTbartbarhbarLacute napostropheuni0218uni0237uni0162uni0163uni0123Hbar Jcircumflex jcircumflextcaronuni2070uni2074uni2080uni2081uni2082uni2083uni2084 kgreenlandicibreveIbrevelongsengEngbar_bar_bar.ligaslash_slash_slash.liga"ampersand_ampersand_ampersand.ligaequal_equal_equal.ligaplus_plus.ligahyphen_hyphen.ligaequal_greater.ligauni041Duni041Euni0410uni0412uni0420uni0421uni0415uni041Auni041Cuni0425uni0430uni0435uni043Euni0441uni0443uni0445uni0440uni041Funi0411uni0418uni0422uni0413uni0416uni0426uni0429uni0428uni0417uni0419uni0405uni0455uni0456uni042Euni042Cuni042Buni042Auni042Funi042Duni041Buni0414uni0423uni0424uni0427uni043Duni0451uni0438uni044Funi043Funi043Buni0434uni0433uni043Auni043Cuni0444uni0439uni0442uni0436uni0432uni0448uni0449uni044Cuni044Auni044Duni0446uni044Euni0447uni044Buni0437uni0431uni0401uni0406uni0407uni0408uni0457uni0458uni0490uni0491uni0403uni0453uni040Cuni045Cuni040Euni045Euni040Funi045Funi040Auni045Auni0409uni0459uni0454uni0404uni045Buni0452uni040Buni0402ijIJbar_greater.liga less_bar.ligabar_bar_greater.ligaless_bar_bar.ligabar_bar_bar_greater.ligaless_bar_bar_bar.ligagreater_greater.ligaless_less.ligaa.altSPCcolon_colon_equal.ligabar_bracketright.ligabracketleft_bar.ligabraceleft_bar.ligabar_braceright.ligabracketleft_less.ligagreater_bracketright.ligacolon_question_greater.ligacolon_question.ligazero.altslash_equal.liga%bracketleft_bar_bar_bracketright.ligauni03BCuni2113 estimatedexclam_exclam.ligaquestion_colon.ligaquestion_period.ligacolon_colon.ligaplus_plus_plus.ligaquestion_question.liga%numbersign_numbersign_numbersign.liganumbersign_numbersign.ligacolon_colon_colon.liga0numbersign_numbersign_numbersign_numbersign.ligaperiod_question.ligaquestion_equal.ligaequal_exclam_equal.ligaless_bar_greater.ligaless_colon.ligacolon_less.ligacolon_greater.ligagreater_colon.ligaless_greater.ligaasterisk_asterisk_asterisk.ligasemicolon_semicolon.ligaslash_equal_equal.ligauni2215uni2219uni02C9period_equal.ligaperiod_hyphen.ligaunderscore_underscore.ligaequal_slash_equal.ligaless_hyphen_less.ligaless_less_less.ligagreater_greater_greater.ligaless_equal_less.ligaless_less_equal.ligaless_equal_equal.ligaless_equal_equal_greater.ligaequal_equal_greater.ligaequal_greater_greater.ligagreater_equal_greater.ligagreater_greater_equal.ligagreater_greater_hyphen.ligagreater_hyphen.ligaless_asciitilde_greater.ligahyphen_less.ligahyphen_less_less.ligaequal_less_less.ligahyphen_hyphen_hyphen.ligaless_hyphen_bar.ligaless_equal_bar.ligaslash_backslash.ligabackslash_slash.ligabar_equal_greater.ligabar_hyphen_greater.ligaless_asciitilde_asciitilde.ligaless_asciitilde.ligaasciitilde_asciitilde.liga"asciitilde_asciitilde_greater.ligaasciitilde_greater.ligaless_dollar_greater.ligaless_dollar.ligadollar_greater.ligaless_plus_greater.ligaless_plus.ligaplus_greater.ligaless_asterisk_greater.ligaless_asterisk.ligaasterisk_greater.ligaless_slash.ligaless_slash_greater.ligaslash_greater.ligauniE000less_hyphen_greater.ligaperiod_period_less.ligaasciitilde_equal.ligaasciitilde_hyphen.ligahyphen_asciitilde.ligaasciitilde_at.ligaasciicircum_equal.ligahyphen_bar.ligaunderscore_bar_underscore.ligabar_hyphen.ligabar_bar_hyphen.ligabar_equal.ligabar_bar_equal.liganumbersign_braceleft.liganumbersign_bracketleft.ligabracketright_numbersign.liganumbersign_parenleft.liganumbersign_question.liganumbersign_underscore.liga$numbersign_underscore_parenleft.liganumbersign_colon.liganumbersign_exclam.liganumbersign_equal.ligauni2116ampersand_equal.ligauni20BDlambda"less_numbersign_hyphen_hyphen.ligauniE0A0 arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni2010minutesecondblockuniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3 .ttfautohintÿÿ h  4lDFLTlatnÿÿÿÿcaltcaltzero2zero2Š  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰ŠýüN¾Pâ:ŒÞ0‚ÔD¨j¼,°  r Ä ( ˜  š ’ ä 6 ¾.ž tØH¸2Ì< òDº(¬ŒðB²"ª~îR¤öZ²"†öfúlÞP¤  l â!4!¤!ö"Z"¬"þ#P#´$$$v$È%%Š%ú&j&ú'j'Ú(J(º)*)|)à*V*Æ++ˆ+ø,h,Ø-<-”..t.ø/\/Ì00p0Â11r1â242Œ2ü3N3 44b4´5$5v5È6 6x6Ê7"7†7Ø8*8|8ø9V9j9†9x9†9”9¨9Î9ì: :$:2:F:`:n:Œ:¦:´:Â:Ö:ô;;;4;B;P;d;‚; ;²;Ô@*;â;ð<<4<&<4=ð>=þ>>,>N>b>t>Ž>¬>Ò>è? ??8?F?Z?t?š?´?È?î@ @*@8@R@p@‚@–@¨@Â@àAAA4AFATAnA‚A¤AÊAðBB,BJBpB–B´BÖBôCC4CVCtC®CÌ.@7˜7˜7˜7ˆ7ˆ7ˆ77x‹7f7fŒ"4H\7D7D7D7D727272726¶6¶7 6¢7 7 Ž6ø6ø6øŽ&:Pf|6Ò6Ò6Ò6Ò6Ò6¾6¾6¾6¾6¾6@6@6@6ª6*6*6”6”66~6~6~6h6h6h6h&:Pf|2¸2¸;¶;¶5î2¤;¢;¢5Ú5Ú5®5®5®5Æ5˜5˜;x5°5‚;b;b5š2¦;L;L5„.@;(;(D;;45($:ö.@2*2*:Ð2:À:À4Ð:°‘1ø:ž‘.@1Ø1Ø<â1È<Ò<Ò4~<‘1¦<°‘.@1.1.:,1::4,: ’0ü9ú’.@9Ú9Ú49Ê443Ú3ò’9¨3à“.@4°4°4°4 4 4 3ˆ4“4~4~”"4H\4\4\4\4\4J4J4J4J303048•34$4$–444– 0@R3ì3ì7Ò7Â3Ü7Â3Ì7²7²2´7¢–3ª7–"4H\3ˆ3ˆ7n7n3v7\7\7\2\2\7J—2H7676˜3<7"7"˜.@333ª3 3š3š1ò3Š˜2è3x˜.@3X3X2È3H2¸2¸1 2¨™3&2–™"4H\33332ò2ò2ò2ò1H1H2àš142Ì2Ì›2¸2¸2¸›$6H\p222’2’1ð2€2€2€1Þ2n2n1Þ0Ä0Ä2\œ0°2H2H1¤2424.@2R2R2R2B2B2B0Z222 2 ž"4H\1þ1þ1þ1þ1ì1ì1ì1ì001ÚŸ/î1Æ1Æ 1²1²1² .@1Þ1Þ-œ1Î-Œ-Œ/˜-| 1¬-j  0@R1Š1Š1Š1z1z1z1j1j7ˆ/41Z¡1H1H¢"4H\1&1&1&1&1111.Ü.Ü1£.È0î0î¤0Ú0Ú0Ú¤"4H\0¶0¶0¶6Ô0¤0¤6Â6Â.l.l6°¤.X0~6œ¤0j0j6ˆ¤&:Pf|6b6b2r4:4:6N2^4&4&4&-ö-ö-ö4¤-à-à3ü3ü¥-Ê23æ3æ¥5ø23Ð3Ð¥"4H\5Ò5Ò5Ò3ª5À5À3˜3˜-j-j3†¦-V5š3r¦5†5†3^¦$4DTdv5^5^365N3&3&5>35>5.32Ê52ö42,Ê2æ§4ü2Ô§.@4Ü4Ü3ð4Ì3à3à,x3Ч4ª3¾§.@4Š4Š1j4z1Z1Z,&1J§4X18§$4DTdv4242421ú4"4"0¼444443ò3ò0œ+ž3â¨3Ð3Щ"4H\3®3®3®3®3œ3œ3œ3œ+F+F3Šª+23v3v«3b3b3b«"4H\3>3>/è2R3,/Ö2@2@*Ö*Ö2.«*Â/°2«2ò/œ2«"4H\2Î2Î0¦1â2¼0”1Ð1Ð*f*f1¾¬*R0n1ª¬2‚0Z1–¬&:Pf|2\2\/ø/ø/ø2H/ä/ä/ä/ä)ð)ð)ð/Ь)Ú)Ú/º/º­)Ä/¤/¤/¤­1ò/Ž/Ž/Ž­"4H\1Ì1Ì/h/h1º/V/V/V)d)d/D®)P/0/0¯1€//¯ 0@R1\1\.ø1L.è.è1<.Ø0P(è.Ȱ1.¶° 0@R.Ð.Ð.”0è.À.„.°.t.t(„.d±.Ž.R±"4H\.l.l/¨/¨.Z/–/–/–(,(,/„±(/p/p². /\/\²"4H\-ü-ü-ü/8-ê-ê/&/&'¼'¼/³'¨-Ä/³-°-°.ì³"2BVh-Š-Š.Æ->-z.¶-j.¦.¦)$x-Z.–'V'*.‚´-4.p´&6FVfvˆ.H.H.H.8.8.8.(.(+¾..,Ü+ž..'¨-ø-ø&-èµ-Ö-Ö¶"4H\-´-´-´-´-¢-¢-¢-¢&8&8-·&$-|-|¸-h-h-h¸ 0@R-D-D*Ú-4*Ê*Ê-$*º-$%¼*ª¸-*˜¸.@,â,â*®,Ò*ž*ž%j*ޏ,°*|¸.@,,%P,€%@%@%%0¸,^%¸"2BRd-&)Ð*Â--)À-)°)°,ö) ,ö$¢)¹,Ô)~¹"4FZ,²,²)\)\, , , )J$J)8º$8,|)&º,h,h)º$6H\p,B,B(ì(ì,0(Ú(Ú(Ú,(È(È+2#È#È(¶»#´(¢(¢¼+ä(Ž(޼"4H\+À+À)\*Ô+®)J*Â*Â#X#X*°¼#D)$*œ¼+t)*ˆ¼"4H\"À"À(ì"À"®(Ú"®"®"è"è"œ¼"Ô(´"ˆ¼"t( "t½ 0@R&ð&ð'Š'z&à'z&Ð'j'j"l'Z½&®'H½.@&Ž&Ž&Ž&~&~&~"&n¾&\&\¿"4H\&:&:&Ô&Ô&(&Â&Â&Â!Â!Â&°¿!®&œ&œÀ%î&ˆ&ˆÀ"4H\&d&d%Ê&d&R%¸&R&R!R!R&@Á!>%’&,Á&%~&Â$4DTdv%ð%ð(Z(J%à(J&Â%Ð(:%À(*%À%°(( ²( Â%Ž'øÂ 0@R%l%l%l%\%\%\%L%L'¶ N%<Ã%*%*Ä"4H\%%%%$ö$ö$ö$ööö$äÅâ$Ð$ÐÆ$¼$¼$¼Æ"4H\$˜$˜$Î$˜$†$¼$†$†††$tÇr$–$`Ç$L$‚$LÈ 0@R$($^$($N$N$$>$$ #øÉ$#æÉ.@#ü#ü&0#ì& & ¸&É#Ê%þÉ.@#ª#ª&Ê#š&º&ºf&ªÉ#x&˜É 0@R#V#V#V#F#F#F#6#6##&Ê##Ë.@DDD444°$ËÌJ"4H\"š"š"š"š"ˆ"ˆ"ˆ"ˆRR"vÌ>"b"bÍ"N"N"NÍ 0@R"*"*ê"ÚÚ" Ê$>ÖºÍ!è¨Í"4H\!Æ!Ɔ#ú!´t#è#è~~#ÖÍjN#ÂÎ!z:#®Î"4H\!V!V!V! !D!D!! üÎú! èÎ! ! ÔÎ(<Rh~! ! ! ! ##!Š!Š!Š!Š#–––"î΀€!`"ØÎj!J!J"ÂÎ!4!4!4"¬Î$6J^!!!"†"† ú ú ú"r"`Ïô Ô"LÏ À À"8Ï$6J^ œ œ œ Ø Ø ˆ ˆ ˆ Ä–– ²Ï‚ b žÏ N N ŠÏ$6J^ * * *88   $$$ÏðþÏÜÜêÏ 0Bºº!2!2¨¨! ¸!І þÐ 0@Rdd TD€ ¼TpÐ"^Ð 0@Rðþ hàîîðÞоÌÐ"2BRdšššŠŠŠÔzzjj¢zZÑHHÒ.@dddTTT(DÒ22Ó"4H\þþþþÐÐìÔ¼ØØÕÄÄÄÕ.@jjjZZZfJÕ88Ö 0@RVFFö6&ÖÔÖ.@´´¾¤®®°žÖ‚ŒÖ.@bb¤R””^„Ö0rÖ.@¶¶¶¦¦¦ –Ö„„× 0@RbbÆR¶¶B¦¨–× „×"4H\þþþþììììPPÚØ<ÆÆÙ²²²Ù.@,,ôääæÔÙúÂÙ.@ÚÚÐÊÀÀ”°Ù¨žÙ.@BöÙääÚ"4H\üüüêêêêêØÚÖÞÄڰʰÛ"4H\ââºâШÐÐzz¾Ûf‚ªÛ–n–Ü"4H\rrr` ``  NÝöä:Ý&Ð&Þ&:Ndzªªì––””ìÞ€€nØÞjXXÂÞ˜BB¬Þ"4H\†  tt  bßöäNßÐÐ:ß"4H\¬¬šššòà†ÞÞá`ÊÊá"4H\¦¦<¦”*””**‚ânâZðZã"4H\666Ì$$ºººº¨ã¦þ”ãêê€ã"4H\ÆÆÆŠ´´xxJJfã6ŽRãzz>ã.@XXH  àüä&êä 0@Rðð„àttÐdä|Tä®Bä"2BRdzþþþîînÞåÌÌæ"4H\ª*˜®®æšròæÊ^Þæ.@€€¨p˜˜DˆçNvç"4H\,,TTBBB ì ì0è Øéàé"4H\ŽŽää|ÒÒÒ | |Àê h¬¬ëB˜˜ë"4H\ttLb:þþ ìë øØë(Äë"4H\® òœŽŽ œ œ|ì ˆvhì¸bTì 0@R X X¦ H–– 8† ê vì dì.@D ö ö44 æ Î Öí ÄíH"4H\tt‚ìbpÚÚ p pÈí \J´í(6 í"4H\@|ò.jj Xî ìDî¸ô0î$6H\pööŠŠäxxxÒffæ | |Tî h@@ï˜,,ï 0@RLL<øø,èh Øð Æð"4H\¤¤¤$’’ ¨ ¨ð ”lìñXXØñ.@66¶&¦¦ >–ñ„ñ.@ää úÔ ê êì Úñ² Èñ.@’’Ö‚ÆÆš¶ñ`¤ñ.@@@D044H$ñña.@DD þ4 î îð Þò Ìò\"4H\úúèòüü’’êò~ÌÖò®¸Âò.@ŒŒ–|††(vóZdó.@DDN4>>Ö.óôd"4H\ààt ôÎb â âxx Ðôd< ¼ô”( ¨ô.@rrbööæõ@Ôõ.@´´ 4¤ $ $¼ õ‚ ö"4H\ Ì Ì à º Î Îdd ¼öPè ¨ö €Ô ”ö.@ ^ ^² N¢¢ú’÷ ,€÷.@`` P  ¨ ÷. îø"4H\ ¸ ¸| Ì ¦j º ºPP ¨ø<D ”ø l0 €ø.@ J J :þþæîù Üù.@¼¼ ¬ ü ü” ìùŠ Úú.@ÌÌD¼44B$úšúS.@ttDd44ê$úBúU.@l \\’Lúê:ú.@ÊÊDº44@$ú˜úN 0@Rppº`ªªPš ÖŠú.xú.@øþèè„ØúÜÆú.@¼¼v¬ff2VúŠDú.@jjîZÞÞàÎú8¼ú"4H\`fNTTˆˆBût(.ûÊûV.FJJœ:ŒŒ|üdücÒ:0Ó"Ò±ÕQQTUc KTU STc iGT»KG  GL¾è kFGL lFG"ê¼$F •EFG½ÜE ')EN"UÙT) mg)DK DKM¾p/r+DIK µ’ònsfþDKTê¨ úKT omDT.h qDÌð¾ó°/.w ILc:v(@òõ*nKLTV uLMVÐM.y )LMâ—<(.H xIL¶L-,nIKL×I1 %IJ   INýILNT$ûprùoqDLT(T –DT¾ D "DN({)ILNb ~Lb1b98:)DLVb ;GLV <DKLJ· ?KL BKLBC5 EL GFDLHUDKŽÈŽ IKŽ*J. DKKNDKLTPOGHKLTRQGHLTSTDTŽ KŽ WjDŽXihkDLaŽYlKL\d [ZKd\EKd ^]EK_EFK a`FKcFGK dbGK vz|{wstx GILMNQSUV yQV uQcpyzo-4.12.3/pyzo/resources/fonts/JetBrainsMono-Italic.ttf000066400000000000000000004047241421373005400234140ustar00rootroot00000000000000 DSIG ÌGDEFjÄTGPOS ÄhGSUB® ê”ÄxEROS/27¶¿1¨`cmapŸ&…2@`cvt @` êxÈfpgmPÀü<  ýgaspÄLglyf'„ªµ#tôhead· ¤,6hheaÿËïd$hmtx|™`ý6loca(vÉ$@2maxp˜-ˆ nameApsn£h3post¸(|©œ­prep¦íªE Öºááï_<õ èÚOH¼ÚP~ùÿÕÙÔÿXùÿƒÕ˜¸ ¨xÌç ýXŠXKŠX^-E €JB à³ÔÿÔõ—&Ð X!X(&¢.-]7(+8- (6(//7.(U#(7(+a3l/ÿö^#Ö3&B8ÿù >2TW9@ †/(,<1.m,\^C-ÿú®rO9²!´ W»-78: R^V'^K,@Ûû¨ýÞûJý¢þù.þ7û¨û†þýÞû†ýáýáþµþ›û‡û-ýëþŸü•þݱ¼ÿõ–fú¬[-†ÿçªå7Ö õç«6&?EÝ6ÈáF¯¡?EFB////....:::::.????^^#6666<<<<----;;;;;4EEEEII #ÿëÿìU666BFBFBFB(#/</</</8/<;;;;;;((.-.-.-.#&#&:;:;:;(>(>.4.4.4a?E?E?E?E/9^I# # /9/9/9û æÈá ª«á˜˜U?«TU4&a#(+;]]>(U]aT(U#¹K .( aT7;( T.Mÿýÿìÿh.J8ÿù<Ç̺§²¿Åƺ§´Å*$ gC+-.ÿù&#ü‚ûÂû±ûþþýÙ(:((B/(ÿö6<;DQ((#a7ÿÓ(#.4-ÿâ(ÿû=1ÿáÿÑh!S(<2(ÿá7'+;FÿÓ=80=ÿöC .2/..- 7770(+hQ((ÿÈÿÒ&(&&447ù»þlþvþNþLþlýÀþú§üXþ~ýþþRþˆûþü!úÊü¯þ…78,6(ÿëÿÒ7=)=*Û "#ûÌþ©ü¡þYþYû‡þšþaþƒþBýÐûwùþƒûùþžþ]þžþjþjûJüÿØþ[þ[ý¬û‹û”ûåûðû”û”û”ù<û¹û¯û’û’û’ýêûŸþû¯û¯û¯û”û”þ þ§û}û}û”ýìþRûƒýïûÎýøýöû³ýÙý»ûŸý÷ýÍþûïýÎû”ürþqþþýÕþHþWûÌþgüeþgüRý±ý±ýóý±ý²ý²ûZý²ý²ý²ÿçý×ù.Z( ( ÿ°- -i2ÿŠÿöÿö^¬- V:Š€ /9OZ~¬ÆÏÿ !’7ÇÉݼÀ O\_‘…     " & 0 3 : D p t „ ¬ ½!!!"!&!.!”!™""""""""+"H"`"e%ˆ%Êàà¢à³ÿÿ 0:P[¡®ÇÐ "’7ÆÉØ»ÀQ^€     & 0 2 9 D p t € ¬ ½!!!"!&!.!!•""""""""+"H"`"d%ˆ%Êàà à°ÿÿ[ÿõ ÿÎÿâÿàÿÝÿàÿ'ýÕÿVþPýSâ­âƒáAáXâbàKá@á á àÿßÓáÂá ágàOàëàíàóàà ààßùßíßÑß|ß¼ÝÜP"8!ß„ È$R®´llvvŒ$ "&*MPQdRbOWFE9D)GIJKLNa UHc\V’*+,X-. / 0Y123Z45678STŽYuvtws™WxƒpXC_{|“ihgžzy‚…†‡Z£¤¥¦§¨lÚØ²³´µ¶^ܸ¹º»½]n•¿ÀÁšÂm¢ÃÄÅÆÇÈÉÊo–ËÌÍÎÏ]ÝÑÒÓÔÕÛÖíîÙaLbÿcUŒzø÷deJK‹VMENQRABßÞ IG  [  jkPO·Ð_`fST !"#$—˜ ¡%&'(¼)*+,¾×Ž\FHD‘ŸŒ”€Ýöåò´Þßàïíõçé뚪›­¾ž®²«³Ÿ½ ˜™©œ¬¿À¡¯Á±°º¹¸¼·»¢ÛÐÉÈ£ÏÚÄÍÊÇˤƨ¥Î¦Ì§ÖØÑÒÔÙÓÕ×ÅÃôæñµ¶áâðîóèêìf[†‡Šˆ‰‹‰Š€–ˆ‰Š‹`‚Ž eMPQdRbOWFE9D)G:;<=>?@ABCIJKLNa  !"#$%&'(UHc\V’*+,X-. / 0Y123Z45678STާ¨©«Ø¶»¿•ÀšÁ¢ÄÃÅÆÈÇÉÊ–ÌËÍÏÎÒÑÓÔ‰Cuvs€hnXWq“™ÜlÜ_ !wixymÝZYprƒ‚g£¦µjkf[ˆ‰†‡]Ö¼„„…ŠgŠ‹ˆ¥¬¤­ª¯°±®³´²¹º¸z›Œ‘ž”Ÿœ°, °UXEY °(`f ŠUX°%a¹cc#b!!°Y°C#D²C`B-°,° `f-°,#!#!-°, d³BC°C ``B±CB±%C°CTx ° #°CCad°Px²C`B°!e!°CC²B °C#B²C`B#°PXeY²C`B-°,°+°CX#!#!°CC#°PXeY d °ÀP°&Z²( CEcE°EX!°%YR[X!#!ŠX °PPX!°@Y °8PX!°8YY ± CEcEad°(PX!± CEcE °0PX!°0Y °ÀPX f ŠŠa ° PX` ° PX!° ` °6PX!°6``YYY°%° Cc°RX°K° PX!° CK°PX!°Ka¸c° Cc¸bYYdaY°+YY#°PXeYY d°C#BY-°, E °%ad °CPX°#B°#B!!Y°`-°,#!#!°+ d±bB °#B°EX± CEc± C°`Ec°*! °C Ра+±0%°&QX`PaRYX#Y!Y °@SX°+!°@Y#°PXeY-°,° C+²C`B-°,° #B# °#Ba°bf°c°`°*-° , E °Cc¸b °PX°@`Yf°c`D°`-° ,² CEB*!²C`B-° ,°C#D²C`B-° , E °+#°C°%` EŠ#a d ° PX!°°0PX° °@YY#°PXeY°%#aDD°`-° , E °+#°C°%` EŠ#a d°$PX°°@Y#°PXeY°%#aDD°`-°, °#B³ EPX!#!Y*!-°,±E°daD-°,°` °CJ°PX °#BY°CJ°RX °#BY-°, °bf°c ¸cŠ#a°C` Š` °#B#-°,KTX±dDY$° e#x-°,KQXKSX±dDY!Y$°e#x-°,±CUX±C°aB°+Y°C°%B±%B±%B°# °%PX±C`°%BŠŠ Š#a°*!#°a Š#a°*!±C`°%B°%a°*!Y°CG°CG`°b °PX°@`Yf°c °Cc¸b °PX°@`Yf°c`±#D°C°>²C`B-°,±ETX°#B E°#B° #°`B `·BBBŠ` °#B°a±+°‹+"Y-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,± +-°+,# °bf°c°`KTX# .°]!!Y-°,,# °bf°c°`KTX# .°q!!Y-°-,# °bf°c°&`KTX# .°r!!Y-° ,°+±ETX°#B E°#B° #°`B `°aµBBŠ`±+°‹+"Y-°!,± +-°",± +-°#,± +-°$,± +-°%,± +-°&,± +-°',± +-°(,± +-°),± +-°*,± +-°., <°`-°/, `°` C#°`C°%a°`°.*!-°0,°/+°/*-°1, G °Cc¸b °PX°@`Yf°c`#a8# ŠUX G °Cc¸b °PX°@`Yf°c`#a8!Y-°2,±ETX±EB°°1*±EX0Y"Y-°3,°+±ETX±EB°°1*±EX0Y"Y-°4, 5°`-°5,±EB°Ec¸b °PX°@`Yf°c°+°Cc¸b °PX°@`Yf°c°+°´D>#8±4*!-°6, < G °Cc¸b °PX°@`Yf°c`°Ca8-°7,.<-°8, < G °Cc¸b °PX°@`Yf°c`°Ca°Cc8-°9,±% . G°#B°%IŠŠG#G#a Xb!Y°#B²8*-°:,°°#B°%°%G#G#a± B° C+eŠ.# <Š8-°;,°°#B°%°% .G#G#a °#B± B° C+ °`PX °@QX³  ³&YBB# ° C Š#G#G#a#F`°C°b °PX°@`Yf°c` °+ ŠŠa °C`d#°CadPX°Ca°C`Y°%°b °PX°@`Yf°ca# °&#Fa8#° CF°%° CG#G#a` °C°b °PX°@`Yf°c`# °+#°C`°+°%a°%°b °PX°@`Yf°c°&a °%`d#°%`dPX!#!Y# °&#Fa8Y-°<,°°#B °& .G#G#a#<8-°=,°°#B ° #B F#G°+#a8-°>,°°#B°%°%G#G#a°TX. <#!°%°%G#G#a °%°%G#G#a°%°%I°%a¹cc# Xb!Yc¸b °PX°@`Yf°c`#.# <Š8#!Y-°?,°°#B ° C .G#G#a `° `f°b °PX°@`Yf°c# <Š8-°@,# .F°%F°CXPRYX +.±0+-°~,±>+°@+-°,±>+°A+-°€,±>+°B+-°,±>+°@+-°‚,±>+°A+-°ƒ,±>+°B+-°„,±?+.±0+-°…,±?+°@+-°†,±?+°A+-°‡,±?+°B+-°ˆ,±?+°@+-°‰,±?+°A+-°Š,±?+°B+-°‹,² EPX°²EX#!!YYB+°e°$Px±EX0Y-K¸ÈRX±ŽY°¹cp±B¶G3#*±B@ ZN:* *±B@ `TD2! *± B¾ÀÀÀ À@ *±B¾@@@@@ *¹D±$ˆQX°@ˆX¹dD±(ˆQX¸ˆX¹DY±'ˆQXº€@ˆcTX¹DYYYYY@ \P<,*¸ÿ…°±D³dDDPPÐ&ÿ[Ôÿ Úÿö0ÿöÿ[Ôÿ Ú&ÿûÿ[Ôÿ Ú&ÿûÿ[Ôÿ PPÐÚ&ÿ[Ôÿ Úÿöý0ÿöÿ[Ôÿ 77ÿÓÔÿ ÿÎÔÿ 77ý¸Ôÿ ³Ôÿ 3333`­%MŒá.qØ/«Ñ1m½ IwŸðZ‰«Sç-³ç  y Æ þ . O Ø m ½  † ç O ¢ ý6h¼I†¡ÿ7ñ~ç0µ7ráøF{¡Ço è=Ê+Ae‚©B·ãý/•²ïžEhÛÛõ <T²þ;¤ `«Ü ‰´ó ( _ ü!m!–" "¸"×"ð#\#‰#®#þ$J$z$§$Á$Û$ú%%3%V%º%Ø&<&n&&Û&ø''<'›( (5(W(’) )<)l)¡)Ý**S*Ž++[++«+ý,$,O,Ð-'-h-”-½..9.f.‘.Û//:/‰/­/ã0-0S0}0¥0Ì0ñ11•1ý2ž3 3?3’3Ë4!4G4„4¯4ï55G5m5½5ö6+6J6j6Ž6Ã6ë7-7T7ž7ë888Æ9=9¡9ú:):N:­:Ö;C;n;àŠ>±>å??J?Ž?Ä@ @‰@µ@îAArA A÷BCB“B¿CCpCÅCíDDZDÒEE5E‡E¬EïFF2FXF~F¹FóG9G•GÆHH]H«HáII—JJAJ‘JÝKK!KKKoK›K¿KñLLHLtL±LêM(MMM¨MÑMÿNANqNµOO>OTOmO„O°OëP!PXP¥QQ'QAQWQyQÅRR-RRR…RÆRìSS9S—SÅT*T|TÄTóUUkUU¶V4VYWWšWÓXBX¬XßYYNY|YÍZ†ZØ[[O[w[¿\\@\…].]¹^^´_„`#`R`ÏaaÉb0b…ccQdd>drd»e2eye¶e×eòffXf”f¬gUgÙhqi7iUi­iÊiöj;jjôk_k’k°mmIm—m½nn:nSnonn®nÕnóoo0oLošoÅoÞpp$p=pzp›pÜq!q;q\qqÇqùr"rˆrÀrçss-s¦sât/ttt¶u uMu–uÌvXv¢vÍwwKw…w¦wëx`xÃxðyOzzCzgz¤{{6{p{¬{í|I|}|ë}3}™~~x~´~Ü~ú$FmŽÆþ€#€q€š€À€ü(cžê‚P‚ă5ƒ†ƒÕ„<„·„ÿ…W…Þ†$†$†u†Ù‡ ‡1‡ž‡Ì‡ýˆMˆ­‰‰[‰¢‰ÆŠ“‹Œ‹¿Œ"ŒˆŒÉy™ÓŽzŽÚ)d¡$`¥ï‘\‘‘ԑê’’>’w’¹’Ú““*“Q“¼“ç” ”2”r••Ç–Ì—;—œ˜˜Œ˜ú™O™z™¯š œÅœè _§žžhžÊŸ.Ÿ   k Ø¡=¡¥¡ý¢9¢í£(£|£Ý¤¤H¤±¤ý¥D¥³¥ï¦µ§A§­¨¿©nª)ªÊ«W«Æ¬¬i­­£®/®g®¾®ö¯7¯[¯â°I°¨±v±¿±ø²)²^²¡²å³;´´´ïµf¶(¶…¶ý·‚¸F¸œ¹¹ÁººKºÖ»»g»©»ö¼4¼©¼ö½C½½Ý½ô¾S¾Å¾Ö¾ú¿ ¿/¿D¿^¿¿ï¿ú!7Ð 1@. LgW_O+3!%!'!!r¤rþª,Y þÔYÐý021;ýÏ(:Ð '@$h'9Z8 38:O 8&_274I-þ—_@EG>þ¡ÿ[0+g@ LK°PX@a?MaEMAN@ ?MaGMaEMANY@(&!)$ +336632#"&'#326776&#"qSY<*?'':I*32#"&7™ :=M_=NK°1PX@_HH>8>HH>dr8O0þÈdr8O0(ÚpµLK°PX@>MaGM=NK°1PX@'9Z8 38M?M=NK°1PX@h32373##732677#'326776&#"Ú+@)':J+FB:b>FF>-A S³2+7%667677&'&'%7 þ0N þâ |d×^–  ™U ÿ› H/5@2€igYaQ)!)!'  +3233#"##732677>77.776&##Ÿ-YW$&!n n + "8J,- -08"0($ *0-HWO¤& P &¥'>+P++¥1%&2¤++Ð %@"Lh?{'{AP/89z$y9M@QZM`kÐfþb32#&&#"32677#%ì‡g2M01+BV3[e\>5³Pýý1P81D*09(uÐ '@$Lh73#&&'&'##•ruNVrrqNVÐþ/$/êý0ä0/þ(MÐ*@'g_HH>8>HH>(@Ð2@/ Lg_3237333#"&7##".26776&#";&8H)<@SD+ @+1S<)>& Ç4H 35;M  7ÍŒ1O881_þON7+188OXB;¡MaGMbENK°PX@MaANK°1PX@ g_>    ^H¡ ¡@ á á>u^¥P63‰R_BJR:_RþwY` ÿ[ý[K°PX@ aFM_?M_AN@i_?M_ANY@!% +#7!##732>732##"&766qæ @N/FY3x x 6+…*+ÔRþ0Q; S$3Æ" " .0&V¶ LK°PX@a?M=N@?MaGM=NY@&&$#%$ +333663236632#6&#"#6'&#" WE  8(&, 8(0- BLB$BLB #!B&Q,/0+,/LAþ]£#'%"þ]£1þb>,0ZµLK°PX@€a?M=N@€?MaGM=NY@ #$ +3336632#76&#">WS\<*@'X 6;32#"& _ :<II>6>II>þÊ61P8tcþÊ1O8t(òÐ'@$L1#7733( ÁPœ¬se¢ Pù  `[ný€P)Ú**@'€aDM_=N"+1 +63623!!77>76.#"#6632" 8R9‡   þ>Ù1G0 +@T ]Œi/J1+NLN,hRd¢%A@A$- @8^j6I,ÿö*Ð12@/€g_N,\CŒ þË+ ;Ìqa20N6WI$,F<2ù3P3 L?¬m¾!  /",E,/GY} 07+ 17+ ;Q1?‰Rãð (   :Q22S;!á!5&&6 !5&&5mMÐKK° PX@r_ ,ÿö-Ú AE@B7$LiaDMaEN.,AA  +"32>76&"32676&'2#".7>77.7>0>V >>6* @ 9L 877N 6-0K0(5A@ -EZ55P3-;!, *ATVK>=O%4>K9B67HH76BK2F+6+ ^E.N76M.#<.*6+F2\8Ú17@4€iaDM=N.,$"  +2#766767##".7>32>76.#"m3P3 L?¬m¾!  /#,E,/GY} A=7+ 17+Ú ;Q1?‰Rãð!'   :Q22S;!áAP&6 !5&&5^'úr@W_O +!!j þprKCZ: IK°PX@†h?N@…†W`PY@  +3733##7#N¾ P ¾ ¾!P!¾mÍÍFÍÍ-]>b7.@+7L.-($#IWaQ43 +7&&773>77'&&'#'7667'&&''XT>X  $$\\ P +M+*BCBCKTÖ +Q#__''# W  N1NIJN3N7 ÿúÿ’Q>@…v +3#ðaþ a>üTÿ’¸>@…v +#3¸[Î[n¬®ÿö0 @aGMaEN$$$" +76632#"&6632#"&³4%%&6$%%F5%%%5$%&G#..#%,-¼#..#%,-rÿ`»0*@'€aGMAN  +%#6632#"&u³P5%%%5$%&—þÉ7H#..#%,-OA/S³ 2+%7%™  þtÐþ² L–Y×d×`• 9ª$ê"@gW_O +7!!!!F¸ þH3¸ þHúP@P²ÿûŸÐ +@(€NK°1PX@ _<N@W_OYY´ +3#7Ea#J Ú–––´®Ú \K°PX@_>NK°1PX@_<N@W_OYY@   +773!773 a#þë a#®–––––––– NÐG@Dh  g/5@2€igYaQ)!'!)  +#".7764&&##732>776633#"33Á-,C*$'!n n + rY- -07#0)$ +0-n+>'¤& P &¤OWP++¤1%&2¤++»ÿ’ª>@…v +3#PZ•Z>üTÿ’>"@gW_O +3#3#"õ ›{› õ>PüôPÿœðÿç ±dD@W_O +±D!!à þ K-ÿƒÀM³2+766776.'ÆCd= 1þÈj„ )F/MHeI¾þÅK]—y¾Ú*¯¶ LK°PX@>MaGMa=NK°PX@323>773#7##".26776&#"?'9I*N  7ÍŒ0P881 ´ý&_188PYB9©8BI@Œ@I8ÿ["0*e¶LK°PX@aGMaEMAN@ ?MaGMaEMANY@(&!  +".77>32373#766767#'326776&#"Ö*?''9I*N 8P0Œ0P881_ý5¥ 18×@IB9§9CI@:ÿö!&@?MbEN#" +733273#"&I8Z:xy8X8|fb[Âdþœ}}dþœbjl 'Or@W_O +!!: ýÆrKRJ Ð!±dD@L…v +±D3#&'&'##CTsMF XÐþz þü^UúDbK°PX@geaGN@#igYaQY@  +!!32##"&76632##"&766j þp¬ )(Y )(rKZ" "w" "Vˆ ³ 2+''7'77¨w7w¤/¤w7w¨ב1ŽŽ7Ž0‘'-T =@:…€h_ =N    +73733##77!V ¾ P ¾ ¾!P!í Ì AFÍÍFÍÍþ¿FFÿÿ^'úrD@W_O#+ÿ[WÚ0<}¶LK°PX@'i iaDMaAN@.€i iaDMaANY@21751<232#7#"&77663266776&#"33#".%2776#"2 6Qk?9V6EG)^?5 R>X  KN[u2,E-F F@a=dT Y". };DkK(7R6þMbl[TPS\_ 2LJsiþÅ0P8K)KlEjMy:6P6:ÿö9Ð&2±@,*!LK°PX@)ra32#6&#"73#'#"&2677' B5"5F*YV Z-.*8 …Xc[c1*]7RO³!Bw$(›}5F )= $;*XN)/.&*ê|Ç¡U1.W+*Ï,!}),Kÿ’Õ>"@gW_O +#73#73@õ ›{› õnP P,ÿ’146A@>2.-L€~iY_O"$ +7332676&''&&7667573#6&#"#77.1_ /@S,0GJH eR Z ';'_;59IbKKC r\ Z )?)¹*:3-FiAQ` PP  1@&0?61V&nHTb PP 2B@'r@W_O +!!LÌ þ4rKÿÿÖ³)@YaQ$# #+û¨#q *@'L…†W`P +!&&''3#77!ûµê•a¸þìmãú r ëþÙþÙïÿÿýÞÿ’>"GÄGýä@…v %+ÿÿûJÿ’>#Fýu‚#FÿÂGûP˜@pQPI>8 gfa]\/.)%$ LK°PX@…†_>NK°PX@…†_<N@…†WaQYY@tsrqmlUTCB54 "+ÿÿý¢ÿ’ >#Gý¨FÿÍ‚|@< 32-)(LK°PX@…†_>NK°PX@…†_<N@…†WaQYY@ 98!  $+ÿÿþÿ’Q>#FýÚÿ°G_@8/.)%$LK°PX@…†_?N@…†WaQY@ <;:954 "+ù.ÿûÿÐ$P@ML€ €  €h^ýû  ÏýÁ†JâXâO§¬Yádáþ›ÿ¶T¼@JIv& +7%663337&'&&'%77Tý{  þ2ýzÛdá^­©Xþ6[á[û‡e!0 !1“·"KK°PX@(W  W   e  aGN@*  g  g e aG NY@* 0.(&!      +7!7!!7!%7!!&76476632#"476632#"&û­ ! ý¹ ! & ! þ ! ü !1""$4$Z2$ ,(!%šPPðPPPPðPP1 && %+æ$+ #$,%ûÿç-²K° PX@-…q  g  g _?N@,…†  g  g _?NY@ +%#7!7!7!7!7!7!73!!!!!þNmUmý† §]ý ]ü— –qTq~ ýU\õ üÝ\m n‡‡FsFsFŒŒFsFsF-& '@$_?M_=N  +373#7!3- È=¯  J¥ R‚Rþ,RýëÿöÐ,NZeä@`T1^RI(%" LK°PX@2ra=;9,*'&$# +3&&77667'&&7465>32#6&#"73#'#"%7667'&&7>32#6&#"#'#"&2677'!2677'F0*  C4"5F*YV Z-.*8 …Xc[c1&\<'ý• A6"5F*YV Z-.*8 c1*]7RO±!Bw$(þ-!Bx8 (O<}6E ';$;*XN)/.&(ê|Ç¡U-2¥}5E )= $;*XN)/.&)/þ*U1.W+*Ï,!}),+*ÏD}),ÿÿþŸÿ’n>"TÄTýä@…v %+ÿÿüÿö%¥#)ûº#)ý¨)–@aEN$$$$$# '+ÿÿþØÿö?¥#)þ)°@aEN$$$# %+ÿö=Ú+W@T€ €g  gaDM a E N++(&$#!"# +7737#7376632#6&#"3#3#32673#"&77 I I H †f[dX<632#".µ'1+ '1+ c."".."".¼ÿ’«>"@gW_O +3#3#QZ=ZZþ„´þ„ÿõ(;!,@) LW_O!! +%667677&'&&''3##7667677&'&&''3°  ‘h£ïnéÒ  ‘h£ïô  ÌððÌ  Ìðð(X!$@!LW_O +73#773#ïjÌ  hEïjÍ  hðÌ  ÌððÌ  Ì–(ò@LW_O +3#'…mË   f¤Ì  Ìðf(¿@LW_O +#767677&'&''3¿ìmÌ‘fðÌ  ÌúÐý@…v +3ú³PÐ7þɬѯ@…v +#¯³PþÉ7[Ðq@…v +3#3#!P‚`P‚þÉ7þÉ-ÑC@…v +3#!3Á‚³Pþ킳þÉ7þÉÿÿ†ÿ`‰—9@…AN "+ÿçÿ`ý—@…AN +%3#!3{‚³Pþ킳—þÉ7þɪŠHo±dDK°.PX@iYaQ@*€€iYaQY@  +±D26773#".#"#76632ÍA D4"(A D4"(Ë:>:>å·ô ±dD@W_O +±D!!ð þüK7ú,Çm±dDK°.PX@iYaQ@)€€iYaQY@  +±D%".#"#7663232773*/ U M<*/ U Mú"7FF=E"7FF=EÖ/(±dD@…YaQ$" +±D332673#".ÛJ,,-8M!3B'%;' &%!2#$1 ­«% (±dD@YaQ    +±D32##"&766Z )(%" "g9 *±dD@iYaQ$$$" +±D6632#"&732676&#"$L668M667D%$Ð09900990õй ±dD@W_O +±D3#õnVZ’ÿÿèŠÃƒ’:À #@±dD@…v #+±Dÿÿ¬Šf£’—ÀF@ƒ’_ÀF@%±dD@W_O %+±Dÿÿ3ÿö"*’¦¶ LK°PX@!gaGM b=NK°!PX@%g?MaGM b=N@-g?MaGMb=M aENYY@! 10/.(& -!-%!#& &+ÿÿ&H"ŒÉµLK°PX@( i a <8620(& -!-%!#& &+ÈŠ!±dD@…v +±D73#'&'&'#È›FiK-BŠ‘‘9:áŠ+!±dD@L…v +±D336766773#áL. AP›F: 9‘ÿÿBÿö+",œQ@N'L€€gaGMa EN10/."!   !+¯ÿB2±dD@'L……Y`P!( +±D%3##732676&#9!!I6U F33=  #*7¡ÿ8k ,±dD@!…Y`P!& +±D%33#"&7667[ &%< N8:.5 -<1):!ÿÿ3ÿ8CÐ"#Ÿ jK°PX@!rc=<;/.#! -- !+ÿÿ3ÿöC¼"#’ zK° PX@g<8620(& -!-%!#& &+ÿÿ8ÿö"-’O@L€g gaGMa EN('&%$$!  !+ÿÿ8ÿö"-“ŽK°PX@2…p€ gaGMa EN@1……€ gaGMa ENY@)('&$$!  !+ÿÿ8ÿö"-›Y@V… …€ gaGMa EN%%%4%4)('&$$!  !+ÿÿ8ÿö'"-™“K°PX@3€ g a FMaGMa EN@1€  i gaGMa ENY@!;953/-)'$$!  !+ÿÿ-"z’3@0g_?M_=N    %+ÿÿ-"z“bK° PX@"…p_?M_=N@!……_?M_=NY@    %+ÿÿ-"z›=@:… …_?M`=N       %+ÿÿ-'"z™gK°PX@#aFM_?M_ =N@!i_?M_ =NY@!    %+ÿÿ.ÿö"’)@&gaGMaEN%'%# '+ÿÿ.ÿö"“VK°PX@ …paGMaEN@……aGMaENY@ %'%# '+ÿÿ.ÿö"›3@0……aGMaEN..%'%# '+ÿÿ.ÿöH"Œ‡K°.PX@* ia MaGMbEMANK°1PX@ MaDMaEN@ …†aDMaENY@!&& +7&7663273#"'&#"3267] 2‡gS3,ZZ 2‡gP21w?~/=þÈdr'E‹'H>þÈ`#H>0ÿìÿâaN )D@A ) L…†aGMaEN$"&( +7&77>3273#"'7326776''&#"_ +BV3J05_c ‡gO0/l1M_=NK°1PX@_.>9764(& -!-%!#& &+ÿÿ6ÿö3¼"“ „K°PX@0…p€~aDMaEN@/……€~aDMaENY@!   !+ÿÿBÿö",“„K°PX@0…p€~aGMaEN@/……€~aGMaENY@%$#"   !+ÿÿ6ÿö3»"› Q@N… …€~a DMaEN,,!   !+ÿÿBÿö",›Q@N… …€~aGMa EN!!!0!0%$#"   !+ÿÿ6ÿö3Å"# ‡K°!PX@0€~a BMaDMaEN@.€~ iaDMaENY@&#**  !+ÿÿBÿö%",L@I€~ iaGMaEN#!*'!.#.   !+ÿÿ6ÿö3»"œ Q@N#L€€ga DMaEN-,+*  !+ÿÿ(+»"œ D@AL……_MaGMa=NK°PX@)…€323>773#7##".26776&#"3#+'9I*N  7ÌZ]FÍŒ0P881 ´ý&_188PYB9©8BI@Œ@I°’ÿÿ/H¢" 3@0gg_/>3210,*%#   !+ÿÿ7ÿö2¶" A@>  i ghaDMaEN31-,"%")# *+ÿÿ8ÿ[/"•¶LK°PX@/ … i aMaGM=NK°1PX@#… …,"1“ µLK° PX@%…p€a?M=NK°PX@$……€a?M=N@(……€?MaGM=NYY@#$ %+ÿÿ(@»" œ G@D  L…… g_,"1œw@ LK°PX@#€ga?M=N@'€g?MaGM=NY@('&%#$ %+ÿÿ+ÿö2¼"!“ „K°PX@0…p€~aDMaEN@/……€~aDMaENY@210/#! -- !+ÿÿ2ÿö"2“„K°PX@0…p€~aGMaEN@/……€~aGMaENY@.-,+ )( !+ÿÿ+ÿö2»"!› Q@N… …€~aDMa EN...=.=210/#! -- !+ÿÿ2ÿö"2›Q@N… …€~aGMa EN***9*9.-,+ )( !+ÿÿ+ÿB2Ú"!žêµ0 LK°PX@:€~r  rcaDMa ENK°PX@;€~r  €caDMa EN@<€~€  €caDMa ENYY@A@<:97/.#! -- !+ÿÿ2ÿB0"2žêµ, LK°PX@:€~r  rcaGMa ENK°PX@;€~r  €caGMa EN@<€~€  €caGMa ENYY@=<8653+* )( !+ÿÿak»""œ 8@5L……_@;iaBM$HK¬F$"2$J M«Å 7K°!PX@ afN@YaQY@    +32##"&766Z )(Å" "Ù @eafN$$$"+6632#"&732676&#"$L668M667D%$p09900990ª*H»@@=€€iYaQ +26773#".#"#76632ÍA D4"(A D4"(k:>:>«*g¼°K° PX@_fNK° PX@W_OK°PX@_fNK°PX@W_OK°PX@_fN@W_OYYYYY@+73!73s†nšþÞ†nš*’’’’ÿÿáŠ+œ@L…v$+˜ÿYÿ¢@_CN +#7YgZS^’’ÿÿ˜ÿYÿ¢?@_gN"+ÿÿUÐ"g_+@(iM_=NK°1PX@i_M?M=M _CNK°1PX@%hM_=NK°PX@ ……_>M_=NK°1PX@ ……_M_=M_CNK°1PX@!_ÿ,0"1?xµLK°PX@%€a?M=M`CN@)€?MaGM=M`CNY@#$ %+ÿÿ(ÿ@Ð" ?E@B Lg_M`=NK°1PX@#…€_MaGM=NK°1PX@ h'9Z8 38776.#"#>32#".7732673#"&776632#&&#"c-E--N<(-E--N<(7 2Md99Y9  2Md99Y9 Ê# A)b9:N9b A&^+F22F+–+F22F+6Y?""?Y6–6X?##?X6 !_?4‚4?_!nFä+:Cc±dD@X4L €i  igYa Q,,CA=;,:,:9765/-'%  +±D%".77>32'32>776.#"32#'1#732676&##9Y9  2Md99Y9  2MdÛ-E--N<(-E--N<(37r66'*@%66"6n#?X6–6Y?""?Y6–6X?#ð+F22F+–+F22F+ú^90"0 —ŒŒ¾¹ÿ[¦0)@&€aGMAN  +#73#"&766332fM:!))¥ Yþ§½" "Kÿ[Ë0 "nK° PX@%rjaGM_AN@&€jaGM_ANY@    +#"&76633266773#"33#".y*+þ½p[Z2AT ?B} }4O3¸" "þWbi´B;;BU:Qÿÿ Û"?ÿˆ9ºµLK°PX@_>Ma?M=NK°PX@_7qæ @N/FY3x x 6+ÔRþ0Q; S$3ÿÿaÿBkÐ""žâC@@ L€c_M aGM a=NK°PX@&h323>77#73733##7##".26776&#"?'9I*N  7ÍŒ0P881 2K77Ký¨_188PYB9©8BI@Œ@Iÿÿ8ÿ[$8" @XHÀ‡¶LK°PX@( g iaGM_AN@, g i?MaGM_ANY@00030321,*%#   !+(UÐ;@8   h  g33###ýVZ %9J+úrPgZgP,]MP&?-ý0‰ýwÿ[#&-@*L?MbEMAN## +332673#"&'&'#2qZ8 .?>D 8Z8ya18 ¥Ëþœ?dþœbj ˜ÿöÚ -ÁK°PXµ Lµ LYK°PX@!gaDMa ENK°PX@5gaDMaDMa EMa EN@1gaDM_:E;E64"#)"## +77663376&#"#66323676632#32673#"&'&5##".2677#"76&#" _FJ #:UO9**  1"BA Þ) UW9** 6-/ – /H' i ! + ‚<>IJ,(;BFWI‘i&- @G%4 -&i#<"K&--&Kÿhÿ[DÚ<íK°PX@0r_>Ma?MbEMaANK°PX@1€_>Ma?MbEMaANK°1PX@1€_332#"#"&7332676&''&76636&##"##Œ.3?T&:J*I+B+ ZX B!D< gQLS_'#'0# Œ kV/.I->Tu^-U63(B//B(QF= XBLUJB)&$*HO-77-ýîY`.ÿöß&4@LJK°PX@!€j>MaENK°1PX@!€j323&'&&''77'37'32>76&#"÷4O2+AR0(  .§ z6m   u7P.GZ› @? 7+ A@?X ;S32Q:    &WHP5f@EP3o x1S:!áBO&5!BOOJÍ"Ÿ>K° PX@qW_O@†W_OYµ +!#7!VÌ!Pþ„ŸÒ‡8reÚ-5N@KL&K †W g_O...5.543210/-- +336766773#766767##'&&'&5#7!##,:P2N:7( /4(þÕd2<2rhf   fþ˜û    no   û622þÊ6ÿÿÿùÿ[YÚ.…K°PX@ g_>MaANK°1PX@ g_77&'&&766332#&&##"###".32676&''&#"_8*9C bJ$9&(3# w^O__3'3@+-H$:%(5%  {c)C1”"!J &8#"H &7 !)/'I+52&:6JWOB$,& 0  ,52&)N[)8O&7D0#4A_Fi*C@@ LJIeaGN &$* *.# +76327'#"''7&76672676&#"DIJ3;?*c5c  'III9=)e5d …:Q :::S <*?XU?U7>0W?WW?V/@ 9òG::GG::G<ÿ¥€#9@6 L€~iY_O%" +&&7766773#6&#"32673#ÑKJjR Z #8'Z@3733#3##7#)à à €]e ¾b÷ž à à ÃZÃÃKKwþ×  )þ‰KKKxxÇÂÛä&æµLK°!PX@%€iga]NK°.PX@+€igYaQK°2PX@,€€iga]N@2€€igYaQYYY@" &&$"#" +663376&#"#6632#7##"&2677#"Í?1Z(2 B266/ 8#-.n'2Z!'.&*0*Ã7 / # ̽Ïß @ia]N%%%" +326776&#"#"&776632) )§G447 G447&$$P$$P0990P0990º¸ßý!@ L\M`]N +37665#7733!Âv  F OU+kþãê· 6F=þí2§¸Ë.@+L€a`M_]N"') +676633#776676&#"#6632Ã1.f mÿ ‚'()< N69:’?3 2AF&##4>=²³Êý%v@  LK° PX@$r~_\MaaN@%€~_\MaaNY@ %% +".7332676&##?##73&- <!) g d× @.0L³&<@2<, 8+18¿³á -@*a`MaaN   +"326776&"&776632b#* #&( P?7 O??7 OË+%A%+/!A%+þèH?A?HH?A?HŸÆý JK°PX@rh\M]N@€h\M]NY· +373#7#773 t < < ° šE@OÇFT«ÿÿ¿ÿÎá}þ-@*aTMaUN  !+ÿÿºÿÒßzþ!@ LPM`QN %+ÿÿ§ÿÓË{þ.@+L€aTM_QN"'* &+ÿÿ²ÿÎÊ|þv@ !LK° PX@$r~_PMaUN@%€~_PMaUNY@ && !+ÅÿÓÆ JK°PX@rhPMQN@€hPMQNY· +%373#7#773 t < < ° šE[OÇFT«*:Ð@=3?3 2ÿÿHÐ"„#|ÿjÿÓƒ‚- ±dD@ %LK° PX@@r   €  pgW  i  h_ OK°PX@A€   €  pgW  i  h_ O@B€   €  ~gW  i  h_ OYY@653210/.-,  ** #+±D ÿûUÕ!/=AQ_g@d> ? A @ L  ii  a 776&"&776632»C1  &11C1  %11ô!!‹!!.ýÖŸ##I?- D??. EiZ59  95Z59  9ZZ²ZZÁ9ž9M)-)  -)ðE8-8EE8-8Eÿÿgÿ’>"TD ($@!…†W`P %+Cÿ’.>jK°PX@"…† g_?N@(…†hW_ OY@ +%##737#7333#3H3Z3« ª« ª0Z0´ ³´ ÒþÀ@P P,þÔP Pÿÿ+W&Ê'@$Lh?M=N '+ÿÿ-/"z?@<…aMaANK°1PX@_Sv^ÚP63ýóY`P63 Y`&ÿ[0 _µLK°PX@aGM=MaAN@ ?MaGM=MaANY@ %!)$ +36632##732676&#"#ÒX9*?(6)=P/F F6G3 799L 9ZW&_271F+þ«,H3R<5F;CA9þ˜&#ÿ[BÆ)R·"LK°1PX@73##73267&&'&5##q‚s?Vl)=P/F F6GLÆþU%(3ŠýX,H3R<5ä&1þü‚ÿˆ14 -@*…v   +3!3!3B•Z•ýÆ•Z•ýÆ•Z•x¬üT¬üT¬üTÿÿûÂÿ’Ù>#GûÈ#Gý¨Gˆ@…v '+û±ÿöÕÐ,OxƒŽ™@”‰~W1’‡|tJ(%"LK°PX@; r a =;9,*'&$# +3&&77667'&&7465>32#6&#"73#'#"%7667'&&7>32#6&#"#'#"&&&77667'&&7465>32#6&#"#'#"72677'!2677'!2677' 0*  C4"5F*YV Z-.*8 …Xc[c1&\<'û— A6"5F*YV Z-.*8  c1*]7RO[0*  C4"5F*YV Z-.*8  c1&\<'9!Bx8 ()!Bx8 (ü/!Bx8 (O<}5G ';$;*XN)/.&(ê|Ç¡U-2¥}5E )= $;*XN)/.&*þ*U1.WMO<}5G ';$;*XN)/.&(þ*U-2P+*ÏD}),+*ÏD}),+*ÏD}),ûn-& &@#gc_?N +%!!!!!!ûŠi ù˜Fh ù˜h ù˜´F¸FsFþYå9WK°PX@† h?N@"…†W` PY@ +373!733##7!#7#þ%¾!P!¤!P!¾ ¾ P þ\ P ¾lÍÍÍÍFÍÍÍÍþ"ýr#@ W_O +!!!7!6Ç þ9ýß Ç rPPPýÙ#qe¶LK° PX@$pqhW_O@"…†hW_OY@  +%!7667677&'&&''!7!'3#7!ýæ{  üz GVa¸þìm€üÄúP‡þÙþÙ‡ÿÿ(:Ð'@$hMN  &+ÿÿ7ÿö0Ú @a!Ma"N'%%#%+ÿÿÐ%@"LhMN&+ÿÿ(7Ð/@,Lg_M_N!$!$!*'+ÿÿ(MÐ*@'g_MN(!$+ÿÿ6ÿö3Ú;@8€~a!Ma"N !+ÿÿ/HÐ)@&g_M_N'+ÿÿ(uÐ'@$LhMN'+ÿÿMÐ.@+)L€MN00%+ÿÿÿöeÐ&&@# LMN""$+ÿÿ3ÿö0*ж LK°PX@a#MbNK°!PX@Ma#MbN@%Ma#MbMa"NYY@! (& -!-%!#&&+ÿÿ8ÿö0-C@@€ga#Ma"N$$!  !+ÿÿ.ÿö0@a#Ma"N%'%#%+ÿÿ@ÿö0,þ;@8€~a#Ma"N   !+ÿÿHÿ[+&7+@(LjM_N'!##'+ÿÿB&6@LMN%+ÿÿÿ[0g@ LK°PX@aMa"MN@ Ma#Ma"MNY@)'" )$$+(>Ð@_MN+!###š¤rZeðeZÐý0~ý‚(9Ð/@,g_M_N  &!!"+%6&##326!32##© =;‚*‚>Q™ þ»!‡0L1‡gárÓ=JþøE9RÒ 9N/drÐ#CÐ@LMN+313676673#66767##•VN    srVN   þùsÐþ/$/ãý0ì/0þÿÿakÐ"!@_MN$+7WÐ@_MN+!#W þ¬eZrÐRý‚ÐÿÓ‰Ð0@- LhM N +33333#####•FV;31P13šY°HV;86P63§[QþÇ9þÇ9þ¤þŒUþ«Uþ«(ÿt4Ð #@ TM`N+3333#7!šZeæeZeK#PþkÐý€€ý€ÜŒÿtYÐ'@$TM`N+333333#7!uZfkfZfkfZf&"PþFÐý~‚ý~‚ý~ÚŒcÐ @M`N+33333!uZepeZepeZrþÐý€€ý€€ý0ÿö8Ú+G@D L€€ga!Ma"N++$!$"+$ +>32#"&7332676&##732676&#"a+CX4jk V=B@ ‘sgnZE>DZ EC_ ^=T ?>=U  /L5iZCV]MbmjY6=E:;ERC78AD9ÿÿ#C¬"«9×WµLK°PX@pjMN@…jMNY@ $!)+ÿÿ+ÿö2Ú!;@8€~a!Ma"N#! --!+ÿÿ2ÿö02;@8€~a#Ma"N )(!+ÿÿ-ý +@(i_M_N43(+ÿâÿöoÚ+gK°PX@ haMa"N@(hMa!MMa"NY@&$++)% +337>32#".77##"32676&TZ0d%9H**@(9&9H**?)d5ZÞ+=9 +++= 9+ÐþÐ|+F22F+þ˜+F22F+šþ²Š86þ˜6886h68(Ð)@&hM_N  &#!"+%6&##32632##¸ =;‘*‘Ð,@)g_MN'+&&7>33###3#"Ë>; *AU2ærZ0x½jŒ)Œ8O 87iJ0N7ý0,þÔ|G;;G1ÿö2ÚH@E€€ga!Ma"N  +"&7332677#7376&#"#6632ò^cZ;7=P ø ù ;<7OZ„^gc2‡ g\6=H?xPn?H=6\gpbþÀbpÿáÿû>ÐEK°.PX@_MaN@_MMaNY·!#+!####73267À~rZeËBdW ,3Ðý0~þ€‡|TO`ÿÑÿt9Ð1@.S_M_N +'367667!3#7!#%# -#<veF#PþzP©XÅ-"P+%qOTý€ÜŒŒÜ.þþTp"(hpÐ"@LMN+3676673#7ÇV ¶dþ}`hÐþ¥('[ý0½!ÿìIý#+K°PX@"pi aMNK°PX@!…i aMN@'…† jYaQYY@)( +7".77>3732##726776&#3"×.H/%*?R/ T /H-%+?Q/ Tj8P % 88þõ 88P8P -6M/ê0O7AA7O0ê/M6AH<ê>KþS>Ð/@,LjMN +%"&733267673#766767_\*Z*;<#2 8ZrZ$6ÿl\ þ÷7A cý0á   (#& '@$hMN +33373#7#(WZ%ð%ZWZ%ð%&èèýÚììÿÿ8ÿö"£™öU@R€  i ga#Ma "N<:640.*(%%"   !+2ÿö&DµLK°PX@MbN@MMb"NY·$#+7332673#7##"&?;X7 498L :XWSY;QQ³sþ¡?F@7mýÚ_27g#& %@"g_MN!#%+7&&76633#7##337#"·=: x^õWZ!€¤j¢13››3@ÔUAQ\ýÚÍÍy+1¹1(#&@_MN+!###¤WZJðJZ&ýÚÔþ,ÿáÿû#&EK°.PX@_MaN@_MMaNY·!%+!####732>7¥~WZJË) #2C, "&ýÚÔäB];T&@.7ÿö'Ú ,`K°1PX@%€i_Ma"N@#€gia"NY@ #''#%"+7326776&#"32#".776632376&##™ :=[9 &…i3M0 t[16  NQ–Í?HH?U?HH?¸(IjBðgp7P2Udn-Zi'ÿö0.;@8€~a#Ma"N)(&# .-+"&766776676&##"#>332332673#æb] ][U--33)= _ ):G(^\ \SU_ 56-C _ *376633#"2###732677'3"26776Ùa_)?R0 \IP P!/a`)>R0 \BP P+c ;=?FE=þòF>Š=Eÿÿ2ÿö"ÄçiµLK°PX@"…aMMbN@&…aMMMb"NY@ $"$# *+FP&!@_MN+7!##F þ ÑK\K×OOþ)×ÿÓp&0@- LhM N +3373373#'##7##zHU;B%P%;†[œMW>C'P'<‹_ ììììþöþäöööö=&):@7€g_MaN$!))$3$ +32676&##332676&##2#".7³ž*7(+ž0*)G0:-0¡ÏVR F9?9 p[F(?(<>($$)þÒ)1*&'*6ME3<A=KP-?&|A&@M`N!#+7333333!"&#>P>))LPLxLPWþÊMO †þz)1àþ àýÚXÿt5&'@$TM`N!#+73333333#7#"&#>P>))LPLmLPL%!PÿMO †þz)1àþ àþ ÒŒX8& #@ hMaN4!$2+7332676&##332##"&ž04?5=/4ªg;X ¯^R n^F^U®-11--1^xÊZTS[[,& )@&g_MaN4!$2+7332676&###7332##"&Å04*1>01”i/‚ Ü •]Y t^-^W®-/0,,0\(PÊ\RS[[0ÿö 0$H@E€€ga#Ma"N $$ +"&'332677#7376&#"#66323ðZdZ=3=P Æ Å ;<3MZ€[2M0 „ [T-2H?#P?H2-UZ6N0A7em=ÿt&#@ TM`N!#+733333#7#".C332##"&53332676&##732676&##"Q );G(.3Ž ‹.7)-<)? Ÿ4&QG2>B>KTJ?.%(.N,$%($.ÿö1Ú ,`K°1PX@%€i_Mb"N@#€gib"NY@ %$!'%"+7326776&#"'>33#"3676632#"&7™ ;<=P :=––(E5$ ?1YT †hgcÍ?HH?U?HH?›CjI'Z3H--ocUfqre2+™8@5… †gW_O +7#737#73733#3##œc ˆdÓ ømZmf ‹dÖ ûjZªP P¯¯P Pªÿÿ/H³"ž48@5 ig_M_N$"$$# *+ÿÿ.8Ð)@&_M_N  &+ÿÿ.8³"Þ4ì;@8 i_M_ N$"   &+ÿÿÿö4Ð2@/€_Ma"N !+ÿÿ-'"™z5@2i_M_ N""$$$# )+ÿÿ ÿ[ý/0@-i_M_N  !%%+7h9GK° PX@p_MN@…_MNY@ +73!#Uþ¬eZrÐi»ý‚Ð7MGK° PX@p_MN@…_MNY@ +73!#çUþ¬JZW&i»þ,&ÿÿ7W²"­62@/……_MN  #+ÿÿ'ÿö"É“ „K°PX@0…p€~a#Ma"N@/……€~a#Ma"NY@4321*)'$ /. !+ÿÿ(u²"Ÿ69@6L……hMN (+ÿÿ+W"Ê“3@0L……hMN)+ÿÿhp¬"¿9`¶LK°PX@pjMN@…jMNY@!#+ÿÿHÿ[+"¦ö@@=L…j aMM_N.,"'!## *+(ÿƒ>Ð FK° PX@qM`N@†M`NY@ +333##7#šZeðeZr¥Z¥Ðý‚~ý0}}(ÿƒ#& FK° PX@qM`N@†M`NY@ +333##7#ZJðJZW¥Z¥&þ,ÔýÚ}}CÐ!+@(jM_N%!)! +33332####%326776&##uP.“.P.<$7$ 0?$Œ8“8P?<$3%$<ÐþÞ"þÞ)9#x#9)cþK,$x$,ÿû7&%VK°.PX@jMaN@ jMMaNY@ %#'! +337332#".77##%326776&##ZP “ P <$8$ _D"3! “,PJ -%$<&ÈÈÈ)9#2DR'7!ƒþí#,,$2$,ÿÈÿûCÐ'jK°.PX@ i_MaN@+i_M_MaNY@&$''%)! +'3267!32#####%26776&##+) X.<$7$ 0?$ŒfL);(¶$3%$<,KC4þÞ)9#x#9)…þ=!G:%P,$x$,þèÿÒÿûG& %hK°PX@ i_MaN@*i_MaMaNY@ % %!#%"%" +%326776&##32#"&7###73267U ,  F+ FDF ^DDF 6/\A( <†&& G &ÈOAG?ML?Sþé[lU>4d&ÿö 0!;@8€€ga#Ma"N"#"%+77>32#&&#"3#32673#"&6,BV2[cZ=3(2Z0 599O /Z&KiiK2!273G,þÄ-?FK@þÙ&ÿ[ Ú+qµ LK°1PX@'h iM MaN@'…h i MaNY@+*%!') +#73733#36632##732676&#"#}D DZf fX;RP .)=P/F F6G+ 599N 0Z&KiiK2!27gVþÝ,H3R<5?FE<þÏ4Ð3@0Li_MN"$+7!#76632#6#"#4 @ x'&S(&;%2Z/\9 51ZfOOô&)/B(þÄ({ 3þÍ4ÿ[Ð#=@:Li_MMaN##$!)$ +7!#76632##732676#"#4 @ x'&S(&;%-)=P/F F6G*\<;41ZfOOô&)/B(þâ,H3R<5 {93þÉ7ÿ[Oý -{K°PX@&  aFM?M =M_ AN@$  i?M =M_ ANY@#! (% -!, ! +732673#'3"&766332#!"&766332#† U6GRZR)=P/¤WZW[))þÀ))¥R<5ýø,H3¥&ýÚ…"" "" ÿúWÐ IK°'PX@_G@D gW_ O +3#73#!3#3!3!3›{› õ•õù®•õ ›{› ©•Z•ýb•Z• PüT¬PüôP¬üT¬üTþlÿ‘µ>+/9@6€ggW_O'!'!( +3277>77.776##73233#"##3#~x^"/(`x xYR %!Z Z )  mYxtZ•ZV¥1%&2¤VPWO¤& P &¥OW­üTþvÿ’•> .@+gW_O  +!!!3#þv• þÙ{' DZ•Zn¬PüôP¬üTÿÿþNÿ’Ë>"KœUýÁ/@, LgW_O !+þLÿ‘•>+/F@C€g gW_ O,,,/,/.-+*!(!'! +732>776633#"33#"&776.#3þL Z )  nYx x^#.(`x xYS %!•Z•?P &¥OWPV¥1%&2¤VPWO¤& þR¬üTþlÿ’‹> &@#gW_O +!!7!!3#~'{þÙ •þtZ•Z PüT¬üTýÀÿ’> .@+…†hW_O +3!!!!#Kb¶¥ ý>Vÿ üä–a>þ¬P PþèþFX#!@ JI…v++ +2%7%#"'"!2%7%#"'"þO ,þeßþ¢  ,þeßþ¢QX×d×_› X×d×_› ú§ÿ°ùîS@ LK°PX@€„>N@……vY@ +3#7#23#!3ú·Z„Zýç©aýþ" …ZƒZþQ„Z„müÂmþèbþé  ±üÃ=üÃüXÿ«ùîgK°.PX· L· LYK°PX@†>NK°.PX@ …v@……vYY@  +73#3üXŽZ…Zþ:  ’cþ o„Z„drü½™ þópþíþe>üÂþ~ÿ«vî7· LK°PX@ †>N@ …vY@  +#7v„ZýæŽþ   ’îü½mdrjþí þóýþFúX@JIv +7%6637"'&&'%%7%6637"'&&'%þR›þ!] þÔ›þ!] þÓX×d×b˜V×d×b˜ÿÿþRÿ’¼>#þ%cç.@+ LgW_O !+þˆÿö³Ð ".:åK° PX@;ri_N@……vY@  +36637"'&&'3#3#þ+ƒZýs  þXbþjZ„ZþÑZ„ZP>þ“dþ“Š  ý•ÎüÃ=üÃü¯ÿ«TîgK°'PX· L· LYK°PX@†>NK°'PX@ …v@……vYY@  +3#7667677&'&&'3þâZýsZlè   þoýƒ„Z„îþŽdþ“n ý(=üÃþ…ÿ«|î/· LK°PX@ †>N@ …vY´ +3#667677&'&&'öZýsZÏcè   îþŽdþ“Þý 7ÿö/Ú$/@,$LaDMaEN!  +".76632'326?6&#"ø2L12‡g0J12‡É<8ïW8@H>ï8ÿö"0%C@@ L€€iYaQ %%$%+77>32373#7##".26776&#"@'9I*N  7ÍŒ0P881_ýÚ_188PYD: ;EI@Œ@Iÿÿÿ[#&i-@*L-Ma.M/N##%+,ÿûP&/@,r_-M.Ma.N!"+!#33#"&7###9 P1ILL /ÃJZJP&NþÌUT_P*þ,Õ7Ú+ÅK° PX@$riW`PK° PX@(riWW_OK°*PX@$riW`P@%€iW`PYYY@++%(+ +1737&'&&7>323#72676&#"3 ‘++BV3fc+.!’ Ó(> , ;<II>þí9In6ÿöÚ -1@.…€iYaQ''%"+6&#"32673#".7766323&'&&''3© :<=Q :==P Z+AW33L1 uZ.3 !ukl* BMMCP=EE=1N66N1Qqj=&™Œ6ŒQñÐ$@! L…W_O+3!73!&545#+~H þ ^,3 Ðý{KKè* #ÿÿ(>Щ @†W_O%+ÿëÿ[\Ð/@, LgW_O4!+77!!'7! rÿ å þÌGåþ¿I, ¥RmdRPþÆgþÊPYÚ.@+…gW_O+733676673# ­&  úVþ¸i5ÖPþ{#   #9ý&Ö Gù.=I@FL  iYaQ0/! 75/=0=)' .!.  +23676632#"&'##"&7766"326776&!"32>7'&Ê3=  3&<; W>3=  3&<; W2)+ - þæ -  ( ù30J=K=J30J=K=J<T4)"K"))"K")T4ÿÒÿ[|Ú(@%gW_O!'!+#"##73267>3| n6GP)=P/n n6GP)=Q.ÚR;6þ,H3R<5ú,H3ÿÿ7i,+"ŽdŽÿop@m€€  €  €i  i  i  Y a  Q 9864/-*)'%< < !+=)Ð"@L…v+3#%'&&'&'#367677Iå~} ß~ƒŽB  „D  ‚‹Eþ»Gþ¼D3¼#   #¼»$  )»)ÿö=Ú -K@H#L€igYaQ)'"!  +".77>32!32673!7&'&&#"ø6R4 " 3J^66S4 þ„) 2&32326767#"&77766776&#"=l)/=##5#  $7F(6!#&=C*MJ LÒ5I*$ &#9))9#6'K?1n%) *UKK¢X67!((!áÿÿ*:Є@…v#+ÿÿÖðŸ)ú@YaQ$##+ÿÿ W¢(  ±dD@W_O #+±D">Ð@ JW_O+7!!%7%.® þR†  þtÐþ² PPÉ–Y×d×`• #Ð@JW_O+7!!7%667677&'&'%7/® þRùþ0N þâ PPùd×^–  ™UÿÿûÌ]>"F#FýΠFûŸa@^PpQI>¨‰ˆva8 LŸž™•”gf]\/.)%$IWiaQ¥¤Œ{zmlUTCB54 "+ÿÿþ¦ÿöM0#IýøI°'@$aGMaEN$$$$$$$# )+ÿÿüžÿöý0#Iûð#Iý¨Iÿ`2@/ a GMa ENGEA?;9$$$$$$$$# *+ÿÿþV-©g#Iý¨7œ0@-)#LiYaQ$$$# %+ÿÿþV-£g#Iý¨7Kÿt1@.$"!LiYaQ$$$# %+û‡ÿû!Ð #N@K € g g=<;:9876543210/.-,+*)('&%$#"!      + +37#7!!7#%!737#3!733733#3##7##7!#7##7!#7##7#737#7373373!733ü*œCœ®CþôCñCœC(C CœCœþ½IE EIEœEIET `Ca nCICœCICþôCICœCICþôCICœCICS `Cb nEIEœEIE EIEœÃÃÃÃÃÃÃÃÃÃà ÈÈÈÈÈAÃAÃÃÃÃÃÃÃÃÃÃÃÃAÃAÈÈÈÈÈÈù0ÐKOSW[_cgÖ@Ó" 20.,*(&#h;3:19/8-7+6)5'$4%  g!=<;:9876543210/.-,+*)('&%$#"! < +%#7##7!#7##7!#7##7!#7##7#737#7373373!73373!73373!733733#3%7!!7!!7!!7#!7#!7#!7#lCICœCICþêCICœCICþêCICœCICþêCICœCICS `Cb nEIEœEIEEIEœEIEEIEœEIEEIEœEIET `Ca þ{CþêCüŽCþêCZCþêCûCœCþXCœCþXCœChCœCÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃAÃAÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈAÃAAÃÃÃÃÃÃÃÃÃÃÃÃÃÃÿÿþ~ÿö©Ð"Nœ)ý¨ÃK° PX@1ri_7!66332##"&þ—}4O2p[Z2AT ?B}Ü) ý²Æ® üŽ+*Ð:Q2Wbi´B;;BþvPðPþy"" ÿÿþ›ÿö>Ð")¯NþÁK° PX@1ri_:87654-*$1&1   !+ÿÿþjÿ`k0#JýøJ°;@8 €aGMAN  "+ûJÿ’> 4@1…†hW_O  +3!!!!ûJõaµ úÇUu úm•n¬þ¬P Pþèüÿ’ &@ L…v +767677&'&&''3#7&&'&'767667ýsè   þo³ZZýsþn   éîþŽdþ’m ƒü†\þŽdþ‘e  ÿØÿ[gÙ0]y‹‘—£¯³·zK° PX@"—–•‘Œ$ ; -*L’ JK° PX@"—–•‘Œ$ ; -*L’ J@"—–•‘Œ$ ; -*L’ JYYK° PX@]  € r rq  g j i  gj a fNK° PX@\ r rq g  i j i  gj a fNK° PX@V r rq  g j i  gj a fNK°PX@]  € r rq  g j i  gj a fNK°PX@^  € r  €q  g j i  gj a fNK°$PX@_  €  €  €q  g j i  gj a fN@^  €  €  €†  g j i  gj a fNYYYYYY@>´´°°™˜_^´·´·¶µ°³°³²±®¬¨¦Ÿ˜£™£”“މ‡€~mk^y_y\ZVUQO&5"%+#5&&5467&'&67632632&7632#5#"3267672>54&#"#"&54634.#"2"##"'"&#.554632>554&#"%7#%#'2#"&5464632#"&53%#5ú&cq(- BooB .(qc&ï8P0  CmN*D94?@’!.9D4?" "?  þ݃@BŽ@B1þ×F9þÊ9&,ˆf?T &!T>gˆ,&6$8& 7P4;G9/. "3'GêcQ´62((26´Qcþ˜ *))* ´9DD9T`ýè¥.¡ýè¥.Aý|277777ÿÿþYª$ê#€ý¨ÿìL,@)gWi_O(% '+ÿÿþYÍúÇ"D€ý¨ÿç"@YgaQ(% %+ý¬ÿœðÿç@W_O +!!ý¸8 ûÈKû‹&™5@2…h g=N +%#7!7!7!7!73!!!þƒ‰Z‰ýb ÑüÇ lZ¢ ý+= ªªªP P¯¯P Pû”#Iq.@+ LWh_O +3!73#'!#üªmßÇðmà  —a û-˜aºqìÿì îÿî'ûåAîS,@' J%$Iv +2%7%!2%7%!2%7%ü- -þeßþ¢ -þeßþ¢ -þeßþ¢ IU×d×`™ U×d×`™ U×d×`™ ûðAùS0 ·# 2+7%67677&'&'%%7%67677&'&'%%7%667677&'&'%üD›þ!]  þÔ›þ!]  þÔ›þ!] þÔS×d×_–  šV×d×_–  šV×d×_– šû”#Iq(:@7(  LWhg_O +3!73#'!#!'7!üªm€Æmà  —aUû/Vaº[ Ò2Kû; q‡‡ì 'PPû”#ùq)8@5! LWhg_O +3!!!!#3#üºm€< û†  ‡ û¹Vaþ mß  ˜aJ'‡PP‡''ìîû”#ùqe¶ LK° PX@$pqhW_O@"…†hW_OY@  +3!!!!#üªm€b ú`  ­ ú“Vaºq‡PP‡'ù<#q )n@ ) LK° PX@&pqhW_O@$…†hW_OY@  +3!'3#7!#!7667677&'&&''!úRm€Va¸þìm€øìVaº[ “  øo q‡‡þÙþÙ‡‡'û¹#qe¶ LK° PX@$pqhW_O@"…†hW_OY@  +3#7!7!767677&'&&''!7!ýa¸þìm€ú¤ ›  úZ gqþÙþÙ‡P Pû¯#q)G@D(LWhg_ O))'& +%7!7667677&'&&''!7!'3#77667677&'&&''3û¯ Œ  ûi XVa¸þìm€™ã  •a¸þìªPP‡þÙþÙ‡‡ïëþÙþÙû’#q):@7) LWhg_O +667677&'&&''3!'3#7!#%!7667677&'&&''!üt  •aT¤Va¸þìm€ûh~m6™  û\2뇇þÙþÙ‡‡×Pû’#ùq)@@=(LWgg_O)) +667677&'&&''3!!!!#!7667677&'&&''3ý  •aT1 ü2Kò ûÐ~mþçâ  •a¸þìë‡PPPP‡ïëþÙþÙû’#ùq$/@,"LWg_O +667677&'&&''3!!#'667677&'&&''3#ý  •aŸæ üïm7  •a¸þìmëÿPÿïëþÙþÙýê#ùq.@+LWg_O +%7667677&'&&''3!!ýêâ  •aŸ§ ýZï#ïëÿPÿûŸA S9J[Z@WZSAI LYJHI€   €i YaQ99%%%#%%%# +7663232>3232773#".#"#".#"%77%667677&'&'%7ý S;)%/)/ U S;)%/)/ þ²  þt~N þâ Œ(;G"""7((:H"""7(K`• —X×dþÅ^–  ™U×dþ#Iq.@+ LWg_O +7!73#'þ Øðmà  —a "Pÿì îÿû¯#Iq".@+ LWg_O +!73#'!%3#û¼ ðmà  —a ûõmà  —arÿì îÿ('ì îû¯#Iq':@7'LWgg_O +%!'7!7!73#'!3#û¼2Kûé Vmà  —aUûª-mà  —a¹úPPP‡ì î‡Çì î'û¯"ür ,@)W_O  +7!%!!%!! Ö üÖ þ*ýØÖ þ*"PPPPPPû”#+q.@+L…†W`P +3!73#7!#üªmß„(Z]Z(úp˜aºqìÿý²ÿî'û”#+q k¶ LK° PX@&pqhW_O@$…†hW_OY@  +3!73#7!#!7!üªm€%Z]ZúÐVaº[ pú q‡‡ý²‡‡' þ JÚPµ LK°PX@ >M=NK°1PX@ M=NK°1PX@ <75%%%#%#% +332>3232>3232>3232773#".#"#".#"#".#"#".'#û”m¿).=/)).=/*'0)/U R;)+0?/*&/*&/)  ˜aJ'Ê (')0)")0)"""7((:H")0)""""" îýì#qIR@OGL…€€  † jYa QIHCA<:%#%%%%& +332>3232>3232773#".#"#".#"#ýìmß %/*'0)/ U S;) '1*&(0"’aJ'ì"""7((:H"""! äþR忲9>@;€  €i YaQ98%%%#%%%" +663232>3232773#".#"#".#"#þX R;)%/)/U R;)%/)/ U0;G"""7((:H"""7(ûƒ#qwï@ 25 LK°PX@7… r †   i Y b   RK°PX@8…  € †   i Y b   R@?…  €  € †  i Y b   RYY@vtomhfa_ZXSQLJEC76%#%%%%" +7332>3232>3232>3232>7'3#7667677&'&&'#"#".#"#".#"#".#"#"&ûŒU /%0* &1)).=/)%)3&a¸þìmã %/)&/* &0+%/;<g((7"""")0)" *&ËþÙþÙï """"""Hýï#qHš@ , L)KK°PX@6…r€ † j Y b   R@7…€€ † j Y b   RY@GE@>97%%#%%" +7332>3232>32337&'&&''3#7.#"#".#"#"&ýøU/&/*)0?/* •a¸þìmÚ$'0+%/;<g((7"")0)ëþÙþÙå """HûÎÿ’Ø4Sl@RQ:20()LK° PX@qiaEN@†iaENY@SSDB.-+* +7%667677&'&&'%&&#"#77&'%7%32>76''&&766757² &M5òþC<  þb6T*>N05LQG &;N. Z ~\þ4¾þÄ  |,m=$>/mHRI lU 4P þãdá^¡ï5/)?lK%@1!PP/îdá^¡¿)W* jHK^ Pýøÿ’4?x@" 78LK° PX@!€qiaEN@ €†iaENY@=<:9*(&%  +%32676''&7667573#6&#"#77&'%þ¾þÅ   |-l=HdmH¦ kU Z LR _>2>N kKQG &;N. Z }\þ3|á]¡¿>6Q*A‘K^ PP bP3<5/S)lK%@1 PP/îýöÿ’ 4F@@=+!B#CL€icENED53$ +.7332>76''&76675737%667677&'&&'%&&#"#7þ©,E._ /$>0mH¦ lU Z 'L5òþC<  þb6T*>N jLQG &;N. Z 2E**+R*A‘K^ PP þãdá]¡ï5/S)lK%@1 PPû³-ùg -;@8+* $-L…†W`P +3733##7#%%%%667677&'&'%7ý½ñ'X'ñ ñ'X'ñþÐþ²   þtuN þâ Œþ0rõõPõõZ×`• –Y×y–  ™U×d×ýÙ-'g 7@4 L…†W`P +3733##7#%%%ñ'X'ñ ñ'X'ñþÐþ²   þtrõõPõõZ×`• –Y×ý»- g >@;L…†W`P  +73733##7%667677&'&'%7ý» ñ'X'ñ ñ'X'N þâ Œþ0"PõõPõõƒ–  ™U×d×ûŸ@ù€HY4@1YS('  LKB<;621  IWaQ,+ +%7%%77&&773>77'&&'#'7>7'.'%7%667677&'&'%7ûé  þtÐþ² Ä+p>X  !#$~~ O1:P: ,[@[   "$"Õþ0N þâ L–Y×d×`• @S* +Q#}}#Q*S*  6l2lJIl2l  d×^–  ™Uý÷@Q€H1@.('  LB<;621  IWaQ,+ +%7%%77&&773>77'&&'#'7>7'.'þA  þtÐþ² º+p>X  !#%~~ O1:P:,[@[   "$"L–Y×d×`• @S* +Q#}}#Q*S*  6l2lJIl2l  ýÍ@ €7H.@+HBL:1+*%! IWaQ +77&&773>77'&&'#'7>7'.'%7%667677&'&'%7ýÍ+p>X  !#$~~ O1:P: ,[@[   "$"Ðþ0N þâ S* +Q#}}#Q*S*  6l2lJIl2l  d×^–  ™Uþÿ’A>@ L…v +7%3#7þÐþ³  ±–_þ_;d×]— éöüTmûïÿ’½>% @$! L…v#" +%37%667677&'&'%#7ûÿÐþ³  ©“`Xþ0N þGþ‡_=þ|×]— åò¤þâd×]— îýArýÎÿ’å>@ L…v +37%667677&'&'%#;`Vþ0N þ?þ…_> þÞd×]— òý=û”#q.@+ L…†W`P +3!&&''3#77!#û”mßz•a¸þìmãú„˜aJ'ì ëþÙþÙïîÿÿümÿöqS#)û—#)ýMKÿB#@ !L$"JaEN$$$# %+þqª!#žK°.PX@ida?NK°1PX@(€id?Ma?N@+€€ida?NYY@#"!   +".#"#7>32326773!!º6_VQ(,<U#7H)6_VQ(,<U#7Hýšä ýc$+$/&$;*$+$/&$;*iPþÜý¸!hK°PX@"iYgaQ@)€iYgaQY@!!%"%% +%7>323267!!#".#"þ .=##/" , þ/K."/! , ë32#76&#"#"&'þ/  !38G4FI U  &$$,5"/?"P")-7-OB<< &!%!%ýÕA.Ú9EÕ@   LK°PX@-  ii  i   eaDNK°.PX@4  €  ii  i   eaDN@;  €  €  ii i   eaDNYY@;:@>:E;E98%%'%"%#" +663232>32#7#"&77663266776&#"#".#"#2776#"ýà R;/D7.+BX  AD:VH@HX;3+$! / UbT Y". E;G)0)N@…†W_OY@  +7!3#þW £N@…W_OY¶ +!3!!ûØ…{Z{… úœüùKþgÿ«­îAK°PX@†h>N@…†W`PY¶ +3!!#þìZ<£ ý]N@…†W`PY@   +3!!#!3þ˜Z<Æ ý:N@"…†hW_OY@  +3!!!!#þìZ)£ ý]£ ý])ZîþüP PÿüRÿ«|î iK°PX@ †hg>N@&… †hW_OY@    +3!!!!!3þ…Z)Æ ý:Æ ý:)ýø…Z…UCþüP PÿCü½ý±ÿ’V>9EIÏK°PX@F  rihg g e<9987654321,*)'!# +%737#7373373!76633#"33#".77!#7##7%&&##73267!#7#ý± aBc oEFE EFE¨rY- -07#0)$ +0- -,C* þEFE EFE'2n n10 þMBFB BÈA¾AÈÈÈÈOWP++¤1%&2¤++P+>'ÈÈÈÈAP¾¾¾ý±ÿ’>#'c@`gh  g c#'^@[g h   gc  ig iW_O/.64.;/;%$ +330>73#&&'&5##76632#"&26776&#"Y_0 DFr_- DF¨#?))-#>))._&&ÐþE?$(+>E®ý0¼@#$$$EþR•Ü0990Ü099ððý×ÿö$Ú(37š@- ,$! LK°PX@/€g  gaDM a=N@3€g  gaDM=M aENY@*)7654)3*3"", +%7667'&&7>32#6&#"!!#'#"&267'%!!ýä D6#6F)*B+Z.-)9‹Í þÃYc1^`RO³ F y%(ÄÛ þ%›}6F &E ":++=$%22%)0øPûŸWaW,(Ô+#}),´PMÐ#=@: g g _d N K+l/@,L J…W_O0+7327&'&&'77&'&&553!ŒÃ   þŸ=c Pþa™ d?þš    Çþa-KNj0@-LJ…W_O+7367667676633-P c<þŸ   ÃKŸÇ    f=þœ NÿXÔ@fMgN+!!Xý¨Ôû<iÿ[ï‰%D@A …ggW_ O % %$#"! +330.53#&&'&'#3!¥] K\€ 7ÝþÓ¥êþÛ+*1þ%+1þí.þaKê2ÿº&u%8D@A)&LiiW_O20('$"  +354>3232#!"&5467354&#"3'676654&#"n 0B&'B0 ##þ„##sÈ7--77Z 7--7 äç&?--?%ç#þN##²#çææ-77ýä   (11( ÿbÔ³2+býžÔýžýžÿŠÿbÔ @LfMgN+#býžvbý¤Ôýžýž`dÿöÿXÔ³2+XýžÔû<bÿöÿËÔ @LfMgN+3Xýžbsý£[ðbbý¢ýšÿÿ^'úrD@W_O #+¬Ñ¯@…v +#¯³PþÉ7-ÑC@…v +3#!3Á‚³Pþ킳þÉ7þÉ ÿVNz7,@)754LJ6I…v.-"!+73&'&546767#5%'&&'&'#3676677% º   ¹""º  ¹þÞþÞµž   l  ži÷öiž  ý”  ži÷ö²dE`D1>DDR3X‹# Ã1×  % 6 .O*} ˆ§ /  K fW *½ Fç (- bU · JÉ 2 \E T¡© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoItalicVersion 1.0.2;JB;JetBrainsMono-Italic;2020;FLVI-614JetBrains Mono ItalicVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-ItalicJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoItalicVersion 1.0.2;JB;JetBrainsMono-Italic;2020;FLVI-614JetBrains Mono ItalicVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-ItalicJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0ÿœ-˜+QS RLO2KNJ!`$%&'()*,-./013456789:;<=DEFHIMPUVWYZ[\] ? " ^_>B GTX³A¸ð“ï# @²Ã     ׇ誩¾¿¶·´µÄÅÙÚaÛÜÝCßjxŽlØáÞào­ÉÇ®bcdËeÈÊÏÌÍÎÓÐѯgäÖÔÕh»ëæikmnqprsutvwzy{}|å~€ìºçf éî‘¡ãâ!"#$%&ýþ'()*ÿ+,-./012345678øù9:;<=>?@ABúCDEFGHIJKLMNOPQRSTûüUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ƒ|}~€‚ƒ„…†‡ˆ‰Š‹ŒދУ¢í‘’“”•–—˜«ˆ—°± ‰ê¤Œ¦†½„…–žñò󙚛œžŸ¼õôöƂ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#›Ÿ˜¨š™¥’œ§¹$%&'(”•)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžuni0000uni000Duni000Ahyphen_hyphen_greater.ligaslash_slash.ligaslash_asterisk_asterisk.ligaslash_asterisk.ligaasterisk_slash.ligaless_exclam_hyphen_hyphen.ligacolon_equal.ligahyphen_greater_greater.ligaless_less_hyphen.ligahyphen_greater.ligaless_hyphen.ligaless_equal_greater.ligaequal_equal.ligaexclam_equal.ligaless_equal.ligagreater_equal.ligaequal_colon_equal.ligaexclam_equal_equal.ligaampersand_ampersand.liga bar_bar.ligaperiod_period_period.ligaperiod_period.ligaEuro Uhungarumlaut uhungarumlautUogonekuogonekDcroatAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Hcircumflex hcircumflexItildeitildeImacronimacronIogonekiogonekNacutenacuteNcaronncaronOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteRcaronrcaronSacutesacute Scircumflex scircumflexTcaronUtildeutildeUmacronumacronUbreveubreveUringuring Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentWgravewgraveWacutewacute Wdieresis wdieresis grave.case dieresis.case macron.case acute.casecircumflex.case caron.case breve.casedotaccent.case ring.case tilde.casehungarumlaut.case caron.salt commaaccentcommaaccent.saltLdotldotuni021Buni013Buni0219uni0146uni021Auni0145uni0136uni0137uni0122lacuteuni013Cuni0157uni0156LcaronlcaronTbartbarhbarLacute napostropheuni0218uni0237uni0162uni0163uni0123Hbar Jcircumflex jcircumflextcaronuni2070uni2074uni2080uni2081uni2082uni2083uni2084 kgreenlandicibreveIbrevelongsengEngbar_bar_bar.ligaslash_slash_slash.liga"ampersand_ampersand_ampersand.ligaequal_equal_equal.ligaplus_plus.ligahyphen_hyphen.ligaequal_greater.ligauni041Duni041Euni0410uni0412uni0420uni0421uni0415uni041Auni041Cuni0425uni0430uni0435uni043Euni0441uni0443uni0445uni0440uni041Funi0411uni0418uni0422uni0413uni0416uni0426uni0429uni0428uni0417uni0419uni0405uni0455uni0456uni042Euni042Cuni042Buni042Auni042Funi042Duni041Buni0414uni0423uni0424uni0427uni043Duni0451uni0438uni044Funi043Funi043Buni0434uni0433uni043Auni043Cuni0444uni0439uni0442uni0436uni0432uni0448uni0449uni044Cuni044Auni044Duni0446uni044Euni0447uni044Buni0437uni0431uni0401uni0406uni0407uni0408uni0457uni0458uni0490uni0491uni0403uni0453uni040Cuni045Cuni040Euni045Euni040Funi045Funi040Auni045Auni0409uni0459uni0454uni0404uni045Buni0452uni040Buni0402ijIJSPC%bracketleft_bar_bar_bracketright.ligabar_braceright.ligabracketleft_bar.ligabracketleft_less.ligabraceleft_bar.ligabar_bracketright.ligaslash_equal.ligaless_less.ligaless_bar_bar_bar.ligaless_bar_bar.liga less_bar.ligagreater_greater.ligagreater_bracketright.ligacolon_question.ligacolon_question_greater.ligacolon_colon_equal.ligabar_bar_bar_greater.ligabar_bar_greater.ligabar_greater.ligazero.alta.altuni03BC estimateduni2113uni2215uni2219uni02C9asterisk_asterisk_asterisk.ligacolon_colon.ligacolon_colon_colon.ligacolon_greater.ligacolon_less.ligaequal_exclam_equal.ligaexclam_exclam.ligagreater_colon.ligaless_colon.ligaless_greater.liganumbersign_numbersign.liga%numbersign_numbersign_numbersign.liga0numbersign_numbersign_numbersign_numbersign.ligaperiod_question.ligaplus_plus_plus.ligaquestion_colon.ligaquestion_equal.ligaquestion_period.ligaquestion_question.ligasemicolon_semicolon.ligaslash_equal_equal.ligaless_bar_greater.ligauniE000period_equal.ligaperiod_hyphen.ligaunderscore_underscore.ligaequal_slash_equal.ligaless_hyphen_less.ligaless_less_less.ligagreater_greater_greater.ligaless_equal_less.ligaless_less_equal.ligaless_equal_equal.ligaless_equal_equal_greater.ligaequal_equal_greater.ligaequal_greater_greater.ligagreater_equal_greater.ligagreater_greater_equal.ligagreater_greater_hyphen.ligagreater_hyphen.ligaless_asciitilde_greater.ligahyphen_less.ligahyphen_less_less.ligaequal_less_less.ligahyphen_hyphen_hyphen.ligaless_hyphen_bar.ligaless_equal_bar.ligaslash_backslash.ligabackslash_slash.ligabar_equal_greater.ligabar_hyphen_greater.ligaless_asciitilde_asciitilde.ligaless_asciitilde.ligaasciitilde_asciitilde.liga"asciitilde_asciitilde_greater.ligaasciitilde_greater.ligaless_dollar_greater.ligaless_dollar.ligadollar_greater.ligaless_plus_greater.ligaless_plus.ligaplus_greater.ligaless_asterisk_greater.ligaless_asterisk.ligaasterisk_greater.ligaless_slash.ligaless_slash_greater.ligaslash_greater.ligaless_hyphen_greater.ligaperiod_period_less.ligaasciitilde_equal.ligaasciitilde_hyphen.ligahyphen_asciitilde.ligaasciitilde_at.ligaasciicircum_equal.ligahyphen_bar.ligaunderscore_bar_underscore.ligabar_hyphen.ligabar_bar_hyphen.ligabar_equal.ligabar_bar_equal.liganumbersign_braceleft.liganumbersign_bracketleft.ligabracketright_numbersign.liganumbersign_parenleft.liganumbersign_question.liganumbersign_underscore.liga$numbersign_underscore_parenleft.liganumbersign_colon.liganumbersign_exclam.liganumbersign_equal.ligauni2116ampersand_equal.ligauni20BDlambda"less_numbersign_hyphen_hyphen.ligauniE0A0 arrowleftarrowup arrowright arrowdown arrowbothuni2196uni2197uni2198uni2199blockuniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3uni2010minutesecond arrowupdn .ttfautohintÿÿ h  4lDFLTlatnÿÿÿÿcaltcaltzero2zero2Š  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰ŠýüN¾Pâ:ŒÞ0‚ÔD¨j¼,°  r Ä ( ˜  š ’ ä 6 ¾.ž tØH¸2Ì< òDº(¬ŒðB²"ª~îR¤öZ²"†öfúlÞP¤  l â!4!¤!ö"Z"¬"þ#P#´$$$v$È%%Š%ú&j&ú'j'Ú(J(º)*)|)à*V*Æ++ˆ+ø,h,Ø-<-”..t.ø/\/Ì00p0Â11r1â242Œ2ü3N3 44b4´5$5v5È6 6x6Ê7"7†7Ø8*8|8ø9V9j9†9x9†9”9¨9Î9ì: :$:2:F:`:n:Œ:¦:´:Â:Ö:ô;;;4;B;P;d;‚; ;²;Ô@*;â;ð<<4<&<4=ð>=þ>>,>N>b>t>Ž>¬>Ò>è? ??8?F?Z?t?š?´?È?î@ @*@8@R@p@‚@–@¨@Â@àAAA4AFATAnA‚A¤AÊAðBB,BJBpB–B´BÖBôCC4CVCtC®CÌ.@7˜7˜7˜7ˆ7ˆ7ˆ77x‹7f7fŒ"4H\7D7D7D7D727272726¶6¶7 6¢7 7 Ž6ø6ø6øŽ&:Pf|6Ò6Ò6Ò6Ò6Ò6¾6¾6¾6¾6¾6@6@6@6ª6*6*6”6”66~6~6~6h6h6h6h&:Pf|2¸2¸;¶;¶5î2¤;¢;¢5Ú5Ú5®5®5®5Æ5˜5˜;x5°5‚;b;b5š2¦;L;L5„.@;(;(D;;45($:ö.@2*2*:Ð2:À:À4Ð:°‘1ø:ž‘.@1Ø1Ø<â1È<Ò<Ò4~<‘1¦<°‘.@1.1.:,1::4,: ’0ü9ú’.@9Ú9Ú49Ê443Ú3ò’9¨3à“.@4°4°4°4 4 4 3ˆ4“4~4~”"4H\4\4\4\4\4J4J4J4J303048•34$4$–444– 0@R3ì3ì7Ò7Â3Ü7Â3Ì7²7²2´7¢–3ª7–"4H\3ˆ3ˆ7n7n3v7\7\7\2\2\7J—2H7676˜3<7"7"˜.@333ª3 3š3š1ò3Š˜2è3x˜.@3X3X2È3H2¸2¸1 2¨™3&2–™"4H\33332ò2ò2ò2ò1H1H2àš142Ì2Ì›2¸2¸2¸›$6H\p222’2’1ð2€2€2€1Þ2n2n1Þ0Ä0Ä2\œ0°2H2H1¤2424.@2R2R2R2B2B2B0Z222 2 ž"4H\1þ1þ1þ1þ1ì1ì1ì1ì001ÚŸ/î1Æ1Æ 1²1²1² .@1Þ1Þ-œ1Î-Œ-Œ/˜-| 1¬-j  0@R1Š1Š1Š1z1z1z1j1j7ˆ/41Z¡1H1H¢"4H\1&1&1&1&1111.Ü.Ü1£.È0î0î¤0Ú0Ú0Ú¤"4H\0¶0¶0¶6Ô0¤0¤6Â6Â.l.l6°¤.X0~6œ¤0j0j6ˆ¤&:Pf|6b6b2r4:4:6N2^4&4&4&-ö-ö-ö4¤-à-à3ü3ü¥-Ê23æ3æ¥5ø23Ð3Ð¥"4H\5Ò5Ò5Ò3ª5À5À3˜3˜-j-j3†¦-V5š3r¦5†5†3^¦$4DTdv5^5^365N3&3&5>35>5.32Ê52ö42,Ê2æ§4ü2Ô§.@4Ü4Ü3ð4Ì3à3à,x3Ч4ª3¾§.@4Š4Š1j4z1Z1Z,&1J§4X18§$4DTdv4242421ú4"4"0¼444443ò3ò0œ+ž3â¨3Ð3Щ"4H\3®3®3®3®3œ3œ3œ3œ+F+F3Šª+23v3v«3b3b3b«"4H\3>3>/è2R3,/Ö2@2@*Ö*Ö2.«*Â/°2«2ò/œ2«"4H\2Î2Î0¦1â2¼0”1Ð1Ð*f*f1¾¬*R0n1ª¬2‚0Z1–¬&:Pf|2\2\/ø/ø/ø2H/ä/ä/ä/ä)ð)ð)ð/Ь)Ú)Ú/º/º­)Ä/¤/¤/¤­1ò/Ž/Ž/Ž­"4H\1Ì1Ì/h/h1º/V/V/V)d)d/D®)P/0/0¯1€//¯ 0@R1\1\.ø1L.è.è1<.Ø0P(è.Ȱ1.¶° 0@R.Ð.Ð.”0è.À.„.°.t.t(„.d±.Ž.R±"4H\.l.l/¨/¨.Z/–/–/–(,(,/„±(/p/p². /\/\²"4H\-ü-ü-ü/8-ê-ê/&/&'¼'¼/³'¨-Ä/³-°-°.ì³"2BVh-Š-Š.Æ->-z.¶-j.¦.¦)$x-Z.–'V'*.‚´-4.p´&6FVfvˆ.H.H.H.8.8.8.(.(+¾..,Ü+ž..'¨-ø-ø&-èµ-Ö-Ö¶"4H\-´-´-´-´-¢-¢-¢-¢&8&8-·&$-|-|¸-h-h-h¸ 0@R-D-D*Ú-4*Ê*Ê-$*º-$%¼*ª¸-*˜¸.@,â,â*®,Ò*ž*ž%j*ޏ,°*|¸.@,,%P,€%@%@%%0¸,^%¸"2BRd-&)Ð*Â--)À-)°)°,ö) ,ö$¢)¹,Ô)~¹"4FZ,²,²)\)\, , , )J$J)8º$8,|)&º,h,h)º$6H\p,B,B(ì(ì,0(Ú(Ú(Ú,(È(È+2#È#È(¶»#´(¢(¢¼+ä(Ž(޼"4H\+À+À)\*Ô+®)J*Â*Â#X#X*°¼#D)$*œ¼+t)*ˆ¼"4H\"À"À(ì"À"®(Ú"®"®"è"è"œ¼"Ô(´"ˆ¼"t( "t½ 0@R&ð&ð'Š'z&à'z&Ð'j'j"l'Z½&®'H½.@&Ž&Ž&Ž&~&~&~"&n¾&\&\¿"4H\&:&:&Ô&Ô&(&Â&Â&Â!Â!Â&°¿!®&œ&œÀ%î&ˆ&ˆÀ"4H\&d&d%Ê&d&R%¸&R&R!R!R&@Á!>%’&,Á&%~&Â$4DTdv%ð%ð(Z(J%à(J&Â%Ð(:%À(*%À%°(( ²( Â%Ž'øÂ 0@R%l%l%l%\%\%\%L%L'¶ N%<Ã%*%*Ä"4H\%%%%$ö$ö$ö$ööö$äÅâ$Ð$ÐÆ$¼$¼$¼Æ"4H\$˜$˜$Î$˜$†$¼$†$†††$tÇr$–$`Ç$L$‚$LÈ 0@R$($^$($N$N$$>$$ #øÉ$#æÉ.@#ü#ü&0#ì& & ¸&É#Ê%þÉ.@#ª#ª&Ê#š&º&ºf&ªÉ#x&˜É 0@R#V#V#V#F#F#F#6#6##&Ê##Ë.@DDD444°$ËÌJ"4H\"š"š"š"š"ˆ"ˆ"ˆ"ˆRR"vÌ>"b"bÍ"N"N"NÍ 0@R"*"*ê"ÚÚ" Ê$>ÖºÍ!è¨Í"4H\!Æ!Ɔ#ú!´t#è#è~~#ÖÍjN#ÂÎ!z:#®Î"4H\!V!V!V! !D!D!! üÎú! èÎ! ! ÔÎ(<Rh~! ! ! ! ##!Š!Š!Š!Š#–––"î΀€!`"ØÎj!J!J"ÂÎ!4!4!4"¬Î$6J^!!!"†"† ú ú ú"r"`Ïô Ô"LÏ À À"8Ï$6J^ œ œ œ Ø Ø ˆ ˆ ˆ Ä–– ²Ï‚ b žÏ N N ŠÏ$6J^ * * *88   $$$ÏðþÏÜÜêÏ 0Bºº!2!2¨¨! ¸!І þÐ 0@Rdd TD€ ¼TpÐ"^Ð 0@Rðþ hàîîðÞоÌÐ"2BRdšššŠŠŠÔzzjj¢zZÑHHÒ.@dddTTT(DÒ22Ó"4H\þþþþÐÐìÔ¼ØØÕÄÄÄÕ.@jjjZZZfJÕ88Ö 0@RVFFö6&ÖÔÖ.@´´¾¤®®°žÖ‚ŒÖ.@bb¤R””^„Ö0rÖ.@¶¶¶¦¦¦ –Ö„„× 0@RbbÆR¶¶B¦¨–× „×"4H\þþþþììììPPÚØ<ÆÆÙ²²²Ù.@,,ôääæÔÙúÂÙ.@ÚÚÐÊÀÀ”°Ù¨žÙ.@BöÙääÚ"4H\üüüêêêêêØÚÖÞÄڰʰÛ"4H\ââºâШÐÐzz¾Ûf‚ªÛ–n–Ü"4H\rrr` ``  NÝöä:Ý&Ð&Þ&:Ndzªªì––””ìÞ€€nØÞjXXÂÞ˜BB¬Þ"4H\†  tt  bßöäNßÐÐ:ß"4H\¬¬šššòà†ÞÞá`ÊÊá"4H\¦¦<¦”*””**‚ânâZðZã"4H\666Ì$$ºººº¨ã¦þ”ãêê€ã"4H\ÆÆÆŠ´´xxJJfã6ŽRãzz>ã.@XXH  àüä&êä 0@Rðð„àttÐdä|Tä®Bä"2BRdzþþþîînÞåÌÌæ"4H\ª*˜®®æšròæÊ^Þæ.@€€¨p˜˜DˆçNvç"4H\,,TTBBB ì ì0è Øéàé"4H\ŽŽää|ÒÒÒ | |Àê h¬¬ëB˜˜ë"4H\ttLb:þþ ìë øØë(Äë"4H\® òœŽŽ œ œ|ì ˆvhì¸bTì 0@R X X¦ H–– 8† ê vì dì.@D ö ö44 æ Î Öí ÄíH"4H\tt‚ìbpÚÚ p pÈí \J´í(6 í"4H\@|ò.jj Xî ìDî¸ô0î$6H\pööŠŠäxxxÒffæ | |Tî h@@ï˜,,ï 0@RLL<øø,èh Øð Æð"4H\¤¤¤$’’ ¨ ¨ð ”lìñXXØñ.@66¶&¦¦ >–ñ„ñ.@ää úÔ ê êì Úñ² Èñ.@’’Ö‚ÆÆš¶ñ`¤ñ.@@@D044H$ñña.@DD þ4 î îð Þò Ìò\"4H\úúèòüü’’êò~ÌÖò®¸Âò.@ŒŒ–|††(vóZdó.@DDN4>>Ö.óôd"4H\ààt ôÎb â âxx Ðôd< ¼ô”( ¨ô.@rrbööæõ@Ôõ.@´´ 4¤ $ $¼ õ‚ ö"4H\ Ì Ì à º Î Îdd ¼öPè ¨ö €Ô ”ö.@ ^ ^² N¢¢ú’÷ ,€÷.@`` P  ¨ ÷. îø"4H\ ¸ ¸| Ì ¦j º ºPP ¨ø<D ”ø l0 €ø.@ J J :þþæîù Üù.@¼¼ ¬ ü ü” ìùŠ Úú.@ÌÌD¼44B$úšúS.@ttDd44ê$úBúU.@l \\’Lúê:ú.@ÊÊDº44@$ú˜úN 0@Rppº`ªªPš ÖŠú.xú.@øþèè„ØúÜÆú.@¼¼v¬ff2VúŠDú.@jjîZÞÞàÎú8¼ú"4H\`fNTTˆˆBût(.ûÊûV.FJJœ:ŒŒ|üùdücÓ:0Û"ܨÝQûùùùúQTUc ýüùKTU ùþÿSTc iùGT²KG ùGL¾ê kùùFGL ùlFG"ܳ$F •ùùEFG´ëE ùù/)EN"UÐT) ùmg)DK ùùùDKM¾pù+r*ùDIK ¶’ónsùùfùùDKTê¯ùù ùKT oùmDT.ùùhù qùDÌö¾ê°0ù)wILc:ùv(ùAòö7ùùùnKLTV uùùLMVÛM.yùùù 'ùLMâ—ù<(.H ùxIL­L%ù&nIKLÚIù5 $ùIJ ùIN ù ùùILNT$ prù oqùDLT(T –ùDTµ D ù4DN312ù{)ILNb ~ùLb1bù:9;ù)DLVb ù<ùGLV ù=ùDKLJ® @ùKL CùùKLBDù6ùù FùL ùHGDLùIùVDKŽÉŽ JùùKŽ*ùK. ùùDKKùùùODKLTùQùùPGHKLTSRùùùGHLTTùùUDTŽ ùùKŽ XùjDŽYihkùDLaŽZùlùùKL\d \ù[Kd]ùùùEKd _^ùEK`ùùùEFK baùFKdùùùFGK ecùGK vùz|{wùstx GILMNQSUV yùùQV uùQcpyzo-4.12.3/pyzo/resources/fonts/JetBrainsMono-Regular.ttf000066400000000000000000003761201421373005400236060ustar00rootroot00000000000000 DSIGüHGDEFj¶ÐGPOS ¶äGSUB°Tì9¶ôEROS/27Ö¿p¨`cmap.4£v@Ncvt AŒ hÈfpgmPÀü< ýgasp¶Èglyfl²Þ#drrhead €,6hheaÿÖùd$hmtx‰d„(6locaˆˆ(ÿ02maxp˜'ˆ namevQR•Ø?postÞ†}gœ­prep¦íªEÖ{Yô _<õèÚOH“ÚP~!ù4ÿËÙÔÿXù4ÿ˘¸ ¢xÌç ýXŠXKŠX^-E €'JB Àà³ÔÿÔõ—&Ð XZXZXX¹P_(PX]IUU,ZVX__P_-ZiKUZPZF-U,(UÖ?XXP<U>pM<202P¥PZADUKFKFFdA"KKÚ¥UPá‡ö–#UÿÒ<sPXZPdfAd-7–FFÖû´þ>û›ýóýýù4þRû´ûŒþ ýäûŒýøýøþÏþÏû û Zþþãü‹þϯÿ“’á¥P#¥#iªA‚×´ªæx?XUZŒ?‡‡X͹UZX,,,,,,V________PPPPPFUUUUU????PPPPZZZZPPPPPMZZZZ22PU##S##(,?,?,?VXVXVXVX<_P_P_P_P_PPIPIPIZÿñ_Z_Z___UXUXPPPPPPZpZpFMFMFM-UZUZUZUZ2UPUPªŒª¾‡‡Œ×´ix‡××i–<iMX-UZ]P((pZi(-<d--ánÿñFZU-<PI--U<<AZ(##7FFM*XK¯¹´››ª¯ª´››¯\dP]Z_¥XUüÇüû×û þ þ ýøZP,ZZV_ZK(?PPV20XZZU-iZ5>5UFM_Z> 5J(2KZPZ7Zi]F2Z-Z><ZHZ>K><PP___-ZUiiiiZ](2ZZ55ÿûÿûXVKFþ»þ˜üÖüwúÉú~þþPüEþ»þ»þMþ»þ“þaü*þ´PþùüZZ2<7#PA<A<þÅþ•þ•þÒûÿþaû‘ýéüÊù9þ~þWû ûæþ‰þ‚þ‚þ‰þHûšþUUû›\ÖªþWþWýäûŒûŒûëûæûŒûŒûŒù4û´û´ûŒûŒûŒýäû¥þ ûæû´û´ûŒûŒþkþkûªûªûŒýäþWû–ýîû×þ þû¹ýßýÁû¹ýýýÀþ%ûõþÿØûŒümþŽþþ ýéþ9þ\ü"þ§ü¤þ§ü¤ýËýËþ>ýËýËýËûsýËýËýËýý2ù4Z( ( ÿ° - -d¥#i2ÿŠÿöÿöD(ˆ€ /9OZ~¬ÆÏÿ !’7ÇÉݼÀ O\_‘…     " & 0 3 : D p t „ ¬ ½!!!"!&!.!™""""""""+"H"`"e%ˆ%Êàà¢à³ÿÿ 0:P[¡®ÇÐ "’7ÆÉØ»ÀQ^€     & 0 2 9 D p t € ¬ ½!!!"!&!.!""""""""+"H"`"d%ˆ%Êàà à°ÿÿ[ÿõ ÿÎÿâÿàÿÝÿàÿ'ýÕÿnþUýSâ­â}áAáXâ\àKá@á á àÿßÓáÂáágàOàìàîàóàà àà ßùßæßÑß|ßÎÝÜP"e!ã‚žÆ "P¬²jjttŠ " $(øMPQdRbOWFE9D)GIJKLNa UHc\V’*+,X-. / 0Y123Z45678STŽYuvtws™WxƒpXC_{|“ihgžzy‚…†‡Z£¤¥¦§¨lÚØ²³´µ¶^ܸ¹º»½]n•¿ÀÁšÂm¢ÃÄÅÆÇÈÉÊo–ËÌÍÎÏ]ÝÑÒÓÔÕÛÖíîÙaLbÿcUŒzø÷deJK‹VMENQRABßÞ IG  [  jkPO·Ð_`fST !"#$—˜ ¡%&'(¼)*+,¾×Ž\FHD‘ŸŒ”€Ýöåò´Þßàïíõçé뚪›­¾ž®²«³Ÿ½ ˜™©œ¬¿À¡¯Á±°º¹¸¼·»¢ÛÐÉÈ£ÏÚÄÍÊÇˤƨ¥Î¦Ì§ÖØÑÒÔÙÓÕ×ÅÃôæñµ¶áâðîóèêìf[†‡Šˆ‰‹‰Š€`6‚‘’ eMPQdRbOWFE9D)G:;<=>?@ABCIJKLNa  !"#$%&'(UHc\V’*+,X-. / 0Y123Z45678STާ¨©«Ø¶»¿•ÀšÁ¢ÄÃÅÆÈÇÉÊ–ÌËÍÏÎÒÑÓÔ‰Cuvs€hnXWq“™ÜlÜ_23wixymÝZYprƒ‚g£¦µjkf[ˆ‰†‡]Ö¼„„…ŠgŠ‹ˆ¥¬¤­ª¯°±®³´²¹º¸z›Œ‘ž”Ÿœ°, °UXEY °(`f ŠUX°%a¹cc#b!!°Y°C#D²C`B-°,° `f-°,#!#!-°, d³BC°C ``B±CB±%C°CTx ° #°CCad°Px²C`B°!e!°CC²B °C#B²C`B#°PXeY²C`B-°,°+°CX#!#!°CC#°PXeY d °ÀP°&Z²( CEcE°EX!°%YR[X!#!ŠX °PPX!°@Y °8PX!°8YY ± CEcEad°(PX!± CEcE °0PX!°0Y °ÀPX f ŠŠa ° PX` ° PX!° ` °6PX!°6``YYY°%° Cc°RX°K° PX!° CK°PX!°Ka¸c° Cc¸bYYdaY°+YY#°PXeYY d°C#BY-°, E °%ad °CPX°#B°#B!!Y°`-°,#!#!°+ d±bB °#B°EX± CEc± C°`Ec°*! °C Ра+±0%°&QX`PaRYX#Y!Y °@SX°+!°@Y#°PXeY-°,° C+²C`B-°,° #B# °#Ba°bf°c°`°*-° , E °Cc¸b °PX°@`Yf°c`D°`-° ,² CEB*!²C`B-° ,°C#D²C`B-° , E °+#°C°%` EŠ#a d ° PX!°°0PX° °@YY#°PXeY°%#aDD°`-° , E °+#°C°%` EŠ#a d°$PX°°@Y#°PXeY°%#aDD°`-°, °#B³ EPX!#!Y*!-°,±E°daD-°,°` °CJ°PX °#BY°CJ°RX °#BY-°, °bf°c ¸cŠ#a°C` Š` °#B#-°,KTX±dDY$° e#x-°,KQXKSX±dDY!Y$°e#x-°,±CUX±C°aB°+Y°C°%B±%B±%B°# °%PX±C`°%BŠŠ Š#a°*!#°a Š#a°*!±C`°%B°%a°*!Y°CG°CG`°b °PX°@`Yf°c °Cc¸b °PX°@`Yf°c`±#D°C°>²C`B-°,±ETX°#B E°#B° #°`B `·BBBŠ` °#B°a±+°‹+"Y-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,±+-°,± +-°+,# °bf°c°`KTX# .°]!!Y-°,,# °bf°c°`KTX# .°q!!Y-°-,# °bf°c°&`KTX# .°r!!Y-° ,°+±ETX°#B E°#B° #°`B `°aµBBŠ`±+°‹+"Y-°!,± +-°",± +-°#,± +-°$,± +-°%,± +-°&,± +-°',± +-°(,± +-°),± +-°*,± +-°., <°`-°/, `°` C#°`C°%a°`°.*!-°0,°/+°/*-°1, G °Cc¸b °PX°@`Yf°c`#a8# ŠUX G °Cc¸b °PX°@`Yf°c`#a8!Y-°2,±ETX±EB°°1*±EX0Y"Y-°3,°+±ETX±EB°°1*±EX0Y"Y-°4, 5°`-°5,±EB°Ec¸b °PX°@`Yf°c°+°Cc¸b °PX°@`Yf°c°+°´D>#8±4*!-°6, < G °Cc¸b °PX°@`Yf°c`°Ca8-°7,.<-°8, < G °Cc¸b °PX°@`Yf°c`°Ca°Cc8-°9,±% . G°#B°%IŠŠG#G#a Xb!Y°#B²8*-°:,°°#B°%°%G#G#a± B° C+eŠ.# <Š8-°;,°°#B°%°% .G#G#a °#B± B° C+ °`PX °@QX³  ³&YBB# ° C Š#G#G#a#F`°C°b °PX°@`Yf°c` °+ ŠŠa °C`d#°CadPX°Ca°C`Y°%°b °PX°@`Yf°ca# °&#Fa8#° CF°%° CG#G#a` °C°b °PX°@`Yf°c`# °+#°C`°+°%a°%°b °PX°@`Yf°c°&a °%`d#°%`dPX!#!Y# °&#Fa8Y-°<,°°#B °& .G#G#a#<8-°=,°°#B ° #B F#G°+#a8-°>,°°#B°%°%G#G#a°TX. <#!°%°%G#G#a °%°%G#G#a°%°%I°%a¹cc# Xb!Yc¸b °PX°@`Yf°c`#.# <Š8#!Y-°?,°°#B ° C .G#G#a `° `f°b °PX°@`Yf°c# <Š8-°@,# .F°%F°CXPRYX +.±0+-°~,±>+°@+-°,±>+°A+-°€,±>+°B+-°,±>+°@+-°‚,±>+°A+-°ƒ,±>+°B+-°„,±?+.±0+-°…,±?+°@+-°†,±?+°A+-°‡,±?+°B+-°ˆ,±?+°@+-°‰,±?+°A+-°Š,±?+°B+-°‹,² EPX°²EX#!!YYB+°e°$Px±EX0Y-K¸ÈRX±ŽY°¹cp±B¶G3#*±B@ ZN:* *±B@ `TD2! *± B¾ÀÀÀ À@ *±B¾@@@@@ *¹D±$ˆQX°@ˆX¹dD±(ˆQX¸ˆX¹DY±'ˆQXº€@ˆcTX¹DYYYYY@ \P<,*¸ÿ…°±D³dDDZZPPÐ&ÿ[Ôÿ Úÿö0ÿöÿ[Ôÿ Ú&ÿûÿ[Ôÿ Ú&ÿûÿ[Ôÿ ZZPPÐÚ&ÿ[Ôÿ Úÿöý0ÿöÿ[Ôÿ <<77ÿÓÔÿ ÿÎÔÿ <<77ý¸Ôÿ ³Ôÿ 1111\¥>~ÕbÀ‰­P¦ô1_…Ôþ;i‰ç)i½b±á C „ · é  €  _ °  b ¿  f ™ È's©ãþZŽãGsÑ3~ú\u°1G|¯Õû0œÐhëVk­ÕlØL®Êÿ¢'L¶¶Ïå1ŽÚ}ã6„¸ëg‘Ìù(±  A!!*!I!b!Í!ù" "p"»"ë##4#N#m#’#¨#È$($E$¥$Ö%%>%W%q%–%ê&[&„&¦&Þ'R''¯'á((L((È)()R)§)Ó*)*U*…*å+D+£+Ð+þ,T,ª,Ô,ÿ-L-™-½. .0.c.±.ÿ/'/O/r/µ/á050‹11x1­1â22n2‘2´2Ø3343V3y3É4444T4t4•4Ê4î5'5P5š5ç66™77u7Ì7ú8#8u8£8ú9)9‡::]::Â;;E;x;¤Y>†>¼>ê?3?a?°?ü@E@n@ÁAAgAA±AøBiBªBïC-CPCšC¼CÝDD)DdDžDýE>EoE±FFhF›FÍG-GG¯GÿHKHpHH¹HÝI I-IYII¤IÊJ JHJŠJµKK5KKµKâL"LeL™L¯LÅLÙLíMM:MRM–MìMÿNN/NQNžNÙOO(O[OœO¿OãP PmP›QQgQ«QÜRRTRtR›SS:SàTnT£U UvU©UúV%VfV·WlW·WüX*XMX’XÚY YMYûZ€Z¼[r\ \³\á]\]Ê^v^Ù_-__Ü`†`¾`óa:a«aìbb7bUbyb¿bÞcc˜dPe"eÚeøf3fSfzf¦fégFg©gÛgùi#iTiŸiÄj0jMjfj…j®jÐj÷kk5kVkok´kßkøll9lUl’l´lôm6mMmmm¯mÚn n7nŸnÃnêoo6o©oäp'pkpªpùq8q‚q¸r'rmr–rÍssHsjs­söttDt¤tüu!u@u{uÓuþv/vevžvíwwwÆxxkxÙyyAy_y‰y«yÏyðz&z\zz¢zÈzò{{C{€{½||P|¿}H}u}¢~~|~» „¶ú€D€—€ìO´ü‚C‚›‚›‚уƒ#ƒRƒµƒÜ„……Ȇ†M†œ†¼†Ø‡‡³‡íˆ$ˆYˆ—‰‰j‰ØŠ&ІŠõ‹‹žŒ Œ.ŒŠŒß¦Ž4Ž_bÐD®‘‘1‘Y‘‚‘«‘ð’1’\’˜’Ò“““.“K“q““¨“ã”-””ò•]•¿––£——a—̘.˜‰˜Ä™™Æšš~š±šê›8›…›Íœ*œfPøž}Ÿ‹ 8 ç¡ƒ¢ ¢v¢Æ££¹¤B¤Ê¥¥\¥“¨N¨”¨»©<©›©ýªÇ« «@«s«©«í¬1¬ƒ­\­É®7®²¯t¯Î°J°Î±±é²b²ý³M³‚´´X´¤´æµ3µqµæ¶T¶¡¶î·;·ˆ····Ü·ó¸R¸Ä¸Õ¸ù¹ ¹.¹9ZþÐ 1@. LgW_O+3!%!'!Z¤þ¢,þÔÐý021;ýÏZþÐ '@$g7.5¹*NoE0N67N0GoM)ÇIeHU 6Pe;¾:dN6 YFdKPÿö0 !@aGMaEN''%" +7326554&#"#4>32#".5ªE=M_=NK°1PX@_32#".5ªF<II>6>II>1P88P1þÊ1O88P1XÚgµLK°PX@>MaGM=NK°1PX@M?M=NK°1PX@g32353##5326557##".53326554&#"I1F+FF>Z>FF>UAS³ 2+7%667675&'&'%5U6 þÊ®þR›— šY×d×Uÿ’>1;@8€igYaQ10!)!)! +5326''&>75.776&##53233#"#U-01  ,-  10--,G0 (!nn ) 0G,nP++¤1%&2¤++P+>'¤& P &¤'>+,,Ð,@)Lh2^s ZE732#&&#"32655#ì9Q32R9 9R1[t\ F5³Pýý1P81D*09Z?Ð '@$LgT>Ðô    ôý0ù(*¹¹*)þUÐ@L32#'"#".2654&#"P9Q33Q9:5uhg 3Q9Ü6>II>þÊ>IZ#Ð6@3Lg_3354&#"#6632#5##"&2>55#"?3H-¤C?.A ZsUftR `ESbÉ":*¢29: '?,-39"AL_Uþ„i5>\!,K4..4XÿöÚ*ª@ LK°PX@>MaGMaENK°PX@32#&&#"3267343Q99Q3[u ZG4>D pb–bppbe,?H?HN>DD><ÚuK°PX@g_>M=NK°1PX@g_0$O¶ LK°PX@a?M=N@?MaGM=NY@ ##%$ +33663236632#4&#"#4&#"#>G0((4 0(38N=N!N&Q,//,,/KBþ]£#%Mþb£+#þbp"0RµLK°PX@€a?M=N@€?MaGM=NY·#$ +336632#54&#"#pU R-6<\SQPi^(D4!_8)39',SYQkb OB$-&A NFJR%3!(( ! NHMW< Ð)@&32#".úPF<II>6>II>þÊ61P88P1þÊ1O88PZÐ"@L54&#"#>32Yay   þ>¾+=&C9?K]"=S32P8Q—TiRd£%B@@#8AB6-J44JDÿö Ð09@6+L€g_M%\ŒþË 7Ìqa20N6WI$,F<254.#"-3U="72ˆm˜ ,",J5"=T¿N?3%%3>O ;S3<ˆRãð (   :Q22S;!áBO&5!!5&PK ÐRµLK° PX@r_ FÿöÚ ?E@B5"LiaDMaEN ,*??    +"32654&"32654&'2#".54>75.54>,>KK>>KK>9AC77CA90O9"0BO =OO=>K9B67HH76BK2F+6+ ^E.N76M.#<.*6+F2FÚ/7@4€iaDM=N,*&$  +2#766767##".54>32654&#"+3U="72ˆm˜ +#,J5"=TY%3>ON?3%Ú ;S3<ˆRãð!'   :Q22S;!á!5&PABO&5d"ôr@W_O +!!dþprPA_5 MK°!PX@g_?N@Wg_OY@  +53533##5A¿X¿¿X"PÃÃPÃÃ"^5b5-@*L-,'#"IWaQ32 +77&&553>77'&&'#'7667'&&'"Y!! X !!YYL97H7  6H6:MƒS  Q#__#Q  S 7N2NJJN2N7 Kÿ’ >@…v +3#®_þ_>üTKÿ’ >@…v +#3 _þ_n¬Úÿö~0 @aGMaEN$$$" +74632#"&4632#"&Ú.$$..$$..$$..$$.G$--$$--¼$--$$--¥ÿ`~0*@'€aGMAN  +%#4632#"&w‚PP-%%-.$%-—þÉ7H#..#%,-UAS³2+%%U®þÊ    6þR|×Z—šY×Pªê(@%gW_O +7!!55!P¸þH¸úPðPPáÿûwÐ&@#_NK°1PX@ _<N@W_OYY´ +3#'öa J Ú––––®ÂÚ U@ LK°PX@ _>NK°1PX@ _<N@W_OYY¶ +3#'#53#aa J Ëa JÚ––––––#5ÐL@I  h  g 1G@D,L€igYaQ10!)!)! +532>''&>33#"33#".776.#Un ) 0G,--01 ,- 10--,G0 (!?P &¥'>+P++¥1%&2£++P+>'£& ÿÿ’Y>@…v +3#ÿZZ>üTÒÿ’Ç>(@%gW_O +3#3Òõ››n¬PüôP<ÿœÿç ±dD@W_O +±D!!<àþ KsÿƒŸM³ 2+>554.'5s0N76N0EoN*)MoG$ 6Nd:¾;eP6 UHeI¾KdFPÿöÚ*´@ LK°PX@>MaGMa=NK°PX@323&'&&553#5##".526554&#"P0D*=P ZU P=*D0Û8CC8=DEY2P772! ´ý&_277P2‰J?Œ?JHAŒ?JXÿ[0*^@ LK°PX@aGMaEMAN@?MaGMaEMANY@ %')$ +4>32353#546767##".57326554&#"X0D*=P UZ P=*D0ZE<8CC8=Dc.L672_ý5¥ 276L. ?JJ?Œ?JHAZÿöþ&@?MaEN#" +33253#"&5ZZwyZmfdm&þœ}}dþœbjka"Ir@W_O +!!:ýÆrPPJÐ!±dD@ L…v +±D3#&&'&'##T±RqsSÐþz þüdUôDbK°PX@geaGN@#igYaQY@  +!!32##"&54632##"&546dþp¾$$$$$$$$rK" "þ‰" "fˆë ³ 2+77'77'f3Ž‘3‘Ž4޼Ž3‘4‘4ŽŽAO 3@0gg_=N  +533##5#5!!X¿¿X¿Ìþ4ŒÃÃPÃÃPþºFÿÿd"ôrD@W_O#+-ÿ[0Ú1=tµ LK°PX@&iiaDMaAN@-€iiaDMaANY@ #'!'*%"$ +4>32#'#"&554632&&554&#"33#".5%32554#"-%Fd?s‚G^?CD>QWN[c4J-FF@hI'%"YY"%¸DkK(plþMbl[TPS\P 0LJsiþÅ0P8K)KlBs6:z=y:67ÿö6Ú%/@*)LK°PX@*€aDMa=Ma=N@(€aDM_=MaENY@'&&/'/#"+ +467'&&54>32#4&#"73#'#"&5267'773/B*YdZ5.*0#¬G^quc@$X1R]´"?›6/5E *A $=,]N)43&,1íÇ¡W01WNU-'ÓD}),–ÿ’‹>(@%gW_O +53#53–››õnP PüTFÿ’44?@<1.L€~iY_O$$ +7332654&''&5467'53#4.#"#57&&F_&2?J63L§XNZNb_!,9A17PPTcXZTg¹*;3+C=Nb PP cO)6.-;nKPd PP dF"r@W_O +!!FÌþ4rPÿÿÖ‚³)@YaQ$# #+û´#q*@'L…†W`P# +!&&''3#7667!û´âºjçèi¾úr ëþÙþÙïÿÿþ>ÿ’Â>"GµGýó@…v %+ÿÿû›ÿ’ø>#GûP#Fýu‚Fÿ•@TSLC<  hgb^]21,(' LK°PX@…†_>NK°PX@…†_<N@…†WaQYY@nmXWHG87 %+ÿÿýóÿ’>#Gý¨FÿÍ‚{@ 21,('LK°PX@…†_>NK°PX@…†_<N@…†WaQYY@ 87 %+ÿÿýýÿ’ >#FýÛÿ°G^@ .-($#LK°PX@…†_?N@…†WaQY@ :98743 #+ù4ÿûôÐ&M@J€  € h_32#4&#"73#'#".5%467'&&54>32#4&#"#'#"&5!3267'!3267'730B(YdZ5.*0¬G^quc@ W6&@/þ73/B*YdZ5.*0#Uc@$X1R]X/+"?›6þ/+"?›64H '?)@+]N)43&/íÇ¡W*7)>)}5E *A $=,]N)43&,1þ*W01WN),-'ÓD}),-'Óÿÿþãÿ’>"TÄTýä@…v %+ÿÿü‹ÿö¥#)ûµ#)ý¨)›@aEN$$$$$# '+ÿÿþÏÿö1¥#)ýù)¯@aEN$$$# %+ÿöÚ/W@T €€   gg a DMaEN//,*('%#"# +#3#32673#".55#535#5354>32#&&#"Z   E=7EZ s^3Q9GGGG9Q3^s ZE732#".¯".."".."c."".."".ÿÿ’Y>(@%gW_O +3#3ÿZZZ>þ„ýÐ|þ„(:!.@+LW_O!  +%7667675&'&&''3'667675&'&&''3#±  ±jÉÊ¡  ±jÉÊi(Ì  ÌððÌ  Ìðð(:!%@"LW_O +3#'#73#Ðj±  ±iÊéÉj±  ±iÌ  ÌððÌ  Ì“(Æ@LW_O +3#'\j±  ±iÊÌ  Ìð’(Å@ LW_O +#7667675&'&&''3ÅÊi±  ±jðÌ  Ìáг@…v +3á‚PPÐ7þÉ¥Ñw@…v +#w‚PPþÉ7PÐ5@…v +3#3#åPP‚‘PP‚þÉ7þÉ#Ñ@…v +33#6P‚‚þí‚‚PÑ7þÉ7þÉÿÿ¥ÿ`w—9@…AN "+#ÿ`—@…AN +%3#3#†‚‚P‚P—þÉ7þÉiŠïo±dDK°.PX@iYbR@*€€iYbRY@  +±D26553#".#"#54632A:4",$!A:4",$"Ë:>:>ª·® ±dD@W_O +±D!!ªþüKAúÇm±dDK°.PX@iYbR@)€€iYbRY@  +±D%".#"#5463232553•.#/UG;.#/UGú"7FF;G"7FF:H‚Ö(±dD@…YaQ$" +±D332653#".‚K4**6K.>$$>."$$"2$$2×­m% (±dD@YaQ    +±D32##"&546$$$$%" "´b¤4 *±dD@iYaQ$$$" +±D4632#"&732654&#"´B66BB66B< Ë09900990ªŠ†±dD@…v +±D3#ªnnZ’æŠÂ±dD@…v +±D#73@ZnnŠ’ÿÿxŠc’þÀ@C’ÆÀ@%±dD@W_O %+±Dÿÿ?ÿö"*’µLK°PX@1 …  …€gaGM a=N@5 …  …€gaGM=M aENY@ /.-,'%+ +$"#% '+ÿÿX"ŒÉµLK°PX@( i a @;Lih ig_10$" // !+ÿÿUÿö¼"#’ K° PX@……;96410,G-G'%+ +$"#% '+ÿÿ?ÿö4"*‘ µLK°PX@7€  i  igaGM a=N@;€  i  igaGM=M aENY@ B@<:640.'%+ +$"#% '+ÿÿPÿö"-’Q@N……€ gaGMa EN$#"!    !+ÿÿPÿö"-“Q@N……€ gaGMa EN$#"!    !+ÿÿPÿö"-›T@Q… …€ gaGMa EN21$#"!    !+ÿÿPÿö"-™“K°PX@3€ g a FMaGMa EN@1€  i gaGMa ENY@!751/+)%#    !+ÿÿZ!"z’-@*……_?M_=N (+ÿÿZ!"z“-@*……_?M`=N (+ÿÿZ!"z›/@,……_?M_=N )+ÿÿZ!"z™\K°PX@"aFM_?M_=N@ i_?M_=NY@ $$$# *+ÿÿPÿö"’+@(……aGMaEN''%# '+ÿÿPÿö"“+@(……aGMaEN''%# '+ÿÿPÿö"›-@*……aGMaEN''%# (+ÿÿPÿö"Œ‡K°.PX@* ia $>''%# %+ÿÿPÿö"™YK°PX@!aFMaGMaEN@iaGMaENY@ $$$'''%# )+ÿÿMÿö"2œK@H€€gaGMb EN?>=MaGMaEMANK°1PX@!MaDMaEN@ …†aDMaENY@&$(( +7&54>3273#"'&#"3265#I9Q3+F"ZF9R2Q8&"?þÊ1O8'EŠ(I>þÊ`$I>/#ÿâ5N#,D@A ,#L…†aGMaEN'%() +7&&554>3273#"'7326554''&#"#N9Q3J5+_Q$9R3O5'X!2%Œ2O8 >s5L2P7#7}H?ŒDH?Œ(&Úi@ LK°PX@_>M_=NK°1PX@_@;……_MaGMa=NK°PX@$g323&'&&553#5##".26554&#"3#<0D*=P ZU P=*D0Û8CC8=DEYZFFÍŒ2P772! ´ý&_277PWJ?Œ?JHAŒ?J°’ÿÿ_¢" ;@8gg_>D pb–bppbe,?H4#&(<!1) N>DD>ÿÿ_»"œ @@=……g_… …€gaDMaEN87%")% *+ÿÿIÿ["›z¶ LK°PX@)… …iaGM_AN@-… …i?MaGM_ANY@A@%''!#% *+ÿÿPÿö ¶" A@>  i ggaDMaEN53/."%")% *+ÿÿIÿ["†¶ LK°PX@. …i a<87"%''!#% *+ÿÿPÿö Å" ~K°!PX@0€ga BMaDMaEN@.€ igaDMaENY@)'0-'4)4%")% (+ÿÿIÿ[%"z¶ LK°PX@' iiaGM_AN@+ ii?MaGM_ANY@20960=2=%''!#% (+ÿÿZþ»"› 8@5……h MaGM=NK°1PX@!……10/.! -, !+ÿÿFÿBÚ"!ž§µ2 LK°PX@;€~r  €caDMa EN@<€~€  €caDMa ENY@CB><;910$" // !+ÿÿMÿB0"2ž§µ0 LK°PX@;€~r  €caGMa EN@<€~€  €caGMa ENY@A@<:97/.! -, !+ÿÿ-+»""œ )@&……_@;iaBM@; …   …_ M_=NK°1PX@i_M?M=M _CNK°1PX@%gM_=NK°PX@#€BM_>M_=NK°PX@ ……_>M_=NK°1PX@ ……_M_=M_CNK°1PX@!_þ"“|â0@-…€M`=NK°1PX@#…€_MaGM=NK°1PX@! g554.#"#4>32#".5732673#"&554632#&&#"d5I--J44J--I57%C^99^C%%C^99^C%È!Ab9DD9bA!^+F22F+–+F22F+6Y?""?Y6–6X?##?X6 !_?4‚4?_!-n+ä+:Cc±dD@X3L€ i  i gYaQ<;B@;C32>554.#"732#'1##72654&##,9^C%%C^99^C%%C^5I--J44J--I5Zr6?B@;6753#"33#".#"&546332n2F*Z2AJJB}}5U< õ$$$$-+G5i´B;;BU7N»" "ÿÿÿñÛ"?ÿ9ºµLK°PX@_>Ma?M=NK°PX@_M aGM a=NK°PX@&g323&'&&55#53533##5##".526554&#"P0D*=P ffZDDU P=*D0Û8CC8=DEY2P772! 2K77Ký¨_277P2‰J?Œ?JHAŒ?JÿÿIÿ[8" @XHÀy¶ LK°PX@' giaGM_AN@+ gi?MaGM_ANY@111414%''!#% )+-+Ð@@=   g  g33###".5A2F+úPZP+F2&&?-ý0‰ýw,-?&Zÿ[þ&-@*L?MaEMAN## +32653#"&'&'#2#´8??:Zi`1<  Y&þœ<8C9C64"#)"## +75463354&#"#66323676632#32673#"&'&'##"&72655#"354&#"#SFJ #9UF8)/  -&DMÞ%&UO;&. 2-?H› (H"#·‰%! #‚<>IJ,(:@GUK‘i&- =JK-&i#<"K&--&7ÿö?Ú2ÑK°PX@(€_>Ma?MaENK°PX@(€_332#"#"&'33254''&54634&##"#72F*I+G2ZYD"FJYQL`_-#PE!‘^V7.I-6Z'(B//B(QF= XBLUJBOGHO-77-ýÚFÿöß&2’@LJK°PX@ €j>MaENK°1PX@ €j323&'&&''57'37#".732654&#"F8M0*  <›qFm*–mIi!=U44TK° PX@qW_O@†W_OYµ +!#5!FÌUþ‰ŸÒ‚r5Ú-5P@ML&K€ „ g _O...5.543210/-- +336766773#546767##'&&'&'####56P"!N7 4 ZdM_ANK°1PX@ g_75&'&&546332#&&##"###".32>54&''&&#"M_ >*9-"/#'i^'D4"_8'393.J&>-#1&  mc)G7#^*#L  ,#J&. !)/'I+52&:6JW&5!$,& 0  ,52&)N[)8O&7 *#4A*_-i*C@@ LJIeaGN &$* *.# +76327'#"''7&54672654&#"*?X/;>0U?UW?W7=.W?V «:FF::GG*?XU?U7>0W?WW?V/@ 9òG::GG::GXÿ¥€#?@< !L€~iY_O%$ +&&5546753#.#"32673#Q[[QZI^ Z#,=EE=0KZ ^IZnWŒWnTS `K'H?Œ?H81L_ TKÐ/<@9'L€ga733#3##5#535#53}”  `»ÃÃÃZÃÃÞ¼Ðþ×  )þ‰KKKxxKKKw¯Â¤ä&æµLK°!PX@%€iga]NK°.PX@+€igYaQK°2PX@,€€iga]N@2€€igYaQYYY@" &&$"#" +463354&#"#6632#5##"&2655#"¯81Z#$2<26=/ 2#-6p',Z!'.&*0*Ã7 / # ¹½Ÿß @ia]N%%%" +326554&#"#"&554632ë$$$$´?44??44?&$$P$$P0990P0990´¸Çý(@% L\M`]N +535465#5733´v >FUa¸2· 6F=þí2›¸š3@0L€a`M_]N"&) +676633#57654&#"#6632•,*] mÿxF$$<E69D’<4 2@E(+##4>=›³šý#x@ LK° PX@$r~_\MaaN@%€~_\MaaNY@ ## +"&5332654&##575##53:G<&$$] d×908E³90<@2<, 7,09ª³® -@*a`MaaN   +"326554&"&554632,####& ##?CC??CCË+%A%+/!A%+þèH?A?HH?A?H¯¸›ý *@' Lh\M_]N +3353#5#5-E‡t<<°ý½YÑFPÿÿªÿή}þ-@*aTMaUN  !+ÿÿ´ÿÒÇzþ(@%LPM`QN $+ÿÿ›ÿÓš{þ3@0L€aTM_QN"&* &+ÿÿ›ÿΚ|þx@ LK° PX@$r~_PMaUN@%€~_PMaUNY@ $$ !+ÿÿ¯ÿÓ›~þ*@' LhPM_QN &+\üÆ(K°1PX@ FUaŽ=þ=Æþü‘E‡t<<°½· 6F=þíý:‹2x½YÑFP:Ð6ͱdDK°PX@ . / L@ . / LYK°PX@2…  € hi  W _  O@6……  € hj  W _  OY@6653(&$#! +±D5465#57333#!557654&#"#6632676633” >FUaŽ=þ=ÆþüxF$$<E69D,*] m½· 6F=þíý:‹2þC@E(+##4>=3<4 2Ð'3±dD@3* LK° PX@@r~  €gi  W  h _  OK°PX@A€~  €gi  W  h _  O@H€€~  €gi  W  h _  OYY@210/.-,+*'$" +±D3#332654&##575##53#"&3353#5#5¿=þ=W<&$$] d×908E9:GªE‡t<<°Æý:ï<@2<, 7,099z½YÑFPÿûSÕ!/=AQ_g@d> ? A @ L  ii  a 554&"&554632Ð:1!  "1::1"  !1:Ýnýäy## #?99??99iZ59  95Z59  9ZZ²ZZÁ7 7O)-)  -)ðE8-8EE8-8Eÿÿdÿ’ô>"TD($@!…†W`P %+ÿÿPÿ’>"TL(]K°PX@…†g_?N@#…†hW_OY@  &+ÿÿ]5&Ê-@*Lg?M=N   &+ÿÿZ!"z5@2…aM=NK°1PX@_3þ°#,Z->&ÚP,$ýÆ;$:*Xÿ[0_µLK°PX@aGM=MaAN@ ?MaGM=MaANY@%!'$ +36632##532654&#"#­ O9Ub6K/??6=A99BZ&_27fWþ«,H3R<5F;CA9þ˜&Uÿ[Æ)I¶LK°1PX@#GûÈ#Gý¨Gˆ@…v '+û×ÿöÒÚ(MoyƒÈ@‹~wR, Š}vjE&# LK°PX@< € a DMa EMa EN@5 € a DM_ =Ma ENY@1{zˆ†zƒ{ƒtrnlihca_^\ZIGDC=;9864%$"!(( +".55467'&&'4>32#4&#"73#'467'&&'4>32#4&#"#'#".5!5467'&&54>32#4&#"#'#"&%3267'267'%3267'‚&@/730B(YdZ5.*0¬G^quc@ Wý730B(YdZ5.*0Uc@ W6&@/þ73/B*YdZ5.*0#Uc@$X1R]X/+"?›6X"?›6/ûÕ/+"?›6 )>)}4H '?)@+]N)43&/íÇ¡W*7"4H '?)@+]N)43&/þ*W*7)>)}5E *A $=,]N)43&,1þ*W01WN),-'ÓDÒ-'ÓD}),U),-'ÓDû n& 0@-gc_?N  +%!5!!!!ù˜hù˜hù˜´FFrFsFþ _à5ZK°!PX@ g_?N@ W g_OY@ +5353!533##5!#5þ ¿X’X¿¿XþnX"PÃÃÃÃPÃÃÃÃþ "ôr$@!W_O +!!'!5-Çþ9Zþ9rPPPPýø#qm¶LK° PX@%pqhW_O@#…†hW_OY@ +'3#7!5!7667667675&'&&'&&''!56kjçèiküÂ~  üƒê‡þÙþÙ‡PPÿÿZþÐ'@$gMN  &+ÿÿPÿöÚ @a!Ma"N)'%#%+ÿÿ,,Ð,@)LhMN $+ÿÿZÐ?@<Lg_M_N$#!+ÿÿZ&Ð2@/g_MN !+ÿÿVÿöÚ;@8€~a!Ma"N   !+ÿÿ_Ð/@,g_M_N  &+ÿÿZ?Ð'@$LgMN'+ÿÿK Ð/@,' L€MN..%+ÿÿ(0Ð&@LMN%+ÿÿ?ÿö0*xµLK°PX@'€ga#MaN@+€ga#MMa"NY@ '%+ +$"#% '+ÿÿPÿö0-C@@€ga#Ma"N    !+ÿÿPÿö0@a#Ma"N''%#%+ÿÿVÿö0,þ;@8€~a#Ma"N   !+ÿÿ2ÿ[&&7"@LMN#+ÿÿ0(&6&@# LMN""$+ÿÿXÿ[0g@ LK°PX@a#Ma"MN@ Ma#Ma"MNY@)'" )%$+ZþÐ!@_MN+3!##Z¤ZðÐý0~ý‚ZÐ0@-g_M_N(!+!!32##72654&##ZŸþ»‡2Q9 9Q2áÜ;IH<‚ÐRÒ8O00O8RI;Ð %@"M`N +3333!ŽxNxNþ&ÐývŠývŠý0Ð5ÿöÚ1G@D L€€ga!Ma"N11$!$"/$ +4>32#".'332654&##532654&#"@ ;S35U< I$ZO>DOPC_^=JI>=J /K63H-CV]M/M63H-6=E:;ERC78AD9ÿÿU¬"«9/@,L…iMN"!)+ÿÿFÿöÚ!;@8€~a!Ma"N$" //!+ÿÿMÿö02;@8€~a#Ma"N! -,!+ÿÿ_&ý 8@5i_M_N      %+ÿöDÚ+hK°PX@ ga!Ma"N@(gMa!MMa"NY@)'" )% +354>32#".55##32654&#"nd0D**D00D**D0dZ4++44++4ÐþÐ|+F22F+þ˜+F22F+šþ²Ðýä6886h6886Z&Ð*@'gM`N(!+332##72654&##ZZ–1Q: :Q1ðëÐ /@,iM`N'!+332##!3%326554&##>T/_e2I/ƒˆTþx/6886/ÐþÜnZ-I4Ðý0PB66B 5Ð6@3g_M_N(!+5332##32654&# ȇ2Q9 9Q2áZ‚;IH<~RþÜ8O00O8~þÜþøI;33###3#"ËAK9P1æZ|f㌌8DC7iJ/M8ý0,þÔ|G;;GJÿöÚA@>€€ga!Ma"N%"#" +732655#5354&#"#6632#"&'¤E7=EøøF<7EZ s^guug^s ¹6=H?xPn?H=6\gpbþÀbpg\ÿûþÐEK°.PX@_MaN@_MMaNY·!#+!####53267€~ZËPW,'Ðý0~þ€‡|TO`ÿt?Ð8@5S_M _N +5367667!3#5!%#- vFPþz6Æ ŒÙ+&rOTý}ÙŒŒÙ3þüTq#((0Ð"@LMN+3676673#7Œ‰  }bþï`JáÐþ¥(([ý0½2ÿì&ý#+aK°PX@!i aM_N@$W ii_OY@)( +4>3532##5".526554&#3"26M/T/M67L/T.M7$8DD8ÐD88Dç0O7AA7O0ê/M6AA6M/„H<ê>KþKþÐ/@, LiMN,#+3267673#546547"#"&5¥F<#0 ZZ#1!_nÐþ÷7A cý0á   l\ Zþ& '@$gMN +353#5##´ðZZðZ&èèýÚìì&ÿÿPÿö"£™U@R€  i ga#Ma "N8620,*&$!!  !+Zþ&@LMN+313676673#4767##ZV ©sV ¦s&þÀ3')WýÚB;')þ¨7þ& ,@)g_MN%+7&&54633#5##"335Ç?Gj^õZ€ƒjÒ3993›ÔUAQ\ýÚÍÍÖ1,+1¹Zþ&!@_MN+3!##Z¤Zð&ýÚÔþ,ÿûþ&EK°.PX@_MaN@_MMaNY·!%+!####532>7€~ZË(?, &ýÚÔäB];T&@.ÿt?&8@5S_M _N +53676677!3#5!%#- vFPþz6Æ ŒÙ"U9öþ'ÙŒŒÙ‰ @Vi&@_MN+!#þ¬Z&Rþ,&]5& -@*LgMN +33373#'#]Zl¨gÄÇj§m&ææþ÷þãððF&-0@-'$L€MN--+36766773#46767##'&&'&'##¶\ WpS@T@S&Û    ÛýÚO((  ))þ±&2ÿ[&Ö#+4@1M aMaMN)( +!".554>3532##4&#265!3"0N77N0P0N77N0PÒF<=Eþ¬E=>FšE=ÿÿZþ"Äû2@/L…aMMN$")+-+&@_MN+!###-þÑ\Ñ&Oþ)×S&0@- LgM N +3353373#'##5##r[]?P?][rz_`@P@`_ ììììþ÷þãööööZ&!H@E€ g_M_N !!  +2##32654&#'2654&##QV^=8?Cc[úY¡0440*0/+ž&ME3<A=KR&þÊ¡*&'*N($$)™>& %@"M`N +3333!ŽxNxNþ&&þ àþ àýÚ&<ÿt5&-@*TM`N +3333333#5€€ga#Ma"N#"%" +6632#"&'332655#5354&#"Hr[guug[rZ E3=EÅÅF<3E UZpb–bpZU-2H?#P?H2-Zÿt?& )@&TM`N +333#5!´æZKPþk&þ*Öþ*ÜŒ&>ÿö0#hK°PX@ ga#Ma"N@(gMa#MMa"NY@!%# +354632#"&55##326554&#"ŽXRHISSIHRXPø'#$(($#'&ëKO[[OæO[[OSó&þz0440æ0440Kþ&3@0LiMN +%"&5533267673#546547"_nZF<#0 ZZ#1›l\ÃÃ7A ýÚ}   >& 1@.iM`N $!+32##!3#%32654&##’0^ef]„ˆTTþÌ03<<30&Ê[SR\&ýÚH7/.8<ÿù -/J@G €€€ga#Ma"N//4!$264 +>332##"&'3332654&##532654&##"A!5D(B>JUJ?.%(.N,$%($PÿöÚ,`K°1PX@%€i_Ma"N@#€gia"NY@ %%'$!$+4>33#"3676632#"&53326554&#"P%Dc=––Q^ :1Ye9R3guZF<=EE= ig_M_ N$"   &+ÿÿ_ùÐ)@&_M_N  &+ÿÿ_ù³"Þ4;@8 i_M _N$"   &+ÿÿ-ÿöôÐ2@/€_Ma"N !+ÿÿZ!"™z/@,i_M_N$$$# *+ÿÿUÿ[Çý/0@-i_M_N!%%+i9GK° PX@p_MN@…_MNY@ +53!#ÂUþ¬ZÐi»ý‚ÐiGK° PX@p_MN@…_MNY@ +53!#ÂUþ¬Z&i»þ,&ÿÿi²"­6-@*……_MN #+ÿÿi"É“Ø-@*……_MN #+ÿÿZ?²"Ÿ63@0L……gMN)+ÿÿ]5"Ê“Ø;@8L……gMN   &+ÿÿ(0¬"¿98@5L…iMN#+ÿÿ2ÿ[&"¦:@7L…aMMN#!#+ZÿƒþÐ MK° PX@qM`N@†M`NY@ +33##5#´ðZ¥Z¥Ðý‚~ý0}}ÐZÿƒþ& MK° PX@qM`N@†M`NY@ +33##5#´ðZ¥Z¥&þ,ÔýÚ}}&5DÐ!3@0iM` N!)! +333332###7326554&##5P“P<$;**;$Œ“ã<$,,$<ÐþÞ"þÞ)9#x#9)cþK,$x$,5D&!2@/iM `N !!)! +335332####%26554&##5P“P<$;**;$Œ“Po$,,$<&ÈÈÈ)9#(#9)þíK,$($,ÈÿûÿûDÐ'jK°.PX@ i_MaN@*i_M_MaNY@'% )!! +53267!32####%326554&##<$;**;$Œ 5(^<$,,$<PC4þÞ)9#x#9)…þ=!F:&P,$x$,ÿûÿûD&%£K°'PX@!i_M aNK°.PX@,i_MaM aN@)i_M _MaNYY@$"%%)!! +53267!32####%26554&##<$;**;$ŒJAš$,,$<U>4dÈ)8#*"9)Ùþé[lO,$*$,ÊÿÿXÿö0CÕXÀ@A@>€€ga#Ma"N  #"%# (+ÿÿVÿöÚC¼XÀ@A@>€€ga!Ma"N  %"## (+Ú#]µ LK°1PX@giMN@gi_NY@ #) +3533#36632#4&#"##DZff O;)C/Z@99CZDqiiK2!273G,þÄ-?FK@þÙ&ÿ[Ú+wµLK°1PX@( giMMaN@( gi_MaNY@++%!') +53533#36632##532654&#"#DZff O;R`6K/FF6=@99CZ&KiiK2!27gVþÝ,H3R<5?FE<þÏ&Ð.@+Li_MN"$+!#76632#4#"##@x M(&>-Z[<2,ZnÐOô&)/B(þÄ({93þÉÿ[Ð#8@5Li_MMaN$!)$+!#76632##532654#"##@x M(&>-6K/FF6=[<2,ZnÐOô&)/B(þâ,H3R<5 {93þÉKÿ[ ý -mK°PX@$ aFM ?M=M_AN@" i ?M=M_ANY@,)%"% +32653###%"&546332#%46332##"&ÒU6=Z6K/UZO$$$$þ$$$$S<5ýø,H3ËýÚ&_"" ;"" FÐ )@&_N@W_OY´ +3#67675&'&&'þ»ZSý­ZZ½ îþŽdþ“Øý  þ˜ÿ«EîB@  LK°PX@ _>N@W_OY@  +#5EZý­SþC ½îü½mdrhþí þóüÖÿ«1îH@  LK°PX@_>N@W_OY@  +3#67675&'&&'3þ„ZSý­Z þCýøZîþŽdþ“v  ýhCü½üwÿ«ÒîH@  LK°PX@_>N@W_OY@  +3#73üwSZZý­L ½þC ªZ|rü½m5 þópþíþYCü½úÉÿ«ÒîX@  LK°PX@_>N@W_OY@ +3#767675&'&&'3#þ%ZSý­ZZ½ þCýøZþRZîþŽdþ“h  ý(Cü½Cü½Cú~ÿ«‡îX@ LK°PX@_>N@W_OY@ +3#73#ú~SZZý­L ½þC cZþRZ|rü½m. þópþíþ^Cü½Cü½CþAåS@JIv +5%667635"&'%%667635"&'%5(½þCE þ»ýóE þ»½þCS×d×[š žþ¢š žY×d×þAåS @J Iv +#2%5!%#2%åþ» EþCýó½þ» EþCS[šžY×d×[šžY×Pÿö0%C@@L€€iYaQ %%$$+4>32353#5##".526554&#"P0D*=P UU P=*D0Û8CC8=DEY2P772_ýÚ_277P2‰J?Œ?JHAŒ?JÿÿüE-†g#Iûk7#Iý/7Lÿ~G@D i   g Y  gaQ5558587643$$$$$$$# *+þ»ÿ’E> ,@)gW_O   +!!5!!3<þ'þÙþ÷Z>üTP ü¤¬üTÿÿþ»ÿ’E>BÀ@,@)gW_O  &+ÿÿþMÿ‘E>BÀ@G@D€ ggW_O0/.-+)!  ,, !+þ»ÿ‘³>+/G@D€ ggW_O/.-,*(  ++ +233#"##532554>35".554##5!3#WO¤& P &¥OWPV¥1%'2¤VPüTÿÿþ“ÿ’Ÿ>#UýÁKœ4@1 LgW_O $+ÿÿþaÿ’Y>#þ cÎ7@4 LgW_O !+ü*ÿö¸Ð'3?M!K°.PX@#"$%'& L@#"$%'& LYK° PX@;ri_<86/-(3)3$! +32#532654&##667675&'&'%552#"&5464632#"&%46332##"&ýÁ}5U< 2F*Z2AJJB} þÊ®þRür$..$$....$$..$$.Ä$$$$Ð7N0+G5i´B;;Bþ· šY×d×Z•-$$--$$-þ$--$$--"" þ´ÿöÐ .<ÜK° PX@;ri_32'32655'&&#",3Q99Q33Q99R³E8ñS8AI>ñþÿ’ê> 4@1…†hW_O  +3!!!!þc_€—ýJ<òüðjn¬þ¬P Pþèùüÿ’T>K@H  gW_ O  +53#53%3#3#!3#_õõ›ùõ››õ¡Zý¼ZîPüTP PPüôP¬üT¬üT¬ÿÿZÿ[þ&i-@*L-Ma.M/N#$%+ÿÿZþЩ&@#†W_O$+ÿ[:Ú(@%gW_O!'!+#"##532654>3:n6=6K/nn6=6L.ÚR;6þ,H3R<5ú,H32'Ú-ÅK° PX@$riW`PK° PX@(riWW_OK°*PX@$riW`P@%€iW`PYYY@--%*+ +3535&'&&54>323#52654&#"32‘ $9Q33Q9$ ’Ó(2F<II>þí9In<Ð*@' LK…W_O+3!53!&&'&'#ð~®þ Z,€Ðý{KKè#  #7ÿ[Ð,@)LgW_O4!+5!!'7!!57åþÑHþèH5þ>~RPþÆgþÊPReÿû?&/@,r_-M.Ma.N!!+%33#"&5###5!#ÛHL[ÃZPP¤UT_P*þ,ÕQNIÚ4@1 L…gW_O+533476673#¯c  TÔiÖPþ{#   #9ý&Ö# 5ù.=I@FL  iYaQ0/! 75/=0=)' .!.  +23676632#"&'##"&5546"326554&!"32>7'&¬3F.&3F.&5'&&#"§UFFU->&3(##  D>*MXH×(#$FFUUF6'K?1n%) *UKKQQ !*27!((!á<ÿöÚ"/Q@N.$L€igYaQ###/#/*( "" +".554>32!32>735&'&&#",6X?##?X66Y?"þ„ 5&7.$ 2 -;He 5&&5 &D`:Ü:`D&%D`;oþý (#9)£Ó  ÓÿÿþÅÿû;Ð#MýäMÄ7@4_<;:98/,&3(3"   !+û‘Ð;?CGKO£@  &$" h,'+%*#)!( g =;:9876543210/.-,+*)('&%$#"! - +37#5373373!73373!733733#3##7##7!#7##7!#7##7#%7!!7!!7#!7#!7#û‘`%co%F% %F%%F% %F%%F% %F%Ua%co$F$ $F$þò$F$ $F$þò$F$ $F$TÔ%þò%þÔ%þò%ô% %Ú% %ü,% %ÃAÈÈÈÈÈÈÈÈÈÈÈÈAÃAÃÃÃÃÃÃÃÃÃÃÃÃAÃÃÃÃÃÃÃÃÃÃýéÐ+/37z@w    hg  =<;:9876543210/.-,+*)('&%$#"! < +7#5373373!73373!73373!733733#3##7##7!#7##7!#7##7!#7##7#5!7!!7!!7!!7#!7#!7#!7#ù™%co%F% %F%%F% %F%%F% %F%%F% %F%Ua%co$F$ $F$þè$F$ $F$þè$F$ $F$þè$F$ $F$T,%þè%ü%þè%\%þè%þ% %þ\% %þ\% %l% %ÃAÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈAÃAÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃAÃÃÃÃÃÃÃÃÃÃÃÃÃÃÿÿþ~ÿö†Ð#)ý¨NœÁK° PX@1ri_>   þÀþ S×d××d6›“”– ÿÿûš^ #Fûx#Fý¨ FØ`@]O8PH?†…~un^  Lš™”dcZY.-($#IWiaQ ŸŠ‰zyjiTSDC43 #+ÿÿþÿ`.0#JýøJ°;@8 €aGMAN  "+UÐ$@! JW_O+%%!!U®þÊ    6þR®þRù×Z—šY×þ»PUÐ$@! JW_O+%667675&'&'%5!!U6 þÊ®þR®þR— šY×d×nPû›ÿ’ê> 4@1…†hW_O  +3!!!!û›c_€ úÔ<húzjn¬þ¬P Pþèÿÿ\üÆ„@…v#+ÿÿÖð‚Ÿ)ú@YaQ$##+ªW®¢ ±dD@W_O +±D!!ªþü¢KÿÿþWªê#€ý¨ÿìL2@/gWi_O(% &+ÿÿþWÍôÇ#€ý¨ÿçD"@YgaQ(% %+ýäÿœÿç@W_O +!!ýä8ûÈKûŒô™0@-…h g=N +%!7!5!73!!!!#7!ûŒÒgüÇmqZq¡ý+g<ünZnýbú P¯¯P PªªûŒ#q.@+LWh_O +3!73#'!#üsjº×Èjº ½iÉû(½ièqì ÿì îÿî'ûëAÂS/'@$/!  J.-, Iv +%#2-#2%#2%5½þ» EþCýó½þ» EþCPþ» EþC|×[šžY×d×[šžY×;[šžY×dûæA½S/)@&.-, J/!  Iv)( +55%667635"&'%5%5%667635"&'%55%667635"&'%5E þ»½ýóþCE þ»ýóE þ»½A[š žY×ddd×[š žYýî[š žY×dûŒ#q.9@6# LWhg_O +3!73#'!#!'7!ûŒçjjÕjjº ½ijû)kiŠ Ø??û* J'‡‡ì $ PP ûŒ#ôq)8@5! LWhg_O +3!!!!#3#ü®çjj_ûb   û kiýöçjº  ½iJ'‡PP‡''ìîûŒ#ôqe¶ LK° PX@$pqhW_O@"…†hW_OY@  +3!!!!#üsjjú@  Âú~kièq‡PP‡'ù4#q .n@  LK° PX@&pqhW_O@$…†hW_OY@  +3!'3#7!#!767675&'&&''!újjkjçèikøäkiè^ œøg q‡‡þÙþÙ‡‡'   û´#qe¶LK° PX@$pqhW_O@"…†hW_OY@  +%!767675&'&&''!5!'3#7!û´Âú?‚kjçèikú~ú P‡þÙþÙ‡û´#q':@7!LWhg_O +%!767675&'&&''!5!'3#7!3#767675&'&&'û´ ûa`kjçèikû jçèi¾ú P‡þÙþÙ‡ÇþÙþÙï ûŒ#q.;@8.#LWhg_O-, +'3!'3#7!#767675&'&&!7667667675&'&&'&&''!üFºjjÖkjçèikû)ji¾JØ  û)?†ë‡‡þÙþÙ‡‡ï {PûŒ#ôq(<@9&LWgg_O('%$ +3!!!!#767667675&&'67675&'&&''3#ü®jjrûÌ??4ûji¾   " þâºjçèiq‡PPPP‡ï & t ëþÙþÙûŒ#ôq">@; LWg_O"" +!!#767675&'&&''##767675&'&&''ýÈûìÉi¾º¸çèi¾ºqÿPÿï ëþÙþÙï ëýä#ôq/@, LWg_O +!!#767675&'&&''þNÈÞý"Éi¾ºqÿPÿï ëû¥AS7HZ•@ZEQ>YFLJIDCJXWHGIK°PX@+rr iYbR@-€€ iYbRY@64%##%%%# +#5463232>3232553#".#"#".#"%667675&'&'%55%5ý€UH:,  ,,!/UH:/6%" ,,!/ þÊ®þRüþþÊ  6þR(;G"""7((:H)0)""7 šY×d×Z¸Z—šY×dþ #q.@+LWg_O +73#'!5êÈjº ½iÉý"rÿì îÿPûæ#q"6@3 LWg_O"! +5!73#'%3#ûæâÈjº ½iÉçjº ½i"Pÿì îÿ('ì îû´#q*8@5#LWgg_O +%!'7!5!73#'!%3#û´4??ûÌrjjº ½ijûçjº ½iúPPP‡ì'ì îû´"ôr 2@/W_O   +!5!!!!5!ôþ*ýËÖþ*ýËÖrPPPPPûŒ#þq-@*LWh_O +3!53#5!#üsjº‘ZZún½ièqì ÿý²ÿî'ûŒ#þq 8@5 LWhg_O +3!53#5!#!5!üsjj1ZZúÎkiè^ rú q‡‡ý²‡‡' þk•ÚPµ LK°PX@ >M=NK°1PX@ M=NK°1PX@ 3232>3232>3232553#".#"#".#"#".#"#".###üsj&!,,!!,-#"-,!/UG;/6%"#--"!,,!!,,!  ½ièqÇ )(""""""7((:H)0)"""""" î'ýä#qG”µELK°PX@6…r€  † jYb R@7…€€  † jYb RY@GFA?:8##%%%%& +332>3232>3232553#".#"#".#"#ýäçjº $!,-#"-,!/UG;/6%"#--""$-"´iJ'ì"""7((:H)0)""" ãþW宲7zK°PX@,r   ri YbR@.€   €i YbRY@77%%##%%%# +5463232>3232553#".#"#".#"þWG;,  ,,!/UG;/6%" ,,!/(;G"""7((:H)0)""7(û–#qvð@ 3=6 LK°PX@7… r †   i Y b   RK°PX@8…  € †   i Y b   R@?…  €  € †  i Y b   RYY@tromhfa_ZXSQLJEC87%%%%%%" +332>3232>3232>3232>7'3#767675&'&&'#"#".#"#".#"#".#"#"&5û–U/!,-"#-,!!,,! (¤jçèi¾!,,!!,,!"-.""%6/;G(7""""""'% ÏþÙþÙï  """"")0)H:ýî#qHš@ - L*KK°PX@6…r€ † j Y b   R@7…€€ † j Y b   RY@FDA?:8%%%%%" +332>3232>32335&'&&''3#7.#"#".#"#"&5ýîU/!,-"#-,!$ºjçèi´"-$""-.""%6/;G(7"""ëþÙþÙã """)0)H:û×ÿ’Ñ4Np@M70/.-  )&LK° PX@qiaEN@†iaENY@NNA?+*(' +5%667675&'&&'%&&#"#57&'%5%32654''&&5467'5ÿ'Q:þf"  þ<;X*>FrPVXkZZcþšþÞ   š0p=HZsLXY]S4P þãdáZ¡ï5/S)lKKe PP/îdáZ¡¿=1W* jHK^ Pþ ÿ’ù4@w@"@ <9LK° PX@!€qiaEN@ €†iaENY@>=;:-+'&!  +%32654''&&5467'53#4.#"#57&'%þ šþÞ   š0p=HZsLXY]SZNb_!,>FrPVXkZZcþ|áZ¡¿=1W* jHK^ PP cO)5/S)lKKe PP/îþÿ’ô4AJ@G$=:L€iY_OAA<;.,$ +%32654''&&5467'535%667675&'&&'%&&#"#57&&'þa&1HZsLXY]SZ'Q:þf"  þ<;X*>FrPVXkZZZp¹*=1W* jHK^ PP þãdáZ¡ï5/S)lKKe PPfUû¹-ïg .?@<&.-,LWg_O +3533##5#%667675&'&'%55%%%ý·ñXññXñÀ þÊ®þRûx®þÊ  6þRrõõPõõ šY×d×Zá×Z—šY×ýß-!g >@; LWg_O  +53533##5%5ñXññXþµþÊ  6þR"PõõPõõ1Z—šY×dýÁ-g 8@5 LWg_O +3533##5#5%667675&'&'%ýÁñXññXñ”®þR6 þÊrõõPõõ1×d×Z— šû¹@ï€3DV;@8HGF@654 LVUOE987+*%! IWaQ10 +77&&5536677'&&'#'7667'&&'%55%667675&'&'5%ý¬w!! XD wwL9KHK  JHJ:M®þR6 úB®þÊ  6S* Q#}}#Q* *S*  6l2lJIl2l7 —Y×d×Z— Hd×Z—šYýý@D€3E4@1654LEDC=+*%! IWaQ10 +77&&5536677'&&'#'7667'&&'%%% w!! XD wwL9KHK  JHJ:Mý‘®þÊ  6þRS* Q#}}#Q* *S*  6l2lJIl2l7 ×Z—šY×ýÀ@€3D4@1BA@;3 LDC4*)$ IWaQ0/ +7&&5536677'&&'#'7667'&&''%667675&'&'%5ýÞw!! XD wwL9KHK  JHJ:Mw•6 þÊ®þRà* Q#}}#Q* *S*  6l2lJIl2l7 *ò— šY×d×þ%ÿ’ï>@L…v +3#75-þÊ  Ö_þ_)ýÏSZ—éóüTndûõÿ’³>&&@#&%" L…v$# +%35%667675&'&'%#7ûõ®þÊ  Í_><þR6 þ þ÷_+ý×|×Z—åï¤þâd×Z— ïýCrþÿ’Û>@ L…v +35%667675&'&'%#Œ_<DþR6 þþö_> þÞd×Z— óý? ÿØÿ[gÙ0]y‹‘—£¯³·zK° PX@"—–•‘Œ$ ; -*L’ JK° PX@"—–•‘Œ$ ; -*L’ J@"—–•‘Œ$ ; -*L’ JYYK° PX@]  € r rq  g j i  gj a fNK° PX@\ r rq g  i j i  gj a fNK° PX@V r rq  g j i  gj a fNK°PX@]  € r rq  g j i  gj a fNK°PX@^  € r  €q  g j i  gj a fNK°$PX@_  €  €  €q  g j i  gj a fN@^  €  €  €†  g j i  gj a fNYYYYYY@>´´°°™˜_^´·´·¶µ°³°³²±®¬¨¦Ÿ˜£™£”“މ‡€~mk^y_y\ZVUQO&5"%+#5&&5467&'&67632632&7632#5#"3267672>54&#"#"&54634.#"2"##"'"&#.554632>554&#"%7#%#'2#"&5464632#"&53%#5ú&cq(- BooB .(qc&ï8P0  CmN*D94?@’!.9D4?" "?  þ݃@BŽ@B1þ×F9þÊ9&,ˆf?T &!T>gˆ,&6$8& 7P4;G9/. "3'GêcQ´62((26´Qcþ˜ *))* ´9DD9T`ýè¥.¡ýè¥.Aý|277777ûŒ#q.@+ L…†W`P# +3!&&''3#7667!#ûŒçjºƒºjçèi¾ú|½iJ'ì  ëþÙþÙïîÿÿümÿöES#KÿB#)û—)ýM*@'L JaEN)'#! !+þŽªr!#™K°.PX@ida?NK°1PX@(€id?Ma?N@+€€ida?NYY@#"! #%#% +54>32326553#".#"!!þŽ0D)6d]W(,5U0D)6d]W(,5Uäýh$;*$+$/&$;*$+$/&nPþÜô¸aK°PX@!iYgaQ@(€iYgaQY@ %"%" +46323265!!#".#"#þUF#3&! &þ/E."2&# &U'BO!%!)"P!%!%!& <þ Üï¸hK°PX@"iYgaQ@)€iYgaQY@%#%" +5!32>32#54&#"#"&'þ & !&3#FUU& #&2".E"P")!%!OB<< &!%!%!ýéAÚ:FÙµ LK°PX@-  i i  i  eaDNK°.PX@4  €  i i  i  eaDN@;  €  €  i i i  eaDNYY@DB?=7642/-(& :: +232>32#'#"&554632&&554&#"#".#"#54632554#"þk/K>5+8./EdLjwG^?CD>QMD:M9/:O;/K>6/UGè%"YY"%Ç)0)N@Wg_OY@  +5!3#þ\£ZZ"P|ü½wü"ÿœ†îAK°PX@c>N@…W_OY@  +5!3!ü"…Z…dKüùKþ§ÿ«¤îGK°PX@g_>N@Wg_OY@  +3!!þ§Z£ý]UCþ„Pþ‰ü¤ÿ«rî VK°PX@g_>N@Wg_OY@   +3!!!3þRZÆý:ýøZUCþ„Pþ‰Cü½þ§ÿ«¤î YK°PX@gg_>N@!Wgg_OY@  +3!!!!þ§Z£ý]£ý]UCþüP Pÿü¤ÿ«rî hK°PX@gg _>N@%Wgg_ OY@    +3!!!!!3þRZÆý:Æý:ýøZUCþüP PÿCü½ýËÿ’>;GKÛ@ & LK°PX@F  rihi g e;;:9876543.,+) !% +%537#5373373!'&>33#"33#".77!#7##7%&&##53267!#7#ýËa$co%F% %F%ž 0G,--01 ,- 10--,G0 þ&%F% %F%,1221,þW$F$ $ÈA¾AÈÈÈÈ'>+P++¥1%&2£++P+>'ÈÈÈÈAP¾¾¾ýËÿ’Ç>#'c@`gh   g  cÿ’5>#'c@`gh   gc7&&'!#7##7%5!#7#ýËa$co%F% %F%5 0Lf=0N67N0˜þ%F% %F%™þÃ$F$ $ÈA¾AÈÈÈÈ=iT<U 6Pe;¾:dN6 Y ¨}ÈÈÈÈA¾¾¾¾ýËÿûÐ7;I¼µ LK°.PX@: h Y   g _8;8;:9776543210/.-,+*)&#!2 +7#5373373366332#532654&##"!3##7##7#5!7#46332##"&þ,$co%F% %F% zj5U< 1F*Z2@IJ@AKþú$bn%F% %F%UG$ $`$$$$ ¾AÈÈÈÈ^j7N0*I6!d¯F<73!##7#%7#ûsa$co%F% %F%Ua$bn*nBG*NoE0N65L0ú›8 %F%UG$ $ ¾AÈÈÈÈA¾Aá3•dªIeHU 6Pe;ª9cN6 K,ÈÈA¾¾ýË|Ð+7i@f  hi  gi E®ý0¼@#$$$EþRÚ90Ü0990Ü09þ±ðýýÿöÚ)48Ž@1 0! LK°PX@.€g  gaDMa=N@2€g  gaDM=MaENY@87(""( +'&&54>32#4&#"!!#'#"&55463267'!!þk /B)*F2Z6-)1²£ þ›rc?MaR]9!/+ ?™ÖÛþ%¡&C$=,+=$%22%,øPûŸWaWN}6Fù),-'Ô+#P&Ð#<@9 gg _d N K+l/@,L J…W_O0+7327&'&&'77&'&&553!ŒÃ   þŸ=c Pþa™ d?þš    Çþa-KNj0@-LJ…W_O+7367667676633-P c<þŸ   ÃKŸÇ    f=þœ Nÿÿd"ôrD@W_O #+¥Ñw@…v +#w‚PPþÉ7#Ñ@…v +33#6P‚‚þí‚‚PÑ7þÉ7þÉÿXÔ@fMgN+!!Xý¨Ôû<iÿ[ï‰%D@A …ggW_ O % %$#"! +330.53#&&'&'#3!¥] K\€ 7ÝþÓ¥êþÛ+*1þ%+1þí.þaKê2ÿº&u%8D@A)&LiiW_O20('$"  +354>3232#!"&5467354&#"3'676654&#"n 0B&'B0 ##þ„##sÈ7--77Z 7--7 äç&?--?%ç#þN##²#çææ-77ýä   (11( ÿbÔ³2+býžÔýžýžÿŠÿbÔ @LfMgN+#býžvbý¤Ôýžýž`dÿöÿXÔ³2+XýžÔû<bÿöÿËÔ @LfMgN+3Xýžbsý£[ðbbý¢ýš²dE`D1>DDR4Y#£Æ1Û   % : .S* ˆ« 3 O h] ,Å Fñ *7 ba à JÕ 2 \Q T­© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoRegularVersion 1.0.2;JB;JetBrainsMono-Regular;2020;FLVI-614JetBrains Mono RegularVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-RegularJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0© 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA.JetBrains MonoRegularVersion 1.0.2;JB;JetBrainsMono-Regular;2020;FLVI-614JetBrains Mono RegularVersion 1.0.2; ttfautohint (v1.8.3)JetBrainsMono-RegularJetBrains Mono is a trademark of JetBrains s.r.o.JetBrainsPhilipp Nurullin, Konstantin Bulenkovhttps://www.jetbrains.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0ÿˆ-˜+QS RLO2KNJ!`$%&'()*,-./013456789:;<=DEFHIMPUVWYZ[\] ? " ^_>B GTX³A¸ð“ï# @²Ã     ׇ誩¾¿¶·´µÄÅÙÚaÛÜÝCßjxŽlØáÞào­ÉÇ®bcdËeÈÊÏÌÍÎÓÐѯgäÖÔÕh»ëæikmnqprsutvwzy{}|å~€ìºçf éî‘¡ãâ!"#$%&ýþ'()*ÿ+,-./012345678øù9:;<=>?@ABúCDEFGHIJKLMNOPQRSTûüUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ƒ|}~€‚ƒ„…†‡ˆ‰Š‹ŒދУ¢í‘’“”•–—˜«ˆ—°± ‰ê¤Œ¦†½„…–žñò󙚛œžŸ¼õôöƂ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#šœŸ¨™›¥’˜§¹$%&'()*+,-./0123456789:”•;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžuni0000uni000Duni000Ahyphen_hyphen_greater.ligaslash_slash.ligaslash_asterisk_asterisk.ligaslash_asterisk.ligaasterisk_slash.ligaless_exclam_hyphen_hyphen.ligacolon_equal.ligahyphen_greater_greater.ligaless_less_hyphen.ligahyphen_greater.ligaless_hyphen.ligaless_equal_greater.ligaequal_equal.ligaexclam_equal.ligaless_equal.ligagreater_equal.ligaequal_colon_equal.ligaexclam_equal_equal.ligaampersand_ampersand.liga bar_bar.ligaperiod_period_period.ligaperiod_period.ligaEuro Uhungarumlaut uhungarumlautUogonekuogonekDcroatAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Hcircumflex hcircumflexItildeitildeImacronimacronIogonekiogonekNacutenacuteNcaronncaronOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracuteRcaronrcaronSacutesacute Scircumflex scircumflexTcaronUtildeutildeUmacronumacronUbreveubreveUringuring Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentWgravewgraveWacutewacute Wdieresis wdieresis grave.case dieresis.case macron.case acute.casecircumflex.case caron.case breve.casedotaccent.case ring.case tilde.casehungarumlaut.case caron.salt commaaccentcommaaccent.saltLdotldotuni021Buni013Buni0219uni0146uni021Auni0145uni0136uni0137uni0122lacuteuni013Cuni0157uni0156LcaronlcaronTbartbarhbarLacute napostropheuni0218uni0237uni0162uni0163uni0123Hbar Jcircumflex jcircumflextcaronuni2070uni2074uni2080uni2081uni2082uni2083uni2084 kgreenlandicibreveIbrevelongsengEngbar_bar_bar.ligaslash_slash_slash.liga"ampersand_ampersand_ampersand.ligaequal_equal_equal.ligaplus_plus.ligahyphen_hyphen.ligaequal_greater.ligauni041Duni041Euni0410uni0412uni0420uni0421uni0415uni041Auni041Cuni0425uni0430uni0435uni043Euni0441uni0443uni0445uni0440uni041Funi0411uni0418uni0422uni0413uni0416uni0426uni0429uni0428uni0417uni0419uni0405uni0455uni0456uni042Euni042Cuni042Buni042Auni042Funi042Duni041Buni0414uni0423uni0424uni0427uni043Duni0451uni0438uni044Funi043Funi043Buni0434uni0433uni043Auni043Cuni0444uni0439uni0442uni0436uni0432uni0448uni0449uni044Cuni044Auni044Duni0446uni044Euni0447uni044Buni0437uni0431uni0401uni0406uni0407uni0408uni0457uni0458uni0490uni0491uni0403uni0453uni040Cuni045Cuni040Euni045Euni040Funi045Funi040Auni045Auni0409uni0459uni0454uni0404uni045Buni0452uni040Buni0402ijIJbar_greater.liga less_bar.ligabar_bar_greater.ligaless_bar_bar.ligabar_bar_bar_greater.ligaless_bar_bar_bar.ligagreater_greater.ligaless_less.ligaa.altSPCcolon_colon_equal.ligabar_bracketright.ligabracketleft_bar.ligabraceleft_bar.ligabar_braceright.ligabracketleft_less.ligagreater_bracketright.ligacolon_question_greater.ligacolon_question.ligazero.altslash_equal.liga%bracketleft_bar_bar_bracketright.ligauni03BCuni2113 estimatedexclam_exclam.ligaquestion_colon.ligaquestion_period.ligacolon_colon.ligaplus_plus_plus.ligaquestion_question.liga%numbersign_numbersign_numbersign.liganumbersign_numbersign.ligacolon_colon_colon.liga0numbersign_numbersign_numbersign_numbersign.ligaperiod_question.ligaquestion_equal.ligaequal_exclam_equal.ligaless_bar_greater.ligaless_colon.ligacolon_less.ligacolon_greater.ligagreater_colon.ligaless_greater.ligaasterisk_asterisk_asterisk.ligasemicolon_semicolon.ligaslash_equal_equal.ligauni2215uni2219uni02C9period_equal.ligaperiod_hyphen.ligaunderscore_underscore.ligaequal_slash_equal.ligaless_hyphen_less.ligaless_less_less.ligagreater_greater_greater.ligaless_equal_less.ligaless_less_equal.ligaless_equal_equal.ligaless_equal_equal_greater.ligaequal_equal_greater.ligaequal_greater_greater.ligagreater_equal_greater.ligagreater_greater_equal.ligagreater_greater_hyphen.ligagreater_hyphen.ligaless_asciitilde_greater.ligahyphen_less.ligahyphen_less_less.ligaequal_less_less.ligahyphen_hyphen_hyphen.ligaless_hyphen_bar.ligaless_equal_bar.ligaslash_backslash.ligabackslash_slash.ligabar_equal_greater.ligabar_hyphen_greater.ligaless_asciitilde_asciitilde.ligaless_asciitilde.ligaasciitilde_asciitilde.liga"asciitilde_asciitilde_greater.ligaasciitilde_greater.ligaless_dollar_greater.ligaless_dollar.ligadollar_greater.ligaless_plus_greater.ligaless_plus.ligaplus_greater.ligaless_asterisk_greater.ligaless_asterisk.ligaasterisk_greater.ligaless_slash.ligaless_slash_greater.ligaslash_greater.ligauniE000less_hyphen_greater.ligaperiod_period_less.ligaasciitilde_equal.ligaasciitilde_hyphen.ligahyphen_asciitilde.ligaasciitilde_at.ligaasciicircum_equal.ligahyphen_bar.ligaunderscore_bar_underscore.ligabar_hyphen.ligabar_bar_hyphen.ligabar_equal.ligabar_bar_equal.liganumbersign_braceleft.liganumbersign_bracketleft.ligabracketright_numbersign.liganumbersign_parenleft.liganumbersign_question.liganumbersign_underscore.liga$numbersign_underscore_parenleft.liganumbersign_colon.liganumbersign_exclam.liganumbersign_equal.ligauni2116ampersand_equal.ligauni20BDlambda"less_numbersign_hyphen_hyphen.ligauniE0A0 arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni2010minutesecondblockuniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3 .ttfautohintÿÿ h  4lDFLTlatnÿÿÿÿcaltcaltzero2zero2Š  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰ŠýüN¾Pâ:ŒÞ0‚ÔD¨j¼,°  r Ä ( ˜  š ’ ä 6 ¾.ž tØH¸2Ì< òDº(¬ŒðB²"ª~îR¤öZ²"†öfúlÞP¤  l â!4!¤!ö"Z"¬"þ#P#´$$$v$È%%Š%ú&j&ú'j'Ú(J(º)*)|)à*V*Æ++ˆ+ø,h,Ø-<-”..t.ø/\/Ì00p0Â11r1â242Œ2ü3N3 44b4´5$5v5È6 6x6Ê7"7†7Ø8*8|8ø9V9j9†9x9†9”9¨9Î9ì: :$:2:F:`:n:Œ:¦:´:Â:Ö:ô;;;4;B;P;d;‚; ;²;Ô@*;â;ð<<4<&<4=ð>=þ>>,>N>b>t>Ž>¬>Ò>è? ??8?F?Z?t?š?´?È?î@ @*@8@R@p@‚@–@¨@Â@àAAA4AFATAnA‚A¤AÊAðBB,BJBpB–B´BÖBôCC4CVCtC®CÌ.@7˜7˜7˜7ˆ7ˆ7ˆ77x‹7f7fŒ"4H\7D7D7D7D727272726¶6¶7 6¢7 7 Ž6ø6ø6øŽ&:Pf|6Ò6Ò6Ò6Ò6Ò6¾6¾6¾6¾6¾6@6@6@6ª6*6*6”6”66~6~6~6h6h6h6h&:Pf|2¸2¸;¶;¶5î2¤;¢;¢5Ú5Ú5®5®5®5Æ5˜5˜;x5°5‚;b;b5š2¦;L;L5„.@;(;(D;;45($:ö.@2*2*:Ð2:À:À4Ð:°‘1ø:ž‘.@1Ø1Ø<â1È<Ò<Ò4~<‘1¦<°‘.@1.1.:,1::4,: ’0ü9ú’.@9Ú9Ú49Ê443Ú3ò’9¨3à“.@4°4°4°4 4 4 3ˆ4“4~4~”"4H\4\4\4\4\4J4J4J4J303048•34$4$–444– 0@R3ì3ì7Ò7Â3Ü7Â3Ì7²7²2´7¢–3ª7–"4H\3ˆ3ˆ7n7n3v7\7\7\2\2\7J—2H7676˜3<7"7"˜.@333ª3 3š3š1ò3Š˜2è3x˜.@3X3X2È3H2¸2¸1 2¨™3&2–™"4H\33332ò2ò2ò2ò1H1H2àš142Ì2Ì›2¸2¸2¸›$6H\p222’2’1ð2€2€2€1Þ2n2n1Þ0Ä0Ä2\œ0°2H2H1¤2424.@2R2R2R2B2B2B0Z222 2 ž"4H\1þ1þ1þ1þ1ì1ì1ì1ì001ÚŸ/î1Æ1Æ 1²1²1² .@1Þ1Þ-œ1Î-Œ-Œ/˜-| 1¬-j  0@R1Š1Š1Š1z1z1z1j1j7ˆ/41Z¡1H1H¢"4H\1&1&1&1&1111.Ü.Ü1£.È0î0î¤0Ú0Ú0Ú¤"4H\0¶0¶0¶6Ô0¤0¤6Â6Â.l.l6°¤.X0~6œ¤0j0j6ˆ¤&:Pf|6b6b2r4:4:6N2^4&4&4&-ö-ö-ö4¤-à-à3ü3ü¥-Ê23æ3æ¥5ø23Ð3Ð¥"4H\5Ò5Ò5Ò3ª5À5À3˜3˜-j-j3†¦-V5š3r¦5†5†3^¦$4DTdv5^5^365N3&3&5>35>5.32Ê52ö42,Ê2æ§4ü2Ô§.@4Ü4Ü3ð4Ì3à3à,x3Ч4ª3¾§.@4Š4Š1j4z1Z1Z,&1J§4X18§$4DTdv4242421ú4"4"0¼444443ò3ò0œ+ž3â¨3Ð3Щ"4H\3®3®3®3®3œ3œ3œ3œ+F+F3Šª+23v3v«3b3b3b«"4H\3>3>/è2R3,/Ö2@2@*Ö*Ö2.«*Â/°2«2ò/œ2«"4H\2Î2Î0¦1â2¼0”1Ð1Ð*f*f1¾¬*R0n1ª¬2‚0Z1–¬&:Pf|2\2\/ø/ø/ø2H/ä/ä/ä/ä)ð)ð)ð/Ь)Ú)Ú/º/º­)Ä/¤/¤/¤­1ò/Ž/Ž/Ž­"4H\1Ì1Ì/h/h1º/V/V/V)d)d/D®)P/0/0¯1€//¯ 0@R1\1\.ø1L.è.è1<.Ø0P(è.Ȱ1.¶° 0@R.Ð.Ð.”0è.À.„.°.t.t(„.d±.Ž.R±"4H\.l.l/¨/¨.Z/–/–/–(,(,/„±(/p/p². /\/\²"4H\-ü-ü-ü/8-ê-ê/&/&'¼'¼/³'¨-Ä/³-°-°.ì³"2BVh-Š-Š.Æ->-z.¶-j.¦.¦)$x-Z.–'V'*.‚´-4.p´&6FVfvˆ.H.H.H.8.8.8.(.(+¾..,Ü+ž..'¨-ø-ø&-èµ-Ö-Ö¶"4H\-´-´-´-´-¢-¢-¢-¢&8&8-·&$-|-|¸-h-h-h¸ 0@R-D-D*Ú-4*Ê*Ê-$*º-$%¼*ª¸-*˜¸.@,â,â*®,Ò*ž*ž%j*ޏ,°*|¸.@,,%P,€%@%@%%0¸,^%¸"2BRd-&)Ð*Â--)À-)°)°,ö) ,ö$¢)¹,Ô)~¹"4FZ,²,²)\)\, , , )J$J)8º$8,|)&º,h,h)º$6H\p,B,B(ì(ì,0(Ú(Ú(Ú,(È(È+2#È#È(¶»#´(¢(¢¼+ä(Ž(޼"4H\+À+À)\*Ô+®)J*Â*Â#X#X*°¼#D)$*œ¼+t)*ˆ¼"4H\"À"À(ì"À"®(Ú"®"®"è"è"œ¼"Ô(´"ˆ¼"t( "t½ 0@R&ð&ð'Š'z&à'z&Ð'j'j"l'Z½&®'H½.@&Ž&Ž&Ž&~&~&~"&n¾&\&\¿"4H\&:&:&Ô&Ô&(&Â&Â&Â!Â!Â&°¿!®&œ&œÀ%î&ˆ&ˆÀ"4H\&d&d%Ê&d&R%¸&R&R!R!R&@Á!>%’&,Á&%~&Â$4DTdv%ð%ð(Z(J%à(J&Â%Ð(:%À(*%À%°(( ²( Â%Ž'øÂ 0@R%l%l%l%\%\%\%L%L'¶ N%<Ã%*%*Ä"4H\%%%%$ö$ö$ö$ööö$äÅâ$Ð$ÐÆ$¼$¼$¼Æ"4H\$˜$˜$Î$˜$†$¼$†$†††$tÇr$–$`Ç$L$‚$LÈ 0@R$($^$($N$N$$>$$ #øÉ$#æÉ.@#ü#ü&0#ì& & ¸&É#Ê%þÉ.@#ª#ª&Ê#š&º&ºf&ªÉ#x&˜É 0@R#V#V#V#F#F#F#6#6##&Ê##Ë.@DDD444°$ËÌJ"4H\"š"š"š"š"ˆ"ˆ"ˆ"ˆRR"vÌ>"b"bÍ"N"N"NÍ 0@R"*"*ê"ÚÚ" Ê$>ÖºÍ!è¨Í"4H\!Æ!Ɔ#ú!´t#è#è~~#ÖÍjN#ÂÎ!z:#®Î"4H\!V!V!V! !D!D!! üÎú! èÎ! ! ÔÎ(<Rh~! ! ! ! ##!Š!Š!Š!Š#–––"î΀€!`"ØÎj!J!J"ÂÎ!4!4!4"¬Î$6J^!!!"†"† ú ú ú"r"`Ïô Ô"LÏ À À"8Ï$6J^ œ œ œ Ø Ø ˆ ˆ ˆ Ä–– ²Ï‚ b žÏ N N ŠÏ$6J^ * * *88   $$$ÏðþÏÜÜêÏ 0Bºº!2!2¨¨! ¸!І þÐ 0@Rdd TD€ ¼TpÐ"^Ð 0@Rðþ hàîîðÞоÌÐ"2BRdšššŠŠŠÔzzjj¢zZÑHHÒ.@dddTTT(DÒ22Ó"4H\þþþþÐÐìÔ¼ØØÕÄÄÄÕ.@jjjZZZfJÕ88Ö 0@RVFFö6&ÖÔÖ.@´´¾¤®®°žÖ‚ŒÖ.@bb¤R””^„Ö0rÖ.@¶¶¶¦¦¦ –Ö„„× 0@RbbÆR¶¶B¦¨–× „×"4H\þþþþììììPPÚØ<ÆÆÙ²²²Ù.@,,ôääæÔÙúÂÙ.@ÚÚÐÊÀÀ”°Ù¨žÙ.@BöÙääÚ"4H\üüüêêêêêØÚÖÞÄڰʰÛ"4H\ââºâШÐÐzz¾Ûf‚ªÛ–n–Ü"4H\rrr` ``  NÝöä:Ý&Ð&Þ&:Ndzªªì––””ìÞ€€nØÞjXXÂÞ˜BB¬Þ"4H\†  tt  bßöäNßÐÐ:ß"4H\¬¬šššòà†ÞÞá`ÊÊá"4H\¦¦<¦”*””**‚ânâZðZã"4H\666Ì$$ºººº¨ã¦þ”ãêê€ã"4H\ÆÆÆŠ´´xxJJfã6ŽRãzz>ã.@XXH  àüä&êä 0@Rðð„àttÐdä|Tä®Bä"2BRdzþþþîînÞåÌÌæ"4H\ª*˜®®æšròæÊ^Þæ.@€€¨p˜˜DˆçNvç"4H\,,TTBBB ì ì0è Øéàé"4H\ŽŽää|ÒÒÒ | |Àê h¬¬ëB˜˜ë"4H\ttLb:þþ ìë øØë(Äë"4H\® òœŽŽ œ œ|ì ˆvhì¸bTì 0@R X X¦ H–– 8† ê vì dì.@D ö ö44 æ Î Öí ÄíH"4H\tt‚ìbpÚÚ p pÈí \J´í(6 í"4H\@|ò.jj Xî ìDî¸ô0î$6H\pööŠŠäxxxÒffæ | |Tî h@@ï˜,,ï 0@RLL<øø,èh Øð Æð"4H\¤¤¤$’’ ¨ ¨ð ”lìñXXØñ.@66¶&¦¦ >–ñ„ñ.@ää úÔ ê êì Úñ² Èñ.@’’Ö‚ÆÆš¶ñ`¤ñ.@@@D044H$ñña.@DD þ4 î îð Þò Ìò\"4H\úúèòüü’’êò~ÌÖò®¸Âò.@ŒŒ–|††(vóZdó.@DDN4>>Ö.óôd"4H\ààt ôÎb â âxx Ðôd< ¼ô”( ¨ô.@rrbööæõ@Ôõ.@´´ 4¤ $ $¼ õ‚ ö"4H\ Ì Ì à º Î Îdd ¼öPè ¨ö €Ô ”ö.@ ^ ^² N¢¢ú’÷ ,€÷.@`` P  ¨ ÷. îø"4H\ ¸ ¸| Ì ¦j º ºPP ¨ø<D ”ø l0 €ø.@ J J :þþæîù Üù.@¼¼ ¬ ü ü” ìùŠ Úú.@ÌÌD¼44B$úšúS.@ttDd44ê$úBúU.@l \\’Lúê:ú.@ÊÊDº44@$ú˜úN 0@Rppº`ªªPš ÖŠú.xú.@øþèè„ØúÜÆú.@¼¼v¬ff2VúŠDú.@jjîZÞÞàÎú8¼ú"4H\`fNTTˆˆBût(.ûÊûV.FJJœ:ŒŒ|üdücÒ:0Ó"Ò±ÕQQTUc KTU STc iGT»KG  GL¾è kFGL lFG"ê¼$F •EFG½ÜE ')EN"UÙT) mg)DK DKM¾p/r+DIK µ’ònsfþDKTê¨ úKT omDT.h qDÌð¾ó°/.w ILc:v(@òõ*nKLTV uLMVÐM.y )LMâ—<(.H xIL¶L-,nIKL×I1 %IJ   INýILNT$ûprùoqDLT(T –DT¾ D "DN({)ILNb ~Lb1b98:)DLVb ;GLV <DKLJ· ?KL BKLBC5 EL GFDLHUDKŽÈŽ IKŽ*J. DKKNDKLTPOGHKLTRQGHLTSTDTŽ KŽ WjDŽXihkDLaŽYlKL\d [ZKd\EKd ^]EK_EFK a`FKcFGK dbGK vz|{wstx GILMNQSUV yQV uQcpyzo-4.12.3/pyzo/resources/fonts/SourceCodePro-Bold.otf000066400000000000000000002641301421373005400230570ustar00rootroot00000000000000OTTO€`BASE‹”±I|:CFF A÷Z½H¨ä+DSIGñÙèÃI¸ GDEF/,/Ð4\ÔGPOS%ë@d GSUBÝžò50 2OS/2tÒÕP`cmapéÔÆ >x headûNÝÅì6hheaWà$$hmtxˆúŠ,ÔˆmaxpÃPHnameI?ƒÝ°<Çpostÿ¸3Hˆ S>xì_<õèÌÝKÌÝKÿ»þpÁèØþïXÿ»ÿ—ÁPÃX¼ŠXKŠX^2    ADBE ûîÿØ`“à” "žEET#X{9È`Ú: T ` Ùy$Rv Œ —¢ Š· A _ Fg (­ rÕ $G Àk 4+ _ 2w #¶© H:_ ,:§ :Ó :é *:ÿCopyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.Source Code ProBold1.013;ADBE;SourceCodePro-Bold;ADOBESource Code Pro BoldVersion 1.013;PS 1.000;hotconv 1.0.70;makeotf.lib2.5.5900SourceCodePro-BoldSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunthttp://www.adobe.com/typeCopyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.http://www.adobe.com/type/legal.htmlTypographic alternatesAlternate aAlternate gAlternate dollar signCopyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.Source Code ProBold1.013;ADBE;SourceCodePro-Bold;ADOBESource Code Pro BoldVersion 1.013;PS 1.000;hotconv 1.0.70;makeotf.lib2.5.5900SourceCodePro-BoldSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunthttp://www.adobe.com/typeCopyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. http://www.adobe.com/type/legal.htmlTypographic alternatesAlternate aAlternate gAlternate dollar signø ÷æëv‰Ìêÿ ”âöáÍÎÏÐÑÒÓÔÕÖãäš™›è ŸþË !"#$%&'()*+,-./012345¡:=NXŒ•Áèçéëêîÿ   %$&(?FEGIHsrtv tzw ý kÌÕ L¡¥žœx¦§¬­¤¨RTýUé磩{¢ªôõå69”¢Vøùîïìí—ÄÛ†yòó«¬ üðñŠ8Y7[Wtuws’“‘¾¿½0ÍÔÖ×ÚØÛÙÜÎü/9@Z`z~¿ÄÑÖßäñö1Ie~€’¡°Üçë7CRTYaeoy‡Žž°³¸¼¿ÌÝã $(.1ÀCIMPRX[œ »!%+;Ico…“—žù     " & 0 3 : D q y  ‰ Ž ” ¡ ¤ § ¬ ² µ º!!! !"!&!.!T!^!“""""""""+"H"`"e%Ÿ% %³%·%½%Á%Æ%Ê&&j''Rûÿÿ 0:A[a{ ÀÅÒ×àåò÷4Lh€’ ¯Íæê7CPTXaeoy‡Œž°²·»¾ÆØá#&.1ÀCGMORV[œ »  $*6BZl€Ž’—ž      & 0 2 9 D p t } € ” ¡ ¤ ¦ « ± µ ¹!!! !"!&!.!S![!""""""""+"H"`"d%% %²%¶%¼%À%Æ%É&&j''RûÿÿÿÁÿ»ÿvÿ¿Sÿ~ÿWéÿdþ ÿLÿKÿHÿAÿ>ÿ5ÿ,ÿÿÿ ÿ¬ ÿæÿåÿÞÿ×ÿÓÿÑþäååååä»äºä³âÚâãá¿âZâ“á¹âBáªá¨á¥áÝáÛáÙáØáÐáÎáËá›àøàòàïá…áá;á5á à¥à¤àžàrà‡à}àZà@à8Þ#ÝÝÝÝÜþÜïܰÜYÛ¯Ûeª2<DJ†œªÀ4^¶¸ºØÚÜÈÊÆÐÔÜàÜÞÞÚàâäæðþ " ÐÖÚÞØØÐ´´žæëv‰Ìêÿ ”âöáãäš™›èŸþË¡çzwux ÕRô£÷ÖtžÌ¦ üÛTõ‹Œé=LNWXY[stuw䌖¡½¾¿ÁÙåkîýÿ   $%&(™?—UrstvŽš;ì<íKüOPRQSV\ ]^gZ hijko r#v'x)y*~.z01€234ƒ7‚5„6ˆ;Š=@‹>D–J—K˜L¢Vª^¬_«`°d±e³g²f¹m¸lÀuÂwÃxÄyÅz͂֋ÚÛà•â—á–£W΃>ï{+™MÆ{Ç|È}É~Êl©]´hºn^fkm×ÚØÜÔÙ`glÝßáãåçéëíïñóüýÿVXY_adhiTUmp!q"…8†9‡:‰<ŽABC­a®b¯cµi¶j»o¼pԉՊ׌ܑã˜?ð@ñAòBóCôDõEöF÷GøHùIúJû_`abcdef|,}-šN›OœPQžRŸS T¤X¥Y¦Z§[¨\Ë€ÌτЅц҇ӈØÝ’Þ“ß”úøùûìíðîïñ  ý]$%b€y¬•˜©¶Äÿµ2SourceCodePro-Bold.úöú÷úø úùúúøŒ Fü$ùUú|2b4ÜËÎÄà#*18?FMT[bipw}ˆŽ˜ž¥¬²¸¿ÅÏÖÝäëòù)06=HSZaekryƒŠ‘˜Ÿª±·½ÄÈÏÖÝäêð÷þ '.5<CJQX_dkry€‡Ž”𡍝¶¼ÇÎÕÜãêð÷þ $18?FMT[binu|ƒŠ‘—¨±·ÂÉÐ×Þäîõü %,3:AHOV]dkrxƒ‰“™ §­³ºÀÊÑØßæíôû $+18CNU\`fmt{‚‰™¤«·½ÃÇÎÕÜãêðöý $+8?FMT[bipu|ƒŠ‘˜Ÿ¥¬²¹ÀÇÍØßæíôú#*05BIPW^elsz†”›¢¨®¹ÂÈÓÚáèïõÿ ")07>ELSZahks{ˆ›¤¬³¼ÅÎ×àéòû    ( 1 4 A I U ^ f o | … • Ÿ ¨ ± ¹ Ã Í Ö Ý ä ë ò ù    % - 5 ? H Q Y c m v „ “ ž ¨ ± ¹ Á Ë Ô Ý å ï ù    * 4 = E M W ` i q { … Ž œ « ¶ À É Ñ Ù ã ì õ ý    ( 7 B L Y _ e k q w } ƒ ‰ • › ¡ § ­ ³ ¹ ¿ Å Ë Ñ × Ý ã é ï õ   # ' . 2 9 ? C J Q X _ f m w ~ ‡ “ › ¦ ¨ ° · Â Ê Ñ Ø ß è ï ö ÿ $+29@GNU\cjqx†”›¢©°·¾ÅÌÓÚáèóú )0;BMT_fqxƒŠ•œ§®¹ÀËÒÙàçîõü '2AL[fu€š©´ÃÎÝè÷+6EP_jy‚‹’™£¯¶½ÄËÒÙàçîõü &-4;BIPW^elszˆ–¤«²¹ÀÇÎÕÜãêñøÿ ")07>ELSZahov}„‹’™ §®µ¼ÃÊÑØßæíôû %,3:AHOV]dkry€‡Ž•œ£ª±¸¿ÆÍÔÛâéð÷þ !(/6=DKRY`gnu|ƒŠ‘˜Ÿ¦­´»ÂÉÐ×Þåìóú"‚ÇÛêAmacronAbreveuni01CDuni1EA0uni1EA2uni1EA4uni1EA6uni1EA8uni1EAAuni1EACuni1EAEuni1EB0uni1EB2uni1EB4uni1EB6Aogonekuni0243CacuteCcircumflexCcaronCdotaccentDcaronuni1E0Cuni1E0EDcroatEcaronEmacronEbreveEdotaccentuni1EB8uni1EBAuni1EBCuni1EBEuni1EC0uni1EC2uni1EC4uni1EC6EogonekGcircumflexGbreveGdotaccentuni0122Gcaronuni1E20uni00470303Hcircumflexuni1E24uni1E2AHbarItildeImacronuni012CIdotaccentuni01CFuni1EC8uni1ECAIogonekJcircumflexuni0136LacuteLcaronuni013BLdotuni1E36uni1E38uni1E3Auni1E42NacuteNcaronuni0145uni1E44uni1E46uni1E48Omacronuni014EOhungarumlautuni01D1uni1ECCuni1ECEuni1ED0uni1ED2uni1ED4uni1ED6uni1ED8Ohornuni1EDAuni1EDCuni1EDEuni1EE0uni1EE2uni01EARacuteRcaronuni0156uni1E5Auni1E5Cuni1E5ESacuteScircumflexuni015Euni0218uni1E60uni1E62uni1E9ETcaronuni0162uni021Auni1E6Cuni1E6EUtildeUmacronUbreveUringUhungarumlautuni01D3uni01D5uni01D7uni01D9uni01DBuni1EE4uni1EE6UogonekUhornuni1EE8uni1EEAuni1EECuni1EEEuni1EF0WgraveWacuteWcircumflexWdieresisYgraveYcircumflexuni1E8Euni1EF4uni1EF6uni1EF8ZacuteZdotaccentuni1E92uni018Famacronabreveuni01CEuni1EA1uni1EA3uni1EA5uni1EA7uni1EA9uni1EABuni1EADuni1EAFuni1EB1uni1EB3uni1EB5uni1EB7aogonekuni0180cacuteccircumflexccaroncdotaccentdcaronuni1E0Duni1E0Fdcroatecaronemacronebreveedotaccentuni1EB9uni1EBBuni1EBDuni1EBFuni1EC1uni1EC3uni1EC5uni1EC7eogonekgcircumflexgbrevegdotaccentuni0123gcaronuni1E21uni00670303hcircumflexuni1E25uni1E2Bhbaritildeimacronuni012Duni01D0uni1EC9uni1ECBiogonekiogonek.djcircumflexuni0137kgreenlandiclacutelcaronldotuni013Cuni1E37uni1E39uni1E3Buni1E43nacutencaronuni0146uni1E45uni1E47uni1E49napostropheomacronuni014Fohungarumlautuni01D2uni1ECDuni1ECFuni1ED1uni1ED3uni1ED5uni1ED7uni1ED9ohornuni1EDBuni1EDDuni1EDFuni1EE1uni1EE3uni01EBracuteuni0157rcaronuni1E5Buni1E5Duni1E5Fsacutescircumflexuni015Funi0219uni1E61uni1E63tcaronuni0163uni021Buni1E6Duni1E6Funi1E97utildeumacronubreveuringuhungarumlautuni01D4uni01D6uni01D8uni01DAuni01DCuni1EE5uni1EE7uogonekuhornuni1EE9uni1EEBuni1EEDuni1EEFuni1EF1wgravewacutewcircumflexwdieresisygraveycircumflexuni1E8Funi1EF5uni1EF7uni1EF9zacutezdotaccentuni1E93uni0237uni0250uni0251uni0252uni0259uni0261uni0265uni026Funi0279uni0287uni028Cuni028Duni028Euni029Ea.aagrave.aaacute.aacircumflex.aatilde.aadieresis.aamacron.aabreve.aaring.auni01CE.auni1EA1.auni1EA3.auni1EA5.auni1EA7.auni1EA9.auni1EAB.auni1EAD.auni1EAF.auni1EB1.auni1EB3.auni1EB5.auni1EB7.aaogonek.ag.agcircumflex.agbreve.agdotaccent.auni0123.agcaron.auni1E21.auni00670303.azero.onumone.onumtwo.onumthree.onumfour.onumfive.onumsix.onumseven.onumeight.onumnine.onumuni00ADuni2015uni2117uni2120at.caseasterisk.ahyphen.auni00AD.adollar.azero.supsone.supstwo.supsthree.supsfour.supsfive.supssix.supsseven.supseight.supsnine.supsparenleft.supsparenright.supsperiod.supscomma.supszero.subsone.substwo.substhree.subsfour.subsfive.subssix.subsseven.subseight.subsnine.subsparenleft.subsparenright.subsperiod.subscomma.subszero.dnomone.dnomtwo.dnomthree.dnomfour.dnomfive.dnomsix.dnomseven.dnomeight.dnomnine.dnomparenleft.dnomparenright.dnomperiod.dnomcomma.dnomzero.numrone.numrtwo.numrthree.numrfour.numrfive.numrsix.numrseven.numreight.numrnine.numrparenleft.numrparenright.numrperiod.numrcomma.numrordfeminine.aa.supsb.supsc.supsd.supse.supsf.supsg.supsh.supsi.supsj.supsk.supsl.supsm.supsn.supso.supsp.supsq.supsr.supss.supst.supsu.supsv.supsw.supsx.supsy.supsz.supsegrave.supseacute.supsuni0259.supsa.supag.supaEurouni0192lirauni20A6pesetadonguni20B1uni20B2uni20B5uni20B9uni20BAuni2215slash.fracuni2219lessequalgreaterequalnotequalapproxequalpiinfinityuni00B5partialdiffintegralradicaluni2206uni2126summationproductuni2113estimateduni2190arrowupuni2192arrowdownuni25A0uni25C6uni25C9uni2752triagupuni25B3uni25B6uni25B7triagdnuni25BDuni25C0uni25C1uni2610uni2611uni2713uni266Alozengeuni2032uni2033uni02BBuni02BCuni02BEuni02BFuni02C8uni02C9uni02CAuni02CBuni02CCuni0300uni0300.capuni0301uni0301.capuni0302uni0302.capuni0303uni0303.capuni0304uni0304.capuni0306uni0306.capuni0307uni0307.capuni0308uni0308.capuni0309uni0309.capuni030Auni030A.capuni030Buni030B.capuni030Cuni030C.capuni030Funi030F.capuni0312uni0313uni031Buni0323uni0324uni0326uni0327uni0327.capuni0328uni0328.capuni032Euni0331uni03080304uni03080304.capuni03080301uni03080301.capuni0308030Cuni0308030C.capuni03080300uni03080300.capuni03020301uni03020301.capuni03020300uni03020300.capuni03020309uni03020309.capuni03020303uni03020303.capuni03060301uni03060301.capuni03060300uni03060300.capuni03060309uni03060309.capuni03060303uni03060303.capuni03020306uni03020306.capuni030C.auni0326.auni00A0uni2007space.fracnbspace.fracuni2500uni2501uni2502uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250Buni250Cuni250Duni250Euni250Funi2510uni2511uni2512uni2513uni2514uni2515uni2516uni2517uni2518uni2519uni251Auni251Buni251Cuni251Duni251Euni251Funi2520uni2521uni2522uni2523uni2524uni2525uni2526uni2527uni2528uni2529uni252Auni252Buni252Cuni252Duni252Euni252Funi2530uni2531uni2532uni2533uni2534uni2535uni2536uni2537uni2538uni2539uni253Auni253Buni253Cuni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254Funi2550uni2551uni2552uni2553uni2554uni2555uni2556uni2557uni2558uni2559uni255Auni255Buni255Cuni255Duni255Euni255Funi2560uni2561uni2562uni2563uni2564uni2565uni2566uni2567uni2568uni2569uni256Auni256Buni256Cuni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Funi2580uni2581uni2582uni2583uni2584uni2585uni2586uni2587uni2588uni2589uni258Auni258Buni258Cuni258Duni258Euni258Funi2590uni2591uni2592uni2593uni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259Funi0258uni02541.000Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Copyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.Source Code Pro BoldSource Code Pro/H€¦Ç [¤¾óKenrŒ–³×äð?Gd‹®³Í× )-9˜àës€†É J^ezž¤­ÉÜñMajo}‚ŒÔçëòû adov}ƒœ¶¼èø    " ' 3 8 < | œ ¤ « º Ç Ì   ! ' 5 M Z n x „ » Ç Ó ß ã ü  , 0 B J U … Ž • ½ ç þ 3 8 ? C I P [  ’ ¥ ´ º Á Æ Ï ð ø  + 0 5 > O a l t € š ¸ ¾ Ø Ü ì ó ÿ ").Ic{†‹“˜£©¯´º¿ÕÜáéïý,1>ERV`jov}‚‡š°·ËÝïö27JQW`gnuy‹–¡¦¬±¸ÉÒâò ")07=APV[`nty‡›Ÿ¨±·½ÂÏÜéóúþ ".5AMYeq}‰Ž™§¯·¿ÅËÐÕÛæñüÂ÷Œû8÷ +÷.ÍÕ¡¯Ã[ãu_d^BNªÕ÷â—¦¥÷;òû-ûû)û6÷)Á˘¹©ÀΩeS ì÷/ö÷÷i÷h ÷û/û/ ûûiûiöû÷/÷G`Þ÷÷¶ÙÏ϶=ûû`8G –S÷ ÷°÷,6Óû6÷Ò¿¬½· … ¥‡¨÷ÆË÷»÷Xø‰ûBûi|ZzX~Z‡{¿{½yº8÷iû&÷küwqd{lqR~~~ ½ÝMÑåkã÷6æé÷çUÀ5«<­L¢_™³°¬¡Äôxj¸ÖèÃP<©<û!)5û,ÍSÔpßgÊs±~bdmsGRN§³Z ÀËaÊæiä÷3àÑåá6°)¥ER𩤣™É¿»wp¸Íã¬WA®3û"4L/<åaâsÛuÀzmqo{HIR¢¯R éøL÷û¹÷*÷„÷û„÷÷¯÷üB ÷@M•𤛇¡‰¯ÉÄ©„kiTp<=[Ÿ°û u2ëe÷÷H÷ÖóäD¯û æ÷+²÷a“´‘¸²ŽŽd’^“b´ûa÷.Üù û xûï‰UŠS‰S‡Ã}ÄÀ`÷I2^ûI€T}STˆŠÂ‰ÂŠÃv÷ïû* 8 í÷;p ® ^6 n2®L ^ RbeUU´hÄ + ÕøX÷û,ø(÷,÷üXû÷,ü(û, ô®ÁÁb÷, ÷6÷[XºûNûAøøŸû6û[¾[÷N÷B /Qq–¦›’”𖄤¢ˆŸ÷å¿÷¥€¤šðöû] 7ÊIïËÉ©±½ X‡·c^žY a Í÷;u÷:÷Q÷ ö (ôÀ0í@“somû'Nû Q¨^¯s‡ôÀhssgja¢q¦z‡ö Xrqicí@A é÷÷÷ ֑˨ÐÀ^®ûŽzBć¡€xyw„s† ÷:ù’“{ydt}gƒŸgb–^û/ ûûiûiöû÷/ Eü4=m`MMn¶ÙÎü%û=Ú-÷3÷2×é÷=÷ï ÷7÷¦ Ø}â„ÓÃû"÷ûÙ÷*ù û!û{ v÷/÷÷¢÷ ^ ÷LÊSÃS÷R xÀϸÀ1xÀ"¸À¸ tÀ¹ÌŽxÀºJå;÷÷1 a\ ÷Z¢ \ ÷'|€R¼€ûÚ# F ¿Tó,÷ hº»„´ÔǴưx¥\˜ð³™™ ¯ÀV¯IU[ysmµM—Ÿ£˜¡¤™€{stƒeT辡twx‚toj™šv÷}÷Þbj§ÁÀ¬§´´®oVUhob ÷(î÷ã÷(ø<ûØLï´¼™£°hÈ}qr„q^fžº÷iŒ“Ž›äYÑ&79H!’¨œ­¶œri ÷÷*÷÷÷ ñø[ñÈ÷'÷÷B÷ û÷ä÷P÷G´¥­¯¥æiÉxQVbqPJY¬ÃØ÷/÷SA¤W¤¿¼°£ºÅ«jZj{lknäû®ûd$æD÷'÷/á×ïáWºH¬ؽ«´»Æô:Ðûû1HûH³]Àf‡äIkU]=÷< ï÷; V÷÷ 4m  ˜—¡¡g“€|{„|s~–Ÿ/ûKr¨¯{·öÄÚäîSÐ-CVYMM²kÇ«¥•œ _†xiXsx“™zZº÷)÷M÷'Ü4 ì+ ÜbT–¥\÷;÷CQc¹ÝìÞ½¹½ª¦‚s¦ûDÜhpo~k,ö> hº¸„¸ØÄ¼ÈøÈ`¯I}x‰‡¸®÷ãûiø}û5¶n–˜Ÿ¤žstws÷9?™/’F‡S÷#û÷Ùû* 8ûb÷ ÜVÈûëû ÷$ë÷ kƒzu__z¡«ƒHC’¶[á ¯¥¦­®qÍhi¥p¯ û*r ø¡ø„û' Ãø÷ûÉ÷ÅøKäü^û÷©ûÆüL ©÷˜nt’_û% ‹÷÷S÷0÷:w Ó÷'÷B÷' ö÷Ì÷L „KÜ÷À÷û7ø‚û ÷FÚ÷,ïëï÷À ž¦¥¦¨Â­@ÞÉÆ³óµ3´Txqqo û\ú| _÷¦VO÷<Çûëû ÷$ë÷ Å ÚÒĨã÷]à¹ó¸÷9 u Í÷! Ú÷Òó/óè÷9 ÷Àù ûü‚û7 XÍ ÖÇ ÷û  Ë©ÏÁ ¿¸¸æ• º÷+ ˲©Ë±§}o¦ÚÛ¿\R¨9û,<û ûÍü÷'øå÷1©¾ Ÿ¯›ž‡…› ÷žžœ” ±oRIpqizyšz¦ggqp ø4û' È÷ ÷‰û+r8~ Âtyž§§ž¢ ûüÇwûý w×øì ûÀ÷Q û\ ÷D¸²¨£±¯n¥dcoqge§s³ :½÷ ÷ ¤ ±¯Ù”K VN‡ Æ If…um^]Ú öÀêŽÁ÷,÷[÷ŸøÄŸ÷[øÄ÷üÄ F÷7È `÷ ÷Àm ÷@÷™ûò ÷@ F÷Uw üˆ½û¢øVm M ÷ ÷ÄÐ÷ ø‘÷®óø T èv ÷ ør÷ ÷÷ª÷  ÷% ÷À Ä´¯ÁÁb°RSbfUU´gÃ> O¶aÄĶµÇÆ`´RR`bPêû Ýû¡rFùvÐùùûû IºXÐк¾ÍÍ\¿FF\WIø¾û§øž‡û§üžmwÉ Í÷ Ë÷Õé÷” û7v÷@÷ ÷¬÷ ÷ û¦ý ÷ vø÷ è·ÍÔü9j‡zqgh ÷ ͤ›˜œ¦«e¹·³¯Ù” +÷<÷%÷ f ÷Øö÷Ë8 ´\^]=  pfsªÝ¥™Þ!ßà;‹¡gbd<a=,>cGzž›£D@ ¦¨ŸIJœ?L_M—N&|ˆuƒ€„†‚…‡zåÃLM[¿ÈØã (/9BNdxÁ*IW`i¢«û$]gÁÌ Xe|™±½âüQ©ÁÐÜõ(5—¦·Éâ8U‰°ÂÕ8iå . T o § Ð $ ó Z l … š ¿ Ú õ   / G ` v ® É õ  4 d £ Ê ð(r™ßõ&Af‚¢äEš§µÇíÿ/IVpŽÛõ 'Zq‹¤Ää:[{²ÖùCSez¢¿Úó,HtŸÂ@¸7HYŽÉ †«ã7¿Ö설¿ÚDSˆªÄÖæø =s‚œ·ÇØ#Po´ÑëIp…šÃú!1CXlx†—¨ÁÚó  - F [ u w »!!7!]!y!­!ü" "O"¿"Ú"ÿ#+#<#K#¡#ä$$A$k$²%%>%Ÿ&L&´'''%'F'^'â'õ( (y(‹(œ(¯(Á(ü));)Q)l))Â)ò* *H*›*Á+:+P+}+¨+Ò+Ü,,,œ,»,æ-<-C-I-P-w-’-ª-Æ-Í-æ../.M.R.j.Œ.¢.·.ß/3/M/f/‘/²/þ010Q0r0§0ç11=1`1Ï1Ü1ê1ø2282O2l2|2‰2¡2º2æ33K3‰3¨44¥4¿4Û4ú5'5n5—5ö5ü666=6b6¢6Ã6Ú6ð7 7„7¨7Ä7ß8S8v8Ø8ò9 9%9J9g9‚9 9Þ: :*:c:¦:×:ô;<;c;’;¸;Ù<<\<‡<¶<æ==q=¡=´=È=Û>>*>H>f>‡>«>×??4?K?b?€?@@f@w@çAAYAœAêBCBEB‰BéC.CoC¤D DgD EEeE~E†EŽE–EÑFF4F\F¤F¬FÐFþGHG‹GÆH1HdH©HèISIÌJJ|J~J†JÔJêJÿK K KˆL"LwL‰LÁMMTM MýN.N0N„NÖNèOOoO°PP_PP‘PçPïQQQUQ QÇQÿRLR©R½RÚRÜRÞRøS&STS‡S–S¥S¹SÌSÎSÐSÒSÔSÖSØSâTTTSTŽT­TÊU.U‘U«U·UÐUåVV;V€WWBWŽWÎX?XYYqYØZ&Z`ZbZdZçZðZû[[[[#[.[7[B[J[R[Z[b[j[s[}[‰[•[œ[¤[®[¶[À[Ç[Î[Õ[Ý[å[ì[õ\.\8\?\E\š\¡\ª\±\¸\¿\Å\Ì\ù] ]A]€]¨]ø^E^j^Ú_/_U_{_”_º_¼_¾_À_Â_þ`@`f`p`¨a`asa–aÕbb@bœb¯b±béccBc˜cÓd d:d™dée9ebe{e”eäeæfSf‹ggogÉh%h¡hûisj!j„jýkRk½l?lÄm-mmæmónn n–o#ono¹pEp~pçqqkqÌrr5r7rmr¯rÀrßs s5sls¥sÓttCt}t¢t»uu¦vvxv×wwIw­wÞwÿxfxêyyAymy˜y¯yÊz zLzXzrz~z˜z±zÛz÷{!{A{œ{Ö|$|e||®|°|²|Ü}}}})}9}R}T}V}f}~}€}“}•}ª}¬}¼}Å}è~~~$~&~1~B~U~W~z~|~Œ~¡~·~À~Ð~ã~í~ù .>Lr˜Æô€€(€W€t€Ž€¤€Â€æJp•³ßð‚‚:‚`‚‹‚¯‚׃ ƒ(ƒcƒ¶ƒÌƒèƒþ„„-„<„k„’„Ä„ý……E…F…G…H…I…Y…k…y…†…°…؆†)†O†s†˜†½†Ì†Û†è†ô‡‡‡‡$‡3‡C‡R‡a‡l‡t‡}‡…‡–‡¦‡Â‡Þ‡ëˆ ˆ'ˆ3ˆBˆNˆ`ˆpˆ{ˆ•ˆ­ˆ¶ˆÉˆàˆõ‰‰‰"‰/‰8‰F‰Y‰k‰v‰ƒ‰–‰¦‰²‰Ç‰äŠŠŠ/ŠAŠPŠoДЫŠÌŠë‹‹‹/‹;‹\‹~‹™‹³‹Æ‹Û‹à‹øŒŒ%Œ;ŒSŒeŒxŒŒ›Œ¦Œ¼ŒÆŒâŒþ'>Ukˆ¢±ÆÞ÷ŽŽ6ŽVŽxޙ޷ŽÄŽö)4DQ\q…œ®ÁÌ×âíø'5CO]kvšÛ‘ˆ‘›‘¬‘»‘ő֑ã‘ý’’#’7’N’^‹æøqç®î÷àî®ø¦ù(ü¦îüøéûN÷$é÷NüûŒK²Ø´íŽ´)²>7÷×`êlÆ÷,kPa, :”øÚ÷y÷¢! ‹÷÷?ó÷)÷ß÷'÷,÷$û÷$ôß÷s÷!÷Æ÷âZ¼.œøØŸ®ÊÅ÷#°ûû`÷'û›÷)¾ЫwZZmlCYû§÷?ËôܰrRPem;>Â÷+- ‹÷8Ì÷(÷T÷+K ‹Cé÷'' v÷‘÷÷+÷÷÷'÷÷'÷‘÷…÷û…÷+÷¯÷üB ·÷,÷o÷%  ÷.Ë÷'÷F÷'l š ¤-÷ø2÷—ëÏ÷)œ‹÷ ö÷'b  v÷B÷1÷E÷$Ì÷ ÷~÷ q ‹Á÷N÷!\· l9œL>r ! v÷q÷ ÷Y÷ Õ÷'÷]÷%Õ÷'÷qæ÷÷ Ï÷-÷2û¿û!û‚÷'ûÎ÷YÝÙ´rGGeg:ûF÷ øé÷¯÷+÷p÷*÷½ø­ϵ=ûûa8GFbÞ÷÷´ÙÐ÷•üÜ„}x…w\Zšºtö²Ï÷ ÷?÷h"÷û/û0"ûûiûHÖû ÷ j%´ãB÷´¬”—¡ Ã Ñ÷'÷S÷%÷mø«ªøûôû'÷™D >×÷)÷C÷+% ÷O¤s_ š# ‹÷û ÷% šøÎp÷h÷E÷Xù û*>ûİxD}IwC‡xÓ~ÍwÒ=÷Äû0·øä)ëøÈ÷1Ï÷›­›¬›³c›jiÒû÷8ûR÷Ü÷G÷Øû2Qû}m}i{b‡w´|­|©L÷û9÷GûÑë¤' ‹÷ÃøS7 ˆ |ϼ1|"¼$ ã÷|Ó÷¼÷! í÷?÷,?îû[XvgdÙ÷@û'÷'üÄ÷Uqk”£o_Î÷+0 À ÷K÷'|º÷Œ¼û6Þ)÷½¾¦¯°Ž|–X÷ ùQû'û=>«hh Rû#)û6¼÷+é¹·Á¨¦‚s¦û]jqo~jNh·íXø1÷ Ô ð÷÷i÷'øÝùB™aX˜Rû/H1û~û…û÷ü÷'ø÷?÷û?™Ç©¦Ê±®„ªa u÷:÷Q÷ ô@(ñ€0ꀓsomû'Nû Q¨^¯s‡ñ€hssgja¢q¦z‡ô@Xrqicê€A Û ÷Uw¸H Ô Ô÷I÷‹÷Xû9÷'è? ð ûX÷øb÷Ô÷I÷‹÷Xû9÷'èc ð  Î ÷uw×÷'€ ûJûX‡ø%û'é÷b÷'.  £ «w¯÷Õ÷Õ÷ž¯÷Îw ®€Éû £ ¸¸Ó÷'Ø/ ¸€Íû _Å " öw÷Ü÷jµh¯·x·÷óí÷>ì÷-@îûVTqgcˆÜ€½û ý<÷'÷%÷Hì÷TÜrk”£oöwp ìº÷Œû6Þ)÷º¼£¬®…?û-÷'Üù<ûìX‡·bbžSû#)û6÷+é¹·Á¨¦‚s¦û]jqo~jNh·í Ñ ÷÷'¨´È| ¨T˜Æê ß÷&÷8÷&&ê÷B÷', ÷?÷=÷'xR¸ûÚ#xq‹÷øwªø®÷n÷=÷Jø„û!=û~{Y~X|W‡|¿}¾{½=÷~û(‹÷ Íwøä)  Î °ø¡°÷.¼Ýš¨›¨š§o moÄ9÷2û@÷…÷6÷“÷; _;~p|m~o‡z§w¨|§XÛû2÷5û‚• ªø°°èCpqû°$‹÷÷ž÷ÑøkR  :÷P”øÚµ nüD!  :÷P”øÚÁ ûüD!  :÷P”øÚ÷¾ù: ÷{üD!  :¾÷÷Ö÷RÖøùÛI ÷ Èû…üÍ!  :»ô ø#ùPa\ ûZ¢ \ §üB!  :Ïè÷3÷®øMùÁû®.÷®ûhüV!  :÷P”øÚ÷øùÊWâµ¼Ò“ûdü¼!  :¸÷4ùÚ¡zqpy{uty›¦¥œ¢û!ι±ÇÆ]²HH]dPO¹eÎDü?!  :÷P”øÚøùRë÷ ûÜVÈûëû ŒüD! û‘÷Iè:÷^÷X÷ÀC@  :÷5Ô÷LùG5rüs! Ù]÷ ”øÞìøçúûôGû ÞûZ~?û,ûózüDšÇœÌכМG>œJšOû.øû_ý ÷*³÷/÷Y²û/÷0û_ù Ù]÷ ”øÚìø®ù–F÷ ûíû ôû0~?û,ûózüD! Ù´Çø^êøIù‚Š ûc?û,ûózüD! Ù¯×eÖ÷+Ê÷@ÊõøúYùq…÷;öpo°Vú^eh=ƒÊö¦‘˜–œù¦§eÀõ¸±®Ù“û+ûd?û,ûózüD! û‘÷Iè:½÷ ”øÚü÷X|÷¾ù: ÷úÂýš@ ã ³™”øÚøBú3ûKû Õ³™OÕ ûcü¼! ã ³™”øÚ÷íù¼K÷ ûðû í™OÕ ûcü¼!  v÷/÷÷¢÷½– ÷lOÕ ûcü¼! ã ß÷÷8¼÷=ÍøúZ÷ ÷û°û$C’¶[áÕ Hkƒzu__z¡«ƒ‰ü¼! û‘÷Iè:½÷ ”øÚü÷Xü÷øùÊWâµ¼Ò“úûþ@ ûsê÷):øö÷y÷¢šÇ̜כМG>œJšO÷iü„}„|vy˜¤³®¸Âû_ù œ ³jx[[MO½iË®·šŸ¥‹÷¤÷—÷÷÷û÷÷Ë÷ì÷w÷›§è›ÄŸÊœÌŽûª´÷û÷+÷ ÷û ÷÷%÷üûeý ÷+ô¸÷)÷ ´û)÷°÷‹ôÑÒËâ÷)õß÷'÷0÷ û÷!ú÷{ôÑõÒ!ËÍÜ´mFF`f<IøMÁüÏ­w[VjoEVú÷Olüמ¬ÂÂ÷ &²ûûbü*@…JÖûC÷uú÷"÷É÷çZ¿.ûqÆ÷Dvø´÷Â÷+÷ õø|÷Ahkft\)GÙ÷÷ÏÚ纭xoªÜæ¶_I³8ûBûûûlûT÷û÷ rhF·€™Ö [†–Pê÷ i–™«Ò‘É«¼Ä>±÷ Â÷+- øaøˆO >±÷ Â÷+- ÷‡øÁÈÀ÷ >±÷ Â÷+- ÷öøˆÜUd >°÷.Â÷+É÷?- ÷¿ø¼¯«¸¸g«ZYgk^^¯k½‹÷8÷PÌ÷(÷T÷+K ÷ ùSÜUd T Ó÷8Ì÷(v÷Xœ÷+tK ìÃü* ûQéê÷8Ì÷(N÷¨t÷+ôK è÷Vûj¯e‹C÷Pé÷''÷M½÷ ;÷ û1‹C÷Pé÷''ø÷>û1;÷7‹C÷Pé÷''÷@½ÁÈÀ÷ ‹C÷Pé÷''÷¯÷>ÜUd ‹C»÷ ÷P 3÷Æ÷è'ö÷»µ§©³³o©abomcc§m´÷[´§©³³o©b\ ‹CÏè÷P N÷¯ø'ôáÏ÷¯èû¯‹C÷Pé÷''÷x½âµ¼Ò’;÷V ih{Ÿ¥…;D’µZã‹C¼÷.÷P †÷?è'ô÷x¼¼¯«¸¸g«ZYgk^^¯k½T ÓC÷P y÷Wx'ô÷wþ.‹C÷5Ôé÷'Úô'÷T²בʨÐÀ_®ûŽzBŇ¡€xyw„r†‹C¾÷÷P 1Ö÷SÖú'÷¶¾À·¸æ–@j„|zmg¸VöV_^0€úÖ¬’š—œ©¯^À‹C½÷7 é÷'ô'÷è÷ ßìî÷ ûôûèûP‡‹C½÷7 é÷'ô'ìø!÷‚ûîû ßôü!G‡‹C½÷´Çé÷'÷ƒé'øí˾¢Æ·g¬ûŽ}O¾‡šxz}…x‡û°,‡‹C½÷¯×eÖ÷P ÷:Ëö'н‡úu¯ö÷ û§§eÀ÷·±®Ù”Kûq†÷;öoo°Vú_eh=‚T ÓC½÷ ÷P y÷W|'÷@½ÁÈÀN` ú÷;þO.ûsê÷Cé÷'é÷é÷Ôiv^\N÷DjÕ„~„~vv—¥·³·¹÷û¹÷*÷„÷û„÷÷¯÷üB ±÷ ·÷,÷o÷% ÷{øË  ±÷ ·÷,÷o÷% ÷²øã´¼Ò“;÷V hi{Ÿ¥…;D’µZâ °÷.·÷,¼÷>‹÷ê% ü÷²ø§ûyÆ÷2÷÷÷ ÷>÷·÷,÷ õ†÷z% ü÷“üV  ±÷ ·÷,÷o÷% ÷êøˆUN÷<d  Ãè·÷,„÷¯R÷ú% ô÷%ø"÷¯èû¯ ²÷·÷,gÖ÷H÷ú% ÷ñøÀ·¸æ•Ajƒ}zmg¸UöW^^0Ö¬’š—œú©¯^À ÷.Ñ÷ Ë÷'÷F÷'l ÷H½ÀÈ: û‘÷Iè÷.÷ ÷Xƒ÷'zl ô÷þ‹ûfÛ÷+÷.÷ ÷%ÝZ÷'úl ÷ýò÷y¥¬‡9ú÷6 v÷¤÷àâ ÷:÷ ÷F÷'Îøø%ûFà÷FÖ÷dÒNÎêû'Ö,ûFÎêû'æ+N†ÎJÈüz÷'÷¤÷Fû¤÷'øzÈš ½Ú-÷LøÖš ½Ú-øùNO š ½Ú-÷?øÖÀÈ: š ¾÷÷Ö ÷( Öè-÷µø×üÈ@I è÷ š »÷) È-ô÷øÔ<š Ïè÷3÷®ûk÷(è-ðàøè÷š ½Ú-÷vøÖâµ¼Ò“:Wš ¼÷.÷k÷>û3÷(È-ð÷vøÕ‹ š ½Ú-÷­ùNNš ÷5Ô÷v÷(?õÐ-÷SøËè5T Ó÷ø(÷÷^÷Xû@÷(h-ð÷vü ‹ûsê÷÷ø(÷÷TöB÷(hÕð÷Tnv^_K÷ ‚}„}wv—¥­ ­Á¡÷,÷hû,ø(÷,÷üXû÷,ü(û,÷ø2÷½÷ —÷ø—ÁÈÀ÷ ÷:ù wÏ÷)áõœ÷pýJV ‹÷ Ñ÷ ö÷'b ÷Ž÷>û0:û ÷ ‹÷ø÷"û"÷r;wö÷'ÿ€æœb Ì÷êû"¬¤÷,ŒÑ-ÌûrûyÆ÷>÷ ö÷'Äõb ÷QýJ° ‹÷÷ ÷I÷cwö÷'ñ÷Wb ÷îüíT Ó÷ ö÷'w÷Wðb è÷uþ.T Ó÷ ãèö÷'w÷Wøb VÏ÷ ô÷ªþ¾.ûQéê÷ ö÷'N÷©ðb è÷ÿýû©-÷©‹÷ ö÷'÷’÷÷&÷b÷÷ûbû÷ û'ûèAbûÕ´ûZøI÷è÷B÷1÷E÷$Ì÷ Ÿ÷X÷ úq þ÷þ* ‹u Ñ÷ Í÷!÷N÷!^· n9žLø&÷>O ‹u Ñ÷ Í÷!÷N÷!^· n9žL÷»÷>N‹u Ò÷Í÷!DÖ÷J÷!ûÖ]· m9L÷þZ€È@I ÷ ûyÆ÷>ÁÔô“÷!­· µ9ÍL¯÷ZýJ÷QŽ ‹u Ð÷.Í÷!™÷>÷!]· m9L^÷„¼‹ T ÓÁ†÷X†÷!­· µ9ÍLª÷~þ* ûQéêÁ^÷¨^÷!­· µ9ÍLªøý­û¨-ª÷¨>±÷ r !aøß>±÷ r !÷6ùWO >±÷ r !TøßÀÈ: >²÷±÷+PÖ÷RÖP÷+ò!ÊøàìÈ@I ò÷ >¯÷ ±÷+Q÷ Å÷ Q÷+ò!ì(øÝ<>Ãè±÷+m÷®m÷+ô!èû!øñ÷>±÷ r !øßâµ¼Ò“:W>±÷ r !eøß >±÷ r !ÂùWNT ÇF ±÷+˜÷X˜÷+ô!üüî >÷)Ô±÷+÷õ’÷+ô!høÔø5÷T ]÷ Ù ì!÷ù#ÞÜî÷ ûìûçûPó¿²û÷T ]÷ Ù ì!Ü÷=ù›ûíû ßìü Gó¿²û÷T ´ÇÙ #êì!÷ùúŠ û°,ó¿²û÷T ¯×eÖ±÷+÷YÊe÷+í!û2øßó¿²ûõt¯í¦‘˜–œö¦§eÀ®Ù“Löq…÷;ípo°Võ^eh=ƒT ÇF ±÷ ±÷+˜÷X˜÷+z!TøßÀÈ: þ÷<þO* ÷!vø¹÷‹wÙ ¬ø+øŽxŒutû`8Grv–Ÿzaò‡£‰¦¨÷¶ÙϦ£~tœ÷f÷"l=½V>ªbYœRû/ ûûi.Ÿ>¯RK.œÙY¾Ôn²»|Á÷/ö÷÷iãyÓj‹÷ û ÷÷*÷÷÷û ÷ ž÷+÷÷vž÷Ýût÷"÷.÷È÷û>÷*÷ ÷û ÷÷4÷û¶û2û (ût®÷+÷1µºÍ›ü2{Ia¿÷2>Ù :÷ð÷À÷z è6ð|èË›¹²ÏQ >±÷ Ù :÷øÁ aU>±÷ Ù :÷øµ µU>÷)Ô±÷+÷õ’÷+:÷ô÷ùGø5ô¹ýz ò6ô|òË›¹²ÏQ >²÷±÷+PÖ÷RÖP÷+:÷ìøùÛI ÷ Èòû>ýhz ñ6ò|ñË›¹²ÏQ T ÇF ±÷+˜÷X˜÷+:÷üáô÷OG`Þ÷÷¶ÙÏ϶=ûû`8Gò6ô|òË›¹²ÏQ ûsê÷vø·÷±÷+¡öè÷+ø û„„~uv—¥ªž³¾¡ó¹Ññ÷F÷h ÷û/ôû/ ûûiûAÖû)÷5zümqjbWO¾iË­¸šŸ¤û÷ÃôG`Þ÷÷¶ÙÏ϶=ûüû`8G Ã ÷PÑ÷'÷S÷%øe² ûû;ªøûôû'÷™D  Ã ÷PÑ÷'÷S÷%ø ùRë÷ ûÜUÈûëû }û;ªøûôû'÷™D ûyÆ÷Sà Ñ÷'ÞôŽ÷%ü÷”+Ž HøÕÓzˆ÷p0D ÷9û‘÷Ièà Ñ÷'÷X÷%ô÷Ôm z$øóª÷p0D ÷9û‘÷Ièà ÏèÑ÷'S÷¯ûr÷X÷%zøPùÁû¯.÷¯ùûý¬+Ä´®ÁÁb±R|€$øóª÷p0D ÷9ûQé÷à Ñ÷'h÷¨Y÷%ú÷mø«ªû Ø÷û÷9û'÷™W hûQô÷¨éúû¨>±÷ ×÷)÷C÷+%÷âù÷+ >±÷ ×÷)÷C÷+%÷ ø›Ë >±÷ ×÷)÷C÷+%÷xùUN÷<d ûqÆ÷Avø·÷×÷)Äô˜÷+ô÷àø%L¢_™³°¬¡Äôxj¸ÖèÃP<©<û!)5û,ÍSÔpßgÊs±~bdmsGRN§³Z6&üÆWÕlÕ‚jI·… ´s¡i–™­ô÷šÕâìçUÀ5«ûyÆ÷2F ×÷)Ìô÷+ô%ø÷ûu÷QŽ >°÷.×÷)ˆ÷>“÷+ô%ì÷@øš§T ÇF ×÷)~÷Xƒ÷+ô%è÷CüH* ÷ ¿lvøµ÷ Ë÷+÷X÷.8Ë÷+ø:Ý¥´Æ±¤ol–@û•5œÏw­gc`{nv|x”¤tX?2œi§¾mÕ÷ÃÞöíQ¿PªÓ÷÷v;Õûû?F(û ÷O½Ús÷÷ºNûqÆ÷K÷O÷v÷(+õðø ø¤÷W÷ü®û÷Wü¤è«e?’ j–ð¶÷:ø¤÷÷v÷(-ôðsè²üÎoU¨t 2”èø¤÷÷^÷Xû@÷(èsðÕý¡‹ûQé÷÷O¤s÷hý¯_ Ñ÷ š# ÷V½_ Ñ÷ š# ø"÷>O _ Ñ÷ š# ÷I½ÀÈ: Ý ô# ÷¿¾òÈ@j„}zlh¸UW^^0ìÖ¬’™—œô÷ _ Ï÷ ÷ ;÷ Å÷ @÷"ò# ÷»êaò\ ÷Z¢ ôbnmcòc¨m´_ ãèš# êÏ÷_ Ñ÷ š# ÷€½âµ¼Ò“:W_ ÌÂáÂ÷ sÓÜÔx÷"ù# ö÷€¸Ÿ_ Ñ÷ š# ÷Z½ _ Ñ÷ š# ÷·÷>N_ Ï÷¼Ð÷ C÷#÷®#÷H÷"ø€# òê÷p÷®Ðû®ø€µû…ô€¢ø€† ùgqpiø€h¥p¯_ Ï÷ª÷ ÷ C÷Õ÷H÷"ù# ÷5÷^÷ ÷ ÷ ÷; "û¦_ Ï÷ª÷ ÷ C÷Õ÷H÷"ù# ÷»¾_ Ï÷ª÷ ÷ C÷Õ÷H÷"ù# ÷z÷Öû.÷ ÷£û.¢úgqpiùh¥p¯ûZõ¢ùcT Ç÷ø­w÷ ‚÷X‡÷"ô# è÷€þ* _ ÷IÔ÷ âõ÷"ô# ÷]²ø5ûsê÷ ÷#vù*w÷ Š÷×÷"ºË÷û1Ð,÷!‚Özz\cM÷DiÕ„‚~„~vv—¥§œ­Ø°ݲµÚ÷ø%û"ü4=l`MÚNn¶ÙÎ_ š•÷ø§ùŒ’“{yWaƒc‰ð7øÑ˜Á±ÖQ _ Ñ÷ š•÷øÁ ü÷Qo _ Ñ÷ š•÷øµ ü÷¥o _ ÷IÔ÷ âõ÷"•÷ô÷ùGú5÷©–S öјÁ±ÖQ Ý ×÷òøùÛj„}zlh¸UW^^0ëÖ¬’™—œ÷ ÈÈO ·Ñ÷ øä)÷…½ÀÈ: ·Ï÷ ÷÷ Å÷ )÷Y»<ëÑÚ' «øvëÑÚ' ÷€øîO ëÑÚ' žøvÀÈ: ëÏ÷) è' ôrøt<ëÐ÷.÷k÷>û3÷(è' ðÕøu‹ èù w÷^÷Xû@÷(è' ðÕüm* ë÷IÔ÷v÷(?õð' ²økè5ëÒ÷÷Ö ÷( Öè' ÷øwüÈ@I è÷ ‹÷÷PÃøSø8ùq÷+ ‹÷÷PÃøS÷ÎùqUN÷<d ‹÷¼÷.÷y÷>S÷–øø§T Ó÷Ãøûâ÷WpSè÷’ûêB e v÷÷ ÷X÷ îwÔ÷'÷]÷%Ô÷'÷æ÷÷ Î÷.÷2û¾û!0îû'÷'ü0÷XÝÙ´sGGeg:÷ÿ–€ÿk€÷<÷Å÷*÷_÷)ø/÷œ(dWWTe¾î„x÷w¥¥¬¢¹Ó²Qû“ûô‰zŠ{|ûgðû÷)÷)ò÷÷i÷i&÷û'7Pla^^ ÷;ˆ ~Ͼ1~"¾$ Üø=–^ ÷;ˆ ~Ͼ1~"¾$ ÷œøäû+2û;÷^ ÷;ˆ ~Ͼ1~"¾$ Sø=J7 Îæ0÷#ˆ wÏ·1w"·$ Jø>£{Í w™{«w÷ · 7 Ê÷1Ü :÷1È÷1û÷'|€Ï¼€1|€"¼€$ {ˆø:¹¬­¸·j­]]ki_^«i¹÷nº¤ \]ki_^«i¹7 ßèÜ k÷¨Q÷'}Ͻ1}"½$ zkøOz^ ÜÜ bÝ÷ÝH÷'|€Ï¼€1|€"¼€$ {õø=N ޏ@î7 ³ÂéÂÜ …ÒÝÓj÷'¾@Ï1}@–S÷ ÷°÷,6Óû6ÕÜ óõs÷'}Ͻ1}"½$ Òø,~Å_­û“ ;rÀ÷9SÝqÀ÷ ;qÀ÷ƒ÷N rÀð^ ÷LʰɈ Gë{€Ï»€1{€"»€¸ w€¹ÌŽ{@ºJå;÷÷1÷XAÊ”ÁžÍ¹d©ûŽ}M¾ˆš€xz~„y‡7 Ì÷¯×e׈ û$ÊU bø<†|¯{€÷ }@÷M {@¸±¯Ù“L}@p…÷;{€÷}€ï T Ç7 Í÷;Ü •÷Wx÷'¾€ÏÞ€1¾€"Þ€$ Sø=J¿Ëþv.^ Ó¹ v÷R U Çø³Õ{€ä÷ "û€}€ŒÚ {€÷ ^ Ó¹ v÷R o»€$ êù)!}€äû Ö\û ¼ Ú ÷ ^ ÓC÷|šëÉÜ çë‰÷'u Ïµ 1u "µ $ õø=Æ Jy f…tm^u ^Ú µ ÷ sÀ®^ ÐØ×?÷Ü jÄ÷6÷'û$Ê{@Ï»@1{@"»@$ zÀõø=›} ÷M { ¸±¯Ù“L} p…÷;zÀ÷ï T Ç7 ÍÜÜ bÝl÷WiÝH÷'¾ ÏÞ 1¾ "Þ $ ½@õø=N ޏ@î¾€ýÏ.ûfâ÷÷8v¢v÷{ãÓ÷ Ü ÷&îP÷'ž€ÏÏ1¯—Qrz`bPtž€©¢°Ì÷°÷,6Óû6«hg Sû#)û6·÷*麷À©¦‚s¦û]jqo~jNg·íøC÷¾o£÷-Ð-wûrT ÇÀ ˜÷Xq] ¾÷ü‹* ûQéÞÀ p÷¨I] º÷ûí¯÷ 4vø÷ ÏÒD÷%p ¶ø÷.jqo~jNh´æâ¹´Ã¦¦t¦÷i÷¸InÕû'vAû/®D÷/_>«hh Rû#-û0û0Þ-÷½¾¦¯°Žv–X÷ øÁÍÄ÷;ø1÷ û÷¤¾ Ä÷;ø1÷ ÄøKfÄ÷;ø1÷ û›÷¤gÄ÷;ø1÷ û6÷¤ XÊ÷1÷÷1É÷14÷ú ûf÷¡™ ]ji_^¬i¹ü÷n¹¬­¸·j­]]ki_^«i¹Xßè÷C÷¨e÷ôi û‚÷¶zÄÜ÷9Ý÷Ý\÷ú '÷¤ü x¬µ…9ú:Ž÷$XÈ÷I÷k÷WŽ÷äi '÷Ÿ.T Ç÷ôìé÷÷k÷WŽ÷ti 'ü¿.X÷>Õ÷Ëõ‡÷ä û÷“øÖË©ÏÁ^ž XÎæ0÷#ø1÷ì û£÷¥£ôÍ ìÈ·ºë–@ôd‚~uìpm¿Z ÷ôìé÷˜ø1÷ñ ûƒ÷¤åéºÌŽñ‘ å÷:SÝã÷ ÷ôìé÷˜ø1÷ñ ûƒ÷¤åéºÌŽñ‘ ã÷„÷N åðÄ÷LʰÉø1÷@ëò ûƒ÷¤åêºÌŽõ› y‡XÌ÷¯×e×øË]÷ù û‹÷£ê½ÆŽ¼Pë:÷û{¯õ¦‘˜–œú¦¡eÀö·Ûúp†÷;õ÷ù÷5 T Ç÷ôìé÷Í÷;÷k÷WŽ÷ú û›÷¤güÉþv.ûfâ÷÷ôìé÷÷Ôì‡÷ôør÷u_d^BNªÕ÷â—¦¥÷;òû-ûû)û6øû8÷ +÷.š•‹¡qtlcZO¸÷2…~sx—¥²Ÿ©äÉûÖ÷”ô˘¹©ÀΩeS3û#÷ÜöÀêŽÁ,ö&» a ÍÜueÝ÷÷û Ýw÷ ö& öXrqicí AôPž÷ܵa È÷Iu—÷Wb÷Q÷ ö& öXrqicí Aô@ž÷×B a ÷9Æu£ô°÷Q÷ ö& öXrqicí Aõ`Á÷¿°3`÷Ü÷® a ßèun÷¨:÷Q÷ ö& öXrqicí Aô@û ÷îza Îæ0÷#u÷:÷Q÷ ó(ò`0ê “somû'Nû Q¨^¯s‡ò`hssgja¢q¦z‡óXrqicê Aû,÷Ý׳”—˜¡ô ¦©V¼ò ™ô «ò ÷ ê   Û ÷UwÐ÷ ¸H ¡¼ÀÇŽÁO` èø÷÷UwÓ÷'‚÷W÷'úH ô÷þNB ûfÛ÷+Û ÷UwÓ÷'÷%ÝV÷'úH ÷þ#÷z¥¬†9ú÷6 v÷ÿ÷Ïâ ÷%¸Î÷oø‘º÷JÖÒûJÎÕû'æ@I†ÎJÍüÀ÷'÷Ë­®¥³ÁžmIûŸ÷'÷²÷YØû@UgedZ ÷…Ù–Z ø<ÐZ óÙJÔ Úæ0÷#÷ª÷'Ø? êÚ£èÍ Ø™è«Ø÷  Ô Ö÷1÷1÷1g÷'Z÷1è? ô÷1Ö; Ô ëè÷c÷¨ûa÷'è? ð÷ëzÔ ÙÜ÷Z݉÷'|Ýè? ô÷žÙN ÷$Z ÷`ÙEÔ ÷JÕ÷ª÷'9õð? ÷{Èè`èø÷Ô÷I÷‹÷Xû9÷'ô? ø ýÊî ûfâ÷$÷Ô÷I÷‹÷XûPî?÷'ò÷ªô÷ ò½ øÎ÷P* ûfâ÷$÷÷“î?÷'è÷ªð÷ è½ Ô dûX÷øb÷Ù÷;÷ª÷'c óÙJ÷:ø„w÷uw×÷'Üõ€ ûJûX‡ø%û'÷iý{V  Î ×÷'€ ûKûXˆŠ÷Yû'éÃ÷ ÷b÷'. ø÷DO ÷ øM÷rûM÷÷b÷'ÿ:€æ¸. Øø3û-¤÷-Œ÷÷ ÷/÷I÷"÷÷0÷'Ñ÷X—øÝ÷$üûÌ;÷ɯ–›¾j÷lt‡tadŸÈø•û·ø_üKÄ´¯ÁÁb°RRbfUU´gÄûyÆ÷2é÷b÷'õð. è÷œý{° T Çé÷b÷'2÷Wð. è÷ÀþN.T Çéñé÷÷¨û_÷'2÷Wô. øÒñ÷¨éû¨ò÷yû‚.ûQéÞé÷b÷'û÷©ð. èøJý°û©-÷©é÷b÷'ø“÷ls‡tbdŸÈ÷5÷(Ü÷ û(;÷~û·û÷$ûSûKû ÷Ê9ûË;÷É®–›¿û‘÷Iè£ «w¯÷ª÷Xû-÷Õ÷Í€¯÷å€w Ö€€Éû÷Ÿýì  £ í÷;¸¼Ó÷'Ü/ ¼€Íû ø%Р£ í÷;¸¼Ó÷'Ü/ ¼€Íû ÷IÙE £ îæ0÷#¸®Ó÷'Î/ ®€Íû ÓÚ£¶Í ®™¶«®÷  ûyÆ÷S£ Ó÷'ÎõŒ÷'ÚÓ÷'ê/ Ü€Íû ÷[ü®÷Q¨ƒ™´ \†•PêީϽk÷:  £ è÷IÓ÷'‰÷Xw÷'ºÓ÷'Ú/ º€Íû ´÷‡Ô* û‘÷Iè£ Ó÷'÷W€÷'ÚÓ÷'ê/ Ú€Íû Ô÷~ýB ûQé÷£ ¸ÜÓ÷'ì/ Ü€Íû øü㯠£ §÷UÍñ»÷'÷÷'®„÷¶÷ ÀÅà÷¾ï`Ç@TccNT°fÁ‘’ŒŒ’†Me^Fl®øË€Ëû ü„÷'Î÷᫨«³šnJûµ÷'÷È÷_×(®I^hbds Å " Ø÷Ú–s Å " ÷—øfs Å " O÷ÚJ_Îæ0÷#¿Ü" F÷Û£ìÍ Ü™ì«Ü÷  _Ê÷1É5÷1É÷15÷+ò" ì„÷×; _ßèÉg÷¨g÷+ô" èg÷ìz_ÍÜÉ^Ý÷Ý^÷+ò" ìñ÷ÚN ÷$_Ì÷+Å " t÷Ù’s Å " ³÷ÚET ÇM É÷X÷+ô" èñü‰‹_÷>ÕÉïõ‰÷+ô" Î÷Éø`_˜º÷+÷`÷+ã" f÷ÚåӺ̎ã‘Ë÷9SÝÇ÷ _˜º÷+÷`÷+ã" f÷ÚåӺ̎ã‘Ç÷ƒ÷N Ëð_Í÷Lʰɿ,ëî" f÷Úå޺̎í‘÷XAÊ”ÀžÍ¹e©ûŽ}M¾ˆ™÷J _Ì÷¯×e×É÷LË_÷+í" ^÷Ù†õ|¯í÷ ö÷M î·Ûöp†÷;í÷õï T Ç‚º÷+÷X÷+ú" O÷ÚJôÉþv* ÷÷¸÷Å ø÷Éyvu5iOGsw“˜{h̆‰Ÿ¡á­ÇÏ£ž„~›÷GõT¶^U¥b[˜Zûû,û9B£P°`]SÂa·Àq´»}½÷÷ê÷9ÔsÆe·÷û÷ îåê÷ û÷—÷÷ ï÷÷w÷$÷ŒáŸÃµ¯ŸS55wSgawÃáûû9Ü,ñư¦½¨Z¨ºo¿´¾œ©±·Yéyquƒq\k­Ï€÷r¡š¦÷T÷(Z`lTp¿sc­Rw%7,û9÷òºoБ¤«­±–]T_¿9÷ð÷Àö^è5 ðƒ ès ¿9÷ø© rüg^ô5 øƒ ôs ¿9÷øø÷¤üg^ô5 øƒ ô_÷>ÕÉïõ‰÷+9÷ô÷øÁø`ô¹ü^ò5 ôƒ ò_Îæeå¿9÷Üø ùbì«Ü÷ ìN_]*ÖÜ« ìÍ ÜÈ·ºë—û?ü÷^Ú5 ܃ ÚT ÇM É÷XŽ÷+9÷è÷Ám ôŠ÷G^ò5 ôƒ òûfâ÷vø#÷ É›îä÷+÷jû t¨­»¡ó¹ÑÑ÷÷9û êûôûû ,û9û+ñ.÷ }üswldYô{øá­ÂÏÏ­T55iTGGiÂáj øÐûyÆ÷SÑ ÷÷':õÔ´ä| ÔTÌÆÒ¾ü®÷Q©ƒ˜xti‚[†–PêÝ÷H j ÷5ÙEû‘÷IèÑ ô÷XûM÷'Ò´â| ÒTÊÆÔâý* èø÷wŸw÷èô÷XûM÷'M÷¨Õ´å| ÕTÍÆÔ€àë÷¨èû¨Öþ>* ûQé÷Ñ ÷÷'Ô´ä| ÔTÌÆ÷uüã¯ê Í÷;ß÷&÷8÷&&÷óøÝfê Í÷;ß÷&÷8÷&&ªø6Þê Í÷;ß÷&÷8÷&&÷ø6÷® ûqÆ÷+÷4vø.÷ß÷&Èô‰÷&ºø£øL¬WA®3û"4L/<åaâsÚÛuÀzmqo{HIR¢¯RI/¼ÃfØlÚ„jJ¸… ´s¡i–š­º÷šÌÊÚá6°)¥ER𩤣™É¿»wp¸ûyÆ÷2ê ß÷&Äô÷&t&ø÷-ûZnU“2”ê È÷Iß÷&|÷W{÷&ô&è÷Uø1B T Çê ß÷&v÷X€÷&ô&è÷Pü-* ÷*¤‡vøé÷È÷'Ó÷?÷a÷:È÷'øzϤ¶Á¬Ÿpi<>On;™û÷/‰?qzzqpp“ŸlZZ'™s¸²~Â÷ÇÔæ<÷%û/Í:¾È©êáOÞûû-A-ûê¿Û÷B÷'ÿB€ÿZ€, ÷«÷;£÷-÷ûqÆ÷+÷2vø÷÷B÷'«ôØø2€¿Ž¹—±–qõnkƒeCk¨Ö÷B÷f÷ûf÷û xûû…û÷ûC¼ûµ:÷wiF¸… Ü´s¡i–ûyÆ÷2ê÷B÷'¦õð, ø÷3ü;V T Çê÷B÷'Y÷Wð, è÷VýB ûQéÞê÷B÷'0÷¨ð, è÷àüp¯ê÷k÷1Ù÷1N÷'r÷1è, ôy÷Þ÷ ÷n÷ h í÷;p|R¼ûÚ#|qû“øÒ¾ h í÷;p|R¼ûÚ#|qC¡ h í÷;p|R¼ûÚ#|qüøÒgh îæ0÷#pnR®ûÚ#nqü$øÓ£vÍ nȶºë—@vd‚~unpl¿[ h ê÷1É÷'&÷1È÷1"÷'yR¹ûÚ#uqûæøÏ÷z÷ní h ÷èp|R¼ûÚ#|qüøäzh íÜÉ÷'NÝ÷ÝJ÷'yR¹ûÚ#uqûyøÒv x¬µ…9u:Ž÷$h ÓÂéÂÉ÷'qÓÜÓm=z€qûyø¸{θ³ÉÉ^³HH]cMz€M¹cÎ{Ò¡xooyxuh ì÷+p|R¼ûÚ#|qû÷øÑåë÷+÷1ñû+åë÷+÷1h í÷;p|R¼ûÚ#|qû·øÒ h ê÷ÉÐÉ÷'A÷&÷©&÷=÷'|@R¼@ûÚ#z@qûÜøÏ”|€÷Z” yû‚÷M÷©Ðû©< z€qû½ùué÷÷ûûû©”}÷Z” < z€qû·ùu÷á÷(]Q‡\Å(¼û©”}÷Z” < |€qû‰ùäû÷ûé{ªû:” ûZ”÷—÷We÷'ºRÚûÚ#ºq¼ûbû‘.h ÷^ÕÉ÷'àõu÷'zRºûÚ#zqûøÁ|×Ç^ž ûfâ÷÷-v¢÷- ÷îP÷'RÍûÚ_iq~fTz©Í÷³û'ûÆû»>÷ÎÒ¿¬½·®—BqyacP€—¥©¡®ÍŸ÷?÷=÷'z÷tøøðƒ¸ZûÚ#xqøVtÁ›¶°ÌQ h í÷;pz÷|øW¡ z÷B©ƒ¼ZûÚ#|qøVzÁ›¶°ÌQ h í÷;pz÷|ø ÷z÷t©ƒ¼ZûÚ#|qøVzÁ›¶°ÌQ h ÷^ÕÉ÷'Þõw÷'z÷z÷—øÁ}`÷‰€ƒºZûÚ#zqøVyÁ›¶°ÌQ h îæeåpz÷nøùbv«n÷ vN_]*Ön« vÍ mÈ·ºë—§ûƒ®ZûÚ#nqøVmÁ›¶°ÌQ ÷Œ÷Xo÷'z÷µ÷Èm ÷Mù8ƒÚZûÚ#ºqøV¹Á›¶°ÌQ ‹÷ Í÷0 øä) ÷£Ù¾ ‹÷ Í÷0 øä) øZ÷‰f‹÷ Í÷0 øä) ÷ÙØ ‹÷ Íwê÷1÷÷1È÷1) ÷PÖ÷÷n™ ]ji_^¬i¹• í÷;ªø°¸èCxqû¸$÷Qùö2÷;û+• í÷;ªø°¸èCxqû¸$øùÁf• í÷;ªø°¸èCxqû¸$¿ùJ• ê÷1÷ ÷1É÷1¼èC|qû¼$ôù; • è÷Iªø°ûþ÷X¸èCxqû¸$´÷jù* û‰÷Iû÷6vù÷-?îûYZvgc×÷Bû'þ ÷'÷Ù÷]«ª©™©˧^2%^_Vrj”£pûX÷øb÷÷ª÷'c ÷ Óã÷÷wÓ÷'÷N÷!Üø¶÷ûìÞLÍ'KMmeY‡Ü€Ãû û°û,àC÷àÚ§²ÏWìoS\x[Hi¦¸†÷™çÃ÷ìû!`clû&ƒÝ¦®±Ÿ·µ¦|k÷#÷K÷'¬ \6 l2¬L 8 ÷¬ø&÷Œ+^_Upm”£p÷]¬¥¨˜­É«^,÷+•÷+?îûRTpggˆ\€¾û ü„÷œ—ÁŽ`³¼t¸¬÷óí÷@_ø÷+ø©÷Œ÷9ûêû+8Bod`Ï0¦´±—µÚÁT55OT5Zb¡¤iO.YÄÕtÑ÷0÷ê÷9XÁ÷øµ÷Œ÷6û íûû14$ûqp÷â@|SmB^d—¡_[3gÃÕuÍ÷.÷ ë÷8ûúÁð±Í²mK—÷ëìò÷Â÷÷d÷)Â÷xûÜ$÷/÷÷ î÷5÷6"íû2IBxgR¼/¡´¸˜¸Ò¸lC˜û㉇pq÷k÷dH‚`nRIj²ÄHû7v÷@÷øwÇ÷'÷B÷'ø¤ø„û'ûßihqycUx©Í÷³û'ûÆû½>÷ÖÁ¯±²ƒ,û+÷'h «÷Õ÷Õ÷|øÍø„û¼ûãk}{xxšª÷åûûãk~}{xwƒšª÷åûûð(´NÐî°·V—ªo¶Å©¬´ž|–M÷Ÿw÷+Î ÷å÷'˜øxø„û'û–X2aKkNfw•l˜mû~¨¢„·ÚÔ³Û¼Ž8—û÷ ‹ê÷«÷'ø>÷¶÷Sâû2KU}~_¥!•¨«“±Ó«n@ûBûfû÷fû÷ ž÷÷÷û vø÷ªø®øø„û=ûJü„÷!Ù÷~›½˜¾š¿šW™X›YÙû~÷( vÍ÷ øäø–ø„û;pû9G‡a‡g‡…À…º„¹o÷9û>>ü„÷©÷z’¼»’½’Y“[”Z¬û8òª÷8•º’½‘½Ž’YŽ[’Z©ûz÷$ vøé÷w¨ø°Ðøøã°¦÷БusnûRGû[û`ü÷Ô÷iš¼œ¾˜¼›W›Y\Þûi÷&ûkøw¸²›¨©Á˜–‰‡˜û7v÷aÎ ø ÷'ø ø„û'ûACû÷Wû3÷_û¸ûPû`÷5÷J÷Yü÷' ÷Ô÷Lû0÷‹wÔ÷'÷2÷_ûB÷'Ê€ÔøƒI†ª€Ë¦€¦÷ª€“ug•bûZ5"÷âüž÷'ø„û'³Ó÷•Q`eUU¶eÅÆ¶±ÁÁ`±P÷ )v¬÷ð÷w«wØ÷'÷=÷'4ÀØøƒI†,ÀË)À¦÷ŒÀ“ug•bûZ5"øü1‰‚‡‹†|•ªJÀø½û'ü·'­Ið­£’›÷#÷K÷'¬ \6 l2¬L *÷…÷Ú–*ø<øf*ó÷Úg8 îæ0÷#p § W6 g2§L Wë÷Û£[Í Wȶºë—@[«Wpl¿[ 8 ê÷1ÉC÷1È÷1û ÷'¬€ \€6 l€2¬€L [÷1÷׺¤ \]ki_^«i¹÷oí 8 ÷èÉu÷¨D÷'­ ]6 m2­L Z÷÷ìz8 íÜÉkÝ÷Ý;÷'¬€ \€6 l€2¬€L [¯ 8 ÓÂéÂÉŽÓÜÓ^÷'®@ ^@6 n@2®@L ]€÷Ÿ÷Àθ³ÉÉ^³HG^cMM¸cÏ÷E ¡xooyxu*÷a÷Ú T Ç÷#Ÿ÷Wk÷'Õ ­6 µ2ÕL ®÷¡ü‰.8 ÷^ÕÉ÷ôg÷'­ ]6 m2­L ÷{÷É^×Ê©ÏÁ_ž 8 í¥º÷+÷K÷'¨À XÀ6 hÀ2¨ÀL XÀ÷÷ÚæTÀºÌŽXÀ‘ RÀ÷9SÞQÀé÷ û8 í¥º÷+÷K÷'¨À XÀ6 hÀ2¨ÀL XÀ÷÷ÚæTÀºÌŽXÀ‘ QÀ÷„÷N RÀð8 í÷LʰÉp Së«€ [€6 k€2«€L [€÷÷ÚæW€ºÌŽ[@› x‡8 ì÷¯×e×p ûË«€ [€6 k€2«€L ]€÷ ÷Ùë½ÆŽ¼Pë:÷û{¯[€¦‘—–œ]@§¡e¿[@¸Û]@p…€z[€÷]€÷5 T ÇC í÷ Ÿ÷Wk÷'Ö€ ®€6 ¶€2Ö€L ®€ó÷Úg¯ÊþvB 8 íÓ¹ v÷ p ­€ ]€6 m€2­€L ]€÷pøPÕ[€ä÷ "€û€]€Ý[€C޶Hé8 íÓ¹ v÷ p ­€ ]€6 m€2­€L [€÷“øÆ"]€äû Õ]û ÝC޶Hé8 íÓC÷|šëÉÉñë|÷'¥  U 6 e 2¥ L U ÷Ÿ÷ÚÆ IY f…um^U ]Ú C޶HéSÀh÷Ê“ÁŸÌºd¨û}M¾‡šxy…x‡8 íÐØ×?÷ÉtÃ÷*÷'ûË«@ [@6 k@2«@L ZÀ÷Ÿ÷Úè¶ÃÊFq…xs_^x£¥…FL޵Séû&÷&ʦ‘—–œ] §¡e¿[ ¸Û] p…€zZÀ÷÷5 T ÇC íÜÉkÝm÷WiÝ;÷'Ö ® 6 ¶ 2Ö L ­@¯ ®€ŒýÏB ûfâ÷÷ 2v¢ô÷#îP÷'Ê€÷Z÷Žé¹·Á¨¦‚s¦û]jqo~jNh·íû+‰û6ß)÷Ç»Á¦¯¯Ž§˜VpyacPOº÷2‚}…~uw—¥–€©¡®ÍŸø„ûš€2Ê€L HG û'øOÞZíܺ÷)iÝ÷Ý?÷'Ü€4 ì€+ Ü€bT–¥\÷;÷CQc¹Ýì€Þ½¹½ª¦‚s¦ûDÜ€hpo~kÛšøOµZè÷Iº÷)›÷Wq1 ÞšøJB Z÷Yƺ÷)§ô¿1 ß½ø2°G ]øO÷® Z÷èº÷)r÷¨I1 ÚûøazZîæ0÷#º÷)÷M÷'×4 ç+ ×bT–¥\÷;÷CQc¹ÝçÞ½¹½ª¦‚s¦ûD×hpo~kû/øPÖ³”—˜¡Û§¨V¼×™Û«×÷ N_]*€÷øgì¢÷?÷ ß÷è÷6÷K¦–£¡®[¶^¹c|vvƒuVg­¼ظ÷˸§¤©–wlbonfp¥„¤£÷‰ûQxYsa`®a³k´ȻʾÞåPÅ)(M=.bš[¦XèSbZW5'Ô5÷ÔÆ£²¼ºl¹v¸€®÷ o‘m™j µÏ¨ÔŸÚ÷÷$÷,÷÷÷ ÷ ÷k÷l*÷û'û'*ûûlûkìû ÷'øµʽ[û9û9YVLLYÀ÷9÷9½»Êû³µ¬©¹¹j©aajm]]¬mµ‹÷ ø÷' ø˜÷)ü÷J‹÷ø,÷# û+j]‡‡g÷÷÷÷ö÷0Ûû)LiHIÚ<÷S M0ûûûJû-÷ ÷:ó÷/÷÷ÿ÷'û÷'èµÙ÷G Î÷ ÝM¿; ðר¸¹Í÷+Êð q_X]iû#è÷)¶hS[YpFQT¦°a v÷,÷÷Š÷÷é÷÷E÷œë÷¡¯¥¯ ¯‰cˆPc ÷m;øûFûü&÷Æû,÷÷,Û÷ ÷Yòó÷ÿi€÷ÿ•€÷'¹Ø÷AÜ÷!÷&Éû kt‡€n–÷ ÷š÷üzûÕ÷@iKJXiCO[§®a÷EÇ÷÷k÷÷ÎíYZ«ð|¸²´œ°ñpJC]lX÷røm´`F®1û û ûûs÷/÷÷õÜ÷÷6Éû[Or_^÷)‘ξÙµ¶vs¦ vø“÷÷U÷(÷U÷(—÷Œ¤÷ ÷5÷Fåüqû÷Óûû;`ûûhD÷ ÷ó÷W÷+÷êRe¦ÌÓºª½½¼k'›]dbzfûpûªc·Ðgå÷ ÷ö÷÷U:ûûáM÷ºÇ¥·¹û*…GX>a_ £q÷÷ ÷,õ÷÷ ÷÷W÷V*òû'û'*$ûVûWìû÷'ø}ʽ`û!û"YZLLY¼÷"÷!½¶Êû–µ¬©¹¸jªaajl^]¬mµ‹÷ ÷Ê÷' ø_÷)ûÊ÷J‹÷÷ó÷# ûj]‡‡g÷ áäâì÷0Ûû)LiIIÚ;÷S L@û 'ûNû 1÷ „v÷bó÷9÷÷ÿ÷'û÷'tµ´÷G Ñ÷áM½;¡xש¸¼Ð÷+Íð n_S]gû#´÷)¶iOUYmFQT§°aÞ÷÷—÷÷é÷÷E÷Wì÷)¢¯£° °‰bˆQbû ÷m;øûFûü&÷Æû5÷÷5Û1÷ ƒv÷„ò÷÷ÿi€÷ÿ•€÷'|¹Š¼÷Aß÷&÷!&Èû ktˆn–÷÷š÷üzûÝ÷@jEDXfCO[¨®a÷EÈ÷÷l÷÷ÏíYZ«ï{¹²´œ°ıpJC\lY÷røm´_F®1û û ûûs÷/÷÷õÜ÷÷5Éû\Oq_]÷*‘Ͼض¶vs¥ø[÷÷U÷(÷U=÷(–÷•¥÷÷5÷Jåüqû÷Óûû@aû#ûnD1÷ ÷ó÷k÷+÷Re®ÒÙºª½À¾hû˜Zd`yfûpû«b·Ðhå÷ ÷÷÷’÷U9ûû!áF÷¹Ç¤¸ºû.€IZAa_¡£q÷ ôòûmøDûa÷a÷Ì÷  ÷oûm÷µÓæ÷`¿ ÷ã÷ øA±ûØò•÷aë÷÷L÷|#÷ `÷À÷Ëк¿ÍÌ\¿FF\WJIºWÐ:ü¤÷µÓæ÷¿ ÷TŠ÷L¤÷L¤÷LŠßU°aÂïµÁÁgµSTfaU÷eU°a°µÁÁfµTTfaU÷eU¯aðµÁÁfµTSgaU÷^ûIvà ÷÷“ëŸ÷®P÷û&û küSï÷Æ÷^‹wà ÷ð÷…+wû®P†û÷&†÷ «øSÇ`µRR`aOP¶bÄĶ´Æ÷^ûIvøÓ÷ ÷N÷\m÷!h÷n÷“÷÷÷7œ÷÷1Àû‡ À’‘Œ“†Le^Fk¤øZ÷C÷}÷ ¤øZ÷T÷}÷TÛ¤øZµø‡÷i¤Ÿ øIû.Ÿ ¤øZÆø‡ÆÛ÷û@§ § Þ ßÞ ß÷€÷ ÷ö±ð÷Ö÷÷Ü÷ÀðèÒÐççDÐ..DF//ÒFèû8÷ÇøtÇUûøt÷ûGú&÷I÷øûGÝÌû ÷X÷ ÷2÷2¾÷ ÷ ÷9Ìûû:û.ûPûPÜû.÷ûûGú&÷¼÷÷dûG÷÷Ü÷.÷P÷P:÷.û÷9J÷ û¾û û2û2Xû û ûû,ÙùTÙ÷]÷÷]û,÷»ÙûKùT÷KÙû»û,ÙùTÙ÷³÷ôA=÷»ùðû»=÷JýT÷Tõ÷,r÷è÷}ûÅi÷ØÙb8x™ÃÁ»È×n¨D—Ò—¨¨×Ɔ¾ÀÞ™Þ´Ù>ûQiûE•dMðhnfû‰5è÷‰¨fhLfD÷T÷‡÷r÷,ðôA=Ø÷Å­÷Ò€°Ê®¨°÷èáðûn°®É–²Ñ÷Q­û>=´Ýž}SV‡XP?§nÓ‡Con?N[USx}9û4ùúÕøXø¢ùZûûÝýú÷÷D ûŽëú|+û4ùúÕøXø'û4÷ûÝùú÷V÷D ÷ÌëøJ+ü¶üZëøZæøoÿþ€æ÷Læ÷÷ ÷û Ë·+÷0÷,ÐtÒû5a~÷E=~ûEû5µtD÷,F+û0øFÿm€÷÷…;÷ ‚øš÷5ƒÊ “ÿX€ÿk€÷„ÿk€÷äß÷5”‚ûA÷ ‚÷A÷5‚÷ û5”÷‚÷÷5Ê —‚û”ûû5—7÷ˆvøÙ÷Ò÷D÷Û÷L÷r÷W÷壘Ÿ£™ÚdévLpys|=µ+ŸÊ÷µ÷´«aL¬>jûIL1i–pu´Ymk[YûP÷’=rxybce¬jr7@´R¸ØpÔ÷ÎÏ媂¤} jÁ«©¶Å÷Iû¥‘Ò¤™¯¯²vpªù w»÷¬¿÷&ø;÷&ùpû&WaûûTû<û-÷<÷³‚ÈÖá÷máÚÇžËÃõ÷¤Ëž÷ÙxÊû Ô?ï·¯œ¤ª\Ï}x{r_p¶ÏƦº¼ž™‚|šÂȦpj¡W09@û ‚È÷F×÷ ÚæÇžËéóØðÅË÷E÷óæ£ÞÒ¸îëG­5ûóûZ÷ œ² {d_xwbû«žx÷˼÷³Á¶À¼ðÁÊžÈÂÁ÷¿÷Ë÷ãß÷ ÷ 3ßûû27û û ä7÷¼7OÇèèÇÇßßÇO..OO7:ÃÅǨ©OÇaØ£––Ÿ¢¸i \2Å*Á Ÿ•}|~vø=áÉò4âÍë÷ß÷+ß¼÷§÷þßë€÷ŽÁû(ÅÜ× ¼vÒié$ûeûÎë÷wÙâû‘4Ú÷òÓŽáÉòMÔ’á½ã·ß÷+ߟö÷òغ½À¼u¢cbŸs–€˜—”•Ÿ¢¡}}¡¯·ÈŸ¡odaA`]UX¨rª|µv£•‡{}„xou› tYOj°®{·÷<—ßëo€÷ŽÁû(Å× vÒié$û'ä÷&ëøã÷@ ø#÷Höû,û7ûû û£û¤÷(û÷? tdi|Oû$î÷d÷pñâéäµIA{û,x*^÷S°¤–XÙû}÷·­ èš/uut}njw©räãê÷Üä÷@ øR÷ Iíû&û8û#$û‰û{÷(û÷? sdi}Oû$Û÷=÷U÷ÐèÞµZT„û,w*_÷S¯¤–YÙû}÷¸­ è™0uut|njwž¨ v÷Oé÷éÑød÷à¢÷OòuûOà¢÷Oêé7˜÷æé<÷>#÷>0-Ú}û6-Õìé˜÷ó}û÷«øEÿþ€æ÷[÷«ð÷ðûË·:÷÷ÄtÓû!l~÷,=~û,û!ªtC÷R:ûÏ Ï ­÷ ÷î÷ Þ÷ ÷<÷!÷ã÷ެ}¢|toqz[b÷”k—v˜ž©¤›·â{Ÿƒž¡}Ôßl©g¤^š¥÷3•rû‡‡‹‡û5I&)âbÝlvûi–j›g K'²kÀs¿~oû+â§÷)÷-ß×îí1¶8¨ø@Ú»ø@e ù ï÷øL¹øLâ÷+áâøL ø@ÚËÂÆÂøj@ø‰õøËkø@ÀøjKø@ÚÊËõ øn ù-¨ øL ø@Ï÷Z  ø£2 ø@Ì ù G÷óå øòx ÷óçøòyøDÐ ø„¨øMæ÷Êy ûJÚ»ûJe µï÷û>¹û>â÷+áâû> ûJÚËÂÆÂû @ûõ`kûJÀû KûJÚÊËõ $n ¨ û> ûJÏ÷Z  82 ûJÌ µGû—å ‡x û—ç‡yûFÐ û¨û=æûÀy Ú»e ÷hï÷¹‹â÷+á÷?÷˜ûò ÷?÷˜âÐ/´²³÷C eÉS¢œŸ—¨š{r iKU9UÚËÂÆÂ©@Èõ÷kÀ©KÚÊ˾Ú÷6ëàé÷ÇÎyu”®„˜™š‘›£™€ww}u÷÷l£mgœ`ûS<1)ÂFêÓÀ½ÉÈd¬Nkq€yv¸Ÿ®¾£‚}œ÷u¨  Ï÷Z  â2 Ì ÷hG2å ÷:x 2ç÷:yƒÐ èŒæûy ÷ÌÙ»÷ÌàÊÍòòLÊ66LL$$ÊIàÙrt¢ÏТ¤¤¢yFGttrø¬î÷÷jwv‚X…KÜ÷Øá÷,àâ÷ØÐ÷™á.µ²³·¹ÎW÷ÉT¡›Ÿ˜ž¨šzr iKV8U÷ÌÙËÃÅÂ÷õiº»„´ÔǴŰx¥\˜ð³™™ °ÀV®IUá eS辡€sxxtoj™švøÍ÷Ê÷Õé÷”øV¬Ç­ÉŽ…'º û û[W÷4OéǾ÷ÌÙÓĨâ÷]à¹ó¸÷9÷õiº¸„¸ØÄ»ÉøÈ`¯I}xˆ‡¸¯÷âûiø}û5¶o•˜‘Ÿ¤žrtws÷9÷ÌÙËÊõ øyu•¯ƒ–š›’š£˜€wv~u÷÷l¤ng›_ R<2(ÃGéÓÀ¼ÊÈd«Okqzv·ž­¾£žƒ}œø¸¨ ÷Ø÷ÀôšÌ×áÂûœ4 ÷&Sõ÷>ø<ûØLﲸ˜§®bÌxvq¯Á­®¿œœ…~œ»Ë¡sg›^)3Kû©÷ø< ÂJà«­œ¢£“kßøb$ûŽZ ut™¦÷ÙÍÊÆÚBøÜÇÜ÷•òøù\”oi”d"^R@‚A‡>ÕûŒò÷Œ÷Üû”¬Ÿ³¤£†„ž÷ËÇÙ²ÊãÖNÐ÷àDì.Ýôæ`íô@÷n÷q–‘”𔉗™‰£³¯ ‡xvg{XZk–£6{PÌsá÷Ù¼ÑÆZ£3ñ€Oe{’œ•”’‡œ™ˆ˜ÚÇ­Øš…›„”ÌÖû{wŽwò€@Gc;ežm¥z‰ñ€r{{svošzž€ˆô@izyuqê€÷1÷qrv›®¬ ¤¥¡yjhu{q¥ k¿@[hstsÇ÷#øÜ¸÷÷©÷û ó÷=ø÷ûŒó÷ÝûyàØ÷Ü÷»Ü¸÷÷÷û òè÷1ø÷ûy]|w^{xŽ—rmB~¦ª²÷­ÒÛ÷ÆûyðØ÷˜÷ÝûÝøb÷4ó`÷4÷˜óܸ· Üû÷û÷U÷÷ûûû‰÷–#÷Ý÷ÇÜ÷Žó÷JùÏû8±Tå° “©zÛ„y~‡~lw—³÷äû@÷˜÷å3ã÷í·Û¶î¸÷÷˜íx÷oŸ““•–—ƒyûsÛ÷oŸ“”•––ƒyûsî÷zÌoµ]esrn€®ƒvžnewtq~‰ƒ´=¥ j¿AZisqoˆ„µ6÷ß÷Eß÷.ó÷ö÷’÷²u¤¥©ÕÐÌ÷ïYÎ8hhyup‰„«6üUóê÷ Ì©÷ø< ÂJà©«šŸ¢‡Z)òøU:ƒiˆ¨pq˜¦øŽæ÷jó÷j÷˜ó÷<Ť²Ÿ­¤˜ˆ… Ÿá“y{‘n\^qUnˆƒÓ5÷×÷TØ÷:òãò÷%÷¿p³ÇwÂóúÇÇN¢U›b–h”ž𙓭«¨z§ºÈ i]¡R.R`NTÇp¿{´±w{{‚dci—¢g÷Ü÷CÜ÷oô÷oø!4²Qö´®””¥yÕ„zx‡u]vœ»÷÷Üûá4~5A‡>Ð÷ã÷$óóóø\øá#ûlpv|…sj€œ´÷S#û`:«WÖº­ «¨“^à÷˜×÷ ÷ú÷ƒ÷˜÷ ÷ ÷Ý([û+iƒjh‰€®ƒ¬­[÷+#÷˜Þ÷ÞÞø#÷÷˜÷ šñ‘¹Ž¦¢ŽŽhlmœ%÷ ¼÷Ý-yû(†jŠk‡jˆ†¬‡«…¬vïDx'„l‡i‡j‰†¬Š«‡¬x÷(%÷˜÷Ý÷÷ò÷÷˜÷¨¾”ž•Ÿ•—y˜w—x­X÷û÷3ô÷>ûqXƒyw„xˆ€ž~Ÿ‚l¾ûóû2÷Û÷÷é÷B÷ny=‡™˜ˆ ܯµà¬÷÷Ý(cûƒk„lƒl‰‚¬„©ª\÷#÷ûÓ†zt‚{zj„‚Ž…÷˜Ü÷;Ü÷+÷Ñ÷+÷˜÷ÑÜûA÷;÷UÂû·:÷'û;ûU÷ÙÍÊÆÚµ÷B8÷HÖP÷!÷ÙÍÊÆÚµ÷B¹÷· Pû×÷ÙÇÊÌÚ÷(ã÷í÷(ø/1¼FñáØÍõöGÍ&a^~re®L™¥¤“¦·§y\”ûf‰ƒ‰{yãv÷`„pziay£¯]÷ÚÃÝ÷6ß÷õ÷ò÷L÷hHr²À€¯÷˹à÷Ø8ƒl‰¦rm—kEAH'-ÃHÞªª—Ÿ¡‰en‰uv[qg“›l÷÷gr¨¾Á¨§© …}œûv{yƒwø"Ñ÷'Ò÷0Ù÷Ø÷Áø"ÜÊÇßßLÇ::KO77ËOÜÑcp©·¶¦©³³¦m`_pmc÷ñ÷XñÞ÷÷@÷÷Êåæ{ª®ƒ®­¯“›ªå0ÔÕ9Ý¡©˜°·¶°u¨ÜÝBÕ21›kh”hhg‚{l2åBAÛ9vnf`_—f¡m:9÷F÷UƱ²»»±dPOee[[e±Çû÷›û›ùëûŠ÷Šæ÷!¢í©÷ Hø•ø©bµYªF”(÷)û¼&{LN5ûL÷¸š7oqz[LT¢²LK'ˆ½_×oÌ„û&í÷)¼÷žÆÎß÷Jû·‚Ò©£›¸Â°zjº‹÷÷'æ÷:÷ ÷÷2÷è÷–÷±¯›ª»”ЕД÷&æðû=„£…££Êq”p•p7†5è÷‚Œ‚‚DZTFp0øw÷‹÷mEÑÂÑ÷¹w÷v÷'xªù÷7û¹ûE÷=Tû=E÷=¸û'÷'x÷'÷>Ñû>Â÷>Ñû÷7÷¹û'Nûx`x_x_‡w¶y·x·N÷÷÷Ö½Õ÷ ÷î÷'øŠ÷0hlhx]J^³Ôv÷fÖûrŠ”‹••’‹’’÷›Õû‘מ·¶Ï¶¬yrªÜÚ½ZI§Gû# 6û)jK†GŠ‚‹ƒ‚‚‹ƒŒ‚T‡FËû)«ô=÷ÜάÆÁbùLë÷#ÓÜ÷Ë÷J\Ÿr¸ÇÇ£·» ÷-ûvw{s}o†÷¤ž‰‚Ÿ{Îån©` Wè:*ûv02û!û%à0÷z,Ü긑»Ÿ±¬+÷÷´ö÷÷ xw¹øŒÿþÈ€÷!Øøºùè•v\”oäûVNû&u†`s@…&âzû&{ûzqU‰yŒxŽzwû‚œ®„·÷#´ê÷ š¢÷Q÷öû’¹“£«¾¢……š•v¦vø®÷†w¤wÚ÷'î½³ÿ1€g÷øø©Ž‹•”Љ”Yü>}Ž~’_·s°ÀÎî¦Ñ¾¨÷Fûýrnozi…»ø,–„•„•ƒÜÚo¨i h˜˜÷Y'Œ€Œ€ˆ‰‹ˆ—íYW$û&s-û ûNû1Ì$î`}û ½˜ô—‰˜‰™‰(½—îÓÇ«½Á‹÷èÕ»Ö÷÷ ÷÷÷–÷ª¨›¥­÷&Õû)‡›†›‡›÷6ÖûIŠ’‹‘’Ê‚ŒH†Fæ‘{‘{{o<†F÷€Q^^Ot0øw÷‹÷÷Å»Å÷÷ìõ÷Võø)÷º\{»Æ¢û}‡a÷¬ûlõº›[Pt÷|µûjøQÅF÷!û@2÷ûûE…WÑ[E…WÑû€õ÷€Öäû€÷÷€ÐÅF» v÷kçÔæÓçä÷÷x÷ÇÔ÷#]}fpQ÷€ŰuY˜û"Ó÷ëCM÷ w(¶û ûKû9G†6Ïü÷÷k·÷ ð¾÷ŸÈ‹Õµì÷Aî¶Õæ÷÷.÷ óø7Õü7÷÷Cqrum\m¨Ê¾³©´§ „x£÷ ÷†¼û Zû.A÷.|H¥lp˜Z52HûûÎGó¹´§¨Ž”gïø&Ó‘Ï v÷kç²Å¸Å¯çä÷÷(÷÷xø(¸÷&ŒƒŒ‚…‹…Š…û'*²÷rxl}a÷€´ª€ržû¯÷ëgDèj2®!ûKûH†WÎ]H†WÎûî÷÷k·óç´å¬ÑÅPŒ‘‹‘‘”‹”Š”Æû÷m-v÷Ž÷ ÷?÷h#w¢wÎ÷'Ûíš÷³€÷ß÷†×ûƒv†v5VÕ÷÷¼Ûⶬynªg€ÜÛgd´W§T”sð)k#ûp/û ûKûRêû÷u§%ígñg€Á”½¤´¯÷Àûb–v¡÷% ¡wÚ÷'ìÜ\÷×÷M£hÔ÷÷¬ÕË¡÷3ütqrzm„ø:¥„¢} zÜÚbµU¦S’¬æ:.û&v)û ûQûXñû÷"z'Ü\ðÉ•Àª·» v÷]÷ ÒÕÂ÷ AÕãøGìøŸùüGôû ÕÕº}bœû:…G÷j\{[s?Aû á÷8û]÷7ûO÷tÓ¦¿À–àÕÕ?ì´q­f¢÷)”vùw÷ ÷'÷2÷÷ ÷÷;÷F Â÷F ÷û'ûZ6b:à´T6b:à´û|÷ „÷6í÷J–ˆŸ†Ÿû o|‹‚…D@Y8ƒ§øèœøÊç§/§øèœøÊç§/§øèœøÊç§/Ú÷FÚÙ÷FÚ£ðêðaðêð½÷@÷ÌàËÍòòKÊ67KL$$ËIßÙru¢ÏС¤¤¢yFGttr<ûþ÷6÷[XºûOûAø€øŸû6û[¾[÷N÷BÃû0üÇßËÍóòKÊ76KL$#ËIàÚrt¢ÏÏ¢ž¤¤¡xGGutrÉ÷Ê÷!Ê÷ɪßâߨàâßý÷2ø÷ T\;;ÂWÓÊuvœ¿¿ ˜¡¢ ~WWvztøÉüWûZž_øj÷(ü<üC÷ T\;;ÂWÓÉuv¿¾ ˜¡¢ WWvytÃ÷±M÷ S\;;ÃWÓÉtw¿¾Ÿ˜¢¢ WWvyt‹÷IÍ÷ Ë÷t÷ ÷S鮸ÛÉ û÷šÜûhö÷Ë8¶÷ ÷Îüm÷ X÷Mûnû û\X÷4®NénȾ‹â÷+á÷h÷ µ÷™ûñØ÷*÷è÷ Ü­û°ü»Ú÷™â.µ²²÷C fÈS¢œŸ—ž§›{rÜiJU9U‹÷IÍ÷ Ë‹ÙËÃÅÚ÷Ró0ó÷"螀øâÉ û÷¡˜Ÿ¢—¢£™{stƒfS€½¢€sxxtoi™švbIi÷-Űx¥[˜®€´™˜ °ÀV®JT\zsl÷éüs÷ W÷Mû^€û û\X÷4ž€Nè^€È¿ÚËÂÆÚ÷h÷ ÷Qó0óì÷*÷ô÷ í­û¶üh÷-ưx¥[˜î¦ í÷ ÚËÂÆÚ‹á÷,à·÷˜ûñ÷-ó0󜀷÷Ø÷˜áš€/´²³·¹ÎX÷ÈT¡œŸ˜¨›zrœ€iJV9U»ûó/û¶üh÷-ưx¥[˜ë¦ Ú€÷ Ï÷ZÑ÷h÷ °é6éÊé6éØ÷*÷(÷ œ€KÜQüA Ï÷ZÑÙËÃÅÚ÷Só/ô}é6éÊé6é¹ ±÷õiº»„´"ÔȴŰw¥\˜³™™ °ÀV®JTá fS2½¡€sxytoi™šv= Ï÷ZÑÙÓĨâÕà¹ó|é6éÊé6é® ±÷õiº¸„¸ØÄ»ÉÈ`¯I}xˆ‡ ¯÷âûi6}û5¶o•™‘Ÿ£žrtxrnl™šu= Ï÷ZÑ÷tâ½÷œûc÷×é6éÊé6éì€ö÷Ø÷0ôšÌ×áÂûœ4(÷&ì€Sûhvsmtdah¥Í¤÷$öÈæ÷õKË*û;@û<ûpmwkwhvÂ1›•›”š•)¡ÛZæÑñ²·Ÿ÷È÷ÆŸ¥÷÷¶÷÷8χ‘‡‘“÷tø2‹÷Nû÷*û+û+ûû*ûNûN÷û*÷+åÙ¿ÛÁeG]I_EUY¡±i‡÷ž‰‰÷p’”‘¯­½¡Á½½wi­‘…ƒƒût‡‰‰‡÷V÷˜ø¿˜÷Ž÷ªûŸÑÚû*÷÷ù÷ûù÷*÷EÚûªûŸqø¿÷†÷÷¾ø¥ûŸûªÚF÷÷*ûú÷÷ú÷û*ÚÐûŸ÷ª÷V÷ªø¿øÞ÷’ûª÷ŸF<÷*ûûúû÷úû*ûÐ<÷ª÷Ÿqø¿÷†÷÷Âq÷Ÿ÷ª<Ñûû*÷ùûûùû÷*TVFñ¼÷IÜ÷'¼÷EÛ÷X÷+÷I÷EûIûvZ÷ŽÃÎ÷ˆû„IR ø ¢ø¾¢ ó ê¢ø¾÷Q÷÷÷s÷ûsü,óø½Äø¡Äò ø½Äë÷-÷>÷s÷rûûÒû©ò žø ¢ø¾÷¾ž÷§øžü¾‰øSë¢ø¾ø0øSûûrû÷rû:é÷§üŸŽ÷§øŸü¾ø½ø¡÷¬øŸû§ø½‰üŸû¦ø½øSë÷u÷®÷r÷ûsëø‰üŸû¦‡øŸû§÷3¨»ø®ø”ü®üÎQøåÌÖøöüÜAJ÷3ø±»ü”ø®ø5JûRûeû‡pÖlÖ]Ô.NÈ0µ<°%÷›¸÷8Ê÷Ñ÷Õ÷¬ece]gWü^AJýøåÌÖøà¤©¥¦¤£wùX{ù÷«‡Ü÷´÷÷[÷÷1Ùûûû ûqCûƒ‡kÞcàVÝ.NÑ(¸4µûo÷n÷­Ý÷ßÀÅOÄqÂ÷ ÙÐ÷÷ýÑt³OPg‡rl¼w£®¤ÄÃÛlÅ-ËY­”¢<ü˜‘ƒs‘q,@OC÷øF÷ÙøP÷„÷ ÷6÷èû6÷èû û6ûè÷pûmU÷ ^ë¸ëÁ÷ ŽÁû ¸+^+Uû ÷÷÷ß÷y÷=÷y÷÷ëº÷N¥÷%û'÷÷÷ß÷ø)÷÷÷ëº÷N¤÷%û&÷kûßëº÷N¤÷%û'„„ øÁ÷Á÷ÔÔ÷~ø÷‡¾¿ÕÕX¿û‡UÍŸoccwoIøÁ÷Á÷eÓøù„ûXWAA¾W÷ÁHw§³³Ÿ§ÎøÒ÷;÷#÷ƒ÷§øÒ–øÒ÷;÷÷Ø÷øÒJøÒ÷;÷÷Ø÷‚øÒEø ÷ÿ÷t÷,÷“ø åª÷ÿû,žøÒ÷;÷"÷ƒ÷¦øÒ¾ û÷ÿ÷t÷,÷íí1lûÿ÷,nøÏ÷1÷÷1É÷1÷SøÏ; žøÒÜ÷-Ý÷Ý÷ÀøÒN ÷$ŠøÑ÷+÷C÷ø÷CøÑ’øÍ÷RøÍ* ÷M÷­õ÷s?¸€˜}zqi~~ é÷ j–Ÿº5ûfâ÷jî÷jû t©œ§°¨8qy__PøÒ÷;÷#÷ƒ÷§øÒ–÷0÷÷÷–ùR÷0÷u÷Á øÒ÷;÷÷Ø÷øÒJ÷0÷÷ä÷‰ùRÀÈ: nùS÷÷Ö@÷è@Ö ÷ÿùSÐÈ@I  ÷ žùdè÷3÷®÷3ùd÷øÒÜ÷-Ý÷Ý÷ÀøÒN ÷$ùR÷ ~÷ÀùRâµ¼Ò“:WøÍ÷RøÍ* ùQ÷.÷k÷>÷ÀùQ‹ øÏ÷1÷÷1É÷1÷SøÏ; ùPô ÷]ùP<ù:Õ÷LøÁ`ùÁÔ÷LùG5ŠùM÷4ùMŸøÑ÷+÷C÷ø÷CøÑ’÷0÷7ø÷šùR øÒ÷;÷÷Ø÷‚øÒE÷0÷÷ä÷÷ùÊNøÑ÷+Ð÷ø÷ùùhû êû+åûƒ÷+û êû+æ÷0ÐøøIùRL÷ ûäû û$÷ ûåû îø´÷÷|Æ÷ßùˆGql\SU¡n·¨£¡®«rŸo‰ˆ‹Š‰¦ ž°˜ù÷÷ÆÆ÷žø±Ï¥ª»ÂÁt¨`nsvgk£x§ŽŽ‹Œ‡pvxf}ø?÷g÷ù÷÷Áø?èØ±ã¬}¨|&_“€“zyap~c„û‘÷Rû‘* ûlô ÷]ûl´¨©³²nªbbnldc¨m´÷Z´¨©³²nªbbnldc¨m´ûyÆP÷O÷¬ô`÷œa oU©g `÷6 ÷M÷¬ô÷q?¸… ´s¡i–Ÿº5÷M÷ªõ÷p?’ j–Ÿº5ûfâ÷jî÷jû t©œ§°¨8qy__Pûsê÷gö÷²ox\ZL÷ ~„~vv—¥©¡¬¯¨ûfÛ÷5Ý÷Ý÷Àûfè¶ÍÔŽ9j‡yqhhy¥¬‡9÷6ûQé÷6÷¨øJ,¯øÏ÷ÉÐ÷÷&÷¨&÷è÷]øÏP÷ZPÐû÷M÷¨Ðû¨ùP÷¼Ð÷÷#÷®#÷P÷3ùü÷®Ðû®èµû…f øÏ÷¶÷³ ÷|ùué÷÷ûûû©P÷ZPùP÷ª÷ ³ ÷uùê÷ ÷ ÷ ÷; "û¦f øÏ÷¶÷³ ÷‚ùu÷< á÷']Q‡]Å'¼û©P÷ZPùP÷ª÷ ³ ÷]ùPf ¾øÏ÷¶÷³ ÷±ùäû÷ûéªû:PûZPùP÷ª÷ ³ ÷ºúbû.÷ ÷£û.X cûZX cøÒ÷S÷ ÷5ø; ÷5øÒåºÌŽ‘÷9SÝ`÷ ùR÷7 ÷"øY ø1ù–Þ`î÷ û ûçûPó¿²ûøÒ÷S÷ ÷5ø ÷5øÒåºÌŽ‘`÷ƒ÷N ðùR÷7 ÷"ø `øiúûíû ß ü Gó¿²ûøÒ÷°Éø^ë÷5øÒåºÌŽ‘÷XAÊ”ÀžÍ¹e©ûŽ}M¾ˆ™÷J ùR÷´Çø^êøIù‚Š û°,ó¿²ûøÑ÷¯×e×÷-÷ºJ˰÷-øÑ†Ð|¯°÷ È÷M ¨·ÛÈp†÷;°÷Ðï ùR÷¯×eÖ÷"÷ÐCʰ÷"ùRó¿²ûÐt¯°¦‘˜–œȦ§eÀ¨¸±®Ù“LÈq…÷;°po°VÐ^eh=ƒ÷B÷’ùHÕä÷ !€û€…÷F÷“ù¼Õð÷ ûxûuÕ HO÷B÷µù¾!äû Õ]û …÷F÷­ú3ûðû Õ^!Õ HOøÒÓ¿šëÉ÷²ë÷ÀøÒ…®ùR– ·û+Õ HOøÒÐØ×?÷÷5Ä÷8˸÷ÀøÒ›Ø÷M ¸·ÛØp†÷;¸÷ï ùRÍß÷÷8¼÷=Í÷ÀùRÕ HOû-÷*÷I÷ øÑ÷®Ð÷-÷º÷-øÑ†ήà´¿ÊŽFq†zweezŸ¥†FLŽ´WàùR÷­Í÷"÷Ð÷"ùRó¿²ûÊ­á¶·Ò’Hmƒzx__zž©ƒHD’¶_áø¸÷rÿÿ€ÿZ€÷Õø¸£÷-÷ù5Æ÷jõ÷ãøµ§Án’}–¢®•»€Æ,†8lGY«r䃉 Fùv÷ùv÷÷W8FùvF÷7ùv÷¦÷Wü$xY xûü$x‚ x÷W ÷{÷÷> ÷{÷÷û÷\û÷÷û÷\û÷÷û8÷> ÷7÷÷¦û÷\û¦÷÷¦û÷\û¦÷÷¦ûû\÷r÷÷r÷÷r÷& ÷rû÷÷÷rû÷÷÷rûû\÷r÷÷r÷÷r÷( ÷rû¦÷÷¦÷rû¦÷÷¦÷r÷W ÷{÷÷"÷{÷÷*û÷÷*û÷÷*û÷8÷"÷7÷÷*û¦÷÷*û¦÷÷*û¦÷û\÷PÉ÷PÉ÷PÉ÷P÷& ÷PûÉ÷ É÷ É÷ û\÷PÉ÷PÉ÷PÉ÷P÷( ÷Pû¦É÷É÷É÷÷{÷Y ù ÷À÷÷!÷7÷¦Y øÇ÷À÷¦÷!÷{÷‚ ÷ üŽ÷7÷¦‚ Ç üŽP ÷÷À÷=ù•÷!{ ÷À÷1 ùÙ÷![ ÷9 ù•üŽ{È ùÙüŽ÷2 ÷{øJ÷÷ ÷÷{÷7øJ÷¦Öh÷7÷{øŽ÷é Ñ÷7÷7øŽ÷¦è P ÷øJù•Ô{ øJùÙÓ[ øŽù•÷{øŽùÙö ÷{÷Y ù ÷À÷÷ ÷7÷¦Y øÇ÷À÷¦Ö— À÷7÷{ Ï÷=ù ÷À÷Àé — À÷7ü$÷¦÷  ÷ ý ÀG÷{÷‚ ÷ é 8MÀ÷7÷7 Ï÷1 øÇ÷À÷¦Àè 8MÀ÷7ü$÷¦Ç  ÖüÇÀG÷7÷¦‚ Ç è P ÷÷À÷=xÔ{ ÷À÷1 xÓŒ ÷À÷=ù ÀÏù•÷Œ À÷9 ù• G÷I[ ÷9 x÷8M F÷7÷À÷1 øÇÀÏùÙö 8M F÷7ÀÈ ùÙ G÷I {È xö P ÷÷À÷=ù ÷À÷÷WP F÷7÷À÷1 ù ÷À÷ûÀÏ÷!P ÷÷À÷=øÇ÷À÷¦üJGw{ ÷À÷1 øÇ÷À÷¦÷W[ ÷9 ÷ ÷WhF÷7È ÷ û|ÏüŽ[ ÷9 Ç üŽG÷ {È Ç ÷WP ÷ùv÷ûÀ÷IP F÷7øJÏ÷À÷ûÀù ÓP ÷÷ÀGøJ÷¦ûÀøÇÔ{ ùv÷¦ûÀ÷I [ ùv÷û|ù ÷hF÷7øŽÏ÷|÷û|ù ö [ ÷|GøŽ÷¦û|øÇ÷{ùv÷¦û|øÇö P ÷÷À÷=ù ÷À÷ûÀ÷Iå3  ÷H`ù ÷À÷÷  üÇûÀå3 `÷÷À÷= øÇ÷À÷¦Ö`ý ûÀ{ ÷À÷1 øÇ÷À÷¦ûÀ÷I Œ ÷À÷=ù ÷À÷Àû|ù ÷Œ À÷9 ÷  ûÀ÷I[ ÷9 ÷ û|ù ÷•÷HPøÇÏÏ÷|÷`é  üÇû|•P÷÷|GÏ÷1 øÇ÷À÷¦ è `ý û|•àPû|ÏG÷Q üÇûÀ•P÷`÷9  Ç ÖPüÇGGû|8M F÷7÷À÷1 øÇ÷À÷¦Àû|øÇö 8M F÷7ÀÈ Ç  ûÀ÷I ÷(àé  üÇû|÷(`÷÷9  Ç è `ý û|{È Ç û|øÇö ‰ ‹÷*÷*÷*÷{÷*÷û*÷Àû÷*÷û*8‹÷*÷*÷*÷7÷*÷¦û*÷Àû¦÷*÷¦û*û\÷Ž÷Ž÷Ž÷& ÷Žû÷Ž÷÷Žûû\÷Ž÷Ž÷Ž÷( ÷Žû¦÷Ž÷¦÷Ž÷W 4FùvFø÷ ü0Ó ü$x¡xû÷§úˆ÷ ­ ÷!÷{÷¡ù ÷÷8 ÷7÷üJû[éü$÷ù•øJ÷üÓ÷§þ÷ø‚÷7÷wk ÷Àü‚÷ú÷!bø÷/ ù•üÓû÷7÷8 ÷[FøøJý•÷úüÓü0÷C³÷{éøJÒ ûÀø‚ûbé÷{øÓ÷û7ù ÷[ééøÓ÷üJù•û÷§ý ºk øJúûü‚wb÷øÓù•¹ [FéøÓúûý•üJ÷í ûÀø‚ûbø÷/ ù ÷7÷û7ù ûû§úˆ÷ [éü$÷ ÷§ý ºúˆ÷ø‚÷7÷wk ÷Àü‚÷xûü‚wb÷÷7ý ÷Ký û7øJý•÷ [øü$÷ üJþ÷C÷óFé÷Àü‚÷ø‚÷À÷/÷Ó b÷÷7÷8 ÷÷8 ÷7÷÷W[Fé÷'ý ÷ø‚÷7÷ûÀüJ÷Ó ³Føùv÷ûÀø‚ûü‚ûÀü0Ó b÷ùv÷û7ù ¹ [FøÃøJûºüJþÓ k ÷Àü‚÷ø‚÷ÀÒ ûÀø‚ûü‚wb÷÷7÷8 ÷÷8 ÷7÷û7ù ¹ [FøÃü0÷'÷ºúˆ÷ø‚÷7÷w÷{÷Y ø$÷òò÷Ð÷Fû`û9û9û`P ø÷`û9÷9û`FûÐ÷ò$ûü$÷P øú|ûü$û$$ûFûÐ÷`÷9÷9÷`÷2 øìû`÷9û9÷`Ð÷Fû$ò÷ø$ûû¡rFùvFûû÷øìú|÷ûñøìþ|÷÷ñ÷—üCû—üCû÷÷{ø÷{ü÷÷û—øC÷—øC÷ûû{ü‰ FøJF÷4 ÷{ù•} ÷{÷ù•û‰ ÷{øJ÷{÷4 ü$ù•Y ù•û8FøJF÷5÷{ù•˜ ÷{÷¦ù•÷W 8÷{øJ÷{÷5ü$ù•‚ ù•÷W ‰ Fùv÷÷ÀGøJ÷¦üJGw÷*ü$÷¦ù•Gù ûý G‰ FùvF÷7øJÏ÷À÷ûÀÏ÷!÷*÷{Ï÷=ù Ïù•÷W ÷Àøˆ‹øì÷Àøìøˆ÷ û\÷ ÷÷ û\÷Ž ÷Ž÷ û\ø ø ÷ û\øˆ øˆ÷ û\ù ù÷ û\ù‚ ù‚÷ û\ùÿ ùÿ÷ û\ú| ú|÷ ª ø¡×ø¡ú|ü¡ª øV×øVú|üVª ø ×ø ú|ü ª ÷À×÷Àú|wª ÷u×÷uú|ûuª ÷*×÷*ú|û*ª Ö×Öú|@û\ú|÷* ú|wª ©×©m½÷ÀY÷øìüˆä äª ©ø8÷*שm½÷*Y©ûH÷ÀY÷ÀûŽ÷øVüˆ©ütù´Yøìý‚ä ÷" ä÷À÷3 ª ©ø8÷*שm½ÖY©"÷CY÷*û©ûH÷ÀY÷uûŽ©û“ø=Y÷Àü ÷ø üˆ©ü)ù7YøVý©ütù´Yø¡ý‚©ü¿ú1Yøìýÿä ýÿ½üƒùÍmø¡÷" ý½ûíøÓmø ä÷Àü ½ûW÷Ùm÷u÷3 ÷*û½^Ömù7÷‹øìù7øì÷÷ ½ø¡Öø¡û\Öú|@û\øˆ‹÷À×÷À÷ û\øˆ÷* ÷ ÷Àøˆ‹÷À÷À÷À÷ ª ÷ÀÕøˆûÀ÷ ÷&ù´üˆ÷Àøˆ üˆüˆ÷Àøˆª ÷À×÷Àøˆ÷Àøˆ÷ ½÷À÷À÷À÷Àüˆ÷Àú|÷ ÷Àøˆ÷À÷À÷À÷À÷À÷ ÷&û\÷ÀøˆûÀ ÷À÷À÷ ½÷À÷ÀÕú|ûÀüˆw—ø„—Ñ—¸——°—ûX——øz—×—¿—‘—·—ûm—  b_ ‹ ÷ ÷* ÷ ÷* øìË/1e™¾×Lz…Ýà@©Í9 ¥¿æñü7MÅÒâ’ž§®í3:fnuˆ‘˜žºÌÑÙäù "w|ƒ“¡¯Øé"'IXr€Äßæ * 2 6 < H N Ž ® Î å í ú ÿ  ! @ G O ] … — £ ª ® Ë Þ æ í ó  6 B O W f p œ ¡ ¦ « ³ Ó ê ù  $ 4 9 = B I o ” ¤ ³ ¸ ¼ Ã Ï ß æ ö    $ + = H P Y b o v z — ¢ ¼ Â Ç Ó Ý â ê ñ ø ÿ5>MSXoz…”™ §¾ÃÇÏÕÚì1>DQ[eipw~„Ž“–±´ÆÌØäëóùÿ#,3:AFRV[fqv‡˜§«»ÄÊÒÚâêñöü,16>LTbpx|ƒŒ’—œ¡®¸¿ÆÍÔÛàåêòþ !-6BFR^dhrz‚ˆŽ“˜¢­³¼ÁÅ÷Z÷Žé¹·Á¨¦‚s¦û]jqo~jNh·íû+‰û6ß)÷»Á¦¯¯Ž šÇœÌכМG>œJšOÐû¢÷0û_ù ûDû_ý ÷*³÷/÷Yº÷N÷,÷÷÷ê÷9÷9ûêûûû,û9÷+á­ÂÏÏ­T55iTGGiÂá Ë÷û=Ú-÷3÷2×é÷=ø%û"ü4=m`MMn¶ÙÎ ÷!–¶³ª÷&“9phew_apš« ·÷Öûo÷û÷;ÞØ±´·÷Àûwû êû~}r„r$WÙ÷÷ËÚà¿©xo§ÜæµaN´3û=ûûûn (ô 0í “somû'Nû Q¨^¯s‡ô hssgja¢q¦z‡ ÷v÷(÷p÷føD÷; Iû1wYw\vW‡w¿wºx½I÷1û2÷füD Ä´®ÁÁb±R, á÷;¦÷9•ϵ¯‘V‘\’]§û9÷>Øø„ûmûz„Z‰[„Y‡„½ƒ»‚¼j÷8$lû8\„Y…Yˆ„½ˆ»„¼m÷zû$ ñ X‡µe^ Wû&(û,û#ß&÷ºÀŸ«¬ˆK\†ehB ÷B÷bûÃ3÷2ËÁ™˜·qõnkƒeCk¨Ö÷B÷f÷ûf÷û xûû…û÷ Â÷Öûo÷ û÷<ÝѬÊÁ:ähkft\)GÙ÷÷ÏÚ纭xoªÜæ¶_I³8ûBûûûl ÉøÝ÷$üûË;÷É®–›¿j÷ls‡tbdŸÈø•û· ÷ß­®¥³ÁžmIû³÷'÷Æ÷YØûAUga`‡ Î÷N÷ ,÷0ÏØ¢½ÇOèrh_uW9RÂááÆÂà°®p±Ïæ²aI§=û-û,û9 ÷'Ý4 í+ ÝbT–¥\÷;÷CQc¹ÝíÞ½¹½ª¦‚s¦ûDÝhpo~k š•››“ª‚¢€vzzttz—žØÀöp”z”™˜•œŸ˜{…~ƒäû'ûYÂbÚÚµ¼»qžhØ©™¢œ­ÂT¯DGRgTc¡~©w‡äm{lxa÷{÷ ÷_Z'fÅÚ|Â÷=äÙ÷øtû ÷/ø{“€“zybq~cƒšjg’gûû,û9û9÷,÷ –X÷ ø„û ÷:v÷{ãÓ÷ C 3  ë ÷+÷ û$+û  ™ ]ji_^¬i¹÷n¹¬­¸·j­]]ki_^«i¹h ê÷¶÷É÷'A÷Ö÷== ˜ü/ ûWüdš–›š“ª‚£€vzytuy—ž@ÀÀöp”z”™˜•ž˜{…~ƒ û'ûYÂbÚÚõ¼»pžh@À©™¢œ­ÂU¯CGRgTc¢~¨w‡ m{lxaÀêß ,ö'» Úø÷[ü÷'ø„ûî +Ä´®ÁÁb±RD÷êšÇœÌכМG>œJšO¡øœ ÷0/ûWüdš–›š“ª‚£€vzytuy—žCÀöp”z”™˜•ž˜{…~ƒ„€û'ûYÂbÚÚõ¼»pžhC©™¢œ­ÂU¯CGRgTc¢~¨w‡„€m{lxa\SbeUU´hÃFw W ÷Ø÷û û}/Sû ÷ø:÷ Zí÷;º÷)÷M÷'Þ4 î+ ÞbT–¥\÷;÷CQc¹ÝîÞ½¹½ª¦‚s¦ûDÞhpo~k Ó÷'÷ß­®¥³ÁžmIû³÷'÷Æ÷YØû@Uged“ê÷@û' j„}zlh¸UW^^0Ö¬’™—œ ƒ™´ Y Ì÷M÷I÷ô÷t÷tûîûQûE÷(ü©ø2 ñÐ[û0û0FU% û$)û6 ÷ ÷®÷ î¹ÖÜ9a†wjcc‰ û0:÷ ÷{÷9 ¬}÷$ Ñøk÷û ÷˜÷ÃÙüCû÷xû˜û ’“{yWaƒc‰ô7 û‘÷I o½€$ iީϽk÷: ЪºÈë÷/û»ûû{ý ÷' ¯¥¦®­q¦g } ü$÷ Ô Ù÷;d h÷ bnmcc¨m´ ÷'½º÷ŒÝû6Þ)÷½¾¦¯°Ž½–X÷ ùQû'û=>«hh Rû#)û6Ý÷+é¹·Á¨¦‚s¦û]jqo~jNh·í 7 Í ÷ø­w ÷+÷ û#+û  ûgçï÷Ëä÷#ö4î öøI÷û¶ø¤û' Úø÷[ûùCvjDnk‘c`"w¶¼}È÷H½ô÷ øfûî Èûëû ÷#ë÷ àÊÍóòLÊ66LL$#ÊIàÚrt¢ÏÏ¢ž¤¤¢xGGttrX † c J Ý©Ï j ø  vø÷wŸ÷0 ÷÷'¬´Ì| ¬TœÆ ³Fø÷ÀûûÀû Ë÷'÷¤÷Fû¤÷'ù û'ûûF÷û' C+Ä´®ÁÁb±R yu•®ƒ—š›‘š£˜€ww~u÷÷l£ngœ_ R<1)ÃFéÓÀ½ÉÈd¬Okqyv·ž®¾£ž‚}œÅ’“{yWaƒc‰ø7üјÁ±ÖQ É÷K÷' Ì÷ ÷iÒ÷.„ѼûG½û/̽÷/¾÷GŽ„Eû.Dûi÷ ù û'Lû{u1ˆuåI÷{û' ±÷+÷r÷+ ‚ g ½l¤ ÷Lû7vøg÷M‹w †–P ÷ã«™—›žž•|lûå÷÷㫘™›žŸ“|lûå÷÷ðîbÈFShg^yÀl§_Rmjbx‡ !³@ÏAÚ»UÊnÑÕÔ¨ÑÁÊ<»GAc@"Ú¢¸Â×Éq®^gnrhd©v¬Œ‹ŒepuY{G`Þ÷÷¶ÙÏ϶=ûû`8G ÷F÷7 äµË«È°Ÿ†‚ª 9 ÷{ [v ÷ÀôšÌ×áÃûœ4 ÷&S÷ v÷÷ ÷K÷ Å^­ º÷+÷`÷+ è¶ÎÓŽ øÇ÷|÷¦ ÷|üÇ÷¦ ø»@Ôû6û[¾[üû¨ÖB÷6÷[Xº ÷ û5‚”÷Aû ”ûAû5”û ÷5 ÀÈŽÁ÷ Ú¾ÊËÚ÷8éßì÷– §¨V½ vø„w ÷[÷÷÷ô÷÷[÷ô÷ûô÷÷÷÷ vø÷wŸw ÷ûÀ÷÷À÷ ÷  ÷ á¶»Ó’ }zqh~ À÷(Ž€û+ß÷Î$i-wD‡ ÷îr u©°…I vø÷ È÷! _ Ò÷÷ :Ö÷Q÷"û!Ö ÷[÷ÛøLÛ÷[øL÷üLŽÀ ÷\÷\ÿÿU€÷!ÿÿ€÷H [zsmµL˜Ÿ£—¡¤™{stƒ ÿC€ÿÿ¼€ÒD  :½Í ½üÎúJmøì ø‘÷jó÷j û VQ6û ‰Ž û|øÇû¦ û|ù û¦ ÷÷Â÷ ÀN õ®ÁÁa÷, ÷ ñ _eh<‚û9ClYMÕ1®·´ ½ů ( øŸ÷§üŸ÷¦‰÷M ÷ ÷÷ Å÷  ¾Ú÷5ìßé÷Ç û¦üÇ÷ ê÷ ûùv÷/ ª®^Á Ã÷±÷*±÷ì÷'ì µrwcbQ¶ N` ÷ ީдr¡ ÷ ÷T÷ ûÀù û ù ÷|÷ Ë÷' ™ \ki_^«iº ÷ YÝ© ÷÷L÷|÷L Ô¿ÛÛTºBC ÷'÷K ¬Æ­Éކ(u÷% p†|zpj²^_cg=‚ ½¢twx‚toi™šwøˆwO¾iÊ®·šŸ¥iÕ„ cç ¸@î ÷K ËKî÷*ö kwu‚X… ÷÷Pû ÷®èû® ø`óü` ÷;É ÷ø¤w üì—ÁŽ`´»t¹÷ó ý‚½ü8ùPmøV ÷÷þ÷ Åøq÷ ¨|vù w } û\÷ ÷)÷Š÷'ø÷  ˜ û\÷¦ ÷ ÷÷ ^÷(^÷ ÷À÷À÷Àû\÷À û0;÷7±SIÎ É÷' ÷^÷X÷À ü$÷ wí÷; üÇ÷ P ÷{ û޽û ÷\m ÷{øJ÷÷!^eh<ƒ½l¤1”÷]÷  ý ÷ù ÷|ý ÷¦ ¤2”û. ÷ ü$x9 ‹÷Í÷Í÷ ÷4ÒÀ ¬ÃaÔ ªðÙö÷õøº ,ö&÷;÷V TiÖ8MPc#a ¶¹ÏX÷  ûŽú|÷ë÷ Ò ÷4ØÜû4> U¼Úg÷÷÷ ©Ï÷6 øÇÓ€xz„y‡ð÷;  8jwv‚X § eÀ Éû ÷Z¯ é÷' øÇû ÷ ˆ ­¯´ª¾ͱi >±÷ †Le^Flq…{w û¦X# T7A^l,@J;DkAB&J$F2@8=HC/7R4HO*L>$H/H/t51>%F ÿý 77777AAA^^^^^^^^^^^^^^^^^,,,,,,,@@@JJJJJJJJJJJJ;Dkkkkk6k!ABBBBBBB&&&&&&&&&&&&&&&&&&&&&&&FFFFFF2222222@@@@@@@@@@@@@@@@@@@@@@@@8888I:======================CCCCC///777777777777777774444444ÿîHHOOOOOOOOOOOOO*LL>> >>>>>$HHHHHHHÿÒ///////////////// ///////tdtiiA5555555=111111>>>>>>>>>>>>>>>>>>>>>>>FFFF/H*H/H467/< 42 ///////////////////////////////8R3*#.<>=58R3*#.=>=5¸¶¸¶ÿÿÈÈbg×R¸Ê3EÊE¯À*;FFPP¸ˆ<µ~ÉijiJüJü@YYG0eÿóÿ÷FT||@˜Äž¥¡¥¡±¦¤ÖÇíã˜Äž¥¡¥¡±¦¤ÖÇíã˜Äœ¥¡¥¢±¦¤ÖÇíã˜Äž¥¡¥¡±¦¤ÖÇí㚀…ššª€”·…œ©… ¶sœ…š€Ö‘–vS|—”””€€œ$@C-`.OC[COX$FFTF·FtbFFFVF44Fÿó><“! ;K ¶‡b“99ÿãÿãÿð5Nåo¸ÊêÑÚŠŠà¢ÚŽàp¢™»¯ÊÇÖŠÚኄ‚¢Ÿ™£Ê×pƒÛÛ»»¯£Š„EEèô"ʃÅÅÄÖÓ¡¢‹‹‹‹‹„‹‹¡Ž¡Ž¡Ž™Ž¡¤¡¤¡¤š“™ŽýÖÿ»ÿ»ç£ç£ç£ç磣ÿ»ÿ»ÿ»ÿ»ç磣ÿ»ÿ»ÿ»ÿ»ç磣££££ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ç£ÿ»^ç^^ÿ»ÿ»ÿ»ç^^ÿ»ÿ»ÿ»ç^^ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»ÿ»çÿ»ÿ»çÿ»ÿ»ÿ»ÿ»çççÿ»£ç£ÿ»£ÿ»£, ,, ¾5KLggnn~~¡£©©ÍÎææüü../055UW]]ll‚ƒšª­­ÃÄÈÈÍÍ××ÝÝø lDFLTlatn8ÿÿ ÿÿ  aaltÂaaltÊcaseÒcaseØccmpÞccmpìdnomúdnomfracfracnumrnumr onum&onum,ordn2ordn8salt>saltJsinfVsinf\ss01bss01hss02nss02tss03zss03€ss04†ss04Œsubs’subs˜supsžsups¦      þ82HB  08@HPZbjrz‚Š–ž¦®¶¾ÆÎÖÞæú°®ÌÖêòd*4NhfxŠ’Êäþüþ:NÜæ> áá á*á$$  6X $ Ý ßãçí Ýßãí  Ýßåóš&0:DNXblv€’œ¦°ºÄKÿgÿnã~ÿ©ÿÍÿüÿóÿ ãý.ÿ5ó]ÿló‚ÿÈýð<DEFGHIJKLMPQNO6789:;<=>?BC@Aƒ  UVWXYZ[\]^_`abcdefghijklmnopqz !"#&'$%X()*+,-./014523¦ ªÞØ­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃSr¸ ÄÅÆÇÈÉÊËs²ÿ£²\VWXYZ\]^_`abcdefghijklmn®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃopÅÆÇÈÉÊËqSrsÞàâäæèêìîðòôöþ  °&,2>JVbnz†’žª´¾ÈU­[ÄD6(×E7)ØF8*ÙG9+ÚH:,ÛI;-ÜJ< .ÝK=!/ÞL>"0ßM?#1àPB&4QC'5N@$2OA%3„/ÿî-!/6789:;<=>?@ABCÞàâäæèêìîðòôöþ  "Y“ Gç$ÿß.áçë  "$'*/0Ä6LNx1z–\˜æyÝßáãåçéëíïñóõýÿ   ÍÖáâ ÿ DM6C†ˆDQ6?!"5 ¡¡ÍÖÝßáãåçéëíïñóõýÿ   ö÷ çüRRUU""[[v\ !#$%&'()*+,-./012345çèéêëìíîïðñòóôõö÷øùúûü ¡ö÷ RU[vÝßáãåçéëíïñóõýÿ   ""ÍÖáâ ÿ-.DEFGHIJKLMNOPQÝßáãåçéëíïñóõýÿ    8’DFLTlatnÿÿÿÿmark&mark6mkmkFmkmkLsizeRsizeVRN"*2:BDNL>~\†êdâþÔý¨âý¨äú ê7ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤žžž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž_ÆÌÒØÞäêðÆÞöüÆÆÆÆÆÆÆÆ &,28>DJ,PPV\bhÀntz€†Œ’˜ÀtžÆ¤Þƪ°ÆÆÆÆ¶&€¼¼ÀhÀÀŒŒ,¼€ÂÈÎÔJÚàæìò’˜øþÂÂÚ ,,¢¢b¢)¢B¢G¢J¢+¢8¢Ã¢2¢9¢1¤/¢3¢:¢4—ÚU¹Ú9å0YÒ§ÚÚB;A3S8 ’(.-C›¶1¢Š¢?¢Y:=#5&.ù1,Þ,Ìv~  &,,\0U7uFT "®®®®®K˜ž¤ª°¶¼Â˜ÈÎÔ˜˜˜Úàæ˜˜ìòª˜ææøþ "(.4:@˜FLRX^òd˜jp˜˜v"˜^|‚ÂˆŽ”š ¦¬òd²¸‚¾,ÿê8ÿê\ÿê"ÿêAÿêÅÿêNÿê+ÿê/ÿêCÿêLÿêžÿê@ÿê6ÿê)ÿê.ÿê1ÿêUÿê5ÿê9ÿê%ÿêÿ3ÿêYÿêðÿDÿêjÿê0ÿê2ÿêŽÿ&½ÿ&Ëÿêpÿê?ÿê-ÿê ÿ>ÿêIÿêBÿê;ÿêFÿê7ÿê$ÿêÇÿ&(ÿêŒÿêqÿê ÿÿêÈÿ&ºÀ ,𨂖žð˜  $$ &,28>8DJP,í¤”‰a“$¦P ê7æìæìæìæìæìæìæìæìæìæìæìæìæìæææìæìæìæìæìæìæìæìæìæìæìæìæìæ,,¢,â,ІˆÝÝø65KL4gg6~~7¡£8©©;ÍÎ<ææ>üü?@/0AUWC]]F‚ƒGšªI­­ZÃÄ[ÍÍ]××^ýþ./úûü 5££3ÎÎ4ææ5006WW7ƒƒ8šš9œª:­­IÄÄJù*ÿ   $*0 ¡­áéëideoromnDFLTlatn ÿVŠ‚0‚~ *†H†÷  ‚o0‚k1 0 +0a +‚7 S0Q0, +‚7¢€<<<Obsolete>>>0!0 +°²9 ”ªÑ UY%>õTѧ ‚á0‚<0‚¥pºäÙ)4¶8Ê{̺¿0  *†H†÷ 0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0 960129000000Z 280801235959Z0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0Ÿ0  *†H†÷ 0‰É\YžòŠ´ß@ÛãW¯jE@„ Ñ3ÙÙÏîX%÷*¨Dªìxž“¹šª#}Ö¬…¢cEÇr'ÌôLÆuqÒ9ïOBðuß ÆŽ o˜ø¬#_p)6¤É†ç±š ËS¥…ç=¾}šþ$E3Üví¢qdLe.hE§0  *†H†÷ »L+Ï,&Oݦûü „Œó(g’/|¶Åúßð蕼l,¨QÌsؤÀSðNÖ&ÀvW’^!ñѱÿçÐ!XÍiãDœD9‰\ÜœV™í¢EL令=ð2ñÎøèÉQŒæbŸæŸÀ}·rœÉ6:kŸN¨ÿd d0‚Ÿ0‚‡ y¢¥…ùÑBÙ¸>ö¶í0  *†H†÷ 0S1 0 UUS10U VeriSign, Inc.1+0)U"VeriSign Time Stamping Services CA0 120501000000Z 121231235959Z0b1 0 UUS10U Symantec Corporation1402U+Symantec Time Stamping Services Signer - G30Ÿ0  *†H†÷ 0‰©YftÚ=Š}zØüõ€D{þGjUNPG ìÓíÎö8÷Oi¹±ð¶x‚ Œvgâ­· ¥ŠöüfÓü-̵sY{‰Ü3nfZ^R7´bÑ’Y5‹E¬Y²M$¢˜”hBrŸ:hâk‹ž"-ô˜N𯝳䠫<(¿#á×r¤òSg®w¯Q£ã0à0 Uÿ003U,0*0( & $†"http://crl.verisign.com/tss-ca.crl0U%ÿ 0 +04+(0&0$+0†http://ocsp.verisign.com0Uÿ€0U0¤010 UTSA1-30U´·ñ‰I&`çeês®ÜÓ8Í¿W’o0  *†H†÷ ‚˜ª'·xµµÉrm·ßÀ˜¦5ĈÉÒömñKûÕù-™žÑ盋á?½9€ fͼ\˜T¦”ºÑN‹«õoeÌg ¢€|RèÖkzÆìȬB|,§=fÜíý”sòr˜“±ÖïŽê¬ô–Q Ðß1RO^¯}§JuæNÎ+Ÿ)+çÏ]Ÿ~n'{#­b)f¯’è,νœÜÍ'ÑxìŸ1Éñæ"ÛijGCš_ ä^õî|ñ}«bõM ÞÐ"V¨•Í®ˆv®îº óäMÙ ûh ®;³‡Á»£Û0Ø04+(0&0$+0†http://ocsp.verisign.com0Uÿ0ÿ0AU:0806 4 2†0http://crl.verisign.com/ThawteTimestampingCA.crl0U% 0 +0Uÿ0$U0¤010U TSA2048-1-530  *†H†÷ JkùêXÂD1‰y™+–¿‚¬ÖLͰŠXnß)£^ÈÊ“çR ïG'/8°äÉ“NšÔ"b÷?7!Op1€ñ‹8‡³èè—þÏU–N$Ò©'Nz®·aAó*ÎçÉÙ^Ý»+…>µµÙáWÿ¾´Å~õÏ žð—þ+Ó;R8'÷?J0‚0‚ù  ;x`–Ú7»¤Q”FÈ–x0  *†H†÷ 0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0 061108000000Z 211107235959Z0Ê1 0 UUS10U VeriSign, Inc.10U VeriSign Trust Network1:08U 1(c) 2006 VeriSign, Inc. - For authorized use only1E0CU0<U 5Digital ID Class 3 - Microsoft Software Validation v21#0!UAdobe Systems Incorporated0‚"0  *†H†÷ ‚0‚ ‚·ÂS](¢aÓÔq¾<9>ZÀºíâ”ÃÇ8ƒÁë-kJ¸Š'ÿÊÞêK¡w’dOöòÓö¾™•³cƲ­á¦ pçÖ5RÂ!Š–2, bŠÖדçqõ Ñ®q`UtRЮâU•à\é7¦K\‘ÿÔ’ºäbŒjsÝP«¨VžJ^r¿ÍéÀÓ’›Œ¹k ¹'O¸Q›^iÓîgÕ(÷ä ë|ØZÈxkõvê2Cßr?šriTÒ ûžÚéÂà©CÔ’tJ·Äã0K­±@XW`Öƒó‹ëÀ½ÕCOe?r^­Úÿq²)žœ xˆçíKœ’¤Í¡ýž­£‚{0‚w0 U00Uÿ€0@U90705 3 1†/http://csc3-2010-crl.verisign.com/CSC3-2010.crl0DU =0;09 `†H†øE0*0(+https://www.verisign.com/cps0U% 0 +0q+e0c0$+0†http://ocsp.verisign.com0;+0†/http://csc3-2010-aia.verisign.com/CSC3-2010.cer0U#0€Ï™©ê{&ôKÉŽ×ð&ïãÒ§0 `†H†øB0 +‚70ÿ0  *†H†÷ ‚ªha½¯ÝRÄŽA¥}oˆž¾þ¹Ë·kíÂ8eb1DÛ›­93¿…”ÿlùº”” ›[çO-Yàã¢ÝcÖ¼å+t{-¤t6Û^’™›ø{¹¿Ý8Læ,„úN*Ú™Õô•3íd›HD"4_cqÛhÌÑQÿ8ßÚè³Áê%¯³ Ê0“Ê ~Ý;€Ø#¢ Õ%Ü ÚÛÝ2µ›úÑRùÙš*>Œ±—A.©/oI Ül·+ÎØ/ÜÌ}öiß”ÉÅv¥â÷4+vÓô.>âêjAòßí/Üî®öl @@ñO!Šƒƒ¤¶ŽgsÔ`ÜÄÚ‹K(5¶Áá0‚ 0‚ò Råª%Vü†í–ÉÔK3Ç0  *†H†÷ 0Ê1 0 UUS10U VeriSign, Inc.10U VeriSign Trust Network1:08U 1(c) 2006 VeriSign, Inc. - For authorized use only1E0CUß–åÅä”qÖUÇ&J@<µ¡&© §m€Ž%{Ï¿?ë/–úå‡wƵV²z;T0Sßb4ÿÑôZ“(…åLN~[ý¤“™ßÍï¤uïïöGçørØ.4¦´§L~½»O =Wñ0Ö¦6ŽÖ€v×.¥Í~4-‰£‚þ0‚ú0Uÿ0ÿ0pU i0g0e `†H†øE0V0(+https://www.verisign.com/cps0*+0https://www.verisign.com/rpa0Uÿ0m+ a0_¡] [0Y0W0U image/gif0!00+åÓ†¬ŽkÃÏ€jÔH,{.0%#http://logo.verisign.com/vslogo.gif04U-0+0) ' %†#http://crl.verisign.com/pca3-g5.crl04+(0&0$+0†http://ocsp.verisign.com0U%0++0(U!0¤010UVeriSignMPKI-2-80UÏ™©ê{&ôKÉŽ×ð&ïãÒ§0U#0€Óe§ÂÝì»ð0 óC9ú¯3130  *†H†÷ ‚V"æ4¤ÄaËH¹­V¨dÙŒ‘Ä»Ì å­z "ßG8J-lÑq|ìp©±ðOä Sú^þt˜I$…&‘G°LcŒ»¡4ÔÆEè …&sЩŒdmÜq’æE`YQ9üXkþÔ¤íyk Arç7" ¾#é?Dšéa̱\ü=Ò¬B=e6Ô´=@(›Ï#&ÌK Ë]ŒL4Ê<Øå7Öo¥ ½4ë&Ù® çÅš÷¡´!‘3o†èX»%|tXþuc?Î1|›–žÅSv„[œ­‘ú¬í“º]È!S‚Sc¯ P‡=TR–Š,œ=’š.Ç“¥H‘Ó1‚0‚ 0É0´1 0 UUS10U VeriSign, Inc.10U VeriSign Trust Network1;09U 2Terms of use at https://www.verisign.com/rpa (c)101.0,U%VeriSign Class 3 Code Signing 2010 CAt%S­ä¯Ñ¯˜MIíh0 + ˜0 +‚7(10 *†H†÷  1  +‚70 +‚7 10  +‚70" +‚7 10¡€www.adobe.com 0# *†H†÷  1ÍEÎгÏR„ˆ=9ôØÝU“PÐ70  *†H†÷ ‚µÅßšxö•Ai’ÖRrËù n0ráÍ.HXͪ^6 Ù·NI+9Ome`½%ÛÊ;íëúöƒ,á÷qÿ~ ‹r's‡ä™nPt;@Z´Ý?›8З~±Ì7'Ùݧz“kçnƒo•Í' BYn¡.ÊÏršö×ÎQ?ôf&€g ¶¸€vÞNc’ÿû«Ö{A$‰7kö‘¥éøCJóˆ\º€Òj^…ÁÍ™"Fùæ)Þ8þ¿Gg8¯¼‡z ^'á²¢&xBSc’ÏŠ?gÈ`ž)ˆuúÚ#-9ØÆ¢ŠýžÑÌ7 \¸oR=5×kÙÌ/²w*¡‚0‚{ *†H†÷  1‚l0‚h0g0S1 0 UUS10U VeriSign, Inc.1+0)U"VeriSign Time Stamping Services CAy¢¥…ùÑBÙ¸>ö¶í0 + ]0 *†H†÷  1  *†H†÷ 0 *†H†÷  1 121205232836Z0# *†H†÷  1IuáÑŽÚÏŽ (Ðna|£ä°0  *†H†÷ €”]ß—ª˜/K·a‚N^ÍVϪÓö[‹bØ·jlÕU7®x÷ÿ`8åy)V¹?+`â^ÜO ø7Lw™}"| vö¯[u%@é¢ fK§')3g5P)žÁ@T£b’8Ò'›r;•h”î’Þ4ÍÑLŒ´f³àhý…sŠòÞËpyzo-4.12.3/pyzo/resources/fonts/SourceCodePro-Regular.otf000066400000000000000000002570001421373005400235760ustar00rootroot00000000000000OTTO€`BASE‹”±?$:CFF árHˆÚX headûlÝÇì6hheavß$$hmtx«¹®<"ĈmaxpÃPHnameˆ ¥°<¦postÿ¸3Hh SG›à_<õèÌÝKžÌÝKžÿÙþpÂèØþïXÿÙÿ–ÂPÃXŠXKŠX^2    ADBE@ ûîÿØ`“à” "žEET&[E9º`Ï/ I U Ùn$Gk  Œ— Ь 6 T Lb 6 r® *  ÀJ 4  > 2V #¶ˆ H:> ,:† :² :È *:ÞCopyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.Source Code ProRegular1.013;ADBE;SourceCodePro-Regular;ADOBEVersion 1.013;PS 1.000;hotconv 1.0.70;makeotf.lib2.5.5900SourceCodePro-RegularSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunthttp://www.adobe.com/typeCopyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.http://www.adobe.com/type/legal.htmlTypographic alternatesAlternate aAlternate gAlternate dollar signCopyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.Source Code ProRegular1.013;ADBE;SourceCodePro-Regular;ADOBEVersion 1.013;PS 1.000;hotconv 1.0.70;makeotf.lib2.5.5900SourceCodePro-RegularSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunthttp://www.adobe.com/typeCopyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. http://www.adobe.com/type/legal.htmlTypographic alternatesAlternate aAlternate gAlternate dollar signø ÷æëv‰Ìêÿ ”âöáÍÎÏÐÑÒÓÔÕÖãäš™›è ŸþË !"#$%&'()*+,-./012345¡:=NXŒ•Áèçéëêîÿ   %$&(?FEGIHsrtv tzw ý kÌÕ L¡¥žœx¦§¬­¤¨RTýUé磩{¢ªôõå69”¢Vøùîïìí—ÄÛ†yòó«¬ üðñŠ8Y7[Wtuws’“‘¾¿½0ÍÔÖ×ÚØÛÙÜÎü/9@Z`z~¿ÄÑÖßäñö1Ie~€’¡°Üçë7CRTYaeoy‡Žž°³¸¼¿ÌÝã $(.1ÀCIMPRX[œ »!%+;Ico…“—žù     " & 0 3 : D q y  ‰ Ž ” ¡ ¤ § ¬ ² µ º!!! !"!&!.!T!^!“""""""""+"H"`"e%Ÿ% %³%·%½%Á%Æ%Ê&&j''Rûÿÿ 0:A[a{ ÀÅÒ×àåò÷4Lh€’ ¯Íæê7CPTXaeoy‡Œž°²·»¾ÆØá#&.1ÀCGMORV[œ »  $*6BZl€Ž’—ž      & 0 2 9 D p t } € ” ¡ ¤ ¦ « ± µ ¹!!! !"!&!.!S![!""""""""+"H"`"d%% %²%¶%¼%À%Æ%É&&j''RûÿÿÿÁÿ»ÿvÿ¿Sÿ~ÿWéÿdþ ÿLÿKÿHÿAÿ>ÿ5ÿ,ÿÿÿ ÿ¬ ÿæÿåÿÞÿ×ÿÓÿÑþäååååä»äºä³âÚâãá¿âZâ“á¹âBáªá¨á¥áÝáÛáÙáØáÐáÎáËá›àøàòàïá…áá;á5á à¥à¤àžàrà‡à}àZà@à8Þ#ÝÝÝÝÜþÜïܰÜYÛ¯Ûeª2<DJ†œªÀ4^¶¸ºØÚÜÈÊÆÐÔÜàÜÞÞÚàâäæðþ " ÐÖÚÞØØÐ´´žæëv‰Ìêÿ ”âöáãäš™›èŸþË¡çzwux ÕRô£÷ÖtžÌ¦ üÛTõ‹Œé=LNWXY[stuw䌖¡½¾¿ÁÙåkîýÿ   $%&(™?—UrstvŽš;ì<íKüOPRQSV\ ]^gZ hijko r#v'x)y*~.z01€234ƒ7‚5„6ˆ;Š=@‹>D–J—K˜L¢Vª^¬_«`°d±e³g²f¹m¸lÀuÂwÃxÄyÅz͂֋ÚÛà•â—á–£W΃>ï{+™MÆ{Ç|È}É~Êl©]´hºn^fkm×ÚØÜÔÙ`glÝßáãåçéëíïñóüýÿVXY_adhiTUmp!q"…8†9‡:‰<ŽABC­a®b¯cµi¶j»o¼pԉՊ׌ܑã˜?ð@ñAòBóCôDõEöF÷GøHùIúJû_`abcdef|,}-šN›OœPQžRŸS T¤X¥Y¦Z§[¨\Ë€ÌτЅц҇ӈØÝ’Þ“ß”úøùûìíðîïñ  ý]$%b€y¬•˜©¶Äÿµ2SourceCodePro-Regular.úöú÷úø úùúùøŒ dü$ùVú|1Ö4Pµźß#*18?FMT[bipw}ˆŽ˜ž¥¬²¸¿ÅÏÖÝäëòù)06=HSZaekryƒŠ‘˜Ÿª±·½ÄÈÏÖÝäêð÷þ '.5<CJQX_dkry€‡Ž”𡍝¶¼ÇÎÕÜãêð÷þ $18?FMT[binu|ƒŠ‘—¨±·ÂÉÐ×Þäîõü %,3:AHOV]dkrxƒ‰“™ §­³ºÀÊÑØßæíôû $+18CNU\`fmt{‚‰™¤«·½ÃÇÎÕÜãêðöý $+8?FMT[bipu|ƒŠ‘˜Ÿ¥¬²¹ÀÇÍØßæíôú#*05BIPW^elsz†”›¢¨®¹ÂÈÓÚáèïõÿ ")07>ELSZahks{ˆ›¤¬³¼ÅÎ×àéòû    ( 1 4 A I U ^ f o | … • Ÿ ¨ ± ¹ Ã Í Ö Ý ä ë ò ù    % - 5 ? H Q Y c m v „ “ ž ¨ ± ¹ Á Ë Ô Ý å ï ù    * 4 = E M W ` i q { … Ž œ « ¶ À É Ñ Ù ã ì õ ý    ( 7 B L Y _ e k q w } ƒ ‰ • › ¡ § ­ ³ ¹ ¿ Å Ë Ñ × Ý ã é ï õ   # ' . 2 9 ? C J Q X _ f m w ~ ‡ “ › ¦ ¨ ° · Â Ê Ñ Ø ß è ï ö ÿ $+29@GNU\cjqx†”›¢©°·¾ÅÌÓÚáèóú )0;BMT_fqxƒŠ•œ§®¹ÀËÒÙàçîõü '2AL[fu€š©´ÃÎÝè÷+6EP_jy‚‹’™£¯¶½ÄËÒÙàçîõü &-4;BIPW^elszˆ–¤«²¹ÀÇÎÕÜãêñøÿ ")07>ELSZahov}„‹’™ §®µ¼ÃÊÑØßæíôû %,3:AHOV]dkry€‡Ž•œ£ª±¸¿ÆÍÔÛâéð÷þ !(/6=DKRY`gnu|ƒŠ‘˜Ÿ¦­´»ÂÉÐ×Þåìóú"‚ÇÖAmacronAbreveuni01CDuni1EA0uni1EA2uni1EA4uni1EA6uni1EA8uni1EAAuni1EACuni1EAEuni1EB0uni1EB2uni1EB4uni1EB6Aogonekuni0243CacuteCcircumflexCcaronCdotaccentDcaronuni1E0Cuni1E0EDcroatEcaronEmacronEbreveEdotaccentuni1EB8uni1EBAuni1EBCuni1EBEuni1EC0uni1EC2uni1EC4uni1EC6EogonekGcircumflexGbreveGdotaccentuni0122Gcaronuni1E20uni00470303Hcircumflexuni1E24uni1E2AHbarItildeImacronuni012CIdotaccentuni01CFuni1EC8uni1ECAIogonekJcircumflexuni0136LacuteLcaronuni013BLdotuni1E36uni1E38uni1E3Auni1E42NacuteNcaronuni0145uni1E44uni1E46uni1E48Omacronuni014EOhungarumlautuni01D1uni1ECCuni1ECEuni1ED0uni1ED2uni1ED4uni1ED6uni1ED8Ohornuni1EDAuni1EDCuni1EDEuni1EE0uni1EE2uni01EARacuteRcaronuni0156uni1E5Auni1E5Cuni1E5ESacuteScircumflexuni015Euni0218uni1E60uni1E62uni1E9ETcaronuni0162uni021Auni1E6Cuni1E6EUtildeUmacronUbreveUringUhungarumlautuni01D3uni01D5uni01D7uni01D9uni01DBuni1EE4uni1EE6UogonekUhornuni1EE8uni1EEAuni1EECuni1EEEuni1EF0WgraveWacuteWcircumflexWdieresisYgraveYcircumflexuni1E8Euni1EF4uni1EF6uni1EF8ZacuteZdotaccentuni1E92uni018Famacronabreveuni01CEuni1EA1uni1EA3uni1EA5uni1EA7uni1EA9uni1EABuni1EADuni1EAFuni1EB1uni1EB3uni1EB5uni1EB7aogonekuni0180cacuteccircumflexccaroncdotaccentdcaronuni1E0Duni1E0Fdcroatecaronemacronebreveedotaccentuni1EB9uni1EBBuni1EBDuni1EBFuni1EC1uni1EC3uni1EC5uni1EC7eogonekgcircumflexgbrevegdotaccentuni0123gcaronuni1E21uni00670303hcircumflexuni1E25uni1E2Bhbaritildeimacronuni012Duni01D0uni1EC9uni1ECBiogonekiogonek.djcircumflexuni0137kgreenlandiclacutelcaronldotuni013Cuni1E37uni1E39uni1E3Buni1E43nacutencaronuni0146uni1E45uni1E47uni1E49napostropheomacronuni014Fohungarumlautuni01D2uni1ECDuni1ECFuni1ED1uni1ED3uni1ED5uni1ED7uni1ED9ohornuni1EDBuni1EDDuni1EDFuni1EE1uni1EE3uni01EBracuteuni0157rcaronuni1E5Buni1E5Duni1E5Fsacutescircumflexuni015Funi0219uni1E61uni1E63tcaronuni0163uni021Buni1E6Duni1E6Funi1E97utildeumacronubreveuringuhungarumlautuni01D4uni01D6uni01D8uni01DAuni01DCuni1EE5uni1EE7uogonekuhornuni1EE9uni1EEBuni1EEDuni1EEFuni1EF1wgravewacutewcircumflexwdieresisygraveycircumflexuni1E8Funi1EF5uni1EF7uni1EF9zacutezdotaccentuni1E93uni0237uni0250uni0251uni0252uni0259uni0261uni0265uni026Funi0279uni0287uni028Cuni028Duni028Euni029Ea.aagrave.aaacute.aacircumflex.aatilde.aadieresis.aamacron.aabreve.aaring.auni01CE.auni1EA1.auni1EA3.auni1EA5.auni1EA7.auni1EA9.auni1EAB.auni1EAD.auni1EAF.auni1EB1.auni1EB3.auni1EB5.auni1EB7.aaogonek.ag.agcircumflex.agbreve.agdotaccent.auni0123.agcaron.auni1E21.auni00670303.azero.onumone.onumtwo.onumthree.onumfour.onumfive.onumsix.onumseven.onumeight.onumnine.onumuni00ADuni2015uni2117uni2120at.caseasterisk.ahyphen.auni00AD.adollar.azero.supsone.supstwo.supsthree.supsfour.supsfive.supssix.supsseven.supseight.supsnine.supsparenleft.supsparenright.supsperiod.supscomma.supszero.subsone.substwo.substhree.subsfour.subsfive.subssix.subsseven.subseight.subsnine.subsparenleft.subsparenright.subsperiod.subscomma.subszero.dnomone.dnomtwo.dnomthree.dnomfour.dnomfive.dnomsix.dnomseven.dnomeight.dnomnine.dnomparenleft.dnomparenright.dnomperiod.dnomcomma.dnomzero.numrone.numrtwo.numrthree.numrfour.numrfive.numrsix.numrseven.numreight.numrnine.numrparenleft.numrparenright.numrperiod.numrcomma.numrordfeminine.aa.supsb.supsc.supsd.supse.supsf.supsg.supsh.supsi.supsj.supsk.supsl.supsm.supsn.supso.supsp.supsq.supsr.supss.supst.supsu.supsv.supsw.supsx.supsy.supsz.supsegrave.supseacute.supsuni0259.supsa.supag.supaEurouni0192lirauni20A6pesetadonguni20B1uni20B2uni20B5uni20B9uni20BAuni2215slash.fracuni2219lessequalgreaterequalnotequalapproxequalpiinfinityuni00B5partialdiffintegralradicaluni2206uni2126summationproductuni2113estimateduni2190arrowupuni2192arrowdownuni25A0uni25C6uni25C9uni2752triagupuni25B3uni25B6uni25B7triagdnuni25BDuni25C0uni25C1uni2610uni2611uni2713uni266Alozengeuni2032uni2033uni02BBuni02BCuni02BEuni02BFuni02C8uni02C9uni02CAuni02CBuni02CCuni0300uni0300.capuni0301uni0301.capuni0302uni0302.capuni0303uni0303.capuni0304uni0304.capuni0306uni0306.capuni0307uni0307.capuni0308uni0308.capuni0309uni0309.capuni030Auni030A.capuni030Buni030B.capuni030Cuni030C.capuni030Funi030F.capuni0312uni0313uni031Buni0323uni0324uni0326uni0327uni0327.capuni0328uni0328.capuni032Euni0331uni03080304uni03080304.capuni03080301uni03080301.capuni0308030Cuni0308030C.capuni03080300uni03080300.capuni03020301uni03020301.capuni03020300uni03020300.capuni03020309uni03020309.capuni03020303uni03020303.capuni03060301uni03060301.capuni03060300uni03060300.capuni03060309uni03060309.capuni03060303uni03060303.capuni03020306uni03020306.capuni030C.auni0326.auni00A0uni2007space.fracnbspace.fracuni2500uni2501uni2502uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250Buni250Cuni250Duni250Euni250Funi2510uni2511uni2512uni2513uni2514uni2515uni2516uni2517uni2518uni2519uni251Auni251Buni251Cuni251Duni251Euni251Funi2520uni2521uni2522uni2523uni2524uni2525uni2526uni2527uni2528uni2529uni252Auni252Buni252Cuni252Duni252Euni252Funi2530uni2531uni2532uni2533uni2534uni2535uni2536uni2537uni2538uni2539uni253Auni253Buni253Cuni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254Funi2550uni2551uni2552uni2553uni2554uni2555uni2556uni2557uni2558uni2559uni255Auni255Buni255Cuni255Duni255Euni255Funi2560uni2561uni2562uni2563uni2564uni2565uni2566uni2567uni2568uni2569uni256Auni256Buni256Cuni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Funi2580uni2581uni2582uni2583uni2584uni2585uni2586uni2587uni2588uni2589uni258Auni258Buni258Cuni258Duni258Euni258Funi2590uni2591uni2592uni2593uni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259Funi0258uni02541.000Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Copyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.Source Code Pro1F}®Ñø@‘¤¼è÷8C_vz™Àæêó-f•¢éïþ%8K€ˆ¦ºÏàû$4NchvŠ’–¥®ôûÿ 8B€™«·½Ê .38z’Óó'9>Bav†”¡®µ¼ô     2 B V t ~ „ ‹ “ ˜ Æ Í Ò ë ö 9 b £ Í â   * Q ` o t • · Ù Þ ä í õ û ÿ  $ 7 X c k q w z ‹ “ ™ © µ ¿ Ç Î Õ Ü â ê ø    0 7 B I N T Z a h m ~ ‚ ” ™ ¡ ¦ ¬ º Ñ æ ñ ü  &-39@GMR^q„‘¥µÅÕçóü *=Paenuyƒ•š §²½ÃÉÚßäéïõý %,15DSbqŒ‘™ž¢°¾ÌÚèíöÿ )6CMPW^bglx„œ¨´¾ÊÓÛãëñ÷ý *5?CNT[fq|ƒˆÐ‡ û3÷ ,÷$ÙÈ¥ª»nÁo^]zR!?Íò‡ø—Œœ÷9æûûû *û3ß³ê˜ÓÃÚåÁU* Ç÷J ÷.÷÷÷è÷5÷7ûèûûû.û7à÷É×èèÉ?ûûM@..MÖ÷ ªï¢Ô Ó × ? C¢Bª'ÞûŸãûqù$-ûqý$àÊ÷\÷‚’IÎ÷¾÷ KÚû69ekZ«S§¸É©Êé¬SI Ú÷ŒûPèC÷÷çÓ÷Pø,:ü.ûOZ<(øªï¢Ô Ó × ? C¢Bª'÷?ûŸûqù$-ûqý$àÊ÷\÷‚Éû\c À_ªM]_ypr©eŸŸ¨™£±œzqlqwTè÷I ijq}gghž£wÊMÊ/õC ÷4É÷GÃ÷4ø9 ÕMç¹³šž«t´{qo‚kM^²Ì†÷{“Œ——æYÈ1;>K"ɥǓµ¬¹À©iP 1 û Ù åø7÷vü7ÝøzûÈ ’KÏøzI . @  P «¤¡«ªr¡kkrulk¤u«“vto$3G!Q¦`¬r‡ … ¤‰§êÕ°~]YEYû i¯±wÂÒÀ¶ÊÊ]¯Iww‡ƒ{•Ñ÷ÁûQzû/ªw™÷F wegovecnž£tv÷\Î÷ÕÏ iƒvm[©­ƒ^T’±WØ °¨¤±²nG ÷&Ý÷±ðÅбÔ±†­ .M÷, É×èèÉ?ûûM@. ôÞÊó¶u®t£÷Êû] ÌønÒü øø¬½üIE÷ãüü­ ûv÷ ý'Iõ÷8÷7ÍðïïÍ&û7û8I!'ô2øn ôvü™HÚ\ ¼5ºuO÷EPû€^‚^‚^‡„¸ƒ·‚¹ k…ul^^uª«…YS’¯UÛ Xw [l]M…¹­›ž ÃÆÔÅBÃ8÷ H ÷/…sn HC #T®¾Dƒ5ÝZ÷" «¡£ªªu£k ™÷_ø9Ò´¸½¥¦ƒt¦û5pqp~mTj¶ÔI ÂMß²°Ÿ¤¥fÀ÷ÖW†l‰¥mn˜f>FK"ÐgvøAÐ T qxwqržw¥ —Ã’·“µ•Z“]”]ÅûŠî ª¢£ªªt£lY ÷TÚ tsll¢sª«¡£÷=s« ‹Ï÷‘º÷pÏæÞ÷»áæ÷8÷Uö÷÷e÷d ÷ ûXû5û´@†aÖÞû‘÷‘÷#ºû#÷p÷ ÛwwqrŸw¥÷@¥ŸŸ¤¥wŸqZ ÷ f~W„“cבЦÅ ûmÍ÷0Ï÷øÐw ÷8÷ ÷ø+ÒûÙøÝ9 hi ¿„£¥¢•¥´uljuvg÷6 rn™d0LLû-ÆQÙλºÄÃi²Ghl~vrׯ²Ã¦Ÿ}ÁԸ̎‡9SöY÷QDû(û]l÷6BÄÔ½t ’ [ Í û`÷ û÷-÷-÷ ÷÷`÷`û ÷û-û-û ûû`¹÷Cå÷÷÷åûûCûC1û ûû1÷ ÷C âìb—i™¨¢ œ¬°Ÿyswzq{ ÇÚ÷ô½¤¡¤­¯žnRûéÍ÷ô½¤¢¤®¯œnRûéÚ÷ðìdÀHUkjXnÃl§ZTml^sˆ '²EÍJ¹«OÇrÌÙÙ¤ÌÇÇ]¬IIdE'Æ¡°¼Æ»w¤iruyoo¢}¢Ž‹Œerqd|ã°ÒÊ÷/…÷Kr³¶†X cZZs³¶…XL°Dã Àï Ð °UUdfTS²fÁ°pv¡­¬ ¡¦¦ ujivupÀ¯û‡V ÷=J8oI…$§„¢÷ “cבЦÅ ¦Í+÷<+x Å™µ¬Å¤¡}Ç™µ¬Æ¤‚¡}‹øìà 11½ ÷¿÷~¿÷"Í÷LÍ÷"ø9 ÕMßàÔÉööBÉ67AM ÍЮ»ÄÄ®[FEh\RRhºÑ“~‘}|^f{]† Úr ÷À=ûÀ= ÷™g õÝ÷÷÷÷Gû„çûp÷¹÷V÷U- ÷–ßøÞ÷lÑü˜E÷l ’KÏù\9ûOŽ1²^`£P ûbÂ÷~È÷~û h ²¤°¶«Qjre^UÐ3÷-´ ÷ ÷KÙÙg à ÷( Ïø ÷ò÷)÷eÏ÷õùO1]U8'@±^¿¶ªª¹µn©b‚‚‰‡ƒаÀɯž r µE л¼ÞÜ[»FF[[:8»Zеgp§É ¬ž`½¹§±î Þ÷>Ix ÷2Æß÷>ø i¯±wÂÒÀµÊË]¯Iww‡‚{•Ñ÷ÂûQzû/ªvšŸ”¥ ®û¥Ÿž¦¥÷Yxxqpžx¥û@¥žž¦¥xžqqwxqpŸx¥ø.ÞÜì?¸×jÕ÷7Áï÷øSûúE÷§üûa[-XY§Åe Âã÷#BØû#Âã÷#C¶÷3µ÷ËÆ÷©ù´»“¸Ÿ¾º`¢=Žƒa¼ˆ qvw‚s… øíÄ÷E÷Š÷Eøí÷ŠÄûŠÀ³­ÁÀc®VUdhVU²iÁ¯pvž¬ª Ÿ¦¤¡wljuxrn¾¤­—šžv´ƒ~†|rušª ÷ g…yukoÁ ø¬Á÷CË÷1Ë÷C÷˜Ë÷w«¬¢œ­»žqTûWË÷_Ý ÷¿ÉàøBà÷¿¶ ÷À÷|À÷Í÷?Ë (Ë¡ ¨š™Ÿ«Ÿ`½¹¦±î º€n‡|}w·@kx¶X ÷´ÍÝ÷ Ùl½P`fpZY®r¶‘’ŒŒ‘ˆFK"ÍÒ³¸¿¥¤ƒt§û5ppq~mSk¶Ô[ d K÷ v aÝ<ü§- û‹Q÷‹HîLl ÷*³_™ z÷8 ÅËÌËJÅ5ó? ÎÏ„ ;[  ÷`ù)÷G ÓûOµÒ÷O„"ûÂ÷ÊD_ûq;‡pÛ g…~yvknÁ[ ÓÒ`Ú>Ð ø½* ¹¤À *§š™Ÿ«¡a¾¹¦°À û0ýû™÷–ß ½í±é¼÷êÊ[Êè÷@ º°‘—¡¬¦T Kº–¹Áº [‰§à Î(ÊÏ ù÷™÷0 ¸n¡G• ÷KÙÙÙ Äg}Vm ™÷/ŒÄPûh× ¶¯ ®HîKi ´pž  ÷ ¼Z÷( á®ÁÀ^k…smYYs©«…^V 1 1  ÷ÀÙûrøÛ= ²™œ¢± Èøì ¢÷X ÷" w žŸ¤¥xŸ Wmodd û\ d†tf\\t°²†X©  d ½÷³ÅÁ÷þÊ÷@ Î ¸ Ô÷fÐ÷“Ô ì† ‹Òø—Ñ  ÷`÷H û™ (û”ûaô%÷÷îÞ÷÷:Íû K ÷lÓ÷÷à÷÷l÷àÓûàëx Úë÷–¹žÀ»_÷ ½üÎúJmøì ˜£±œzqmqwT øk÷¾Íø ÅèÝ [ 1  ¥Æqq ûe÷Y „÷G Çà÷Êà øÑ÷( ÔøªÔ K ö÷(Æ ¤Ï¼ ¬¨¤µ´n¤jjnrba¨r¬÷lÓŸøÄŸ÷løÄÓüÄ÷a÷«ø¬ì øzI†MÍü7Ýø7òÎ$ØÉ …¶÷9»á ¹÷Z¹ á pÖ÷9Ú߃¹÷Z¹†Ü Y¯÷I½¾g­^^giX˜¦È£_G?d_Vuo“¡o÷L÷‚>Éà÷L E ÷™û\Ù RµmÀ¦­˜šž ´Ä ØÞ÷› d÷r ÅÌÌËJÅ4ó@ ­˜šžu¸‚~†{stšª À§ºÉ’\g…~yvkoÁZ eË«zijp}hghž£wW Ö ã÷È»÷˜ Çà÷¬Ý Ù÷«¡¤÷=r« ÷†½½½¢¶ì³C û LB ï·  D½õ X÷jw ÷=÷o÷6÷o ©ûÞøºY „ÞG ¬¦T¼ ÒØå÷åØ÷À÷"â =ý)q †2€qq J ØÞ Kâà ï÷ÀýÙ ûLv÷UÐøÐ ÷’ç÷’  Å ÷÷0û ÷° ÷J û™ùû0 vø7Î ý:ý‚½ü8ùPmøV ÿ€wÿ €Ì ²¤°³¨øzûÈH÷v ’ÁŽb¹Årº÷ó øÑ1†1÷ û( @bG8fYøYÒ1½ û0ý)û™”~‘ üÎ÷_÷1¿ßNÞôÄ ÷À÷À÷Àû\÷À ¹°’—¡¬¥T¼ øFÁ­÷0›ï: ¼Ê÷Í÷TËø¶ µDvø<ÕwŸw ÷~÷÷À ÷Eûl³xv ùV÷ X` ÷T ÷r ÷)÷bÎ÷6Ï÷ ¯ò°÷c¸ê¹÷À NcvZ{GV÷ ÷rø÷0÷#·Cæû ÐwÇà …± Çà ‹Á kr¸]]ncV‡ ¨’Q½û” ªªu£kkusll¡ ÍǺÁÍ_°C[ ÷\Ò½´¤¶Ñ \ºÔ`÷÷ó ÷I½½g®^^ øÓºÂ¤÷B÷ ÷™øÙ÷#à sk‚ûi´÷À ÷÷0û ÷ÀÙûÀ ËøË i¸¸¯­ Ðà÷Ç× scZZ ¼Î`÷÷÷ ùdÅòò< «×ÐË÷ï\Ë ¾übDøû& ä°ÒÊ÷/ â× g„yulnÁ[ ÷÷+ ÷ ö÷( ï÷«Ý÷ýÏ ýÙù÷À÷0 ‚‚‰‡‚аÀ qvy÷8 wžqq "B®«°­‡¯‰ Š—±˜µ² ´¡¹¶¸¸¹ŒÉºÌ¾»¿½Ð ÛÀê ÄÁôÃõÅ Æ ÇšËÈÍÊÌ %Î&ÒÏ.Ñ/ÖÓFÕG‘N ’X×[ÛØÜÚ` “kÝz•~áÞ„à…âœã䢧¢¤a`¨ m² Ñ  y` {hAiwukjxÛo‰:Ürt@ <>\^]=  pfsªÝ¥™Þ!ßà;‹¡gbd<a=,>cGzž›£D@ ¦¨ŸIJœ?L_M—N&|ˆuƒ€„†‚…‡zåÃST`¿ÇÖá#+3@Pcm¨/9CO~‡ÓÚæ÷09MW“Êâ÷)6Pdpºï!7hˆÕßìõÿDz–±åù9Yxºä'@•¸  ^ Ò & 4 B O b ‚ š · ¹ Ë ß ò I _ Œ ± Æ Û  H p ª ö  O o ž ´ Ì à ø:Pj¤çõ,DQi€Ž£¾;Q˜²Éë9QpŽÊó.N\l{™®ÃÜêø !GjнÚC•ÄÓâd› -OzžÚ&5 ÁÔçHYаÈÜï6Nd|¢¶ãAgzÞïùz”¤¶ÇØåô/H\t‰±ÅÇm… ¹ï!Ag³Íî 3Yƒ²è  4 j ¿ ö!B!ä"C"–"¥"¼"Ð"å##-#A#«#¾#Ò#ð$$?$X$Š$ $¶$à% %1%R%w%»%ì&P&&ì''H'”'©((+(L(|(Ì(Ý(í))%)M)g)„)™)Ã)å**A*K*h*–*­*Ê*å+#+L+f+ˆ+¤+í,,+,P,‚,­,Î,î--S-d-v--¶-Ñ-ë. ..:.R.i.‡.¥.À.û//“0070M0c0Œ0Ì0ö1g1‡1³1Û22>2_2w2–2µ3 3K3b3z3Ü3ó4L4m4‡4¢4É4ä555l5¡5Å5ð6:6i6†6Ó77e7¬7Ë7ì88=8J8W8…8Ä8ñ8ù9949j99”9¬9Ì9à: :':G:]:v:Œ:¡;;l;z;á;ô%>d>—??^?–?Ý@%@8@V@p@•@È@þA ANA}A¡AÀAêBBNBŽBÎCC1C_C—C×DDSDjD–DÉDìEECEfE F6FxFŽF¼FþG7GvG·GÝGßH2HrHˆH³HõI,ItIºIßIáJ4Jw@wdwfwuww¦w°w¿wÒwÝwêwôxxx'x5x7xExjxxºxçyyyKygyxy‰y‹y²yËyÚyþz!z4zQztzšzÉzázú{{8{W{j{€{˜{Â{à{ú||/|U|d|ˆ|Ì|ÿ}2}A}u}v}w}x}y}„}”}¡}¯}Ò}î~~:~g~‹~´~Ù~æ~õ "0>N^l|‡‘š¢±ÂÝû€€€8€E€T€[€m€|€Š€›€ª€·€Ç€Ñ€Ý€è€÷(FeryФ°ÀÎÜéÿ‚‚‚4‚T‚e‚Š‚™‚©‚½‚Ƃւõƒƒ*ƒEƒ[ƒhƒ{ƒ”ƒ°ƒ¼ƒÓƒéƒþ„„+„6„@„U„j„…„œ„«„Ą߄ö… …(…<…I…W…n…ˆ…¡…À…à††#†6†I†}†ˆ†™†¦†±†¼†Ñ†Þ†ê†ÿ‡‡%‡8‡K‡V‡a‡l‡w‡‚‡‡˜‡£‡±‡¿‡Í‡Ù‡ç‡õˆˆ ˆ$ˆa‰ ‰‰.‰=‰G‰X‰e‰‰‰¥‰¹‰Ð‰à‹Åø²ÇÉÌ÷íÍÉøpù(üpÌüºøb÷û|å÷÷|übûÂWÕ÷Áò¿$Ôûû÷ÝYéI÷ ÷Iû Z- D÷- ÷]÷Ÿ"‹Í÷ŒÉ÷jÍòß÷ƒÝ^Ýôò÷W÷&ðÊ÷åS¿+šøØŸ±ÅÌ÷0¸ûûHßû¬÷jáð¿mDB^cû9ûÊ÷Œîô÷Éf:2Jbû…Íá+‹ÏøœÏàÞ÷»á> ‹R ÷ß( v÷ºÑ÷rÑ÷Þ÷Þ÷º÷¡Ñû¡÷r÷ÒÑü%ÌÀâ÷ÐØ%  ÷D Úß÷¦ßs а.Ôø¢ÑÞ íß“ ‹ÒøÝw÷Ýc v÷Fè÷ÀàÜÑ÷½j ‹Ë ÷¨Ú\Ç l6œA …÷. !  v÷˜Ï÷™ÎñÞ÷©ÞñÞ÷˜÷ ÷$íÌ÷÷$*¼û%û]ÞûÜ÷™ö÷Ãl,.Taûû7ÒàÎø­Ó¼à÷Ýà÷÷ß÷7ËòðïË$û7û7Kû'&K÷÷7ø(ü1†z†wGW¨Ãu÷ ¤Û÷÷O÷e&÷û(û)&ûûfûRÞû÷u2¬ÓI÷¨£‘“  ì ïÞ÷ŸÞ÷KøáS øûíû;÷²4 …íà÷¡& vøÞѰpÚß÷©Ü$‹àøÏw¶ø–÷ì÷dù$6"ûöu=zMs>‡sØ{ÉtÙ!÷ö3Ì •øØ( Þ Áø€Áãí÷Eœ«œ¬ž³¡cjkîûEçûX÷ã÷K÷Õ31û<{m~pye‡v±|¦z©/÷</÷KûÑÞ °)‹Òø˜ÑÌønJW Å ¸) x#¸# ÷èÝ÷¬à|èͼ÷ì÷:÷*DìûRMn^]é÷V9Ýüê÷6hX›´]} Ûà, Ö ÷¬Ý¼Ç‰ |€¼: U ÷J ½÷?Î÷†ÜøÖùLž]]”[ûM=û bû†M÷ü7Üø7÷`Îû`·Ú¯»âµª†y³H ª÷|בܺ@w Ù Bº@UØ 0Ù@IÕ@A¸ÀT º@ÇÕ@8  ÷E èÝ÷žÝ' W÷÷V9½ï÷÷®÷)Ýè<ð” ûmÎøÍÎï÷÷®÷)ÝèZ ð”  vøzw÷ŠwõÝ~ûšû“‡øu9ÏøáÎ÷‹Ý- ÷ÇÚ÷Í÷ÚÜj¼„ËK Ù÷žÝØ' X‡¸÷} Çà÷Êà!÷wèÝ÷¬àì÷A¾c·Ät¸÷ óì÷9÷+EìûOLl`^ˆÜ„ÉGýGÝ÷8÷/ì÷4ÜjX›´]÷wöìLJ û6ß/÷ÆÃ¬´¶‡3ûGÝÜùGIì„Uˆ¶]^¢P:  Ù ÷&ÝÈG¨žÒÈ` ˜Ý÷Hïß÷—Þ& ÎøÎ÷bÝ* ÷÷›Ý¸øøz9" x… ‹Îø7w¾ø†÷”ç÷]øz<ûû¨wZ{[z]‡z¹y»w¼û÷¨8÷ “øÜ°³ ð[°N ðN°P÷­7 vøzwËøkËãÛ÷ŸªŸ§Ÿ¨ o¢kŸoàûåûN÷‰÷A÷…4B"zpwmyp‡w¦w¨z¥>ö0÷?û~ܼøŠ%‹Î÷ôÎÒøaM Ž ­ :üK"Ž Ê û üK"Ž ÷¾ùš„ Î+÷;+x ÎmüK" DÂ÷9÷/¹÷Z¹îø#ùÇöf îQß »ªºÈ‘ûˆü¼" DÆ÷* øù_¨Ÿ §¨wŸnovwno v§û@§  §¨vŸonwwnoŸv¨~üT" DÔÄ÷D÷Œø<ù¦ûŒR÷Œûsüb" D¿º÷- ø ùÆOÛ¯ÁÃ’ûrü»" D¶÷2ùÚ¤¡wljuxrpvž¬ª Ÿ¦ûÀ³­ÁÀc®VUdhVU²iÁ(üD"Ž ÷èùVë÷HTPüK"ûv÷÷ D÷+(7 D÷<»÷ÓË£Müi"äøªúCôDû¿û%‰9/!ÊiüK"äøxù–D÷÷6ôû‰9/!ÊiüK"÷¿µøUÅø3ù†~ !v9/!ÊiüK"÷¯»…»÷<µ÷Hµ÷øú>ûo‡|}w÷ê µ®û<û/!ÊÊÉÊMÊ/õûüµ"ûv÷÷ D½÷÷~÷÷¾ùš„ Î+÷;+x ÎÐý¹7÷ ¾˜÷- ø+úCA"¼ΘEà ûqü¸"÷ ¾˜÷- ÷çù¶AôCì"â˜Eà ûqü¸" v÷\Î÷ÕÏ¿’÷wEà ûqü¸"÷ 껈»÷;µ÷Hµûøú?o†|zw÷÷;µ§›œŸû«£^º¹§´¿û‘ûT’±WØà ^iƒvm[©­ƒuü¸"ûv÷÷ D¿º÷~÷ø ùÆOÛ¯ÁÃ’ûþ)7ûhÆ÷BDø<Ë÷]÷Ÿªï¢Ô Ó × ? C¢Bª'÷Gü*‚~†zttšªµ­¹¹žûqù$-ûqý$àÊ÷\÷‚Éû\žhtc[Uì‹Ò÷ οÒ÷aÑ÷Ñ×÷M÷–¹÷ ¦Ò¨Ñ¦ÓŽûà×ûO÷ƒ÷'Òû'÷a÷QÑû×û˜ý$âÔ÷S÷2ûS÷¦Ò‹Ê÷ºðÂ÷jÉóÞ÷ŒÜ`Ûú÷OÊ÷÷#ºû#ðö÷Ëd5.H_û ø§éüðÀmCA\eû1ú÷jwüÙŸ°ÁË÷0¹ûûOüD>†aØûE÷^ú÷'ïË÷çSÀ+šûi´÷6ÒøªÔÍá÷VËøŽ÷\a^qOû:ó÷9÷7Üñ÷¶sg­ºÀµeM±<û?ûûûgûYóû÷&xiJ¬ ±ØÆ®¼ÃbÍá+ø0ø~I bÍá+÷hø5 bÍá+÷òø~? …¹öÍá÷÷+÷­ø@‹ÏøœÏ½÷àÞ÷»á> ÷ù‚IC Úë÷KîÏøœÏàÞÃ÷öá> ½ûº3û?Å÷ÏøœÏàÞ‰÷‹½áô> ì÷AûI¡^‹R ½÷÷ß(÷Z½‚‹R ½÷÷ß(÷ï÷6I ‹R ½÷÷ß(÷'½t‹R ½÷÷ß(÷±÷6YÚë÷‹R Æí÷߇íÖíè(ö÷ƨŸ §¨wŸnovwno v§÷A§  §¨vŸoovwno v§‹R ÔÄ÷ß“÷Œø(üçÔ® ‹R ¿º÷ß(÷l¿Û¯ÁÃ’Xk…vl^]vª«…YS‘°UÛ‹R Åö÷ßÖ÷(÷lÅ«£¡«ªs¡kkrulk¤u«KîR ÷ßÏ÷(÷mþF ‹R ÷<»÷ß÷+Ë(÷Pµy ‹R Â÷9÷ß~¹÷Z¸õ(÷¨Â»ªºÈ^j…|xwófn¿Vë\l]M…¹­šŸõß ‹R ½õa÷÷ßô(÷Ç÷¿ìå÷Côû¶ûCÊË< ‹R ½õa÷÷ßô(ì÷Ý÷u÷6¾ôûÌKÊË< ‹R ½õ¿µ÷ß÷¬Æ(÷ßíº“¸Ÿ¾¹`£=Žƒa¼ˆ qvx‚r…û}8ÊË< ‹R ½õ¯»…»÷ß‹´÷Iµö(â½ÊË< õ€T¯§š™ž¬¡a½¹§°î ú€o†}}wõktµY]peW†KîR ½÷÷ßÏ÷(÷'½t÷þ8F ûhÆ÷-R ÷ß÷?Ì÷÷Þfse]TR¶m¿¦ñÀ¹»¸‘Òûß÷‚÷£Òû£÷b÷ÕÑü)̱÷Àâ÷ÐØ% ÷eø¦Î+÷<+x ̳ºÀâ÷ÐØ% ÷ªøÛ°ÁÑYk…ul^^vª«…XS’¯UÛ̹öÀâ÷÷ÏØ% ÷ªø@ûl³÷8ÎÀâ÷[ËÀØ% ÷‘ü ¤ ̱÷Àâ÷ÐØ% ÷ïø~ ÌÈÄÀâÎ÷ŒŒØú% ü÷.ø%® ̶÷9À⺸÷Z¹wØì€% ÷÷æø¦ j†|xwfn¿Vî€[l]M†¸­‘šŸ÷°¨W¿ ÷D Ñ÷Úß÷¦ßs ÷,½tûv÷÷ ÷D ÚßÒ÷Óßs ÷qþ4ûb¾÷D÷D Úß•¾÷+¾–ßùs ÿ÷qýòá®ÏÆXd†sf]\t°²…XP¯Gá v÷ÉÓ÷º\÷8Úß÷¦ßìøIøû¦÷÷¦÷-ºF÷K û¦÷K F†aÐü€ß÷É÷¦ûÉßø€Ðн÷.÷Où‚н÷.÷äùI н÷.÷ù5 ÐÂ÷9÷/¹ÄßĹÔ.æ÷ù† ÐÆí÷9í†ß†íÈ.ô÷ ù1ÐÔİ.Üù&® пº°.÷aùÛ¯ÁÃ’YOÐÅö÷‡÷(ßÈ.ð÷aù@н÷.÷¦ù? Ð÷<»÷–ßtËÐ.÷Eù§ KîÒø—Ñ÷÷ûßh.ð÷bû½4ûhÆ÷-Òø—Ñ÷hËyßhêð÷KknidRìt¸‚€~†{ssšª´£­µ«÷7Òhû7ø—÷7Ñü.E÷7ü—û7Ôø¢Ñ¼÷÷ øÃtûl³÷Y÷9 íß÷4Ë“ ÷fýTye¨`¸m¡G•‹ÒøÝwÑ÷÷Ýc÷O÷6I ‹ÒøO÷hEw÷Ýÿ«€ÿ1€¸cØ÷¼û"™÷/ŒÄPŽûhûl³÷DÒøÝw÷Ý÷Ëc÷KýT¤ ‹Ò÷i÷÷‰w÷Ý÷)÷c÷¼üF KîÒøÝw÷ÝË÷c÷hþ,KîÒøÝwèÄ÷ÝË÷cGÔ÷ŒÄûŒ÷¬þˆ,û?Å÷ÒøÝw÷Ý‘÷‹ðcè÷ãý•¡‹ÒøÝw÷Ý÷lÒ÷X÷v÷ Ïûvû ÷Õ9ûý:_Hܶûwø+ÒŸ÷Fè÷ÀàÜÑÞ÷Ýj ÷oþ3‹v Ñ÷ÞÚ÷¨Ú^Ç n6žA ÷ö÷6I ‹v Ñ÷ÞÚ÷¨Ú^Ç n6žA ÷¸÷6? ‹v Ö÷9ÞÚŠ¹÷Z¹~ÚV@Ç f@6–@A Z€÷¯ÂV€¦ Y€f U@QZ€ß ûl³÷DË ÷"ËÑÚ­Ç µ6ÏA ÷PýTyes¸n¡G•‹v ÙöÞÚâ÷ÖÚ]Ç m6ŸA ÷sÅ@KîË Ó÷ÓÚ­Ç µ6ÏA ÷mþ3û?Å÷Ë ™÷‹šÚ­Ç µ6ÍA ¯÷èý•¡b÷. ! yù‚b÷. ! ÷ù‰I b÷. ! Fù5 æÙ! ëÇùÛ¦ ïf ÝQëß …ºí»áªíÕíªá! 5ù"1…ÈÄ»áµ÷Œµá! ûù0® …³º÷. ! ùÛ¯ÁÃ’YOb÷. ! Zùb÷. ! Ðù‰? ÷»áï÷ïá! û³3…÷0»»á÷MËÞá! où­÷8õa÷÷. ì! æùY¿Üæ÷Cìû¶ûCB ÷8õa÷÷. ì! Ü÷ùÈ÷6¿ìûÌKB ÷8õ¿µ»á÷ÏÅbáú! ü÷ùI~ û|8B ÷8õ¯»…»»á­µ÷Hµ­áï€! ûùB U¯®a÷€o‡|}wï€ê ÷±÷»áï÷ïá! Fù5 ÷þ83…÷. øMøx›b”WOû8I!'`fŸ®olÃy¶‚ÁÉ÷7Íðï·±wh§÷&÷\«U<³bV Nû(#ûûf*¡;±PL.»kÀÚcµ¿vÇ÷(ó÷÷gêvÙeÄ‹ÏGÒ÷‚Ò÷cѬá÷SØ|¬÷ßûeîû÷8÷»Òû`÷‚÷(Òû(÷c÷VÑû®û:'û ûe¼á÷;Ãå÷ üœvûSë÷;…÷. RÎð÷ÀÈ'Iõ÷8÷7ÍðïïÍ&û7û8I!'è2ðn èvb÷. RÎøÊ yLb÷. RÎø­ L…÷0»»á÷MËÞáRÎül °ý7'Iõ÷8÷7ÍðïïÍ&û7û8I!'ú2ün úvæRÎÛø#ùÇïf ßQß »ªºÈ‘Ùû%ýŠ'Iõ÷8÷7ÍðïïÍ&û7û8I!'Ø€2Ùn Ø€v÷»áï÷ïáRÎü÷À ÷4'Iõ÷8÷7ÍðïïÍ&û7û8I!'ú2ün úvûhÆ÷"ÓøªÔ»áïÌ÷;áøû‚~†{tsšª¯£»Á¢õ¹Ð÷÷E÷e#÷û(û(#ûûfûB×û7÷@†hnpb_R¶mÀ¥­˜šŸû÷‰'Iõ÷8÷7ÍðïïÍ&û7û8I!'ï øHùÆ-2x Ðûû S øûíû;÷²4 ï ÷ìùVë÷HIC 9û S øûíû;÷²4 ûl³÷Yì ïÞ÷!ËÉÞ÷¥5s¸n¡G•ûùS ÷_P4 êûv÷÷ ì ïÞÒ÷ËÞ÷Ô ûùDS ÷_P4 êûv÷÷ ì ÔÄïÞ‰÷ŒûC÷ËÞú€øAù¦ûŒR÷Œý€ûýÐ>ûùDS ÷_P4 êû?Å÷ì ïÞ˜÷‹’Þü÷Xû?÷‹Åû‹ú~ùRS ÷_P4 êbíà÷¡&÷Ùù7I bíà÷¡&÷øÇ5 bíà÷¡&÷›ù7? ûi´÷5ÓøªÔíà÷Ë×à÷ÀøS¢N¢Êƾ°Ú̽se¶·Á»[C¬9û1A'+×\ÍqébÎo¾vHKV`.CG¬¼ZYQÁUÕgá…jK¬ ²÷–×ÙììK¸:¬ûl³÷8àíà÷ËÕ&÷8ûSyes¸n¡G•…¹öíàÒ÷ß&÷VøÏ@÷íàÈ÷×&÷Uü3ÑfvøëÐÚà÷ËãxÚàø4÷ÁÅåűf^žû û-U÷q®XM¸Ii\Qcjœ²j[V_¯ÄnÐõÍÚóêUÏû§÷ ÷,èlJÈ$û2A%û vøÞѽ÷÷÷| ûi´÷UvøÞÑ÷–ß`Ëp÷êøÞ÷lÑü˜E÷lüÞèše@´¹p£½ûl³÷YvøÞÑ÷–ßfËðè˜ýye¨`¸m¡G•ŸøÞÑ÷÷ûßèð¶ýÀ4û?Å÷vøÞѰ÷9ýO÷! pÑ÷Úß÷©Ü$÷_½‚pÑ÷Úß÷©Ü$÷ô÷6I pÑ÷Úß÷©Ü$÷,½5 çÙ$ê÷­ÂÚ¦ æf ÕQêß pÚíÚßíÕíÜò$ì÷Æ1pèÄÚߘ÷Œ›Üô$üìÔ® pÓºÚß÷© ¿Û¯ÁÃ’YOpʯò°Úß·¸ê¹º ¶”pÑ÷Úß÷©Ü$÷@½pÑ÷Úß÷©Ü$÷¶÷6? pÚæÂ¹Úßæ8÷Œ8æ“Üø€$ú€ì÷a÷Œ¹ûŒõ€±ûT2 pÚæ¬÷ÚßæÝæ“Üù$÷>÷KÏ÷÷0÷ûû2 pÚæ¬÷ÚßæÝæ“Üù$÷÷Æ2 z÷HG÷ ÏHëûÛë÷pÚæ¬÷ÚßæÝæ“Üù$÷K÷º0÷ûÏ÷KâÐ ÚßÒ÷Õ þ3p÷P»Úß÷0ËÄÜ$÷Uµ­ûhÆ÷"ÓøçwÚßÏÌ÷$ÜÚ÷Œû9Ò/÷&‰rrciTR¶mÀ¥ñ¯ª·Ñ«Õ­½Ô÷ø,:ü.ûNZ<Rlabô÷(Å ¼) |#¼# ÷/øMó ô÷(Å ¼) |#¼# ÷ŸøáÍ Ëô÷(Z¼Å ¶) v#¶# ŸøMº W Ü÷:ÜÛ–º÷Qºuݬ€) l€#¬€# ¯–øS²¼·À–[¯Uí W å÷ÜÛ÷à÷lݹ) y#¹# ¶Ãø\Ú tsll¢sª÷U]W òÄÜÛ©÷‰ˆÝº) z#º# ¼©øiž W ؾÜÛ¢¾÷2¾€Ý¹) y#¹# ¾÷-øOm÷5 W ·°÷°ÜÛÆ¸ì¸¥Ý¾€) ~€#¾€# ¿€÷-ø.Á²°ÃÂd°UTdfTS²f°pu¡­¬¡¡¦¥¡ujiuuqô¼Z÷(Å ®) n#®# ÷ øM»Kâo ÜÛ×÷ËÝÚ) º#Ú# Þ÷"ûú,W ÷I»ÜÛ÷@˯ݾ) ~#¾# ÷ø9y ô÷ W÷Å ¶) v#¶# ¯øMR÷W¾®è÷,ô÷ W÷Å ¶) v#¶# ¯øMR®÷5ÉEè÷ ô÷ ¾´Å Wƾ) ~#¾# ¯øMR½÷)³`™ y€s„W Ô÷7 ÜÛ¡µ÷Eµ€Ý¶@) v@#¶@# §øKð·€X¯›]pö Kâo Ö÷G ÜÛ×÷ËÝÚ€) º€#Ú€# ŸøMËÖ€€ Û€µD¤þG,W غ¤Š¾) ~#¾# ÷øµ¼â÷Gmûj{ W غ¤Š¾) ~#¾# ÷ù%Gâx ¼f%{ W غ÷D´ÜÛ÷4ÆÀÝ¿) #¿# ÷-øO{ p÷º–¹žÀ»`÷ y€r„W ظ滆»ÜÛ¡µ÷Eµ€Ý¶@) v@#¶@# ·€÷-øOà®ÁÀ]k…tmYYs©«…^V®Uáû÷µ›·€]pö Kâo ؾÜÛ¢¾÷£¾€Ý\@) <@#\@# ^€÷-øOm÷ Ý@€ýµ,ûbÂ÷o ÜÛ÷cÈÝÚ) ’MÜdrb]Uh º²ª·Â¡÷¾÷ KÚû69ekZ«S§¸É©Êé¬SIÚ# Í÷=Â÷/Ìœ×÷@Ð÷VМ÷4¾UÚ¾À«ÆÁR«ºiѽ¸Ÿ¢¬nÁzol}f=cÏð‡÷–œœž÷ [ò(K^gMkÃycµLOTqqcªS ª»Ÿ®Ê¢XCŒû8r7R*÷Ñ÷)ì‘´ÅÉÌŸC8üGû%ɼ±÷ ŒrŒef•n]h^ri^n¦¿Ðgvø-Ðè»[÷!èÝ÷¬à¶÷C÷ä½½½¢¶ì³G&ûLF6hX›´]øÔ÷h»ûh®è9v.B†`ÔüÏͶ÷è÷4÷$DèûRMn^]ûTv÷^Îø ÏÛà÷IËø€ËƦº¶gÀibYpOû@÷, Ø×÷¾µvh³´À²cQ«<û'û.û7û*î0÷jK» k–ô Ûà, øøsxô Z¼Ûàè, ÷÷߈ +†Dµ ¾ÛàØ, ÷x÷ßÒë— } ã÷Ûà÷÷, ÷›÷ì,X½÷8û8÷h½à÷¬Ýµ¼·½‰ w€·: øR÷ů™÷/ŒÄP·ûhKâÖ ê÷ÀX ß÷5üi,û?ÅðÖ °÷‹‡X Þ÷°ûø¡Ðgvø-Ðè»[÷!ö¶ø=÷[`]r[1VÍ÷óÏÓà´µ{b·÷.÷ŸC®è9¶.ûB[÷BIŽ1²^`£Pû!-û,û0ß3÷ÇÅ®´³Žv’KÏøÏÓU Ö÷(÷J û%÷·÷C U Ö÷(÷J køKÍ ËU Ö÷(Z¼÷ö û«÷·Ëî€ öÍšU Ö¼Z÷(÷î ûJ÷·ª KöI(‡îHîKU å÷Ðà–öà÷‡×é þû‡÷ÆÚ usll¡sª÷U]U òÄÐà±÷‰£×ú þû¡÷Óž U ؾÐા÷1¿›×ý û&÷¹ÿã°ÒÊW`†÷Kr³¶†Xý÷5 U ã÷Ðàê÷Ü× û&÷Ä4KâP Ðàê÷Ü× û&ü4U ÷I»Ðà÷HÊË× ûB÷£Å•¿¤Å¾Y¦3Žƒ´rk‚U Ü÷:Ðàžº÷Qº×ì€ ïû´÷½²¼÷À–[ïUí U Ö÷ W÷÷ö û›÷·R÷W¾îç÷FU Ö÷ W÷÷ö û›÷·Rî÷5ÉEè÷ U Ö÷ ¾´÷BÆö û›÷·Rý÷)³`™ y€r„U Ô÷7 Ðੵ÷Eµ›×ö@ û£÷µð÷ÀX¯¨š™Ÿ«Ÿ`½¹¦±î úÀn‡|}w÷@kx¶X]pö KâP Ö÷G Ðàê÷Ü×û€ û«÷·Ë÷€€ û€Í(ËÏ D¯þG4ûbÂ÷P Ðà÷NÇÈ×ø|îo^]zR!?Íò‡ø—Œœ÷9æûûû *û3û3÷ ,÷$¥ Œ–¨nsf^WS²•·¥´æÌü÷ê˜ÓÃÚåÁU*H Ö÷(Z¼ª÷|בܺw ÚHBºUÚ(0ÚPIÖPAº0T ºÇÖP8 ûøÊÙP€ ÚPΚH ؾª‘¾÷2¾iבÜ»w Ú„B»UÚD0ÚˆIÖˆAºHT »ÇÖˆ8 Ú0›øå …XL°DãH ã÷ªÒ÷©3 Ú°›ø F H ÷?´ªÎËðבܹ0w بB¹0UØh0ذIÔ°A¸pT ¹0ÇÖ°8 ·÷ྠ_©tÎH Ö¼Z÷(ª÷|בܹw ÙHB¹UÙ(0ÙPIÕPA¹0T ¹ÇÕP8 xøª KÚP¯ ÙP¢H òĪ™÷‰p3 Ú !øž H Ü‹Áª†º÷Qº]בܹ„w ÙBB¹„UÙ"0ÙDIÕDA¹$T ¹„ÇÕD8 Ùûø²»ÚÁ–ZÙVí  ÷E Ä÷èÝ÷žÝ' W÷÷V9z°¦Î+÷<+û÷R ÷jwèÝÔ÷ÈÝ' W÷÷V9÷qþ>Fûb¾÷D÷E èÝ—¾÷*¿ŒÝù' W÷÷V9þ÷pþ*á¯ÏÆWÉ vø+Òè»[÷!èÝ÷žÝì÷Cø†Ô÷h»ûhÜè9ì.B†`ÔüÏÝ÷ӯIJ¨ÅÛ«_/û£Ý÷®÷VÏû?SbUW½â÷(÷ÐÝ<÷˜â¼ ½â÷(÷ÐÝ<øÓ ½â÷G ÷ÐÝè<÷∠*÷(D½è÷:÷bºÊݸ¹Þ<÷Ò î÷RÞÝ ½ñ÷÷Zö–݃÷è<ô÷5ñÚ usll¡sª÷U]½÷Ä÷u÷‰û.Ýè<ð÷÷ž ½ä¾÷n¾ºÝ¨¾ø<÷–äümø÷5 ½â¾÷ÐÝØ<÷râÒì— ½÷U»÷ÐÝlËð<÷zÎèÅ•À¤Å¾X¦3Žƒ´sj‚Ÿø7Îï÷÷®÷)Ýô<ø” ýÀ°¨¤±²nG ûbÂ÷@÷ï÷÷¤ÈX÷)Ýò÷ÐøžpogdUS³•ò÷ô«÷;FûbÂ÷@÷÷¤ÈzÝè÷ÐðžpogdUS³•è÷½÷ÐÝ<ûmÎøÍÎâ÷G ÷ÐÝèZ ÷∠*÷(D÷-÷vøzw÷ŠwõÝ÷+Ë~~ûšû“‡øu9÷\ýŒ¾‹ ~÷5 vøzwõÝ~û›û“ˆŠ÷”9Ïøáκ÷÷‹Ý- ÷Ú÷2-3ûÐÏø€÷hûÎ÷‹ÝÒ¼¸- Ø÷ýû8ºÏ÷w÷÷Î÷dÝÜ÷µù÷:üvûÃOòÀ­˜›·vÉ{go„pPf©Òø¿ûŒøüA,÷-÷`ÏøáÎ÷‹Ý¹Ë|- ÷˜ýŒ¼ye¨`|¸m¡G•KâÏøáÎ÷‹Ýs÷ð- è÷¶þ>4KâÏøáÎ÷Ä÷‹Ýs÷ø- Û÷ž ô÷fþæ4û?ÅðÏøáÎ÷‹Ý9÷Šð- èø0ýÍ÷! ÏøáÎ÷‹Ýø˜Ú{go„oQf©Ò÷m÷7æÒû70÷ŸûŒH÷:û‡ûDE÷Òû=ûÃOòÀ­˜›·÷R wÇÚï÷+Í÷ÚëjÝ„ËK÷‰ý\,÷ö÷(èÝ÷žÝÜ' X‡¼÷÷çÓ ÷ö¾èÝ÷žÝÎ' X‡®÷÷Q÷QÖ¯ ΢÷÷÷:èÝŒº÷R¹yÝÌ€' X‡¬€÷ËÞÒ Ó÷RËÝ ÷-÷Ù÷"ËÇÝu' X‡¯÷÷Süªye§`¸m¡H•÷÷ ÷èÝØ÷ÄÝÚ' X‡¾÷÷uïF÷R wèÝÓ÷ÉÝê' X‡Þ÷÷pý\Fû?Å÷Ù™÷Š‘Ýê' X‡Ú÷ì÷êüë÷! ÷ß÷)ÝκÝ÷ÞÞ‘e ÷¹—¾„×GüzÝÞ÷îÀ¿®§¿Шa3û½Þ÷È÷YÍ"DYdZ\ô Çà÷Êà!÷1÷ß¼ ô Çà÷Êà!÷¢øsx÷/ ÷Êàì!¢÷ßÊÜ€ ìŠ} Ü÷:Çà˜º÷Rº˜àÙ!ߘ÷åf\ï©ßÝ } å÷Çà÷ß÷àÒ!ìÆ÷î\} òÄÇà«÷Š«à!«÷û÷ŠÄûŠ} ؾÇा÷2¾¤àò!þ÷/÷áã°ÒÊS} Ô÷#Çà÷Êà!Ä÷Ý‘µ ¼Z÷(ÞÜ!÷ ÷ß÷ ì¯ Ü¢KâÏø ÏÇàå÷äà!÷0üh4} ÷I»Çà÷BËÓà!÷÷Ë­µ ÷ W÷Þì!²÷ßQ ÷W¾Üç÷,µ ÷ W÷Þì!²÷ßQ Ü÷5ÉFç÷ µ ÷ ¾´Çà÷ÄÇUàú!²÷ßQ ü¤} Ô÷7 Çࣵ÷Fµ£àì€!ª÷Ý¥ï€X¯¨™™ŸŒõ€n†}}wî€jx¶Y]oö Kâ÷/ ä÷äàõ!¢÷ßÊí€ ÷Š®þG3Í^vøPÍ‹wÞ¬ø@÷øœl•d_ûM>.di™£qn±z©±·÷ÉÙè²­}s¤œ÷álf¨XPªbXœUûû.û7C¢P¯`VMœ°n¾Æl´¾zÁ÷÷è÷5ÔtÇg¶Î÷<Â÷,ÏJÌ–Ø÷^É÷DÏîã÷‡÷®×ÏDz?ûûd>OGhØ÷>û6×.ïɹ²Ô§B¨½dʹ³Ÿ¢ªnÁyps~iCdÏð†÷…Ž ‹˜ž÷ [ñ/L`_BpÕq[¶M(>.û6÷è®Þê“«ÇÆÆžB9‡¹]ÏÞWϸ÷ÀÃHÔ\ ¸5´u‡¹]ÏÖ÷(ÞWϼø3÷@ M‡¹]ÏÖ÷(ÞWϼø÷‰M‡¹]Ï÷I»Çà÷BËÓàWϾ÷¤«°ü«HÝ\ ¾5½u‡¹]ÏÜ÷:Çà˜º÷Rº˜àWÏ­€øùD·€©¯€Ý f¬€û"ý HÌ@\ ¬€5¬@uKâÏø ¹]ÏÇàå÷ãàWÏÞ÷Á Š÷/Hí\ Þ5ÝuûbÂ÷ Îø ÏÇàäÈ÷4à÷~û S³n½¤®—šžu´ƒ†{sušª±¤µ¹ õ¶ÏÏ÷÷7ûèûûû.û7û.ò-÷†uxjbY2÷ÿ÷É×èèÉ?ûûM@..MÖ÷ ÷*ö÷(÷&ÝÌG¬žÒÌ` œÝ÷ÊÓ ÷-÷Ù ÷&ÝsËrGjžÒr` fݱ¤üª‹ ¸n¡G• ÷*ö¾÷&ÝÆG¦žÒÆ` –Ý÷4÷Qʯ Æ¢ûv÷÷ Ù ÷÷û ÝâGÒžÒâ` ÊÝäÁý\,ûv÷÷ ÷*÷Ä÷÷û Ý‚÷‰åGÕžÒå` ÍÝä€Ô÷ž æxþ,û?Å÷Ù ÷&ÝäGÔžÒä` ÌÝ÷Eüë¡÷HÖ÷(ïß÷—Þ& ÷ÆøïÍ Ê÷HÖ÷G ïß÷—Þì& Æø[ÊÜ€ ìΚ÷HÖ¾ïß÷—ÞÜ& ÷0ø[ª Kì¯ Ü¢ûTv÷^ÊøËïß÷ËÈÞø‡øH¬[A¨BûEO=Fà_ïr÷ n²pea`i44O¥³UcUÁeÖká†jK» k–²÷ ”ÌÉÔÕL±û¬3¡O£³±¨«æÇ¿vm¶÷-÷`ËøËïß÷ËÌÞ~& ÷=û:¾ye§`~¸m¡H•÷Hã÷ïßÁ÷ÕÞ& ÷SøhF KâËøËïßÇ÷ÎÞ& ÷ZûìFËlvù%ÎãÝ÷Ú–Ú¬Ù~ãÝøÔªfZ61l0ºû÷^ ûblfSdj˜¥fjQoµ¹zÃîËÌß÷2û]yìÐå¬ï¾ÚQÐ!û?9ûÎøÎÉ÷h÷bÝõ¼* ÷z÷ºûTv÷]Î`vø@Î÷bÝçËØø'½¿—´šyÇ~if‚]-n¹â÷{÷ƒÎûƒ÷G€ûû †M÷ûz¼ ¯?÷|iI’ Ü´pžk–÷-÷`ÎøÎ÷bÝêË|* ÷$üg¼‹ |÷5KâÎøÎ÷bݤ÷p* ø÷Aý,û?ÅðÎøÎ÷bÝj÷‹ð* è÷¼ü¨¡ÎøÎ÷€÷÷÷|Ý÷è* ôd÷Ã÷÷U÷K ö÷(Æ ¼øøz9" |… ûdøÑó K ö÷(Æ ¼øøz9" |… +ùeÍ ËK ö÷(Z¼Æ ¶øøz9" v… ûëøÑº K ÷÷:ØÞ„º÷Qº~ݬ€øøz9" j€… ûôø×º°‘˜ ­÷ À÷ ³g…yulnÁ[j€Up]L„K ÷÷ØÞ|öà÷uݹøøz9" u… ûÇøàÚ usll¡sªº÷U]K ÷ÄØÞ—÷‰‘ݺøøz9" z… ¼ûáøíž K ÷¾ØÞ¾÷2¾‰Ý¹øøz9" u… ûføÓ¶mu÷5 K ×°÷°ØÞ´¹ë¸®Ý¿€øøz9" €… ûfø²Á²°ÃÂd°UTdfTS²f°pv¡­¬ ¡¦¥¡ujiuuqK ô÷#Æ ¼øøz9" |… ûÈøÏÁã÷#CØû#Áã÷#CK ö¼Z÷(Æ ®øøz9" n… ûŠøÑ»K ÷æÒºØÞŽæ8÷Š:åˆÝ¼@øøz9" z@… û½øà¦ÆpZ¼€÷A¥žŸ¤¥xŸqZ½ûf÷6÷ŠºûŠK ÷æ´òØÞŽæÝåˆÝ¼€øøz9" z€… û›÷Mûû¦ÆpZ½÷A¥žŸ¤¥xŸqZK ÷æ´òØÞŽæÝåˆÝ¼€øøz9" z€… ûŠùdÒåòNMK‡LËN²û¦ÆpZ½÷A¥žŸ¤¥xŸqZK ÷æ´òØÞŽæÝåˆÝ¼€øøz9" |€… ûƒùË;ó$Ä»­û¥žŸ¤¥xŸqZûA¦ÆpZKâ÷ê÷°ÝÚøøz9" ¾… ûLûv4K ÷i»ØÞ÷.˸ݺøøz9" ~… û‚ø½y ûbÂ÷÷÷ZÈÝÚøøz9" ’:Ü`lfcUh º²¦°Æ¨÷÷›Ý¤Ï¼ø˜øæz¸s" x’6ÎøZ¼u áø-÷@ ¾÷t] á÷û÷¾÷p] K ÷i»ØÞ÷-˹ݤϾ÷ž«¿÷—Žz¾s" ~’6ÎøZ¿u K ÷÷:ØÞƒº÷Rº~ݤÏ­øùD³©«@Ý fÛ-z¬€s" l€’6ÎøZ¬Àu Kâ÷Ý÷¼Ý¤ÏÞ÷È ß÷dùIzÞs" ¾’6ÎøZßu D ÷ºâ÷C D ø+÷Í Ê÷TZ¼“øÜ´³ ô[´N ôN´P÷­7÷4âʬ€ ´Îš÷ ÷÷÷*÷à÷¼³ ü[¼N üN¼P÷­7÷XñÑ ¢£ªªt£l÷B Üö÷(¼øŠ%÷rùWÊ1÷ Üö÷(¼øŠ%÷ãùëxÜö÷G ¼øŠè%ãùWˆ +†DÜ÷÷÷.÷àö%÷ùfÑ ¡£ªªu£l÷B Ü÷ ÷÷‚÷%÷pùd,ûr÷û÷Y ø÷p%°ø 3±§£²±o¥efoqed§s°Ü÷i»÷ÜË%÷ZùCÅ•¿¤Å¾Y¦3ç Ü÷÷:÷7¹÷RºÜ%Úù]÷&ìòÜVí ‹Î÷ôÎâ÷(ÒøaM øù9x‹Î÷ôÎâ¾ÒøaØM ÷jø¥Òë— ‹Î÷ôÎï÷÷’÷M ÷ø²,KîÎ÷ôÎ÷÷M ÷Šû¢4Ï÷ÛË÷wÇØ÷ÔÚ÷ÀÃ2AÍïçÃÐö¿ÄtMºŒ}‹||ûX9!÷eøût´ûF^­Y§V¤eW¸u³u®rûG¢b÷*ØÈVµI0½fO©Mû+2ûû%÷2÷÷&ç÷÷4÷5Q÷3Ü÷÷jwèÝ÷¬à÷CbŠçe·Àr»÷õì÷9÷+CìûROn^\â÷]9þ)Ý÷Ó÷†½½¼¢¶ì´C û JB6iY›´]ûmÎøÍÎ÷ÐÝZ Ïø ÍwéÞ÷¤ÛØø¥÷üãA½/GEgaVˆ¸„ÍGû¾û Ì<÷àݱ«¼kÃo^MmK.jÃΉØ÷ŽžñÀ÷;…KKbûdz÷¹ÂÁ¥ÃþtT² ÷¬Ý¬ \=¬'?èÝ÷¬à¬ø[÷‹û KB6g[šµ\÷†»¶¾¤»ì´Cûà÷*DìûJKhbdˆ\„ËGüzͬ’ÁŽb¹Är»÷óì÷:} øGàøœ‡ ÷7ûèû!3LkdbµV®´¹ ÅôÓ?ûû?@ûOW¦­dfV[¿ÐoÖ÷(÷è÷5U Ê×÷Çàø§‡ ÷3!ìûû+0ûzŒyø#„BJ!R]œ§^nUl»ÈqÙ÷$÷ ê÷3ü³ìÐÁÞâÃS,˜Í÷1Æ÷7ÌÐ×÷ÈßÐ÷rû%ä2÷÷!ñì÷3÷4(éû+@Kum[¨S¥·¼œÃ÷ÄJ)‘ü‰‰yy×€÷È'‚SR+4O¿ôaÇß÷­Ýì6 ÜøIì$ ûLv÷UÒø?wØÝ÷žÝøøz9ûçQRdmQ;k·ç÷·9ûÂûÀG÷×õÀ¿‡ûûBÝK ¹Ú÷Î÷Ù¼ø²øz=ûôYrtrigy¨Ä÷éHûôYrtrhgz¨Ä÷é<ûð*²VÏÁ«¬¾§S—ªo¼誸£Ž|’KËÕVv¬vøzwøÝ˜øZøz9û±&QFeBey—iXxD˜|©©†¯å×¼Ù¾Ž8’ûÏ‹ÎøÎ÷ÌÝø÷½÷ ]Üû!VS~|_N˜­°”¹é¨]4û{ûƒH÷ƒûÏ–÷÷ Îû vø8;ø†÷ìøz/û]üzÚ÷÷¨Ÿ¼›»œºœ\[ŸZ÷û¨Þ v¨Ñ÷ÑÑ“øÜ°øwøz)Sû‰ðS„_ƒa‡¼ƒ¹‚¹Q÷Š(°!üzÙÆ÷­“¹’·”¸•^”_–]ðÇûÑÆ÷–¸”¸”¸’^“_”]°Æû­ß vù$Ïw¼øŠÐø›ù°ÌБytt"RA+gûvü¾Ùõ÷¡›·ž¾œ¹Ÿ\ Xž`÷ û¡Þûwø{¦ÊÈ¢²¸Ë›™ˆ‡—ûLv÷vvøzwø0Ýø‚øz9ûûûûG÷„/÷pû¹ûVûUé÷š÷“ü`ݽï÷RÎ÷ Ý÷O÷ûÝÚ÷ 墫¹œž‡ƒžœ÷% ÷¼üÇÝøz9ì´÷xemqee©q±±¨¥±±n¥eÏh÷÷?Îw÷Ý÷XÝv÷å¡«¹ž‡ƒ÷% ®ø%ü‰‚‡‹†€•¥ù9üúD¤dÉ ™Ž—² ÷¬Ý¬ \=¬'?ö÷(ö® ^=®'÷÷ßÊ1÷ ?ö÷(ö® ^=®'÷þøsx?ö÷(Z¼ö« [=«'÷÷ßʧ€ «Š?÷÷:Çà ¹÷Rºsݦ@ V@=¦@'§€õ÷å÷&«€ò§€Ví ?÷÷Çà—÷àökݬ€ \€=¬€'¯÷+÷îñ ÷TÚ usll¡sª?÷ÄÇà³÷‰†Ý­ ]=­'®÷÷ûž ?÷¾Ç૾÷2¾Ý¬€ \€=¬€'¯÷‹÷áä°ÒÊS?×°÷°Çàи빣ݯ@ _@=¯@'¯À÷‹÷ÀÁ³°ÃÂcq?ö¼Z÷(ö§ W=§'÷h÷ß÷ «¯ §¢÷' Çàí÷½ÝU -=U'×÷üh,?÷i»Çà÷Iˮݯ _=¯'÷o÷ËÅ•À¤Å¾X¦4ç ?ö÷ W÷ö« [=«'÷÷ ÆBÃ8÷ G÷W¾§ç÷,?ö÷ W÷ö« [=«'÷÷ ÆBÃ8÷ G§÷6ÉEç÷ ?ö÷ ¾´öYƯ _=¯'÷÷ ÆBÃ8÷ G®€÷*³_¢>Žƒb½ˆŸ÷X?ô÷7 Çà«´÷Fµ~Ý« [ =« '÷÷ÝÅËÌËJÆ4ó@«ÀW¯š ]pö ÷' ö÷G Çàì÷¾ÝÕ@ ­@=Õ@'÷÷ßÊÓ@€ ÕÀНþGF?÷ºÂ¤ö¯ _=¯'÷føG»ã÷Glûjb ÷+ ¯Gá?÷ºÂ¤ö¯ _=¯'÷mø·Fãx ¼e%b ÷+ ¯Gá?÷º÷D´Çà÷=Ǿݯ€ _€=¯€'÷‹÷áb ÷+ ¯Gáq÷ºÕz÷8 ?÷¸æ»†»Çà«´÷Fµ~Ý« [ =« '«À÷‹÷á¿­Uáû÷´š «À]pö ÷' ÷¾Ç૾™÷—¾ÝV . =V 'W@÷‹÷áä°ÒÊSÖ ŒýµFûbÂ÷² ÷jÈÝÕ “OÖ`lecUS³n¾¤­—šžv´ƒ~†|rušª­²§°Æ¨øzIÕ'aÇß÷­Ýì6 ÜøIì$ aö÷G Çß÷­Ýë6 ÛøIë$ ûøˆËçÍîëΚa÷¾Ç߬¿÷1¾Ýì€6 Ü€øIì€$ ïžøŠå †WL°Dãa÷ ÷Çßí÷¿Ýí6 ÝøIí$ ïžø•F a÷_´ÇßéË÷Ýç6 ×øIç$ ºøhï¾ ç_©tÎaö¾Çß÷­Ýç6 ×øIç$ {øˆª Kë¯ çIîKa÷ÄÇß´÷‰†Ýí6 ÝøIí$ î$ø¤ž a÷÷:Çß¡º÷QºsÝæ@6 Ö@øIæ@$ ç€ûøŽ²»ë€Á–Zç€Ví Íø¿ÆµÛŠÒ÷Îè÷÷C¾«²µ°¸DÆFÊSkicwbES»ÔØÑ÷çÁ¦´¹·›ieQ\cScx³€²¯øü^h–e cª»Ð­Û£á?x@pKfVO¿QÌaÎÐÀÓÂߨ]À:4RG4\›U§UèK\PT5!Û?÷ÕĨ¹»»f¹r¶~Í÷c÷÷RÍ÷ ÷ ÷h÷j4÷û"û"4ûûjûhâû ÷"øèäÊ<ûLûKL722Lß÷K÷LÊÚäû×â‹Ïøj÷UøÎ÷3üjûIGøBÏ‹Òø”÷= ûfeaˆˆd÷B÷2÷ ÷ ÷ ÷;Öæ WB!û ûûlûSÏ÷ˆÊ÷p÷$Ù÷@Ð÷ãBÃ6øÚ¥Ä¼Øò0Æä dMHQWû+Lô÷<ËX?DI]49P¯³a v÷DÍ÷ËàøÙ÷‡ ÷A÷n ª£ªŸª÷V ûZ÷E(ø 3ûÓü+T÷ÝûDÙ÷DîÏ÷²É÷7ÒøKÞÃÖ_÷LÙ÷÷*ÉûZk{fœ÷Q÷´ÒûývûÇ÷0 32CR15W®±aÌ÷§É÷SÐØØ÷ÂÙ÷ÕÀ.PÍ÷ÉÁÆ£½÷ ²aQ¨=ûûÒIkXX÷aŽåÐñ»¹xl¬ vøËÒ÷vá÷vá”÷޵÷$÷=÷U÷OûGTû&€û†= Ï÷TÉ÷§÷M ÷Ê2\»â߯Ã×éÄIû˜N÷N eµÅnÙ÷÷î÷”÷a!ñûû(8ûûÛI÷ Ì˪¾¿û`‡2E&Z]ŸªkÍ÷D÷÷0Î÷ ÷÷U÷S4ôû"û"4"ûSûUâû÷"ø§äÊDû2û6LA22LÕ÷6÷2ÊÒäûµâ‹Ïø*÷UøŽ÷3ü*ûIGøBÏ‹ÒøT÷= ûVeaˆˆd÷?÷öòñ÷ ;׿ V>6ûûûoû&5Ð÷ŒË÷t÷$÷@Ñ÷åBÂ6žøÚ¥Ä½Ùò0Èä bMFQWû+Kô÷<ËY=AI]49P®³aéÎ÷ÜàøÙ÷÷5÷C÷{ ª¢¬Ÿ¬÷V ûk÷E(ø13ûÓü=T÷Ýû<Ù÷<î5Ð÷·É÷;Òÿv€Öÿõ€ÞÃ^÷LÛ÷ ÷!*ÈûZk‚zfœ÷U÷´ÒûývûË÷0 1/CR15W®°aÌ÷§É÷SÐGwÙÙ÷ÁÙÜ÷ÖÀ-RÍ÷~ÈÁÇ£¼÷ ì²aQ¨=ûûÒKkYW÷`ãÐñ¼¸xl¬ø‹Ò÷vá÷vAá•÷“´÷'÷=÷W÷OûITû+€û‰= 5Ð÷TÉ÷°÷M ÷2\¾åâÆÃ×ëÅFû•M÷N dµÅnÙ÷÷ð÷œ÷a!ñûû(7ûûÛE÷ ÌË«½¿ûb…3G'Z]žªk÷Óè÷+÷×Ô÷pûiœ÷=÷Q÷øCX¯÷I¾½g­^^giYûûè÷+÷S÷=÷o÷6QÔà÷À÷­¾½g­^^giYX¯i¸;üÃМ÷*«÷Æ÷ Æ÷«Ê_ªl²±ªª·¸l©edlm^÷Z_ªl²²ªª·¸l©ddlm^÷[_ªl±²ªª·¸l©delm^÷.ûv÷w÷&!ÍP÷¤÷|Õ÷ìé;-`hü’÷L  ºj¨c`cjn\÷ì÷.‹w÷w÷&!ÍP÷Ü÷’Sûì‰-Û‰é`®ø“ºj©ccjm\ [¬n³`³¬¨»÷.ûvùÏ÷i÷&²Üx÷†÷|Ôy÷÷J¬÷ê@Èû>Mi\^¼^¯¯¶¡¾Ô°aT%ûHc£û#nû:÷L ¸ºj¨cxcjn\ûXÐøk÷.‹w÷Û²÷'¸÷û÷’BûûIjû,ÕN÷ØÊ­º·[¸gg_vYBe´Âñ÷H³s÷#©÷;ºi©ccjm\Ø[¬n³¸³­¨»÷ô÷ã÷Š÷÷¤÷ô÷$ û÷ô÷ã÷ÿl€÷ ÿl€÷1÷ôÃ¥÷uŒ÷ûû÷“ûu÷$ Œûˆøº÷)÷ÕÎ÷‰e ÷ò÷)êÍ÷7Í÷‚ùO1]V8'@°^À¶©ª¹µn©b÷Wɯ÷_»1]U8'@±^¿¶ªª¹µn©a÷Wʯøº÷1÷òå¹ÀÝï×f¸V`mk]a£ ]aò q÷)÷ÕÎ÷‰ûvä¹ÁÝï×f¸V`lk^`¨nµ””“‡EfVLhq÷1ûvå¹ÀÝï×f¸V`mk^`£ ^`ò ¿ø$÷YÌ÷òÔ ¿ø$÷æÌ÷gáÉ ¿ø$ÝÌ÷9Ì÷Ô øû4³­û÷:÷÷9c®û,û4;¿ø$÷sÌ÷9Ìëá³i÷,÷4Ûû,÷4ch÷û9òû:É ˜˜â ãâ ã÷›÷÷ïY¯÷AghY÷÷º÷+÷¾÷À÷ÚÑÆããEÆ<v-[%:ÅYÒ¿¾¬°÷<÷ ÈÁ®÷ž÷3 §ºyÂ÷Åø÷(øc÷Kçûû:ûûûyûs÷û ÷2ÍÀŸ®÷ ò÷H÷W÷í÷ ñ·J@û>v-Z&:ÅYÒ¿¾«±÷<÷ ÉÁ­÷Ÿ÷3 ¦º v÷`Ä÷(Å÷KwâøD÷"Á£÷`÷rû`Á£÷`èÄ5ž†âÅ:÷; û÷; 0Qàxû(5RÚÈĆ÷xû(÷Ðø ÿ€Æ÷Y÷Ðò÷òûµ¨4÷"÷É{¹û%c€÷1[€û2û%´{]÷M4û"ÓÓ­ÏøTÏ÷Û÷‰Û÷Û÷³Çs»q[X`g=„„‹Œ„†÷¬T `¢³¾¶«Î‘’‹Š‘€¦‚¢{¦w·»m¨i£_˜¤÷S’rûŒƒƒ‹‚û9P-4ÝeÝkgûW`—e¡j¢dR®n½qÂ}oû+Ã…¦†Š““‹“÷áÌëë2³6«ø@½÷z¼À ø@^ ù2õ øL« øLÀ÷h¿êøLŠ ø@±øv8ø•ë øÀeø@ËøvCø@½öµÜ¼÷ ørdùH¥ øLÌõÑàèrø@¸÷ƒ¸• øœ/ ø@± ù!; øÛ øëkøØøëk øDê÷øs˜ øKõ÷ØlûJ½÷z¼À ûJ^ Çõ û>« û>À÷h¿êû>Š ûJ±û8*ë UeûJËûCûJ½öµÜ¼÷ ûdÝ¥ û>ÌõÑàèrûJ¸÷ƒ¸• 1/ ûJ± ¶; ûŠÛ €kûŠØ€k ûFê÷û˜ û?õû²l½÷z¼À ^ ÷zõ « ‹À÷h¿÷K÷ƒ=Êà÷K÷ƒÀûÐ÷>cqhm²j¤ž¥œ¦±¡tg_R\#<±µ8Ôë ÷e˵C½öµÜ¼÷DÆ÷Æ÷̱hj ¾ƒ¤¥¢•¥´uljvvf÷6 ro™c0LLû-ÆQÙÏ»ºÄÃh²Ggm~ur×°³Ä¥Ÿ}÷¥ ÌõÑàèr¸÷ƒ¸• Û/ ± ÷i; ?Û ÷3k?Ø÷3k ƒê÷²˜ Šõûl÷Õ¼÷z½À ÷ÕÜÅÉóóQÆ::QP##ÅMܼ`h²ÙÛ®¬¶¶®j;=hd`øÇõ ÷áÊ÷ÅYozt‚÷4 ÷áÀ÷gÀê÷á÷‚ÀûÐÎÆÁºÂÌ`±C[bqhm³ð ÷Õ¼î±è½÷êÊ[Êè÷@ø c ¿_«M]_ypr©eŸŸ¨×è÷I hkq|gghŸ£wø*µ÷¿÷âÄ÷€øTÁոˎ‡9SöY÷RDû(û]l÷6BÄÔ½÷Õ¼÷³ÄÂ÷þÊ÷@Ž´¥vfgouecnŸ£t÷Õ¼ö¶Û½÷ øhi¡¾„¤¥¢”¥´vljuug÷6 žrn™d0LLû-ÆQÙλ¹ÅÃi²Ghl~urׯ²Ã¦Ÿ~øÝ¥ ÷áÌôÑàér÷Õ·÷ƒ¹• ø1¢œ¡©™¸~µgpjxifm ¦Øâìb—i™§¢¡œ¬¯Ÿysxyq|äû%&\½bÖÒÁ±½·o h›Ø¥™¦Ÿ±»Z¯IMWhZg£y©y‡äizltb÷ռܵö½÷AÅ÷Ç÷{ø¶«¡¡¯®¬uW“sqt‚qby¡ªVûUx¤¨~²æÊÊ÷èPÆ=H[\RR­eÏ®©˜Ÿ¤@†gdTpw•˜y÷RÛ ø=(²DÍJ¹¬OÇrÌØÙ¤ÌÇÇ]¬IJdD'÷RØø=ïdÒIÌ]jÇO¤J=>rJOO¹jÍ̲Òî÷–ë÷÷ÆnŸx¥¥Ÿž¨§wŸqqwwo÷žõ÷+Æ °¼Æ»w¥iruyoo¢}¢Ž‹Œdrqd|L WyL ÷À÷|À÷@Ë÷>Í÷@÷˜½’«Œr©®|÷N4ffyrmÃ÷KËü÷6¦©§é÷¿÷~¿÷IÌ÷Iø9 ÒMéµ´›¥«p´zup}jL`ºÑи»Ê¥¡zŸ«´ sjœ]1;M ™÷ø9 ÂMß²°Ÿ¤¥fÀøhKû U¢oq™÷½ó´è½:ø§¾ó½÷©Êø‹ùd•nm‘j/aW>r<ˆ[Úû£Ê÷£÷¾û¦¹¢ªÂ¥¡†‚¢÷¶ë¿Äµ÷»g·÷)ÁgÈPÀ÷$ĉÈô@÷_÷f›•œ§š‡™šŠŸÆº¤ƒom]mDIh «UƒRÃlè÷Ò¾ÊÁb¢6ñ€Dav•£™“–™”„žœ‡œÒ³Ҥ€¡}™Ý»û‘}zyò€DP_Cežo¡zˆñ€s{|tvp›zœ‚ˆô@ixxqrê€÷(÷^dm¦¶¶©¨²±ªn``lpe—i¸@[grlkÐ÷Kø§¾Êæ÷¿ë<Ë÷Cø§÷!û£Ë÷Öûaà÷@ʧŸœ§¦wžoowxpoŸz§÷ ¿÷ü¾Êæ÷³ì<ÊÈ÷8ø§÷!û©VzmMws‘–uw]~£ª­÷ªÇÚ÷Øû`ð÷@ʦ œ§¦vžpovxpo z§÷˜øh÷QË÷Q÷˜ËàÑÎöû,Òû ÷V÷÷Dû3û4‰÷ÆK÷¿ø ½÷©Ë÷Xù:ÜûÊA¬aÒªŸ‘’¥½„v}‡|hwœ¶øû%ø¬Á÷ÈÝÀÜÈ÷÷˜È÷z©›™›Ÿ¡•ziûuÀ÷z©™š› ¡”ziûuÈ÷zËq¯^gtujz°ƒvkfwvn{‰†µY—h¸AZhrllˆ†»Vy÷À÷|À÷@Ë÷>Í÷~÷µs©ª~÷N5cfwsmˆ†¯Wü[Ëöð÷6¦ª¦é™÷ø9 ÂMß²®ž¢¦ˆTûËø[W†l‰¥mp˜ø©Ä÷‡Ë÷‡÷˜Ë÷KÍ«¶£´£˜ˆ„¢˜Á”wxrW]lWm‰†ÖU÷¼÷…»÷HË÷$Ê÷6÷½r¯ÀwÄè½·ÁÈJžQœ`˜b—§¢ ž½¯¨z¦©³Ÿl`œ[6YcVTËuÃz¶~¸}mrrwVZh™£i÷¾÷x¾÷…Ë÷…ø:«Uë­­“–¥~¹ƒww…qPw§Ã÷$÷%¾û%åVƒ1;ˆ[Ø÷Â÷3Ë÷0ËøOøÚKûtfkr}i\y¤Â÷WKû_9­^Ô¼°£®ª‘X¿÷˜½÷'÷Î÷¡÷˜Õ÷ ÷ÖNMûD€k‚k€k‰«‚««N÷DI÷˜À÷SÁÝø÷,÷˜Õ­÷+“±§¦Ž‘jm‘m®û+ØÎ÷ÖOgûF…l‡m…mˆ…©†©„ªf÷.Xgû.„m…l†mˆ†©‡©…ªf÷FK÷˜÷Ö÷3÷À÷3÷˜Î¶Ñ—Ÿ–ž–ž˜x™x–wºEÐû÷5ó÷5GeI€yyyˆ€`ÍGñû.÷¿÷ ÷Ô÷<÷H~Z‡—™ˆœѰºÏ¤÷÷ëMOû>‚ojn‰©€¬€¦F÷>K÷ûÔ„tf}sqd‚ŽŒ„÷˜¾÷p¾÷&÷Ê÷&÷˜÷ʾûo÷h÷­û«X÷Qûiû÷½ó´è½»ð:3÷S¼OðF÷½ó´è½»ð:‰÷¸GN&»÷½ëµï½÷.Ä÷EÉ÷.ø,,ÂNäàÎÌóöLÉ-]c}vk¡b›§¦•­É®eMûy‰ƒ‰Ä÷EM…jiWUk¬ÊW÷ ½è¿÷qÀ÷Ì÷@Ë÷K÷\t_t¯¹´íĺÛ÷âV…mФnn˜f@DK''ÂMß²®¢¤ŠS[ŠmmOlg“ j÷÷Ti¶ÏÍ´·¾¥¦ƒt¦û(opq}møA¹÷8¹÷C½÷+½÷ÀøAÎÆ½ØÚP½HHQY<>ÅYι_l­º¼ª­·¸ªiZ\li^÷È÷ Èõ×÷€×ñÞâär«±~´³²˜¤ªã2·¸7ࡪ™²¹¹~³tªßá_¸41£kd˜cbd~sl4å_^Þ5ul~c]]˜d¢l76÷÷]ÛÀÁÌÌÀU;;VUJJVÁÛ®ÎøTÎ÷ÛÝÇêÜøƒø±c²]ªB‘÷Oû*JR7ûB÷Ñ¡ûXag<@N«¯YdR¹dÒjÕ…û%Ç÷&ô–ÒÉá÷KûÒv÷¾¶«Îήuh¸‹Ò÷jÃ÷„Ð÷$ÚvÔè÷?Ÿ‰‡÷AÃðûQ|µ|²µ¹ aœbša(‡Wè÷ yŽyx÷‹÷b[»Ìº÷Ôw÷–ÝxÀù÷MûÔû5\÷IJûI[÷I¸û2Ýx÷2÷K»ûKÌ÷Kºû6÷N÷Ô9/û?s_u_s\‡rºv·t·/÷?Í÷I»Î¼÷MÍ÷àø™÷]cbrR/OÏ÷x÷‘»û—Š—‹˜˜•‹•Œ”÷¿¼ûº÷ÉÑí¾±sh­¼º·cN­Gû!'-û1rK†_ÆŠ‹€€‹ŒP‡`Ëû0¤ì0÷ÝǮŽÑÏ÷ìÏ÷Ü÷ ¾÷Î÷"@œ^Éäã¹ÉÕœ÷0û¸oshwaˆ÷쮉©{¥s³¿l¨a¥QŽòX!û|37ûû!Ý6÷ ~#¾ò¿¼£³®*Îø Ê÷UÎww÷ÿO€Øø¬ùè–uh”iû[Dûz…SbE‡Pósûo%~rUFvw‘’y{M‚Ÿ§‚®÷ µÞ÷š¦÷÷)Êû"’ÊÏ“¦ÉͨŸ…‚€Í^vªvøÝ͆wëà÷"±k±•÷ïøÛŒ‘‘‹‘™˜‰ˆ˜Mü vx{”h¥]·rÚð÷¸èݧ÷QüVhchs]…Çøœš~š|¼º6t¤m¢h™™÷e.$6Ž}}|††‹†—íe.$ûs6û ûKû*à å\-|û±˜÷†ž‡ŸŠM(±—îÓ­¹À‹Ò÷8¼Æ¼÷QÐ÷$ÚvÔô÷?‹÷;¼ûA‡Ÿ„Ÿ…ž÷R¼øûbƒ£†¢¤¹ r‘r“s;‡^ì’w“xwm4†_ô÷‰‹Š‰÷‹Õ÷:¶Çµ÷FÖ÷ Ì÷xÌø4÷¯G†™x¹åq›û‡‡M÷:Âû}¶±Š¡ÓŠ£Pû÷¬ÎûFPøaµC÷‘Jû‘ %÷‘7û‘A†fÕOA†eÕû„Ì÷„÷ìû„ß÷„Ó¶CÇ v÷‰Ä÷Ã÷Ä÷ Ú÷j÷#÷Y÷Â÷÷j?Ud0÷«æÁm=•ûj÷÷ùûK÷ ~1¸û û(û9@†XÖü5Ú÷‰Ð÷ èÂ÷ —Ë‹¼ÈÆ÷ÇÒ¼÷Ô÷kÒ÷ ø¼ü÷¨÷Afhi{fFc¼Ýξ¾É³¥n¯Ò÷qÎDHû/Z÷/i8¨hlœW26FûûÍHð¿´¢©ª‘`ÅøAÙ· v÷‰ÄÖ´Æ´ÊÄ÷ Ú÷lÙ÷Yø6Æ÷jŒŒ€‚Š‚ŠƒûjûÖ÷`YuYrB÷«Ò»y^¢û]Ê÷ùLAâo9¬#û(û @‡fÖP@†gÖü Ú÷‰Ðôßµå¦Ó´KŒ“‹””—Š–Š•Ìû÷:IÍ÷bÐ÷‘ÌJ÷8ßà÷"ÇÛÖwø¢÷ßûSF÷û=wvaz`ûJð÷8÷5Íñ÷½²sg­¼¹g´T¬NoîOw&ûw2û ûPûTèû ÷|·'ÇwïÆ‘¿£·´•v¡vøåÍŠw wëà÷)ÀN÷ÞÃ,œUî÷)÷$Àìëž÷;ü\idhs^…fø£µ†¬u©l¼ºf´T«M–ëV*û"x/û ûRûWêû ÷~N(ÀïÎ’¿¬·¾ v÷Î÷ ¼ßÏZ¼øÝìø ùü4ôGÚðËtN›ûL?†_÷›;„Heûbqhn²j¤ž¤œ¦²¡tg_R\#<‹÷`¶÷¾›¼î±è½÷dÊZÊ÷KÅ€øéø×[¸û<û_¬mûüûλ^÷ k©û2÷ž€ŸŸ©×€e˪zhkq|ghhŸ£vldi¬»w¹Ï¿­Æ´p¥`•¾€Â¿^«N\`ypq÷Öü}ÁԷ̆9SÅ÷QD]€û)û]l÷6€BÅ]€Ô½€¶Y½í±é¼÷Š÷ ÷–Ê[Êí÷ õp÷ í ûü­O îŸ íó½í±é¼›À÷gÀ¼÷ƒ=Ê÷`Ê[ÊÜ€¼÷á÷ƒÀûÚ€ÍÆÂºÂÌ_±C[cqhm²ð §ûä-ûü­O ûŸ Ú€ó¸÷ƒ¸÷Š÷ åÆ\Æ÷Æ[ÅÜ€÷ (p÷ œ€aÝ<ü§9 ¸÷ƒ¸¼î±è½÷dÊ[Ê¢Æ\Æ÷Æ[Å"±ø O ¿_«M]_ypr©eŸŸ¨×2÷I hkp|hghŸ£w’ü- _ @Ài | @À¤™§ °¼Z®IMWhZg£y©y‡ i{kta¸÷ƒ¸¼÷³ÄÂ÷xÊÆ\Æ÷Æ[Å<±Ž³¦vfgoueboŸ£t’ü-‚@_ A€i‚@| A€¤™§ °¼Z®IMWhZg£y©y‡‚@i{kta¸÷ƒ¸÷ À»÷‡ûAÍ÷Æ\Æ÷Æ[Åì€÷ ÷áÍ0ôÑßé¯û‡V(÷>ì€J8oI„$bûÁ9 ÷¿É÷ŸÍ÷ŸóÍ÷W÷JÉûJ÷WIûWûJM÷J˜÷ø+ñø ÷&÷÷.÷4÷.û4·¸û.÷3÷.÷2_¸û.û3û.÷3_^÷.û2û.û3ëöëÉêö÷Š÷÷Àø\÷2 k¢uªUûÆk¢uª÷2 û5÷)¶ ÷›÷=÷l÷5÷l÷ïY®÷AhhY÷TÉ÷,ÉàøBàø*¶ û¨¶ »øÌ÷ Ó÷ ÷Áø û‘ÚûÁ÷_÷Á÷_Úü û‘»øÌø,Óøt÷ÿü ÷‘<÷Áû_‡ûÁû_<ø ÷‘‹Éààà¶ ÷ˆøBû-ÒûfÔû·÷·÷fÔÒüBû-‹ÉøBàà¶ øB÷ÒüB÷-D÷fB÷_‡û_ûfBDøB÷-‹É÷†É÷ŸÍ÷Ÿ÷Í÷E÷JÉûJ÷RIûRûJM÷JûJûĶ øåØ÷ø÷÷°ÓÍ÷D¼÷¼ûÍûDÓû-øC÷TÉ÷,ÉàøB÷ÌÈ×÷÷žÉûzæ÷,÷É$×÷N?ûûžM÷z0û,ûMò÷•É¡É×øT`÷÷“Т¦œªÄµ7Úà÷ ß<`XYl-h÷)É¢ÉÏÉ¢É×øTX÷÷þТ¦ªÄµ6Úx÷ à<XXYk-hÀûТ¦œªÄµ6Úؾ½«è®V£Dtp{lRaà<XXYl,h÷¿ÉøUÍà÷¿øûWÍ÷•üBÏ÷þÏ÷Ø÷GÙø÷<©`פ›‘™€Ê‡~ƒ‰…l}™­ºŒ÷1‘÷áÏüXE†Lêû‡û${û#Þ†”÷"÷%÷÷M‰!‡û,Y÷*ÚPÊ÷HÙ\Ê‡ÌørÌ\÷÷>и¾»¨œ9¾»fÔåÌÕ÷ïJÒ2CX\Eb‡lÂm_¹I9KL#\5ÈGÔœ÷K÷>Ô³²ªºʰ\KRi\PXe¨Ý_lû? ^g³ÁÁª«»²­pJ¬Rqhl`ÏIÐîÙpØûOÞ†Ûмð`¥´ºÉîյް>’ i¾ šŽ—ɉ‚‡‹†|•¥÷÷'Ž÷8ûÐp.UZyX?jºä÷·8Ï÷°Í÷ZÏ×Ù÷µÛ÷žÃOW½Úã»Îí·»wS·ûvL?5@ø…««±žµáÁEû;€‹€Š€¸dS¦Uû9-ûû áBë÷2ö÷,÷u÷b8ðûMUraaû2ÌùÆË÷“×iÖÐ÷W2‚M‡”ˆŸ÷£í÷à÷(b÷[÷%ò•ÆÂ™—‰‰”•ÉŽƒxŽwûs(ûÐû(µû\û&#€SS}ŒŽ‚,åÉø÷Xø)ûPŸ^Ò«÷*ü@É÷nú'OûFý†vˆu‡v‡† …¡… ‹Òø’Ö¯ø¥¯ø¥½ûmøò,ûmüòæ ñ÷ÀÐ÷fÏûfòûÀ‹Ïø£Ô¨÷fûYá÷}÷f(áä¨÷fÈÔKÆ\ã÷÷"Éö÷÷É û"û\3KPØN÷fÏûÔÁÃÃæ÷÷L'÷û2û2'ûûLûÃ0ÁS‡äûû ÒøüÒÑó.òàÑHVøsÒü ÷r÷ÅÐûh÷Ã÷åÒüLV÷wûÚøÉÔ¿Þ÷Üà¿û ÞùA÷ÜýAàùŠü„ÑøëÊ÷^Ü÷Ñ÷¯ø™쪶¯¬¤qI-\5==÷IûatspvcZb®è­÷óÔ÷÷ïUÂ?8LMû/û pwovmx¬W—–›—û‘ÒQÝŸ«ª¬Ÿ÷È÷ÆŸ¥÷÷¶÷÷8χ‘‡‘“÷tø2‹÷Nû÷*û+û+ûû*ûNûN÷û*÷+åÙ¿ÛÁeG]I_EUY¡±i‡÷ž‰‰÷p’”‘¯­½¡Á½½wi­‘…ƒƒût‡‰‰‡÷nÏœø¼œ÷Ž÷¤û¶¹û]÷OøJÏüJ÷]÷O`¹û¤ûrø¼÷žÏ÷¾ø£ûû¤¹a÷O÷]üKÏøK÷Oû]¹µû÷¤÷nϨø½øÚ÷’û¥÷a]÷]ûOüKGøKû]ûOµ]÷¥÷rø¼÷žÏ÷Âr÷÷¥]µûOû]øJGüJûO÷]]a÷û¥÷6÷_÷]÷Z÷]÷6÷Z÷_ûZ÷÷¬÷3÷®÷Á÷÷ ÷ û ÷ û"û Ú¼Õ÷ ×»÷ ÀÒ÷ÒÀ÷À÷^ª¥¤¯¯q£llqsgg¥rªûîÝÒ÷÷9Ò((9DûûÝDî¼HN½àáȽÎÎÈY56NYH÷¯÷9Ó÷:±÷2Ó÷`÷2÷9÷2û9ûXg÷o¼Å÷kûePZ±ø„±ø ±±é ±Å±ø ÷!ë÷4÷Í÷3ûÍü:Qé žø¡ÓøƒÓžè žø¡ÓÆ÷÷÷Ó÷Éû3üû›è ©øƒ±ø ÷¿©÷—øü ‰øgűø ø`øgû3ûÎû4÷Î$Ã÷™ü‚÷—ø‚ü žø¡¬øƒ¬÷¬øû™ø¡‰üû˜žø¡øiÆ÷4÷®÷É÷3ûÓÆø:‰üû˜‡øû™¶øÈÕrµø©Öœ¬øÈø©üÈüÓ`øê¿ÈùüáNX¶×Êø=Õrµø©Öøº¬ü©øÈøn4ûBû*`û&‡pßaáZØSeÄ6¹1°%ᕺ÷?Ø÷.å÷ñ÷zffgbh]üNXý øê¿Èøö¥©§§¦¥|Ê…øü÷{×÷¢÷%÷w÷2÷'U½û0û.û#û‰Dû‡lä]èTÞSeÊ0»-³ûs÷U÷¼Â÷ÁØ¿Y»qÀçÜÄ÷ø+Ûr·MLgˆsk®~›ª›»¿×tÃ1ËY¯”€¦Zü­‘r‘q.JSNÐø²Ðíø(÷š×÷8÷èû8÷è?û8ûè÷\û£L÷K÷Ë÷Ê÷ÊûËûKûLûøF÷”÷”ó÷”÷'øF÷”÷<÷¬÷<÷'÷.û”À®÷0šï:ˆøº÷)÷ÕÎ÷‰e øŠ¯÷-¯÷è¹÷‰øŠ扽¸ÑÐY¸0‰gϦl^]plGøŠ¯÷-¯÷oº÷üùk0Y^FE½^æ¯Gqª¹¸¥ªÏß÷M÷H÷ÂøÑ¼ ß÷÷Hø3÷@ › œ ø!÷Ó÷ñ÷¤ø!â÷Ó%“ß÷}÷Hø1ùeÍ Ëß÷L÷H÷ÁøÑó û’÷Ô÷ñ÷ÜÍStûÔñp øà÷÷*÷ß÷÷`øà\“øÓ¾÷>¾÷2¾÷ÀøÓã°ÒÊSø²°÷°÷c¸ë¸÷Àø²Á²°ÃÂdqøÏ÷#÷^÷¶÷^øÏ‘øÞ÷SøÞ3÷E÷ÊË÷‹@´¡÷X g}W„“b֒ЦÅ´qžj–¥ÀUß÷M÷H÷ÂøÑ¼ ÷.÷=÷J÷®ùV‚ß÷÷Hø3÷@ ÷.÷÷JÊ › ÷.÷8÷¤÷{ùV5 p ù[÷9÷/¹÷Z¹°÷üù[p¦ °f pQ°ß “ùmÄ÷D÷Œ÷Dùm® øÓ¾÷>¾÷2¾÷ÀøÓã°ÒÊSùXº÷E÷Š÷ÀùXÛ¯ÁÃ’YOøÞ÷SøÞ3ù^ö÷‡÷÷Àù^@øà÷÷*÷ß÷÷`øà\ù_÷* ÷jù_1ù;»÷ÓË÷¤«ùÌ»÷ÓË£ø²°÷°÷c¸ë¸÷Àø²Á²°ÃÂdqùO÷2ùO”øÏ÷#÷^÷¶÷^øÏ‘÷.÷S÷Á÷ùVœ ÷.÷8÷¤øùÆ? øÏ÷#÷÷¶÷Üù^Bãû#Âûn÷#Cãû#Â÷.÷÷Áø-ùVI÷>Þx û8÷>ßx Æøµß÷‹µ÷ÜùpRqs^\^s¬¡š©¥v˜wˆ‰‹Šˆ©œ£±ùÞ÷Ê´÷¢ø´Ä¥£·º¸y£kux|nq ~ŸŽŽ‹ŒŽ‰mysfyøG÷Fø Ï÷¿øGݓɬÓ¤¡~Pn“~‘}|coySƒûv÷Sûv3û]÷* ÷jû]§ ¡¦§v onwvopŸu¨÷@¨Ÿ¡¦§w novvop u§ûl³c÷<÷ÄË`÷£[ yes`÷5÷E÷ÄË÷…@³¬V÷E÷¿Ë÷@´¬UûhÆ÷~Ë÷ÆŽjrd\Sìt¸‚†{ssšª±¤³¶«ûb¾÷B¾÷*¾÷Àûbá¯ÏÆXÉû?Å÷D÷‹ø;û¡øàæÒº÷<æ8÷‹9æè÷jøà_Ðûf÷6÷‹ºû‹ù_æÂ¹÷<æ8÷Œ8æP÷Dùñ÷Œ¹ûŒè±ûT2 øàæ´òÎ ÷‹÷Mûû_ù_æ¬÷Î ÷ùÛÏ÷÷0ûû2 øàæ´òÎ ÷ùdÑæòNLK‡LËN³û_ù_æ¬÷Î ÷jù_2 z÷HG÷ ÏHëûÛë÷øàæ´òÎ ÷£ùË<ò$Ŭû¥ŸŸ¤¥wŸqZû@ÛwwqrŸw¥ù_æ¬÷Î ÷šúJ0÷ûÏ÷O ÷ð ÷LøÑQ ÷W¾`ç÷,ùVõa÷÷@÷þ øù–¿`æ÷C û¶ûCB ÷O ÷Ñ ÷LøÑQ `÷5ÉFç÷ ùVõa÷÷@÷Ì`ø1ú÷6¿ ûÌKB øÑ÷ ¾´øUÇ÷LøÑQ ¤ùVõ¿µøUÅø3ù†~ û|8B øÏ÷7 ÷=µ÷Fµ¸÷DøÏ¥X¯‘ ùVõ¯»…»÷<µ÷Hµ¸÷@ùVB U¯®aØo‡|}w¸ê ÷B÷›ù9»ã÷Glûjb q²´…`© ÷? ÷™ù¶¼ìôChû[à ^E÷B÷¡ù©Gãx »f%b q²´…`© ÷? ÷úCì"¼d-à ^EøÓº÷D´÷ÇÇ÷ÀøÓb q²´…`© p÷»Õy€s„ùX’¬ûà ^EøÓ¸æ»†»÷=µ÷Fµ¸÷ÀøÓ¿®Uáû÷µ‘ ùX¶ê»ˆ»÷;µ÷HµØ÷ÀùXà ^E¸û÷µ§›œŸØ«£^º¹§´¿÷: o†|zw¸÷;øÏó©¸÷D÷Œ÷DøÏ¥`±©×®º½^n†vt__v¢¨†^Y®\×ùVõ¨·÷@÷”÷@ùVB `¯¨ر·À’^lƒvu[¡ªƒ^V’±_Øø¸÷h÷œ¼÷Æø¸ºø±÷=b´÷{Ë ÷Üø±`±n’u–¦¤¯˜¿’ƒ´@„FpQ _¨tÏ[ dù:r Á 1 dù:ïù:÷0÷ü$xa x=ü$xz xû0[ ÷> ÷™÷Ùû÷\=÷Ùû÷\=÷Ùû1 ÷> ÷r÷F÷\û0÷F÷\û0÷Fû\÷r÷÷r÷÷rë÷r=÷Ù÷r=÷Ù÷r=û\÷r÷÷r÷÷r÷& ÷rû0÷÷0÷rû0÷÷0÷rû0[ ÷ ÷™÷Ùû÷*=÷Ùû÷*=÷Ùû÷*=÷Ùû1 ÷ ÷r÷÷*û0÷÷*û0÷÷*û0÷û\÷PÉ÷PÉ÷PÉ÷Pë÷P=ÉÙ÷P=ÉÙ÷P=ÉÙ÷P=û\÷PÉ÷PÉ÷PÉ÷P÷& ÷Pû0É÷ É÷ É÷ ÷™Ùa ù)÷ÀÙ÷#÷r÷0a ù÷À÷0÷#÷™Ùz ÷H ü5÷r÷0z ¶ü5}r ÷Àý)Ùùw÷#ƒùž÷#{÷™ý)÷0ùwü5o÷™ý÷0ùžü5÷U ÷™øÙûÀù)=´ ÷™÷rø÷0÷ Ú÷r÷™ø5ÙÄ À÷r÷rø5÷0÷}r øùw÷ ´ ïøùžã {ø5ùw÷!oø5ùž¯÷™Ùa ù)÷Gù)=÷r÷0a ù÷À÷0÷ žÀ÷r÷™ ²ý)Ùù)÷ÀÙÀÄ žÀ÷rü$÷0÷H  ûÀù)=ý)Àd÷™Ùz ÷H Ä – À÷r÷r ²÷VÀ÷– À÷rü$÷0¶ ÷ ýÀd÷r÷0z ¶÷}r ÷Àý)Ùx÷ ƒxã ‰÷Àý)Ùù)À²ùw÷!‰À ùw d÷W {÷™ý)÷0x÷!‚ ÷ÀýÙùÀ²ùž¯‚ À· ùž d÷ o÷™ý÷0x¯}r ÷Àý)Ùù)÷À÷§ ²ü¨ ü`dûÀƒù÷À÷0÷{÷™ý)÷0ù)÷™÷;1 Ñ ²ü5¢ ü5`dû™o÷™ý÷0¶÷}r ù:÷) ;[  ïø`²÷Gù)= ýûÀ;[ `r ÷À dø÷0÷ `ý)ûÀ´ ïù:÷0ûÀ÷ {ù:÷ ;1  ïø5`²  ;1 `r ÷™ dø5÷0÷÷ où:÷0û™ù¯}r ÷Àý)Ùù)÷À÷) §ù)= ýûÀ¨ ÷ `ý)ûÀƒù÷À÷0ûÀ÷ ‰÷Àý)Ùù)÷ÀÙÀû™ù)÷!‰À ÷H  ûÀ÷W {÷™ý)÷0ù)÷™÷ ;d ÷ù ²`²  ;d Pr `÷™ d²÷V ÷÷ ;d Ñ ²d÷ ;d Pr `  ¶÷ ý d`dû™‚ ÷À÷VÀû™ù¯‚ À· ¶ ûÀ÷ ;1 Ñù)û0 ýû™¢ ÷÷ o÷™ý÷0¶û™ù¯[ ‹÷*÷*÷*÷™÷*Ùû*÷À=÷*Ùû*1 ‹÷*÷*÷*÷r÷*÷0û*÷Àû0÷*÷0û*û\÷Žë÷Ž=÷ŽÙ÷Ž=û\÷Ž÷Ž÷Ž÷& ÷Žû0÷Ž÷0÷Žû0¸dù:d÷çù:Ùý:û~Á ü$xá úˆ÷ ÷KÙÙÙa øÛ÷GÙ÷ÀÙ÷#g÷Kü$Ùù)Ùý)Ùù)÷rÙü=÷ ü$ÙùwøÙü\÷0ýÅÙøÛ÷rÙq |÷ÀüÛÙùÅ÷#g÷çü$Ùùwü\=÷rý)Ùù)ÙÊ÷çøýwÙùÅü\û~÷ „÷™÷KøÙûÀÙ÷GøÛ=g÷K÷™ø\Ùûrù)=ý)=ù)=÷ ÷Kø\Ùüùw=÷0ý)Á|øùÅ=üÛq gr ø\ùw¿ Ê÷Kø\ùÅ=ýwüÙ÷S ÷KÙÙÙa øÛ÷GÙ÷GøÛ=g÷çü$Ùù)÷rÙûrù)=û0úˆ÷ ÷KÙÙÙá ý)ÁúˆÙøÛ÷rÙq |÷ÀüÛÙx=üÛq gr ÷rý)Ùx=ý)ûrøýw÷ ÷çü$Ùx=üýÅ÷ Ù÷S „d÷K÷ÀüÛÙøÛ÷ÀÙý:ÙÁ gr ÷rý)Ùù)Ùý)Ùù)÷r÷Ê÷K÷ øý)ÙøÛ÷rÙûÀüÙÁ ù:ÙûÀøÛ=üÛûÀû~Á gr ù:Ùûrù)¿ ¸ ø=ÁüýÅÁ |÷ÀüÛÙøÛ÷GÙ÷GøÛ=üÛq gr ÷rý)Ùù)Ùý)Ùù)÷rÙûrù)¿ ¸ û~÷ øÙÁúˆÙøÛ÷rÙq ÷™Ùa ø$÷$÷ ÷ ÷$²ÙdûOû,û,ûO}÷ç÷Oû,÷,ûOd=²÷$÷ û û$ü$Ù}÷çú|=ü$û$û û û$d=²÷O÷,÷,÷O÷U øìûO÷,û,÷O²Ùdû$û ÷ ÷$ø$=÷ dû5=Ùøìú|Ù=÷ ²ùÛ==øìþ|ÙÙ÷ ²ùÛ==÷©üaû©üa=Ù÷™øG÷™üGÙÙû©øa÷©øaÙ=û™üG[ død÷C÷™ùwE ÷™÷™Ùùw=[ ÷™ø÷™÷Cü$ùwa ùw=1 død÷4÷™ùw1 ÷r÷™÷0ùwû01 ÷™ø÷™÷4ü$ùwz ùwû0[ dù:r ÷Àdø÷0üdq ÷0ü$÷0ùwdù)=ý)d[ dù:ïø²÷G²÷#÷0÷™²ý)Ùù)²ùwû0÷Àøˆ‹øì÷Àøìøˆ÷ û\÷w÷÷ û\÷Žw÷Ž÷ û\ø wø ÷ û\øˆwøˆ÷ û\ùwù÷ û\ù‚wù‚÷ û\ùÿwùÿ÷ û\ú|wú|÷ Œ ø¡Èø¡ú|ü¡Œ øVÈøVú|üVŒ ø Èø ú|ü Œ ÷ÀÈ÷Àú|q Œ ÷uÈ÷uú|ûuŒ ÷*È÷*ú|û*Œ ÖÈÖú|@û\ú|÷%ú|q Œ ©È©m½÷ÀY÷øìüˆÖÕ Œ ©È©m½÷*Y©ûH÷ÀY÷ÀûŽ÷øVüˆ©ütù´Yøìý‚Ö÷Õ ÷À÷1 Œ ©È©m½ÖY©"÷CY÷*û©ûH÷ÀY÷uûŽ©û“ø=Y÷Àü ÷ø üˆ©ü)ù7YøVý©ütù´Yø¡ý‚©ü¿ú1YøìýÿÖýÿ½üƒùÍmø¡÷ý½ûíøÓmø Õ ÷Àü ½ûW÷Ùm÷u÷1 ÷*û½^Ömù7÷‹øìù7øì÷÷ ° ø¡Öø¡û\Öú|@û\øˆ‹÷ÀÈ÷À÷ û\øˆ÷%÷ ÷Àøˆ‹÷À÷À÷À÷ Œ ÷ÀÃøˆûÀ÷ ÷# ù´üˆ÷Àøˆ üˆüˆ÷ÀøˆŒ ÷ÀÈ÷Àøˆ÷Àøˆ÷ ° ÷À÷À÷À÷Àüˆ÷Àú|÷ ÷Àøˆ÷À÷À÷À÷À÷À÷ ÷# û\÷ÀøˆûÀ ÷À÷À÷ ° ÷À÷ÀÃú|ûÀüˆq —øz—×—¿—‘—·—ûm— b_ ‹ Ï á Ï á øìµ12kޝù@‹­I‡ÁéòXdiÀÝë'X}ÁÆIvˆ›¢®ÎÓÞáòûd~˜ª²ÆÎßîòùý ?CTiª¹ÂÓÚÞ (4t”œ¢±¸×Ûàö    ( , B N g | € ¡ § ¬ ³ º À Æ Ù Ý ì ý * = A H R Y d ~ ‡ ¯ ´ Ä É Õ ç ö  " 4 ? G f s x ˆ ª ½ Ë Ô Ù ñ ù þ  ! ) / 5 E K U Z ^ e l u œ ¢ « ± Ê × â ç î õ ü    & < C I R Z b g l s | ƒ ™ ¦ ¬ ± µ º ¾ È Î Õ Ú à å õ !.BM_q}‰‘—œª½ÁÒÙÞçìñ!,7BHY]cgw}‡Ž–ž¦®´»ÂÇËÐßîý "0>LX^bhqz€†Œ—¤±¾ËÒÖÝäéîóÿ+0<?FNU]chns~‰”ŸªµºÀËÓØãèíò÷%÷‡÷ÏÖßµµ{b·û†[`]r[1VÑ÷6Šû6à/÷ÈÆ®´²Ž ÷À÷(ó÷÷g÷e#÷û(û(#ûûfûgóû÷(Ô'Iõ÷8÷7ÍðïïÍ&û7û8I!' ûåLUbpS:l·ç÷·8ûÂûÀG÷Öijļ ûw&VûÛ‘ËË´÷dœû]TTqTSX¢Â „Uˆ´`Z¤Rû #+û,û-à/÷ÇÇ«²±Š)=‰WX.ZS˜«Y÷7÷G2TÐ÷óÑÕݶµ{b·ûv[_]r\ À÷Üûj÷ û÷9àЭµµ÷¨ûdF÷û?sr`|]ûBó÷9÷7Üñ÷ʲqi«ºÀ²fR´4û>û ûûh ÓËbÆßhê÷ØÍÚÕL±û¬3¡O£³±¨«æÇ¿vm¶³À¬[A¨BûEO=Fà_ïr÷ n²pea`i44O¥³U èÝ÷çÆÄ²¨ÅÛ«_/û·Ý÷Â÷VÏû?SbU ÷åÓ÷§•²“³“²Ž’d“c”dÖû§çìù%<Yü0‡U…U‡U‡}Á|ÂÀF÷†PFû†~U|U}Uˆ‡Á„ÀˆÂVø08 Ü÷4ÕXæÐЯµÁŽ ÷b÷Qû ¹:÷!ÀØ›·yÇ~if‚]-n¹â÷{÷ƒÎûƒ÷G€ûû †M÷ ÷"~|]h}V„hü.ûOZ< Îî ¸Í –  ï ±V ef ÎG ’6Î Ö¦ îf ÜQæß ÷† ÊØ€ èÎ(Ê ‡ û6ß/÷ÇÅ®´³Ž ÷‚ÀûÐÎÇÁºÁÍ`°C[bqhm³j¤ž¤œ¦²¡tg_R\#<ye¨„¡÷ ”c֑ЦÅ ° ‹ „d÷ç  D½÷÷- Ü$÷q HG÷ ÏIÔ¨™™ŸŒØn†}}w¸jx¶Y]oö íf}Wi íß÷d÷÷÷Rûéèû{ø*÷c÷Ž-û¨û݈÷Ý7 ÷– ÷CÅ\Æ÷Æ[Åä÷} 1 d †Lè¯ Ø¢oŸx¥¥Ÿž§¨÷Ywxn¢=Ž„b¼ˆŸqv ¨š™žŒ­@n†}}w« kw¶Y ß÷<÷œ÷<øÑÊ€ Šß÷<÷œ÷øÑ÷ ¯ ¢ï°¨¤±²n0 ÷‰Äû‰ ÂÀ^ªN]_ypr¨eŸŸ©™£±œzqlqwT [ Ä  ýû™Ï D;1 `÷Q  ¶ ¨n´””“‡EfVMh÷”[å¹ÁÝï×e¸W`lk ye¨„¡Ü W„“cÖ÷( À÷K÷‡ûAÌ ÷‘ »ªºÈ‘] è­;[ `r ÷Àý)Ù ù÷À÷0 P¯Gá ÒÏ Ê÷ÅYo{t÷4 » j–ž ÷óùV3÷-÷x ÷ŒÄûŒH(‡ û\ú| ½Û¶ö¼÷AÅ÷Ç÷{ PÇà ÷ íÃ÷‰ 1 E } Ö øBÉüB ÷™ý÷0 Ê÷ç÷S л»âðulª»º¶dT«9û8Dû Ë®€ ¶÷)’ ´pž Ê1†1û(Ê ±o’t–¦¤°˜¿’ƒ´?„FpQ =ý)=ù)=ý)ûr÷5È÷0È÷À ù:÷÷™ý)÷0 ر¿Â’ û™ù)û0 ÜÛ÷¤Ý îÝ ÞÚ÷ë Òû#†÷4Eû4û#D÷# ²i÷-÷4Ûû-÷4dh÷û9øCùÆI v ÞÚ ‹Þ÷Êé÷>w 20û( ÷<æÝæ *† Ôøçw ñ ÷Uª èt ‘] ÷2÷ ¿²­û÷:÷÷9d®û-û4; üˆ½û¢øVm ÷Çà ª L V ÷* Vl øk÷€Í÷€ ÷ g~ Vo]L„  ÷9 °¨WÀ }qr Í÷Kü$Ùx=÷0 ÷lÓÛøLÛ÷løLÓüL=ýq û 9Fi]V·W±µÂ¦ÇÙ¿ ÷P†rcZZs³¶ û1LdQRº\¶´¿­Çé¸ Ž‚[ɦ÷Dø÷™ü÷˜‰ø û—ø‚‡û™ü‚kuµX]peW† ¶÷¾÷âÄ÷€ v÷©Ï÷ˆÎ o]L…À÷:  ì ½÷ïÞ÷ŸÞ i¥ž¤›¦²¡ug^R]#; ] ¨nµ“”Ž“‡FeVNhÊ0÷ µ ÷( Ö÷¶Ê÷¶ eV†‡H pÑ÷Úß÷©ÜµÎ Ó÷)Õ/û9û:A*û) D¿¶ ÷0÷áÊ÷ÅX ÷rüÛÙù)ûÀ ÷CÆ÷Å÷Ë ÷ßÃÅÔ ûÀù= ¾½ªè®V£Etp{lRa ùã û¾øˆq ã»[47PS?÷]ø¥ Ü V„ ûƒúÊdù: ÑÏL ÷0÷Pû0 ‹Ñ÷ÑѨw §ºÉ‘\ µaÖ÷0Ê „¢÷  L°Dä zt‚_„ ÷;÷_ üì ÷K ¢=„b¼‰Ÿ~qv ¿o¸nda{Oû& ‹÷°÷°÷°÷ Ùû™ù)÷!`ý)û™Ùx=ûŠQ÷Švø?Ò û\ú|‹÷À‹÷ÀÀ ä÷u÷û Ê”un’m*^M( 1 ÷rû\÷0 KâP ÷< ÙûÀ÷W í÷9íÕí r²´…_P Ö÷÷ «ø¬ »á÷àá Ïø ÏÖ÷G Çà ·o¤¸«™ÀêÉW û޽û ÷\m ª¢¡«ªt¡lltul ûafdugZl _„aÝ÷ ÷÷‹ 󯻆» €r„vù$w a ¢÷KVsûK ‘ЦÅ· Îø,ÚÔøUÒ ‹÷Í÷Í÷ ùX¶¾˜÷F÷ˆ ùex ûŽú|÷£Å÷£ Y Ë0÷ v÷ÉÓ÷§w ÷" ÷jw Ÿ”¥´¥ ÷(Z¼ ù)[ e̪z ‡ û5 Ü÷ 7ìû [¬m³³¬©» ÌÎÙ÷ÁÙ÷­ TPsZû^û“ øÑ÷ W÷÷L û,»÷ø¿÷ø» r  Ÿø?Ò ÷Àù)=üÛûr ü$xE }÷™ ‰h‰`Šh ù)÷ ~qp Ïùw X> gBUs‡5O_Qb†QS0f1dC*O+ 6&AQ]P<EgH]Z7jQ<]<]<’HEM3@1G ÿÿBBBBBUUUsssssssssssssssss5555555OOO ____________Qb†††††B†5QSSSSSSS0000000000000000-!0000000ddddddCCCCCCCO*****OOOOOOOOOOOOOOOOOOOOOOO &&&&&&&&AAAAe>QQQQQQQQQQQQQQQQQQQQQQPPPPP2<<<EEEEEEEEEEEEEEEEEHHHHHHH ]]ZZZZZZZZZZZZZ7jjQQ*QQQQQ<]]]]]]]ÿê<<<<<<<<<<<<<<<<< <<<<<<<’s’††LHHHHHHHXEEEEEEMMMMMMMMMMMMMMMMMMMMMMM11111111GGGG<]7^<]=?E<M.?63149<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*GbE9'8MFDCGbE9'8NFDCÛÅÛÅ ããm{õ‚ÑÙ_gÙgÅÓR`UUPPÛ—<ÐzâcxcccT[Hpÿû11Wh††U¡Ð­¬¬¬¯·¯­ìÕþô¡Ð­¬¬¬¯·¯­ìÕþô¡Ð­¬¬¬°·¯­ìÕþô¡Ð­¬¬¬¯·¯­ìÕþô§‰Ž§¬µ‰ Æ•¯¯Œ½Ä‚¯Ž¬‰ó¢¤Ÿ“RŸŒ’  š‰‰¯:UM5:q1`N/+m+T`l80&UUfUØUxkUUUoULLU'ÿüMLº>$F4u!!ÉŸw¦&&HH&&!!ÿçÿçÿúMb¨ÑÙõ۹먨ù±é¸ùž–±ªÏÊêÞ깩ëù¨¤ž›±°ª±êó–¥ììÏÏÊ¿¨¤ll÷ý#ê¥××Òêê®°¨¨¨¨¨¤¨¨¸¬¸¬¸¬©¨®²®²®²©§°¬çÿÙÿÙÞÞÞÞÞÿÙÿÙÿÙÿÙÞÞÿÙÿÙÿÙÿÙÞÞÞÞÞÞÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÞÿÙ···ÿÙÿÙÿÙ··ÿÙÿÙÿÙ··ÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÿÙÞÞÿÙÞÿÙÞ, ,, ¾5KLggnn~~¡£©©ÍÎææüü../055UW]]ll‚ƒšª­­ÃÄÈÈÍÍ××ÝÝø lDFLTlatn8ÿÿ ÿÿ  aaltÂaaltÊcaseÒcaseØccmpÞccmpìdnomúdnomfracfracnumrnumr onum&onum,ordn2ordn8salt>saltJsinfVsinf\ss01bss01hss02nss02tss03zss03€ss04†ss04Œsubs’subs˜supsžsups¦      þ82HB  08@HPZbjrz‚Š–ž¦®¶¾ÆÎÖÞæú°®ÌÖêòd*4NhfxŠ’Êäþüþ:NÜæ> áá á*á$$  6X $ Ý ßãçí Ýßãí  Ýßåóš&0:DNXblv€’œ¦°ºÄKÿgÿnã~ÿ©ÿÍÿüÿóÿ ãý.ÿ5ó]ÿló‚ÿÈýð<DEFGHIJKLMPQNO6789:;<=>?BC@Aƒ  UVWXYZ[\]^_`abcdefghijklmnopqz !"#&'$%X()*+,-./014523¦ ªÞØ­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃSr¸ ÄÅÆÇÈÉÊËs²ÿ£²\VWXYZ\]^_`abcdefghijklmn®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃopÅÆÇÈÉÊËqSrsÞàâäæèêìîðòôöþ  °&,2>JVbnz†’žª´¾ÈU­[ÄD6(×E7)ØF8*ÙG9+ÚH:,ÛI;-ÜJ< .ÝK=!/ÞL>"0ßM?#1àPB&4QC'5N@$2OA%3„/ÿî-!/6789:;<=>?@ABCÞàâäæèêìîðòôöþ  "Y“ Gç$ÿß.áçë  "$'*/0Ä6LNx1z–\˜æyÝßáãåçéëíïñóõýÿ   ÍÖáâ ÿ DM6C†ˆDQ6?!"5 ¡¡ÍÖÝßáãåçéëíïñóõýÿ   ö÷ çüRRUU""[[v\ !#$%&'()*+,-./012345çèéêëìíîïðñòóôõö÷øùúûü ¡ö÷ RU[vÝßáãåçéëíïñóõýÿ   ""ÍÖáâ ÿ-.DEFGHIJKLMNOPQÝßáãåçéëíïñóõýÿ    8’DFLTlatnÿÿÿÿmark&mark6mkmkFmkmkLsizeRsizeVRN"*2:BDNLZ8¢dšþÔý¨šý¨œ² ê7ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤žžž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž¤ž_ÆÌÒØÞäÞØÆêêðÆöÆüØØØÆÆü &,28>DJJPV\bÀhntz€hÀÀ†ŒÆ’ÞÆ˜ØÆØÆž2¤¤ÀªÀÀ€€ ¤°>2¶¼ÀÂÈ€ÎÔhÀtÚ>>>àæ,ü,¦#¦[¦+¦K¦S¦A¦¾¦2¦;¦-®1¦7¦-¦:üŠÚWüÁÚ;ü¤ä3ü—Ú\¶²ÚÚ<ü>ü-üVü/üƒ'ü0ü@üö˜¦=¦\ü?ü8üü ü2ü%ü‘üëüü,Ï,ÂRZ  &,,[9V:x"0 "®®®®®K˜ž¤ª°¶¼Â˜ÈÎÔ˜˜˜Úàæ˜Â˜ìò˜øì˜þ "(¼.4:˜@FLæRXȘ˜^d˜X"˜Xjžjžpv||‚ˆÈ˜^Žž”,ÿê4ÿê[ÿê"ÿêLÿê¼ÿêOÿê+ÿê-ÿêRÿêZÿê•ÿê@ÿê6ÿê/ÿê'ÿê7ÿêVÿê2ÿê;ÿê#ÿê)ÿ:ÿê\ÿêìÿsÿê5ÿê9ÿêˆÿ&Áÿ&Èÿê{ÿêAÿê ÿ=ÿêCÿê ÿêËÿ&*ÿêvÿêmÿêþÿêÌÿ&ÀÆ ,椆÷šæž¦ $$ &,28>D>JPV,ï©+•] ¢P ê7æìæìæìæìæìæìæìæìæìæìæìæìæìæææìæìæìæìæìæìæìæìæìæìæìæìæìæ,ü,¦,Ü,·†ˆÝÝø65KL4gg6~~7¡£8©©;ÍÎ<ææ>üü?@/0AUWC]]F‚ƒGšªI­­ZÃÄ[ÍÍ]××^ýþ./úûü 5££3ÎÎ4ææ5006WW7ƒƒ8šš9œª:­­IÄÄJù*ÿ   $*0 ¡­áéëideoromnDFLTlatn ÿVŠ‚0‚~ *†H†÷  ‚o0‚k1 0 +0a +‚7 S0Q0, +‚7¢€<<<Obsolete>>>0!0 +$ ¨­Já²Þù áÅîÕý¾ ‚á0‚<0‚¥pºäÙ)4¶8Ê{̺¿0  *†H†÷ 0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0 960129000000Z 280801235959Z0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0Ÿ0  *†H†÷ 0‰É\YžòŠ´ß@ÛãW¯jE@„ Ñ3ÙÙÏîX%÷*¨Dªìxž“¹šª#}Ö¬…¢cEÇr'ÌôLÆuqÒ9ïOBðuß ÆŽ o˜ø¬#_p)6¤É†ç±š ËS¥…ç=¾}šþ$E3Üví¢qdLe.hE§0  *†H†÷ »L+Ï,&Oݦûü „Œó(g’/|¶Åúßð蕼l,¨QÌsؤÀSðNÖ&ÀvW’^!ñѱÿçÐ!XÍiãDœD9‰\ÜœV™í¢EL令=ð2ñÎøèÉQŒæbŸæŸÀ}·rœÉ6:kŸN¨ÿd d0‚Ÿ0‚‡ y¢¥…ùÑBÙ¸>ö¶í0  *†H†÷ 0S1 0 UUS10U VeriSign, Inc.1+0)U"VeriSign Time Stamping Services CA0 120501000000Z 121231235959Z0b1 0 UUS10U Symantec Corporation1402U+Symantec Time Stamping Services Signer - G30Ÿ0  *†H†÷ 0‰©YftÚ=Š}zØüõ€D{þGjUNPG ìÓíÎö8÷Oi¹±ð¶x‚ Œvgâ­· ¥ŠöüfÓü-̵sY{‰Ü3nfZ^R7´bÑ’Y5‹E¬Y²M$¢˜”hBrŸ:hâk‹ž"-ô˜N𯝳䠫<(¿#á×r¤òSg®w¯Q£ã0à0 Uÿ003U,0*0( & $†"http://crl.verisign.com/tss-ca.crl0U%ÿ 0 +04+(0&0$+0†http://ocsp.verisign.com0Uÿ€0U0¤010 UTSA1-30U´·ñ‰I&`çeês®ÜÓ8Í¿W’o0  *†H†÷ ‚˜ª'·xµµÉrm·ßÀ˜¦5ĈÉÒömñKûÕù-™žÑ盋á?½9€ fͼ\˜T¦”ºÑN‹«õoeÌg ¢€|RèÖkzÆìȬB|,§=fÜíý”sòr˜“±ÖïŽê¬ô–Q Ðß1RO^¯}§JuæNÎ+Ÿ)+çÏ]Ÿ~n'{#­b)f¯’è,νœÜÍ'ÑxìŸ1Éñæ"ÛijGCš_ ä^õî|ñ}«bõM ÞÐ"V¨•Í®ˆv®îº óäMÙ ûh ®;³‡Á»£Û0Ø04+(0&0$+0†http://ocsp.verisign.com0Uÿ0ÿ0AU:0806 4 2†0http://crl.verisign.com/ThawteTimestampingCA.crl0U% 0 +0Uÿ0$U0¤010U TSA2048-1-530  *†H†÷ JkùêXÂD1‰y™+–¿‚¬ÖLͰŠXnß)£^ÈÊ“çR ïG'/8°äÉ“NšÔ"b÷?7!Op1€ñ‹8‡³èè—þÏU–N$Ò©'Nz®·aAó*ÎçÉÙ^Ý»+…>µµÙáWÿ¾´Å~õÏ žð—þ+Ó;R8'÷?J0‚0‚ù  ;x`–Ú7»¤Q”FÈ–x0  *†H†÷ 0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0 061108000000Z 211107235959Z0Ê1 0 UUS10U VeriSign, Inc.10U VeriSign Trust Network1:08U 1(c) 2006 VeriSign, Inc. - For authorized use only1E0CU0<U 5Digital ID Class 3 - Microsoft Software Validation v21#0!UAdobe Systems Incorporated0‚"0  *†H†÷ ‚0‚ ‚·ÂS](¢aÓÔq¾<9>ZÀºíâ”ÃÇ8ƒÁë-kJ¸Š'ÿÊÞêK¡w’dOöòÓö¾™•³cƲ­á¦ pçÖ5RÂ!Š–2, bŠÖדçqõ Ñ®q`UtRЮâU•à\é7¦K\‘ÿÔ’ºäbŒjsÝP«¨VžJ^r¿ÍéÀÓ’›Œ¹k ¹'O¸Q›^iÓîgÕ(÷ä ë|ØZÈxkõvê2Cßr?šriTÒ ûžÚéÂà©CÔ’tJ·Äã0K­±@XW`Öƒó‹ëÀ½ÕCOe?r^­Úÿq²)žœ xˆçíKœ’¤Í¡ýž­£‚{0‚w0 U00Uÿ€0@U90705 3 1†/http://csc3-2010-crl.verisign.com/CSC3-2010.crl0DU =0;09 `†H†øE0*0(+https://www.verisign.com/cps0U% 0 +0q+e0c0$+0†http://ocsp.verisign.com0;+0†/http://csc3-2010-aia.verisign.com/CSC3-2010.cer0U#0€Ï™©ê{&ôKÉŽ×ð&ïãÒ§0 `†H†øB0 +‚70ÿ0  *†H†÷ ‚ªha½¯ÝRÄŽA¥}oˆž¾þ¹Ë·kíÂ8eb1DÛ›­93¿…”ÿlùº”” ›[çO-Yàã¢ÝcÖ¼å+t{-¤t6Û^’™›ø{¹¿Ý8Læ,„úN*Ú™Õô•3íd›HD"4_cqÛhÌÑQÿ8ßÚè³Áê%¯³ Ê0“Ê ~Ý;€Ø#¢ Õ%Ü ÚÛÝ2µ›úÑRùÙš*>Œ±—A.©/oI Ül·+ÎØ/ÜÌ}öiß”ÉÅv¥â÷4+vÓô.>âêjAòßí/Üî®öl @@ñO!Šƒƒ¤¶ŽgsÔ`ÜÄÚ‹K(5¶Áá0‚ 0‚ò Råª%Vü†í–ÉÔK3Ç0  *†H†÷ 0Ê1 0 UUS10U VeriSign, Inc.10U VeriSign Trust Network1:08U 1(c) 2006 VeriSign, Inc. - For authorized use only1E0CUß–åÅä”qÖUÇ&J@<µ¡&© §m€Ž%{Ï¿?ë/–úå‡wƵV²z;T0Sßb4ÿÑôZ“(…åLN~[ý¤“™ßÍï¤uïïöGçørØ.4¦´§L~½»O =Wñ0Ö¦6ŽÖ€v×.¥Í~4-‰£‚þ0‚ú0Uÿ0ÿ0pU i0g0e `†H†øE0V0(+https://www.verisign.com/cps0*+0https://www.verisign.com/rpa0Uÿ0m+ a0_¡] [0Y0W0U image/gif0!00+åÓ†¬ŽkÃÏ€jÔH,{.0%#http://logo.verisign.com/vslogo.gif04U-0+0) ' %†#http://crl.verisign.com/pca3-g5.crl04+(0&0$+0†http://ocsp.verisign.com0U%0++0(U!0¤010UVeriSignMPKI-2-80UÏ™©ê{&ôKÉŽ×ð&ïãÒ§0U#0€Óe§ÂÝì»ð0 óC9ú¯3130  *†H†÷ ‚V"æ4¤ÄaËH¹­V¨dÙŒ‘Ä»Ì å­z "ßG8J-lÑq|ìp©±ðOä Sú^þt˜I$…&‘G°LcŒ»¡4ÔÆEè …&sЩŒdmÜq’æE`YQ9üXkþÔ¤íyk Arç7" ¾#é?Dšéa̱\ü=Ò¬B=e6Ô´=@(›Ï#&ÌK Ë]ŒL4Ê<Øå7Öo¥ ½4ë&Ù® çÅš÷¡´!‘3o†èX»%|tXþuc?Î1|›–žÅSv„[œ­‘ú¬í“º]È!S‚Sc¯ P‡=TR–Š,œ=’š.Ç“¥H‘Ó1‚0‚ 0É0´1 0 UUS10U VeriSign, Inc.10U VeriSign Trust Network1;09U 2Terms of use at https://www.verisign.com/rpa (c)101.0,U%VeriSign Class 3 Code Signing 2010 CAt%S­ä¯Ñ¯˜MIíh0 + ˜0 +‚7(10 *†H†÷  1  +‚70 +‚7 10  +‚70" +‚7 10¡€www.adobe.com 0# *†H†÷  1nç/­¢×–î7WOìþZ³<ûl0  *†H†÷ ‚+ÖÜ«FÇ^ÃKøƒ!ùdø0a™ö9Ãäéñòàg¯[,OA ‹3iÆTš_žo°¬£ße&ä'Ó’ƒ](•_¨'d OÙŠzÈ[|q··Îã:ƒàà¥CS1— Çe^Œ¡¤Ž¼ƒ(ÕNƒ­êSóþ½¸Xqþêl4’Õ‚‰UP;»wÍ4À'DÍ„+îååG òt°©’'¼ð•]îuÿ´?sªTåTébb®[&ÁÄãâcCÀmZ\ó\Ãá-qNeáçºJ¸gpܼ ËT½ŠÛ° ¸H|\Þk„à7,D˜Q G/¢È7jqIð¡‚0‚{ *†H†÷  1‚l0‚h0g0S1 0 UUS10U VeriSign, Inc.1+0)U"VeriSign Time Stamping Services CAy¢¥…ùÑBÙ¸>ö¶í0 + ]0 *†H†÷  1  *†H†÷ 0 *†H†÷  1 121205232853Z0# *†H†÷  1î,±ôju{/¯åõ¹ù)js0  *†H†÷ €AlFL½“aöëbÕtÙþÔˆÏ9ÝXS4ÅH™[¯á¶gÃnÍÁ^ R;x•Ý‘Ùñ1¾Kö@¿rp÷šØª‰j¡²/ßƒŠ²Ü²^€lbƒñzÛ‘¼gxÚ³Œ‰pi)ëÜç4sw/ÊZË”ñ^8§U‚Èd‚r;EHL¤k>›pyzo-4.12.3/pyzo/resources/fonts/linux_fonts.conf000066400000000000000000000136731421373005400221760ustar00rootroot00000000000000 /usr/share/fonts /usr/X11R6/lib/X11/fonts ~/.fonts ~/.fontconfig mono monospace sans serif sans-serif sans sans-serif DejaVu Serif serif DejaVu Sans sans-serif DejaVu Sans Mono monospace sans-serif serif monospace sans-serif ~/.fonts.conf conf.d local.conf serif FreeSerif sans-serif FreeSans monospace FreeMono 0x0020 0x00A0 0x00AD 0x034F 0x0600 0x0601 0x0602 0x0603 0x06DD 0x070F 0x115F 0x1160 0x1680 0x17B4 0x17B5 0x180E 0x2000 0x2001 0x2002 0x2003 0x2004 0x2005 0x2006 0x2007 0x2008 0x2009 0x200A 0x200B 0x200C 0x200D 0x200E 0x200F 0x2028 0x2029 0x202A 0x202B 0x202C 0x202D 0x202E 0x202F 0x205F 0x2060 0x2061 0x2062 0x2063 0x206A 0x206B 0x206C 0x206D 0x206E 0x206F 0x3000 0x3164 0xFEFF 0xFFA0 0xFFF9 0xFFFA 0xFFFB 30 pyzo-4.12.3/pyzo/resources/icons/000077500000000000000000000000001421373005400167275ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/icons/README.md000066400000000000000000000003061421373005400202050ustar00rootroot00000000000000These icons are all from the famfamfam freely available icon set (http://www.famfamfam.com/), except the ones with the "pyzo_" prefix, which are created by us (usually based on an existing icon). pyzo-4.12.3/pyzo/resources/icons/accept.png000066400000000000000000000014151421373005400206750ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ŸIDAT8Ë¥“ëKSaÇý;vÎvl dD!‚„P{$;š ż,KÓݽÒ6cØL‹2r^ÆH)-³ÔjsNmêÔæÖ”2qÙQB̽éBµat±oçìÅL#zà Ïçó{®qâþ' ø‰r§ê³=)LÆãýaéˆ8,u%2Rg¢>ݾW´« Ï›JË<É!G†›A ú–»¢é\lF‰ë$½THÒCÑ; تtæxRäêœÎÕ~Ø^^ƒi®2®ïXíCãLØø‘dŸÞ&Èñ¤3ÝIëÌM¬ ”¡Â_ÍÌèØ”³©ö…ýõ=\œª€ØB®‹¯“˜@æN2¨Æ²¢•9˜UÞSPLB1UõT!Ükƒ0x•p°’Üž#H¸Bb‚Œ1Ól†5Ø„ _1”Oä,˜å$O>Æß¸ÀµPd mÏa›kD|=ÉÄGí Vn£6 Ö[Ä®d‹桚(ÄØÚPþ±ùmÏ.Á0QŒ¾`'Fb#&ܧ6ú—»aô«Pë×âÓ×Qèý—·1Ø2[µ+z÷iô; ¨ù]ÐC17æ›Ð¾pºI9̾jD¾}ŽÂ›?7ayzeÎ,hXAK í^3¨*bk ©·ù@ì+wQ=!‡Ú}uÓåXz·€¶Ù”‡Âq:g쯺‘n= ª’Ø:Äd+_¸½³Gƒ‡ÌTŽæA;œÕ JÎÆ£¥.‡Š!PóÖ)5!Üö›H:¾ˆ˜Üep°’Ö€úÑ"œ–£•Ý‚…õÎ"ðKy¦w|Ê{Hš2!i‡í~3z_XÑ;o…ÅkBZK* ^ˆRô®Ÿ‰:OŠ(¡§jF å…*^˜­È°ÑS¥„诿ñ_ó gЬåyºÔcIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/add.png000066400000000000000000000013351421373005400201670ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<oIDAT8Ë¥“ëK“a‡ý[¶/ƒ¤†Y(¨)%X(oÙlŠŠNÛ–skŠÎön.ºÍ-µ¡Ûh¤;8ÃfâÔÒEêëP¢"jï¿ÞMGˈø}yພ羹ï$Iÿ“ß.tÓuÌ„lu‰¨æ AXþ¢:Ü𼂒ZËHÑh1óDnZJ´OJBÏÖ{±Z„ÿóÖ?­`2`‡ÒS¾‰â=¹N$ü„Å‘é=;¾íaöƒ &jw °ï›°ôqÚJGò#ÜÁ<"N ’2h8èÞµ`ïë6†·õx¸Ön_+ ~úüZto¶À}`é¢Ðx%XЛ͈ hXÑ¿¬Æ»/›ô‹}èÝÒBóJ‰_G½&ƒ|QÅr-œû6ÜÉAÞƒ ELÐ⬡\ýU3:WUh[‘C6+Š 6.fÊ *ÆÀôK͸ÜFÅŠqþ¡÷½ ýou4Ü„?ñdó|XüÃÈÒ¥ÆMvÞáD` Ú *_ý‰Ò[ «éì#A½­œ2ú´0liÐôRñ|xÖq`4w=\ôûÔèòÞÃuòQ â±Åm+GÀÙ|%$ÞÒ5ˆœÔ¹‹áØ5ãRO*Ø÷YGMš‹UO ƒ¤G€qj4Ö°(XëŒ& s1±cÂË­(LVžfÄ Rù£¢dèj¤ÑQ '-1úÚAÎTA>U ãj4,´pÀV±"4L$eÎ@.ArBù™èY a~m€y÷Y])Q8tN¸L×ô™ÌÜžt2»ó"•¡I §µŸ Ÿo=CS±Èdå)æ_·ñ_óAFË(ÓÁIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application.png000066400000000000000000000007201421373005400217370ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<bIDAT¥Á!n”Q…á÷Ü{!M°`IXB¶€©Áb Å HÀФIAÛ©$µUtHúÿß9Ì07éó( ¡·Ÿ~||ýæäÛí&Ç `›rǤ '¤Š²yúx¹»ººùüóûéÅ8yurþèè¸=;âÇw›:.ÆfIÛÜþæP–4¶F*|y÷’C½ÿzÍ43ݯE€8”Á;”M­¡ÖP1÷^<B¹˜ “šPBšˆ‚,ZRC*ÔCwc¬aòZL£\L ˆ‚°À=ÐÔ‚R¨f&—™Fv$Hh@$H D@ÝÉ.¦a{’ØIh@$<İq ;¶™Æº,ìHH‚$ÂVBc«5:P MaZ—•i¤ÌÔ°%AÂ$‰=]"6Sl¦a›=bKâzgrÂ4n~]_~8[N]…ËT¶©eÁ6Nˆ‹TpLll¦K¶”„‡h<Ð_ì˜ðþ;îîIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_add.png000066400000000000000000000011531421373005400225500ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ýIDAT8Ë¥“=hTQ…¿¹ïEb,4.i‚µ0QXaI ’RÁ&•`£‰…X°UXÁÆÂÆÂJ1 ! E RX„€»ŠÅÆE³‘¼‹÷Vc—Å §¸|÷œ;3âîüϑӗ /ܨֽÝ0ÃÍPSÜsÃU1w\5cû–duq±|åéíቸ0Po˵‡Ý¹–n_­ë80×õêÏ–­¯%bWçú™}-Ε–In¬7Ü503GÍІ§åƺ:ݨi ë‚AÜñ ¸8bB‚H@D‘ȉ,7ÒûÖÈMR\"0s"‡ ±€Š£!uljYËæ@Üÿ‰€«c.@"‹R@3BS¤ IÅÅBlÆôÛI^Í?§¶ºBÒHXÓýÀIâF’üq €»#"øЋ7Ox_žâØÀQºvöðrás§)ŽæoϲD€d.$ÓA„ Âäë‡>Ї¥oÏ* ÅCý#ÁÌþFÈ>3ˆm¨oß¿Ð&Û8uð"—OÜgï®^€\\^Z~|þN2lª˜ªŠ™¡I‚™aîTk+,Tf™¯Ì06ô€ÒÔYrÑV€_²™m,Žæ¯uuï¸Úß;HOç>}}Çì‡>/ÕnÉf×¹8š/€àpoîneì7|“— œKÓIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_cascade.png000066400000000000000000000010141421373005400233770ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<žIDAT8Ë’Ý+Q‡÷_\¸Ð"’"ŸYv•,íR"6%ÒØhb±5%ÖÇZçÂ…(ù˜]»käFÊwÙã¼~gb††5§žš93ç÷žóœ×ån•K†ã¹Íî…,óσh†ygOYÇÌ kŸ>fm‘#Ö2yÈ|ÆÄ¿DäúŽ+¸”K…×o˜šGwS¶QÙ)uCIf ðG/Ĥ#j¶ì¾¹´ñQIe2S‰«×ÁÕK>°byZÌò~9Í g¼7z›&8\hpá±$ÕS´Âtò–cX¹æp¡ÁEÞ h ï¢òtJç.4¸ÐÌl§¯~duI*|yœ?< &÷‚§y}{Ä" .¬€¯¸“Z|G½Sò:*ú‚ЄczƒÐ„¾ ôÁ¡xƒ ©F@(–#œÓpñnÀ… *;.¬ûÄvÆáBC_Ó?›âÓÅŸ t.Ð÷ªàÆ/Vl|…ˆá ¬ÙàÂñÜm²=.d¸0ÕnSu0A•ýëTÑ£PywœÊ|ËTê‰+Èú#{à"WbIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_delete.png000066400000000000000000000011421421373005400232600ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ôIDAT¥ÁOhÏqÇñçûóýŒ¿¦p-fµµÅA)¥(­É‘r˜ ¥äB\¬Vkrs´B‘  å(—äÏO¶‘ÚÁì7öý¾ß/û®Vn,‡IâØá¡;gvïí¿>ÓVS"PŽB„¹rÇ#X·ªœ›˜˜<ïÆÀhîßÕ?ÒÑh¦®+Ñœkû0šÛ¥R{æ+5_*±(ËÅ•c}¬Ô‰k-jY j •#@!< Â#ðJx%\Á‚‹ÞMx8µŒDÍ’aJ†LX)f 3Ç QD"W¢•SËN-2ƒB¢$+ÈnÂSP jY!–˜Ddf a ’QDA-©åg™™±D"2#²‘#˜zx“é‡c´?½¥£«›«÷ÉUY²Ä $afˆE ˜~t‹ÙWãìaS&Åö½”‰×ooðäÍ„õ9‹l|þ:º~œ»7~þñâ_ß%ûü2‘â*ö•ÝãÕÙý;|̉'ˆæ &†¨ày‚ˆ‡ˆC3׉ö>¥¢j;‰Y‹ùÖ=Ÿä­¦ã¾SGÈL"* jD éÛÄroˆÏ[Aæ]1ÉS2¡‚âÉ• ßÔ!fx€‰€€äûï#?ž˜½†\o3±ñBÏË$Y\¦ÚSuü!" BÈréû¾Ü&1g-C/"ѯD‹Kˆ[†+©å,Ý×Úé‚€"ˆ!¡/y쇛$æn`(u/˜Iúa;Sjø88‘gN ED„þä ~¤Ú([¸Žü§&"1#70ƒô£Tl:OQùL•¯ªü!@W[3…ï¯)ÈTz_ŸfRYŒ¡Ìt¾=KR¹åÑÄ4BjFÈOu÷´ÔŸ êÔ9Ô)µÒÄæúK¼m>Hçƒ6ÆUVó½/Å¡­ô5<ÆTQ%ÔÂ013F;²gQphW½çxyç=Ý]?SJWÖmoç/ÄÌ­nUéà’Ùåþ²³°h®m°?½s}ã«÷üÃo¦E(ΖSáIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_go.png000066400000000000000000000011721421373005400224260ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< IDAT¥ÁÍ‹NqÇáÏý;‡4ȦfbØxÍâ)2”ˆXXØHYØØÈ b…(Ijþ³ac¡¤$aa#/%„R3Ï‹s~÷ý5gbor]&‰ÿaûŽݲ­ué{Gý"ðp"È;ÁÀìºýòå§S7®ì+[£­k³æô§¡9ÌD»ã×€±²S+u¾O2SÝZ‰)¥\œ?¸’™:|ñ=R Uv(„"Bxž…gá *ˇçáá4J$– “P2dÂÂHÉ0K˜9Vˆ"eÈN#y8˜–Œ"©0,A‘`VQpþÖnNßÜŒŠšFxÐH 1ÍŒF’)Ea)Á¯\±xpÇÆ7RåN£Œpþ23¦Iœ¼¾ )SE¦Ê™E V²jx#½6{ÇFX «4Ê\×L3ÃI˜9*v®9„+ðpñùÇGÖ-e²êò¬{ˆõçÌ/åA£Ä3èå WðþÛêÈ䨩½æç¯ 6,ÙÊdÝáñ»ßʈà/Œ)fôr왡¥äp\Á—X8w˜çòøí :NËöZ²h¸¸;ÁÏÁ#ôªŠ**z¹bÅàj6ìâé‡GÜõ„eÝ·ï\>³Ç$ñ/ÖžKíÖÒí}÷^ßýT;>_Ð+¦˜$þÅÈYk{}Ýð‘¯ôŽ?~ù4{<,LpIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_lightning.png000066400000000000000000000012201421373005400237760ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<"IDAT¥ÁßkÍaÀñ÷ù~ŸÍ±Ó6È›0[JI-7\lWRS,¦¬\¹ñ«pã@qáG[ün–Æ.ÜpéJ-IjL›ÐÐ~`¿Î÷ì<Ïçó±'”\Èòz93ã¸î §÷v´_ûR²‚ Š©"*˜jЉ f˜¢J]µ_™¸8x£ç¶kßÓÞW•/$ëó¬Da±$}ÀmWò–”¾,°R™·„eÎĸÒÛÂJ¸úŽÈ™)Q%„ùg”?öc0Q4(&ŠxQƒßt™ÍÍ["‡Q.É‘SAæž°ªf=iÕ:Ì̤’‘}}…5ôPUh Ò DNTˆ@•éGÔnè"Ì“äw!2CùÛ(iã1\CbJ¤¢DÎÔøAXšzHum ¢ÙgpKÌ~xÌê-gÈ7B RM‰T…È© Q(RþtŸº¦}XÈ mï1uèÂ{Gn¡>Ã’:òmGPU"¼'Z¿Iuý6²™WhPªkZ@õ d3/_aîãsŠ»/‘®ZCðÈ™(Q¾ØI(OC’K+|¢®±ƒPþF¥4MR¿“æîë¸Ú&’4ÅT‰œª6öò‹†f_ߥ4ù’òü$Åç¨o=ÌïÔŒÈM¼}7pò¦ïQT¡wc?mk‹<}“0ôù,ÙpŠÉ jŠ©¢J4À27x£ç(p”ŸÆïm߯^îd3rþੱù;ÇÔË„z9Ðz|ì%ÿà;9¹8÷³6×IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_link.png000066400000000000000000000012751421373005400227620ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<OIDAT8Ë¥“íkRaÆ…>ö}ë/Pj "óƒA *d°™•Ö²CáK Û$3TF2i5ŠI ¢$5?ô†Q+*§õ%˜¸oçxŽî깟ãûغá‚û\÷u~ç9ÏsŽ€æ¤±¸–¡§•¶ïqÞGL‹%xüÀµûßp5ñÂÂ\‰Âåù"¦î~€sî¼ñB›îã€é'•AôUÿª©pnÀôäƒèl0 ð.®â 51›Qž‡?¹ÑSú˜Äž‚¶¨ )ÊhtzØl‰¨Õ»X[ïàO­…_kMžŸNlèäÁr¿ÏA]YAGRAÛ][m ëMjˆ¨ntyÞzó…  Ý¦ê3€B¦‰ Ô¡Õ0P‹VÔQPoÉØhJ<æÆs@GÅ;;° ê1I}õ•vAÍ!ˆêÔõg*@¸÷y@jw»x™N# !‘H  bµ\Fms ·‡ÍÆ…0t:ÝaÍTì£ `’d ,‰DP­VQ©TËåøõ|<ŽR©Ä½B¡À½ÑÑÑ[šKsï÷Žæu6 ŸÏ‡âÊ f˜ÍfØl6D£Qx<Þ“`3‚‚ÐÐ8£o÷áp333 IŒF#2™ ŠÅ"òùƒÁ‹ÅÂE=y'N_à»Ý^ß÷gaÅ–ømR=™Ln.//#‹ÁårÁívóž<šQ†²ûZ­ö^¯?j2™~ONN¶‡ÈÔ³2°¾IÍ(CÙ¿Õ¦ƒû|°iIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/application_view_tile.png000066400000000000000000000007211421373005400240070ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<cIDAT8Ë¥“ÝKÂ`Æý%)‰èƒÂ‚¤•CaS )ˆBDZÚ‡QRÌ4ZaQvÑI’•÷A7]x§óôžóæfí"š<¼0öüÎÃÙ^8:±Ã9¥Ž/hÕZpç ämæô H›ÏØ(ƒý ĵø’E˜L<€°tÞø ÈÉ«æÉVõXþþk!z©'Û±gþ §_ÁކgÏ8@ڪЃpÁ4JÐ<†QËEÓ¨ÁÈÉ7€-¬H•~Å(Íf“‚¹Š èsnû¯º®[ôMq~ªß‰-c¸ÝFƒÞé p€¸úh™ˆAP\†1øY5ŒrËû (÷ URŒÊΈtâT ~¬—?Ëñ[KªÙÖ ^¯[t‰ðÆ®mýNŸ ­» Ž-èÏ™;‡¡È) ÌäÙ–iQî =Òtr¬ö.›¬Ë Ut|;| .’ûc^IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/arrow_left.png000066400000000000000000000005311421373005400216000ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ëIDAT8Ëcüÿÿ?%€‰B0È (=‘ÉÄ»I1€õ2¤À‹ ÍÅÙ$ôþüùÃððýC†_?3üú¿~1˜þŽ`ƒä.ô_edj>)Æ*®§À­Äðçßn90ýûï_ þÍðûÿýÑ¿V¯\‹ðÐÙ¿ÿ0þaøõ÷XÑ ¢ß`Å¿4ÔÜŸÿ@±_P½¹3î¼0›ˆ3'Ã×^¿ƒÕÙ ¯4ÿùý‡áþÂGŒŒÈ)1vUÈM B9 Ç i;N@ͺ@͉Ռ⅜㡻¼zZÓÉIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/arrow_redo.png000066400000000000000000000011611421373005400215770ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<IDAT8Ë¥’OH”QÅÏ7ކZ¤cf9„‚ÔÚUÔ¢ÜØª fd»PlQ ÙRÈ•nÚEÐ"à„6…e-r#…apœÁd 6Y‘c|÷œûµÐlDe{yïÀ¹çDQ„ÿ©Ø¿<>3’é;uçDÙ–ê47KgA©…îg)§g$uˆjUO 2k’p s…ܱ {Ö t?í<(©7YÕ”®­L º¼ñXйÃ]`$˜ˆ7Ùid?Î <¹ô¢?]ãçR.ïÝŸ8n¨Þƒe Ê@´z<ÒZoFÐXq•InoJ×WíId?¿CþSkŒhÜ•„$ÌÍç†'®¼¼\*бs[ жÉ1þv|AÔèÈÙ±‹¥ k<<-ãÔDÿd׺HµU–W!@ …/иáóJ ¼kÆó¥³8Њ‚&‚!7ñùÕÉMAb¨©Å‹X¶";ê`ÆÌ±ëG‡þ† Š"œ¼}¼§±69Ô²·ŠKËK˜ŸE~!ÚD­ôf†?kÌ8š+äŽT”U¤ë ¢µ¹ÍûZà‘àî  ‡ÜñðÞØz ÷;-XÈÁWï_?˜ÉÎàÛ×ï(þ,®ìC‚¹ Hà*P¢6G¹ýÚ¡M’2µ‘ª“)& ’ã÷íränͶR¿‰ÇhëYÿ»IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/arrow_refresh.png000066400000000000000000000012551421373005400223100ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<?IDAT8Ë“ÛKÓaÆû3bvÐ’Bº°BÖ9Ëd-Od­6_×tä¡eÎÅšþÜÜ¡ÜIͱaIF%üÀh„eµ ×aù#èÚ;¼ ïž¾]8ýa»xoÞÃó<ïóá+ ùߺñ¼q°eZ!;“”"Ð4U/(Æ/Dvèû¬•Ý]ÔtoUqÍ|ÛúÍ͸U¢!\ýËvt®¸êP¡ÝØñõëÖ¸#i)8:S.¹Î¬žåjÜ[/Uv– åloL´Äë3 kÔò&µü§Ö~jã´å·ýÒ~M™©LµGJfŒ2BÊ”‹ŒÌ˜„Zf—=çEf™QdÖŸî’wLÛ…ÈŒ#³f›d¶&ÊÆ©°uºÉlÕ“¶;îåû‰ïxLHÖŒ ɇ È È Èè~£…+É:Ò#h›hÎ#5=&¤N.eÄÜïhiL˜(B:’* ÕÎÞÆ‘îCÏÙsΑ¦dÿ`Ëšéþå›’å}ú–Œ0¿6H¦Wzº*``í¶Ü¶Ú+z>"Yà± HÿšEôë#ÜÏ Àð¬]ì|zE^`%bŽÅ¢”ÄÜv©Ÿq<ߎ!öÃlžÇÈ;;´ÑqO€u¥—žÜdðâ÷_W!ÆDÖ×ò0Â_"ö-ˆ™Ä²x - tànÆ$%ò!?ø’[÷‚®Ø•Ò²×’mìÕ8UœÞœBHôÃu¢É{N*ô½½AÆc®…kåºæµì¿ž&¬rPœªéóPzëÑè>2Iš)¹3™Aèõ. uF‰ªk4½ÔKÜ–AÑ.çƒöÉå¢úqsj§wÉ߈‹ž³Ø`LwЃKð$°H ÷wÒÝhö5 G0àz¢gœ'°ïè”hcA`Ë÷ºÞ žõ1¸?¹À®1Ðñm¨R "@QÉ©`“hž7‚ù0ŒÉ’pãGàZu £pÜvUO™$M“¤ õc'qŠ©CGH ÍL+×à@ÏTk?…µþFEÿ‘ŠküҼ갺|ÉIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/arrow_rotate_clockwise.png000066400000000000000000000011321421373005400242050ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ìIDAT8˵“éNZQ…yÞÀ8D«ÖF N§J‰ˆŠè5X¹BÑ€/DiEmAD0@Ô´‰Œ©8¢Ò´%Úö¾ YÞ@41Šœ_g¯o½ÎÞ,¬ÿ9¬'(Ù¹-¡;¾5CºÙâc-^’÷ºöÚØŠÖáX ÷™>Ú…Õ¿NØ~š1¸Õ…º¥W¡ê… v\€œ›N)øi7Ïmðü™Çò¹ößÓp†-úÚ ¾­$t+@þ½•ÔUðþ‹¹ºÂVŒ”Ðl÷Ãúãì¿f0˼¤Ãß‚’É|ò@¶%¦á÷Œ«#ZÜäDD>U㮤ªæË#æ#LÇzèÃ(2æÒ7ÒÏ >‰ Y¯A£WÑ _yydzr©7í˜<‹B8º¸÷…®—WEeS…”ÌO`<¨ÅØ!…lMÆÝ&iðçJxŠMœˆnW Í®Ê/Ýx>”JÇœè\'ðÚ'A©9-Kõ0ŽB µ§Fµ…‡g}Éä­£²5‚éÕ€‰ Æ# †ƒ¨wú± !Òz“Bqç€7Ë…Ô+ÆÄ‘6æºsíÛ”£êCeTœ¬H`ß9ÊÜ·yhv×¢Þ)DÎH&²TiHH9KíI$¼ mÖµ¤µLÒ\ôi»9ÅÔIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/arrow_undo.png000066400000000000000000000011671421373005400216210ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< IDAT8Ë¥S=h“Q=ùÄR¡BŠÍÁÐÒIq”ªÕ‚(Ò‚àÐE*(Hqpp—RZÁB'A$CPÐà"¢Ä,N¶ùÄÚ`i‘ðÙJ æÞsŸCI4V°Ò —÷¸pÎãÜs^È9‡Í”‡MV¸q¹ôzÄ™ŒÒ@eã4 +ª,RXPÕÜ£á'å.Ô0úò¬;?çs„9:‚FÔ¤† `)X†ÿ¥”WáøãóÏgZ$¶2AMA#èÏkCûÖvô%ú°kçî´ˆ^¼ÑŸl‘@% þS„ A%T ßž@ª;„CèŽD‘Ü‘L—æK/L†6âBúα ÍÜs(Éâ[°‚7ïfž½ºúöø†\ÈŸ+ŒŠh®¼TF¶ut@D÷®³ñÌÃLÛéû§®üDë %¡¦#Tt}TtZD³‚ÆLH]3]‘.T¥ŠJP ‹-KÌ޺댫'o:•µW(D<š@*™BxKžyX\œE M‚ìÝ¡ëÑÎØ…ÞX/ =‰ž¦…4ñýÇ*6£ ç\³ÆöO÷_Û÷þ÷Ù¿ºÅ©ëˆŠ>øŸßøù…’êåíIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/bug.png000066400000000000000000000014061421373005400202130ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<˜IDAT8Ë“ÉOSQÆù\^[ ØªtzïŠ% l$–*“**”2:  iRpˆ¦Š´¶ c0ÑèÆÄ…Kw&&`44Äðù‰(¦eáâKîɽçwÎwrO€¸XÊ\¦‘¹HiÙsÆcUQz@¹ýï›ö™šø;Ö„Id„TaË€ž¯ö)jèù·C'ÙŠKTóï8=¨Š¨ýʯæ9Þ‚^z›“í–ØÔΘ͹™1OFöZ[ô¬”WÊ-GçzÖ?‡Ð®&­%*€ñ©M¤„ÆGnæN!øaO>Nc॒[ɨX·ÿõ0NôÅqg*¤1SužÜb|î{g|îfz)̾»ž§&\ — 5\ Í0 ‰3¦i² DŸö;`|î0>A?Tx4^òËÙ`¼oûqs©ö`>ʦ²`ôÂ÷fC«v§@m†X ¦å¤[r\†ÀûAt.–¢) G™[ ÃŒ÷×°Ïð`¥’N1Ä¢ï)­B룲ˆÑW×s+ý:”Nd¡Øs÷V»a*DÕX.pBÜ&B²]°›ÔH@TÏÿ3@ÕPÚÚ  wVÚP6™3yp-¶ÃâÑÃ4š Ǽ “$ÙH®'ް9„™{m@ßUô¥¹$èZjCñ¸®…XÜ:TŽä gÎ꺢ËLÕ:¢:æ?õ[#š¹{1ˆ®P=.2 ž¹F\™i°ŽA-D 7Â7qš£XI¯Š×¤b4¸ka÷ÔAjï% ͼj&QË«HÜä–&€s.žˆ `•j¹“¬üŸ‚KLE3ü*ΫX wØ6²â_àlðÊÁ=Ÿ@ü€Ç¿“hˆßŠv÷ ·,qq‚úIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/bug_delete.png000066400000000000000000000015041421373005400215340ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ÖIDAT8Ë…SkL’Q¶Aý¯_µ¹yGÅ ‘PTòÒ4¼åB›¦á%S)ɦ-o£¡•Ó,ç%PÌ H¢¤¦iÚÝÌúÓêG«Ötý°UÚ4É9ž>Ü2-µ³½;çÝ9ïó>Ïsα`·S ðÐÏ ²­ý{8±~zß•¿ÏlI‚†ù.›s‰€¿‘cʪŽtæw²Óyí>ßw´u4sóç~Ž…ßåû%£$T]Á[á5±¬ñy|ÕŽ‚>bÁ¿—°¬SÖ‹¼6¸:p5>(žabÖˆBu2DéÞ—· uùuûBÐI,DèC`xÕŒÁ7m¨~VÆM$D¡kªǪã¨Ê Ìr:Ùµ—X$unh'uZt\t¼¸…²! ŠLñ(0¥@PO€¡ò„¤MŒàhÚÛ ¤ÎUR'xØZŽ˜?mˆ†îy®™ÏBnˆBR« ]1èœn@ÝX5˜¥žà'¸·Hà¶ùLˆfô/kQÜŸ™>Iš ˆÛ#qw¼ò1îV€QL]I[ò,p“nñ€hdY:c¡‘"·K„Ä!â´'qg¬ÒÖ¤6…‘*Ð4xÈ]­î¹. å8ÿ1S罜iàö¨I÷ƒqª%êþBdi#!i Cke8‰aXHÅ`en(„Rè’áxu€WîôV3pݬ@\³ê>%²4"¤4„B[Ž9s¬¯±Ü!Ãt6cíñqªtË5²*Œ»ä;¢éi-®spž*{˜‹Þ˜øA£F(öNø|#CÁ”÷ÿ¼f}œ©¤ã’&rm6˜yôuÚÖ™lßJbDHµnû‰¼ä4»ÔyÍõ‚Hè>±ïçRS*@Y ì𕌙>ÌÙíömá|ÎaRvÆSinkŸN˜WîÅ»´=x"¢®‘f^ù/€-ìW/Ší-dÇ6Úä¤EÅdÑÎ0e˜rHÉycF#»‘Íé]g»jÒLÃLÌ4µ(ÃTŽQ¼»˜Ù«w5‰Z}¸æyî™ç¾îûw=,Ž’g/žÝ<‘éîÑêàNºêÿ~s¨ ka'6·Î˜_+A“Kÿ©ó÷ÿœ6Mìá%ý®ÝUnA³ëjôÝsJÿ|¾ž_Ã5†Üi ì"Ö=:ÃÞÊ$±ÁotOé ^­32´ Ðη!µ(â(ÎM³4§È½ÅÂ&b݇< Õ”}ïêQ2šÖ}[Dôú¡y¬NŧàX`‡<&=µƒØ 9÷ÙiN£§’‡ÆñRä>—"½3É‘V`ØAZÞþ6ºý hΚü—:¡’Xº¤ò‡òM12{‘¨òƒä‰ò;‚19rÕÃ…pȱƒ Ôºí¯ÞùQË!炜¨@FwH_HjEoðÃÛH¬êZ î+ƒ fšÍ¦]²uÜ¡ ˆG\ChSŠãß,F˜Â AuÐ7‡e:‡ÝÍiL¶Ã7› ÛÄÆ“ñ ØÄZý ÐígëšJв¡H{#PცîL´^„a¹†Ï%X›éâ¡âTûã¦F´åí}~¹‹ŒSÄBvO ‚äbw¥¡µAŒ•÷$ óÙÐÞãbg•Ä„üŒq¼Zhö¹2¶†‘d‰š‘ T‘R|T§c{©ÔôUheNÐÏ¥`}öK‰Å×eı LrHgj8·ì1¨8otpúOIØúòK: RŠ9M9ÚsÙ¥f LÊ’qÇæ´%ØþZ¹7}Kw…FàìÔl ¨/Ðæ°5YöL³ôz ÔÊ ¶×Ô0,Ñ,µ »?¦°0V¡t›³/ 9+/dŽÔh›¢'Q™LôgØaøŽ-E7Qê4kJ “­F k<î:MIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/bullet_yellow.png000066400000000000000000000004371421373005400223230ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<±IDAT8ËíÒ= Aqðó9îçòd1˜ŒÍd°(Yå¥n]q£än¥<‰òΤ«®pÓñ ”VÃYuN$ñKð>,z¨ ]¨oCvUX&€¼VÂÈïðytL„Ó2äkàуF'—÷m†á<Åpßä°ýèãØæm™æU㼬ëìæ €C â…áÁæyÓàb ¬$ *Ì*°FEˆ—‡¶2ÐR’™Œø¢QÞ(ð_θ7iIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/cancel.png000066400000000000000000000011131421373005400206560ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ÝIDAT8Ë¥“kkA†÷kH !)¦4„–^c› ¨¡Æ˜4eJ›ÚK¤i(½ÑËÿ̇\ £Ä• ²Î®»;OgV7U”–Ò/ þϙ÷œ3`üÆ à  Feý` ݇ïïàÛòë[ä—:òÓä‡WønãF{2 2ÿ8³ˆÌd©A2I°¶†ŸÏâ>§wï&Bÿ;6ÔáüY«$««ø• òì ¯ZÂÛߎ³Œ=€D€þ•Uem¦Óf¿ZÅ/—ÁRÑÛmäÉ ½ÄCz/ tBë Ì›Nìí…æJ›¤·½³¸ˆûì ­a€î°ü¼ÿ;¯ºrd ¥ÌîÖN,†XXÀ©ä'>¾îçÇñK¥€®îærˆùyº³³8¥ì8 x_Ã_YÁ7Í«Ìú«Í´ZÈ‹ „šŒ==ótËa€§jDÞãòô´_µÑÀÝÜÄÙØÍRA‚£#ºË×Åô(ÀU¦çëÕËxfàø84ë¼Ý¹9„n®2‹õ$b'C{éMÃø9²Hj9,=ßÞËÜøÝ«¼öÌ öÔöR,¬Ü2­²Z˾u·šÇÙÍá˜Ù0¯(f…Ô˜yâcRݵt‡#]Ôì«ù÷×øú畸ƒýžÝ¿IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/cog.png000066400000000000000000000010001421373005400201740ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<’IDAT(ÏUQMKa^üÞý þ½t²‹T—2ˆ ‹.E‰‘ÙQС:”EeQ¤PR¨«¶®éº–QRôqÈâ%!O^wŸ¦m!c3ïÌ3Ï3ï îÏTo^’%ÉÛš³\ÅY¶«¶|ýïëg¶˜ýØÙ¨„Ëz‘)Ž,{Å b,êÙ¾¾¶7þg|á Ùfʨâ'†ØTÁǂ߲ñL…GUM W˜0F–DN¸C \`ÛÈBA†úçSâJ“kéÆ4$0£ŒóSü’rI ‹¹ZHãdý“ˆ (c³üOÏ:/B&6…Ò9I#M…:¢X6«ü1Ä‘¦|ÎíhKµ­Æ5AJØTÖø’ÈÜ9úžZ‡f) 9+‡<±OQ § ÖŽãžÊ**4Kž˜rHÒkØèÿýæ®?WDj †Lê>c¸!ýi¸ýÖ‚á½9BL%†^Öéð0—Þn9ÖˆsÐ>i Ö“ˆ¡«Þië¶»œÿ®ùk>¯Gj—ÜÿÎý ˆ]ò™î†IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/comment_add.png000066400000000000000000000010221421373005400217020ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<¤IDAT8Ë­’O(ƒaÇwRÊÉMÊA.” íè¢D98à@h(vpT8Ðj“ÍDSŠ9à4iñÚƒpPÃm6l^ÿ‡åOÚÞçë÷¼›ÅÚ^Ч¾==ïû~>Ïïý= €ê/Qý› V¿œI™¥¼S ’—L`[w!‘ 4–¶}\⦤Å´È D$ÆðøÊpbŸ gAïƒûF‚ç&*ïžÚä’⯂­eM~yE øÈà'øôžá$]I8£‚ù.¨H*¸ ø<ƒo\×QØIðn µ þ ¼|í깕pLð᥄}‚.ˆÈ‚Þé-.P'm"—|¼‡_’Å MLOuŒ‘Ï#›\>ˆ‹¬ èk@ëPêt¥Ïå]…=?^$’x.ƒ/èŸEßB–œ8DæÕvÔ˜ PÒ‘eT‚Mã6'¯ä¹^_¶îÃz8"Wc´·Àloã‚·Tp.ÅKÑðuewlΉo½YܳpÁïî»Z›ý6(4C/4ʰ~¥Q¹‚ÄЇºjc>L‚FÞ™Ï|­Øƒ$%ÄËŽÍþü út\»;IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/comment_delete.png000066400000000000000000000010441421373005400224200ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<¶IDAT8Ë­“I(„aÇGÆ”íÀ…(E]•›Ü&Ë…pq’H¥l%98(”²—²Lƒ²,%d cƒÆ’±d¾çïyg˜Ð̘â­ÿá}¿~¿çy—O@ö—ÈþMQ§äôp^9p 'Ò‘`¤ovo ®ÆèÒ‘ìsvOü8‰wO„«‚þž »%œ˜‡×„}ƒ­Á&¯è\’˜¯‚°¢¶ëÇKõw„3†oðÎ¥„-½MÐп" ç Ÿš>`#aïÊo2¼®s.°oA´ÄUµF » o_HØ`xM'« ²{Qb¢|¢›µ3É*þqˆÞήÑòyeê-»H£*ÀDZ¦âåNô¡–ô@ͯ‰%Ú “]Õ™X-‰ÅóXh[ so1– £Q“ê?í njß<%ùÑÃP%e@m8ŒqèS*ÈÁ9ä䊹h›V†¿ÍmU0&yÝ­÷>À•;r†^Je0qNò=1¨ô"·­Y!s yQЗ…ÃPî…ƒ\L%ËQŸâ;ïö_ל:Ó¯TH¢í®Ìð¬X ù§9²îTIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/comments.png000066400000000000000000000010551421373005400212630ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<¿IDAT8Ë’½OÂPÅYMLœÜŒ‰ƒ‰ƒ‹Îþ&.ê Æ]$$ꨓHÔAÄ<–CXÐàGù((…¶âõÜGIÄÐêðKû^ï9ïÞÓçYð†§€œ:p VÀ8y~ãÁ‡Ýh"+jº)´Í.UP¬ê"K Ôm:œ±¸‚ârÃuS”ê†(Õ QÔÚr?£ÔÙàÐÑ€Oe±b‹ Õ¶ÈUZ"[nÉõ_çµ–)TœÌÅyˆ¯“¹Ûõ½XyÉwe-~¢Î›,ØæüØ  BhX)æ“7öoªÈ…0i=š] !B.m V}¸ˆ§a~v$‹;‹Å˜Ÿ0!B.„\]Ê}ŒÅr¼ÌNüò.ÃóZ|*‹[„\Ýr‘ë>Ûä —â0¨#B.²8ÿCœQuÊãý]m°ÁKO<Äa‚ 0 È…ÚV§OÌ](ØG^ôZ¬±Aªg0 ¶À„½öúC÷”x.2‘°Ù[©AOyŽ¢)ë`Í3èßÚ&ó@Ótƒ ¾@$ùö‚yœ l“äÂâ6˜x‘\ÄÃÜhY§:7ƒ1Ón]ºŽð¾ÁŸ ”zÓ<·IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/cross.png000066400000000000000000000012171421373005400205670ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<!IDAT8Ë•“ëNQ…‰‰É‰Ï V‰†È‘€ÄB[(­ &Ðû…^¤€´¥í¤M¡6êM|Ÿ DÅÞ°Ò™v:Ó官J-%áÇNÎdÎúö¬µ÷ ¸LÕ×B×Î>w_3:*ÞWìrÙí×lNC/ -Î좕ÎB‹'{ u_€×a46¶ðëåÊçêâÒ½€¿bäß¡E¥%D47·;ٻƩ;šÑ8Ë£}>6[ãåÓ•S@*ÍZ Qkí¾>~‚–͵hB\öø9u‡²è½ìàxþ¹Zæ®vYÐb ¦¾Ž©š˜Þ€šJ£ ƒºCيٽ?çŠÉBâYvnˆÍÈ&k„ÖÕft‡ì¼öò$Ì™,d•9³Zžžaý§p“\^ Y²ãö7 ¦Q™×JFý¿ 9=íQ4 ØœÀŠØI’o SüB€äpsÉåŽI‘„) Fv(@yÕŽ²Þˆïcãü\@Íîâ’Ó %´Ð%‡ –Zœ2h'‹Ë@dµË(<|ŒÃ¡aÞ ÍâÔJðuM@¢O§°Ô⤞L°£ñGjÕd‚!œX¬8ÅÁ­AÞÐf 5›J iÕ K->Ówû62ƾßWHÖü}€ý:¡Ëm–P]XBÉ0­QX=iÞb_ï¨gÅ=!–ôF¡ðt’õû™t·Ùþõ›Â…c¼lýr»¤ÇÛí¾IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/cut.png000066400000000000000000000012101421373005400202220ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<IDAT8Ëcøÿÿ?.¬š5SË®zù<ÉÄI¬¸Ô0à3À®zYfûºÓODb'p"‹‹'Lb"Ê纕ys÷\ýt?LL)}†®O뺭DàÞ¸ºd݉{ÿeS¦Êø “Õ'o»ø$}úîmDàÓ²¶úÀ•gÿåR§©ÅôËÎÜyùÎô—ŠÆM” Ê€€öõ-çî½ý¯6=¹ó¹Ó‡¯=ÿ£6Íšè@ éÚÔyùÑÇÿ}›Ï»óòëó²E9Dům8”#û·ußjÜröÑÿÄ);ŒF!—4)£Ì¹«ê6^Òɘ·$}úž³|ø?qÛQÁàF¼9§I5ÞNXuçȼ ŸS7¿ú?s×ÿ_ÿøÞ¹n¯e¸#^Œ²æ¬‰[zí¯”o„wžÂÚ'ÿgï½óéÙ÷ÿÓ·¿ÿ»ìÆYÏ´œxuíûäX·¿FyÓ¦§mxþ¿dÑ©éŸþ×›rзwÇeë‚õ_¸ <9°àÒ´õyÔ’k/›ÖMÛöæ¿YÞòæ9k^N=ò$¯VVæP±ý¿E4Vä‚ËçµìÆ?³œe§¹L%L3V< _pñ§–£œYVßûÒ-x}pÆ‚ˆkº„˜G–Œ¯7ÿXò¦çÿý'íš´úE7HÊ<†^솉 ®Û—mûn’ºä‘·ºÉ8ž×ƒº‰IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/delete.png000066400000000000000000000013131421373005400206750ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<]IDAT8Ë¥“ûKSaÇý[¶¢‰n„„QP˜ó2wÖÚܦγL[,biŽašAÅ\øC¨¥vÕÊ_2Ml”ZFjסå±òÒNMjmž³kÊ·¹`&.#záûËËûù¼<Ï“ 岿bV¯ÎPæ÷T3¥%¹I­†{Gª™qRiv•È…ë ætzâ#E±ß6„ˆ¼EddüÝÌJñª`Ÿ«ÅDRÁ2<]Nñ ·;°4õѾ;ˆ¶Ûm>‡7›°8ÜÉ€Qe6ÿLžI¬Ìèt‚ìæ®·c‰q!zñ |v ü¶j„/Xi ¶ž@øÞ Ì%1|hŸû±l !ˆÁô|­‹®±ø! ïY#‚uºUáN’w]Á˼ H3è„àu„ t]E´³>k%¾I“f¡’o«ÇR…‡D:“0åÚ`ä~¢ |§ øÓñ(rॠáon„3oG0!˜$‹‚¡ÎV„ë ž*[W0_ª‚¿©ýâ-+‚‰ãµÖ d§ÁWÇ&2¾ZfMFô‰ÒVJpËiF&B°³ >­ ÞRɘ•gƒ- Ð~ CâmèÍÚ´ÒÄ×ERÁ ឫРp«5Þ°y•ø¨È+‹Á21ø¶ŒK—aw·h£`Õ ä#Šüôa×Zñ½ž†‡Tâ³ZoüåL¨óÑ“•ÊÇ`"é(?•ï'žÜËŽJváKµÞ†óñ|ª:†G9[—aöw8é2 Jw Äéf'±“y¿ëmæzsÓ˜žìTswæá_·ñ_óÒιIrþIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/disk.png000066400000000000000000000011541421373005400203700ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<þIDATÁ=‹]UеÏì;C‚’¨`„DD Ve ñ£‚…h‘*BÐ"¥6VV"¢c¡Ø v‚ba•"ÁNÅB´Å Þ™{ö~×j‡o|÷Ãóx÷‘Ž&ÀÞÒ,K“”*ÿìoü¼=]ß»óñË_v<}tëÚuš§.R±±[ËÞÒœ9X´Æñ¶ŸÌs¿þy|åóo~ùäðÆ×ç¼ |uç_’¸ùáªBk6½Y–f7b»–QÚ´ô×^ºüЙƒý<TÅ:Ê:ÖŠ¾Ç¦7U±Ý•u„Ä÷wïÙßìÙžŽý޳£‚Øî ,­6}Ñ4'kÙžF%*Tâ¿NHZ'}&NGÀÛ¯_±é‹¾°Îøï´Œ*UD¤Ê:¦¤t´šH¼ûÙZk–Ʀ/FÅ%8þAëØ#Ñ…J©š¾p‘FQ¡ª$Q‰ª¢5ë:Hé0' РQED‚DK$e]›¤t³Ñ4I¤JDUS*¢œ®!¥³Bxç•KàÖÑOƈ¤ô¥5³ˆHøàöupóê‘9‡Ý‰®Q píÒ«j–¹¥'ɬ4nÿþxöÑÍ9­3’¤Wü¶õø3—Ïj7ŸûÀ…ûËœ¿ÛáoßOò$¹*y€’„”¤HIЉ$HÈ=m¹û?!|n‹m°¢IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/disk_multiple.png000066400000000000000000000012631421373005400223040ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<EIDAT8Ë¥“ÍKTaÆç½÷ÎLãGöA Jh%Õ")%—‰´ B‰ jUH¸ò/h'´1h§«!‰VmÄ!m"­ÁÁPp¥¢ÕŒÖ4Ž3÷ó}[XZ‹Àg}Îï<çá1ÆpÙCc‹³uq(û!Çjclä*ˆ‚Ú¤…6Âb…éLöÁÊxÿâ?•²ËõÎ Üê¨ebæ3ï]ÚWôâm­%tˆ1†ûOff{º/²²–kŸXLq´Æáë¦ øægÉݘÎdûVÆûç÷9PJ° ¸—žkç¸q¹†7s_êkC€íJHDLÌÑZ^g÷ŽÂõr—õ¼ÇÐØj¼.“s3i=ÑàáȬ™Îd»VÆû?Ø¡6xQˆR ËÈÿf2 ˆØ.8bs¼ÎÂR!e/àûvÀTúÛ^£Bу|ÁGDWWˆ´ÁÂ!Ôš‚»¹—Iižv µÁ†¤ žçQÜñ«Û¶hi„ôR@M,IÂ)ázïVQa¤Ñ‘ÆÆ0tv(€åléSjr­¢Æ/×ïeb)ÁBÄ£0FÂ߫ң½w†ß/Ÿo¦3A«#6ƒ7뵿;Ç€MÂŽ1òr­âNðGËÙÒ\jr¡#Ò`á ©š{ÄÉäE¾¼ÎÀÕg(”=ÿo@z´÷öo'¦¥N×nÓÓÞIC¬ Ü&NÕ„$c`‹TOù ® N½kk>ÒÝo a×êÑ1ZÊ,­-“+Ì?¿+rØwþÿÑ!/-‘FÕIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/drive.png000066400000000000000000000005321421373005400205460ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ìIDAT(Ï¥‘=JA…¿^{ÖÀ„Å@3o±0“x Oà Ïã œd‡¹ÁF›‚˜‚SÝÕeнƒ‘ÉVPI½÷¾¢Êÿ׌}`Xk­D€ #ÒÝ5àŒa5ïϑɓ·ªèymî;ññŒw+CãS®èÜf5ï|•àˆá8 â„#Z¶{Y_Ô†`%ܦ^ñÉSç…o>1JÂH$ÃsŒà¥AÙà˜¯‘¸BY"µ‰DÅ‘ f—øEIÜHØŒ‘²`NÁÙ¿]ñ?íó­0æÛ!H¹gÆZëöþæ/ˆ6L‘IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/error_add.png000066400000000000000000000013061421373005400213760ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<XIDAT8Ë•“]HSaÇÞzåÝ Ê¾¢#Ó5rwÑEAPäÆ\ebŸ£‹.ºè¢0&¹¶(#œQhIͦæq¤°‹¤nʷ馳æ>ÝÚ÷Ú÷¿÷‡¹Z/üx9ï9ÿßóœ÷œ—€³þ™Æ²uýÚG ž÷‡ËŠ=Ç)vƒ„{Âô=„¾Þ…{¼áê H¸ÂK #¹téà\c‡koV”,ðN uK7òÙ(òi7BF5¯ù½% H¸Ö3)È!—BÊÛôú‘øñm¸&»ú¢ºöŸ¦cöa’À4$bÉÆi„ͬ ñ x&ÒÀÜ ŸBÌv KlQ†|&çôXû÷J·p¹KWïÿé›C.íBlé,Y"f1²Ñˆ9f±ø¤jÍÒ»«üë]ýHh^I*ùtu ËÚcAâVrɸgoƒVíPü& á*§¶.“ÏD‘‰°ÉXAÂÞ†õÏbDLg ›lÂ;f\RÄù¤í<Õ¦Àù¶îSØüŒlœIgV)4o¾ÂèØ)Üyu:º_\ÔÓ× VW£AÎU2áãž™VòÍcä§G|IµÊf ©.Aëý£ÐBkzf(õ¡Ö_†@ÎMq£|GÜñä3A ²Á ÈÚ‰[|LÐýØ:Ææ{˜Àù>R£Y}Y ûs–À6°KO÷`±o7Lw¨¬„èz%º¨V(¨6¬˜ja;ʹ٢‡i+¤RÇiå~< ÚØÊÌÌ\³{PŠ  é$D˜¶ s'³þ §yëwgRqIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/find.png000066400000000000000000000012231421373005400203530ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<%IDAT8Ëcøÿÿ?%˜ê4÷Ïy´dÞÿ­çþñ'/Xf‡Æ¦Þ"Ê€Šæ¾GëviQTó¿oöŠÿ@ƒŸà5 )»ä×ô%ÿk;§þo›4ÿ¿‰¥Ø7ŸÿY%uÿ ªZÁbVö®Ë”Ty…E™À,X³“£¨¶Ý£©o6Ø©…Õmÿ=üÃþ»xüÏ)kø›–÷?"§éíÄeÿKZ¦€å¸¹yªØØÙÁL˜»šeÊÂõ­Ûõ?·¼ Œ«'®ú?eù®ÿ}K¶ÿjœ¾ámïüÿѹÍÿÓ Á.dfayÀÀÀÀ 6è\VÍÓoüŸ]Zÿäç”ÜòÿÑÉ9ÿÕ´ôÀ6‚\K/êbøĬ`Ò *YýBc~ZØ:ý÷ Œøolaû_[ßø¿¬‚òS1qI¹­bRÿþþ/*.ùŸ—ÿ?##ã; Lð@ô Š: ¸]‡Ïü_µåÀÿîË@¶$§ª©³¢²eÂÿµ;å@1ÂÇ/x%Ü|‚ÿäW4ƒ ºè|Fá=có« 9 ÍWA12 5¿âzaõN®?(8ºûþ‡S¤¡­ÿSQEQBZö(à`€Â‚••í?ŠÖŽnàx% P`ê™ýúŸ_IUã ÈP,Áä€a€j(˜X‚èçÿ@›ÿKË*ü¢п·9¹¸ÿã} cÚe&R1ž2hZÛT¸ÎÓòÖ¹ŠâUÅå¿ü|&è¸èß8c P罈`ržÅ'L_C‘Š‹k_ðLz 8T!Û•Ëçx–ðíŸ$ êàmŒ-`ruCIü /n>øe躾. ûŠrë eÉ×@r€.zJ G–‡ñ|e Žøc ~ìGW´ú·Vhª),· ¥t'ì ÀÞªÎ]ôhß»cFˆÂå$móR˜#x—tú`Žj¡7Ã^Ga¡·šiûOÖ*j.´ü´½7¡>\[áJX¢:ô'Lã(óõ6ü pĆ‡Ý¯ Ð-´¢á•ÓUP½‘ÁÓ#´2 ß’›LÒjk¬©¡¶˜a,©ñ…#ÞáË2ÔN•¢yV‚Þ¸¾„¶˜7F+Qþ²»ìp4f€;,pD%üd‰èÐC3qÆmO ÀsQ(³ Ö´sž‘ß<¹3ú"tv3ÀQÈ»[ò.ßÌ·/\'K.ŽÉøßRw‚n8÷àê2Aê÷o¸Hÿ÷œNZÀü„†Ÿ@š•ùì o °‹s@´@ýç2ç¶Ô»ß/B¸R*£ø¦IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/folder.png000066400000000000000000000010311421373005400207030ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<«IDAT8ËÅ“»ŠA†¿êí[±‡EtQg7wAØLCŸÀÄWA0ÔÐÌÀÌP01ðÍ7pÝõ2=×í®®:¿A·3cb2'©âpþïܪœ$V±„me@ ðáå•ݬ·µåÜ2OTãOû1Wê/•`zùÆû8%ý ;O;Î9P#Æ9BùãÒÁîƒ}µ^€µnOŠõáäëë;Àó€ óǪo‰~ ’ÎådרØ~ØE d€pÉɳ_ìÜ_j—È<Ñw‘ ;úL==`rø†NvTƒy¤òþÝ.²‹óà”Y8ÂÏ@~J=‘÷o‘ÚlþSš ÒuˆIºÔ éñ3¬oÞž ÃüBñ Å! CF(NÈÎ߃J,$Å›½k‚ã…«(!­„âTA½´F*$ Xý½É‡(í}ÐfÍR˜/¶xÉQøÕ ‹EÙqˆÂx!¶²i3,ämf?OÔ“nŽå‰ÔËA§Q¬’ætI$–¥ä­ZÊêÑÞ“›Ûˆë8ò¾]î­Çô¬Yàÿþ¿¾ˆáÛšNIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/folder_page.png000066400000000000000000000012601421373005400217030ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<BIDATÁA‹UeàçýÎwïÜahÔM‰QKÙ‹PF¸iU‹6AÐBZý‰6‘à>Ýdý„\YDdQBP›±i¡#Nâ¨ãÌÜ{Ï=ç{{žÈLpíæÃ\ƒahàöΣ£hû‹áÞÝ»‹oú½½Ë?]}{™ ®üp??¼pÊÃ&Ð2­Æ¦v|ýÛ¿ßÚùöÁ½÷*À8¦ÇGéÎÃTJZ Íþ|ðÆéuçÏ·1-o]ÿîà³è‚YeÚ…ifÓâ¿'sgNpñÜ1Óµ D0é¨Aí¬Û{áæöÒÓyšÔ¢Þ¾~öÙæÖVD@JŸ ¡+ˆÔZ²Ö‰º®“¨‘å•—Î9‰’nÜ×@MLk™Z !“jÈ…Ö¯-\1öeSÄs~¼õ²‹¯¿¨J-é‚Ò0e½’™ªU”l½±ŸÊ–·öôï?]:ÎîfhüB Uä¬ sûÛw¬öv´Õ‰³ï«[ÙÜèd@ʤþùüœåp Z‰jUÔõç¼p L©9zð•þ)d„êæk`Z6µúj•™ãB¿{ hçE?°\±F‹~0_öŽ¿ðXÅ»Ÿüº{lc²^-e¶@&mesmÅt)ÇíP÷åðÔìÔ›þÅ˯ž„ªÏ #™äHö²-i ™s9Éñ@ûr|†jö­G´aB²“9¡­É¶A®döDOŒ‹¨¹Xþµ}õÓHÄ÷´¼ ð?i!<)Õ)¨ÖIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/help.png000066400000000000000000000014221421373005400203640ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<¤IDAT8Ë¥“ÝO’aÆý[àOh­æjÕjÕÖ8è §æ'ÐÔrµ –³t˜Ó,)53 j꜊o"ˆ&Ê— ðb"_ÊÇDxáU³íê5œËÙZ¿“{ÏõÛ®g÷ çøc #ÙZ÷@ãÜ'Uë4õÅž¢6Šœ±$S¦=ö™µ“æÌ:Ò!Oø;4ÜA*ƒg; G ‘Åhhh!Ì9U@¬¥8rk2µÙ‡ùÛ.¤s~ˆÆœ¨YG±ƒ# WˆÂ'•?ÕElqNdækr5ÜÓXpÆPË„: ü1¾Xc‹ÔH­P®†`÷%Ð:I›Ç]¬¬`t)*\ó§°â‰C8hÇã3ÒG ?~s„ÚA júM˜·G ]‹ Njf}s!ÒÅtí&6QÝcBU÷ üÑ4¦–PÛ¶A3µ-n»­SX½»xÒm$³‚…—v“J,¨üh¯ÓÀ<ÖcÚèÃ.u€]½³.”¶iQùA‡o<±žÎ ZÆ]´+ÄÓ ¸z”¿×¡ìIú;¶"øb-ŠZT¸ÏÀk`÷Ǒߤ>¼ÚHÛVb™ ¼vÊÄó(y;‡â×ê …¯6*PÐ(G½tFOwëäǘ>B…1½#‚ÊC6Kì#²G#O4“¡P$±êƒ„©s«fâøùâVù›ùà’3åŠÜ6 š”h7eøÎo˜À°Æ %€›ÕcÁëGY')O4˹×@¤töm¨­A¼”,¡¤YŽ¢Æi<ïÕCiôBeöãjÅçÔåCœSWùŽPƹýl2ÔG¬ã«; ‹7–aѹƒ.™ ¹V¾°¥tš®…Zš”†Î¢™Æ0ÕÄ4Ñ3É$ýÍÜï½÷ëBH|´=Ë/_>8çUå}Tóæ!su4-ÁWNV­´8 (¡á¦wáÎàÙO¾úo^uðÅ•‘Œµr±#¡Éž¶FÖ®`!r žpzy£ý¹óŸeß¾œÏØHnÚVßÝZÏÔœ¥¸გ¨[C*±ŽÂ³2??\¦†S¹ ‡³+€ÞK÷;EÜС­ñÔö–zrc%œö´5*ŽÍcb†]Éõü3_æ§»…i4|š»vôQ @‚ëëhÐÔŽdÃ…çØÈ"Õ@ïÇIz»SˆlÕ’Ÿ,Ѿ1A×Ö†”FÒ°ÞŸØ×ÞÌXq A‚ÇÇÃd‡'°b±Î²EŒÏ.r`oÆÚ+)ØÈ¶6Õ×P˜)á¼G¼ !Ðw°†G¦ÑCqn‘®ÔfÔG­«ª ŠS°®Jðž”üãyþ­8¼uxñ8q8+¨¼g~jn¹Bs¼£14(Á{^&¤xq‚Xñx²XƘ0µ °îÖ`~’¶Mqœrd;;?l¢n]-ýGö "8:Z ý è­Õ&V¢Û#Ê_§“©ž®Mü–Ÿäû_GùöÞ_¨8TŠòÑö-Œ—y”/L¸ýZ‘ºO—ÑråÆç_îŽwn¬çÁãYfŸ— .°¡±Žm[š/-qï‡_–1µ§rßdߪr÷±ëÔ^LïJ&ìKÓ¼~- <]¨0øû(ùÂŒ1±þÜÀ™ìn ç«+iU ' •4`Œ)7 rçsÿ?¦wÑ ¨?‚{Y¶!¹IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/keyboard.png000066400000000000000000000010721421373005400212350ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ÌIDAT8ËÅSMKQ=#Š #ÓFÄX[*HÚ"ÔE6Z(¥¸q%ºë¦!ôt[ºôŠ[i¡RÅ• AƒII CDò1ùxó>zï›t ‚¸ðÂåÜ73ïÜóî™çcp—èÃ#ô¿Èf³=ÏûBÙ¡h¶Ûíz«Õ*S¦›Íæ9a•0G¹“J¥ä5úà+me*™L®ÝZA£Ñ觮߉hó6Gpöóò”ð±›Û üü-”Ò6<© =Aèy¼–…_™À< ÕFv…ÑœÚØµ"䚟)­mMüØÏTz.LFQc…BH8{¿)h Xv-3¿àŽ’»G1&⼜Š`÷¸„Ÿ'eôIéKš1Š7¯¢tV÷¯cè…¥ä8ÚBce!Nkï¦ìf&äy8ß~¹&ú …?¥¤äν®¬À ”©ž²™‰vÒ%„씩ëâÜ6vóXžŸ¸Ñ¶Ïëi|ZM`ûàÔ6r¶+&6  ºS×ZÛ hºXÈvJûøãè ¡Ž׌\ñׯ»ÿ€U©”?`JMÙ½‚Î½ßÆxa~štPýÄIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/layout.png000066400000000000000000000007401421373005400207530ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<rIDAT¥Á;kTAÇáß'G8°S¨A¶ðV+ˆÄ”ö‚¤NŠ|ÁV¬¬µÄ/`g!VÚ¥ÕBðFÀ`!(’ Ù=93ïßwÐ…E7ÉóIFÄ­<|s 8\.„˜¨ª@À̰ÌöLÔúùÓÇ.câöÍ I,?xýXÿéþÓwrD~YÄ=YÛdLìouaŽ_¶[\¤0â·³'ŽR„ÀT¿µÃQWã"NRƒðé{ËA(瀋8™"nuaŽƒ²l'SÀ-Ý}ÉÈ <¿wÏ_w˜¦??‹,ST8™Qüv\¹x’Íab¬×Ôôšš^SÓkjÆ”2E…“‰b0Êt»mbR—E—Å$³DQá‚EÛv »Luü‹ÒEÄ 1&ñ—™#?I‰"â,™€€{±¶Á¤ÁîÓÈ$\Äe³  ÿöÑ &õçgÙ¤-\¤ÈöléΫs’®bvÜ, YF–@™! ÀP½ÇIÆO¤áôÄ(!IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/link.png000066400000000000000000000005271421373005400203760ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<éIDAT(ÏcøÏ€2ÐIwVië»yÿkæ˜çHÔÜ÷¿õ]V©7T›O×Äÿ/þßýðã½êC7ÜýäÿÄÿ>]Fl`†~Å®¾‹Øæý'õÿ¤ÿ•ÿSÿ{ÿ‰Ø¶âañC?ˆ ]Mß'§ûsÙÞûÿÜÿCÿ×þ·ÿìÏ59½é»QXnfúûi%A;¹ýB·ÿŽ¿‚vN+I¯› V ©é{½÷ýª·ëþOÿ_ø¿H®û¿êmï{ßëšš`jÌö^÷S¾dÏþîœý)û{ʯûöjÌô IŠJ=¤¥UŠIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/magifier_zoom_out.png000066400000000000000000000012211421373005400231470ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<#IDAT8Ë¥’oHaÇeÁ^'ô", ZD½(z½­^XÙ‹þ‘QFT’(¡ËŽÔõge­d³¢¥µ­n™n¶?Ά³9w×î^Þ6fÛív‡ãÛÝŠ`µEÖ‹Ÿç÷{xªTý?Nj^ófZ&la‰ å σÙBÿØÛçIFxͤ"¿ŽÈ¤‘@%d0) LRÂÔ—<iÜ&gÈ.;«©pDdÂËäÁ¦d„fDø™<±lÑY Ö±ô/h¢bàå¤ÈR¼T”½Šøþ“7%`8*|1ZŸDØŠuߘ2²*Ò\Šün: éÂyÌm€| âÎÝÈnÛŽ¹ ›Zµ6U°øÓ:!Á­È#Ê­CŠìœÊå¯;‘¾ÛŽdwx}3¸Ö‹HÔ¬DIÀäN°“?ÆÉ‚TdÇÇ 2ÇOþzsQž­^.–ŒC1H"Ìå‹»«²-”)Æ>ÄEl4:®Dû¥º²oÐíˆkn ÆHË(_L@ð³ˆqw4ƒžW4ÚM.LX®Àzn ßz£®ìGºö,ªi±„‰ËBlSo°pöN ÐØã‹·è”×x œ§þû0[Çß;²Z÷[ M[µOÏl6wàºYáü_TŸX¯ímXc¶·íBÔzÄþ¥XP@åV}­¶«n™Ùp¸ú½ÕÍ ¨tî[²¨cÏâš²ø¯|m»ýá²EµIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/magnifier.png000066400000000000000000000011471421373005400214010ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ùIDAT8Ë¥’¿k“aÇ¿ï$F¬©š¤ƒ?èPõ*B EpÈÔ­ ‚8Twݺަƒ‹‹ÒM;TE!"ˆšAÐÆVÐD 1ÑØ &oÞçyîžs°V$y•âg¹›>÷½ãÁÿàÿjרµÖ–ˆ¥ÈÌ9b CÜ âcxfz‰ ̶´3a ÙBÃhw­#Ð2IdS±‚ÒT”À".îN:ø®0 ºZ°ÖcìÝ“„ÒTŒâœç°°ÅO‰t•E<æAkÊEQ‚•È ¬X~W±   !2ÖÔ…ï:“±Yc¾ƒ 4 ­?G -Ô[†.âžÞH’ð '=¼~ׯH÷åðÃËű¥i¦Öì”—>|C̲C>²)qWð¼ÚDçk“¹Ö6¥‚'w.ëû¸z÷½kˆJÆpQçÈ0 ñ§toIO¤^Ì>ŠÆÊ ¼­Üo?uíÍÊ‚(gOĵçÓûMí?2ŽÕåg¨VîµÏ\¯g6Wø'gh¥‚ézõéíåÊ"²ùQh­Ò}+ü‹çFãDjÞ‹%¦‚Îú•ó7×.mIs§33\¸µÞØr‚(~J¸7¡ª2Ë¡IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/magnifier_zoom_in.png000066400000000000000000000012501421373005400231260ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<:IDAT8Ë¥’[h’qƇ×]D]»Y¬h­ˆXtºÑUÕXZ³¹jHcË!$D «LkXk®¡[+Ûš³}æn²$—sjú³t²ðøIòô}ä¢ÕÅÿ›ßïÿ¼/o€¢ÿɯ‡Áû3<“!t.šp&³/ñlÏÛoT·9J< sþ( øµ;CZ4¼‘ Q9Ó_ÒИÇCr–” Qœzw†°Ò ¢8gS°’0û“°SIx¾ÒêàkkP«®J¼šJQÞ0ƒ- 8ù)“7QO"':ñü0:'/ J¹ì¼~¦2 Oøgà‘™8uÔõVC¤­‡Ì(‚ ³»oìÄ®ËÑ<Æ6ŸõEh˜xŒùÕÈÀ†é8[ò‘VÜnµÁÓ¸ø’qï1l—#O 2E¨©Ÿõ߸ã Xÿ1žªûd{Àkßó}Çq@Z‰Í¢2” KSy¥1DôÛçà ¥s³³°ÎËÉÞSle»bSóúÂ;¸¯rîøIÍDVŽÏ)¼cbòÄ ôa‡d;Ê›Öakci¶ç\EIÁCºÙçá´i\Ä¥.'%épdÅíöl‹Ül“*½e3BænØ·@%Ü~tjMÉo‚…Ò/©ä>kݦ%ê4(0~¯ þêð_ Ø<=»‘Ûqf­zèú!x´WAÔ®À¢l4se¼UjÅÉbHk–]Y´€Í£Ë—Ü:²teÁ%þk~€óðIœÂû¬IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/monitor.png000066400000000000000000000011441421373005400211240ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<öIDAT8Ë“½kTAÀûî]Ô¼`>4’œ],EH´QÒhËü ×é¿ i" &˜*©,´³’`£i¶Gð«3Aó%Þ彙ݱx—óåC‡]fw~3³3ãÌŒz½n!BxïñÞ£ªm]Ü"ÒÖ“““.ðÞ388Ìæö6˜A¾À ̬}ÆŒÞÞŸÐlnmqëá+þEîWÏ“eÙo€ª¶\Âpå4]TúމÙC4 ¼Áëå÷X0Ò4 ‘¨ÝÊ…t%‚ }6ãqº2ê=´æ÷ßV}×Î.ÏvÇ…w}zÝá·¶/ˆˆ™Ù ºb¢Pƒ®Ðfvf`džY·Ü:¹¬ÎLï…I@A J„¡D(JΜ¿âæ#w® Ïoº^7Ñ=  “ÚBFh}RBídqê\¶±Ö†X=)jC…L5Š”QB Ù”Zë¤BP!ÑA‰D6&:@ч,©!¨ÐÆdÒÈLP Z¨]’A’BßèP¡µ”™$)H „¿~bþÔœ‹—/GÊðžÊ&úFŸd£HÐ’ãó:}ñsoÙà¦UkZøØåù¹ºq×Þ7+´qj™^ûa(¤dŒ4½ðž'¶?ª/½»g·:xò#×möû©ý;+ŒÇ½¾gvfÂ}7-é“>hÉgßž1+<¶öYðâ#ï˜;±û§*Œ—Z·–Ã^|óg¯EJZrþÒ¿Ní§ÓG½²u¯7›ñ8--÷ºý&;¶Tß¶Å™lw^~pÿ±ÕÇßÞ=,+2³tÅD¡]¡ "(ÍüÜÀžíó6Þ69]çfß…I@A J„¡D(JþþwɆËî^žß¹V7Ñ=  “ÚBFh}RBídñû¥4jc­<°yRÔ2† ™$j)%¢„@6²+ (-´ÖI…( B¢!‚‰lLt€(¢YRC&P¡É¤!™ ´P»$ƒ$…¾Ñ7 Bk)3IR@ýçGŒY>÷›SëÖÛ1ýXe§ }£O²Ñ$hÉ…#¦N}ྦྷž3¹éK?}bæäBýôá‰Ú8µL ©™A##=}ô-»÷¾`êÌœxÃÌÊU6oØàû_óå ãq¯ï™Ÿ›°u]Ñ’>郖¬¾ò§©[6±ëõà¼®ÅÆ ãakãÖrÔ‹oÎõZ¤ %ëWλþã1³G_4\:ï:®]íô¿*,ßè/̺›_»w4›™EÒ+§«‹ç÷;}ü·®žV» ×Çþ¸ÐIý¡ÈLÛ÷}¶o¼œGÄý)g$‰”«[?ìÖ/ÆÕÁÜðì`ËÇ/}ôõÿÚ -%nQP`IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/page_save.png000066400000000000000000000014061421373005400213700ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<˜IDATÁMˆVeÐó¼÷Î7ãÌ8Œ“•b˜Dfai*QTÑ@´h妄P;¥•´©]B‹@hQTP´·6Rd%XAT(T„ý˜ê0æÌ÷s¿÷éœxêè©×ÍM(a6 /AV]­¿-_ÍÏcåú‘ÓLJñÌgNøÊž¥Ä|¦ ÒÒ#[öïÅÁê/?_8s|qmibG¯mæ¾¢)%deœU×¥µÑØãÛ×ÛOël]šÎzïõÇ^þté·Ÿ”ˆ˜Í̦×mК ‚"PmžëYܻٶ»'×µs3ï@I J„¡D(J.][sçìÈ} áà÷h&š …LÚê8)¡mèeñëÕ4¬Z‡½kR´¥€6“DE•¢„Àû'.X?Éê°³a¶çŸ+k>+ìÚ4;uøóúÊš/~ø{›¨ˆ ‰¬¬­ö=±o‡çvÏ:ñí_ŽØ >ørI­q¶ÔŽL*2©V#×ntàä¹Ëú+––‡"ª¶ÖœÊLI)¡IFãêØ¡ÝjM‰Fšn Vnµ£aöG5§^ûn(#e•…‰¢?yý“?” Wu\%2“dz¢j»nló½-–û[Ü6Ó™îÑFˆÌ:ùõö;Ö=2?9oªÓÕ‘¨UäXUç/þîÊÊÈÿ­œFË/”Ë®IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/page_white_copy.png000066400000000000000000000004651421373005400226100ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ÇIDAT(Ïu‘MnÂ0¿äE¹Â9GBê‚«t‡P k®BH¤$ñ4]8Ø&¨šã瑟´ÐJ&ѨF%ÒÊÙ@däs3W$è¸q&гݨyFzî\þ÷ÛM çM¿æIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/page_white_gear.png000066400000000000000000000006221421373005400225470ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<$IDAT(ÏmÑ=KB†áÇ[üÊù#­. 54¶ÕPQC5h8¤B”¶EI´ô1ôaEZ=Çsônð#ŽÅ³^¼ïp iDA} h!$¤ Uvš.¿³X‹t‰ §YÅÄĤÂ'¯¸<³Þ!’O†K›:u¾)SÂ¥F•hD°±±©Sã‹·Þ+òu€ƒ‹‹ƒ…I…wJ‹x@‚ˆÓ Á×D™ð‚ä9"NŒ49ÂÉðp´ºd“< äØâ”)¦…²M·+Í$E¶Yá¼5ÎèY;–_!oìÆ¡ ü覢\†H°ÖIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/page_white_text.png000066400000000000000000000005261421373005400226200ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<èIDATÁ1nSAÀÙÇž4A¸‚Ž‚(¡I“Sp.KPp"„ÒQÒAŠ7%Žƒßþû1Ó¢;ó°ó+„‹çýZ######Ïù´µ±DWk=æCù›?ù‘û|ÞÚX‚æjä˜9昇ì³ËÈSóekMs9¾•¯NNV«ÕG@ÿà¶‹kD)ÃÞ4¼hn­†“¡”éÐ.Q¦@ønJ)1]:À;1@ø¡ ÓT˜Þ:Àt€Ÿ¦išÞ:ˆö€I²$fM³ž-Ú+g”]îþ´•Ï^LvIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/paste_plain.png000066400000000000000000000011351421373005400217340ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ïIDAT8Ë’?hSQÆ//†”&%hÁÔ?¸IDH “³¢ .,’¹ .\¤‹«B7Ap°N.:H:b'KEjimÞ»ç|É‹iÁ—{†ûýÎ÷n$ €§sç§O ×öüòF…Tôäî¹*ð¸V:zœ;÷ÙÝzÀøäž-Þã÷î/€çÀÊüòÆËA@X¹zãæ™±R™ôë$a]$1sqŠÜÉ HºõæÕëëÀàìXi‚dg“àAÄ–Ú±¿ùâäéP8!€ \ånÉæÜß#ÙÞ¹ƒ<€Üñ𴃧žƒÿ« à–ö'»">þ˜`ßbPwŠ |?2M«ÕZrwÌ 3ûÜR°€›‘„ñØ$·ç’$Éá¡ ’ˆã8m6›K}!Eæ(8nÂÍét:¬­­¡HY_¯× !ð×9†[„™P­V³^Ò ÀñÔPp ·Þ´Ûí¾xR¯×1³. ;½ ð,†¤‘²ê;À„§ÞÛ!‹ð(°¾¾>$”D£Ñè;x—&ÉÌø©)äBîäSˆ–‘D­Vgwxôvuµ \Êyv*—)‹DQ4òÅqŒ™Ê6;;›3³3;Öû0ýãîƒçËEzdk‰7IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/plugin.png000066400000000000000000000011171421373005400207330ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<áIDAT8Ë¥’=H•qƯf~\?‘Ä,ˆ›yoX£{KCµ´7ÑPcM´5º4EkS$¤8V*w²¸‚ŠJÝB%Ëî{žs^1㪋g9ðçœçžß9IDp8´Ûラ»%w%I¯ =¹´—@]móvœbS?ù–|bÒÐ~ÔÜ?ÿøGÕªi¤lT70³™ý’ˆàáô½p’£,Ç@Û™Äܘ^žY3“$Õ™O¯ƪewþÒì§ô…2¤ì…ÊÅ·ÿ·Å¨àÔ¼}÷v!>!±9sæ0ìÖ¾ 1 bÑÍÿí±j ¿þý ùûï?`Py÷îÝbxöôX!Ìfð°ð0#cÅÂÿÛãÔ~ŽP €ü ¢Üƒ‡v£Ø|ëÆ-†+—®€Ù?e‚7x12–οú¿+A hë?ˆ @ø?(ôöïß…bÀºUëÀôìÙ³bê¶2,möad,™{åw’6ÄV f„òjо}»P4÷MœÎÀËÅÂU³‰ay«?#cÑì‹ÿ{SôÀÀÀ(fо½;ÁLš6”L¸ÙY"ª60¬lddÌ›væÿÄLc†¿ EÓüÿ?j Ã\ÉÉÂÂRº†amO(#cîäSÿ'å˜"4AœÀ€ž8þÁ\t33Cpñ*†u}ጌÙOüŸ’gN(-a€À¢• ú#Aya¥¸¬TØ?Pz&€¿ ”~ÿÓÿÀQ L#¡ù$qΪ "ÂI¶ Plõt ÞZ:°sIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_application_refresh.png000066400000000000000000000012721421373005400245410ustar00rootroot00000000000000‰PNG  IHDRóÿaIDATxÚ¥S[HTQ]Ç;ŽãØ$>ÀH, ±°˜ “BÌ^&‚I3ë#±¤¬é!FÙô°L­~¤Â$Kó1ÑŸE(¦ù¤„ÄG£N†ÊÌܹ×sOç^úñÃò6‹³ÏfÃÞk,r‘}§žçmKˆ½1åfŒñŒ¢€ñ  åÈ 0~¦”#Óò»¥zÉÕ×7zÞ~×rŸ\}1HM¦Ÿ}y°¯_©8 ÂÚïì¾>92ŒªsÛ ¹Xó]ËŒ\°ÐÞÕ€Ýk“aÔçåÚÞãQáNB.<`¶#Qæ($EF÷d¾Žw`bÆ—ÛÑëF„! ©æ øéý!Q†UËLÈ.y‹ê¢=œ ºŸÙ²Ö@æÍikE»ã#ß..Ñ™QüžFn¢áÁ+ Ì1„…ø#ëòkÔ'b}ÜÃnfGkÝ-kµA|àŸ@tè,ñ DskrvǦ•›y ñbòCæ¥Wxz%…³»Ù­œu |L¥ïJ ºE¬߈¸èxB1ôóz§ºÑ3Ú ¯G‚5©&£E-xV’JHAU'»}̬ÈTÖ4àìŇ‘70ÅÀ9ëD×X; FƇœ¸n©D€Ÿ–B;êli„ä?hcå¹1 ªªxL¸h¨…¯ ÃŒg¢ä…Wñ{r‰«÷")&þ:XÐXz“•ŸYʼnXíeUž9^ö4âËH;¼n^QB oâ"ã‘`Þ½ ç!`ÿ™z4ÝI'$¯ü»—¿eÞŒÝ|t-Ͱl=¼ >Ò ê`/³Õ uaË)ªÞ)÷€ŠªdYCͪ/è__¨9Eã¨ç^H'‹vãb þ&×4 ÒÁIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_application_shell.png000066400000000000000000000012221421373005400242050ustar00rootroot00000000000000‰PNG  IHDRóÿaYIDATxÚ¥S[H”A=ÓÞÜ/ûà…”]ÈÞ zÈ‚$Ü(¬U±¥r·²ˆz¢L»,KÌÁîÔ‹¤˜¤­76Ѳ@“öÅÖ BKcõ¡2 /û°úÿÓ7>ôЋùÁð™aΜïÌ| + ¶ûÔã’¬ìUS1nâœVœ†¬È”9NsY¦ÌÕ,ÓžUŸþz.tË{]m“-ÓªåÞ<6<¢Ü9­a¾ÆQþ?ÒŒAÍY'c¢üZÑše ô Ö·±ó?òÀ¡µˆ/RÍ´!ê–²‚fŠŠÉEþgq™Ã‘lÁ‘ʨ÷çAý¿äq`jfV³ÂÈéÙyX$IÅ¿fc¤hµZ"'b"J²qøÊ34\v1V^÷ž—å§¢¶¥.ç&XÌš:z±‹°Y2"ØÙ‡[3a_B$:U…Íb@ÑÅ.<ªÈc¬ìÁ¯8˜è§ ´u‡‘GE)/_a&=GW_;¶Àž–ƒVOê´8àï@Sec¥5ïøõâõ˜¦Þ~E82o¾ãß~"<0ˆB“ßñj`Å^l‰‰0´ðúBÜŒ¼ÿ†W]‡èçI´“‚\R ¢³·_-IÄSRãÎÉ‚==zFòcoy+Úª÷1vân„û÷g ®õ9ò¶mV=h|Òƒ\ÂÖ%?v¤“|ƒ^ý¥z{Î4£ý†‡±’Ûý¼úøÌÌÅÔ"þ…èðßá. "tÓËD/“ÒR ñßéÈ"‹·_XP³Ú¢/䥾kŠÊÑL½àa+îÆ•üSE <ÈâIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_application_wrench.png000066400000000000000000000013351421373005400243710ustar00rootroot00000000000000‰PNG  IHDRóÿa¤IDATxÚ¥SkH“Q~NŸ:瘄Ej”Ú²”&lj,A‚’.Ž2‘Š ,i–-E¢›®{iÚ±0é¢]i7éö«´ Ó¹œ[¡ëÏBwQ·Ö¾ït6ô_Ðí…÷¼çÂyÞ÷<çy þÓȆý·‹3³ÒOOS ¥lG@™óÏ"…@ÙšçY¤Áȳ³È0ß”ÑhÓ.iêÉÉ;#¼T*™ó·™GŒCB­6‹#7Íô_J·¢áÐBÊ›‡iuì¯vêŸãjE6!‡¯›¨~ûRøüìÍì ðn^`T°•Å<Œþ¾^x¿{¿)©iðñ‰1RUu¢©2‡4 Q}a~0r Š¡ðl˜šœÆÓGP«3át:aý2ŠUêµüÑóÄ(<öÍGs )»6@Ï%Ù Vp`µZa6™ T*ÑÞÞŽѱìÏÂDáÈÍÉFÁ‘‡¸qb!?Ò³;R‚YÉ ÈˆÅÓà är9ºº»áv¹ P(ÐÍæ:[+àVÕzBJ>Ðó»A€YX5†¶6$&$@$Áãñ@,Ãív´Z-4´èó)¹ÒCkö¨ÀTÅÜe|ƒñ.|åæ#*I›Í»ÝŸÏ‡ÃÕj52T*l*»‹{ç6²ïò[Z»7=˜Ùõé&zŸA¿.S,!±p„Ç@&“ Á¢¸8H""ÆqØx ÷/äR\ÓEëJVÂ9øïŸ@*W‚p¡ð»Çñ­ï’K©ƒ¼Ò.jH Z¢/ÜRÙ¨e ¡¡¼L~îÇK A§?iƒi„Ÿé ÆOàÇ™µ²^È'³ˆÃµ»'$òô¹œˆ‘eî…gÌTµâxGåo»qv2P­Ù¿·ÞïórðûêRO½(ÿIÿ4Ò@ ø¢±IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_debug_continue.png000066400000000000000000000006641421373005400235160ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa pHYsÃÃÇo¨dIIDAT8Oc`RÀºëîÐúP6²íÙïøÝ©Ãú6†%Ç3þƒpááÔÿ¹ûÿgìˆýŸ´1âÌÊàÿa }ÿûÏtÿï9ÑñÒâ¨ÿ1sCÿ›”ë_D1¤yÝ­¥ÿWßXôùµyÿ_™õþ¥iÿgŸü꙾ÿNuþï>Þú¿ýhãÿ¦Cµÿ&zý×ÈT> 7dóÊë þ/½:çÿÂË3þϽ0åÿŒsþO>Ýý¿ïdûÿÎcMÿ[×ýo8Xõ¿f_Ù¯×ÿ*‰ Gààs6ÐÏÿ­Lÿ»vØÿ[ùß³Ûå¿R’ây’R·PÃB3Sõ»J¢ÜM’5Ã4¨$)îÐ Õ"?ɶ™¶]k&øtŸØíßsâˆñ‰»Ì³õÈáWŸ¾¿¹óèÙ âÃÄî>~Ž!vëÁ¸Øbm椋±•ÛJ½ôIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_debug_next.png000066400000000000000000000011311421373005400226360ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa pHYsÃÃÇo¨dîIDAT8Oc`4 è`‚löžø‚Œm±ÛS7D¿Š_ú„“7FüOÙµ={W|A&P VgH²ÌÞ¿¡õXõÿ©g{þ/¸4ýÿÜ SÀxáåÿ'êüßr¤òP H-Š! SAOwü_~mÞÿy§ü_teæÿYç'ñ¼‹ÓþϾ0éÿ²«sÿƒÔ€,¹nÈi ÓA _™ý湉ÿKwäþ™ï Æ%Û²ÿO?Û–Yr%È«p@þ9d Ha䢀G¡ |úa @lÈ`ë@^…ÜP ü r*È6dÍȆ€\ò(|@ 7Ò Àùäd\É"l¡/Xó W’€–ÂÕÍñú?è…ÞmÿÝûìqR²hÑå™àè…à7Ýí÷ñÖÿÇšþ;uZcàÒcWí5ÁñRκ”ÿ³ÏO{µbWÁÿØ5A—’7EV0xNtúß~´ñëáºÿvÍæ„® evëµ›Ÿ±*È ¯–mËý½"pHŽ 0§º÷ÙMÎ\ø?o}êÿàù^à^pí±ûïØnõß¶Éü¿e1Ø®5|ºOìöï9ñDƒø q·>‡.ï)Î-óŸgë‘ï>}sûáÓ? Ä'¨ Y.`3z¤[Ñy‹º—IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_debug_quit.png000066400000000000000000000011411421373005400226430ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa pHYsÃÃÇo¨döIDAT8O•‘ïkÓ@LJ ÿ‘€ú¦+ZÆÄ7ºÄ¨u®TW&«Y;“õ‡Ý¬ëšÙÒÒY[TPÿÿ_‰¾Ø ÒÍ)£í¨¬[“6½äk.вÙXçÁq÷<ÜçóÜ=72òŸ‰Ä‰¡ˆ™É°f.çþóPGŠ»ÛápZ †¸¿ (ŒüÌ\¦¢ô%Ir·#qt–’Ø Üy×ô\’ŒÒ3˜Ö4V³è$“n–£è¦Ò@±ºoLN¥©åò±¾È =¥æÚàÕk…"º–Ñ–"ЗW+¯Éì\õŒw|ä2Ó~¸BŒlxþ$“ƒžL…ÇÐî- .\'žg†6²Ì´b ÒM)@é)/@›—P¿ríß05[ ÍC/²€u}mö.<¶=žß9tž C%«‰ªÂþ­°¸„Öíê.bÛår–ذhÁÑû€² 58‡ÚeŽü¡éŸF•ãƒÝ®°,³qú, ÷ŒuŽœ¾ŠJ+{‹üoÖßO¿]oЕÆGÍÙE§^|úXkj;_*[„®4îå¾nüÈ}þ¶ÙÏÙ‚£Vs:GùßÖ¸wcÂ…‰ºIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_debug_return.png000066400000000000000000000010171421373005400232020ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa pHYsÃÃÇo¨d¤IDAT8Oc` 7HÞYº*”™l{c×]Š^8‡hŠ&Èfï‰/ÈØ»=icÄÿŠ]ÿ˶åþžï5 !Ù’,³wÆoh=VýêÙžÿK®Ìþ?ïâ´ÿ³ÎOúŸ·>õ¿÷眆dmÎjžxºãÿòkó€§ü_piúÿÙç'ÿŸ~¶ÿæêÄÿn}]8 ÈÞ_Ðr¤òÿ²«sÿ/Ú<óÜÄÿa }ÿç¬KùŸ±*ñ¿{ŸÝd¼^HÙµ}Ò©Îÿ³/LÛ¹(àHƒ×ÇKn½vó ú?` /Ïû¹d[öÿÐ>ý M.=vÕDEcüšÐÿs/LXÈ|ïÿmDW½<ðÿÌóþO;Ó÷?`¦;é„-òý?åtïÿ‰§»@ÑEºAs¼þObï‰6`ˆÛã6Àµæ`‚O÷‰Ýþ='Þhä¿énÿ»·þï<Öôß©ÓlVµž­G¿úôýÍÝÇÏÿ€h¤Øs¢Óÿö£ÿ[×ý·k6S{çÑ3„Z\.pí±ûïØnõß¶Éü¿e1N÷¯õ ÛD0IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_debug_step.png000066400000000000000000000007741421373005400226470ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa pHYsÃÃÇo¨d‘IDAT8Oc`pàÚc÷ßs¢Ó¿énÿãׄþOÞñ?e[Ôöì]ñ™d :бÝêûÑÆÿÝÇ[ÿϽ0åÿÂË3þO:Õù¿åHåÿŒñ²$Yâ5ĶÉüëáºÿÇšþÏ:?éÿ¼‹ÓþϾ0éÿ²«sÿO<Ýñ?hH>—XÖÿ·k6ÿïÔiý?d¾÷ÿ’mÙÿ§Ÿíÿ¿øÊìÿ˯Íûßz¬úöžø‚^)]àÓ¹(àÑÌs®™òêÙžÿÛb·mH!ÈÒ¹ÿ]™ùÁ¥éÿS7D¿"Éâ°…¾`ÍK€^IÆ ÉÍñÇÊ¢Ë3ÁÑK´.=vÕ^/å¬Kù?ûüdp¬Tì*ø»&èRò¦È ‚…® evëµ›Ÿ±* ¨-Û–û?zEàA` Üûì&g®NüŸ·>õð|¯ 85ºÖLðé>±Û¿çÄ; âûõ9tyOqnñ±ªõl=røÕ§ïo<{õDƒø¸lêŸ Р¦~¯ä…ÌÈIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_disk_as.png000066400000000000000000000014411421373005400221330ustar00rootroot00000000000000‰PNG  IHDRóÿaèIDATxÚm’m,•aÇÿ÷sGï[­¨l˜ŒÍ»ÐÇlÊFëSÖ-*T–’ÚŠÚ(•^,‹)_zÙʉÃèE"QZaå©/ÎñvÎqžçîºoæ ÷³k×ý<{þ¿ë•…¦5ž°•,šÌ“l5ÀÈ3pÈ£S2Î5h&õœµÎ]ë*Ýû” ¬ülT²øßg³Aj¸Æa³“ÍiR¼Â €1`jVÔEåCcSjeýià׿lø^žåSÕ1‰ì}nBŽ7;qãX0ìà¤gpÔ+°Ì4£’çŸ.ßï¶ ÀDYVÔºgífœ‰w•)g–táÊ‘ èuÝQ¡Ôó¬Ši‹(£¢é/bƒ×"óvÛÝÓ‘úçf¤Çn€‹å=ÈKÄJ'ôT¬ ŸV)#ÙŒ#p›…»A£v'3’ÕP )1.@¬2è(:ƒ]¥è”úŒM•bNO…ñü=Qü¤Gø­ŒH¼ì2clt„šÅ$@ï@#˜R¶S3"³³ ü< (yÚK€T#/ʈ@]§IÖ*Tr~RÁAzŠL.î\Þ ⽑á^uß< ðxê?™$}qø ²aB¸0鹸Ð?žn µýó€‚Ô04}6/$ÈIˤW@D§gÎÚ Õþ›‰öÁ—5»ÐÖë+ <ÿhZz'‘›¸ËW£wÔˆà!pwñBs5ÚûßahÀ,œšx)9oúÌÈ=àŽâ÷‡—¾µ`\œØiÄûžDaS -’‚GUuH7òœC!hý:‰tŒ¼^¸^‘‰´ÄtìñK^üö¢¯ù¥y`ai Ú…¤Ö6 ËfPSÕˆ„¸Ý°Óúžy€« IpÒæ3Im>w0h»˜a\¸ë²=(«-@Ë`%"¢áµ)?ÇzðáK+~ÿ°ˆ&Ѩ¼©ë; ²ž†'G12®-zEW Å¡•ÍJïhö«:—Ðõxnx#–dWYIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_filter.png000066400000000000000000000011651421373005400220060ustar00rootroot00000000000000‰PNG  IHDRóÿasBIT|dˆ pHYs»»:ìãâtEXtSoftwarewww.inkscape.org›î<òIDAT8‘Á«QÆÏ™îhÔ€æôÑ"$x;¡µ Áe7.]µpÑÑNˆÂ[¤¸6í\¶SR´´qÀ—MÞgzzO‹šx<µ…>¸ð}çÇw8 NG£Ñè³x<ž „Üàœ‹œsô<Ù¶}ÁûÉc¶m;‰D¢Õjµ¾H„šÏçßçr¹‡‚ ,`æ!-‹y©TzJy…ˆ—"þ* _cf³™¬ëú=˲îw»]ÙuݪªEQ>Çb±.¥tâyÞ/ÿ5èõz/S©ÔY2™¼Édˆ¢(¢(Š[ÇqƃÁà|·Û}[­Vår9lÆ—`N>ívûS³Ù|±^¯É|>_SJC’$QY–o!"¡ÓéÄûýþõ=@£Ñx]«ÕÞ-—Ë­çyÎù‘sN ø[¯×oZ–õñêŒ×^µZ-ˆ¢øVÓ´Gš¦Ýñ}íû¾\©Tøx<~s=ˆ¸'‹Åâ¹iš]×?d³Ùç>”öˆ þh4jG"‘¨iš?¦Óé7‡²' …B@!GCÇ D$×O\ñÈ© „àþÿ™?àœÞi+8޳Ýl6d8†]×åG+ºm UUŸPJ@äXæ7A°>Ç»pÛWIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_folder_hg.png000066400000000000000000000011521421373005400224460ustar00rootroot00000000000000‰PNG  IHDRóÿa1IDATxÚÍ“MhAÇÿ›&i’fÓ‚^DBã6‰z±IE¼R‚XAìÁ*øQ Š(…^z° Š'Qð"ZéÁ”Vñâ/¥­ 5m£ R)¶~¥»›d²_ãd7 Ä‹xì›Ù÷ÿ½7of8üåàþÀüÃö¤Ësœí—_eéâ®åw°Iù7i Áجfº ãQèšlä8®¢3Å`¾F¾b99¤Ðêje48}”êꊼôü|Ûž7q p?’Ä^6+Ÿo@W›éy¸Öw2ßÁä½Á¾† çl^%3¶3#ì›ÞbîEÅÖ½Oyòi„ÅPåïP ËÐÙ–®uL£2½Â8‹ÖÀ{¼[ö¿â-@<¢ø»9älT‘¡Š_À‡µ&TÝp­jU`oA&±ÝÓn 0Ú¡l:4é¨d©rö&hÅ9Ø=A”/‚j«ðø¯˜}Ðä4²zˆÐ3SÜŽ–‡'œFñ-¨žg&Á¹ö^†{Ãß÷Á¸ù] Þð84)‰lâzk€›QÒzäY£.½03Q}•5ðtýÔät7¼¡x}®Š3Èž ÂÉàZ¤8þÄ¥þc€¼iîC(,ô¢I¸)µ‹AEf4·§` ¹;§ˆÐ_Ì_ݶä?÷(ߦx%¥¼Ð)=Ìš915ßÖKõ ÈÊýx÷¬Øvîu‹ ˜Þ|6®ƒ5¸“5ÿãÝ¥æÁ(0èHpp¶ÿß?¦Ÿ&?ÿVÏJ8IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_folder_parent.png000066400000000000000000000012331421373005400233410ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<IDAT8O“oHSQÆY1Z°”1 ¬ÖÈ$aôAúó¡(4¢ ÐÙ †hXÃ}0¡A Á BÅ#û·†‰®¡.˜¹ü³±ì.×pµ$Œ~Ý{kÛZx8pîû<÷yÞóž‚‚<«¡·óM“á·ä«ËùmHðPظ†­w6¢µn¦}¨mõ"ó_Bì´í`{Ï&Ê<:ª(qj(µ Œü_H¶®q)ä£ÏwQ;º—ºñ2L÷ô^\Kó@S¶Èìà~ÒPÕ©(¶®Cm[Oå€A!_ÊÑ7é•3+rËÄXÀEjù ñ¤7#$Ÿ—84 ùê‡#RCå¶/òó%àúŸ´ ül±+äëaj5æøq–;W@>Ø\¤¯LUSã¬È¸ËŠ@´‹Ô¼Ä»óˆ#UŸš¤XÝT8Ì´FsÂWŽÓ{Cr• 4ÚÝ¦Û ?®$쓊"Jƒ]KÇÒivßÚFP$!º‰L¹³R-„ý—%R¦ÁX¥·õœ;ÌÙN£ôóÌù,$¾/f D‡kIF_HEŽ ìýÕÒ-èØg×]#´òIèÊ=¢×K¯àsKêK°tìAÎó×0÷ðßCÿxm±fIŒŸBôšyrW͸K…àÖ3ýì$‘÷eO_ÅïAêf²W«&úŒÌ×+„¯ «x‰é^˜ñ䶘ç-ÿí» :QEºIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_folder_svn.png000066400000000000000000000011711421373005400226570ustar00rootroot00000000000000‰PNG  IHDRóÿa@IDATxÚÍ“_hÓPÆ¿tk›Ö¥-(ˆC‘¹˜µÓ¢¸v¢¾d ÿàq SðÏ(c"(ÒAŸd‚/¢{°e*>8† ÃmZ™C×j˘;‡¶iº¦·i¯7i+>ˆ/>è…s’ûýÎ9ßM8üåâþÀôƒ¦0ïhlä8Ó/¯(ré³-¹…%¹ß”͸ۦ4#ŒÜ÷«b먕ã8]gˆÁbM]@" ´üT_U¥…ü¼2÷¬·açë` p×—Ûž;É—ë(*Àä`z|m ‹ÍL®ë‹ì^4àœ©†D‡¶E¥ÝcëK€;~¹~×AýÔÏöPsßÏ$P`#™ùL“gzÂ8Û­ApŸEüÑEÚ3!”A©k}hVb!P¢ /…àÙ~©§ûÅðï?#ÃûOßöbNЀ”ž3ÿ½ÕŒx6ŸxÂàk!_¸ÿ5ÃþS÷ » ªõøg+ †$†¼Égº2~ýe`˜µí)ÃÕÛ Ó~â¿‹¹:C”P1#Ãÿÿÿº:W?`8wRzNý7ÑV`xúö3PõO`X€ a¢§Ïž6 ¸áðgSu†;N†?ÿ~ô1p°°1t/{ÄpúÊ-ÂÔúïi®Ëào÷›aöé4 3CšÙD†‰Ë2ì?{†°Fé;ªÊpZ ° mæcø÷ûÃ?Æo 7Ýexõé7ì2jÌKÔIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_overlay_hg.png000066400000000000000000000002021421373005400226470ustar00rootroot00000000000000‰PNG  IHDRóÿaIIDATxÚcd 0Ž0jÌ€Žÿ…ÿq)¨`ìÇk #H3PÈ ÕÈ5¯!X ÀB6`Ñø¤¹Éÿä{hP @&IŽ.7cIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_overlay_link.png000066400000000000000000000006151421373005400232160ustar00rootroot00000000000000‰PNG  IHDRóÿaTIDATxÚí‘1kÂpÅ_HiªK-—.ú ˜.¡Cœºâ䤃»›³‹nÎF¨K¦ AÜ'É&M"&¤ÅêPÿM\ÓN]½åàÝÝ»{þÔ püP…l·[$“I8Žƒn·{í $Ô\×E>Ÿ‡ T0‰çy$ ¾ïc¿ßc³Ù ‹¡R©€¦i†Õj…D"Ý ×ë‘—zÊ|Žår‰t:B¡Ó4aÛ6,ËB±XD¹\Æl6ûŒúý>y®Õð”ËAEt:¤R)œN'GŒF#ȲŒõz UU¿"€v»M^ ¼M§X, ‚+ãñøµžDA©T"<ÏS“Éä#h6›$|P6›ÅårÁápÀn·Ã0à8,ˆP¢ëº§iÚû¯.T«U#“É<CtÐL ‡ÃûPoµZ~îÎçówðH'pëñ¶‡€‹ùU,IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_overlay_star.png000066400000000000000000000004601421373005400232300ustar00rootroot00000000000000‰PNG  IHDRóÿa÷IDATxÚcd 0@ôÿ¡í…AbÀïþÿýû›CÈ”hƒQ~¿YøŸáïWN­YÄðãfâÜ?¿.fá2ˆeøy;‰á÷g£y¾]XÌÂÊÉ¡>?3ÿs¤ýgâd`b“`øÿ÷;ÿçþ~yÈÀ"n0‹°×£™~[ÇÀ¡ä3àïç‹ÀdÅËÀe¸€ WÀ >œöÒcge¼ÈÄg Éï ¿ŸobøÃ-¯/`ºíQ|>ãâÉÂ̱íßÇ ÿ~ÿ r1üçòâ5Ù³8NÙbáu·åÔ¬ó¿_oùÿçóÎüf‡íëþ_óÓ”!IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_overlay_svn.png000066400000000000000000000002041421373005400230610ustar00rootroot00000000000000‰PNG  IHDRóÿaKIDATxÚcd 0Ž0jÕ èø_øŸÅŒý2‚4% aÐ0å3b5$ µ§A8 R#~ÀœˆlƒQ  4$jNò£ŒfIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_overlay_thumbnail.png000066400000000000000000000002211421373005400242350ustar00rootroot00000000000000‰PNG  IHDRóÿaXIDATxÚcdÁ.†ÿ P𾌑ÀÒ¬Uê¸Ö½‹$ƒ°âƒhb ¡Üô0€F’0@N`22t1øa•)cØDºDjÂnš1Â`Ô€¡j*—{£ïIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_page_delete_all.png000066400000000000000000000014121421373005400236020ustar00rootroot00000000000000‰PNG  IHDRóÿaÑIDATxÚÓILQÆño:­PE‚ Å %ÈŃ‘í" hpA‰ŠšhL¹( ‚‡F õàE6 &BŒ^ÀFÒ"ÈŒØÖ…ÑVh©m¡-ÎóÍT &N23É,ÿüÞ›7 è¶OÓÛ¢ˆ—ÉN@|†xx2gŸ÷Ô/X­5=5GÜXecÄÃñòþ‘'e)Á?œ+^èË^Ÿ9 4öÙ0ÔϽ0MMéªsæW œ¬øP]œ$64£öðP°ã·¢ÄdDãð…x.(„Rÿàz€°0ÌÈ7c¨Cgd–®ªš^KSYJ•@”L;åRàÓ©5Ø{ç1˜ÄÜ?ÏÚ®EaPk!Ë™%ºnVÆl Š%vw¸;‹¬CYþÒË ñ‡pØYLèÁ- ü-áÿW°µÞ…£»›Öy —qpLóЛð¹}e«%9³íçÚýžçHœnA¤Ç‚Ù€2™ã«hªUü—Áœ`IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_page_white.png000066400000000000000000000005421421373005400226330ustar00rootroot00000000000000‰PNG  IHDRóÿa)IDATxÚ“=n„0…mƒ¢Š4É)òw% 8K$ZZZŽ"U6É%¢¤ˆ.À?™Ç2+m²lžô4–ñ|)öº$_-ñ·¾Éä‘7ä¯ëº~´,Ë—Rªc™}ß‹<ϳ4Mt{nšFÀHÇQ´m+¢(UU‰²,³$I¹@néð A„RjNbÀ0 3 Ã9â[QYÇ€¼fáà4M3„*AO²mûžÂ›@?ka@p;ö`<ç(`Ý8sU¾ïoè$sô«90;m´OJ@74mOô3¹´Vÿ\‰ýï¼)yÑùóšTõì‹ïIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_page_white_dirty.png000066400000000000000000000005101421373005400240410ustar00rootroot00000000000000‰PNG  IHDRóÿaIDATxÚ“_nÃ Æ ©´mm_Ú{ìµ/{ÜŸ3M;ÓzŒjÉJ€¤þP]AitŸdþa£ˆ5=³û¤¿õ¥ˆŽù‚º¾Ýé´ošÆ*¥ô\dZcÈû±ï_sšEÐ8Žô4 7êûž¶»]¹bïÞ{ÒZ§ Äé€õšöøÖ-—9laã4M b£¸ZWj‹È0öÀ>‹ÉpYÀmárL²²ÖÖr‚Åw]WzH}0nÛö>$§WúµÛ¸°’Aj¨{ðè¼Ƙú¿ Üjð&­]£_€Á¹~L†§ú?€Úçœ+½…3*‘ø$pgIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_page_white_py.png000066400000000000000000000006341421373005400233450ustar00rootroot00000000000000‰PNG  IHDRóÿacIDATxÚ“»N„@†‡B6ÚkŒ6^¶°ò,l| è,| ; Z Ãh¼d ã®v>ÑÂdy¹ã9³;„YÙ•?99\æÿøg˜‘ÈT«P+P2Y® Ô'TÅH³¾“$Ƀ,ˆ$I´ËY ‚À÷<ï² á€ý<Ï_Ò4¥LUU‘,ˈmÛ$ŽcE‘ïºn‘f=<¡”2”eÉ–e±ŽïÂ0ôÇAȇÀÁ\8°®kdÄ4MaJŠ¢  ½ €ƒ³aÐðüˆ%@~X8…€ç‹cÒqOeF¿¨ÑÉë?ë· D×õn7µAlÜ5k£ªj¿ÜŒÊ6ï™yðÚ§×ã.#ªÜ~"üá‚.´ÍÅÖ#[4Ü|þØ5Mëh'˜×Dáµü~(ñþ?jvÛ“×´ 铵F¦Ç¹ó$.Ð7Ô×/ Éò‡¬`RIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_page_white_pyx.png000066400000000000000000000006371421373005400235400ustar00rootroot00000000000000‰PNG  IHDRóÿafIDATxÚ“»N„@†‡B6ÚkŒ6^¶°ò,l| è,| ; Z Ãh¼d ã®v>ÑÂD@îxÎ,C3¬{’“3Àù?þ¹)d+Ë*™ß5¡´u;MÓ{UUMEQ¨LY–% Ã0ð}ÿB„pÀ^QÏY–QôDu]“<ωã8$IÇqày^QZÈ.4OB(¥LÄUU1€mÛ¬â·(Š×uòÞ`3llš†AÀ±,«7%MÓFP^{€ýÓë^Óøì9@þ˜8AÀÓùA‚É]™¦¹˜ŒÉñ%«?k7Ä0 9€‹D¤ë·ÝÚ躾˜.ÆÈ7î˜øà¥ŒN®¦2!FµõÈì£oï @—›lÑðl´[ÇÄÂ6ΈþÀ‡ ŽÕ·ƒžŸE€l ;pÚÆp™–`LEˆè@r;À*™]géMˆ/ÈÏ_ŠôòzС\IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_plugin_refresh.png000066400000000000000000000013641421373005400235360ustar00rootroot00000000000000‰PNG  IHDRóÿa»IDATxÚ¥’íKSQÇ¿w¶y÷p75³œÓù”ajf/$Ä^˜ % V©‰DEøª?!¥z½(Hð…iCuZ˜-ß”LçÃæœÓr»»÷ž{º›QˆØ›~ð;¿çœÏ÷w¾ç0Ø#ÎV>¿%ŠÂÛ¾®†yü#˜ðp­i@/Š¡Rù-³!Í[)ûõ1Lì*ûz[Ë[Ëö\©ï±jÔQ÷’̺«½Z˨˜(!$A$,,¸áfFøîGµ{jl-©VSK\¬–ó-ûášs#°Ÿ¡e¨²œSžæì ¨¾Ñ9žb1Øø±ó‰Å!ÒE›ŽIÉÓƒ7/lÊT"D"*ªÑç^Çî”U†ìƒsi†òq´Wu–‘fœI„ÁS¬…Ï·¡˜(ÀdÒeY8g¿Aeq‚+ðbqÅ I’”$°ÝìcþÐjß?NO75rz|PÏ‹X[÷ciÙ ë@F)•–Y¦ ŠKý;zÿ*.¾L0f-yɲ›¬S¹BT€Ö—É#–‹A²Ñ "ôb yxÐÔ[GÃ-±¡8®ýà³'A¨¬¨Å<¥*óc øîšÆüÒ‚@Ñ(‰¡;#Û€z[-Í9”0{vc.9rH¦4Rþi¤Ó`w ¡¯É¾Ûĺw—i®å(¾x'{ 3žY¸W<«Ä›â‘šdÜ}pÌŽÁÛwj:/ÑŒ=gðº4âZï~¿PÏãSÐO¯m–†)@k×a˜ß;ˆ·ëï0yqúÏ‘Xߥ  Ûg×bnûoa–™ÞÀÆ4m,¡lvù/`=8÷ýIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_run_file.png000066400000000000000000000011441421373005400223210ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<öIDAT8Ë•ÓËKQð›º(R®J}¢B¡í.FSkJ7-…"ØRQñU¡ººˆPˆFQHÔPÐÆ4¥UÄ‚TJq£àÅBýJB^ÍsòÖ¯÷ ‰Œh½ð1sÏoîæ0Œ¯|òŠñÜ šTXPD"o<?J$¸(ü9ôz½î,’”T !ÂI|><ìv»ˆØl6 †S-´!#ŠWJ €×ë…ÃáP(z‰Ñh‘s§Bøý~8Îs-%¿‰ìÀÛ8Ù@÷Ôwª—Ë%žÄjµ¦ÎFŠÐIè{¸Ýîÿ¤Hï§j´-Èáö8¯Pb±ºÌ\kDÃÜ=„"Á«Ë#¼ùXÎÅr´ÌËÑ¿úK:ô-?J›ƒ¬¼ŒÇ—Ýæ‡øús+‡z±ðóÚ>˜vÇÑiQ¡|ôæÑµ,;-ÐÊû¥â©=Ð|ïÆÈz;Öš1ô­s[Ãxù¡ wß±DZàÅûûø²¯…eo¦qÌoqä5f·†Ðn©C‘šýÍ}ËäRàX <›-A½.µÓ·Q5‘W •˜Ù@‹Y…2ÍdU²é,”ñ¿Oà…i‡I1v M¦(5yøýç—@( ¹l”‹ûY¸PÌRö49úTûå÷}åvs™˜IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_run_file_script.png000066400000000000000000000011151421373005400237030ustar00rootroot00000000000000‰PNG  IHDRóÿaIDATxÚ“ÏkQÇ¿»$Hº‰¬URТ1Ø‚µ‘Rzð ô xEÍ!éÁ‹ÿé¡£)¤rðTê/hÑÆVc!‡ªˆV[«)¨˜êf÷í[ç%}²‘¤t`˜áí›Ïμ™QÐé.R ›Ë7Ò)—ʆ=bYÖcMÓŠ¢¨­"cÈd2éT*5æ‡H@Ÿã8ùZ­¦ )ˆsÛ¶FQ©TËåÒÉdòDÙ€¥Ësªªõ p]·ˆD"u+¾e³Ùt"‘MqYЏèy^B™Á0Œ¦’@?™M K¾ ‘€ ß4ÍÖ€ÿΑ* º®o à‡\ÊaýW 7C7Â[È÷˜@ǾX|µŒñÂ%l7\œ€Ç<ØŒÚHuïÙoàð‰NÌ?YBq~ùÊè`Õ]™i 9~Cãp¹(ƒ V?ÿ€a†ô…™_·«Ñ¶€+½wpúr7>½[ƒCY0‡S'\¨ÛT˜±0žN}Àܳ%·-àBü6Î\í£¿3ÑJáKé'"!,Ì–ñ`jñ» vÒxîmœ=p MžmsXC×Á8vª /gK(WðöëýsUäïÉ€^š¶iZ¦ ù-—©OE¼7^¿YÅøäù߇ºct\€N4Ö¹e°½¸1íj^pÍþƒ…2«]þ åC8Àà,ìIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_run_lines.png000066400000000000000000000011231421373005400225110ustar00rootroot00000000000000‰PNG  IHDRóÿaIDATxÚ}“ÏkQÇ¿› $!n"k•LуXl‰µõ ¥ õàAèA𠨚CÒC/ü ¤!Gs)%‡zÈÁS©¿ E[³r¨¿Ðjbk5³ºÙÝ·ÛyM7$ðÒÃfß|æ;ûÞHh¬Ù!2{¯Ÿde2Ç H»ûiÃ0žÉ²’$É'Ê´mÙl6“N§ï·B<À eYMÓ„ÉñxÑhÕjù|>“J¥šir†*,>ŸŽã4«2Æ`š&"‘ÈÎοår¹L2™ä/m¿ß/lœWV¥-Fg‡h{Ýp]ôvpŸWçÆ•pu¼:÷UU:)Ðu½ ãp8,ˆ’=%wò£Ðëqoì Â!E (‹B‰Dã3Ãè:ÇêúLÝа?Ü[ÁÄÌU·a:dÔ÷åNuŸÃòÚs”Ö—Q˜¬ŽÔ6ØBGÓÆ1Ú{ ÌuÀê.6ƒTQøôZyÁÑkf´£‚[Ó¸Øw_·>Â"¶cÁbü샊áÅç9,­½ddJ×q©ÿ6%Ò5ò %ßÿ” va¥²ˆÇ«s¿Lç[¯Zž6.?8ƒ^žé˜0l =OàlÏË‹(m”ðþÑ+µz õz}ž†)@¾p'Ãè=<„·›ï0uuößÉXß0…5ÐÆ8 “ù:zóÌ•[³lìÿ *hŒveÝ|.8¸ IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_run_mainfile.png000066400000000000000000000013441421373005400231700ustar00rootroot00000000000000‰PNG  IHDRóÿa«IDATxÚ}“_HSQÇ¿»wµ­ÛÝd-Ó2IË:Ì2¤ÄH{ÐD‚Œ°"0 5衈(_zƒ²±°Ph!Z³¦i™äƒYË-ÿÔ„¯vïν{s:A;ðå~p>¿ÿ:ü;qT›©Xüÿü¢òRÉ!ƒnéÎp¹\¯²œ‘ º ©šQ–e í ÑÐÐPWQQQ 2ÝnwOzÌSd†ä»šQQ‚Qa±Xà÷ûát:ëÊËË—!:ÏëÓÑÏ»FKŽçݳGi0¦ƒá²À˜æƒÀl6k·Usss]YY™ ù®›9wŸÕE•*L˜²yfDËçBÚ~@<ϯ*†^¯Ï¤×;]çÃ\ýîm†.ëÖ=‡C2û‘Æo“RBˆ–¿$IšwõmµZWj®—&ߺ”ü˜ÙHmÒ¤Égˆp´ÒbîÒáR!Ç­4Þ¶_..H¨•}¥­l4-d5ؘ#Z!Õלy˜ Ì¢ºð8¿ÐvÇ^•º/¿*>ý*µežzê= úØ¢åvV¶döi†Ç? éü¢#+ªý4·¾ð"]iÉ¡Þid*šw,¿©ñ‡ÐïéÂÐx?zkü9Âé^Pù$ yö³ Š "ÓÜilS~€7ZÑûõ%¼Ýòœ ZÖ”>Ê@~ÚŒMD£Ê$:¥ «)o¾u Ïã&ëJí8á¸H?Ò6ª ‘LÎxa6Ú0èëAçpÇo1ˆ£á€·a£“’°H'O”E,%$Ƥà`â1¼÷ö`hbŸÛ~žzѺ¼LtÚ\,ËFÒ7³Ö¨á`ß’‰‘©Oh:Ó>¿7.-›šB€ø¥u^ó³znÀE6rº. ·´Ú¾¿é”O8ñÉŠIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_run_mainfile_script.png000066400000000000000000000013521421373005400245530ustar00rootroot00000000000000‰PNG  IHDRóÿa±IDATxÚ}“]HQÇÿ3³+j»m³+ÛZÚ‡¤X-º˜eH‰ö`XaE`jÐCQ¾ô">• ba¡Ð>„ha¬µš–I>h‘µ¹›µB‰ãÇÎÌéÎäê Ú?çràþî¹çƒÁ?K ÚHÅáÿö‹ÊO¥„Ì¢Ïôx<¯²]!˜uizPQFý,Ë2êëëkËËËk"!a@–×ëíΈ{ʂ̘rWªª A Š"l6‚Á ÜnwmYYÙ„ñ½>û¼s¤øhÁ‰{Ó ͦ °–l°f„9YX­VÝkY555Õ–––jïÌÜð¹:މ)QÙ°Q¨dÊôˆ0 ŽÏƒ´õ&B¡xž_Q ƒÁEÝ;¦ãaž!u‹±Ó¾y×Á0€Ì|¤ù›å¬CH”õÿK’¤¿®ívû2@«Ãõ’ä¢[—R³ëiLš‡4ñ Q®°¦Tý!dIÄb±¬4Üv^.:²­FY@‘B´²±´U`m¹zºÚÅkùnÌ΄Põ¢Þ¼ÐzÇY™¶§ 21ã*T­e¾û´•ÉàâƒaýÕŠœf8¶oÀЇ14öŸG¬)z@µ—¦ÚY¤+¹ÍPe¢¬PÉØ´ƒGÚDôuú0Ø7†ž`u®@Æ»ÖTd?AþY'ˆ¢Ò/( “?þ€·›Ðóò+ú»üʬ(ØÖ”d>BÁ…tŒ~™‚D³%…v‚ÐV³°'˜ñ¦ýz½>²& ØÙ€c]éë²ÖšÂ„V‡ Ýt´ý!мmœL~€:y¢¨`A’‘´3û'á}·ƒƒãøü³õ”€ž–¥e¢Óæá8.šžÙÕÖpŸ¥άx šDcÛ™¹Ýé 94Ü$.®óª—5Û†©ÑS¤­pÅÕüoáL8ó§IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/pyzo_star2.png000066400000000000000000000011441421373005400215510ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎégAMA± üa pHYsÃÃÇo¨dùIDAT8OÍ’_HSQǯÂPQ>ÈêÁG‹` DIö"Hô=B¢9Gæ°?R¢TÒkÐ F‘ÐVSD{pQwÍþøóÞî•¶ÕÚn¶Í­Ñ½çÞM¤oç*H3ò©‡óôýœÏïÑ¾íØ²dâaÂ^¼÷Pó– Ú³0%æ»èÒ?¬ßM±e5€”¿zó2~FêªÊá]ûV‡“½p8­ß>‡PJŽ¢”º¯NàëûjnÚáÌM¬_5`wlX•_îL—Þ6Á|ÓãõQ°È˜ò˜É{0b#`òeÃ-ȇ`9tÙ§û‘~´–å„©E{HšíÀJ^@yé1{Áb7À¯‚)ýk¯¾8 u¬QMŠdÛ°(> ú‚}¶&×6â·xhºÜ ÷B“ºñ]8±ŸV+65 [vŒÆ™ÔÇÕoBW<3Œ§®S­V%©TêZ&“ &“É«H|*H¥R9@M<ØØØP…B¡É$ÙÙÙ¹Q¯×{ívû«×ë}‡/ý°¿¿/FR$´Z-i­V»ÍfŸíííJ¥Ò*ö+@î§¶··4Áþ8ïc¢f³)ðá<ɈËNç!UïÙD7,खËåúÅbq -XJ§Ó‹Á`pZÄæ Ußöz½ÃÁ`ð­ßï·EYSîîî …BA` wF`›Ö:@9V P‰X<[.—WÑ’»Ýî.ˆ¿Ž=ò­­-%‰+ÑhôÀétn¢ë"&FÞåóùö+n ‡Ç)LPQi·ÛÃV«Uãñxæ˜ËÄÏÁbsŒ¾&,b/B+e@ò“Sw82’F£qÀe³Ù<>r*8™fh/p¥ï?.—kËï)Ðhò@ÀF|ŒE$™¥ê¬Ê°¬ … %`£W›c‘¤d`ŸxޏÂ=*°ûÚçó½s»Ý*þ‰Ï6›í%kGì3á3è ³øžH$Ž©ô†~o›L¦y‹Å¢Bü~ÿ‘^¯O°;Åu}º¾¾þÛÏ©(ǪˆÄ`0œÓétw5MD­Vç´Zíì/À#jÕÂëiIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/report.png000066400000000000000000000012111421373005400207430ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<IDAT8ËSÏkQžýAéÚÔCº»ñô(…¢à©äT= BðPlí©ÿEèÉ«‚—²…J½ˆ¦R”èE<ˆI[l–"&¤,$-AªÆüØÝ·Î¼í¾lè%ö½Ùùf¾7߬”Ëå{Þ¿ÜõZxÍ*ܵì9mJ¥Ré¦ïûŸ™ÛPÀ‡³W+pgãûHhUUçÔ|>og³ÙÕñ£‚•˜BoàºîP c ˆiü¬iZ˜$—ËÍ ƒÌ\<øý©x©’,Ë-I’DBÁ`ì `Mšèda­g;M …rã¬=Ô× d ypþá£H@àÙŒv‘ ´ýZ›CÌ0uÿ­uUx%‘÷‡µ¼jÀðóÑö¯Åï4P¡* çù2ÜÏñDñ{ÓÙó<áGk'“Éùƒoo¬I#ä=ÙnàÛGºøÁ…¨ÐZÎ$˜W‰õà1Wá×^QtzýÑ5"CÍ›n· ÕjE‘ebà8Îj³° ¿nErE ‹À•JR©ùYŒÁ"ÈÈ µ[Œ©À„‘¯Óé€mÛÉd@×õaä/¯­„‰Mó/O 1 ÊN§Ó`Æ`¨â*ƒÚÓ%x°÷ƒƒ HïõzÐh4xUÓ4ãþ tãVåÝÏ+I 5ˆ€d gJR¯×ù¾ßï‡I¢†-]ŸšŸNŒÝvÚîÉÆqë`Ôßù?»ê|Õ>ȶ•IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/script.png000066400000000000000000000013541421373005400207440ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<~IDATÁ1lTeàïÿß»»^ w¥@J àä`4: ÄMŒ†ÄÁÙ¸0:bœ4qb6ÑÁÉQÙtp’ÈŠ‰‘èড–¶\Û»öýïýï÷ûB)\ýîÑE|þìêÒ¥EÛ[´½¶ïvý ûx‚Œ]lãküXô]÷Ê‹gŽ]úèõÓ`žúé"õÓÝ£|6µì7Ùƒ'~ø{þ®Õ}×­O†‹¹m'+5]Ï~ f-OfGÌŽØ>促 >¾ñÐ¥ +ž?58]ä¶];>Œæ ó£,Æ FU+*AèòžŸÿÙõÛÃÙF SZŸŽ+³Ã΢)b,ªHÌA©U…RÙÜk|që¯=\­º”ίOfGE…*± S)êõ…<ȺÔ]øþÃ×v"@NÍù3Ó‘y*B¤ ADD„B)tM#§&C W®ß×UŽQÊYTPdÄH›³ƒù¢ÃDèštzˆ Q ãÛ®I›7?½R BNÍr­WGª‘ôèû@a¹Ž¶våÔlÄË×nœêRº~ñ¹sï6³ýlžÈ¥¡/1Yf{o¡Ki Î)½‰w~½{ßîaí )Ú\4mº^—{})Ö¦S¼}Æãí…œÒ@ÛöåwßxaüÉû¯€\hs‘:¾¼¹ayÀþÁBnÛm€:·íýÇOf¾¹u×ê±±ÕÉ’Õ•‘éÊÈñå¡Ñ0ÕÑ{—×j¶vöå¶ý î»îÛÛwî½}çÞyœÄIœÀ L—†ƒÁÒÒÀdelu²ì÷?ý‰Ÿþ{Š;,¦EõIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/star.png000066400000000000000000000012361421373005400204100ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<0IDAT8Ë•’ÍK”QÆŸ{ß÷¾3ÎŒch¢„T~4´ha"múB‚¤UÛhá?ЪEmZ´“µlQ`%µ© u“c͇ãë|¾÷œÓBM©÷îóü¸p®t«ò§™s`¸ðöE7Æ!%Ì Âüô0OW@éãô¬k2c®×Û÷ûÝÅùÿóc“<¯'&¾Wx}Þûg@qqjÞ$³9í$Æë5bùÙA^Uþ<“–«Â|,g…eÔôdS‰t?8ª€ƒ:”;‚¶_DØôÛBRâ¯ÂüFˆ_ªÒÒô7“î;ã$Òp´@C±€‚"l³‰-h3‰-( aÃqØBتU”ˆ ø~jÅËôŸLf›«àp l-$¶àILRpR“›h׫¾œÒ $ù`³¼ÖÞøeŽC˜!Ä¢íÓn÷N& á£]«6…øôøÜrUÀÐ¥ÅHˆóíj©DQ å BìN˜ÂÀ@ˆÐªU¶”Ÿ[)vlaøòRC,= ¶Ê€Îí½Â@ e·à˜^MÜXý¹›s;vO<©µD5@¥ 9(ÏÕ×Áå ‚‚øÄþL€‰Ç´v€6£k>(®ÃKÃqF  ê âa¥4Š´ýJÄ$Ï…hƒÃµ›^Oo*™Î‚Â8{àèÆê÷¦?»öãξ«Û_ܪÅë(²ý^䯖&®ïŸÒÒýä쇻ÆÛÿFsþ ")IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/style.png000066400000000000000000000014551421373005400206020ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<¿IDAT8Ëcøÿÿ?%…£6ë.OÚªG;ëö¼x7íØë¿½úY¿óùû¤ÅNË—^P h+÷Þô¨;þææ±§ßþ}üí¿ãÌ»«äòÏkÊdža$h€Rç Fý 7'.ºòá£õ”Û‹r·>»hÙy}‘Lòia¢¼ Ðp%qãÍÏ¿´ë®ôËfŸµ¨Úñü¶Û„›[¤³/Yk6ßšcÞ{ï IçÝÝ&­wv›µÞ:¨YzmBsÕeÕ’/®Î<ýîLÚ3éø“:S¾~í?åöéÌ ÎÊ7'ûÌ{ü9{ã‹ÿ™k^ü×)½±N<öBÜ£–«37_ÿôgÞÉw&xõbÆÁ×oÜüô?vÖÝ3b^äôn­˜÷èŸSïÝ»‰Ëžü—ˆ>ß,~–@,ÀŠ]ræÝg¿iwöJ†”<,îw0oêžoSfß½,™p6#fÉÓÿ¶mw/mu˜ûø¿LÔù^pH/{ÍãK“¼z%tÄæ"QϽêI3î\̘uïÛäûïÝ&Ü{)uÞhkPä̇ÿU/,бóù÷i_ýoÞúìKòŒÛÛ@‚"î{Œƒ{nœ\vèÍÿèI÷þ'.yò_,âl-X.ä´wøÔûÿµ“/lÁš1й1ÑóÿO^ôäÌœ‡ÿ}ûîýŸ|ïÊ܇ÿµâ.lô:"Œ[sôy3ëú›—½zï~“‹:?]$àd°ß‰õ¨óë’g>ø¯þ €Ûa œhf_Z“0ïѱà“ÍÂþ'¸`₞G‚]*o|Ћ>€ßå †F` ‹†ž)vo»óÁ£íÎW ­ÁB>ÇYÁš=Ž(mmp«¼öÕ6çÒc>§ñ¸wÞýäÛw÷¿oÏÿ>wþ¥]<´•$g–rñ¢WÍ@üß«úÆ÷òk?(Íά‘·0cQ:IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/sum.png000066400000000000000000000004411421373005400202400ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<³IDAT(ÏcøÏ€2© Ñ¡ñÝÿê3åG‹ÏäÿÈúŸrĺóûþ—)êÉíɘœÜ;CA¥A÷ÿ ÿs ¼°ýXÜPP?ÿÚý<ŽL9?ûd± ïƒfáT#v?ð6žp]ïƳÂ6ù¡ 8Áï¼ÇiËèLý÷h ‚ |Þ»¿q¬·©7ï7º¯÷_ Ý›Þ ®ûö[í7Ýo¸_w¿æ~µ~Rã‚8zäÂãB)IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/text_align_justify.png000066400000000000000000000003211421373005400233440ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<cIDAT(ÏcüÏ€01Pª€D”ÿÿÇð ƒá/0þŰ—‘ñ?1&ü‡é…è„Á3D›úÙf¼E´ ‘ÿ¡é…˜÷œh¼ÿ£ë‡ÀÏD›`ûÿ'’Í  ×?Ę@0²ù]Uvx¿iIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/text_align_right.png000066400000000000000000000003211421373005400227640ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<cIDAT(ÏcüÏ€01Pª€D”ÿÿÇð ƒá/0þŰ—‘ñ?1&@@ÒÿßP0x†hRÿ#ÛŒ€·Htƒû„^ˆyω6Áû?ªÝ¿¡ð3‰nÐúÿ®®ˆ1`dHLõdq»IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/text_indent.png000066400000000000000000000005411421373005400217620ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<óIDAT8Ëcüÿÿ?%€‰B@±,0Fyyùÿÿþ1üùóŽÿþ Ç¿~ý‚Ó ¼wï^F>FJÃî‚Î-ï®”ûéÀø±±±×‘mDÇgΜÑD1àÇï¿ ™‹ž\½uûkÈÞfõë@EЏ4ƒ0 €½Ð²ùÅn6†Oß3œ¾óõÌÃ[_âNMÕ»NŒàa³øÅ•Wï¿3ݽú)øìLýëžžžW`¶ýüùn3Ì[>ÔAñ·ŸÿVå)jÁ½ô㇠º³‘cÃÇ‚··÷|†œ&@øóçÏTN¶¶¶ÿ±²­>|`Ä –™ & …2HމIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/text_indent_remove.png000066400000000000000000000005371421373005400233440ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ñIDAT8Ëcüÿÿ?%€‰B@±,0Fyyùÿÿþ1üùóŽÿþ Ç¿~ý‚Ó ¼wï^F>FJÀ™ÓºñÝ•j!;66ö:²èøÌ™3špúîk*H°¯áac;¨H—f†Fßλš’b¬‹4%ÙM˜™¾ùÎÐ%ÃH¬ÀaàXy]SRŽc-7ǿى’`/xzz^ÙöóçO¸Í0o=|øPî…ýíš×”VôÌgW`&ÿøñCÝÙȱâªÄ‚··÷|†œ&@øóçÏTN¶¶¶ÿ±²­>|`Ä š™Ôèò:);üúIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/text_padding_right.png000066400000000000000000000004171421373005400233060ustar00rootroot00000000000000‰PNG  IHDRµú7êgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<¡IDAT(ÏcüÏ€01Pª€DþÿÃð‡á7þáçÛ¥ö‚ívfdøîùÿáÿžÿÿ!&¤ÿ‡é«¿è@Œÿ³bÛÿ#ÜýÿL?>¿"õŸáB,eĦIï$ÝW3ܺáÃ_„‚ÍXLø‡l‚=’ `ÿ<'õÙ‘±ºIÔ`ÝWÿ0|‡Ãy°FŠcìjî\!'Úr¬Õ/9Jò¤*5R0FCß¹ùˆgÞàú‡Mþ8ñ0ÛLíÏ\yý}|‡BþF(ÃÓ7€•d§âT%‘H N£X,¢\.ãhgÉŸuùžq.’-Ó xž7dǃ@ €x<å<Š;ц;ar…ØMK|”Ýn7ü~?,‹¾u›m¼g¼crC> ™¾Éd…BÁ}>8Žƒþ‰ï™(èóÍa|è ˆD"Èçó=ò#L ™þÊÁ`¹\.— ^¯·GÉd2h·Ûp:…BCÉÿjµJ¥’QØ0²‡7õ³­VëвÎ?P ³µ¯vIEND®B`‚pyzo-4.12.3/pyzo/resources/icons/wrench.png000066400000000000000000000011421421373005400207210ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ôIDAT8Ë•“ËoQÅù_ü[ŒcŒ+W.]‹Ñ…¤išá5  g  m°–ÖJ[FÔq†—Éè¤#_Ð)ÚqÕ¸ÓÓ;,“¶@÷‘{ó;ßùÎÍupL©TÊ™H$¢(Z‚ XÿßM„“ɤ“€Ýn¦i"ã\nt:ôû}äóyD£Ñó ðøØåÏ0 ¹\ ÃÚ–IUËãñ4(Šrž‘¶áÍ úHM°k̈À_¿ßá4·Ç_z—üŠ€iy€'¯"[ý êén1Æû³rMž¥Ž_ïAú`béíñõ=$Ikå_p-¶qÃS~¦À²=li~3ÀBv"q²ZâAªëԧ̸—r¸[ØÔöG–¹—]<&áeÔ!î'Ú¸67 Üyôôºq‹$OÚX!ð=_™Ý~1ÍGsÜ~øE³ƒZQ†x&qWøŽK3ÓÁÇ!Þ¤ëu®Înã¢kzØGrjùQûn»IEND®B`‚pyzo-4.12.3/pyzo/resources/icons/wrench_orange.png000066400000000000000000000011101421373005400222470ustar00rootroot00000000000000‰PNG  IHDRóÿagAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<ÚIDAT8Ë•“»kSQÇó8H)N]uA,¥ƒˆ“w“ÒjÍûazcbb6ÖêÅ&­ Qcn^b4b2e l„ x¥W„ }$çÅçûûžï9ÇX¦µt:­$“Én"‘0âñ¸ñÿÞT8•J)N†Ã!ãñ˜h4ʉîF£ù|žp8|2X,f˜Õ[­ªª–͵`0ˆßïÇçóSÄòï~¿OµZ% } º¦iôz=Ün÷ñ‘Hä‚XÞët:4 ŠÅ"…Br¹L¥RÁétv‡_ÝT'™-±lÔëušÍ&f_«ÕÐuR©„Ãá˜Øl6å ¼u]e× Ù5~lÞ¢Ýn“Ëåðz½{¦e©jØíö®ÕjU†¸iÂwáÛ|}šÂøÉç§Ëåš?Ìíþ$³¬²³&°€ÀûûÐx ËürŸû|TNÿà%•ì*4ŸÃ‡ l‹Ð;'T^ëÙ—G <»¦²½"pFªà­Œwì Ç!yÖÏhÇÝ”…Ôeø²E±üæ6äî ø ܙצ½ ‘‹P—³îJÕì:”C\DWç^ÏòÑ,<<ß4ƒú –A쬜ž Þѹð]‚ËsŸš6ÛÞ‘øéî×—IEND®B`‚pyzo-4.12.3/pyzo/resources/images/000077500000000000000000000000001421373005400170615ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/images/pyzo_editor.png000066400000000000000000001501671421373005400221500ustar00rootroot00000000000000‰PNG  IHDR‹¾Ä #! pHYs  šœ IDATxœì½wt\W~çù¹/UÎ@!s¢¨@Q‰R+wËê¶ÛÜmï´ÝÇ>Û³³Çc{ÏžÙÝfæìÎz¼^ïøìÌì:·Ýn·;ÈÝê¬)F‘ &$"‡BåzéîP (‘jJ—,àÅû¾ußýÝ_¼‚eØóXwûþý³e—B,wÜÖ°†5¬á£ I¶0:ð+WÿóçŸÕ%;ôÅPv|Àí[ÃÖ°†5Ü2AoKçÿn${6 „w k:ÅÖ°†5|ì @H@/Èöå„TLO‚5ÔÖ°†5|\!  #Ùë7’½þ' ¿Šª”Ï^ÃÖ°†5|„ %˜Î98rÁž`6Âð©ŠáSê·ù …ÿød=QcÍ2µ†5¬a 1H gºüöwH™õ»L ´¼Š…2AMÖÎZpÔÖ°†5|´ ¥$SrѨ ¢ö¹¬ƒ›ÅÂB”ÝBÇAJ‰”r™Ó×°†5¬áÖAu‚«ªê‚¿?îX̃„Å&(Ë áüõ¾ ¯¦à«ˆœ‰‰ J¥ŽcQ*q§*MnÐ#|4PeCQU¼^EЮqÖU4]Ç0¼!°,³TœŸ”¬qµ,å_U5TMCU5\ÇÆ²,,³Tãî£Cayâªišf`Û–e"¥,÷§ÊäVQTlÇÆcxX×»M[É òñÀr²`¹mwñæÚ<-‰ã8/v.K©˜'3—²LlÛ*ñ2T-ª¦¡i:ŽmcYfÝ1M7‡£œ<}–;v'Qe¹Ë~, „ ðáñXÚO$Ëi²î³öÞÕ½€f©ÈÌÔ(M-‚aEY ©¤”ضM*•Zö‹q‡P(„×ëýȪ„Õ±×À²KŒ^XãlT¹Ò /ÓS£Œ O´Er•N§W¼f8FÓ´W ¥$53ÌLOŠDÙ¾çΊé¸þ8p˲) èù}Õã4M¯ðöA>Á…”àºÙtŠwÏehpˆ‡y˶>—”UÍÄ®l¨ÛY9ÞãñÔÞÍ37 ðû<«=´ÆÅrú˜¾xŸ@ T*™Eff&iní®ù0LÓD×u,ËÂ0 LÓ¤T*qðàÁƒ_Õ×qêÔ)R©ñx]ÿh;ÍEÅï1<9FgϦ5ÎV€®5®:º7!¥$ŸÏ£iº®“Ëåðù|X–Eoo/±Xl‰ 8yò$SSS$“Éš¯í£ )%P”Kçß¡kÝ&š[:Òm¨M ÒÙÑN(^²/›ÍrùòEº»{0ŒòÌóÃÊ‚á([wÞαS}x=NEËj„©É º:;Q5uɾL&ËÈÕ!MMºñ¡å¤ w5³`»ìú} rÙh(/à«ßàÓ¼zÕ%Ë6wÊ´T*qêÔ)B¡™L†Ý»wãº.®[¶}9Žƒëº8ŽSsŽïرƒ‰‰ .\¸@[[ÛGz(¥De^c[³ê`÷qå¬WÌη) lذ)eÍYYÏ•mÛøý~¶mÛÆøø8ÃÃÃ$‰$WõR–mó¶…¦ë¸nùý¼|ù2º^6Ó”ìzJÅ"€Ÿ€ß_;·Ê]<Ãì0™šœ ‰â÷ûø0§æJ)kþBÛ¶P…|>ÏåËWèîîfvvÓ4Ù´i#®ëFjãVUƒ•R’lnbjr’™é¢Ñȇ~²&Ý%~ \¹H”5Y.Ï¢‡GI9?‹Ó4P(D>Ÿ' ¡i¥R©¶ÿ»ßý.H)q]—ææf>ýéO×f}ÓÓÓ¨ªZ(nüÐ0jKˆ,_D–É*WæºgÕŽzó8“Kg›u\4âªÑ̽nïü@RIê©Þ§º¿Ñu–m]®âñ8¹\Ž™™ºººÐ4 Ó,Û¦'''ùö·¿]ã à™gž!™LÒÖÖÆ•+W0M³&X®£ý–{ÞÕ?ãêîs}׬E'Šª©©,,Ea``€ÎÎN\×Áq@P*•ª Ó4Ù¼y3äó9R©Ù²]ûC<(HéB¥TßGçò¥‹Ø¶EGg'¶mã8.B†‡‡)Ë–eáñxؼy3Û·oãܹóŒÓÖÖöóz$ïoìB”9i|ùEヨl]>tv¹Û,¸hõå,•J¤R)Âá0©Tª6èI)Ñ4P(j³?MÓÈår¨ªŠßïgrr²v­›i»äR%ÔˆŸ~SoÕøþ•ðVᬔ›#ãøi 7"C’Ï—0¼4ei·´ŠYær‚D"РÓJÒ“3há0>]¡è€GW¹—âb®¦¦¦(‹D£Q&&&ƒµ6røðáÚ€Wå*›Í¢(Jmû{æJ:XÅ,¶Ä«« ž×¡T´Q=´÷ó»%ЦÀã5¸äæÒX¾Qcu-UÞœš°p]§f¨nw]!Ê‚DQ\×EQ4M« ’[·nåø‰ض]6ã±Ôﹸe×Ú¿×s½÷E­”¸®Ä¶Ì² ضplDZË}ƶ±-×±+ÑSóþĪ98›ÍÐÞÞÆÑ£GinJT¯ÎØÑW˜mÙÁ¶ÎÄ*{Y¨_9Ã¥R'woÖø]ÍyÓ¯ý9?œ¹ƒ_|òv å½ å&(Ž”¸ vÉÊÒ]NXø+?5èªÀPèóNI]gçÎ5û»®ë‹ÅÚ‘å¾rÇTU]×kNÚªšW½Ö5É®Ìæ–ªü·ØqçÚ6ÙéºÏƒG]xë©‚Umçâû‹Ê=çg ‹fì«ã¬ž‹jÇ5 Ã0r¶BkëY©Õ–RRÈÍ1mi$‚R,8 ×LñìwOpÛ}·±¡-<†Xi[©ezF‹ûPŸ,榧ñ25É®ªÚÖI“WYÇóÏ5ÿ|‰D‚d2‰®ë5ÿEU³¨‡ªª(Š‚Çã©™^^ózPÖÀ¤cŖ0=^ MAY@©Dš#¼õâšÞÇ– ZÇU·TÉZôÌ.öäÛ¼üŽÁ¾ûöW³œyíE&¶=Ê]¢*°WTjÏX™AWÍP¥b‘öööÚïŽc×g&“áù矯+¥äÉ'Ÿ¬½›emÍ©½“n1ͱËY6­k!âS½«)mò©q&œíñ †Xþ}–R‚“cf¤|p m1?j]ÿRbÏãµ3 »î%¦½÷Ñ•n­ßCÙ—Ïçkf¨¹¹9‰Dí¾Ge||¼öw"‘ ³³s_¬<Çþùï9·é“èw狼³Rjœ±é4Žð’hm%P¸:0@ÞrQ4]­N¾üC¾7½—æÀmt¶„ñêJE »Xù4³Ž—ˆîBkÙ€—Óã)|á.ÚÔ0®™§ø*¦]þ®­=Ä´Óc“lO¨‰¶¶"5ÄHF"\oS;7ÃÔø~€pŸUÑ–KBg͉+ysâJ~9a¡V~j0T^7È–£ìÚßÕ—S×u\×­¨u2w†Î¸‹ìšÿòêüU»`ýµ®sp„¿ün`\aâªIbCˆh©Dß Éæ;xl‡Ÿþó#36¦£p×Slô[ ž#ðsé§Ã|ã]•}í.YSeã}íZ×hÖØ¥™ÿñÿ%Ùl1\Ô®&t¸\yeœî'7Ða˜\xckK';:utAÍï°΄=z´f†ªò$¥$™Lrøð᜹ù!Ž»ÀTÑEÕãlß½ˆ3Ã[Ç/`¡â 7sûî&޾x’B8J ÐA¨t…KîV:Å)^82…7b_r=Z\†úÏâz,¦{7±w{'õò559ÈÉ3 ­EÞzá¥hO~îeïžn.žX`ðÍ—É5¯'ðñ§‘Ñ¥© ¼ùü ¢z–…¶²Ù;Ä¥Kp½ûèŽ1ªj”4Iœçµ³S„üØ6;oÇ—íçäÙ,÷=rÎL?§œÁãMsñ‚EAØ·{#…ÜWϼÎßI¿íöÑî[^?[`*¬hBÖ­[·×-ÿHI8æÁ¬õ1×uÉård³YÖ¯_tÝÚuÀ¡07Â+o !„COk Ë´‰Fx4ÉÔT¿¦ûOs"×ŠÜØI2ÂLM‘·\MÍM(®Infš’ª£êàÓŽ™'“J‘³TÝO(A+¥˜Q1·*D“Éé4BT" C1|ªC!=‡/–Df!­…ñ*Q3CU{ŸÏÇöíÛ…B „¥‚ýû÷×4¬*/8ŽC<_0ù°ò)Þ8ÓÇ©‹ß!;:ÀW¾ð'ø,?>z™¢ëeߣ¿Ä/Üå¿þÙŸ1k«üænãøÑ·91x™¿ ûøÕOí£+á©|G%¦úðõáviOóòÿ;š~ç?³Õ>Í×ÿâŸ{8ÇÑ9/{zuþéoÿ’‘éiƇÙûÛÌ£McüäëÏr9•'Ô};ŸüÒçh}åOø“7 Ú›ãl{â ÷ÿŒïvØAÂg 8i†Î¼†¯÷ÜÞÆ6ØcLϦÑÖÝÅý|\>zš™t³0ÃlºÀæ÷³UœçÅ×.àiÚK$ÞͶ]»ÙÜA:6vfQÌg™M)ØV€™TcýÝÚ6ÎK/^æòºVÒ33èŽJWs/-Uvïì¦Ù§`ÛΪ4‹•¸ªòQs<&“|õ«_]ÀSu2"¥äùçŸ_ÀÕÌø}3Qž~|>CC3Óüðų´Þy?÷omò\Ìéif&&é½çiº‚%ÆúÞ í31Ji&&f¸í“ŸÂH]âÈ /ã>y/Éd‰–ýwÐT®íV5 “B>ŤÒÂÞ]syáÂ(û“¾¹w™Nïļ:À¹ÙOßëg¸àá¶·W³\°%IÞ·‰ãÏ¿ÎÑá-4÷zW4YH)—riÄaUs­¢j’ªŸ ÌŸDÝ  Nq†úþ>ñØí¬Û|ïÛ/rÛá½DÊsx¤k‘ïãÇ'fÙµ± eö'¦ö°;”æï~‹æG¿HWæFO’kа¡I§X0q…d¸ïu.š›yfWåZum·2ãüÍß¾Èí‡ïdSÔæ{/\äžÛ[pßDnyŠN}†s/þ˜ä¿BwüúýTUª¼””šYoqÔƒÍ<´¥“–»¿ÂW?±›þ¿û7|ógs„[[ •&9ñâÏèé~;ÂÞ»rÏûéè‰pðà ú·=ÊüêVôšæà!ÖÜÍùoœ¡m[–Óâ."—®bfÏ3½ù1‚Ú7q¥À“èæwÿðyã[Å7NßÅ—îìE.Òž 3j FÞ}•ÿ÷[øƒ¸¤yÃ=üƯ?N0ý*ÿÏ÷r<ùoÿûoë]±o,Þ Ë„Îj±6íZVB)݆¦€2¡Ð8ÏÖÈ‚0ÒÉa_ø#”ðN”ä/#ôæ3Móºe,[jò²=éÌ$ÛDÅž,¥Äq¤[þ\éâ:6¶¨8‘² q;5ÉÄ„%drp”XGCrq(M{{/f]:šÃx+Òz%®ê5‹ÅNëz;oswpe ˜ŠXS©þ3%•NÏ4W‡ú1ì(ÂÆk9¸”“×éà¸.Žcc;…Ü4ƒCC¨™QFŠa:uU˜L\¡¥³¿¡¢PÕ,lÇdøÊ 5‡š¡©©¯Çƒ7ÚÆÐ«Ï!šncDAæ|+ÅØèFƒ-Ëáé¶ Ž,›ƒ¬ì#“±Ž6ôÔãÅ ííqrCÈx[éHFjæ–•ü4‹·×OHê…n½&Qþ[€[6e¹€âÚ8®SNòsæs:×Åu%eça% •4_¡êhЍl.SWÏóö_ýò}Œ¾ó<ãÇJ¸R­í·Š&R«X$\»Ü¿\§¬I)BM]̼ü–2‡Ûû~­(±å®åתÏÕYp¬„pS˜ÂÄU.ö7ѼÿNbCà ̖ˆÆ%¦-p­"Z(A÷:s¦lÑB÷¸“—¸tµîŠÏ¢zIE²?ÜϳM<òù-LùsŽ•¶ðØ–bJ€ç†ùó¿=ÎÎg~‰V1ÇtN§hÚ_¯Z"5›ÇBA­h.JpÑã;zŽ'Ö7F—ÎISrð³¬kÉîv—q;ÀÁn‰S1»Ì›V®-,ª&”•¸¨ç ÀJðîñËLd,E"5/zÉ ©£ ?®¯“˜ç*Ç_{íÐhþ AÕÁq@÷ ë.fv”ÁjSþ©K ̶o2ÓßÇhÌC2æ_•ªÊãâÁ±*0– 3V½~’Ùüä¹+tn½‹Û['8öâ÷y×§3›w‘BÇçOÐÿãï3~¾—½wí$÷³çøúkBós艧i²G^Ò·áh’vå-~ðÏiŠù9\º*³u@Úœ}îëL­¿ŸƒÝ ˜Ã¼öƒ^¶MZnc¡ iåÊůÍüÞÍpôŠEÆd©”¡)Ü}„æXe|òÊR"M‡W^J3­¨­‹ï)Á„‡ûïñ£ P*ÿÝã^a§f¦Hš6‡ùµ…–f±€›ªÙˆkhBB¡PÍ™¶ªœ½Ÿ$F)%„¶°k»‚×updŸ²ìZ´ )Î÷õcU'ðjž ÝÄž›–@¹Z®V#êC´ß/WþX;îkB“¶]\6§F/Ñ?™¡X©ñ¬yƒ$Ú»Xïó¢Uß Q¼azv Çů­(òÞÚy-D"úúú®ÙÏ"‘È¢- ‘ææ·&h^2R¨$[çÖ|‰ú㩘ŒškǾhí÷pSë’6T-%ZS vÖ Ù'ÙÚFKe@•fš™+GðoçÞ6Þ›[»Œ#Gެ¸_UÕ¼¼w”Fßâ¹ïg`º6¯‡ÛÙþÐçøÌm±›š4Üð½Æ2KÊ¡H`;¸…€–€–ÐÂsqh#˜ÖüÌe6_ö™7Òpë¯Üäã¾¾¥-h ƒ³úHÛkC»ï­¬Õj‘MÉ€M=Z@¡3°t;4]«É6¾žPã•áÁë-ç¡42è=ÄÖ»–l¿q÷_ŠÕrµÚ¬ìÖV¡ke“eèÍ=ljn´G.:GÁ.‚®Ó˜÷ënš¨8>W),nä€÷AB 6ñ©{›ä0 #Lë®'ø•]﯎U,#‹Ýˆf®ÞÞÇùÊï=¾pã ˜_ Ë[-n¶`¹B‚ Úº8‘·­òa®òAAJ‰t,ÜJÓgËc«÷޲Ï­ù#>šÜ5HWzÖÅy·>øº[+M(–°©lf9aÑàøÅ_‘¢(ø>lÞ~ÛÏ» ¬quý¨.wÜÞÑÇSî÷ï¼9ÆÀD¾á…’ƒe»H·lŽÑT+%^C¡£ÉËç7ÑÑìÿH ŒžžžŸw~n²¼$ÂåË—ñx<+úúVry­>>kQçQÏ»üéfÉ$o¹è>M ]›tÞ¡`x½´JAÍ  ÝÐÎ)¥{ºœ ùÞwúQwà IDATŒkNbº°- _E¯J)¥s€’ÁãÞà—¬\œÍu$Šúᮟ¿†›‹êìqjjª.¹FgJì٘䩻»°m“ŸãS»ñè º&˜ËÛ¤ryþä›}üî3›ÙÐ\ëk1TÃe[[[ ‡ÃË~¿NÃ<‹Jtß2×^…u? ® n‘Á¡q®fm|±f¶µù¹Ž^H¡û}´t¶±5ª—Ï­tìÝ9Eõß{½v%„Vàù'FÍ;qS“tm;H(\ÿ2Iìñ?fpêQ6ÞödU5¯>6^©ÛW¿½¾}uÛ%`]$=¡éØÈ¼çèûÍ>XÌåL,WR²\J¦ÃøLMèZ¹t·eC¶àpq´ÄØLRµdÉâò%XëƒFˆÆ[)alLË­,£)ª§²FÝ`aÍ2øöwøÇË­ÚÙEˆS¹>†.¬¸È¼µz9Ûw}ý®5Ü:hXx’ÚÊGÀuäY\Ï—ë–Š…xØËl®DIúIÄ[Ø—LOrv0Eû®fnmqHÇžÁ~|˜èzcYÃÒš¥0þ ©ñYÌì¦ÈâMnƸðÏä‡K¸'2‡Œï&Ô¶-«Ð?3MÀv‘ЬÄʃ¼¡†¿›@|êÚ ¶†ë„”åš׋”.Â…œ]-ã^-i.ñ+å•ôêe…tmÌ| ÔN¼M‘ шsf7Ÿžw§rHo‚ w=ÂÞÌwùÁÐzžxú¡¹c|繺>Læõïqe"ƒé@ÛmqÿžnâË”7YÃÏ–#1%Béü,Âð©Šá_ e6òL¬3“ÆñEØÜàô© Å ®®!T¡(«X7âVÄ™}éÛ„(õaDîh¨~—Ÿ¥\ÑU 3}žé¾#t=ü§¤NþF¤ÀYOs÷·¸r Zõ¢%¬é³Xmí¿„Ï{7Z ìôn¶B>…P¼àäq¤‹*Ö^²5\'d¹|¸®U_õ²FàÊò"HNe1$×)/˜Tï©F„䦻úú_ð7§:X·~ ?ýíþ½ûÑ*mN¿ü,ÿøãÜý›ëȼôÇ&°íô¸’ÝÁþâþú¬ÃS‡ï¡SàO¾ý&=­ âëV®Iµ†ŸLGb-ùÊÏRaa${ýF²wÁ’ª^]Á«¯ÞJé‰&e9w%‡Þ%âUȧSôÏš jtwEßWý– BG36mÙ‰µy#š¾tµ7atáÌ>GßK¯ †?A[w3‘® \=ñW(Z'áIâ‰ÝA),ñZÐ| íá3õî_"•m»zÆ^‚Oÿ…6´`𢠄ï=ËÀ‘ÿBÇ®/ã÷7Z÷z kh W‚í¸/¿ÿ•t´ú—6r ·Vih`†•ÿÄ‚-×ãÐFÞî@ýõÀÛÄÎØâÈŸ[åÒ ÞÞßà ÀƒÔÚ¾À$P[Ÿm-²ö7‰]$*Kw tìz€@( ´ìù×´ÔGCù?Éæ–§êî!€=tÞQ­Í´æV\ÃõÃu%MaÌ÷I'—ìïð>‚cÛHwQB–'5zŽËÓ^Õf&5G,ÑŠMIúÐ5Ivf–œFƒöÞõ$¾ûu.ô>É„ ïøKÌLµÐÔâ'+ý´¹Ž÷ÿãIy™…åÐ@XȺϪ3ŠUŽñB@—Û«£¸r›E•œå“°I]ú6“Ó)Ú÷´¡)Ë8ù–½Õ‡B[í!qe¹kyÔr•Û…3H‚ZYCdqV¯K)3Æ?þå÷™+Iôp_ýW¿D‹ã%sáxöÛ)„e{oŠ"héÜÄûœ޻Îd„€îç³{_áÙ~Ÿ݇¾LGgáµþ|K¢`IŠÖa‘c93à­üÔ )¢6À]rÑï+wë ÆE·êéâÒí²vµ£4¢›þÑM¢N+y/ÏÞ(åúãÝ—®±¼Ò5æïY{V±¸”9 ¾êÅ5ò×°Ýr>ô¢¶ûÚ9%óÏAM°ß¸€¥\—ëºVöU£@®Q!´¾•ÃÜ£ÚîºëÞ gñŠš '¾Û-- U‚|ÖG@sðè ‚µ -Ûçßý§úª¨ÁN>ó¯v.¸š7ñÀïü)÷‹ò"QàaïS¿Áž§·†[R.^ñ('…5vpƒÐ½~0ó¨Ïu¬¡ 6#Cã\ž)oocCÜ‹!._aÚTˆ$[Ø’¸Åc¡ê캅BšIËOWX£š¤ïäYzï¹pƒE»% KsŒôŸBi¿‹¶^T›‡^»YÛ,‘— Ž&ªƒåõ½„®™eäâI¾sd€¦ÞÝ<|÷âä3³äŒÍ@Úd¦ùÇÁô6³ëîCl5–,a$]‹ã/¼wëN¶·7(ñ씘»À?üìÞæ Üsç6μ=ÀÞÛ6Ð÷páå癈¶9ÉK {"toÝÇã»[QÝk1S£—yý]‹Ço]6œó½BJYÇGE{tmú¾Äph3wmíD»fòšÄÉðÒ›ï2öóËŸ:ˆO)svúµç96njÝÌ'ïêâÒéÓ\ñlä‘-QT!‘òý !`kWÑ™4_ûñdÝ¢L.eéìV’š¡h–س©™PÀ¨œ»RˆëòR,'>€rÛk¸X<ׯÃMYŽÉ-¦™55Ö÷„Í’õ+øÜ<–?Ìú¤¿ïæ­u£QÌ¥¹xñ4ïØÝÞØŒ§T"=9ÁèøY‡`$BXs˜›K“-9ø#1‚®E)—B±çÕzÛ,J¥)8‚@8BÄ€9K”œl“9[Ð$…ôK!ö¦ .ŸŽâ˜¤†!óŒ õ3b‡éiIÐ á­“C×ZG¸ŠÙ©Þ<3Ç÷dæê ÏŸžæë¡ïô9f[6s[{½0É;oŸeï÷õjx ³3i¼¡ ~M2‘±‰t»€Žô-uþäRSœ>~‘;Þƒ9}•7ô›d<ÝJWXrzÌ¡5ìbY÷z5=Â;çÏ’Ùƒ\ºŽ…Ét‰HÐ@qŠ”„b©ÀäŒYׯ%…ô,©‚…ƒJS"Ž,åÈHÉ€J±%íúˆ*9f³%lTš1° Ì4’1ƒ|6KÑð£f9Wã#FÔ§bg§y#bOw9HÃ5sLÏå):’p4NÐ8¥“sTÃO,Äð&Xמdtä*ŽéXäfÇy«ß¢¥·‹õ=ITÅ  rå7™î~˜f¿zCÙ§ï鸖ßrÖ&þ_˜×:K£HÙëì@BQQ„U¶•ª ¸6…lš § C[¤êÞÒp™ºÀñSç8ïL¢;·qG‹•Oñò«¯`ã£{ï½NLòæÛç¸<] ¾élð.1«äRc¼ñê1úÓ%Ú·ßÉáõ^~ÜïðÀÖ¼Ù«¼:ãc›/Í™c§)*ôlÝËÁõ~þùlžGvµâË ñ®• [›àí“ï0Xô1ÒÕË]wí¥Ë³P³a2•+Q ‚ÑQcá1™LŠQ¥‡Oöt3fÏpúx?—¬GN_ =<‡änÖÉYú¦üòºNü H·ÄwŸ}“‡°5îò#S<²¯Pq€Ÿ¾z‚Ûc­tÇ,F6—a`ÆÇ3=]<%úÏ÷±¡Çæò\+)˜ v°-è'#B)›êTìäGÌóqhKŒ¿|–;:dúÉ%÷©ÊãªLºŒ^x‡×/O²T?òbì,¯Ïvñ¥{š¸tö'õíì-œäèà,áåÐ÷cÌ^àg}Q¾òD—Þ9Î¥ŽÛÙ8~–#§ûÊ|ˆ»¹»ÓGaú*‰ž:’ôÐI~rb””¥²ïЃlIÆÏãùsS¨áVößu{B!?>µÜD«˜eèü.OPôxðDºØÚ!H´´°y¦ŸÑTŽ˜?Œ~M3îµ± ·ÛÒsÖ$ÆÇ–+±–dp¯: €…¡³š‚oU¡³å EC±‹ OYH=„ärEJš$37G_ öný$å¡Ð¶u·çòà»OoP˜¢ßáSO>Miä ?p7ëGû¸÷Þmlj©„C"‰Nú2yÖ9a"7ÀœÊZäŠ6Ù‚ãVÍtu¹BÔJ”·Å½hªr‹.´†›yýUg—DʪB,Y)o%”æf1½A¶'\¼0E>Âðzð½xM‹‰‰®dábô·„¨½VìÆ®¬9UEGSU,EC‘R¬Û²ƒÛÖ'qxÀb2%+öárôÉÈ`?}J7nõðÆ% ¡zÙÓ’§od‚H¶ÄÖ ¹Š6"DyÀw¥Àµ\×Á±K8•¨–òþr[XðYF~nœwޢ䂈²nG”˜±päÑu/FaËí X(àã¨B ê¢g ÃKÐFÄ÷³©£Äëc%Úqq¤Äqlw¡CLVü0B€U*ΙDctM'Hš’ãR,Ɉ0ÞPMêG¯¸mK;~}EÕiM¶à÷9‘¢\À‡lÛ,÷«üYå¸|okæxþ\žM[6°Îœ`P€?¦»C§ÿ\vd-žyÞÊÕY«Nh«VLOÔñQ9EQqk~ A°{/÷z'îçÁ®†?ÚÁý÷À«*(ž(¢ê8¬õ‡j17­#/q¥ƒªˆ$ýÊé)& œNS(ÚØŽ‹ë–¿_M-?»×PË%Êê¡«9€öáQý×p±Œœ¨m^Þy°´àǪo*¤Ä4-$UÓðüLf , Ûð¢®mzkA i æô8 ¥ò¢ƒ"TºzbLd-LWа‘ÒarrÕôáõ†°, ȧӘv„BÏÖVÞzi‚)µ…Û½:ḟB?ƒŠIJÙõ0xz€±QÐÓcXÉv šª3;9ä_£%b‘ŠXë&kÙ8ÿ f‰ÁPŒ6÷$—£ŒeIlÜŠ¦èèŠËÌØ3füÁ¢ïri"‡í ]#0™šž`¨hS°TpŠ™ éR 3a:!ò0=ÒÇßå™Ï"º¨‰á\‘uNM…|¶ˆ0´4Ç9•7鉆X³)Ú.†"Pu»!•Î5KL¦rèÑåšË ¿®U$—ž!ëÁ¸Ò¢\¢¼ÈîIž¼» Ç6ùé±1ž¾gi‰òþ‰<òçùÝOoaC{ðýß| :,·\p²‰k‹®Y,@ca¡²(°¿:0®F¬•M>“’-Ù²¥¿®¢àƒ| —ɤñ!Š´VéÙ²—OÎåðÇ’ìyà>|ºB°}=OE ÝFx.Mºh£ù ¿Ž-‡Ð3ve†(ذc?ñ¹wóØˆ Z|3ëc³Œ¯Û†GQéÞ¸‡_H¦ÉÙ‚»„‰ú5÷l$gKDólñ©¾ävks( ”Õj‹%{xôÉã#ç˜Èjìì  •m·í§%SBþh+z„±Ù2´ÛÃD”83ÙŽPøâ¡1¿†,éì{è>ÐôÚào]Ï'èį ´h û?ÂøÔGgJ´îI¢)‚î­÷ðëí%š:ª¯‰­w&e „oõî"ꑬKÏóñ ü÷?H$` 8) ¡·mà“5ãVT_Å󋇷’³@´¶°>äǯi‘&ò;鈆QuO=¼Ù\ ›8Æ¢hDi‹Ï‘sTî9Ô‚ÔB_À‡P}4µmâGß?EÂ;ÚÂÕ_´…Gb1ü*´?cr®PöyXiîäþO´Õ r*Z€§ÜJ(TR—LŽ ñÆ‹Ç!\™¼ÿéT*ka;óZ%ÊGJŒÎ)šk%Ê?®Xœ`N\¶­‰K64~ù,|új}Õ J¯×‹wƒN!ðòaÑ'Ê(?á ÒâŸmUW!Ãã/‡˜‘X‚Hý©z3= ÖôÐê R«Íc›ŒŒ\!«'ØÛîEªî!šh&ZwV$Þ´ðºšAk²ùý=š¢â DéÞ°›‚y‰á¡;vÄñ´×û¨=A:[ëgšZWl0bt.Z[Ñð…h÷Õn†î Òѱ·àpvd»{†7@«·r3Õ ”h]²Dãb>’ÑŠ§KV|^A:;΄=±¦šÏHJI1;Ëðè$›Ö·¯„†êþ0ÉÏá!šH.¸°„Õ桽Iò²¼V±7£u‘ƒÊã Óé«Û¨‡i^RåBЯ»°´q„ŸíwßAÈ£Tyß(Y¶,—(—š¢+•(·™Ï$)c­DùÇ #)ë6.-$8ÿ)ê·]‡j™ßý}ëã†;ú$ \Ìü,/ sÏtW‡Ê©X[åj€-;v³jZÐMi†„F÷Æmtm¸ItËÝT21ØÇ+}iÿÄBÆê4¯†W“ÎÛç7Þˆ<)‘B§½g=íu›o5Ž ¶-ùVµD¹ü—ïöáTJ”;rQ‰òúñâ&–(¯báUÝ'—¿æp¿ùÈ™ ‹}˜Õ_–j+|)õÎÀå±BVÇü•}~x±ª Ýúld|‘V>ÿ™§æ¥rÕ«Vp9‰êýÞ;‡Õ¥7… ZÁj¾Í‹n8ŸY¼rƒ®™Ñ.æÄû}ÿWê‹óYÝ Ý;îä×¶³à{x/¸iÖML\“R–?r*%ÊY¹Dù‚€…›\¢‰"ÝÇS“œ/íÜ€¶ËòåùìŽ%äÕœÜÇÏM¢wlbw«¿ìH¾žp¾$4.Qî:¸Ò±§pœ"¥’ıK νÙ%Ê5|Ñuޱÿ™óœŸ ñè/~‚ž_hiÞÎn/€Tóx/Ò,Z´-Ä¢©W¯]×dÌ-fH™:½Ý1NKÑŽ“lm!Þ ©™ú&A¹å£¡*Ä9%fç²äMO(JÔ§]d2•Å ‰ð$èéH2xéB9¬Ó±ÉÎNðV¿ÅÞØÒ•\ˆXkçæfÉm¡Òœˆ£J‹\&MÆtñ"D}*3#çxë‚z7ÉXË*1;3WYX½|Ñbf–¹‚UÎFŽÇpÍY×Gs@¥Ï’•>"JžÙ\ •D<Šâ˜¤3&±D«eÎ6ðË9Þ=}–™.GŒˆOÅÊNñF*Ì#["(Hr™éÇhf‰Ìä£“ä ƒ@8BXwHÏeÈš¾P” \šÑ.í<3sy ¶$ŽÔ\JÙ,žhÅ6Ée³x ™²ƒ;j”Ñ®¢–f¸rñ,¥Ðº’Qâ?š¿•„o½z†ÍÏÜŽOõÊØÇ Rb;.Ÿ¬+Q.‘dòs½ð Â;@Èää•·)8`'P)Ùr“K”œüÿí›c|±v!ôŸã3òï¾ùýÊUþ¿Êc»;—>×b¬•yßX\FNhWUwcõÚwyT|BbŒ·Ïfhji&èÕ²D*mÒÔÙò¡‰†Ê ¾ÎË#1v­oGRLO3xú(NçnŠ“83›äW>±iAÒU©j¨ŠRW€¯n¯ç{?;M÷–n:â~×ebð,/ èìµ9qú ›ïÜG¸˜¡dë+D¦Hl³œ‡1;5Âpi±âU^Wò¹'Ösöø ¦»w’>v’öM$Ôï¤lÖk)޾9ÊÓŸ½—Ñ+§øÙìF>»Ã&_´æ;•cjô"û¶ï¡-â)›ª\ká1Ò¡X˜#[´˜»zÓ™N_æŒÛÊÆ&Ͻ1À}ûZPe´K§óoåfùÖ¹4mP:Žóa<Ù^|}„í[½ñÀú§Þ•lÙÙÉ }y­e´ÇÙr°Šœ`}q<…¶¶Nöö¿ÈTv/]á[?ýóf¡¬E”K”÷g¿Oª8”’L&Í¥Ñs<|Ïa:#[É۳燑ž?ù¦–(—8–IqÁuBX™iJŠdGÍÎIRééñÁ IDATûÀ&>ùàF"ñXÙ7ùã¯_á3ï#(=rSøƒ?ýs¢ÉîÝs?ƒÆû_žÀ2‚ônëDµ"¤;‡øÚoóÈšf0Äéc¼öÃ3”0ÙýÐ#ôéyªñ£|åkßÅ (hm „E4ä²ÿ;ßÄÝû0»úÂ$ÒCÏЙ ’6EÛl²XÌhW46íÙÊþƒ‡ù÷o¾Jtà~>±!ˆ[ÉñÌ3_Å Fé^q/ö'9zò ž>cà«Q…ÀŒÄˆ\ü>c±Í<•6°½n.¿þ]þð Aïš­<Ò¥zø¾ýì L#ÀÐ}½=@8ÖÎùþ³t­ØÄã;VR$™Ù o_¶xb—~WÔ´Û!`}„ÑéöÜ$B̉ÿH× TxŒrõû¼5ý6UÛ⾕_$j¯ï{£ÕN¢üæ"̶iLÓZ¥ø`±l謼Qèì2­ø­>Å ³bÀ Ë•h†Qgp 6Ä ˜w<9‚]kÙÄñ!O1äàF~"܇/4‘Q±†½ñ~îßé¡¢$ƒ:Šª-fè hÛ_+¤ B±¸ÇN6¹EÕi ¨vï‹°¡ìb"„TP¬v=ø ÷Ø’tÈ@ ôñÉÏž¢/Ðt“h<ÈÚ‡b“-QTƒ`$HPU° ‹øÐjÚ¢A„кç^⃕º$w“M»£§,Ñ Õˆ  ÷òTo+! iÈd'扷kêŽ!„ºh›ˆ"ÜÄhÅuvíJ°±ì kÓpñÍOò ƒ.(f JÚÜÁ§z*¸(¨zˆd¤V/Rf€@Š ÚúÙ·/FÞ„£1B†ÆÞ‡¢à€¢ê„"a‚ªŠÕ±šÏ=Ú‰f…±nÑ©,æÆû ßBîøG\_¢\÷O5”‰ŸácŒé’»¤L^7t¶³¹@½é÷íÆ î°u÷½¸Z FG ©PÒÓÕHÉÒlÖ™mbè"ÐÌÝæÂ÷tº™…mM¤‰6æZ;<@[W€E{&ÒóÌg)%Õâ,ÃãS¬YÙG"¸ÀXîXt ÁXš`S»ŠÑÓxÙVŒÇ·¶1âzøÔt`š·1’KíñDŠxã}èíMŒv‹Ž:ËYJ‰ï9ä¦'¸¤ôpo[¬6JÑ–²ªcɶ%ŒvÅÐÝð¼J39È}íóáÙ×&ðúª!K¹N-GÑÂ2¸^è,}4U¯ŽÈ5”otwú²cmžÿz\€;óŪÛT¨„S½<ˆ37{o×[[ v¬fÍ\Ñm Q€Ð,l;‰ Q_Syo,k5ÜËšy·†‘çËšX`É©ðšªsÈTIE ­%Mþqǻў–8‹å¶_†kõn§Å®Ú”Ý4 è BzŠ6¾P°,󮈭Íïzö$¶×ÁFPÕ;ûâ­Pl±¾Ó{nÞ?¼†VÑ ¢Éôû>N«±[ŒlÉá¹#œ™(P®ÏIËz€ƒ"$©P€'7·±±/Œ¢ˆ–Ãø¸BÂXai講™ó Kµ¡–ó·Zyü*W†Ç¹Zp $ÚXßDw ¿0§è¤:;XŸ6ïèqÅBnÂÕgµÀÏLÒ·~7‘è*á|wö¢[ÓíC¦äpz,Ïç÷¬dN}Ú—à¸>ª"™*y|çDŽÃÊ|ñáö[Ê[ÓÂ$`»M¿ôɽô•™¹!Ç’ÐY Ù| ó“¡øÕ"%ÄÖ NœÍR©êxÕ +úÐ*ÎNWé%K#wd…‰Cÿ„«g~@ÙxÏ5´÷‰®û¨¯¬…n ¾_ËS Q¨Ójp}‰í 4’&ªˆpæJ–Él…ޏµ°ó»Ê”Ïáî줴Pà ÕfåGj¹5‹EÎBèŒÜ,¶Îà6ƒ™äÄùX‚ ¥£*§‡Ç@*´w$îx‰c 5¹ƒ¡}ŠaÚº±½鎾úÒZhá¦QÓ†ªñOTQ“=‘Eàù>–pÙЮ¹’KÇ\4ÁüÈÚ§03ÆT¦@Å•èm©(º›Å6ÒDßÐä'ør!#$Ì/Gø«\Ëñ,–†ÎÞb·Á¯V({ ɨÅl±JÅÖÑË‚¡ ¢Z!W¨â'õ;_òCºxî ®ÀF×ãúÇW:¢…»‰®ÖÂb})k„9)¨¢r1ãÐ$¦¦Ñ8Uk!<òcoó~ÿYîäA¶Ä=¾Ÿ±þUÄÇ^`¼÷¯±{mæuäÊoÑ@˜hJ>z”Ù”%€Rý49 a„b,ÉÒrËpËe|â=bRšÉR­HÛ& £j’±L_†ï‚ùQ‰;ù ×"ÊÇ1’Üñ#¢Zh„d!§º0§­×Å¥TÑU‰¿÷haßê,£§^dàÁGØ»{ =»¯ ÛÉsy¬Ö眹r”ן{‰QÔ`ëö<Évñ&ß|ñYOÅlÛΓ»Цóíýg°=‰éâg~ö³·¬ чÉõBgö¡ Ñ¾"Ø=cªâ–×,ŒxŠHv‚SsDÛ;ˆG-T ΟÇÓ,:»;ÐîxÕY@èhÆ*âÑ{z>jÛ*tÝx÷ýZháNß”5” 6 ¥{6þäpËT]±j-šŸ®ö«y²£çX³égI… „3œ@/Wê2,.g½Èw®ôñ/ÿÇ'9ôÌògò2ík_aTìág>·“d „Ìœáů=M÷¿IŸ6Áɿͅ‰Gˆ ÆnNÉ´…ÍCÃ¥<œæg¥Ð$$¨*í¦‡uRžb2¸¢ÁF.…åMKÔÏïXÔ8 Õ¿Mîõ(ó×Þ7·p—@Jp=‰çI¼y-‰_˜Å;ô5ú*g°b r#§3;qÿôHmÙRÑŒæŠT<‰µ ]Sÿë’Ÿ­Û¼€¤k ‡ÀÎÐùßý&Ÿ:{šÃÏÿ^7 ‚¸aúÓ¹ýëÿ¿îaÂ8eý‚Õ¬ú9Þ=gó‚ §ñxõs5ß÷ Óxí‹oê#å‘H)q=* Ñ Š¡€ X36zö*êÆ‡¦‰?MõÙ߯¯6ˆà “dÿýüܽçùÆóOóݬOÇú½üä`€@¬“h0ÀÊ{âÓמæ?ýÁ›¤Öï㿸 çðŸñ½ÍÕ¢OïCO±yÛbëÒü›õǼXò1“+ù­ß^K”Ö ýŽÂ-2¸ƒÀ"+nYŒÍåÚð8fª$»»X™4N‰#gÆ‘V˜í´ßéÚÑ󡃒r9Ǥ¤/ªQÎLræVÓˆÞt¼úÍ\–ĵ«”¤BÈÔÑÄ\£&æ¿Ñ¾ÕÜ/NÀý)’F-÷Õ‹Çxy8ÈÀŠ÷t'ˆ¨’ñÃûmÛÀ–®Ï¿pšµ[W3˜®ÍgK)ñ«9¾qt–zéŒh7Ô R‚ï2œsi ›óõÉ-ÍrùÌqÔô%,Ôeaãq\N:À‰±2m÷?Ìõœ Ó<óÜ~üH÷ïÙÁšÐ»ÕWÉä;o²ÿâ4^Ïüì–Äâg$AJ›ž‹¾mXÙeÙ7IJÊãïð££#L©+ù…ÇV¢á›¼Â›³¶¯H7”TØFA Ot¹T}wÞ¾Ö`}ýnÆþ㯢ù×ÈÍV ßûF¢AuVJP 6>þ%6<þ¥Å^¹’IùåÀ#¿L}?à‘_âwiÜX@|3¿÷¿ý_ E-ÍØ; sÿM\/tv¡—¸P¦pëݯ䘵5†"\-7}”R†Îžv„]æêÕ,©¡ø]±¸U)æ8wîÇÝ~]Õ†Y­’›œ`t|‚‚iŽÅˆjÙlŽBÕ#Kö—¦uí2™L޲'EcÄ È:‚H@Gqm²® ¤Iʹ,yG!].¨†!K\¾Ä57Ê@GŠt£ïVÉg³äl‰Š’ŠpK¦ UJÙiÆKQ×£ê™ÌU¹69ÍDN æ*¬HÚ(B2;‘ÅŽÛØˆ$cë"S¾]`:[¢TÌ22ëQu]Üj…©lÛ•hfˆÎ„I>›_°‡&)ÏŒòò¹"[ú;èNÆH® _äõ«>»Á¨åÈp«LLgðP±Âq¦O)Ÿ#Sõ †c$C:}«W39ƤSkÜíR–+ÃWÉnÖôöÒqSA¬o5ýù¢–13ؽ.ÉkoŒP²ÝùXzÅsÐÌO³CÏuzpº¬ü©ßÁLv-ì¼Ü¨k –‹µ_îv[®áNFÅõ›Bg%@ äò¡³ Ãüźñ· ¡¨(©…ì©52»êM†PKS“<烬>øÌ Ÿåð±Sœö&ѽíìèpqJ^~e?.ú·îåÑÔ$Þ<Å…é2ÉÕ÷óðJ«Ö;m8R13Æë¯¼Å¥\•î ðèÅó—<^×U¸Ê+3Örœ|ë×* ë¶²{(È·Þ.ñä|ÑýÚo=ΕJ€k}+عs+}M dµ˜áÔ[xk¬@¤ç>½w=ãGðÚ•UÏG®Û…]žåôÛ¯³ØÁ“.2ÕI©h3~õ"'2 VÅ †ËôðYž;P!Ü™¦=¢3yþ0Ï'ïzÌ6â9%Æ/œäûo36‘EïÛÆ¯<ãÀ¡{ì 0}ê$oŸÊR˜îfõºm<¼RáêÈ$Ö†}Dt!ò“ùÖ Çñô(ýë`wÛ,o8ʹ¬MÇОx` ‘hŒˆ¥1)kQ}³£—xãø)F ÓŒ°j¨û¦ž¬Š šˆÌò6ûÔƒ«‘^‘Ó'Žp‡u;es&ÏæG§¦P£Ü»s'[R!¢ášX˜{Ò¬;ºs¼|uŠ-)Œ°ž'#O=¼‘TRË·]ËL47 Øšúxâ:zŸ¨Îš°8ù‘"ÊMGCÕç Å­02å õ¦e¢%£œ8{_ <ïn© ]ë¶p_±íü̆åÉa.c|î3?IõÚI¾wì"G8Ê;Y`ÀàÃo³&U›m„¦›¤’ *Ú$“W'©lÚ„zñ  Ÿpñ"ë»î'æ4ÕÍŸäoöÛ|å8‡2«ðÒˆ$:V°w‡ÃˆèccOœ€²túIÑt"ñ8í®ÊôÄ5.f{90–âÑGvÑ-¦ùú5ÁÌô$G†#|ù {¸|ìU^Èèø™‹€¦¸EÙÙjvÛ ³¡=Ĺ³Sm‹ÎpŒuƒ²ÙW³*êγ1·,_Î÷¾TEGSUEC‘R ®ÝÈö¡v|O'r˜ÌÔ¬/ë™É®]¹Ä¥ŸGÖ™¼~^C¨[:Jœ¹6A¬PeÝJƒb}4"Ä™J໾ïá¹U¼rUÝ-×/VR.(J‹tDgjì ®…xüÞ6Ž«U!P¥iÒ@ D­L¨:ìe²J”ÕÝû3š¢!ê YOɺ2¶v$-"ÞÑÆá£'ˆG»ØÙe2vÜdpí†y{´¥Âˆjê)]k§VQ𙟩:ÑÔl\9ÅwfV3dé^³–OnL hxÎÔ￾V3÷ßBŸf±=1¿8/ç¦ck÷59vy›)(Š‚"jÛK¡Œ÷ðÐÞû±TÅŒ×ëHýš†äÒsB¹ FÏ-´UÏÇö½…Ä·Ë®´KóR´MÎB6ü}ïQKBQ@JlÛ©5.Ô#h¤‡íx„Ò‰»(ÆZ i öô8yÓ‡EiD…Jß@‚‰‚ƒíK@C.RzLNN Ú,+‚ã88@)—Ãv“ ÖuòÆKL©ÜgéD“AÊ—.qE±Éˆ0ëâ&WN\flôÜN{7MÕ™œa2¨Ñ‘Œ` —³ÇÞäMw5}ožçPñœRž’ë"4“.f¿†¯dpü.VN+Ë•±1FgJ`jÄì f;6Ó¸–‚’|&C¹Z"“Í‘¥ŒÙLNM0bûTÒŧ«£‡ÎDˆ‚¾8Wóö(ªŠ(d˜œÔÄõ81ã,—§«¬ëµ¾‡k—0ÂIR‘9Å5_’hЖôL\¦âúŠ@ÕUÊù,³Ù•ª`*oÓ1ÐIn| \Eäî©è-|Œáú5ÉFØ+öÄÅÊÜ÷E¯˜Ùwφþ_ÿ“WJTÔǰ+“&ñ +‰˜Ê|Øä… ˜žcå@¼és'ó©Tlª®D5 ‚ºÒ£PvP4 ©×Î…@ÕD“ƒhx¡”’üÌ%‚‘T=ð>Ž]›²+f³EĈ›»X$HâÛ%²EHÅuòÙ¹Š‹ˆ‘ ©x• yEÑ0¬(qÓ©Ã0ÑX,ˆæyýÅŒîâ'‡‚øN•|.GÑÃQâAÜì EW"”ZѰ©k31“EÑ-bñf½QÏÉÝ Ï)“™Ía+&¦ª`E#hå,³e)4´`ˆ¸¡àUòL—|t]EhAL;‹kE‰0Y’Ä­Zã9SvÑ ƒ`(BD©0“¯à Z½2ɱ7OÒ±i Îì(ï\rù©ÏnÃÎçì11Ÿ™™ªRÅ EIX*£ŽóÂ[|æ'#ªKìJž©\TP8JXó(æsä*F L2j‘Ëf)WBJ)+ÃÇ ÿ›/ïAú>,:»HÊÔæMOCÕÜË¥UÑÖ´íŽÚýV˜k!‡…i.M#º8õ) ·5¥5é „™s@¾ksíÚE zŠ­ÝPu“xª­)hzIQ4ƒÎöÆÄª‚H<1ŸZUÓ¤Û›rÁ†ãt6¥áÐà z•-³³~RËLiLJ˜6³¶“”’ÙŠG¡¢Ð¯«øŠ@芢§ˆ-zÄ*ÉÔâ4²éžAÄÀv]|CÇÄè,Þ'šH/ZÿI&–(è£ßZݤ3Ëñw.1–Ÿã)Xá$;6­$kä@h˜M6 ¥Ý8f Jo áŠŒ_¥ô¨¸6Ûwlf°=Ì]Íëü¨$Êßå¼-'øÁc)yhЦ}W¹í–ä>àn#ݽ>ðŠ)ác—fyñàez·ì ßTnϹ>D¢qÖô)ìíz(ÅúíÛ1ñ®½i)%º¥oe£+ø`‰D 6mN°©ñ‡†õ²zD+„J ÒΦ†ŽÂÝ÷Tià}Tå’ül-&`¨dG.aG:h‹ÝœÐ颇§ã]1š·—ã8p}žÅ<ûuièôM¿T?N îë‘ÄÞ/ƒ[!ëäçö³ ×ÍØwÙ×GËàÖ Öîx‚µ;æ~Ÿ¿¬¦ó^漢6¿î†·Îà¾q4ЭcaqüFÌz—úq3u¨ù\ Ço°×mjkWðaH”×Ï×téø‹ÿã_ÓÿÔ/òøænýá?çâÞ_ã—Ý\“X§n—¦õ†ÖƒEÄ¢º#êúEwa¿ì¶Â_ƈ²A šœ…–è2š_Û[“¯¿Ln™á±,³Ÿ@,NÂDqÊœ¹–A*ñt’¾ÈNÉk`pç²\s¬Mé(ƒ[,níÞ}È/Aâc— ä|ƒDÈüÀÜû‡ƒô &ÙÜ$ªIÆíg¼s›»"¼qø «ûèŠY×ep/±DSã.½*§§ú!BFM(»œçô©ótl¼Ž°ò® nŸ+gOòö•›öÔÜÒ£”›äùƒ§Æ;ذq-=1¸o½akØ<›MöhüÝÎMqþø1:ï{„¤©,}RRÊLpêÈ;¬|ðúuß¡03Ì·~x–{`sWð»|š#W}öíXOPS–÷&>,‰réÌðæžãÕS“!éÙ´—}›b;u˜Sß “ÞDÀ©rñÐù“ ¯0š ñèÏ|†{{L^úî7¸0žÇö kû'Ù–Ìrä?ÿ 3ƒ÷ÑÞÖÅÊ^‡¾pEèÚÀÏ|æŒVž¥Xæ¥hN±½Ðb …øÞ/õ6»üΈ~ËuÑÉN‘•Ö9~z†¬ƨdIv´£W²œÉѽ>yW0¸«¥çϾÍ!o ½ cŽÁ=1IÑ0EcDu\6OÁöDâ„åò îl6OÙ«-„.ËàV%å|m;¹ƒ»ÈÈåó û Vu¥i‹G0—0¸m ¹,y[b#5w1ÃLɦ”b¬XcpWì"Ó…*£SÓŒçd¶ÊÊdE‘ÌLäpRv¥H$±ÀàöªfreÊ¥Ì"÷t®„íJT#Dgܤ[°GD—”¦¯ñò©;WvÑ—Š‘® _àõÑ¿tŸŽ‚ÄsªLÎæðP1C1¦O1Ÿ#oûB1!ƒþÕkÈL¼Æ…9w9ÇðÈÔT/k:i¿¡£`¾ê;%f²EÊŽ$šHÒ$•bžlÅÅ F‰‡4f²y<×Cª*(&Éöb{àÙd²yòU3’ `Û³34’a¥[b&[¢ìJBѶÉMN0>1IÉ´ˆÄ¢„TwQŠZ:áDIÿ®ãÖ¤ˆÇi?ÿ*W³C ¥·5ªðÃ’(wÆ_âÅ·&Øò¥_aGþ›üÁ×÷Ó¶ñ‹¬h_ÁГŸá'îíç…7þ?„5ȧ¿ø ^ÿg¿É¡ÓYgh|ý¤ÇgÝC¯:ÁïÿÕ"Ä¿t™û¾üØ”ÈpêÅÿDï–ÏsßÚN¢–AMiæ£`¹31]ò–+Î7~YÜ^ ±äM»µõŠÅ€,É— ‚•*¡¸†.M"NW&ï’t»TÅ›£*Jj9K¡â½z–ù^>•¼ÀI¿“Ui“g_¿Ì¾m¨MÃc_úT]'s†—Ϥسµƒoœæñm]ŠW8ëwÍçàx˜‡‡ª{G²öž^^8Sâ îm ®WÁ¹AïØ—×öðªS¼yâ«vnâäw_'¾z4³Tœ0Ù©tkõj޾B(Ï…I¨n²s×Zú‚ öˆu…yó²;¹geª?7šjžRqq=§8Ë×OåØÓ#©” «.³ÃG9e¯à‰ÈÙE6{dφ’ÍqÁf4ÍŠµùþÕ‘nÒ·‘þáH”Kì±SØ¡Õlé i»ŸóÎL¹uBy}:Q Ñ¿aˆ´e2Ôcq¥R¢«¢·¥…‚+øïe#VéWciÒñ F8Àš™Ìƒ|óOþ+—óü½¿ÿKÄZC‹E@Ñ^²Â-ñÆ‚wíÜ¿—®K¯ä9?R¡ê T!š†4ïqà#€   ´EMJU#£¿»“ŠœæØH–KÙk\6v.¾Ž\F’«˜™äìÅI„Ÿ'“³ðÌ …£LL©Dó£t­ 3R&8xý}6c—q¡àá70¸%µÈŸX4LBÄIÇÃó£ŠÆéŽJa–s—.SQlfrr•*×Dšõ=t “CWåJ‰ñjœ½ÝÝ0y‰ó ¥#g—i‹ ƧS¬ÖLÌ€…¥*µçç»\ʘ¬º§“þ„KøÂ OÔr%˜Á0í‰ #oŽr…{ ª­0VH'ˆªÈr¢g0ª÷ƒP$ÉÔå1„줿;Â̵«\7‰ AÉ `»K'¨M+H2fÖ“Š…êºyªiñµôl.äC¬ßÔMWœ/ä(%èïn§xm„ÃceÔ`”X\%Óˆ¸| F 2oé{\.“ÜÜÉŠ®„€ÊL󓗧Ǹ0ZÀ¶ËLÌÆ¨vXèVˆî®ªþ$G]åÂä5®( 6ó¯÷Ž Ã0[vê$ªÛç,>‰rÙ»ƒ´’¾v§vùX IDATŒÕ•CÌhm<ØiòNL29r™ mz*Dß$@è„“mXã/13ÕAº#HA1¥˜ßNº•|†pª‡¾®iÆFF¨.ÛnaÙI𦪵x[°$.ÑPoÅ ×Vœ„ ¯ÇÂwmASCqU\Ïϧ"Œ;?=iƒ[z ¯¯ªh¨Š‚¢¨(ÒÕbpÍFö­íFú Ø³\ž”P׈H®]¾ÈiÖó‹ktfú Xlé¨pðÚ$ñœÍæùzÏxAúZ ]ßsqÝÊ¢ô˜þ"—$)òuƲÁÔøÞ¸äo|¢7sn~M£¹C.„2ÿ]¨:VqœœcSÇóS4U¼úd=Úgnm¤¶Ÿîhã»o¥³-;; Î)&ƒ«ì¡i n¾¾¿p~¡¡âc/bpòÐz…׎¾Ãw&vBt¯ÙÈ“[“ ŠZã“˺ÏX¸¯æè«ÅöXsͬœoµÄÂw@H¢)53E«×…†u˜ùÿŽ3÷vÕ¥K|)@zœ;x„üÐNö®6963€ú(¨a‘[±\Û`3UAJ»v&YKZäK¤ôÑTu~¡÷¶áÃ(ôŽ}<´}’§Ÿù#^Q»yü ?϶DÔãkyú…òç—¯²»c° %´Бˆj_ÉS[÷óÍï=ÍÊ‚þ¿Äg×I÷b¨é–˜ºð Oÿ×3H#ÎʽŸ!Þ°‰'äÍWöóöÙ+d‡«¬yüAÖ¤ôeÜ öøo?µmŽþ5£Z<±-ÌÞø>/½¤°mßc¬ëìcÃÕCüÇÿl“èYÇc[B<Ì©±ÏëS!åüGÞ9=oÉÍ÷qïÞõüðü›×mz¶ícOÚ§šä+þ£iVoÛÖ$GO¾ÁÓg c5НZä¹ç¿‡Ou»`{0½ÈfOlˆR¾x˜·F† ¼~É™­<±µá˜ž¼ÄÆö­Äo£Ìÿ‡&Q.4Ö>ôÿxßS‹Î¿âñ_å÷gÉ>CŸÿ]VÔå–ÏþM¶|vñ¥­Ý¸¥Þ©I±rßßâ_ì[¸±pÒ0Vp–”ɦÐÙ« EôýúWþ¡Õ·éŠúÚ…þή6þÎîŽù^ÌÜõSàS.ÛØ>„‚&š }ò¥ R¨X£>œ¼ÜNµÈôlqâ¦À)-epç²9re-#Òð+³Lä\P4Ì@”„å2“) cŽÁíΰÿ¥ã”ÖìäÉ>k^Z<ïÂÑñ€Fnvš‚Šº˜Á=>AèñDKHò™Yr2XgpWÈÎf©K«1¸õJ–™bÁª3¸«¦ò.º©¡hA¬:ƒ;ÚÀà¶‹9fË.ša Eˆj¦³e© !´ÊG¾C÷æ{¨Î\ãíË’Ÿý‰­Trùy{¤#VÁ==C¥ÎàNT&GNsàä>²‹˜!p*y&²„jŠÄˆh.Å|ŽLÙÅ DHÅ,²™ •ªƒ§è$qBÆõÜ5{tÅÙLaQÊHU3I†5²Ù%GM¦k’jý^­P”DHg¦èP=*¶@õ]Œ€†W..²GÜòÉdrä+.f4AÜ€jn–™ªDÑt‚‘ Qd*_ÁEAÕCÄ,]ÈSP "±(AÕ%›Y\‡¼ržé|¡›X0©ˆAvì"‡Ž]bÓƒ{i êõ‘¦h1¸[¸.ÞÁíKÉÿða¾ùN¶q¿|åø—Fþí—ŸFÖÞ›6¼— §X,âà …HhnuòCÀ’Þæ{=ˆD7Ctv.䄲¬¥ îx"E¼‘ð«·71¸¡«³ÁíÙŒŽ\¦ §¸·Ë¬1¸5“xª½‰Áݶ,ƒ»«£}ÑuFâÉ·Eª½Iæ"§3´¸H×âô.*[ŽÁnRÐ ÓÞ¶Ààž){ä«*–©ãi*ª¡"„N,ÞdT’é&w÷ öZ*އo½Æ»5j î†ã¤’©fk\‡Á$"%²:ÎñcosqfN–_%”èàÓ{·‘JH7¼4Z,E¨áômõQu¸‘,QN$Ó4Þª™îlÚ&JG`qI `5=W}™:”$¸h7ÇWIݳ“ô<®åZxÿX6œüº¡³5ôÒTûb–ú>ªãHx··’£]¨Êû׆¾= îÚ ¹êgç}QÚÝKJ¶÷òäQ²UI°{ˆO¯‰`*ï~?RJ„jkhh4?h7«“½u²·ñ‡†)л§÷-‘R¡­{`Á¥¿ !ïFœ›FÜ=6háv!WYºòïf®U=F³³hV]#Öœ†í¦Pö”Ó²°4¤Z®à*:!óö3,TÕ|÷>B(šAg{z¡à.}_…ªŠ¥-ùá]öû¨šÁýÑâ½9RÇ•LdªKE£AxH›ŸÂj9Œ/¤„L³³¾Ì¼ü§#CŽe3å-Â-U¢z”¹Sâò•I®<¬n b —‹.“ uqß`ì¶FCÝÑÿÇH§æŽ¶s Ld«|å#躂?é¬î ³kM‚ö¸ÞrcÜpôÙÌejü"š²äÁ­Ê}ÔP™žÂ‰¤Ø»2À©·ÇȆ5Ì B{ÂÄ–by§ÔB -|àð<‰¡+lZ—f¶hã¸>ÓÙo^ÎpðÂ,ëñ~zÓ”–ÃøØB²x 0Çfjn§›Cg{º®§~#¨–ÈÛÌùJ…ªª2”ê»ïßB -|0Ô¢]2E›Uíª®¤;nำ%‡o¼9Å#â¬ï‹ (M£%Qþ±@Ùñ);KˆÄ¥úgËI”/‚ö拌x'+6ÇͬûZ¸…>|HYa¸>œ+chPµ]&³EªŽä¹cS$ÂÝ)«aŸ9…]Ÿâ $Ê#VM×ë½Î4R`_´ÏØ¥aÌtšâõ-a‹[ÌðÜÂM ¦±¤ØcŽ‘[G“³x?Òä°ðè%¾/q=©/h/IJ¶žw -|8˜ãËÚSƒMýIªžÄvStÇWf^8ç‰ m±†™YeöÒ[ü«¯ž`û[YÝbæâ •.´ËÏ3Þû×x`(Fuj”ɼJÐÞÕNÀÏ3>:I®â¡X)z:£T¸2<Šã Œp’þ®ª² Õ536ÊT®ŒT´uu7¾úþkú¿øE¶FøaiŸ»É÷àØÂÜœ«Ÿwzûa´-šsRÄ{[³@:ŒŽN2^’¬]ÝM¤.Ü%4ƒ l%%n¡… Ëô¢^.˜-ØôFÂèäJÎ"g!+5‰òþ=ŸgÄ5`ízdeŒw.×f¶g¯á¹§¿Ê±i³mýÌ/°G¼ÈÓñ*ÃI`à ~é§7˜<ÈýÅ lA¸{¿õë_¢}.s¦—åÐó_ç¹£—(»výô—ùž¤ôY:£Þ ǓØÞ’i¨ë,#`*†µ(Ÿ…¥)ÞË<”0êc¨©Xu.)k¡…n/||¼y=-](Ì}æŸ03v–r¨{~íBóSP¾S¦4;FWoK]X—XPN©râ•W8Ö÷Ëüóß[Ëé—þ’?øwÎÚŸ.2] ²~ç.>ñ茩Ãüåïÿ[ò÷6+ä.¼Â™ÑÏ_™Â …E" b^C”ÎðÒw_fÏŽ¿öQ˜êc Û“8K³½ëšÅ¢q„xO,èÖ$S -Ü)€ô}²Y'YÏ‹!27†³ÿ+¬MùC¦®Ryé±c¿Š‘è@1#ĺVñêÅîHÑÑ©æf¨zvƒ bü¨(s2¢Ä7ÿ¿áêµaþýï?;=íhá6>ûÔ/²"n }Žî(z]ÑyŽg«ìþ¹_"uåk”Ì Ÿ£/ý)ÕÝ?1ï,„Y“(¿ü/¿Ç˺ÃÖÁ8“§ V¬#…@(zM¢ü»/ñöÛ.§ÏŒÝò0Þl%˜ È@}þ9°VsÏæ.F3ºÂ„kƒ\xû}»„‹I4hPš˜¢\©é™Ö$ê>Ýžn€%¡³r¡¼Î"XÿÌCWú--ZÌÅadxœ 36=ƒ=ôEtd9Ï‘‹“H3Ì`V«´ÐÂíF{ÜäWbÂ9Ç÷L‰ìX•DÕ-Aæ4Nu‚b)‡WÉ1÷×z—*ÑÎMüÓ¿ÛÆÔl-ªwûc´¥#èƒ]ô)‚+¿Àÿ´~Œé‚ÃýŸý2ŸîhÃ(ŒQž-Rõâüê?øu:S!´]÷2<2†ã°¢Xó*kոŧ&ÈV|ŒOü6¿!tC|áw£ 5Èg|‹èÝZó.DeùÐÙrý3Fó«õÏ< U`¼‡tvNnš¬´X7ex"G܈ÕuV t‘Ïe¹4V¢c0Ôê/´ÐÂmÄ\$£ªÀ—ïçôHo¾>ÎèdÇ ’딳'¾åŽ))D÷þF²snçZîx¡Nu^¢ß¬ …¤z†Xôs²›æÌ8z”«š%ç.Ô$ÝÕGº©¸sÅÀü¿Ûháva.Œ  ný3yg!šþ.ýrópJU0C¤¢&/ÏRv#¤‚AR¦„j‘k•¥™äZh¡…ۇΤ‰”’ΘÁ_½x×ó°ÕO£èc$e/ù¶vîýÌoa&»vú1’¦iáXžg±¤DkøE”%« ï¡¶ÒiÌáÞxg†jÙ!ì×Îàf/Àê¾p«¶ÐÂmÀrZ?sÚO])‹ßyjUCžð{<Ö°2¿} ?~R.[?\_â- (ðëŸyÜpÍ" )X·:[‡Ðƒôõh¤ª6§.ç±4çÚœ·‰$ã¤nc†¯Zha)–*ð¶ÞÁj¨z’ª·80Éž¸X²'.\7tvIØA-¥ä{9½Ä÷}<×A‡ j‚Bf†‚fW$…’M$h´ªk -´ÐÂGŒåF¾]BÚåëåànŒœþÂ[…@7ƒlI˜hH\¢ ™?.¹Zh¡…î.\OŽü:Yò®¿fèMßᯚ «1­ª@·‚$­å¨-´ÐB -|TÍ;Ë9Œñæ‚Fç`Áâ´Ù–®ÐoUîãFΠå(Zhá®ÀœL¸”øõÙ†9ÐÚìÀÝ™¸…¥XFê OSDTCèìÜØû]ûàÜ 2ÉrîÚý}飼pÊÆÅ~Ñ4G&A6$k–òºsh7ºÙH‡\Î Ç}ï÷U¿ŸeÓ–ˆ÷x|ÙÐÛHDƒ)䡯ó ‡¼Ë=·åì²ðû¹Å¢üÙ »ÊÅÍÙ`G)›ä³ÂHoéøó¹Ûð®K•&ξÆ?ù¿ÿ+ÞǯÿÎo0ÔB[T?><´"µnn&n–ƑŠÂÍ? úká–Ë2[ñ ÄâôÅ d9Ç¥© . áTš¡X3s¹Ê'qËy†ß9Âwg:ùÜŽ!z¢ÚM'¢¿á½H—â3Ÿéqˆ¢¯ûi’[Ö 5’òñ¯2;½ƒî‡ñ¦ÎRxë‘ÇUH;Kþj‰`W;ª¥^gÒ¯~)Á™aúµs$öí@ì‹/3sÄ ã§¶Q=þ#*é‡HôÞÇ}ÕBâüé3L^ö Š“Ì|ç%´îjÛVâþ òž´;¥[娛qÚ×°uEš™óÇxëÒ4Oapãv6tF±¨rzÚ¡/"¤ üò4GOžãÒL =½šÝë»HÖíº`(å&9vŒ5Û7±(Õ{}³ÌøE;GÆSiëîeEÜF®¢+f"¼2ß{u„Í›úh3ª¼5í³¡+ATïÓŽçŽc¸mÁ#?â’§bèík¶±µ7FH·.‚êÛ\Ω±ƒ±èbºxýz}»Èt¦@Éñ‰¥ÒD¬½kÖRyq².£+)gg™-Û¸(´¥Ó˜x”òfË.º&ˆ Ø¦²E*®$–L±´¦ÌNrsûoÐ~ß6PT6~æ v¦Heä<•òfpóxe­k%Š"À-ã^=ÂÔI’Û¶ìêEØ8ÓãxµmÝRåIÜ\_ „aâM^éVѤÀÍ]£ZZ‰7} HcÖ³úåiœé¤W#ÙÙ†7q§\5€Ù=€ðÊxÓWñ|J­­ ¥p ;—ÇýŠ=ì{ø> Ç' xfrI|»D¶©˜B¹êL¦®“ÐF2ré"gÕ•üõ{]^:p‰ÓZ=†MÜ|‡ñ¢OÕv(ºÒáh]m@RÈd):.žïŒ%i’r.KÞ–Á©H€j6CYúØŽO '¨Iª…,™ŠÃèÔ 31'ã²j×½¬:üÑk£ôDMT½ÂLÉA3ƒ$baT§Èl¡‚í8øZ˜tÌB¸e¦s#@<ÁR RÉç^>Àôšn:CŸ©‰YŒh”¨ug'iˆtö³jÝ „>Æ·Nä(UJdÆNð•?ú“E-ÚÏó[¿Âðwþˆ}Ðä®y¿~îoð©ŽKüèßäà¹ql­›Ï~éçÙÛ‘çýý¯’ÒK” yîÙ»“Ò¥sœ¿<Éž¿ñ÷øÄºù3/^_Ò¼… Ë/ñ i.¬[_ Å»­æ£ÖûË=!Y.Rtâ¤L8úö9Š"Èà`hIJ> à;¼ú­o3ݾ†Mƒí¸~}rA ¹»]ÇÅw+ÌŒp¥¢2¨Írð…£¬ß÷a×ÇÇgäåg9^Ãæ¾vé/Û”~–Ì_ý3òϧ |òï’ˆMûÖÓ?õ%ì‘qd²&±åN¼Ãì÷^ÃZ¿MH¤SÅwê–¥oÿÏäŒDãŒýå1ÚÝ#N¶ú±Uƒh–…&‡)û™“±ô¢ïAEJ‡¾Ayó:‚õãù6…çþvß_§³c/ží +T/¼ŒË߯’ç˜ýÊ?EÿÉÿ+g–ÑÿøïзïÁä ^µ½¶úH·‚DG±TüJéä°¯¡\ù¡Àùoÿ1æÃŸ£ðò+hü*ågÿîÀn‚Q—‘7Fèxh3ÓÓçØ¶a ]1ìY®šƒÜ“J ÿÿì½w”×}çù©\/‡~sBhd"‘`“¨H‰–dÇAÖhå<žõî±½;s¼Ç>Çǯ=–íµd%Š’,‰¢DSÌ$@9£Ñà ýb…»¼×¹™d÷硻﫪[U·ê÷»÷¾?ÏÈ’™rBŠƒe;% ˜Í±³9ª7UQ®+ +¤‡/sdÏ;t<ö8Ù¾‹üä]øôÛHLJ8| ›Ê†js5†pHLH,_S',¨\bï¨BÈà•#}¤£Èe&š¡Pçõq›G:ö ²\ëæ·þñ,_øÏ¿É/Ê]üþ³©Í;¼ó÷‹Sš/áVcÁ¥ò"+ XÐ}p£Ë=-#œKq¡7GÞ•PdUö¦Æâ õ§¨m Ï£¼nž³qk7ÔÓ\;É<9û¬…kÓ}é¹™Ô8ø,ÚË}ÔTêtöÐTç¡B@¤±©sŒ ý*kÂe sîÊ>ü;?Lxej¬·ç ¹L=±Ö ÐóI@ ¢EÊQ”Ò UM”HrØ‹^Yæ/?—BpÞ¶J”ïý5VªMöàmîÀS_‰„…"2q¹€tÙ‡MmM¥,Šê÷LE©ÉfÕ×O!ò0Á5kì4™Óû°s)¬‘a¼ËóMBòDñ4u`ø5Èt‘£`ó&L)„rV;‰Ý¹‡ÁgzÐêwQV%‘Û¿Ÿ\&‹ïE²xMŒ®Áˆ¨ÄÏžÁM‚1ÁÙˆ°rä³ Qbœƒ˜Q'É*^¿Ó§‹„ˆxо“ã§øþžQÖuÄ·T±Mà @6ø}xgÌGfš¦éìJžIF“uƇ»uM¼½½èí­†I BILúŸ$üAã#½Œ«-¬ ›ØCœ¿ÔMN.0–Ì‘²Á*ÑÊ ê*ʱì o#µ5Œu^¦[œ$Ǧ/dûÊu„Ô½ºrd†“IÜœKµ,°]IÕ©øqr½ï"îõQÈÚ¨¦]|ô Ýð“ÌZX.xŽu+PŒë¯qÿ¾BVYöÀ'ù@GˆÌ¹·8u±Ÿ†fÅrÿ‡ždu]Ùu TWrö¼Š Ê Š*áä íý'âu|ô³÷0þâ_ð!Iè^Ã@•5ÌPS7P%a»¸.W 4_­ƂªBšß¬.òû ¢”Á­z¨¯5qíÒf©wÀïõ ŒfqE1wð% UJK—¤¢m×u‹3=Wà&xþø÷Þ³Šç2ïÚ`+Ù°ë^Žïÿ {÷'ñ?¶‹Ú–-̻ܽ±§³Œû–Wž7SQË[ð6¯I"¯HEsÔ¤H,ñíOÚÚ…+@ÈEî~×·$ diÖvP¢ª¦!É’P•4¹K„ƒ*ù¸„ÖAØLV¤B 2ý䎿ŒïŽã©ŠâŽŸb´/@Õ=[ñ^.””¦ ªIQŠ4’4£ÿÉË ¢6?BÕÏ}Y‘!ÛCϾQbyÃ>J² ¡„Ê0›MF^x ߦáª$ÍFü»>M¤£ NyDÅqÅ”Àó[)Ò¹¶å7ºŽ,åÁu‹µ|Q¨ BÎÅÛØ„×êòlÀuV!OA³FÁ“Î_A:>Ž­û zLÍ¥w,ƒrÈäe*k< ÂSÝAÝå3 ëËÐTiʧ_¤3€Bò2j×nÀ§Êt v³ÿ²—_ü@=vü|i˜dL]E.EõH’Tò¤Éû¨YsÇ&66–#C=§Ù|œ=±ƒsÙ$çQhl‹pè ÄCeܽ}9ΨŠ7\ËÝÛ·âU$Jií"„ƒªHÓNyñÓq_$…pm+7¬$Ò^Áïþù«,û¹4lXÍK#qšÊ=x±Jú\.ÞCiÒ °²YÐ |¦Â¹¡ù°HȲT|7d E‘KðâX¢U¬YWMß"”æK¸µHÙ )Œ1‰†’$‰º¹[Wnpy,ò\ì¢?íP×PMHuºÔÅ™„¢{¨l¨D•澤yydK€ç÷þ˜—^ÙüÀÃ,ÓÇÙÿÆ>.vgxÞe˶;h3.óÊK˜¦†ÍµÄ‡.òÂË{é-¸DêñÊ]û^àåó#$… Ëtô"€%‘$þ?$ñ£0úæ_§r] ‘öéú«?@ Ê(åëè×zõ%’gÏQøö¨|è~L_õÜ_2Ðýþ¿Dô£1ô—¸øã,æŽÿ‚·6‚}nò…$9Å9%ø1›Á—Sž$ÃOÿ5‰C{)M’ü:J×7èùÆ+x:.‘nº›ØÝÐ~ÀàSÏ#*‰>T4ÇI’<µê“ÌJÊÏ2ò­}`k>Y|YeyúåÕ‚øÌcŒ|÷Ч Ͻ«V{´“\¿†8öZ]+¯fè•?côû¾òu-Db-ŒSõRføxh½ÆKo>Ç‹i‡ w=LmÔ‹êºúöðÜð%ÚWofûÎ;~ó0ûN’¼\êpO‡§¿÷C4ÃD–jI^:ÌëGÎsªw„Ñ×Nqßæ6jo?û¯ ·ÜÍÛÛhj©¡sϳüå+Yê×îäÑ:/ÿßÛQv®‹5غJªÿ?ÙwŠsIog×ËxçÙW¹h{‰ŽQØ´*ÓO0u˜o¼XA…0”îátøgyy +ϼÅWž âÓLŠ‚L–eäÒF^*c˜§žyŸŒz(¤’$Rqì}ßF0 IDATLžÃ½ 6WU³}y?_ýÖwЂ•¬Ý¶“­åV:ÉP÷V.ë€pr<÷ƒç©Ù¶ƒ­Í·)§ªdRÞºƒ_¨×)÷¨èžv~ÿ &j´’èš/ìé%k P<½^6Üÿ šÜ0Š$±|ÛGù?Öúh,_Å“ƒcd‰]¿úGl×Ë —üΧj¨Œ™4óÛŸ¬¥²¬ôûµTF}hm¸0¥ù’ƸåX ¤*B06·­k(Kõ_ü—?0ë×ü_R‰ML¾°­œ/n¯œzYŠ\¼x‘ÑáZÃÌ=¸d³ .ø¼ ;Ÿ'm dEÁã1ÐJ³9EóŒ6M…)º…4#ã)Ò–K¸¬l‘Œ'™°DÉäD¤FI\dÅÀôã‘,â£qrBÂã z($GM[8’L´,†OWŠF+gð ùTB !2ƒäãy$‰¤•£ëãâ œlÉW…^^†¢ }p\%\‡æ-` õãäl”Šæ’ƒ{´ d£hgq“}&4Œ2•pPÊÊp†zp²i„âA«h@Î’N!é*²'‚^Áê¿€ãHHF-RŽLg|¥¢©dr½„¬#+P¤ö˜Õ“ÄÑ.öÀ¬¼Š5Ãé~™á—.¹ù‹{H%¶Óð‘6¬‘Aœœ…kAx±ó ž{ý$-kV±ª&„(¤£¯¯“ËZ;–UÖc£cä„‚é ñH¤ â™<²æ£,äA¶3 'óȪŽ*ëD<6ñ‰Ù‚ƒæ  z1U‰øð¶¤,àÁµr$ãq.ßO·ÖÂ]›—c%³‚&ª“¥ øÐDŽD2CÎÃôz™%ï‚,+xC!LÉf"ž '˜ªŒ 'DZ=%ëXdR âC“Q¼”‰$ªßÏ(mc˜HÆIZ †¡ io¿zHC-Õ~——Næy`k 5^‡¡ñ4¨:p„&è:ÅÓ vß»• ..Ãc¡AS»éh(!‰D‚ááaêëë1 ãæŽ)æoü,„ßfBÏçéì줺ºšP(4õl¸Bð»?êáÙÓ‰™Û»Ùîc?ßûÿ~ö3Ó ærCÍ‹ŒÇ37ƒÛCøJÜ%m!ë>**}3¾Ð0+½TÌܶ¬‚Ь5*kfq b†bÔÎÞh^‡Jå ¼•sšõF<á™  ͼ½õÚ3ÿB¯nŸ}tõ¬¿å` f‰Î_/]ŒRÝ:û ž¼áÙMzÝŠÙ h¨Uͳ®CÕcκVj`Vï¨UíSƒ-„‹m¥q¤2dÓDV5d‰¤‡Ñk#³FH3CÜ¿¾œ^ÛÁÝGy¥—H(@ç!Ò9›°¡ÍžÃQ‚3¯EQ7{ˆ(÷̯o.ŸE3‰Ä*Ù°}ë¡''±.(=è:Ec–ÓôÏ:†Y1ëiTŒŠ9ñ‘ÙdEÃŽ1ëHFdö6ªN0ZA’ÉËš åèTšj¡ë.Š¢¢™^êjf €°p$?+·/'0µÄ•)¯œ[Áá6Â’Pþƒ…Bgâ nf¿'ªr³«¾ëI»Õ¡W²K%wÈÂ\ïŒl1Zèk;—©®é^/xÎWÜw~ß’$c.˜š²~[àYóa±êi{óÌ}‘ðV¶³ljçâ$Bó„ùð®ð´9ìfo±™¬$!ë16nŒÝ‚äÅ[ I÷óøîåLlL>¼+ŒßP§| @ñº$ÚÆÆéýn“ó_„€”5·QÄßøjïì¤åÙÊ¢Š9Òü†}—=YËÅ0MLU.Ø!›³A7ð\/‹ÈµHZDü u¶°rŒŒ%qŒåa/Æ T(äÒ '©¨«^4jñrô¤]ª^L6Ù<˜¦zmJy*­Ù%1Gòz®mŒ éñŒ…0ÃTT$=€VíeblŒ¬#cälbþ¹ÇZDK·>9jRQäóš® KÅÈ·\&FSSJþŸÛCЖ\áøB|WÜðý¡/)¢%,†é Ž«A`÷/¾²XhVwýò¼5deèê¦oÂ!RUI{¹¯ …‰§º’¨ ¬ ¼GÚb&½‚Ø™1žzc˜Ç··ÓÕçÌÌ—Žðô‹§ñ/ÛÉãÛZ¨¾NY<ž`¬ÿ?zöÿügˆªE[à4$$\2c}|ãŒË§7¶Ðè“p²}>+³am ¦$—Tõâ+¬Éë² iöîÙGÙšMli)GbFÒ¬­'OtŸåå“]ŒWíæWw”##p­4/¾ücøiX±™‡Ö”->æSy³.kú»©î¥YûLm7÷›Í¥QüCXœ¾8NCC”°OÃ-LÐwþ0Cáõ¬«‹àU¥éȱ©àŸ’¹dÉL³„Ÿq,d¥bŠðfÞwóʪΠÎRrã£|Qv¶x8q¢ŸqŸŠaÂÙM»1Ú‰kEñØ.CgÞa_ç89;Ïh¶B.Iç±sé›@2ô®Zwø ûß=ͰYÍæ¶~󯢇t7¯8Ìñ¸ÍÇDÿE^xú»ôTµ` ¶ú>Ú˜åõW^c0¶W;›äßù ÿrÔî-<~ÿ=´D=W_VŠþ ‡ ¯Ýš†(àÒst?ÇGó8’Áúˆ0ÁÅÓgéJæÑ•¬Y»œªÙèx%^zÎ'¶~ª¦àL8 ¼r| ²$QÈ牻´i ±æ>Ú¦3úæEÊ¢>TEÅp„+¦ÎcV’Œ×X“’JyMõÜ­–°„%ܲÏü9+‡ÎÞÕ³ë lËF‹ˆFÒM„QHŽÐ;8ÄÐDŠ }cÔZî”3i’Õ*—§«w€ña‡žÁrj}å¨Þ(rv˜ÃzØÐXK ” r%(†A°,H2[Àh¨’K"m¡šÊËü¤ 6¾(5ò0ÙBMFQ g4™&“Ž3žñh“I6³¯%;ÁhÒ¢²"²`á+á¤èé ‡P¹Sƒá\‚•#9Q˜:âdÒ€Ç룦ÚK6gá15T¹1$3G9H ^‘dxt„€QN,h Ü]I“§drr twv“*kfUøæ¸Ë–°„ÿèpÅ\ÿ*09«œ@Ò=’¬{oìýýà fËÛk  p³YŸÁ{ùšK²ÆÛZùÑÞS¼ŒIMyÕU1êO½üR°†M»ï¡Ú§âñ¨TæF#Í®k°8гô±sûùÉãt¹Y¾ùÂ1žÜ£¼¶]/Hs`¨ëß|q?)xQXTÕ|€ŽªÍ´ßåï¿ÙÏýÕϰºÜ‡z•bÙð­náíÁ1ªÃ&ÝåÒñÜžÀ5ƒ<´ÚK¹ZÏöÖž{í5ü­ìÚágèÄ1Î\ǵ ,gK}SV)%¶Öâõô_:Êwö$ùü/~ß‘a’ª3ÚyšW.©l¿÷~j}6JS˜ß>B¸ªŒÆ †¤úÌ)ˆˆÒ¾nß}ñMrZ˜–U›i Gñ›H ±¨SS5õåiÞ=u‚áôj¾£'›â¼ÞÈÝá`‰}¥ÀÐÀ#F=á«+×%,a ‹#·°Ï"SúÌ‚`Ô¯4|ñ«o"É«&‹y5™§>Õ²˜9¯hÍÕ3¸¯ ³2¸oYÈßB…s$ĬS›Uh‡¹‘5E%‹÷ó§ÿü—ÓÎô~ŠŒ˜‘¯xÊø­_ø9Z¢Ó>iF“¼EÓ±L“3ïI³U±¯BïëüÏgr~,?¹3(*ØÓ1Ðrp¿ôñÝÜQarêÈQ¤švVV‡f™Ž®œC2yì™1SÓwÞáôÁ×Ùë®á?oŽ!ϼOBàºyþõ©Wißµ™Õu‘’ mî}žÑͬNżHª™¦»éáŸÜNÂ-L0Ø}Ž|ÙrêÂ^¦Š6ÞÑP·&3¸GFF¨««»ù î%ü»Ád÷¥K—¨®®& e“ ¤,žüæ…išrÂéíù›ÏnÏõ›ES>i‹‘™ó¦Ë7èðýi? E¿‰ãäQd ¦Ì!‹ù6º¿ŒOôcä1CÊ3Å(IÅULmÐ@‘ä—4û¿ù½”M¯XËl!cÍ S/)2ٗꣶ̋¬*,[¹[-9ey^$Óµ ŠÓ„i\±‘2y’B~Ž¿‰hY¯¡ý-ו$·øŠivû´R4±ºeȆUžq]K b K¸uó]hª¹¨ÏbR¾ÞTÏó2¸¯'£ûæIöã T¢¨ž«o¼dÕ µ±aŽ)j¾Ð›\L:‡ç Ñf-¦ÕÓL!+›Qšê£ –Ý{ª×+h‚ç•®5½L&GªT^tòÔÅ¡w»ÙtÏN‚š|•û(p i.á{'tÚ½šÖ˜„`´ÿ4/í9A¾b=nj¤r^&üܾo=¦&,·.…Lœ ]C ¢˜Ô6Ö!å Ç%ê룋ÈA&1Âð„ŠSÈ«Šôh+ÎàPž@u%¾k.N>MbhMÓ ßÚnlW”ŠÌÍB®ô™…Iá)}¦àÑdLíÆ²¬­ä( a²¢)HÏP’°æGµêë«{5ÌL~{?Q^gfÂ_Ï#;}¼uä,1½ )ÁçÓ¬k¨¤&ÄéÞÏ… »vïBWýød›‰±Ô¬2¢‘€B*¥ÌB[衽]œSZxäN—óÝ]œ© R©áZ d\Úm›l:C,âÃT‹’<“.Ø8Bà Fð©.™d‚dA`ú‚³Êˆæ žP˜€&aç&Næée0ÅL8´­^OS@ðê©AÊ=*Q9ÃXÚB5ý”…|(vš±d–œm#±°Cc)P ‚¡þÉ:Õ×õn ;OV,Vf"7g,/À¶0¼A¢~ƒt2kø(÷ƒr£\¼tž‚§‰šò0Ñ÷*+®I–8çÎõ©iÇ£ÊÇ"3‘d,k£>ba?Še,‘&k B‘(^Í$RÕŒ|è–],ò4‘Œs©«—Ëj-÷´ÆW¶]«ÀD"INŽ?À#2Œ%2dm?%`H8…4é´EÁÅ ó+dR Æ34oˆˆ)ãä’$ò ˹ÅL±"Çð…½|y¿Ä#kcäÏ¿Á³—ãÑ6•±a•ÚÚ’4s%1iBÌrð¹oóºo ]?|•OýÆg¸{UÎÈ^¾ùå ìúÍ_ã!S{ÏŸß9ù‰Ëè•õù ïÜ¿—UÜO‚9+A©ÔºHèìŒUø¬]nt¬L eAÃ]ãd &~ÇF“eTEA[(&ó6„p-Nu;4ÜUG[½ŸsoŸ`p8Hvì'O'˜­¡}Ùj<'ð®ÚIGC5¾Ì»sʈ~dw”ãïàhÅfêË‚ ”Í1>–'Ö±™¶j‡TßkLÆRœ??N&ƒ€ÉÎÒ{ú^l ®2LÄtž<Æ©QF –ï~œõ‹ó‡öqh`‚@íjÙÕÁàÞW9)ids‚æÍ;éÙôy“==ŽpêÚAÒ—ÅhˆAþìÙt’¾ËGxéüZ°ž]wo%Òs„—Ï OŽ3æ[ûZñ%/òÜ;8z˜¶uwrwë5dƒÏƒK.5Âk{ÞÆ³½œå•.|›tIT‹$žêÕ<´­Þ3ÇxëÂÞmͬKŒõu±ÿð1&ôaššWr׿e¯¡óÂÈ)º&<ܵ¥ U‚\j”£o¾ÁáqˆÕwðàŽ•¸—Oóú‘.úÓ6­›v³­¹ Ÿ7€©–VM¡ëÜIÞ=ÛÍP>Êå‰Vš¯AZgâC¼ó«ŒEb䓆u›¹Ów™ýÎpi4GåÚ]ÜÓb’î=Äþsy²¨„ê7ðÐr—#‡Žpôr5¶œ»;ÂdϽÎÁTØ.¾òV6ÔÜ≘e-ËqEÏŸKÑ£ô³ï NGì]¾þLášÙ¡Ë„V=Èc»W¡%OÑ÷±}K„îg\fZü„áLðÕ?ú+2U5D½*}¹ yx=ÄQžzµ‹ò°‘ͳêþÐ ú9óúOЗ­dß׿ʛÔÐ*‘SëÙþÁ‡XT®^²„)¸b®‚žòZ,:;óë)…qwß‹aôŒ±ÿÔù¬…_R †Ëóñ‘QNåÚb‘ì£àXŒ 3Rÿ ÿí1~ü¥¯ðìÙ»X¾)°¤(nYÛ%kÍ- uf¬¡Îy¡³“Ó³ô™þB–P¯ÛFX\HJš—úZ•²|Ó])LUAÑ4BˆB–Ëã9\nÄ'ò>CRˆ¨Y&ry\Ç`ÔöP¯iH² ¢¸Œ–© ºŒæ¾æ&|…à 6 .ØVKÌà0“JBlRÉ Žá'¬˜ªË¥ñ,n°XF´¢Üd°s3ÒJÕÀ%âzsÑ„eSš¢•ÂnS}t f©_¿ Ÿ&ÓßÓž>÷o,çÈ»SeD CE‘fÚóKU÷&ÿTƒ¬]½š51beÒר<Ά\<~‚adÚ¢¼r©;`ÙŠF<Ù4º7Ê];¶Ö$Ń.ƒ•Ï’LGBWàó"0J÷H’%tSG– (Òl‹˜Ü†RòãuÙ_$UA8“5Å%Ì@9k¶ÝŹγ8œfË–6PìêXIGm[öQТPJ†Ÿf˜Ê‚Ÿb>ÕÛ dŠîÒuq„Ãùï2QÖÆ¶º*zL†O+xUU–ŠïŠ$QÑ´œ-+êQðèÃi U-fÊ+ï!ëšlFiÝñiáÂÛ‡¦¢Áƒ±F–•é˜R-ºÓOÒÊòö³CÔ=VG@QÑœ¶k#„‹›KãH ’^EK]U5¨4 d 05V¶Çü™J†{‡IWMK˜0kÑT‰ W">šC°¤,n5ÜBÆu ÙyÉ“ÊB+}¦`(ò ÓuƒÀu]ÛB ûñj2V.CÚ–HemTŸ‡R¬îm IÖè¨Wy·¿Ÿ r‚!5ëü^d%4gxÔW Óº<Æ¥î:ƒÕÈšŠ®kàˤÇȈ*¬|š±ñÙ —x2HÔ`¸)8ÌXý|¨ÝC$brðÔi.X¶uÕ~´Öµú¨°,UAvóŒÇÉg'O¦(ó‡¸|èz•î4,& 6–m“sd¬LŠŒ]ŒŸ–¤½Hé¦{L/Uf‚îúÇ2`€¬èDb1êJEyRŽM®àâXi&òÅàae1£ ´Ö–ãUe<¦Ú¹‚­È(Jñ1í;ËóûúùÈÇ>@p1Îö™.V.ÅhÆ"•L2¥ZÍ¥pYẌŸÈ’IŒ“¶bxeU7èƧÇ(y¯iŬŽ!ΧI9UÁ¶-Ry‰êš ÆÎ$Iºí2}–…ãº`¨¸®E*'—Ï0žL‘{ {dæq‡¡¡8žp€±³Û¥ ·€ÂP­¢'Ó‡ã8äóv)­G‚T,áúZ¼'-&l_ȨSt1“!Å×pá× I&XÝ@kûrj½EÙ”‰º¤ åI… 8™ǵ•<‹¡›jÓœ?~„Jeœ¡·£Tl¥Ö(í[¢Û™Jåq-N8B»‘B>AkûFÂþ ]“§"Í~–póX$(bÁFuöw·0´U’Ð /ë"Ū¶¥"9.¡h„JC¿íWÅ5’LÓÖû ÅÇéïë&P]EÀg¢Þy¡€$lÛÁýåIÙ÷?¸™hÈDi®f$U bÕf–­ÖQ%ˆñH;zéuS¬Ù°Ë0$™¦•ùDõ8g÷½ŒÙHm(Â'°XF´©ŠzŇ!Û¤Œ ÝÀ0Šå8Ë;¶³UH¥¼DMójžˆ$)È÷í–1} òŽ»©óLWo ÅjÙý`ÑŒKÙ¦m¬U½h«v¡ùýSïa¬º™ÇŠ’²¶ï¬DÒ]ö÷i0…ßeˆû·µÒ±ã†ÆR¸²ŠÇWtö䔩*5Íõ„½H2e H*Õö ^úÁA²"Ê~»…X®‹Þúf U#\YE¥§8Í Æª¨ ]c˜%,Š‘Œ½Ð»2±Ð¶€Q¿zUÿºINfp·F žúT+Cž·¼¾ñ îÙÊè½Éà.žcjìR1ÏBóÜð±gÆÖÛ¹$/ïïbÅÚv#7ž»q-}Æ»x·3EtEm^ù–Þ››9/a¥ùösGhZVGµÏæåÓîÛÜB]ØXd¢'—Áγ»œÀ1þÓ‘/ŶHU+w´ÆJäŠ7t‚a“N °ÿäeì)SŸŒŒËôšZÆôGÙ²¦+1È¥þ$m+ÚñܰL;3Æ3'l[YGµ_›÷þL õpðwXý؇ˆê×ZæêˆÇ㌎ŽÞš î©pæÙ¹C¥/çE@7u°siâ¶NØo«9ë° IDATN›e’ƒâ*QˆY,¸)ºŽ¾ÄÛÖ>°¡…°ZœPŸ1õLLeî/eñ_3®”ÁýÌ©8ÿû{gø­…ÈõûzÏß|ö³ˆÙ1µ“f(oé3&ã¹óÁ<\iŸŸ­!•&3¨% Í ñà®5ïm¸^©/#ÚÄ–ˆ˜z ne i8xæ§„JÇæÄ‚Æ´d¡PÙ¼’Ц«œ›zñ‹MéçžíóØöìËŒV±&Z5£ýf…NQˆªÞÙY,mYÓ D#h%“Ê­ß™Â÷–àŠ‚x<!@RмêM$ÎY‰"Àò&/ÇÎŒ‘4%¼NË¢9ê¹¥öá%,a × 7ÀE’ß;ßÛ~6à̯’ TÉP‘d»~¾nî£2 Þô RD6M*k ²ã¤&&87©¨ŽQ¿Ts Kx_1¹ª(LCØ‘Ý 8¯—ð Ä,ÂS”Ø <,7Z@ ÅçR\èÍ‘w‹ EŽ±Ê†“eàò8ÕËÊ™Ëx±„%,á½Á¤¢p홾BØ9„+aÆvßzçø~fÈ9 i†EV‹àÆž¢+XR=Ôך¸vi ¦¢˜:¦ßƒ^pL±ðêg KX­ÂLÿD‘B߯NŸEvâa“éû>zd ’lÎÛw:´y1̈ˆº ÖãëWRó)ÐoLÑ]+•ú{Ÿ¦¢Näœym¢è³XJªæ~áÓo‚¹I乨9DÚ¡®¡š²€Š0‡Ïv’G#ZUYLä¹ñ–°„%\„°va'pòCäFÿ IvÁuÙKäGÞBñÔ!+d£ YõÒ”¤p¬}==d,$•ªúFm~R­°HOäQ}“´ö6¹tœ<2éD_E!MÂÊ&%ÖØ„~#~Qà’›˜ `®à ›é¡k¤@Kk MÂÊ%¹xahCå„ÅHo/ã–—ææJTÉ¥I2\Љ‚t_ù²f*‚'K×pžªX.OÝ—\r„žá4¦?ˆie ÕÔ’"㯢æZ¹Úß#\œ õÏl”€2ïM( I£ººœ2|^U’ÀôÓѪâ `šú’¢XÂÞs2—ÿ'{Y¶ÀuP\ ;Û(ä‘D̹?DZÁµÁ•£”oúhÁ–âîÖ8Ýïü€ï\¬bçêzdIç1 ]rg ‘=Ǿ¶ŸÆO|†íQ'y™S¯|·m¯}ÿŸûuªP¹x¯þõ·ùôŸÿ5µ~e~ÂW[ÑnŠ=ßý:g7|–_]ã›Cï2wÅ0w43GÄåø‹_â¿~¹Ÿÿç¯ÿ„;dz<ÍïüŸ/óÄÿÿiç2ìá7ø‡?ù½¶—ßû³?¥>`iÛ»øXsžCñ›<]þëü÷/>D›ÒÃù¿öŸîaMm1m-7r‘}ÿú%²k~eªJv°OE˜·þõkÙò¿ñßîð"‰…ÎïêÅ¡nœ…´Å"dÒ 5?dö¦NAÆã1gÈd>ÏMy KXµBBm%>ƒÄ0²›ÂÍ"¬ \ËÂ-¤AxÁ àX2¡Õ_@õVNí-\›B&J¦/@,ä'òàÄ{8ðækêIâJ&eÍØl¼Ã¡ƒû8‚òÈ#Ô[#œ9‘fû&òLa-Â7ÎË_þÚlÊñÇÀwô{¼pb„‚¤Yu?»—ùHž{“WŽ `»2þòv>°ÆæC9Ñ£Sï>Ì®•Õ„ °¹øö ¼r´›l®@eÇ.ÚÙÂkO}“î´jøØöèGX^BŸCZ€Hyˆƒçú©Fââ¡3TFè’@¸6g_~µ}.Ó9˜ Âç-™ÝŠ9cZ°Œ©·9r²ÆÕÚœÐd‡¾SùÉ›gäßâ’H2Ô—à—;V ¸B8Îo¾ËÅÁŽ0X¹óî^ÛpìÉ7!`p²ööt£ˆ¿ñÕ^Ä|G:çç ÜŠ³]HCýl±Ï/Æi4‹ª`LÙ"²é΋-_؆º8ÍÂÕŽ·„%€æ_¿.Hâìï¡ë ÂÎ#laÙËAÒ«° 2Zt ¾º‘”i†dIQѾ•žoý3_=ZKSËrþУXgßæß¿ÀÏÿÖ“d;÷óü3ßâ®ÿû –/ËÓòÄ“l)S¸øÎ[œ˜XÆ£>iŠûkòÀÎ<ÊñžÞBÇË{ȯú0ÚµŸ/@ªó-žýêólùüoàŸaïsß%µûXµì0ÒÖOòÈ:ÿt0Ž)k\Å]e­XCoòƒWÞäDG”Ÿµyèã÷±yy5 Y–+Ù TYCßáÓÏÃÉ®Ua p­4/ìIQÿÄFÖø+ùî¹>Ú«›gÝ_Yñø} ì=q”³õëæˆ<…ª¶µìZ³—ú'>MEê?úû/cM²h›s?ü'Zwòè}÷‘Ú÷O¼¾·Šk¿O/óü*y{¼^•<˜VuÌ‘àU›!éäór–‹n 8ùÀNÿEô:¼ºJxÅ6~¡cQ31Mû"²ôžë&ðÐxµd\ÒyWlÇ&k©ÈÒ|ÊñDÜe÷¯þ&§Ïœá•ï…#ö:î®ëã\ÒÏ=``5n-5!3%æÙYS©ì9~øôsä×ÝÇ]±*4ç(CnŒßý•;9sö O½~–Š~™‡ÖÖšâw”P•<îÿß~EÐðá_CûÆ_pH œãµsçÑþáoyQÉsnb%ë?òY÷W!ºù³lÍ}/ýÝ äb+fßþɲŒ,ÏåÙ³9}fu}Ÿ¦âßñË|ÊŒâ{_V Ð|” W˜,~4OÚÜX½Ûb'Njˆó£2±Áé¾4muA2 ©Ý#°eM7å›z¯1E¤–'yéiÆô’Ô·nÂï›=b“z÷÷”f…\Ã@–%ŠK9©¸p†È þÇÿAÁÐdÜØ 6ëd)X ~&gd“ƒ'ÉÚ’ÇèìA9¦ñó§éjXIMć¡€póðzu¬ñË$³Y»@ÒÕ UÖÑ4§3ž!ï&…$IÈ’ÆšG?L¾Sа¡Œgž7?NÿùãÜ÷¹ßds{>)ÏÞ/ÿ#.öÒÒ3çÖ’ì¡}õZV¿ü7üÛDÛAk¨•Z5Íß}å(È>jWÝÅWÞŲ&/ßøö—QÖ ïa>Qä[ïÛÆÐ7ÿ•ÿµ‚Hó|ð—>F@³æSŽ%úÿ„çßí&a©lýÐçX¿¡‚5Õõ_fÂQ6¬ã·ÛVÒ¸¼é;ßàûáÏñ©íTú$_;ë–ä{Ï~‡¾ª2"µ„¥,{~ø-ÎfÌŸ¹»Šˆ1-º}‘JZjƒZWq'Cus#!Åab0Á®›é¨  àRöèržÎ!Ì05aF´¾S“)oìàáߏ#áéH(@Ö=„ªšðh2ªá#ÖЄ¡¨„+ª©õë,{üWøÞ·øî?ý%Èæ‡?ͲÖò÷E8æmA~>9T¦ô™ I–ê¿ø/O›õk>6IO.ñX=,Í{€®LQ^ìØNpf\¥"bpæôµíõ4GL„=Áùî4þú ª5鶦(Ÿ¢'/¡ïè!ÌúvòN9±ÊeèÊ$“f©ljâG\<ø,9}u«žÄãžgäУ®øœágèlcý=Û™¸ô·ˆŠß'‰–öŸ¹²€ƒ‡S—]ZÛ6㱎sàµ×hÛò(fa/qi;UÍßÏù!…Ææ˜\æè ß vÓ'*ç¸0¢©m ^]YZYü‚‚D"ÁÈÈÈ<Šr!\öü v¦oÕýø›>Š„B!q‰þWþ!hûô3H’Â\_Ü|sEñ™Ç1EÉh+¹áÒFŒXØ7á´PåÀ™4ã‹åjL2?_¡iÖs~Õœ¹QF!f·Í¾¶ÅóI¦ÎcŠÔQ,ê4«‡›´$Xn}¶?çÖÓ®/DQÊ;<ù‹\ËOn'n¢ûo~~{¾çø©¹Ç™Ì³¨›Ù(IPå_¨hËÕP|dÔ`%mFœe¡êLµXa+Ñ7‚í-£ò¶¶?MCØÃ\zë0Г@ïQú6ÌŸ'.EŒ 9ø(-wÝE!u’Ó{ÿ™òæJ2I‡¨ªã­’ÍQ9ƒ„4³ÎØ:¥å¶ŒQ±ÝŒ ;!„í÷•JåP% ì4npš§EN‘Oõc,¸™<™%ü;ƒD ù“(Fª¿Å(@õÕRûðÿÂJöÃ7g<–W£â_v¼$x½•Óõ®D³?S ^I8.Hq¾ø¶×']懨.:ÉZàØÒ¬{¶ð;7Í Í‚të?­IÝLwéD¦dÚBX4tV¹)ÙÀu¶e£Eø áÚt§T¢u“Uòn…!)AÊÊÊ)xwÔº£OðEælåy—¼í œq$=€î«A©,ÇÊO È~< 9HjÌØq4u%¾`ù¼;àæÉŽwbO¸ä’µèžb0sjÌàEÒÂx­3¤‡¸òþèšbY×%,a|µÌoT4<åxÊ;nQ/ïOnÀn r– kÍsOd+EC-¤¹obÔ…Eÿ0ƒÁòöºŒ°-Ü@ ù3$È$ ÍXF$´¯#P*ÚÐ4}ÎF¹¾oÑÝyœ‚P±ñUWAÀáôž?ÅV ¯øüáJŒè..½ù%Ò‰Ÿ£yãhsrnìu.Ÿù1V^0Lmå.¼¾ Š¢"«4©dRSý˜YI­ ±-D×é¯2"ÊiÝõQŒ¥UÅf`ɹ„…àNå‹Ì‚ Ìã-PõªV^Ñ<‹F•%Ô›YYH--õ´ÌlR Ö7üì”6)Ú#e<í¿UJ.¼—)¥:ëåÓ ¯ûÂk§ö,~ýk°ÔT¼™Fô^Ö>v‹­ª¼ÕŸdeÕ'fB¡Òïž]TN¶VÑ(ýŽŒ§ñ ¬hü/¥ýäéý—°„%,áJ¸ºY÷ª²îQg ýÿoïLƒì¸®ûþëåu¿}›7û Ë`#‚+HI‘ZhŠ¢K–,Ë*Ù²»âJ9%WœT+®¸*}pJåDN9l-,ZR"É–%J¢6n‚Hp$„e0˜}}ûë×Û͇·Ì[b0¤@ ÿUCðõí{ûv÷ísî=÷œÿQ$ôuÛ¡®!µvßý”šAHi?­³‹ÙEšªîet7Ü^¤kå™{ðàáÝB›ël5ò‹¸Î¶í¸JmG.×XZÕK`Ík¤ò»ÝÓ‚¥r™6ÝŽž-QÜ ›n—Н{e´Ôk*§”ÓЮX»¯ŽQæõÿ\¹É£îÒp3]ïë \ é2y Â1hP¡œ6( AÙøc~"~¹-HÑ*”1QHVïÓq)æÊ¤‹.ªßGORk™I J9 GW)¬š„#*R¹Ìâ\ ß|ݵ‰$„4p ‹¥´¢ûˆ'4|ŽE:ï",SöÑW‡Å•HB'ì£i•b›6¹¬C4¥ãš6¹ŒC,¥QLdKT'ªƒ]²PC~$Ç¡˜±š™`/Syx+£ë ]FG×A£RÙU×à• î+PÅ2è!z¢ϯbØtIFT£¬^Ýj¢vf‚gž=ÉtÁaøæÃÞÄœ}“ï¿xG‹3¾ÿîÛ! ¨n]XFž o½ÎÙù ]G²k¤¥a×âØsG8±\Dh1yð~üÅiŽ>ŒÓ“þ­ûyßþ!^=v‚W¦Ts Üw÷AFbqF%‹à¤Ê@*EoHaùä›y}’åT„›ÃäV¦yñØkLfF·pç71Š êHéÊå-#Çù“/ó³7—P¢Üzçì Í11k²óîqüUé*© ããaÁŠ oª?D)'8­22 Q^0( Ž<5…ƒ‘ÛF¸7Uä…ç–9·h“Ø5È}7EIlJ@y9Ûtνû(+iÿÉ ¶åâºFÖàÔÑNô1Ü£lŽ¿´ÈñI™åL‘»ï!XÈòü3‹Ì£{ú¸ç–(“OMr™r 6eÿˆN+ã~æÜ GeYîÓ¹u\ÃÌyýé [ž±^Þ_ŠhcápþµE–F¼þø4ûïHš_"Wrxë•9^waèÀFdVßšçé7Ѝ±07Ý=Än–øÙÏËèØd‚=Ükiy…'žËàè:[oâžzÓJ)¿˜ç¹§V9ôñÍ”¦3¼›íýµHÖæýÓ´ §6±oß ô%N¼xœ'§ 6Ç3g9½{‡oÙB!ÖÏï P5SX’DNG’dR»p§äðÄ|¥ÝDÿ°˜’FÙ3'PWükO}y~‚ï?y ßP¥åY~q|‘íÛO‘ñõs8ÒÉ¡¨º#Z¯'Uc>j|>’$¡u>üÑ”§–øñ+Ž‹ÞJKƒ §^Xb禩`ƒ™F¸¼þÓiÞZY;gK4oj…ýÆv|+ižþišP2Äm÷3y®RMñû8t F!âû’$—Çs˜7oá÷¶º¼üä"/-Gèql"ã#|d_Yê¼O”Ú;Èm’ËOgÖ"•Fö pËîh³¢¨\`RâÜ™[,æ ᜿ÏdÛÝCÜØ18g”9úãe´Ñù¥<Ï¿RbÇMà ¸ãþ>z|ŸËðô3‘0"Sâõ£+Ü5>XITE4ég×N‰åŒIi¾ˆ²¯—¥ç&( ò™†yõ›§9NÐKÅ” DgFbÓ4™žžÆ0Œú}6Âçó188H8nâ’òpí£-(0ÎÚÖ™Ž3 P Ùü+!­sÀTlÂ’/Èè°JOÙäÍó94\ ¹<›úQŒ<“ «Ø½W9‘`jl+o‹05=Ão„¸9.ЂIî9tqŸ‚¤ðIUeQ#þ« Ôªp@àXeÒe™hPÃ'û¸ùÐAúçf˜xýybƒ Ú±“÷$%•hDA.É—T¬uëEíúRC0&R¤°öW9G%æÞ÷ãWdd=†Zò!¹.N­Á‹l‚7BQTUÂR$dá"$™±=)ö‡p™To‡Øš–s¢>›© /c©Â‹Ðì*!D…J¡J›Ð‹Z $]—«Š¢•Ê¡õ™UÚÖcAn8<ʙӫ¼ô‚Íí÷ôRïvµ¾¦«˜³Ev…89ocûƒø|~MFRª–d‚‰w¿o¿"!ûud;‡êS ¨rÕáM û¹ûÞabš„¤ªh-0²ßG¼?ÂksYŒ¬Ê »}È3ÕîH µ˜›Ûí´Y‰eY”J%¶n]sdw×uq]—b±Èää$}}}¤R)Oa\Gèh¦¼ˆí²¶gj<è÷I®0]¡ëº8¶…/&¤«X†„mÙ¸Ž ò¥àÕ«XÀ‘uR½)Ž/!¥‚ …0L[‘Q§”#Í‘7Ë,¦ øâ!|T•n½%‡üÊ?ëãƒûGé÷ ò„¢qú‹ Dqüsil'†O‘Ðdô’•åÂü c©D•:¥ÖvE9ç2iV³EŒb–U#EB—Q«‹+,UúaŒlšÕ\£˜!m$ÐQ6'l ÛE“%ŸŠê"èÎ3St‰…•f7¨TõHƒ‡×ÚJG–%F7ûYÌ»˜®@Bn߈–$F6û™Î­£T"}:3S´l‰œ–a‘Y.cd!ÑIø5d]C¶L¦æ FS:á¤ÒÙ,S²C»£E©¹O_5Hg,Ê…2éb ä’3 $ÈÊ›e²6kÊ¢z§>ŸJ —&ÞŸB;—¡<Ç¿’oºV(¬1ÖãR¶\4EFÖ$$›¦¾øƒCÆéV”f+põ’ ¡h€ó¿8ïçpDÆá\08?-1!ìŠëh(ÌÍPÒE²vg7ÆÆÕ`MˆêÄ"‘H ª*«««D£Qt½jƺlŽ%ï5˜NÇwÜÙ^ Hþ±ý{Fÿí—žEVbµï[RçkŸÚJDo'£»8‘ T¦W.%ìÒëø$p]‡|ÉB £éõê&¬™Œl#Ër®ŒíJ„bq"ºŒ°*Ü®¬ňJEÒÅ2¥²ƒŒˆÑÁâj‰H$€ßWáÆ²Ë%K=?š,X^YÁ°’¢Ò›ˆ# ‹B.KÖpÐa’ñª°I§+ʤ'YQµXÌ9Ä•\!ÙtšBÙÄte"ñ81¿É1YXÉ ûüÄbeQ,›˜B&KÑ$³²Á-)‘xœˆêræÄ <}NçSߌ_¦mu!„À4,2E‰TREX…¬E0éÇ-Ûd LH䪛×j@'UÑ”o¤† îÊ9 JuÓW’e4Y"’Ée- t¿J,®¡I.Ù•2 ’)?ªp(dL #:±ByÕÀ jDürÇñ [5(¦+Iø *.ùU“²=¨‘ˆ©È Qc9äÒ&Á¤N)ka4䜉?¦P‹Y—hHF²*Ü’ªŠû K&Ù’L4ªV§À6m—M„$ãè$Cr›7”°-þå+çè?<ÂíA$á’˘äJ.zH'’Á¶ëÏÌ6ò”ílH ŸÏ399Éøøxý¸®‹eY8ŽC Pù> Ã@QB¡Ê¼±ò¦\Ìbš3ç@Eñ3UWBaL¾öõ _üÝO!Ú¹ËÕ5w×ÖYä• ™€¿9­ª,«DCʶûîN1á²áIDATCõGé÷·Ô‚ 4:Eé ¶œƒDo2Ôô[Õƒ êk¿{zR­ M¤ˆ6’Tâ‰â‡d}kÙ[ˆÆÍuT¾ÞúO=ž ÖzJ ÊH ±¦ÂÈæíÜ­ÎcÙ.þVÛH­—~½Õg"ù"=¿âWIUÇ’¶ëUkd¥ýEe` yÍh5aÉÄzë©ÄRjS;þ¤ŸÖWÖŠHÂO¤¥]}àâžäŠO!Þ[ÕZ¢ú"ýµ*ѯ>/ŸÎP°q£Y#Þtªæcp°;õmÚ¬Ì($HVsÖK2‘¸ŸHã`P*í!ÈfMÊKÛ«%ÞB WsI²D¡X@–äú±&£’oú¨ÄC7¦(Ÿy–9ÿ0Ÿ¾{}ºT5Ók›|½ñE~•躲Phr—åÊßúp±Qñ^1×ßBàô°cwO×s6b6ù«œ‘®÷ÚïvŸ‹é/Y`ó]côÅÕ ëCMa(ŠÂ|ö<ÿ÷¥¿æðøÇÙÕG6„û7±uç.“üðtŽ|z†ô[ßÃÚöÛìê³™:þæ“÷^xšG¿3Íþ}IòE›Øžñ±;¹ÇJï$.Óµº¦,šüíªL`ÝäP×W÷µϬpõ ÚãÁߪ¬—6âµÔÞ­i—˜ÏNàÁlúe·Ìß|M3Þ··CMAnö<§_OS8y’Í[n&¬Z̬Na6®kQÌΑ X°:Çùé"úÄô‘Çø»oýœ‡|Œ€7®®JÌå;."Vº_ç„’:HŠË5[k‰ sV —@,ÎhBC*8=›G¨‰ž#/o´°–KbãÛžËNð£×¿Šæ á—žð(ùržÿõìŸóÙþ;{÷#·åe8¶I1_"ÒðÉUßüj»pŠIJ !¬«øCQôâ,´<\€Ùž%Op1eáë—7z†oe–Ȉ;7yí­¢¾j!Mÿð0r1Íéé ƒ»z6škă—€+>5ˆ+ l›d,²¬Òåžûÿþ¿b4±e­‚$ÜÄÎýãƒ|þŸbkø=ÉÞš8C¸Pæô‰sèýUÞ1©’&µÙÐÃÕˆŽ¾PÒE"¸û>ö_w´¾×THݘ¥/ JЦNDTsĹ«XÀ^žhÞm¸Âe¹°€¦†°…‹"û(ZS«Süþ]ÿ¾È`ÃÙ2Z ÎP"ˆ_ó“ÛÇMêOYÈ`ï®{8÷wßd" £ù·rWP#I±y$† øÃ 69W9¥ÏõËuU‘ÚG‚­Yy.¾XЏ‘ãÌ”AÙ•P5H(ɹù%lËB’:ø•{ðàaÃÑJÞ8ÛÂÃ7þk\×åìò›|ûø—‘ðóé›ÿ„#÷ « â@òÓ»í¿¿­ÖN„OýÙçêÅö_>×x%Øú7ÜVq Ù´÷>>»Ç 1—kÏq$St#ìÄ̼þ÷[àVŒûqm“ ~Ÿ†?¤²;fyy…‚S!vó†‘ï,|>Ñh”éééú±=!ˆ3„í(¼óGíA×*~.õ=“Êf—”‹ ‡æ2OQ\½èFÃ%\gÛ"”+õueΞ[`¶à0²iD@Á(æ8~z %aû–¸·<õàá]€¦iŒŒ´²XV„ÅcÜwßÐûxx¯âBÆ"m8—UG•`GëÁðæÉ–| öÒãB(¨¡JŠ?È®­ƒ(>AýÊÌ\b‘f%$½“¦¨Î49<\UI‚ÖÛ“Ö[èfVð(Ê=tBëPB„Kæé¯¬t³O©Ò^Êémhhˆ¾Þº~eô•ô­ïÌ*#D‘¯p…tâj¦°>zñd|W€aw°µ2·­•2Gt|F¶[ñ0ét½‚é²T´ÛÝM—å¢Óñz™²CÆpÚ‚@1ÜJYµðÆ„à“;š¿'¢ÜÃ¥Pû 8·cþm¨ìY Ò"ñ5õâêB×õ5vÊ«ŠòÎöïj¨5;];^i†Uù·ù¼Z™[ÍA-J*†]«×.üjm¶^Ïr³Y«F¢ÞTÉvsY»ãõ,W0—³Öòa7ôÒts9›Ö'$ueÑéÞ+ Áí˜Jµ®d:ýº²h/Z.·^\–-ÎE¹‡¨~JõQ,@·\8*ÌÒD·J*0Ðzp Ü=\îí¢Ë¦ï¤ðu×ÓøbeaÔa ÔÊDÇÙ¢áT„N§{6ìJY§ëÍæ¬ªot³0æs–K›0T\ä,W´ S!`.gWÊ …¸¸`¯(·=yJ«’iígc›ÍEëÂÕ£®¯t~"—¢(W…•••÷8Ey‡Ubƒ½Ó·v=+Ĥj1.¼¶,*Ÿ©¿XùÉÿù¢9¦ %¨¢žìtíÁU–ÛâÒIw.!Lå.K}[ˆJ¸yaj‹jÀH‡ XUáÖ~½Œá6œŽ³¾¬á1:›–Š6EËí¸Ô_.ج6±ˆ¨öÑî°h«+’Nœu…ЩŸue±³SO˜z¨¡Î4[ýÚ]×­3Ð& ¶m·X .FQ.¸z6× )ùÕ–íc½x‡…K:S$¢¯›ûî½ Äý±¥¿ü‹¿ý½tݪ0µ)bw¨RK–<üè—Y&WÍ:é°éæòVGaZ0ËÅÎK}[täAˆª²èA(D}9ßI˜ZŽ¨Î ÛŠÖO ^hü*Ú&£]þšçíõDײKwg]¨~ä•¡B¯¡ÔÜ:Ú¤xGŠrI¦P("ËÒ;LQ¾ÖåÖù_[­ùS. QO-[Ì,3cèŒöèHR³qJ |áü€‡>ýanÛÞ‹\Ux×ãC’×­ŒŸ·ØÙzðǧsüøt®Óë÷p=@4¢¢ñk-µéC-µSb¬ËïÍz*­I™Ë´êâ(¶VûìÅýo¨×ºB•„0K–¹p¶ÜÉŠä€ù%Èó— Bì¶ÒÞO°VçV³Oeá"É2·}þ¿}H↿ä"Sþ&Šò‰,ßøë¹ç7·³ëŽþwœ¢¼<û?zæ$Ó+,ß(ï{ð[9ýÚw)£ŒöòÈGTHùÓ?៟ü%GAï½…ÞF°x†o}ïyÊ’pj¾©È׿;Cd0E|ç]D§_â盦¾Ì×O¨ ôPLç½å0· d8yüYÄ?ÛÌÞz½oÏ{"µóÕºç‰ñEw4ÊSÑ25Yïìô žøú­Tõ™E›,Ô„©h¨õ2!šçkõÚæ!„¹x®(ÌR§=s˜ܶé(Xõ²Ö{ õW B`§gË™§j=‰feÑŠzYU×UÉ 0K¶¹pÎèÒæzн^ý Vþ•e™˜Tï6K®S”—læ&²¸®ËÌD†rYðƒ¯žD ËŒïíëØ…¢(WB#Üx{’F‘ýÍxnlˆÞM%f";xäÐ>6÷„‰ø«áºÂeá…3+ä7¹“d „nÏñêSß yÇ¿ã{ð óìcÌ/çÙþ‰?äA‰£çÒÌ®”1¥ –²{øÈ|Œä‰ÿÍß9ÎÎÏd`ô&ÞÿÐúaÀ˳q™PY` ºñµa¯qŽÙ:CkL6ßzÅÆÙÍÍL×_±.$;ؽ*  Í²Úo°»ÌN‹•FÛízUaÚq¸”;ôÑ¥"0­–ô!efÛMᦟùꔽ:kµº<‰FeÑÞzYKNs½Æç"«ª,Úooƒ·eZ„©‡ æ&²<ñ•×ÑB>×¥g4L>_æþçgø“Ï?ÀÞÛÃÈm Ÿ@Q.,Ž=öEŽîà»v02˜È;Ä7ÝÄG—žç­'¿Á÷ÎÌó‰Ï~Žñ¾ ²¤°é#Ÿå×Þ8É+?úæcÓp’ëw›ûò¡Nýí'ÜyðáÄ=¿û~$I¥ÕrR¦e*³Ú6Éb§gòé§ï"LkÊ¢õ².´³’©,õMkáœÙ¥ÍõÀ›z¸nà ÁòB-¤b».ŠO¦hXLM­ò¯þãAú3“o E¹ì㦇àï¾Ê7¿óKâC›N)g¦ùÖ×cµ¬ÚÃ#©P5Ï ?ñÿô ¦ .#÷~‚Ý»÷’ÚÙËS_ø"_~b£7òG÷2Ч~Nö³Yø‘IÊsì[ÿÀ¤»‰_ÿôí cù}.Ì”ùãÏÜ‹Ç<ôöÑ·]µ ½}Û'L=x¸* Ë2=öاn½õÖ¯ŽŒŒÈ5ØB¡ÀùóçÙ±£BW.ÚLž^Áugß\æÛ_>†¤ÃoþÁ>=0N$¼”ªîß­Tçí¨ÕXó.jîëÊtÚÐLʤÍõ\BjµùÖŽ¯UÂu]¦¿õç|ÓxˆóÛ‡Ñe©²‚¤†6¥º¸»Ö½¡„”Ëe&&&$ºGýƒ>ævØnCCô¨ Oò{ðp Ey°§"@âC`+xd3ã{c躼“å—)˜;î-\z¿A–úïÿc>éÆñ+ró…·_±nx™M=x¸ÆP‹Î–$éâåcpè¾}u~éÕÃ{Zrtšâ’Ñè×6jãáJá) ®Ôëëô<4N®ž²ðàáßïÇ0 æçç»R’CEx¸Ž…UΡ“õ@½Âµ°2y'°‘ÊûrÛª± «êúE¾§,"‰MïRïÞ]4Þ¿gŽkpZ$ÇŽãt_zvkcÃ{åÁƒ‡_ n¸á†h(ºC…`Tາ¢yÂô:ƒB …™7Þx#{9õþ?$).TèýÊIEND®B`‚pyzo-4.12.3/pyzo/resources/images/pyzo_run1.png000066400000000000000000001435121421373005400215430ustar00rootroot00000000000000‰PNG  IHDRÈy½@±Ž pHYs  šœ IDATxœì½×s\Éšà÷ËãË{xG‚ AïM;vßîkçÎìÞ™ØÑ¬6vµRèPH/Š}Õ£^¡Pl(±ÚÕîŽÝ{{æv³ ½w AÂû*”7çœÔCU ¼}íðc€(œ:™ùåçòË/¿Ì¼ƒwðÞÁï(ˆ-¿…*~S°¯ö,ÓëUU öTNn|ôJPÞ/ÕrûÁSÔʉ½–,Cÿ·Ý]‡è{mLVé`IÁa‰Pö¥@b‡%Bm$Ô^ éÇùÔÿüç#“߸ ßi{¯æ¼ƒßOسVï\ü7 ûjÏ£¥ß4½boöµ± °öÛÞF¹ý5µŸ=—À¿ND£†Ù–B­@€}FVj+àßž5èLÄþÊ2M¯GQ”· EìÏ­åöb]}¼¼…*ɶ÷3Ôýª°ß$ú­ÀÿÞo™?-–æê_¼ ÷è^l¿iz=ŠPöaKê/Ö•m¿ý«•Û—‘}+%í44í_'âBìGÖ… jÌ»¨z±{7B½Znßt1îýX¢(‡LÓ»W»Žgm Û«ÝZn?8Rmcß$l²äo¥Cû˜Hl…_»Î¾MbkÁ=V"`U9ÝGë›ÛÛ÷ùƒ·  Ôf­RJKUx¥ Ø>@Öê«kÙ;/¶ï¼Ø&8n|ü½ðb#û‡f`a‹ÖìÇN6Cþ!Øß0üÆûö–|ÿÇÛœv À¯(ÆÿÚÝõ¯:Mýûñ΋Ýï¼Ø&eÞy±¿uxg`¿á ÷¿.*ÉÍŸBHè04åQ~ã-Mÿ¶§óŸÿ8úß@ì{6÷΋ýý†wFö÷Þ‘o/ð»K%!X&({¦ÔƒQÂò€ØÏ”¤VÎS+·¯V„eÖÚÛ=U­¥TuN´MCkm«{lO@­\k­Ü HHÿ‡ÿ—âãGuˆÓïúy*M=QG tæ¿BxëYD{†wö÷Þ‘p/ð»I%!DÕ¸Zæ¾Ë UÃØ§¶ „V+·/¯„®ƒ®íÏÀJ0ˆ íωF F£¯o_«0jå¼ûo¯¥aûnOìs€¬n@m€Ü{±­äÞÛ{ër£’·(ó+Àp”®Kþú·°y€D ŒÆ÷4 †ÜR³`û§wð‡ï¼ØfÍý†¼Ø†ö„a ¶´îÛÀ¢(Uºì„P ÷]NÓ†±ïåx¡k ëoi`áwÑÈþc„·çßïì Ÿ[iµ§bÛKBà½ò>‘ÿþØŸ‡ó~¯àûk‚?CòÃŒ}°]·FD›§¾ Aâú_ðœ;‡ÖÕõN¨ßÁ3ÇwðÞÁ¯ ¢é¤`{ˆµIIŒþƒèÝÝÕ¿Þ¤wðÞÁ;x@ µ¶4{ÜEuj)a—ƒê°wƒã;xï༃?4šNÃXX;õgó´Rƒ7'†ÊÚîõúïÆ·Eæ¸íc©d[‘õoÛÛO¢Ç@Êõú7ã¼ïθnÁ¹a­l“³°c›ßÛÉÁX§é:f ï×ëÞòeóºšáÝп=­õÕù»¥žzÙ ÚûwžÞDãær°]îxC¿¶·³ׯ:××F›4Þ\öðlƒíø×Ûßü|Ǻöº.ûFùnòÝn4ÞTßúëMúÑX~'ßü~³úêxmãɦžì€ëwMdr]îÅz6©â~ÖÏwmúmìÔV¼·Û­õm—ýúóÚØ¡îõ~7ЬŽïNhÖuk§^ìfÝЬ-]Ñ,Óì·ÌMqWaèCß\ÐÉ3ÿúùËQòºŽ¦è;zŽ«§Úñ« Öjßéùd8ŒßcTß³³ÌOps¦?ú ó×B —bz‘§p&ƒ­xé8Ãgg; (Mp­!\^àúÝ!Æ–²Tü=|øþ)Ç}˜¢Ú­¥ì¯_<à›á%r®F¨ý0—/£ËXJó2U¡TÖ&¸v•Šêáô•ctoÚ¤—fxðp–®«Wè·v#’¤0÷„_Ü~É|AÐrâ Ÿ ´Ùa%`³4ôÃ/™ç/öÑá×Ö¿/§YÕÂD½&ÆÛämI@JŠKÃ|qó£+EôÄ>}ï8£t!‘Û”­¦:n™B>Ͳ¦+¤íj êÊ[Z}ɵ¯ŸQüŠKqm'p:KÙ5è8y‘O޶ÛIXv!¦]XãÕÐC¾^$¯øè<Ï÷O¶âqKع)®ßzÁ‹ÅF×)¾þ e[#u#'± )^>}Àí9Wü= m²«Óܾ~—çx÷1®^ ®ƒ!h¯ý¥¤´ø˜ÿôÕ%ÝÏÇ?yŸ>ÜJž…WÏøöY’¶>åÃDU¾œRšé±!¾žñáù.ºÂÍäá×6KCv{pKkÌL<ånî|>޾KMû‡]ø¸£ªÓØ%=ù¯¦}œ<ÞGWØDÅÅ.f™~È×/Vpƒ-¿r… µÖ— 3£øbLçêOÞ£oÇh‡Ô‹oùºÔÏå6Z¼ê6¼ËéeÆž>a®ï>í0k˜º 9–S mí¾=ïèd^qíÎ"%ÅÉ+'è²ÄŽºøk‡-¾¸æUë(ƦI‚®W6t©³,­æ1Z‚P)°²¼Ìb± ÓEÝð¶6ÊH¤´YK¦Q}~¼–^=•Ƶ)Ò,¦"8›<ð·‡í‡DJ»â ¥Ä.H-¯²Vé$°KV¼[)Q¬88Ò¥˜^e1Sä@Ä‹©5P‘.®íàH‰k—ȦV˜ÍØ´–²C@Ê éÕ$©‚k­?®ž²Š{¥\ µš"êÖšÚRRºS+¬äÊØÔ;Wõòv˜ü5Å©þÙ)¤X HÙ®¶(d­t’5¯ e ‹š÷êíÉZ¿SË5\]7½ÊBºHWÈBW«unÅWJ ŽM1ŸbÙ ÐlPÖ¼yiçYYI²¸¸H©»BÅ­bà–×(æS,¦Ê8®B1Ÿf1U¤?àCÝ©n™BÙ¦âJìÒs«9 mA<2ÇÒJ†\ÙÁv2,®æŠÉ€ß‹°ËdV™]I±¨°kp]›R©‚#]¤cy)Eö`‚ˆeìëì=é:TJeʮĶ $W’¤íV ·D~e‘ål‰²cSI®’Ìw“ðUG¯ÉŒ\º6…Ì*³K)––ËëòèV(d’,fÊØ¶$—I2“± †4 ­!Ú±µ>Yfmu•¹ù%*§ZŸt¨ÓÌ/,³´²†YÙ\Òu*”ÒK,¦ã´úM4m¯ô­mÆî3²ír¿1 –®‹]ß=þÙ¬ªŽJÜøèÙiN}ÖåäY^I“«XëÛqò”‹iV2¹9ãDºØ•ÄŸ$Šhª—ÏÄTv!ɪí!dº2³Üy4BÄQ(·Dð:~OÕàVJY–QP0<bAMº” V3%@h^"!/–ê°–ÌaËê`äH@0€ÏÒPi¦G †7ÆÑóŸp6 “ãë¯GM£+±³_£XaŽ^ùŒ«…Å›Ãç³)Ž´„ñúÕ&L ~:ŸçÏÏøQÖfxpë×'²ô ú·z]uBJœì 7.;u‘x"B»Y{^)‘N­‘©Ød“9Š®D"qœ ùLštÉÁE`xƒD|&º,±–Ycth§ë4è '" KŠ™åŠMº,AQ±|A¢^»˜c­d˜»L>›¥ì14ƒø¾ºÂü«I›lz•áGOyÕ²3N<ÂÐ5‚{¾È¦VUqŽ÷çñ¼Ê¿<!ûøsþvx–îˆÞJ)“&•+U4EÅãµ »<ÇÈðž˜:-Z7@Ä·óLÒÉÍò`<‹ihȆ®gž²œ,±ÔöÿæRå—O¸öè%ƒ'ˆo[p¨qYõÐzô}Ž¿çEÎ|Å¿{¸ÄjOŸ3Âí…—>}ŸŒð¯O±6½ÆñŽA|ù5f^N°â‰à·äÅ Ñ{üCÎ~b¢çFø÷3ÍÂZ'­Aƒ]ƒÛ±Bh='øÓ³1Äò׿bhí çÝ$O¿Â>ñCþüpˆÅoÉ‹ùma/ S ËiÓàùðê*‰[ʱ4ó’‘œ„%Ö}];—fþõ+ ýŸñ¯%oów÷—i¹ÇÒÁ-‘\Í¡ø,½I’”RSÜÍ¢"ðyD-˜T"µ<Íói‡XXG4X&ÕôÓÙ7À2×øûa?±€ÅˆµËŒ×!Ÿ^£\±ÉT$Šjñ«¥ÜÉŠŠâ8¸B`zCDw‘ØAîéT(ä˸þÎÄýÕþI§j£r[‚T=Dƒ–êJ0~¼†Š,­±\4yUJé,ŽÇOÀÒPÜ ¹lŽ’$ÔŒéZã»Ì¿¤K~nˆë“§®ôÐ4Q‘”Ÿ±°”áq¶“ÿéI:-¥æ¸vå¹I¿v{Ä›y)‘•<«+ËȬ‚é¯ê|ØTpœ¹¢ƒ·k€ÁˆQCɦ˜^fbü7^'FLÍ"òa©’BzµbÛÕ  Z˜ª@ ôðÁéæ–³\»;JÇNÑnîšý.@kiÝúHm›ÞÙw­EÃ0¼„} ¯ÊÙéû|=ßÎ÷.¢7¬°øô~Q9Ƨ3cC<›ÁãyJ‡9¦é”Y[ãÚ7Ãd .Ft€~zŠVg•ÑG÷¸ñ*‹«FŒ“Îp:‘ãÚ/î’Ò5tC’I»t_xû„šiªéx}6« óÌ.$)xõîæ§ ŒP;½H¤¬ :: M'‚5ÏCh¦Ï"“\dza‰ÇÏÁV}—v¤ËÚË!fý}ü  3X»öÌ-’œá‹ož2皨NÛpÔ-“YžâöÝçLdl\ÇAO òÙåÃth‹¼x6Æ£™$³É!äê …‹g9Ù¢³0ú„Å•VÊT¤J°ó?½'óê!?ÙË¿øi"½Äó·˜9ý'ü¬KQ Ão2Iv–ÉÑ!îM̳´"IMé>y‘D4Äùh'`pÒ3Ìkí|Ø"hyêBÿüžV·ÉÍ…<…’ƒ45ìä ~qÃáì{§8ÒêCG Zz_æ§±î\ŸZ§W¥Tb-éÐr)ŠßS ’ˆâ|;GþT'¤£–¹qí)þ³—¸Ðç‚[N3þ|œrG7­«¯1kSs¡yˆwŸäGV+/ïÝaiSw _ˆŽ3g‰ýõÓÉvZƒ~µ™ó+±³s<¸ó˜¥Tž¹’@µ‚ôžáJ§ËäÝÏùÛÕ8݆M±ìâé<ß\î¡™¿ZUÖC¹Ûù`³L=½Å/'’Ø=?äliC¯d™y‹«LWB¡\®,ÇøðãÓœˆe¸öù3:?¸ÈÉ®îÔMþË«^~p:ÊÒýÛ¼Šãƒ?F!Ƀû£”?áG‡|Ä:=ÐÈÇÝÌ ÝO§Ðz.ÒòV—<¤ÍÊËV3ôÎAD:ÉbÁ"òa ‡\j‘—¯—ð <½´s -V^q{i»XDë8M"ãG'¢8™eß¾ÁãÅ-Ÿuð}n¥Èòä÷ŸŽ0‘ZäË“˜þ>¸0@§'ÍÛ·x¶ZÄvÞîsüè|­> !¬¶Aâê=£y°8H{÷þ¿x+ØÃÞïý Ò¡\Xcvveuž;ÂÑ6‹„qØðËÙÚ|./g ãD€P"AWTåõ”EÿG8ÑÆ +k¼–`ú"\þñû´f&¹ýÍ#ž'0+³<žT¹ôÓÊÉ ËÂÃÏù«ÑÚ=&v©ˆÿØG|o°÷ùßñŸÖHwF é[º!BJ$ùÔ ×¿~ÀdI§ãÈY"Ú†ç´YjŠR›á•Ós¼˜×è<Ào6Ÿ= ª³»r6É‹;7¸³XÁ×9ÈÅ ‚UWƦ!¢2 ÓYü]A¼}}MÃ.dX˜œ`9ñ>ÿê£ɱûüõÍ N!ÃüÄ#â ?ü8Qšã«/F]n'Þ×ÍåZ‰¦WyÜýW·“¨Ì["ÚëÐãTH.¼æÞã1fNÇñµ¨íz8WÖÂFM}=̱³ç(L/37ø>ô·ÑÞn!Ý-ç¨hqLMCiú0ìUŠN™äØîg\ýáÇtF,*¸®@SáÈ鳸N‘Ç­ßçŸó¡î’(!©èx wKØTÁáUr¸³S¼ŒÈÌÎ3_¨0èìP—µð’À-'™"ÐÞGÈ£ál4CEUU„0ð)rU [ªh^r)åRÌ>%9LÔgíýFÙZEC(Ú)eY\œeÑêæ³€ÀÍ;d¤…¦(¨Š@ñ¨Ø¥ ¶S Ä©¡ƒ\9+‰‡Ì†ë|TTÍÂÜä Jסd«øtPUÍÀ(e¨8Nµ}#Æ©³'1~L’SC<-¶s~ ÂØØEêË ª:Þ­­'èÂÛÁAÿCždŠäm‰¿iÜÛ!5ú§NjG‚u!ÀÚÔ ¾¸ó˜WÑc¸RÅðæ¿ßNaf„_Þeþ|‡öçË û" \|5pƒ¿_Ûà¥ë€fD¸üƒËÄÓÓ<ýÛ_ð*ÙO_ÐEºr}VJY AjaN]<Àäµ—<Îp5ƒÿQþ䀭æ"Ø›øødí5Æ“G9Å!kšÿüWc¬.Ì3=ð ‡Â\ùà}|·®ó²v@¶júé<|šd™üÌ ÿÍOºñ"ÁI¿b2àèÙsîŠâÓuáÉJ–.e™ Z8ðV•ÊmÌÈjø¬™øÂtx5´’Eȳ¥ÅR†¬ÞJ—_Ckà¾ÌQ*«`éŽXxt é7`ÙÁu¶öõx¹Ð &øÙŸ÷±6?ÎÍ›÷¹ÑÞÎ?éµv]Gp )Æž]E[7H§R¡-ãïŽã× JÁ8-V»\$93Ç\²ÌW¹qÀ¥bš¨ŠºNÓúo¥vÒŒ[J2>ôœÕtžGÁ)æX«¨”ꚢr/‹“ë°Þµ¦xËL3EAHw}PÆupQP¤Kz!‹·ó±€‡p-ø_÷¤…ØððE­»eÎÕÝ ¹þ€Àj;E«/ÅàÒc®ß“¨Š†ÇòâÙAê²äÚ9æÇŸò0ßÎ…1"^•” ²Ìº!t¤@JQ‹8ˆæYÒÅ.e˜~=ÁWc>?ê¤%`îsýq#±Æ­XžyÍÐë=çiÕa PkΛ¬.“#.òQ¬8½›Vpk4ÝšMªª¹µä2)ÔlCÕK÷Aïúûnq‘{çл)å2¤‹y Ò`e5M¡=„·ŽÇÙÛ¨éø,(”w'—Í%5ŸÇÛÆbj >_„6e‚™¬K—aŽÆðªÍÂ+lÊn“jÞµ[¢ªW_i&žP-¦Šªé„}’I·*Õ·wPâBËÿîÖ%_ ôÏz ÕÖÝ·ñQk¶ÐÕH‚"yW§]SÙHp±‡Š0‰ôœçÏÁÔÐ}¾¼ÿж¿H>×ÇÚÊ,©Bž•Õ4¹¶ ^Uì *–AËÄð&h7ž²æ8,—$‡¥gyŠÇïðw7Êü“«Ç8­;‡×q©T\´z2' ›B.KAõõéßíšd󳈣4¤îìy€\÷Ü¢lFÝ›µZûi»{Ÿç3Z?௹äB1eVWV˜1~S'äecÖCÃŒD³ð{â´k£¼x=‹ãsYšHhëÃïQªaµ-vlG‚I›bv•Éå  òÉfr^:ãÖ:ñü _ñãÄ%Þ;' :¤'òó‡i:NvB!ÅÜ’M<âÇÔT§ÈêÌs¾xæð§s.,¨²ÌÎ%‘–Ž›O2½\!ÞÃkî’ LZZMî%säK6¶©£!ÐL/ÁXÒäãÑ(……eÖ* [B­Qœ±Q†â}D4ÀVˆµÆZʦ!¬þQÅФ,²²¸@nvŽ¥²ËAUC7-Œü,cÓ^ÌäÓY?²æ0äXIª[*V“¬aKC~ŸJ.¹ÂÜ¢† W“t4¸”‹9’—`,´£²¨n|¯y55…×ñ“[ÆÓyšˆß‹¿§ õñ,¯5ÒA¿ª¢[AÚ¢Šªa¥åy¦—büA¢Þ7‰omιIqmìJ…Tjµµe^Ídˆœ"´KD«’šàËoF(öÇkçX\°‰DCx]ÄžÎ3;ã¡ì¾&hE÷†‰kó!!êÈ2éÅWܾ3D²ç'D’Ô²J)!æ5ÐDuKÁbV!ôáÑ•] ‚K1½À“xb÷óƒ@‘ùżþ>_€x¥¤Yš–´ñ㯅âœì4÷G%ºh š›×qëäª,ºÇK´-À³‰ F]ÁÂBžØ‘Žõ-[²’æÅ“)¼Ò÷cFŽò³?¬H{…øÿn’“:G>»HŸÕ0ul¹Ö)·‚,-3µHø < tÜ *ñ­¨Ã ä×r¼´üä—Xµ:¹ìW(Ôúð¦Áqƒ”eÖÖ2ÛäÞÐ,Y"µ’d%]¤[caÕKÈ’5:mì-­þÕ$æ-³¸¸È”’'5•!ï¸à–X{Ê“JŸ|,Píwž>c¹¸0ñ‹€ Û_b:S¤Pqñ™ x_ ;™ghl‚ñŠÊÊ|³ý4·1xeVg_ñí·¯8üÙE­Ý3{ «KÌ/PÔyæ”x´{ª;WS$ó%r©U–BB!?¦¢¢&jaW³!ËG"äŰטO•±¥‡ŽÞNB/l*¶³žåŠ,R*X]u‰zד½*¹†oßæ™÷ÿì½ö}&²íZk+ ca¢›ÞÙsmBA·ü$¢ž-…j1ŽD³<Ì´r6àÁWI‹rúH_?eúUœp,Ê{z1><ÕBÜŸ# â3jž«"´0´<,éRÊ.óüîfJâçÈ9.·l]Õ³ ÷öVXšI"eš‘G·SZä(?¹zŒ¶°…¯Ö_©lðìRš©wy¸â ñî£üÓó1â¦Ò\A«ÒM|àÞkóÌ®&pÕ ½>ÅôÓÖs„#s÷ùâæá`„Á^?~O¶'¸ºËí¯^S‘#~˜Ï‚!–¬P„ˆGG«I»;Â…øMæWøâÆÍò #ÏÆŸ-â§yô8MF¹ÀÅî~Õ¤óèžÝãÆì4Ýç.Ñ q6¬"íó/ïñ×÷à‡þ1‡vbQ“‡ —ðå­!®—Ðã|r¸•¸OCë=Ç©{|ûä6Ë. Ñ3x…G­ªìuwºñˆ¿Ï&è?vŽú;&éÔ[4C"­>h»YòéUî\ÄŒë¡íÀI>°sDË¥°-·Ÿ½Ç‰Ö¼x…/‡ð¤âçè¥Zc!|õ¶„‚aùH„« é”Éç–™ÉÙGoó—c!Lú®|̧ýqBd'nðï‡øìãÓ ¶zw)2L-(Éüüï‡Ñ¼žú€Déÿ‹·†¹}3Öv‚Ï:ÂëÇni…%‡DO;›òø„@Ó-"Ñк!R­m½‡90w/îjD;ðÓ“abõ=¶Nå¥|­Ýt¹€ Š¢THU'‹`J OC"’¢øÃÊ›öýJìb–ÔÄs¦Í.‡}ììÿ(øzÏð^ò‹« üòk#àø…ty Lû#Ľ*Õ™f­?»%½T’Œ<Ú$÷iåñ°‡^{–{^0“-ƒ3ÂGk œ¤}‹ý²¢-Ä<ºæÄ‰>8ĵ ƒx:™·œ6²}¸¹ëMÃL oÕÛß”lÓjÛÙZÏú¨%7½»h÷nR÷F8a{XìM'éH)‘n‰é×¹]éÂFùþ`"šÔ×pzÅ.xm¡FsÜêksÛ–7”dÛ~§-ml?QÜ ãOoðùÊQþÅPvºqãͧm£3¾6>ß1ĺÑVßíß5öcû)85t¶ã[/W¯«ñÙd¶¶ÞôT jr"ËL~ýWüBžâÇçÐКֹN£dµÞ^ó“tÖ«hx½!é§iÛîÉÛí‚hÀ±y}[J·ÄêìwnŽbœ¾ÂùÞ8!£6ûÞ©ÿMúØb[SMøÓbÝ ¢NÄæÏ7õ`;O·êð¶O‚u6…]廲]åÞ7H¶åBÑõdæüZ·zo IcùÍkøÐTˆØZÏfýj¬·ÙûÒÎ0~÷&+yHv]æûÁ†uÕ­§õ|7kRJJOŸ2ýßýK¤t×>ÊçoÿÅðØûn5qo3È£¸65±þÛ.¤YI-ótFçàé0Áú© o4bë-lio/oí=šºK»bó» ï†ëvÿ† ŤëôEì±ÊdÈ8Q< ¡ìPßþh¸3nb«Žoþv×ÎlD¤W =ÈÀÑv|[càMËïB³]è¿¿¤ Fgh§ïv/_Cç ï¿A^¶þ½SER"¥CI$8y F¨>}jŠþÞôj7z5“‹Éõz5ýNì^ßÔÖ²ìêº{äÒ÷lõ¬Ï.w«›=ÈÄ›¾^·m;½ÈÜöwöR¬ÎÃýCu¨SŒçÞ;ÉÐdÛ¶qM…Ýg…;ódó[¢‘ü»èê›Ê7i}H)q‹Y ÑãX “Ô£9 â›ÐýaÝqh‚áþ÷An—üÜß<™¥?Ág‰àú~£_wÇ~oAT·¡ ù90èóû¿ã y£5ÜšuÑø‡†À x7½aYkó†%;¿ÊøÃoøùðå²#4¬`”@ßE~Ø9ËqN÷Ð1·1­8{›¿{çò‰nZú¯×us|~#ÅÁÓ‡9ØÛiñ›acíT–V™Ê{H<Õ”rYâå·×™î<É™î8Á_1íæg¸y÷#³¤Ì ñö|ÿ\1g”ÿòùS¦2e¤" ÒzˆïÐGyäkþãƒ,†¡bx;{÷Ñßpxo#Û»ìªuß.H¯f1[Y—¿UÔy2™÷ ƒî7ÜÚñëÀ¡~CÁ|ß|¯vC¤›gfÞ&óá3UÀemä[¾*äò¡f·ì õÛ!~>?:3¿¤ÃÚü â7̯š°ÔnRYrÂû扛{Éòjž›c&_Øu;ͯhIãíB»¨ä’Œ?¼Ãí…ÞþøÙéÈw±.µGd§€“›ä«£Œ'Ëm§øÁ…^ÚüßÅž@ T˜¹ñ93¶FÞaF8vþ"Wº†¿}@®ÿ g»cÔ ó¾f¥à2Ýz‘÷«ܿý€§K%¤æ¥ãÐ~p® wiŒ¯n2›ÌRðGii9Âgç:Ã×ø›áU²O¤“sÎp²5€G.óÕýŠGË9Š(¨BÁîàüÇ®ß@ò›…ÍTÕØH·¼´ù‘jè:v…?nYâõÈc«gùãS1,OˆPþ%‹«ÔnÁµS<6²ü´`7'û|„LµvØo}i³¬¦Ý²ª$è1 ˜ë{ešm\oê¬{*Õ2¹Ù!îeð^¿‰©*\ ÉU’Ñ2eÇEª¢¾÷·Á9Ú»'§˜1Žž8ŽX˜åy[?ç·ñ¨Ê³Z‰qöBÝ1šPÐ /Qb²RAm;ÃOOzHÍMðèþcº:?Øáº« º4ÒXÔð¬ŸFÑHã*TȦxôd™Ã±8½1„°s†é6çp+l ·6}¿NË- Õ‡ë§$uŽ|o ¿¶xßò¾ÓìoƒÍÈ-¼ë°‹‡)).<çËû# %üð³³ø- Iii˜/”.’•*þX~t†žæƒJ)»Âì‹gËñ¨ÎŽ“;Õ" õ˜øƒaâ!†ªP„æ'žh¥»Õ‹V\'_EÊÓÝ",ò¼zù’å’K¿µa–‡6ÓØk(8Égüí½$©œM@Í“³Þö£|z¦wq˜_ÞzΓWy†rË´Ç;¹pé]†Kzò)׿f>SÁlä“ó‡è êäÆoòMZ§¼¸J:[Â;x‰DÄÇ m‘ë·¦ñm–26F¬Ÿ«û‰TRLÞçv!ˆ¾0G²$ »Ì÷%ð'¹q{ˆñÕO'—/Ÿb0®±:ú”›÷žp/7º‡ÌXõPò«‡,ò+SÛh,Pfiv˜Ï‡5ZYd9›¥9Î/ô5•Ù©üü……T-Þï+òäö3rÇ>ä¢g™£pú˜Áð­{ gTº>j§Ë§.Ù™Ü|pŸ{c.3KωÄòÁù~<JK/øüçO©”*øœ£%åÓÃáÏV­ä’Œ?¸Á·³%ÖbWøó€¾‰_•RJ%GÁêã£KGèÖ¹ÿð מÎPt^äø¥Yšâë{,;:¡ö>ºt„6‘§¸0ÄWÏWXN§XLWð´àÇ!²ü™ >ú/ñé@œ€›åõ³;|5–¦,tÂGùôòA‚¥$Ã÷os}è%Óú*™±(Þö\=$ª­ñäÎͬ‘“~Ž\¸À¥žžò7¯?àùJEw(Û:å`SߪúÌ¥˜YäùýÜŸÍcKÄás\=%ó艓ÕmZ5Âóªý$çº|dG²´’âÞ\Åaàô.µT˜ºÍ·)V>Gƒ–#çù¤ßƒ’yÍ'£\{:‹±8K,œàÌÅ3m ìx'­P5¼Q¯†(o`]Î'yùäß¾Lƒ"ÜwŠ÷"´úTÊK#\»3ÆTº„=ȇéõg¸þõŽR ]ÈQt´u]‰ë°=1Å!—œåî­û¼œ~ÍX±H9·DïÉ |à3ÑJ‹Ü½ýˆç 9Êzœ3—Îr²=€™yÁòZžkÃ’ˆ3ÏLÉ ÖwމÓüö¬êdÆ Åhok'Zåæð2ù ôö¥müS«1ÄÚ0ËÑTŒ~?L—‹TÌ0]íx„Äq@EÃG,"dxÃ1â!Ss@Œ`”ööNâm:+¯¿edùí> B'‹ÓңǨóˆÃ ËS”f³ëÕì)‹µáÄYO!ÞèD}¸u Y|GNq¹E0~ó ÃK$ BÝG8_šçÕ´MÅ©ï²É¥WŸªpäÊôš ªæc׋6‘ÎÏñêZž²ãÖî@³Y|1Æj¨½3ÌÅ5TU'¼Ó]jt+HëÀ1Ž¥ç™±påp;‘AËeÁ-¢›ÎtÎ<ãÆæXjõ‚žgzx„Tû~tÒfqú%wï¾¢û³æa#!|FÁ½j^¦âoÿvœ/ E÷’è9Á÷Oúja ‰k—ÉfS¤…Ÿˆ¹a”m4•,Ó“ËdñqôçgzγC\ŠwsüpŽ¥L†Ë—.Ðéµ*EdnŠëÏÒDœàx^ß{Äý©(þ”üÃ#~Î>ÆÙ°‰åah.¥Å óóËôøˆ÷Yebôß¾nã'­eÒ+ó¼N…ù“+Wð+ ûBøÕ<ÏïQLôóþ âÄ=î/ðvíîçØÜ8Óöt”ï ðx=8Ù$SMhßuµ…Bz‰‘'YŸœæÒ‰ ËOÌÛ< ¨è:ùÅ$¶PXIÀèR }z™LÛKv¾@ŒÃƒ”?eeý®BëáDÿOÒ~.œé£;$ê7ÈâM[ ž?A¯µÄ×·Æ™_dþàºw8nN³üt á„û˜¿Z©lâ×ÌÔ =gOr®EåÕŒ,µëiáè‘ 91¹RãWHsÈ$—z¾DôôΰÆÔÄ(_µðã®,Ã×_P>t‰‹GF¿¾O¥3JÀ£# Ûùè×Ué¥õàI>íp)­-1öb˜G+}|Òu ŸÁµÄÎò½ ºå'hH–ž>dL´qæâQ<™®=yIgàž‰‡ Óι‹­x—ï²°Räv¦5j}/eXœaÈîáêÕ(zy[·‡Mœ£'PáÕëÅCÌžÍUˆu)È¥çܘ7(+½|ò¡Ÿüò4O<"ñá!JÉUrÇù³Ë‡(.Nòèù0 .Òåïâè›ã.'s¸-F4ìÙÁ™T//¨ïémxÉγ27Ê/ç?8†•]døÞ—<ò}Ì•n…gw^Rnà£S>òc¸3Á7 Xšz{ô 烅/G_ðíëvþÉ!_yU°ü Ž?F«¾Lº0ÈåcÝô´†ñi&ï=ä¥ÒÉùËq¬Ô ®?}EÂ{˜.7C!½Êä´B÷§ùWÃð÷pð·é]Y¡`x° ÝßÎÙƒCüâåãó6½—[‰·DðY%"‰6¼ß^ç?|y„ ÇûHø7EE›WûÍ¥;â2ž)R² de™oÿá¿" ƒ€ªJôqõãsôìëÂ÷·Ee›ñÞ”“ó…Ó5;ÚèmÓqCyP²©¸U£[sJm• *†i23<}:yü0Ǻ|o¼Ñ@1üļz ¥^™P$”½$ƒ—±ƒœ:Ç·Ë“Š¦ã †‰ø ¼nˆD.M©._I h!ŽŸ:N(¦×PÐu‹È¯û*¦¸±mIè; …áÅ£©¨(Ѝ­T݈­^(x‚­œyÿ#¢33Œ>¿ÉÈëÃüôêÕë·¯Q%¦ØŠP 8Ç–Èd3Œ¿zÂß½œæò§—8²•[5#]3o:P@ˆq4¼MUªŽJ dõ@`ÕŒsúÒûœW¯$P4/ñ·\Gšx"AWëÆu7N>ƒbøi8ÊOÏÆ0 ‹P0P;a§™”×èÂvO ݃ª{±j'Û¨jíxˆ:OꉴKêçò™^zÂB‚ê µ²€îµ0ÔÆC¤«ÜBEWÂ( Ø‰Š¢¨Þª¢­¯ »ÊZœS§Ž2ÐÀ©H„ ál­Ôp”²zÅé‹›iS]æaðªêúXÍÂ3@õÓæ)’²S,$!Ðv€ØÄs“¢G¬ƒ§7¡ 6è» ¯ê*»éµÐU!44E í˜ñZ—a¹…ÙÂU¡{°T•*¯äz[F®öYH\)0£øàêYÚ4¨$¤e8v¾•¿|r—¿Ñ1"¸ àÕ ÝŒåRË+ÜzºBÛ¥³œ®¬0úôqõ¾Æu\t—²cÑ{ì$§»c5p…A$àòؘ†RuÐ5UÛ-1¯zݪ‡îÓ—øñA/ Õ[Q|á0AÝËß“©U*S«Ûöê”Ë.¾ãýQ~tЃ‚@Qu …‚êoaà°K‡›§X*õ4©ºáh-¹ùŸ”T¤I´¥“HÂÆoè<¼ÿ‚ñ5gû¹U`ç+¸µ$‹u½¡q¥V" Cs‰…ãyØá(šãP*‹g½›RÜkžRµÿ7¬?cÃ( UÃŒÓÕžØ<jÒNãV’­4–åê†_ÖÕ+¯Ü2%§ÖwÕ@‹t¶ST4/‘XË)PRôê+uŠlÅCÚ )&“EÚ+KE|­>T*ïÔ‹KÀˆÐi•Xu ‚á­BÎÑÑj3þ:OD±‚ëJ¡`˜b¡í´×Daƒ4 ƒöΠ‹CEºÌ/ÀÑ3>£2³*Ë¢@‚ìæ @ÕË—÷ž{εçžó=àT¨:uG´zsÄšbYKWPkê«ÕÙ£9; Ù«!yò¢¾PÑu‹¸:Aš ûÚê-ÊžŠ¨yP)bô0Ò'¶ùõFæ—UvŠT+EÒ%•]± þäÉlmg! „µ†N„!tÄenÁg…é´$JE]shzšóP4| âÑ$ÉZ£Xàás—ànþN‚ëÌJô×4 “I £k ¢–e,Ydk‡J­cå%IÐv¸=_¤p©qÒj˜mjk~Oh™Œ_@#¥£#ABKT!dtYFWeDc:õ›J¹Œ§›>Ëqk &—Œ¡…EÎÃu+Ì<¼Ê¥lˆQ?­LËÙTçÁ.¦xz÷.Oõ­œÚ]ó®ø+ÑòE½î¯obmì»–=kñBmìμÚ</Þæáèž%gy7ÿœh<ÂÖ‘= Øc|òñUÆ’F¨k'íë™Ý£×®pyô)ÆŠ$?Iópó~Îl“¿}žÏž¦ÈÖ<$IÆìåDøEÝN&л‰ÈG×ùå;wiÞÏ™áÆNsqÇV?UhAƒÁ<¿øÿî&ÈF„GøáÎp nà2–‹ãœ»x‡ë¦˜œ9G)µè% 8©Ûüò÷Ñ5IÒˆ$yëh±ÓqÝœ‡ òªs\<k‰Œ78̽žÇnÑ›xq7*$™@ D—yƒ_þݯèíàø‘ítFvòÆÎ«|~én|á"ô8OfOg e#»Œ#!p*y}öî—kÈá>N[("Yß%/kƒP"ì=4ÈÇW/ð7·j¸Â ÿÀ NÅ kuD?ºÆì#‡ŸMt2¼c?'z£ ­"ûlnnÊVžÆV°béšAqÞ¢'¬QŽ©¤ÆƒÄ¤"sOoó»‹OŸš$“ü_Œõ°ûàNºuêc³ú%ÿîçÛ¶òæ¡A| ¦\›5•U#3÷Œ³g¯óxv‚L¶È»„ôÕ:†õU—ÙŽ^—ɹÉE}ÝI[¬“‘m|òñ?ð¸F0ÁîcÇ8èóÀ«1sç"¿¾£`ú#lÞwc›"«ëQ‹xtëwùÕßÿ†°.aDü À÷Šî'ܦüå»ül¢“øÀNúéÞ³—Á/oñî?^§êIûòGzèÞ½•àÙ+üóëXa Ç T×î˲¤k`C_Þào~5º™ïØÁ@ÄÀêÞDðÂçÜ÷ï"nÕ-"ôîåØÔe¦çÇù›ÿç B5IlÚÍ›;ê@×RëâØjP"lïqøôì‡Ü¾ÖÁ‘ãûØÚX}âõªdfžòù¹›<ž™dÌuø»jÛ÷Ž0Ô9ÄŽñ+üÝßÞGÈ:rû1ŽõD[ ‡ö¶ñéÍÏùùW‹°û`mþ<’*‘¼û%wׯq¤ÆX ®»@.nM[ú¸ð1´o;c—®ñÎc{:=;Òñ¡æ—¾ÿÿSVá IDATbˆFÚ®Öy§!€Æ|(-™‹œJ–Ñk_ðÞý Ž$£êAzwì¡_«ž|ÄGŸßæáó)R¥÷y§g?Ú߉çÙL_úˆÿ|MÅ DÚ·‡m C*ƒ=Ïgc«ª˜’Œ?ÒÉþS'8‘°+¦Gs×êâØŽ(ú†Ú´1’ a¬8‘- {ûüfïßlþ\ô43zÉí zþÃÏP‰¥ÂòÀsk” yr¢-Ð0ÖòÌæAˇ¡ *Ùy%@P‡b.O©\¥ì TYAVÌ@“ ©dŽ2 $à  Ôó€­0 x.å\–l¹B©ê!) š/@Ô¯b2¤‹5l„$¡ê~¢!uUóÂâ© §B2•£h{(¾ ±€ŠÍP6,,CEvŠÌe]–U`—ɤsjBRñY!b~eÕ…¬Y~:[ Pª`K2ªn³ T¯Èì|޲ã-˜ÐÍ$6ðÊyržE›µz¹+êðjd2¹E+ F HP®* ñˆŽ°«óyªf„ˆ&ðì*ùl†t¥žN+ ãáT ¤²ʶ‡'i„#AºŒ[L“tL¦ŽÖÑ^…éç÷øÍG“Œ|/qI b!ªgS.äÉËAâf#±sÓ=Þ.“ÎäÈW<$|¡0‘Fº'œ2ÉTŽªí`˦?HÄ”pj+e5µr‘¹¼B,¬c¨k›`ý·š¥RsH•U¢a·˜#UÕ‰G ¨äIå*TmWÒðé: CHžM>“![¶Aõ ùP*Y’®Iد£ ›l2ƒÀˆ43%,ÓvµL:“§bÛT=M‘—èkù ù4áQÉg¨VkKôeàP-Ie T\ËÒ©Î>àÝO§èÜ9HoÌÄKÞå“gm¼u|3½¾2éåzÄŵk‹ýAQÐ40ÂDu8ÔÊEæÓlYCóYDLEØ2Y2¥ŽŠ"n¨TȤsäk²®!=…HÔDYã¤æÚU ¹,™’]O¤ú‰…ýª„ðª$çÒ”äñ ½‘b­\ÈR­ÖÈ”›çÄŸŸf“ºNç]¸Oü¦yþ–tþ’||u{žµ,Ï]ã? ð'ooas»Êègüß×Â|ÿäbÆŠSý·KËôó•Çö«¦oP_xÕ1þë½IïÉÃŒôDêNk-÷'+û쫚o_´@®òo}ÎúvÈ—0±¾ÚËÑ—¢o`@Óq6ßJÏïM!,Nl-NëehÒï“çu+>¬Pœ}þœûäç$×ÓèÙ¾•˜¥/Ü'ÿ>»Îú½.ÖkÓ«Õ—‡×zm"62V¾i5.^~¯<ü!Ðú üvP“^Ó?Q¨ªXtí@ë×ô-“$£û‚t·›¤Ó%ÇEÒƒ´GLŒfÖè׺úÖI•h4D@Uø½aļ¦%$„@¬ óQh ÒZ\ [Ð`Vµ…o¬ÆolìmÜä±þ®gýrVÿî‹ê^7ÇßWùÞiu¾Ökÿ:ºü*ºÑÄ?úáòèêõ|[§¨WnÎ nNË+úFõû²$3ÒÞ3=Œ´rתß|¿¤Yú«Žóuåµk|çUËöåÚ¹Æ8Z«Ÿ¨íœùa{ëkpôòóÉw›„Ï·sð ÀÏr°rŸä[úEÏ©_ÌÎjuWx’¢¢ø‚Ä*ú:ù¯Š¼J†©œÀ2=òøU‡tª„jPUyƒ'Ï.“ɕȗ\¬hËxÑÎÎ¥Z.ÊÖ0,J®‚/ÅzáÜ£šÏ0_¨`{ pˆ ¡¼¼k÷Z¥/qÚØÞÔsj³2UÙŒÐn}Pðæä!Ö˜<Û®áÊ:Ú·¼möÜ2ssEÔ€A-_B¶‚„ É)R«Õ˜Ï”¨¹ )`ˆ°ÞpÊp|ÔržZ JÜ^ ›VýÊ(ªJ0ÂÿûÂY®{Aᔋ¤‹ ¶F]Ãôcªò:íkN˜.ŽãPóŒµ\¶7@MW»Z&›ÉRpd4Ã$6WÁUhÉ®âA9¤¤×çTI4&óW;y»• ³%°e¬9Ÿ-ɰáÔ(s䥆#ZK;W‹çý.,4ž]wLô[&>õE}ÿŸµê ±|7¦rãï"­ÁãTrŒÝ>ËonÏ“ËfH‹0=móöÎ0‰€ºnZ —ax­ŽT¹ÈùDåÄ®ç®:ýÞFÚò|üÞ-ºO¤½#BßFŒÆN ·8ÉÝ÷øôJŠ=?ý'6ÅñKëœ°Ü sã·øÅ‡“l=ÑÏÓsÏØö§?åèªá$-ƒÛ-ñäò§|4VÂÓ"ì>z˜}AL‰—”Õêr±S·ø‡Ï Þ<µ…¸Ôœ$×$»œãÙÍ/ùt4‰3ðcþçm¨/ÔÝÆ&£Öø1»\`~j‚|Ûf_@üUi­]~yŒwyΣCL~yàÑӜޜ #5?Ïû_Ž’¬yÈzÞmøÁHœÚü3>ûà"Ù鸩ýÿгŷJù«ë×U#„"ÛÏsÅXÛ`s–xŠ|%¸µ2åÙû\¹õÏž'øÓŸbgg¥eå•&ùòRšÍû¶2ØæGYϲàyxv™lj‚Q·—‘„¶TËä¿îé½îFLvæï}p•Y_„®î-œ9ÚY­-Uª®ÍÓ³s¯ï0GúÛˆ™*Šôj­UžçQ™»Í'OÛ9¾»®àóY#&ÒulŠÙyžÝ¿Àõ¹ÓD(:º"-€¹oX. äyná1¿þ ËþS#lMPY£þÞo”„xÍ=ã:¤Ðâô^tYiFÙrì§ ìžæÁõ³œ•ßà¯GQ¸¥ ³ƒ_G—v)EÒöÔjäJÂupO5QT•¨_E¸åb–d¾†+d ¿EÔÒ‘Wt­–F©&~SÇoÖ°LŸ,!<ð\›B&EZ±‘…‡¤šD áR«HeJÔPt“HÈ&ëÈÖ GŽYd&Î5Ü¿\Š© eáa;.¶-aƒÓ¥„¬°L?ÃGÈôxÁ‰Í©Hg&¸ö¸DçÈ^vt'èŒ0$—b.C¦TÃöd$YÁ  ª»V&-#É¥ª‡¬™Ä"þu±]·L:9Ç„­"?Ѱ‰O‘p*yjÕÉB«Œ5T„Íû#ô³|Ü`öÜjžù¢X¢¯ˆåCWVò둇]+1;9Æ­«·)í ã )hVR%÷4O¼v‘Ù¬GÀÒñòy* Ù». iX! Söpì2™LŽ¢-ênà¡ U¬Í–ìÃôÕu4M†‚, ä@Q_7?é8DP«0õô6ï_zÈÜŽ6¢²NÈ4>€ß‡é[ïtµº~ƒºBĸîÒ0Ã$b*`×(dsTe‰ZÕÆqþp¨V´z-”²Ò¥¶ H2†?H, ­iñ´fïN[*ÏsÅ%åºÕɒΦ¡ÚúâgžC¥˜#™«`#UƒHØB÷jäæ&¹ï7t•6¹ŽÅ6•Ń…2¼¦`Èdòä«6®ÐPT•pÈîÙÓ3ŒŽ3%òƒ7¶Òæ²vV#ÒÜ8³Ùš‡]˜ãñ£<åþnBžë:8€ãJh28ÈXa Í®‡f”²J XÏš.µbŽt±JͶ©9Í"Ô¡œ#K;ú£„½»Õrd¶HÕÈšA8¨cg&¸7–¥R±©Tfyò ‚d¸Í¿|“Þ”‹[%—É‘-×Ãb„¬G«.ÕR]öŽÐ ‹H@Á­ä˜/ºHŽ ª†pm\9@4¹\×®Q ªp±=•pØ!ÊØ5›d¦L­¡ÇPÈÂðª2YJ’„k{xBÁ T·–ãâ kNȧni*×ûžlÑ4µÚ¶–ʾc´Z;ZŸ½X9¤fШ’$p)Œ_æ—Oœ94LXbæægü¶ºƒÓ“|p­LÐÔòdèÄŠDyëÈVi–›W®puªˆL0±™7Ží §±Z­:çù;ØÜ§ Ù mòˆš²ððœo]E¨µb×hçЙìñ½s•³’Ђ8z‘¸¶ày¹$’Ø+óð³¹£<—B¶BhÛANoí$¬Ë˜ÃCmVeÀ&¶.FªK%ùŒk·ðpnõÖ R39NÞN·šäÊ…ëÜ-Ru%dâÛ^Nmµ(Ì<æ7ï? Щ‘.€æ­[ÖÜa8…)®^ÇsJä¼'ß<Ìîv™é{טÏpuº´BÆ ž§2¼ZžÚô9þñ‚ŒÕÔ—èäøÑ]lnó£­³­ Ï¡œ›áÖíÛ\z2W½@ʧ‘ØyC¡ Þû$ÃŽc»ÙÞaáN]åW|œ<ÒOáÜÇ<ÐH¸xU›’g2¸ÿG0ÿì.Ÿ^{Ê|ÅCÒC ï=©ÁàªHF@ñ30ØKØŠàÛÔ‹ÔëñfЉ*{„5§R¥TqѺT‡iëé°6õ£äåqæëê79# sbZv‚Kç¯p+e#+±Þíœ:° 33õ>âi¬‘+Pq|l=z˜}]aVM)éV˜|pƒ/ŸÎ“«8Ô vð““C…¥•»•'J±¤ÕÔ(/Þàì³?ý—Çé¶ÐpqÊžÝ8Ë»ŠÈŠB ÚljS{év³ŒÞ¿ËÅÛÏ™0¦›ÙÚCËû9úæA¶ÓäSI~wiœLÍEèavž8Éy†‹¿ý€{Á.,·JÅVèÜ}’n P}ÀG_Üc¼ä¡He&r8Õy®žû’[É2¶+ðõî§=­ƒ£¬:&¾k$¾%·‹HÀÿÔKü/O‹x¼/V¿k€èÕÇÌå»èð»<‡®]†D9ï²ëÐaötJÜþÕo™Ÿçêlœí…Ç\žðsøÔÌì7¯ßæÒÌ0=ý+.MH¶8s þsG;ø"ðlßöc$ºÚ9a¦¸sé ®>MÓß1Ï;i:cXJñøîMÎÝÙÌÎSmkî¾=»H:4ÂOöo"š>Ï:?Átg¥Í$éæð‘núã í_$ÌÎ휉E(ÎÊÄŽe¤7†)æ¯^å–³‰ïÿh˜^mŠùé$^¸ÎÓ¾ÄíµjÿÎò/»| ø ë‘çæH¯Ê½wÞåq2GŸ’ä“[E ®Ÿ£oìÝŒ=\JyÁΦ¾Þy{3½t„MbÚKì…B ÒÃáƒ.”dÔ·~Ì©hcWîÊlÑ1ž.ÐÓÈ>™ÃèØKÐÔ(9EÒæ?9°‰„œgôî%Þ¿öœÍGü<¾ó€bïQ~Üa3ùô.¯c¿]`òù=ÎÝ'»ÕG´6ÁµQØrâ$;óüï§Ù¹9FØÔжæÇfš©;-¶¯Jf~œ+*lûÁŸr¼]×YFCØV`.o±Õ(Û÷3Ò©ã_ëŽÖ+óôòM&»ùÉtød\\×&5>Áõg2‡ÿųUÌrûÊy>½ãçDH%äíÝ~þ˧*#{¹%E±dPqMöÙ„ñÅ=¢;öbܾI¾\ÅŽt1ÚyëÍaìR’Ñû×¹ñ8Ë®aW(˜GùË-0öà2¿½7In¨—éëwI¶ïã÷ô˜üˆÿ…„çSNò,o±}ß~¶ôDñ«*²$Õ—1(ý“[:ΈnM³š7U¯dfÛ£×¹1Ÿ§Gšã íì·LL”°®¡Ê*ía§hs/Y ¿4Æè¬ çRÈž‹0Âô­½ÿZÃk­…$iÛü´ÇuT[Å i8Å¥Ò<¦fÑ®œç™ðpE€Xû îu$Xć®I葾ò8Åj‚ Ay£N÷<ê Êõ'ÅÎ%=UÄì ã÷é(z;~¿G‡ô„ñ¼M\(˜þ(ƒq’´1¸9%ØMwÀ‡OQˆø%l×£–™b.7ÍlQB:—^!ã5ËjÑW[ÈãZ±FÕö`ƒ dô½5î«þ¼9©z’Åæ!““2±¦uú23MÙ«²¬bXJnŽdÑcìùã™+¼ÿ\d"¹~‡°:ë85MGó¶îÜFdv”9ÏÃö ËÐÐ×ô2U”¢ V*‘šãÂ)J£TÈQ©Åp„²áI§™v `芲r¿VßdÁ©Q)å)è]l‰ëõñ(Õ·Öu`pƒÁƒC Ëã\N—pÛ÷³«ÉÇ-0‘–éŠöiá$!yEÊ¥y5AO@Aw|„cÊw3ØQÝïCQ}è>¿¦£cãâÕ“C¨ÃOÐЗ¢S#;5E:ŸåÂó"P#Ÿ«Pm¯#Vi†ŸŽöŠ\FÕLT»DÕ)2“•hëõã7üñvBFE€ìïbwÇ3.Ý»E*ÝÍð¦>‚~ƒ.Ujèf¹Ê¾ƒ÷’kY ôJNʃ¾ÍQÎÞšçyj'1BØïC)<»BÅuq=›RÅ¥\M‘‘õ]üÅm&¬Ô!<é+Æ YH ¢†MI$ÅG[ÇGÞ>].÷<\¤ú½Kã²€Ñ.•ªƒãxØåúÝ¥$Ä+ó:¢É¸UÇuÁ©â85*ž\ÏÚ!4°7Ч(¤F&‹æ×©ßo‘Ít%"üÅÛ­2– °ìæíóùV}U]dË佊Ó‹Ýí›àM­ÞMoM2=Vã©ÖÁ™€¯qܽ žp±+lIC‘UBñNöÿ1ßïÒ‘¨o䕯 ¯Ñ«k3C¾:ÄÝ«ÜR}§T_Ô$×¥Rh8D!@–õµÙÉ;|ö޽q˜ž¸†;qŸO>{¶:æk‹~–‚å·öooå„ kÛQþ¼kš›×oñŇcÞþ!G¢òÂ-„×@r_Rõr¹ ]ñ¨Ô\§ž!Ƶk¸’¶&fñº$ôí=L@o‚Íž‡çf¼§›·ãM&jÅ4ã“w™Œœæ¿ßçcêá5~{K*BïdGçu~uï&S¾ ý;wÑñ!7!—ÈC}A”Ü*Åš2 ›2ÙÑ·í½t4þ_d4Ù#[©{¯që!!É2²W¥â‚ëºØUÑð.®„‹–?­ nl®šÿx%]ºMÍèG¢9îß8Ë'•:ßB©ùÍÆ UÛ®ßû»µ ¶W?x ùÙvô-úæžsýêÞ9[%iã¯ÞèÁ”À±+äó%ð ­›³ö»K_cKþ3Ct\¼Ìíñ‰ÓŸŒ(x8ùiF'&ñUlî¤tÊ’v‹`>Aôî®ðIuí¶6¢ë€¯ÉƲšþ\ÃôGè6ŸqëÁF¢~暴ÚéôyÔ Y2…4ÙJ‰j:ÅLÐG§åá¹f'& æçÆ©…z ™:Á¯ºB6ø[dL&>@¾7ÃØ˜LE™#›.’4º9iÉPaCˆ4K«h¾ß ½(‘>úåÛ¤Ké¥2ŽÇ±(“L¦˜Ï•)ÖÒÌ$u‚h°D_wS:‰M>| g$Ï)1—,¡Yuwûõ‡„@V ÕarršqÇÀ 6T$³‹í¡;\~„aB~Y”¡)ûˆDAŸL£wî%ai”â ï=á áz–-Lo›¯Î¨'¤®Ú5ª.  kÑ ý‚¬X±vüc£Üù¦ ;|ÈnvSÓjåËhJ•|&ÅœãQ˜˜d¶ê2´Î÷]»B!›#—ÊQ,×u=ë×hó+ØÅ™dŽb¹H2•b. ÑŽMz6EA(Ä:ºÙ”%[­/…’¬ i •¹)ÆfcøÌ:«ºšðe‹¡³ÓÓŒj6¾Ì(ɼƒÜµ­~î²0£¿PknZZ‘›Dã½æ ! QÍ11™a|bŽ¢g‚p*™”G÷¦Í &ÂXºž‹ëyä39ÒéåbŽùdŠ CWTüV”„|››Ÿ#¢:Š¢bÅ¢„”æ xƒ$ûÙÔcð»ñqê.QSF•ô€…ߊө<àîè%‘alÞ!ÑCó‹sAk‹sÄò¤’ª y.µÜ<Ï*IžL–p£K–R”’Ÿ®N÷§gxæÒóäʾú&¡ša*]Åö|tõwºc#—‹T=0±)$Ç8ûÅÜ‘·øÑ ù ß&­Ô`ëð¥H!+ø¬m’¼TèZŒ­ÑL¹îæ.û ’nññ½*j×ñX”ÝQ?j`ˆãÛ²|tþSn N ñƉ6¢/™(Sh,ˆ_S ¿ †?D›ªŒ„س/çÎó‹[à w²÷hŒvQ óä:çÇs̸6ÒÃ;äÒ§ö%p%«6É•KcT]‹GzIX:kߌ¾ˆA•P4Œ_kžŽ%üý{9’ºÄ—×/pÙÖÐavÜE.“Ñ|DcÁ #Ó5@[T«{š ŒóihþNÎ37Ÿ\*ãc!äü—¯Þe;ËèíóœŸu5ƒX÷vNÇê•(F€¶Þ^Bg¯ñ~¾ØÀNYÄ}«0!4z÷îcæü5.yŸ²#ŽsìH~ „+£ÚÃÆ×˜Peü‘Šª¢).v(LHW1ü¾0Ñ>üç®ðÁ¼Ÿ`¸—íT×Å­æ(K6o\æÁM Uõ3|è8Ç{àþ­Û<š,Aiœ7²d¤CÄ#AöD»90’â£+gùG[%ïãø©¡—= ž½Øuá WÎ?¦äŒ`œGNp,ÖÉÞó||ù%ƒxßvNo S w5$5@U' bj*R8LÐ Ò»{¥TŠ÷¯žçS+@¤kCEV$¬h„š"ê›.#@[Ä@•4"»Fúâ—.>ÇŸˆÓÕî'¨Éx•in^¾Ã³lWètî8H{,L°uÜ7®T¾«$ƒ«=î¥q&ûLsçÏ·&!BÍ­:0@ÏøH@‹ mÑæÜÇ‚½Ýóð¼*“ßåÝê~0²‰nK¦:u–ÿ¹Á÷Nme Í·©cÑb· Ïcá>fƒoÁ4ÒüþRþšï,«„æìŠÏ¼×ùO†sr¨£á˜²¸Ûiôަ9j‰À–}Öü ¹A\*Ü ¡--Þ[öÎòo‰ïxÕ Õésüõ…Ä‚¾êN’b¡Üâãßñ³kAΜÜÉ–¶úŽqÍ»áf_YÂ@óîÎ¥8~Ž¿¹bpâØ6†ã&²WäÚ/eUwÈËˤ•¯—4.1=ÂW×m£5õËm_öòzõ¶æû\B-m^3nrµ¾µ&³UŸ/í{KxhŽ_ô¦ IDATÓe¼¬Í󲲞®üì…´\æ‚ZÛ½9¥yò>â¿NmãÔþaÂ0}á×¼Sáí½ýt–-×-ý~¥ø_ržb=]6_Xöpõaµ*‰–VÆ[ šöøÖÍuÂ2Ï„%]ò\,UvÃÚûÕÆâï›<×%ùoÿORÿîß.´_xž{½Pøßþâþ£ÿÝï+•·NÄÍd¢®çÉs—®]ü-;˦ @bEꕯ %VG¨ËÞY½5Ë>[˜Pê<.8È|:Î:Ÿ­ÊØF‹_a8YùÛ*Y¸d©¾MžçRH—±z†™Íø¹µ˜]}S±ÚÈ­17:ƒ’Ø‹åk‰Åk‘}Sþ«•ùuèEN1/YØÚúe­þ½ñŠ_z"níSkö¯5™Ý//fáÅ<-ѯ!óÖv/¥Æç¸TÒ9<ÝÀPd$\êá…’Üjª]Éí«íwkÉ#…l¼ž}q圹öX^§²ïÔ‚¸*-„x-B|N:ÙÇ—yïú3fµ~ÞŒZ47c‚¯9~´àäóãüëÓú­–‰l;Á=A_‹‚_’œÔ}Þ?w—ÇY‹½Ç"„¥›©®²Mß,ɆŸðæ:.Üá½÷n!ááÊavŒÖ¿›·g¯é›§5 ^f‚’0;·p2ЫˆYÆ‚·šÛÍŸœ-ý»`/ †Ož¡×°6€±úO‹„@MãOÎ(kêK1ÃÄ¿f=’ÕÍCv¡×É6ç¦ƲMß< Õ‡Ö¶ƒS'7Q¨:õp2ÅG8hb¼^_S+y‹Çfj%S’Pd„²ÑYJ øB$Vñ—j€öèË2·Ô¾â¾ó%‹{9’0#QV‹¿^í{¨W–m`×ýÖò…¬zù²²2’¢];­u´òÖú|Ù³%¤ø‰Çý«|°¶ìëi½jñÜ]ãîoù=ËÚV¤Èjû¼¯¢áåºZämµòZïr_~Õca5y5ªXä£QùWº7ü½Rý† $„ì#ñZã½ïL“^Ó«!!Pí‹]¤ñèiþ¢POï±dyšŽÐqÔÖO³ÑK6p0mD‡rf–gׯò$¼›Ã«{̽JZwÂi´Å­R*f™uÂô†Zß6¹¹ ®]'~ìÛü¯ú¼ìPHMrùËëÜŸÌ<üßßÜN¤%x¿uçžµ8<‡ÜüsÎq‰ûeƒÄ @®½R†ßþ*Et¯Åü• þ}ìð5Ìÿåb¹tvk/ô¦ôϵ™˜pˆ´i˜_3ù¥[©0ñp–÷'Âüè°IGh½¬ .s7§¹p+MÊU1·öð“ýÆ+‡úò*ÆïOóéc}Ã67iœ~»6Å£’™æîÍ[LÄð½-aT©#Òô{M,þšþ I¨+OKO7[úzãhIÇrk” i’nˆÎàÒ Ø-Í1YòmP‹¦3Ʋ筮ƒ«vÙÆÇN)ËøãÛü6ÙÁÉA‹@3u!À}I[ÊòXôh ßYòöZ^-moúͬ n%Ïô³Û\SДƒ”= -a`³‚_o~¯å¤°ª'çrϱõ.ò% +Ææá~˜üˆ§Õµ%^¢J°—Ý›ü„tyátç®Uw KŸ¯u2pIÏÞæ¯GSA­c'©¸úð*ŸíˆÑ.×å²ä´¹†—ß2]"“šb´ÔÉ©ÃÄý~¬¬l¹ùVÍ¥”©¡ÚÞ‚¼=Û&=æÒ#?êT‘KPyëþ"ox8¹,—nÂþƒ2º¦ yÞÂÎs™smëWùÌCÈ2¡Ž‡‚:AŸXЗ·ìýz_”õGÙÏ1‘u¸‘[ i™5cÍ÷Zølõ6®UmR9§æÎ8ϪiÑÖæÑõ³\ˆ~Ÿãm-q1¯×ž×ô¦uߗ؈º”sÓ\¿v™/#›8¸sˆž˜³ç–»y…O+!¶îØÆ¶„…!¯ý¼y¢]¾Ô·M.=ǽÇ%úl¡7n 7r8UÓO9{þ’j¾nŽa[´Æ­Ï®’íÛ… ±SNrïÆm¦;óVŸLjìŸ^zœ£êÜÌ©Ã[é2`Þ‹r2ÞIX©Ë+sÿ ~7iS)T±‹%”îÞé¥M/qÿÒ%®MgIÍg©9@¬£oœàPlµY¿‘Á"$¢ ž/›ÃÜ‹|vûÏüûùÓãC˜š„“ºÅ;—R¤ 6–\¤` ÌÎí|ï`?þj–gw¯òɽ9ªŠIçðÞé$ ­Õe¦ÕÅO‡Cü6ÿ˜VŒvYÑékïçOä,WG“IÕ!W)ð0¯rhk'ûHÍÜå?g‹dbaÚåeml,òNqŠ‹ç¯q{º@ÅS ¶oâè‘t{_»ÈçŸópNÇ»Z¥oÓ΄ýk÷pY!žðòk¸mV@BP|ž$5Wà£KIîÏiä2&mÝQïÐH?˜á^ “l‘)Ìä¸q1OìLñÙyn\™âê]É©y‰0GFè¶\F/NqñQ‰œ£Ð··ƒ¶¸ÁžN™jªÀÃ/§™²’Ï«`™ì=ÓÉ_çܘM6ÞÍŸeLM Ü£'¹ð°DºìaöµsæH˜KB hDB2%ÇEÔÖhï‚,ÒÓY>ù0óÈ«ä„Écmô)Y>ºà±ý@ˆÞ¸‚—œãÝ °ë@„xP° q+¨ÐS0ûRI5‰wõ04ýœ/®Œ±ëÄòy¯é5}é+äÆHIÊpp_ˆ©É1.}<ÊÕŽÍìÛµ‰v½#í³<¸ù÷î%Ù³¡ÐÒçwï&ð‡ÃÙ½‰ÄZØžN™|v–I¯ƒ·:}È:ž“çö¥‡”Û†8¾ÍOùÉ%.ß›&¾·‹þ>_Ýz„+IH}en¦‚œÜ£RÊLsçö,Ñ=GÙK†çOðéÝNþl«Geô,Ÿ>õ³iç!Ž…u$=HØ€d*I:VÃö§Ä\2O©& éb[& ±}¼¹9ˆÏ4‘e +ÚÃȶ —¯LQv›bæx<æÈ¾ôùæùüÜcÆú"˜Ê.ÌøØ¶mˆpî³™*—*] Z«˜fE“²‰¨±B1„z·r 2ÅÓ1›šÓ8%ÕòŒ=›#Ÿí?ØO8?Ãý;·¹9gsù9Wž«ì;v=?˃ûW8ßÑÆ›‹'ƒ¥Õt#¾\.-$•°?Æ–r…[͇žKÅ©‘t ºŒæ($B*…¹*eÛÅc•4R^•çW¯òXêæÀ‘8AQbzì1g/…ùãcônÝÎ~ #œ:4LÔh@Ä­"2ÕÇ3*Š)ãœö!›õ ßm 3UvdÊ$Í0'OZ ŸWe2W&)5ŒüU‡ô|Ã…®¶ ;¶d¹•QÙw8Lo»N8 Qz2É…i…Íû»ˆÉ.\œ#£k´ÿ¤ƒpÍan"Ïè@?8m ©–ŠÐèÞe‡7ïg\jvÓª¢ˆs¼ÛÅ®¹øIбa¿_KîÃتÅ*S÷ç©ý ½;5Š·&¹öØOx‹†‘œáyÚO,,S}œ%©DT ]•‰÷·ñV‡À¯Ãé˜hIú,ÐŒ±Dùó‡<+obؾu/v_ÓkúÐòÍzpa^*RÑLâm ªWdâù8ŸMÐ>ØG$¨Eñi.Ùé1<c¼¿Ÿ¾PdÉóûÇHfŠ nî#¡­¾ÿôœ•r޲ÞALc1 NuŽ{£c<{–䉩áåg˜õ÷QÙÕMgßN}ÌøLšß݈sàýô™.s³\½û;S䡨R(UÑ”¥’`æÞ3ì¶ï3ÐßCw i–,7˜¨Ûºš1ž!«ø-‹°_ÇŠÑ_Ìj è~¢a S™ZfS“0c ºmt› 讀íU(Õ ¡í²ëJ’ë+!ºTˆxØ@›”–T/™í˜jˆ¡Î6Œt¹˜ÉI$ïsõaŽéÒ4r­D¡"Ñ›¯â²ZNÂÆyvåçBH+¼^ëà‹±¯²$Vš[ÉÉñx¬Blo‚þžv‚”Ðìw.<#I/=¡0±‰Ï ’ˆGêÀñëŠE 7κ-}M6*á ‚‘ÖI´€…VÔ‰LN’Q_÷iÄâ>1˳Gܶºúü$4•¹Ë£¤‹žfÚÙëy(ºB¢?HO§¼ à éD- 1½( ÏsÉÏå¸5Z¦T«1>SÆ_öpÖ³“®G’J{›AG‡—“9w·Ji8Ä–>—O§+ Çaü©Kb»†å«ã ]%Ò¸’Ñ®fú—U #@ÈgªìÒ§Ë|Ón¯é5}Ó¤$«=î¡Ññ7¾@z.åÜ,÷ïÜáöŒK¬??鎱$ ¯Äøý;\z0‡éåôé]mÁUŸýÆêyä–WGš·1@ÝU%ÎÈÈv6',4áá)m! IòШ ÙE²Å*Bב¨áz=:À‰7öÑ¡¢žóOµg©•ldCCUd$ˆ¥™¸vãÎSÔOr¢>¼ù{Ô¸þpE;4Ÿ†"K!-ìF”È0Û•Ïùüó)tEÃgFØ¿;ŠÒV~B,˜«…XÆêCVMŒFн,ƒÛ,õî凧:ê[%IÁ4Ö ÅiÞ®º867 ©5Ÿ«BÁ¢FÁõpBÙAÑ”µÀS=‡Š#0U Y¢¾ +*’“Áöe_?E·‚¬Êðš‹ga¿rÃsñóæBî¸66îã—èSY“% !Ë’‡ ”@HŠ„Ï”=Y,ø®-Ö½HÎü<ŸÞ¨Ò·+Êΰ:3M3ôZ´:’Rã'!¡6²ÏEàØày±a ï“"ÉX‰‡5»B*¦J‹\W—Ù꿼¦×ô'Yf¹k«[ˆHÏ©PÈÏ‘T»9t8N<À2êžœNvŠç%ƒ;÷Ð ñk¨’Xõ¹"‰u¦…¬¢z)IÊÞ„¦PÇ%Õ"t’®F0#¢Ô(8*Š€ÒämΧ”´vÎì²½zŸÙ7‡Ñu‹¸:Aš ûÚT§FÙSQk±Þ …ñ’}qbº¶‡, 4Õ%›¯R­Ùäg§I–tì&oB $¨•k¸®‡$5m–fJpü7Ä¢ÃSë„.CÁ²mÛ½ñ>UÅ 6b—y¯,N‚õrj½ºÙµ™‘Ä]–‰ %¢±˜SGœ’4 «šÅöï¤Ó§VÁV_áq@È4ýz‰ë™2ƒj‘ËãUb½eó*€ 'ìp{¾H!á`Heò©9Jþ¡o¨WÅ_}EôjU×C— $ÊéÕš ˜*0]‚®f½²@Ø5ÇÃilB] Å™ …A›°]äiQ¦ˆÂ®€€âÒêZC6܆UÝ;¶®/·T&UUØ6k2e—ˆCÝñÆ]tóðêY5š~kÕ*ÓO’ÜœÕ9x,BX<ª%Æ“5¶t*äžWQ,Uh¾ƒbœ§w+dã„-eÁJ³ú°l2]£RÉ“a¶Úw"°ù5½¦õéEÁ=^ …¬Œ°?¬â÷)KÌm²¿“›†¡¡JÒÂB°üy«‡èš»ÙÀ²âôH÷¸8¹‹3 ]—J„½‡ùèÊy~~³†+ úœà›—'ño¡+b¯6‡tùŸÞíàí¡NF¶Mðñ‡Ï-OÂ&9v‚#ñ ±]'ÙwáŸüæï¹³ç ÿâP/‰­½pîÿß %ã¸&JƒoÙðއ(}ùþz¼“á8Þå0~çÝb|<̓>ä^¤Ÿã{»ðy,œ–ºlº¸…ç|ñé(²îC3ô ðæ¾žFÖeÎKv™Ñë¼wñ9scYæKŸ“íáøñ= ËÜ8“û£y:?ÃorÏØrðto™fát+@¨&±èû:.òÁûù­¤jäÔ©} š/2[Š…ÅvéóåŸIXf]~vãCþW¡!ŒmüyÔ"¾H·ð1´o;c¯ò÷÷¿Äö$ô@» –A8M±|ýx5¡(Xa¡ä?ÿ›4}CmœÚon÷£üî)?{®a*~Ÿ´°™SB!µ >ùu† ‰§ODèØš`ÇÜ ŸübžŠ þþ6âm›LÅ&TaKÅžKv6ùgx2•'•©ñ¾m0t´‹ýñÊ$¿“AèèB ªà• \’1ƒía‰ç5æ×i×eüRÝ[Shíq•±rmwɧÓQy:_£ŠB¬Í Þf`H‚ª*ˆ«fí’„0èV´(»¤i$b*•žªï²pêÒ6ä%cHHÝÔ‰F”ÿŸ½÷l’ëÌòü~×ß̛ޔ¯‚+x `IX4Ù=ÍæöôNϨ5³Åh¥Q„ô ôv"¤/ …"´ i7bwG»½Û3ÛÓÓ–M² ‚ïmÁP>½»yÍ£™Y•U•Y€\šnüÅB=÷ÞÇÛóœó?‹þ% …€&SwF8@:¢ )íE ,㣠(‹>5W“­ §V!WD{"˜Rãnù%^âYjü´9 ßdêê&SWïÔêuiŸ<òï¶Œ~$KÒÂÙÅØµ‹¡ÿç_!É_ò-|Ë;‡[aæñmÞ;“côðvŰZFWµƒÚïmÚž·½¿Ür¹qX+¶`'¯+ Þ–Ÿiþ)‚:?ü9§­1^Û>L¯^¦8;ÃéO®¡¾ñ}ÞJ« ¾;ÙS.üêÈà¿üÍ¥ï<·‡‚VÛ,‰³uÉB KL¢é&AXÕrY|kJ!VC›­à³Hm×´kìfÙi;º˜…gƲۑŽùZâ™DxÌ<˜çïÿ6ËÞ¿aç°ÙpÄÝVˆê£'üø¬Ê‘×’lìY…¸¡YW¾]àñÝ+œ×9òöÖäÅþòìEy‰—øZAA}|œ‰¿úKD¹Ü˜¿„>âúnÝ=v©RͽX/[Ê jÔà~ðúCîÕ}\×o\¦JãšÑ,ùÇjžÏéñ€n Èʱ+„À**6¹|_*QÎWpô(½Z–LDÝòõL+ÅÒwž{qé XÒŠwáà²jŠkE¿Æýœñ­’ÐB·xîø:}Ó-žÕ»Ýó&»úóÅÝ[c1]w·{EÇ!“±y|£Fd]/ñº†Wëzør’WÞm,ŽÏ§—x‰oZ×C+C."Ö¯²ó·4ý=ˆÕ¿±¯0/ÿe`0¼k”ñ³ã|öè¾PŒC[÷²}-j˜—x‰g€¦«ôô›XúRó¿TàÂé Oý0G×›DÝäÝíЭ8¶ÇC^R·½Äï Z›½nBuÔÐWúÆ–[ª¯_¾¦Zäk’•¯xÔ¡þšG3½•ï|wëò toŸ+¼®‰UM#^¤Q¾@Bëç©ã¯ó·¼üÏÐ&]Í,žG&«ï󃿌·6¾WâIÞú~²•½61ùóå§[{’¡|n1áºdr>¾$KhtSên&Œ]®“/yØB%™Ô è_¼×áydf´ˆB½è¢„u"E·–'SQ‡˜Ú¢‰–ð]jå"E/@"f¢òÅ÷/ªÚøY ³ù“We$Ý_þ¸#ýŽÀw]TteÙfÌs°}M‘‘di¬¼Sx뎤óδ_âô}.»I~èG¶(Ÿkçúy!„·F!û”‡þ0c½z›âŽK)7Í¥ ô;ÊvKþ\;³çÚw…Gþñæf§øèaoÃwùï¥Ñ¸µ"®žæ£‡™¶ðÕQŸœä?þVæÐŸÏÎ ^ù£4Ìé<ïý¸ Ó"}1޼ÙÆ´ªèây!„O9[áêgÒo²5$}Ž:^n~ñ9û•׿ÜÏ'(û2þl;­Î§§X忇9«õð®õ„ŸLõóî·SlLu¶m(ùTçÆ™›Ëòém›ÑcGÙ›ÒNùG—ùõÅ'Ì©»ø«î&¡4ÓQäô¹›÷mecÚjLb/PÐŽ§>ßæúƒëüd&Ǽ'ðêEˆþ—#»ÙjOðŸMq¿jSò ÂÁ(ïìÚÃÛ6bkÖ½@øUîŸÿˆ&ª=Îîﲯ?Jg¾ŸÒlžS¿˜¢¸»Þ“LÚʶi …2ßcòNu8D2¢¡®–z3ovÙfêAØŽhÃ&÷!Q-qö“Ž¢qô;Ij÷6ñ—̃YN_Êp=ãû?`û Öù^ìEû°Q+ðëÿ4Cßk1¦Nfˆáøv‹ˆêS¾Åû—* íaÏPŒ Ú×~½ÈÓ»ç95ãȱ=lЍyÿvŒlx®ZáÑCkþ,˜ø-ûªCL^rnЇT"B4´èhÔ¯Îò`ÖdžHÄBXzÃÓEçðEÍÇŽdåìR†ñ;÷¸ÜÏ6öhrZ §J._¦âzÙ  ci>¥l/BÑT,É¡R*cë’¦„c—Éæ«8ȨFx4Ø0»µR‘\ÙÆñA1#¤":~±@Í 65¯Â\Á'2PdAun’Û·®pÅÐH+Á0qKƭר8:£I·)Ú¸å,™ºÀw¾ï!aaMö¨ mÇmzMÐL¢ñQ­S€ï9ÔÊErå:®I ˆ‡ ¨2¾]$S¬b»ŰHD‚˜ªBzÛâÃsHÆ'|X_l\ÍŠ³yÿ«ËÂW‡lh-+ècY‚€*5mádÂé(ßùãl±‹œû`’³ n–(|B)Cøx5›L]#bITóŽïã ð„L(¦cõlŠnÓ0^HVÌ$¬ \Û¥âÈôo‹‘2uä;¥¬-Kø>xaƒhPB…œCÍñ©;¡¨Ä’!Cê@‹×ªcŸZ©N®èáIš©‘H¨¨€]¨‘¯4¨ß̈A4¨ H‚j¾F®âã{6¥šG]i“|¯±ûÏ}|Y°4âI‘D5,EŲ4BUMé*ÜnüßÍrõ“KÌÖdŒï°;ÙØœIzˆþÑ}œU~yµ]{ÛųKd«ë7 Ñ2'Q'›)ã O<¡Ž„± YøÆŠ…!w9õÉAŽì:Æa!Âcjâ3þlCf€t`˜¿Ho!¬¸Ü¸ú÷ª³œœ·9V—Mîí£:Å|ž’#(Âb É)“Ë?åÒx•þ±½ìì¥?Z…æNBUT¢–ŠT…UJ¥±9w Ù2çÎÎ÷$Öõš$âAÉ!S”GTLMÂÎÕ(i²"6Oä8w¶Ê–¸Á@P!ÓÑ…Oµh“«øH²ŒÔ‰etÜŠMÞ•5Ç%l·§N¶¢2¼5Œª)M×k |ŸZÑ&[ò’„ÐHÄT4]£okï¦%Š¿’èÚMÚê³’©ázG•që”墿¹”Š„‰!ƒk; >fÂ@WT‚–†eªDBÑ@+-™Ðð^^Ÿû%õ>©ðãfÃôÉŒ2´q;;2§xÿBš¾ãÄÖÎà×ËvõÏa)!<›©;×¹¦÷°eÉËDSTªSW¸×éf}O‚tÔÂ\'hèÄBîL~Bn–»S‡¾;D*$7·KöÉM>¾ò˜©R [Xl9ð*‡†îœ=Š5°* IDATÅx|¡x„W¬y.ž¿C}Û¼5àòøæE>¹“¡ìéçÀáƒìŽ De’ËgopùIžªÁ¡|ï`/™“0>z„ã£}D+÷ùÅo‹ì?º™¤%˜¹}“³×óÔ”x?·èÍ£8÷€“'¯ñ¸dñæþ ûÃ>ù;'ùã`*ª]¤ÜÌwŽncÄÌpþÓ‹Ü/×)Í>¥b бm¼ûÚÉ›‡ð¨å§¸ðÙy.MUp9²‘o¿¶›1xróŸŽÏ’«:³CGö±£/Œ)³HѶ¤H+Ã×€lYlÚ OølÚqK! ƒÝÖ?4]!–yRsÉLU8ùa…Wÿ|„aצz{œ˜ìç[û.ÿbš¼.£é‚R^0txˆÃ£Oßȹº‚¢ËÈ®OÍ•éÛ?Ì[›Js9>yމ‚ÆkÿÍ({#PÍ”¹øÓ܈†ˆÈ'_Gàíýa"¥,'?Γ³=fȇ¼óÇÃìÒéèÎQj¹—?™âòS_UIޤ8ñfœP¥Ä¥S3Üžq¨û‘uiŽŒ’–+\øÝ$×g}dU›q $T¶"° n|6Íå§2‘þÇ^OÒ¯«$#lRLFœÍfcÑîÞ‚úü-ÎäÒ¸zŒ¿Xg5&¯EÞºÆ}b[¾SÞ½ÍÙËã|ò(Î÷ÿø(cƒatg–ßýê3²šŠ¦ ŠŸáƒG8¾1NÐ+ñðÆÊ±2–ÒWR.H€šK§_á¤͆Á)S%¨Xøå"«9®V4rèlk]© …g“›¼ÃGgn1Y—@ÈDFvñÆž¢¥G\ºv‡»s³h×®)rìÕ¬Oè|1 ¡ 6D©& Bba <¯XäÖ• 7—xbAÆŽö²QÌñ³T^3Áú™©S9Ý7€78.¸|9ÃÍÇù“Л±ÿHŠx¹ÈÅO¦¹1ï#k*j<Ê¡WblH©TnMð³I ³êâÔ|B;x}[@¶ÀùÓ3œ7 'ƒüÅp=*xµ:“×§8yÛ¦æpü»ýl²ÚÇé3ŒTárÿýGÌå&ûÃèe‡ªÐØðJ[”g~—§ÿ{ëÙöÈ<žçƒO]öüéëõ£¢Q“ÀÆ0Á˜º`g-ɽÛw‘¾|ŽóƒT ±Œ„ŒŠ3¸~W?¼Ì½ýƒŒ…×Ö‰þ¦á¹¼yDz7sâÄ Ó®ñÑé8߯Ñ#»ÙL³çð ¶Ì?àôé³üÃõŽdoÿÒðŸ^Kˆ¥xëø.6;áÙTJódŒN„¥…¢p³\<ûwx¯í‹`ß9Éooϰ¹g”ݯlàá‡ãÌÜs8Ó/“ mçûë ÊÓ\¹‘£ï•#ŒÊYÆo^åÓ£lÙ+(]ýˆóÅm¼þ7Ø’2ÁE¶É6©Û¿šn’Ž ±uÏ>|¯ÆåÞ·ùóJsVŠlã­ã§>º³ô2Š×ÏÇw³9<ÏÏþî 3¥a’•{\¯öóæñ- ”?e*SçƒÂö$ºÔ‰[fvòs½¼ñÃlÈB +2~áݨ0°cŒWã§Nqùéz†!Ló‹ëªJ$Æk¯6þÝÛKs—åc#pë.óO‹Œ×*<­h¬ïW¦`ëW žg»„Ɔy}GÿÊ8?¬QTð=—j2Í;‡ãôêužÜœâ½ë%ª[Ä“¼ù¦Â§¿Í.îð„+K”ûûywL'Uœâß~X!»9€;že.ÕÃ[{Cˆs÷8i¥IhG@8sO2\ÎZ¼ýÏúY>ÈŠ s{Š~Œ7¿gP+ñëŸÌ1>b"•g¸^óÆ÷S +y~üof){€ë0?™ãƒ'zäK\¿0Ë…©8ƒtú·öÑ@€×†×ªyŸÒ“ ìäÔp/qeqºì&R“õ¡Wx;fæç²¢fö졯qb[þõŸó“éùŸz5Ûa¬lfçké® [Ë ´ZxÂi/Îw¬@#¢Îƒ'·ø÷ÓL©=$C1Ž™Ýe“n%Ï“{w™8Î_êA«<ä?»Î½ÁF¶óf2NeV!yô0cÃ)‚ò*¦5ô¨ÉÆC}°–/x5žàà1•GU6|«ŸÃ&¦ ÎtË)Á’‚!)*ñÁ$GŽJTê6¯ÿɃ:P·yü$ËÍZŒ?þg)Ìùµ’ƒÔ1¢MV¡5Ì2ZU$¯8wHHz„á¸I@S!æ|üZ†j¥óXYí^«Ñü÷'§[è˜è vm~…£uîÜ;Åír‘÷ Íö bqm‡RÎ!~ A@’‘‚=¬3Ï2^±±=Ñ‹K4xœ»Õ¯­ü¶0~YnÀ¥ÅÍ\›ãj!±ÐV­1/Kà9>µb)ÝC\—!¨±qÄœ‹m @dÐ"i©MåÂE¢z™æ_ȧ ^®1~y–[ä¹ä+>aou…¦®÷ï’‚®I¤’ Š!aF ÔBºi `ß(0Óc07íÒ·7@€E=æ.ÃP ÕºÕv•†8;`zLÔVh²|# iè+40‚ÍŸçX …C%ÿ„KWîñ¸`ãŽWø§#1 D=ÃíÛ7¹ü¸Bxx o¿=@* Âòðo1UÌUÙÊedECvmêA²B ˜â૯r`}Š ìã EQ›c¦¬’s$BÍ”°£²b’îÛÄ¡ï½ÁVKáã#ã&Ñ Ï®ãx>BRˆ$5¼O^­Šíû,4}³c?»rˆ„¬H ·j 5¶ê{\½š'h¥ˆF#ÛèÚ ’táØÔü†÷&E´v¹øŽÛÉÖ¾ ªðñ%åËÒú•dÂ=QÞzk€ð½)Îäm*®Ù˜€¸>øž Rôp½ÅòÈí›¶õS‘'C iɳŽÉCƒr°ùïÆûáõQBg¸”/b¥c1‰®¸‹_‘¤Èǥ°¦ƒWonn<Û—P M—žß2xu—Æî]’Pý£QþéÄÔæÄ+¯t ö ŒfªøY·âàóy+HÈÈHø­“¬ «ÆŠ²æá×çù(£²sÔ"©Ë êž@Qd4ú£! ’M=Wà $H²„ªJ8¶ƒŽìÕ©úr£/|‘š^­ôX$‹oHà ܦ„£bûø~ûûMgÐðÔ¢ÈPmlÞdªUcRk£4´‰Û"è ߣ0WäÒmŸ=ÿÕëkE.~8ÉÔ³”ÙóÈ\¤€FÈhõ-ß—°íÆÝ¦[sñ EÓ°â}õY®LF©UìëUæ´5¢fƒ®Ê˜KîÆºuGÆø†²×KºÞX$—Biþ<7:µJ'µƒw·õVwk^y–©—Ão 318!Ýeá J+Xm§×ðæ¨ΓqÆn^‹Ñ¯¸?Wbë@œ€fSrtB†‚=yƒ³ù^¼“Ѿ0†Ôvªè°m”43FÜ|Äýò[‚2¦ï‚¢"‡{‰Tn𤰞ué ·JMÐjÚ‹>-Û¼|ˆ•á I¿ˆš$£Y=#BïÍs#aªç’­úôÔëLŒÛTÃÍÍHW£nJpbQÜ-ëXˆîßø•Õtš×^‰2”T–ú²ìPDzª`uÄt§Õ›‚ÂóªDdP§rϦTñH¸VT*‰~ ûr#Ü–«Ì”=*Š‚¤(A-›çq9N4ÜPŠp U}Þs½Œ•´p–q®ˆ£Ñ&enxZš«b1ÜG,ùoAt¸´jA‹cø‚˜oÅX‰+]oA­8Ém%ÉŸLB2€Ã\ÙÁ šXŠÇT6ÇTÙCµèã‘P PB'7‘¡²!€Qåa%À`ÀÀP$Üé|$ Ÿº+ð< Èš‚jW)×=ê¶ÃļK­_Ð6J€äûØ®À×¥F_‰ˆñ2Y;H°b3þPQ0ôvÆ©fM/Œ»æÂÜl°…+Oà"PÕrdz^C»¶ùÜoÍ/~³}›÷8~­ÄgïgÑÇúØ¿Þl(ýøõš`zÊÆN@i®F=ÁRdŒ€Fo¼Îoî—‰‡“¤õµo7 ¼*3%…XP%n×¶ö±ë5r5Þ¦OÝoúý£XT!žË›G€hïf$5,µ%îj4¶YÇަ׵¹Bçð5ç_YÇ ÅÐnqi²N¬OÃ4d$%ÂŽƒ[™½xžß9½Ô›Çµý›Çˆ&£lÐç(<¹ÎéÛygc/;¶'ùÝ'?åÿü¸áÍc÷‘£J†‰Žá`î&Ÿ¾÷|èK %W†Io]‡úéþã¸N$¤ Óp$ŠaMDZOÿŠ=ÕÏèŽýðxzóü‚7»¿ý€ÛñuÝÓÙÏ"-Y)jå¿øÙ]TÃD7C mÚʼn}ýyHJ€dïzö$Ïsê'ÿ“’„^Ï[¯±)6ı±i>¾ô!ÿêŒd¤8xìUÆU®ž¿Áì\†û³“Lø?©±}ï.FœÇœúô*ã3máûö3γ‰Ôö#+„FGò\¼XbË+Ci‡O~|‡k–LÈ ©2Š$-Š˜r«æ‚)­\œ%dð*uÞœâäµOÛŒÿâ³ëì^¶:6Ž­ùC‘©ßÊßÝ›D·tz·ôòú¾)«Ë„ j$ú£ìNMóþ¿½ÉouÔH’×߈Y—fìé Ÿþ<ˇ®„µ.ÅpZ'&'Ùy{Š“?ÏcD 4M¢7"#©*ñ¾({F&9óã›|"+Dú¢=Ñ‹µ’–cÍJ6Òé¯Þ¥R+ð°:ÂÖ „„O57ÍåÏÎráé,ç5~ú›·Ž±?Qaâò%nÌÏqg¢Bæw9înÞÇ£‚¦Œr¡‹5¤aÂq­ãX9l®FKîp:O8ÞCÜh:Ûö]<¾Äž)P€"Œðƒ¡P—T3Bßð&ú?;ÿù÷€/ÚÉúDsA4 }1³¯j²uN}ô[ç-¾ÞÇæX˜é<ç~uŸ A Š&5Ê#ÉX!ƒà,¿ú÷ŽrèX’D_”Ñi~þ·9PU”õC0 k Og+æ9ßåÑùi.Žç¸÷ØÁ—~ùs—ÛÒ슙 šsüãߎ J˜ý:ª$¨æÊ\ÿt’Û³ÆAù½ wwôs|—E" 5¨g+èeoѱ¶¢ û6å»üíuÏ0Ùu,H@9 NðïÔ°NºÞÇ·ÐZÈÜîù=ì‡l»gôë ¹i&µuìÿ†Þ?®i|ï®ÿÉ“äÿ]H €„Þy‡Þ¿ù_‘šVÅ«1@t{ÖY.²úÙŠË­eypó¿¸àµ7w²­7Ôåº5rù"%ÛC ˆÆˆ‚R®Œd…Ñ4••r‰Š&”qí Ù|ÛY5ÇbDth™ydË6nËÌ#j¢‰™l‰š ²®¯Y蚌‚‡S«0Ÿ+ã*:A+BÌ»T [up]Y7PU“hØ@µ dý 1Ë@—\ ™’eR¼þ1'‹ 6 ¥Iè6µ|{w§H¼þmŽ&:“•ûžCµ\ WvðV˜y”ÈÊÔ\ubñ–êS*”¨».¶ëá¢b:V8Œ)jäò¥¥á‘(aõ9NÍ]±Ww)æ]´„AA­R§à¨$¢2nÑ&Sò‘T ]“p%xX¢’sÑ#:ACBÔlæk ‘Œ_¨c›ဂ‚ ^s)T$¢1·d“¯ø¸®@ÒULS%”¨ÜAD—½†vÐò¹õÁ$“‘ëLN…ÓŸVÙú­~¶ÍûÊ~ç{ uû\ÙÇCB75âÌ<ÂQKA‘|*y›BU€¢ ù>Š*c& ̦‘w¶è᪡ë˜ÊóœÒ›§C¿Êã³ï1™s¸eä‡G†É¾kSÌ)9®ºa`ÃD´Fß.;.Õº@VUô@ˆDP¢˜¯a„Cua癫D-M¸µ•c%ª·60ò&(W ää )]køÕÄ#_.1SwâGÅÀPTz-“@s¡“–•f2f(J<¨7Œù…C.SB ‡ êjãnõEËfŸ­kdJ>¾$‰õFûæÊ>¾,cÈ,UUˆ \Ÿr¾F®º©ëh¢ÙW*>È2j@#j)M3¬Ûø[_X7µ¼M¡æa7M«4³!µ‚JÞ&_U•Ðu )`U|Jy›Š#¨» ¨zÐ VÐd®ËüœƒÖfG8\ûñ=檂ҫÃì KHšJ4a`©€ï2sŽß¼_aןm`wlñ Óµï9YÎýæ}nEwsbÏzÒ–ÖTúr(L?àÔ©+Ôw~‹ïn‰¡K/(úŠ „À/•˜ø«ÿçþxKº&|D῾u÷Ø¥JåÚ3 W%îúìù+ªµ¬ªF„¡;xWºÏt¡B5À0$Õ$ž4‰/û.žj¿\Ò E„ZÂôÂS „ã¬|$•vÉ¡‚f†éë[úQ ’ éðº§gñ"É(BÔ˜˜Î£ naxp€”’'/{Zæ^ù¿;y…{Ù:zßß>¸Ž¾P—|û.ó3||¦ÊоSJ¬û£vE$ð}üZ…'Uƒt´éc•~Ö"/¨Uæ²Ð?¨N»BŸé3\%9°É"±š­%à”ªÜ?;ɹ)Ÿrÿïî7é±6d¶©?äï/™ìÚâsý¦`Ç‘4›ûtTgž‹_$Ó¿‹ÒÄ ™ʺ—øæb•>ÿ²eWƒÔtï¸$„]3/U@Ž: ˪å?JdéDæW瘬H„˜š¼àÍcyøÂ¢Ù­1›½j'ã×ùU¦ãÄŒæÒ´…[^Àv­8¤eÖ^ËÞ_ÓSÆ‚6¹Ôöy³Ì2ž«²ÙóèN†´Ô¯=…º‚ÊÔ]î¹½Œíïg • XÝå–çúæ\×£šw¦qBàÕêTîMrÑéãÐÃZè É.­žKn:ǹ{þ¨_[d§ËRÛä²ü‹ý$4c«¡lÝè7ûU§œ0Ø'WŸá×YÇ¥“Yæ’ú["¡èiY®®² ÏõÉçNÓ–PÒÂlqýÔnYŒèFHþ/ñ€åî%þyOjè—¹üó(éøÔŠÓ\¾tžÓñõܹ‰¡¦q¨ðkL\½ÀGv”­;¶±­7Œ©to‰±;zó.ÅÜ·Æ«ŒØÂpÊÄhÒiÔsøäÌ îeÊ8Ac[ÂáÚÉ‹FvNDÙ©d¸uå:Óý¯ò­…ìÄ >:wŸ9O#Ú¿™×^ÝÊ€)À«ðàÊENÝš"cû‡ð½}”/ÆÓÁÝìNbÕîóËÓ¶í"¬»L^<éãLhŠwÉÊ Ówøà“;Ì‹ÇSýÄÔF}åoŸâ·“.v¹Ž[©¢Žqbl˜´Qåö¹s\š./4¨÷’#~ý¯t"+ojùEbâ†Äã%Õæ1wã,'¯ß㑵Ÿ?9º‰ .ãe¯ñç²äÊ.a¥BÙ•öoç­ƒë°êݼÈïnÍQWƒôîáÄXÓлót0<À÷G£üª4ÞÕžm±Á¯—˜¿Ê—žP’èÉÛ»Žõ‡Û®påæmîæÃÔ˳¬Û}c¡F·£œ$¡™½½Ñ Ž6ˆê»dsçÌS._ÍpWr˜¹a\ŸæøžÅÏžòt¤‡ÝëXÕ,¿>å²uŒdµ@q¾Ìç2ÜžÓ)惤}%„’/qå“i®Í ôX¯ö±§_Er+|úA!ÛLåJ¾Å‘7Ó¬ ÆÏLqþZq`=´Skz¸Ôre®}2Éåi¡é ììãÍ=ALE&5ˆ‡d¤ÊªëîÜ,¿¾ä¢ÔëȾGÆ–ˆoì娕âã,ŸÝ7yã[B¾Ãôƒy>{äÄñ† 'm ÒiÑ`Z‘t¢ý[9ü'ïÏ2 7lÛ^®/ñ‡ eå ²%Óy.²òpj÷E™šœà܇¹Ø·™}»ÖÓcô°c̤gö)w®žâÖ­^ÆölcStiøÍ›½X±‡v¯§·£:!àÕ(f™}|«?@HkŠr½×ÏÝ¥–ÞÄÑmµûç8kšÔÞÖèüìÚ=|YF©q5áøj~š×gIì9Ì^ò<¾‡nöóíûá'|ôÀbýÎW83†Mc&›!—tpàU™Ë”¨:2ÑH„¡ ›Ø–ÏAr'6Gƒ(ŠL81ÄØ6›ó¦h§$tËsŒOÆ8´o'#y>þtœ‰‘8AõŸÍضm±â%fóuÎÙlì$j“šJ¢ÍÀ~iÃÞÊ{Š.NÓVD8%&ÍQÂbû·÷+ÍpûÆu®nL±¹ö˜ 5ö9„QšåÎí œéKs¢íŽbi2†g‹ §•µ™7ùÌS.\Ëлï0‡äœg<¨#J3ÌX#Ø»éÙÉ+òd&Ço¯¤8ðÆF‚>s³O¹ps7WæŽT§\uД2ÕªÄÌ­G¸é·Ù°nˆÁPK,Ykf¢!O[¤c“ +&fXÑ$})k¾L5,±0Auj™xO&˜ìe°7Í`P%.Qu\\aSqDb zU!$Œ’Eh-¯Å]ÚE³¢¤b&ú¤¼$y9ØCP‹²©?™s˜»s‡™B…ÞÌ-.Þ)2U™Bqª”m…áb¿Oë0Q6Ïû’¼”®m5x6åâ¦e PÇ÷\!£+’¤Œ„I„T𜪋bêhjÉ3’hŸO¹+E³ìŠÔT¼y,Þƒ®,—jh¨²Œ$É‹•­ Éå¦7ŸB]%ìîÍc5H’´ ®^ÁÆ¥(š.7òª(à ßwq E’P4“¨&®w7šJWÏž3ïyxRÃá®,dô€ŽpÜ t³îÍÛVŸï’n›gŒúº]´`±Ô‘Qûû-ÎÌÅ;aßÍhð¶Ê²Œ.ùä\$Õ²LÀ”‘•¶´ZrÉåm&|ê›™Œƒ+å”a‘ìº[y:> (¨’ÜXø$ UÔ E• †dª¹:Õ°KÙSé .Ök×zkªéË4ùmWËÖK¼Äï9$u¹o4, ¿æÞ<FsrAV Xé¦7$AY4¼yÈ ìEoɰ ;_ÂŽèÈj€tÿ(‡Þ}ƒ­–ÜT\izó0[Þ<<ÏéͣɔÝR¡Xœ‚[äß­ŠîâÍ#ºÊ2o»šÞ<–Ý-*º´ÜK-† !5Ã;ü4ë©IÔÝØŠepÃ~ôÎæ¦§ !¯®$ó|‘EÔ±}ð}ŸzµŽPdù 6)XhÉœEƒrÔóá~Í¥îù+±Ø^’Š Žíá ©‘g!cªMúRIjúÁh&º ˆÓ<ž.´ƒ„°æ'²\χùÓ?‰#žføøƒÂ‚T¢ÕA‹ý¨åGÔ)Û\™°¥5<ЏußÇö}Lϧfƒ¦‚Ôˆö†POexÉEc Úɲ; Y?~½Š#76o_–ã——x‰¯#ÔžÞNÁ½€ôì ¤ïáº.æÐ^¾¿>Ù&fß.RµÖñÚ‰Ò!}AÜä- 6o:+F¸6ÅÃÊ(› *è)FS7ž<%¦Ô‰ª¾•b $“¹{•+ÎrÎ •8{õ÷Rû % >âÚ Ì^I’Т=ôšz6£ÜyÊý‡*NÌ@VCôÆuBQâÜ,!0ç¦ÉÖ" k–¬¨èºŠ=7ÅÄl’p¨ÅÅše6[ X«’Íd˜rƒÄ U–¾üvuH¿Âœctó:†’! EÅtëx˜ ÿåÓ›ð¨W Ìfòdlr!Çì¼…•ŽT}Šù"¹\•Z¥È|&KÔL`ù´¦9AI Šõ’¸yŸËClÈH²B(&¡­±x-°t¬ÑWP8E¿z‡›ŸR•òÌÞ+î‹ ,ŠS[çñÏ3?KŠŒÓa®ÆÌ”ŠêH„$¬˜Dq¦Â“0˜ÓrU½Í]‘Œª«(Õ*ž$C‘€FbÐ䯽<LƒòL…LÀbB"Ð¥ÜÂqÈælæKÅfnNC )„ rExÌO•©L”™«ÃznÝ#;W#SpqÊ6ós2a3@4 £H>sWžðÞ\˜×Ž%Ž76n^©Ì£'ej¶Š•+3阬O*H „¢A™áú}“ÔX?ÁæøêŒE3ªâô4ntˆ°i¼¼|‰?lÈ-✶-tSƒôÙHÅ$Ö»™ƒ ‹m»7õìë@·Ð)|íÉÕ ëaSäçoÏ‘Ú'Ò•0;Q<}•OOÝÀ&ȦGHh.ãOe¶îZO<e£È rW¸û¤ÆèÖ>öì[ÏGŸá§× ëgïá©0‘­¯qܾÈÇWÎpÉkèï¼2Bï®mô||Ó§ïc¥ ¤b„õ†‚ƒb†Hýä¿)¥ÙÔôæ1uïgîeÉû6ÅËW˜ŽptÏ¡@Œ´l Ë€¤IÄÐ ·\Aòg¹pvŠ‹ª‚,$ú6ñækc ›++Hx5²S·8uuŠ’Qyr—³…Ò¡=lŠT¹}í÷&«P}•+òòA†,zâB3§ENJƉ›‘MÝVàƒ3qXï&^?–&±Æ¨„B*&ªª]'Õ†RF$ÑÏÞó|xþSîÊ&j|Ç6÷ *H”@ŒTØ@ûœ—_j@'¶½— e¸|¦ÈýM}¼±Ç¢gwŠžç8ûq+mÒ×cn¹"R5b=6蓜ü°ÆÀ¦¯´èÛ’bë'S|ø¾ ²ãPM ÉUˆ¦ ‚úRŽ~©È• y&²`²\ÌÙÄ“û'‰÷ÅXkŠß, ›lÛ¤”}*™"ÏÍó´àr2\½¨QRûÙ?bjŽÆ%ªZ(…Ü­YÊw%_¥g?;b²˜A԰Ƨ·4Ž ª]¹h™,¹Õ9®ß©Ñ¿>M<¤¿€Ê—x‰ß#¬Æ5~gÿØ¿þ;AË›‡Dü¯ÿGÿÃ_/xóøÒÐ[¹fßæ½39FïaçP «9‘®$&Xvê‘Úö ÈÚïf–ß¿,7(kEØv\Îþ²PWº…fzu~øsN[c¼¶}˜^½Lqv†ÓŸ\C}ãû¼•îìÍ£“=å¯uÒž¾´C[¼Ë¾èjƒ¹øA›„wáTºòõg°ƒ\x³-®`séÊÓÖ,ËÑ­ÉmSWd¹Sf:ßvƲ=jç|-Kª>9Á¿þ@åÍI{Ô†'’¶ÈüZ‡×§89ã‡ß‹’»·¡á×™½õ ¿|åð¡­lH»ä—l:/ñáûdþå¿ û/þ¯E]!üËåÊßüèöÝ¿ùZ’•KjÔà~ðúCîÕ}\×oتH 5£YòÕî;»+†tÿ¤Ó³• bW#TTlrù ¾T¢œ¯àèQz;8h[X¸VË×3)ö,}繉S¤g‡..šk¹¾ù¼r{üÝšeµÄW<^­;½Ü-ÝÕ“}æw„´üd6ü6J …²æÝe½b35Qbbʧ{h ñj^•¬?Èë‡è6Çå›Ì—x‰?HM渥»W‰Æä×Ì› k$ŠÄêßÎØW¡/ûF?;Îgîà Å1´u/ÛO޾ċCÒtz’ ÆòûaÏ%ÿtžOÎWÑSœX§.2­_”­;—ú\zÉ2÷ÈèÂ=ÞÔbMˬE͉†ÚëW5j¾¦:çk’•¯xÔ¡þš;|3½•ï|wëò LË^µJÚÉÊWäm•ï¾t3MXí®¹ó7Ïïhµ[Úkã¹Óz†6h{yõ|=g»¨©4ÿäíæ§Kh¤FùÑèB´´ŸWsrþµÂ ™™| ËñßXtêJív[—¿³\íõË'+x®C­T ª†ˆ¶|_Zeññ<G¨˜êÒIÑsj 6Z,†Õõ ¸çi÷ô=צ+Q©»¨‘IK_bœîÛyf«:±°‰ñ¥X}/.¾ïR¬•™«ËôFÄž!yßµq% My1T‹÷œ¾k3U©á™!út]!2¥2Y×ÕT’Vˆ¸¦ ²Â’æYS¤^Ê3_¶q…J(%bvWV®G¹`S–4,É¥,tzâÊs¥»x/¼âI—ðåypÉä|€þõ£zu—BÎÁ å¶® ©è2¸µ<™ŠB8ÀÔJ^â¥Xø%¾¨-åœ%訜#ð]½OÏÁöåÆd'K då¦x«“•ãÕ)NßçÒ¹›ä‡pdûé€ò‚»Í/Bpk²Oyè3Ö«·íÖ]J¹i.]˜ çØQ¶[r—ü³aå ǧVœãò§ŸqåÖ#´×ÿ”?¤Çìêì¹ëüîAGw0Ѻžl_u!\rÅI~uç¿Íøë7q°‹6ì¢ë*ÒÓLŠYÕ.§àöÔ;®>•j–ñéüÝíG”Gñ?¯ëaX»ô”ÿt}œ››ª0ؽyŒ?ëO^NyÓÈÐu%~•ûç?⃉*B³ûð«ìëì²B:Å*7?|ÈY­‡WÔ9N{CüówìáìcišŸ§…@TKœýÔfã+ 6ôj¨kÄùü§øi>÷7>¥Ù<§~1Åô±ŒžçîÈïŒÒT§oñþ¥ Ãc{Ø3ÃR›ð—ÇÈ—ø"йÉб®X­:¾ïÕ)ç¦xXÐI%"DCÁ&13øÕYÌúÁ‰XKoxºèÞâ8Y9 [§G»”aüÎ=.÷óƒ=$š®®„S%—/Sq=„l†±4ŸR¶ˆ¡h*–äP)•±õIS±ËdóUdT#H<l˜]Z©H®lãø ˜R¿X f† ›ŠWa®à (² :7Éí[W¸bh¤•`˜¸%ãÖkTѤÛmÜr–L]à»ß÷0‰°‰&{T ж‹ãzIK3‰ÆcD;r’*Xñ^9|daòÿoï̞㸲3ÿ»¹gíP… ¸„¸S")’’¨V·ÝVË~h·ýâp¸_üâpÄÌà°çyÂó03/ž‡‰˜ »cÜÓíiF–ØMj'Å­¹ƒWÄV¨}ËÌ뇪 `D¤ Qõ1Teâä½yóæ=çž{Ïw¸°HIjÅ,YRŒnŒ±òµ<39Ç•¨¸8T3@¸2ùÔn$<·Ì…äùÓQ?jcJíáÝc&Ÿ¼±@uWb®œàè»ûx%8ͯþù Óù $Šc\.÷óαíô¿àaºÊ‰ùQöÄÖ2ÇPIì8È}óL^Y<Ê•óB ³ÿÝ7Iåîqúä9®¤·ðji‚«s½¼÷G»ñ§ïðÅ©³œ™ÙH2ÃØ*ÃßfßPËqQ m™NÒèPBA×Lü«tw =Âè¾ý”îÏðpäG·¤ˆj d™k®0ßÏûLJH(YÆ/Ÿæ“sŒ¦¶Zj7®hÄõÄⳡÄ^¿}’ÿyá2i}½?LjY« Ür–É»7™ŒâÏŽDÉܹÄG§/3¾é-¶$wp<¥8­?r˜ÝC |Êʳ-Å2é{%E6mɬVÏÃK%9’œ¢Vöø¬á؆_MÔÛ}l<°Áוéç~ó«³)†7èØS¼5˜ÎÑš]ZJÜR}tïîò#ÏÝâדrCõ¬9Ï-êÙ­2HðþáÑÙLL;œ¸Pâ•#}áãjì²v+CIQÉT%CËe5ðœj ÇħŠa¹„Ú<÷榹ûÙ ÆÎÕ³yÌù7áJ‰ÝÊád=›Ç×xk#á0SšáêíÛ8ü çE•B©Š±©B¥"˜½“Áן$´1‰†j ( « bíf<š"hð›6×UÛ“• ¡ì‰4 4Í& º8ž‡§(×Á•®ëá9 ¼;{å›då |«-ç´`[Óc*è%Ÿ)™*•)ÍÝáú¹ÿ{¯‘ÍCa¨ R0<'Μ!—~…ý[è].-Y£lî¿•F`å¿_hËæ?¸d4ú6ûñ[º° FãXc“Ì{O*ÈEdá°¤ée=wiÅÏ«ÉSs®d ì ÚØºhãK”8•ùtèH [3qü1’Úene]uu"¨?ÿÇܺOÜåó] ¶­b¢¢ª ¶¡¡ Y•¸Õ37g97^¡T®1?ïq›ÍÓ¨ïÒåä/ªa 2¬@Fâzõgøüê¬é¦‚³±*Uô±2U#L8eR¸]"ß«’®Ùdc>mãš” tB~A±êáx]ÕØÅ·ƒÈÊ=ʹi®_¹Âå)øÆý¼? T°d‰ׯpæÆ 2:ÄÛo'éï µ=ò[$–ÛÙÐZÜR½îÕ¨j vïÞÁ¶dCH¤¤'¤£(§H¶XE˜ 5<)0c›9úÖ>RõÙŽBw¦[²y( |r¡ìÆÊ”çà5ó$ñXy.Z Û@S­Ù<´èVvhŸòé§“˜ší‹²Wôù¥ê6ªîÃZ’ÍC**᡽üÞ›©zŒ¢a‡|(Š`ãÞ£üþÔ$·Æ/ñ«§xëØN¶%üí9b׌¦;£uºíRq>½N@PP4ÅÍÔssv„×ï>ÀëæýþÜ þûýîÅBÄu³m;K¯¾V¬›z£­4Læù”,/MðTP —ù©,§Ï—è=’b VäæÙifžVWUŧ TQ¿ž|º]³,VÚX¥j CRUPt<¤©ê ¹žæúLˆ¹9m‡ôU¦Úª÷™g¨n]¬ˆV'«OQ„­(«_ƒ”n…B~†9}€×&H„­ú Œ›ä^ÉføÕ=ôÆ#Dýº"Ú×±bö¡êV³4GÚÙ„¡Q·0(V…9Ï ‰Õj\M@éáe¾J')½ßépçÜu¦ßÙŠiIèÌb_ŽëÖ(K½f Qx0Å܆qÓG¢*C÷Èæ«TkùéGÌ•LœfÝ„@(P+×ð<‰¢<~e›=$õµélÒÏ,šq¨PðbŒŒlf(ÆÖu‚¡gê=ô˜j®1P7C+š™#Ûk—Í£ùÔ[³y(–?F°šÅñ¿JŸÜZGS@º8zÔ M8¤2óáufòe6ÆühÏ•uP  rÍÅq=¤&ªŸÁˆËåÙ"…¤‹¥”ɧg(ù“„;.[R«Õ>ƒi«@¥Öœy´¯fê¢ó÷稤B i&ÝÃ!µ6ã>ã-¯báÇãB€ô¨–kÌv$Lü3yÒwaW³ñ,JÇ+8ýe}kœ‘~[<‡éGUŠÃ.Æ£<¹éÕ@Œ€®b-B8}Cà÷…8Xt‹m!é™Ê*Dµo)Œ©‹ï „m!l Y,Ö¿[-Ó·Õ2}«VB5 %6³?¢ã·µEÉsU¯nX–®( Š`éñ¦¾XÑ¢ZC ÕkœžØÉÛ)ÓTZ”½¯ó›s_ó¿.Õð„ÅÆGykÐáâÙ‡ø7ï¦?f¯1ƒúÍeN]ëã†ûØ=2ÁoóKþ‹§`…’ìzã‡â!â;±ïôUN~8ÆGžhlÒ"9²ñÅ—üÓ˜A( âIZ£Þªå'Ò¡üå‡ü‰>¶6ÈÊ'®~É«“þ?ÿÈÿW ½›yóèN6éi.œ<Ë¥é.n`3»‚+l¨Zè,¸ˆWÇzgÑ¿%ÁéóŸó‹+†_;ÄCa¶ìÛÁý3çùå¯p¤‚éO°ûÀ0‘§:ê«,”¯³eãþ—ùû{5©²iÃ.mcÙݺ/ÌÀðVÆ¿þ”øGPƒ;÷ñª_ÔC9y,¿]ÏÞãxÇfRšŠMQñ‡,ú­Y>øß7‰øV¼[ιwvŠ«ÓEÆîÖ˜ÿ¸Â­‘Ç^‘ ´löj.°öÛ’Õ·¯ÏcÄ § RQSÓü¿ž¦Z–h‹Ñ£AüB øuâ)‹üçbïôPë¥/ï]­+üZúWjIF£Az».ºX#¥]h£q}ïž3ö5û¨‚äßü÷Þ[ÃX‰•c¹símÒ•ÐæµœršÛWÏóÁU›7¿ÊH2PÏ;é”™ÏäÈW\$ v8BÄ”äç ]×°©Q,ä)ªA>§R$)Pñ@ÑL‚‘!ƒ…0t¡‚Ó ó[è²Ì\:OÙÅÐÁÓˆFüº‚ŠK­\dv¾€£øüÍtWYÒ¥Žã¡&šfšh•,iÏGÄob‡ì\á·È]þ”S¹[{ˆÊ™,7Ç&‰½õ#ŽÄÚ•K—j)Ç\®Šë88ª†¦„ÃÁzº«lŽR¹JÙ蚆R+¤ „F"j"œ*Å|žŠ/JDu©s¤sºé#õcQ#“Α¯¹õ0 3@,ha6¦mãä9kN•ÙR•` >®´ž$·œc6[¢&¬P˜ˆ©¡R#“É‘¯4Ã<ìú=ªËõf\¥G±˜#£ùˆëz(À-ó¨P"ëzxhDü~⺆þÄzW36pi˜‡A &d4 >Yc~. â3´º¢Zå½ðŽtàšoÊ9ù*MÃO )!/uªK¾¢ @!S![M†@Ø&aÍ£”­R¨yTª hÃ6ˆù´ƒ2ð™Y®0[V Ttu%5µ à8ÌÎÔP‚aŸŠJßýÓMn`1–´IDAT &°ñi ª¦Ž™ø5Às˜Ÿá£OŠìüéfvEZÖ¡ŸlúrF-Í™>áZxïìÙDŸ_oè÷®ŠìâÙ ¥¤6~‹ûñçxù|Ý'¥ôW~vmìȪf+uÄåÏuÞy›jU3C ò1Σl‘RÔÆ4U„f[D—ÈE­á×pŒ@ó›$iÛ¦a£ûlŽ9‡Ç𲡰UQw¡7tuÃe¡³ýpŠWûtÅBD*¦]Å}<ÙõTü1»ñ¬#Úóx-,“„^ãÖW÷™™­0–_\/US°ýPÈxOdK1S Þ~-D" Oµ»4ê®Lz’>¢Fssõ]´‡B¶‚›Œ°1Ð’™dù†£8=A¡w'G†éYÈ'ÚUŽ]¼HÔû×ú"+_Øå¨bâlØá'áغºpþ;ýZHƒÔÖ>.\ü†_]?‹.Bµˆ îäà[5¿VrÇÏäyîò|ì‚|¶Ë| ýJQñѼvÌZXÓ^TÚÍ.þˆŽ¥Š3c’T¾ÑU K×Y¨ ¸mÖ_…a¶›Üí×Ê”Õâr¯ß›Gv*ÃÉ}ÄŒæcôXˆ`Ó3°b%¬ø&öEu|¦þx-|¿]|‡Ð>z@ÔöqÎÿŽoAG**ªá§ÍÜï» ¡Þ¸›w£E*nÝÜŠŠå iË¢ÓÅËÝÔéI=¯ˆüç/\¹jï9èÃïldÐÒ ¶ÞªPðEú£ê„cÚŠ›õZ¡šþųäﺡÜź‚°l„eC.×zØu®ŠW– hÉ5‡5?¼ÄLýi‚bøI$Ú9ÀšÔÅË„uëxŠF|1‹v«š¡“Xb ¬Ü4/ñXÐÅúÁÒd‹;Gƒ¥}Y€a|[Uûž¡ûÂwñc…Ûíö]|¡µ[è:0ºè¢‹.ºø¾`‘ÆkÙ Ðf“ŽDJéyÏa÷Ã*ÐR-‹uëšë¢‹.ºxI ÚÇA€ù¤‚”’ôû¯(áðSý"š†–L-·h9rÉŽ‚¯TµžÐYU;+O„ev¦›.#ËîHn!Ñ­mw¾ÎÓ¬§¢<ƒñð-+Ö®"o‹®ÓEë¶öäà&`´ ó(~þÙZ‹Z£Ü‹Å x‡ rAÑ5äêE—*ÈN”2 ²ÓVíM" ££Ç ¨±Âçï¬m !çë¸<%B …;.]GèE& !@Õ:^W¢nü ÃèØÀAQ:7Æ_drk-n}¾·ë]#çûÉBÆb´šFOx6"àuJ#Üdopí­Z¬ù!ŸÞ5zAøÝ3ʯßÁ@ºkP¢¡ ;ëBkÈuhà4d§ƒ«0 ÔÞdÇG׋ÓN¬ëÅéâÙ MJÎØ¿@ñîÐY§j{b·””P­Ôÿw"ö‚ª³~±>_ß®g¥âº^œeå^°GJ‰ôÜe í?Þ¾óó¿Ý0ø~EÙ¥€²ÖÄpÏ0½ð7ú™ Ë|~dË/ÙÙËÙòy}Žvÿøþ)ºµb¶T׋³J¬ßWþeôâH)Áóp&&–ž²[l3ÍÞm¶µýç=ñ¡o@Pßí3BYí]4ø&õº\#íê¡5äÚ†¨,[b«iùêΤÕÝeËPãƒFžÜ5È­¶Ž ˆ¹ŽžFKA]#§à Ù5pºèâ{Ñ™ºIzHïO®YtÏ‚gj„o»ý:*ÏV„Øbš>±{ª£2Ö¤°Ëuìï¸<ü¼'>8`èfçþ’@°Rcå: :©g1 Ö©Ùjš†­(F'޶B «“ß*×IiدԟaÇï„òøã¥4p– w½8]¼`Ô³yàýìÚ#݇ÿA,ùý —ø¶ÐQy[L£® ;õÓûÎ>û|ælcccÀd°IA"”PŽ«Íygv'wW}ÿè™Ù$„-ìù¼^#ÍöT=]]Ýýyªžzž§„_Ól¿©ŸõÑÙn÷‡BG1*ìG‚Q¥”Š@\ ÆHQÄ}éxg¿ï–Ì$÷Wëwˆ9¿ÕD DŸ••äÁx< ãÉ=ALZ_M§P9äpÚB<5oÆúYNÿ½BàS1 aªÌ÷1P|)CÅh”Éfr)¯ é:ˆNð³R %âÑØx„©²õ›Óm˜èÍ@BŒÓ¥”: 0ŽÒ@AK2Ù÷Ó®ÞÞ .0£â]“^#*ý‰û>ºN$¢1©ä$2Þ rJ#‡?[ˆƒK½œ Äx4ðG‚öó6 1ìàÉö¨:ãÐÙt0i­itÞÒ˜ø÷ aNt®,aŽ>ŸE˜cÛc1ú¡D<“ô€uš˜|¤ß Žû´X§°ÊL¤4R‰Ÿvõ4O¢4¦P j¸R¯>éßåxe”RĤ?œHŸãaÊúãj³N{ˆKý¸š?%Yæ`a ¥PC$y²#ý+rÂÕN‘ÒN˜‘âJ![>2A]JŤ?”HŽO˜Ö}èM&jã Ð1‰ÒHM©f¥Tê§]=Í-Ic¼®MúãJ˜üw–â5˜PiÈäáDr²ÙÔ;ÁŸ¥Ò–.z8;C˜#ïÿt9ô½vÙïÅÿ…`J¥‘µî¼óÐP‘?ÅLCŒRãŽÃIFÉß ²„9‘M?&eòP"1>aZ÷!=S˜ ¤€fÄØ6(…eË„eŒ×ÓJ!-¥‘JMrŽ©”FF)LT›¥4”<œHL4›Éž$ÝŸˆKm– 'LÿõïǵhñÐW€ibtv‚iŽwfP ££ cÄ3?¼éfO/*™ U R*•÷ñP(Kvr|§eÝ“¨D<­à'¸ôXܪ}’oÊäxoÑð{«µA˜Jip LTÓÿù¤«M¡8¦šidÊL¥4&T ‘ú¸æ¥´Ò‡&"Lë>$¥RïêèüÞÆðÀJˆW&®E‹É»ìò‘³ôwL0“×·3…J«Œ¬Úiœ¥„)Sesœß¦EúV&aöö ¢Ñ ëËpOÐ<†i)…‰”†R¨XlHà(ùJ)T"n•›¨bñìõžz¼·hø´líð7rB&˜‚ŽÄßO¦”:¾Tˆõù&öN•†@àÕt»=“µUZóí5«>pàÐ¥¶ñJBˆ‘„ùn›8•§Žp¾»§™‹&þé¡4²„9ÒF˜ã¢R0aª4aNHúi¥0ÒèíM+…ñë«hÄ*3A}•LbvŽ?ÓS*£âÙò#«§LJ&K£å*›\i$“`˜9¥ÁiÜÚ)ÇIi*O×þª¬d帄©Ä/ã_:Þ±Ò˜¼¾€CG8“‹ñûßa;¦Â‰úc(„9²|ViħEOA˜*M˜‘~f&0!éG£Ölb‚ú–R蜰>)£³}|Ř>¦²3ñD¤û@Ž?[U H&Q¦1q¥ H¥þ,”Æ;ÍN^_ P¢ÒîpK˜¦ØȎšC£ rJæÂ9ÅTÃíž–˜‰^’©TŸ>-露™ˆÔ§P C„9žHe¢Í ¦a“Ñr’™†a™°”oIgĺÇDŠ/c›¨ *ž°Ö&Æ¿KñMpã•Ç4ÃÛ#%Äãœ_ ý+JAK*98.av+Iãž=ô÷÷O¯!Á(**"??Ó4ÿÔMÉ!‡‘Ðuë3œ®ÉëBUõø¿jE1‘¼„E˜þžLZ„;Mø=ò=Ô­”¨xb$!KI××¾BòÈá¡CÀO;{:Ʀ‘Ûß|“L»!‰B°råJV­ZEr²Å¨I0²ÊÈÅÑ& Fœ f"™YŒZçûs’™<޽д“‘–EB%H˜ Üš›ˆÁ­»qjr£ûŸ72橉Þ-פ?B `/(˜Ôí\I1|“b+`Üf¨?Ä¡cǸð q8iá'öèþ%¸Á+¥Ø½{7BkuúópËmq/ýI%JJ¤4QR!¥É +Äï«7¡€sì5|Ú½zÊ;p 5N{ÂÍ@œ2¥”ÙïBI Ü’³ê}xœSO<´ÄhKxH€2‡ÉTe¦e")p™¬žëŸžÌw¡™¾RRôÕ¯âØ½HOëåñÐóOÿDjÖ¬ìñéÀÄš9èè´Æ›yªë .È_Çèû—Pë™9MI9œ.³ = J)„ÆF+˜€04MÃf³a³ÙH˜Gó‰š6L JÉ샮”D*ë»S—Ø¢Ô—é'84¼Þpþ}x™‰ÊOïÄB;ÉQËñ¨‡þ”«¾€®@‡ #NƒW§Y±S¶ñb÷VÖ—Ô2#¯bR™m1ý)‡åÅ+@i€f-¨ôвBÑc$‰$ä´ˆ¨5æ¶dªqdÚÒ 4'(óT·3óhÑ(Áo|ƒ¼ÆCˆòk<ýŒªþýþ‚T]‚é‘fG²WÛYã?Öx+ûCû°w„SatgO­‹â@ù4$åð^ŒÅñ1é¢@d| ëz–‰ á ¤ü]›ÈÉ>¨™ÇY)EG_ s…95aNkº%2E§…ñÎ9>! DÚ@X_²/Ïtˆ~¸L}2Ñ$ˆ¤l8l[ZÛ)‹&"‘Afæ âsh|ÌXÄt¶°ãØNâ…ë§(HJ×9Q¿ZG‚XLbʉ"âÆ—9JA,Åew£ ëúc1‰až˜Ì‘~¾#K)Ô ´D,†gã øö¿˜_ÊŽÚeà˃¹³q8ÿúÏtÿàn”Ç3-¹J)6v¿¼Ü³ —°sXobNp©Ž¯z‘y³–S坯©§§ç*Iw[¡„‰.6§ ¿{¼×M õR~Êöiµ)‡?ÆÒ†äø~˜B ë:J)¤”˜†äüy~ŠóYS‚RCûÌw]<¾© ¥,W(•dËoÉ¡¤‹<¯“”½„g-¥®8Ï"]aéz¥R´ì?@q uZ¾ÎKû<\·þ lBœÔ_)…LÐsl;¯¼ÝIʇ¿Œ‹.\Ç®Yo¾Œ°ëì9ÞEJB°v!g.Ÿ‹o<˜%Ü“’l8³ˆòB§5 WŠX<ƶmQ¦I*ådóæÍx;;h˜»Ú¼©F1ŠbŸƒ gW"¥‰~ #ô¢%Û0Q©>´’ „Z[Z¦ÓHŠý®9»’p"Ì¡Þ}4ö¡g ¤Ø[ÏyõïÃn³Ó?Ÿ¾ÌL;•BÊôG)L©¦Â0š&M[&8¤ä_G,_ç^ŒºäRÔO~R"®»ví„þ{qöwa;|˜Ô‰]§Š_µÝÃ,÷ª]µÈ{úÞäÜÀâñ0½ñ$û›“¯çáëíaÞ¬å#ë§ÚØøØãô/|– Z÷næéÝm\vLJ)u›t´u’RvŸò"/6?Á¡%Ür–›ËOaq[¸=Ÿ ßƒé¤/é%Xà%ÑßAO8ŽÔl(i'XZˆ×9áD1‡“ưmÖãS?%4M³lJJ¡”¤Øo§,à°lSaJi}L…a€)…~ºf½éAH“þŽ^ŠÎÙÀÅ Šxè{w±½ €BÄ[TŠ“D4DÒˆ²÷­×iœá¥dA‘>ZZikmFלx…ø] õŒƒî"¿ @ž:Ú{A³lˆ6O€|¯[f¦¬» T/ኙnÂÍ;ÙôØ3t¯\Nu`Șì+¯çÜgãêy•Ç^ØÎÞY³YQ¨¥ ò‰ÛÉNÉ•´n‚&@i%!•L‘J%PJÑê§µµ•ŠüYT&—ã²Mø­”%O%‘Ñ]Ø´(72eJ…Á·Í^€0NÀ¡¬{y g7»:ßd0>ˆ‘ôECh‰ã˜ÊÄ)ìÖu2µ´¢ÌLÉ5),ÿ_M¡)–žœH;‘Õ?›·ÀY«Ñ>óëL$0¿þòh#ªÄ7-™)Óàw­\B§ÁWE¸•¶Á>ò½\2s-¼õ$sõ9»K†F—VcÐl. *k™Q렺Эçm»CHó(¿{t‘xJfsûM—a&è<ð 7÷czªXvÑzfîù›=—pãÅ‹ØõO´-ç†õ‹xó÷¿ãÆ4›ÆFÜy=+gO¯r˜T,6ä<„œr„iš–1Þz¹Ó£)]ñDó¼Òö2Ÿ[øEò˜R¡kÊ0-›Qæ™ÌøP)…iJRR¡%úhÚ¹1ïjݼýüS}‹ô¤’˜©A:»LÌ ïÐëìì›ÉÎìâÙ7ãÌX²±ÿa6k‹¹ø¼Z~ý³û¨;ï|–VÚøÝ“»XwÉJæ”g"ªB˜üþ·?cËöò3¹Ð£#³þknJ+Ü(% …{‘6/δ}ë…}þùçéììñ¢³nݺ“aJifûº&ðùóðz½´µ¶ñÆkopÕ†ë)®œÍ¯žÞ=M™–s*ô *Ù†°»‘ñ8ñv´‚µ¸Ê/C×ÈHdÚD¤Ò.‡Úöî0³pgÎ;›ã´GÛxl篹láU ÜÓ–™é{!šB ¤¦¦¥€4¡ÐÓ}t"6挳6;w _þ2jlD¾ú*J¥ pjÅ#ÜQõa¶õ¾Å÷Ýźò…t÷µÐ1ØOmá\±ûš·aÆ ^¿Êþ‡ó—~‰šÂÚaB†fEºÓE^q]‘V^yá÷ *^G‚HÓvŽvKJs¨YÁ§n[ÀñmÏðÀýORÖ^@¡°ì°ñ¾^ŒÍãú;Îd¦7Ä¿}ó1¦¿|•Ãt¡¤Ï¿5 $&´a !²#L™!=1d»ÜÒñ h~Š5ÜIÐY€¦iÙ:RÊ!Û ”(çà뛈Íǹ`-KçÍÁ±³éX){+ûÃe4 év»ñSèu0 »ðgR]Ykàoîo¦kfÞ æÖV"œ39üJ]É*„§œŠ²rJJuôð"±¦ôfG=Js±üÜ‹©m;ÊþÝéX‰+ß‘m#2E¤·…;âTÎ;“ ‡5J¶ª+ü~?ííí8ÓÎÔ‰D‚@ 0t'zCiš¨ÌP_Xk6,X„iHfÍšÍÒåKéîO#÷)d*‰2Iõp”}½;é÷r¸ï ÉS&Qjzî™vZ—=”ÝEC 0Hµ¢çÙ{H…{§®e `hSO;­þTpÖYˆ|-³Iu5âÒKQ/>2§îK°H³ÈQD@äcƒI‰Sì!™2P¦§òð‰sn!è)"Ï™7ª1gnE¤¯›¦Æ^ kÜĽÎ_w•~;JJ‚%^öBeVo­E/Ý¡ƒi"x$‰afžG‘%c1b%!‡S‰‰ÔДSrÓ4-§ìaö: sËׂ"O6›@*ë&ÊôT={¥D '³–¯áâEµ¡!®Jº7¾ARïè»·nåt—¦ajѰ9¼$h:šL`¤FLÃ@˜*]^Ý…M³ÈZSéúGr%1S&ùE¥xI"-»ˆ%Iº¦N§h÷qÞ~c y Ö±`V16%É$eWJQ__Okk+©t*¯×KCCÃI&€i(©†¿”õÝ—çãìsÎeõÙk¬nÓ0­;8Å©¤i"Sý€ÂHÄQ¦Ä®`·ïÞA"žÀá›…°Ù§?L÷c©¯”˜ŒÐÔv„P$D,ÃHš,­:‹|o>ý e]Ï È„‘‹lf'ÝÏþ/¥^ wUÇwqdÛƒ˜…F”M*S áu¢µ|>Rÿ÷`𨾸Eô+.G݇ìnŸö*bÀQÀŠÂ•íÙËžO™ÛCkè8:>^?°‡•Õg1»¨žÚ`í¨š™ŠÓß|Œ£†¢iÏ6¶µ¹£´gu!MáEnf¦@ T2BoãvqÒt¬ ÷œ%«AíïâXs3Í;‰zM?¾Þ—8zÐðÒ5˜ .ñ.À0Æ‹2™ö¢OfZžyÉ„àÊW±~Æ•V”¥Zƒ5 Ã"´ÌC)Íì”ܲm¦o±ÃÏ9#lÏæ}Ë‹QÒÄ—¯ÑôÄ=<²ærjM†iJ@P´â}”¼¼™Ÿÿp JÏ㌳×R¦K+:^J¬÷ÐòcÌDÞ¤º8´ål<ÔÒ\V6°Þg£uÏK<¿×ÍWÖ°ñ‘GyéP¥»9¬báºË8³dhÅÒét2kÖ,6oÞŒ”’sÏ=›ÍfôIÚ0¥a¹f‘%Í4qfß塤‰ï&1Ê”hŽr¼µ‹’Éþ]„÷þ©\xª®¢hæhv/=-ái›-ßHËŽYá­äì²uHÓÀçòcvŠ|ÅØu;½²oüº Ú©¤µ°cé+ö,ÕÛNÿÖg¨û‡!ì:ye³0¾ñW˜+®š’0SsæÐýÅÿÂß…ºïg¨Ÿÿ ¹óm”ab¾¹êÊ0Ú:‰–c¤}1§‚ßáçêÙ×ð_/}—æîVlÁ*šÚ0S®˜·ž—v¿È»:øÂÕ_¤À[­'ìåœåU„BÌZñ>–^d­’^p-Áö. ©®<œ .¼‘ϯV#Æüs.çì¢ ^m.ë«z‰¤àŒ Ÿb¾½Ož‡;n»„P4Ab †¯j&ùÓ ÍaúPÉ*1&#\ˆN8%ÏŒ0…HÓ ­;‚”*ë Í“žv(¥P’)k„74r°±ìŠ W€™ame’즹ßIEý u‰i *æ¯æÚŠ(öü±”’j!%…• \¶ÞÀéò³`åyTÌÍMAAÝW\¾_¾)ࢫÖâÎÏ UtäQ¹t-—Õ§š§7§…Õgpa¡†¦¹Xþ¾«©_kXîTv'y>F„:*¥ƒ”—[+Õ………#ìp' Tø žßz=ÝÏRJ”if}Z3‹m†!™_›?å H¤"üòÙƒ(Sâ63ßñ8±x)»Ã ‰v” íÚ—^•–¬š˜V;Irïö¤’$™Š£$è"™nc‹Õ~SrÖü‚©Dµó™½iÇ÷ôÇ4qôa¶î$ñ‡ÿ‹2ºˆ „‘ÞØ§HF(·›øºu ¾ö*®½;Ñm UVÒêSÙÜFlÑ ¢w~¦éRàÐܾâžÝ÷ G:ÒÓ;@MA —.¼Œ5sÎ>·oÔE:(ª¬¦hyºÝMeuÍÈsJ¨s;œ—3¢G•Aç¡=ìkï#š49ÿÂs©*šþµä0=d‚ÆEMšÞ-3ÂÒ䉗vcH4Ó#NÃÀLGf¨ÌC/¡¶XÇ4í#ˆÄ,ÊÚ7T2L÷‘7ht5p^u)BZñvw>¥îüt-;.·e€Õ‚EÖ¬Õå+ Ü7ô™‚…–ýH*­'/KxBÇ•_BE~¶ Ò4±¹|»,™ùÅ¥ ûÙ*3Ìn¨”ÂãñÐÐЀ®ëx½ÞwD˜kÎ(<©z“aÕÜaYŒBýЫãš÷QÖèÞ“–yVÃèž9yYŒhg P‘Yĵ÷Ѽûl©#àXö1lþÉW3Ö éñúòW0¾úl»wƒmèáW¢w~³®.[gº(É+åæ·"•ä×›ïãÍC[iíicaí$YÞ sξˆ9ܳþåÁZíïè6LMd§œJ)\6XY™É”>š –ëúãâÈæèÓ*”ðl¸˜ë¬Ú©Tê´ÞR(cï+.¶^Üádz²Sòwþ¥à_bêÑÙéoÏ97“ª?#Çfwâ.©}j‡îìã­i þË¿Žïâ$ÄȲ'MhÜtÎͬ™{.'åžÃ{*³2Aeþ¢ÒŒG¥—0}>ó*«èêêzG¡ƒîBP]]M*•:ýúI¼G£Ftö²éÙÇCö.¼K X ¨)ª™º`ï]dÖ†ápGÿMuëX{Fíô3‡“Ý"‡þŒat¶>¤°¦äS¦Ðc…&fÒqE¢zºº(//ãà¡#„ÂýC %F½¿JIºŽ·S}õ_óÁugXi»44´46‘Iz›šh× XRžOu]5"ÒÊÏ=Íî3 ˜qöLJ  B]ítöÇ@Ø((É#饥ûGmQ\šªÚܺ"í§¹½‰ ·?H™7FW['nC![ÒYM·Ïj§4’t´41˜”h6UÕá.:zÂÂNAqA¿ö£M6aeœwP䇎½orÔ3“kæÍ¢v¯]ÄÂ=´t¢év¤¨²‚hO?f ”b—"ÔÙΠ§„¢D+íƒ pa ŸP$†Òœ•–à×yöÁßQf8q­hÀ]9‹Ò@(“¾öfz“à̧´´§JÐÒÕkÅðKE°¬ ¯]ë來/ް9ñ•Sê{ºåû ¥¬h˜±ã‰}F °B$‡¦ÌÑÁ0…B´4'´’teãŒxÊñÌ¿ÉÖýG>| æ.<äì:'ío¿Ìàüô6íå‰{7ññ¯ÞžmûpÈð6øå¯]G½Ç$a¸‘2ÁÛSëÈ㯳+|-+òûxíþ©¼ôœýûØøò\òÑkê…Q‚Zw=ý;]¬]2ƒ Gì~_ÿr ¶å±(òÃý¿y…Ï~÷«lÿíà \òI>4Ç䵇~Ék ?Âí­ßáûÛ«¹êökhÀ O`Jƒþí¿å±³¸åº…Ù‘ªR&Gž¸‡Ý«>IÝËÿ½ûEÎ;¡ç¾ÇÀ²›¸fÉ¿ül?7o8“’Ø<å’ŠA¶Ýw?³oü(E^xŸ}Z =rÈá/j´qŒtÆŒiNÉ­È+LÑŒ Ðvì06›Ó4©©©!‘H`˜º*9†0–Çò˯eý™³š“¢€IË«{X¼ðÓ,žå (q”&CdíŒ6o|Ÿ@e-nËv gžwìÂ5³†Ùù>„æ`ÁÒ,¬%åî呞mƒÙ¸åó‹^Çi Ò§»­Uº ®QÆûé>¾ƒÅKîdñ帅$ºë zD7®\@uR±m÷s¼Õ•BéÌžSÇŒºjªé&œ”ø‹KÉP=£Ã8L³¡žvöõÙ0.ÒÝÍ¢WÓ÷B"Ó×)•´ò*š¹,œU‹/ÙÌK»^gç ªû8‡£¥ô³œÊÕ³5 óÝ8í6¤Í‰!%RØð×qí7SâÖ‘fÍ<:Å`j(v^iVfEõ·TÃÒ°i.{?oÞ1)¸]R‘L»—]#‰ãt»°ë§iÈg9¼ËÑèx‡Û™Ì­( Ò0‰µ$²ÿ54‡“ Ÿpï>f¯½‡Ã‰Ýá@Ót”<:A xæî¯óêoòÂɪ|œëW\Ãÿè.^q;1ûÈ[·4½ê«ðP\ê`ÿþÿuç¸yÍJ½:fømúù£¼y´—”»Žu•A4JÕÐJßè‰ IDAT\UÃ*n»¾ƒo~é ˜Â†¯bû±UÃâG.vhÞrfŸu#Oçßy:ž¢üõ§odUùý|÷ ŸÁ.^|#WT;øA:Q²4-”MX[^‹Œl!¨œ³„kΛ/ÿÃñÚuDB Û‹˜ÓPÈK?ýߪ.#ÜÚ‹ëLÐ4„&BÃVº‚2ýa~ùßߥØÖFgd>èNV/wsÿ}?äí-‹Y™!œVÏ¡þÑoñßÿòK ïl6ܲŒ|½-s4“h6Ôº‡7Ÿü5¯w&îR–Ì ÒúÄ·ù}âîøÀJ6ÿ+4/¿[Vù·¯?Ƽ–ÕsrÛäðŠIRÅ%‹ßD°4›ŽQ\ÿþm*Ï?€®þOm>²ØËólؽ~âÝ­ŽæsÌ¿l(å›”˜R±á‚J ½Ãvc”t=DO$‰‰E ùåÕTøí´4µb††³°Ÿ–¤¿+LéŒ*’¡ZÚC8Šª(+ðâÔAƒ´·vŠ%Ñly””q©<<d|€ž¤ƒ`žÑØÜ…¡v—ÚÊýÝ8ŠŠÑ;Í+£$(5–4S´?Æ@B¢9\ÔÔTa tÑÖÙG 'Á²rŠývÚŽµâ))!àuÐsü8ã·K:ã:Å>'*b~›Aÿñí¼º·—PG#GŽÆùä?}ŸÑG{GØÝhÊDVR”l¥OPZäC¨$=ííôF%N‡@ᦴ²Õ×B[o åðR¨ÅIùK)ñ»èoo¦;w!å¥8T‚Θ 8߃͈Ñ2 ºa°»PB¢;ò(,-Ãi¦G(/ñj:JÂWF‰ßαÆnŠÊ‹ñ»í¹)yïJ)‰ÇŽ£¼¼ü=ᇩ¤¤ý‹_ òüsC“r¥äÎÈàM78rÿ”„ Vvž®gN*ÒBì$°ô"lžÀ˜$™?Go_{º"³KÅ©…ÂŒvqøÕßòÓ§Ž€·Še—ÞÈõ«Ê‡öEzàt¸s8½ñÞ$L“–ÝAüí·‡–ˆ•2?{ôØyOõ‡7O:%ÏnI¡i­½‘T¨%MœEUh6ûˆ2xO,žê{¨èžæ\ð)¾~ÁÐI†¦ì§ö|9äð^AÖÛ#›k,FsÊPôïéß­÷hì*´&­…œioh¬;½è%#“ÇžîÚâO…ŽòÉ!‡?c˜J¥wÀLç¿ôÓrô0…s—á· ”L±ÿh˜Šò||nãæ;7“lk'¶Ò™Ì¯¢‹Sï§”›n}Ô$yZ„™{ñsÈ!‡“E8Fw¸Á™GÀ©ˆ%RÄ¡ ”4‰‡»yqÛq–ËZjK (ÌÓ ‡ˆh.AŸ ‡n§¡JðÂÁ& K ¨tjŠÇG$N#µÍîä„9z(<~¡aßÅÐäH6‡rˆIE¼ù ¯îêæë“ìãðŽí¸Kk(uÒ š2Ó9{æÀA^ykÚ¹5xS™\®²ET7máù}ܺ8ÿ]1÷e¶Ü…$Óô G’lÙÛMÛ f¥wSVÈRCéݤL§wË×8/Þ-‡rÈ (Ç´ÑÛÒNB.%//|Gšî4‡'§ËG° @Ðç„T1…®^7¶1·n(û¾À†Û­1ØC‘˜(aÍ;†ç»õÿ”„9˜PloJâp:Ò«#ã¤wÓ¬Ñè+{[X4§8G˜9äCÓ²›q[ÈÚ5…@A€½€¥ËÑ~l¾z˜«Ï›G]¡P˜t»Å=Ê4ˆE±yòqØNÍxSc²ÉôgúéÝ®^UÈd±øÙ£­“¤wY‡ïSžÌ2(”Êh˜ñ5ÍPÉC¯çó™OœƒcÞS d¢‡ï}ÿ9.¸ælÊŒ£¼ŸÁyó«ñOÛ_ ‡rÈÀ4M´tô›Rj i !X0{E%”Tc×}¬XYÈ‚Å+v7¿ ¡ë¬Z»–yI…Ý•‡Ã#Yµ²€Å†Âå Pà±2i>p¬dA¾E _g¬¹»ßqJÈ2ƒŒ4”oašÉ7¬¤•C5³ÒÃkM¥ ¤iŽñ·Ò»5r` ‹ž[Í‚kƒô¶·Ò‘ÈÔÝ=„¢)lî%Eyè©0 {.¥³¹‹`íLD2DgÔÔÓ#ékk¢o0‰:E•UDÂ<âè¡blv’r‚x¸›Ž®>’RÃWXJ‘;ÉñÆ¢ Œ~º£ ŒÓÝ»>‡NSìÛ·@ @qq1vûPÊÀáÄ™ï÷Q àw鼃c÷¶Ï Éöwq‘gÄïÊ4 ¹frFEŸžö·9ðOuï(¿¢QÜ0­¦ifÒ» T&FYShÒÚÿGj@:I‡TcV˜šŸåç,Å·ãnŽ­ý¬µ‹¥Lòò¾ÏÑÒœ9¿’÷þ;‘e8¿¤›ç˜'_ç®ÿÜć¾þ¯Ø<Æo­à[D`FÚùæ?ÍÙ-gn¥Ÿ”ab&Âô?N(¾ˆŽ-²±cÿÿÇ xøþ·p-YI½~œÇÿ3Ö_zÚGåÃ{J)~ñ‹_‰D(**â¶Ûn£¦¦›m$­ 7Å쪌Ð,œ3vcÆSmF›À­(–þL/[‘”æ°ëhXnHƒm‡7q¬ã‘ø M¡nÂ1?P0FN ºž•3áÅ$b&ÊŒðÊÖô×Ú‘­„SÞ”ƒ¼Â*¼Õ„ÓÖM`õZ·APwVz&ìÒæ¢6¯Ÿæ#°™Õ,(®›‡@åbæ7ÌÃz›gß<Ì`c‚m{ŽQŒ _2tbc“¿Öé gëÌ! J)t]§££ƒ‡~˜õë×S__?ª ˜FŠH¨GžØ@˜þX Íî¥(àÆ&ãtö unŸ Ó10Ñ’çБÉ(­Ý!$Ý¸S´Î3RZŸ‘0ÒŸKï6œ(4 íeÛñ稫šÉ\ÿìíþ¯x„¥sŽ z²yŠ˜9¿œþç#ØCƒµ¶ö2®]3]&1„=ÖÊàîg9è0XyÝbv¿üÉÎý•O³ïÑ{x*~>ÿtu˜_ß»“™7ÜÁùŹաrëý¹í¶ÛFØ0ÇÄÇbÞP+Ç‹W²¨Ñü9|ôâz€®k|\P·‡æÙ‹9¿>HË‹6V¯áâú"^~äIv¹V0ßcçÜK®`QU¯&дwi–—JYŸaíJ%cRš0 Âô85Š<ðÀ¦#V2])Q¦‰”’ÞÈQúÄò¼O±¤z-ûÛ¶c·9ΖBwsåßý=¢° ¡9YpõçøçµîRÅεÜPÐ@Ï@¡9 –—¡Ù\þw_ã\½"w€þó7HyKñ ݺ\uÓ‡‰&L„n§¼¦­ær>?φSÔ,8Ÿ¿ù|+Àâ ®¥tþZâ&¸¼” øÌçÞOAI§ r…tX!/­;“ÛßáäŒó¯¤L°yM.ÝP…;0rkárøKGCCCv•Æ„(Åá=Ès°úÂò´ùv6òì«1æÍª£ºØ‡Û–À`íùeIB×TLöÅS(—Áîm[i;ì£ PʹKçàxHS%S¨djıÃñxôP<1=·¢â€›Û.›?V°Rô”ðo¿»‡‡_£­«‰¸pÞFušFñŒ™Ù¿…5Ì*Ìü奤ªŽ’Q² kæ)R^7Ì’Y¨×TÏœ=²’³˜™~ë«+¯€Úô’›Û_ÌLÿÈ•4ïŒÒL%F¯±¹ò ˜‘gÙ`ý%ø3í¨ôéƒrøK‡® "&²íçwA.¹„Ù~]Ô°zE€ÆC{x|Ó.Y·ŒùÅžqëå c¹VÛ8cÙ™Ù¦u*EÆíûTe0RÃ}ˆ²Ç†0­ônlõMQ~ ÿxí÷éèÂ0SlXöiŠeÜúxÏÜzK9œ˜îâg±×A*߉.F4‚´y©›·ˆÚ]ωÆQʵ;­(c”I<ÒÍóù¬hð!´$Œ À1¢ý4îÛ‹·~¥yöSC ¦É+æ°Ì“6ÈeUƒþ‚þÑcÄrÈ!k|ãôð¸ñžc¼~¸‹P ³æQ]àb°·‰}1Á@SÛ^*òò ÝËÓ­.æ¯\B]‰Õâè¶7iÙïÀã rÁÊ…ØLƒèàs(uÜ;…ÑÑ1Þáf¦ë¸>rî59ä䂊¥+)//¾ê¬«•â /W]_;thæÅÜ8¢„€Ò9ܼ~ÎÐøŠ8㼋3%N Ì1qäYÇÌÜ’o9äðGØU­£Ó©9~vöSžDx¼s !G˜9äCiX{’Á@æKŽ0sÈ!‡wÓ û“C)kOòQé0€¬a3G˜9äû …µó¬•P]Þ›#ŽOîï|•<‡rÈa*(¥Øº{Îc̘·‚•3òN_²T2É8ûF™o9ÂÌ!‡Þ5!(«®avU%ÅžtÖ"N[j£s¤[Q:ð©q+Ê!‡r˜ =ÔÆk-Í8g­aÃâ £ŸVSôq§ä§n„9žA7矙C9XØÝ>òU„ÎîR‰õ·±sÇAÎ:‡×i–ŸaŠõ©wD˜²ŒÅbôõõQVV†¦ià ¤÷ôQi)…$³Ÿ Å~ņŽåß©÷ê™FKÓrGÊφ~BÖ =2=}zß5qÙ1I22†ËÊhP!²F告fèº&S6£÷$ʈ̞÷î“4æ|c®ax¿ µx©÷Jº/™„£ïó‰\‹š¤]§ã ¦wÍÓ>Á8ÏäÈ÷@y–ÄÈç!stXˆóxïÁè~ÊìÁ¥‚>TJ±ãP#6o KÏ)GV ÅPh€ÔØ\ãr#þV Z’‰ÞLwM›0'z@’É$wß}7¡Pˆ/}éKc˘1üîÿRsÅû˜!ùò·C w š¿ú»¿ff‘Û ”"zü Ž$ª˜7§ ³ñQ|ÝÏÅ×^@ÑÉ*£4Ùr??¾o#Q˜}Öå|à¦+˜áÕÒfŠ·Ÿü_záMŽ…Ë®ü×_POÞàq8¢qÙ²Y”ºE¶l¨íÏ´x8a-E.m¨”B]<}ÏÏyüõƒ¤œe\pí-\¿v.™þ2ÞËoîþ[v·“°rëç¾ÀŠÚ n}  ¥0=|ÿ®8荒¨uõË›M‰ßÆö‹–%×s噳Gìo2´%ɉC)…:ÎîÆwÖÇ©+q[[›*EãÎçyè¹8ŸúÌ帴¡s(@¥BüâGϲôòóY8#“&Ú–DZ÷ñ/_ýa©ãtðÏ|žåµ…–ÜpIQJavnâÁçb¬¾îRªã—Nf'íò¢¬ý³wש›_‡'y”'|‹²Ë¯aEàT%M5‰öå{ÿù:Œ%å¥äÙ$¡Ž6:ú£h‘F›KR1ŽuÅ))ÎÇëP´7¶`/*!˜çsþX¸ƒæŽ8v›#/€ÇÀY\ƒ‹$ƒ}hù˜ávÚÀ¡`÷,-"²ÿEþ°α TØ)ª('ßá–cô+#]E¸R„úBHO1%Ü"NgG'ýƒIlÞBÊJ ð8tkd¬ ÙóŒpû6=@õy×±ÆÑÅî—ËñsæRWäBHÐdûK/³Ýs>¹U±å•—x|fç‡Ë«G5.ûàG?ÿK^ÜRJÝ5«p* B 9|¬»îƒ¬1„šÞæ‘û©Ø°‚~“×ÿ={;hŽö m{û¡ ‘ÎU{úîЪ”Ê&:˜ ;4íf?]]]ÔÖÖb·Û‰F£lÞ¼™×^{ÏþóÔÕÕc;BÕ ³ú܈(øÊj˜Ý0ìí<º£ƒ{ÿ@çì÷óÖW²ç•GøéËvæ%÷ðÚñ6ûZ¸ù>uëZ8ðcü¥õ\ñ‰[˜Ùó(w?´Ã½¥üÏ3&ïÿøY3ÇÍO?ÿ%6—^ÍbaçÌ ·³v¶¦×â@[/åÁ <£›ešHi ÇP*0¬Ý 3ÒÁžM÷#.¼™5‹êðæ;¸¡d¤"è u³«£€K=vü3æpáy›ÙÛÒCaÇÛ÷ÿcï½ã㺮{ßï)Ó{½ `¯¢*Eu9n²dKε¬k;Nœ¼ÄyÉ'yyÉMîË»Nâc'~¹‰[—؉£Ø–mY’%™*T#)ö€ zÓë™sÎ~  %J¢ZÌ߇$ˆ3gvßkï½öZ¿e ª‡lÁêðcQe„¬ ¨¦i¢ë%2é"@VTìêÌçFAG– |ÙV1èË}ávbUTÜVn‹bÁm¤MSñ±á†;¹ekr)âoÄîtÒÙlâ®es8 WÙHe5 f–ØDïj;þ°§ÅÃo7IaV ’©U-aj=~Ž%d “ìàÂщ_U±wt"9½S`¨>ê—¹ñ[‹|ã…^&V„Mrêß$1x”‘>7džïdSSè ë1ß]XâÖùõxú´´´ð±}Œ/~ñ‹8p€Ûo¿x›­|Þº¤HRð×7ÑÖÞNC.˱@-+6mâïþèGÜõçË Z$âþ fïÝçh*‰rL ™X=ŠÝËz×=gŽSUrÒ­,ã=U¤Éª|é» 3Ù{š‘’‚]Ò7iÒ²&‚¬süȵПþ.=•¡óýwSœfÊÒHo±ÎËíöÓÌ‘/às¬]ÉÐ×þ7ýr÷Þ·¹0ÂéÞ$’ª>wœ¬ÅO³W&Õý]úr6­öóÐW¿ÌYÿÜó¾0£#1êC¸må‚dõ¨iãÙç~É-W7Sã7y¦o€ß¨”õA’„¤X±Ø½Œ ŸgÀÝŒ˜ÕÍÖ}Aw¡qòåcœ°E²båõ„«k°²…Ï}ù/XóÀ­¬ôÊdÎ%‘š–YQž|‚t®ˆ I²RÕA~ö ç ·¾8ÊÉ IDAT{ ˨ٺÿÏFèñ…@Ó-È’@›êC³Xæ›ÝãÊØü·O}ff,TP’°…Yѱ…ŽVžü£¯p²õCl^¶…ñS¤šX­åh~º^¢$¹pÚ$ò‰QMͦõX^áDo?éf:³$ wÛÔ›{øú£&ÿøÞ.¹ÈÔà1žO4°«³¿õ‚>MVÊK»Åé$Pf ¯’èãLwœ0’¼`lI 9BXôAÎõöá”s– 3ñ¥$d¹Ü_ÒL>ª“kÖùÙO-Øó)t¿‰žq°»È–ÎFBÎr›9լغŠýG’¶F9Ú£òþºÉE»8t:Ï®[6°¢ÑÉžz†“†à|ÖÃuïm`yæ*¬?ëáù#ÕÄž›"¸­…€¬süà”•[XSmátÏ Š"Hœ%ØØÀ²ÎÜtÃn&ÇùM¢8XßøÕ–B,—bÁOº7¬?„ÄÆYé"Iö/|‰únXt›hš&™L†h4JMM nwùùªÂR&Z.Ťf¥Ê뜋¾(Ì“ÝûøÛ%>õþ´mˆRбÑ)²ºL]•TÞF¸:ˆª'‰Nix««Pr“LL&Èéw¸*‚žÂ°GpÛ ˜‰SP|xÖ™KAzr„±©42NˆHu›È01‘Å^U…6ržé¬†e$Y!P[˜‹Ú!¥{ÿÃŒFîäªU58¤ý}h¶ !T#Ëøè‰¬ªPU5U>'Å©AbÂOuÐFo/E]B’%d[hN`ÎîÆM-˹¾)ª"¸óÃYêÂx¬08#ñc— EQ>¼"‹î‰PåsŸ e S˜qC3Óô}‚§&kØÜÁ!+Ô77áP!7vŠ?øÚi>ùÀíliñ¡ÅFg)`õVñYÐÓS(þz¬INN6Ê×â&Nš›‚d§£LÆRèBÂé«"Råäù¿ûŸŒoü÷ܸu >;…£˜e0®SöâP‰á>rö*"~;ÑÑ!2y!©„qÉEâQЍ€„ƒæF?é©(ÓY«*0q©¯Æ*²<óoÿÄ’×ó¥ÏlÃZ§ëÀ™®ÿ0[–‡°Í”)Ÿšd<¥ÒÒ@Â@Ë¥™H ˲,F1ÓSÄL?ÍUv²‰ ¢Y͵¦ÇƈçL"õa ‰<öª*˜@›é‹äP?š/B•×Ab¨Ÿ’7BÈa2$‘Õd+ÁšZ¡„A$ì­8mt-ÇðÀ vo /ÅÔ$ãS:M­5˜Å4S㤊àE¨ {P„Abrœh,‹ì© â¶ÊDûû‘‚5„2CäJ&’b£¶±Ã2g]‘KFOÈ´4‡‘߀Y‘‚b±H?µµµx½ÞwìÑ^19Éð÷£Íšt Æ?ÜÕsõ±\¾^£À\ —ÔKéÊ0zê—<¼ç kn¿—Í­U8ß¾G‹ÚAèd§‡9•r±¦1Œû2†û¬0Õ¼|0sŒõì焱’«VÕáž9ÖLJŽðø#ÏcÝôkܸ¾ñ² y^|ú(µk;h­ñΜ–|ûò×u® 9žùÉГ°ÓqËûØÙäD25òéÂQ…Óú3˜^€7bvyñ«#0õ‰ F¸=:Q¶±. Ìá{ºzvËå‡á5Ì7¡ˆ Œh_Ÿ±ò[7´p¼X`½( êL}.—¹Ç;Áók¡A÷Åóó Û¯àÝ)0‡¸ãæÛ¸Ÿ{£Þ;oÞ©~QTxè,UòË]ŸwBû¼Smý®à Q*AiÑ-¹AEøµwàø ®à ®àm@I+ ÍùxífEWpWpÿÕ1Ï~èÂÓy®Ì+¸‚+¸(E7—d¹Â¸~WpWP QÈ# … ¿ç ÅܹBñ-:’_2½Û¬‚þí¡w[ª¼sŸÏØw\ìÝ… ‹)·*Ë}ÁX¤Òí¬ü}yθù¢µx—Ñ»½Ú…Se¿˜³í0óï[Oïö*ccɼ?»ìÖKÒ»Q1”–.·˜qëœWåïV¼»ÐÔo6½ÊÄdùUúï¿–8“çLÓÌ›ækó%Ce¨¤w“‡ø»ï¿€ßcG•T®¹ë¿±¾Á]‘*&šI¦û)Nä—³u}3æe£wÓéyþž8ØCN3ñ7m`×»YáIT”8ù؃¼Ô%]ÔèídóG~‹­²òã¾ ôny¦úq ÛÀÎö:üÖùônfö<{ÛˉIJ¦•U;oåö«ç8ÌBœþàŒÆò” z |ê3`sKàUéÝL-Ƀ?:ĦkVá×Èú×Ó´rìM¢w32ôyÇÚP°]½›žágßùµ×ìbÛÊZæÖŠ%a’ëâsÿð ,±âÆ»¹®£_e»^jy/½Û«æ+FüºUÖlíÀcŒòÂSg ]½‹ÕîË$^ŒÓƒÇyð‘ýhBÆ^Žw݈Û2çõÁè™xü—I›hÝÊM·î$œ9Æ#<Çѳ£Üú©?bskk…°zž}ÿ€c#)tT:vßņ*ÁðK³ç\–B&Îød‰Ïü?§­Êñ«!,a–œh¡³Ï[­Ã4˜#ËSRÓ87ßɽW×Q8þß:„ ”áþà+Ty˜¥4Ñ”<Þ­”žàüá=Toý –RŠá‘4‘æFT#O:E¶Ê4mÜÍÖ_«!ñôçùÖ3/²nk;Ëf\Kd{€»ïÿM„YdúÜ>þçc%\Î .˜ez·Uu¤Ç+éÝR¨>­-5ØÍ]ûc8baÛêFCez·€ dñR[Æc_@ï6.{ ™êº:ŒÌÓš›æZ6I4š&Rëe::Mºh ØƒD|V<‘¬VCË’ˆŽ/ÀðÀ}2º0HÅ&™Œ¥1$+ªaƒ5¶S¦WE8ø•ÀñÞßâc7Ìg˜9ÆÎ>Î矵óÑÝmØ'OòXß:Í“<òÈÿ×_šóÏüo¬æ3«óDv7í\ƒ‘×ЈÑóüƒøo]Ãp×ùæãyþû;ʼnôN¶ù¤KرQ&ÑŠ¨²™aìôžìwÓÙä!?ôû'¯ãÆUŠÙ"†drvïO8˜ÛÎïm;Æ·ŸÌÓyÓõH/`lz5¦–æ{_ø[>~?7¶>ÿOOp÷'>ÀÕ« LAϾù_ÿ2ÌŸüå§ äÏsâçß¡ùþ¿Gïûå7ùêñfþòw¶svÏü—OÔ2ç,Š£¼ðÄ 4GZ‘¿öç«]ÿNtz=5N)Î>EzûýT¹~µ®8D.·ÔãqÞÚK™ªÆ:0s¤„AÏ“ò3!<6;ü@¡d–‘ã{:›§'áæÖ»VP}؉­ÍÐ¥à¬`ǦÕ,‹õðâ&˜Ê$9–ià#íki_é¤Íø7†&×Rl¬Y¶‚•+T±£ôeó”Ìz. S'âÁÿ8€wÝ ÜÒ<ÕY¡ÏÑRôy‘«Öý&Õn+² 5 ŽvÅB–hÎU•qWÕ±fk ]#“„Ç{8kÝÆGÜÌR–è¹Ã<:ºœ·n& À|}“`z´ýGrüÚ{üTÈcœþMí>Oì%íoᚆ(gŸ;@)t 6 P-‚a?z}3u5~úe ¬moGÔëìOf0¡‚ÞÍÂ굫h[¹»OãûGÙ²­™mu‡<Ι¾,ëo¿Š0 ”—F8vÚBSËjv³Ü>Bcjd ¹óvÖ¬\‰¾n9{GLÆ÷¿À©3. ¥ˆµ˜ dºÉ–Š««y‚ñŒ¾råŒb–þþA ‹‹`]#aûìâa’<ö(ßO¼„RˆsÕm¿M•-Ëp×3tu7¢Eˆ\Ógžâì¾™4UÆûÎÑ—õ0¬캃«:Wa˜¼ü¸ Åîãö :/Ÿ=à,¨Ù¶‘Æÿ’nº’âÀ[ÛIÛ²ähŽ® Z·ÙŸ²ÍM¸mËZW’:ýžãëðàñ;ili£gf”` uk:èlogÀc2¼lííœwĉǣœz¹›D³3=Jª$ã* ,¾»7 .ò ž¯¯H„;¹ù–6¥Tþ|Vß;÷z™x¦Ró(ÉV6ì¾¹9Œ”S¹ã •âð‹ôÆÜtwÛ̼ùÑ_ri.Éo®ÀœU I¡íæ{øø®N\åI¤ûZÙ±^â©ÿ1é5÷³½ÎFò˜\Ö׉2ÿ‹ÅîÆgWíN)‰.@¦¼k1…9ç«,É*.[™æK¶X0„9Þ-äðS?cºõV>|}'A‹Œ% yÅîÀ* cƒÞ?Ám·‡˜]`ê¼dEÁ6C了ÂÔ·oãGûNP=6‚ÿÚãTLÆÏä=Êö»ÿ€íË«P$QÌQœv+ƒ‘¾.NË›ù¤÷É1ˆ9z·‡Þƒ´ñn:‚럨ÆYAï&É2æ\Un'YÆa“™»E™+8”´†¡ceã\ouëv¬bÏ/¾Ç¨±“ߨ"(îæÞºAÎÙÏ?ýý¿ó±O\=ÇÏ(É Š2Cy§¨ÈH )Ô®ÚÁ]÷ÞJÐ º.°ØdHÏÒ»]Š…øÿú¯÷¯àúý&w4Í®D2¾õwpß]ëpî城ô1ÙÔ„¤8Ø~ó{Ùµ®—,БéÞû]>jå s/çžþ.ýæ’„b)ÓÍ ‹Y’‘$+ën»–ý_Ž_$ ®ÚýÙz·iÝ‚w½›ŠÅáCU$„"#[e à$ŠdR…z7›Û"Ieú7Í@’U$LŒ|å¾p Ê .« —Ç*«¸¬,6^;¼f Š©¡KV¬Š ³•rßÍÀæpRUe#™É“32L'ð­µðxLTËz7#b’LéT·(Ï SÄÌOd…¦ÎN$« ÃôPï&ÉQ´§)ùkq9 Î?ûï.®ku¼Šîù¿Ä‚ðREÄHx«ÍŠ$Y.ÿBomÛîà >ͧ>º‡,#w\…þÕŸó§ñ2¿q«л©î~ëf™÷¯ùqª6Ýͽkê)œ>|qz7‘cï¿|‘Ïÿìõ+NpîÅ&ÖÝñ)>¹y„|ï8­÷ÜÏõaÁ¹G9^õA>¸p\_ˆP¸–ííyb©"ájÁú•˜{~c‘Ûø³ª1'žäŸþîŸÙ;hÒÖ÷§ü²m'ýá|üK¸$½›„Z³_æÛ|þÏÎòÀ'w£‰Ùô.Nï¦X}|òwoåÁŸü¿ÿÃ,Š-À ÷}œ›#¾ðdšûß·•¡òBâ¬YÎÖ»ïåo¿ôgdL+á¶ëøƒz/C‡âÛ?‹ó'ùWß°Žïÿ/øÝï@Ëö÷ð›7Õ!‡øæ?ü+O<ŠæþŽÞñi~÷#ëøáç?‡åÖ¸gÇ2>Tû0ÿñÅ=d…_{àÿ¤½Á‡‘Ÿà_Ÿ·²ãøf­ ^ï\·Aˆr´ùû A9&ùÞò‹Ò» rñ!NÚÏSüúm›hö[¥4c#QÒ%™†ˆ}Iz757ÅX4F®$ðFË1}^‘ÞÍ$6tž‘D¡;·‡|óèÝD)̓ÿøEúÕÕ¼ÿã¢Ýs!xß»ð嘃]¶2\[Òw•Àüú׈ãëóf6ûÿÜÓÝûÿÎ Ì‹É_wøÑ×RHË®ºÏ]õ¦gõ:q± -au‡Øê^ê³×™Ó›ØÞBrP³òjf~/ý5í»øÃ¿ÚuYó’$,Nvîh«,Á›"_© XÜ|ø³±ÄgïÌ »o·°„7>&gçß-Ð'&X¢åc•—˜¦0)+@¯à ®à ^ J‹ÙÞ± ¨ÝÊZÜ9Ë,` )€\.Goooù÷wÑ qWpï TºˆZ,–wÇÎþdÝ")²$£ë:¦i¾«滹ìo7.gÛ½+&Ë;ïæv›³‚±XðûýsÁßÉXh¸>cU;oÛ¹ä‘<\Fim½"p®`^m<¼›'ø\~ÌŽ»Ý~ñPÜïŒØô‚'ˆoF§†+ ß–¨…„ÃáÀæñ\™WpWð_bÖ½u±¯£š> sI±?g$~E`^Á\Á¯Ä‰yKÈwú>ù ®à ®àM‡Y(`VÏ`^<x¹ÐŽj)rÔ%‰Tgߟù÷5oT+ ÝçÒŸó:˜Mo 2Ô ÏiÆÏðâé,íÅ3[þ%xZ/,ad¾(¤ë«’æ2Ÿdw ¼òÿây¿*ßã‚<_),íBCï…DÉ•ïÌüY2r_,&~u’a–îÇ™´þ>o¼ÍûÞ|oÌ‹«…m2÷ÚÜóEã†70Öá•ÇǼ±ù3[Ln}1bîŠ2Täwáù¶bQ:•s‰Ù4æ|g7p—ÉtÉyy¹O¿ w˜eÌ‹ ¯"0õt?}ò8ÙÞºnÚÚFƒ×N¥q§]+’Ž¥ñÖ„Qô,#Ýèþ5ÔùlÈÒRå¸8.4„I!åg{^"^²P³|wnj@•æw¡YÊñÜ3Ïp.¦ã¬]ůY…Mžß¸z>É/öìe4cà®iã×uà˜÷Îæïèp/‡û4v]½¦œŽ#ÉÑ#ƒx׮ᴬ¨?`Ò<òÄSÄem›¯bgõ<5Ê‹ÐÔÙC<ß7Q¿»Ö³T$Z„€ÓŠM––œœÚ½ü3?q–'÷aLiä¦, 8õ¢D!ŸB²±©r™xÁD4K9&úOqÐhæÚåUøUƒs‡žãÅó ð7q×®M¸,Ò|ÁcjÛ·—£Ãi„§Ý´K1F×áý<7jeûÕ[ÙÜà3ÇñCG9ž©ãÞ]-èé('âÀP‘•›¶³kum™Uéç€ Þ‚½Çû/X¸ã¶ÝÔ9ñѳ<ô\‘•›¸yó²r¿Šùß+åü葃t\³µµ>D)ÉË/îçàhëoÚM[È…U^l\oSŒœ;Ƙkë|XKYö<¶{çU\·¼ 0é=Ëј‡[67b‘+£ð nK¡R &Ï\4>ŒB’Ÿ‰±£³Zåµ_Ê A©bàÌQž:%Ò¶‘›·,ÇY&„_fa’<ÊÉT -8%ƒ¡®c<{bªM×rus…èqž>]`õÎí´,¸׳1ºãYu Ue®{‹©)Ο’y°G¸aK3уèñ’Ý(?VI§K#[íLŒ rôøë¯ZGÈeRÌ%™*N" v¬Õ^Z>C,•ÃT}T¡‘HåËL/Šª€Eš¿Z+V7Û·ï =5Æ™®Sd×Õã[è;)ÉÔ´­#RH2Ò×E¢°‚ˆs>5»¬ÚX»i m©)ú{Α*´ã¨|g¦MôÌ݃ BËVb‘†^$O’ÑRLL'PMA1›$‘ÕÐ%•êIÏ31:̸%D{c=->•|:N2_Â@¡*=O2¯R°’Ëd(Z]øÛhJ§9˜ÑËB·T`jtˆƒq‰öÚ0ÕAÞWñF‘÷ŸÇV·’-ù~ºûÂ4š0ÓIâÙ" ÕáZ|‚sçNa©ÛHmÈOÐm[$›’±qwLj7ÔQ2Á(fx9榽³K~’ÑdŽÖ°k†ƒóÂþÛY»Š‘Óc}L¥5”ÄG“UÜ´VçüÐÉ:Åž3ôÇÒ¤ ùò·U;ÁÚUÜV7ÍÉÁ1¢+k©½ålñÒ±~mé)ÎDS¨Þ}§†Ù±sñá ^Ž6rm-Ÿ&ž—‰]-Kt¨‹ätM×AüÜ&-ÕìÞæàP÷ÁuMÔzdbS ,›LGG9pj’ÐvÓ(’œ$Œ¡ÏcËøü^£݌gª©÷ÚçÚgVX¤“I’y»ÇÏ*Ïd0ôr°–p0ˆUYØÒ¢ñQ"ŸÍ¸°«2ƒÉxÓ00„  ˆé´F 䥔Ïԭص 8ݸ,‚é¼À­(¸õÜtm-½ÝãœJµ²Õ¿8”Q̲·K£©Ý‹]mò4]S&ëwì .äÁ¡HzŽ—OŽÉ´.!»…Y"Ÿš"¤ä´áòúðÛ¹‚†é cQ$„iOOòìáQ:Ú먯òòZÈ&“$ò¥2I´×ŽU±ÐÞ q²o_` 5ViÁî÷AhK†Ø}m;L!V››Úšn“îÌ4C]§°.»%A×á}W­åt×ö÷L1­ÈlßÔŠC/rìøA4ÃDõ/ã¾[Ö0ÜuœgOaÚClß¶†Z&xüÀ H]òp××á³Î®`±9ñÙ ¤LCu¡Ê‹Ë(«vV5×SHÊdGŪ­ÙwlT»mŒ$M4aA]4@ÉÞãÄÕ•ÜZçA¦'xzïa¦$ÓôPk9}ì ÇG°sË­»ñF9tì4£q—ÕN]KÅž¼t>J¢¤pã-·bw³§ËÏ'÷Äz¯â}õ^|NR¢œ{!3ÍÉ'8:e0¬ÿ4 IDATm có6¶„^9&‡Ð tçüÜÐØÄ KG&Hj5ôÜϱ‘$šÕÃn½–dÿy^:Ò4bжj#»ÖÖ±0eo¸‘훬<3]n S×(x‚ÔÖE°&‹œÏ¨.æ¹›ËÚZ0òq¤ô †0ȧӔ"«YÑVbìù~¢šLks'ëÕ.¦O•¿fszimó`dLz†—´Q’ðÕ·à5K$'J ¤M2Ù,Ãqw6¶0šç¹Á,×ÔX‰ŽtóËn;½½«ÅI¤e5ÍþérÙ…I´oçò•¬hpóÂÑn2m5§ÌKϾLÍÖ­ln b“ Ma4,+óÈV¼Õ­¬‹œf¸bºaZ›bœ™ÎpÙp/hX==ÆÁ—Opv2‡¯q-W/sòèþ£ØÉ0¹þÆ[hÚõ‡Õ5|è… Ã§²g¢‰†ˆŸ’ç§O“Ã'øÞƒ=«–sÝòeKnöM%)*qNO×òH+ë;t&âQî¾ãìF’Á„•Í×ï¤IIqfß>’1•ž¸“ÛïúþñçÙÓ7Ž¿Y¢eãvÖ…g÷‘Ìëx­ó²³?-ª‚]Ρ—²˜½[þ¾N+t:ÔÙ‡‹:Qµ(Øl‚¢f"l2óN÷ ÿ|o‡ ‹$:ã#ã¤WÝÊ'Vgyzïy´tŒ§ÎL`wX±˜IŽ§Ùµ|97]ë 4.s}[ a«`Üí%(A*M+P&—gN¢ÂÐÉç2¨Nßj×a–ÿ.xÊ‚áôŠS’$luµBòLÜ»›pr€ S¥í¦`y•PRŽñÉOY0Êsd«2²«¿ÚE÷Ð8þáŽ@6©È,Éï’Ê[¡SÈÆˆ¦L ÉÓš“vU£@|ô,Çõf¶·qSüâÀ8-ëÚQòIòιXñN›–a$–Å,$ˆ¦me±àd"#Ù<%!°J .“Ro?CžÉ‚NÄæÀ§åÑŠ¦CA•/Ü^˜m&]`è%ò¹4†CÂbQ±çÇŒ$ € •HOç(ä’$ AüvY±ÇˆÆlXÂ~<ª„VÈÏèT…}‹v†²jg¥3ÁÐÈùTkõFBNJ´—Á!p‡°( V»Jtr »$予›Ú‚~Ð –Ï“LæXãqÌ,FD’YÊñ̳ÇQ–wÒ*2d4+N¯û¹óœïÕÈÛk‰ÌªW†LHO ³ÿq¶^G)—!i à³Hr)â 5Á%" ƒ¡ãû8±e•©t—ÍIcHc`x©$,ï(ó&§G99náêuus¬êÒÜm¼L¤µŠ³cSôg°FB86%ºNôà_¾Œæ‹[ï|ÂÔˆ Ðe†h ¸s¦÷ƦF!Ÿ¢Ú]}=žD¸5‚1£ úEˆ•N'ù „ÂKŸ+©äüñáVtRñÅ|†x*MЦV¤QNÄjQp+i†ÇÆ™ÌbºL¢½§I:¸­Õ g<‰ê+ÐuèþeÛJ9¦³V c÷H v›‹©hž|ÉÄi“¨n­¢k"FÿXÜn–/cǦ- OóÂóço\µHX¥SSØs ²®,fžx*E"_ÂOâU}Øe—H1›Æg ´( _0Léü4yM¬3O&c®u!¥lŒîƒlº™F¿mɓӥB ób’Ï`Ñ‘| >L™†o}[g'BÏ‘ÌÛãœÛ]a2yøaž×Ú¹}ûJ²„©—Ȧ“¤uŸ×‰jª«¤“Ïd°yÅ ñTSµã÷:±ˆVª@Ëgì>lŠTaz (³DãY„¤bw¹ ¹mHÂD+dH ~‡I/0:ÇdY% áP¡4÷ŽŠdhŒO%0‘±ØTù]3‘"g§pyÅ6‹Ó8x–TÝnnub–Ф’) X±*2Ÿ)—$™-¢ ™P8„]•ºF¢^»U¤âÓdK É'Ù$—J’5¬ª‚êò çS䊚ñúxí*²©3‹cÊ\>úÎìçç§|úë±Ê;Ì™]‡QÌKå)b#èwá°HäSI’9 CV¨ …°É&Z!ËTºˆÝå%è²-0W™©¿®‘ÐÀ똩G"N¶$°Ø]=öŠ6›9ò%Æ¢Ó”„@–d|Á0NÅ ŸN‘Ô$<>/>{9VÌ“ÌA8à@˧˜ˆe’Œb±âñð©'<Ç ú>uuy‘y 69IF3@–P>Bn ’žg2‘Çêpô9Q€b>C"/QtÍõor:‰ÅãÆiUA”H%Ò¤4_ ˆËª cλô™½¶Ñµ"TœÖ²*£˜ŒQ´¹ñÚË+AzjƒN±úú›ˆ¸Êß+÷ÑÌŽYè¤SiR…6—ŸM&Q4ñ9,ȆF^”êÌÖwvg™L$æ§¢“I¥Éh›Í†Óã¤ÑðyXdx< =—"^¨ÙâBÕ²¨.7.U0•3p©&éD’"²bÁáö—æìx˜Wf)Çã¿xðÚMli ! T2Eª ãòñÚÔòb$tÒé»4߬H%òÙ$iMBH2v§¯Z$‘Ê“/jHV~¯§U&ˆ‘Ñ(5§I,™£¨ ¬./§ U6=ú4ǵvn^‰W‘ºF&•Äâ a·È¼Þ#¹‚Rßy†¸3“)ïs…&œ¹§«gç±\>yIsQ¦N>ãàKG°­ÜĶ֪ËOÄZa«õfc±½¡I<:ÎPV·Õ½ÈŒM†Îä„ÞÄmí~d*Ëü9&—˜—ð¥Å6°— f‘®gHÔ­a{• Ì·KíCŽ2Véh”ÕO¯»Ü íJßb,Ø<€Ib|€hÉMSCöKš KØÙ^&³Dw÷ ΪB®¥7æo@`j3S̘âô=]ç®®˜¯z$¯LÔ,fë9ưg»#þ™{‹7!îÇÛà’Yž 2ê:Õ•Ey»¤¦@™Æëhà‚©Õ\NÖðךÖef,!ÛXµ~Ceÿ{b˼rže›Ë@uý¼ñòFËýö»#Ï.2þšVüÏ_KÑ.g=„H²…UíË+3¸¼·äÅ"¢‚X9ÓÔs¦9ïêü5yúÈvË6ßD+‹† -ú_­2•žK{\ü; žVæ|Iµ”ÇÃü´–Ês±·Ë¼´*RYìá²—2ø*ò{µW/d¶xçwÙÖãþr]/žê\[\$ïKj³Ë|ZYºKm£Åc´²œ—©<—0>.æ‰uy„RE¿Î]P½Öô§1“Ò…™5s2Y\ÙWßËKóìZgŸˆ¹ËÍËÝ(ÿ­@o¡Xè-ç)6_Q`f†O²¯k”Ñ©8Š;LSs+Ë\ D ìÅ3[XSË05Þ‡^MÈ©¾Ê ¸Ð¸f~œS:-+ñ,áió3€Ð ¤“QdO. ä“J*¬«• ½/vX0)2ñŽï¡++Ѿ|5[[]üüÑg((*v›õ[·ÀØ1?™&âUðG–³}] e±°4´ Ïw§é\VEÈ©Îì¢|;ªå3¤L+Wù¶ùM;y žaD÷Ó¸ØÑå"xEuH¹J¹$‡§MÖÔðZ@h †¦dêj½({NpJZÁm+œy/>ª½­m&©d”Q=Àªå^#ÏcÏœ£sã šCÎyi\–â¼B]+…^È0Òs’§ãÕܺ©‰Z÷‚6{M˜é¹ÛwAtø {ãkhgËÊjüõ’¼Ò3odßãûâ‰+ âËãÂ6óa1Ÿ&–Êc âxq[Ï$ŸàìéÃØ[l4„¼Xô"Ñ飓ŒÅB$ì½H2•"o(x¼^|Ëüí àÔ²qÉè˜ÌÊæ0*b¥0×n_C[µ Y†Þ¥fïY›äÉ—è[ÙÌ:×üš£D!›£Êï¼àKcš&àóû±†z2¬¨ ö»Q´ ñt’) °I&Å\ŠŒ†±{<˜™,&es·Ï].G4¼ðޝ\$žÊQ0ü>7vÙd¤ë0åXVÔz‘um^{xm2Ó©è%J‚Á@ù­¢o´b¡Ú(d²”ln¤‚†Ã.QÌ»½X aêLžå@ƒ­–&ªý^òÙ8Ã…#î —wqß¿Þ6³â©rDKo €S)_î%²4£|©°H•ÀÐtpxðÛeŒ\šX®„jsð¹ù½=§9d¬ `©"à¶ E&­x|^œ²F"‘![È2M±¼4ßädFì“I¥HæK¨/>›D)—Åî"ëÙL‡ÏG1sá¿]&™Íb&‰` €¤§çÕµÊïYtã¬Ú]Ô-[Nᥚ^Î]Ë¥æ<ºBA?VIPÌeˆe‹¨6'~¯“L<=o 9,J…7R¹&™t‚¡aFÔV®]Æm•Ћ&9d‹¯×ƒ]äHd „¡¡INB>Ç"Sžb2ùUÜÐää¢~g !Æx2=9Á鸓æè)ÆÍfnÙ½‘/asX±(´;0ÜØÈÆ/#ƒI|­ÛÙÕââßz§s#M²NëÚͬká’gÃ"_Fh,–ú¯b‡Y6 ’$æâ2›z¡B¡Jöì0׿ïV,Z†‰#îZ,2ÉÉ~ŽM@K؇K3.šºYáèw$HµZâܱ#œr,c{H`˜K¯n¦®SH˜5ŒÂ`h8F£Sš>OA¹}ø'ÖYú8ÔUÍ Ww૰ϳ;œ¹”Ÿ59Ñãgøù£½¸\^n¹åFfÆ%†¡ƒlÅ~‘ÍÔ2üòØ$ïÝنÕçGï¥mÓšmŽÆ ¶ÖªèFÒLzÂ(ð˧Žl©Å/exyZ窉豧HÔ^CkØ05žúù8;×Ñ„§²\×h!vê™ ï{Ÿ'UÕ„7q–#®õܲ®–B&n™™à¦Aß™£¯hë¶6ð£Ÿ>Këú:ë‹+$4â“ý$±râè ß2Ôb‰ëkpfãìëܱÆAÄZö£/ê–¹¡V*䙣T­päÔ ›®ßJÛ¸×ÚfÌÕµ™z—ÉžMqM“ÂĉãD6¬¡÷D?ÎWÑ9¹—ÇFClݰ’€Y6ñ2ÍgŽžE_³“k\&Z®ˆ1còTJÇ8y£a…ÉNÅÃìòžãˆÑÀÚ:;ñ|‘Ò¼ÝVùÿ…Ñ#¼8`eY£ŸCÏeÙúV܉n\«n–é癗ƹy‡“ƒÃ¶¹wZ×6óüñq®ÚЈO‹2ZZÍÊ€9¿® pa¼JssZè~â0µm „”,':«Nè¢mëZ¦Îu ´S:ð ®µÆÐî5õT;«ÏèÔ‹‚ ’QÎ|ûª-‡NÑ«çƒí<¾/MëúšŠµ(±þºmøåÔsgyè9÷\ÕK‘‘$¤Y›ÍYQ.csø¹®&ÅÙxšF‘÷<Î!›“Pu wÝ´iΆôr m†Y E_3½›¬ØXV¡QM’;ßCɯËEÐ=“”¤`sxÈOŸch®sÍ|sÁORúÜØ”YE«‚×ïB 2ålƳäà‘q8œøœ6¡—D&/SÓXGs½Mš"]L3:8Æ0v{]5¸Ô0LŠ»™k[h®ròXÔ²Œ;È%/‘Öå4-a¾()^ªR¼ MuTS_¡Öšä𨎩¸ñyÝ$?a¿‹– w"Ê´(á·šèÕUSFVm4Dª©ó[Á, $;U¡µU?3A®Ê;ÿ#O×ð¹,dd ¨øVÜ‘ÙL324ư¨hØÃÔGª© {ëâd 6«‹ÄèyŠNžéòM­8\.¼ª%YÆ’¬à÷Øq¹}ï=ßs”)LÃåÆí´cÓ<øìf–Âqž,(mm&&—¸~öé~ ‹ÝOOk#Ój$ý,ã7®˜t±mçZÜv,ЉæÅ‡[vÓç6a]ìÖx89ÅûŸ^aÿž-lôYV§”Ëçáf††ékòâÔ-ä¹ëOqvxF¬rúð¬+Ì*VUÅ,L…È0E„¼åÐâjäÍ’‘Ë×yÿ~ˆÿòïvcYž²øoþÃ&Wîkí}…?k˜æ×¿ýœÈá£ím(i7°#”¼GŒ4 áÂجfT“ŠPU Ù=ô÷íæX«R`ªü –P¯ô[€0Û hk´#¨š–Þ>¾w°u…cV㉰ìþ(ÌV̪‚Rð_ p¯,øC LÎ6v ÐßdC ›gQQ0«*ŠH!Ã00Œâe„ÙÃÀ+;ØÕåE¢¢.s5âdÒíú{‹ò¹(ÂlÅ¢ªEòsÙpTtÍÊô“, ît÷£k 2Uxvyß;„’wå2 ßC¡ªè6 B¤W‚©ÔÄsÈly¬;»|((©%Ăʩ ÷èî¤Ç&ˆ&MÃT¸iašó׃üÅ_à^"Ì} ; 2—€PÐ>öìß‹_W0r9®¼ŸŒ(š¸j›ÞšºúùÎÐ4)ª ‚ñÑiì‹)º‡QGËËdã Ü ÆPU!–Ýà¨kù<+ÎWYüweý‘ÿÿ2‹b™š´¢¤¬šCÅ&–'¢ÈxYv&)DË*zjÒ±ªÔœ3ùúLtoÝαþöüJQÝ63¦V!ÀøÚñ˜ýՇ̅:éöè…9†,ž&f³)ƃ*ö. !Òxý~Z›ó[ryOŸXÁÓ§ÊiàaTyùÔÄšfÑG£DXá’YàÜÅK\}÷?ehïN6ëa~óÉRÂŒ¯uc¯³A"<ˇŸ^âÆD–ÙL”ïâÉÕóœ[ݺqÛ´Ú¶Øq7zxïýè}eÃMž!ªƒžN~þÿ#¥°aë>ÞÞÕA¥<ƒ3øôä%n†zjoms“ Þä·ïÝÁbµqäc˜(ŠRp{«mI Ï?âóÓxü(Æ',±}hs•ÂŒÝææÒ‡󠹇CùnOšS'ÿÀñ¬ÊðÑclu_之$WÎ|Ê%[÷¿Nƒ+ÃTI¡Zx}3_þŒ³Ÿ«lÛ#=\݈ºÈ?NŒó¯íg㆟”ÈãÍAw(]kÒR Y4Í;îµãjÍÿ?>u‹?ž»Å½°D[êãð«ÛiñlÀáß}Ä;¯D’÷ò*ÿW ³Ã·óýÍ|rù3ΞÎѽû5^m2H„—˜]TÈ=ÃðÓ%–ÛÏWc³ÚiÖçøÅï>Ãn#”#Tœ. ÑSð›ÔŽnò1¸£“wókrš‡ {9¼·?ž;Ïÿ¼n"žrWÇAã¶øÎ\àçÿ{³¯·Ðåp£ÜùˆÙ†|ÇoFw”—ym{ÃJÿV<}ªÆ:DkÅôÍ=äÔç—ŸHðq.È®=CõÏsæã»ÄÑyõÈktY]Ø¢#ü¯_½‹Õ×ÁkûÚ¹ö/W*æPí÷ªô÷øœæW¿~Å`àÀn,ÊÍâs])‘_±lÙ^>Ö $K£çùàòcæ’àjÝÊ G#4}‹OÌ ]!—6³ÉÈrûÌÇÜ»h§oÇ~vuxÉÎ-ròïsFÓqy[øë·¡Eg¹üÙ§þ^¿å…<}²³U[r LWñˈëÒÈŒEQltÅ •Œ•yñhN±p„X2 ª†ÃéÄ®f™YŒ ›‹€Ã\¨X1=Ù4óÁ%’‰IˇwKEB„Ù‚ÏíÀfVk’Ë3É3¡V» .gœº‚‘NS­˜H^ ËH¬N§¥LáI)ɤã—¢$ °Ù\øfæçæHf%B(xý~Ô\‚hÎJ£³Ä¢T¢R’Í$YZŠÍ躎Ýa'+÷Àp[5”\š™…%„Ù‚ÇãÂ”Ž²Ž‘Ì‚ÇïÇ^ðxR­ž‚A%ɯÿïÇ4oÛDWƒ ¯ÏU5ÊÊ@ž5°¸!––8=^¼632—d1!!UšüD.E¨D~‡™ù` ·Ó‚nV*gÑCez>ŠÓiAÉÆÉinÌF‚¥pœdt‹Û‰.²„—BDÒ’€ß‹Lljb£Á*‰D’˜¬%~Ö/"3ÝXk«ÛGfá'//²s¨‹…©qîÄ:ù›="l# ó,^"œQÑuÕêÆ§ 2© ÁXóòFŠ™ù0†0åedÉ\ŠÏ TEÇã±c-‘Õò\Œ†C£©üîÄkÇb,Î͑ӜÜVDEŸK#šO…§Ù’±z]U^3Ùt‚`(B,º®ãp¹Ð3‚Ñ$YT~/𤓿Ã)L;^‡Êï~ùIÙ²ijMˆd/;hTë¯1þçoÙ9dÍ>~_‚Z9‡jõå« àW+÷Z©mÖ3ŒxœZ!]yáé)*bKÌE¤²„ÀêôÒXƒW÷|=Ì2µÇ¢IRi•FŸF$’Áâ*ò2kö)'¸CsyqZjÇvL§â—’(B¢»\¸,µÉÉ2›fz!ªŽËëÁþôx½5‘JÆ ÑÔWOT/sâ‘AÃFƒÛZÎy\Ÿß]£2ƒ´fUùJWQU2ÓU执 „I£ÉïEÉ¥…¢¨B’³ºðÚkqý*亨ª «ÅD$*ð:ì,‡BM§â„b’€¯q?ÿRF–´¡Öˆ0TˆˆèÒ"ᔪÛiôتv-RJ’K‹d¬NœºÆòÇâytF*%”Ñit•Ïß²¶Q¢ÒJÀ¦®,J½‘jΡ— i0ŒãpÚ [åõʜ䅓Úg¡I¢“×ùhdŒ‡Ó (Î6ä{»:Wn’TþoE”~ýV¾zå“&—óËoÐךæÁ”ÿúÃFF&Ùxp˜.³,@–¿Ú…z¢‹œ<}çÐk¼ÚÀ®È|(»bsÌ?¹ÏïŽbWÒt:Êᾦ²qåW 9b¡iÞ;~‹¿“}÷Ðg[N,–ÿ”|)‹VòÒqÌ<¾ËîxøñŸua*9/½/“ŒòèÚy~³ØÉßé§ËcÆX¶t®È¬¤îU·ÿ’L2ÆXLÐî±cS˪¨ù<ª¶ubå쥬J™ìv2rî ÷âHÝÅ÷¿{ G|’SÇÏà2„6áûC]Ï(×âe>V&Xû2ÙÙ$ó®ñ§²üå÷†ÙÚì$KsOøüVšwŽ `£„Ó»|{(8ÃxÚÏöæ¢Ò_½ý‚|_|v‚»1Ž-|ÿ@_y€iM';s‚ÙÃìínD× A±WY*æ+söÉ(gÛø÷ÔeFA‰¼S© ã÷®p.³…m÷b1‹â¢DÈeã©Ú^Ï2kbe•—)Ø —DI5#ãýãרwhþ&G~®êª5÷ÖjﲪLçOQ˜ϦüMK_ÁÓçmZ´8“×ObÙ°¿ˆòøÞUtŸ‹ëSÈd˜ ¥›£;º˜’|ðÑ fÓfš{¶óÝí­˜Ä2 ¨P»ªÑÖÔHS C2«£"‰…¦ùü¿ãý¤‹ƒwñJÀÄ©ON0Ê`kêã·ànêæÈ¾·²0ˆg9wë.‹áYÕÇ;Gw¢ÛÜt¶4a#Eƒ£–UÐ`æÁUŽÜd)§ÓëpÐrÜ¿pšó—ÈZùÁë{‘áiΞ@(ÄäÞÀkñUR”Œ4‹S·ø§_œÇÕ1Èû7#&¯ñÉ•‡Ìe4ÞfûŽ ´Š1ÎŽiôw9¹q§TC¡Çœ?w‰û1+;÷3Üå£"—\•̳ï¼õç“Ifße*šÄiqÐÑÔˆ®K,^[Ö«.Y¸OoÅ©³W¸=—aÇÃô»rL]û‚îiîìÀáñWmÿsÉ(“·/ññèâó ÏwÑ’ð$#˜ÒЄdëð ™Ñ+\Ÿ“µøùᛇp!F¯pft–˜â£ç†r·9{ŽTs[aÎÄ™{xƒÿwvÍ×ÉÛxrù·FÇ™48í9ÈÞ._1TaFrŽ3g.pñq˜ÖG8Úe#5yƒ.OâíàÈöVN_¸L4C8œäLm µd¸yí1MÇ©dQìí¼ýŠäÄù»<\ʰuÿkl±§ÿâ£ÒLNqÒ74ÌNÇ<'N_æöb‚…ˆÝ2Gli’wŸ'.t ìá»[<ëOYäÊlŠdªr<“§IÓЬVž„â%ă‡1½*KÁàÐv¬#_ð`ZuÅÓÊÌÝ¿DhK3þ 6®b²ñúžn,fƒž.*摊Oï [§G˜œ™£C‘Ìk>ºÚrDæï°í¥ÕY\ÅA>yØxÆÇð&;é¹qf"IÚ}-8@ÁÀl³Ö—‚·¥‹][Óøs~:›±¤ÂŒ„\lÙÖ…–˜çÎl„&#Âôô,ûÞ:€ÇîÀYck) “IçÈÁ~Þ›äê|”à¥Y43}"ÉùGA¾Óߌ»li”ãñã%¶ õ°ÕåêT»¥Ï—Ä“³8¼lêÝȬ_cgw ÍntüSA?ÊÂCúfLÙRyŒ1 »?΄¥ƒÇ4ã£ôµûðVŒÅSCf&æOpãqœ­»l8-66ï݇P §Ùj°«åj7â¼w7Eû¦A|JŒ‹ƒlw¦XœŸ¡gÿ49¬¸,ÕÛ6“f£µ»á_âáôSè+á7 Q̪Y*ZÍÛIoGŒ©[ù„k™DŒù‰ú·Ñæ÷Р+˜:zè™™'¢ p¨¿W%S\æ¸?r…”«“7{­œ¾2J`w/í›hÓÙµ­¾v'¥É݆¿½›tÐÖÓEâó“è ~šb“xü: ñ4½Ùî ±°0Ãl$I:³ÈõÇ*‡÷örá¶Aw‹ ·ÒOo,ΙXž;Z˜æüÕ9:ŒËjÁc³àít33׈ Á¦¶Êã™cld„%Kï¼¾‹ÓC&<ÁÈí(‡ìcarœoè,Dt¹$c³*.uŽ‹B(¡b±w6¡’1o§§g¾ðGçhèT/.1pðM2 ã\½:‰Ïz‹˜³“·6YøÍ'¹4Ñð,Þ¶^›ý4ølËÔѧ­ ¾TzúH?ŸŸ¨\b>“ÑG˜¬¸}-œ}óJ'û´0ºÍC{c‡3ÉÕ¥c”ч&læ|æÇÚ¹±|®ü¹ŸÍ"‘iÍîaÃÆVZL/$ˆ„—xôè óº EÕ‹ÛåòŠpù}47»H3Ït"M»×Û¥=õ¡è;~“%ÃKÀmC.†0üM´u4b ŽÏÇqê ‹›Ž–&lJím„0é8üºÚÚ‰OLp/g|vS$Œ]S°ÙzòyV*ïÓ½4úi5뜸Ÿ$‘‘_ª0M&·ÇSZhð¹q™$[{Lœ^X$ôH¡q“H”Ë#brbŠÉ„NV7°{³Õî €jÖp»ËWãˆñèñ"ZÏMv3Š“kõ`Õrµ£Ä˜3ni£Y râJ”MŤÙionį+5Ï÷’±%FÇ'XÈf…"`u‡(šÃŽ™H0Y¬x›|ܘšÇîpÒ èv'n§ »ÅG£[/pK s<˜LÑðj]mFNÞ&’ÉÕâ àÍS‘*!“nã•ÝÃØBó¤TE˜ñyܘb x< ÷ÒIMM0OÇðfs¸!s(ª†Ë£ã·™0«nÜË׋G™Î6ñFGËÊ¿!T6¾²•fS«I©6xÉcIü{›ÙКw™˜‹0kä»m-˜ãO¹²€ÞèÅãQ±…5œé9 ¬hV/þ\¿Û\š%<7ÅøãyÂÉs ™6;f‹–æ’¹yrc!&–’x†ènµá³Î`R5lV?‹swÑ,6þâöÿé­?5$Õ+Ì'éLUö5×óP°9½äFÏ3¦¦i>ŠI\ ]d6‘az>‡5`Åjncû¾Íìêp¡Lzùr¦–ÕL Šš?ºÕGû+ÙÜ„[Í¡jf ³âdH‰”Ó3" *é¹9¬¶Hê«´¼JÉîBÁ¤›ˆÏÍï°#cA|Ö,Š(qEÕJ¦´6!Ô"™_ÕØül~u˜]n’†‚Õ,0âE/ )%Ùð4‹ñv|Z—Õµâ©`²êL/ß…\â‚T&G.'f»w'žãg¹ØÄV ‘Œ•Ë£»‡¦Æí¶müÇn2iA¥+qÍçQè§§¹ÍÖ|±§NìZr¨š=¼H4ÑDR‰árZ°hŠBÑ! Fûó³\uòãYþõôÔª”®kòŠWÊÊijþ_ÕFCÏ^¾×âò…œÐ}¼Ýš¯-“̬l½Êê*íž3‘$Ù´™%³‹YGY[­çƒ‚ÕÕÀÐÖ€”YÎQ]¾|&æºÑÂ;œ$|A‰U·ÒfKaX;ٿ˵÷ l˜—nÖ°¥Oç0›óÊÒÕ=Ä0Å­ãòù`é8šÝY.FÉt šÙŠ+ýˆdvÑH½±yÅ;¬H^_v<(¬äÉqû‹[¨ƒûy«Ñ`ìT$_J §äQ4E:­NeÉIÍÕÄ_½àÁ½ëüþ³ ?~g ™Ð 7o> w×^z­|Ï5?& ¯³Õ†âñ¢ÛüŠSdœë·Í˜ÍÍôi&r™$ÁDœGW®b·»éÞ2€iê.÷'‘‰,—gôxšÙ3¸È‰“'±»ÜB»uu´|ŸT6îÞÉâIþåøc=ƒ¼âod÷À"Ÿ:‡Ùîãµ­îLÄqØ à5ãÊ8±Ù-¼fž/Ê£ k´T>=xîª7­"×J^eV#ÎWYöKÊÖ²d¯Õ)>*ægM9‹²yYÙ—š¨”ËVåÊþJÜ:ω…vþÓ¾w.ã²e;è*ß²Ïwõ8¾ì*Ç*({é*~µÒËÊw±ü-‘•ƒ­a}¯rBYVs)%F4ÊÄÿ3™±ËÏLÈÐ_ß¹ÿê•xüViù5¥¨…Šs‰%ÆoœçøL3¯ïϤXæ})+[×çèõʧäJS˜xËA„Èû|¯NέÝ^õSz¶þ—ʧ¤×O­#(A¬ør/ËLJPt'yl·µVX¤r¥!¥Dfâüñ£ã,(ü ÇŠ ¹²U|&yK_ ÍÁŽöâv–+F¡˜ 8Ö^0éìÞGNµØâ)o7¶M¼óz+i šÅŽÇñ’˜þuÔ†a”å‡ù…GåÉ&°†œ>¥Š «ËO)QG˜xŸn8}©PÌú×ÚþsA¨4ú쥞se®4”]úFÊã[‹ü“I³ÑÐXÉkýº-ÇßÉ$2™¨¼\•“¾Da‰y26üNkþá’ñXü+.e2¹P,S8b„?Á’ûk§"<¾*¹¬¿-Mσús\(õºƒåï˜Á³yúH¦Æîp-g¡·£€K#—Œrîæ$ ´<øÍeY먣Žo%är²`™žH''kéB“”Æ%E(ÛAª² 4ÿÄÝür”z¬G.JŒjëOzyÈU~^/(OÁ^dzc]Km½¾+(¼À2y/‘ø§ÿ>=ÿE-Šw<®Ž¿ïèø»ª.Dó]c[>Œ—ü¼Œõ(@Šò«Šñ· ‘2aä’÷SéªÐ×ëùöbáïz„¢ÀÌ:1=”#¿zK×ë'QJ™ùùÜüègáè͘!«rV@A9öéºÛª(½B|cæzò%jÝ*$Ê溓¡”’„‘Kަ2ëSa®C™}ðîå·–•Øÿ¼m ïâ>¬IEND®B`‚pyzo-4.12.3/pyzo/resources/images/pyzo_shell2.png000066400000000000000000000476331421373005400220560ustar00rootroot00000000000000‰PNG  IHDR!ȧ!Wå pHYs  šœ IDATxœì½wpW¶§ùe–7(_(Ð.õ†…ÁNÄÀóq7´‘k1,B²,#eÒ(âÝgŸVY–ðçc¶dÝU]ÐK UÄb±‚ Þ’:•a2YqØ= ܺ²¿Îù&+6¼Ù¹wä¼*_¢(H’D&“’!Óià|×ú“}Xô6òl“˜ì)G#j®8þvÓ>“æ’)²L:Bòd7íÁ¢Î„ßïC§a@2iR²ˆA¯!éBcqaÐ ×yqjë  Ç0ÛÜxÝYº­ÈôtvéO“åÍÁa6 ÔÄL:3<ºà‘>tî¡:Ž>ãà{A®k3d‹YÌPù——=úš~—eAY¾|aÄ[JEaÔVáÊ·×ÈÞÐPÙWÖãR¹·úù¾×Ü=Â?Ñ‘ey Ó KH²Ä¹Îct&;PÌ2zè•û¨kÞDG¤%ËF=O©þ0™‚\7âàÇr&A°'…Ïkx‚å `oŽ›«uI®Ôœ¡d:[[HFlÚ$zGFÝÕµA„"¤(H™ Ê µœÚ͉^/Žþz.Î¥ÜiÅë# ÑÚPËñ¨“óè=ñ)rþ½øÜ6ü>‚”¤£#:3Ù.+PD=ÙÙn4ƒuIôÇHÆzØþézîœä$í!”L¯¾³µëW2µÀ1xã¥á7€’îåíWÞ$c´€hbéê5øíÆáín§[²’cˆ±ãT/Kç•¢»®: ñH[?ÝI$!á™4ƒ•÷U£ Òq–};¿¤+™¤O²ó½ï>ŠE;Z $Ià ßcÇ™«“•kVá4k‡…°§¥–×6"ËbÀæ›Âš¥³1hFÛºa¨'x©l€óßãíÝ! ýVòk² ¦`ø¡ºæßeŒ‡éÊ}EAÕ »‡¡v e$N¾ %~É(‹Æ™å›Ãûõ¯bÒšØ×ü9Ù5¸,žÁ§ZæèÖ¿ðÞÁ ÷þ5£@¨½™žP+Nò7ÏÍ# ÒíáãMgyñožÆ¬™îŽ6ºûÓdçú‘"Az¢It79n#m]rEkÆ¡ ó›ßodÎÂY˜S]Lžÿ†xˆîX­Î‚7׃qÄs:J„†.nø?._Y­õ4w6ròà—”<ücÎmû[ž‡xÊŒ ¤c‚Ýa:kw#­x’Ì…mœOç!´Ÿ «r&¯¿}€¥kîC×~”ô¢Ç)p̲˜-zv½õ1ñì{1ktA4PVYI¬³ž¤DÅQ½ž¡.(€œJ’m¬{ôB§¶³}×6&•Í`ºWáŸq®)Ìñ.X¹â^Î?I׉Oèµ”òôc˸¸ŸhÇ^8Gî+ä“ÏöŽÇ™¼ðA¦º0i@cr±âÁGãçøðý/èžQŠË bñLfåc%DÚN³¡6…‰Á* ÄPA¡¿?Î=‹V#4læøÑ „#nî_>›3»¶¡÷:Ñ—ßËŠé~½ó Ÿ~ÔÆìåkpiúضë,KVÌC/ŒU¶B´/NÜ4WeóÚ[Ÿj.aõÊù¤»9p¡‡Þ†c´‡z*V³nº‹›Þ¥K“ËSëÀf¸ÔEï]äw7Ò'X´t>­ sŠN…³X4µpXï¦!ðDg¨'$˵G°8$Ò1Ö?‚Ãàäû?ç3/a1›éîïÆiv¡ '»9|^Çʹê[B˜ìaþòáQæ—Š„z,œÙý.ÙçÉ iïŠ j$B üéÝ}¬\>—Þö:~ùêA,ª¦óØÇ̽¯¾½ï>½”sÛ7PxÏ<ÒZ;Ùæ4gíÀZ\ÃÎOv1wv>ïmiàùÿíJ £G-Ú«_i’ý[7âÏö±xIk„† u„´9”z²¥}d{ÝDVJJ&#Ëçˆ%âDÝÍ^‚¨k£½¯cö$òó P'I$2À€iLvV®]ÇžÝGéMHxÌš¡IÅ8~ä$ —Í¥ÐcU¥L&sI„¤ ©x/ÏÓÕÂã*äb]#¾”ÌáSý”ΘŒ\ì¦Èiæ°b¢dÁ|ºN¢­¥™í°tÁtÚÏ ¡ÕHwT˲Ù|úÅ|V#NýÀMRR\#ûÞµhâ!©Çèîc¿ÁDIv͇wp^01gAé¨rKkÊ8°mŠÖ@Yi!š\ S{®…Yåþaä¬È×Õ@Tn?²,Ø„$‰*Ï é$ÇBûÐY`[ý䙋é™™}/v½Iè=çO]Χƒ<.q£‹‰ŒÂsëìøZ~6%DLyîé"´Ê€©Aï*âñ:ºûÓX¼%üìñ,z¢)&¯~’§»+ƒ,IÍX¢µàuù0ØôT?ð4¶l´3ƒœonÆUPˆ]¼d¾Ðétuuu¿•eù…—^zI|æ™gÆ´b+™ý=ÄõN¼vóÛï ƒArss‡:Œ˜ö‚L<Âþý‡™<ë¾aõ%Ÿ‰+QåŠkQÜð>C‚pÅö¡Ï‡öÍ .wÑê cÎÒ!Ǩ?z”.S!s+óg/ÚÓr‚#3TΚŽß,Ïæ]^öõU$êà"¹ÌªÌÇeÒž{ÄlÙàL\:ÑG¸/1PwQ‹ÓåD#Œ¼O£¯pè:2É>*kf}3Uî(mmmø|>¬VëÀèE‘8:Í¡Öýô§¢¸Œ*¼ÕLõOG«I|ÕìÔrµ!úh¿%…ž@;áX —/›I7j_³Ùü6¡‘Õê±zóoWµ!Ãôâ¡( ³0oá"AsŸÛÍH›ÂXçWP=ÅÓæPŒ0loy|VN%‹sd2’2Ê(|õ²ÆíÅÓæP¤ ˆN&#)¾Š¢ÐÕrŠ]_6¢Z“ƒ%Ë–â0}µó£jº»2› ›N(sWQæ®üS`èßÐssù÷ûUß÷˜‘¯øþ¯p‰¹ìo›Ç‡mð÷Ku¾´ï6¡»ÑÃr¨¤R©QvŠ» Y2‰Ò­o°·ªl[îTÌ:â“ Édæªû¡ÔáØÝ‚(Š¢ÑèM—u;zB_‡Q6!QEñ®!AeVƒ^§¹ VŒ]‰Hƒ U£½µu¼e_ïùåLšD"q‡Ï¬2‹…P(D<~÷,ä¾´0ÐÈ/^L^^pwú„¸Ýn´¢ˆÁ ïª\•¡®¦x–¾Üβ¯‡D"c,P €»³­~Òéô¥žÓéD§ÓÝ•ãAÐét×Þqœoc#½e_F³åÚ;©¨|ML&Ó%º‡aCÜm¢¨¢¢r븮Ù1•Û…*B***ãÊ„¡Ë訨Ü^a ”ÇФÊåmoB‰P:f÷îÝ´´´¨"¤¢r²5°xñb4š+'X&”E"l6«V­º« ñ**߆^ömmmD£Ñá´#™P"Ç),,¤¤¤D!•;„¢(˜ÍæQ §G2¡Dhh\: @ òÐ"OF„VåòÅû Šòu§E+µð²°²#Èü©¢òmå«VcL8ºõxãßþL,2®üi<÷ørŒºAÙœ¡î‹ýx§ÎÇø˜wdñøË0ˆÂ@¼¨«Ÿ`XlZk?cãg'éM*ÜóÀS,©ˆËÔjàõ×ß',[X÷ô³”f÷²`•ÛÏM‰PÇùƒ|üéâñîš•¬fæ¥ß¿Bˆ\V¯„2M>ÝIkDÏ3]ì?RG΂gyhª…—÷šb–>ò«¦çßò ûºŒ¡T¦q^z4úF(d’QΟ=C·`§Æ-p²¹ÅØB̞όòR&=¸›‘xèѵì9|œÚÞ0› xê±<öì8Ä¢Âì•÷²¶HÆݵ¤æMÆ r‚îú½üå½=”,ÿÞpðQ£Ç@‚Æ‹mM£ Ê„çÚÃ1AÇ”ÒbŠ‹}ØÙIÃé=ôùL.°rúxi ¨¨.eŠh 73™Š*'µ{j 4EðL¾Ÿ åŠý]Îl,5 vžýÉO±ä³‘³º‹¿ócÚÃGÉËËEqø+˜6­Š/vH°½‡tÁjª«]ìÞý ™3åÅ¥” h6Ÿ&­(ÎÒ¼ø/¿ÜPOrv>­­œbß'oÓã™ÇÃ¥¾qº**w–›ê Ì6²·Ï‡Û[ÀùÃç©8ÜNLfÁˆA°ã’ hD Ùþ¦ß·€­›w±í”ßäÙL*)¸åöuy#ô&…•5TV”ã5Š(²žûuئ,¤,×…®¬€-}Ä#sÜøsœhD=9~3ÔÖíüþe‘êåàÎ’0é4“ãe ³§p~ß¶|y4z¯^OðÌnÂî9ø2 |´í(Îü»s|,¯ôç-QQ¹#|• uuu¿Uå…p8,VTT|«½‰ƒÁ &“iTÈ’¡ÓV»•W¶XúÈ*æ”x’ý ßa8{ÆXŒ ñ:|£G%6šs†få¿”‘3s**ßFE¡««‹D"Íf›ØÓW ÅD‘¡©ôÜêüû*†ƒ- ‚xÅtüµÄbÔö+²½ Ã?Õ¨<*…±²$_΄!Q‘$é*=šË|€5ñ±ŠÊÍ2ÔÖ$Iºj@¾ %BYYYŽ?¨Ã •;…N§6ƒ\΄!A0 ŽwUTTTF0aDHEEåîdˆзuÆOEå›Î„!•»U„TTTÆU„TTTÆU„TTTÆU„TTTn;#}ò&ô² I’eù[½>NEåN ˜A믶/pÕý'”…B!Nž^ÁÑ{éÖ·Q¾|=MÞI”¬ZËÔ|‰íþ*¾ÿèdŽnú Ç{ ¸gòƒUþõÝ/(z¤„„±G,á—ï×±lš½VD§×‘ÅQTR¹ƒŒŽ ýw»ÝTUUqúôijjjX¹rå(w˜î Zó—¯`QuŠ”ANv—D¤D’Œ$£³zXýè“L²k5zWe¤u‡‚oó17ˈ(§I§Ó$Ò4Y9<ýø ÞyõŽÙÖ!íX :b=lù9è„F`¬ˆ³­F@Ê$èlo%=u&m€L:ƒ$ËȲ‚ÞîÃ}Ÿ}>îs[ÑŠƒ]ZÀ`±¢×i1š4Äe”Ñã1½É„V«Œ„”VÐXs¨®®àÓ·/ ƒ6VåŽqùplèuu5‡¢¦¦Q‡ýòà†EH`Ò´åœøp¿?.ÿd¦dõ³üù¿E9µ™£GLÌ]±Íï¿Â³‡‡Ö=„Ǫ»Õ×{˸„>CsÝ„ëqØÝÌðEøpãv,^7†L„O·ì&e-¤ ÛEq‘,£–Ö†³TNZƒ1ÆŸmä£×þ„É3—9~-Š‚Î˜!ÛnBcðZ#Ô]°óÄÓ…h:;é:€?L¬öQ* ³1N- +uN“™¥÷Oaç¡­5Ì'ÇcCÔ±º 1Oª!ºg#|3ÃÒÕã0$ð{lˆZ#þì,ÎïÛÈgG²y,Y½­Ú R¹ƒh42™ À(ÊÏÏgÆŒäåå‘Éd†…JQ”«†wPÙ6p»ÝäççÒ!º¼8t×ösˆvÑ;²1hƶ €" ü”3):ÃI¼î,¢­gØÞ®åÁ{¦  ]à­÷w²ú©gɳ®ÈÊ1œÕcLÃôU²~¨³c*wEQ8}ú4.—k”¸ ½äÓé4:n”ɲŒV«Åd2MìeCj­(._ö¨Ï¯E–çR¢ÂË÷.û)j ø<“•WÁÃy—¶[=%<ÿã`P¼ÆŽáú\åDW­¯œ_å (ÊpOhäìØÈç2N_Ñ RÝ3l;‰`6›Ç»***ßh2™ ñxükc2™Æü|B‰Ñh¤³³“£G~k‡œ**·Ap:ÿ_:nl{ñ„!§Ó9|óTTTnŒ‘†è[Á„¡«IUTT®Ÿ[½îrB‰ŠŠÊÍs«Mª©¨¨Œ+ª©¨¨Œ+ª©¨¨Œ+ª©¨¨Œ+ª©¨¨Œ+J„dY&‘HŒw5TT&‚ `0Æt“™P"ÇiooÿV/ÒUQ¹ÛQñûýc.™šP"‹Å(**Âáp¨"¤¢r‡p8L8VEH–e$IB’¤›¡ok¶ŽoæuÝa%¿­/¶¯{]Š¢ÐÔÔD~~>AeY–ÇÜÿ¦EHJÅéI‚'kì²wC7B–%R±íM­Ä Yn?¹^ˆx>ÉhÍm]È¢·?c:‚hñ`Ò Œic‘N““^¼†+êbÏÎa°8b=AZ‚=ˆz v·»6ACS;‚ÖHA¡!!¥u`3]ÊÛ¤d#il†4’Ö†Õxã_çå™Bª™!ŒàÍqKÄÌT¼Ñ`F+^ýþö÷h †A£'¯ ‹V!ž³áÒbI%“ •ð:,w¢Ú缎†›NôÑ/épXŒcl•IÇûˆJté>ô6zÍø íµP…@ ÀK/½Ä=÷ÜÃÚµkEq8ûñXÜ´ÅCÍìnydî”»à]tmdYF–d‚õùõúï„òJ)œº‚÷ÂC˜µMM‘3Ôîü€?m>†`ô±ü™ç(êÞ¹ê!J²M(ŠÌé½ï¡¯zšêë¨òG Ò˜â¤(ÈRŒ ¯¾ÊÊÿ¿Yƒ’‰³oóÛ|¼ÿ,:[5 b±¿™ÿöÿ¾Íá广‡½ãsZ\±bjÁ PB²§‰76·³¦2FÌ5‡éÅîÁ˜BWK_tuÆj4R<ÄÛo~Î~þæQ àzz££²]£mÌ Ž,W¡åÌAôÅ÷’ë0Œy69c÷Æ7Ùt°EkágÄ‚-G»DTäÓ¨çÓÓ2O-¯F¼‘§ôR•?‡R3]VåQŸÕ¥ ~¼p”CQëæL¹2^°#P¿ŸCýäuÂ1o=S<æ[ÞS½Õ½7EQhll$‹qèÐ!–-[†ÉdºªÁuˆP¨w?ü Ù`"Ù'±hÑæf䥨úÑaªî©@ùFÈÏ¥ž$IH²€Õ_Á ÿðØú‡_³é~f®X‡_áíG‰œogý ÅŸs–•‹ûeÒ±nÞe3íqdwKKcìÛ¼…; Ö>º¿Í|… F™»ô_ Pˆ3Újþñ?BNÆèO($m,yî¯Yboaãéf–ÚddåR¼^EE‘‡cøJé_lÚʉ–0zw+T²cóVº¢)Ü“fPãîàÀ™8¢¢°bÝãh»ñáÖã¸ò+Y<Ýñ½ièI[½˜¹ùI>Ür^¡­g0Bž”dûï~ƒ4w ±-Xæ¯%tì®f6×)œTʤ¬8N5!xgpÿ¢JÎo|™&]6:š… m~‰f}6z½VÍ'Þt”OöžE±øX>»„·>?ŒÏébÉŠådÁÎO> ˜ui³îÃ=Éáó!r*ðТ4ÏA½q¿ø~ ‰¿ÿŸ¯a®ÉæÍ(Ï~—e>dꎢªj'>ù#oÒ1¯:ŸÉ…ß0 IDAT}_ž#­õ0wÉ´Í9p®“’9+¨ÖÔ³ãp=i‹×¬âÄÇïó8Itö’›ã¢5ÐËCO>Š®ë8ö\ ț㢥£wÍýø(–H-[÷×£`Þýk‘Ïlã@}˜X¢×ìµ4|¹½GêèψÌ^ñRÝn޵õ‘éïÆ5»Â²r¶¸@ÉÒj„[$#ÅçV ÑPÅÓ§Oc³Ù†{Eùùù73Sh¬ÝM邇™S¬ãÿú¢Ñ1’ 'uI¦Š‰ô3LKC9´º†úCM¼þç×È+[ÈôÉï=Í4c#–ü©,Ÿ3…c'óç7öa›³ž¥‹dÃiºÝÓøÁÒ*ö½õ+bÁ ¼ÿùq*ÊòHö¶p1ЃÏz)b£”ŠÓÒÒ†9;¯õR—[‘$äÁºÈ²@´·‡§”xw#o¾þÁd6ëï÷sôÓ÷è+ÈeɪÅÐxeP@‡Ë—dE&Ѧ«·ž 't|ï‰'™šgæÔç¿ãLºEÚêŽãEGñŒûɉâds'…™n0ØÈó»9ºéMþpÌÀý3Ýœ?~Í… s×ü€Rkÿúû]FCUE†×öîC‰þ‹ÃÈ‚‹ÊÞâº%¬\>³»6 ±ïÕ—°fÿ5úp”{Ÿþ!=^á·2²HåÞgHøÐ«Ú'qîÝ—IÍX…¶ó"ÍíVºÌe<ºâòz@¦¼| 3g?A™-Ì¿½,óãžâ½ßþ…ÐìJ²M"ý}Ý8½åhE m¸4qŒÞ¦/¬fþ/Š,£()Z/†¨™g¤%¡×´˜•‹ŠøŸÿõ§T"·åð"íq^üé÷1Èþùï·QúÌXïíã͵‘(^»Ž)Û8‘.cy^uÍíL’ÃØKç3M_?𹿎?¾ò.h9Ó!c‘Ù[dº¶gélæØ‚ì;y”½›Ã<þüÃø£‡8ðî‡éÉ-g’!Éá/Ž мøÃu´û„c²Œ9ËFÛ…Ò +¸‘ÙÍŠÌ×=þ;ßùÎðïCö ¯²Ã^3нÕáåTc=.É@(šÀl¶ÑÐÖÂ…TmáèÐn߆”:#IH2˜=<õýð[´È©^Œoþß|œpð׿Œ¶‹çñä3Ùµ‡ ]$‡‚Þd%ݤ¡)‹¶Î>Jk,øs©™5£ àõX†ƒÈRf@h¤Ñâ¡HR2Æ…sgé50Ø‹ ØÇ9ëJ =4è%£ä2}Å#<½°!ÝE}C†öÆ œÑ%É)È'Ë LÖ¨ Ë £wüÎÆœÉÆà,"¯XÇ=U¹(²HªóKÒ:AÉHVÏdf”µspÛV*Ê (v§˜:k&™TÛ>:Z1Xúˆ&Ò€sæƒØ·þšÌÂõô~öž€ØªAo2£¤c?ÙÊ´Ås8½ý‰T %Ú˙ӧˆ¶&)(ó‘9áì™SD[”ÏóQR5™tùTŠÜf,r»’”´- ç1ذ)!N:MŸÖNÈddÜyÞÙËѬ$R¸‘vK9 föÕµÒÑ3ŸÍ dÙ ô÷'@Ôaʲ‚ £¸8{õ ¼3«Ñ:<ìß°…ÓgÏâq9)+ÔÑÑxžÓ‘~\®"útìV-¢Î„U«EƒIÊ “Q4cÕèZ9‰Å=™¼b=sÊý˜|nÒ- ˜Ð€ A5”Øú µ7"÷¶“qåQ\”‹l/avµ ­ÅÌÁ-{¸ØØD¨¥t®L¼?‰ÙiA–¥+êÏö¶‰Û}Ü]í˜kºÏÄ#Øw€ÞX”º…=ÿ‘Î Š¨E‘¼}iáa˜nllÄd2‘••E*ÞGwgW^>z ÄílüíïIÏzŒ§–×ÐÛÙAWoÑ`Áãq£I…LNâ=A¢iЈ2.o.rˆ`wDþ¼ݽ:Yv76}†>I‹Ûj%C¢/Ds AÐ’SP@–Q‡’IÒIa3d´V4ÉB=ýH:3¹>Ý­D“2z³ ·U½ ­ÔOB4£KGèõb°¸ð¹LÄÂ!B½IŒ6Ùv=`ˆŠb 7Ï3h˜Vè ¶A–)܉Εƒ! G¶ãs[éë Žg“¬^‡Þø®áw¹ðz¬lé—ÃçùÈ©mm$шÏë ’qg™ÐZÁS±Z;z0ؼ8´ :ºû°{rqÛ†z• Ñî mmM4ŸúMÕC,©Ì¦­¥Ó‡×fBB¾äDÔÅì|3aÅNÛ@*¡µ=„,hqdû0IQ:B,n?S†P°›þŒ†Ü¼úºÃ˜¼tÉ>’0$‰)˜0’$ƒ’ Ô×ç"ÔÞFÜþ<ŒJœ$LbšhFƒU‰ '0;=XÅÝ]ôgÀáËÅ”î£;šÀìpÑszñœyÔ8®ú&z6·[t$IâÝwߥ­­ EQxâ‰'ÈÏϧ¯¯xÆõ}åþ**_ƒ›Ï¶‘Ž#‹”T?ýŠ›YÏÕÃz]BNŹØÔŒ,èñåç“eY…þHZ³­’$œqg•‘àf*ž¤?"!k0XÝXŒ:n.æƒLO «7­ F›T:0yr0ˆ_/ƒ¢ ìÒÛ½×β €”ŠÑ¯ÍŒAs¥è(вD4!a5ë¯I)£;¦à±›ÇPE‘éo»HÌêÃ,GôVúâ2>·uÔþj/SåërMJÅ{ †"(‚€ÞlÇ*&-.Lš$¡`/µŸ2×Pdðe¯…^œ69.3í-ô%d¬N/“L¨«I0ØÜ˜ûÎóögçXV¦eëñ ?\[Cg{EgÁçÒñ§úg<ËÖ0ÛÛ.¦XVY€//‹A{KÞº½­gøì7Зƒk6e^ òå-Í­(zù~'­-A%E½L4­Åã÷c!FKs;íäz!âÝöòðÃséí‘åÉÃkײÿ½?3å±Ñ%#¤â ôVb:Šbr“ç2ÒÖÒJ2#“åÉÅmRh v"àrg±ùÜóÀrEÁæñcÂt†ãl.š8-^ÌN¡­0wŠŽpw+½ Af1Ag “Þ¤€]ìáå-yü¡åxÌ):Ca Y^ò=Zçöðe_>Õ¹VDl/f!IT6â0B°»Ÿ‹øoŸû¿°&/ެÏâ­ylI9£Âü´ã‘HåÏ5E¨£~?œÒððübv¾ÿEe9t˙ڻ‰-“¨vÇHédmŠsBL²kÙýÉ.V¬¨`Wm/óK`ó–­TÍÌç‹V³œvìîä™çænH§úhj¨ç|Ýi¦/˜h8Œ%•ECgsÝÖ^>ªñ…øÍ7û´+4Ö×rH»ŠG'9 Cë~ÒãÎB³¶±e3¡ÙKxéŸ~Ïôuëð†vÍ_†¥ã_°‚Õæ4Šù$;γpýñÆÏa//#ÓÝÆÙºŽŸÛËÃ/>¢(DZjùp÷EžZäàƒ?ïgæÚµœÙ·™'žš–‹õt÷F8Q·—g,祭M<ýÐ|b¡V"9å\Üú2Ý“fº7É«Ûj™—ßÈñôtæä\àýw6SýøœÞ°™E+汫Nƒ[jfÏþÓdI|~¦šÜ³iöÍeéÜ*2rоXEIqlËk´[§1£ÚAg;§ví¤pÑz~ûòNž}t&o;Ϊ•ElÙÓÉÚj…ý]ŠYQh¯;‚¦`.]MHdJhÜù.á…O3«Øu“ß‹ÊDäÚÃ1AGÉ”"Š ‹h1mÂèÌçâ±³Oµâ\³&ŽÞ“‹%ÙCå´"*ª}´8@¨³ƒ‚Ò”×x œ¨¥7!0iò$ MíXûÌH\<¸‰î¶r~ø³…dz8¸?¡. ïË`5Zñæäb·„É­¨¤b²È;ûˆ'%¸YRÒZzÈYøÆ¾‹ÔWቄ9íCnî¤â¡'ј[9îEc/£ºª [[ýye˜ôgùäó‹œÌœà¼À¤72/ÞMWëiòýki:½Ÿ=ÏìÖÒÐ' Ü`A ·ªšŠ©~Îì>É䪇÷Ð ±÷n‚±¡-q©yeÅ´ŸÚ?/mÔJÙä)LÊN!t”d‘ò)“1ôìáL§“§§M'yô3zûSȘë9}ò]39S Ùw2É}Kª©(D²SÂîŽSœë"ídßñ:Š'•`î r²ÁÊk 8òË(++åóMÇg݇!°›ZA¢tîS¤÷ÀÀÀk ”ª»¨†ÊŠ*Œ}õ\÷ª©|}®-Brš3'O3ÙãB¯U%än{›]Å«ùyeBc=¶f¬YtQ‘,§SgÎrV:ÇŨ™j³Ž°( "¢jÖþ„Ÿ­Ÿ‡˜ì¤þÀaÊ>HYýg‚ˆÛÝ-„ ´‚‚"Ü’—™hˆóR1M³Ù/¢EAA‹7ßË™“ÇZ;È›]ލբEDFD5hDåÓ§R˜7ŸI YÉöîjfÑ_™ølc?g=½¶Yãˆn0®V£ED4¢@8Ј¡f%OL¶ðák›Vƒ€LsýYJæM'p,ÂñÚ“ $W&m7i‡;— ïAŽ;Êù~3‹Í:À‘=™šÙf–Ï)Eçôr¾uÏÔr:KÆgPú‚\h cÍÅR]+;6nefq†ÞyOb×§5œàØQ WV†j-Ø.ð_spF“ ˆ»›k9uÚGc]y ßü£2!¹fŒéæÚí|42½(“݋˔fÛ;¯S°âûTæZ!ÙOK{»Ãz 6“ŽÞÎN¬nÝí­ô%lBN“2q@HÑÓÆîuŽËøœ@!“ŠÒ#ˆv·]¬“`o ³Ã 1à4 ´÷Jxf 7˜·½½òòrÂ-§ù²ËIJiE$¢!$­ÔGB0cÖH´5· ì6¡¶<Ù.ÄTYïDLõˆèÈójimi##HwžbÛy??}z:‰®vºci4Øü~„ž:«˜$âÍÒÑ añøˆ†˜ìvíQDDCv¶ƒhZÄc–ØøÁ^–®[Á±wÿ…ä¤Uä9ô¸s 1ɽÈz'=©ª;"XœÙôÕïçƒÞž[P†6ÜB$–Áé/ÀmÈ Û„òòý„­Ä5NlB”žþ8æ,+Göœ |Íýô×ñ/žåÑ¥U¸ý8ô2‡>€}ëæ•ÐßÖ0`˜–¢ ¡P7éTÑpÉ&¤¦UÆBQΞ=;ftÅkŠP*ÞGÃpôt‰“»>À8õqªót H޾Î_v<úô:²M:ºú°¸óðؤ#AÚºúpdçáÔFxãÍ]üðG«éj¢1ÚñåecThÂ3AEh¤ŸPíõû ,ÃÒ>ä'´“fm‰Žz<ö¼ñ³ØËËIwµSwþ"ÇÎîå¡kø ­þiš/ž'íåÄÙ½<=ÊO¨…HNÅ ù í=p–B[†íg«ñŸÙ0¦ŸÐñO_§Ý2•iU6ú;ۨݵ‹ÂEòZ=è'´¦Já@ŸõÕÝÔ6jydù¥ä‘J¦ŸhŸˆ”èæ•·>eæÂYüå×ïpßw qϦ/œÉÆ{¹÷ÉȲBÃá º˜5µ·¬0à^¯*ÑDfBŠ’‰R[—bÙSó1»ÈÔIÕ¸ÃÎõG;º(^ZF8OG_?g5ÕÕdµ5Ë/Ǥ?ÇæÏi´É[¶Œü©•¸”u>§rñOØþþ6¦,štàSÎ÷Jö4A¤ º†Š©9œÛsŠ)US‰ÞCÓùcîÔ0·¬éàâR9ù•”çS·ÿKªÊæ’>d ?¿Âœ© 'I™¨,ž‚9r€†‰Ç+«úŒþx }=íhí>ªg#êõ¼óaŒ)s'S:¹˜T—„Ý£ÈïÆ³p-©#_²isK«vvÝÿs°¸r).*äÓOj‰¹VRœü”÷6I<úãŸòå[¯!–>A–~P4§Ç‰Í¡ÅçÒQ\TVVp$ùÚt+N*++8ñÙ>êz2(@~å"úRGùtÓVf=ó}–øtãø$¨Ü LHJtwήàQ¿žóõ"âàÊzAÐSuï}üúÿûÏÈ®Rþö'>6ˆÛEqh?Qc`áê%üæ¿AÊ*à±Uì›Ï[èíOî'€’¦áTSŸtqAîçí_ý‚×R æ<ö3¬Âab¢H~ù,ž\SÇÿõüòg>Àl‡¡òÊçrfï¿ðoûS,þî_óÂ_-ãõ^æßhãÅŸ%sæcþóofkޱ³ö"9SWÒx¦‰’Ç~€IÛDèâ>þËùœ™¼H¥ÕˆkV5{wÊä£ü®½‚ÇW Øt„Ÿ-]ÎlìýäWo˜‘ä?þý?à¹çIž›;ƒ–¾—ùÿT®xŽ' ôüQ€ö³»yÿãýX æà1ªëä¿s«ü„®~žÁ¨BŠrM?!AAkbÉÚõ,¹ôé ˆ¨b¢rcLHúfpú ê×Suø¤r+QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\QEHEEe\™p"ômM쨢r7óUínB‰$Iœ={VÍ›¥¢r‡QY–ÇÜ6¡D(??¼« ¢¢rJ„†Rä‘]DAQ¯Ø¦¢¢rû˜p"ÔÛÛË‘#GH§ÓWlóz½TVVb0Æ¡f**“ 'B‘H„Y³fá÷ûGÙ†dYæå—_&77—ìììKÈ1:ƒQœ¾l”d”HZ‹'Ëxë*$ÅéOX,7^f²?LZcÁjÔøT!ÒÙNw\K¶Ï…Åp•¯ZÉ õátÛIÅS7U•a‰(Šh4DQ¼Â@­Ó醇cC(ñÓ¼÷êAžø«Ÿ’n<Ζ;OÏ+¤µ-ˆh´“—ã ØÚBRÂæÎ!Ûi é$Š h¸í&D£ «Q$ÒBg1ì"¬‚Ÿòöµë ס¡­­YÔáÏó ‰¥S¬Ìr”®¸HAA:Í@½åtŒæ–vZê"-e¶_K°»ŒÆL¶Sà/¿}™IKÇhöö¢³8Éq™éèÍàqXûC(dx÷Ý}Ü¿~Ÿ¼±—µ¯¡ØïB5Ý«Ü)&œ Ù~ÆB§Ó¹MQ”ÁŸr¦ŸÎúíüáÕý¸'Ïã{ë¦òÞ«/ÓNP8c ?zr)zA¢vû»¼¾«›¯³²IfÏgi©Äçïo ú>|®IÓ)—Žqä`­;‡…E1Þܸzî9޽þ2!AFŸ]F¹!Èó ^ü»ÿ•¤8] ù㟶"kEVøçsôómì8ÚHŸ>›ÇœÉ±3gé+èÅohgãG[½U<ÿðL~¹­›ç¾‡èáÑM^Š¢¤éënæèÁhÝ~žÿÎ2ôª ©Ü!T^¯¿¢'âp¯@AFP$2©“ªfQ3½Šæc›‰ès¨©6în 7µ2²wé îVNE‰ƒ÷>ù˱„œ‹™n:~:U&‰Œ|ï±{øÝ?þù¥•¤ç‚hm~~úã§xç7ob{ôoøqÛç4º(ñ˜I„š8±yOüü?‘9õ.®F^ÛÖÄäŠIˆqâúlæÝ³”'Ÿ¾‡xã–L¡µá$-¡ŠK¢*üD0àðMaæ½ðýÿ¿½û nã¼ó8þÝ•¨De§Dš¢$[¢Š-+²š%«ØN±cçœ\r—\n®ÌÜܽ¼›¹™ËÌÍäÒ&—Øq\âä”8–åÉVµe5S²¨J‰jì‚$¢p½$I¤,Ë–HGx>o8‹-Ø]?ì³»Ï],HWyB#Ͱ±®~ †Q%™Ê¨ôîáè‘c 6Ÿ¡â¶…8Ýêr½ìßþsç•S\idöÔR$MÂnAÊRrÇV÷÷sòÐn:K£ÖÔÈ3Ç*ù»oÝÇÒM]¦“ýÛߣdu9J6D[8AEE Îéu ôÈ6»Ï4b4*XLfœJÔÃë­·à­,!ÜÞBº³¥æ*½n*ªj™^êÂprR–$•¶Æ£”N»9ÖŠl0bê9MÛ]纨©II§ d{iëìfrq¡hŽ ãF:}úô3š¦}³§§Gž2eøWò¾<FÑétŒwäÈjjj°Z­—íƒÁd­ía$c%BÔDÑ$†7ÁB+áŽ6úÓYŒÅA2±P;±DY1ðØØ¿åeÔ)+¹»Ú‡œè¢=Ò‡¡ÀM‘×J,ÔÉ€fÅëÐÓÑ!‹„ÓDK$pù\ÄÂ1,^útœ4Flf ‘Í$é u““ÀéñaÈôÒÕ'­é HÄúpû=¨½„¢q$Y£Ð ë$žNÂ]è%Àåqµ2€•â€8'$ŒŸ¼ !€t:M.—uŸÑhD¯×ßð} fèõ,.BekOò\^5ÇFšZf³ù²aøó͉7#€õ ¥¥–¾\A¸äU¸™#ÂõÉ«¡#_¯BhäiŸTØL„ot±À?»ÎÊ‘H\«ú§™fHº?Jk(†ÎX€;àÇ®;â]aŒn†K·#—%‘Îb5>õÚ‹ð„‰ñIß½k†šî§­=B »5dž?îeÕºXTºzÄ@q‘Xg'rä2¼ñÎAV®[ŽY'áõ{ȦúIdõW%Ð4\›_z ßË(4gÁáÃb ½-Œl²ti„")4DoóYÓ ˆÇbÈhÈz#Z˜ßl9Ïêô`¸J€}Ú!ÂÍó9BHãÂáÍ|Ôédr™³Q!ÑŸ$‡Fª»“¶Ö(çÏž"8g) ¯¾Ì¼G¾ŠÇ¥?‘$§Æycã|õ»O?ß@}¿õý—q-þ2A©“m©ôXhøè#ª§ÍdZQ†om` øNªFÒÍïòüú5IDATâºYóõ‡i>z×Ãÿül3+^Š#vÅSJ<™æzúÅ‹„‰ñ9BH¢¨ænÊ“G8ø}¢µs)°»ñ»¼ñÃ7Èݱ€•Ξ8»ŸÉ“+±«aìv7~Ÿ–%›Í1˜ ›s¢3š(*-¥TÖñÎÁ³ÌüòcÌÈôóÞïŸç‡‡“|Iî§nñm”9t¤š4lÞJ*K‚´ÉzgEÅ¥ÈghQelN/%>Û§®V(BH&ÆçjŽu6îåÍÍPQX}—Gâ-žùž¹eFÞ?¼‡TÊOE–ä¡‚éJöD¿Ú``F Å/~ú3¤L‚IK×¢$c¼øÓ ¦Yöø·Ù½ñ×l=|k –ÕO§z ÅÓÿýï¸'ßÍ_-dHÃ…Ø)yŠ×~} Éào¿5;~Î^PøÆCu”^û©©"„ab|Òwïš5¦S}Ú½ ë –“Œv’À‚×íÜjšÖî ^W&å³H$Ád2Q\\ ‚Hn²‘,‰F£¤Óil6ÛDvÛpx}מìjsë”ú®Ýäú$²,“ÍfE™WA'#ßµl6{Õ{…òêfE›ÍF(¢¡¡GB‚0^E¹Ø¹RÞ„ÐÈsÅÊÊÊ&zUA¸DބЕÆj’‰##AyB#¡£ª*ápUUGMãp8°ÛíȲ,Î Â8É›‡Éd2¸\®Q…–vîÜÉ‚ (,,œÀ5„ü’w!”Ëåðx<ƒÁËB(—Ë¡ª*¹\î²éµäI6½zŒ{]Ú~„½Ý6VÔUÞ°õÉÆŽr謞™³¦ð)º¿©õøûĬS¹½ü’ðÔ2¼¿qMj K–ÝIEaÁ˜óæÒÝlzûóœM˱6êfÕ|æõ„Ï"ïBèjå<$IB¯×>/”K飿42©8]}:S}´wD‘M6Š|"í$2Yl.?>—€do˜P4zn‡ ÉhÇf’èDQ¬"¡.d£¥ýC¶mÓá)òtèèEÑÐã/ГTU V;–\‚î”DqI1hd3IÚÚB´´´ UT‘î‹ÐëgPgÆçШ?aÙ7¢Ð ráÜ9tf·…Î>ÓJ.Ñ…†J(%³}Ûn¼E>ʃ.D ã%/Cèj'  Øã4´¡Ž²äRÎíÛÅ¡ÞfL«¦õøÇl=ÒK©ÇLÓ©|åÛßÀmPÙ½é2Oeù´t­|ÐjbUy3¯ìègf­žÓ̘݅:§6ÔÔ²)¶lx50 e ̧jèÝ¿Y.eço_¡tÁr‚±ƒt©+™;Ù‹oçØößÓæZD¦¹›«ƒŸlÜ¿ªÃ@;%uw£I2:Y"3ãüÙ&šNgþ’%üfoœ§VϦ¿þu”É‹‡·Q<&[˜yB²,yÓÔÈ%üQãt˜u*©ŒÊ`²KA ŵ•t9ÉŽwwp{EkáíLªòR9i V½ ’ÂÌ%Ëq´tÐðáVî^±ý™ ülk/Ó×>Δ3™ÃGØñÞ.Ö/±awñZh 0g^nc5MìjôS;­–“»3eÖt<ç"œ®­ôÓÝÜɤ;kPÕãt$ã´ ˜¨ –3Å?§ÇÎ)››¿…s[71蘉Cwþ•l&ƒšUI&ÒÃÿ2ŠÁ2ÜñØ)Ž‚„q•—!$IÒ¨_}MÓÆ !ÉTÅ⥼õ»çMN|p&½-q¢©«§œ)sjh}k3ï5ƒ»è6J&M-Ë…S'i¸ÐŠ»ÍÁ´MÞEÌžVN_ëN4µbõ”a-ª¢Ò¾Í»Nqï}sع{È:j,Åð¡—õxƒ> ôF«;CEÜLžrf¬z”-;ßAM¦˜vOß\¡¡q/;Ï8¸oż:I‡»¨Œ#ÇN£*vœþb4P¿-L.%3ßhÄïsa4Û©°ÇøÓÖzV-ŸÃgì#×mûŽ}1$“I:;;Éår—m§$I˜Íf:î†îƒDô›ÞÚÍ’µ´Ä‘† \"¯Ž„$IÂb±P]]}qxÄHè\N7‚µ°œÇŸ,¿¡Ë„[E^…Јl6;Ñ« °¼ ¡[¹™)©ò*„Aøâ!$„!$„!$„!$„!$„!$„ʻé–"î„ñ1R¹b¤_æ>ògâ¥R)êëë!$ã`¤k”Õjeîܹ †QÓäUE£QÊËË/öa|\¸px<>féä¼ !MÓ0™LcWPá¦Ð4 ‹ÅB:s|^…\YYQc¨U&1ôÒÈßë7Ò¼Óiø}Æzíz–ué¼HÒÅ £žå=<š†6<Ýè÷ÙÖKg^¦¦]œdˆn¤‘:^c¹®Òûù¨¡•™³¦ŒYôJÓ4´ÁõGZ™1£œ7Ÿþ9mRFŽ`uËæU±wïf,œ…[÷™¶ås¹²´k¦·M;ONêxô‘Åeiôõª cø›?2(9wˆÓój‚HšH$Úy·UbÍÜj$i¬gqÉ{^¾ÐD¨‰]-÷Ïž„,IÃc®xã‹CYξñ"Í•÷²xzÙØç¼4Ö“ûQŠëðÙ H#áƒ„Ä þô¥ Öà³êFÕß ªÏÖB~ú¤²Ê× ¡®sx}k:ƒ™Ûg”±áÅwèè}˜yž^öo!’6pßÊåìyåàñ`TÌìܺ‡öU+èMëxø;ß"`TÙñǧi8o#Ž‘ˆðìK¯SXQÁ’¥KpÇ~FõvY«}„ÎÖSà.äÈ[;y>zŒÁà|ÖÞ3‰S;^çDg?Õó`aaϿ֎lÈbô– †[èËÚxìñ5|¼ý-šBýÔ.XÅ¢Û‹8wì 5KÙø›g %üµ Y\œ Ô“eû‹?á\ÖJ*1@QI€öÖ0‹Ö=FQôÛ.JYõðZšÞx޲æTL¦Ôp›±‚ÿô—ü.U=÷ß7_ÚDaeÞªZ:öm&–VXòÐ:[ÏrÝÅÙƒ[ywßILž*Y³ˆÎ†]l9p–Àä:ºö½DÔÑÀôi3è=_OBv²rí:ü†µ+ n{–×»m#¥uóÉÝÅì•k8¿sÞ»ÖQá1‰¢lÂuû\!”Jô ™•ð™\;—å ï sß;¤³ÉHû›¦Ðׯ±æÉõ¸rÚÚU–/šÁÆã ]šÓñy %ú‰õÄÌeˆ«V¾º|ÉPMæqr鎈w^ aÇ~n[ÿ î¾òørþëß^¤Á:›ýE|÷‰Z~ùË?1kE–ÞA+ß~ü~ñÜn¾÷Í•œÞö‡öÈæú L-wsìãSÜ1ÉÌÑv;+ï”8¢j „y{Ïêþu h½±~>ñ Âxå´u÷Øv¦#ý¤THFN±§±¥giö½Ü7ÏÌ›/40k™™÷ ¥<°þABû7ÒÐÔLŸjã‰ûæ>ü6½S—r¿§—ßí=Μ®º{B¼¼éM,ÕSh9A¸EaËÖ“<ü÷ߣÐú÷c¹ókÜfëåÙãõTN-⤉6Ç?­†ì™SÌZôe,mïñôÿnäɯñáÞ}\h1ð×÷E ŸÉç !‡o23§t¾p’=M úÁš[[ùpË!Ló–2Ýœ¢SÍ¡WLô2rNAQ{híèf0àìéSĤ~ö4¦X¾¾SõÍ€„b´¢£àüÍôç¡Ñ|æ»ÕE,rš0˜ 0(zmÙ‚¾·‘£Ç$$WƒÜ†ÁX€Á `4Û0 &#¦7%EeÌ_‡Áì‚pÖšZÒ‘³d½ÕÌ0 pòTÙáV‘N1 Í«˜°˜0(ÙÁÛÞ=€ùK÷1Ã’¤#›Ã¤(Øœ2±vº kq™dzÚNsðX%‰³!‚³jPLVƒ›»„ÎNs,ÇãH²‰ªÉ¥8fÌÁoSðùmG8qü%¾ŠÉ@˹&¬¥>Ý3—Ɔ}ì¯ÄÔ´ƒš•ÿBèx?'OÇ a½m:Õ·WñêüùOþ3VýÈù¢qýØ„[Àç ¡î–£¼úê>4£“¯Ï¯¤ùÜ^¶ì<ÎÊ{«ÙrèQ½•Ú*+É€ ²ÎF…#Îæmqêùã ¿B1Z¹÷‘§(qÙ†Šªëü>òü3ßÈiï¢pÞ2ŒŠJÐïF'(­(¦Ð_Î]eÇØðÊVÖÿÍ?b4¨vôz#Á€ΈÕUŒRVÍì¶C<ÿìsÔ-[Ë]îfJËðølÄÞþ?B²™©SÊ1™­ø9\"Œz ÅT€×aD1é𹦭¨eÓ¾}„õVnŸbÁ("iÑu(õ¡—Td¹ŸÃŸ#á™ÅÂ?güQdÙDay¶w~Ä›6¾ÿ+¸°]BÖ›¹gù<~ü‹‘Óù§ï?Åü%³øÑ3ÏS<÷šVÅËÏÿ–Æê/¡¶î¡[öóHuŽúÓ Óf¢…S¼Î?G¿¾‹5ME¡“ªRïÈÿM¸¥åU¡ûp8ŒÙl¦¸8Hw¨ ÙíÅ©H/ m÷å'~‡^—.ž@k:-›!ïB¶1.?¹=2ÕÈ.F†‡O >Í<4]&ÑàlAIvðêþnÖÝ7Ãð¯É%±†×E£·³‘_¿°‹»Ö¯e~µï’E~²È•Ò=Dº³—¸9¶õe¬w¬¦Òk4N¿ÿ{b¾¶ún ²¸j&\?MÓˆF£¤R)ìvûè«»ùB‘H³Ù<êÐ_X¯^ ¹Ú:õy}–í»|9£ãñ/bŸ _8š¦‹ÅH¥RØl¶üî¶a0èëëÃl6OôªB^éîîÆétŽ9NÏÅ'ߢ‡?—p8X,oÙ£=Aø¢‘$ —Ë5f¿1 ¡4‡[ûêëHSÂh4^6,ÂÍu±çÀU~øÿmv“f$œ‘JIEND®B`‚pyzo-4.12.3/pyzo/resources/images/pyzo_tools1.png000066400000000000000000000472741421373005400221070ustar00rootroot00000000000000‰PNG  IHDR‘´”¹Î¦ pHYs  šœ IDATxœì½wœÅ™ÿÿ®îžœvf6礜 ²ˆ’@Øàw¾;Ÿí»ûÚ÷;ßýî¾w÷ öEßÙq !$Œ„@Bå,­²VÚg'Ow×÷™]íjg…$@Èb?¯—-f{ººzú骧žz×SâÈ‘#;¤”S „àZ”8_Ÿk¥^Ã,­÷a]«ºÖë7,ÐLÓ¼æÞt)%RJEù¤«2¬&¥`D׊1õѵRŸa ­‹´D’T¨…–® ÝÌt+!ŠÅŽ;X@®óR[ “Xk![€€ÛŽåO3MEQ.Ñ$RF‚hw;)Eù.T˜)âáÚÂ6JŠsß®DÊ8í(¾^§ U\;/Õµ¬¾–hp·¡Óud+7¥±½›Î¦"Î"ÊrØý%Œ½€ûG¸¸¤ŸXÆ8¶üg¬«šÇ¼›FQ|‰ÆgšæeøDi#2"ÍYÿ^m¼›?{v*^d¢S;—òâûe|óOÀžíòRbÆÏòÖs¯á¼wŽ/ǧ]â¥?åÒà|×ýÞ<©œ6/M5‰6aó+/²gÔ³üÑÝ(©(]íœ>Õ†PTl?ù9N„¥³½“pÂÀ”›'@ÀçÄ*$Ò41M‰‘Šjí¤+ª#¨V¾Ü nM xëû×é²$%RšH³ß¹0ML)‰ÑÑÙM4a Q°yƒ½N,H¤™6Æd¬‡†ö„©K@Áê ôÚP²µdŸbi½k¨.­ïQH`&ôÖmaÍ»{iI*¨Š†§d"‹AüÄfV¿·ŸÆ°Ž©Kl…“˜9{#óDº«‘’pëIö®}ƒý! ›Eèà†ûïgJ`àkß¿^—æ\§¾)â=œQöþ_bš2cN:Ñö³ܴΚE<{OfÓ6¬x‹†–B޼¹•ШûYxëò̼ùÓWÙt°”à ŘH&=œló1cÑCŒõ;°Ù,¨Ó4]9Ûß>Pd2LÛ‰wyõ…]™Lí cäŽDïØÃªÕGpM»…9µùاYÿʶWW;Fžm¤‰iqàŸò0³Ó}jk–­a}íHŒr¡0lF½ºˆOÔ+™i@š:±hˆ–n+e³Kq©Ìœ<*kœô´ŸáTØÃ¨ò\| MT0®ÔB]k7Ñx^¦…§ÇOiNˆÝëÖÑY\HAI9U•¥Xƒ¯ßë]Z·ÖÛI°ú)™t_&ãÅš©Ûº”·C²¥Žú®6¬»7ÑyÌŠRyªf2]’”H,8ÝùŒ(󢩗'—’õ!ô‘N,Wøƒ_ä Öùc‰P,ªI<#%5d*I,b`ÕìØUh4IÊ01‰Ò3Ñ<*Š ÝB®üjf=ñ4 '9vø[^ÛLÝ}Ïðø$šÑå9Öý”émÒ­+Я•v_ 7ͽ›FæãPÁL%1U Zêd¿B ôTŒîH3ÇŠžŒŽÕ¦·@¨Ï'º¨õ5ò*wÒb›víæˆ­ÚOr¤AãöÛªWº›G먳%ñ›gØÕj§dL·]¥;ãÅCíœé‰a·(.¯!Ò¢-šÄrÐÃé_·K5&™qŒDæzRÒ×’ ÀZ8‘qÞ•Ô<€W ´ ¡öÒj í¤¿”iu£¡&í>DeÂA÷é#œLä3¦Ú‡Ú[§+úɯ?i†adñ‹2OµáÉ/¢ÀcÅâ 0â–;èxgo-߉jõR2î.‚Þ\rgÏ$üÎf¶®ÞG´S8~&3jòqköÜBòÜ6ôžö¬ÛDc\¢¨V|¥S¹m\Ši"/õÖ벤XqäRb8Ó- €bÁîͧ¸ÐêÁÝÌâ½w·°þè&Xrj¹Ý_FÃF°¨›ÓŠš²à°:ñEv³êµ. K€Ú;ærSÁð¸ÿB‰½{÷î…BSTUYëK~ã2¯ð•Vä‚ëJ)I&“x<TU½âr¯T G¶°ôåýÜöµ/0Ñ}©ÏO§.¡;»T}¸ó/¼þ…Cü«ù¥”Xìn JòqjÃã°R_w&„¸¦&;¯¸;ûˆ”[>ŽÇ>7¶ÏIÖÐl¼ÖtyCüA}Ñûa'úbÒ®dtµt-ÖiXƒ¥™¦I^^^Ÿóz­8½¤ªêE¢éÃú$%¥$¢9N4M#??‹eè8¬”'¨;ÖÆˆÚ ^ý*VwX×¢Z[[‘R¢õ¾á‹›ÍÖ÷ÆK)Ié’“§»8yª“–®NN¶œ¢³%A^Á-·—3³êÎáâSªþÔ©¦ëzߺ÷RJ‘»÷·qäX‘hŠdÒÀˆøÑÌ'öŸCR7lDÃÂ0 ´T*•µ;z¬‹‡ÚG’tu…hkë O‚$”«Sš}á!Á°ßòi”®ëh†ad ôÁÃM45wŠuÒ¥À9µ£Ç rÌF  :Ü­üÛ¦ïaš:…9<9ñiÄP•ÌYJ3cs½ßì…»²A^ܵ÷_!z×4]aØæbåõ¨Ëz)zÙ¯5fýã’išéî,› =ɹž:,Ž8µ¬8ƒù ÆèÈ5Xi«sÑIbØ»‰ÞÎLHžƒ~¼äi–ÿóXs² ]± y˘:{> fÀ£’å!J$›~ÄL`ÞÓ‘oG\qÌ&=Ú íú ?Ø>‚ùßÈÈB'J/B"4ïÜJ}`,£K‚¸¯„õ0#ìÿÙ¿²®r>ófŒ¢Ø%²ç•¿מúº³ ["!`ö]µ4n$–˜ÑÚ:t oˆXD ·x°F¤"=Dí=D“Q޶JìÚà‘›4ã´Õ7SvËcÌRDӑͬ~í¼^þmži‡T‚žŽfZ»bè(h6¥¹¤ºÎr²¡ŒXÒ@JƒXG3Í=$ ‰°¸ æã³A*ÜJck˜” (V<ÁB vTLRÑ­M-t'Á8s”º3A"‰þÁU‰ÞsŽÝ+_b}éÌ6‚Úò"‚6¶æfºã¡h8sò)Ìs£ ‰ï¡­©™P\¢:øqY  '¨÷FI=ÜNcKÑ”‰¢ÙñäSàµ\7#Òu=k@¯¸ÈLjXwÅÑ›J°êÝÇ À0pÚ4Rfœ˜Ù†·4IÔ ó÷kÿšžh„ï<øOŒÊ=Ä%5%•Œ[KÀh`Û›»8Õž@Ð}vo/“m§»Hš`ñ–ó•¯}{º#$FÏ 6-}™5û›‰™†ð3~î<2-HìÐJ~¹²ŽP"…!]Oº—Ç¿Rº8½}Ï¿º…á£Èz’Žäô êe9õ>[Ô±ã°AôH7ß?—iÚ–,ÛB}\AS4|Õ·0àP¿s/-ÛLcLbºGp÷¢Ìãî+Qš1ê7¾Äso¥ÛPqJ™8÷s,œàzât]ÏnD½]ѼêÇq>ΦS§P›['Óé¢;yŽTþ)‚vŠóŠ)°ëðž‹G˜¥NûÙ“ìßÓÉ©]»¨wŒdn™£çu–±êì(>ÿ…Åä™íœÜõ6ûζ3¾·Á;^æå½~æÏ™9ÊKË[ÿÄÿZþ.ÊeòèÙ,.¼©Çi?¾5+^aÍŒ©,pœ`û[ë Mÿ¿ ŠÿçY¶Eô ºD߸9Ü=z5‰ñ_ä™ÙSvíå·?ZKëø?æïÂ<½•e?ý¿~{<ß¼%ÄöUécßY˜ÇÖÿþ[~µz/5SIWW‚ÑÍᭇ䳷N¤:ÏÍæÈP€\7óq†adw¬{ÕmÄšßÆÙø.]*çRfˆcÍ‘SV—ƒH,J<'™L^Ô_‘F„o¼@Ý;’ˆn§böqcžJª¥›†=û¨oˆóæ‹ÇQ˜¦Â-Ó”~>EŠÖ#çP«¡"ÏÓb£lútò^YOgÛYNœÞÅÒ §‰ší¤¥³Ù!’ÓIc‡“ÑÓkñZ­L™^Jp³µß3L;Ö¥7Ì¡b‘0g;쌼q$>‹3¯„qã=l8t’¶ñ¢ï˜ÕneÒŒb~þb3Ýáx¦¾4#§V±aËFVw×3zôXÆOžBM;Ï9]2MsèµøÉ ~NC¨‘܉nbÝà/ aHÓ4Ð¥Š"ª“ú†³¸„‡RwŽ,þP¯„æãÞg¿ÊS3ò8¸ö%~õÛ¬»¡†9~{n #*óõ/O#ת M“¶ú¾³±:íÈŽ0ñ”Ž!-ÄC!’ªhÛY¶­ßŽxàò׳‚„ë6°ä?~E“)P4 v« K!ÑHÄu 3û= ¦‘^6¤ª*6Í$ÒÅÀ†‘JX\,ªÑwLJw'6+ªª`ô•e£lÎð?¦×sâèAÞygïœpð÷ÏNÁ{‘”-éÁ4³#ºaëñ£{t,Á8N¥„¤žÄ”` ƒ˜!‘LâV<üëüï0÷#BQ±z =c÷žüo–-ÛÄ”g¦P>q$–UkXû¾‰yF2I°¢ÙÇbX)œ:™Ü=س+¥ÓEÛÆ$Ën ?7@ÒåšêàÜÉNšïe_KŠ}…å¯þ ¦†Õ™Ç—¿þ‡}¥Tçà°i¸Ç<ÊS÷/áÕ·—ñóÕ ”àxXtSJŠ“Çyñ—yéP§©0nÊh¬ ޼ &ÍyÆW×°d‰ü¼ jƒù¸mýê*ÅAå]wQõâ&V½°)~†ûzŒ–—_ã×?|Í öæ'YtK!ÍÏÔÐòò2~ò“Þ‘÷°höxÊü*±âjÊ.¬$9»ïmVí>CWÂÄ]4ŽNÅí [ZRJZê+W®ÜQ^^>¥¦¦FôŸ;3¥Éß¿û×ĉ ©"±ZÊÊÿšû]êZŽðí7¾EeiáH-nåOü×ÐFÔl”b$—…yôž—%N$D¶8x !ËlÌtìwÒù è zôÞ—à7øÎ‡˜^;’RrîÜ9öïßž'ʦ"wg:O“Šh†•r_%ŠPpZœ”zÊIvê8„›šÂê‹62?Ú…]ÝEs‡x-ê¯s±ÈùåÕã¼1õ~º~%¥$#V¬X±£¢¢bJmm­¸p?[l¸ï}˸ÞCüÃ:¯Þ–¨««kèÑ™bè¹0®ÿ9¡a]š.:ÄÖ°.EiÑpw6¬+•bhžhXúT }Ô5Oºþ5¨%êMé’J¥ú>_Ž„¨ªŠÝn6 O‰µDÉd’sçαjÕ*:::úÉ:ÙµÐû'b³Ù>ºšëšÕ ²1•Jñæ›ob·Û1bDßZø˜夽Ž8Q]% çRnÖdµ­µk×RTTDiiéU¼•a}’Rfw¬;;;©©©!//‹Å‚Ð¥vàtZ)µOÅI„L (4¿&¥d÷îÝ}Ýá°®_I)Ù²e ÚþG?a‪ª¢ª*qKŒ¤%†‚¸ˆ¢ªPA ¤4‰.$ ŸêpþèJÖŠ}s“•+öÁ®¶TUEQ[‰Ýfp .;ê<@ÜASšhXúZ­ÙÎFýRz ‡îâ~ÿ#}­Ò #qZN¡=’Ä@  «ÍWK`äVRdKÒÓÑLTäÛ/Ã1#4œjÇYOŽ+;Û=h`pÕ° Ûõf說fŸÅW˜Ò Ïš‡EXH t3E$Á”&¹î I2™ ½µ{ÀÃÊF8ÊÄi^ÿî_ñV›ŠÇçB±ùÉÍÍ$×zîÿOÔ³ûµÿæeó¾ûì˜Ìz³ìêcžbGøåw~Ãøg¹S«/í®?á¬g×Ñj! ß2ê ©× à ®ÇÑIÑ™h§3Ö.{!wE±Ђ¤Ìñs Kph@Mñ0ûÙ¯ñ…»Ç#¤zÚ9{ø=–ô²de50QÎÔ7’ÒM„ÕCna>>‡5ƒÂö᧦N¨åGë ¤bÅ“[@AŽ™ÓÑØ@æDÕMT››@ÐAË™³$ ³oõlŽC%Þ|†vKù9N´h§ãøŠKð[ º[ZIä”’§Eion¡;a‚P±:s(,"BÍ´tôKHaÇ—_@®ÇŽšlåLSE˜˜ÒÀæ/¢0Çy]dÖÙm”~ ¡ú'u¤\„BÝ`‘¸­^šÍ i`š†4Ñ]ËAZM–µ,¡'fqÙSa­uÚÏâð! ÅbEö4³ç•_púñ)Œé·VÀL„i8¸ŽŸþf‘D ÓšÇÄûçá5ä9/HG¬w±síkì^cKY)šöO.¸wÖ}ç»l,½±N ¾Â1Ü2UãùŸ¼NÌÐûVÏ>zs -¯}_hóxæ‘i¸ßÿ/þæGG¹ókßf^iˆ?~‰îùßbžu3¿zîš;V‹“¼ê›yü©™4¬~•wv¤=–@—Šox„ÇïŸL~ó2þñâ) âs¨ÔÞýÝt‰­åï¬ ­¬¤«u`öEQ@ÂèäDzÔnÞ7ÞáÙÑMÃ40dƈ¤AW²“’¾°»/ºÙŒ4"ìXùNlöa ”R3aA)©2ˆ¶cçŠåÜüèQÔhÝôÏýv;ª ðWú¢z˜œñOó'¦Ñ±5¿úéK¬˜0ŽEn]ZqWÜÇWž‹­û;–ÿw|ñ[ÜÙoõ쨊ŒTF|ù::Щߦ¸D§¹µ…GÇÃ…ÜU˜¤}Ï~NZnç¿z'%N« ‰fþqc„÷/äá /fý~ôÂjöŒ+ã6‹‰KP|ç"ßVKЦ\w­‚‚üZÊÔràíõ¶$!ÙMìti2ôtK$ ti¢¢€„3+`ÉÔE7›š{ŸéíÎ ºOìäÍÝ|IêDB-Øs’¶è˸4ä¸45KXÊZȨÅ8¬.üÕŒ+ú-ëwaLR°{TNªÆ­ b±(íõ!jî÷á´8úV϶G¢X+'Sؽžúzu­%̘™Ë±¦zÎ(çę̀3oÍ,?}7Tù°“TBG±jèu T Uô¶@ןTVVf‡Òz3ɦAÐ@G'–ŠQh/M¯€L bfz¬ˆ)ö$é<º‡C±R¦  égû³ÀêõS2¦Ší»÷ ú­ž- úpXmŒcåÅW÷¡Ü»ˆœÂyž•‡4z¼MÑÝPÇñnî`%£ÇGhm>HÒꧤg/Û¶åaãQ“tu«TŒ­ÁKoúÂ,·}I‘݈z @OÄôÌ XKú泈¸Š.u„CRRPJw2½Vš&’t¾Çl4p,€@µ¹–U‘p*͆'¿œ Ã=·„)<ÅÆû9Û¢) ÅCå­‹¨ª)$‡~ÏDqR߇®Ü°~74Ȉ¬V+ÕÕÕƒÁ+Þ*Êëõâp8>tå†õ»¡¬Ý™”²Ï®îÊ>]dDÃxì°.WƒŒhÖå*ëÖåhõÇcUéû×",i)ƒÇZ…†¦ ¶Á¬xì°®k]tÚã˜óQ5‚iš$Í$)#E:šIc²…µæ* ÓÄ#¼Üì¾£ïüA³øY"Öƒì#ؤå²4T~Æôß?ô/DÔûÊ‘DÒ/ €þn4“ÕˆzñØуÓaCCÔéÑšiJ,ª•\oÃ4‰&£4w5!]™9ƒÌùƒ7ˆ9Ãëßû%Ì|œ‡¦×d¹j:ÅM²§3­½™‰ÁAsö¡$R&m “jx‹ÿz±›;çßÍÄŠÀ•Üwï™{n½yßPKžÍ ûÌ^Ö¾´‚ö9Â'ºQMÅH0£—¶ÑÌ…×û„¤%$X/øcoÄÚ4Œt„Z(DR!ºâ]ižˆÌÞñ‚KõÐatÑo K0«I3Fë铊¢'Ât66У¹Ðô$† ª+HaÐBç©]¼ûêë´ÜÀC…96ÌžÖ‹"¨` U »7€3ÖBK(‰‰@±¸ðtj©“ˆvqæ\;†Õ™K¾³ƒ]+_â½Ì¦0%E-A*ªœ8E’Ö3§Ðƒe¹5„™$j§¹[£°,ˆ%¡³¥…ŽHjH|·÷žFGIèi5IÅC4Ÿ>AKØi¢'Ï—ƒP±º”Zúm4c’ìhàlH¢ AèÒFN~9.Ú5Ð@im)°÷‰÷Çcí)g?<ÖE(Ù3µ(Vl'Òb²¬ååÆc‘€N¨~˾ûl®˜Åx5L¨§‡TÎ4>y ÚȺèîyž€ís<:ÎÂÉu«.Ž R6ív*/ãµ½í$R:†-Ÿ13ðäìZlÑ¿÷Ͻu)TœU÷òèè³lÊl 9RĘ{Ÿàüƒ¬§ Í¢{ó½å/øóûJPÃM\ósžÛ=–?ùÖÝXŽ®çõ76r´-vq|×LÑ}î$G«tÛ ºO×Ó–0‰™è¡ñà:^c#ÇÚ˜¨¸ŠÇñÇ¿ÿH_ë$¥NóÚão×@aaAG‚Žƒ²;0ÿŽ1º?ùSZ‰¬XóÇ…ÇöIØðVÎáÙÇ«Iœ|Ÿåÿý¾HÕΗóÛ‹°«`)q¶ ²‘ìé$œH¡K‰ÞÓI\±¢*çÀãÒ¥esú?~3žÕF*PÆØ1>–¼³šù7a5{†Æwû^‹þ·*@Xqg0à%kW³Ù#Å6“d2IyMe?¤ &ñúlßS…3æ¥kËvb¥“Éó_¤„Ë2:ûxñX'šM퇮 «I%¥>+ŽÜ"FΘÀÖU/°,ð,‹g<À—žP/Š ºíP]äULâ®›êXµô%NܳЩãÁoµáÏŸÀìÅ]üëOž#f(xF>ÀÓ n¢|Ö]T½”Þ¦tÎçy¬ÊOy¥°ºÉ¯º‰ÛFæpàffò „À–[Á´G?GxÙ«üì‡;‡ÄwûîÙïÀª4»‡üŠjT·†=XÙWÎ?ÝAJѰûkøÚתpWSpbSA¾ª á=«Y²©‹ˆ}³¿ƒš"ÏÇg—!±b×¾NÛ”ÚòÁxìû¶ ýðØ‘ö8óòÒkdiëËT•¤ñØpsŒÏUŸo‰.ŠÇÒïEýÓ!wU²ê}_€¸^$`y9DÂÀà D"P>(IÅEðÝlÁÆÞÏ­)ê_ùKþïÉ»ø½'og\‘£¯Ÿd rëp¡Üë»L-è†i˜øÕ¦a¢JWÊCóÉV„T)´"ÍtÒ‡¬dc–(õ ~{©·2xõÈÅ~ÏrCšL q‰HðÅ1`‰”k ŒÊ„—Mëûm¯ðPŸ´<,Ù†øÀtË °ô:¾iÿÃÐ rT?‹K?Óï%’ôßý“Ž ^_²P0ëø3ø`Ãý„4(à)„Àï÷ljEc—mRJ¼^/Ë•l,?¬ê]·vmO¯ ñ5Mã¶ÛncË–-„B¡+*ô–[n!''çCWnX¿ÊÊX{<fΜɕìû!„@Ó44í“ÇëêhÖ‡Ö0;¬­a´®!rARⱦNwª‹¢¼âɇOՑЗ”Z&½,&IÇÙ}¼ùò»„&>ΗÇÛh;²…·—ü[Þ—8ûÒû¤&Ý eXϬäû«¡uFI&›ÙöüR:nbîcàÔ:^|qù3btž=ûËÞ#1u_¬°k:ÊÎ/óJáW™ç ±ç„•'ÜÃè yîAó†Ãº|]u.tt’fò<6ÍW  #ÏæG%=“)xl¯Œ(]ÍÇ9Üàþ™Ó_ è¶Ç9·ý¼¿ëíÑJL˜Ì¤1y¨EÔ¾r«"‘=GÙ~ F|v"“&Ôb:Û9”·•f#BgÃnÖ¼»d‹N£[A…èèJPpª}² `üDFImŽåºÊ\öIjH#’ò<ë°8II,ªEª˜¦ ¦ìÂɉúSX“V<Ò‡z1ºÃ݈¸6u;=ôD†Ä0;–(k+d­àáoý_Ê|™©˜ÇצÎë÷e@b–Lç§Æ“2 Â'ßæ7yTçzqXª·Š[æ}ŽéºISÝvÖongj‰ Åb!oÔ=|ñ/îTÁx¾\:èü(5dwöñá±—ºÄ%í7uî›eÑŽ“Ò ™öðCL,ËÅ. Ò²“ß¾ºÓ­„»Œ)>ÎŒ\-}‹8öÃæóÑë¢FôÉâ± e³¿ÄŸÎø×Þ²]#æ+ß|¸ÿ‘>gyXWWYƒŸ<{)XèðÈêZÑxìÖ­[ …BWD6㱟.eÅcsæÌ®<{lï*Úa]ÿdD¦i‡ijjºb°,??Ÿ`08lHŸee¬<ÈÚµk …BiŸH¤óUÄ”&&H°H+vƒÂÆBn¾ùffÍš…Çsm,óÖÇ«AFdï¼ó555äææ¦ñXº”Ž8÷´ù‰¥â${L¦É›³â±«W¯fâĉÃFô)QV’¡Vöt¨Œ. à¹N@¢kõÕ’ ÎOôñà±qÚê›)»å1æNÊãì¾õ¬|å—¸kþ?æWX²×ˆ$E\ø Vò'ßÎtnŸ˜¦9ð;}„ì?®4ˆvœåíƒùAnMLÅfK3@Áv{^Ö2B\äœlõÍï­× òèƒ}û~7¡¨ˆ«Œú !Ð,\óãÅc5%•ŒPK@´°óÝW9tü u§×òÜÊ•EIÂZ€ê;æ2=µ•ÿxþ=¢ºŠ[eÁ½“(óé4½ÿ«çùq„°fé 6j"®Òì}ð¡µn#¯½ºšmwåãneºx›wßh£q}!cæ,fþMÕä÷f{5»Øþã°^É!ÙÔDgÄBé´»¸Ù{˜7× Íð2êžÏòÔœ¬¡sì[õsÇ :Þ^º‚ ‡›'À7ên냑y~ùSÖÅíxz’xJ§òÈÂ;(üòhdMƒü±â±Rb$Ât5¡!îdœ¢gNrì„dÂü/3§P#Þ}ŒÕKÞeö_&O?Š^bE¾Ÿ…7mm 9#‘hcó‹¯pÐ3…9OÌÆÖu"Á2?÷8o¾°’³µð…ÇŠ±) ªæÄ 3¢Ë`Þ-c¨)+!ÇÖ/Ž% Bg²=|#Í›‡¯s'K_|Žæ™ñèg':²…·ÞZÆöé_ç6OåÓ`ñd½e;KÞx‹½e9Ü2ÂB¨þ{S3yrþmŒÌ ±ég/ðöþQäÞTž9GE$»¨?¼ KV1òÏ%§á«—m&5}1_ceéÿþÿ9Q"–hcóËé{¼÷‰¹µV,eùæ">;«˜æ³ Ô»fóÇF“ãôâÿ„Ò\U¹–VºU V‡5Íz’$ö4ƪ¸ð9RIÃèçèQÂ2—xŒ;Ç•áQEÅæ´;ºƒ„tà÷ÚúÒ M9ïcôO‹ýRài¸nl Mµáq:PsÜhŠŠj±ãÔ É0-§v°âÃä<ôæã7-˦‰a¦ËpúœX4›U`¦ šO`Û‡Éyh1”HZë¶òÚÒcÄR†ž ¯KEàµ[PÀÈrÒW%$G,VÜ9ÒýÆ'7!=´!é2ºpúl¨ªFO²‡ OUŸ?7âô${0R&‰î$ó !¥$hÍ¥YiÉ~5¡,­d̘Ñ("½_…Œžª ¨vܾ" •Ý´…âØåA¶M{‡·S£7c’pW1¡ Á–úöÛŠ©ö "¡Bš¯¿˜m;ïm?˸;J±ID,‰)R±$ºn`Êìon ¨?ÿ¹÷ R'í %lcê¸Ñµí¥#Ãe\8JÊœ˜93ëé;§ÆÙJtï9Zb&¨v\ÞòÙ˶Ì+ØvªƒP(®ó÷h¹µ˜Ê|;2ÔH“iAˆÔÀº~‚ƒÍ‹vg†a2S´'ÚðÛ´v´ÓîF ðz¼¼¹Ä¢1Ì”¤ÐVýðØìˆ¬@¥ßñ̲j¡dŽŠƒ`å$fÏ9Â÷þæ›è)GÅl›^MžCá\ºÉ@ØÊ¹çéǽ¶ŽþÝ*LEÃY<Ž™‹?ˬŠÉÜ÷È)^~ý;üÙ«O>Õ7Ígñ­”­ÿÂ÷¶.¥æÁ/²øÖZ ]½~‘@(â|BôL½”þ­W¦~¢‘L«ÜÊkßû¶ûM¢)ªŠÁeÐk€‚@~)Ó*ßåµï}—í¹Vbí1œv5}¿¹kÖ~~ó£¿ä¸sðFSØìª£¢ïüwob*,&Ìÿó§¸û®õIKìÛ·o‡Íf›RV68{ì6ûF,^ )$FÊ$Üá6Ï´'ÛÙZGia)áH˜ps”ÏU}^#:tè .˜=VÆi=Ýþ"ò|z÷šÅL µÒÜ㤴ԟ^fê$œnìÀ Žœ| üzñÛÿü ³¾ÂSwŒ¥È££¹…Žp]‚f÷,,$`5Iĺhij'œ”(šgN!E~†Ó§‰é{°„B¿‹>ßZêtŸ«§Ç•O¾Ï…’ ÓÙ܆™_NC Ç{èhî@æ—‘«%éik¢5"±Ø¬˜±ÎÂbrÝ" ç˰*&±æ3´(AòÜ*É®æô9`€¯´”¢´ÞÍŽCmÄ ýï¼OþÂg˜wC ¹ZúÛ{R"Þ‚bò<á¶Vž W ùÙc³}¡·%rn:[â±A55f§ùD BªØ 1M™ŽHÕ ;y•ÕY.fÅ™SBUüHѰyóéÍï­12u†µ+WqÐ=Ft(ÅE°¤ŠààB±¹r)«Ét¤¼fDö_EhøJ«èK/nw“Wáî;¬Ù½äWx3ŸäU‘˜P Ž‚J*2ŸœŽlçHÌh”Îú=lxï$q)(ºm÷M('×® êÁ_P”ý^®²®;ÄÈá²Þksÿà/™{¾ÈË/ãšS:ŰâÌcĬ?àïfõ;Ô÷›]ûç5ŠÇªÔušŽæ2æ¯a ã±ÃúP’rÖ‡TÀQÇâ–Ò¦…tìGA»laC¢‰”‘¡»¸ßÿH_×vaK”þÉLâÝm´´wM¡aw(( `ÿ\ÿ…äŠZÀLz¬“¶ÖvB1‰Àâð,ÌÇ«$£bÂMŽkÀ^ÓŒôyMƒT"J8¡áñ9²?ˆl§]8lµC´Dédæ )‚Î ªE¡=ÖJ$æxWwzö]‹Å‚WxikéH# h3[w¦·¬ã?¾óΛfsûÄrdΓ÷M¡Â§·¼Â‹[f=ñ £¼*B³àPÚ9¹s%+ê ˜ýÔlÜÍXòúo)É{Œ#ò±g^a-eÆM…üpåò{G0qÊ4n¼ùÆ•:ñcÆ”J:ÅC<±h^KŠÖí'9~B²èoŸ%7?@hi=§“=ÄR&  wŸãä¹B¢ñ8gWÿŒ-yÌÿÒï‘kIoe7cÖ(½™½;·NŸ_³¤¤_ÊOK1G2²¶ wÇaöï?†9ö÷¹cêXr4D±gÝj6È'=ˆ%ÞʱÓNÆuÅH`ïýT?“çÿßœ|œ§ê9tðþsý&f|þk,ªÈ!7àÁ¥–S]UŽ5v–v5ôެ­Æ¥&9ªˆ]‹ì]‹¡·±wë)Ü7Îâ†ñ£± ¦™h&˜—ƒË“OEu%eÖ­Ý0 ã•}¥€°Q0~B&ó­JlÿÞß±ãÔIvYL¡N:¢.r;RÌ*ЮªŸtõðXa%§¨–i"FM˜Â¹C[Xù«•¼³s2÷˦Ńۦ  «Ãƒ†™ñ}dïÒCJ´ÞßYqâ÷رj ˜©¸æñáÔz¯¯ ÃtRqÛ">ÿ`VÀ4-J qõD { ŒQ¾ÊGG?ªŒu¯üŠõïaîS>”ˆ Ò«©™Ï½Kœ2멤afü Ѩ‰ÕáÀ"2ÓBª*¢o¦ž ÙWDú^ûLJXpû]™Ì·3ÆW>ûÞKnß‹`Á[d»úëβýñãÀcîã<§R\V„ߟCCK¨>k)Ž–mì:w 3ý4ÛË)Êp¹-QZB1b µñ'Û{(íCQÏ'òº½äVæÐµs#Gf3Þ'Ðõ8I›‡üšR{ŽöÜÂô\“öÆn¬êH©ÞÁ¡ƒ­¸JJ(ÌñáqÛÑcI¤ÏŠª U Gé—Çìó€BÅï"µ½‹h,®'9v ‘îp ©5ÒÁ›ÇOÒzû8rUƒT<ŠŠz”„)1¥‚fµã±'ˆÇSÆIöë&\|~ÄqƒØŠ'â1÷r:`Ú¨D2F¸£ó*'5½hœ>Zsc¶ô¨ 2NÓ®7xû§ÇèHHL©â-»ƒÇ…Ï£ ª õçÿÎ_þõFMºétÆi©¦ÍeúŽ,ùñ~VûÜX:"$•487òÁϲï7+øŸßXƒÕá¥pÔí<ùÔmŠGP}‘üËãŒ?‹…×0vF5Ï}ÿŸñ¸ÄºÓÆ&²`·Zþ­Ü>¹žW~øW¬GCÓä¼™O•¼ŠûLôH™}þùçÉñç°Í¾o®EQH¥tZÛ¸Í=“öd;›ÃëY5‚®žnZNµóùê/Ñ›=öàÁƒ,Z´¨•R"õ0mM­t†ãè&ÍŽ'GAÀ…j&‰v¶ÐÔ&%šÍK°°€€] ·ÒØFGAµh±TEu´œiÇ–ŸOŽÛŽŠÄL%èik¢¥;†!T,67ÁâB¼J’p{3ÍQt,Î……\V5³NB"e’î–fÚ»ÂÄ ‰P,8¼Aòóý8Tƒd¸ƒÆÆvâÂŽËÀo ÓvRYêO›¡££©™î¸ª‹’ F’BN‹AGS#­]1P5l.?EEÔdm t¥TîE…d¸†ö(ŠjEKFHùK(ʱ‘h:Û»M?ÀX¨•¦ævâ¡bûíyt\Õ}Ç?oýÍhF3£Ñ¾X²lŒ1‹1ƳжiBNÚÐÓ´=ÍI[r’ÓZN›&!=MÚPˆ–`6¯@ˆ1,›ÕZm­3š‘f{kÿЂd-Æ bcëóŽÞ¼wßÕ›Ÿ~ï.ßû½£ãn^i3ú9Äq:»º¸¿=={›È2,ÚºÛ±mÃ0ØAJå(†aʤy­åulÓ¦D,gvfžöd?ÑJ?Ñioè­bÁ4*8Õø´Hy½oâ7ÁD-Á)ªQ7Z¼múbF/W Æ«N{ŽŒ+£6›p,ˆ‚dJŒd¢`08·òØyŽY äÑÅ+ãȲÌêÕ«?’ðLÝ@±ößOÞFtdƒ‹¸¬î >®ÙâyŽ]f ¢± äŒNÌE#O…»‚œ™g0ŸÄvĉj–ùWÛ É¬™¨¯Ð‹nqpH’Ø–="±,I #Ó€*¹HøËg(奧cLTìÍ ¯´3Üç(+ÿNfÎD8<Þù½Ùn{D+ÊcÞK½Ã;o£›:¥î}öwf²s(&ÛéÌúIÄBx‹\º‡Î>E- ŸzŽt)1NM™—)b;ËÖ‰Ó3ÜÉÈ34ÐKJŠSuÏP£ kŽ5‰ëGeÖLdY6¥j)Š  [ELÛ «g±›7„ƒƒ®Éås㯽1&)&ý/üŒ[·-ä7]Êi±aö=w7ßßäÌ›ïäÛç–Pì{“­¿ø ÏÅ¿Åí76OÖ];àäßäÞÛ7PõÕ¯³îôz‚Ò¸@vÒ‰zr?;¼‡Çµ›¹íK ãóL‡ãHÇÃæ”Ùñu®™5ˆlÛÂ0‹˜¤Š¤òILÇ74WDa9BÁ(òvß›‚@uI-nÙ=å6¥‹› <úéAŠÞ­Q* ¼ÞF~•—\º÷ºª.Œb¥ÒÚ?DÑñ„â”E|¨€c›ä“h{ׯe;¸‚1Ê¢<Êļä`›…¡>Úß³°-Ù"VÅ/´µw# 6¶c!ʈûLÒ}ý¤ó&¶#âÅ)‹øq )z“6ñª0b!MwG?f¨ŠšR }8IOZ&žÐèïh'gX€ˆ«$A"ìEqò${ûÌŽh¢d_˜²X—S yðC²É´‘\¢‰0îOpÁa‚¨Ô£³ØFFƯjôؽï‹ÒE´Ðä9+Ë?mþCÙ,·îNš¢ÍJyBJÙ)4*ÛéNõ8ØæŒUËÈ¿ò]ÙjÄþ6Z e\èeçãóÌk]dt@ý¹\qå, 9`¦ysûã¼û<ä‡ÊWò…/®cy]dRæ2Í©VIDAT²õ4÷>ͯ “.Bpk®ºŽµµyîüÁÝhå%h‰àŠÏq¶¼‡ÍÏídÚÀ6l<µçpùUk Üʽ¿éåKß_Oðí§øçJ×ò›Ï$dõÒ²í!þóž T÷Rl9Æ™_ø\Ž{ð~øw/_ÿ5þaeaøý¿ÞÂož‰sÝi Nõ?ÇcÛNç‚ÜÉ.¹¥=Ù¼÷"Œ?´ÿÔ DÌNº-¦¥Ë8uÙR–4VRbìä®»~Áëb)eÑ~Azÿ&6ý¾™¦U*¢'Býš/ó­s#(‚ø‰\kv(òL J‡_ïûÚ÷ã]³Èc½ì?ÐJr0I6;<µ™ÂX.r‘8¹ãWo±×c#5šDØ"Y«ðÄóo d ”ŸW…;qÝWÎ¥TÇvpE+ˆ*û@P hTEF”}h^=ˆ«, Hª[çˆÈ¢ŠÛïE(öaØ ¹CÝ*Š$ Ør¦„ßïÆ¥Hˆ‚Ÿ GÄ(š£Nk.žÜ¼›ÚˆÁâ³—Ðôænžzå-BýaÎh Œø³«iko嵇îfcârþäü,i;—Lv|uK‘3{‘þ/ò¸wå\¥?3@W¦[0ñº½³ÊceSáûŸ¹šHíÔ‚F%žªS“/³5⌛¢x½9Beq†îÝÄË¥å\¶¤ŠpGáì;´—³|¡F¾ç yet•ÞÍ®]­¬^\_y—oˆ¬(ÁçœPÍÜ Ýï½Ì›éFZýtî}“||q•qI«€€è¯¦)4Èë-]œ± —=æT& T•S¼ÿ9^\¼œë–”áΪ¼³a±úOs}XÂÆ ~ÉrjšN¢É×ΛZXs2‹cE^9Äñ5%È™‘gq,8¾Î%‡éY¼/íOÈcA@ó¿/l‘æØ¢Y¶c]h \“ye ÁÒj¢K@ ×R-lä=í"N*/¥2´–+Ï'v /²ÖÈÅ×_ÃÙå ¨A‚}›øå¿lÅF/šè†ƒŒQÕðNè9FžLÿzŠ.T3KÁP¼!b‰ÑÞYWŠp,BÀ=²¬ÆÑ3ôv÷2˜3±ë p+F>Mog_µ f.ÅÎB¤ššˆŠU¦­ã†í€ ¢Eˈjd'7Åñ5’HP¢Z¤zû°JkŽŠãë\2æ;<<|˜.¾iÓ>Ðm;è†AU šÆÒ&Û!Éðǽo€#RW2+ìt2‘ªÉN¨Š7Då‰Ú#O(A]èP-©zˆv†[(‚‰†)RÒ±2j«'ë_U#^­1*Vñ„¨h|¿n’¯”º…ï;ÒÊî §¹rfÇ×hµš£Ÿldg|Aàd¾zúŸR0 Ø£Ÿ»e7¢ R®å®Ïß=~¦Wñþ¿ê>*;ÏÌȶm0SÓ¨B«šö¸[ñÐ_ôÿX­y>IÈâ´S›ó3òó|pä)–'s<‡4ŒÇ?òØð1ÇA×õqçØ#Ô—$ ·Û=@'SCÅb‘={ö°{÷îñe@ï»Çæ°Y_¦Ú*®Üc.\ÈŠ+ðû¿žÈ[“b×SòÛ]]覀¿n5W\y!'WùÊŽ fÎD4ëK’Òì°¶ã‘ݘ‡Z;ƒzŠŠh9ñHœW÷½6£ñ§à®ä”:›?ô ©hµ³fA5ïîz–7:¨è|›ŒV‡·k+ìöóù[¾Ã™C¿å¶;çŦ*ÖúmÌ|‘ò5W³þœ„U“ÎEÌÜAvn{‹žŒŸ ¾úEVEسé ö+«ùó›×PðáU%’¤m›Êó¯æšU ¤¶p×?>ÅKÍÕDO¯¤aÕ%DN-`9©WïãéW[H-Úó¿`³öÛ·²®Á ¦A!;H×îM<¼%Ëõùu|Å·yìž'غ¯™Ê¨Fü“®¼?Bf}eœ4CNl± êKˆà çsôEݘւX4,-có«ûéò*_MSÔ‡‘ȲyWöþ¼uçãÎöi–%<¢g²DÛDÛÀ0Y—ƒYÌ¢ò—„ˆ ØäÞ}šýK¹þo¿Æêj¢i©h¦ÚÜÁ£ÿ;Ì‚š*j,fqŠæÄÈõj¤‰EþhIfΤuëclß×Ͱ-"d÷3 TÊ ‘ém%_ËYõ~$Q@P%<…<éŽ]´t<¼á>DÀðIÈʸ+þ‰ÄŒ® ¯9/S G@  [:ª¤`9¶c#Ø¢ â½´v¶AN@s4dä©™H¹U¸ù$œ/±K’ÑN«'¬(­Ñh{|2 çUáíw#3 é6%z†aKÆ¥HH£Ö½ÒØv‚ˆ'±„-¯îeqÉÉTjÊO¾„¿øû³hÝ·›]/má—¿û=ÿÍ ÔÙ©lÃtó‹".IÀêz–·çXsãM¬=¥ kïÏùé“*Ž !©$}LÞ"ê“pp°Ù£jQ3ß¾å‹K/bË*ª|be!˜eo˶ˆøÂ˜Xä°…êXS! zh>È&ééÊÓ³sý™&Dw Ñš¥ÔmÙɳÏ×cÔùD Ť´nõ›_d÷ˈùD © Þ†ÅÔ”j£Û"œ8L‘ÇÎ=vu`Ä=öÅáíãòØÃ¹ÇãòØþŽv’†‡Šº2|"è¹4=)¸£TWEPFd{R9LAʼn º‘õ~Ú{Âñ1i«3Ò‹+hÄ"^$#M_ß‚VJPÌÐÛŸÅtQƈõex{ë³?°Ž¦r?‚-á lj†¼¨¢Aº·‡TÞh•Àv<Ä+b¨ŽN~°Þä0º# ɱ2¢‡Bf€®¾ ¶# *>"eQB^‘ãàó°òØÙÜc#RƒTzðˆÜcdJ«ë)pHõ†¨š(u’õjŠê‰Q[3©0Ôpµc¿ºJ©ô•À?Á:ÉqÀÉ ƒ(*«¤®!Š:i,ÇE¨¬šé U|‘ ê¦ÑºzK4–L±ª=á˜uƒ˜¹r=xGNO”†•×c¹Ã¨£êÇy²øØ˜vœh¬M¤3 ˲‰*±I×Mô3:&'`Eo¨âh×â¸d<ˆÆû¢(²bÅ vìØAÿø‰GË–-CÓ´£ë´qX>äÄð<Àd±¢°wïÞW$I:Õår c[(ˆ¢H6›Å²¬YŠ™¿ß$IÇxÍóQpœ‘v²aÈ.—ËI§ÓNGGº®Lç9\š.PƲڱDÇBàØï­iýDQDÓ4"‘²¦iY`HELÓ>üƒÿ ×+_ìñÊ ˆØcIÆëõ¢iÿ £- ˆ]­RIEND®B`‚pyzo-4.12.3/pyzo/resources/images/pyzo_tools2.png000066400000000000000000000632001421373005400220730ustar00rootroot00000000000000‰PNG  IHDREÈ-óï pHYs  šœ IDATxœì½wxו°ÿΠ÷N°wŠ)ªJV±¬ânÙqì¸&ö&ëMÛdk’Ý|Éî·›ä—d“M²I~É&»éսŖ‹ÜT¬jõBR"%öHtÌ|€Á"Q²(Krð>˜ÛfæÎ™{ï9÷¡©©I&K–,YþÌA~¦¼Ü É’%K–+‰¬Pü3ÅëõÇ‘eAP*•ØíŽ N“%Ë•F,cpЋ,''ÁSõÝ©ÒØlvÔjuR(=gxñå­Dв|Ãõ”9M3Ð4‰“{_g×±NPª©]¹üxªœìFÕ´¹åxCǺ©«¯@)Ì@s²¤ñz=t´·át¹ðz½D#€tÇñz=´9Þ`Àb±244Hpdd\šqe¶â/ìÆ¨7аáfªrMŒ¿qoÍ{vQxí&¬qR²,Ñvô ¶Yó0«'Ï’å|س{'%¥¥ƒAÂá0‚ Lêß{vïÄ•ãF§Ó …8ÙÜÄŠkV%…bûQäœjÖÍ«ÀfÑptûfµ âªXH3ˆGYD¾ØÏ©–e/¯ï뢠l._#-!f7¬$qú ^ܳ–²fQ¢áàþ&FÊ×pk}£šÍ¿~Ž!k'‹J$šºâ”ãYWkâå},.‰³oï1è˜SWÀ3O¾No`#Æ@5×n¤kûfôe³Ø±÷0ÅE•8^Ž·ö´¬X·‘‡þ2݆«‹x,ŽÓ•Ãðð0ÃÃØLfÔj ñX|\½ÞÀÎÛ©›3—£GѰüšqiÆ• ãž·Še¦^?t˜}¯´a+, ßàè©L¹Õ¬¬63Ô݉-àeß«oÑHP¿rfß vnÇ–WAÛÛÏ¡¯÷sÛ†UÕ2ý§xæ­ƒˆÑ9n}½–¬¿MÏ!vžèÀR²€e¥Jþ´í…LTáæú5³ÙõÖëxÂ*Öl\OèÔ.öœòB$ÄÊëoàÄîdÝsW^G±ÒÃÓo¦¸¤†Kë²/à«Y–‰Åb &³ÊK0Ì]g^¦¸þê-ž:0Œ”PÓ7àe_G3}u·óà<r¤ŸÒÊy¬ZZöÇ“$üž>„ÜBD×,ê]üð‡¯`)+à ÐÔ3˜ŠçŒ×ãA¥Va³Úðz1Œ€<.Åb¥nÎ\ÞÞ±å+Vb±X'¤ÉLçøÖ— ¸YºbÛº<ÜÖ0—ç÷7ÜwŸý=]Î…Œxûé<õÏ QìÐp¼ñ±Ó­\ÿ‡°*%¶u¢bÍ5Õ"  !8ªY_ç•6ë\ìjë¡2Fen}ƒj× Dg×U)ÙõôcôúŠˆ$ ì=Íþæ‡zÙxïmì~ôW´ŸÜ—®ûDK¹¥1D×,V.­CÌ Ä÷²,³ÿ>,\„Ï7„×;Eÿ`Ñ¢¥<ñØX»nïìÛŒ ÅP Á`§¬8—¦0X„!Nl!¤¶b5™9ÜÝ"všˆ­½•N…z¤—–3m˜õ* ܹÔÎ]„F©G£ä8}0¹(+ ±§c¥]MOVID¯Q¡ÒjÁ×™¶aF"2.»Ž“Giµã´kQ%üô0DºÚÎpÚ3ÌGƒÉm¯¯ýUŒ@jf+Ë26« “É㦻>ß GbùŠ•=r“É„Õj›ºHQIÝš¹}I%R¸ÝJ•»1AË©S Ät”ªÈ2èÍ9¸óÌŸS‚Òbå”·‘Ö–ÓäÚ¬¨5½Ý½äT “íÐu(UQ  *•€”ÓØÜKmÃ<ú:·#ɽ…Ô*êk{)5º}(±éãœn=M—/Hž9w¾’ùsJPÙœ(‚mè Z„¬@|ß!²t–þ-þ½»±Û“rcßÞÝé‘¢ÐÔÔ$Ç#º{µ«°éˆÇã˜L¦+ZðŸ‹Ë}/.WË}ÈÜz'‰DbR?”eI’$é¬åøý~ÚÛÛñù|ÔÖÖbµZ'åŸêš\2¡ðx’{gU*‡ƒÁð¾ìlBæÍ¼¡8S×mº#³Cž«ãLWF"‘HwØóÉ¥ô‹T;®òn¸Îí\mhii ¼¼A¦ìƒ©g(S(NìC§NÂl6ã÷û‰D"“èÙ„ê%Š¡Pˆh4Juu5z½žp8L{{; …"í•âÏ™ÔMžx£#Á!:;û@m  0µBL;N¥ÃÁ:ƒ)nt˜ˆçÒ^Oédöbor"‘`hhˆp8œžëkµZ¬V댮ͽ×Ì„PL$?~œ+VŒ×–ºÖõ…¯ÆiX_o@”ãdvßÌ¥°TþKb§ Ñë§Ž{‘R‹gZ¢g’zØÏ6 ™îø¹êž‰ã—ЉÓçóáBl§ëxRç…¶3…$Ituu]p¾+‰«aTx>\MY–©©©Az{{‘‘‘I2@–å´ÀLQ`ƒûWjäñøÙ•‹@:þÐD¦ŠMMMÌš5ë¬ÇY°`Á”Ç|>àºë®›ò¸ßïÀf›:lætÇÏU÷Ågèƒ,Ëtuu]ñ]jÝåBÛ©P(¨¬¬L_Ã,YΗ̥–‘‘‘äz»B1IÇ!Š"½½½i³ÁwSÏðð0*•jÒ±iW]Ìh+‘H\µ#Åéê¾|>ßU#0Ìf3f³ùr7#K–qÄb1Þµ"H [¥296L­)NŠ©aéh¢wßê,W=©©Å»1ÍÊ’åj㬊–x<ŽÍf»,kmY®<‚Á ƒƒƒSN3²dy?2嚢^¯Sugù³%5R¼Ì-É’å½cJ¡˜2Ÿ9¡˜ÖÞÈ2áXˆS¾³œvT©¼²ŒŒL× ‡ž¨LË…AqîreY&!Åñ„b8 :çÙŽ.ï²ÞJV9fþ#KôCXtñZ<Ãä9ØUÊsÚ²!ã ý¤DŒãžA ,fºüJíNtâ{»›árðnÎ)F¯ªKY޿Ȳ|V‡Ç‚ `±XÆýv‘&9ÉJ‰Í´{ÚùÒŽÓ<þàíDƒ ÆdŒ:Nyˆ{–‚’z¾¹Ö‰A!0 ÐìA¯…ÁF‘Zâ¤gˆ N“…®c|ag _Úx×ä:Q €,q²€˜‚Ê€…0=Á(5TÙŒüìågI,¸æhè G1éŒØ%÷=ÿ­XÇ<l;ÆkÖP¤VPi·Ðâ$ÏbÅ¢/'Ïê @§ˆ²Dû ‡ž€—O¼¼•¯m¼žçáS׬"A¤ÐîÀ¦ºzÒgY–)--=ïÙ†,ËøCø}C@r‹©Ë•‡(ŠïËM–÷Y–‰D"tvvN)}>ߤßfÄuØáæ|äÍ3¬ÉSâKÀáæÝüÓö“TšdöõÇùâšzÚÂq–™-èR"Ì×ÿô$U.¤ž&¬‹nfÝà~þ§O¢Ö‡ýp‰…ÖA/GYâN E)â‹Ï<Π£”ÛJrybß.¢–<Œn,ÞˆV–‘¤[Ž7³{`€7ú‚|ýšÙ´ r¨·[ˆ·[ϰhn?ÿ±{/Ÿ_»œ¯½±‡Ï¯œÃ¿½º‹b»~ÙÎ>x9JH0à9ÃýO¼Ìü’"zƒ1b±0{º:9Õ{š¿{~ 7.hàÓK¬Y¡8ÌÙÆ¹ìäRÇ_~å‘ñáH”óÈË+J E½Þ€ÃîJºc¼éFVpf9Ú?f@(Êôõ¡w•sg•ÀÖžÓôx» «Ì\7«ˆ5å æ¸óÉ1¸±ª ›R ‹rÄbýм¡34Ë õ á´W°4ßÊÜ„Àb» g“—µ¥Eè3ga‚š-c…ØÍC‹få±²,‹EG# ùùcSõ%•DÛúQêœäèõ¬*-ÃnÀhvr‡KÁ×¶½‰«¤[ÜÀ¤åžòj”¢*9*øCCŒ`äÞºjÞjíóo(ƒÕèà³ËS¢É ÄéˆÅbœ=·-½mìÐh¹)¿œB‡‹¸ÙŠ-?‡Æ`˜jW£…;Š]üîÀ^>V“C}~NŽ‹ñ–|¢¾Œ¹Æ"ªð±»½òÜrTBj­TEaN%w–œá§›(t8±hµÔº\Xµ:æä¸Ð:‚Í>|ç&‹ñÃþ@ @"‘àãÿø8¡("µ5õ(•  ™D"œ  P¨ˆF¢é´²œ ¿»¿§ç^x oTÅú[od÷c¿ÇïÌÃ,ÅY¸îVê ¬©"²dA’$z{{‘e“ÉtVäIvбXŒÂ Z&87È,T@@&9ÝI•x¨y/ß9Òj+Ÿ_s Õõ¸<" ‘\¯l $Z©¡ÚiG=êÁY–åtžñî&×Ù®Q_ÎÉÏže9AÓÀÃq Q¡ÂnqP¬ÉT¦$G‰©²Ä÷ñˆ$µi¾££ã‚Lr&ö¡TyóÍ7ùîw¿Kaa!ßøÆ7Ðëõi/J?ûÅ÷©žUŠ$MÞk- ›NóQâÃüü»¿ ¬*ÆkGòM2ÎÅ×ÒýêŠü$×Êüv”O~`¢p>®3²¼_I­)vtt$ýlF"h4AÀçó¥-çtq!¤„ÁôâôÄY†úªEüoå¢tLò–"NáîDˆç«_÷ÙK=¼òiÅQ/ÂÔY³LCêÚ.]º”O}êS †Iv°ñXµFËDO>)b±ñÂR,î Š#–×`ɱñ»'8¶ÿ09ú6ìÎ9ÙÛ”e)o]ÓÅá™Ñ-SÕ1Yn µ¤ÿ«qy§Ê/*TÔåæÏd3ω (¨ÉÉ>a– F§Ó±víÚô÷Ì—Z4 %¢ ‚ K’,‘HĉdLŸ…ž[îû § w^;#0ê4˜mnŠg»ÈQºYPR”ŠYÒH’„×ëÅëõ`·Û±ÛíS¦½h¡˜)Èd¤œ8e³@§âl/þ)‰¡çt…@¡†¢2»šZ ´*Y^¦¢c";ƒ}?N¯R£Å³­ãX­vöîyµZ‰ ˆÀèÈ]–ˆFcج/FAĕ砠¤bÔVâ·ïCŸ“ƒA •½£YdY¦³³µZËå"‡Ã †Iégd¤(ÅáÌI üå_ÁþšAð‡@m€š*ðv@ÇXÝP`Æ“€f×$ÞP üôAxÜ‹LÐ…}~òcøÌ!ÜÈ`q· b"Xs ¢ Ûù¯ÎöÒ;ï¼ÎÎŽ³j’ ÓÎD§.EAΨ ú/`)‡ßü ªRq¡d˜s üçÍpÝMpðìÙ=-ð7½ 6Üý°ÃòÀ÷ÿÔÙgàªF¯7PUU=mº©bædÍo²œ‹x<ŽN§›r÷Y*vT&/eØõ´æÂ‹¿u¾#@,j-UBÛ>xjt Cí|¨+‡Á.p”¼y ž¢Z˜5®7޶öïþð¼êçB] dí.®n2;ëÙ^êX àcóKO ¨=óÆ)ÞÞ !y®vf¹²e9½åtbº$ž· · €ßýV-K®íy{à`3,~„Ó‘aÙjh:Ï>ó†k /@ÓƒPb+ïÈŸà“oP Õð«äº;j”—I WÂÖçàð¸o8Ï/.|–«€h4š~»OÄç$ò ÆØ¹óuš›Ž„ÖoÂn?Kൠ3®‹A–e‘ ƒ§yr;“½Îeæ8ß—å Ø)&×[OÂ`JË · JJ¡ã Ç@«sÄ<à €#ì 8ÕJ=TÏ­r‚¢EEå`×@ã)(.¶3I#Éßd8r¡8‡Qêw{¹²LÅLÙ)^h'Nœà¿þ뿸û©©!'''ý¦okkáÑÇþ…RAiI9.)mžB¡"MP^6‡¢¢²©ëuPâíjÃK~wää0ì ’ã¶ãïïEkµãíî ,«É˱Ñ×Óƒ¤6R\àF”btw´–Uè£=úiЬêKy™²¼K¦³qžãí‹-!K–ñ(•J´Z-þð‡Ó#Å’”4èW(ˆâ˜y €(*‡‡“i¦A¡ÑQXRJ) žÝ{Š +fóÔÓOR²ð&¼EQÙMT”º9µû)<à6 ô{z{)*[CEi.ƒ-Ï™Cí,‘=;»ñôŒ°|å,æÍ®Á®ŸQà,3ÄùŒÜgìÎen÷ËÜú–R0s[ݹ—ÎØþd¦§!g­c´òènšÌZ'ž[–KCyy9ßúÖ·&i ô(P£ÑÛ¼9zW¤À¸Àç“HÅýްù±_¡ŽÇXyý]HÝβ9eØãžxüi~vÐͪøO"EtÌs”PUþažx2ylýÒYäXõ(5yî<æ—-ã¥7_Eë,æƒeU玢—Ý~xÅ2ÆÛc°»¯…/ïláë7¯Ã¡sÒ*'Âü×믰/ªç߯[K™N‘ ’>ZÆØÀ1†üýw9*1½[ãü앪WðÅA à _ÜÑÈWnÚt+&gîåÎ.¨Ï$jµµ:9õœ¨-‘þ z-J•¥BE"‘  pút ³ªŽfHÐÛÕÉHd,”¥ ˆJ%öòzVÜô!r JcìúÓãÌÙx'ùf5 ¡„ùdºÞêºå£Ÿ’8óXéèÆ¬æÌ¡rñFdYb¨¯‹ÖàxǦ‚  ·å’kˆú¸\œÏöàq2ëêä ¯l#¦RòN_Œ_/ÿñö.ÚÃ2K>÷ÆøæþãÔ•ÏA! €ÄŽc;ùαÜBGÝ4úùæÞc%¨(¬Â1ØÄ×µ³Ïà×-Ǧå8¯‰Ì IDATÚÍ/Nvc0åò‹+imÜà ñ| C˜Ê—P:ÜʯN%ÿóòz6ïÛÎk!®·ŒXÓÞˆ˜ùÖê¾¶}7×X•|y×1¶ôzy¨ÄÄcÍDÿ¼vž^v¼³ýûÂH¶r>UiâX¿‡~_/ÿ¹sØ89V¸Qdm‚fŒé:l^^>‘ˆÌ[o½ÍD×¢¨ 7·¼¼‚s×!ªXyç}¨£>é5 ·Ü‹œ~¹‰œÝiøÙ ÐG?È2²õ8~¥sI×Afω €¯„ý½íì<º_žô°À¡¥É3ÈÊâ ­6>Ó°‚|H"æç[obÍŠ |‰æ@€ìy“í-U%[šNð7óJ)j‹ðÙ†XFÄG<|yëÛ(LnƒÍ쯭áæú%|ï׿çe}%Ï-–y`sêx°HüñD??þàmë•|ûí~ã£aŽöðàÜU5vñ™eKñ·î¦'¤µ»…G«ª‚üjþ¶LËýO¿Ì>ÇbdYbWƹ=qð(·—æ`&¼B–™C§ÓóÐCŸ7òËü?î³ À]P|ÎòÆÒÎätVÀž[ÈÔ;k³\n.ñH@ Çšƒt´›] â‚@®#bcŒU¥„ÂQªLF4 V% ‰jj-:^k:Al0„]P0/×ÎÁ!+ŠøÃqJ­Äx€7ÏôPUW†Z•ZGÍNÌžO© U Û›Ñ8qIÞñ%¨µÙ‰Ÿçpñªâ89ÌâÒY”Y5Ä<½üêÐâ­½ãÖš;°9‹‘|^²Œhl?Å£#Q…—V(Šä:rÓçW¸ÐŠYø^r6ãm˜ÜÙ/(ÆÐty¦±o¼4Â5ËLs>}â"í“nÀR1Zb¢d‘*‡…ÎAÞ¨„Z¥¡Âb¤mÈG¡ÝY)2šöò“¦n·wóÀ wòPfï!IÆ 5PnÖÓê .ê˜í´Ò3‡4û†jÊ̆C„µVŒñaJ#9bŒ“þaD…†*»…áí#\1™¡ …™Y;]Þ²’|­‚Ž‘jAÆl±£úðÉñh µÎL‰AA‹/H¹ÍB×PòÜœ&+¥&ÂûtMñrÙ)ž‹ŽŽÓlyý™Qãí(¢ ÄáÈɨG`ã¨ñöù ÅXÈO ¡Ânœ¬ØÉHˆŒ”LW‘Æâ´“ Õø|hV)wùÈ´SÔëõ£ëÏqB¡~¿F3ÓvŠÉ…g…BE;oÜ‘ §{œMbmÎøR"ʉþÊËçpG ZÁœÜñ;f»sI$âœèíN;™­qÚY 3§…E›Ê£Ã=ú¡Áœ.Ã`qàNëÒP§;Pá3–ÌÉ<¤ËaâÊTK7å¹e™Yzzzèïï’æ9•••i¡,É2~¿p8ˆÁ`bÅòU(JRk}ï#Áaìv×8åÜY‘ezOíg×p.w,›…p®´RÞ“o³ÓŸ‹Ðt‚† œR°ª¶hê|ÙQãË%¶S¼ÐÛ.#Ë f¯àÕšãʘXVÊÃõÄúRNf³¼?ijjâ'?ù ’$a2™øîw¿;6R•eÜ9yØívÔ*^o)…‹R©&‘ÆÙ)=gxâɈhsذj¯m~• hâ–ÜFÏ®ØÞ<ˆ2À±ìf¿ù,Ûv`+]È KóÙüÜæd¨ƒÛnchÿ˼Ó 1<€uñ he‰Î£[ùý]$îº ß‘ítúâ,Úp;ÚæçÙ;`bÙú Ì-t\†+˜åb˜q;ÅLÎÉ-éHtú²Îædölåf…åÕÏ¢E‹°Ù’Û¢þþïÿ~ÜhI’±X,¨ÕI+†L×O …‚p8‚œŠ2§ö¿Bá²ÛX]çæÈk?§lå”FóÆîÝô4+ùÐ#;ô'võð»·RZ7‹®¦ý싼ͱ‘|Sý'Žp¦Yɧ¹“®}b¯$áóaoX‚kë©ÕñŒc>Ùhä‡Oìe™yˆE×ÞE}ÁøxÂY®fÌNY& qÊb–ÓŽ*%G÷šv zè‰ÊÔ¸\ç{)Ë2 )Ž'ÃiÐ uà¢ÙÄ Pêm©eNú‚TÆn™.œf–+ƒÁÀ=÷܃(Š”””c/XI’@Ðê&;á‘pÆ6?³#ŸwZ9© £6åÐÞÒH,ÚI^é"â­4žlCÓÕ…dY@EI!uK–cU«P…š)Ž«Y^[€Ùa"x¼…ÓgÚéïè$žW‡(ÕBýø‹r u¶pÌ Ãâv JhЩU2#˕ŒØ)¦-ížv¾´ã4?x;‘À ƒ1£Î€SâÇž¥ ¤žo®ubP 4ûFÐ+@a°Q¤–8é"(Óda ë_ØÙ—6^Ç5¹É¸ÏÑèÿùÂã¼·sYÆT±„Ì~Ù|˜ß=pÂð`: ½MˆÐ8@P$ƒ]é²Zâ«‚”ðkhÓ(O4àŽEcˆ‚Q1-,%)Npdd\µ¢¹ëYgk#,«(™=Æ®"â,Š‹òˆ–çÒ7D±èæØ]èWÒÙ;ˆJo¥°úz ®d¨‹5»ï½ÏpÓŠ¨·Û‘«‹°:­|@aDmusÿMNƒ XV#å(Ïê9'˕ΌLŸ7ïä#ožaMž_7ïæŸ¶Ÿ¤Ò$³¯?Î×ÔÓ޳ÌlA§a¾þ§'9¨r!õ4a]t3ë÷ó?}µ8ì‡ûK,´z920ÈwR(ÆãšG°æÑÓßD«3„lJº¬oë:Îç6¿M±Ý@Ÿlå>û0¿T³"×Í'–.£H—Í|5q¶°z½ÇÑÝÕ‚ ˆ£¡ ’B124¤aÙÆtzQ¡¦°´2ý½¨|ì³ÚîÆ8ΘPG•eL!XP’¡NÓMHk2P\6šÆf$S›ñs¥s®åŒo÷õ¡w•sg•ÀÖžÓôx» «Ì\7«ˆ5å æ¸óÉ1¸±ª ›R ‹rÄbýм¡34Ë õ á´W°4ßÊÜ„Àb» g“—µ¥EèG7è´FjÍF*fS«èâOþÂ<þqíçÙ”=~’—šNr}Ý|ŠtÙ­UW çšræææsï½ÅÈÈÈ”ùŒF#¹Ó:ËNiÿ¼™ÎìkFŒ·—T70·c¶ê©q9X5g.džv°£­ÎÌêJ u99˜UÉ·¿BeäÓ «øÊÞmH¾sfëøäÚU|m÷QÞ<ã'Ç–Ç­•…,´ üϾc|eõôB²®‡‹NƒÓæ¢Ò E£RRër2¯t>u’íÝe„ƒÃø¢q*sr)П¿]–+›d¼–¢óJë÷áó R©p9sÓ~'–™åýÏDOÛgUÖ^¼“Ù1‡éB™: ½a·u¨y/ß9Òj+Ÿ_s Õõ¸<" ‘\¯lHÛ)V;í“Ɽv¯3Ã1ÄyxæÉ2™Ëa¼}¡í“Gs¤H}–$‰ÇŸü%áȉxŒp$Ê‚y äå¥×)Ýî|TJÕ¥í)CîŒæÙ~øÞ1ÑÉl"‘H;™õù|—ÆÉlê+¦½Ñc>kdê«ñ¿•‹ÒevË•BÌèHéß²vŠYF‘e™gŸ}–ùóçSXXˆB¡'$}Cƒ ‰ÇcT”Í"¤¥eA†Y0ÿ JÎY~æÿwßÎÛŸ|”ÊR^y2v¼¤ YCï+†Ëà sT¨!œ—c™³Ù)fÉ"Ë2/¼ðO?ý4sçÎåÃþ0ǘ±´ ˆÔÖÔ£T*P(d‰pzZ¡V+I$ÓÖáo?ÂÏžÛ˨¥lÁRòcÇéÔ/£ZÓËÎ^ù#GÙÙØOå² Ø<ÙÓÜMÙ’XU®à©§^Ä©\rSGÙÿëÿE¥ËçC›xó…çèгìÆ°¸ü,ñd²\2.±¢e|%3ád6Ev4˜e:DQ$ÐÓÓ3) èõj‰dËLv$;/ÝñH1o.w¬vðÃǹïöÙì~î"úSäÎ[Ç+;"|òÓC/Jìy;§›8Ԧ¾N °a«ër‘QžÛfäú;ï£õéÿfßîažëN£ÀÀ›³YXæ"k1öÞp¶~™\>'³²”:œ^ÿËt ;Õš`Šqë—£ §s,;ÉmvÚrÕ“zzV¯^ͦM›Æ‰ …QÉ|’ïÚØyM‹eädõ„„$ h,y¸†Ÿf×€‰¬3 ‡¼ìjŽò»ïà™š˜(o*5ZµR .+Y°æ&Ö/,EiÎÍ Ä+ŒËædv_Ó~p¸Acáo—/àÑ]Û™UZA¤óÝ®Å\¯äGG’Ç?wí*f“1LG}|bó«˜uzvX¶ŒÏa¾s¤ˆ`àŸ®]Æïߨ‚W©¤7*2×$r$¨áÛëV°óèNžm÷‚BͽËVsK¾!ëöªE¾øÅ/b±XF ¹ÇßÈX,ŽZì7“CŒœ;lAêwY`àäN~Õ£cå†`ט˜[çÄ]„ÛUÈÆ¹~ùÓŸR¹d ÅNM'Ï`w¹˜µ`Ï?õ?zKAUÃz¬î|4JKN>Ö9×0ôêó¼ºå4õëï B–') 'žg–™á|^„—ÇÉlÔÏWÞØF‡ÒŠAäyOwVäpû³/"è yn±‰/=ö\úøS]s¨™•‹$âQŽ{ü|iÃþuË|S]Æ?˜‡ÆÄV”s²€úE 4ïÚ†¦lƒ»wñFkßÚ¾—€1ß>͆¼ùh³ýíªÆn³¨ž(<â1 ßÐZ­¥J…€H<%ÒÝÝAõ¬±Ñà=^¤Ô´C’ëÞ ËÖoâ–E•ˆBœáþföžV°éîZ¢Šùë>Àüu£…,™=®þg„-`a‚ {ó½È@ùGIng…h;ÝJ\›î*5¨³Œgœé¦Ð—Åɬ¬P3ßi…‹…&%õ7žfNI±[{G¨Ï8>ߢ7˜S©Tä› ¨EX,ÂÖSãÄ ¢’r›•j-åV &¥ˆZc ÜnåŒÊƵEFD‹U¶¿]Õœk%kÖ¬góæ§F*ã ¶ÜîéÃX gs›A3Z— “klVºî©ì§iôØRŽ,3M0Ö,—ËädBáš}$%¥V3=~?ù RØG¤§D'prôx¹ÃŽI!" %b4ú(µÚ8=8j3ùŠ ­Ã£bÍV"ÃÃØ,¼þ!f+¿—ņ Ð9"‚ˆÛb§H¯&têì\évŠç"5ÈT¾LtQw!m»çq¾¦>Ùéó»'ÓNQ«ÕljF£D£QÀ¥°S|÷NfuZóòƪíZmòƒ&'Ûb^žY–9Ý}œ;ÔFX0{ .NzU®K—©ÁfÊ(\ŸÜŒït%ã;\£éÔ6ì&ÛäSÈrU2](Ý{Þ¢±ù(²$£×Ù°îVÌfë¤rÎ+ÜnZ+8½bî|Cd…Ý{ƒ(Š$‰qÓfY–EqÊ‘þep2{á”æ×ò­¼Ùéú²Zã,)¼^oZÑ’"e ÖØx„X"H8Æçóðô3¿A;ê©]6Œ†-HÍx¦D–‘¥ÃáF½úœ ‘±,2á‘A F­ŠsGwÉ$;k¹h4ü~?ÚÑWæN¨L_)fÄN1Ó,Gd@í<£•bæž–qo^á¬B.Sް—d’f=Œ:¬å<ßøÉ@–S¦—G}?¦Ï`Ê6¥ 1µuºœQ[LY–H.ØO÷ò8ŸÑEæ9€®/iúç÷@ɲÌW¿úUJJJØ´iEEEã„ãÈÈ¡ð0z޹óêű‡!‘I…-H¦ùúéìÂ`ËŤ’ÐX^bÁ^~ùòiî¹cy6]íÄ:Šòôv÷‘è­nlš8í½(´fÔÑ."† ´Š(í]Èj3…y6z:{ÒéÍÊÝ^4&…¹ÖìKþ¡T*q»Ýôõõ¡V«‘$‰X,FEE~¿rú‹­0ù Ê„Fšùö­ Ý,÷wTë5;ý~p¸…jòK?Æ2»9Úò=þúÍç±è-,®ûŸ¯]‚JHÈ)•ð>ÙUR¿ ùòØÉ£Ü3÷V^Øñ¯¼´óõ Ÿµ‹Ë‘J?&dºúßä±c»Y?ÿcÔšmH²4)ͱ–ð«þÙ|eéu(2mÛF÷o'‘8ØøKZLk¹#¿ 2ÊAó³W>M¢êSˆÍ?D®þ>V:;íl7y½„´ K6Zg{ ‚œ}ã®’Ÿ?øó*ïBÜÎŽ÷ñ/×>Œ.=„I™d¾‚'˜ß/Ó6Y– …B¼óÎ;ìÙ³‡Ï}îsÔ××§ku:æÖ×Äa东~—EbÒ¸õF)2Èoÿ÷7Ø*Jik~…›nZÌæWö!èÜqm `„X ‹Ão?Ë;Ã娆;)[º’-O½Æíw®æ™—±¶v„½vÖ×@ß <š8Þ­¯rÆv-bÇK ,^ßþ¸9™~óA:;èÖÍanm*8PÖ>ìRa6›1™LD"DQÄh4¢V« “ÒÎÈH18rŠ/¿ôY^õIDGø€f wÛñ™WÀ)ÉÍîö^®)bÞÊûÐ 0j§#¤ãá%÷`QµðWÏ=ɯ¹‹¯nÿ1uK¿Žùàß³]23âïç/¯û¾WøöqØSÝÏ·¿ÍÞ&r|‡Ø,`(xšÿÞñø‡Y:ë/¹ÉáåK[ŸÃ©ã*x]z Jiˆmû ß;¼“§:ñ/k>ŶÃÿ?ýÃ,õŸ™·­` G½ö7}•;ÔÍbKŒCA ÿßšOðû·ÿ•æ°‚y%7²kÏÿá€r.í«þºŸa¯§‹ü¼[yxÁ-txŽ‘(  ðC“IóÚ¡ðß{¨(ÜÄ——ß—d@_ÿV>óê·1›ÊYl²Oº™OtðÝ&–tóÕÃ=8…^æTÿ·X[ù—×¾LAã>RSÍÑ äß·=Q"×½„ÞÞÝ,¬ÿ?Üíæ™#¿c«7@Žk-_^þ06•’³Ï¯.RÓŸšššôH1“x,ލP ˆ …2#D"Ããv´HÑa:ý°¸ª–ºš9äæèžù5Öµb3[±Øspj4;}ù:jsç`±(Øí*£ªªŒ­¯Ã]½Ž²ÈA^}ñU–ÔëˆÅôµ´Sú¡Â)z#˜2Ò—Ý|=ÑCxñ%/%yº¬ùÍ%E©T¢ÑhEñ¬þ:a†„¢$(©´¹HX 9å×ðpM=1§¡‚ÊŠ›éhÝÇón³ ”eB‘ö¤ÈjãX3ÁèGûaŒÄ°{£ªø+Âßä—§^gäè¸öšÿâ®Âr<ý9<Úà³ óèóÏ3Òqôô/x²[ÃÖÜÀ_¿ò)l¸Ö‘_p-_Þþ þzÑä)Í\_ÕÀoŽã#K?ƒÆ÷Oe乩js ¢q?žH°…ŽX)ÿºh;Ÿx„ݽk94p…±“¾µîb÷ǹ7¿€o?ÅÀÈ ¯½ó=úÌK)ÉÜb3*€B#ÍüËÎßòé¿dµ+MFÿÆ91ÔÇ÷Ö}á–Ïó[ïûŽzTø\g茕ðñZ_9ô6=D¥¥˜»—~–9Ò›ü$ÔK0ÒKK Â?,(æòùyüàgô¯ñ…cGi(jàÔɧ8Z»‰åv Q‘Ç% Q‘e QHÈ AyULÅgÊx@iÌcÓê¶ny[~5Õ–×}ìï9±ƒžØj\Ác¼Öä`ŽŸäÙv°¥ÉÌ 7®&Ïí@!ªÉÍuâïiæhSFW)«£u…Åòøs¿AÒçpÇ­E ´…FÓ;8yŒÆÓ½8 ¡Ìnk¹äœïLiF„b$ÚËÛímÜÖkHÈqº<Ç, ¿C¹0=Umnû*¾´öÿìßÌ/vý’'?Fw4%Iä™òpj4ÄÑ’§ŠóZË«ä$æPg6õpÔÓž¶ñ2j ¼Ì+­a¬UJt*7y â£[®DÌZz)ÄÑþãÔ8òÒy"X1*'^ ®ˆ “ ƒ¨@V˜¸¹öô÷¿Î/Þù³êèê?Bc¿Ì–®>ºðnNìyŠ`, ™Î.Fo€ReÄ"‡yµõUÖr{í ã Çõ*e–|ÚõNú{·ðDèQn@§+­÷ H #âí?F©uÌ¡^“O‘9£FI¡Ñ„ GqZ]ˆ‚Ž•UwaŽv  7óȳ_à‹7ü7Zß!>ûúwù‹…âçïlááúj¾óÖÓ|ò–Ÿ²Î5ÞšàJå\ÆÛÑhŒx,V«G­Ö "±X˜h4Œ×Ó\™‘XP2oíÌ[;¡‚ÙI/:ÿTú§~"eô-PvW‚¼ï*믛P@|ª!þÞ» FÓß À¼kSm¿°óÎr阡h1”3¿x=%V ÆœÛ(1ØÐ»ç²!–ÇzSʵԛÆ:¯QW̨D»¥Ž •´‡”,Ê­¥D£Âì¨EÖ™pÚj©2±iùgøÖͼÝgeUáF–»òÙqzåöZæks¨ÈÝȽ;90ÐÏGþ† “‡Z—€^c§Ö5 õèú]}9,¸–7ºv¢,{„{+vs` Ÿ7ü yêäpÚ¤/£ÎæÂ¢/£ÎîB)j¨rÕaW«Øç9@ãÜY‹µ¹<»o§¤•l,œÍaO?ssë©Òë(pÔ‚Ö„è¨EÖ&=~+Õùüíò¿àÇos@íæ¶´û(•ÊF­«BAEÞÌ5ü˜¾šzE!½’:» £VMC^ieSõJžìÚ‰Ï:Z§ˆQ›K­K¬µSç4aÖë©s$¸¦vÿ!ýŽ·:¶`5Ïæ&¥r¼à&¼=SnÙf¢S¼L÷ÆwØ]ìÛ·µZ9¶@@–“k‰ƒƒ#\wa\9³Öz¡yß/ëºïGfÈÉlRQÖêŽSJŒV”|hTƒ+Ž*7dy¢b%Ó%ÄxE‹ˆÜŠ•Yö¸úÆJH:ª•ÓÚé̺2ód*!dä µ'¤ÉuÈã¦d™­StŒiŸS×JF&‘Ò4ÐHHJ¶2ßVM®V7ÚÎL¥ËTWC=«T+˜òŠM¾rc¦*BÚ`ì¾ÉŒí¿2,®fãí`p„ÎÎŽ)¤ ùù…i‡³YޟȲL8¦§§¥R™^OL-·ttt`4&ãḭ́“Y‰kÄç²"ïKñÂMI.$Õø´Ó×5e»…™ z•v¥6¡‚ âY¯åd.¢=Âø/çªëb«^nâñZ]rM13AVf93îO1“LŠçbÊN*OkŽ¥»ä±§¨{&ëêrMŸ0Ë99W8Y–yé•§Ï+Áù֕ɹìHÏ•&˕όùSD– ÇBœò…˜å´£J ÄÑ)c× ‡ž¨LË…A]ždƒ•|ÍÙšœbû‚#ˆj&¥˜q#ƒ´GÕT[44 ¦÷UÏÌèf¬î ¬ Ç ¡Ï뙦½“™ê¡È>(3ÇŒ…#HÝgøé„)K2ëžn{ËX[þü ë¯ffÄŸbÊ!D»§/í8ÍãÞN$0È`Lƨ3à”‡xà±g)(©ç›kD‰×íEªXÂu Ÿ,‰KT8è‰Ó<à%(‹Õ|óùgÑW-á¯jJ û É…6MÍ[ù§ÓE<{}<÷,_Ût«É-;²,Ñ1è¡7§ÈáÂ=*ȤDÏÐ]’ …‚ “g±ð¡1š |ÄK%&5ÿþÌS¼1òíëWÒzb?ÊÊd{ý2DµÈ@T¦Úi'¦yhIPPbwàÒ('b²Ì,3Ž@NŒð›ïÿ7ä¸Q‹X¿¬ˆÍϿ̰`áw^ÏË¿ø%r~&s>-»L¹ÜrÓZö¿ö<'{‡©Yq=ì–vm1µå&öí=‰½xko\…[ÿ¯½;oã¾ó;þžÁƒƒ@€H)‰¢¨Ó’¬+¶lY–"Ų#[’ØŽ½Ù]g7›½ºÝ§Ý¶Oû´›}úôöéÓ§í¶›ÝÍ&ÛÍáã8±c;>•Ø–åÛº©ƒ:y߉süúHŠIY²%Q‚¯$3Ã!~83¿ïü¾7Ïð•tUNŸ·¼Ë×ß8ÏÆ*a ·¼Ï¿{û ¥‚úLþýÆe´fMÖùx…¿ºgº:°¢‹8»÷^Ók¨:Ç‚u[yÔÓÅc{ZÙ<·Š­ çrf0Ž£·‡Ó{ŽåD‰Ò¥ü‹šÂ´K°Åä?Ø­Çyô…w¸»©‰;œ>¶VîH'zyöµ'ù¯ÉZþxÙ<^öþúyêÖmâ7_ªšÏ@ë9ºk#§ã´åóé ½³wea_PÂ(ø+ëˆ÷tñg÷ÜÞw^§×éÇg ’,]ÆOîû¾+œUJºÊ¯WǶM@A›pªœËå&·#ÃIÁî'vrè'ÿ—3]^LZ?äèùUÄ“‚‡î݆gø ß?ådñœ9¤;ŽðòGçYT¢ùÀ *ãi6|};®¶=(Þ sæTâºþßµô]•If{â½x+æ±{Â[Ýçèì"ëôswc-çY,ƈø|ܳ`eš2~CÅØxò‹–±ðl¿JÛDkç±sn‚}­-”VÏ£ÉïÅYS/ÛÁ‹­#l«ñóbW¹Ñ©ðÆË'ìÑ@¢—´³œG–-¥Ò粿˚VñÍU¼yè }©Ý9ƒ:ÅÛYø IDATÅK—ÓocHqÓä÷q YʦúZž>úÎh]¤Êæe+1÷â]¼ŒáTçG†96œbÝ’Å,)©ÃÖrŠùë@Q¶oß>éôy"Ó0qén¦;ÇM¥óSzº¤Gú8Þ|”Ö¤ WÏ1‚óW°z±l —ËKÓÐK*Ø´~%‡?ü ¾•wRS]Ǻ «Ðô §_mFw: V-dÍâNÞ~ù%zÊêy Î%o"We’Ù5 ׳¼}OõÒT接ËiŽïc_k;Ÿ;t–D"øŽÑ5 Mí-· 5\íqQQVÁ|Ÿ“l>Eo:‡ß_Á­¡ žÅóù_ǰâ–,ò;Hàai¹Ÿ2Ÿ`I™MÕX© T»0¨³¨nžû ßÞók¹í.î¯  ªN*BU, xÑœ^~{ù<~pô(_¨[§¡"BÄ­“,¯ÀãõR»d>ÇŽ´òÝŽ1/T{l½nòå|^#*B•üåm«øþ©,®¡Éß‚kNQvìØ1í@ @>g€ Ð§EQAQ°mÛ¶Èe³Ýoþ²(¡`{ý:¿JW÷4|²ò –GwáwªÛMI ÀúmP[SIÓœý#JBîØý5|>–ðÙìü­¯QY)ñfs•ê/j&ÅÅ•{£upÍ:<ã6'lgìñ´Û­ìB0œät2G¡H»œ¨®!¤³#œŒ§@(f®×9^;8¹>rú½¿¸ñR&^˜/¼u7÷ö›y’YÛ¶ùá¿K"Ñ9mñv<žâñÇÿ˜ªªêÑÏEow?¡híªW°ßÜŸƒ›Ù,Ö)‚ãêSkó®ŽÑ²ã‹6§Ž~°§|™Ñz@å’û ?Á7;EQؽûÑKoWNì'®8ˆTE'­/}>]µ:ÅÙVVfuéÔçK<nõ®ÿI³ÎåÒ‰Åj¦}mR·œ°Xš BQžšHÓ?5Rz‡’X–M°ÔC‰G'™LR^^>íÌËc¦/Æža–n¬E£BQ’¦—J¥(+ ÑÒÑÇžýg9Û§¾ÜÍ·vÞSÓ0 ã’¡`åÒ f¡Ü?y¹äP/ª;€eC‰O/L º—žƒEõ Ôo$ùþs4Üû„ ÅŒ E©h™¦‰_W¨ó ðW·$,ZqäFÈå˜ÖåMV…ÉÓu_ù  ÅmÞú8‰@ »K „l*ËK¦_ѶÈg3[ —TPWWÇÁ쪗ÞË3?ùjd›Ãß\ Í6ŠRÑ2M“741ܯveiþ|=¢á›*Çïh™)…8t/‘€IYe ]Sqè^¢eJDw8BEz/îñå;']OBî¤ù—®ÜDf¸“þÁ/ßDmlõJÑÛE¿:³ÒIW‘ E©( !0 M…H´žÞ5%U±=°„tO/e–ϧãtt¦ï-Ì´‹‚B RÇÎõ: ‹ E¯ÞŒ, áþˆ\:Îù³g§Y·Š;¾•ëcѪ;صû.tU¡ëèëÄ«ncûÜÂäråÆ"CQ*JŠ¢P__ÏÑ£GG{BLtÂëõÒÔÔt9ºhvîÉ#Ì1:ƒü ëª š'Â#Ý=^:[º™o,‘ax£’¡(­ºº:"‘Â`ʤ¹‡ÃÛíÎå 2w^ðS}OZWQ.®¥•µµ72ŠRѺTñv<ï=©ÐÅ×/«öP†\1‘¡(­T*E(¢¥½Ÿ=Îp¦;N}ØÃ·v݉Ó霱x[Ø&©¬E‰WŸyãÂ&™Êá+ñÈ;YŠŒ E©hY–ÅàHšý§:iéˆ3Ì¢[ ¬d–U:㨳™êgß‘8›×-DU¦ï×cçGxç½SÜy×­èŽBÙΔÛGg\*Œ½È¶7 ŠRÑÊO¿}‚בO§fŽ¥žó¸Ž=ËHì/°}‹¦]o õOýøm ëQªÍ“ì;ÚNYÝJVE†xéÍÜ¡ 6¬©çgO>Ͱ ÷o]šíå;ßù ÁHOåb*Ó-ÄnÛAÌ9ÄÓ¯œäÁ]›pÉ™Øo 2¥¢eñD—jðÍeSïí¡Ú=Œ–éÂ̧fz3.n›SG$£qéz¶o^…XVž‘¼Çvîà—û¸ïXÁÞwße¥ç,¥u›pÊ@¼iÈP”>•‰MŸ.np£°L“‹+ Š6¶,lÅ‘î$—†¸¾SõOiG0ÆáÔ‰>º†ç2oN KÖ| K#¨C°&͹#ïq8TŠË¦µ£5ÞEEM9ÉÁVŽmfP S¿p{ŸúKþw6Ìü/µŒÎ9,Ýd(JEi¬x{Ù¢J–V¯ÔÇX.? ­gýï!™)w´Zò‚æ¯æÑûVc»Ëx쉯ÑÑ3„ÓÀç2)µ,¿ý^jjc,‹H ÞH%.Í&X1@ œ¯þÖrÜÆþØ\V®{„hIáÞf™‰7ŠÒ§’Ï?©ª:ýîh£úÙät:éììD×]ôga‚·5ž ¯¯ŸH$2¾ñÎ#¼øÚG*æ­åKw,BY¨ßfpÂîêz`4LmƒÇ¿h¤ È'¸û+¿Eeeu´ŸÆl¿ŸGŸæs(CQúT\®K7ïJõCÌÞñ‘`΂ âÃ#X¤Áyaj/‹4•õAòê½#‰Â“%~¶Ü¿i|™þ‘V®tßU7ô$ Ð}y†©ÏúHŸ‰À2d(J³L ø¨õ% %9›™ˆKø)U+•‹îÍý],y^[伎2–…¶]öò2¥Oå“W  ¯vW¼+SBu±FRYƒO¶“Lçh¨Ñ8'J:“æd?¶jËP,rWz¹ Eéš°„e[ˆY E€iY$Ò9šÏõp®w„¡dŽ¡ø ó* ý›-ËÂÆm•ëbN¸‘®#×p¿äUÅëKleú*ƒ™ÈP”® a[ØŠ9{_0Lƒ·›Û8ØžÂÈ¥–A³gÛ»¤C;±l¡˜…A4|žæ–{1^ÚƒÔ”-ÄI–sƒ'ˆ”-Ç«Zäó½t¦rÔç¡‘¥uðiËÄ骤±l.YË`$y—·ŽøaL5D­ÏɹáŽé^I×”PÀV¬+úc$CQº&lac ›Ù;6R°L‹DÆ[«OSí¡ÂEÍõb™9lËB(£§ÏŠm&8×÷>áðÇôÓJHמRø^ŠÒ5aÛ6Ö¬2 ¡`yª Œ’nD(il-N_¹¡!LÛÛBQ`q¼íÕIÛ8š:sáA²kÒkGÚÛÆÿ?œãrUÑ=¸Ÿs‰^ Áà-dGq| Sž6Ï"åŠÒe(Jׄ°ÅèÑÑ,‚€¬:Èæ åAx‚4t¼E|&Ø¡|ÖýTÈe;9“½ðŇ÷34qg¤Y#ïh‘f¢(ܹè!Ü^³Y½m™Ù\vôÑ„v(8Tn{ü©XîhÉ'/ ŠÒ5Qæ‹RZZ:kÍ™„œ?IdÚBód2I©?<¥T\„d³Yz’=—½Ž EéšP¦tÁ»þR©@€L&ƒª&4TU‡ÃÓéÄ4ÍÂ>BXôv÷ŠFЮÓ8Bò™iá¢Ì§3å‹NÓFºròŽIeù|ž¡¡!\.‡EQƃqâxa¥xæû?æ »ï£<!â×èhïÂv•P« ÞÝNÜ÷!‹šÂôŸzt{ØðÅ]”W{П¡gÙ×èÝÿÛî úÞ3üãS&·îÄ×–Æ£kè^?!G ë+yò{ÿˆ’£,¾Wâ,’¡(¥±vB¼^ïø)³ÛíFQ”)GŠŠÃÇ£úg“¶ñ; k/•*Ì„Ý××GUUÕØÂ…ÛŸ?åH¹à¯^ÄŽ ‡ª︟*G°s¶§Ý¼TbK6ñûáUàð0§Ò_Ø­Oµ7Òg%CQ*Z«W¯&OûZUUÁ`ðª}-Íí£Â}á±?Z‹ìÁe„­7PIc òªíôéÉP”ŠV&“!N“oÁV”Bã-¿ß¦}ö_ÏV‹©\NfJב E©hõöö‹ÅNeyùý ¤X¹ šuKêI&“d2JKK ÓKÁxùÎÅÆJy˜f!(…['/;óøñ”õgxMš2¥¢•ÏçIñÖáó:×OwD>=‚0s4¹Îãlþ9Fì/°½‹.,,,Îýˆ}¯WÅR¶,v1h¸9öösüæh/J&Åíw®¦ó؇œúÁ?àôÄxhÛBºúGHººÑ¯¼úcÎ'LÒF9·Ïïã­½çØ«æ)[´‰Ú=<{Já¡]÷Ðþñ^:ã&ë¶}™á·ž¢UŸÃ¦­[‰©}ìá{4›Ð.Ö®¨ã\&Ć9‚$yhëJTˆ×œ E©h†A<‘Á¥|sÙÇÔ{{¨v£eº0ó©)GlÎ’rxä^ý‡¢¯v ÃÁ‰}<ô‡óë¿ýdMÕU¶ÝrîGob.A61„ÙyŽ£¹:¾¹k>ÿëo÷`ã`ù]Û¹³Aão¾ó*ËïZʆ¹u„Gxº¥Ÿy7û›Û §ØðøvêB:ùÞV’ý½¬ºÿ_âë|¶”ƒöÞä½6›š%;d ^'2¥¢e™&WmlYØŠ#ÝI. q}-¦êŸr›ŸÓåAw9q9 3ŠC§¼$ωã'8?˜b®¢¢éܺŽË¥bÛcm\œ>Ž‘fŽŸ gò(¥^‡¦¢)6N]gàtæÜrªëàö5 p†*9ÙîÆå°8²ÿ0µ•¬\’'ŽSÚßKõ†MT6~Ä÷~cñíûÊËÈ–>#ŠRQ+Þ^¶¨’¥Õk õ1–ËOB«ÁYÿ{ˆDfR(*<¶‹€îå‹_ý*î ¸°ªï:¨¥fÁrêÿ¤š@‰“²{A+ òHx%Ž%8|A<éNœ;Gd^#M«—¡êe8\ðà#÷ • y:ñG*ùj¨—á´IYi v?Š·DG¯Œ ©C8}eÄÂê–ì¦:âcÿÉ6íX‡ß¥Îâ»ùù¢œQ¦ÝME†¢T´êêêˆD"ÀäzAEQp8¸Ýî™V•>Çd(JEküÔHQèJbY6ÁR%x<Ž¢(ê%i” E©h¥R)B¡-íýì9p†3ÝqêþµëΩÅÛ×l=ps¡(-˲I³ÿT'-q’Yt+•lòJ/„Ô„-—4eÐdæùu.ùš¢ =%$G'†P.ô{‘®?ŠRÑÊO¿=ÖŽ 0s,õœÇuìYFbí»ÐŽ@X)žü?ß%©kØÞJ<™nµëÙ¶ÔÉ/_|QR̓÷­¥÷à/xã”EØl½-{_âXGœ•[ ÑÕÅÓ¿z‹[·ìFïü€÷޶‘W=ܽíN~ý‹— Ï›ÇÖm[Éž—g~s ¿Ggéš[9ÖÜÇÎí·ÐÛüm¾µlhªšÅwîóM†¢T´®¨°JØì|üAþù¯Èýü5žþ»gœ³[Qi;økήnDécþšû¨y‡S­]$³yT#γ¯`[à·}ùw1<ÅÀÀy^ûù›„6á7†9t®“³”Ç·o¥DS9ŸIPÖôç‡öÓ˜=»û’yí}îÿ7_š½7M’¡(¯+oGàÆ­»ðº}èº M±hm>@ݲ (ƒ­Ø¶ÀápâÕhN'ÙáNøØ´z)mX"AδÇ8ÛM0róçÔ Í_ÁÚ˜›Ò€FçÑ~4+ÍÁæN|–É™ã'hÎZ„£KYUµ’ÿü×OS½íOˆôYzÇ$¡(©OÝŽÀíg×c»¸ì~l7%~'½ý#,|ô÷ WDPªÇv‡Ñª7AgeCy[ð AÊ݆Þùˆ³¦‡ÅÑ9lxâkôô ’·5eQ~(‚îÔ‰DBd{\,˜$2¯†•µUô{‡ùkîå±/Ö£sK³C†¢T”EÁétÒÙÙ‰®»èÏ>XhGà-E'èëë'0£¶â RUx©*Ô6Fb…Çõ%¡ ËyªGÿS†ø.ÌŒmf5æ/h¢aÙjb~4ê㯠7N«¬ XGhNÀëaâÏåñU”9ÇY®îû!]>ŠRÑúlí®ŒÍ]Â܆†IÏO7‚,èÞã'ÉŠFUmÝ%ב®ŠRÑÊd2¤Ói`r%¢@>ŸÇï÷£iWçWàJ‚L†ÞM†¢T´z{{‰Åb §²¼üþ †FR¬\Pͺ%õ$“I2™ÌŒ=\`¬nQ0v}O†Ùçƒ E©håóyGR¼uø<‡ÎõÓOÓÕÛÍ­u*¶5aôùÅÛ]-ï‘*]DC¥Ú×ǃršsÆÊ·e1öÍE†¢T´òùE—n<2¥¢eY&!¯ƒ˜gcà åt¢fGÈZ.,¡N9Öœnt]Ç£{ ÅÛØ@uÙýð>úð]¾ÿæ»,«¶)¥0Š,,“¼e#„i[ئ…¢yYPïâ}‡1Wl'¨Om±*ݸd(JE˲,ÜÐÄp¿BÈ•ÅJk äê ßDPyQ;‘X§C#‹ât8‰Ä"””–`8 Ž8B¢óY}[„—^ø‡Ëç²eÝ<õ;ñÙ9Þzþ)¼%A|¸Õ{ /ž<Í7Y…Ky¥ E©(ÝÑ¢©‰Ö3л¡$°*¡–îé¥lÂòŠÃÇ_Û…¢(ì|¬ðï®Çv¿¾bá¼IÛâ[Ë ë±96‡‡Ùõ¥/3·Âƒóó}GØñàýÔ{ ‰(Yn2¥¢4ÖŽàèÑ££½W–£“yuºd;‚+- ,ßü•ñÛPž2v?þÄ…¢pˆ7ŠRѺ>íFN]|òÈðæ%CQ*ZŸ¶œ!ûóM†¢T´R©ee!Z:úسÿ,g»ãÔ—»ùÖÎ;pjÚ„vbÒm€B,3‡!4<.í“gäsî¡–fŸ E©h†Á[‡ÏñÊÁvÚ{ãŒdòè™ÓX-‡1Ã;±GÇ2/9ÐEw<ƒÓá$Ýy€GBl¿s e^¹tœž¾8pzCõ<¦æÇ£æÊ*D‚¾ÙûF¥«J†¢T´òù<ï· ÓÜk£‡j:ñö5××bû#ãËÚ¹Ažüá/X±á~ùÓWÙ²yÙ¼‰…#Ç®oóÓÃ*»6Ìå­§ÄòuKØßãeµ÷ õl]!C±XÈP”Š–išøu…:ÏuÛA¢Gn„\Þi)“N‹í|Š!Â,\ØÈ»%oã ”Q¨"èqÉæŠƒhu5µµõœP“èÑ&o}Ÿç2%<ñ§±Yü.¥«M†¢T´LÓ/Þ»2ˆ´F~úâmÍWÉÆƒüð§ô&r”Ejxïù×ùÈoÓÑÒâ˜MÛǯòý“o¢GÖ°)&·8ÌHþVʽ…_#y=ñÆuÙ×…‘¡(©±âm·Kí§¿½;_Š\‡·læÀàä_ÕÉÚí²ÚLòã¿þGüÑFþð uŒ«6rþÐë¬Ü|?_Z1EQˆ·âgotó;¾ˆÑòìÙø6¥Ë ( ¶mÿ¼ÇþøÜD2¥¢¤( º®·#°µ­ÕDÑJI÷÷Ó××OUUÕø²Pˆ5ÅéãžG"èv (…ׄT-XKP¸QÕB–VÌã·¿ñÛTÜ£Û˜•oSº¶mÿü„˜¦9¥yÈP”ŠØe·#˜D¥¼²rʳ“Úš»”¹õrö››‰mÛãA8ŠÓ‘¡(­+nG0C¡IoÕIDAT,Þ.¶mO{dx1ŠRÑú4í¦^c*ÜÆ7Öš@ˆ±Tä)óM&—ËÑÓÓ@4ÅårM»œ E©h]n;‚‹/À #Á»·±zÍbœª@ €°9{àU~¶×ÁŸüáftub@2iý1J!Mã*ƒt6¥R)žyæ„|ýë_—¡(}þäòy~º÷¯OiGðsŒØ_LnG`$yîÉ'éÌjܺªžúîs´÷mÇJ¤¹wçÞ{îY4¿ÉùV7©ÁV~þË—Ì;ùâÒXé'7xŽÿûƒ_ û/¸ûÜan½o'¾äYž?á¡­+Qe Ϊ`0HCCŠ¢Ìp=¹@†¢T´ à žÈàR ¾¹ìcê½=T»‡Ñ2]˜ùÔ¤#;açˆg¨\°”ªªZ—®çÞ/ÝűW~È»ï½K‹UÅížN„´¼ÿsš»!VšæP[? ¢¥ØF†Œ«–XÍwÿæ6¬/ãÝwß!Üó65·þž Ä€¢(lÞ¼EQ.yX†¢tM!®¨`öZ|}Ó4¹sq%ÑÆæ…­8Ò]äÓ0¤¯ÅTýX–ua7ëテsÍx넎fÆië¢qÕz¾ýßþ–¯üÑÀÙÑ…ª@ 2Ÿ9ó|aq ʇ÷¢&ª1ÜyŠ£G|X KWðÌ·ÿ;qïrþóîpaNGeò€tí]ü9¼œé┓'ONú1†AMM ¥¥¥rÔísNA"‘ ½½§ÓyÙ뙦I>Ÿ¯ ›-‰D·Û°s8í.„ebZpWc š¦]}¶ó´·¶‘1ªjªÉ t‘¦„ÚªÝ=”Ǫ±RƒôÄjb%ôt´‘ÊA¤&Fvh˜Py€®î> #OYe-aŸ“¾Î2îsÂú¥wTº¦„äóù[Ô±ÿÛÀ÷d(J3ú´¡(I7£±P”§Ï’$IÈP”$ési¦r*ŠÒ5‘Ïç‰Çã³>à"}¾8ŽO]£ª*¡PhÊó2¥«NAKK èºd®ááa<Ï´A7Óò†aL¹^.CQºêÆÊaÑ4MØIל‚¾¾>lÛ¦¼¼ü“W5444å9ŠÒ5¡ªê„Ó·ûW¦tu¨ªŠmÛX–uEë\L†¢tM8ŽÑÿ N¾û ©èFê}iºû:°5,h¨F×T„m3u ¦>wE ê¥Ï£±ÏÆØ=ícsavttËåÐuX,vÉÏ“ E隸Šî!éÏÑÙyˆ7^™\ÝvjëªÐ5ØÿÂßóA_ ºSgãmKøàL–ûÖDyæ•fVαØûÁIlo˜/ïÜEuÙÕh^/«±£>˲ÆÏR„ìÛ·ãǰpáBvïÞ=¾Ž E麙ŠÞ²Š×M,²‚­‘¶Å­©!H °jãCø:_çTìSûxϪ 46Ÿ_ïy›†Ç¾Á明ª:.ñÕ$éBÀ…âXHÞ~ûí?~!6l˜Ô†@†¢tÝ\E…`¤O©‡`(L0\²Ã=‰+˜¹$'N§´¿—ê VÏáþèCþÕúæá½ýàµK"ÔÖÕSê–WifcG†c¡8|áp˜ùóç …Æïy/Ü.CQºNÆêÅ|e1Ü.焞'àÔK¨Ø$|AbáuKvS[U‰…e[wPðsßã¿Eow?¡¡Éif¤O0öy3MsÒ‘¢¢(lÙ²!ÄøìÛc¡8683‘ Eéšp8㩽Ȕ×5O Q·À·å´Ò Ü.,ƒ@íR¾­Á¡€ÃWFÍü²ë½ëÒMjb×¾±kŠcA96;Žaã(¥ëÊápLú€Ž™xw‹¢(”†'4‰r¸¨­«¿ävåÝ1ÒtÆ>g·-.ô&^O¼ìP”·fIðé?Š¢ iƒƒƒòŽéºÉår¤R©I—nf2v*íñx¦¼¦qQI˜¢(œ;wnÖç“n ¶mÏØËb&ªª‰DH¥R¤R)ùVºæÆŽú|>ße-?ö™¼èz¢„ŒL|vÒÄ›’ô)}Ò)Œ$]mc“É~–M¹ÿ¬/AC†|bIEND®B`‚pyzo-4.12.3/pyzo/resources/images/pyzo_two_components.png000066400000000000000000001303351421373005400237330ustar00rootroot00000000000000‰PNG  IHDRÕ•–`/ pHYs  šœ IDATxœì½w˜\Çuàû«›:§™îÉ3ƒL$@`„HI¤Ì [ieIN\Ù’e¿Õ·~^?­?{¿]{¿}òó>Yëçõ>ÑzVN”Š’h&L HD"Ï`€ÉÓ:‡›êýÑ=3=œÁ $ºøÓs»nUݺuÏ©:uê\¨S§N:uêÔ©S§N:uêÔ©S§N:uêÔ©S§N:uêÔ©S§NËŒ¸™FãMúm÷<ðN“ãɾý?ÚûB4Þä»õÞÞ)„ðOŽÝÿ£½Ç¦Ókº!‚áˆ?5‘Ì_ŽúÔ©S§N:oÚåÈT×u¢½ý¿¡ˆÍRˆ¯#Ä‹ºa4&ÚÚÿN¥]ÂAˆ×RÆM7ÜùÎx¼¾¦Ç¾òðŸ#¥¼uªS§N:u.7—E©!Š˜™ K )Ï‚›EÊq€X¼)xßGúšáñîøæåªK:uêÔ©óVðºJU3 %Ú˜hBRJ™šH&mÓ´I§F @µ-«ˆ¢¸óÓäÒéñþøÇ@¨Å|.£é:ñ¶öˆaxºhºa‰Ö¶ÈTr,k[–€D š®û‰4Sãã¶Yž™Íjº®Fã‰@jb< G½š®ÇlËL§Æ“¹7Ú@uêÔ©S§Îr¹¨RíèÞßyÇÝK$îá‘H™Ož9¸ÿéÏô÷œù…m™r:Ý wÞýW±xân@³-+—Ϥ¾„zm~ÁH$~Ó]÷|YÑ<64ø?óÙô÷n½÷þ¯¢ˆµ±DÓ»îÿèCÏþà+894xT7<Þ[î½ÿ·;»7ü‘¦ëAdyj<ùÓOýì³=§/TÏÛrÿGúBRã"áßÓ ½µÏ½øØ—þ­\:U¾|ÍW§N:uê̲¨R%š}{xÿçt¯çCB’‘ÈaðÅMwîyðýß|rïwî9wòµÓºa;ï¼ûobMMR8Ù§†‹7}ÌÍUèBˆõB(íBˆ8hª©ƒ_B+`膡ßùàûþcg÷†?¡\!DWCSó'î|ð}›ŸÚûÈzN>!Äf…XSb+D’K§ç2ió²µ\:u®Ñx"¦é†°SãɱéþÌ3¡é†a[¦™O&/v¬N¥XD© vìºãzÝc<(ÀºÐsú“÷?õx0ßzïƒ{ gËŽÝwü»Þ³ŸêX»ns,Ñô^“ÉÑ~öÇ{ÿ#à^»ûÎOv®ßð— ³‚Ê”SL%ÇÆöÿø¹í=~!º§ÆÇ~²ï‡{ÿl*™ìíì^¿±síú?BèSccïûñÞÿ8×ÜzÇ=«ÖnøœÇã½mÇ-w|b ÷Ì_¨ä Šmš.ôœù?Ò{úèÁçëNOuê¼ÍBÜzhk/RžyìË¿79<˜}ƒy*·Þûàɶök’Cƒ‡ûÊÃïXpLÊËZuêÌg¡Rˆ`4ò!„)ûúN D(—ɘ¹Læ‡ ‰Ä–X"q{,ÞÞzãÍ× !BHRŸ{æ$‡Ç^}îé/w¬[ÿûBˆö‹lY¦=5>Ö ˜–i¦“Ã'¶Þ¸ëA¡( H9úêþ§ÿ&94Ðð‹'ö•ÖŽÕ¿gxŒbñÄûc‰Ï×d)'“c_~rïw~€tëÊ´N·+ŠhŠÒ+³”7#K!D“J‡bèõŽÕ©³[SíBtÜzï?¦•”_Vf!Ò ‘ù\:•š=]¦ pQ¥ZI¶øaØ S¹ÌÔÄôñ©ñ±Rj"y¶©­ýÝÐ#š¡‡jsËeR‡ê µN·ë‹Y›BŠš}öBÀR†)1½aa:!*v4Q“çbÇêÔYŠÅ•ª`z-2=•L~ݶÌRåxµŸ»nÚ2Í Pª¦S«?ÔüýFF**W¯¬©VÐuC躬T‰3ÓÝ¥äèç'ß@™uêÔ¹‚è†Çwë=÷ߌF5£¢M§¾³ÿÇ>e™å9æW¢³{ú›îº÷7„ C‚{ì¥çÿ¹¿÷Ì~Û4íétÝ:wì¾ýƒBˆí ’ÓG<ÿÍž3=oÆzl:µ,¦T¥”¼üRÊCÏ?ýÕÞ¯× CÜv‚±—ž?’K§2ÙtêPS[‡# ŒD6%‡Ïkº!¢ñ¦:–,]€DVœÕµQ)Ýlzê¥D{ÇÇ…m;vÝyÃS?øö¿X–);Ö®[mLl˜šHö¥&’ãÑxSçlÍߤV©S§Î[ŠnÚ¼ïï\·á3€UýQ€`¢­ýRȇžÞûÈ÷æœ$DçŽ[îØ 4‹ŠeKÙóàû8wâÄûž|ôÛO€¤£{ý¦=¾ï›ºá¹jfü-{ÚÞÿÛOí}äÃçN;ð–^h·= •ª”{鹟5½÷ýÃBˆ¶[î¹ÿ Ròš®{VoÜò¢ˆÄÿû¿òðg>÷ôá®îõgtgÓmïyð¶Ý¸ëóºæ1£ñÄŸ „©Â-˲,Ó*±Db×}ù½¿8øÜÓ_:ôܾŸuvo8cx<»Ö¯ÿ_÷}ì¡ÏÙ–•ŠÆŸ@RÊìT2ùY¦µ`Ïl:u~õˆ6&::»×\¡œ=ó'¯>÷ô“pÄë=÷ýµnx¶v®Yÿ¾hcâG©‰d­GÀ2Íc=gþpàÜYíÖ{ø‚P”h´)þiÝП”wÞý_ w›i–O>û£Gÿ°n¹÷þ¿òx¼·Ürïý35>öžÔD²p….»ÎÛEÍ¿½gz.ôœùÓ®îõŸ× ÏïxðýHp­rù™_<ýóÏY¦é¦Æ“£ýgÏþášÍ[þ?M7V7µuþ­”ÒµMóB8𡝕5óG)¥ Â>–OSÉä÷›Ú;¶êº±º©½ã3;vß~ö‡_ýâ×úNœøƒÕ›7^7ŒÍ±DÓg…H$RºãgÏ|fÿýi%YÍ·ZÃ:uêüê!0xˆDo¿ê†›û޽üü‘gìwò™´GºîDuÏùìú¦”©güèŸ;ùÚ˺®kÛvîúíX¢é×b‰UÑÆ„A<oº` ÷ìgÏ:þR"¾ç÷?nx<;bñ¦îôDòèºê:oCUª–iºOíýη:×®;¹mçî Hv6zæÐsÏìJŽ¥’}?þþ3çN»oÛÎ]¿ƒ Q"_8ôܾÇÖlܲ5O4N'ûRZ¦9‘üß„þ©ñ±£Ó¯îæó;n¹ÍBl9‘š?,])÷=þý}G_Þ÷ŽÝwÜŒDÞ!’sG<ÿíž3'lÓt«uíI þÖôç·¦ÙêÔ©ófb™Ö Y6ax¼ïŒÅ¿'X»ùªQË4Sɱ§_}î™´­ÁÌŒ³ a4—ž:‹”X–åX¦Y‘K³[÷¢±xÓ‡îÿØCwhºàß¶óæõ}§×•j7‹FT²MÓ=wòøÁs'|=Ï:Û2幓¯;wòµ_›®ÿìé9nè©ñ±âc_þ£óÏè=•è=õÙeH˜JŽ%ŸÜûío߸XRãɉ|ù ßXÞåÖ©Sç—‘ÔøXþ©Gù·×î¾ý£‰¦÷è†Ñ´O[¢£ã†=¾ïö|é ÷¥&Ægvp©ų̈þH¨n·QbñĤìDV¿‘ôI¤DR|뮲ο–P¹1ÞH¬…¥Î­Çq¨ó¶EP;[y&+`fËŠœ—Å[û¼Eã O¹X°_øùã_þhضs׎Îu>ªÆ»tÃs­n«‰9'¾~5s@O&“ÿéÙÿHI,ÞÔt£Ñ²ÌñäÐP².[ê¼™\¶·ÔÔY WP¸¾y\rùÂð =±Æ/Du†qéåi€W¬ ìjqÞj+m;? \rùB ÅZõè­í@ˆ•lA«˜8¡•BšSÃòGŸ8»õ7@³&G÷}÷/Ÿ“圳¢e' *¦õKÊ¢*\5*v¥×ï´ ×h»¹í#€¾‚Ö€è\‘p­\|[±p†Îj.é|AE©‰5þJ¿“—X¾€™û¶’~+aF©^²FŸ.ÏO¥ï­¤î0«O¯Ä€Hz»¶ÂÛß1 J7H¼[3R¸ûúŸþð­šÅ|nß‹Ýëφ÷®®õë¿xÿÇêˆÅã«ÒµÊÖlÓ: %RÊÊÿs.dÞñ©‰dêBÏ™ÿÚ½yëÚaÜ´çÁ< ¤… SJôÑþóßÎgÒ#µçJYëX¹ðX:K1£T…' %Þ÷Ÿî2b­·!è`%ø¬p^ÑÈYFU©®L¸ ÁL ÿK°f„óŠž!ÁŠg<ÓÉ•éWr¶yË^ÙhbæóJTjí2þ¥ž/å¼òß”Áè[Ь´@¡¬¯QO¬õÓ ~ oM¼ÛTr,ýÔÞG~û†;ßù©X<ñþHcS“\éNôœý/?õ³ÏM‘ëÈHú,ˬ̦¥dÁq)yîG?xT€Û¹vßjºÞ.WÊs=gþá©Gù’U !Rãc¯$5ž|mZ)/v¬N¥¨ŠpAÓ‡?ûká«ïþˆàœï®—,áæ ¸K<{ñÏË¥Ön)Þn:W )¥,]8úRÿÿó±ÝH÷- "_}‡sLá­?’¥Ôxrr^䣋-þ.~¼ò^f¿¦ë1Qù¢O¦–‘ç•[d®ó+Ku¦*O¬õÓªØM•«²¸Èç·ªü:uÞo¤÷i XóU§àм‘Å6Mw|xpb‰dSp‹¯Ìb ÀëyXìܺ"­sÉÔ®©–àWU¡Ö™æJß¼•ØüàÕ«öþK6œ T!ðh¬Èþ+ChÕÈé+ÁW­û¥Ÿ.ÐAKH«Dˆ_ÁªAÄ«ñ¨+»ïBÐÖÎZüýócó5Èu¥R§Î%S«TK´’ve9x5".=ƒéÝÞ>}:Žð%&†ºrájh¢â¥´á*€–°†®ˆ WC´õ ׈W!ìUWtã‚־⶛£T/õ\QisC]¡‡•ÕûvénúRg•êʇ4Wl(+%H-< æ"©ëÔ©³³Jµ"¬æOøÃ] :#Ʋe@õªD¼êŠÌŒR½D¦ßÏäÓVèé#šRQª+r˜àѪxƒÂuæ¿+Õžéþ*ó+è§ôK1]çѽ~Eëuà Yu/+°tõeõ§Póù¢I¥Äí)— Å¥ßy¹šmÙùÊy¿ëüòP;SÓ™…€[W‡ØÞâû•W’z{ÕùU"¿`AÄ[0S]çѽAU_õ×]mŸ^çõýué³€EùzOšœ§T_ÿ©”R‚{¶\ZZ©V¶Ø”þeÖµ ,=\’J°ŠÑ%£ÝH4Í©/&''—¡X%•û¹Œ{*%•¥@{©”̶­Ëú]JIuÀ²œµúË1V¸¤<—½.¯üaæ ½_ðŠ©+ž:u®<˜È/ˆñ YžÂX1AEñ|nͪ¿]ïõ}P"BuŸ¯\j_“˜ñ´-eV—âÒ_µtmðú*Éßs­Sç­eƵؗ—1Š: oò—ðé[­UÖU–hèeXæçuånàe´ˆÍT ¤ "~[8ôÉn¯çkZÍYs\f/ê )©*ÄåTk~n1seRÂWý7]ÕEsCh‰š×©SçÍ@0|Q<¾è̱‰‚³@àÈJ0úËWª„‘5ŽIJ €šhzÝ骬ú)ÉR©j£}]ߣЬ*—¦c¾~¥¤„b©"µ®H¥·•*¿(o««‰¨t4!ü+ ¨/Š%GÑ  q›œ%x4T!)˘®¡ò{X8ç• S\ñg«!]›‰© ® ò¬,Zá"eH«€›Jâ-„/†o¼ÈY‚ÁÎJÔh¤&Må!vÓCX“yPŠ?Þ­Œ ¤[Ê€F14°KX%ÍïG( iJŸÎ²l+®‰›ÂJÛEo#«~)í2Ý] ù¦ê!êU)—Ф³&Žf yði ®mã(*zÕöïX&™|‘¢þ`€¨o~ÆJÞŽmQtü†Z½×bÎ÷–Y&“+R–á€c“9 BU‰G(Ò!—+b>¢> m+t%/3Ÿ§¬yyÖEº¥|žÉ¢ƒD ¨*ñXCYªÍ*ÂÚ±]C®cUë8›^íÈn¹@ÖÕ ûtpL²%ðŒª“‚ÄuP´™%”r>GI„üƼöyk¤;w÷\Þ\4nþo±üóݼ‹Ägþüuç­æ(Õe)ÊKPª²ªT—Lgš8c£KOè%Õ´ ö/žo!39¹¬|ÝL7“Y*×Êu[6Ò²–¼£ ¦‰´m–´{J*×]ž¿M±:z› X¦§Ž¢²¾\¸d¥*¥Ëùž!†KN¸›;½”ó9zÏ2d4rݪ1 –®E6•Âjî¤Ñ·øõùf`éJŠÇxÅêæ=×µ£ÍqŸ/`çç¸ÈÌx‹ÒKß&}>Dt×D±€” ,ÚØR"ÓÈ>ïºç¨jmóØãLl¢áú¦j©U?C+…Õû$nøx;À.ã–Ò+A€uá²ÇC4ܳyžÅE(Ž`ýVè~49LéàÄþš_[¼Þs®Y.8–ï?Îóc¶mé"lgyõày2 M$&Ns¢q ·oh`äµS¤ZºØÜDàpæÄYŽ”ÂÜÔaP´¼D¼‹9hJǦìjxåb÷Ùâôñ³sb\cŒsÔŠsóÆ ÿr4Éö® Za‚As5› ʹ4ûó·­n Ñ˜¾ŽÚû*qÊ%Jèg¾Ÿý]éJ’|ÿ)ŽYM\¿.Q¨óÛd!å\–ó§ûiݾ…¥L†gò\Õ"¦2“J#g8iᎭM¨Ò¡X–xýFe¥œgd°OÛ§ÛË)pìxž ›¸.v±ûweí•q‹^½¦£ƒe>áð›^§ËÂekÜåç[QªÒ²—¬¤2À¶—§(/A©ÊªR]ÂC¤Ä©Ôa KŽƒ=6ÎBkË‚|m {t´Z‡%òµl챑EÛKVUfo/8s¤Y wé3U¡oŽ#Ò“ôWËÓ½>ÚÛâL¤fÓD¼¹¼‰åTö^L\ô÷ôpø¤‚«ø¸jëºc^¢A-3=*µè;Ûlj±EfçövâJ‘gÇ:‘ÆnÞcô\/]Èc^¶lYÍš¨wnAæyÊc.þ[öà銀ë óCdö=k+ˆH'¡Ý»pûö“=xÄ(vi+²œ!à'X™”áªíkˆh‚ÂTdoûtÂá÷ÜØÆù‘‰-Hô¤8,@h[»˜8fQ©‘J"ÑÀúÄ8±­kiñMÏìÂáú±aʲMQðøÃ´¸y<Þ¤„‘¬µà°556z™5ë</†q9ËûWËÛj2Ÿ+qmRâæ ÈbqöPpìlÁu²Úì¡éßË©äb3O1Ç¢éml⺆R“SLä-Œ°Á"ªŽ²¥»Ñ@©±*ÎúHì©öŸpX»¾ ¿êâ¢nhfsq㇎2¡4ó»;éÞ¼ßp’½?=˶[¸¦58· £ÅíÃ)IÐ8%da =vjØBkn@'q-£½E¬A=g#K”€%Ø‚ºõ×Q؃­x÷üšîèaá BonD„¡e5Îô®,`U/F™; /•q'Êh~ªÃÐFp‰lÂÓœé,ÂßLãG?‰a SzᘧS{U¼×lCÕ$` ¶\ƒ/w€ü¾o`«ÛhØtW4¡y¼è÷~ié`j:jÕ´&tŵ)KÐMWÑð(ÕúM»¬^T7KÑcªW¦ÙÕ=í¹íâJw®eƬ"¨íSB1P¥KÁ©ZX® \í BóÐܹ–†°Ii&G‰]Ìóò¹)6w1ä|ÓtY?HÜPÀ,TN.E?A]¥ñÚmšGÒRæ´ÛÈžN_¥G‹¹ýZ…Îí[Ùµ:F£²<Š) Ö†T‚><9¥¦6U3[uuEˆùψ@QT¼ŠMe«ž‚Ç"Á•Çr浘tIïÿçìå´ K!.€¼…·öðЂYrOÉí)™3B`ÔJ]3Î*‹³ˆbvÑwRùÒuÈ,<Ê"ŽJBd8Ö›d}X# PlÆ3&Ù\žd*O̲([Ç´H[.Q)± Wó ùÉ`K³ì xý4«äÊ FÞàéBox™Âþ§P6w¢x}ˆðjÌÁ³¶°GËx×%ÐBP8y Óׇ[nE 6"s§q ”€!p˸“ç)_(¢㨾Î`e5„A‰I(Nb #§$Îd͛̀|ÖXšáGíjÆ< ‘Àòo" )•=¼µÂű°†Ï’ÄÌèøD iPÎaËh®ƒ´òà‰¡ÇbØ}ýÈÆmhÆyÌl ã ¨¡é$œ 9Ó ´PF8Ú7Nhb -ÔAHø¼ ã™™ÅÓ¬:wIJÅi#R}® Ù4I×O[Ø‹~Eܯ·®ô¶òѬSçMÅ àÏrzKðÔÎR u:î"Ðt ÊÌB(=*š×µè=?LÞxýa®ñj‹*U!;=ô¼v„Ónˆ›nÚÀ=_<äÆ IDATË e¦¬^zÍá®ë:hÒNðì+iV5FˆúйIž:ЃcøèX·C8œëíå¹óŒH ·E} SBx¯¾ç©ï1µ÷çè›ï%vûVxéŸÈeêÚ;†c(ëÖQüé^r­›Qc-¨Ñ.þ'È=ýÒÓBÃû¡ ÜžG™ìW16ÝOÃ]Û1J?$ÿŠŠÚ´ GÃ~•Ü—pŠ’‚4QïF‹¯Âëùé烄ï¸cû]Lîý.ÒÛ‰ÿÖ_GÑ&Q£1”i¥ªÃKîéo ŒÚº=èk:ÐÎ~—ô“}xÚ:Ñnª—ôOGz1¶ÿj¬ߪ$é'¾LÞXKøÞñµ7²=ar!•£ÜÂcDénMñìá“<—pÏAt¡Ð¶.ÁÙã£<—)r÷õkYÓÕ@òP/O]Ý^ü~±lG'|‘;4ÁäÈ({'È»)TG»ªc‘+”0@¬êˆ1|°‡Ç†®¿¥¨¦súXv2ÉÁ3c,8-BWµàÍOòüqA"%¨ºd'Æ8‘…|qŒW-Éîµ^ŠG­ ¬¾±Eõú «•é°ha}S‘çŸäˆaçÕí4XY6u·Ñ( œ=9BÑi"ðÑÚdÿ‘s¬ßÚÍ¿Š5xç/ ÷ܺ•®f/û_;C©)D$d`•ò¼zz’©¬Ë±“¸vQ—†æ8?=ÚÃäÚµìꎡ¸%&Ry¼«Vã€t)2Œ::‰Ð•Qª0ëVó÷2\ºêÔùWŒ”Xsž¤@ž¯~oç¶ŽÎO}ùy¡¨ÓÇZ‚ßüp7-!}N˜BÇ*’™ì[†·×ô÷µ{_á†Õ¨zÅ„øÙ/|‰w߸ŽÎæØâY,Â\ßV1ó¿œ9Zc¾\à-,g¥Æbù 1ÓP•œæ–&ç6ïìùÞ¶s|NÞóÓHjÖ=¤œ;S­ñ–[Æ&œª“…3 !V‘¾qRž×´yH¤ëÒâ8g»¶µà̘pó#®­×BÄtQ¹—Ô@/G5¶^³Š¸ºðå ‹w«Å<¿g¯ o›¹>ÃÕÿgN­9OÌ=§¶wÉ‹5þ¢—?¿?Î&Nöö’Ôb¬íh˜qäšÎ{¶.¿f¼8Þ@Åðœ3]>ôõÎN”«5Eâ:¹ ÿ±]åþ£Ç.GßÞ¸î/¶ûýQ1ýTz[ìã¿Oÿýøò¼ëÔ¹T"D» ýá'(¾|`z*AºGr¹}àLï#+Û§ ,-–þ¾­)ŽßFÓýËH_ç!Aó±zuˆ²TÑj¢eumÚJƒ­á×7i_ðÅëïÚÀMŸ×Ë _T÷+FEsÆ»ÖÑ x4…+Ù×…¡Ìz7\dÛ Sý©S§Î<¤i⦦æ÷Ÿ’ã\–¨ÿ:Ù®°:µ³VøÈï©ù{å‚fZ(ÌŸTÔºÌÌŸuÍš­/žÏÜS3^¢>óþ¾’ªã¢×2¥lòb,³MjYîÃÂ~e-—‹õ¡¥ºeíybéù˜ï¤ô–;Wö@­øL[Á cZ+'³–ͽâÒïGeHÖ˜fûCE¢H9/}­cšˆ%ò©ý,k¬c³u¯±xÔ°Ú@43}¯úaæ»Nr,~ÎEÓ-!—ÕFsË«Éx®ÍiÞ½^ìþÎUƒŸ\f¡„Ÿ¶ÚM['kúÂLýg]Šþq œÏßêT57dZX¡R•V‘ÞÁ)2¾8W7éPÊg82¡²©5DبT0Ÿ™âL– ›ºðÏ‹ðæîG“œ i—ÏR°,–~çïÇv$“¦ÀgJ¦_Ö3Y–˜Ž$U”MS‹P Þ½½‘U#9N¸v·z‰có”ÉU2i(¬‰éÇ%™µH;‚xH'áU,ûe &§-““~…XРŧ0–)3U–ø:->Åu8Ÿ²°ýí>A:o2RtñøtÚüêܹ*!J%›¡¬MQ Z":Q úS&&‚ _§Å+È,s}É"ÃÒ•Œ¤ËdmÐ U •jµ§%+®MV)—l³6ù‰}¦WJÆr6†O'^©T‰_ô¥ð47ÐÕiõ+L¤MR–DÑ+eY–ÍpA"mÝ£ÓR8¯¹®K®`1wñx4:#:›[| %§0«÷Ë´lΧl¤¢ ê4‚LÁd¸à"U•ö°F@H.¤LJ.x<:«Â ËZä=Àž²E6f[X¡X²)¸  ÍatÞÁ‘’‚«ÐÒê*w®ñò­>ɴϹe9súGHqÍÚXB`ѰGºLÔ¤‰i0’³(»•ºtFuìB™ÃY Þë ZƒÅœI²äb ÁªÏœ@ÓY:[Iƒ¡ÓT1pçö߬7~Ñr)-| TÄåB.2 jÍÈÛ)‚·…;wo¤çGßåÔ`œvoÕÅ6ÅBÕð2ÂÍrãΛ(ŒãùýÇ)\»1O( …– ÛYoOrú•I•®"œ{YŠæeÛŽë!7±/‘.o'¨×¤©Þ4'7Èé );®GÇ*“Ng(˜F'Rh®¤”O“)˜8B#ÞE8EF‡‡Ñãì^ÓAWT§”K‘)ZبÄb`I5šb…\޲$Ú¹žU™qzÒ6pí2É¡~^™lïl¦9!¼„çœtÊ<ÿR/ákoäÝ-’¯$ôÒ€ädo BPè9sœWœuÄô !Ï‚]%N~ˆ³çÇpÌ<¶”8å,cý§Ø¼ãNÔ‰Ó<óJ/WµnÅs¦ì¨Þ·ìÚÍÐé—yâÈ[®å\ÖÏî]›xü''élðáõ8›Ê“¶Íêz† Ú´†=ë4ö>ò#4£\ n±ˆ;g¦ sTãeOßÝE[p±Š@oI ÆG9[•"º§Qihdúõw’Üä$Y©Óì³+SðËlE¼ìêPÐm‡V¯‚P%;;|¬‹JtM ‹…i^œB{̃cšd]/Ý ΔEÿ… _?çâ ñ§wµÂT–oNs¾,¸nsœmôW<:kp,› SüÏskÖ6òÐV?O¿6Áþ1­¹?Üê'XÌó/¦°uMÝqêryòØO˜è a~wG˜­¡YAS™¼¹¼vnŠ¯Ì“UtÞwcœ<6ÿôâ©ÐÙå“Û<ì;:Î÷-´œÉÚI¹lñW’œÍIÈ|y¸A¿FGH%щbsú\’oœ±Èé šàÁöÊáø`0 w_ÛÈ»ZuZCéÛ$ap,Ë7¦ûÇÆ(»CË1b«4û7oKÐaxôÈtjä¾üý/¦€ã>qG+ÖXŽÇ^K1¥—ØÖáƒ[ƒ<{pŒg§\Cçooež9Íuy²šÆÓÚÀǯòµJ3ý££-Âïlεº,nE}« Á3,0 V,WÃPL&O’Žn¥M¤8öâ«lyÇ]X¶IªäÎTÖµKô—J¨æ$}'¸íÞxíåS˜mk‰ îãXÃ&¶Fs<5àåê„ ÕwvÝCK@›SUyæç)]wíÌì²V’)š‡U1ƒÌX’lÉÀ«+µY€EU˜|õž9;ŽÓ¸Óa+ç¬I¹ôx«é® W†ºýgðÓ3ïØXb<_¢¹”á‡{èÇ8_ÚÄU )A×!*3NÓÁ±ËL1P^O¤xž}§£üÞ½íô=HOçÍ<ÐQµÀÈÙòÛÄrŒeßti•ð¬æ]1üAßø)¦Æý8½§òn¤-æGµ]Ð\ÌBçuâzh‘nn¹ÁÏñ—^šiIõ}9ŽMy|Ó½jîn¡á6"] Ët5…È F‹^MÜçg•›$W2ñ45ñžëVñ³£jåÚM /v)…éá[AÀ7›]øál±œ;[*ÏQª~`N”mŸ¦à]äÕošªÌñÚB Í<¤»\¦§ä§½A¡8ZxKÏöÆ¿ÙX­OõØ¿ÙZ1ÝÐQ9¶Xš¦×AÄì®G!*‹xWY£SM1”-sâXš ‚5ªÅÁ¾{Öùéž?îVTÚÛ"üÍVxäYžËˆ‡tÚÊ’ÎåXãa ø¼Üµ1žv#ý<Þïà÷ª\èMqp•ŽRpò9L(üÖ»»Øê8e“Cg¦xpW닎%9ÛopJúù¯„9ùôN‡Á±¦":LMäÈ7Ò­Ù?ì: Že椹0ippJáwïYEkßß* „ªòÞëãÈ—Ò A•«W‡y_¾LÇö6Öûad,‡gM‚?kÓÈŒd8 «:ÂüZwÝ…xtq[¿+gïÃŒM¿ò‚áÇ f:ªP;76ps³APÎà€BÔ¤Ðæ·ø¢â?²ˆ#€D"e¥Ó*b6ØÂô‡i?×iG]WѧÓ-b™žœTƒ:U#kU&MRJÊ‹“½Sl[ÛÀÆÉ{σ 7lj :^äk/MqßµQv„½$¹6!C «SUÇ ‚˜qÊÂ]7$X=VàÈé ¾&6„j»ßtšUcEþñÕZ¯-Þ?ª˜Ne‰d¿Þ¿ÑÄjnºmû̬Ú)YŒ¿rÝ3…²úZ<Õ-Y‚éð˜!T|ªŠ.4bÆùIN÷F¡âÓTÕEQ‹ ú¥”„bx„Ev¸‡’å‚G`™EŠÒ hhisáÔ!ÊÍ쾡³1NÎK#1BQ:t‰•î§`:È~ï]wºƒU"E©½W‚`ëznܱ†®BAU Pø !V§O¸e÷FšœŽÚÕR\Gš”L»jí’Ìü«>pЏîÜç´2^Ô™GÕ ZYò%Ûr0½a<ºŽ)+ËIÓÑÅ¥ê\ä¸3æ9×>½Õ°vý[17­åîø*Î÷㙲†¶@^¸XÅ)ž;žeÃu×°* ‘q'-ÊŽEÊõ×Tf%Ðô³í06tWϤ¹ýî«güæ^ëëø_H‰=8wj5ó3Ó…,1\}=t‘ˆJBÁëpã–0V±Àð…QBƯÒÖ³í ¨Uá&„@(*íCS6Vƒ‚ŽX4ü¢kI&'Kœq™R4¶y W‚eº\‰+%¦éà xh Úœ·ˆo :+™r$1) «z½$Ô"û.Q# …ƨ—ÇKä…EOQg{ƒŸÐP™—FJ\È9”¥BÄï!=lS°\º@Ì¿ÊÂ4šaФ80PduÒ¢à“HW2˜¶H–Ši‹¼×ƒ® ¼ºàüd™€0y5†.”8*UJ“eZ»#(%jF©‹÷«¨_'–ËqdL%fh´F5Fr6ce—þ”…ÏãR6]lG’+Ú˜¨Hé’µ‘‡H9EÖt°œÊZn{Xçü¹2– &Ó´­-Ṋhš\Áf(ç6SÞJ'P„˜À [´xe Èø C¨UEq\úÓ6SEèOY4D5Ú£ªýCCTÓ!ŠF{D¥o¦UsúYõžè†JÏT™˜•) ÂAkJKâœk‘RVÓ˜çJ”¤1·”tnÍÞ|Ë•X  ÕŸ+F¥Š2ë ¥yƒ\+OóÊT3{n#€` @»w€¯?¶Ÿ[w®Å/j, BA ¯c}ãAþå{ßÇ6¢ìÜÙŠ_¯±F-ÒÝ2SçùÎS'pTñöÍlõkH;ÏXßA^²×³g}#3Èן<Žë?Ï™s§¹ïžw±*ìÖ¤iDÏó­y‘‚T6vðë[…ëûBaí¶fúú§H¯o%ªª´´µàß÷S¾r!ŽßQh ƸN=Ê“?:LIññÎwÝÍš/5 ¡yXmŒ°ÿÙ1¼†ŸŽ-DÃZ‹/ðÏßáÕ]"®ÉËûŸçpO}å$Ï´ßÎÎÎ(_ñCOñX_Wßt;b c§xöpŠ{ï¹iÁK2=À»¯Ñyâ…Ÿð´©pÝ-w±¶ÍG9Pâ»?ø>¦¢sÓMÜwuŒPØKnÿã|¯¼›=[[iô-öôÕÞ ›ìD?{Ÿz£q ·Ý¾©jmª™mæ'9õÒã°è›åÕ–µ|ð×Ò4x€/~ûÍ›n¢µ!<Û—¦Í㓯ñø3è)hœûæ^®¹õötÇ)¼ÄþÁ(;¯ßHd‰ÉŸ54¸Híåy˜™Ï€§sÛæ®O}ùy52= ïnððÍwò(‹°,“’«Vß§ HIÎtðÓ¦oéºX¦…æ­¼Oµ6øÃ/eçê(Þ4ò(•QŒã’´¡Á¸¦ƒ¥ª3N&òë´ÔšX¯•O.o2bJ„¿F“Wa(eR  …DHEuúsŠ¢è$ Hå-ÆŠ.BSi 鵚bµ~Å’ÍpÖÆDW•Ò&¦|:->A6o1ZtñkݧÓdF3eÒUaųtÔZ÷W2R›&ªc•+ŠÆk((šJ‹O0œ¶ÈY.BSh{¨’²iÓŸsªå+LdLÒ–DÑT:Ã:¶e3Vt…kÛª¶é%®ë’Í[ —$C£-¤2ž6É™.ª®ÒÔÐÝJ›©ª‚GQi ’‹”-Ñu–€Š.Χm\!xuÚ Òq™ÊZAO¥MçŒF+÷,[u“B¡1¨âs]P9BAÙ,ò— ¬Û¦KUi «„d0cQ°ÁÐU:"ÊŒ#}:qCâ³ì¢{JHR¹Ù>ÔìL8sûYPØ–Ãù´…áÑh ¨Œ¥ËäP…®¨1óžØ™­R2˜ª¤ñú*qªtgú‡ß§ÓâŸTôL–ùÐ×{ÈV<¤ªá›ÕàéËñ˜) ¾µaÝ—¯øsºs !hþÏEðž{+õ° ¤  ùg—R:ô¿ð‡´­¼ó†n¼B m‹\6EÚÒˆFèn ©+ÎL¹žp ·œc2SÀQ}Ä"~tiabàÓ$f1‡ðFð¨bvÖ„Ä*çÌ!_ DcÐ@H³”#+}D}:Ø%†Æ¦*Ö"E%ãÓÀšI£]fd<…+T o€DÔ_Qªóä…kNqôØ9R‘5ÜÒ«L&¡ˆGUðEB(…4S¹2–THÄñê Ò6IYöhB’š cJÕÀòãS\Š™4Y[ÁÐUô@QHS(›˜R%ñj(®MrbG5þöÞ;J²ì®óüÜçûô>+3Ë{Ó]jߨ¥– ¤A 1ƒXÃ;ììβËìÙÃvÎaffv1;°#FˆA¬ÎŒ´HBRKíÔ¶ººL—¯Ê¬ô62Û÷ÞÝ?""3\feUWu—P|ëDeæ‹û®{÷Ýßýýîï÷½øB!‚\?ÿ߸âçd/ºhœ‡ÜBšåÕ4Ybm1<åúÌ/­â `ù´tŠù4Ëñ$xÂÄÊŽJõ ®] “La…£hBbr,¬$Ñ<~¢!oIû+÷YÉ+ºH&±ÂbÆAM÷ÐÕ$—\#ž.à Eyô’ša-+ðû=¨vŠùå9G"„B !êј~ñKœÒöóþ£˜¢¹¦Z!~˜þÅ_ wúJ¸“é~=ÿÈ¿Ÿü²äŽãTAÓtj(ë…ÀoÖ…ž) †õ}uÞ†¡²¾}­*tUf S+;רôDUz¶ÈÃï3­= š¾h]_è ;­Z=7â7ˆÔ°ŽòKï±4vXµ}=­Ýù Buùt…-ºh‚Êd¢ˆ†4†GgÌS[ǾHý3X¦ÎXÕé@í!³†,^75o1E)iœk½ e5öYgؤ³æŠÆh[ÝXTbá­+ðjžYéÁ{ @JLLM¡3b²SÛxñ£uK[e“ñQvd©4Ï[—f}›s}œ®«Œ¶mäßi²T=Ñ$Ò0>Ö!ë-Y•«÷"ÚÆsš—pU@³tm²É.-zè;Ŭlùh:H;CÆXÿé GK¿ztyªÚºuÉò5óü覟¾úC9„‚á «ü­[ô÷v76¬.Mowã[W¿Ÿ¯ÆÆ`rz GF0t‹H›U?îÓP%Í ªm䈴¨M‚ë T}ÁŒÒÐjU££££ê‚ƒjx90Ôh1+[TÃG{GÝ$§™ôtÕ¾ºé£««.]ÍÀ‰® zºªéfë»Pu|‘N|uö¾`_] ¼Ð¼„+¢ûéêªëDéqbìŠÞÒ¡Qær¸Édõ\p>½°4Syiî!£Ò÷!ÞfZukãø¨ y8 )Y§{ΨT¿-}f!)ë6À·;Ùmþ*yÝ͉¾áaÞ¡oʾrW-Ü B³øÑC[Lè߇p% qä……ë…âÂõBó;îêvéTqþÚéU“YòvÉ{Äã 24"º…¡VÝêÚäªM¸Û„t²¬¥]|ßmfàâ8(%³¢[̳f+,ý¶ÎÄ-2ÄWSd]ðzƒDý:‹‹‹äm„B4Ö†RL²¸šC¦ˆXÄ IDAT(*þ`ˆ¨ßD4ºù€k3Ÿ(Xí¯øÐ¹.%‡»í¡ŠihÛ­Zj"WCS¶pt½3H»@&•ÂF+FòyÝPQØ™8)¼„¼æÖõ®3õógÃ\]uk&›I×|% I¡ªRëԌñdSI&“d¼%F%×)²_ãJÚdw·Ÿ îráÒ4ºe²³¿ë6üíBÚ9¾r>Çž}!Fnéa\ñ+ ¨Õ…4+>‹>!\^>¿Ær_˜oQß*ûþ¶ê(%k™"o­ÀÉ>…í/Mêá‹L.¦Ñ"!z<µ”h·‹w[Cý¾Aµwó? 4¿ï€õ·™Ÿc•‡yjúÿÚ &æ–QíìÚw€#á8²ýƒmÔòóp )nžAë}ÝA!eù¼Zª&ËŠ¨,¤%nf–³ ì=¶›˜*k4¡JÄÊB¶˜#ŸA 0 ³ºÀóKïÙÑI̽V_~ݤŠÏðÂsop:!8ràž>â‹ó5Ö¤‚éñòÄûßzóEþòÅ%ºC:½cGùÀ{v¬šC+ÏÍ.¤øî¹9ØOOP/µ½†º¯tRÜ5‰, Q¯õ•÷ãKݲٳژ5kVóÔ A‰Hâ­¹<#A‚¦²o¼ž¨¶Oëûh+M¾^eüì›t=ð^b¦‚t \¼g` JÈ«²vùy^yßþ’Ó_ýs,W¾~ÌPjT1FMSÜL¶!FUJ™¤$XÚ8Õ0¦ài§*¥Ëü\‚„] ¯–ܤ ¹7®ÒîÐP1„ËÔj‘" ~¯NŒ"sù’k½«©tû4L\&× ä\Yf9Jç\RB§·L è8¥4E)ðzuº4—™´‹t%¡Ð(õÃôjŒš¦1ÖšzÀ¶ðƒ…Mdê;±§ºáóñî1®œý¾½¤Ï“eòÊ/|÷›|G*ûðãô1yá,ß¹²ÌûzJöªB:Η¾ùË•hß>>òžá-Ò-¤ùæ o²È {Ë’bîúþþÕ«$D˜‡;Á¡®º97Ïå7_å™×ÏBl˜Ñ]‡8Þé²|õU¾pÎE1b|ì!’S¼òò\M{8úà N F¸o";xßã&…Y…‡vvcˆZd/?þÈ^Æ:|( \] ±ãèq~î„ä…ç/q!5ƃun©Åtœko¼Ä\j¸Ä+YLóåï¾A>›"ïJN>ú8¡ÜMž}ñ næMúû†yðÁCçÏòÌ›, ÞÿÔtéYf¯œâÍY›´4é=p÷âò2ÅjÞæÐÉGò˜¿Z•æÐINzgyîå \[³yð±'Ùá-0~úe¾x1AW7£»óøÍ«/ŸâÍ™4c'åDIfág/ÇYÌ¿ÿ0?r¸­Æl±0{W§¼ô¯½ÎRÏ>Æ\2jÙ g83“åÇ'Ÿbæòëü—oߤ»§ƒÁ¡ÝS%s7ßäs—^Gé=ÌûÐá«7Æ:ŒWi§Y¸y–/$É9.VÇ.~xàÊõ›ì9pM«õßp×V‘…Z#ε\>u5—_W_KNUëC¹Y”Œ¨û[ap¤ß—Ëy[>;ǺY™.%%ÅÜ*o]Iâ 94ÜvoCj¤$™-r~Õ%3³Èsž;¼P´x<(¹zy‰ö=½ìò×¶E+Y—‚³q%•s8?Wäd Íׯ}üônƒÏ^Ís<ªY‰³2ÜÁ‘ˆZrt(O=ÙTžOW§j§»˜ãëg„tI¦3ÌÇÆ¼Š)·ôb8…"W¦W¹©ûвižŸpøÉÞ<Ÿ[öðc{}|õÅ8Ožˆ0ªøÖìè„EÙëζ™˜ZÁñzø]Ƨ×x-oÒ#Šœ9•ãÃû5þÓ9‡ãûÃÄÏÌcîiãý!Égnx¤Ó )µxjW ·Ùd±™`ª²!D9fP)Gé•#\Itt?}zš‰Ko‘¶ûéìïgj Û•€C.½†ëãhg]‘(Í dŠnqto/Ï^å`\‡øòN×Nžl£»éyÌ:=}ì™&tàý±JvžŒÞÃ;ƒ¸Ëã,%“¤¯3eõ³×?Çøµ)Æú¢DªdaÉ'pƒX¦â ï$'yé•WBŽ;ŒãÚd“Kܜ̑Õ| 7a€Ó,?½£»¯e):)mffSì>2FŸ‘áÒbŠº;Ø·k ìbwo;1%Ëߟ^Àˆv1&r¼r3Îc=‚T|‘ŽÐñâõi|{fšàý<ç®.2jÓø§¿{Œ'ÊÞËËçæˆë¥oÇ(ù,ìêe æaæô3ÌÚö„9ýÆz=ƒX©ÜÎNv†ð{ƒ !FÒ…Ìì4W]—üÔ «j££‹á’˧q]PL±Þa¢íÇî`¸+×]t³ƒŽõñÚ —˜ŽÑá Õå®ÔŽ×&ŸNÜÉ­4®²Ÿ`x¨aPâìl©ŽUײ®;‘uÝuÇ„;ÚSm´ÜÔîc Uçàî>ìb‘D"ÁJ¶H‡O¿§š‘ßÒÙÓãa·PùËUo¯ÁÅ‹º‹’ q•Ÿ0k­« 1CÁ ê †4<–ÆÞ~û½6/_tX̹:—ÆÍ¨è¶$ìJj™R%él])‰„MNô(üîU•_ÞgáWQ¯ŠÏÒ «ØÉ"ã“I^×%~)º‚+!1Ù38%m²¶ÄÔH®$¹*%û:KËïQéö•_Æ¢ÃJ<Ëè@ˆQU!5—dµ¨áõ™n7™ö¸¼eK S#”Mr}ÌN‹•Ú×Ò ÝwÎ7-Ü[4‰Q…’)ë]ÖV!4“m]ô(kdo\¡èBÐç'¨h*–7@~ù"sšI,Zñ&­S…J,À£å×ï †ü0>ÉJW”ަ-Wðú|Dü±¶6¢>A:§ÐÕßÃ`ŸŸ¼²B"Ÿbrr–鬉mºø"6ö6Û¦8ùÀ^vvùÀZ!Íì•I¾‘éäèñc 4qKªŽ'B×6|Êo}]ô¨«¼6m#5?áp€Ú#~ôü WççQ |†‚×;‚tUͤ¯«ƒÞ€ŽtsHaÑ‹ÑÓñ33dºÂµiœ —§YÖ“ø=2EQT| ^¿A{4LÄãrabŽ›™–½ V2‚¨ƒíô·{›:€¥›´g˜ìêÁ¿œd)‘gG¿E0à'\惊Šé àñi‹Fh , …pg7;z:¹)Î`ÛÍz_à©3Jõië []%uí"EañûÖ¤¤85ÙŒøázõ…;tTÚ‚Q©ü{ÀgÔQdž5§1Hý®C”ò¯°ñX–Žo9Á% ã?Á*–c BŸ¡ˆ ¦ hŠ d TUA-3PŽ …ùÉa½(Šhl‡Œ…ùØz°sE ¶Dq]ŠŽ‹D-ÿËòtCçCÛÙíW²xy“a€H!ðùM~þ |õü*ÿa¢Èï<ŤT}·²7²¾e°akÐT¯RŠâ”BZ~ñX˜ï^ˆóÿ~/ÅÈöÒ®J29G×ðßÎé2-üÃÁm¹TÞl5îjÉ$ª(9ÀT¢ÀJ{Zû„š'ÄG?ø³WøÞ·^¦ó'žÄ·8ÏúÏÒû^ÙK•´îç§vqæ_å á©]U¡2å„R"MqÊï3”æ ¥w©X´u´Ñç=ÈOQ,êy*{º•­F)%²ÖaD©;Žçé@U6öPî€ F ud¤ìm‰"¡àº8 Õ¤Íc×C'86"ç*hùeâŠR¶ ”;·¸Æb2CÎ/к¡âT§Qtzƒ>º÷>Èã»»ÈØŸ©â¦À.q‰*]í>½yÿ±8YKË2›(•|š,ä½–I[(Kª£›hæ,'5öQ¹Ò÷nÙ‡Dáä)ºN¹ÛJùøÀæž¿5]VV($ŠÏÄ:yHͽå=ì2Ea]ÎT-BßVHM[q©§ÈÙËS¬å]TÓâИþv ÚFUÙl‘¯½0ËçóðôQ ®ñ“64'OúË~uu‚½Crn‘ó“^þ»“á2ó ë!‘Eç…9~küÚ“] yËA–òŒ„,:Ïm¤ùŸèdy2Á—R~~û=_¾‘$ŠÒéÕé\]ä7_°ùäAv…ùÝg&I 2Üæ§<¥—VJžsÒei9Åï~o… *Ý&Š]àKo¬ð­›iÄø<ï?åÑÿþÅV]…Þ®'­|‰¢°òr!I¥rüÞs‹,!òa °óÎ^X`¡»‹÷véx[RõÅ&§5ͯÞ%xEõ*unj£g¤P5,S-1™ÞŠ® _(‚æ&¹xå:Wf ˆÄYò{Æè×Ó<÷æuŠ®Blt³ÁURȬòê™i–×lN>ÏCFY¾vóóIlO?{6 ×,?í½ý¼rê5‡w²+dñ¨hŠŠnùñb#ƒ¬^<Çß>£Ò9¸‡vv4˜ SñYÞxëɴ಩sbØGL_âÔë/ò–iqèø1TO€Î ±.°›½šéÄçÏ]‚T–‹W$öX?mQ/¦¦ ¨:1誌±øÚ9^YíáàÞùÈ{shã!¯'ôù]£/(ˆ½R”õ¿Ÿ¾?ÿ ÆðŽòžjcèX­fó¸êtÕï»(k›UíÜ´~[ˆ^_™j}¨ÿ²Þû·1ŸZÏÔºŒ7 ™k^QåS•ÿz»ëUâJQ¢¶ŸÝÿõ¯¿ËØ£'8ÐiÐ’›ip•|jžK³¦5äÓ<ö¶ùã©õ"nÕ}VeÁ«?3ºYŸmÔgãÆõj•Ç£›J1ý©Ÿ¥pãzÙOUJ²?uéÊç3ÙÓ•äZ}C·‹­•>Ÿ§¶e÷B¡+\r® î\¾Èë7‹ttúéQ*µª¾§T=ÍÐŒmxx…|û3åA“H3`M&"õi¼ú:³IGå¤E¥'VCÎH[5ÓJ%ü½=\a†QØÙ^»âê Õ3ÁP¬:…®r3¼sÝ­{´½ŽUGQø¿ÿ¯Z¸{ØD¶›^½»hx«/4;$£v&Ù|¸éŒS/doÍm]Ö[•¼|în}j÷›o×5ýK–¶¼68¯7áG®«GuNo§iíjúmÓkMÓ6¹vë>Û¬Œds⇴¬ŠQЂàcŸŒÖ3¬‡-u Y»Ýì;!PëLiÃD ÜÝÁƒ2ñvþßRíZøþEÓè±íüž`ËØï·Itrë¸òí³m¦e5¤ªM´y8èmÌ%[²BÝN}š}¯<ñþ±µi«À]˜û¶ç¿šY¶JóvPOüPFºüY‡#Ü¥N­-ÜŠ¤C6gã(zÙü+q›TQà3ËBLÚd²6E ¯u×Ù5¶„X–ÎX•bÖ}-´ÐˆtÁmœä%÷šMé–°3k,&³Ê,C˜öà]b³rmfW2X†$_Péˆ$“E¬`É×`Ó:2Ä×ÒKk—f-«ÑÑÀ½éɦ¬8ÚCžm²N ¢±úP@ºä]0ÔÍ÷CïÒÍ_Ë¡Y:ASÁɧXXÍ•Ž˜  ›XKQÐ,)ˆøÌ¦aš•E•`(H É¾êÂÍ4ÑTKÄušê&ØJ¸gSI®LÆIú»y¨ßB:EâKËœZµ8>"b*¤WW¹6—$…ΡÑ^|Ûç{[hiŽ-´°},gÃ$Lq„Ô8Ù8ãßijãýµšˆlø¥É…M̽n1ž}™]½®N{ùÔ‡;yíµivò¾D#u›˜›.W¯gÜ}áNߦ¡Eëý*JòN)ÛEQ:À>—Jî5 ¨—\ÑŰ|ô÷EʤÏÊ^:Çsgmø0¦¡n?ÌÎ4)[Þ îeyŒJõ ܸ"TŸ“'™„¬Ç úßYG¥Zhá–”•j/º¬>ûÙù{¬ÂšåÏt£$XëP=Ë覟Øê›Ì£'c(rœtb«S!–âáž0Ýf<‘#ëÕ°te{Šemx,E1ðø=¤òdrŠ©äRIã Öl•°EPº,ÎÌqSORXŒÓ¾×ØþpëJ¯@·,Ô• ¦' ÙEº#cxeºÄ:TN¸YÔH…áH¢Y Y9rù¶­¡«Ûα¶'›N°²– ¤k8éy&g8ZŠÎP?]€tY\Zà T…FÖ–¦ª*éø óË&Z[ˆ@d˜¨ó=Þ¸O>|=+)äÒLÍÌ_\ÅèêaØ›æ|>OÎvPÏúÉ1·„”Ø(hºz Ú´SP ‹@¬ƒñ¹Y2¤˜Éè5–…@Qj’ÖÀuòdm¨‘•®‹=WKü AþÇ…¥õ{%•Þkð£ÚR Ðt?&]!ü¦ZZ¥©:#¸4¿BN±8Ú©Ý[F¥Zháîá² ßb–¬aTÐMö…–y65Ìž˜K`Ò\zýŠÑ½¼¯§›˜%wö[üýyI°s„ÔÞ†®n]”Á S€0C„ý~B‘±Ô·yþ…,j°‹=eõæU^»8EJ. Š‚cýff’×΀èå@ÐÚ&«@×=ødɃX÷†8Jòò™›­6~lg)¢±F²ùj–—ް ¢Ägõú8r´“oŸ:×ÏÁƒO>Å€ºÂ©7/!EÎ_qÁCÑ7.¼Å5Í䇟ÞOP¥½Ö¯½È'ÞÉh“Ò,_cþ¯¯ÅÉ=p’Ãá0‘ˆÁäAУAV ¤Ík¯½ŒèåÁ‡ôD˜é5¾ö­K„GäéOs‡èH鰼Ǔ³b˜·‚fXDb!@è>Úzwñò7Ÿã¢ë¡÷Q‚†Š7 ´Å&²cOôZÕaån&ƒ›ÉT× Ù™Baµþ~PDÿû¿n ø-!6‚UÿÙƒíü÷tÖ¬,ª•¶_TKþpO•Zh¡…Û†”WÂÇÿêg沕kéº7ÿðgÊOž{å^•}Èëéûü®±AŸ,ÏjG'}þ´ÎÎÍ•Ü"o|ýk¤Gàá±.œùïñÕKžzt'žŠ¦YS¹‰·i5dÅ#·ÊÉ·ê»u”Ù‚6¾tI-Nóíe‡Ëç©n‹\ â]ZÏ:D•÷oÅ#w}úÜ<uc†­òŒÞbjv küÙߎó¾Gv2ÜîY§@,¦ù«7×xïÁAúz]6ú´Æ[¹xúUN«{øø¡(™…I^îUöýÈ3•õ<𙕷ê£jV¥[>¿&÷Õs5zQW{Y×í©®§­ÍÄžŸgêSŸÄY(³•Ø”æ~êÒ•‡ßÌdköUËŒJuû@“£Të°M»J -´p_"k»díGß<¼ûqªÕŒJRJÜBš¹˜ Žr´3Œ%M$ô  ¥ÌüSºã¶Öëe¡R}¨ú®.q¥B¥ˆÝ âÑJq›b›á|3f“¤ ÷o‘]#ãTµòÒü)%BÑèŒú°tu½Ï¤ÍæG 5U#k'RJ¤“ãÔëowC<| Œ(ºA -÷Ç6[µí6ÅÇz9õÝxOik•I™É 31ªeí9M]Œ*l˜JÙº=ÛÕRës»7B¶Ùªv³Ô§iiÌ-ü ÂuKŸ:( Öw ͬ`Šá£{ç1>¼sãÕby4ön-ݼ‘N‹¼+…ß1ÝÏ?1Öèô¤è´ù¶ŸP-Ž8Yú½ü<¼‘NŽ>ÙÁ?DeÊÍdp³æ_ d'•qÝŠ¥;Úê”Å,×§ã$IÒ âHP ƒ]Ã=Øv‘ÄZUSŽ?ºÛ°ÉJAà)H*­•¼¤àHV³rÓ4-´ðƒŠOλHœTµmU?=¸¹%¦âàó‰…¼¨N °ìß IDATÌÚ<ËNXÈÏPq³KL­V¥Q½×B w Ïßê·EÂ5š˜mïˆü¡­«±4ÏÕòYºé¡·§™¹òVŒPú=Ø9IzÙ&di÷ö€rJçž>Ô§ ÛÝ–‚P%ôy KtM ‹Æ4-´ðƒŒlQ’+6Ì i Ó$ùÝ„Uþ¬C˜&Â܈²Q<1"Ùe¦ÇÏòÌŠÉñÃ; Äàæ ž?»H!4ÄÓ‡{ˆX+Uiv3õÔ—ÕB oRRœ¼Ù„øA^o–¼$T›.V7_íiªRr#„@k •Jg™.éÑï½ëùøÇ±r}Ê×>±¿tèÙ‰¾ÒµfiZhá²LPpîqÑzù³MEhUk|¡¢ë¦iáfRdò"hb˜–*H¦’8².M¡‘Ǹ…Þ6ˆ'—Rn©©6¸|i[Æv5?ŸOÔèÆ6©L{ìžk©›î4K{ëÒB ßW¨Ž¡!á¡t¶œÜ¢$·°Ê•Ë—¸´$yêɉY]â…ÓãtŽîáC;{0ìÞ¬JÓæÝFd -Ü&¤mã¬,×^ùéÅ¥‰f»ˆ¡ÚOݻԸÕm"X«O‚È'I5ú"úzúZháþ+Á©ªrãò»îq T;ã€i "¸˜N>ôÁÁõ)«Ò|Ÿ:µpÿ£þprQRU33…b¢YúÍ•¶*E@(〫®aE39Ø£á)r'4Ã}¥ÑÓB -ÜWÈÚ.¹j½’©+ò^ï©ÞB³ðÕx|(è†w‹4·ŸÚB ÛDépò†W¢áÕ 4(Qí7à#TÓtjÌ¢†3Rh&-—Zø¾C™}ýÝC+v¼…û nºž¢Ø„øî˜PZÚg -|ŸC6¥´{×'o¡…û n*…¬2ÿ–ˆìdÆu’ÍÒß¡PÝî{WïöÐÄ-´p¿ àHŠNí»ì²®,dïµ÷o´æ†îOس3 «Ïk¹Âüµ\swó;ªÙT’ÉÅ$o‰QÉuЬÅ׸’6ÙÝí'hHf¦XÉ;H¡²£¿ß­Ž–o¡…ÞQ]IÑ­, 72……÷zOÕ[þ¬C±,ËÚ$y -¼{(ΔÎQ­S%'/• µ¡0·€”.ós v¼Zâc)äòÌÍ'HQ)‘ŽÃD†ûCèù5R~ï Zh¡…·‹wÄú«–?P”Ò§…î'HIqjªFS%⇉ÍnÑJih8@/l5B( Žôà[˜ãr™@ÉòùØ9ÖÍÊt‰‡[¨*ÃÁ<×ofªÉ¡˜ºµ7q -´ðŽc“ãß¹=Õ꨼r@ËI©…ûR–œìÙ™ª‹¥ÃÉ7#~€ óoPB›Uh¡ZëÎ.]‡x|^a;äl¦¶vMZhá>ÂRÆnæ¨ÔÔ£±…~! ÜÕxí5pÿãâÒÍÍ‚¹+ç©6áqØJnͨäÚ6+Z==>ô|‚¥¼MÀRkmm¡…ÞU¤ M§…9ZÀ-´”Ž|sª<Ë…©Íˆàm†Ôlƨ¤j:mÎ<.-ã*ûwEÞNA-´Ð½@+ž¦…¶„ÌfkÂiÊ»)JqªMqg²îVŒJB04ØEWQ‚P-Óo -Üoh¦§¾[ïik~há~„[GQX‚L±Å6É+[3* LÓÂ4ßzîZháö1—,Ö_’”Ì¿÷=F“3­•Ö\ÑÂý7™l ~¸šÍ§®æòw[¨Þ_F¢M¼«ö…e3K×é·›ï6!›°u'ù4ϼ¡mÍòݬ-ˆfûã·(±i^UÎj›´w+~ÖMëWs{c]ïÛìöúl»hZ÷môë¶Ú|›yÞ2ÿr°›S<ÜSG%øù޶>Q'AµŽ¤û®óø·ÐÂ:¤”§§J¿W]ϸîLÖu7%H) ÕÛÙœ£èø ¸ŽMª(𙪀b>GÖvAÑxŒ{¿u2ØÙE„ ŽÚŽQM¾-Kÿ9Ùi2‰\tÌà,i'‘ŠEÙd}!mr‰k8ŽBSî´%.…µëä‹E|±Ý(w+t âVH!4Biæµ]NäÄÉ®Í`»ÞÈ(ªúv"‡‹8ùe\%†®×žhT*-G~m‚|ÁÁŠŒbh·vS“v‚|b ÇêÇã  nÇ–hÆ÷»6®C1ü›§i¬à-úì6!³ØÙY„9x{ýê,“ËHŒ@ 9 É„·]-‰>é@w.ôe'¿€Ô»ÑÔÚ1Þté³Ùzè.B ´Š`¯ wþ< ÿú7ZÊj ÷$nÜhð=0Κ¥ftŽøŒŽávKS°š:^A6•äÊdœ¤¿›‡ú-¤S$¾´Ì©U‹ãC!"†ËÔä<3©"ïìÁ·E~o•Õx1y‰•sDàgéë? ÈÉÈM¿ü§Œ_~—'~ƒÁÁ]æ¾I>p’@°›~•Ì‘n’å‹ÀâœJßÓ@›%Ò­K+j&½Rª‰U’Ëoý 3çÙó‘¯à5µR>Ui6ŸPd¹8¥Š©£lZ—I‘äijhÝàõÅÖï¥ó±Êk gíËŒ¿ô²¢ý|>o9ßý¯üS©dTÒnÖëê"í23MÎ÷ ¢íÝ(ë;t¥¼dî<Ó¯ü>+Y;ý-Bᶆ4¿—Úg§¯°ðÆï³ÜþKìÚ}¯¡PH]cuA¥cdtã¼Ïr_¯ œ&9}‰àèS¨Š(wi³>«\HìÍûl]“•UùT?ŸÆqâf¯“¸ú{¨C@(Ø(­ªÏ6î©”á S_gê¼Cσ?ƒGΰrí[h;?E›W7M1yWß…éñVîbýÙS-šª¯Uiëö,©›ÿ§í_ŽÄRY¯¶í6Øl˜Û³3¤ªã[háþ„y•­„ª0<Šbxj¸ê&+c‰Ä‘&‘€±n'’T̓UVXœb‘y#ÂÞ=´l‚•l#`ܳ™yŽ›¯ÿßÌ^¿€¦f0:t¨%°pÇI%TzÞÿEºüp(¬=Ë…oý+r¾ƒ»N2rìÄ/ŸÆÚý BÊæÎ¿‰wï'è9úK8/ÿízk +Ï2ýÆŸ±’‰Ñ}äWéîYq~.Oô©ó,ýCfæ3Döþ*ƒcÇiÛõ¸Éëå4Eìäy.?ÿÛ”¢{þ)æìf-=O®@•.mG™¶àÚs¿I¦àÅ?ø³ õ^cü­Ë8¹yrêq>™{†óßù¿ÐÛìyŠ‘ÿ¤N£ÎS\{•«ßùw,e‰ô·£ié‰Ï2~æ+8Á§<ü‚Æ*7®ýÅ…‹e€ÑGQ~¨áà¬2õ⯱¼º‚# zü) ñg™[ï_¡#ã/üOÌÍÚø{ÅÔ½ä¦ÿ3ão|‰}ôÿU:Â×ÇWèÚ–9MÜ$Övˆî£¿Lb®4e~†‰þffTg?ÎÀá%×>ûÔw¹ùÚŸ1ué቗é9ú)">{£Ï†~–áUf®.Úó!Ò¯ýïˆÒÎߢÏ$nnœ«Ïþ&霂ÕýØyhéW¿H®¸@6¥ûØ?¥-¤rý»ÿ3©lT›¡Áê,**qŠùSÿ†…¹¤ï»ùÜøW™xõÓd‘Hí}à¬2ýúïOèÙ)›Ôøg¸qúÓÔý„>FÿÁ÷’>÷o™™ºëÙÏ®‡ÿ%2}Š™Sß$ç^C <ÅàÿO½¢ì&˜}ù×™>¼ÃÿŒáûP„`.Yh|—`Š-&Œ»YYHdU$^ -ÜײD1S(Ll5f5QZš×¨I•+M3Fà xÈf(¿“ªª˜(‰2£’¢ ò¤’ äód½¾ÒürוÕRÓ„¹pÿC$œÇÐò³´~ l–®‚2D0dîô¿G ¼—pçLï¡ìáOÐ5pݢȯ°09…Çú g”¨ÂQ6*/“¬M|‹¤õ0í¾×Yx‘h÷(µ\©Ùo2—¤}0Krúï‰÷!TÕ±2?Erâ3XObn?ûÿ”Shí{ñ¥_ŠÉ&¯Í_F„Nf™ôøŸ’‹Œ‘ÏBÛ¾_$æÿ ™8L ãa|Áç ïùÇ´uïCm0Qëhþ=tÀÍ?Mÿî'Ñåyfçü5ÌÅϲ25Šo0B|2N÷® µchõ&q;u…Uí!:÷„(Îý—&ýñ‘ŽÒµó1òj€îCÆò˜8Î>ÚÆt óMbþ m.2éŽc£ØqŠÅ$µOèQ½lj;c ìû!¼žFó®°î}„Õù0G>× ¹Å¯lôÙ?#?ô›Xúç™zõ3mÝÁ 3¼yŸ•5S¡†ˆîø0Þµ«¤æ>O¡ð‹ä3q´±Oѳð’X<Ÿ"²ã#ôøÒ$¯}¶Éu°S—XÌDðwwá¦Î’XÇž:…ÝóËô«_`fP|´íúQ o>‹-% bµ£}àeÜè/jÛ’›`6ÙKÛÞÇQóo±¼2Ï™!µx–Þ'þ,O'F˳”.Þ¡ãWgX½ñg¬õþ¿Û|fh”´w˜.æ—JŸ-„4¤²iØ{ -ÜO( T\)ÓŸ^Xº±¥P½“üouüª¢é ym&—3¥ Íov‹i\;ðá:E4=Ú(X”‘]¿€¯í9.}÷#}à_3²ó –'H1´_xÄéaîÒwX³Î£õ¾CÔj/¸K$g_'™ à6F(‡ÛpOÜüˬ.Õ»Çqk–ÿnn‘ÌÍo°R˜CUTk™÷â Bæ"VH'^˜'Ÿü:«“4CEÑ:@Jtÿ>"ûH{³¬:ŠÙ‰nÄð„và ö4y> B ãñG0ôÁR[מ!ïtÒÛwÃó-V¯ÏãÈZäöÃøÞ&ùqò‹˜íGõ¶QÈÉe’3¯“ÌUú#T¼x‚]Þ¾èаɬœ&>s™ž¦ &€.¤,)+%sz(&†¯Í3„?ÒÝ|Z‹`øºÑE|‘hÅ+¤—þŽÕI«Üg]µ@û‹oü:ú:þ`;ŠÔnÑg6N~šøôKs‹238®D³ú wÂ'¬Æ—)æÖðu~€p0ƒ’üF“q^ÄÎNš{žœDAg‘|{'¬L±’PAè˜Á!tã•u¡®ZíXþ6dxÞ@;~=H ûZJa|e ÓTѬ‚‡Ð¥ù»©ø ÄÔÂØS_$›ÉñÛrÞ»ÛÀÎ-¾ôH0ðÕ€¢ýˆµ¼šj¡…ûR"sÏ&’t%—¿¼UÂ;ôþå×JPhëé"”Ï2;½€ßÔî-ùƒ,`§Rx¢&9«ŪlWÕÐMbÛ£í½ ïú3Ù\!PD×.‡Ox/íÆo0±öAFö "H\¤tKB@‰âí%àù$ûö âÕ²SI5tŒÈ^ü…}xì‡ÁÎ!L7^¶zI‰Ð˜Çéïÿ·DÃ!(,3÷Üo—k]þ§Ñ'é8úQºzÐÜ$nò¯@hT?!™Ául¨ðB *v6QõñìFsŸ#™Î⛿ Öá’ÐRTJ9ßúvi(z\b‰b ñ HßGðÄöðV÷‡‚[]–œgmæ2úÞEtüç™q¡â¤pr‹8mí*×R–·£K{ŸB°WK×ÕGˆÒþiÉêž*í7j´àƒU}–FEVÎQèûeVÆ_%ˆôoÑgn‚|üE¬áŸ£S9ÇÌK\æ¦U×Û…b¡h*Ùô-Evqm¤~pêhf'fÏ'>ø>!Š8ã_&_Âç)v°¾KÙ.*A "„†ã‘((†âò[»{ s õ(ªRÈ϶ÉëáfÉçÓ™Œ‡ UÚˆ)8M¤ª”M³º›¸œË'?~ùÚ'ÿygçc½†j‰Ôî{H˜*fÿ×əҮۋV;&Ðt?+c!ü¦ŠVvôX˜[b%ë ¬0=æ½%PÌ(VøFÛ^ry (ÖXž»Àò…/°º¶‚¢î'2¶EèÇž$9ó5&27éÛ÷Q4oÞ®½èþ}˜Þ ²0Çìù¿!™œ {þ/ðíû ƒ“¹òW\}QÇ×û1zw¨›ÌTü=OÑ™ø[®½x OÛ{é;ÂÒø·XËCöÜèÜù¡Ÿaò­?fM±bc„Ñó9&¦4ôàzû»ðø£(B ùG1L/£=,ßü…äôíþ¡¦Z°†0• Æa¢=WY8ó;¬)‡ˆŽ@U xýa4u³ã44ß(Áü³pÅBÑŽ1bø†'_ÓûAëÀôJb_ÄðźH\ü#V}{ðºQÌ.Ú­ ,^¼Š¢xðx(,?ÃÒÕïRÌÀ¢L î~Vp/ý+LœóÓ5ú ^¯¯¡Vf`ˆX×·¹ùÆçèØùÞŽáT÷Ù¼ÜÁÀ‘'É]úsr©y‚­ûLñc’=ó9òªŠÑwU `ºÐ0±¼ÝXáv¸þYæ– ÔØChZ½ýUEõí¢Óó §Ï°htÑèçô&qõO˜ ubú…f/Dâ:Ê…ÏØ÷ ¼Vfôæ/þ)ÙÎ÷Ó9¼›žà7YºðŸJˆî½¨Ùe<‘Í-AÂDóö“›þæ¥2ð „|F) µ>NUJ¹úÜg§ØÌrpq9WHý‹‰É¯BËá·…û²îçVÖàÁpÿ¯|愲§¼¿JÀTøëŸa$j6xµ:Å,‰•ñmÆØÕjB‚Ñ!TÝs÷N£X‰¬®X/¯&Mõd±¾¿YñÒ-ïuºK¤§ÿ†„þ^Ú»†ÑEÐuÏЪ|Öc«Ìs{´ˆÛj”$æQ"aü¦¾iº;™¼3ËS¼ôw_眾›>y„±6ÒÉpáÌy¦»xj4…³WçIźØÑ©C&Ëç>xF¢Zúñz#* 7µÊ+oÁÞã‚2Ϲ××0÷·³Ó'ŽC.“GXL] 6¥2lhYYxUˆËÌt‘H›ŽÇRšKµ:H)qòÉåÁÏz öÊ›œÎ‡yô›÷l]^Uý1åk³|ñ™UrŽ@÷š|àC'ÖÈŒ´s4r‹gÒ@ªQSRJò9WhxÌ&yIIf5Í/̳0ØÅ“»|„í- ޤØ(T3åO -´p‡XwTÚîœ,‘ÌÏ'Hä d”Ò¡¢ë„ÛÚ‰æãÌ­e)úWW ÖFsr¬åŠÄ¼z½ñóÞB:,-­s$ŠnÑñ°2?Í¥séðˆË÷.«~ JOHåR<Çüb–©¬ ±yéÕÉ\©]í1­ÄîIµ9`m%G:ï"T•öv'•cüÚ y_ˆž‹O!]¿GE±Eðú,Fw…¸™p)–ŸQ.™c-í <¿Šþ޾x-´ðƒÛöþÚºÚKó\-;ê†EW̤°–baUâ8ÓÃP؇Q,Bÿ{o×ußù~ÎÝ{ß±$‚;%Q;7q‘e›”%Ò¶ä$Nìrž“TMòÆó&õ2“I¦²Ìd6¿LåMâJR±ó’²Ƕì±dŲd["%‘ZHI”ÄEIpH,ݺ±ôro÷=ïnì @”DRý­êûòì}îùó;¿ß÷Ç+T‹¹ ?{þ†l…`¬…Ïlm£óôIë$–SX}Ë–ÈK¤|«X.Ñsê Š i‹ZDÂ>z+Ž®ãÐÁW83Ã5ÃìùÄ}¸ ª¢¢iB(„ÂA|z_¥vÉÈàE^}õ-Nglj[×pw«É¾o“.á1–o¸—uþQžyá(YiQÛv ›ÔÃ+M³hH„ð*²”çÕ7¨Û²†z_%~½ªâ‹0} *P¤¼S¦)¨úϤøùþ!\Ý¥è‰á–Jœ<ÜË;Ýp{Kˆ:ÝåRgšW ¡^€¶5µl^kñÖË=œìspMƒïlAá¹§’ˆˆÀІ¸o{ ‘)“¦d—8;À;ïfÈds,YcÇ:ßîãà»c8–ŸÍ›cÄ Ž4*9޽=ÆÖûü{<Åë'r )‚»¶Ô²¢ÖÀ[ É64/§‡"P½u¡^†F/QÄÉæ9óÆE.¤‹4ßÙÄ·xxýÀ%Φ\ÓäS/!á›îS*‹E<ÛÅ¥Q#èåᇚÈugxíP’13GK{Œ;–ë¼pV²e­Ïð0/èlèð›¨z3Y*òîk½íÊãD£Ü¿)Jsdü5Ÿº˜±™¨^¦VQÅ5Á¢\j4Ua&·‚,9»è’hô¢I¡ EA PtåûĨtyH))¸-+¸{M^SeõÊUŒ¥ò¬ðãDtÈkì=1„™+ÑÝ™çΕ&š(M6T–¼Ä¡® >KGŽôr>=†9ëž“Ê äxKœ;þ6ûºó, K.ïäDl5Ë::кO®Õ99ØÇÉcoq"¨¥ g½Í­k$‘†Õ|òöföýð åšii\ɲº«·ÞÉÚÆ0ŠÌQ,jàS[×Pç7çê=RJ\w¶]ô,ˆÉ¬ëd9£7³ÚïŸü©TH}äòãìÚ\ì²iÞ¹œMJ??{KAh÷nk„gSåÊ•¥+£lÎÝÐJC@ãl(Æ›|x†Gx¥;O»á"•{Úèã÷Ò“ªtÕÒ©_UCÓ)‹Û¢´Ö¨8Ýݼrd„’Gþ˜âK!vßž@üèJ^îýD áˆ`í­%ú³|fOVůØl¨aÝ•Æf.Ì©þ¸?QÕk²ô–&ððÜ›yz“E^?_Àëˆá1ºÂ^cš¥.lIlI”õëcMA°-ÌæB·¡™%5å¸þ‹’Q‰4ʦF‚¦‚=q¯-±GòñÀÆò¢7NmˆÀô°úŽÐ]’ôzÚðè¢rk*'Ù~P¨_¶–õ­ ºB8âãbJÊÑXWö•´ãÂLJPL/ ËWðÉ5‘r´gŒ>GAÑTT(IËǽkî¡Î§#P1z_B:ªhãí¥âÖSöù´XqËz½=ìÛw˜»7¬cyb:}Ÿ›àôé $GK×ÜJì2'Õ©B ¸%Üq]ï4Ø)ÂÍk‘¨õRVÀu¢ˆÊæbÊ@åZŠIáSü‰Tãyd勪«hÚ¤¡—[,16âà Yh ¿¡˜RG¨.Äšõ‚ÂÅyRRpWb%¥Ü7ä4o•™®9sm>¦¦™oH=UUðùŠ® D™I«veœÛÚ¼„ A(>U­]ίè*[?ÖÀÅ®Žè"ð±%D” Éĸñ›ª±¶ÎáôÅ,Á‘ËWj(•ù6þA‚·1Ê«Ôx‚ñ¹6]àºwvÛmÊ‚õ¦G8Vci†Ñ"Ê΋X¡*f‹’±¢c_J§’ékÛÊ*nDL~/^E IDATÕiV›óš^“~™£Ã#œê¡u™»à ™*>'G&#Q<¾xøýeTš‰[r( ‹X8ÄHÿì’ÄÒT,Ã¥·5&dZ¬ö$y# ÞÕ·b(ŒŽJ2\Ô {‰y”² E\­,ð„["7œ¢»ÇÁò‰ Òƒ†sYÔ¡! FˆP4ŒÕ›¦X ¡«eÖ¥©'Ýò«¯¡«Pı4tEA™*œ&^sAÐtL“ô™Äƒ*Y¼á(¾|9{6¹‡XÂÆ -ßçkÄ$T“Z7ÅH>Ę‹Åp³úû²(9•xÜÄïƒÓ§‡é¶rŒ¼P’ Î:؃y ^š¦`X Éþ,–â!èÑPS#ô\p1²Yêë¼xJ6B™ê"%ãà‹ýܲ³„W€"ðº6©{€[?ûËÄM!$é³/óÂYƒ;7ÝAƒ)¦œV+'¢R‰Þ¾»¯=#¿ôNúG‹“¯’,u_øÚ7ºŽt/h2ÝPìØý¹-­«×<#ÖÄá`1^Ó J}»ÿôÉo}ý¿,<ú|74À¬|&`¨Ê|¶32j:ãJGÝ´ˆš3.Mu“€þA\¤º\|÷§ÆÊ*?@µü4´¯`eMbú¢¨hX(õ~ ÒÅÎ¥9}n˜pýj¢•x¯–/Dý &<8ÊT«ˆ²40=M<–˜Ñ.ƒ`$NpÊÀS6*²*Ïêjj¦¤ð0Ø,› qfùÃÔMi@$ãò·œ³1óÍ0ðù5^|õîY¿ŒÆ E¨én¥Ÿt:O}­g6]„ªRß0c€tDÝt§”X|ºñ€î1©Ÿòزð†¦$P5¢‰é: ÕЈÕNæz¦ý–ßœq·¬V&´B(^É«(øc^®ÆÜ- á§1ì™nu|M'<Ñ78®j×Užû#ž+Ö-…D­wÖsÍШ¯W‘²¬ ïíÎ0jx¸¥QCPÞXÔÔÍPí,¬À¬¢¦!ç¸äYwªcÜì.5ü¡P­åH”‹q—ž,ªœ»r1¢ ÁòkÖÎ*nXL®V³¦ÖÕæÚ¬åviÞ(4._K]ÉA(ú„À˜Te_æ­)ÈôœäP:ÎÖ•ñÉETº”\U5}š.“Á_»r€‰{ÁEcJ9ãðD¸÷áÏ•›îgIë\Ëÿûihn|°ªÞ(­·ßÏä±åêõ¿wË<ÆUBâŒæyñ¥ wÔÓdÏóEÎ-æ4`s¹ÙɤäÈÁ—^ÛÞðÈY!Äx$ƒy¢˜s9ˆ²7{5„],ÚPi1Ú÷a¾;ÏvnO vþ‹Œæ%Ñv7_j›¾0•J²#}"KßSÓ®]9ecLU³®’raåLn>ø»ŒG˜žÁœ4di\Ÿv½.1W`fšÂ#5at6=/“†CW†ãœÓã•L¯ëÊY'Ù’ÆÇÓŠøyôó˘`±zO›¬9y3>jˮΓç÷>þØç×Þ³ñ… &.»8•ë†i†ã‰UÀÕ­ýªøÈcQB57:BWr„¬·Â¨”¥»o˜aÇ%‹±$ê¡0:LWjt"Íû…¬—(å“á »RƒnÖ%ª0ÆË/¸«–/ôൣ£8B¡yUœÛÚ=ÌAX5S¶ýïíª"àæËÒ$+$&§F0뽄ýãÒr:{“dìâ0c/5A QÌñúëYîˆQw•7gj0ƒÜP–7Ò ëš-‚º˜W_%Ðaƒ:»¶P*+ÿt6Éù²R͆+gþ<³­nV[ž=qìÐÙǺ<¡5 Ím5woÿøŸ«>È6VqãbÁBUJ—¾Þa†‹6µž[3%4úx'“§!b–Y—ŠÎdškßö*>,I±PB¨ ]‡³ïŽRXRËß/ž¦©Ñ@s(ºeG xÜ„b‰á´M¾$ð‡L‚^e–âÍ-¹äGm†ÆJh¦N4jÌ1Vè~“°Å\»GU÷šDý³mteÑ%5Ç‘ÍÒ‰‡4ì±é‘R׈„4TÇæÐKIwÄhoò‹³¬}KN‘“¯ö2´4κ¥~¢¾C©^R´óœÏY$j­ò–®º»‰¡à­œ'® L’J ¢ >êë l7ËHÁ¦çÜ(=”°¬"EÝ¥8Ç¢>6b3³¤É‡&@Kt]fÔvI§lòŽ…¦kÔ×zñŒñä‡(ʦëB`y òÉ!z%45‡9×'T,R*JÂnÙªØ24"‹xؘS“¢j*KE›$¢Ø6–Ϥ¡ÍO“ªrqØa$ãÐu¶@ΧPÌ+´É9,_„ Ú襱ÅÄVr e‹¨Cct^´éCN‘BNÁ© д$@ƒ¿jÐ-1œû6ʺF†R„¢KI‚néD½ ª#0,ƒ†z/~ òc¸ /õ->Ü#ý úð1N1õžxŽ`ñÚ䛺iê[>¹gkSDz?3tãjåîZHY¡ƒ‘2—N&ÿ! ŸÔLã/.[ÅGà¦Ùò{tÏ} ¦‹Õ’S` •&ˆóës¦©â&ÁÌ{PÃÀ#$‡]Œ<9©RãäJE«¸ÕK‰á7éXYǶ& $hsnç$TÏHÀ+Ð]0Øq‡3'ûÊ2[U(B\†³W`†¼Ü·äõ×Rüüd_Þ¡Ú›ï‹RE PBef¡™Bp)”«ž4'IR½½¼Ò9‚Ï?Bo ÈŠŽ:"ÊÔ4UÜŒš—Ž¶až}ü…κ ,µ\.ŽŽ ªIë2//=šoKnià{‚h3&Gmcˆ5çzø‡è!Úcû¦ùóÝ|÷¶c¢*åy9.<æ¤<’.#}¦[¨DšÂX >Úº/ñÃožÀµV[ÄU|;î±0 Ð[ÙРby6ïhf¬ šŠo–¡»ÀõóÉéå»YE%d©xokà‘Ö"ºGAÕttMå– ´Œ•( AÄ«@K”OÅ¡à.o§hÓÙZÃÖ& 3›ãt¿ÃíM¶ïôNl„¦²îžzZ²eã®OEøB|j— ŠÀЬ Â…9Èôdù®ðæGY˜†oÛ¼mWs[Ç Q¡*¬\_LœN¥;ÐuúÔ×íûùÿJögÆóWQÅå°hJÞ«2*ÍHSÅMˆŠšT3uõÓ•Âã_=z%¸B¤V»"”P¼aÞI2)b53X†¬Ê”UUÂñ¹Àš¡ÑÐ0}j›~“ú}Œ€Eí嘇*.AªePcMJÊ`¸R§eN°_EâÞ+öKÑUbñéýPý& 3Úã Yx¦2Li:‰Š{r0¤´Q<SAµ–&0-¿j_žgz9Êt,9îhcöõ‹¤l¨4Çã¾ Æõ !Çf$‘X¾~Ó¶/Eâ‰ÝB(KÆÕ¼¢rq*å$å‹tef(ÕÿÄáýû¾ÚÕyêDѱçÞIÉ‘ƒ/¿¶½¡qœê`d4“þA•L¿ŠE3*êbÄ_ÏÆf‹BvŒÎ ) PÛXÇÊ„EOO?—†mJªÉí+›ðÍ´J©â†…,ŒòÒóiïoáÖ @ºE†{ùÉ/‰¶Äؾ-AX<=ŽŸ’&–1M¾MK3ÒO’êÉpàA0_`ù=abJž§Ÿî¡èñ°òÞF6´(œ}»çŒâYRËÇî ÅæÙŸ]`Æ5õ|âvª˜”ªÒ±é;Ý‹SÛÀ’­ì71“¶oVË<̧_ï#µª‘íµb¦œžèC)W çdzؤsÈdžõÔÂ÷õp:«rÿΖF#ÓÆ,NÈ™šf ­1•ÜÀ?=§òÉÛ‚Ôx¦ŸŽ¥”¸ö(—N¦?|·6Eðª%Î9ľ“=ܵónk 2—üŸó}¼¢ša¨‘xMͺ»7ÞßÔÖñ%Ý4Ö Ax’쑊šwÊÉTÊœ]°ŸßÿÓ'þ¤«óä›E{ŽxŠ30êü#Ãé¿ÞÿÔŸ}Ÿ»WŠͨm·f¾MWŠP#‘”¤I$`0Zyfú¬Z€lÇlᣩ¥‰é04$k—ðjÚÍðÎVÝ 6á!j²ÄÙ7zxñð¶æÅ2ñS䵟_àD +âS÷×0Ú;À oÛ”†Gñ/©ác÷èó¯œ#«ZìúT31¯ ;0 —Tî]áÅgçØ÷l7Y·à2æ‡Õ¾1î{¨s8Ãý½d?iq~Äd÷éûI'纤šeÍŽ6êEžãû/1²®ƒð "·TäðÞó¼"b+êøØ­—Þîáù·Fp|A¶Þ— -ªðö çyóœMÉçáÓ5”ý<]—S.2‰q÷?n_N«ÜrOœ¨(ðúþK¼úVÝN,‚Ryã/u ¤ÐiX¢¡O%¬9xn‰²ªÞ¾%Ȉ¦²~CŒ°WÇ?m̼XÁú©i|åwÆ z¸Ó Þ9Ž›å¶@Õ½¬4R$G²@„ùD4êqfIYVÿ^ÿÂAŽ%,Ý0ZÖÞ½q{4žx0OÜ!„§ì¾,¦òN Órn‰”cvÁ~¹»³óÏØ»h ?÷(¯ÿñªâ…†Pf9\ÝCu&$ŽçBÎbi¼Â¨$K f² Š KŒËø+Tqƒb’Q À0ˆEt²‹h@!Ó] ÖàeI‹AÖp8?V"$T ¦©Ó×Sd,"ÈäðÕ‡Ñ ”I *ù5S% ±ik Ë*%†ÅœMwV¡.¬¢º%2B£Ñ-¢y ü~¥ÆCz´ˆ9l“´øâ¾ã£\È”¸ÔH,3ñi’“ê°¹0l±¢bŒäºg(¹ ç\ÆŠ%‡-Î(gz\Öíh¤ïña†„À04.uXQoáó•g¼æ³XÒáèËýX›kX^o sY. *Ô4XèRbç ”ê<¤Ò*­º6I1ñ©ŒãÔÌø>‡E²œ¸djðN)‹ô¦|Kço"qÝÉ’Ê•§¦ëJ8–AÄ ×­½{ã]Bˆ{ÃñÄ]7Ê\¼bˆe_}û·ü•“¤o­ ñÕ]ͳ¨ ¥””œÃƒç星—›¯SÞ!F—¢êžk1IJIv¤ïB‚”_¦œ’“+.]tY×´œb(ÿ°Ë¹\Ùå¿åï¢bI sψ™UOFSóŽO›¹ÓÓ3wš©ÏÆë+ Žrt7õÛ–—£È\eyvŸ«|1㻜޷ݘ;ÍLËçii.sRuR<÷ó7pnßÎÇët(¸xŠ×s îiM6céANu‡ú[YÓDŸQVÉ•üÚwÏðÆ¥É(oÒuK=ÿôïvŒ¾ý³.?*ÓŽÕxtÓX¹îî­þ`ÈœõÛ–»_ D€f5ºaı¸„Ž Rþ?¡NQ€L+eÜõefÝrú$‘¥t»†Rû‡’ýß?zðÀÑ¡Tòb•´¡Šïáð8sž¸¦H׬öé{⿜ë“ß§>œöç*ùg>¸â×9CsÕ3SE­<,ßÔŠ'P1šSæX©/ׯy<›Ù®9óÌL3W_®Ö(-Àí›6â ê•~h­ì0½h‘á5+Åü—}Á‹³îT%Å¡žüUjŸ€n˜ÆŽ=þ·H¢æ·„À¨4~áæå|ÓU¸s Ì¥1ÅÔ¨¼%+Úö…¡Tò¥Ñtæ‡Gxk(ÕŸ,Ú³p?r‚p,îÍdò—õ·½Nqß®=DZt*9ðÂSÿìÃnÏBq •.—nŽÕö}€é‹^“rTÕĬ¿ŽÊ™E&û¡–s£BÑU±IÅê »ß&ᩌýBÅðø¦&ÀŽâ›•±Œ95 S cç‹p<¾<’¨ùu¡kÜ÷sÞ™¯9«…ãš])‘ÃEÛ¾44|c4~úÈÁ—ÞrìBwz 5\UíN"¯õ¬ß¼õãMmíüôŸ¿ùÛÉž‹×§Ú\B 'jþ$ÑÐx7BDˆ_ å µIÒ`6m©ïrNqã˜Å¨T*3*IeXš —+`»„BÀkÎPäZBQ®Dq³UfäC-çšàZ•sâZª»?TˆùŸ®¯WÊi~ªrüñÂÜC „4@ ¯vÌœ‚‰:¦ËÀ©­‘Râ#HÙ74¼T´íWGÓÃûŽ:Ð娅žª½„›w=üÇ5Í_AºgïûÒ{Í!ŠB7`Û4K¦>@Ì{y¡*¥ËùÎKôäJÁ64[Øv±"†=Ä…R˜UͲN \‡‘t§¶™˜çý‹Vs­Íj9U|s$9gÖæ?[ùÌ ŽãtÚ¶ý²aš÷ )Äe £fÞ{ŽP•dÈtz 9àØÎIà0R&z©k4“Rö§RÃEÇ)} æÊe•i@Ó @ѱG*€pþƒgæS^¥^mË®‡?ßÔ¾ü+º¡'‰tÓ©þc÷þüwº;OGå¾]{¾‘hh\—¼tñÈ¿õ_EJwæó'¿ý÷_زs÷ßEâ‰O Dë}îy¦ïb÷מüÖ7þF× s󮇿Ôܾüw4]¯z§¯ëÌ©ÿ¹ÿ'OüoÇ.\ÖÑy^í,§S¶ìÜó±¦eËþDÓõÆJ‹ÒP*yìðþ}ÒÕyêñ;Þp¼Ö¿}Ï#¿'>ÂYè>ÓùmÝ0=3ëÄkýwmàß6µ/ûUð²hÛ]]§ÿó‹?ýÑ/œëè}ÁwªB€?à%—Ë TF+(ÂåRÚÁôéèò£i:/’U¼4éSKW¥kU|Ș}R*?ZØËÙÝyêbwç©?œJ«{Å ¯³Å„`óƒ»w·­Zóu$¦€s\Ý0–µ­Zûºnˆ½O<ö·oxñ…æ¶' Óø¥hMMÓ–{ž>÷î±ls{ÇBÄì‚ý½7¼øÂ|ËsGnÞµ{Wëª5…À‡¤AQ j"‰Úæí»ý›'¿õÏ¥Sɬb©b•bdzÓ§?——à­üš„: `¦²õáG~«eYÇÿ¨üß9@Ñ óÖ¶UkþI~ï=1ço$ólçèæwªuåêDˆ Ryñh¢v׎=®yîñ|æì‰£oꆡܽãMÔþ^Å–þˆbSû²#„˜Q7 mûîGþ8ZSóÀ–p04Ó¼·uÕªoŸ}÷èCgO{õšÎ‰÷€ UU5 D—bI¸*~sÜ÷AÒèi¦ÍÔÐÕ²ëL¢]RtÐ tµ¬†¼&÷ŒUTQÅ¢á”$viÖÆ¾Tù,nLDb‰ps{Çï „0ÙûÄ‹O=ñ› Ü-»öü~´¦æw›Û;~7K<žì¹Ø³÷‰ïÿÁŽ=Ÿ»U7ÍÕÍË:þª©}™‹"bvÁ>¹÷‰ïÿÁP²/‰×Ì«<§èŒ5·wüG!DÀ)¿ðÔ_ͤ‡oÛ¼í—ZÚ–ý‰aëÖoܾrß“½1É 2có2õ¹”îþŸ>ñ[;>ý¹ÿ‰×| )Ͼø“Ç?ß©ûl(¯k) ,c¨¿ÿ¯^xêñÿR¹oמ¿ŠÔÔ~®¹½ãÃñÄÞô¡îÂñDp>í|ó¥}Ím*„Ùûà‹Oýè7G3ét8^³ò¾÷|S(Ê’-»vÿtª·fuÍmË~]ôÁþþ§_|ê‰_Y¸mËöO/i_þ7“݃¦¶åË"‰š/!„8ú䟾¹ï7ü¡°wË®=ÿd˜æ}ë7oû£î3§ö8ó„ðA`áÖ¿BAÕ=¨ºkÆÍ$-Ы2´Š*®+Ø%9Má‚îTo&h†Þ ëF;àž{÷ï‚°Î8þT´¦æ7¢Å·%{.öt9}¾ëôéßm]½æ1Ý0VH)ǺOŸþÝ®3§Ï-¤¼ÑLfH7Œ@vužú˳'ŽGJö>þý¯…c‰ŸÙ¢c_œï _C©ä9Ƕ3•GöPªÿd:•Ì´®Z³ !š€ìÙÇŸ¼ 8ûîñïEjj÷è†Ñ¡ëzp|f¹º®7]½ÎÅH"±Þ0ŒU@©»óô:{âøQ¤$J]ºåžß‰$jÿ­nwꦹtíë…¢Ô‚´Ø÷ß“—ºû^{îg74/ù=Ý0W „Xw÷Æ;…""Hο{üÿèð0£ÃÃß&÷Eâ‰uáx¢6yéb÷"~þkŽ ÕªÁKUÜ$˜A¢1GÈü@PÖoÞöÿ®ß¼m<ظ*¥ôÊÚ»6´œ=qüRòâÓ?©Iüs$Qó[£™ô¾—Ÿ}jïá7¯ò^}ö™"@JyôÐËïŒç/Úv!Õsñí‰Ö‰÷`º/!Xwׯ– ;•wý–­ÿ°~ËÖñS&¥Ô(·ËÅñ¹R;…à¾]»— „&¥=rpÿùñtŽc»Žm¿U)+„ü¡P ¤$7šI'Ç+J%3éTj8ÑÐ8Y» ò™<ºe×îï3¡QFÅaÙÓUÆ&´¹˜_>Ò¯WU|Ä güýÂ-„(ÚÎO†R}]À$‡”2=:2.$êšZýÁð–ñÌþPøÞºæ–õgß9öò‚ÊCZ@ !Ôµwn ïh%ãBÔN§R?rìBrj›¤ëºŽm_¼LÞÒÕÛ90:2’­)Û¬©þ`ØH^šrp¦–5šIjššTÊÂ~JŸô™î'•xhd‡’ÉÇŠNå$>Ùö¼cÛI®hÀ fHÑÚ€6NaRÅ"P=ÑWq=#Wtɧ{»…Ëd¹Ù1ˆ”Y3šIŸxú»ßü Û±Ýûv~zu8»÷èÁ—ÞºÐyò€nšæ]Û?þgºa¬@Ê!ˆmÙ¹û/‹çÁ®3'ûç[^$ž¨•È~hˆ$âŸÑMãEǶíæeË—mßýÈ÷JNQ9óα?Øÿô*¡ŽÇ­p¼ÆJ'û²MmËkÃñDbVo¦ñj–£#_>½£±)'„0‡RýÏï}â±H`˃»7G£5KŽzåíÑL¦ÿ2㓜O;|ùLûÊ5#\¿iëCÝgOslÛin]ŒÄjwBJyIJ·çÈ¡—ìÖÕ«sB(¾õ·mØûÄcÇÇ–Mm·„ãñ橽ɤ߬ih*Tß|ißΜ8¾÷ízøA]7ýG¾tx4“¾¬+Î ðÎ|x¬/‡¡.À£» l©„,uÑ‚ÅÒÊ"²ŽGúðhÚ¼…€¦ˆr¿qRLM ŠÉ ébpU;Ê÷ÕíÀâq£l¦\Y&€˜@ùŸ6“'‚Ò©d÷Pª¤¦î3áDüßo{ø‘±ÓGßzséÊ•ÿN7Œ‡6í|øèà7¿þÀØp&µýáG>IÔ|V étŸ>õš—u|Ͱ¬õwmà?÷^<ÿ¯Ó©Ô¼ÊK§’—ÒÉäSÑDí—#‰Ä—úÂodKŽs<OüŠPÔ[4CôuŸ9}²Lt!ß6ꆹlÇîGþÕ©#o^¿iëï!æê ¢aË®=˜¼ÔýÌÑC/¿j oš–µ±¹½ãÏ·?üˆ~öäñ®Ö«ÿ›®›÷lÚùÐ ƒßìÝN%gûÌ·NÁî²ó…_ó3‘ššß{è ¿(:ΑH<ñ°nÛ¤¤Ø}æô·Ó©d/ÎØ»Üžeÿù¡/þf¼èØýáxâ+B(±ñº¥”>°ïpK{Ç)Ý4WnÙ¹û¯—v¬ýçN]ºbÍWuÃXÖ°¤í»O~ûᅵNõ_<ÏbÙÿóöëÖÏ%Bß˱¨¼bŠP]„@€G¯d^pþ²Ó®¡ŠE/ކ&Ð%TËm¯ jèÊl¿ydÇPu~}‘ã.Y AK]Ô'ÔôE€éÑZ’W”ÇÜPé -Dåw[ø¤ïªGŸ ݶX|PòXJIç`_ùÎF+®}å 6¥w.|í‹ ]G2W)â¦DS{GÛöÝ~Ç0­;A"@J!®ì:sâØÿ¹÷‰Çžj]±zíŽ=ŸûN¡ðÌ“ßúûGú—ÓMó@þBçÉ/ï{ü߯mni½Jy?AJšÚ—Ç·ï~äë†i>(@Aˆñð~é §þxßãý­cÛ¥Ö•knݾçÑ'…"‘B‚,9Ž}!rº®ß¼xñà¿ùõÍHÜ»?·­uõê>@&/]üÞ“ßüúšÚ–ݺ}÷£ÿd˜Öò‰ˆ>Šûݳï¼ó/üôG¯\Î(j¾íljïhÙ±ûÑ¿5Ló>À*§ù¡þþ¿{î‰üQ:Õ7Zóu;v?úÝ´V—‹“®cÛ'Pİ®ë÷Nô Üîc­«VÿÑXv+ï4œBáðsO<ö…îÎS'ßï92_ˆŽ¯¾õ:°^Ü(Ûì*®ˆûG\Ä~bºP]ÄfJScQ’IPÈšXüfjR¨.¼v]Ô´²÷"6S!K%dΟ­LC¹?8:„]šp•ÈÒñ _û⦪Pˆ$jjoÛ´í(|B‚äì‘W_úVwç©Î¢cËÍî^׬EÂöíïî<ÕÐÔÞÑ|û¦m›Ë^-²ï…§žx>=Ð_ºZySê ¯ß´íA(t? !é=rð¥î:sê­ñàšnˆ¦öŽUëîÞøëBˆZ)9ôæKÏÿpéÊUK"±ÄÒtr’|^7L}Ë·?ë‡? ØCÉä_|êñ)·uùÒõ›¶þ²b5€”òØáÏÿS÷™SÝW³2žO;+éüë7n¿Ó}–²aÒÐh:ó¿_|úñ—Baš6¤©½£íöMÛþ„h‘ÈÃoxብ+WÕEb‰%Sû¤é†hn_¾bÝÝ~ !Z@º£™Ìë‡ìûç¡dê½þö×¢ã«o–V…jUܸXˆPõLJé²o\øÚ7:}§>’*àY¨ðë]³<ó-o>éÓ¶¹Ê€Å—s-û³t Mû!@LfƸ>š»P/§ÇÃYàa–ÙÆ!¦äš#fU¼¯x¯ï¬ÝwÆqú;gq³~d±˜EûJyæ[Þ|Ò] ò^˸–ýYHº…¦ý å{.ü+³®ùëb€ë²¯;ýgN/ªÙåLQ ºp]VE—hõ ã,&¿, 3”/0š›ò&ÃZÌU ÈlQvSZÄ.€2þÏS(ßPfRÓ7R ¯qš½Î‚÷q³6r7Üfjr7-?’ÄUTq­¡uÿͯüKÍgþôa=Z{?’¾gÿw÷_‹{•E-0zE¨.Ê^*ÖÌ 5Uª¬,¡ºhÁbQŽü³`‹-ܨ„îûµ&@_äÕ  —!6¿&7C‘Eå/£¹Ò†å€0<ÂH´zËê……‰¶ŠXÓká©r T~·Eì€E%‡PfÈØùd¯üQf<ø !%’'}é/áÆŠ[YE×#Ä´?Àõ¢üýhâ=úãLò¡bá Ã#ôD«WˆiZô…Ô§ÖÂm¾'f»U)c±cç”Em¦"õzx˚ɚ#xš!Ê”Eg°ïÙþþñ!Y­ Õ*ªxø°à*ª¨âÃÛLM µVÝLWQŵÀÿ&‘¡à~ÄÙIEND®B`‚pyzo-4.12.3/pyzo/resources/pyzo.desktop000066400000000000000000000004531421373005400202120ustar00rootroot00000000000000[Desktop Entry] Version=1.0 Type=Application Name=Pyzo GenericName=Pyzo Comment=Interactive editor for scientific Python TryExec=pyzo Exec=pyzo %f Categories=Development;Science;IDE;Qt; Keywords=Python;IDE;science;interactive; Icon=pyzologo Terminal=false StartupNotify=true MimeType=text/x-python; pyzo-4.12.3/pyzo/resources/themes/000077500000000000000000000000001421373005400171015ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/themes/dark.theme000066400000000000000000000036001421373005400210450ustar00rootroot00000000000000name = 'Dark' data = dict: editor_highlightcurrentline='back:#1b1c18' editor_highlightmatchingoccurrences='back:#859900' editor_highlightmatchingbracket='back:#ccc' editor_highlightunmatchedbracket='back:#f7be81' editor_highlightmismatchingbracket='back:#f7819f' editor_indentationguides='fore:#586e75, linestyle:solid' editor_longlineindicator='fore:#073642, linestyle:solid' editor_breakpoints='fore:#fdff41, back:#272822' editor_linenumbers='fore:#586e75, back:#1b1c18' editor_calltip='fore:#555, back:#ff9, border:1' syntax_comment='fore:#686c58, bold:no, underline:no, italic:no' syntax_string='fore:#e6db72, bold:no, underline:no, italic:no' syntax_unterminatedstring='fore:#fdff41, bold:no, underline:dotted, italic:no' syntax_identifier='fore:#ffffff, bold:no, underline:no, italic:no' syntax_nonidentifier='fore:#f9aeca, bold:no, underline:no, italic:no' syntax_keyword='fore:#f92672, bold:no, underline:no, italic:no' syntax_builtins='fore:#c5d9ff, bold:no, underline:no, italic:no' syntax_instance='fore:#2aa198, bold:no, underline:no, italic:yes' syntax_number='fore:#ae81f0, bold:no, underline:no, italic:no' syntax_functionname='fore:#96df2b, bold:yes, underline:no, italic:no' syntax_classname='fore:#f9da42, bold:yes, underline:no, italic:no' syntax_todocomment='fore:#128ee5, bold:yes, underline:yes, italic:no' syntax_openparen='fore:#686c58, bold:no, underline:no, italic:no' syntax_closeparen='fore:#686c58, bold:no, underline:no, italic:no' syntax_python_multilinestring='fore:#e6db72, bold:no, underline:no, italic:no' syntax_python_cellcomment='fore:#f9da42, bold:yes, underline:full, italic:no' syntax_c_multilinecomment='fore:#007f00, bold:no, underline:no, italic:no' syntax_c_char='fore:#7f007f, bold:no, underline:no, italic:no' editor_text='fore:#c5d9ff, back:#272822' pyzo-4.12.3/pyzo/resources/themes/default.theme000066400000000000000000000036541421373005400215610ustar00rootroot00000000000000name = 'Default' data = dict: editor_breakpoints = 'fore:#f66, back:#dfdfe1' editor_calltip = 'fore:#555, back:#ff9, border:1' editor_highlightcurrentline = 'back:#eee8d5' editor_highlightmatchingbracket = 'back:#ccc' editor_highlightmatchingoccurrences = 'back:#fdfda3' editor_highlightmismatchingbracket = 'back:#f7819f' editor_highlightunmatchedbracket = 'back:#f7be81' editor_indentationguides = 'fore:#eee8d5, linestyle:solid' editor_linenumbers = 'fore:#93a1a1, back:#eee8d5' editor_longlineindicator = 'fore:#eee8d5, linestyle:solid' editor_text = 'fore:#657b83, back:#fff' syntax_builtins = 'fore:#657b83, bold:no, underline:no, italic:no' syntax_c_char = 'fore:#7f007f, bold:no, underline:no, italic:no' syntax_c_multilinecomment = 'fore:#007f00, bold:no, underline:no, italic:no' syntax_classname = 'fore:#cb4b16, bold:yes, underline:no, italic:no' syntax_closeparen = 'fore:#000, bold:no, underline:no, italic:no' syntax_comment = 'fore:#b58900, bold:no, underline:no, italic:no' syntax_functionname = 'fore:#073642, bold:yes, underline:no, italic:no' syntax_identifier = 'fore:#657b83, bold:no, underline:no, italic:no' syntax_instance = 'fore:#657b83, bold:no, underline:no, italic:no' syntax_keyword = 'fore:#586e75, bold:yes, underline:no, italic:no' syntax_nonidentifier = 'fore:#586e75, bold:no, underline:no, italic:no' syntax_number = 'fore:#2aa198, bold:no, underline:no, italic:no' syntax_openparen = 'fore:#000, bold:no, underline:no, italic:no' syntax_python_cellcomment = 'fore:#b58900, bold:yes, underline:full, italic:no' syntax_python_multilinestring = 'fore:#268bd2, bold:no, underline:no, italic:no' syntax_string = 'fore:#6c71c4, bold:no, underline:no, italic:no' syntax_todocomment = 'fore:#d33682, bold:no, underline:no, italic:yes' syntax_unterminatedstring = 'fore:#6c71c4, bold:no, underline:dotted, italic:no' pyzo-4.12.3/pyzo/resources/themes/scintilla.theme000066400000000000000000000035251421373005400221140ustar00rootroot00000000000000name = 'Scintilla' data = dict: editor_highlightcurrentline='back:#ffff99' editor_highlightmatchingoccurrences='back:#fdfda3' editor_highlightmatchingbracket='back:#ccc' editor_highlightunmatchedbracket='back:#f7be81' editor_highlightmismatchingbracket='back:#f7819f' editor_indentationguides='fore:#ddf, linestyle:solid' editor_longlineindicator='fore:#bbb, linestyle:solid' editor_breakpoints='fore:#f66, back:#dfdfe1' editor_linenumbers='fore:#222, back:#ddd' editor_calltip='fore:#555, back:#ff9, border:1' syntax_comment='fore:#007f00, bold:no, underline:no, italic:no' syntax_string='fore:#7f007f, bold:no, underline:no, italic:no' syntax_unterminatedstring='fore:#7f007f, bold:no, underline:dotted, italic:no' syntax_identifier='fore:#000, bold:no, underline:no, italic:no' syntax_nonidentifier='fore:#000, bold:no, underline:no, italic:no' syntax_functionname='fore:#007f7f, bold:yes, underline:no, italic:no' syntax_classname='fore:#0000ff, bold:yes, underline:no, italic:no' syntax_keyword='fore:#00007f, bold:yes, underline:no, italic:no' syntax_number='fore:#007f7f, bold:no, underline:no, italic:no' syntax_openparen='fore:#000, bold:no, underline:no, italic:no' syntax_closeparen='fore:#000, bold:no, underline:no, italic:no' syntax_c_multilinecomment='fore:#007f00, bold:no, underline:no, italic:no' syntax_c_char='fore:#7f007f, bold:no, underline:no, italic:no' syntax_builtins='fore:#000, bold:no, underline:no, italic:no' syntax_instance='fore:#000, bold:no, underline:no, italic:no' syntax_todocomment='fore:#e00, bold:no, underline:no, italic:yes' syntax_python_multilinestring='fore:#7f0000, bold:no, underline:no, italic:no' syntax_python_cellcomment='fore:#007f00, bold:yes, underline:yes, italic:no' editor_text='fore:#000, back:#fff' pyzo-4.12.3/pyzo/resources/themes/solarized_dark.theme000066400000000000000000000036731421373005400231330ustar00rootroot00000000000000name = 'Solarized_Dark' data = dict: editor_breakpoints = 'fore:#f66, back:#073642' editor_calltip = 'fore:#555, back:#ff9, border:1' editor_highlightcurrentline = 'back:#073642' editor_highlightmatchingbracket = 'back:#666' editor_highlightmatchingoccurrences = 'back:#fdfda3' editor_highlightmismatchingbracket = 'back:#f7819f' editor_highlightunmatchedbracket = 'back:#f7be81' editor_indentationguides = 'fore:#073642, linestyle:solid' editor_linenumbers = 'fore:#586e75, back:#073642' editor_longlineindicator = 'fore:#073642, linestyle:solid' editor_text = 'fore:#839496, back:#002b36' syntax_builtins = 'fore:#839496, bold:no, underline:no, italic:no' syntax_c_char = 'fore:#7f007f, bold:no, underline:no, italic:no' syntax_c_multilinecomment = 'fore:#007f00, bold:no, underline:no, italic:no' syntax_classname = 'fore:#cb4b16, bold:yes, underline:no, italic:no' syntax_closeparen = 'fore:#93a1a1, bold:no, underline:no, italic:no' syntax_comment = 'fore:#b58900, bold:no, underline:no, italic:no' syntax_functionname = 'fore:#eee8d5, bold:yes, underline:no, italic:no' syntax_identifier = 'fore:#839496, bold:no, underline:no, italic:no' syntax_instance = 'fore:#839496, bold:no, underline:no, italic:no' syntax_keyword = 'fore:#93a1a1, bold:yes, underline:no, italic:no' syntax_nonidentifier = 'fore:#93a1a1, bold:no, underline:no, italic:no' syntax_number = 'fore:#2aa198, bold:no, underline:no, italic:no' syntax_openparen = 'fore:#93a1a1, bold:no, underline:no, italic:no' syntax_python_cellcomment = 'fore:#b58900, bold:yes, underline:full, italic:no' syntax_python_multilinestring = 'fore:#268bd2, bold:no, underline:no, italic:no' syntax_string = 'fore:#6c71c4, bold:no, underline:no, italic:no' syntax_todocomment = 'fore:#d33682, bold:no, underline:no, italic:yes' syntax_unterminatedstring = 'fore:#6c71c4, bold:no, underline:dotted, italic:no'pyzo-4.12.3/pyzo/resources/themes/solarized_light.theme000066400000000000000000000036641421373005400233210ustar00rootroot00000000000000name = 'Solarized_Light' data = dict: editor_breakpoints = 'fore:#f66, back:#dfdfe1' editor_calltip = 'fore:#555, back:#ff9, border:1' editor_highlightcurrentline = 'back:#eee8d5' editor_highlightmatchingbracket = 'back:#ccc' editor_highlightmatchingoccurrences = 'back:#fdfda3' editor_highlightmismatchingbracket = 'back:#f7819f' editor_highlightunmatchedbracket = 'back:#f7be81' editor_indentationguides = 'fore:#eee8d5, linestyle:solid' editor_linenumbers = 'fore:#93a1a1, back:#eee8d5' editor_longlineindicator = 'fore:#eee8d5, linestyle:solid' editor_text = 'fore:#657b83, back:#fff' syntax_builtins = 'fore:#657b83, bold:no, underline:no, italic:no' syntax_c_char = 'fore:#7f007f, bold:no, underline:no, italic:no' syntax_c_multilinecomment = 'fore:#007f00, bold:no, underline:no, italic:no' syntax_classname = 'fore:#cb4b16, bold:yes, underline:no, italic:no' syntax_closeparen = 'fore:#000, bold:no, underline:no, italic:no' syntax_comment = 'fore:#b58900, bold:no, underline:no, italic:no' syntax_functionname = 'fore:#073642, bold:yes, underline:no, italic:no' syntax_identifier = 'fore:#657b83, bold:no, underline:no, italic:no' syntax_instance = 'fore:#657b83, bold:no, underline:no, italic:no' syntax_keyword = 'fore:#586e75, bold:yes, underline:no, italic:no' syntax_nonidentifier = 'fore:#586e75, bold:no, underline:no, italic:no' syntax_number = 'fore:#2aa198, bold:no, underline:no, italic:no' syntax_openparen = 'fore:#000, bold:no, underline:no, italic:no' syntax_python_cellcomment = 'fore:#b58900, bold:yes, underline:full, italic:no' syntax_python_multilinestring = 'fore:#268bd2, bold:no, underline:no, italic:no' syntax_string = 'fore:#6c71c4, bold:no, underline:no, italic:no' syntax_todocomment = 'fore:#d33682, bold:no, underline:no, italic:yes' syntax_unterminatedstring = 'fore:#6c71c4, bold:no, underline:dotted, italic:no' pyzo-4.12.3/pyzo/resources/translations/000077500000000000000000000000001421373005400203355ustar00rootroot00000000000000pyzo-4.12.3/pyzo/resources/translations/notes_on_translating.txt000066400000000000000000000047021421373005400253330ustar00rootroot00000000000000Notes on translating ==================== In short -------- Apply the following steps (in the IEP logger shell): * Run lupdate() to update .tr files * Translators run linguist(TheirLanguage) to launch Qt linguist * Translators write translations (stored in one .tr file per language) * Translators send modified version of .tr file back to us * Run lrelease() Alternatively, you can invoke the tools from a system shell (with this directory as working directory): * Run pylupdate5 -noobsolete -verbose ../../../pyzo.pro * Use linguist or a plain text editor to edit .tr files * Run lrelease ../../../pyzo.pro The lupdate tool parses the source code of the files specified in iep.pro and detects usages of any "translate()" function call. For translaters --------------- We send translaters a .tr file, which they translate using Qt linguist and then send back to us. About tooltips -------------- I like tooltips. And I think its best to specify them in the same string as the text/label that they apply to. In IEP we use the convention that a translation string can contain tooltips by writing three colons followed by the tooltip text: ``"This is a label ::: This is the tooltip text"`` The iep.translate function returns a string object that contains only the label text, but which has an attribute called "tt" that contains the tooltip text (or an empty string). In this way, in places where you do not need a tooltip, things behave as normal. In cases where you need a tooltip, things are now easier (especially for the translater). From the PyQt website --------------------- * The programmer uses pylupdate4 to create or update a .ts translation file for each language that the application is to be translated into. A .ts file is an XML file that contains the strings to be translated and the corresponding translations that have already been made. pylupdate4 can be run any number of times during development to update the .ts files with the latest strings for translation. * The translator uses Qt Linguist to update the .ts files with translations of the strings. * The release manager then uses Qt’s lrelease utility to convert the .ts files to .qm files which are compact binary equivalents used by the application. If an application cannot find an appropriate .qm file, or a particular string hasn’t been translated, then the strings used in the original source code are used instead. pyzo-4.12.3/pyzo/resources/translations/pyzo_ca_ES.tr000066400000000000000000002623251421373005400227510ustar00rootroot00000000000000 bootstrapconda This will download and install miniconda on your computer. Also install scientific packages Waiting to start installation. debug Stack Pila editor Close, Discard, Cancel, Save Closing Save modified file? Closing pinned Are you sure you want to close this pinned file? editorTabs Select one or more files to open Select the file to save to filebrowser Filename filter Filtre de noms arxius Search in files Cercar en arxius Projects: Projectes: Click star to bookmark current dir Cliqueu l'estrella per senyalitzar el directori actual Remove project Esborrar projecte Change project name Canviar nom projecte Add path to Python path Afegeix ruta a rutes de Python Project name Nom projecte New project name: Nou nom projecte: Match case Coincidir entre majúscules i minúscules RegExp Expressió Regular Search in subdirs Cerca en subdirs Unstar this directory Desmarcar directori Star this directory Marcar directori Open Obrir Reveal in Finder Mostra al Finder Copy path Copia ruta Rename Rebatejar Delete Esborrar Create new file Crear arxiu Create new directory Crear directori Give the new name for the file Dona nom al arxiu Give the name for the new directory Dona nom al directori Duplicate Duplicar Give the name for the new file Dona nom al arxiu Are you sure that you want to delete Segur que vols esborrar-ho Go to this directory in the current shell Anar a aquest directori en el terminal actual Import data... Importa dades... Run as script Run Jupyter notebook Open outside Pyzo importwizard Select file Browse... Preview: Select columns to import: Close Import data as single array Import data into one variable per column Raise error upon invalid data Import data wizard No current shell active No current file open Import data The import data wizard is already open main unsaved menu File Arxiu Edit Editar View Visualitza Settings Opcions Shell Consola Run Executar Tools Eines Help Ajuda Use tabs Utilitza Tabuladors Use spaces espais spaces plural of spacebar character espais Indentation ::: The indentation used of the current file. Sangria ::: Sangria emprada arxiu actual. Syntax parser ::: The syntax parser of the current file. Analitzador sintaxi ::: Analitzador sintaxi arxiu actual. Line endings ::: The line ending character of the current file. Final línia ::: Caràcter final línia arxiu actual. Encoding ::: The character encoding of the current file. Codificació ::: Codificació de caràcters en l'arxiu actual. New ::: Create a new (or temporary) file. Nou ::: Crear arxiu nou (o temporal). Open... ::: Open an existing file from disk. Obrir ::: Obrir un arxiu del disc. Save ::: Save the current file to disk. Desa ::: Desa arxiu disc. Save as... ::: Save the current file under another name. Anomena i desa... ::: Desa l'arxiu actual amb un nom diferent. Save all ::: Save all open files. Desa-ho tot ::: Desa tots el arxius oberts. Close ::: Close the current file. Tanca ::: Tanca l'arxiu actual. Close all ::: Close all files. Tanca tots ::: Tanca tots els arxius. Undo ::: Undo the latest editing action. Desfés ::: Desfés el darrer canvi d'edició. Cut ::: Cut the selected text. Talla ::: Talla el text seleccionat. Copy ::: Copy the selected text to the clipboard. Copia ::: Copia el text seleccionat al portapapers. Paste ::: Paste the text that is now on the clipboard. Enganxa ::: Enganxa el text present en el portapapers. Select all ::: Select all text. Selecciona-ho tot ::: Selecciona tot el text. Indent ::: Indent the selected line. Sagnar ::: Sagnar la línia seleccionada. Dedent ::: Unindent the selected line. Dessagnar ::: Dessagnar línia seleccionada. Comment ::: Comment the selected line. Comentar ::: Comenteu la línia seleccionada. Uncomment ::: Uncomment the selected line. Descomentar ::: Descomenteu la línia seleccionada. Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters. Justificar comentari / docstring ::: Remodelar el text seleccionat perquè s'alineï a uns 70 caràcters. Go to line ::: Go to a specific line number. Vés línia ::: Vés a un número especific línia. Toggle breakpoint ::: Toggle breakpoint on the current line. Find or replace ::: Show find/replace widget. Initialize with selected text. Cercar o reemplaçar ::: Mostra giny cercar/reemplaçar. Inicialitzar amb el text seleccionat. Find selection ::: Find the next occurrence of the selected text. Cercar selecció ::: Cercar la següent ocurrència del text seleccionat. Find selection backward ::: Find the previous occurrence of the selected text. Cercar selecció cap enrere ::: Cerca la ocurrència anterior del text seleccionat. Find next ::: Find the next occurrence of the search string. Cercar següent ::: Cerca la següent ocurrència de la cadena de cerca. Find previous ::: Find the previous occurrence of the search string. Cercar anterior ::: Cerca l'anterior ocurrència de la cadena de cerca. Accept autocompletion with: Zoom in Acostar Zoom out Allunyar Zoom reset Zoom original Location of long line indicator ::: The location of the long-line-indicator. Ubicació indicador línia llarga ::: Seleccionar ubicació de l'indicador de línia llarga. Qt theme ::: The styling of the user interface widgets. Tema Qt ::: Estil dels ginys de la interfície d'usuari. Select shell ::: Focus the cursor on the current shell. Selecciona consola ::: Selecciona la consola actual. Select editor ::: Focus the cursor on the current editor. Selecciona editor ::: Selecciona l'editor actual. Select previous file ::: Select the previously selected file. Selecciona l'arxiu anterior ::: Selecciona l'arxiu seleccionat anteriorment. Show whitespace ::: Show spaces and tabs. Mostra espais en blanc ::: Mostra espais i tabuladors. Show line endings ::: Show the end of each line. Mostra els finals de línia ::: Mostra final de cada línia. Show indentation guides ::: Show vertical lines to indicate indentation. Mostra guies de sangria ::: Mostra línies verticals per indicar la sagria. Wrap long lines ::: Wrap lines that do not fit on the screen (i.e. no horizontal scrolling). Ajustar línies llargues ::: Ajustar línies llargues que no caben a la pantalla. Highlight current line ::: Highlight the line where the cursor is. Destacar línia actual ::: Remarca la línia on es troba el cursor. Font Font Zooming Zoom Clear screen ::: Clear the screen. Esborrar pantalla ::: Esborrar la pantalla. Interrupt ::: Interrupt the current running code (does not work for extension code). Interrompre ::: Interrompre el codi en execució. No funciona per extensions codi). Restart ::: Terminate and restart the interpreter. Reiniciar ::: Finalitza l'execució i reinicia l'intèrpret. Terminate ::: Terminate the interpreter, leaving the shell open. Finalitzar ::: Finalitza l'intèrpret deixant la consola oberta. Close ::: Terminate the interpreter and close the shell. Tanca ::: Finalitza l'intèrpret i tanca la consola. Edit shell configurations... ::: Add new shell configs and edit interpreter properties. Edita configuració consola... ::: Afegeix configuracions a la consola i edita les propietats de l'intèrpret. New shell ... ::: Create new shell to run code in. Consola nova... ::: Crear una consola nova per executar codi. Run selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection. Executa selecció ::: Executa les línies seleccionades a l'editor o la selecció de paraules en la línia actual o la línia actual si no s'ha fet cap selecció. Close others::: Close all files but this one. Tanca altres ::: Tanca tots els arxius excepte aquest. Rename ::: Rename this file. Rebatejat ::: Rebateja aquest arxiu. Copy path ::: Copy the full path of this file. Pin/Unpin ::: Pinned files get closed less easily. Pinçar/desprendre ::: Arxius pinçats són més difícils de tancar. Set/Unset as MAIN file ::: The main file can be run while another file is selected. Marcar/desmarcar com arxiu mestre ::: L'arxiu mestre es pot executar mentre un altre està seleccionat. Run file ::: Run the code in this file. Executar arxiu ::: Executa el codi en aquest arxiu. Run file as script ::: Run this file as a script (restarts the interpreter). Executa l'arxiu com script ::: Executa aquest arxiu com script (reinicia l'intèrpret). Reload tools ::: For people who develop tools. Recarregar eines ::: Per programadors que desenvolupen eines. Ask a question ::: Need help? Fes una pregunta ::: Necessites ajuda? Automatically indent ::: Indent when pressing enter after a colon. Sangria automàtica ::: Sangrar codi automaticament quan pressiones tecla retorn després de dos punts. Enable calltips ::: Show calltips with function signatures. Habilitar ajuda funcions ::: Ensenyar ajuda prototip funcions. Autocomplete keywords ::: The autocompletion list includes keywords. Autocompletet paraules clau ::: La llista d'autocopletat inclou paraules clau. Edit key mappings... ::: Edit the shortcuts for menu items. Edita assignacions de tecles... ::: Edita els accessos directes per elements de menú. Edit syntax styles... ::: Change the coloring of your code. Edició estil sintàxis... ::: Canvia colors sintaxi texte del teu códic. Debug next: proceed until next line Depuració següent: continuar fins a la següent línia Debug return: proceed until returns Depuració retorn: Depuració fins retorn Debug continue: proceed to next breakpoint Depuració continuar: procedir al següent punt d'interrupció Stop debugging Aturar depuració Clear all {} breakpoints Esborrar tots els punts d'interrupció {} Debug step into: proceed one step Etapa de depuració a dins: procedir un pas Run file as script ::: Restart and run the current file as a script. Executar l'arxiu com un script ::: Reiniciar i executar el fitxer actual com un script. Run main file as script ::: Restart and run the main file as a script. Executar arxiu principal com a script ::: Reiniciar i executar el fitxer principal com un script. Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection. Executar selecció ::: Executar línies de l'editor seleccionades, paraules seleccionades en la línia actual, o la línia actual si no hi ha cap selecció. Execute cell ::: Execute the current editors's cell in the current shell. Executar cel la ::: Executar la cel la de l'editor actual en el terminal actual. Execute cell and advance ::: Execute the current editors's cell and advance to the next cell. Executar cel la i avançar ::: Executar cel la actual i avançar a la següent. Execute file ::: Execute the current file in the current shell. Executar fitxer ::: Executeu el fitxer actual al terminal actual. Execute main file ::: Execute the main file in the current shell. Executar fitxer principal ::: Executear el fitxer principal al terminal actual. Export to PDF ::: Export current file to PDF (e.g. for printing). Paste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation. Previous cell ::: Go back to the previous cell. Next cell ::: Advance to the next cell. Previous object ::: Go back to the previous top-level structure. Next object ::: Advance to the next top-level structure. Goto Definition ::: Go to definition of word under cursor. Restart Pyzo ::: Restart the application. Quit Pyzo ::: Close the application. Report an issue ::: Did you found a bug in Pyzo, or do you have a feature request? Check for updates ::: Are you using the latest version? About Pyzo ::: More information about Pyzo. Select language ::: The language used by Pyzo. Pyzo website ::: Open the Pyzo website in your browser. Pyzo guide ::: Open the Pyzo guide in your browser. Local documentation ::: Documentation on Python and the Scipy Stack. Highlight brackets ::: Highlight matched and unmatched brackets. There is no main file selected. Could not save the file. Can only run scripts that are in the file system. Pyzo wizard ::: Get started quickly. None Postmortem: debug from last traceback Create new Python environment... ::: Install miniconda. Create shell %s: (%s) Execute selection and advance Help on running code ::: Open the pyzo wizard at the page about running code. (as script) No autocompletion Automatic popup Only show popup when pressing Tab Autocompletion Advanced settings... ::: Configure Pyzo even further. Search History Copy ::: Copy selected lines Run ::: Run selected lines in current shell Remove ::: Remove selected history items(s) Duplicate line ::: Duplicate the selected line(s). Delete line ::: Delete the selected line(s). default Open current directory in file browser Change current directory to the file browser's path Open directory in file browser No shell to run code in. No editor selected. Change current directory to editor file path Change directory when executing file ::: like Run File As Script does Toggle Case ::: Change selected text to lower or upper case Auto close quotes ::: Auto close single and double quotes. Auto close brackets ::: Auto close ( { [ ] } ). Tab Enter Tab, Enter Tab, (, [ Tab, Enter, (, [ Redo ::: Redo the last undone editing action. Help on this expression ::: Show help for the selected expression. menu dialog Could not run No és pot executar Could not run script. No es pot executar l'script. Check for the latest version. Comproveu si és la versió més recent. Language changed Idioma canviat Edit shortcut mapping Edita assignació d'accessos directes Shortcut mappings Assignacions d'accés directe About Pyzo Could not run notebook The language has been changed. Pyzo needs to restart for the change to take effect. Could not change dir Advanced Settings pyzoFileBrowser File Browser pyzoHistoryViewer History viewer pyzoInteractiveHelp Interactive help Shows help on an object when using up/down in autocomplete. Help information is queried from the current shell when moving up/down in the autocompletion list and when double clicking on a name. Smart format Font size: %i This keyword introduces the definition of a class. This keyword introduces the definition of a function. No help is available for operators because they are ambiguous: their meaning depend on the type of the first operand. Help on this Suspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function. This keyword can appear as part of an alternative (see: ``if``), a loop (see: ``for``, ``while``) or a ``try`` statement. Find and load modules or members of modules. Examples: ``` import foo # foo imported and bound locally import foo.bar.baz # foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb from foo.bar import baz # foo.bar.baz imported and bound as baz from foo import attr # foo imported and foo.attr bound as attr from foo import * # foo imported and all its members bound # under their respective names ``` This is an instruction that does nothing. It is useful in cases where a statement must appear because of syntactic constraints but we have nothing to do. This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the loop early, regardless of the loop condition. See also: ``continue`` An ``except`` clause can appear as a part of a ``try`` statement. This keyword usually refers to membership of an object in a structure. There are actually two different kinds of ``in``. In a construct of the form ``for identifier in iterable``, ``in`` is a purely syntactic element that bears no meaning per se. See: ``for`` Outside such constructs, ``in`` is an operator and its precise meaning depends on the type of the first operand. The ``raise`` statement is used to raise an Exception. Raising an exception will cause the program to abort, unless the exception is handled by a surrounding ``try``/``except`` statement or ``with`` statement. An ``finally`` clause can appear as a part of a ``try`` statement. This operator tests for an object’s identity: ``x is y`` is true if and only if ``x`` and ``y`` are the same object. See also: ``id`` This keyword can only appear in the definition of a function. It is usually followed by an expression. It means that the execution of the function call terminates here and that the result of the call is the value of the following expression. If ``return`` is not followed by an expression, the result is ``None``. This operator computes the boolean conjunction in a lazy manner. More precisely, the expression ``x and y`` first evaluates ``x``; if ``x`` is false, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``or``, ``not``, ``True``, ``False`` This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the current run of the body early. The loop may still make additional runs of its body if its condition is still true . See also: ``break`` The ``for`` statement is used to iterate over the elements of an iterable object: ``` for variable in iterable: body else: # optional suite ``` The expression ``iterable`` is evaluated once; its value should be an iterable object. An iterator is created for the result of that expression. The ``body`` is then executed once for each item provided by the iterator, in the order returned by the iterator: each item in turn is assigned to the ``variable`` and then the ``body`` is executed. When the items are exhausted (which is immediately when the ``iterable`` is empty), the ``suite`` in the ``else`` clause, if present, is executed, and the loop terminates. A ``break`` statement executed in the first suite terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the first suite skips the rest of the ``body`` and continues with the next item, or with the ``else`` clause if there is no next item. The for-loop makes assignments to the ``variable``. This overwrites all previous assignments to that variable including those made in the ``body`` of the for-loop: ``` for i in range(10): print(i) i = 5 # this will not affect the for-loop # because i will be overwritten with the next # index in the range ``` The ``for`` keyword can also be part of a generator. Example: ``` [2*x for x in T] ``` This builds from ``T`` a list where each item was doubled. This keyword is used to produce an anonymous function. Example: ``` lambda x,y,z : (x+y) * z ``` The ``as`` keyword can appear in an ``import`` statement, in an ``except`` clause of a ``try`` statement or in a ``with`` statement. This keyword can appear as a part of an ``import`` or a ``raise``. It has different meanings; see help on those keywords. This keyword can only appear in the definition of a function. It is followed by identifiers and indicates that those identifier refer variables from the outer scope, not local variables in the function being defined. See also: ``global`` The while statement is used for repeated execution as long as an expression is true: ``` while expression: body else: # optional suite ``` This repeatedly tests the ``expression`` and, if it is true, executes the ``body``; if the ``expression`` is false (which may be the first time it is tested) the ``suite`` of the ``else`` clause, if present, is executed and the loop terminates. A ``break`` statement executed in the ``body`` terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the ``body`` skips the rest of the ``body`` and goes back to testing the ``expression``. Assert statements are a convenient way to insert debugging assertions into a program. Deletion of a name removes the binding of that name from the local or global namespace. It is also possible to delete an item in a list. This keyword is followed by identifiers and indicates that those identifiers refer variables from the module scope, not local variables. See also: ``nonlocal`` The operator ``not`` returns ``True`` if its argument is false, ``False`` otherwise. See also: ``and``, ``or``, ``True``, ``False`` The ``with`` statement is used to wrap the execution of a block with methods defined by a context manager. Example: ``` with open(filename) as infile: header = infile.readline() # etc. ``` In this example, the context manager will ensure correct closing of the file upon exiting the ``with`` statement, even if an exception was raised. This keyword appears as part of the ``async def``, ``async for`` and ``async with`` constructs and allows for writing coroutines. This keyword can only appear as part of an alternative. See: ``if`` This keyword usually introduces an alternative. It is followed by a conditon and introduces the statement to execute when this condition is true. The alternative can only have one ``if`` clause, at the beginning. It can also comprise one or more ``elif`` clauses and at most one ``else`` clause at the end. Example: ``` if condition1 : doSomething # when condition1 evaluates to True elif condition2 : # optional, may have several such clauses doSomeOtherthing # when condition1 evaluates to False and condition2 to True else : # optional doAnotherThing # when all conditions evaluate to False ``` The ``if`` keyword can also appear in a generator. Example: ``` [x for x in T if x%2==0] ``` This filters ``T`` to keep only its even items. This operator computes the boolean disjunction in a lazy manner. More precisely, the expression ``x or y`` first evaluates ``x``; if ``x`` is true, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``and``, ``not``, ``True``, ``False`` The ``yield`` expression is used when defining a generator function or an asynchronous generator function and thus can only be used in the body of a function definition. Using a yield expression in a function’s body causes that function to be a generator, and using it in an ``async def`` function’s body causes that coroutine function to be an asynchronous generator. The ``try`` statement allows to recover when an Exception was raised. It has two main forms. ``` try: critical_section except SomeExceptionType as e: suite # manage exceptions of type SomeExceptionType else: # optional everything_ok ``` If ``critical_section`` raises an exception of type ``SomeExceptionType``, the whole program will not abort but the ``suite`` will be executed, with ``e`` being bound to the actual exception. Several ``except`` clauses may be specified, each dealing with some kind of exception. If an exception is raised in ``critical_section`` but is not managed by any ``except`` clause, the whole program aborts. If there is an ``else`` clause, its body is executed if the control flow leaves the ``critical_section``, no exception was raised, and no ``return``, ``continue`` or ``break`` statement was executed. Exceptions in the ``else`` clause are not handled by the preceding ``except`` clauses. ``` try: critical_section finally: suite ``` If ``critical_section`` raises an exception, the ``suite`` will be executed before aborting the program. The ``suite`` is also executed when no exception is raised. When a ``return``, ``break`` or ``continue`` statement is executed in the ``critical_section``, the ``finally`` clause is also executed ‘on the way out.’ A ``continue`` statement is illegal in the ``finally`` clause. Both mechanisms can be combined, the ``finally`` clause coming after the last ``except`` clause or after the optional ``else`` clause. pyzoSourceStructure Source structure Parsing pyzoWebBrowser Web browser pyzoWorkspace Workspace Lists the variables in the current shell's namespace. Name Type Repr Show namespace Show help Delete Esborrar Hide types Hide functions Hide modules Hide private identifiers Hide the shell's startup variables Lists the variables in the current shell's namespace. Currently, there are none. Some of them may be hidden because of the filters you configured. search Hide search widget (Escape) Amaga giny cerca (Escape) Find pattern Busca patró Previous ::: Find previous occurrence of the pattern. Anterior ::: Cerca l'anterior ocurrència del patró. Next ::: Find next occurrence of the pattern. Següent ::: Cerca la següent ocurrència del patró. Replace pattern Reemplaçar patró Replace ::: Replace this match. Reemplaça ::: Reemplaça aquesta occurrència. Match case ::: Find words that match case. Sensible majúsculas ::: Sensible entre majúsculas y minúsculas. RegExp ::: Find using regular expressions. Expressió regular ::: Cercar utilitzant expressions regulars. Whole words ::: Find only whole words. Paraules senceres ::: Cercar només paraules senceres. Auto hide ::: Hide search/replace when unused for 10 s. Auto amagar ::: Amaga automàticament cerca/reemplaça quan no es fa servir durant 10 s. one all in this file all in all files shell Use system default Empra opcions per defecte del sistema name ::: The name of this configuration. Nom ::: El nom d'aquesta configuració. exe ::: The Python executable. exe ::: L'executable de Python. gui ::: The GUI toolkit to integrate (for interactive plotting, etc.). gui ::: Kit d'eines de GUI per integrar (per traçat interactiu, etc.). pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS. pythonPath ::: Llista de directoris on cercar mòduls i paquets. Introdueix cada ruta en una nova línia, o separa-les mitjançant el separador per defecto del teu sistema operatiu. startupScript ::: The script to run at startup (not in script mode). ScriptInici ::: Script a executar al inici (no en mode script). startDir ::: The start directory (not in script mode). DirInici ::: Directori al inici ( no en mode script). Delete ::: Delete this shell configuration Esborrar ::: Esborra la configuració d'aquesta consola Shell configurations Configuració consola Add config Afegeix configuració ipython ::: Use IPython shell if available. ipython ::: Emprar terminal IPython si disponible. File to run at startup Arxiu a executar a l'inici Code to run at startup Codi a executar a l'inici argv ::: The command line arguments (sys.argv). argv ::: Arguments linía de comandes (sys.argv). environ ::: Extra environment variables (os.environ). environ ::: Variables d'entorn addicionals (os.environ). shells Click to select shell. splash This is <b>Pyzo</b><br />the Python IDE for scientific computing Version Pyzo is open source software and freely available for everyone. wizard Step Pas Welcome to the Interactive Editor for Python! Benvingut a l'(E)ditor (I)nteractiu de (P)ython - IEP! Select language Selecciona idioma Language changed Idioma canviat You can execute commands directly in the *shell*, Podeu executar comandaments directament a la *consola*, or you can write code in the *editor* and execute that. o pot escriure codi en l'*editor* i posteriorment executar-ho. The editor is where you write your code L'editor és on s'escriur el codi In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc. A l'*editor*, cada arxiu obert es representa com una pestanya. En fer clic dret sobre una pestanya, els arxius es poden executar, guardar, tancar, etc. The shell is where your code gets executed La consola és on el teu codi s'executa Configuring shells Configurar les consoles Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath. Mediante 'Consola > Edita propietats consola', es pot editar i afegir *propietats a la consola*. Això per expemple permet seleccionar un un directori d'inici nou, o emprar un Pythonpath personalitzat. Running code Executant codi *Run cell:* a cell is everything between two lines starting with '##'. *Executar cel·la:* Una cel·la és tot el que hi ha entre dues línies que comencen amb '##'. *Run file:* run all the code in the current file. *Executar arxiu:* executar tot el codi en el fitxer actual. *Run project main file:* run the code in the current project's main file. *Executar arxiu mestre de projecte:* executar el codi de l'arxiu mestre del projecte actual. Interactive mode vs running as script Mode interactiu vs execució com a script In interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to ['']. En el mode interactiu, sys.path [0] és una cadena buida (és a dir, el directori actual), i sys.argv s'estableix com ['']. Tools for your convenience Eines per a la seva comoditat Via the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked. A través del menú * Eines, es pot seleccionar quines eines utilitzar. Les eines es poden col·locar en la forma més convenient, fins i tot es poden desacobla. Note that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example. Tingueu en compte que el sistema d'eines està dissenyat de tal manera que és fàcil de crear les seves pròpies eines. Mira la wiki en línia per obtenir més informació, o utilitzar una de les eines existents, com a exemple. Recommended tools Eines recomanades We especially recommend the following tools: Recomanem especialment les següents eines: The *Source structure tool* gives an outline of the source code. L'*eina estructura codi* ofereix un esbós del codi font. The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon. El *Navegador d'arxius* ajuda a mantenir una visió general de tots els arxius en un directori. Per gestionar els projectes, feu clic a la icona d'estrella. Get coding! Comença a programar! Getting started with Pyzo This wizard helps you get familiarized with the workings of Pyzo. Pyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*. This wizard can be opened using 'Help > Pyzo wizard' The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. Pyzo consists of two main components When Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions. Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell. Pyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib. Pyzo supports several ways to run source code in the editor. (see the 'Run' menu). This concludes the Pyzo wizard. Now, get coding and have fun! The right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily. *Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines. In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script. You can run the current file or the main file normally, or as a script. When run as script, the shell is restarted to provide a clean environment. The shell is also initialized differently so that it closely resembles a normal script execution. pyzo-4.12.3/pyzo/resources/translations/pyzo_ca_ES.tr.qm000066400000000000000000000726401421373005400233640ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝBhY¾1„ThU»£Ð%FÖT$Gì0% f¾ ªÀd€ÏÇCß"zm@Yì,=–Z§›[f3B`/D™…š€eŽ-C‚Ón%4—ÝþG~ ¤Újð!8pðxÞÊ > q Ð¥cñ?´N2VETÎ3aeöžE#f@'E¿p^(S’€®F–ÁZM¬c>MÚ¯˜î!kÃ2®HÁíöîðÍŽ0ŽÜä¶ãc£<3@,ÞRÅ[êþI¿nuN$p}.B+q^Ž0H}êŸ ½ƒuCH †¹~"T¢ÏkMß±W@"3ÜnHc¾ŠŽ<-‹æÎ4tœc¸'ºr>O}ø˜FêúEä`ùƒP‘. A t²^X8N1°{²o´Ž L¥ .&¨L9Iü¬,¥ï¬,¥H‰Ë|IXËÏ~mõ®\­økµ¥.L‰!F>$l$‡Sö&EnDSõnS;a@>`ìh+nnjÞU^‹¼ðOŒH5ç™s à°¾Æ üúR>!'î,º<ô>I<5$Lö®.ÉY ž&ž_pÔEQJ*T¢6—Nϲµ®Îm>T'ô÷5d4óåª/Óe%V²”GÔV²”`¥V¿~/‡[†#>[¡î9ÑåþMH£°³Ci¤ØnoI¦yÃEç·"ÈËÿžKÓѯ€OÑÚP-ÕjîöÙjŽ9=áž7nÿûN>·A/%gBjù^Ó·ªþÌå“o Æþ+i þ?t IxŽ é w¢SC˜ £ 5Õ °Önw רÎ+õ Þ@Ù· ð.Zè Bñ\_ J€‡GW ”c€ ŸTÐ ãlÎY ý¦>'B 3ÊîhÄ e…R t®fw …ËnA, ÔÉT— ý : 0ôn5• t§ž)˜ —";u °êî@i »s=g »)DgÄ Ë³¾-þ ë¶nZ& ˜i  äi b 0…m GnW{ MÙNK' VžJd Âú¾d¥ ä?ÎQ] ð‹S\!ÿmÛ4[>X5\ñ¾^:¬³>R»>BÒ÷¶~=Âü´n‡ _ŽF™ (…ÎJ::‡~ß”E‚³YE„µ®ÖÞŽ7àßDäPçü.“ _ipPilaStackdebug<Afegeix ruta a rutes de PythonAdd path to Python path filebrowser4Segur que vols esborrar-ho$Are you sure that you want to delete filebrowser(Canviar nom projecteChange project name filebrowserlCliqueu l'estrella per senyalitzar el directori actual"Click star to bookmark current dir filebrowserCopia ruta Copy path filebrowserCrear directoriCreate new directory filebrowserCrear arxiuCreate new file filebrowserEsborrarDelete filebrowserDuplicar Duplicate filebrowser*Filtre de noms arxiusFilename filter filebrowser*Dona nom al directori#Give the name for the new directory filebrowser"Dona nom al arxiuGive the name for the new file filebrowser"Dona nom al arxiuGive the new name for the file filebrowserZAnar a aquest directori en el terminal actual)Go to this directory in the current shell filebrowser Importa dades...Import data... filebrowserNCoincidir entre majúscules i minúscules Match case filebrowser"Nou nom projecte:New project name: filebrowser ObrirOpen filebrowserNom projecte Project name filebrowserProjectes: Projects: filebrowser"Expressió RegularRegExp filebrowser"Esborrar projecteRemove project filebrowserRebatejarRename filebrowser Mostra al FinderReveal in Finder filebrowser Cercar en arxiusSearch in files filebrowser Cerca en subdirsSearch in subdirs filebrowser Marcar directoriStar this directory filebrowser&Desmarcar directoriUnstar this directory filebrowserNFes una pregunta ::: Necessites ajuda? Ask a question ::: Need help?menuœAutocompletet paraules clau ::: La llista d'autocopletat inclou paraules clau.DAutocomplete keywords ::: The autocompletion list includes keywords.menuÊSangria automàtica ::: Sangrar codi automaticament quan pressiones tecla retorn després de dos punts.BAutomatically indent ::: Indent when pressing enter after a colon.menuPEsborrar tots els punts d'interrupció {}Clear all {} breakpointsmenuVEsborrar pantalla ::: Esborrar la pantalla."Clear screen ::: Clear the screen.menu>Tanca ::: Tanca l'arxiu actual.!Close ::: Close the current file.menufTanca ::: Finalitza l'intèrpret i tanca la consola.8Close ::: Terminate the interpreter and close the shell.menuJTanca tots ::: Tanca tots els arxius.Close all ::: Close all files.menulTanca altres ::: Tanca tots els arxius excepte aquest.-Close others::: Close all files but this one.menuXComentar ::: Comenteu la línia seleccionada.&Comment ::: Comment the selected line.menufCopia ::: Copia el text seleccionat al portapapers.1Copy ::: Copy the selected text to the clipboard.menuHTalla ::: Talla el text seleccionat.Cut ::: Cut the selected text.menuvDepuració continuar: procedir al següent punt d'interrupció*Debug continue: proceed to next breakpointmenuhDepuració següent: continuar fins a la següent línia#Debug next: proceed until next linemenuNDepuració retorn: Depuració fins retorn#Debug return: proceed until returnsmenuTEtapa de depuració a dins: procedir un pas!Debug step into: proceed one stepmenuVDessagnar ::: Dessagnar línia seleccionada.&Dedent ::: Unindent the selected line.menu EditarEditmenuªEdita assignacions de tecles... ::: Edita els accessos directes per elements de menú.;Edit key mappings... ::: Edit the shortcuts for menu items.menuÚEdita configuració consola... ::: Afegeix configuracions a la consola i edita les propietats de l'intèrpret. WEdit shell configurations... ::: Add new shell configs and edit interpreter properties.menuŽEdició estil sintàxis... ::: Canvia colors sintaxi texte del teu códic.;Edit syntax styles... ::: Change the coloring of your code.menu|Habilitar ajuda funcions ::: Ensenyar ajuda prototip funcions.;Enable calltips ::: Show calltips with function signatures.menuvCodificació ::: Codificació de caràcters en l'arxiu actual.8Encoding ::: The character encoding of the current file.menu Executar cel la ::: Executar la cel la de l'editor actual en el terminal actual.IExecute cell ::: Execute the current editors's cell in the current shell.menu˜Executar cel la i avançar ::: Executar cel la actual i avançar a la següent.]Execute cell and advance ::: Execute the current editors's cell and advance to the next cell.menu‚Executar fitxer ::: Executeu el fitxer actual al terminal actual.?Execute file ::: Execute the current file in the current shell.menužExecutar fitxer principal ::: Executear el fitxer principal al terminal actual.AExecute main file ::: Execute the main file in the current shell.menu.Executar selecció ::: Executar línies de l'editor seleccionades, paraules seleccionades en la línia actual, o la línia actual si no hi ha cap selecció.Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection.menu ArxiuFilemenuŠCercar següent ::: Cerca la següent ocurrència de la cadena de cerca.exe ::: L'executable de Python.exe ::: The Python executable.shellŒgui ::: Kit d'eines de GUI per integrar (per traçat interactiu, etc.).Fgui ::: The GUI toolkit to integrate (for interactive plotting, etc.).shelldipython ::: Emprar terminal IPython si disponible.+ipython ::: Use IPython shell if available.shellLNom ::: El nom d'aquesta configuració.(name ::: The name of this configuration.shellhpythonPath ::: Llista de directoris on cercar mòduls i paquets. Introdueix cada ruta en una nova línia, o separa-les mitjançant el separador per defecto del teu sistema operatiu. ›pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS.shelljDirInici ::: Directori al inici ( no en mode script).6startDir ::: The start directory (not in script mode).shell~ScriptInici ::: Script a executar al inici (no en mode script).DstartupScript ::: The script to run at startup (not in script mode).shell´*Executar cel·la:* Una cel·la és tot el que hi ha entre dues línies que comencen amb '##'.F*Run cell:* a cell is everything between two lines starting with '##'.wizardv*Executar arxiu:* executar tot el codi en el fitxer actual.1*Run file:* run all the code in the current file.wizard¸*Executar arxiu mestre de projecte:* executar el codi de l'arxiu mestre del projecte actual.I*Run project main file:* run the code in the current project's main file.wizard.Configurar les consolesConfiguring shellswizard(Comença a programar! Get coding!wizardEn el mode interactiu, sys.path [0] és una cadena buida (és a dir, el directori actual), i sys.argv s'estableix com [''].pIn interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to [''].wizard>A l'*editor*, cada arxiu obert es representa com una pestanya. En fer clic dret sobre una pestanya, els arxius es poden executar, guardar, tancar, etc.‚In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc.wizardPMode interactiu vs execució com a script%Interactive mode vs running as scriptwizardIdioma canviatLanguage changedwizardÚTingueu en compte que el sistema d'eines està dissenyat de tal manera que és fàcil de crear les seves pròpies eines. Mira la wiki en línia per obtenir més informació, o utilitzar una de les eines existents, com a exemple.ÂNote that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example.wizard"Eines recomanadesRecommended toolswizardExecutant codi Running codewizard"Selecciona idiomaSelect languagewizardPasStepwizard6El *Navegador d'arxius* ajuda a mantenir una visió general de tots els arxius en un directori. Per gestionar els projectes, feu clic a la icona d'estrella.The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon.wizardpL'*eina estructura codi* ofereix un esbós del codi font.@The *Source structure tool* gives an outline of the source code.wizard@L'editor és on s'escriur el codi'The editor is where you write your codewizardLLa consola és on el teu codi s'executa*The shell is where your code gets executedwizard:Eines per a la seva comoditatTools for your conveniencewizard°Mediante 'Consola > Edita propietats consola', es pot editar i afegir *propietats a la consola*. Això per expemple permet seleccionar un un directori d'inici nou, o emprar un Pythonpath personalitzat.¾Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath.wizardLA través del menú * Eines, es pot seleccionar quines eines utilitzar. Les eines es poden col·locar en la forma més convenient, fins i tot es poden desacobla.ŒVia the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked.wizardTRecomanem especialment les següents eines:,We especially recommend the following tools:wizardlBenvingut a l'(E)ditor (I)nteractiu de (P)ython - IEP!-Welcome to the Interactive Editor for Python!wizardnPodeu executar comandaments directament a la *consola*,1You can execute commands directly in the *shell*,wizard|o pot escriure codi en l'*editor* i posteriorment executar-ho.7or you can write code in the *editor* and execute that.wizardˆpyzo-4.12.3/pyzo/resources/translations/pyzo_de_DE.tr000066400000000000000000002742221421373005400227360ustar00rootroot00000000000000 bootstrapconda This will download and install miniconda on your computer. Also install scientific packages Waiting to start installation. debug Stack Stapel editor Close, Discard, Cancel, Save Closing Wird geschlossen Save modified file? Geänderte Datei speichern? Closing pinned Angeheftete Datei wird geschlossen Are you sure you want to close this pinned file? Sind Sie sicher, dass Sie diese angeheftete Datei schließen möchten? editorTabs Select one or more files to open Wählen Sie eine oder mehrere Dateien zum Öffnen aus Select the file to save to Wählen Sie die Datei aus, in der Sie speichern möchten filebrowser Filename filter Dateinamensfilter Search in files In Dateien suchen Projects: Projekte: Click star to bookmark current dir Klicken Sie auf den Stern, um das aktuelle Verzeichnis als Lesezeichen zu speichern Remove project Projekt entfernen Change project name Projektname ändern Add path to Python path Pfad zu Python-Pfad hinzufügen Project name Projektname New project name: Neuer Projektname: Match case Groß-/Kleinschreibung beachten RegExp Regulärer Ausdruck Search in subdirs In Unterverzeichnissen suchen Unstar this directory Markierung dieses Verzeichnisses entfernen Star this directory Dieses Verzeichnis markieren Open Öffnen Reveal in Finder Im Finder anzeigen Copy path Pfad kopieren Rename Umbenennen Delete Löschen Create new file Neue Datei erstellen Create new directory Neues Verzeichnis erstellen Give the new name for the file Geben Sie den neuen Namen für die Datei an Give the name for the new directory Geben Sie den Namen für das neue Verzeichnis an Duplicate Duplizieren Give the name for the new file Geben Sie den Namen für die neue Datei an Are you sure that you want to delete Sind Sie sicher, dass Sie löschen möchten Go to this directory in the current shell In dieses Verzeichnis der aktuellen Shell wechseln Import data... Daten importieren... Run as script Als Skript ausführen Run Jupyter notebook Jupyter-Notebook ausführen Open outside Pyzo Außerhalb von Pyzo öffnen importwizard Select file Datei auswählen Browse... Durchsuchen... Preview: Vorschau: Select columns to import: Wählen Sie die zu importierenden Spalten aus: Close Schließen Import data as single array Daten als einzelnes Array importieren Import data into one variable per column Daten in eine Variable pro Spalte importieren Raise error upon invalid data Fehler bei ungültigen Daten auslösen Import data wizard Datenimport-Assistent No current shell active Keine aktuelle Shell aktiv No current file open Keine aktuelle Datei geöffnet Import data Daten importieren The import data wizard is already open Der Datenimport-Assistent ist bereits geöffnet main unsaved nicht gespeichert menu File Datei Edit Bearbeiten View Ansicht Settings Einstellungen Shell Shell Run Ausführen Tools Werkzeuge Help Hilfe Use tabs Tabulatoren verwenden Use spaces Leerzeichen verwenden spaces plural of spacebar character Leerzeichen Indentation ::: The indentation used of the current file. Einrückung ::: Die in der aktuellen Datei verwendete Einrückung. Syntax parser ::: The syntax parser of the current file. Syntax-Parser ::: Der Syntax-Parser der aktuellen Datei. Line endings ::: The line ending character of the current file. Zeilenumbrüche ::: Das Zeilenumbruchzeichen der aktuellen Datei. Encoding ::: The character encoding of the current file. Kodierung ::: Die Zeichensatzkodierung der aktuellen Datei. New ::: Create a new (or temporary) file. Neu ::: Neue (oder temporäre) Datei erstellen. Open... ::: Open an existing file from disk. Öffnen... ::: Öffnen einer vorhandenen Datei von der Festplatte. Save ::: Save the current file to disk. Speichern ::: Speichern der aktuellen Datei auf der Festplatte. Save as... ::: Save the current file under another name. Speichern unter... ::: Aktuelle Datei unter einem anderen Namen speichern. Save all ::: Save all open files. Alles speichern ::: Alle geöffneten Dateien speichern. Close ::: Close the current file. Schließen ::: Schließen der aktuellen Datei. Close all ::: Close all files. Alles schließen ::: Alle Dateien schließen. Undo ::: Undo the latest editing action. Rückgängig ::: Letzte Bearbeitung rückgängig machen. Cut ::: Cut the selected text. Ausschneiden ::: Ausgewählten Text ausschneiden. Copy ::: Copy the selected text to the clipboard. Kopieren ::: Ausgewählten Text in die Zwischenablage kopieren. Paste ::: Paste the text that is now on the clipboard. Einfügen ::: Einfügen des Textes, der sich momentan in der Zwischenablage befindet. Select all ::: Select all text. Alles auswählen ::: Gesamten Text markieren. Indent ::: Indent the selected line. Einrücken ::: Markierte Zeile einrücken. Dedent ::: Unindent the selected line. Zurückrücken ::: Einrücken der ausgewählten Zeile rückgängig machen. Comment ::: Comment the selected line. Kommentar ::: Ausgewählte Zeile kommentieren. Uncomment ::: Uncomment the selected line. Entkommentieren ::: Ausgewählte Zeile entkommentieren. Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters. Kommentar/docstring berichtigen ::: Ausgewählten Text so umgestalten, dass er auf etwa 70 Zeichen angepasst ist. Go to line ::: Go to a specific line number. Zu Zeile gehen ::: Zu einer bestimmten Zeilennummer gehen. Toggle breakpoint ::: Toggle breakpoint on the current line. Haltepunkt umschalten ::: Haltepunkt auf der aktuellen Zeile umschalten. Find or replace ::: Show find/replace widget. Initialize with selected text. Suchen oder Ersetzen ::: Bedienelement Suchen/Ersetzen anzeigen. Mit ausgewähltem Text initialisieren. Find selection ::: Find the next occurrence of the selected text. Auswahl suchen ::: Nächstes Vorkommen des ausgewählten Textes finden. Find selection backward ::: Find the previous occurrence of the selected text. Auswahl rückwärts suchen ::: Vorheriges Vorkommen des ausgewählten Textes finden. Find next ::: Find the next occurrence of the search string. Weitersuchen ::: Nächstes Vorkommen des Suchbegriffs finden. Find previous ::: Find the previous occurrence of the search string. Vorherige suchen ::: Vorheriges Vorkommen des Suchbegriffs finden. Accept autocompletion with: Autovervollständigung übernehmen mit: Zoom in Vergrößern Zoom out Verkleinern Zoom reset Zoom zurücksetzen Location of long line indicator ::: The location of the long-line-indicator. Position der Zeilenlängenanzeige ::: Die Position der Zeilenlängenanzeige. Qt theme ::: The styling of the user interface widgets. Qt-Thema ::: Das Aussehen der Benutzeroberflächen-Bedienelemente. Select shell ::: Focus the cursor on the current shell. Shell auswählen ::: Schreibmarke auf die aktuelle Shell fokussieren. Select editor ::: Focus the cursor on the current editor. Editor auswählen ::: Schreibmarke auf den aktuellen Editor fokussieren. Select previous file ::: Select the previously selected file. Vorherige Datei auswählen ::: Zuvor ausgewählte Datei auswählen. Show whitespace ::: Show spaces and tabs. Leerzeichen anzeigen ::: Leerzeichen und Tabulatoren anzeigen. Show line endings ::: Show the end of each line. Zeilenumbrüche anzeigen ::: Das Ende jeder Zeile anzeigen. Show indentation guides ::: Show vertical lines to indicate indentation. Einrückungshilfslinien anzeigen ::: Vertikale Linien zur Darstellung der Einrückung anzeigen. Wrap long lines ::: Wrap lines that do not fit on the screen (i.e. no horizontal scrolling). Lange Zeilen umbrechen ::: Zeilen, die nicht auf den Bildschirm passen, umbrechen (d.h. kein horizontaler Bildlauf). Highlight current line ::: Highlight the line where the cursor is. Aktuelle Zeile hervorheben ::: Die Zeile, in der sich die Schreibmarke befindet, hervorheben. Font Schriftart Zooming Zoomen Clear screen ::: Clear the screen. Bildschirm löschen ::: Löschen des Bildschirms. Interrupt ::: Interrupt the current running code (does not work for extension code). Unterbrechen ::: Aktuell ausgeführten Code unterbrechen (funktioniert nicht bei Erweiterungscode). Restart ::: Terminate and restart the interpreter. Neustart ::: Interpreter schliessen und neu starten. Terminate ::: Terminate the interpreter, leaving the shell open. Beenden ::: Interpreter beenden, die Shell bleibt offen. Close ::: Terminate the interpreter and close the shell. Schließen ::: Interpreter beenden und die Shell schließen. Edit shell configurations... ::: Add new shell configs and edit interpreter properties. Shell-Konfigurationen bearbeiten... ::: Neue Shell-Konfigurationen hinzufügen und Interpreter-Eigenschaften bearbeiten. New shell ... ::: Create new shell to run code in. Neue Shell ... ::: Neue Shell zum Ausführen von Code erstellen. Run selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection. Auswahl ausführen ::: Ausgewählte Zeilen des aktuellen Editors, ausgewählte Wörter in der aktuellen Zeile oder die aktuelle Zeile ausführen, wenn nichts ausgewählt ist. Close others::: Close all files but this one. Alle anderen schließen ::: Alle Dateien außer dieser schließen. Rename ::: Rename this file. Umbenennen ::: Diese Datei umbenennen. Copy path ::: Copy the full path of this file. Pfad kopieren ::: Den vollständigen Pfad dieser Datei kopieren. Pin/Unpin ::: Pinned files get closed less easily. Anheften/Lösen ::: Angeheftete Dateien können weniger leicht geschlossen werden. Set/Unset as MAIN file ::: The main file can be run while another file is selected. Als MAIN-Datei festlegen/aufheben ::: Die Datei main kann ausgeführt werden, während eine andere Datei ausgewählt ist. Run file ::: Run the code in this file. Datei ausführen ::: Code in dieser Datei ausführen. Run file as script ::: Run this file as a script (restarts the interpreter). Datei als Skript ausführen ::: Diese Datei als Skript ausführen (startet den Interpreter neu). Reload tools ::: For people who develop tools. Werkzeuge neu laden ::: Für Personen, die Werkzeuge entwickeln. Ask a question ::: Need help? Eine Frage stellen ::: Brauchen Sie Hilfe? Automatically indent ::: Indent when pressing enter after a colon. Automatische Einrückung ::: Einrücken beim Drücken von Eingabe nach einem Doppelpunkt. Enable calltips ::: Show calltips with function signatures. Aufruftipps aktivieren ::: Aufruftipps mit Funktionssignaturen anzeigen. Autocomplete keywords ::: The autocompletion list includes keywords. Schlüsselwörter automatisch vervollständigen ::: Die Autovervollständigungsliste enthält Schlüsselwörter. Edit key mappings... ::: Edit the shortcuts for menu items. Tastenzuordnungen bearbeiten ::: Tastaturkürzel für Menüpunkte bearbeiten. Edit syntax styles... ::: Change the coloring of your code. Syntax-Stile bearbeiten... ::: Farbgebung Ihres Codes ändern. Debug next: proceed until next line Debug weiter: Bis zur nächsten Zeile Debug return: proceed until returns Debug zurück: Bis zur Umkehr Debug continue: proceed to next breakpoint Debug weiter: Bis zum nächsten Haltepunkt Stop debugging Debugging stoppen Clear all {} breakpoints Alle {} Haltepunkte löschen Postmortem: debug from last traceback Postmortal: Debug vom letzten Traceback Debug step into: proceed one step Debug Einsprung: Ein Schritt Run file as script ::: Restart and run the current file as a script. Datei als Skript ausführen ::: Neu starten und die aktuelle Datei als Skript ausführen. Run main file as script ::: Restart and run the main file as a script. Datei main als Skript ausführen ::: Neu starten und Datei main als Skript ausführen. Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection. Auswahl ausführen ::: Ausgewählte Zeilen des aktuellen Editors, ausgewählte Wörter in der aktuellen Zeile oder die aktuelle Zeile ausführen, wenn nichts ausgewählt ist. Execute cell ::: Execute the current editors's cell in the current shell. Zelle ausführen ::: Aktuelle Zelle des Editors in der aktuellen Shell ausführen. Execute cell and advance ::: Execute the current editors's cell and advance to the next cell. Zelle ausführen und weiter ::: Aktuelle Zelle des Editors ausführen und zur nächsten Zelle vorrücken. Execute file ::: Execute the current file in the current shell. Datei ausführen ::: Aktuelle Datei in der aktuellen Shell ausführen. Execute main file ::: Execute the main file in the current shell. Datei main ausführen ::: Datei main in der aktuellen Shell ausführen. Export to PDF ::: Export current file to PDF (e.g. for printing). Als PDF exportieren ::: Aktuelle Datei als PDF exportieren (z.B. zum Drucken). Paste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation. Einfügen und Auswählen ::: Den Text, der sich momentan in der Zwischenablage befindet, einfügen und ausgewählt lassen, um seine Einrückung zu ändern. Previous cell ::: Go back to the previous cell. Vorherige Zelle ::: Zur vorherigen Zelle zurückkehren. Next cell ::: Advance to the next cell. Nächste Zelle ::: Zur nächsten Zelle vorrücken. Previous object ::: Go back to the previous top-level structure. Vorheriges Objekt ::: Zur vorherigen übergeordneten Struktur zurückkehren. Next object ::: Advance to the next top-level structure. Nächstes Objekt ::: Zur nächsten übergeordneten Struktur vorrücken. Goto Definition ::: Go to definition of word under cursor. Zur Definition gehen ::: Zur Definition des Wortes unter der Schreibmarke gehen. Restart Pyzo ::: Restart the application. Pyzo neu starten ::: Anwendung neu starten. Quit Pyzo ::: Close the application. Pyzo beenden ::: Anwendung schließen. Report an issue ::: Did you found a bug in Pyzo, or do you have a feature request? Ein Problem melden ::: Haben Sie in Pyzo einen Fehler gefunden oder haben Sie eine Funktionsanfrage? Check for updates ::: Are you using the latest version? Nach Aktualisierungen suchen ::: Verwenden Sie die neueste Version? About Pyzo ::: More information about Pyzo. Über Pyzo ::: Weitere Informationen über Pyzo. Select language ::: The language used by Pyzo. Sprache auswählen ::: Die von Pyzo verwendete Sprache. Pyzo website ::: Open the Pyzo website in your browser. Pyzo Webseite ::: Pyzo-Webseite in Ihrem Browser öffnen. Pyzo guide ::: Open the Pyzo guide in your browser. Pyzo-Anleitung ::: Pyzo-Anleitung in Ihrem Browser öffnen. Local documentation ::: Documentation on Python and the Scipy Stack. Lokale Dokumentation ::: Dokumentation über Python und den Scipy Stack. Highlight brackets ::: Highlight matched and unmatched brackets. Klammern hervorheben ::: Passende und unpassende Klammern hervorheben. There is no main file selected. Es ist keine Datei main ausgewählt. Could not save the file. Datei konnte nicht gespeichert werden. Can only run scripts that are in the file system. Kann nur Skripte ausführen, die sich im Dateisystem befinden. Pyzo wizard ::: Get started quickly. Pyzo-Assistent ::: Schnell anfangen. None Keine Create new Python environment... ::: Install miniconda. Neue Python-Umgebung erstellen... ::: miniconda installieren. Create shell %s: (%s) Shell %s erstellen: (%s) Execute selection and advance Auswahl ausführen und vorrücken Help on running code ::: Open the pyzo wizard at the page about running code. Hilfe zur Ausführung von Code ::: Öffnet den Pyzo-Assistenten auf der Seite über das Ausführen von Code. (as script) (als Skript) No autocompletion Keine Autovervollständigung Automatic popup Automatisches Popup Only show popup when pressing Tab Popup nur beim Drücken der Tabulatortaste anzeigen Autocompletion Autovervollständigung Advanced settings... ::: Configure Pyzo even further. Erweiterte Einstellungen... ::: Pyzo noch weiter konfigurieren. Search Suchen History Verlauf Copy ::: Copy selected lines Kopieren ::: Ausgewählte Zeilen kopieren Run ::: Run selected lines in current shell Ausführen ::: Ausgewählte Zeilen in der aktuellen Shell ausführen Remove ::: Remove selected history items(s) Entfernen ::: Ausgewählte(s) Verlaufselement(e) entfernen Duplicate line ::: Duplicate the selected line(s). Zeile duplizieren ::: Ausgewählte Zeile(n) duplizieren. Delete line ::: Delete the selected line(s). Zeile löschen ::: Ausgewählte Zeile(n) löschen. default Standard Open current directory in file browser Aktuelles Verzeichnis im Dateibrowser öffnen Change current directory to the file browser's path Aktuelles Verzeichnis in den Pfad des Dateibrowsers ändern Open directory in file browser Verzeichnis im Dateibrowser öffnen No shell to run code in. Keine Shell zum Ausführen von Code. No editor selected. Kein Editor ausgewählt. Change current directory to editor file path Aktuelles Verzeichnis in den Dateipfad des Editors ändern Change directory when executing file ::: like Run File As Script does Verzeichnis beim Ausführen der Datei wechseln ::: wie Datei als Skript ausführen es macht Toggle Case ::: Change selected text to lower or upper case Groß-/Kleinschreibung umschalten ::: Ausgewählten Text in Klein- oder Großbuchstaben ändern Auto close quotes ::: Auto close single and double quotes. Anführungszeichen automatisch schließen ::: Einfache und doppelte Anführungszeichen automatisch schließen. Auto close brackets ::: Auto close ( { [ ] } ). Klammern automatisch schließen ::: ( { [ ] } ) automatisch schließen. Tab Tabulatortaste Enter Eingabe Tab, Enter Tabulatortaste, Eingabe Tab, (, [ Tabulatortaste, (, [ Tab, Enter, (, [ Tabulatortaste, Eingabe, (, [ Redo ::: Redo the last undone editing action. Help on this expression ::: Show help for the selected expression. menu dialog Could not run Konnte nicht ausgeführt werden Could not run script. Skript konnte nicht ausgeführt werden. Check for the latest version. Nach der neuesten Version suchen. Language changed Sprache geändert Edit shortcut mapping Tastenkürzelzuordnung bearbeiten Shortcut mappings Tastenkürzelzuordnungen About Pyzo Über Pyzo Could not run notebook Notebook konnte nicht ausgeführt werden The language has been changed. Pyzo needs to restart for the change to take effect. Die Sprache wurde geändert. Pyzo muss neu gestartet werden, damit die Änderung wirksam wird. Could not change dir Verzeichnis konnte nicht gewechselt werden Advanced Settings pyzoFileBrowser File Browser pyzoHistoryViewer History viewer Verlaufsanzeige pyzoInteractiveHelp Interactive help Shows help on an object when using up/down in autocomplete. Help information is queried from the current shell when moving up/down in the autocompletion list and when double clicking on a name. Smart format Font size: %i This keyword introduces the definition of a class. This keyword introduces the definition of a function. No help is available for operators because they are ambiguous: their meaning depend on the type of the first operand. Help on this Suspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function. This keyword can appear as part of an alternative (see: ``if``), a loop (see: ``for``, ``while``) or a ``try`` statement. Find and load modules or members of modules. Examples: ``` import foo # foo imported and bound locally import foo.bar.baz # foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb from foo.bar import baz # foo.bar.baz imported and bound as baz from foo import attr # foo imported and foo.attr bound as attr from foo import * # foo imported and all its members bound # under their respective names ``` This is an instruction that does nothing. It is useful in cases where a statement must appear because of syntactic constraints but we have nothing to do. This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the loop early, regardless of the loop condition. See also: ``continue`` An ``except`` clause can appear as a part of a ``try`` statement. This keyword usually refers to membership of an object in a structure. There are actually two different kinds of ``in``. In a construct of the form ``for identifier in iterable``, ``in`` is a purely syntactic element that bears no meaning per se. See: ``for`` Outside such constructs, ``in`` is an operator and its precise meaning depends on the type of the first operand. The ``raise`` statement is used to raise an Exception. Raising an exception will cause the program to abort, unless the exception is handled by a surrounding ``try``/``except`` statement or ``with`` statement. An ``finally`` clause can appear as a part of a ``try`` statement. This operator tests for an object’s identity: ``x is y`` is true if and only if ``x`` and ``y`` are the same object. See also: ``id`` This keyword can only appear in the definition of a function. It is usually followed by an expression. It means that the execution of the function call terminates here and that the result of the call is the value of the following expression. If ``return`` is not followed by an expression, the result is ``None``. This operator computes the boolean conjunction in a lazy manner. More precisely, the expression ``x and y`` first evaluates ``x``; if ``x`` is false, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``or``, ``not``, ``True``, ``False`` This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the current run of the body early. The loop may still make additional runs of its body if its condition is still true . See also: ``break`` The ``for`` statement is used to iterate over the elements of an iterable object: ``` for variable in iterable: body else: # optional suite ``` The expression ``iterable`` is evaluated once; its value should be an iterable object. An iterator is created for the result of that expression. The ``body`` is then executed once for each item provided by the iterator, in the order returned by the iterator: each item in turn is assigned to the ``variable`` and then the ``body`` is executed. When the items are exhausted (which is immediately when the ``iterable`` is empty), the ``suite`` in the ``else`` clause, if present, is executed, and the loop terminates. A ``break`` statement executed in the first suite terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the first suite skips the rest of the ``body`` and continues with the next item, or with the ``else`` clause if there is no next item. The for-loop makes assignments to the ``variable``. This overwrites all previous assignments to that variable including those made in the ``body`` of the for-loop: ``` for i in range(10): print(i) i = 5 # this will not affect the for-loop # because i will be overwritten with the next # index in the range ``` The ``for`` keyword can also be part of a generator. Example: ``` [2*x for x in T] ``` This builds from ``T`` a list where each item was doubled. This keyword is used to produce an anonymous function. Example: ``` lambda x,y,z : (x+y) * z ``` The ``as`` keyword can appear in an ``import`` statement, in an ``except`` clause of a ``try`` statement or in a ``with`` statement. This keyword can appear as a part of an ``import`` or a ``raise``. It has different meanings; see help on those keywords. This keyword can only appear in the definition of a function. It is followed by identifiers and indicates that those identifier refer variables from the outer scope, not local variables in the function being defined. See also: ``global`` The while statement is used for repeated execution as long as an expression is true: ``` while expression: body else: # optional suite ``` This repeatedly tests the ``expression`` and, if it is true, executes the ``body``; if the ``expression`` is false (which may be the first time it is tested) the ``suite`` of the ``else`` clause, if present, is executed and the loop terminates. A ``break`` statement executed in the ``body`` terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the ``body`` skips the rest of the ``body`` and goes back to testing the ``expression``. Assert statements are a convenient way to insert debugging assertions into a program. Deletion of a name removes the binding of that name from the local or global namespace. It is also possible to delete an item in a list. This keyword is followed by identifiers and indicates that those identifiers refer variables from the module scope, not local variables. See also: ``nonlocal`` The operator ``not`` returns ``True`` if its argument is false, ``False`` otherwise. See also: ``and``, ``or``, ``True``, ``False`` The ``with`` statement is used to wrap the execution of a block with methods defined by a context manager. Example: ``` with open(filename) as infile: header = infile.readline() # etc. ``` In this example, the context manager will ensure correct closing of the file upon exiting the ``with`` statement, even if an exception was raised. This keyword appears as part of the ``async def``, ``async for`` and ``async with`` constructs and allows for writing coroutines. This keyword can only appear as part of an alternative. See: ``if`` This keyword usually introduces an alternative. It is followed by a conditon and introduces the statement to execute when this condition is true. The alternative can only have one ``if`` clause, at the beginning. It can also comprise one or more ``elif`` clauses and at most one ``else`` clause at the end. Example: ``` if condition1 : doSomething # when condition1 evaluates to True elif condition2 : # optional, may have several such clauses doSomeOtherthing # when condition1 evaluates to False and condition2 to True else : # optional doAnotherThing # when all conditions evaluate to False ``` The ``if`` keyword can also appear in a generator. Example: ``` [x for x in T if x%2==0] ``` This filters ``T`` to keep only its even items. This operator computes the boolean disjunction in a lazy manner. More precisely, the expression ``x or y`` first evaluates ``x``; if ``x`` is true, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``and``, ``not``, ``True``, ``False`` The ``yield`` expression is used when defining a generator function or an asynchronous generator function and thus can only be used in the body of a function definition. Using a yield expression in a function’s body causes that function to be a generator, and using it in an ``async def`` function’s body causes that coroutine function to be an asynchronous generator. The ``try`` statement allows to recover when an Exception was raised. It has two main forms. ``` try: critical_section except SomeExceptionType as e: suite # manage exceptions of type SomeExceptionType else: # optional everything_ok ``` If ``critical_section`` raises an exception of type ``SomeExceptionType``, the whole program will not abort but the ``suite`` will be executed, with ``e`` being bound to the actual exception. Several ``except`` clauses may be specified, each dealing with some kind of exception. If an exception is raised in ``critical_section`` but is not managed by any ``except`` clause, the whole program aborts. If there is an ``else`` clause, its body is executed if the control flow leaves the ``critical_section``, no exception was raised, and no ``return``, ``continue`` or ``break`` statement was executed. Exceptions in the ``else`` clause are not handled by the preceding ``except`` clauses. ``` try: critical_section finally: suite ``` If ``critical_section`` raises an exception, the ``suite`` will be executed before aborting the program. The ``suite`` is also executed when no exception is raised. When a ``return``, ``break`` or ``continue`` statement is executed in the ``critical_section``, the ``finally`` clause is also executed ‘on the way out.’ A ``continue`` statement is illegal in the ``finally`` clause. Both mechanisms can be combined, the ``finally`` clause coming after the last ``except`` clause or after the optional ``else`` clause. pyzoSourceStructure Source structure Quellstruktur Parsing Parsen pyzoWebBrowser Web browser pyzoWorkspace Workspace Lists the variables in the current shell's namespace. Name Type Repr Show namespace Show help Delete Löschen Hide types Hide functions Hide modules Hide private identifiers Hide the shell's startup variables Lists the variables in the current shell's namespace. Currently, there are none. Some of them may be hidden because of the filters you configured. search Hide search widget (Escape) Such-Widget ausblenden (Escape) Find pattern Pattern/Suchmuster finden Previous ::: Find previous occurrence of the pattern. Vorheriges ::: Finde vorheriges Vorkommen des Patterns/Suchmusters. Next ::: Find next occurrence of the pattern. Nächstes ::: Finde nächstes Vorkommen des Patterns/Suchmusters. Replace pattern Pattern/Suchmuster ersetzen Replace ::: Replace this match. Ersetzen ::: Ersetze diesen Treffer. Match case ::: Find words that match case. Groß-/Kleinschreibung ::: Passende Worte finden. RegExp ::: Find using regular expressions. Regulärer Ausdruck / Regex ::: Finden mit Regulärem Ausdruck. Whole words ::: Find only whole words. Ganze Wörter ::: Nur ganze Wörter suchen. Auto hide ::: Hide search/replace when unused for 10 s. Automatisch ausblenden ::: Suchen/Ersetzen ausblenden, wenn 10 s unbenutzt. one eins all in this file alles in dieser Datei all in all files alles in allen Dateien shell Use system default Systemstandard verwenden name ::: The name of this configuration. name ::: Der Name dieser Konfiguration. exe ::: The Python executable. exe ::: Die ausführbare Python-Datei. gui ::: The GUI toolkit to integrate (for interactive plotting, etc.). gui ::: Das zu integrierende GUI-Toolkit (für interaktives Plotten, usw.). pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS. pythonPath ::: Eine Liste von Verzeichnissen, in denen nach Modulen und Paketen gesucht wird. Schreiben Sie jeden Pfad in eine neue Zeile oder trennen Sie ihn mit dem Standard-Trennzeichen für dieses Betriebssystem. startupScript ::: The script to run at startup (not in script mode). startupScript ::: Das beim Starten auszuführende Skript (nicht im Skriptmodus). startDir ::: The start directory (not in script mode). startDir ::: Das Startverzeichnis (nicht im Skriptmodus). Delete ::: Delete this shell configuration Löschen ::: Diese Shell-Konfiguration löschen Shell configurations Shell Konfiguration Add config Konfiguration hinzufügen ipython ::: Use IPython shell if available. ipython ::: Wenn vorhanden, IPython-Shell verwenden. File to run at startup Beim Starten auszuführender Datei Code to run at startup Beim Starten auszuführender Code argv ::: The command line arguments (sys.argv). arg ::: Kommandozeilen-Argumente (sys.argv). environ ::: Extra environment variables (os.environ). Umgebung ::: Zusätzliche Umgebungsvariablen (os.environ). shells Click to select shell. Zum Auswählen der Shell klicken. splash This is <b>Pyzo</b><br />the Python IDE for scientific computing Dies ist <b>Pyzo</b><br />die Python-IDE für wissenschaftliches Rechnen Version Version Pyzo is open source software and freely available for everyone. Pyzo ist eine quelloffene Software und für jeden frei verfügbar. wizard Step Schritt Welcome to the Interactive Editor for Python! Willkommen beim interaktiven Editor für Python! Select language Sprache auswählen Language changed Sprache geändert You can execute commands directly in the *shell*, Sie können Befehle direkt in der *Shell* ausführen, or you can write code in the *editor* and execute that. oder Sie können Code im *Editor* schreiben und diesen ausführen. The editor is where you write your code Im Editor schreiben Sie Ihren Code In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc. Im *Editor* wird jede geöffnete Datei als Registerkarte dargestellt. Durch einen Rechtsklick auf eine Registerkarte können Dateien ausgeführt, gespeichert, geschlossen, usw. werden. The shell is where your code gets executed In der Shell wird Ihr Code ausgeführt Configuring shells Shells konfigurieren Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath. Über 'Shell > Shell-Konfigurationen bearbeiten' können Sie *Shell-Konfigurationen* bearbeiten und hinzufügen. So können Sie z.B. das initiale Verzeichnis auswählen oder einen benutzerdefinierten Pythonpfad verwenden. Running code Laufender Code *Run cell:* a cell is everything between two lines starting with '##'. *Zelle ausführen:* eine Zelle ist alles zwischen zwei Zeilen, beginnend mit '##'. *Run file:* run all the code in the current file. *Datei ausführen:* den gesamten Code in der aktuellen Datei ausführen. *Run project main file:* run the code in the current project's main file. *Datei main des Projekts ausführen:* den Code in der Datei main des aktuellen Projekts ausführen. Interactive mode vs running as script Interaktiver Modus vs. Ausführung als Skript In interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to ['']. Im interaktiven Modus ist sys.path[0] eine leere Zeichenkette (d.h. das aktuelle Verzeichnis) und sys.argv wird auf [''] festgelegt. Tools for your convenience Werkzeuge für Ihren Komfort Via the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked. Über das Menü *Werkzeuge* können Sie auswählen, welche Werkzeuge Sie verwenden möchten. Die Werkzeuge können beliebig positioniert und auch abgedockt werden. Note that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example. Beachten Sie, dass das Werkzeugsystem so konzipiert ist, dass es einfach ist, eigene Werkzeuge zu erstellen. Weitere Informationen finden Sie im Online-Wiki oder verwenden Sie eines der vorhandenen Werkzeuge als Beispiel. Recommended tools Empfohlene Werkzeuge We especially recommend the following tools: Wir empfehlen insbesondere die folgenden Werkzeuge: The *Source structure tool* gives an outline of the source code. Das *Werkzeug Quellstruktur* gibt einen Überblick über den Quellcode. The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon. Das *Werkzeug Dateibrowser* hilft, den Überblick über alle Dateien in einem Verzeichnis zu behalten. Klicken Sie auf das Stern-Symbol, um Ihre Projekte zu verwalten. Get coding! Auf geht's! Getting started with Pyzo Erste Schritte mit Pyzo This wizard helps you get familiarized with the workings of Pyzo. Dieser Assistent hilft Ihnen, sich mit der Funktionsweise von Pyzo vertraut zu machen. Pyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*. Pyzo ist eine plattformübergreifende Python-IDE mit den Schwerpunkten *Interaktivität* und *Inspektion*, die sich hervorragend für wissenschaftliche Berechnungen eignet. Sein praktisches Design ist auf *Einfachheit* und *Effizienz* ausgerichtet. This wizard can be opened using 'Help > Pyzo wizard' Dieser Assistent kann über 'Hilfe > Pyzo-Assistent' geöffnet werden The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. Die Sprache für diesen Assistenten wurde geändert. Pyzo muss neu gestartet werden, damit die Änderung anwendungsweit wirksam wird. Pyzo consists of two main components Pyzo besteht aus zwei Hauptkomponenten When Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions. Beim Start von Pyzo wird eine Standard-*Shell* erstellt. Sie können weitere Shells hinzufügen, die gleichzeitig ausgeführt werden und die von verschiedenen Python-Versionen stammen können. Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell. Shells laufen in einem Subprozess, so dass Pyzo selbst dann reaktionsschnell bleibt, wenn sie ausgelastet sind, damit Sie weiterhin programmieren und sogar Code in einer anderen Shell ausführen können. Pyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib. Pyzo kann die Ereignisschleife von fünf verschiedenen *GUI-Toolkits* integrieren und so interaktives Plotten mit z.B. Visvis oder Matplotlib ermöglichen. Pyzo supports several ways to run source code in the editor. (see the 'Run' menu). Pyzo unterstützt mehrere Möglichkeiten, um Quellcode im Editor auszuführen. (siehe Menü "Ausführen"). This concludes the Pyzo wizard. Now, get coding and have fun! Damit ist der Pyzo-Assistent abgeschlossen. Jetzt können Sie programmieren und Spaß haben! The right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily. Mit der rechten Maustaste kann man eine Datei auch zur *Datei main* eines Projekts machen. Diese Datei ist an ihrem Stern-Symbol zu erkennen und ermöglicht es, die Datei leichter auszuführen. *Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines. *Auswahl ausführen:* Wenn es keinen ausgewählten Text gibt, wird die aktuelle Zeile ausgeführt; wenn die Auswahl in einer einzigen Zeile ist, wird die Auswahl ausgewertet; wenn die Auswahl mehrere Zeilen umfasst, führt Pyzo die (vollständig) ausgewählten Zeilen aus. In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script. Im Skriptmodus werden __file__ und sys.argv[0] auf den Dateinamen des Skripts festgelegt, sys.path[0] und das Arbeitsverzeichnis werden auf das Verzeichnis festgelegt, das das Skript enthält. You can run the current file or the main file normally, or as a script. When run as script, the shell is restarted to provide a clean environment. The shell is also initialized differently so that it closely resembles a normal script execution. pyzo-4.12.3/pyzo/resources/translations/pyzo_de_DE.tr.qm000066400000000000000000001477761421373005400233670ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝBàY¾_“ZrqñvEˆ‚T¼¯»-ÈÐ%:OÖT?Bì0A—ºÒVEOVf¾ !ªÀ³ÏÇx}"zÁÔ6¬‰[ÞJ6• LZÂ2ºYì,n)Z§›[f3v]`/D)¦…€eŽQò‚ÓnCa„ªž9YŒT~VΕ'î®s–§”­—Ýþ)G~#p¤Ú%ßð!gµðxÞ.á >" Ð¥¯þ(`õ$?´Na-ETÎb8eöžzf@'zµp^G4}b®*ŽÖO}’€®|û–ÁZ ̬c>†ã¯˜î‰lø˜~ïúEä¥ùƒŠ|T„w.# t²O$aªV$оMNX8N`‡s˜’}zz“~Y;{²6ì´Ž;C¢'Ÿž¦¥ .D¤¨L9‚í¬,¥Ü¬,¥vµÙ`{F¹Š¶­Ë|IËÏ~:vÏô$»âô+r)éÓN@,õ®Ÿøkµ™¥.…¢!F>?s$‡S*¿&Enx¨3 UŽSõnX>sða@>¥ÿh+n0?njÞA|y“3‹¼ð 1ŒH5 Ë™s!€›ˆ˜hš°¾1óÌMÞ üú öR>#ý%Øîux'îQ-13ªÁ<ô>5(I<5ALö®YÀY žE1_pÔz9zZ ´JJP³¯ C¢6—ˆ¨²µ®2æÆln°Îm>ŽéJžÆô÷5°Aóå…^¨Æ/ÓeP85ˆ-V²”åV²”¥´V¿~[[†>9[¡îiUd ‚€”åþ†a†QÎ’£°³w夨nÆ+¦yÃ{·"ÈØ¹i _ÁËÿž„Ìѯ€ˆüÑÚŠ Ó/µtnÕjî1 ÙjŽhÅážfQï+“bÿûNol#¢nZ’A/%¶'i|Rçjù^$Á†kW»šð€æ›u¼·ªþ-ùÌùÚóå“ ¯0•Æ ÆþKI þp) 6ïÁD IxŽ"« KÆŽ j$‡Ö w¢Sx2 €qŽL° ‹u8å Ž¨¾ü £ 5 f ­g~Ã' °Ön6 ÍØBP² רÎKç Þ@Ù  ö› Y ð.™‚ Bñžj iîÔ 6 5 ;Ñ~^û ?•H J€‡p OZOä “½õþ ”c+3 Ÿޱ «ãq. ­SÛrÄ ¼ŒTzá ãlΗ§ ý¦>F 3Êî½ e…*; t®µB …Ëns' ‡‚w ™žR Ÿ4j5 ÔÉT { ýñ š.»§ ,<žN% 0ônd` YŒÄ5 [=n'j ao|¿ t§žH —"k¾ °êîq0 »smî »)D¹7 ¿öîF É •– ˳¾T£ ë¶n˜ª 3ÎX{ r] ˜iÒ äi= )Áå‡ 0…ð 7 ÿë Bn~Nß Gn‘¤ MÙN„ O¶ÿ Q Qunø Vžƒa Âú¾³< Ï¿^V ä?΋, ð‹Sž¥ð£DŸ+Vî,l!ÿÂ4[>’f:×>&¥Oý‚rsZøt Á\ñ¾¢õ¬³>‹Í»>w<Ë;AF÷¶~nQü´n  _Ž~ ¶ÙDv Œ’Iª±¹ÆJ:jè~ß”zp‹ÇNIeŒ>'ç§#ÒP­x^“Ó³YEѵ® ÖÞŽgßDäŠÐü.“!iÆý StapelStackdebugˆSind Sie sicher, dass Sie diese angeheftete Datei schließen möchten?0Are you sure you want to close this pinned file?editorÿÿÿÿClose, Discard, Cancel, Saveeditor Wird geschlossenClosingeditorDAngeheftete Datei wird geschlossenClosing pinnededitor4Geänderte Datei speichern?Save modified file?editorfWählen Sie eine oder mehrere Dateien zum Öffnen aus Select one or more files to open editorTabslWählen Sie die Datei aus, in der Sie speichern möchtenSelect the file to save to editorTabs<Pfad zu Python-Pfad hinzufügenAdd path to Python path filebrowserRSind Sie sicher, dass Sie löschen möchten$Are you sure that you want to delete filebrowser$Projektname ändernChange project name filebrowser¦Klicken Sie auf den Stern, um das aktuelle Verzeichnis als Lesezeichen zu speichern"Click star to bookmark current dir filebrowserPfad kopieren Copy path filebrowser6Neues Verzeichnis erstellenCreate new directory filebrowser(Neue Datei erstellenCreate new file filebrowserLöschenDelete filebrowserDuplizieren Duplicate filebrowser"DateinamensfilterFilename filter filebrowser^Geben Sie den Namen für das neue Verzeichnis an#Give the name for the new directory filebrowserRGeben Sie den Namen für die neue Datei anGive the name for the new file filebrowserTGeben Sie den neuen Namen für die Datei anGive the new name for the file filebrowserdIn dieses Verzeichnis der aktuellen Shell wechseln)Go to this directory in the current shell filebrowser(Daten importieren...Import data... filebrowser<Groß-/Kleinschreibung beachten Match case filebrowser$Neuer Projektname:New project name: filebrowser ÖffnenOpen filebrowser2Außerhalb von Pyzo öffnenOpen outside Pyzo filebrowserProjektname Project name filebrowserProjekte: Projects: filebrowser$Regulärer AusdruckRegExp filebrowser"Projekt entfernenRemove project filebrowserUmbenennenRename filebrowser$Im Finder anzeigenReveal in Finder filebrowser4Jupyter-Notebook ausführenRun Jupyter notebook filebrowser(Als Skript ausführen Run as script filebrowser"In Dateien suchenSearch in files filebrowser:In Unterverzeichnissen suchenSearch in subdirs filebrowser8Dieses Verzeichnis markierenStar this directory filebrowserTMarkierung dieses Verzeichnisses entfernenUnstar this directory filebrowserDurchsuchen... Browse... importwizardSchließenClose importwizard"Daten importieren Import data importwizardJDaten als einzelnes Array importierenImport data as single array importwizardZDaten in eine Variable pro Spalte importieren(Import data into one variable per column importwizard*Datenimport-AssistentImport data wizard importwizard:Keine aktuelle Datei geöffnetNo current file open importwizard4Keine aktuelle Shell aktivNo current shell active importwizardVorschau:Preview: importwizardHFehler bei ungültigen Daten auslösenRaise error upon invalid data importwizardZWählen Sie die zu importierenden Spalten aus:Select columns to import: importwizardDatei auswählen Select file importwizard\Der Datenimport-Assistent ist bereits geöffnet&The import data wizard is already open importwizard"nicht gespeichertunsavedmain (als Skript) (as script)menu\Über Pyzo ::: Weitere Informationen über Pyzo.+About Pyzo ::: More information about Pyzo.menuJAutovervollständigung übernehmen mit:Accept autocompletion with:menu~Erweiterte Einstellungen... ::: Pyzo noch weiter konfigurieren.5Advanced settings... ::: Configure Pyzo even further.menuTEine Frage stellen ::: Brauchen Sie Hilfe?Ask a question ::: Need help?menuŠKlammern automatisch schließen ::: ( { [ ] } ) automatisch schließen./Auto close brackets ::: Auto close ( { [ ] } ).menuÔAnführungszeichen automatisch schließen ::: Einfache und doppelte Anführungszeichen automatisch schließen.:Auto close quotes ::: Auto close single and double quotes.menuÒSchlüsselwörter automatisch vervollständigen ::: Die Autovervollständigungsliste enthält Schlüsselwörter.DAutocomplete keywords ::: The autocompletion list includes keywords.menu*AutovervollständigungAutocompletionmenu&Automatisches PopupAutomatic popupmenu¬Automatische Einrückung ::: Einrücken beim Drücken von Eingabe nach einem Doppelpunkt.BAutomatically indent ::: Indent when pressing enter after a colon.menuzKann nur Skripte ausführen, die sich im Dateisystem befinden.1Can only run scripts that are in the file system.menurAktuelles Verzeichnis in den Dateipfad des Editors ändern,Change current directory to editor file pathmenutAktuelles Verzeichnis in den Pfad des Dateibrowsers ändern3Change current directory to the file browser's pathmenu²Verzeichnis beim Ausführen der Datei wechseln ::: wie Datei als Skript ausführen es machtEChange directory when executing file ::: like Run File As Script doesmenu†Nach Aktualisierungen suchen ::: Verwenden Sie die neueste Version?7Check for updates ::: Are you using the latest version?menu6Alle {} Haltepunkte löschenClear all {} breakpointsmenu^Bildschirm löschen ::: Löschen des Bildschirms."Clear screen ::: Clear the screen.menuXSchließen ::: Schließen der aktuellen Datei.!Close ::: Close the current file.menutSchließen ::: Interpreter beenden und die Shell schließen.8Close ::: Terminate the interpreter and close the shell.menuVAlles schließen ::: Alle Dateien schließen.Close all ::: Close all files.menu~Alle anderen schließen ::: Alle Dateien außer dieser schließen.-Close others::: Close all files but this one.menuZKommentar ::: Ausgewählte Zeile kommentieren.&Comment ::: Comment the selected line.menuPKopieren ::: Ausgewählte Zeilen kopierenCopy ::: Copy selected linesmenu|Kopieren ::: Ausgewählten Text in die Zwischenablage kopieren.1Copy ::: Copy the selected text to the clipboard.menu~Pfad kopieren ::: Den vollständigen Pfad dieser Datei kopieren..Copy path ::: Copy the full path of this file.menuLDatei konnte nicht gespeichert werden.Could not save the file.menuzNeue Python-Umgebung erstellen... ::: miniconda installieren.7Create new Python environment... ::: Install miniconda.menu0Shell %s erstellen: (%s)Create shell %s: (%s)menu`Ausschneiden ::: Ausgewählten Text ausschneiden.Cut ::: Cut the selected text.menuRDebug weiter: Bis zum nächsten Haltepunkt*Debug continue: proceed to next breakpointmenuHDebug weiter: Bis zur nächsten Zeile#Debug next: proceed until next linemenu8Debug zurück: Bis zur Umkehr#Debug return: proceed until returnsmenu8Debug Einsprung: Ein Schritt!Debug step into: proceed one stepmenuˆZurückrücken ::: Einrücken der ausgewählten Zeile rückgängig machen.&Dedent ::: Unindent the selected line.menu^Zeile löschen ::: Ausgewählte Zeile(n) löschen.,Delete line ::: Delete the selected line(s).menunZeile duplizieren ::: Ausgewählte Zeile(n) duplizieren.2Duplicate line ::: Duplicate the selected line(s).menuBearbeitenEditmenu”Tastenzuordnungen bearbeiten ::: Tastaturkürzel für Menüpunkte bearbeiten.;Edit key mappings... ::: Edit the shortcuts for menu items.menuîShell-Konfigurationen bearbeiten... ::: Neue Shell-Konfigurationen hinzufügen und Interpreter-Eigenschaften bearbeiten.WEdit shell configurations... ::: Add new shell configs and edit interpreter properties.menuzSyntax-Stile bearbeiten... ::: Farbgebung Ihres Codes ändern.;Edit syntax styles... ::: Change the coloring of your code.menu’Aufruftipps aktivieren ::: Aufruftipps mit Funktionssignaturen anzeigen.;Enable calltips ::: Show calltips with function signatures.menuvKodierung ::: Die Zeichensatzkodierung der aktuellen Datei.8Encoding ::: The character encoding of the current file.menuEingabeEntermenu Zelle ausführen ::: Aktuelle Zelle des Editors in der aktuellen Shell ausführen.IExecute cell ::: Execute the current editors's cell in the current shell.menuÊZelle ausführen und weiter ::: Aktuelle Zelle des Editors ausführen und zur nächsten Zelle vorrücken.]Execute cell and advance ::: Execute the current editors's cell and advance to the next cell.menuˆDatei ausführen ::: Aktuelle Datei in der aktuellen Shell ausführen.?Execute file ::: Execute the current file in the current shell.menuŠDatei main ausführen ::: Datei main in der aktuellen Shell ausführen.AExecute main file ::: Execute the main file in the current shell.menuPAuswahl ausführen ::: Ausgewählte Zeilen des aktuellen Editors, ausgewählte Wörter in der aktuellen Zeile oder die aktuelle Zeile ausführen, wenn nichts ausgewählt ist.Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection.menu>Auswahl ausführen und vorrückenExecute selection and advancemenuœAls PDF exportieren ::: Aktuelle Datei als PDF exportieren (z.B. zum Drucken).AExport to PDF ::: Export current file to PDF (e.g. for printing).menu DateiFilemenuxWeitersuchen ::: Nächstes Vorkommen des Suchbegriffs finden.Such-Widget ausblenden (Escape)Hide search widget (Escape)search`Groß-/Kleinschreibung ::: Passende Worte finden.*Match case ::: Find words that match case.search~Nächstes ::: Finde nächstes Vorkommen des Patterns/Suchmusters.-Next ::: Find next occurrence of the pattern.search†Vorheriges ::: Finde vorheriges Vorkommen des Patterns/Suchmusters.5Previous ::: Find previous occurrence of the pattern.searchzRegulärer Ausdruck / Regex ::: Finden mit Regulärem Ausdruck.*RegExp ::: Find using regular expressions.searchHErsetzen ::: Ersetze diesen Treffer.Replace ::: Replace this match.search6Pattern/Suchmuster ersetzenReplace patternsearchRGanze Wörter ::: Nur ganze Wörter suchen.&Whole words ::: Find only whole words.search,alles in allen Dateienall in all filessearch*alles in dieser Dateiall in this filesearcheinsonesearch0Konfiguration hinzufügen Add configshell@Beim Starten auszuführender CodeCode to run at startupshellZLöschen ::: Diese Shell-Konfiguration löschen*Delete ::: Delete this shell configurationshellBBeim Starten auszuführender DateiFile to run at startupshell&Shell KonfigurationShell configurationsshell0Systemstandard verwendenUse system defaultshellXarg ::: Kommandozeilen-Argumente (sys.argv)./argv ::: The command line arguments (sys.argv).shellrUmgebung ::: Zusätzliche Umgebungsvariablen (os.environ).5environ ::: Extra environment variables (os.environ).shellJexe ::: Die ausführbare Python-Datei.exe ::: The Python executable.shell”gui ::: Das zu integrierende GUI-Toolkit (für interaktives Plotten, usw.).Fgui ::: The GUI toolkit to integrate (for interactive plotting, etc.).shellhipython ::: Wenn vorhanden, IPython-Shell verwenden.+ipython ::: Use IPython shell if available.shellNname ::: Der Name dieser Konfiguration.(name ::: The name of this configuration.shell®pythonPath ::: Eine Liste von Verzeichnissen, in denen nach Modulen und Paketen gesucht wird. Schreiben Sie jeden Pfad in eine neue Zeile oder trennen Sie ihn mit dem Standard-Trennzeichen für dieses Betriebssystem.›pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS.shellrstartDir ::: Das Startverzeichnis (nicht im Skriptmodus).6startDir ::: The start directory (not in script mode).shellžstartupScript ::: Das beim Starten auszuführende Skript (nicht im Skriptmodus).DstartupScript ::: The script to run at startup (not in script mode).shell@Zum Auswählen der Shell klicken.Click to select shell.shells€Pyzo ist eine quelloffene Software und für jeden frei verfügbar.?Pyzo is open source software and freely available for everyone.splashŽDies ist <b>Pyzo</b><br />die Python-IDE für wissenschaftliches Rechnen@This is Pyzo
the Python IDE for scientific computingsplashVersionVersionsplash8 Die Sprache für diesen Assistenten wurde geändert. Pyzo muss neu gestartet werden, damit die Änderung anwendungsweit wirksam wird. Ž The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. wizard¢*Zelle ausführen:* eine Zelle ist alles zwischen zwei Zeilen, beginnend mit '##'.F*Run cell:* a cell is everything between two lines starting with '##'.wizardŒ*Datei ausführen:* den gesamten Code in der aktuellen Datei ausführen.1*Run file:* run all the code in the current file.wizardÂ*Datei main des Projekts ausführen:* den Code in der Datei main des aktuellen Projekts ausführen.I*Run project main file:* run the code in the current project's main file.wizardT*Auswahl ausführen:* Wenn es keinen ausgewählten Text gibt, wird die aktuelle Zeile ausgeführt; wenn die Auswahl in einer einzigen Zeile ist, wird die Auswahl ausgewertet; wenn die Auswahl mehrere Zeilen umfasst, führt Pyzo die (vollständig) ausgewählten Zeilen aus.þ*Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines.wizard(Shells konfigurierenConfiguring shellswizardAuf geht's! Get coding!wizard.Erste Schritte mit PyzoGetting started with PyzowizardIm interaktiven Modus ist sys.path[0] eine leere Zeichenkette (d.h. das aktuelle Verzeichnis) und sys.argv wird auf [''] festgelegt.pIn interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to [''].wizardŽIm Skriptmodus werden __file__ und sys.argv[0] auf den Dateinamen des Skripts festgelegt, sys.path[0] und das Arbeitsverzeichnis werden auf das Verzeichnis festgelegt, das das Skript enthält.¡In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script.wizardŠIm *Editor* wird jede geöffnete Datei als Registerkarte dargestellt. Durch einen Rechtsklick auf eine Registerkarte können Dateien ausgeführt, gespeichert, geschlossen, usw. werden.‚In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc.wizardXInteraktiver Modus vs. Ausführung als Skript%Interactive mode vs running as scriptwizard Sprache geändertLanguage changedwizardêBeachten Sie, dass das Werkzeugsystem so konzipiert ist, dass es einfach ist, eigene Werkzeuge zu erstellen. Weitere Informationen finden Sie im Online-Wiki oder verwenden Sie eines der vorhandenen Werkzeuge als Beispiel.ÂNote that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example.wizardRPyzo kann die Ereignisschleife von fünf verschiedenen *GUI-Toolkits* integrieren und so interaktives Plotten mit z.B. Visvis oder Matplotlib ermöglichen.ŽPyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib.wizardLPyzo besteht aus zwei Hauptkomponenten$Pyzo consists of two main componentswizard*Pyzo ist eine plattformübergreifende Python-IDE mit den Schwerpunkten *Interaktivität* und *Inspektion*, die sich hervorragend für wissenschaftliche Berechnungen eignet. Sein praktisches Design ist auf *Einfachheit* und *Effizienz* ausgerichtet.âPyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*.wizardÊPyzo unterstützt mehrere Möglichkeiten, um Quellcode im Editor auszuführen. (siehe Menü "Ausführen").RPyzo supports several ways to run source code in the editor. (see the 'Run' menu).wizard(Empfohlene WerkzeugeRecommended toolswizardLaufender Code Running codewizard"Sprache auswählenSelect languagewizardÂShells laufen in einem Subprozess, so dass Pyzo selbst dann reaktionsschnell bleibt, wenn sie ausgelastet sind, damit Sie weiterhin programmieren und sogar Code in einer anderen Shell ausführen können.¥Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell.wizardSchrittStepwizardjDas *Werkzeug Dateibrowser* hilft, den Überblick über alle Dateien in einem Verzeichnis zu behalten. Klicken Sie auf das Stern-Symbol, um Ihre Projekte zu verwalten.The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon.wizardŠDas *Werkzeug Quellstruktur* gibt einen Überblick über den Quellcode.@The *Source structure tool* gives an outline of the source code.wizardDIm Editor schreiben Sie Ihren Code'The editor is where you write your codewizard®Mit der rechten Maustaste kann man eine Datei auch zur *Datei main* eines Projekts machen. Diese Datei ist an ihrem Stern-Symbol zu erkennen und ermöglicht es, die Datei leichter auszuführen.ÁThe right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily.wizardJIn der Shell wird Ihr Code ausgeführt*The shell is where your code gets executedwizard´Damit ist der Pyzo-Assistent abgeschlossen. Jetzt können Sie programmieren und Spaß haben!=This concludes the Pyzo wizard. Now, get coding and have fun!wizard†Dieser Assistent kann über 'Hilfe > Pyzo-Assistent' geöffnet werden4This wizard can be opened using 'Help > Pyzo wizard'wizard¬Dieser Assistent hilft Ihnen, sich mit der Funktionsweise von Pyzo vertraut zu machen.AThis wizard helps you get familiarized with the workings of Pyzo.wizard6Werkzeuge für Ihren KomfortTools for your conveniencewizardàÜber 'Shell > Shell-Konfigurationen bearbeiten' können Sie *Shell-Konfigurationen* bearbeiten und hinzufügen. So können Sie z.B. das initiale Verzeichnis auswählen oder einen benutzerdefinierten Pythonpfad verwenden.¾Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath.wizardZÜber das Menü *Werkzeuge* können Sie auswählen, welche Werkzeuge Sie verwenden möchten. Die Werkzeuge können beliebig positioniert und auch abgedockt werden.ŒVia the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked.wizardfWir empfehlen insbesondere die folgenden Werkzeuge:,We especially recommend the following tools:wizard^Willkommen beim interaktiven Editor für Python!-Welcome to the Interactive Editor for Python!wizard˜Beim Start von Pyzo wird eine Standard-*Shell* erstellt. Sie können weitere Shells hinzufügen, die gleichzeitig ausgeführt werden und die von verschiedenen Python-Versionen stammen können.ŸWhen Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions.wizardfSie können Befehle direkt in der *Shell* ausführen,1You can execute commands directly in the *shell*,wizard€oder Sie können Code im *Editor* schreiben und diesen ausführen.7or you can write code in the *editor* and execute that.wizardˆpyzo-4.12.3/pyzo/resources/translations/pyzo_es_ES.tr000066400000000000000000002625151421373005400227760ustar00rootroot00000000000000 bootstrapconda This will download and install miniconda on your computer. Also install scientific packages Waiting to start installation. debug Stack Pila editor Close, Discard, Cancel, Save Closing Save modified file? Closing pinned Are you sure you want to close this pinned file? editorTabs Select one or more files to open Select the file to save to filebrowser Filename filter Filtros de nombres archivos Search in files Busca en archivos Projects: Proyectos: Click star to bookmark current dir Apretar la estrella para marcar el directorio actual Remove project Borrar proyecto Change project name Cambiar nombre proyecto Add path to Python path Añade ruta a rutas de Python Project name Nombre proyecto New project name: Nuevo nomre proyecto: Match case Sensible entre mayúsculas y minúsculas RegExp Expresión Regular Search in subdirs Buscar en subdirs Unstar this directory Desmarcar directorio Star this directory Marcar directorio Open Abrir Reveal in Finder Muestra en Finder Copy path Copia ruta Rename Renombrar Delete Eliminar Create new file Crear archivo Create new directory Crear directorio Give the new name for the file Da nomre al archivo Give the name for the new directory Da nombre al directorio Duplicate Duplicar Give the name for the new file Da nomre al archivo Are you sure that you want to delete Seguro que quieres borrarlo Go to this directory in the current shell Ir a este directorio en el terminal actual Import data... Importar datos... Run as script Run Jupyter notebook Open outside Pyzo importwizard Select file Browse... Preview: Select columns to import: Close Import data as single array Import data into one variable per column Raise error upon invalid data Import data wizard No current shell active No current file open Import data The import data wizard is already open main unsaved menu File Archivo Edit Editar View Ver Settings Opciones Shell Consola Run Ejecutar Tools Herramientas Help Ayuda Use tabs Utiliza tabuladores Use spaces Utiliza espacios spaces plural of spacebar character espacios Indentation ::: The indentation used of the current file. Sangría ::: Sangría usada en el archivo actual. Syntax parser ::: The syntax parser of the current file. Analizador sintaxis ::: Analizador sintaxis archivo actual. Line endings ::: The line ending character of the current file. Final línea ::: Carácter final línea archivo actual. Encoding ::: The character encoding of the current file. Codificación ::: Codificacion carácteres archivo actual. New ::: Create a new (or temporary) file. Nuevo ::: Crear archivo nuevo (o temporal). Open... ::: Open an existing file from disk. Abrir... ::: Abrir archivo del disco. Save ::: Save the current file to disk. Guardar ::: Guardar archivo en disco. Save as... ::: Save the current file under another name. Guardar como... ::: Guardar archivo actual con otro nombre. Save all ::: Save all open files. Guardar todos ::: Guardar todos los archivos abiertos. Close ::: Close the current file. Cerrar ::: Cerrar archivo actual. Close all ::: Close all files. Cerrar todos ::: Cerrar todos los archivos abiertos. Undo ::: Undo the latest editing action. Deshacer ::: Desacer última edición. Cut ::: Cut the selected text. Cortar ::: Cortar el texto seleccionado. Copy ::: Copy the selected text to the clipboard. Copiar ::: Copiar el texto seleccionado. Paste ::: Paste the text that is now on the clipboard. Pegar ::: Pegar el texto del portapapeles. Select all ::: Select all text. Selecionar todo ::: Seleccionar todo el texto. Indent ::: Indent the selected line. Sangrar ::: Sangrar línea seleccionada. Dedent ::: Unindent the selected line. Desangrar ::: Desangrar línea seleccionada. Comment ::: Comment the selected line. Comentar ::: Comentar líneas selección. Uncomment ::: Uncomment the selected line. Descomentar ::: descomentar líneas selección. Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters. Justifica cometario/docstring ::: Remodela el texto seleccionado para que se alinee a 70 carácteres. Go to line ::: Go to a specific line number. Ir línea ::: Ir a una línea specifica. Toggle breakpoint ::: Toggle breakpoint on the current line. Find or replace ::: Show find/replace widget. Initialize with selected text. Buscar o remplazar ::: Muestra widget buscar/remplazar. Se inicializa con el texto seleccionado. Find selection ::: Find the next occurrence of the selected text. Buscar selección ::: Busca la siguiente ocurrencia del texto seleccionado. Find selection backward ::: Find the previous occurrence of the selected text. Buscar selección hacia atrás ::: Busca la ocurrencia anterior del texto seleccionado. Find next ::: Find the next occurrence of the search string. Buscar siguiente ::: Buscar siguiente ocurrencia de la cadena de busca. Find previous ::: Find the previous occurrence of the search string. Buscar anterior ::: Buscar anterior ocurrencia de la cadena de busca. Accept autocompletion with: Zoom in Acercar Zoom out Alejar Zoom reset Zoom original Location of long line indicator ::: The location of the long-line-indicator. Ubicación indicador línea larga ::: Seleccionar ubicacción indicador de línea larga. Qt theme ::: The styling of the user interface widgets. Tema Qt ::: Estilo de los widgets de la interfaz de usuario. Select shell ::: Focus the cursor on the current shell. Seleccionar consola ::: Selecciona consola actual. Select editor ::: Focus the cursor on the current editor. Seleccionar editor ::: Selecciona el editor actual. Select previous file ::: Select the previously selected file. Selecciona el archivo anterior ::: Selecciona el archivo seleccionado anteriormente. Show whitespace ::: Show spaces and tabs. Muestra espacios en blanco ::: Muestra espacios y tabuladores. Show line endings ::: Show the end of each line. Muestra los finales de línea ::: Muestra el final de cada línia. Show indentation guides ::: Show vertical lines to indicate indentation. Muestra guías sangría ::: Muestra líneas verticales para indicar el sangrado. Wrap long lines ::: Wrap lines that do not fit on the screen (i.e. no horizontal scrolling). Ajustar líneas largas ::: Ajustar líneas largas que no caben el la pantalla. Highlight current line ::: Highlight the line where the cursor is. Destacar línea actual ::: Remarca la línia donde se encuentra el cursor. Font Fuente Zooming Zoom Clear screen ::: Clear the screen. Borrar pantalla ::: Borra la pantalla. Interrupt ::: Interrupt the current running code (does not work for extension code). Interrumpir ::: Interrumpe el código en ejecución. No funciona para extensiones código. Restart ::: Terminate and restart the interpreter. Reiniciar ::: Finaliza la ejecución y reinicia el intérprete. Terminate ::: Terminate the interpreter, leaving the shell open. Finalizar ::: Finaliza el intérprete dejando la consola abierta. Close ::: Terminate the interpreter and close the shell. Cerrar ::: Finaliza el intérprete y cierra la consola. Edit shell configurations... ::: Add new shell configs and edit interpreter properties. Edita configuración consola... ::: Añade configuraciones a la consola y edita las propiedades del intérprete. New shell ... ::: Create new shell to run code in. Consola nueva... ::: Crea una consola nueva donde ejecutar código. Run selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection. Ejecuta selección ::: Ejecuta las líneas selecionadas en el editor o la selección de palabras en la línia actual o la línia actual si no se ha efectuado ninguna selección. Close others::: Close all files but this one. Cerrar otros ::: Cierra todos los archivos a excepción de este. Rename ::: Rename this file. Renombra ::: Renombra este archivo. Copy path ::: Copy the full path of this file. Pin/Unpin ::: Pinned files get closed less easily. Pinzar/desprender ::: Archivos pinzados son más difíciles de cerrar. Set/Unset as MAIN file ::: The main file can be run while another file is selected. Marcar/desmarcar como archivo MAESTRO ::: El archivo maestro se puede ejecutar mientras otro está seleccionado. Run file ::: Run the code in this file. Ejecuta archivo ::: Ejecuta el código en este archivo. Run file as script ::: Run this file as a script (restarts the interpreter). Ejecuta el archivo como guión ::: Ejecuta el archivo com un guión (reinicia el intérprete). Reload tools ::: For people who develop tools. Recarga herramientas ::: Para programadores que desarrollan herramientas. Ask a question ::: Need help? Haz una pregunta ::: Necesitas ayuda? Automatically indent ::: Indent when pressing enter after a colon. Sangría automática ::: Sangrar código automaticamente cuando presiones tecla retorno después de dos puntos. Enable calltips ::: Show calltips with function signatures. Habilitar ayuda funcions ::: Enseñar ayudas prototipo funciones. Autocomplete keywords ::: The autocompletion list includes keywords. Autocompletado palabras clave ::: La lista de autocompletado incluye palabras clave. Edit key mappings... ::: Edit the shortcuts for menu items. Editar asignaciones de teclas... ::: Editar los accesos directos para elementos de menú. Edit syntax styles... ::: Change the coloring of your code. Edita estilo sintaxis... ::: Cambiar colores sintaxis texto de tu código. Debug next: proceed until next line Depuración siguiente: proceder hasta la siguiente línea Debug return: proceed until returns Depuración retorno: Depurar hasta el retorno Debug continue: proceed to next breakpoint Depuración continuar: proceder al siguiente punto de interrupción Stop debugging Detener depuración Clear all {} breakpoints Borrar todos los puntos de interrupción {} Postmortem: debug from last traceback Postmortem: Depurar desde el último traceback Debug step into: proceed one step Etapa de depuración a dentro: proceder a un paso Run file as script ::: Restart and run the current file as a script. Ejecutar el archivo como un script ::: Reiniciar ejecutar el archivo actual como un script. Run main file as script ::: Restart and run the main file as a script. Ejecutar el archivo principal como script ::: Reiniciar y ejecutar el archivo principal como un script. Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection. Ejecutar selección ::: Ejecutar líneas del editor seleccionadas, palabras seleccionados en la línea actual, o la línea actual si no hay ninguna selección. Execute cell ::: Execute the current editors's cell in the current shell. Ejecutar celda ::: Ejecutar la celda del editor actual en el terminal actual. Execute cell and advance ::: Execute the current editors's cell and advance to the next cell. Ejecutar celda y avanzar ::: Ejecutar celda actual y avance a la siguiente. Execute file ::: Execute the current file in the current shell. Ejecutar fichero ::: Ejecute el archivo actual en el terminal actual. Execute main file ::: Execute the main file in the current shell. Ejecutar fichero principal ::: Ejecute el archivo principal en el terminal actual. Export to PDF ::: Export current file to PDF (e.g. for printing). Paste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation. Previous cell ::: Go back to the previous cell. Next cell ::: Advance to the next cell. Previous object ::: Go back to the previous top-level structure. Next object ::: Advance to the next top-level structure. Goto Definition ::: Go to definition of word under cursor. Restart Pyzo ::: Restart the application. Quit Pyzo ::: Close the application. Report an issue ::: Did you found a bug in Pyzo, or do you have a feature request? Check for updates ::: Are you using the latest version? About Pyzo ::: More information about Pyzo. Select language ::: The language used by Pyzo. Pyzo website ::: Open the Pyzo website in your browser. Pyzo guide ::: Open the Pyzo guide in your browser. Local documentation ::: Documentation on Python and the Scipy Stack. Highlight brackets ::: Highlight matched and unmatched brackets. There is no main file selected. Could not save the file. Can only run scripts that are in the file system. Pyzo wizard ::: Get started quickly. None Create new Python environment... ::: Install miniconda. Create shell %s: (%s) Execute selection and advance Help on running code ::: Open the pyzo wizard at the page about running code. (as script) No autocompletion Automatic popup Only show popup when pressing Tab Autocompletion Advanced settings... ::: Configure Pyzo even further. Search History Copy ::: Copy selected lines Run ::: Run selected lines in current shell Remove ::: Remove selected history items(s) Duplicate line ::: Duplicate the selected line(s). Delete line ::: Delete the selected line(s). default Open current directory in file browser Change current directory to the file browser's path Open directory in file browser No shell to run code in. No editor selected. Change current directory to editor file path Change directory when executing file ::: like Run File As Script does Toggle Case ::: Change selected text to lower or upper case Auto close quotes ::: Auto close single and double quotes. Auto close brackets ::: Auto close ( { [ ] } ). Tab Enter Tab, Enter Tab, (, [ Tab, Enter, (, [ Redo ::: Redo the last undone editing action. Help on this expression ::: Show help for the selected expression. menu dialog Could not run No se puede ejecutar Could not run script. No se puede ejecutar el guión. Check for the latest version. Compruebe si es la versión más reciente. Language changed Idioma cambiado Edit shortcut mapping Editar asignación de accesos directos Shortcut mappings Asignaciones de acceso directo About Pyzo Could not run notebook The language has been changed. Pyzo needs to restart for the change to take effect. Could not change dir Advanced Settings pyzoFileBrowser File Browser pyzoHistoryViewer History viewer pyzoInteractiveHelp Interactive help Shows help on an object when using up/down in autocomplete. Help information is queried from the current shell when moving up/down in the autocompletion list and when double clicking on a name. Smart format Font size: %i This keyword introduces the definition of a class. This keyword introduces the definition of a function. No help is available for operators because they are ambiguous: their meaning depend on the type of the first operand. Help on this Suspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function. This keyword can appear as part of an alternative (see: ``if``), a loop (see: ``for``, ``while``) or a ``try`` statement. Find and load modules or members of modules. Examples: ``` import foo # foo imported and bound locally import foo.bar.baz # foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb from foo.bar import baz # foo.bar.baz imported and bound as baz from foo import attr # foo imported and foo.attr bound as attr from foo import * # foo imported and all its members bound # under their respective names ``` This is an instruction that does nothing. It is useful in cases where a statement must appear because of syntactic constraints but we have nothing to do. This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the loop early, regardless of the loop condition. See also: ``continue`` An ``except`` clause can appear as a part of a ``try`` statement. This keyword usually refers to membership of an object in a structure. There are actually two different kinds of ``in``. In a construct of the form ``for identifier in iterable``, ``in`` is a purely syntactic element that bears no meaning per se. See: ``for`` Outside such constructs, ``in`` is an operator and its precise meaning depends on the type of the first operand. The ``raise`` statement is used to raise an Exception. Raising an exception will cause the program to abort, unless the exception is handled by a surrounding ``try``/``except`` statement or ``with`` statement. An ``finally`` clause can appear as a part of a ``try`` statement. This operator tests for an object’s identity: ``x is y`` is true if and only if ``x`` and ``y`` are the same object. See also: ``id`` This keyword can only appear in the definition of a function. It is usually followed by an expression. It means that the execution of the function call terminates here and that the result of the call is the value of the following expression. If ``return`` is not followed by an expression, the result is ``None``. This operator computes the boolean conjunction in a lazy manner. More precisely, the expression ``x and y`` first evaluates ``x``; if ``x`` is false, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``or``, ``not``, ``True``, ``False`` This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the current run of the body early. The loop may still make additional runs of its body if its condition is still true . See also: ``break`` The ``for`` statement is used to iterate over the elements of an iterable object: ``` for variable in iterable: body else: # optional suite ``` The expression ``iterable`` is evaluated once; its value should be an iterable object. An iterator is created for the result of that expression. The ``body`` is then executed once for each item provided by the iterator, in the order returned by the iterator: each item in turn is assigned to the ``variable`` and then the ``body`` is executed. When the items are exhausted (which is immediately when the ``iterable`` is empty), the ``suite`` in the ``else`` clause, if present, is executed, and the loop terminates. A ``break`` statement executed in the first suite terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the first suite skips the rest of the ``body`` and continues with the next item, or with the ``else`` clause if there is no next item. The for-loop makes assignments to the ``variable``. This overwrites all previous assignments to that variable including those made in the ``body`` of the for-loop: ``` for i in range(10): print(i) i = 5 # this will not affect the for-loop # because i will be overwritten with the next # index in the range ``` The ``for`` keyword can also be part of a generator. Example: ``` [2*x for x in T] ``` This builds from ``T`` a list where each item was doubled. This keyword is used to produce an anonymous function. Example: ``` lambda x,y,z : (x+y) * z ``` The ``as`` keyword can appear in an ``import`` statement, in an ``except`` clause of a ``try`` statement or in a ``with`` statement. This keyword can appear as a part of an ``import`` or a ``raise``. It has different meanings; see help on those keywords. This keyword can only appear in the definition of a function. It is followed by identifiers and indicates that those identifier refer variables from the outer scope, not local variables in the function being defined. See also: ``global`` The while statement is used for repeated execution as long as an expression is true: ``` while expression: body else: # optional suite ``` This repeatedly tests the ``expression`` and, if it is true, executes the ``body``; if the ``expression`` is false (which may be the first time it is tested) the ``suite`` of the ``else`` clause, if present, is executed and the loop terminates. A ``break`` statement executed in the ``body`` terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the ``body`` skips the rest of the ``body`` and goes back to testing the ``expression``. Assert statements are a convenient way to insert debugging assertions into a program. Deletion of a name removes the binding of that name from the local or global namespace. It is also possible to delete an item in a list. This keyword is followed by identifiers and indicates that those identifiers refer variables from the module scope, not local variables. See also: ``nonlocal`` The operator ``not`` returns ``True`` if its argument is false, ``False`` otherwise. See also: ``and``, ``or``, ``True``, ``False`` The ``with`` statement is used to wrap the execution of a block with methods defined by a context manager. Example: ``` with open(filename) as infile: header = infile.readline() # etc. ``` In this example, the context manager will ensure correct closing of the file upon exiting the ``with`` statement, even if an exception was raised. This keyword appears as part of the ``async def``, ``async for`` and ``async with`` constructs and allows for writing coroutines. This keyword can only appear as part of an alternative. See: ``if`` This keyword usually introduces an alternative. It is followed by a conditon and introduces the statement to execute when this condition is true. The alternative can only have one ``if`` clause, at the beginning. It can also comprise one or more ``elif`` clauses and at most one ``else`` clause at the end. Example: ``` if condition1 : doSomething # when condition1 evaluates to True elif condition2 : # optional, may have several such clauses doSomeOtherthing # when condition1 evaluates to False and condition2 to True else : # optional doAnotherThing # when all conditions evaluate to False ``` The ``if`` keyword can also appear in a generator. Example: ``` [x for x in T if x%2==0] ``` This filters ``T`` to keep only its even items. This operator computes the boolean disjunction in a lazy manner. More precisely, the expression ``x or y`` first evaluates ``x``; if ``x`` is true, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``and``, ``not``, ``True``, ``False`` The ``yield`` expression is used when defining a generator function or an asynchronous generator function and thus can only be used in the body of a function definition. Using a yield expression in a function’s body causes that function to be a generator, and using it in an ``async def`` function’s body causes that coroutine function to be an asynchronous generator. The ``try`` statement allows to recover when an Exception was raised. It has two main forms. ``` try: critical_section except SomeExceptionType as e: suite # manage exceptions of type SomeExceptionType else: # optional everything_ok ``` If ``critical_section`` raises an exception of type ``SomeExceptionType``, the whole program will not abort but the ``suite`` will be executed, with ``e`` being bound to the actual exception. Several ``except`` clauses may be specified, each dealing with some kind of exception. If an exception is raised in ``critical_section`` but is not managed by any ``except`` clause, the whole program aborts. If there is an ``else`` clause, its body is executed if the control flow leaves the ``critical_section``, no exception was raised, and no ``return``, ``continue`` or ``break`` statement was executed. Exceptions in the ``else`` clause are not handled by the preceding ``except`` clauses. ``` try: critical_section finally: suite ``` If ``critical_section`` raises an exception, the ``suite`` will be executed before aborting the program. The ``suite`` is also executed when no exception is raised. When a ``return``, ``break`` or ``continue`` statement is executed in the ``critical_section``, the ``finally`` clause is also executed ‘on the way out.’ A ``continue`` statement is illegal in the ``finally`` clause. Both mechanisms can be combined, the ``finally`` clause coming after the last ``except`` clause or after the optional ``else`` clause. pyzoSourceStructure Source structure Parsing pyzoWebBrowser Web browser pyzoWorkspace Workspace Lists the variables in the current shell's namespace. Name Type Repr Show namespace Show help Delete Eliminar Hide types Hide functions Hide modules Hide private identifiers Hide the shell's startup variables Lists the variables in the current shell's namespace. Currently, there are none. Some of them may be hidden because of the filters you configured. search Hide search widget (Escape) Oculta widget busqueda (Escape) Find pattern Busca patrón Previous ::: Find previous occurrence of the pattern. Anterior ::: Buscar anterior ocurrencia del patrón. Next ::: Find next occurrence of the pattern. Siguiente ::: Buscar siguiente ocurrencia del patrón. Replace pattern Reemplazar patrón Replace ::: Replace this match. Reemplaza ::: Reemplaza esta occurencia. Match case ::: Find words that match case. Sensible mayúsculas ::: Sensible entre mayúsculas y minúsculas. RegExp ::: Find using regular expressions. Expresión regular ::: Buscar usando expresiones regulares. Whole words ::: Find only whole words. Palabras enteras ::: Buscar sólo palabras enteras. Auto hide ::: Hide search/replace when unused for 10 s. Auto ocultar ::: Ocultar automáticamente buscar/reemplazar cuando no se usa durante 10s. one all in this file all in all files shell Use system default Usa opcions por defecto del sistema name ::: The name of this configuration. Nombre ::: El nombre de esta configuración. exe ::: The Python executable. exe ::: El ejecutable de Python. gui ::: The GUI toolkit to integrate (for interactive plotting, etc.). gui ::: Kit de herramientas de GUI para integrar (para trazado interactivo, etc.). pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS. pythonPath ::: Lista de directorios donde buscar módulos y paquetes. Introduce cada ruta en un nueva línea, o separalas mediante el separador por defecto de tu sistema operativo. startupScript ::: The script to run at startup (not in script mode). GuiónInicio ::: Guión a ejecutar al inicio (no en modo guión). startDir ::: The start directory (not in script mode). DirInicio ::: Directorio al inició (no en modo guión). Delete ::: Delete this shell configuration Borrar ::: Borra la configuracion de esta consola Shell configurations Configuración consola Add config Añadir configuración ipython ::: Use IPython shell if available. ipython ::: Usar terminal IPython si disponible. File to run at startup Archivo a ejecutar al inicio Code to run at startup Código a ejecutar al inicio argv ::: The command line arguments (sys.argv). argv ::: Argumentos línea de comandos (sys.argv). environ ::: Extra environment variables (os.environ). environ ::: Variables de entorno addicionales (os.environ). shells Click to select shell. splash This is <b>Pyzo</b><br />the Python IDE for scientific computing Version Pyzo is open source software and freely available for everyone. wizard Step Paso Welcome to the Interactive Editor for Python! Bienvenido al (E)ditor (I)nteractivo de (P)ython - IEP! Select language Selecciona idioma Language changed Idioma cambiado You can execute commands directly in the *shell*, Puede ejecutar comandos directamente en *la consola*, or you can write code in the *editor* and execute that. o puede escribir código en el *editor* y posterioment ejecutarlo. The editor is where you write your code El editor es donde se escribe el código In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc. En el *editor*, cada archivo abierto se representa como una pestaña. Al hacer clic derecho sobre una pestaña, los archivos se pueden ejecutar, guardar, cerrar, etc. The shell is where your code gets executed La consola es donde tu código se ejecuta Configuring shells Configurar las consolas Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath. Mediante 'Consola > Edita propiedades consola', se puede editar y añadir *propiedades a la consola*. Esto permite por ejemplo seleccionar un directorio de inicio nuevo, o usar un Pythonpath personalizado. Running code Ejecutando código *Run cell:* a cell is everything between two lines starting with '##'. *Ejecutar celda:* una celda es todo lo que hay entre dos líneas que comienzan con '##'. *Run file:* run all the code in the current file. *Ejecutar archivo:* ejecutar todo el código en el archivo actual. *Run project main file:* run the code in the current project's main file. *Ejecutar archivo maestro de proyecto:* ejecutar el código en el archivo maestro del proyecto actual. Interactive mode vs running as script Modo interactivo vs ejecución como guión In interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to ['']. En el modo interactivo, sys.path [0] es una cadena vacía (es decir, el directorio actual), y sys.argv se establece como ['']. Tools for your convenience Herramientas para su comodidad Via the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked. A través del menú *Herramientas*, se puede seleccionar qué herramientas utilizar. Las herramientas se pueden colocar en cualquier forma que desee. También pueden desacoplarse. Note that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example. Tenga en cuenta que el sistema de herramientas está diseñado de tal manera que es fácil de crear sus propias herramientas. Mira la wiki en línea para obtener más información, o utilizar una de las herramientas existentes, como ejemplo. Recommended tools Herramientas recomendadas We especially recommend the following tools: Recomendamos especialmente las siguientes herramientas: The *Source structure tool* gives an outline of the source code. La *herramienta estructura código* ofrece un esbozo del código fuente. The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon. El *Navegador de archivos* ayuda a mantener una visión general de todos los archivos en un directorio. Para gestionar sus proyectos, haga clic en el icono de estrella. Get coding! Comienza a programar! Getting started with Pyzo This wizard helps you get familiarized with the workings of Pyzo. Pyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*. This wizard can be opened using 'Help > Pyzo wizard' The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. Pyzo consists of two main components When Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions. Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell. Pyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib. Pyzo supports several ways to run source code in the editor. (see the 'Run' menu). This concludes the Pyzo wizard. Now, get coding and have fun! The right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily. *Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines. In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script. You can run the current file or the main file normally, or as a script. When run as script, the shell is restarted to provide a clean environment. The shell is also initialized differently so that it closely resembles a normal script execution. pyzo-4.12.3/pyzo/resources/translations/pyzo_es_ES.tr.qm000066400000000000000000000744401421373005400234100ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝBpY¾3Tk…»)Ð%àÖT$ùì0%³f¾ÂªÀghÏÇF+"zpšYì,?¬Z§›[f3DE`/D÷…–€eŽ.#‚Ón%Ú—ÝþpG~æ¤ÚÖð!:lðxÞV > ­ Ð¥fÓ?´N3êETÎ4ýeöžG[f@'Góp^)’€®HJ–ÁZg¬c>P2¯˜î"Ã2®Kíöî”ðÍŽ2M½Ü¶ãfu<3@,ÞU[êþLnuP~p}.D{q^Ž1Ò}êŸ ëƒuCJj†¹~"ú¢Ïn‡ß±WBZ3ÜrHc抎>1‹æÎ6œc¸'ºr>QÕø˜I,úEäbÉùƒRã. k t²fX8N3>{²´Ž î¥ .&ŨL9LP¬,¥÷¬,¥J×Ë|IZËÏ~ õ®_?økµ¥.Nï!F>%"$‡Sf&EnFN3 /™SõnU•a@>c¢h+n njÞWÖ‹¼ðwŒH5 ™s &°¾Z üú:R>…'î-”<ô>#I<5<Lö®01Y ž'P_pÔG‰J+¢6—Q#²µ®Îm>V™ô÷5góå®/Óe-V²”JV²”cYV¿~0ù[†#è[¡î;ÇåþO¨£°³E¡¤Ønr»¦yÃH·"ÈËÿžN9ѯ€QoÑÚR{Õjî†ÙjŽ;3áž9<ÿûN@ÓA/%j`jù^I·ªþRå“• Æþ,+ þAœ IxŽ) w¢SEä £ 5ñ °Ön רÎ,à Þ@ÙË ð.]f Bñ^ï J€‡I ”cú ŸW> ãlÎ[‰ ý¦>( 3Êîkö e…¼ t®iy …ËnCl ÔÉT¿ ý p 0ôn7E t§ž*\ —"=} °êîB¥ »s?{ »)Djð ˳¾.Æ ë¶n\˜ ˜i 9 äi Ž 0…q GnYó MÙNM‡ VžLÄ Âú¾g ä?ÎS­ ð‹S^”!ÿqO4[>Z¯\ñ¾`Ô¬³>TX»>E÷¶~?Øü´n¡ _ŽH× (…ðJ:<~ß”G¶³YE µ®CÖÞŽ9ÆßDäS;ü.“ ¡isPilaStackdebug8Añade ruta a rutas de PythonAdd path to Python path filebrowser6Seguro que quieres borrarlo$Are you sure that you want to delete filebrowser.Cambiar nombre proyectoChange project name filebrowserjApretar la estrella para marcar el directorio actual "Click star to bookmark current dir filebrowserCopia ruta Copy path filebrowser Crear directorioCreate new directory filebrowserCrear archivoCreate new file filebrowserEliminarDelete filebrowserDuplicar Duplicate filebrowser6Filtros de nombres archivosFilename filter filebrowser.Da nombre al directorio#Give the name for the new directory filebrowser&Da nomre al archivoGive the name for the new file filebrowser&Da nomre al archivoGive the new name for the file filebrowserTIr a este directorio en el terminal actual)Go to this directory in the current shell filebrowser"Importar datos...Import data... filebrowserLSensible entre mayúsculas y minúsculas Match case filebrowser*Nuevo nomre proyecto:New project name: filebrowser AbrirOpen filebrowserNombre proyecto Project name filebrowserProyectos: Projects: filebrowser"Expresión RegularRegExp filebrowserBorrar proyectoRemove project filebrowserRenombrarRename filebrowser"Muestra en FinderReveal in Finder filebrowser"Busca en archivosSearch in files filebrowser"Buscar en subdirsSearch in subdirs filebrowser"Marcar directorioStar this directory filebrowser(Desmarcar directorioUnstar this directory filebrowserJHaz una pregunta ::: Necesitas ayuda?Ask a question ::: Need help?menu¨Autocompletado palabras clave ::: La lista de autocompletado incluye palabras clave.DAutocomplete keywords ::: The autocompletion list includes keywords.menuÖSangría automática ::: Sangrar código automaticamente cuando presiones tecla retorno después de dos puntos.BAutomatically indent ::: Indent when pressing enter after a colon.menuTBorrar todos los puntos de interrupción {}Clear all {} breakpointsmenuLBorrar pantalla ::: Borra la pantalla."Clear screen ::: Clear the screen.menuBCerrar ::: Cerrar archivo actual.!Close ::: Close the current file.menulCerrar ::: Finaliza el intérprete y cierra la consola.8Close ::: Terminate the interpreter and close the shell.menuhCerrar todos ::: Cerrar todos los archivos abiertos.Close all ::: Close all files.menu~Cerrar otros ::: Cierra todos los archivos a excepción de este.-Close others::: Close all files but this one.menuNComentar ::: Comentar líneas selección.&Comment ::: Comment the selected line.menuPCopiar ::: Copiar el texto seleccionado.1Copy ::: Copy the selected text to the clipboard.menuPCortar ::: Cortar el texto seleccionado.Cut ::: Cut the selected text.menu‚Depuración continuar: proceder al siguiente punto de interrupción*Debug continue: proceed to next breakpointmenunDepuración siguiente: proceder hasta la siguiente línea#Debug next: proceed until next linemenuXDepuración retorno: Depurar hasta el retorno#Debug return: proceed until returnsmenu`Etapa de depuración a dentro: proceder a un paso!Debug step into: proceed one stepmenuVDesangrar ::: Desangrar línea seleccionada.&Dedent ::: Unindent the selected line.menu EditarEditmenu°Editar asignaciones de teclas... ::: Editar los accesos directos para elementos de menú.;Edit key mappings... ::: Edit the shortcuts for menu items.menuÚEdita configuración consola... ::: Añade configuraciones a la consola y edita las propiedades del intérprete.WEdit shell configurations... ::: Add new shell configs and edit interpreter properties.menu’Edita estilo sintaxis... ::: Cambiar colores sintaxis texto de tu código.;Edit syntax styles... ::: Change the coloring of your code.menu€Habilitar ayuda funcions ::: Enseñar ayudas prototipo funciones.;Enable calltips ::: Show calltips with function signatures.menupCodificación ::: Codificacion carácteres archivo actual.8Encoding ::: The character encoding of the current file.menušEjecutar celda ::: Ejecutar la celda del editor actual en el terminal actual.IExecute cell ::: Execute the current editors's cell in the current shell.menu–Ejecutar celda y avanzar ::: Ejecutar celda actual y avance a la siguiente.]Execute cell and advance ::: Execute the current editors's cell and advance to the next cell.menuŠEjecutar fichero ::: Ejecute el archivo actual en el terminal actual.?Execute file ::: Execute the current file in the current shell.menu¤Ejecutar fichero principal ::: Ejecute el archivo principal en el terminal actual.AExecute main file ::: Execute the main file in the current shell.menu4Ejecutar selección ::: Ejecutar líneas del editor seleccionadas, palabras seleccionados en la línea actual, o la línea actual si no hay ninguna selección.Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection.menuArchivoFilemenuŽBuscar siguiente ::: Buscar siguiente ocurrencia de la cadena de busca.Oculta widget busqueda (Escape)Hide search widget (Escape)search~Sensible mayúsculas ::: Sensible entre mayúsculas y minúsculas.*Match case ::: Find words that match case.searchjSiguiente ::: Buscar siguiente ocurrencia del patrón.-Next ::: Find next occurrence of the pattern.searchfAnterior ::: Buscar anterior ocurrencia del patrón.5Previous ::: Find previous occurrence of the pattern.searchtExpresión regular ::: Buscar usando expresiones regulares.*RegExp ::: Find using regular expressions.searchPReemplaza ::: Reemplaza esta occurencia.Replace ::: Replace this match.search"Reemplazar patrónReplace patternsearchdPalabras enteras ::: Buscar sólo palabras enteras.&Whole words ::: Find only whole words.search(Añadir configuración Add configshell6Código a ejecutar al inicioCode to run at startupshellbBorrar ::: Borra la configuracion de esta consola*Delete ::: Delete this shell configurationshell8Archivo a ejecutar al inicioFile to run at startupshell*Configuración consolaShell configurationsshellFUsa opcions por defecto del sistemaUse system defaultshellbargv ::: Argumentos línea de comandos (sys.argv)./argv ::: The command line arguments (sys.argv).shellvenviron ::: Variables de entorno addicionales (os.environ).5environ ::: Extra environment variables (os.environ).shell@exe ::: El ejecutable de Python.exe ::: The Python executable.shell¤gui ::: Kit de herramientas de GUI para integrar (para trazado interactivo, etc.).Fgui ::: The GUI toolkit to integrate (for interactive plotting, etc.).shell`ipython ::: Usar terminal IPython si disponible.+ipython ::: Use IPython shell if available.shellVNombre ::: El nombre de esta configuración.(name ::: The name of this configuration.shellhpythonPath ::: Lista de directorios donde buscar módulos y paquetes. Introduce cada ruta en un nueva línea, o separalas mediante el separador por defecto de tu sistema operativo. ›pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS.shelllDirInicio ::: Directorio al inició (no en modo guión).6startDir ::: The start directory (not in script mode).shell|GuiónInicio ::: Guión a ejecutar al inicio (no en modo guión).DstartupScript ::: The script to run at startup (not in script mode).shell®*Ejecutar celda:* una celda es todo lo que hay entre dos líneas que comienzan con '##'.F*Run cell:* a cell is everything between two lines starting with '##'.wizard‚*Ejecutar archivo:* ejecutar todo el código en el archivo actual.1*Run file:* run all the code in the current file.wizardÊ*Ejecutar archivo maestro de proyecto:* ejecutar el código en el archivo maestro del proyecto actual.I*Run project main file:* run the code in the current project's main file.wizard.Configurar las consolasConfiguring shellswizard*Comienza a programar! Get coding!wizard En el modo interactivo, sys.path [0] es una cadena vacía (es decir, el directorio actual), y sys.argv se establece como [''].pIn interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to [''].wizardXEn el *editor*, cada archivo abierto se representa como una pestaña. Al hacer clic derecho sobre una pestaña, los archivos se pueden ejecutar, guardar, cerrar, etc.‚In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc.wizardPModo interactivo vs ejecución como guión%Interactive mode vs running as scriptwizardIdioma cambiadoLanguage changedwizardöTenga en cuenta que el sistema de herramientas está diseñado de tal manera que es fácil de crear sus propias herramientas. Mira la wiki en línea para obtener más información, o utilizar una de las herramientas existentes, como ejemplo.ÂNote that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example.wizard2Herramientas recomendadasRecommended toolswizard"Ejecutando código Running codewizard"Selecciona idiomaSelect languagewizardPasoStepwizardNEl *Navegador de archivos* ayuda a mantener una visión general de todos los archivos en un directorio. Para gestionar sus proyectos, haga clic en el icono de estrella.The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon.wizardŒLa *herramienta estructura código* ofrece un esbozo del código fuente.@The *Source structure tool* gives an outline of the source code.wizardNEl editor es donde se escribe el código'The editor is where you write your codewizardPLa consola es donde tu código se ejecuta*The shell is where your code gets executedwizard<Herramientas para su comodidadTools for your conveniencewizard¸Mediante 'Consola > Edita propiedades consola', se puede editar y añadir *propiedades a la consola*. Esto permite por ejemplo seleccionar un directorio de inicio nuevo, o usar un Pythonpath personalizado.¾Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath.wizardlA través del menú *Herramientas*, se puede seleccionar qué herramientas utilizar. Las herramientas se pueden colocar en cualquier forma que desee. También pueden desacoplarse.ŒVia the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked.wizardnRecomendamos especialmente las siguientes herramientas:,We especially recommend the following tools:wizardnBienvenido al (E)ditor (I)nteractivo de (P)ython - IEP!-Welcome to the Interactive Editor for Python!wizardjPuede ejecutar comandos directamente en *la consola*,1You can execute commands directly in the *shell*,wizard‚o puede escribir código en el *editor* y posterioment ejecutarlo.7or you can write code in the *editor* and execute that.wizardˆpyzo-4.12.3/pyzo/resources/translations/pyzo_fr_FR.tr000066400000000000000000003246701421373005400227770ustar00rootroot00000000000000 bootstrapconda This will download and install miniconda on your computer. Ceci va télécharger et installer miniconda sur votre ordinateur. Also install scientific packages Installer également les paquets scientifiques Waiting to start installation. debug Stack Pile editor Close, Discard, Cancel, Save Fermer, Fermer sans enregistrer, Annuler, Enregistrer les modifications et fermer Closing Fermer Save modified file? Sauvegarder le fichier modifié ? Closing pinned Fermeture du fichier épinglé Are you sure you want to close this pinned file? Êtes vous sûr(e) de vouloir fermer le fichier épinglé ? editorTabs Select one or more files to open Sélectionner un ou plusieurs fichiers à ouvrir Select the file to save to Sélectionner le nom du fichier à sauvegarder filebrowser Filename filter Filtre Search in files Rechercher dans les fichiers Projects: Projets : Click star to bookmark current dir Cliquez sur l'étoile pour ajouter le répertoire à la liste des projets Remove project Enlever de la liste des projets Change project name Renommer le projet Add path to Python path Ajouter le chemin au path de Python Project name Nom du projet New project name: Nouveau nom du projet : Match case Respecter la casse RegExp Recherche avec une expression rationelle Search in subdirs Rechercher dans les sous-répertoires Unstar this directory Enlever ce répertoire de la liste des projets Star this directory Ajouter ce répertoire à la liste des projets Open Ouvrir Reveal in Finder Ouvrir dans le Finder Copy path Copier le nom complet (chemin) du fichier Rename Renommer Delete Effacer Create new file Nouveau fichier Create new directory Nouveau dossier Give the new name for the file Nouveau nom du fichier Give the name for the new directory Nom du nouveau dossier Duplicate Faire une copie Give the name for the new file Nom du nouveau fichier Are you sure that you want to delete Êtes-vous sûr de vouloir effacer Go to this directory in the current shell Aller dans ce dossier (shell courant) Import data... Importer un fichier de données... Run as script Exécuter en tant que script Open outside Pyzo Ouvrir avec un éditeur externe Run Jupyter notebook Démarrer un notebook Jupyter importwizard Select file Sélectionnez le fichier Browse... Choisir... Preview: Aperçu : Select columns to import: Sélectionnez les colonnes à importer : Close Finir Import data as single array Importer les données dans un seul objet array Import data into one variable per column Importer les données en utilisant une variable par colonne Raise error upon invalid data Lever une erreur en cas de données invalides Import data wizard Assistant d'import de données No current shell active Pas de shell courant actif No current file open Pas de fichier courant ouvert Import data Importer des données The import data wizard is already open L'assistant d'import de données est déjà ouvert main unsaved non sauvegardé menu File Fichier Edit Édition View Affichage Settings Paramètres Shell Shell Run Exécuter Tools Outils Help Aide Use tabs Utiliser des tabulations Use spaces Utiliser des espaces spaces plural of spacebar character espaces Indentation ::: The indentation used of the current file. Indentation ::: Indentation utilisée pour le fichier courant. Syntax parser ::: The syntax parser of the current file. Analyse syntaxique ::: Analyseur du fichier courant. Line endings ::: The line ending character of the current file. Fins de ligne ::: Caractère de fin de ligne pour le fichier courant. Encoding ::: The character encoding of the current file. Encodage ::: Encodage du fichier courant. New ::: Create a new (or temporary) file. Nouveau ::: Crée un nouveau fichier (ou un fichier temporaire). Open... ::: Open an existing file from disk. Ouvrir... ::: Ouvre un fichier sur le disque. Save ::: Save the current file to disk. Enregistrer ::: Enregistre le fichier courant sur le disque. Save as... ::: Save the current file under another name. Enregistrer sous... ::: Enregistre le fichier sous un autre nom. Save all ::: Save all open files. Tout Enregistrer ::: Enregistre tous les fichiers ouverts. Close ::: Close the current file. Fermer ::: Ferme le fichier courant. Close all ::: Close all files. Tout fermer ::: Ferme tous les fichiers. Undo ::: Undo the latest editing action. Annuler ::: Annule la dernière opération d'édition. Cut ::: Cut the selected text. Couper ::: Coupe le texte sélectionné. Copy ::: Copy the selected text to the clipboard. Copier ::: Copie le texte sélectionné dans le presse-papier. Paste ::: Paste the text that is now on the clipboard. Coller ::: Colle le texte qui est dans le presse-papier. Select all ::: Select all text. Tout sélectionner ::: Sélectionne tout le texte. Indent ::: Indent the selected line. Indenter ::: Indente la ligne sélectionnée. Dedent ::: Unindent the selected line. Désindenter ::: Supprime l'indentation de la ligne sélectionnée. Comment ::: Comment the selected line. Commenter ::: Commente la ligne sélectionnée. Uncomment ::: Uncomment the selected line. Décommenter ::: Décommente la ligne sélectionnée. Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters. Justifier les commentaires/docstrings ::: Remet en forme le texte sélectionné en lignes de 70 caractères environ. Go to line ::: Go to a specific line number. Aller à la ligne ::: Va à un numéro de ligne spécifique. Toggle breakpoint ::: Toggle breakpoint on the current line. Ajouter/Enlever un point d'arrêt ::: Ajouter/Enlever un point d'arrêt sur la ligne courante. Find or replace ::: Show find/replace widget. Initialize with selected text. Rechercher et remplacer ::: Affiche la boîte rechercher/remplacer. L'initialise avec le texte sélectionné. Find selection ::: Find the next occurrence of the selected text. Rechercher la sélection ::: Recherche la prochaine occurence du texte sélectionné. Find selection backward ::: Find the previous occurrence of the selected text. Rechercher la sélection en arrière ::: Recherche l'occurence précédente du texte sélectionné. Find next ::: Find the next occurrence of the search string. Rechercher suivant ::: Recherche la prochaine occurence de la chaîne. Find previous ::: Find the previous occurrence of the search string. Rechercher précédent ::: Recherche l'occurence précédente de la chaîne. Accept autocompletion with: Zoom in Zoomer Zoom out Dézoomer Zoom reset Réinitialiser le zoom Location of long line indicator ::: The location of the long-line-indicator. Emplacement de l'indicateur de ligne trop longue ::: Emplacement du long-line-indicator. Qt theme ::: The styling of the user interface widgets. Thème QT ::: Style des widgets de l'interface. Select shell ::: Focus the cursor on the current shell. Aller dans le Shell ::: Donne le focus au shell courant. Select editor ::: Focus the cursor on the current editor. Aller dans l'éditeur ::: Donne le focus à l'éditeur courant. Select previous file ::: Select the previously selected file. Aller au fichier précédent ::: Donne le focus au fichier précédent. Show whitespace ::: Show spaces and tabs. Afficher les espaces ::: Affiche les espaces et les caractères de tabulation. Show line endings ::: Show the end of each line. Afficher les fins de lignes ::: Affiche la fin de chaque ligne. Show indentation guides ::: Show vertical lines to indicate indentation. Afficher les guide d'indentation ::: Affiche des lignes verticales pour visualiser l'indentation. Wrap long lines ::: Wrap lines that do not fit on the screen (i.e. no horizontal scrolling). Couper les lignes trop longues ::: Coupe les lignes qui ne tiennent pas sur l'écran (pas de défilement horizontal). Highlight current line ::: Highlight the line where the cursor is. Mettre en évidence la ligne courante ::: Met en surbrillance la ligne qui contient le curseur. Font Police de caractères Zooming Zoom Clear screen ::: Clear the screen. Effacer l'écran ::: Efface l'écran. Interrupt ::: Interrupt the current running code (does not work for extension code). Interrompre ::: Arrêter l'exécution (ne fonctionne pas pour les extensions). Restart ::: Terminate and restart the interpreter. Redémarrer ::: Arrête puis redémarre l'interpréteur. Terminate ::: Terminate the interpreter, leaving the shell open. Terminer ::: Arrête l'interpréteur et laisse le shell ouvert. Close ::: Terminate the interpreter and close the shell. Fermer ::: Arrête l'interpréteur et ferme le shell. Edit shell configurations... ::: Add new shell configs and edit interpreter properties. Configuration des shells ::: Ajoute des shells, et modifie les paramètres de l'interpréteur. New shell ... ::: Create new shell to run code in. Nouveau shell... ::: Crée un nouveau shell. Run selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection. Exécuter la sélection ::: Exécute les lignes sélectionnées dans l'éditeur, une partie de la ligne courante, ou la ligne courante entière si la sélection est vide. Close others::: Close all files but this one. Fermer les autres onglets ::: Ferme tous les fichiers sauf celui-ci. Rename ::: Rename this file. Renommer ::: Renomme ce fichier. Copy path ::: Copy the full path of this file. Copier le chemin ::: Copier le chemin complet désignant ce fichier. Pin/Unpin ::: Pinned files get closed less easily. Ajouter/Enlever un épingle ::: Les fichiers épinglés sont moins facilement fermés. Set/Unset as MAIN file ::: The main file can be run while another file is selected. (Dé)sélectionner comme fichier principal (MAIN) ::: Le fichier principal peu être exécuté alors qu'un autre fichier est sélectionné. Run file ::: Run the code in this file. Exécuter cet onglet ::: Exécute le contenu de l'onglet dans le shell courant. Run file as script ::: Run this file as a script (restarts the interpreter). Exécuter en tant que script ::: Exécute ce fichier comme un script (redémarre l'interpréteur). Reload tools ::: For people who develop tools. Recharger les outils ::: Pour ceux qui développent des outils. Ask a question ::: Need help? Poser une question ::: Besoin d'aide ? Automatically indent ::: Indent when pressing enter after a colon. Indentation automatique ::: Indente automatiquement lors d'un passage à la ligne après deux point. Enable calltips ::: Show calltips with function signatures. Activer les bulles d'aides ::: Affiche les bulles d'aide avec le prototype des fonctions. Autocomplete keywords ::: The autocompletion list includes keywords. Complétion automatique des mots clés ::: La liste de complétion automatique contient aussi les mots clés. Edit key mappings... ::: Edit the shortcuts for menu items. Éditer les raccourcis... ::: Modifie les raccourcis pour accéder aux éléments des menus. Edit syntax styles... ::: Change the coloring of your code. Éditer les styles du code... ::: Modifie la coloration syntaxique du code. Debug next: proceed until next line Débugage pas à pas principal (next) Debug return: proceed until returns Débugage pas à pas sortant Debug continue: proceed to next breakpoint Débugage : exécuter jusqu'à prochain point d'arrêt Stop debugging Arrêter le débugage Clear all {} breakpoints Effacer tous les points d'arrêt Postmortem: debug from last traceback Postmortem : débuguer à partir de la dernière pile des appels Debug step into: proceed one step Débugage pas à pas entrant (step) Run file as script ::: Restart and run the current file as a script. Démarrer le script ::: Redémarre le shell et exécute le fichier courant en tant que script. Run main file as script ::: Restart and run the main file as a script. Démarrer le script principal::: Redémarre le shell et exécute le fichier principal en tant que script. Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection. Exécuter la sélection ::: Exécute les instructions, les lignes sélectionnées dans l'éditeur ou la ligne courante (en l'absence de sélection). Execute cell ::: Execute the current editors's cell in the current shell. Exécuter la cellule ::: Exécute la cellule courante dans le shell courant. Execute cell and advance ::: Execute the current editors's cell and advance to the next cell. Exécuter la cellule et avancer ::: Exécute la cellule courante dans le shell courant et passe à la cellule suivante. Execute file ::: Execute the current file in the current shell. Exécuter le contenu de l'onglet courant ::: Exécute le contenu de l'onglet courant dans le shell courant. Execute main file ::: Execute the main file in the current shell. Exécuter le contenu de l'onglet principal ::: Exécute le contenu de l'onglet principal dans le shell courant. Export to PDF ::: Export current file to PDF (e.g. for printing). Exporter au format PDF ::: Exporte le fichier courant au format PDF (pour imprimer par exemple). Paste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation. Coller et sélectionner ::: Colle le contenu du presse-papier et conserve la sélection pour en modifier l'indentation. Previous cell ::: Go back to the previous cell. Cellule précédente ::: Retourne à la cellule précédente. Next cell ::: Advance to the next cell. Cellule suivante ::: Passe à la cellule suivante. Previous object ::: Go back to the previous top-level structure. Objet précédent ::: Retourne à l'élément de plus haut niveau précédent. Next object ::: Advance to the next top-level structure. Objet suivant ::: Passe à l'élement de plus haut niveau suivant. Goto Definition ::: Go to definition of word under cursor. Aller à la définition ::: Va à la définition du symbole situé sous le curseur. Restart Pyzo ::: Restart the application. Redémarrer Pyzo ::: Redémarre l'application. Quit Pyzo ::: Close the application. Quitter Pyzo ::: Ferme l'application. Create new Python environment... ::: Install miniconda. Créer un nouvel environnement Python ::: Installe miniconda. Help on running code ::: Open the pyzo wizard at the page about running code. Aide sur l'exécution du code ::: Ouvre le guide pyzo à la page sur l'exécution de code. Report an issue ::: Did you found a bug in Pyzo, or do you have a feature request? Signaler un problème ::: Vous avez touvé un bug dans Pyzo ? Vous voulez demander l'ajout d'une fonctionnalité ? Check for updates ::: Are you using the latest version? Rechercher des mises à jour ::: Utilisez-vous la dernière version ? About Pyzo ::: More information about Pyzo. À propos de Pyzo ::: Plus d'information à propos de Pyzo. Select language ::: The language used by Pyzo. Sélectionner la langue ::: Langue utilisée par Pyzo. Advanced settings... ::: Configure Pyzo even further. Paramètres avancés ::: Configure Pyzo un peu plus en détail. Pyzo website ::: Open the Pyzo website in your browser. Site Web de Pyzo ::: Ouvre le site Web de Pyzo dans votre navigateur. Pyzo guide ::: Open the Pyzo guide in your browser. Guide en ligne de Pyzo ::: Ouvre le guide Pyzo dans votre navigateur. Local documentation ::: Documentation on Python and the Scipy Stack. Documentation locale ::: Documentation sur Python et la couche Scipy. Highlight brackets ::: Highlight matched and unmatched brackets. Surligner les crochets ::: Montrer la correspondance entre les crochets ouvrants et fermants. There is no main file selected. Vous n'avez pas choisi de fichier principal. Could not save the file. Impossible d'enregistrer le fichier. Can only run scripts that are in the file system. Impossible d'exécuter un script s'il n'a pas été enregistré. Pyzo wizard ::: Get started quickly. Guide de démarrage rapide ::: Comment démarrer rapidement avec Pyzo. None None Create shell %s: (%s) Création du shell %s (%s) Execute selection and advance Exécuter la sélection et avancer (as script) (en tant que script) No autocompletion Pas de complétion automatique Automatic popup Bulle d'aide automatique Only show popup when pressing Tab Voir la bulle d'aide uniquement en pressant Tab Autocompletion Complétion automatique Search Rechercher History Historique Copy ::: Copy selected lines Copier ::: Copier les lignes sélectionnées Run ::: Run selected lines in current shell Exécuter ::: Exécuter les lignes sélectionnées dans le shell courant Remove ::: Remove selected history items(s) Effacer ::: Effacer les entrées sélectionnées de l'historique Duplicate line ::: Duplicate the selected line(s). Dupliquer la/les ligne(s) ::: Dupliquer la/les ligne(s) sélectionnée(s). Delete line ::: Delete the selected line(s). Effacer la/les ligne(s) ::: Effacer la/les ligne(s) sélectionnée(s). default Défaut Open current directory in file browser Ouvrir le répertoire courant dans le gestionnaire de fichiers Change current directory to the file browser's path Aller dans le répertoire sélectionné dans le gestionnaire de fichiers Open directory in file browser Ouvrir le répertoire dans le gestionnaire de fichiers No shell to run code in. Aucun shell dans lequel exécuter le code. No editor selected. Aucun éditeur sélectionné. Change current directory to editor file path Définir le répertoire courant en accord avec le fichier ouvert dans l'éditeur Change directory when executing file ::: like Run File As Script does Changer le répertoire courant lors de l'exécution d'un fichier ::: comme le fait Exécuter en tant que script Toggle Case ::: Change selected text to lower or upper case Changer la casse ::: Passe le texte sélectionné en bas de casse ou en capitales Auto close quotes ::: Auto close single and double quotes. Refermer les guillemets ::: Ferme automatiquement les guillemets simples et doubles. Auto close brackets ::: Auto close ( { [ ] } ). Refermer les parenthèses ::: Ferme automatiquement ( { [ ] } ). Tab Tab Enter Entrée Tab, Enter Tab, Entrée Tab, (, [ Tab, (, [ Tab, Enter, (, [ Tab, Entrée, (, [ Redo ::: Redo the last undone editing action. Refaire ::: Refaire la dernière action précédemment annulée. Help on this expression ::: Show help for the selected expression. Aide sur cette expression ::: Affiche l'aide pour l'expression sélectionnée. menu dialog Could not run Impossible d'exécuter Could not run script. Impossible de lancer l'exécution du script. Check for the latest version. Rechercher la dernière version. Language changed Langue modifiée Edit shortcut mapping Édition des raccourcis clavier Shortcut mappings Raccourcis clavier Could not run notebook Impossible de démarrer le notebook About Pyzo À propos de Pyzo The language has been changed. Pyzo needs to restart for the change to take effect. Le langage a été modifié. Pyzo doit être redémarré pour que les modifications prennent effet. Could not change dir Impossible de modifier le répertoire courant Advanced Settings Réglages avancés pyzoFileBrowser File Browser Explorateur de fichiers pyzoHistoryViewer History viewer Visionneur de l'historique pyzoInteractiveHelp Interactive help Aide interactive Shows help on an object when using up/down in autocomplete. Affiche de l'aide sur un objet lors de l'utilisation des flèches dans l'autocomplétion. Help information is queried from the current shell when moving up/down in the autocompletion list and when double clicking on a name. L'aide est obtenue du shell courant lorsque vous vous déplacez vers le haut ou le bas dans la liste d'autocomplétion et lorsque vous double-cliquez sur un nom. Smart format Format intelligent Font size: %i Taille de police : %i This keyword introduces the definition of a class. Ce mot-clé introduit la définition d'une classe. This keyword introduces the definition of a function. Ce mot-clé introduit la définition d'une fonction. No help is available for operators because they are ambiguous: their meaning depend on the type of the first operand. Il n'y a pas d'aide pour les opérateurs car ils sont ambigus : leur signification dépend du type du premier opérande. Help on this Aide sur ceci Suspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function. Suspend l'exécution de la coroutine sur un objet awaitable. Ne peut être utilisé qu'à l'intérieur d'une coroutine. This keyword can appear as part of an alternative (see: ``if``), a loop (see: ``for``, ``while``) or a ``try`` statement. Ce mot-clé peut se trouver dans une alternative (voir : ``if``), une boucle (voir : ``for``, ``while``) ou une instruction``try``. Find and load modules or members of modules. Examples: ``` import foo # foo imported and bound locally import foo.bar.baz # foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb from foo.bar import baz # foo.bar.baz imported and bound as baz from foo import attr # foo imported and foo.attr bound as attr from foo import * # foo imported and all its members bound # under their respective names ``` Trouve et charge des modules ou des membres de modules. Exemples : ``` import foo # foo importé et lié localement import foo.bar.baz # foo.bar.baz importé, foo lié localement import foo.bar.baz as fbb # foo.bar.baz importé et lié sous le nom fbb from foo.bar import baz # foo.bar.baz importé et lié sous le nom baz from foo import attr # foo importé et foo.attr lié sous le nom attr from foo import * # foo importé et tous ses membres liés # sous leurs noms respectifs ``` This is an instruction that does nothing. It is useful in cases where a statement must appear because of syntactic constraints but we have nothing to do. Ceci est une instruction qui ne fait rien. Elle est utile lorsque des contraintes syntaxiques imposent d'écrire une instruction mais qu'on n'a rien à faire. This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the loop early, regardless of the loop condition. See also: ``continue`` Ce mot-clé ne peut apparaitre que dans le corps d'une boucle ``for`` ou ``while``. Il arrête la boucle prématurément, indépendamment de la condition de boucle. Voir aussi : ``continue`` An ``except`` clause can appear as a part of a ``try`` statement. Une clause ``except`` peut se trouver dans une instruction``try``. This keyword usually refers to membership of an object in a structure. There are actually two different kinds of ``in``. In a construct of the form ``for identifier in iterable``, ``in`` is a purely syntactic element that bears no meaning per se. See: ``for`` Outside such constructs, ``in`` is an operator and its precise meaning depends on the type of the first operand. Ce mot-clé désigne usuellement l'appartenance d'un objet à une structure. Il y a en fait deux sortes de ``in``. Dans une construction de la forme ``for identifier in iterable``, ``in`` est un élément purement syntaxique qui n'a pas de signification propre. Voir : ``for``. En dehors de telles constructions, ``in`` est un opérateur et son sens précis dépend du type du premier opérande. The ``raise`` statement is used to raise an Exception. Raising an exception will cause the program to abort, unless the exception is handled by a surrounding ``try``/``except`` statement or ``with`` statement. L'instruction ``raise`` permet de lever une Exception. Lever une excpetion entrainera le crash du programme, sauf si l'exception est gérée par une instruction ``try``/``except`` ou une instruction ``with`` contenant le bloc qui l'a levée. An ``finally`` clause can appear as a part of a ``try`` statement. This keyword can only appear in the definition of a function. It is usually followed by an expression. It means that the execution of the function call terminates here and that the result of the call is the value of the following expression. If ``return`` is not followed by an expression, the result is ``None``. Ce mot-clé ne peut se trouver que dans la définition d'une fonction. Il est habituellement suivi d'une expression. Il signifie que l'exécution de l'appel de fonction se termine ici et que le résultat de l'appel est la valeur de l'expression située après. Si ``return`` n'est pas suivi d'une expression, le résultat est ``None``. This operator computes the boolean conjunction in a lazy manner. More precisely, the expression ``x and y`` first evaluates ``x``; if ``x`` is false, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``or``, ``not``, ``True``, ``False`` Cet opérateur calcule la conjonction booléenne de façon paresseuse. Plus précisément, l'expression ``x and y`` commence par évaluer ``x`` ; si ``x`` est faux, sa valeur est renvoyée ; sinon, ``y`` est évalué et la valeur résultante est renvoyée. Voir aussi : ``or``, ``not``, ``True``, ``False`` This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the current run of the body early. The loop may still make additional runs of its body if its condition is still true . See also: ``break`` Ce mot-clé ne peut apparaitre que dans le corps d'une boucle ``for`` ou ``while``. Il abandonne prématurément le tour de boucle courant. La boucle peut faire d'autre tours si sa condition est toujours vraie. Voir aussi : ``break`` This keyword is used to produce an anonymous function. Example: ``` lambda x,y,z : (x+y) * z ``` Ce mot-clé permet de créer une fonction anonyme. Exemple : ``` lambda x,y,z : (x+y) * z ``` The ``as`` keyword can appear in an ``import`` statement, in an ``except`` clause of a ``try`` statement or in a ``with`` statement. Le mot-clé ``as`` peut apparaitre dans une instruction ``import``, une clause ``except`` d'une instruction ``try`` ou dans une instruction``with``. This keyword can appear as a part of an ``import`` or a ``raise``. It has different meanings; see help on those keywords. Ce mot-clé peut apparaitre dans un ``import`` ou un ``raise``. Il a des significations différentes ; voyez l'aide sur ces mots-clés. This keyword can only appear in the definition of a function. It is followed by identifiers and indicates that those identifier refer variables from the outer scope, not local variables in the function being defined. See also: ``global`` Ce mot-clé ne peut apparaitre que dans la définition d'une fonction. Il est suivi d'identifiants et indique que ces identifiants se rapportent à des variables de la portée englobante et non des variables locales de la fonction en cours de définition. Voir aussi : ``global`` Assert statements are a convenient way to insert debugging assertions into a program. Les instructions ``assert`` sont une manière pratique d'insérer des tests de débogage au sein d'un programme. Deletion of a name removes the binding of that name from the local or global namespace. It is also possible to delete an item in a list. La suppression d'un nom détruit le lien entre ce nom dans l'espace des noms locaux ou l'espace des noms globaux. Il est également possible de supprimer un terme d'une liste. This keyword is followed by identifiers and indicates that those identifiers refer variables from the module scope, not local variables. See also: ``nonlocal`` Ce mot-clé est suivi par des identificateurs et indique que ces identificateurs se rapportznt à des variables de la portée globale du module et non des variables locales. Voir aussi : ``nonlocal`` The operator ``not`` returns ``True`` if its argument is false, ``False`` otherwise. See also: ``and``, ``or``, ``True``, ``False`` L'opérateur ``not`` renvoie ``True`` si son argument est faux, ``False`` sinon. Voir aussi : ``and``, ``or``, ``True``, ``False`` The ``with`` statement is used to wrap the execution of a block with methods defined by a context manager. Example: ``` with open(filename) as infile: header = infile.readline() # etc. ``` In this example, the context manager will ensure correct closing of the file upon exiting the ``with`` statement, even if an exception was raised. L'instruction ``with`` est utilisée pour encapsuler l'exécution d'un bloc avec des méthodes définies par un gestionnaire de contexte. Exemple : ``` with open(filename) as infile: header = infile.readline() # etc. ``` Dans cet exemple, le gestionnaire de contexte va assurer la fermeture correcte du fichier lors de la sortie de l'instruction ``with``, même si une exception a été levée. This keyword appears as part of the ``async def``, ``async for`` and ``async with`` constructs and allows for writing coroutines. Ce mot-clé apparait dans les constructions ``async def``, ``async for`` et ``async with`` et il permet l'écriture de coroutines. This keyword can only appear as part of an alternative. See: ``if`` Ce mot-clé ne peut apparaitre que dans une alternative. Voir : ``if`` This keyword usually introduces an alternative. It is followed by a conditon and introduces the statement to execute when this condition is true. The alternative can only have one ``if`` clause, at the beginning. It can also comprise one or more ``elif`` clauses and at most one ``else`` clause at the end. Example: ``` if condition1 : doSomething # when condition1 evaluates to True elif condition2 : # optional, may have several such clauses doSomeOtherthing # when condition1 evaluates to False and condition2 to True else : # optional doAnotherThing # when all conditions evaluate to False ``` The ``if`` keyword can also appear in a generator. Example: ``` [x for x in T if x%2==0] ``` This filters ``T`` to keep only its even items. Ce mot-clé introduit la plupart du temps une alternative. Il est suivi d'une condition et introduit l'instruction a exécuter lorsque cette condition est vraie. L'alternative ne peut avoir qu'une seule clause ``if``, au début. Elle peut aussi comprendre une ou plusieurs clauses ``elif`` et au plus une clause ``else`` située à la fin. Exemple : ``` if condition1 : doSomething # lorsque condition1 vaut True elif condition2 : # facultatif, on peut avoir plusieurs elif doSomeOtherthing # lorsque condition1 vaut False et condition2 vaut True else : # facultatif doAnotherThing # quand toutes les conditions valent False ``` Le mot-clé ``if`` peut aussi apparaitre dans un générateur. Exemple : ``` [x for x in T if x%2==0] ``` Ceci filtre ``T`` pour n'en conserver que ses termes impairs. This operator computes the boolean disjunction in a lazy manner. More precisely, the expression ``x or y`` first evaluates ``x``; if ``x`` is true, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``and``, ``not``, ``True``, ``False`` Cet opérateur calcule la disjonction booléenne de façon paresseuse. Plus précisément, l'expression ``x or y`` commence par évaluer ``x`` ; si ``x`` est vrai, sa valeur est renvoyée ; sinon, ``y`` est évalué et la valeur résultante est renvoyée. Voir aussi : ``and``, ``not``, ``True``, ``False`` This operator tests for an object’s identity: ``x is y`` is true if and only if ``x`` and ``y`` are the same object. See also: ``id`` Cet opérateur teste l'égalité des identifiants des objets : ``x is y`` est vrai si et seulement si ``x`` et ``y`` sont le même objet. Voir aussi : ``id`` The ``for`` statement is used to iterate over the elements of an iterable object: ``` for variable in iterable: body else: # optional suite ``` The expression ``iterable`` is evaluated once; its value should be an iterable object. An iterator is created for the result of that expression. The ``body`` is then executed once for each item provided by the iterator, in the order returned by the iterator: each item in turn is assigned to the ``variable`` and then the ``body`` is executed. When the items are exhausted (which is immediately when the ``iterable`` is empty), the ``suite`` in the ``else`` clause, if present, is executed, and the loop terminates. A ``break`` statement executed in the first suite terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the first suite skips the rest of the ``body`` and continues with the next item, or with the ``else`` clause if there is no next item. The for-loop makes assignments to the ``variable``. This overwrites all previous assignments to that variable including those made in the ``body`` of the for-loop: ``` for i in range(10): print(i) i = 5 # this will not affect the for-loop # because i will be overwritten with the next # index in the range ``` The ``for`` keyword can also be part of a generator. Example: ``` [2*x for x in T] ``` This builds from ``T`` a list where each item was doubled. L'instruction ``for`` sert à itérer sur les éléments d'un objet itérable : ``` for variable in iterable: corps else: # facultatif suite ``` L'expression ``iterable`` est évaluée une seule fois ; elle doit produire un objet itérable. Un itérateur est créé pour le résultat de cette expression. Le ``corps`` est ensuite exécuté une fois pour chaque élément fourni par l'itérateur, dans l'ordre renvoyé par l'itérateur : Chaque élément est affecté, à tour de rôle, à ``variable`` puis le ``corps`` est exécuté. Lorsque les éléments sont épuisés (ce qui est immédiat lorsque l'``iterable`` est vide), la ``suite`` de la clause ``else``, si elle existe, est exécutée et la boucle se termine. Une instruction ``break`` exécutée dans le ``corps`` termine la boucle sans exécuter la ``suite`` de la clause ``else``. Une instruction ``continue`` exécutée dans le ``corps`` saute le reste du ``corps`` et continue avec l'élément suivant, ou avec la clause ``else`` s'il n'y a pas d'élément suivant. La boucle ``for`` effectue des affectations à la ``variable``, ce qui écrase toutes les affectations antérieures de cette ``variable, y compris celles effectuées dans le ``corps`` de la boucle for : ``` for i in range(10): print(i) i = 5 # cette affectation n'aura pas d'influence # sur la boucle car elle sera écrasée par la # prochaine valeur du range ``` Le mot-clé ``for`` peut aussi exprimer un générateur. Exemple : ``` [2*x for x in T] ``` Ceci construit à partir de ``T`` une liste en doublant chaque élément. The ``try`` statement allows to recover when an Exception was raised. It has two main forms. ``` try: critical_section except SomeExceptionType as e: suite # manage exceptions of type SomeExceptionType else: # optional everything_ok ``` If ``critical_section`` raises an exception of type ``SomeExceptionType``, the whole program will not abort but the ``suite`` will be executed, with ``e`` being bound to the actual exception. Several ``except`` clauses may be specified, each dealing with some kind of exception. If an exception is raised in ``critical_section`` but is not managed by any ``except`` clause, the whole program aborts. If there is an ``else`` clause, its body is executed if the control flow leaves the ``critical_section``, no exception was raised, and no ``return``, ``continue`` or ``break`` statement was executed. Exceptions in the ``else`` clause are not handled by the preceding ``except`` clauses. ``` try: critical_section finally: suite ``` If ``critical_section`` raises an exception, the ``suite`` will be executed before aborting the program. The ``suite`` is also executed when no exception is raised. When a ``return``, ``break`` or ``continue`` statement is executed in the ``critical_section``, the ``finally`` clause is also executed ‘on the way out.’ A ``continue`` statement is illegal in the ``finally`` clause. Both mechanisms can be combined, the ``finally`` clause coming after the last ``except`` clause or after the optional ``else`` clause. L'instruction ``try`` permet de gérer les cas où une Exception est levée. Elle a deux formes principales. ``` try: section_critique except SomeExceptionType as e: suite # gère les exceptions de type SomeExceptionType else: # facultatif tout_va_bien ``` Si ``section_critique`` lève une exception de type ``SomeExceptionType``, le programme entier ne va pas être avorté mais la ``suite`` sera exécutée, ``e`` étant lié à l'exception levée. Plusieurs clauses ``except`` peuvent être spécifiées, chacune gérant une catégorie d'exception. Si une exception est levée dans la ``section_critique`` mais n'est gérée par aucune des clauses ``except``, le programme est avorté. S'il y a une clause ``else``, son corps est exécuté si l'exécution de la ``section_critique`` s'achève sans qu'une exception ait été levée et sans qu'une instruction ``return``, ``continue`` ou ``break`` ait été exécutée. Les exceptions qui seraient levées dans la clause ``else`` ne sont pas gérée par les clauses ``except`` la précédent. ``` try: section_critique finally: suite ``` Si ``section_critique`` lève une exception , la ``suite`` sera exécutée avant d'avorter l'exécution du programme. La ``suite`` est également exécutée lorsqu'aucune exception n'est levée. Si une instruction ``return``, ``break`` ou ``continue`` est exécutée dans la ``section_critique``, la clause ``finally`` est également exécutée "en sortant". Il est illégal de mettre une instruction ``continue`` dans la clause ``finally``. Les deux mécanisme peuvent être combinés, ala clause``finally`` venant après la dernière clause ``except`` ou après la clau se ``else``. The while statement is used for repeated execution as long as an expression is true: ``` while expression: body else: # optional suite ``` This repeatedly tests the ``expression`` and, if it is true, executes the ``body``; if the ``expression`` is false (which may be the first time it is tested) the ``suite`` of the ``else`` clause, if present, is executed and the loop terminates. A ``break`` statement executed in the ``body`` terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the ``body`` skips the rest of the ``body`` and goes back to testing the ``expression``. L'instruction while permet l'exécution répétée d'un corps tant qu'une expression est vraie. ``` while expression: corps else: # facultatif suite ``` Python évalue l'``expression`` de manière répétée et, tant qu'elle est vraie, exécute le ``corps`` ; si l'``expression`` est fausse (ce qui peut arriver même lors de la première évaluation), la ``suite`` de la clause ``else``, si elle existe, est exécutée et la boucle se termine. Une instruction ``break`` exécutée dans le ``corps`` termine la boucle sans exécuter la ``suite`` de la clause ``else``. Une instruction ``continue`` exécutée dans le ``corps`` saute le reste du ``corps`` et retourne à l'évaluation de l'``expression``. The ``yield`` expression is used when defining a generator function or an asynchronous generator function and thus can only be used in the body of a function definition. Using a yield expression in a function’s body causes that function to be a generator, and using it in an ``async def`` function’s body causes that coroutine function to be an asynchronous generator. Une expression ``yield`` est utilisée pour définir une fonction générateur ou une fonction générateur asynchrone et ne peut donc être utilisée que dans le corps de la définition d'une fonction. L'utilisation d'une expression ``yield`` dans le corps d'une fonction entraîne que cette fonction devient un générateur et son utilisation dans le corps d'une fonction ``async def`` entraine que cette fonction coroutine devient un générateur asynchrone. pyzoSourceStructure Source structure Structure du programme Parsing Analyse de pyzoWebBrowser Web browser Navigateur web pyzoWorkspace Workspace Environnement Lists the variables in the current shell's namespace. Liste les variables de l'environnement du shell courant. Name Nom Type Type Repr Repr Show namespace Afficher l'espace de nom Show help Afficher de l'aide Delete Effacer Hide types Cacher les types Hide functions Cacher les fonctions Hide modules Cacher les modules Hide private identifiers Cacher les identifiants privés Hide the shell's startup variables Cacher les variables initiales du shell Lists the variables in the current shell's namespace. Currently, there are none. Some of them may be hidden because of the filters you configured. Liste les variables de l'environnement du shell courant. Actuellement, il n'y en a aucune. Certaines sont peut-être cachées par les filtres que vous avez sélectionnés. search Hide search widget (Escape) Cacher le widget de recherche (Escape) Find pattern Recherche un motif Previous ::: Find previous occurrence of the pattern. Précédent ::: Recherche l'occurence précédente du motif. Next ::: Find next occurrence of the pattern. Suivant ::: Recherche la prochaine occurence du motif. Replace pattern Remplacer le motif Replace ::: Replace this match. Remplacer ::: Remplace cette occurrence. Match case ::: Find words that match case. Respecter la casse ::: Recherche des mots en respectant la casse. RegExp ::: Find using regular expressions. Expression Rationnelle ::: Rechercher avec des expressions rationnelles. Whole words ::: Find only whole words. Mots complets ::: Recherche uniquement des mots complets. Auto hide ::: Hide search/replace when unused for 10 s. Affichage/Disparition automatique ::: Cache Rechercher/Remplacer s'il n'ets pas utilisé pendant 10s. one un all in this file tous dans ce fichier all in all files tous dans tous fichiers shell Use system default Configuration par défaut du système name ::: The name of this configuration. nom ::: Nom de la configuration. exe ::: The Python executable. exe ::: Exécutable Python. gui ::: The GUI toolkit to integrate (for interactive plotting, etc.). Gui ::: Intégration d'un toolkit graphique (GUI toolkit) (pour tracer des courbes de manière interactive etc.). pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS. pythonPath ::: Liste des répertoires dans lesquels rechercher des module et paquetages. Chaque chemin doit figurer sur une ligne, ou être séparé des autres par le séparateur par défaut du système. startupScript ::: The script to run at startup (not in script mode). startupScript ::: Script à exécuter au démarrage (ne s'applique pas lors de l'exécution en tant que script). startDir ::: The start directory (not in script mode). startDir ::: Répertoire de démarrage (ne s'applique pas lors de l'exécution en tant que script). Delete ::: Delete this shell configuration Supprimer ::: Supprimer ce shell Shell configurations Configurations du shell Add config Ajouter une configuration ipython ::: Use IPython shell if available. IPython ::: Utilise IPython s'il est disponible. File to run at startup Fichier à exécuter au démarrage Code to run at startup Code à exécuter au démarrage argv ::: The command line arguments (sys.argv). argv ::: Arguments en ligne de commande (sys.argv). environ ::: Extra environment variables (os.environ). environ ::: Variables d'environnement (os.environ). shells Click to select shell. Cliquez pour sélectionner le shell. splash This is <b>Pyzo</b><br />the Python IDE for scientific computing Voici <b>Pyzo</b> <br />l'IDE Python pour l'informatique scientifique Version Version Pyzo is open source software and freely available for everyone. Pyzo est un logiciel open source libre disponible pour tous. wizard Step Étape Welcome to the Interactive Editor for Python! Bienvenue dans Pyzo ! Select language Choisir une langue Language changed Langue modifiée You can execute commands directly in the *shell*, Vous pouvez exécuter des commandes directement dans le *shell*, or you can write code in the *editor* and execute that. ou vous pouvez écrire du code dans l'*éditeur* et l'exécuter. The editor is where you write your code L'éditeur est l'endroit où vous écrivez le code In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc. Dans l'*éditeur*, chaque fichier ouvert est représenté par un onglet. En faisant un clic droit sur l'onglet, le fichier correspondant peut être exécuté, sauvegardé, fermé etc. The shell is where your code gets executed Le shell est l'endroit où le code est exécuté Configuring shells Configuration des shells Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath. Via 'Shell > Configuration des shells', vous pouvez éditer et ajouter *des configurations de shells*. Ceci vous permet par exemple de paramétrer le répertoire de démarrage, ou d'utiliser un chemin python (PythonPath) de votre choix. Running code Exécuter du code *Run cell:* a cell is everything between two lines starting with '##'. *Exécuter une cellule :* une cellule est tout ce qui se trouve entre deux lignes commençant par '##'. *Run file:* run all the code in the current file. *Exécuter le contenu de l'onglet courant :* Exécute tout le code contenu dans l'onglet courant, même s'il n'a pas été sauvegardé. *Run project main file:* run the code in the current project's main file. *Exécuter le contenu de l'onglet principal :* Exécute tout le code contenu dans l'onglet principal, même s'il n'a pas été sauvegardé. Interactive mode vs running as script Mode interactif vs exécution en tant que script In interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to ['']. En mode interactif, sys.path[0] est une chaîne vide (i.e. le répertoire courant), et sys.argv vaut ['']. Tools for your convenience Des outils pratiques Via the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked. Via the menu *Outils*, il est possible de sélectionner quels outils utiliser. Les outils peuvent être placés dans la fenêtre de la manière que vous voulez, et peuvent aussi être détachés de la fenêtre principale. Note that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example. Notez que le système d'outils est réalisé de telle manière qu'il est facile de créer vos propres outils. Jetez un oeil au wiki pour avoir plus d'informations, ou utilisez un des outils existants comme exemple. Recommended tools Outils recommandés We especially recommend the following tools: Nous recommandons tout particulièrement les outils suivants : The *Source structure tool* gives an outline of the source code. L'outil *Source structure* (Structure du fichier source) fournit un *plan* du code source. The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon. L'outil *File browser* (Gestionnaire de Fichiers) permet de garder un oeil sur tous les fichiers d'un répertoire. Pour gérer vos projets, cliquez sur le symbole étoile. Get coding! En route pour le code ! Getting started with Pyzo Démarrer avec Pyzo This wizard helps you get familiarized with the workings of Pyzo. Ce guide vous aide à vous familiariser avec le fonctionnement de Pyzo. Pyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*. Pyzo est un environnement de développement multi plate-forme qui met l'accent sur l'*interactivité* et l'*introspection*, ce qui le rend particulièrement efficace pour la programmation à vocation scientifique. Son design se veut *simple* et *efficace*. This wizard can be opened using 'Help > Pyzo wizard' Ce guide peut être ouvert en utilisant le menu 'Aide -> Guide Pyzo' The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. La langue a été modifiée. Pyzo doit redémarrer pour que les modifications prennent effet dans toute l'application. Pyzo consists of two main components Pyzo contient deux composants principaux When Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions. Lorsque Pyzo démarre, un *shell* par défaut est créé. Vous pouvez ajouter d'autres shells qui s'exécutent simultanément, et qui peuvent correspondre à des versions différentes de Python. Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell. Un shell s'exécute dans un processus fils. Ainsi, s'il est occupé, Pyzo lui même continue d'être réactif. Vous pouvez continuer à coder et même exécuter du code dans un autre shell. Pyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib. Pyzo intègre la boucle des événements de cinq bibliothèques graphiques différentes, vous permettant ainsi de tracer des graphes de manière interactive avec par exemple Visvis ou Matplotlib. Pyzo supports several ways to run source code in the editor. (see the 'Run' menu). Pyzo permet d'exécuter du code de plusieurs manières depuis l'éditeur (voir le menu Exécuter). This concludes the Pyzo wizard. Now, get coding and have fun! Ceci termine le Guide Pyzo. Maintenant, en route pour le code, et amusez-vous bien ! The right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily. Le bouton droit de la souris permet de choisir un fichier comme *fichier principal* (*main file*) dans un projet. Ce fichier est repéré par le symbole étoile, et il permet de lancer l'exécution du projet plus facilement. *Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines. *Exécuter la sélection:* s'il n'y a pas de texte sélectionné, la ligne courante est exécutée ; si la sélection appartient à une seule ligne, la sélection seule est évaluée ; si la sélection s'étend sur plusieurs lignes, Pyzo exécutera la totalité des lignes sélectionnées. In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script. Dans le mode script, __file__ et sys.argv[0] contiennent le nom du fichier, sys.path[0] et le répertoire de travail seront réglés au nom du répertoire contenant le script. You can run the current file or the main file normally, or as a script. When run as script, the shell is restarted to provide a clean environment. The shell is also initialized differently so that it closely resembles a normal script execution. Vous pouvez exécuter le fichier courant normalement ou en tant que script. Lors d'une exécution en tant que script, le shell est redémarré pour avoir un environnement propre. Le shell est de plus initialisé différemment de façon à ressembler fortement à l'exécution normale d'un script. pyzo-4.12.3/pyzo/resources/translations/pyzo_fr_FR.tr.qm000066400000000000000000002620711421373005400234070ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝB ÀY¾dÎZrw˜vE‚TKI»0Ð%=/ÖTB|ì0De—IŒH5 ØVES¥f¾ EŒrªÀAcÀeáÏÇ}æ"zPÎ6¬‰a9ÌðÍ^CåÙ4J6•ÜLZÂ5Yì,s¤Z§›z[f3{Ô\~‹`/D+œp@Þ+…Ù€eŽV[‚ÓnG¤„ªž<ŒT~Zõ•'î=+–§#7—Ýþ+G~%r¤Ú'éÜÍ.ðqð!mJðxÞ1Gô\”Úù¤@ìÝ >$9 Ð¥>¤$` j(`õ*?´Nf ETÎg³eöžpf@'€p^KS}b® ŽÖSÊ’€®‚±“nÞì–ÁZ æ¬c>Õ¯˜î?rÃ2®TÍjn/=íöî-±ðÍŽcòïÞ)ô^Ú½Ü • C€¶ã>T<36 @,Þ†U¨NTù[êþnnu#p}.{þq^ŽaÃ}ꟊƒuC…Ó†¹~@]¢ÏNoÈiŽRÂß±Wv’â;^/Ñës”Œ3ÜT/Hc MÃ( gRƒ«„uä—ÊuPÈDŠŽqûŠs‰*¹‹æÎhÔœc¸\ºr>bø˜„‰úEä3þüCEžùƒTT„a.Í t² $aª$оQGÔ~•2Of¾°§X8NeÆdHN ÓpPЗs˜’ƒ,z“~]Œ{²9Ü´Ž>9¢'Ÿ.¥ .Hï¨L9¹¬,¥œ¬,¥ØµÙ`€›¹ŠE7Ë|IýËÏ~=ZÏô$³âô+wºéÓNCvõ®.føkµ]¥.v!F>BÁ$‡S,Å&En~3 Y…=¸> SõnòX>yEa@>4åh+n2onjÞW|y“!=‹¼ð cŒH5E™s#¸›ˆ˜n°¾4]ÌMÞöþ9Ζ¹ üú (R>%ù%ØîzÇ'îU¼139§<ô>7~I<5 ÁLö®^QPùPï/Y žI‚_pÔœzZ ÊJNu³¯"s–³À2¢6—¤²µ®5*Å×;Æln?9Îm>0éJžžô÷5>ë»™–óåO^7„/ÓeÐP85/V²”……V²”4œV¿~`B[†A[[¡înæd ‚††hm°áùåþK€éc À†QΪ£°³}J¤ØnXŒ¦yÀn³ÓÞ­Ò·"È‚¹i dúËÿž¶ѯ€úÑÚæÓ/µyÕÕjî3WÙjŽnNážkäãÌ þÓï+!îÿûNtï#¢n^ý#¨J†îA/%D—f=ó‚`i|Wjù^&džk[Üšðä›uˆ¡)~Š6´%³ f·ªþ0C½yþÏÌùÚû×-£Ù€ã .哤 ¯0$L ÆþOŠ þu¶ *9õ 6ïÁ IxŽ$» KÆŽ j$Ö w¢S}• €qŽPë ‹u;Ÿ ލ¾Ò £ 5 ˜ ­g~R °Ön8¨ ·ùŠ›h ÍØBU רÎPJ Þ@Ù R ë]¢Ž ì”@ß ö›Õ ð.(† %Þ˜" ¬n‰Ì Bñ-º iîÄ 6 3 ;Ñ~d4 ?•P J€‡… OZO “½õZ ”c-5 ŸÕ «ãq4 ­SÛx' ¼ŒT€B ÕÙÎëb ãlÎ& ý¦>JN ­3  5>ˆß /L°ä5 3ÊîK¦ [FÎ_„ e…,C t®Cˆ …Ënxr ‡‚‹ ™žü Ÿ4o° ÔÉT Ù ý§ š.Ja ,<žR^ 0ôniÿ YŒÄO [=n)x ao‚ t§žL® —"q; £e °êîvß »sso »)DGí ¿öî0 É $ ˳¾X– ë¶n'8 3Î\² rb8 ˜i„ äi &M®ú- )Áå 0…´ 7 ÿË Bn~S" Gn¨ MÙN O¶ÿ u QunÆ Vž; f΂†( Âú¾AŒ Ï¿^Z= Ýž ä?Î" ð‹S-]Ô~çq¥ðODŸ¡Vî.p!ÿQ0_nÚÝ4[> ¸:×>(«KþîOý‚wîZøtA\ñ¾1óm¥Y”-¬³>Ñ»>|£Ë;DŠì9 ¸÷¶~sÌü´n ( _Žƒ¸ ¶ÙH» Œ`Iª±HŒJ:p_|Œ¾Ü†~ߔ͋ÇNMŽŒ>)ñ§#ÒTb­x^"e³YE +µ®{ÖÞŽlœßDä°ü.“#IiYXZInstaller également les paquets scientifiques Also install scientific packagesbootstrapconda€Ceci va télécharger et installer miniconda sur votre ordinateur.:This will download and install miniconda on your computer.bootstrapcondaPileStackdebugnÊtes vous sûr(e) de vouloir fermer le fichier épinglé ?0Are you sure you want to close this pinned file?editor¢Fermer, Fermer sans enregistrer, Annuler, Enregistrer les modifications et fermerClose, Discard, Cancel, Saveeditor FermerClosingeditor8Fermeture du fichier épingléClosing pinnededitor@Sauvegarder le fichier modifié ?Save modified file?editor\Sélectionner un ou plusieurs fichiers à ouvrir Select one or more files to open editorTabsXSélectionner le nom du fichier à sauvegarderSelect the file to save to editorTabsFAjouter le chemin au path de PythonAdd path to Python path filebrowser@Êtes-vous sûr de vouloir effacer$Are you sure that you want to delete filebrowser$Renommer le projetChange project name filebrowserŒCliquez sur l'étoile pour ajouter le répertoire à la liste des projets"Click star to bookmark current dir filebrowserRCopier le nom complet (chemin) du fichier Copy path filebrowserNouveau dossierCreate new directory filebrowserNouveau fichierCreate new file filebrowserEffacerDelete filebrowserFaire une copie Duplicate filebrowser FiltreFilename filter filebrowser,Nom du nouveau dossier#Give the name for the new directory filebrowser,Nom du nouveau fichierGive the name for the new file filebrowser,Nouveau nom du fichierGive the new name for the file filebrowserJAller dans ce dossier (shell courant))Go to this directory in the current shell filebrowserBImporter un fichier de données...Import data... filebrowser$Respecter la casse Match case filebrowser.Nouveau nom du projet :New project name: filebrowser OuvrirOpen filebrowser<Ouvrir avec un éditeur externeOpen outside Pyzo filebrowserNom du projet Project name filebrowserProjets : Projects: filebrowserPRecherche avec une expression rationelleRegExp filebrowser>Enlever de la liste des projetsRemove project filebrowserRenommerRename filebrowser*Ouvrir dans le FinderReveal in Finder filebrowser8Démarrer un notebook JupyterRun Jupyter notebook filebrowser6Exécuter en tant que script Run as script filebrowser8Rechercher dans les fichiersSearch in files filebrowserHRechercher dans les sous-répertoiresSearch in subdirs filebrowserXAjouter ce répertoire à la liste des projetsStar this directory filebrowserZEnlever ce répertoire de la liste des projetsUnstar this directory filebrowserChoisir... Browse... importwizard FinirClose importwizard(Importer des données Import data importwizardZImporter les données dans un seul objet arrayImport data as single array importwizardtImporter les données en utilisant une variable par colonne(Import data into one variable per column importwizard:Assistant d'import de donnéesImport data wizard importwizard:Pas de fichier courant ouvertNo current file open importwizard4Pas de shell courant actifNo current shell active importwizardAperçu :Preview: importwizardXLever une erreur en cas de données invalidesRaise error upon invalid data importwizardLSélectionnez les colonnes à importer :Select columns to import: importwizard.Sélectionnez le fichier Select file importwizard^L'assistant d'import de données est déjà ouvert&The import data wizard is already open importwizardnon sauvegardéunsavedmain* (en tant que script) (as script)menurÀ propos de Pyzo ::: Plus d'information à propos de Pyzo.+About Pyzo ::: More information about Pyzo.menuÿÿÿÿAccept autocompletion with:menuxParamètres avancés ::: Configure Pyzo un peu plus en détail.5Advanced settings... ::: Configure Pyzo even further.menuLPoser une question ::: Besoin d'aide ?Ask a question ::: Need help?menu~Refermer les parenthèses ::: Ferme automatiquement ( { [ ] } )./Auto close brackets ::: Auto close ( { [ ] } ).menu¨Refermer les guillemets ::: Ferme automatiquement les guillemets simples et doubles.:Auto close quotes ::: Auto close single and double quotes.menuÒComplétion automatique des mots clés ::: La liste de complétion automatique contient aussi les mots clés.DAutocomplete keywords ::: The autocompletion list includes keywords.menu,Complétion automatiqueAutocompletionmenu0Bulle d'aide automatiqueAutomatic popupmenuÄIndentation automatique ::: Indente automatiquement lors d'un passage à la ligne après deux point.BAutomatically indent ::: Indent when pressing enter after a colon.menuxImpossible d'exécuter un script s'il n'a pas été enregistré.1Can only run scripts that are in the file system.menušDéfinir le répertoire courant en accord avec le fichier ouvert dans l'éditeur,Change current directory to editor file pathmenuŠAller dans le répertoire sélectionné dans le gestionnaire de fichiers3Change current directory to the file browser's pathmenuØChanger le répertoire courant lors de l'exécution d'un fichier ::: comme le fait Exécuter en tant que scriptEChange directory when executing file ::: like Run File As Script doesmenu†Rechercher des mises à jour ::: Utilisez-vous la dernière version ?7Check for updates ::: Are you using the latest version?menu>Effacer tous les points d'arrêtClear all {} breakpointsmenuFEffacer l'écran ::: Efface l'écran."Clear screen ::: Clear the screen.menuHFermer ::: Ferme le fichier courant.!Close ::: Close the current file.menufFermer ::: Arrête l'interpréteur et ferme le shell.8Close ::: Terminate the interpreter and close the shell.menuPTout fermer ::: Ferme tous les fichiers.Close all ::: Close all files.menuˆFermer les autres onglets ::: Ferme tous les fichiers sauf celui-ci.-Close others::: Close all files but this one.menuZCommenter ::: Commente la ligne sélectionnée.&Comment ::: Comment the selected line.menuTCopier ::: Copier les lignes sélectionnéesCopy ::: Copy selected linesmenuxCopier ::: Copie le texte sélectionné dans le presse-papier.1Copy ::: Copy the selected text to the clipboard.menu†Copier le chemin ::: Copier le chemin complet désignant ce fichier..Copy path ::: Copy the full path of this file.menuHImpossible d'enregistrer le fichier.Could not save the file.menuxCréer un nouvel environnement Python ::: Installe miniconda.7Create new Python environment... ::: Install miniconda.menu2Création du shell %s (%s)Create shell %s: (%s)menuLCouper ::: Coupe le texte sélectionné.Cut ::: Cut the selected text.menudDébugage : exécuter jusqu'à prochain point d'arrêt*Debug continue: proceed to next breakpointmenuFDébugage pas à pas principal (next)#Debug next: proceed until next linemenu4Débugage pas à pas sortant#Debug return: proceed until returnsmenuBDébugage pas à pas entrant (step)!Debug step into: proceed one stepmenu€Désindenter ::: Supprime l'indentation de la ligne sélectionnée.&Dedent ::: Unindent the selected line.menuˆEffacer la/les ligne(s) ::: Effacer la/les ligne(s) sélectionnée(s).,Delete line ::: Delete the selected line(s).menuDupliquer la/les ligne(s) ::: Dupliquer la/les ligne(s) sélectionnée(s).2Duplicate line ::: Duplicate the selected line(s).menuÉditionEditmenu°Éditer les raccourcis... ::: Modifie les raccourcis pour accéder aux éléments des menus.;Edit key mappings... ::: Edit the shortcuts for menu items.menu¸Configuration des shells ::: Ajoute des shells, et modifie les paramètres de l'interpréteur.WEdit shell configurations... ::: Add new shell configs and edit interpreter properties.menu”Éditer les styles du code... ::: Modifie la coloration syntaxique du code.;Edit syntax styles... ::: Change the coloring of your code.menu²Activer les bulles d'aides ::: Affiche les bulles d'aide avec le prototype des fonctions.;Enable calltips ::: Show calltips with function signatures.menuREncodage ::: Encodage du fichier courant.8Encoding ::: The character encoding of the current file.menu EntréeEntermenu”Exécuter la cellule ::: Exécute la cellule courante dans le shell courant.IExecute cell ::: Execute the current editors's cell in the current shell.menuèExécuter la cellule et avancer ::: Exécute la cellule courante dans le shell courant et passe à la cellule suivante.]Execute cell and advance ::: Execute the current editors's cell and advance to the next cell.menuÒExécuter le contenu de l'onglet courant ::: Exécute le contenu de l'onglet courant dans le shell courant.?Execute file ::: Execute the current file in the current shell.menuÚExécuter le contenu de l'onglet principal ::: Exécute le contenu de l'onglet principal dans le shell courant.AExecute main file ::: Execute the main file in the current shell.menuExécuter la sélection ::: Exécute les instructions, les lignes sélectionnées dans l'éditeur ou la ligne courante (en l'absence de sélection).Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection.menu@Exécuter la sélection et avancerExecute selection and advancemenuÀExporter au format PDF ::: Exporte le fichier courant au format PDF (pour imprimer par exemple).AExport to PDF ::: Export current file to PDF (e.g. for printing).menuFichierFilemenuŠRechercher suivant ::: Recherche la prochaine occurence de la chaîne.Rechercher la dernière version.Check for the latest version. menu dialogXImpossible de modifier le répertoire courantCould not change dir menu dialog*Impossible d'exécuter Could not run menu dialogDImpossible de démarrer le notebookCould not run notebook menu dialogVImpossible de lancer l'exécution du script.Could not run script. menu dialog<Édition des raccourcis clavierEdit shortcut mapping menu dialogLangue modifiéeLanguage changed menu dialog$Raccourcis clavierShortcut mappings menu dialog.Explorateur de fichiers File BrowserpyzoFileBrowser4Visionneur de l'historiqueHistory viewerpyzoHistoryViewerB L'aide est obtenue du shell courant lorsque vous vous déplacez vers le haut ou le bas dans la liste d'autocomplétion et lorsque vous double-cliquez sur un nom. ‡ Help information is queried from the current shell when moving up/down in the autocompletion list and when double clicking on a name. pyzoInteractiveHelp„Une clause ``except`` peut se trouver dans une instruction``try``.AAn ``except`` clause can appear as a part of a ``try`` statement.pyzoInteractiveHelpÿÿÿÿBAn ``finally`` clause can appear as a part of a ``try`` statement.pyzoInteractiveHelpÚLes instructions ``assert`` sont une manière pratique d'insérer des tests de débogage au sein d'un programme.UAssert statements are a convenient way to insert debugging assertions into a program.pyzoInteractiveHelpZLa suppression d'un nom détruit le lien entre ce nom dans l'espace des noms locaux ou l'espace des noms globaux. Il est également possible de supprimer un terme d'une liste.ˆDeletion of a name removes the binding of that name from the local or global namespace. It is also possible to delete an item in a list.pyzoInteractiveHelpXTrouve et charge des modules ou des membres de modules. Exemples : ``` import foo # foo importé et lié localement import foo.bar.baz # foo.bar.baz importé, foo lié localement import foo.bar.baz as fbb # foo.bar.baz importé et lié sous le nom fbb from foo.bar import baz # foo.bar.baz importé et lié sous le nom baz from foo import attr # foo importé et foo.attr lié sous le nom attr from foo import * # foo importé et tous ses membres liés # sous leurs noms respectifs ```Find and load modules or members of modules. Examples: ``` import foo # foo imported and bound locally import foo.bar.baz # foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb from foo.bar import baz # foo.bar.baz imported and bound as baz from foo import attr # foo imported and foo.attr bound as attr from foo import * # foo imported and all its members bound # under their respective names ```pyzoInteractiveHelp*Taille de police : %i Font size: %ipyzoInteractiveHelpAide sur ceci Help on thispyzoInteractiveHelp Aide interactiveInteractive helppyzoInteractiveHelpêIl n'y a pas d'aide pour les opérateurs car ils sont ambigus : leur signification dépend du type du premier opérande.uNo help is available for operators because they are ambiguous: their meaning depend on the type of the first operand.pyzoInteractiveHelp®Affiche de l'aide sur un objet lors de l'utilisation des flèches dans l'autocomplétion.;Shows help on an object when using up/down in autocomplete.pyzoInteractiveHelp$Format intelligent Smart formatpyzoInteractiveHelpäSuspend l'exécution de la coroutine sur un objet awaitable. Ne peut être utilisé qu'à l'intérieur d'une coroutine.hSuspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function.pyzoInteractiveHelp&Le mot-clé ``as`` peut apparaitre dans une instruction ``import``, une clause ``except`` d'une instruction ``try`` ou dans une instruction``with``.„The ``as`` keyword can appear in an ``import`` statement, in an ``except`` clause of a ``try`` statement or in a ``with`` statement.pyzoInteractiveHelp lL'instruction ``for`` sert à itérer sur les éléments d'un objet itérable : ``` for variable in iterable: corps else: # facultatif suite ``` L'expression ``iterable`` est évaluée une seule fois ; elle doit produire un objet itérable. Un itérateur est créé pour le résultat de cette expression. Le ``corps`` est ensuite exécuté une fois pour chaque élément fourni par l'itérateur, dans l'ordre renvoyé par l'itérateur : Chaque élément est affecté, à tour de rôle, à ``variable`` puis le ``corps`` est exécuté. Lorsque les éléments sont épuisés (ce qui est immédiat lorsque l'``iterable`` est vide), la ``suite`` de la clause ``else``, si elle existe, est exécutée et la boucle se termine. Une instruction ``break`` exécutée dans le ``corps`` termine la boucle sans exécuter la ``suite`` de la clause ``else``. Une instruction ``continue`` exécutée dans le ``corps`` saute le reste du ``corps`` et continue avec l'élément suivant, ou avec la clause ``else`` s'il n'y a pas d'élément suivant. La boucle ``for`` effectue des affectations à la ``variable``, ce qui écrase toutes les affectations antérieures de cette ``variable, y compris celles effectuées dans le ``corps`` de la boucle for : ``` for i in range(10): print(i) i = 5 # cette affectation n'aura pas d'influence # sur la boucle car elle sera écrasée par la # prochaine valeur du range ``` Le mot-clé ``for`` peut aussi exprimer un générateur. Exemple : ``` [2*x for x in T] ``` Ceci construit à partir de ``T`` une liste en doublant chaque élément. ÖThe ``for`` statement is used to iterate over the elements of an iterable object: ``` for variable in iterable: body else: # optional suite ``` The expression ``iterable`` is evaluated once; its value should be an iterable object. An iterator is created for the result of that expression. The ``body`` is then executed once for each item provided by the iterator, in the order returned by the iterator: each item in turn is assigned to the ``variable`` and then the ``body`` is executed. When the items are exhausted (which is immediately when the ``iterable`` is empty), the ``suite`` in the ``else`` clause, if present, is executed, and the loop terminates. A ``break`` statement executed in the first suite terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the first suite skips the rest of the ``body`` and continues with the next item, or with the ``else`` clause if there is no next item. The for-loop makes assignments to the ``variable``. This overwrites all previous assignments to that variable including those made in the ``body`` of the for-loop: ``` for i in range(10): print(i) i = 5 # this will not affect the for-loop # because i will be overwritten with the next # index in the range ``` The ``for`` keyword can also be part of a generator. Example: ``` [2*x for x in T] ``` This builds from ``T`` a list where each item was doubled. pyzoInteractiveHelpÜL'instruction ``raise`` permet de lever une Exception. Lever une excpetion entrainera le crash du programme, sauf si l'exception est gérée par une instruction ``try``/``except`` ou une instruction ``with`` contenant le bloc qui l'a levée.ÑThe ``raise`` statement is used to raise an Exception. Raising an exception will cause the program to abort, unless the exception is handled by a surrounding ``try``/``except`` statement or ``with`` statement.pyzoInteractiveHelp êL'instruction ``try`` permet de gérer les cas où une Exception est levée. Elle a deux formes principales. ``` try: section_critique except SomeExceptionType as e: suite # gère les exceptions de type SomeExceptionType else: # facultatif tout_va_bien ``` Si ``section_critique`` lève une exception de type ``SomeExceptionType``, le programme entier ne va pas être avorté mais la ``suite`` sera exécutée, ``e`` étant lié à l'exception levée. Plusieurs clauses ``except`` peuvent être spécifiées, chacune gérant une catégorie d'exception. Si une exception est levée dans la ``section_critique`` mais n'est gérée par aucune des clauses ``except``, le programme est avorté. S'il y a une clause ``else``, son corps est exécuté si l'exécution de la ``section_critique`` s'achève sans qu'une exception ait été levée et sans qu'une instruction ``return``, ``continue`` ou ``break`` ait été exécutée. Les exceptions qui seraient levées dans la clause ``else`` ne sont pas gérée par les clauses ``except`` la précédent. ``` try: section_critique finally: suite ``` Si ``section_critique`` lève une exception , la ``suite`` sera exécutée avant d'avorter l'exécution du programme. La ``suite`` est également exécutée lorsqu'aucune exception n'est levée. Si une instruction ``return``, ``break`` ou ``continue`` est exécutée dans la ``section_critique``, la clause ``finally`` est également exécutée "en sortant". Il est illégal de mettre une instruction ``continue`` dans la clause ``finally``. Les deux mécanisme peuvent être combinés, ala clause``finally`` venant après la dernière clause ``except`` ou après la clau se ``else``.õThe ``try`` statement allows to recover when an Exception was raised. It has two main forms. ``` try: critical_section except SomeExceptionType as e: suite # manage exceptions of type SomeExceptionType else: # optional everything_ok ``` If ``critical_section`` raises an exception of type ``SomeExceptionType``, the whole program will not abort but the ``suite`` will be executed, with ``e`` being bound to the actual exception. Several ``except`` clauses may be specified, each dealing with some kind of exception. If an exception is raised in ``critical_section`` but is not managed by any ``except`` clause, the whole program aborts. If there is an ``else`` clause, its body is executed if the control flow leaves the ``critical_section``, no exception was raised, and no ``return``, ``continue`` or ``break`` statement was executed. Exceptions in the ``else`` clause are not handled by the preceding ``except`` clauses. ``` try: critical_section finally: suite ``` If ``critical_section`` raises an exception, the ``suite`` will be executed before aborting the program. The ``suite`` is also executed when no exception is raised. When a ``return``, ``break`` or ``continue`` statement is executed in the ``critical_section``, the ``finally`` clause is also executed ‘on the way out.’ A ``continue`` statement is illegal in the ``finally`` clause. Both mechanisms can be combined, the ``finally`` clause coming after the last ``except`` clause or after the optional ``else`` clause.pyzoInteractiveHelpL'instruction ``with`` est utilisée pour encapsuler l'exécution d'un bloc avec des méthodes définies par un gestionnaire de contexte. Exemple : ``` with open(filename) as infile: header = infile.readline() # etc. ``` Dans cet exemple, le gestionnaire de contexte va assurer la fermeture correcte du fichier lors de la sortie de l'instruction ``with``, même si une exception a été levée.XThe ``with`` statement is used to wrap the execution of a block with methods defined by a context manager. Example: ``` with open(filename) as infile: header = infile.readline() # etc. ``` In this example, the context manager will ensure correct closing of the file upon exiting the ``with`` statement, even if an exception was raised.pyzoInteractiveHelp~Une expression ``yield`` est utilisée pour définir une fonction générateur ou une fonction générateur asynchrone et ne peut donc être utilisée que dans le corps de la définition d'une fonction. L'utilisation d'une expression ``yield`` dans le corps d'une fonction entraîne que cette fonction devient un générateur et son utilisation dans le corps d'une fonction ``async def`` entraine que cette fonction coroutine devient un générateur asynchrone.tThe ``yield`` expression is used when defining a generator function or an asynchronous generator function and thus can only be used in the body of a function definition. Using a yield expression in a function’s body causes that function to be a generator, and using it in an ``async def`` function’s body causes that coroutine function to be an asynchronous generator.pyzoInteractiveHelpL'opérateur ``not`` renvoie ``True`` si son argument est faux, ``False`` sinon. Voir aussi : ``and``, ``or``, ``True``, ``False``„The operator ``not`` returns ``True`` if its argument is false, ``False`` otherwise. See also: ``and``, ``or``, ``True``, ``False``pyzoInteractiveHelp|L'instruction while permet l'exécution répétée d'un corps tant qu'une expression est vraie. ``` while expression: corps else: # facultatif suite ``` Python évalue l'``expression`` de manière répétée et, tant qu'elle est vraie, exécute le ``corps`` ; si l'``expression`` est fausse (ce qui peut arriver même lors de la première évaluation), la ``suite`` de la clause ``else``, si elle existe, est exécutée et la boucle se termine. Une instruction ``break`` exécutée dans le ``corps`` termine la boucle sans exécuter la ``suite`` de la clause ``else``. Une instruction ``continue`` exécutée dans le ``corps`` saute le reste du ``corps`` et retourne à l'évaluation de l'``expression``.‰The while statement is used for repeated execution as long as an expression is true: ``` while expression: body else: # optional suite ``` This repeatedly tests the ``expression`` and, if it is true, executes the ``body``; if the ``expression`` is false (which may be the first time it is tested) the ``suite`` of the ``else`` clause, if present, is executed and the loop terminates. A ``break`` statement executed in the ``body`` terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the ``body`` skips the rest of the ``body`` and goes back to testing the ``expression``.pyzoInteractiveHelp8Ceci est une instruction qui ne fait rien. Elle est utile lorsque des contraintes syntaxiques imposent d'écrire une instruction mais qu'on n'a rien à faire.™This is an instruction that does nothing. It is useful in cases where a statement must appear because of syntactic constraints but we have nothing to do.pyzoInteractiveHelpCe mot-clé apparait dans les constructions ``async def``, ``async for`` et ``async with`` et il permet l'écriture de coroutines.This keyword appears as part of the ``async def``, ``async for`` and ``async with`` constructs and allows for writing coroutines.pyzoInteractiveHelpCe mot-clé peut apparaitre dans un ``import`` ou un ``raise``. Il a des significations différentes ; voyez l'aide sur ces mots-clés.yThis keyword can appear as a part of an ``import`` or a ``raise``. It has different meanings; see help on those keywords.pyzoInteractiveHelpCe mot-clé peut se trouver dans une alternative (voir : ``if``), une boucle (voir : ``for``, ``while``) ou une instruction``try``.yThis keyword can appear as part of an alternative (see: ``if``), a loop (see: ``for``, ``while``) or a ``try`` statement.pyzoInteractiveHelpŠCe mot-clé ne peut apparaitre que dans une alternative. Voir : ``if``CThis keyword can only appear as part of an alternative. See: ``if``pyzoInteractiveHelpÎCe mot-clé ne peut apparaitre que dans le corps d'une boucle ``for`` ou ``while``. Il abandonne prématurément le tour de boucle courant. La boucle peut faire d'autre tours si sa condition est toujours vraie. Voir aussi : ``break``ãThis keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the current run of the body early. The loop may still make additional runs of its body if its condition is still true . See also: ``break``pyzoInteractiveHelptCe mot-clé ne peut apparaitre que dans le corps d'une boucle ``for`` ou ``while``. Il arrête la boucle prématurément, indépendamment de la condition de boucle. Voir aussi : ``continue`` This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the loop early, regardless of the loop condition. See also: ``continue``pyzoInteractiveHelp&Ce mot-clé ne peut apparaitre que dans la définition d'une fonction. Il est suivi d'identifiants et indique que ces identifiants se rapportent à des variables de la portée englobante et non des variables locales de la fonction en cours de définition. Voir aussi : ``global``îThis keyword can only appear in the definition of a function. It is followed by identifiers and indicates that those identifier refer variables from the outer scope, not local variables in the function being defined. See also: ``global``pyzoInteractiveHelpCe mot-clé ne peut se trouver que dans la définition d'une fonction. Il est habituellement suivi d'une expression. Il signifie que l'exécution de l'appel de fonction se termine ici et que le résultat de l'appel est la valeur de l'expression située après. Si ``return`` n'est pas suivi d'une expression, le résultat est ``None``.9This keyword can only appear in the definition of a function. It is usually followed by an expression. It means that the execution of the function call terminates here and that the result of the call is the value of the following expression. If ``return`` is not followed by an expression, the result is ``None``.pyzoInteractiveHelp`Ce mot-clé introduit la définition d'une classe.2This keyword introduces the definition of a class.pyzoInteractiveHelpdCe mot-clé introduit la définition d'une fonction.5This keyword introduces the definition of a function.pyzoInteractiveHelpŠCe mot-clé est suivi par des identificateurs et indique que ces identificateurs se rapportznt à des variables de la portée globale du module et non des variables locales. Voir aussi : ``nonlocal`` This keyword is followed by identifiers and indicates that those identifiers refer variables from the module scope, not local variables. See also: ``nonlocal``pyzoInteractiveHelp¸Ce mot-clé permet de créer une fonction anonyme. Exemple : ``` lambda x,y,z : (x+y) * z ```bThis keyword is used to produce an anonymous function. Example: ``` lambda x,y,z : (x+y) * z ```pyzoInteractiveHelp„Ce mot-clé introduit la plupart du temps une alternative. Il est suivi d'une condition et introduit l'instruction a exécuter lorsque cette condition est vraie. L'alternative ne peut avoir qu'une seule clause ``if``, au début. Elle peut aussi comprendre une ou plusieurs clauses ``elif`` et au plus une clause ``else`` située à la fin. Exemple : ``` if condition1 : doSomething # lorsque condition1 vaut True elif condition2 : # facultatif, on peut avoir plusieurs elif doSomeOtherthing # lorsque condition1 vaut False et condition2 vaut True else : # facultatif doAnotherThing # quand toutes les conditions valent False ``` Le mot-clé ``if`` peut aussi apparaitre dans un générateur. Exemple : ``` [x for x in T if x%2==0] ``` Ceci filtre ``T`` pour n'en conserver que ses termes impairs.This keyword usually introduces an alternative. It is followed by a conditon and introduces the statement to execute when this condition is true. The alternative can only have one ``if`` clause, at the beginning. It can also comprise one or more ``elif`` clauses and at most one ``else`` clause at the end. Example: ``` if condition1 : doSomething # when condition1 evaluates to True elif condition2 : # optional, may have several such clauses doSomeOtherthing # when condition1 evaluates to False and condition2 to True else : # optional doAnotherThing # when all conditions evaluate to False ``` The ``if`` keyword can also appear in a generator. Example: ``` [x for x in T if x%2==0] ``` This filters ``T`` to keep only its even items.pyzoInteractiveHelpCe mot-clé désigne usuellement l'appartenance d'un objet à une structure. Il y a en fait deux sortes de ``in``. Dans une construction de la forme ``for identifier in iterable``, ``in`` est un élément purement syntaxique qui n'a pas de signification propre. Voir : ``for``. En dehors de telles constructions, ``in`` est un opérateur et son sens précis dépend du type du premier opérande.vThis keyword usually refers to membership of an object in a structure. There are actually two different kinds of ``in``. In a construct of the form ``for identifier in iterable``, ``in`` is a purely syntactic element that bears no meaning per se. See: ``for`` Outside such constructs, ``in`` is an operator and its precise meaning depends on the type of the first operand.pyzoInteractiveHelpPCet opérateur calcule la conjonction booléenne de façon paresseuse. Plus précisément, l'expression ``x and y`` commence par évaluer ``x`` ; si ``x`` est faux, sa valeur est renvoyée ; sinon, ``y`` est évalué et la valeur résultante est renvoyée. Voir aussi : ``or``, ``not``, ``True``, ``False``This operator computes the boolean conjunction in a lazy manner. More precisely, the expression ``x and y`` first evaluates ``x``; if ``x`` is false, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``or``, ``not``, ``True``, ``False``pyzoInteractiveHelpPCet opérateur calcule la disjonction booléenne de façon paresseuse. Plus précisément, l'expression ``x or y`` commence par évaluer ``x`` ; si ``x`` est vrai, sa valeur est renvoyée ; sinon, ``y`` est évalué et la valeur résultante est renvoyée. Voir aussi : ``and``, ``not``, ``True``, ``False``This operator computes the boolean disjunction in a lazy manner. More precisely, the expression ``x or y`` first evaluates ``x``; if ``x`` is true, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``and``, ``not``, ``True``, ``False``pyzoInteractiveHelp4Cet opérateur teste l'égalité des identifiants des objets : ``x is y`` est vrai si et seulement si ``x`` et ``y`` sont le même objet. Voir aussi : ``id``ˆThis operator tests for an object’s identity: ``x is y`` is true if and only if ``x`` and ``y`` are the same object. See also: ``id``pyzoInteractiveHelpAnalyse de Parsing pyzoSourceStructure,Structure du programmeSource structurepyzoSourceStructureNavigateur web Web browserpyzoWebBrowserEffacerDelete pyzoWorkspace(Cacher les fonctionsHide functions pyzoWorkspace$Cacher les modules Hide modules pyzoWorkspace<Cacher les identifiants privésHide private identifiers pyzoWorkspaceNCacher les variables initiales du shell"Hide the shell's startup variables pyzoWorkspace Cacher les types Hide types pyzoWorkspacepListe les variables de l'environnement du shell courant.5Lists the variables in the current shell's namespace. pyzoWorkspacePListe les variables de l'environnement du shell courant. Actuellement, il n'y en a aucune. Certaines sont peut-être cachées par les filtres que vous avez sélectionnés.“Lists the variables in the current shell's namespace. Currently, there are none. Some of them may be hidden because of the filters you configured. pyzoWorkspaceNomName pyzoWorkspaceReprRepr pyzoWorkspace$Afficher de l'aide Show help pyzoWorkspace0Afficher l'espace de nomShow namespace pyzoWorkspaceTypeType pyzoWorkspaceEnvironnement Workspace pyzoWorkspaceÈAffichage/Disparition automatique ::: Cache Rechercher/Remplacer s'il n'ets pas utilisé pendant 10s.7Auto hide ::: Hide search/replace when unused for 10 s.search$Recherche un motif Find patternsearchLCacher le widget de recherche (Escape)Hide search widget (Escape)search‚Respecter la casse ::: Recherche des mots en respectant la casse.*Match case ::: Find words that match case.searchlSuivant ::: Recherche la prochaine occurence du motif.-Next ::: Find next occurrence of the pattern.searchpPrécédent ::: Recherche l'occurence précédente du motif.5Previous ::: Find previous occurrence of the pattern.searchExpression Rationnelle ::: Rechercher avec des expressions rationnelles.*RegExp ::: Find using regular expressions.searchPRemplacer ::: Remplace cette occurrence.Replace ::: Replace this match.search$Remplacer le motifReplace patternsearchrMots complets ::: Recherche uniquement des mots complets.&Whole words ::: Find only whole words.search.tous dans tous fichiersall in all filessearch(tous dans ce fichierall in this filesearchunonesearch2Ajouter une configuration Add configshell8Code à exécuter au démarrageCode to run at startupshell@Supprimer ::: Supprimer ce shell*Delete ::: Delete this shell configurationshell>Fichier à exécuter au démarrageFile to run at startupshell.Configurations du shellShell configurationsshellFConfiguration par défaut du systèmeUse system defaultshellfargv ::: Arguments en ligne de commande (sys.argv)./argv ::: The command line arguments (sys.argv).shellfenviron ::: Variables d'environnement (os.environ).5environ ::: Extra environment variables (os.environ).shell4exe ::: Exécutable Python.exe ::: The Python executable.shellÞGui ::: Intégration d'un toolkit graphique (GUI toolkit) (pour tracer des courbes de manière interactive etc.).Fgui ::: The GUI toolkit to integrate (for interactive plotting, etc.).shell`IPython ::: Utilise IPython s'il est disponible.+ipython ::: Use IPython shell if available.shell@nom ::: Nom de la configuration.(name ::: The name of this configuration.shellœpythonPath ::: Liste des répertoires dans lesquels rechercher des module et paquetages. Chaque chemin doit figurer sur une ligne, ou être séparé des autres par le séparateur par défaut du système.›pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS.shellÀstartDir ::: Répertoire de démarrage (ne s'applique pas lors de l'exécution en tant que script).6startDir ::: The start directory (not in script mode).shellØstartupScript ::: Script à exécuter au démarrage (ne s'applique pas lors de l'exécution en tant que script).DstartupScript ::: The script to run at startup (not in script mode).shellFCliquez pour sélectionner le shell.Click to select shell.shellsxPyzo est un logiciel open source libre disponible pour tous.?Pyzo is open source software and freely available for everyone.splashŠVoici <b>Pyzo</b> <br />l'IDE Python pour l'informatique scientifique@This is Pyzo
the Python IDE for scientific computingsplashVersionVersionsplash La langue a été modifiée. Pyzo doit redémarrer pour que les modifications prennent effet dans toute l'application. Ž The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. wizardÊ*Exécuter une cellule :* une cellule est tout ce qui se trouve entre deux lignes commençant par '##'.F*Run cell:* a cell is everything between two lines starting with '##'.wizard*Exécuter le contenu de l'onglet courant :* Exécute tout le code contenu dans l'onglet courant, même s'il n'a pas été sauvegardé.1*Run file:* run all the code in the current file.wizard *Exécuter le contenu de l'onglet principal :* Exécute tout le code contenu dans l'onglet principal, même s'il n'a pas été sauvegardé.I*Run project main file:* run the code in the current project's main file.wizardP*Exécuter la sélection:* s'il n'y a pas de texte sélectionné, la ligne courante est exécutée ; si la sélection appartient à une seule ligne, la sélection seule est évaluée ; si la sélection s'étend sur plusieurs lignes, Pyzo exécutera la totalité des lignes sélectionnées.þ*Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines.wizard0Configuration des shellsConfiguring shellswizard.En route pour le code ! Get coding!wizard$Démarrer avec PyzoGetting started with PyzowizardàEn mode interactif, sys.path[0] est une chaîne vide (i.e. le répertoire courant), et sys.argv vaut [''].pIn interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to [''].wizardfDans le mode script, __file__ et sys.argv[0] contiennent le nom du fichier, sys.path[0] et le répertoire de travail seront réglés au nom du répertoire contenant le script.¡In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script.wizardnDans l'*éditeur*, chaque fichier ouvert est représenté par un onglet. En faisant un clic droit sur l'onglet, le fichier correspondant peut être exécuté, sauvegardé, fermé etc.‚In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc.wizard^Mode interactif vs exécution en tant que script%Interactive mode vs running as scriptwizardLangue modifiéeLanguage changedwizardÂNotez que le système d'outils est réalisé de telle manière qu'il est facile de créer vos propres outils. Jetez un oeil au wiki pour avoir plus d'informations, ou utilisez un des outils existants comme exemple.ÂNote that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example.wizardzPyzo intègre la boucle des événements de cinq bibliothèques graphiques différentes, vous permettant ainsi de tracer des graphes de manière interactive avec par exemple Visvis ou Matplotlib.ŽPyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib.wizardPPyzo contient deux composants principaux$Pyzo consists of two main componentswizardøPyzo est un environnement de développement multi plate-forme qui met l'accent sur l'*interactivité* et l'*introspection*, ce qui le rend particulièrement efficace pour la programmation à vocation scientifique. Son design se veut *simple* et *efficace*.âPyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*.wizard¼Pyzo permet d'exécuter du code de plusieurs manières depuis l'éditeur (voir le menu Exécuter).RPyzo supports several ways to run source code in the editor. (see the 'Run' menu).wizard$Outils recommandésRecommended toolswizard Exécuter du code Running codewizard$Choisir une langueSelect languagewizardjUn shell s'exécute dans un processus fils. Ainsi, s'il est occupé, Pyzo lui même continue d'être réactif. Vous pouvez continuer à coder et même exécuter du code dans un autre shell.¥Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell.wizard ÉtapeStepwizard`L'outil *File browser* (Gestionnaire de Fichiers) permet de garder un oeil sur tous les fichiers d'un répertoire. Pour gérer vos projets, cliquez sur le symbole étoile.The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon.wizard´L'outil *Source structure* (Structure du fichier source) fournit un *plan* du code source.@The *Source structure tool* gives an outline of the source code.wizard^L'éditeur est l'endroit où vous écrivez le code'The editor is where you write your codewizardÚLe bouton droit de la souris permet de choisir un fichier comme *fichier principal* (*main file*) dans un projet. Ce fichier est repéré par le symbole étoile, et il permet de lancer l'exécution du projet plus facilement.ÁThe right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily.wizardZLe shell est l'endroit où le code est exécuté*The shell is where your code gets executedwizard¨Ceci termine le Guide Pyzo. Maintenant, en route pour le code, et amusez-vous bien !=This concludes the Pyzo wizard. Now, get coding and have fun!wizard†Ce guide peut être ouvert en utilisant le menu 'Aide -> Guide Pyzo'4This wizard can be opened using 'Help > Pyzo wizard'wizardŒCe guide vous aide à vous familiariser avec le fonctionnement de Pyzo.AThis wizard helps you get familiarized with the workings of Pyzo.wizard(Des outils pratiquesTools for your conveniencewizardðVia 'Shell > Configuration des shells', vous pouvez éditer et ajouter *des configurations de shells*. Ceci vous permet par exemple de paramétrer le répertoire de démarrage, ou d'utiliser un chemin python (PythonPath) de votre choix.¾Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath.wizard¸Via the menu *Outils*, il est possible de sélectionner quels outils utiliser. Les outils peuvent être placés dans la fenêtre de la manière que vous voulez, et peuvent aussi être détachés de la fenêtre principale.ŒVia the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked.wizardzNous recommandons tout particulièrement les outils suivants :,We especially recommend the following tools:wizard*Bienvenue dans Pyzo !-Welcome to the Interactive Editor for Python!wizardtLorsque Pyzo démarre, un *shell* par défaut est créé. Vous pouvez ajouter d'autres shells qui s'exécutent simultanément, et qui peuvent correspondre à des versions différentes de Python.ŸWhen Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions.wizard~Vous pouvez exécuter des commandes directement dans le *shell*,1You can execute commands directly in the *shell*,wizardlVous pouvez exécuter le fichier courant normalement ou en tant que script. Lors d'une exécution en tant que script, le shell est redémarré pour avoir un environnement propre. Le shell est de plus initialisé différemment de façon à ressembler fortement à l'exécution normale d'un script. You can run the current file or the main file normally, or as a script. When run as script, the shell is restarted to provide a clean environment. The shell is also initialized differently so that it closely resembles a normal script execution.wizardzou vous pouvez écrire du code dans l'*éditeur* et l'exécuter.7or you can write code in the *editor* and execute that.wizardˆpyzo-4.12.3/pyzo/resources/translations/pyzo_nl_NL.tr000066400000000000000000002621361421373005400230010ustar00rootroot00000000000000 bootstrapconda This will download and install miniconda on your computer. Also install scientific packages Waiting to start installation. debug Stack Stack editor Close, Discard, Cancel, Save Sluiten, Verwerpen, Annuleren, Opslaan Closing Sluiten Save modified file? Gewijzigd bestand sluiten? Closing pinned Sluiten van gepint bestand Are you sure you want to close this pinned file? Weet je zeker dat je het vastgepinde bestand wilt sluiten? editorTabs Select one or more files to open Selecteer een of meer bestanden om te openen Select the file to save to Selecteer het bestand om de code in op te slaan filebrowser Filename filter Bestandsnaam filter Search in files Zoek in bestanden Projects: Projecten: Remove project Verwijder project Change project name Verander de naam van dit project Add path to Python path Voeg directory toe aan Pythonpath Project name Project naam New project name: Nieuwe project naam: Match case Hoofdlettergevoelig RegExp RegExp Search in subdirs Zoek in subdirectories Open Openen Reveal in Finder Laat zien in Finder Rename Hernoemen Delete Verwijderen Create new file Maak nieuw bestand Create new directory Maak nieuwe directorie Give the new name for the file Geef de nieuwe naam voor het bestand Give the name for the new directory Geef de naam voor de directorie Duplicate Dupliceren Give the name for the new file Geef de naam van het nieuwe bestand Are you sure that you want to delete Weet je zeker dat je wilt verwijderen Copy path Kopier directorie pad Click star to bookmark current dir Klik de ster om de huidige dir op te slaan Unstar this directory Verwijder deze dir uit de projecten Star this directory Voeg deze dir toe aan de projecten Go to this directory in the current shell Ga naar deze directorie in de huidige shell Import data... Importeer data... Run as script Uitvoeren als script Open outside Pyzo Open buiten Pyzo Run Jupyter notebook Voer uit in de Jupyter notebook importwizard Select file Selecteer bestand Browse... Browse ... Preview: Voorbeeld: Select columns to import: Selecteer colummen om te importeren: Close Sluiten Import data as single array Importeer data als een enkelvoudig array Import data into one variable per column Importeer data in een variabele per kollom Raise error upon invalid data Geef foutmelding als de data niet juist is Import data wizard Data importeer hulp No current shell active Er is nu geen shell aktief No current file open Er is nu geen bestand open Import data Importeed data The import data wizard is already open The importeerhulp is al open main unsaved niet opgeslagen menu File Bestand Edit Bewerken View Uiterlijk Settings Instellingen Shell Shell Run Uitvoeren Tools Gereedschap Help Help Use tabs Gebruik tabs Use spaces Gebruik spaties spaces plural of spacebar character spaties Indentation ::: The indentation used of the current file. Inspring niveau ::: The mate van inspringen voor het huidige bestand. Syntax parser ::: The syntax parser of the current file. Syntax parser ::: De syntax parser voor het huidige bestand. Line endings ::: The line ending character of the current file. Regel uiteinden ::: Het soort regel uiteinden van het huidige bestand. Encoding ::: The character encoding of the current file. Codering ::: The karakter codering voor het huidige bestand. New ::: Create a new (or temporary) file. Nieuw ::: Maak een nieuw (of tijdelijk) bestand. Open... ::: Open an existing file from disk. Open ::: Open een bestaand bestand. Save ::: Save the current file to disk. Opslaan ::: Sla het huidige bestand op. Save as... ::: Save the current file under another name. Opslaan als ... ::: Sla het huidige bestand op onder een andere naam. Save all ::: Save all open files. Alles opslaan ::: Sla alle geopende bestanden op. Close ::: Close the current file. Sluiten ::: Sluit het huidige bestand. Close all ::: Close all files. Alles sluiten ::: Sluit alle geopende bestanden. Undo ::: Undo the latest editing action. Ongedaan maken ::: Maak de laatste bewerking ongedaan. Cut ::: Cut the selected text. Knippen Copy ::: Copy the selected text to the clipboard. Kopieren Paste ::: Paste the text that is now on the clipboard. Plakken Select all ::: Select all text. Alles selecteren Indent ::: Indent the selected line. Inspringen ::: Spring de geselecteerde regel in. Dedent ::: Unindent the selected line. Terugspringen ::: Zet het inspringen een stap kleiner. Comment ::: Comment the selected line. Commentaar ::: Voeg een commentaar teken toe aan de geselecteerde regel. Uncomment ::: Uncomment the selected line. Verwijder commentaar ::: Verwijder een commentaar teken van de huidige regel. Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters. Uitlijnen commentaar of docstring ::: Hervorm de geselecteerde tekst door het uit te lijnen op 70 karakters. Go to line ::: Go to a specific line number. Ga naar regel ::: Ga naar een specifiek regel nummer. Toggle breakpoint ::: Toggle breakpoint on the current line. Zet breakpoint aan of uit Find or replace ::: Show find/replace widget. Initialize with selected text. Vind of vervang ::: Laat het vind/vervang paneel zien. Initializeer met de geselecteerde tekst. Find selection ::: Find the next occurrence of the selected text. Vind selectie ::: Vind het volgende voorkomen van de geselecteerde tekst. Find selection backward ::: Find the previous occurrence of the selected text. Vind vorige selectie ::: Vind het vorige voorkomen van de geselecteerde tekst. Find next ::: Find the next occurrence of the search string. Vind volgende ::: Vind het volgende voorkomen van de zoek tekst. Find previous ::: Find the previous occurrence of the search string. Vind vorige ::: Vind het vorige voorkomen van de zoek tekst. Accept autocompletion with: Accepteer autocompletion met: Zoom in Inzoomen Zoom out Uitzoomen Zoom reset Reset zoom Qt theme ::: The styling of the user interface widgets. Qt thema ::: De stijl van de gebruikersinterface. Select shell ::: Focus the cursor on the current shell. Selecteer shell ::: Focus de cursor op de huidige shell. Select editor ::: Focus the cursor on the current editor. Selecteer editor ::: Focus de cursor op de huidige editor. Select previous file ::: Select the previously selected file. Selecteer vorige bestand Show whitespace ::: Show spaces and tabs. Laat whitespace zien ::: Laat spaties en tabs zien. Show line endings ::: Show the end of each line. Laat regeluiteindes zien Show indentation guides ::: Show vertical lines to indicate indentation. Laat inspring hulplijnen zien Wrap long lines ::: Wrap lines that do not fit on the screen (i.e. no horizontal scrolling). Vouw lange regels ::: Vouw lange regels als ze niet op het scherm passen. Highlight current line ::: Highlight the line where the cursor is. Markeer huidige regel ::: Geef de huidige regel een andere achtergrondkleur. Zooming Zoomen Clear screen ::: Clear the screen. Maak scherm schoon Interrupt ::: Interrupt the current running code (does not work for extension code). Onderbreken ::: Onderbreek de nu uitgevoerde code (werkt niet voor extension-code). Restart ::: Terminate and restart the interpreter. Herstart ::: Stop en herstart de interpreter. Terminate ::: Terminate the interpreter, leaving the shell open. Stoppen ::: Stop de interpreter, maar laat de shell open. Close ::: Terminate the interpreter and close the shell. Afsluiten ::: Stop de interpreter en sluit de shell af. Edit shell configurations... ::: Add new shell configs and edit interpreter properties. Aanpassen shell configuraties... ::: Voeg shell configuraties toe en pas de eigenschappen aan. New shell ... ::: Create new shell to run code in. Nieuwe shell ... ::: Maak een nieuwe shell aan om code in uit te voeren. Close others::: Close all files but this one. Anderen sluiten ::: Sluit alle bestanden behalve deze. Rename ::: Rename this file. Hernoemen ::: Hernoem dit bestand. Copy path ::: Copy the full path of this file. Kopieer path Pin/Unpin ::: Pinned files get closed less easily. Vastpinnen/ontpinnen :::Pin dit bestand vast. Set/Unset as MAIN file ::: The main file can be run while another file is selected. Stel dit bestand in als MAIN bestand/gewoon bestand. Run file ::: Run the code in this file. Voer bestand uit ::: Voer de code in dit bestand uit. Run file as script ::: Run this file as a script (restarts the interpreter). Voer bestand uit als script ::: Voer de code in dit bestand uit als script (dit herstart de interpreter). Run selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection. Voer selectie uit ::: Uitvoeren van: huidig geselecteerde regels, geselecteerde woorden op een regel, of de huidige regel als er geen selectie is. Reload tools ::: For people who develop tools. Herlaad gereedschap. Ask a question ::: Need help? Stel een vraag Automatically indent ::: Indent when pressing enter after a colon. Automatisch inspringen ::: Inspringen bij een nieuwe regel na een dubbele punt. Enable calltips ::: Show calltips with function signatures. Pas uitvoertips toe ::: Laat uitvoertips zien. Autocomplete keywords ::: The autocompletion list includes keywords. Autocomplete keywords ::: De autocomple lijst laat ook keywords zien. Edit key mappings... ::: Edit the shortcuts for menu items. Bewerk sneltoetsen... Edit syntax styles... ::: Change the coloring of your code. Bewerk syntax stijlen... Location of long line indicator ::: The location of the long-line-indicator. Locatie van de lange-regel indicator Font Lettertype Debug next: proceed until next line Debug volgende: ga een regel verder Debug return: proceed until returns Debug return: ga verder tot function return Debug continue: proceed to next breakpoint Debug verder: ga verder tot volgend breakpoint Stop debugging Stop debuggen Clear all {} breakpoints Verwijder alle {} breakpoints Postmortem: debug from last traceback Postmortem: debuggen met laatste traceback Debug step into: proceed one step Debug instappen: ga een stap verder Run file as script ::: Restart and run the current file as a script. Voer bestand uit als script ::: Herstart en voer het huidige bestand uit als script. Run main file as script ::: Restart and run the main file as a script. Voer main bestand uit als script ::: Herstart en voer het main bestand uit als script. Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection. Executeer selectie ::: Executeer de geselecteerde regels, de geselecteerde text op de huidige regel, of the huidige regel als er geen selectie is. Execute cell ::: Execute the current editors's cell in the current shell. Executeer cell ::: Executeer de huidige cell. Execute cell and advance ::: Execute the current editors's cell and advance to the next cell. Executeer cell en ga verder ::: Executeer de huidige cell en ga verder naar de volgende cell. Execute file ::: Execute the current file in the current shell. Executeer bestand ::: Executeer het huidige bestand. Execute main file ::: Execute the main file in the current shell. Executeer main bestand ::: Executeer het main bestand in de huidige shell. Export to PDF ::: Export current file to PDF (e.g. for printing). Exporteer naar PDF Paste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation. Plakken en selecteren ::: Plak the tekst op het clipbord en behoud de selectie om de indentatie aan te kunnen passen. Previous cell ::: Go back to the previous cell. Vorige cell ::: ga terug naar de vorige cell. Next cell ::: Advance to the next cell. Volgende cell ::: ga verder naar de volgende cell. Previous object ::: Go back to the previous top-level structure. Vorige object ::: ga terug naar het vorige top-level object. Next object ::: Advance to the next top-level structure. Volgende object ::: ga verder naar het volgende top-level object. Goto Definition ::: Go to definition of word under cursor. Ga naar definitie ::: Ga naar de definitie onder de cursor. Restart Pyzo ::: Restart the application. Pyzo herstarten Quit Pyzo ::: Close the application. Pyzo afsluiten Create new Python environment... ::: Install miniconda. Creeer een nieuwe Python omgeving ::: Installeer miniconda Help on running code ::: Open the pyzo wizard at the page about running code. Help over het uitvoeren van code Report an issue ::: Did you found a bug in Pyzo, or do you have a feature request? Rapporteer een probleem Check for updates ::: Are you using the latest version? Kijk of er updates zijn About Pyzo ::: More information about Pyzo. Over Pyzo Select language ::: The language used by Pyzo. Selecteer taal Advanced settings... ::: Configure Pyzo even further. Geavanceerde instellingen Pyzo website ::: Open the Pyzo website in your browser. Pyzo's website Pyzo guide ::: Open the Pyzo guide in your browser. Pyzo's instructies Local documentation ::: Documentation on Python and the Scipy Stack. Locale documentatie Highlight brackets ::: Highlight matched and unmatched brackets. Geef corresponderende haken aan There is no main file selected. Er is geen main bestand geselecteerd (as script) (als script) Could not save the file. Can het bestand niet opslaan Can only run scripts that are in the file system. Kan alleen bestanden uitvoeren die op het bestandssysteem staan Pyzo wizard ::: Get started quickly. Pyzo's wizard None Niets Create shell %s: (%s) Maak shell %s: (%s) Execute selection and advance Voer selectie uit en ga verder No autocompletion Geen autocompletion Automatic popup Automatische popup Only show popup when pressing Tab Laal alleen popup zien door Tab te gebruiken Autocompletion Autocompletion Search Zoeken History Geschiedenis Copy ::: Copy selected lines Kopieer Run ::: Run selected lines in current shell Uitvoeren ::: geselecteerde regels uitvoeren in huidige shell Remove ::: Remove selected history items(s) Verwijderen ::: verwijder de geselecteerde items uit de geschiedenis Duplicate line ::: Duplicate the selected line(s). Dupliceer regel ::: Dupliceer de geselecteerde regel(s) Delete line ::: Delete the selected line(s). Verwijder regel ::: Verwijder de huidige regel(s) default standaard Open current directory in file browser Open huidige directory in de file browser Change current directory to the file browser's path Verander huidige directoru naar huidige pad in file browser Open directory in file browser Open directory in file browser No shell to run code in. Geen shell om code in uit te voeren No editor selected. Geen editor geselecteerd Change current directory to editor file path Verander huidige directory naar directory van bestand in editor Change directory when executing file ::: like Run File As Script does Verander directory als een file uitgevoerd wordt. Toggle Case ::: Change selected text to lower or upper case Converteer van/naar hoofdletters Auto close quotes ::: Auto close single and double quotes. Automatische aanhalingstekens Auto close brackets ::: Auto close ( { [ ] } ). Automatisch aanhalingstekens sluiten Tab Tab Enter Enter Tab, Enter Tab of Enter Tab, (, [ Tab, (, [ Tab, Enter, (, [ Redo ::: Redo the last undone editing action. Opnieuw doen Help on this expression ::: Show help for the selected expression. menu dialog Could not run Kon niet uitvoeren Could not run script. Kon script niet uitvoeren. Check for the latest version. Check laatste versie. Edit shortcut mapping Pas sneltoetsen aan Shortcut mappings Sneltoets lijst Language changed Taal aangepast Could not run notebook Kan niet uitvoeren in de notebook About Pyzo Over pyzo The language has been changed. Pyzo needs to restart for the change to take effect. De taal is aangepast Herstart Pyzo om de verandering door te voeren. Could not change dir Kon de directory niet veranderen Advanced Settings Geavanceerde instellingen pyzoFileBrowser File Browser Bestanden browser pyzoHistoryViewer History viewer Geschiedenis pyzoInteractiveHelp Interactive help Interactieve help Shows help on an object when using up/down in autocomplete. Laat help info zien van een object tijdens auto-completion Help information is queried from the current shell when moving up/down in the autocompletion list and when double clicking on a name. Smart format Slim formatten Font size: %i Text grootte: %i This keyword introduces the definition of a class. This keyword introduces the definition of a function. No help is available for operators because they are ambiguous: their meaning depend on the type of the first operand. Help on this Suspend the execution of coroutine on an awaitable object. Can only be used inside a coroutine function. This keyword can appear as part of an alternative (see: ``if``), a loop (see: ``for``, ``while``) or a ``try`` statement. Find and load modules or members of modules. Examples: ``` import foo # foo imported and bound locally import foo.bar.baz # foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb from foo.bar import baz # foo.bar.baz imported and bound as baz from foo import attr # foo imported and foo.attr bound as attr from foo import * # foo imported and all its members bound # under their respective names ``` This is an instruction that does nothing. It is useful in cases where a statement must appear because of syntactic constraints but we have nothing to do. This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the loop early, regardless of the loop condition. See also: ``continue`` An ``except`` clause can appear as a part of a ``try`` statement. This keyword usually refers to membership of an object in a structure. There are actually two different kinds of ``in``. In a construct of the form ``for identifier in iterable``, ``in`` is a purely syntactic element that bears no meaning per se. See: ``for`` Outside such constructs, ``in`` is an operator and its precise meaning depends on the type of the first operand. The ``raise`` statement is used to raise an Exception. Raising an exception will cause the program to abort, unless the exception is handled by a surrounding ``try``/``except`` statement or ``with`` statement. An ``finally`` clause can appear as a part of a ``try`` statement. This operator tests for an object’s identity: ``x is y`` is true if and only if ``x`` and ``y`` are the same object. See also: ``id`` This keyword can only appear in the definition of a function. It is usually followed by an expression. It means that the execution of the function call terminates here and that the result of the call is the value of the following expression. If ``return`` is not followed by an expression, the result is ``None``. This operator computes the boolean conjunction in a lazy manner. More precisely, the expression ``x and y`` first evaluates ``x``; if ``x`` is false, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``or``, ``not``, ``True``, ``False`` This keyword can only appear in the body of a ``for`` or ``while`` loop. It terminates the current run of the body early. The loop may still make additional runs of its body if its condition is still true . See also: ``break`` The ``for`` statement is used to iterate over the elements of an iterable object: ``` for variable in iterable: body else: # optional suite ``` The expression ``iterable`` is evaluated once; its value should be an iterable object. An iterator is created for the result of that expression. The ``body`` is then executed once for each item provided by the iterator, in the order returned by the iterator: each item in turn is assigned to the ``variable`` and then the ``body`` is executed. When the items are exhausted (which is immediately when the ``iterable`` is empty), the ``suite`` in the ``else`` clause, if present, is executed, and the loop terminates. A ``break`` statement executed in the first suite terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the first suite skips the rest of the ``body`` and continues with the next item, or with the ``else`` clause if there is no next item. The for-loop makes assignments to the ``variable``. This overwrites all previous assignments to that variable including those made in the ``body`` of the for-loop: ``` for i in range(10): print(i) i = 5 # this will not affect the for-loop # because i will be overwritten with the next # index in the range ``` The ``for`` keyword can also be part of a generator. Example: ``` [2*x for x in T] ``` This builds from ``T`` a list where each item was doubled. This keyword is used to produce an anonymous function. Example: ``` lambda x,y,z : (x+y) * z ``` The ``as`` keyword can appear in an ``import`` statement, in an ``except`` clause of a ``try`` statement or in a ``with`` statement. This keyword can appear as a part of an ``import`` or a ``raise``. It has different meanings; see help on those keywords. This keyword can only appear in the definition of a function. It is followed by identifiers and indicates that those identifier refer variables from the outer scope, not local variables in the function being defined. See also: ``global`` The while statement is used for repeated execution as long as an expression is true: ``` while expression: body else: # optional suite ``` This repeatedly tests the ``expression`` and, if it is true, executes the ``body``; if the ``expression`` is false (which may be the first time it is tested) the ``suite`` of the ``else`` clause, if present, is executed and the loop terminates. A ``break`` statement executed in the ``body`` terminates the loop without executing the ``else`` clause’s ``suite``. A ``continue`` statement executed in the ``body`` skips the rest of the ``body`` and goes back to testing the ``expression``. Assert statements are a convenient way to insert debugging assertions into a program. Deletion of a name removes the binding of that name from the local or global namespace. It is also possible to delete an item in a list. This keyword is followed by identifiers and indicates that those identifiers refer variables from the module scope, not local variables. See also: ``nonlocal`` The operator ``not`` returns ``True`` if its argument is false, ``False`` otherwise. See also: ``and``, ``or``, ``True``, ``False`` The ``with`` statement is used to wrap the execution of a block with methods defined by a context manager. Example: ``` with open(filename) as infile: header = infile.readline() # etc. ``` In this example, the context manager will ensure correct closing of the file upon exiting the ``with`` statement, even if an exception was raised. This keyword appears as part of the ``async def``, ``async for`` and ``async with`` constructs and allows for writing coroutines. This keyword can only appear as part of an alternative. See: ``if`` This keyword usually introduces an alternative. It is followed by a conditon and introduces the statement to execute when this condition is true. The alternative can only have one ``if`` clause, at the beginning. It can also comprise one or more ``elif`` clauses and at most one ``else`` clause at the end. Example: ``` if condition1 : doSomething # when condition1 evaluates to True elif condition2 : # optional, may have several such clauses doSomeOtherthing # when condition1 evaluates to False and condition2 to True else : # optional doAnotherThing # when all conditions evaluate to False ``` The ``if`` keyword can also appear in a generator. Example: ``` [x for x in T if x%2==0] ``` This filters ``T`` to keep only its even items. This operator computes the boolean disjunction in a lazy manner. More precisely, the expression ``x or y`` first evaluates ``x``; if ``x`` is true, its value is returned; otherwise, ``y`` is evaluated and the resulting value is returned. See also: ``and``, ``not``, ``True``, ``False`` The ``yield`` expression is used when defining a generator function or an asynchronous generator function and thus can only be used in the body of a function definition. Using a yield expression in a function’s body causes that function to be a generator, and using it in an ``async def`` function’s body causes that coroutine function to be an asynchronous generator. The ``try`` statement allows to recover when an Exception was raised. It has two main forms. ``` try: critical_section except SomeExceptionType as e: suite # manage exceptions of type SomeExceptionType else: # optional everything_ok ``` If ``critical_section`` raises an exception of type ``SomeExceptionType``, the whole program will not abort but the ``suite`` will be executed, with ``e`` being bound to the actual exception. Several ``except`` clauses may be specified, each dealing with some kind of exception. If an exception is raised in ``critical_section`` but is not managed by any ``except`` clause, the whole program aborts. If there is an ``else`` clause, its body is executed if the control flow leaves the ``critical_section``, no exception was raised, and no ``return``, ``continue`` or ``break`` statement was executed. Exceptions in the ``else`` clause are not handled by the preceding ``except`` clauses. ``` try: critical_section finally: suite ``` If ``critical_section`` raises an exception, the ``suite`` will be executed before aborting the program. The ``suite`` is also executed when no exception is raised. When a ``return``, ``break`` or ``continue`` statement is executed in the ``critical_section``, the ``finally`` clause is also executed ‘on the way out.’ A ``continue`` statement is illegal in the ``finally`` clause. Both mechanisms can be combined, the ``finally`` clause coming after the last ``except`` clause or after the optional ``else`` clause. pyzoSourceStructure Source structure Code structuur Parsing Parsen van pyzoWebBrowser Web browser Web browsern pyzoWorkspace Workspace Werkruimte Lists the variables in the current shell's namespace. Laat de variabelen in de huide shell zien Name Naam Type Type Repr Representatie Show namespace Laat namespace zien Show help Laat help zien Delete Verwijderen Hide types Verberg types Hide functions Verberg functies Hide modules Verberg modules Hide private identifiers Verberg private variabelen Hide the shell's startup variables Verberg shell opstart variabelen Lists the variables in the current shell's namespace. Currently, there are none. Some of them may be hidden because of the filters you configured. Laat de variabelen in de huidige shell zien search Hide search widget (Escape) Verber zoek scherm (Escape) Find pattern Zoekpatroon Previous ::: Find previous occurrence of the pattern. Vorige ::: Vind de vorige instantie van het zoekpatroon. Next ::: Find next occurrence of the pattern. Volgende :::Vind de volgende instantie van het zoekpatroon. Replace pattern Vervangpatroon Replace ::: Replace this match. Vervang ::: Vervang de huidige instantie. Match case ::: Find words that match case. Hoofdlettergevoelig ::: Houd rekening met hoofdletters bij het zoeken. RegExp ::: Find using regular expressions. RegExp ::: Zoek met regular expressions. Whole words ::: Find only whole words. Hele woorden ::: Vind alleen hele woorden. Auto hide ::: Hide search/replace when unused for 10 s. Automatisch verbergen ::: Verberg het zoek/vervang scherm als het 10 s ongebruikt is. one Eenmaal all in this file Allen in dit bestand all in all files Allen in alle bestanden shell Use system default Gebruik standaard van het systeem name ::: The name of this configuration. naam ::: De naam van deze configuratie. exe ::: The Python executable. exe ::: Het Python executable bestand. gui ::: The GUI toolkit to integrate (for interactive plotting, etc.). gui ::: Welke GUI toolkit geintegreerd wordt (b.v. voor interactief plotten). pythonPath ::: A list of directories to search for modules and packages. Write each path on a new line, or separate with the default seperator for this OS. pythonPath ::: Een lijst met directories om te zoeken naar modules. Elke directorie moet op een nieuwe regel. startupScript ::: The script to run at startup (not in script mode). opstartscript ::: Het script dat uitgevoerd wordt bij het opstarten (niet in script modus). startDir ::: The start directory (not in script mode). start directorie ::: De directorie waar gestart wordt (niet in script modus). Delete ::: Delete this shell configuration Verwijderen ::: Verwijder deze shell configuratie Shell configurations Shell configuraties Add config Config toevoegen ipython ::: Use IPython shell if available. ipython ::: Gebruik IPython shell als deze beschikbaar is. File to run at startup Bestand dat uitgevoerd wordt bij het opstarten Code to run at startup Code die uitgevoerd wordt bij het opstarten argv ::: The command line arguments (sys.argv). argv ::: Command line argumenten (sys.argv). environ ::: Extra environment variables (os.environ). environ ::: Extra omgevings variabelen (os.environ). shells Click to select shell. Klik om de shell te selecteren splash This is <b>Pyzo</b><br />the Python IDE for scientific computing Dit is <b>Pyzo</b><br />de Python omgeving voor wetenschappelijk coderen Version Versie Pyzo is open source software and freely available for everyone. Pyzo is open source software en voor iedereen gratis beschikbaar. wizard Welcome to the Interactive Editor for Python! Welkom bij de Interactieve Editor voor Python! The editor is where you write your code De editor is waar je je code schrijft The shell is where your code gets executed De shell is waar de code uitgevoerd wordt Configuring shells Shells configureren Running code Code uitvoeren Interactive mode vs running as script Interactieve modus versus script modus Tools for your convenience Gereedschap Recommended tools Aanbevolen gereedschap Get coding! Begin met coden! Step Stap Select language Selecteer taal Language changed Taal aangepast or you can write code in the *editor* and execute that. of je kan je code in the *editor* schrijven en deze vervolgens uitvoeren. In the *editor*, each open file is represented as a tab. By right-clicking on a tab, files can be run, saved, closed, etc. In the *editor* wordt elk geopend bestand gerepresenteerd met een tab. Door met de rechtermuisknop op een tab te klikken, kunnen bestanden worden uitgevoerd, opgeslagen, afgesloten, etc. Via 'Shell > Edit shell configurations', you can edit and add *shell configurations*. This allows you to for example select the initial directory, or use a custom Pythonpath. Via 'Shell > Aanpasses shell configuraties' kan je *shell configuraties* aanpassen en toevoegen. Zo kun je bijvoorbeeld de start directorie insteller, of het Pythonpath. *Run cell:* a cell is everything between two lines starting with '##'. *Voer cell uit:* een cell is alle code tussen twee regels die met '##' beginnen. *Run file:* run all the code in the current file. *Voer bestand uit:* alle code in het huidige bestand wordt uitgevoerd. *Run project main file:* run the code in the current project's main file. *Voer project main bestand uit:* alle code in de huidige main file wordt uitgevoerd. In interactive mode, sys.path[0] is an empty string (i.e. the current dir), and sys.argv is set to ['']. In interactieve modus is sys.path[0] een lege string (ofwel de huidige dir), en sys.argv wordt ['']. Via the *Tools menu*, one can select which tools to use. The tools can be positioned in any way you want, and can also be un-docked. Via het *gereedschap menu* kan je eenvoudig selecteren wel gereedschap je wilt gebruiken. Het gereedschap besaat uit kleine schermen die naar eigen voorkeur gepositioneerd kunnen worden. Note that the tools system is designed such that it's easy to create your own tools. Look at the online wiki for more information, or use one of the existing tools as an example. Het gereedschapsysteem is zo ontworpen dat het vrij eenvoudig is om ook zelf gereedschap te maken. Kijk op de online wiki.voor meer informatie. We especially recommend the following tools: We raden met name de volgende gereedschappen aan: The *Source structure tool* gives an outline of the source code. De *Sourc structure* geeft de structuur van de broncode aan. The *File browser tool* helps keep an overview of all files in a directory. To manage your projects, click the star icon. De *File browser* geeft een overzicht van alle bestanden in een directorie. Klik op het ster-icoon om je project te markeren en managen. You can execute commands directly in the *shell*, Je kan commandos direct in the *shell* uitvoeren. Getting started with Pyzo Wegwijs worden met Pyzo This wizard helps you get familiarized with the workings of Pyzo. Deze wizard helpt je om bekend te worden met de werking van Pyzo. Pyzo is a cross-platform Python IDE focused on *interactivity* and *introspection*, which makes it very suitable for scientific computing. Its practical design is aimed at *simplicity* and *efficiency*. This wizard can be opened using 'Help > Pyzo wizard' The language has been changed for this wizard. Pyzo needs to restart for the change to take effect application-wide. Pyzo consists of two main components When Pyzo starts, a default *shell* is created. You can add more shells that run simultaneously, and which may be of different Python versions. Shells run in a sub-process, such that when it is busy, Pyzo itself stays responsive, allowing you to keep coding and even run code in another shell. Pyzo can integrate the event loop of five different *GUI toolkits*, thus enabling interactive plotting with e.g. Visvis or Matplotlib. Pyzo supports several ways to run source code in the editor. (see the 'Run' menu). This concludes the Pyzo wizard. Now, get coding and have fun! The right mouse button also enables one to make a file the *main file* of a project. This file can be recognized by its star symbol, and it enables running the file more easily. *Run selection:* if there is no selected text, the current line is executed; if the selection is on a single line, the selection is evaluated; if the selection spans multiple lines, Pyzo will run the the (complete) selected lines. In script mode, __file__ and sys.argv[0] are set to the scripts filename, sys.path[0] and the working dir are set to the directory containing the script. You can run the current file or the main file normally, or as a script. When run as script, the shell is restarted to provide a clean environment. The shell is also initialized differently so that it closely resembles a normal script execution. pyzo-4.12.3/pyzo/resources/translations/pyzo_nl_NL.tr.qm000066400000000000000000001331151421373005400234070ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝB °Y¾SŸZrc3vE~T£+»)hÐ%3¿ÖT8¦ì0:O—¡þH5wfVEFäf¾ qŒrw”ªÀÀexqÏÇh"z§¼6¬‰P¼J6•(LZÂ->Yì,`EZ§›â[f3fU`/D%*…ã€eŽI,‚Ón;±„ªž3AŒT~Là•'îšó–§‹c—Ýþ$åG~ P¤Ú"«ð![kðxÞ*ô\qA >  Ð¥›¸(`õs?´NU5ETÎV:eöžiÃf@'j]p^?h}b®*ŽÖG ’€®lœ–ÁZ ¬c>}÷¯˜î5âÃ2®xÞÍjn(¯íöî']ðÍŽRšòïÞ ^”½Ü Ù¶ã›`<3."@,ÞƒÀU¨Nªq[êþyÚnu~=p}.f‰q^ŽQˆ}êŸØƒuCoP†¹~6·¢Ï¥¡ÈiŽFß±Wb)â;^“q3Ü©ÃHc›MÃ(ARƒ«mÈuärrx¤š ŠŽ_8Šs‰$‘‹æÎWqœc¸jºr>€tø˜n@úEä–>ùƒ¦T„}.G t²ù$aªê$оDîX8NT‹dHNv[s˜’mz“~N{²1´Ž4¿¢'Ÿ‘¼¥ .<ܨL9z¬,¥€¬,¥s µÙ`j蹊 3Ë|IÍËÏ~3êÏô$Íâô+cUéÓN9†õ®’økµq¥.|Ö!F>8×$‡S&K&Enh¼3 Kª=¸>u²Sõn„FX>dºa@>—h+n+AnjÞ†‹|y“‹¼ð sŒH5 õ™s¬›ˆ˜\F°¾,uÌMÞ0þ9Îq› üú 6R> ç%ØîeÎ'îH¡13™·<ô>/RI<5ÏLö®NäY ž=y_pÔiózZ ÊJB ³¯Ã–³ÀwÔ¢6—ª²µ®-fÆlnœAÎm>…BéJžêô÷5›ûóå-^™/Óe¼P85+V²”oV²”–ÊV¿~PM[†7£[¡î\Éd ‚oñåþ}k€écul†QΚ£°³h¤Øn«˜¦yÃj»·"Èz¹i SÍËÿž|ѯ€îÑÚÓ/µe:Õjî+ÅÙjŽ\qážZAï+ŠÿûNa#¢nO–#¨Jp=A/%Ÿ§f=ól9i|I‰jù^!™†kM±šðr›u~´%³t.·ªþ)•ÌùÚû×-£Ù€ãtèå“J ¯0Œ| ÆþBÍ þa *9õxŸ 6ïÁ\ IxŽ‘ KÆŽ& j$~Ò w¢ShT €qŽDJ ‹u2Ï Ž¨¾º £ 5 È ­g~© °Ön0 ÍØBH. רÎCo Þ@ÙN ë]¢sZ ö› ƒ ð.Žþ Bñ‘v iîX 6 M ;Ñ~S? ?•L J€‡n© OZOÚ “½õÊ ”c&Ý Ÿ…û «ãq8 ­SÛcÆ ¼ŒTj‰ ãlÎ% ý¦>>U ­3sÞ 3Êî£v [FÎOï e…%É t®žÔ …Ëncï ‡‚W ™ž. Ÿ4] ÔÉT ¥ ý½ š.¢M ,<žEÁ 0ônX| YŒÄ [=n#d aoký t§ž@¹ —"^x £ex °êîbj »s` »)D¡ ¿öî< É ŒN ˳¾K ë¶nŽ& 3ÎN! rR ˜iø äio )Áå 0…ä 7 ÿÓ Bn~Fm Gnˆ MÙN{T O¶ÿ ¡ Qun¶ Vžzƒ f΂oŸ Âú¾( Ï¿^L> ÝžC ä?΂h ð‹S‘#¥ðqDŸ Vî(!ÿ¨e4[>‰:×>#Oý‚c‹Zøt õ\ñ¾”-m¥Yp쬳>ƒ »>gfË;:tì9tz÷¶~`mü´n x _Žmw ¶Ù<¤ Œ¤Iª±¡¦J:]ò~ß”j&‹ÇNAŒ>#ͧ#ÒG­x^Ї³YE Sµ® -ÖÞŽZÏßDäúü.“Ai¬|ÿÿÿÿ Also install scientific packagesbootstrapcondaÿÿÿÿ:This will download and install miniconda on your computer.bootstrapcondaÿÿÿÿWaiting to start installation. bootstrapconda StackStackdebugtWeet je zeker dat je het vastgepinde bestand wilt sluiten?0Are you sure you want to close this pinned file?editorLSluiten, Verwerpen, Annuleren, OpslaanClose, Discard, Cancel, SaveeditorSluitenClosingeditor4Sluiten van gepint bestandClosing pinnededitor4Gewijzigd bestand sluiten?Save modified file?editorXSelecteer een of meer bestanden om te openen Select one or more files to open editorTabs^Selecteer het bestand om de code in op te slaanSelect the file to save to editorTabsBVoeg directory toe aan PythonpathAdd path to Python path filebrowserJWeet je zeker dat je wilt verwijderen$Are you sure that you want to delete filebrowser@Verander de naam van dit projectChange project name filebrowserTKlik de ster om de huidige dir op te slaan"Click star to bookmark current dir filebrowser*Kopier directorie pad Copy path filebrowser,Maak nieuwe directorieCreate new directory filebrowser$Maak nieuw bestandCreate new file filebrowserVerwijderenDelete filebrowserDupliceren Duplicate filebrowser&Bestandsnaam filterFilename filter filebrowser>Geef de naam voor de directorie#Give the name for the new directory filebrowserFGeef de naam van het nieuwe bestandGive the name for the new file filebrowserHGeef de nieuwe naam voor het bestandGive the new name for the file filebrowserVGa naar deze directorie in de huidige shell)Go to this directory in the current shell filebrowser"Importeer data...Import data... filebrowser&Hoofdlettergevoelig Match case filebrowser(Nieuwe project naam:New project name: filebrowser OpenenOpen filebrowser Open buiten PyzoOpen outside Pyzo filebrowserProject naam Project name filebrowserProjecten: Projects: filebrowser RegExpRegExp filebrowser"Verwijder projectRemove project filebrowserHernoemenRename filebrowser&Laat zien in FinderReveal in Finder filebrowser>Voer uit in de Jupyter notebookRun Jupyter notebook filebrowser(Uitvoeren als script Run as script filebrowser"Zoek in bestandenSearch in files filebrowser,Zoek in subdirectoriesSearch in subdirs filebrowserDVoeg deze dir toe aan de projectenStar this directory filebrowserFVerwijder deze dir uit de projectenUnstar this directory filebrowserBrowse ... Browse... importwizardSluitenClose importwizardImporteed data Import data importwizardPImporteer data als een enkelvoudig arrayImport data as single array importwizardTImporteer data in een variabele per kollom(Import data into one variable per column importwizard&Data importeer hulpImport data wizard importwizard4Er is nu geen bestand openNo current file open importwizard4Er is nu geen shell aktiefNo current shell active importwizardVoorbeeld:Preview: importwizardTGeef foutmelding als de data niet juist isRaise error upon invalid data importwizardHSelecteer colummen om te importeren:Select columns to import: importwizard"Selecteer bestand Select file importwizard8The importeerhulp is al open&The import data wizard is already open importwizardniet opgeslagenunsavedmain(als script) (as script)menuOver Pyzo+About Pyzo ::: More information about Pyzo.menu:Accepteer autocompletion met:Accept autocompletion with:menu2Geavanceerde instellingen5Advanced settings... ::: Configure Pyzo even further.menuStel een vraagAsk a question ::: Need help?menuHAutomatisch aanhalingstekens sluiten/Auto close brackets ::: Auto close ( { [ ] } ).menu:Automatische aanhalingstekens:Auto close quotes ::: Auto close single and double quotes.menuŠAutocomplete keywords ::: De autocomple lijst laat ook keywords zien.DAutocomplete keywords ::: The autocompletion list includes keywords.menuAutocompletionAutocompletionmenu$Automatische popupAutomatic popupmenužAutomatisch inspringen ::: Inspringen bij een nieuwe regel na een dubbele punt.BAutomatically indent ::: Indent when pressing enter after a colon.menu~Kan alleen bestanden uitvoeren die op het bestandssysteem staan1Can only run scripts that are in the file system.menu~Verander huidige directory naar directory van bestand in editor,Change current directory to editor file pathmenuvVerander huidige directoru naar huidige pad in file browser3Change current directory to the file browser's pathmenubVerander directory als een file uitgevoerd wordt.EChange directory when executing file ::: like Run File As Script doesmenu.Kijk of er updates zijn7Check for updates ::: Are you using the latest version?menu:Verwijder alle {} breakpointsClear all {} breakpointsmenu$Maak scherm schoon"Clear screen ::: Clear the screen.menuLSluiten ::: Sluit het huidige bestand.!Close ::: Close the current file.menunAfsluiten ::: Stop de interpreter en sluit de shell af.8Close ::: Terminate the interpreter and close the shell.menu`Alles sluiten ::: Sluit alle geopende bestanden.Close all ::: Close all files.menulAnderen sluiten ::: Sluit alle bestanden behalve deze.-Close others::: Close all files but this one.menuCommentaar ::: Voeg een commentaar teken toe aan de geselecteerde regel.&Comment ::: Comment the selected line.menuKopieerCopy ::: Copy selected linesmenuKopieren1Copy ::: Copy the selected text to the clipboard.menuKopieer path.Copy path ::: Copy the full path of this file.menu8Can het bestand niet opslaanCould not save the file.menutCreeer een nieuwe Python omgeving ::: Installeer miniconda7Create new Python environment... ::: Install miniconda.menu&Maak shell %s: (%s)Create shell %s: (%s)menuKnippenCut ::: Cut the selected text.menu\Debug verder: ga verder tot volgend breakpoint*Debug continue: proceed to next breakpointmenuFDebug volgende: ga een regel verder#Debug next: proceed until next linemenuVDebug return: ga verder tot function return#Debug return: proceed until returnsmenuFDebug instappen: ga een stap verder!Debug step into: proceed one stepmenulTerugspringen ::: Zet het inspringen een stap kleiner.&Dedent ::: Unindent the selected line.menubVerwijder regel ::: Verwijder de huidige regel(s),Delete line ::: Delete the selected line(s).menunDupliceer regel ::: Dupliceer de geselecteerde regel(s)2Duplicate line ::: Duplicate the selected line(s).menuBewerkenEditmenu,Bewerk sneltoetsen...;Edit key mappings... ::: Edit the shortcuts for menu items.menu¼Aanpassen shell configuraties... ::: Voeg shell configuraties toe en pas de eigenschappen aan.WEdit shell configurations... ::: Add new shell configs and edit interpreter properties.menu0Bewerk syntax stijlen...;Edit syntax styles... ::: Change the coloring of your code.menu\Pas uitvoertips toe ::: Laat uitvoertips zien.;Enable calltips ::: Show calltips with function signatures.menuxCodering ::: The karakter codering voor het huidige bestand.8Encoding ::: The character encoding of the current file.menu EnterEntermenuZExecuteer cell ::: Executeer de huidige cell.IExecute cell ::: Execute the current editors's cell in the current shell.menuºExecuteer cell en ga verder ::: Executeer de huidige cell en ga verder naar de volgende cell.]Execute cell and advance ::: Execute the current editors's cell and advance to the next cell.menuhExecuteer bestand ::: Executeer het huidige bestand.?Execute file ::: Execute the current file in the current shell.menu–Executeer main bestand ::: Executeer het main bestand in de huidige shell. AExecute main file ::: Execute the main file in the current shell.menu$Executeer selectie ::: Executeer de geselecteerde regels, de geselecteerde text op de huidige regel, of the huidige regel als er geen selectie is.Execute selection ::: Execute the current editor's selected lines, selected words on the current line, or current line if there is no selection.menu<Voer selectie uit en ga verderExecute selection and advancemenu$Exporteer naar PDFAExport to PDF ::: Export current file to PDF (e.g. for printing).menuBestandFilemenu€Vind volgende ::: Vind het volgende voorkomen van de zoek tekst.Geef corresponderende haken aan@Highlight brackets ::: Highlight matched and unmatched brackets.menu˜Markeer huidige regel ::: Geef de huidige regel een andere achtergrondkleur.BHighlight current line ::: Highlight the line where the cursor is.menuGeschiedenisHistorymenu`Inspringen ::: Spring de geselecteerde regel in.$Indent ::: Indent the selected line.menuŠInspring niveau ::: The mate van inspringen voor het huidige bestand.9Indentation ::: The indentation used of the current file.menu¦Onderbreken ::: Onderbreek de nu uitgevoerde code (werkt niet voor extension-code).TInterrupt ::: Interrupt the current running code (does not work for extension code).menuØUitlijnen commentaar of docstring ::: Hervorm de geselecteerde tekst door het uit te lijnen op 70 karakters.`Justify comment/docstring::: Reshape the selected text so it is aligned to around 70 characters.menuŒRegel uiteinden ::: Het soort regel uiteinden van het huidige bestand.?Line endings ::: The line ending character of the current file.menu&Locale documentatieDLocal documentation ::: Documentation on Python and the Scipy Stack.menuHLocatie van de lange-regel indicatorLLocation of long line indicator ::: The location of the long-line-indicator.menu`Nieuw ::: Maak een nieuw (of tijdelijk) bestand.)New ::: Create a new (or temporary) file.menuNieuwe shell ... ::: Maak een nieuwe shell aan om code in uit te voeren.2New shell ... ::: Create new shell to run code in.menudVolgende cell ::: ga verder naar de volgende cell.'Next cell ::: Advance to the next cell.menu‚Volgende object ::: ga verder naar het volgende top-level object.8Next object ::: Advance to the next top-level structure.menu&Geen autocompletionNo autocompletionmenu0Geen editor geselecteerdNo editor selected.menuFGeen shell om code in uit te voerenNo shell to run code in.menu NietsNonemenuXLaal alleen popup zien door Tab te gebruiken!Only show popup when pressing TabmenuROpen huidige directory in de file browser&Open current directory in file browsermenu<Open directory in file browserOpen directory in file browsermenuFOpen ::: Open een bestaand bestand.,Open... ::: Open an existing file from disk.menuPlakken6Paste ::: Paste the text that is now on the clipboard.menuêPlakken en selecteren ::: Plak the tekst op het clipbord en behoud de selectie om de indentatie aan te kunnen passen.yPaste and select ::: Paste the text that is now on the clipboard and keep it selected in order to change its indentation.menuZVastpinnen/ontpinnen :::Pin dit bestand vast.2Pin/Unpin ::: Pinned files get closed less easily.menuVPostmortem: debuggen met laatste traceback %Postmortem: debug from last tracebackmenuZVorige cell ::: ga terug naar de vorige cell./Previous cell ::: Go back to the previous cell.menuxVorige object ::: ga terug naar het vorige top-level object.@Previous object ::: Go back to the previous top-level structure.menu$Pyzo's instructies3Pyzo guide ::: Open the Pyzo guide in your browser.menuPyzo's website7Pyzo website ::: Open the Pyzo website in your browser.menuPyzo's wizard$Pyzo wizard ::: Get started quickly.menubQt thema ::: De stijl van de gebruikersinterface.7Qt theme ::: The styling of the user interface widgets.menuPyzo afsluiten$Quit Pyzo ::: Close the application.menuOpnieuw doen-Redo ::: Redo the last undone editing action.menu(Herlaad gereedschap..Reload tools ::: For people who develop tools.menuˆVerwijderen ::: verwijder de geselecteerde items uit de geschiedenis+Remove ::: Remove selected history items(s)menuDHernoemen ::: Hernoem dit bestand.Rename ::: Rename this file.menu.Rapporteer een probleemRReport an issue ::: Did you found a bug in Pyzo, or do you have a feature request?menuZHerstart ::: Stop en herstart de interpreter.2Restart ::: Terminate and restart the interpreter.menuPyzo herstarten)Restart Pyzo ::: Restart the application.menuUitvoerenRunmenuzUitvoeren ::: geselecteerde regels uitvoeren in huidige shell+Run ::: Run selected lines in current shellmenujVoer bestand uit ::: Voer de code in dit bestand uit.'Run file ::: Run the code in this file.menu¨Voer bestand uit als script ::: Herstart en voer het huidige bestand uit als script.DRun file as script ::: Restart and run the current file as a script.menuÒVoer bestand uit als script ::: Voer de code in dit bestand uit als script (dit herstart de interpreter).LRun file as script ::: Run this file as a script (restarts the interpreter).menu¬Voer main bestand uit als script ::: Herstart en voer het main bestand uit als script.FRun main file as script ::: Restart and run the main file as a script.menu$Voer selectie uit ::: Uitvoeren van: huidig geselecteerde regels, geselecteerde woorden op een regel, of de huidige regel als er geen selectie is.ˆRun selection ::: Run the current editor's selected lines, selected words on the current line, or current line if there is no selection.menuNOpslaan ::: Sla het huidige bestand op.'Save ::: Save the current file to disk.menubAlles opslaan ::: Sla alle geopende bestanden op.!Save all ::: Save all open files.menuŠOpslaan als ... ::: Sla het huidige bestand op onder een andere naam.8Save as... ::: Save the current file under another name.menu ZoekenSearchmenu Alles selecterenSelect all ::: Select all text.menutSelecteer editor ::: Focus de cursor op de huidige editor.9Select editor ::: Focus the cursor on the current editor.menuSelecteer taal.Select language ::: The language used by Pyzo.menu0Selecteer vorige bestand=Select previous file ::: Select the previously selected file.menupSelecteer shell ::: Focus de cursor op de huidige shell.7Select shell ::: Focus the cursor on the current shell.menuhStel dit bestand in als MAIN bestand/gewoon bestand.SSet/Unset as MAIN file ::: The main file can be run while another file is selected.menuInstellingenSettingsmenu ShellShellmenu:Laat inspring hulplijnen zienHShow indentation guides ::: Show vertical lines to indicate indentation.menu0Laat regeluiteindes zien0Show line endings ::: Show the end of each line.menufLaat whitespace zien ::: Laat spaties en tabs zien.)Show whitespace ::: Show spaces and tabs.menuStop debuggenStop debuggingmenuxSyntax parser ::: De syntax parser voor het huidige bestand.8Syntax parser ::: The syntax parser of the current file.menuTabTabmenuTab, (, [  Tab, (, [menuTab of Enter Tab, EntermenuÿÿÿÿTab, Enter, (, [menurStoppen ::: Stop de interpreter, maar laat de shell open.@Terminate ::: Terminate the interpreter, leaving the shell open.menuHEr is geen main bestand geselecteerdThere is no main file selected.menu@Converteer van/naar hoofdletters;Toggle Case ::: Change selected text to lower or upper casemenu2Zet breakpoint aan of uit